From 38c61a5a00836988821d96ba734610ee994d8956 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 18 Oct 2019 14:19:50 -0400 Subject: [PATCH 001/191] DRR - Add option for creating netcdf4 (hdf5) files. --- src/NetcdfFile.cpp | 16 +++++++++++++--- src/NetcdfFile.h | 8 +++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 7ca1567d81..f48b3f3abf 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -653,9 +653,15 @@ void NetcdfFile::SetRemDimDID(int remDimDID, int* dimensionID) const { } } -// NetcdfFile::NC_create() int NetcdfFile::NC_create(std::string const& Name, NCTYPE typeIn, int natomIn, CoordinateInfo const& coordInfo, std::string const& title, int debugIn) +{ + return (NC_create(NC_WRITE_3, Name, typeIn, natomIn, coordInfo, title, debugIn)); +} + +// NetcdfFile::NC_create() +int NetcdfFile::NC_create(NC_WRITE_TYPE wtypeIn, std::string const& Name, NCTYPE typeIn, int natomIn, + CoordinateInfo const& coordInfo, std::string const& title, int debugIn) { if (Name.empty()) return 1; int dimensionID[NC_MAX_VAR_DIMS]; @@ -667,8 +673,12 @@ int NetcdfFile::NC_create(std::string const& Name, NCTYPE typeIn, int natomIn, if (ncdebug_>1) mprintf("DEBUG: NC_create: '%s' natom=%i %s\n", Name.c_str(),natomIn, coordInfo.InfoString().c_str()); - - if ( NC::CheckErr( nc_create( Name.c_str(), NC_64BIT_OFFSET, &ncid_) ) ) + int cmode; + if (wtypeIn == NC_WRITE_3) + cmode = NC_64BIT_OFFSET; + else + cmode = NC_NETCDF4; + if ( NC::CheckErr( nc_create( Name.c_str(), cmode, &ncid_) ) ) return 1; ncatom_ = natomIn; diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 216b74d9e2..baa0b12dec 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -11,7 +11,10 @@ class NetcdfFile { NCTYPE GetNetcdfConventions(const char*); # ifndef BINTRAJ NetcdfFile() { } -# else +# else + /// For determining netcdf4 vs netcdf3 + enum NC_WRITE_TYPE { NC_WRITE_3 = 0, NC_WRITE_4 }; + /// CONSTRUCTOR NetcdfFile(); /// \return Coordinate info corresponding to current setup. TODO have in variable? CoordinateInfo NC_coordInfo() const; @@ -22,6 +25,9 @@ class NetcdfFile { /// Create NetCDF reservoir. int NC_createReservoir(bool, double, int, int&, int&); /// Create NetCDF trajectory file of given type. + int NC_create(NC_WRITE_TYPE, std::string const&, NCTYPE, int, + CoordinateInfo const&, std::string const&, int); + /// Create NetCDF (v3) trajectory file of given type. int NC_create(std::string const&, NCTYPE, int, CoordinateInfo const&, std::string const&, int); /// Close NetCDF file, do not reset dimension/variable IDs. From e67a6d7d41ae3f48e5c72cf1e07e21fd2583dec2 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 18 Oct 2019 14:27:40 -0400 Subject: [PATCH 002/191] DRR - Add option for using hdf5 under the hood --- src/Traj_AmberNetcdf.cpp | 17 +++++++++++------ src/Traj_AmberNetcdf.h | 1 + 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 9f65b1b384..7c6c4f8e75 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -24,7 +24,8 @@ Traj_AmberNetcdf::Traj_AmberNetcdf() : outputTemp_(false), write_mdcrd_(false), write_mdvel_(false), - write_mdfrc_(false) + write_mdfrc_(false), + wtype_(NC_WRITE_3) {} // DESTRUCTOR @@ -94,10 +95,12 @@ int Traj_AmberNetcdf::setupTrajin(FileName const& fname, Topology* trajParm) } void Traj_AmberNetcdf::WriteHelp() { - mprintf("\tremdtraj: Write temperature to trajectory (makes REMD trajectory).\n" - "\tmdvel : Write only velocities to trajectory.\n" - "\tmdfrc : Write only forces to trajectory.\n" - "\tmdcrd : Write coordinates to trajectory (only required with mdvel/mdfrc).\n"); + mprintf("\tremdtraj : Write temperature to trajectory (makes REMD trajectory).\n" + "\tmdvel : Write only velocities to trajectory.\n" + "\tmdfrc : Write only forces to trajectory.\n" + "\tmdcrd : Write coordinates to trajectory (only required with mdvel/mdfrc).\n" + "\thdf5 : Create file as NetCDF4/HDF5 instead of NetCDF4 (classic).\n" + ); } // Traj_AmberNetcdf::processWriteArgs() @@ -110,6 +113,8 @@ int Traj_AmberNetcdf::processWriteArgs(ArgList& argIn, DataSetList const& DSLin) mprintf("Warning: The 'force' keyword is no longer necessary and has been deprecated.\n"); write_mdvel_ = argIn.hasKey("mdvel"); write_mdfrc_ = argIn.hasKey("mdfrc"); + if (argIn.hasKey("hdf5")) + wtype_ = NC_WRITE_4; return 0; } @@ -152,7 +157,7 @@ int Traj_AmberNetcdf::setupTrajout(FileName const& fname, Topology* trajParm, if (Title().empty()) SetTitle("Cpptraj Generated trajectory"); // Create NetCDF file. - if (NC_create( filename_.Full(), NC_AMBERTRAJ, trajParm->Natom(), CoordInfo(), + if (NC_create( wtype_, filename_.Full(), NC_AMBERTRAJ, trajParm->Natom(), CoordInfo(), Title(), debug_ )) return 1; // Close Netcdf file. It will be reopened write. FIXME should NC_create leave it closed? diff --git a/src/Traj_AmberNetcdf.h b/src/Traj_AmberNetcdf.h index cf586072c1..8c1644ec12 100644 --- a/src/Traj_AmberNetcdf.h +++ b/src/Traj_AmberNetcdf.h @@ -45,6 +45,7 @@ class Traj_AmberNetcdf : public TrajectoryIO, private NetcdfFile { bool write_mdcrd_; ///< If true write out coordinates bool write_mdvel_; ///< If true write out velocities bool write_mdfrc_; ///< If true write out forces + NC_WRITE_TYPE wtype_; ///< Allow user to specify what kind of netcdf file to create }; #endif #endif From 30e8ae7f94891461d6da07425055ecdbd115caa1 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 18 Oct 2019 15:18:43 -0400 Subject: [PATCH 003/191] DRR - Add a check for HDF5 support in configure --- configure | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 63cee136b0..2f4d8300f4 100755 --- a/configure +++ b/configure @@ -142,7 +142,7 @@ CPPTRAJLIB='' # ----- External Libraries ----------------------- # Total number of external libraries -NLIB=14 +NLIB=15 # Library indices # Original: FFT ARPACK LAPACK BLAS NETCDF PARANC BZIP ZIP READLINE XDRFILE # Libraries containing definition of a function should appear *after* @@ -161,6 +161,7 @@ LXDRFILE=10 LSANDER=11 LTIMER=12 LCUDA=13 +LHDF5=14 # LIB_STAT = Library status: # off : Do not use library. @@ -293,6 +294,16 @@ LIB_D_ON[$LTNGFILE]='-DHAS_TNGFILE' LIB_DOFF[$LTNGFILE]='' LIB_TYPE[$LTNGFILE]='ld' +LIB_STAT[$LHDF5]='enabled' +LIB_CKEY[$LHDF5]='hdf5' +LIB_HOME[$LHDF5]='' +LIB_FLAG[$LHDF5]='' +LIB_STTC[$LHDF5]='' +LIB_D_ON[$LHDF5]='-DHAS_HDF5' +LIB_DOFF[$LHDF5]='' +LIB_LINK[$LHDF5]='dynamic' +LIB_TYPE[$LHDF5]='ld' + for ((i=0; i < $NLIB; i++)) ; do LIB_LINK[$i]='dynamic' done @@ -423,6 +434,30 @@ EOF TestProgram " Checking ZLIB" "$CXX" "$CXXFLAGS ${LIB_INCL[$LZIP]}" testp.cpp "${LIB_FLAG[$LZIP]}" } +TestHdf5() { + cat > testp.cpp < +#include "netcdf.h" +void unused() { + int ncid, varid; + int dims[1]; + // Create a netcdf4 file + nc_create("foo.nc", NC_NETCDF4, &ncid); + // Create a dimension + dims[1] = 10; + nc_def_var(ncid, "MyVar", NC_DOUBLE, 1, dims, &varid); + // Set deflate + int err = nc_def_var_deflate(ncid, varid, NC_SHUFFLE, 1, 1); +} +int main() { printf("Testing\n"); printf("%s\n",nc_strerror(0)); return 0; } +EOF + TestProgram silent " Checking NetCDF/HDF5" "$CXX" "$CXXFLAGS ${LIB_INCL[$LNETCDF]} ${LIB_INCL[$LHDF5]}" testp.cpp "${LIB_FLAG[$LNETCDF]} ${LIB_FLAG[$LHDF5]}" + if [ $? -eq 1 ] ; then + WrnMsg "NetCDF library does not contain HDF5 support." + LIB_STAT[$LHDF5]='off' + fi +} + TestNetcdf() { cat > testp.cpp < @@ -660,6 +695,7 @@ EOF TestLibraries() { if [ "${LIB_TEST[$LBZIP]}" = 'yes' ] ; then TestBzlib ; fi if [ "${LIB_TEST[$LZIP]}" = 'yes' ] ; then TestZlib ; fi + if [ "${LIB_TEST[$LHDF5]}" = 'yes' ] ; then TestHdf5 ; fi if [ "${LIB_TEST[$LNETCDF]}" = 'yes' ] ; then TestNetcdf ; fi if [ "${LIB_TEST[$LPARANC]}" = 'yes' ] ; then TestPnetcdf ; fi if [ "${LIB_TEST[$LBLAS]}" = 'yes' ] ; then TestMathlib ; fi From 68311d8e7f8a3f3b369ab47fba3a3402d6fb763d Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Sat, 19 Oct 2019 14:47:18 -0400 Subject: [PATCH 004/191] DRR - Rename enum to make more general. --- src/NetcdfFile.cpp | 3 ++- src/NetcdfFile.h | 4 ++-- src/Traj_AmberNetcdf.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index f48b3f3abf..4df2eecbf9 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -28,6 +28,7 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(const char* fname) { return nctype; } + #ifdef BINTRAJ // DEFINES #define NCENSEMBLE "ensemble" @@ -660,7 +661,7 @@ int NetcdfFile::NC_create(std::string const& Name, NCTYPE typeIn, int natomIn, } // NetcdfFile::NC_create() -int NetcdfFile::NC_create(NC_WRITE_TYPE wtypeIn, std::string const& Name, NCTYPE typeIn, int natomIn, +int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE typeIn, int natomIn, CoordinateInfo const& coordInfo, std::string const& title, int debugIn) { if (Name.empty()) return 1; diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index baa0b12dec..dd011864ce 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -13,7 +13,7 @@ class NetcdfFile { NetcdfFile() { } # else /// For determining netcdf4 vs netcdf3 - enum NC_WRITE_TYPE { NC_WRITE_3 = 0, NC_WRITE_4 }; + enum NC_FMT_TYPE { NC_WRITE_3 = 0, NC_WRITE_4 }; /// CONSTRUCTOR NetcdfFile(); /// \return Coordinate info corresponding to current setup. TODO have in variable? @@ -25,7 +25,7 @@ class NetcdfFile { /// Create NetCDF reservoir. int NC_createReservoir(bool, double, int, int&, int&); /// Create NetCDF trajectory file of given type. - int NC_create(NC_WRITE_TYPE, std::string const&, NCTYPE, int, + int NC_create(NC_FMT_TYPE, std::string const&, NCTYPE, int, CoordinateInfo const&, std::string const&, int); /// Create NetCDF (v3) trajectory file of given type. int NC_create(std::string const&, NCTYPE, int, diff --git a/src/Traj_AmberNetcdf.h b/src/Traj_AmberNetcdf.h index 8c1644ec12..7985c9c8b3 100644 --- a/src/Traj_AmberNetcdf.h +++ b/src/Traj_AmberNetcdf.h @@ -45,7 +45,7 @@ class Traj_AmberNetcdf : public TrajectoryIO, private NetcdfFile { bool write_mdcrd_; ///< If true write out coordinates bool write_mdvel_; ///< If true write out velocities bool write_mdfrc_; ///< If true write out forces - NC_WRITE_TYPE wtype_; ///< Allow user to specify what kind of netcdf file to create + NC_FMT_TYPE wtype_; ///< Allow user to specify what kind of netcdf file to create }; #endif #endif From 0df72aa96c289876997c318f79dfac5b2dd0ea00 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Sat, 19 Oct 2019 15:41:05 -0400 Subject: [PATCH 005/191] DRR - Start new ID function --- src/NetcdfFile.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 4df2eecbf9..db472714cc 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -28,6 +28,8 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(const char* fname) { return nctype; } +/** \return netcdf format type if the given magic number is recognized. + */ #ifdef BINTRAJ // DEFINES From 44f7624e18cf1ff204ee9873ef0f1d92957a2adc Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 21 Oct 2019 08:38:57 -0400 Subject: [PATCH 006/191] DRR - HDF5 depends on NetCDF --- configure | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/configure b/configure index 2f4d8300f4..0e7c88d61b 100755 --- a/configure +++ b/configure @@ -987,6 +987,10 @@ SetupLibraries() { echo "Warning: TNG depends on libz; disabling TNG." LIB_STAT[$LTNGFILE]='off' fi + if [ "${LIB_STAT[$LNETCDF]}" = 'off' -a "${LIB_STAT[$LHDF5]}" != 'off' ] ; then + # HDF5 needs netcdf + LIB_STAT[$LHDF5]='off' + fi } #------------------------------------------------------------------------------- From 46da32a601656bef2872c411804a9d00ba9ec77e Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 21 Oct 2019 08:43:52 -0400 Subject: [PATCH 007/191] DRR - Add base format detection via hex signature --- src/NetcdfFile.cpp | 63 +++++++++++++++++++++++++++++++++++----------- src/NetcdfFile.h | 13 +++++----- 2 files changed, 56 insertions(+), 20 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index db472714cc..49679cb59a 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -1,19 +1,49 @@ +#include // FILE, fopen, fclose #include "NetcdfFile.h" +# include "CpptrajStdio.h" #ifdef BINTRAJ -# include -# include // strlen -# include "NC_Routines.h" -#endif -#ifdef MPI -# include "ParallelNetcdf.h" +# include +# include // strlen +# include "NC_Routines.h" +# include "Constants.h" +# include "Version.h" +# include "Frame.h" +# ifdef MPI +# include "ParallelNetcdf.h" +# endif #endif -#include "CpptrajStdio.h" -#include "Constants.h" -#include "Version.h" // NetcdfFile::GetNetcdfConventions() -NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(const char* fname) { +/** First check the base format type to determine NetCDF3 vs NetCDF/HDF5. + * Then check that the file has the proper conventions. + */ +NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const char* fname) +{ + btype = NC_NOTNC; NCTYPE nctype = NC_UNKNOWN; + // Determine base type via magic number + FILE* infile = fopen(fname, "rb"); + if (infile == 0) return nctype; + char buf[8]; + unsigned int nread = fread(buf, sizeof(char), 8, infile); + fclose(infile); + if (nread > 3 && buf[0] == 'C' && buf[1] == 'D' && buf[2] == 'F') { +# ifdef BINTRAJ + btype = NC_V3; +# else + mprintf("Warning: File '%s' appears to be NetCDF but cpptraj was compiled without NetCDF support.\n", fname); + return nctype; +# endif + } else if (nread > 7 && buf[0] == 0x89 && buf[1] == 0x48 && buf[2] == 0x44 && buf[3] == 0x46 && + buf[4] == 0x0d && buf[5] == 0x0a && buf[6] == 0x1a && buf[7] == 0x0a) + { +# ifdef HAS_HDF5 + btype = NC_V4; +# else + mprintf("Warning: File '%s' appears to be NetCDF4/HDF5 but cpptraj was compiled without HDF5 support.\n", fname); + return nctype; +# endif + } # ifdef BINTRAJ // NOTE: Do not use checkNCerr so this fails silently. Allows routine to // be used in file autodetection. @@ -28,7 +58,7 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(const char* fname) { return nctype; } -/** \return netcdf format type if the given magic number is recognized. +/** \return netcdf format type if the file magic number is recognized. */ #ifdef BINTRAJ @@ -656,10 +686,11 @@ void NetcdfFile::SetRemDimDID(int remDimDID, int* dimensionID) const { } } +/** Create default NetCDF version 3 file. */ int NetcdfFile::NC_create(std::string const& Name, NCTYPE typeIn, int natomIn, CoordinateInfo const& coordInfo, std::string const& title, int debugIn) { - return (NC_create(NC_WRITE_3, Name, typeIn, natomIn, coordInfo, title, debugIn)); + return (NC_create(NC_V3, Name, typeIn, natomIn, coordInfo, title, debugIn)); } // NetcdfFile::NC_create() @@ -677,10 +708,14 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprintf("DEBUG: NC_create: '%s' natom=%i %s\n", Name.c_str(),natomIn, coordInfo.InfoString().c_str()); int cmode; - if (wtypeIn == NC_WRITE_3) + if (wtypeIn == NC_V3) cmode = NC_64BIT_OFFSET; - else + else if (wtypeIn == NC_V4) cmode = NC_NETCDF4; + else { + mprinterr("Internal Error: Unspecified base format type given in NC_create().\n"); + return 1; + } if ( NC::CheckErr( nc_create( Name.c_str(), cmode, &ncid_) ) ) return 1; diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index dd011864ce..66a7966a17 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -1,19 +1,20 @@ #ifndef INC_NETCDFFILE_H #define INC_NETCDFFILE_H #include -#include "Frame.h" +#include "CoordinateInfo.h" +class Frame; /// The base interface to NetCDF trajectory files. class NetcdfFile { public: /// For determining NetCDF trajectory file type enum NCTYPE { NC_AMBERTRAJ = 0, NC_AMBERRESTART, NC_AMBERENSEMBLE, NC_UNKNOWN }; - /// \return Type of given file. - NCTYPE GetNetcdfConventions(const char*); + /// For determining netcdf4/hdf5 vs netcdf3 + enum NC_FMT_TYPE { NC_NOTNC = 0, NC_V3, NC_V4 }; + /// \return Type of specified file. + static NCTYPE GetNetcdfConventions(NC_FMT_TYPE&, const char*); # ifndef BINTRAJ NetcdfFile() { } # else - /// For determining netcdf4 vs netcdf3 - enum NC_FMT_TYPE { NC_WRITE_3 = 0, NC_WRITE_4 }; /// CONSTRUCTOR NetcdfFile(); /// \return Coordinate info corresponding to current setup. TODO have in variable? @@ -86,7 +87,7 @@ class NetcdfFile { static const char* ConventionsStr_[]; /// \return NetCDF trajectory type based on conventions. - NCTYPE GetNetcdfConventions(int); + static NCTYPE GetNetcdfConventions(int); /// Check NetCDF file conventions version. void CheckConventionsVersion(); From eec067718642fed78c5204160d57361fd12c396f Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 21 Oct 2019 09:08:03 -0400 Subject: [PATCH 008/191] DRR - Fix netcdf magic number read. Add base format type to netcdf trajectory types. --- src/NetcdfFile.cpp | 3 ++- src/Traj_AmberNetcdf.cpp | 12 +++++++----- src/Traj_AmberNetcdf.h | 2 +- src/Traj_AmberRestartNC.cpp | 6 ++++-- src/Traj_AmberRestartNC.h | 1 + src/Traj_NcEnsemble.cpp | 5 +++-- src/Traj_NcEnsemble.h | 1 + 7 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 49679cb59a..10640fe783 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -24,8 +24,9 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch // Determine base type via magic number FILE* infile = fopen(fname, "rb"); if (infile == 0) return nctype; - char buf[8]; + unsigned char buf[8]; unsigned int nread = fread(buf, sizeof(char), 8, infile); + //mprintf("DEBUG: '%s' nread=%u %x %x %x %x %x %x %x %x\n", fname, nread, buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6], buf[7]); fclose(infile); if (nread > 3 && buf[0] == 'C' && buf[1] == 'D' && buf[2] == 'F') { # ifdef BINTRAJ diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 7c6c4f8e75..2ef1fd20ab 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -25,7 +25,7 @@ Traj_AmberNetcdf::Traj_AmberNetcdf() : write_mdcrd_(false), write_mdvel_(false), write_mdfrc_(false), - wtype_(NC_WRITE_3) + ftype_(NC_V3) // Default to NetCDF 3 {} // DESTRUCTOR @@ -37,7 +37,8 @@ Traj_AmberNetcdf::~Traj_AmberNetcdf() { } bool Traj_AmberNetcdf::ID_TrajFormat(CpptrajFile& fileIn) { - if ( GetNetcdfConventions( fileIn.Filename().full() ) == NC_AMBERTRAJ ) return true; + if ( GetNetcdfConventions( ftype_, fileIn.Filename().full() ) == NC_AMBERTRAJ ) + return true; return false; } @@ -114,7 +115,7 @@ int Traj_AmberNetcdf::processWriteArgs(ArgList& argIn, DataSetList const& DSLin) write_mdvel_ = argIn.hasKey("mdvel"); write_mdfrc_ = argIn.hasKey("mdfrc"); if (argIn.hasKey("hdf5")) - wtype_ = NC_WRITE_4; + ftype_ = NC_V4; return 0; } @@ -157,7 +158,7 @@ int Traj_AmberNetcdf::setupTrajout(FileName const& fname, Topology* trajParm, if (Title().empty()) SetTitle("Cpptraj Generated trajectory"); // Create NetCDF file. - if (NC_create( wtype_, filename_.Full(), NC_AMBERTRAJ, trajParm->Natom(), CoordInfo(), + if (NC_create( ftype_, filename_.Full(), NC_AMBERTRAJ, trajParm->Natom(), CoordInfo(), Title(), debug_ )) return 1; // Close Netcdf file. It will be reopened write. FIXME should NC_create leave it closed? @@ -414,7 +415,8 @@ int Traj_AmberNetcdf::writeFrame(int set, Frame const& frameOut) { // Traj_AmberNetcdf::Info() void Traj_AmberNetcdf::Info() { - mprintf("is a NetCDF AMBER trajectory"); + static const char* fvstr[3] = { "?", "V3", "HDF5" }; + mprintf("is a NetCDF (%s) AMBER trajectory", fvstr[ftype_]); if (readAccess_) { mprintf(" with %s", CoordInfo().InfoString().c_str()); if (useVelAsCoords_) mprintf(" (using velocities as coordinates)"); diff --git a/src/Traj_AmberNetcdf.h b/src/Traj_AmberNetcdf.h index 7985c9c8b3..f329b7f037 100644 --- a/src/Traj_AmberNetcdf.h +++ b/src/Traj_AmberNetcdf.h @@ -45,7 +45,7 @@ class Traj_AmberNetcdf : public TrajectoryIO, private NetcdfFile { bool write_mdcrd_; ///< If true write out coordinates bool write_mdvel_; ///< If true write out velocities bool write_mdfrc_; ///< If true write out forces - NC_FMT_TYPE wtype_; ///< Allow user to specify what kind of netcdf file to create + NC_FMT_TYPE ftype_; ///< Base format type }; #endif #endif diff --git a/src/Traj_AmberRestartNC.cpp b/src/Traj_AmberRestartNC.cpp index 5fc3c6b6be..8a3555ef8b 100644 --- a/src/Traj_AmberRestartNC.cpp +++ b/src/Traj_AmberRestartNC.cpp @@ -23,7 +23,8 @@ Traj_AmberRestartNC::Traj_AmberRestartNC() : useFrcAsCoords_(false), outputTemp_(false), readAccess_(false), - prependExt_(false) + prependExt_(false), + ftype_(NC_V3) // Default to NetCDF 3 {} // DESTRUCTOR @@ -33,7 +34,8 @@ Traj_AmberRestartNC::~Traj_AmberRestartNC() { } bool Traj_AmberRestartNC::ID_TrajFormat(CpptrajFile& fileIn) { - if ( GetNetcdfConventions( fileIn.Filename().full() ) == NC_AMBERRESTART ) return true; + if ( GetNetcdfConventions( ftype_, fileIn.Filename().full() ) == NC_AMBERRESTART ) + return true; return false; } diff --git a/src/Traj_AmberRestartNC.h b/src/Traj_AmberRestartNC.h index 2916f597aa..303fe27823 100644 --- a/src/Traj_AmberRestartNC.h +++ b/src/Traj_AmberRestartNC.h @@ -46,6 +46,7 @@ class Traj_AmberRestartNC : public TrajectoryIO, private NetcdfFile { bool readAccess_; bool prependExt_; FileName filename_; + NC_FMT_TYPE ftype_; }; #endif #endif diff --git a/src/Traj_NcEnsemble.cpp b/src/Traj_NcEnsemble.cpp index b8a1db317a..8bacd3eab2 100644 --- a/src/Traj_NcEnsemble.cpp +++ b/src/Traj_NcEnsemble.cpp @@ -23,7 +23,8 @@ Traj_NcEnsemble::Traj_NcEnsemble() : ensembleEnd_(0), readAccess_(false), useVelAsCoords_(false), - useFrcAsCoords_(false) + useFrcAsCoords_(false), + ftype_(NC_V3) // Default to NetCDF 3 {} // DESTRUCTOR @@ -57,7 +58,7 @@ int Traj_NcEnsemble::processReadArgs(ArgList& argIn) { // Traj_NcEnsemble::ID_TrajFormat() bool Traj_NcEnsemble::ID_TrajFormat(CpptrajFile& fileIn) { - return ( GetNetcdfConventions( fileIn.Filename().full() ) == NC_AMBERENSEMBLE ); + return ( GetNetcdfConventions( ftype_, fileIn.Filename().full() ) == NC_AMBERENSEMBLE ); } // Traj_NcEnsemble::openTrajin() diff --git a/src/Traj_NcEnsemble.h b/src/Traj_NcEnsemble.h index f2c8b758f0..dea7a317a6 100644 --- a/src/Traj_NcEnsemble.h +++ b/src/Traj_NcEnsemble.h @@ -37,6 +37,7 @@ class Traj_NcEnsemble : public TrajectoryIO, private NetcdfFile { bool readAccess_; bool useVelAsCoords_; bool useFrcAsCoords_; + NC_FMT_TYPE ftype_; }; #endif #endif From d406c85b1229baad16ef75d0c9e68ec7421079bf Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 21 Oct 2019 09:15:25 -0400 Subject: [PATCH 009/191] DRR - Make hdf5 option without hdf5 support an error --- src/Traj_AmberNetcdf.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 2ef1fd20ab..ed45eb8202 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -114,8 +114,14 @@ int Traj_AmberNetcdf::processWriteArgs(ArgList& argIn, DataSetList const& DSLin) mprintf("Warning: The 'force' keyword is no longer necessary and has been deprecated.\n"); write_mdvel_ = argIn.hasKey("mdvel"); write_mdfrc_ = argIn.hasKey("mdfrc"); - if (argIn.hasKey("hdf5")) + if (argIn.hasKey("hdf5")) { +# ifdef HAS_HDF5 ftype_ = NC_V4; +# else + mprinterr("Error: HDF5 output requested but cpptraj compiled without HDF5 support.\n"); + return 1; +# endif + } return 0; } From 08a774edcaa14799f1c836e6a4e3aad40e41f781 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 21 Oct 2019 09:47:40 -0400 Subject: [PATCH 010/191] DRR - Add variable to save deflate levels for variable IDs with hdf5 support --- src/NetcdfFile.cpp | 29 +++++++++++++++++++++++++++++ src/NetcdfFile.h | 13 +++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 10640fe783..f5c2126914 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -11,6 +11,9 @@ # ifdef MPI # include "ParallelNetcdf.h" # endif +# ifdef HAS_HDF5 +# include // std::copy +# endif #endif // NetcdfFile::GetNetcdfConventions() @@ -90,6 +93,9 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch // CONSTRUCTOR NetcdfFile::NetcdfFile() : +# ifdef HAS_HDF5 + deflateLevels_(0), +# endif ncid_(-1), ncframe_(-1), TempVID_(-1), @@ -124,8 +130,18 @@ NetcdfFile::NetcdfFile() : count_[0] = 0; count_[1] = 0; count_[2] = 0; +# ifdef HAS_HDF5 + deflateLevels_ = new int[ (unsigned int)NVID ]; + std::fill( deflateLevels_, deflateLevels_ + (unsigned int)NVID, 0 ); +# endif } +#ifdef HAS_HDF5 +NetcdfFile::~NetcdfFile() { + if (deflateLevels_ != 0) delete[] deflateLevels_; +} +#endif + const char* NetcdfFile::ConventionsStr_[] = { "AMBER", // NC_AMBERTRAJ "AMBERRESTART", // NC_AMBERRESTART @@ -694,6 +710,19 @@ int NetcdfFile::NC_create(std::string const& Name, NCTYPE typeIn, int natomIn, return (NC_create(NC_V3, Name, typeIn, natomIn, coordInfo, title, debugIn)); } +int NetcdfFile::SetCompression(const int* deflateLevelsIn) { +# ifdef HAS_HDF5 + if (deflateLevelsIn == 0) { + mprinterr("InternalError: NetcdfFile::SetCompression() called with null.\n"); + return 1; + } + std::copy( deflateLevelsIn, deflateLevelsIn + (unsigned int)NVID, deflateLevels_ ); +# else + mprintf("Warning: NetCDF compression only supported when compiled with HDF5 support.\n"); +# endif + return 0; +} + // NetcdfFile::NC_create() int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE typeIn, int natomIn, CoordinateInfo const& coordInfo, std::string const& title, int debugIn) diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 66a7966a17..93ed2b82b7 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -17,6 +17,10 @@ class NetcdfFile { # else /// CONSTRUCTOR NetcdfFile(); +# ifdef HAS_HDF5 + /// DESTRUCTOR + ~NetcdfFile(); +# endif /// \return Coordinate info corresponding to current setup. TODO have in variable? CoordinateInfo NC_coordInfo() const; /// Open NetCDF file for reading. @@ -61,9 +65,18 @@ class NetcdfFile { inline int Ncframe() const { return ncframe_; } inline int CoordVID() const { return coordVID_; } protected: // TODO: Make all private + /// Enumerated type for all variable IDs. + enum VidType { V_COORDS = 0, NVID }; + + /// Set variable compression levels. + int SetCompression(const int*); # ifdef MPI void Sync(Parallel::Comm const&); # endif + +# ifdef HAS_HDF5 + int* deflateLevels_; ///< Compression levels for each VID +# endif size_t start_[4]; ///< Array starting indices size_t count_[4]; ///< Array counts int ncid_; ///< NetCDF file ID From 9e300b72795b76188ef9aca71a7e1e80afbf56c2 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 21 Oct 2019 09:51:18 -0400 Subject: [PATCH 011/191] DRR - Turn on compression for coords when specified --- src/NetcdfFile.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index f5c2126914..b1b59497d1 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -851,6 +851,14 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Writing coordinates variable units.\n"); return 1; } +# ifdef HAS_HDF5 + if (deflateLevels_[V_COORDS] > 0) { + if ( NC::CheckErr( nc_def_var_deflate(ncid_, coordVID_, 0, 1, deflateLevels_[V_COORDS]) ) ) { + mprinterr("Error: Setting compression for coordinates variable.\n"); + return 1; + } + } +# endif } // Velocity variable if (coordInfo.HasVel()) { From e17b64be47b9ec5c6fd66884a4106433d7b4b8a4 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 21 Oct 2019 10:00:11 -0400 Subject: [PATCH 012/191] DRR - Add option to set compression level - needs testing. --- src/NetcdfFile.cpp | 12 +++++------- src/NetcdfFile.h | 4 ++-- src/Traj_AmberNetcdf.cpp | 26 +++++++++++++++++++++----- src/Traj_AmberNetcdf.h | 3 +++ 4 files changed, 31 insertions(+), 14 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index b1b59497d1..a53a269d36 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -12,7 +12,7 @@ # include "ParallelNetcdf.h" # endif # ifdef HAS_HDF5 -# include // std::copy +# include // std::fill # endif #endif @@ -710,13 +710,11 @@ int NetcdfFile::NC_create(std::string const& Name, NCTYPE typeIn, int natomIn, return (NC_create(NC_V3, Name, typeIn, natomIn, coordInfo, title, debugIn)); } -int NetcdfFile::SetCompression(const int* deflateLevelsIn) { +/** Set compression level for specified variable if supported. */ +int NetcdfFile::SetCompression(VidType vtype, int deflateLevelIn) { # ifdef HAS_HDF5 - if (deflateLevelsIn == 0) { - mprinterr("InternalError: NetcdfFile::SetCompression() called with null.\n"); - return 1; - } - std::copy( deflateLevelsIn, deflateLevelsIn + (unsigned int)NVID, deflateLevels_ ); + mprintf("\tSetting compression for VIDTYPE %i to %i\n", (int)vtype, deflateLevelIn); + deflateLevels_[vtype] = deflateLevelIn; # else mprintf("Warning: NetCDF compression only supported when compiled with HDF5 support.\n"); # endif diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 93ed2b82b7..2f480a3965 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -68,8 +68,8 @@ class NetcdfFile { /// Enumerated type for all variable IDs. enum VidType { V_COORDS = 0, NVID }; - /// Set variable compression levels. - int SetCompression(const int*); + /// Set variable compression level. + int SetCompression(VidType, int); # ifdef MPI void Sync(Parallel::Comm const&); # endif diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index ed45eb8202..d98d0446c6 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -25,6 +25,9 @@ Traj_AmberNetcdf::Traj_AmberNetcdf() : write_mdcrd_(false), write_mdvel_(false), write_mdfrc_(false), +# ifdef HAS_HDF5 + compress_(0), +# endif ftype_(NC_V3) // Default to NetCDF 3 {} @@ -96,11 +99,14 @@ int Traj_AmberNetcdf::setupTrajin(FileName const& fname, Topology* trajParm) } void Traj_AmberNetcdf::WriteHelp() { - mprintf("\tremdtraj : Write temperature to trajectory (makes REMD trajectory).\n" - "\tmdvel : Write only velocities to trajectory.\n" - "\tmdfrc : Write only forces to trajectory.\n" - "\tmdcrd : Write coordinates to trajectory (only required with mdvel/mdfrc).\n" - "\thdf5 : Create file as NetCDF4/HDF5 instead of NetCDF4 (classic).\n" + mprintf("\tremdtraj : Write temperature to trajectory (makes REMD trajectory).\n" + "\tmdvel : Write only velocities to trajectory.\n" + "\tmdfrc : Write only forces to trajectory.\n" + "\tmdcrd : Write coordinates to trajectory (only required with mdvel/mdfrc).\n" +# ifdef HAS_HDF5 + "\thdf5 : Create file as NetCDF4/HDF5 instead of NetCDF4 (classic).\n" + "\tcompress <#> : HDF5 compression level.\n" +# endif ); } @@ -122,6 +128,12 @@ int Traj_AmberNetcdf::processWriteArgs(ArgList& argIn, DataSetList const& DSLin) return 1; # endif } +# ifdef HAS_HDF5 + // HDF5-specific options + if (ftype_ == NC_V4) { + compress_ = argIn.getKeyInt("compress", 0); + } +# endif return 0; } @@ -163,6 +175,10 @@ int Traj_AmberNetcdf::setupTrajout(FileName const& fname, Topology* trajParm, // Set up title if (Title().empty()) SetTitle("Cpptraj Generated trajectory"); +# ifdef HAS_HDF5 + // Set compression levels + if (compress_ > 0) SetCompression(V_COORDS, compress_); +# endif // Create NetCDF file. if (NC_create( ftype_, filename_.Full(), NC_AMBERTRAJ, trajParm->Natom(), CoordInfo(), Title(), debug_ )) diff --git a/src/Traj_AmberNetcdf.h b/src/Traj_AmberNetcdf.h index f329b7f037..15174dfa74 100644 --- a/src/Traj_AmberNetcdf.h +++ b/src/Traj_AmberNetcdf.h @@ -45,6 +45,9 @@ class Traj_AmberNetcdf : public TrajectoryIO, private NetcdfFile { bool write_mdcrd_; ///< If true write out coordinates bool write_mdvel_; ///< If true write out velocities bool write_mdfrc_; ///< If true write out forces +# ifdef HAS_HDF5 + int compress_; ///< HDF5 compression level +# endif NC_FMT_TYPE ftype_; ///< Base format type }; #endif From d93e0cbe3cdf91051bfbeaed8ee616efa505c0cf Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 21 Oct 2019 15:15:28 -0400 Subject: [PATCH 013/191] DRR - Add a basic netcdf4 test --- test/Test_NetcdfTraj/RunTest.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/test/Test_NetcdfTraj/RunTest.sh b/test/Test_NetcdfTraj/RunTest.sh index 3b5e93d328..c2ed6f566f 100755 --- a/test/Test_NetcdfTraj/RunTest.sh +++ b/test/Test_NetcdfTraj/RunTest.sh @@ -3,7 +3,8 @@ . ../MasterTest.sh # Clean -CleanFiles ptraj_netcdf.in trajectory.netcdf trajectory_test.mdcrd +CleanFiles ptraj_netcdf.in trajectory.netcdf trajectory_test.mdcrd \ + trajectory_nc4.mdcrd trajectory.nc4 TESTNAME='NetCDF tests' Requires netcdf pnetcdf maxthreads 10 @@ -24,6 +25,19 @@ EOF RunCpptraj "Convert NetCDF -> mdcrd" DoTest ../tz2.truncoct.crd trajectory_test.mdcrd +# NetCDF4 TODO protect +cat > $INPUT < NetCDF4/HDF5" +cat > $INPUT < mdcrd" +DoTest ../tz2.truncoct.crd trajectory_nc4.mdcrd + EndTest exit 0 From 09424a6c411e263ea9cc66ac9ff7c03b7cc751d0 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 21 Oct 2019 15:59:07 -0400 Subject: [PATCH 014/191] DRR - Try to improve the hdf5 check --- configure | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/configure b/configure index 0e7c88d61b..624206923c 100755 --- a/configure +++ b/configure @@ -438,18 +438,21 @@ TestHdf5() { cat > testp.cpp < #include "netcdf.h" -void unused() { +int checknc() { int ncid, varid; int dims[1]; // Create a netcdf4 file - nc_create("foo.nc", NC_NETCDF4, &ncid); + if (nc_create("foo.nc", NC_NETCDF4, &ncid) != NC_NOERR) return 1; // Create a dimension dims[1] = 10; nc_def_var(ncid, "MyVar", NC_DOUBLE, 1, dims, &varid); // Set deflate int err = nc_def_var_deflate(ncid, varid, NC_SHUFFLE, 1, 1); + nc_close(ncid); + if (err != NC_NOERR) return 1; + return 0; } -int main() { printf("Testing\n"); printf("%s\n",nc_strerror(0)); return 0; } +int main() { if (checknc()) return 1; printf("Testing\n"); printf("%s\n",nc_strerror(0)); return 0; } EOF TestProgram silent " Checking NetCDF/HDF5" "$CXX" "$CXXFLAGS ${LIB_INCL[$LNETCDF]} ${LIB_INCL[$LHDF5]}" testp.cpp "${LIB_FLAG[$LNETCDF]} ${LIB_FLAG[$LHDF5]}" if [ $? -eq 1 ] ; then From ccffb01ca16a0268e1c61aadf5c083396965a9e4 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 22 Oct 2019 09:34:45 -0400 Subject: [PATCH 015/191] DRR - Revert the hdf5 detection change. Wasnt necessary. Issue was netcdf symbols being pulled in from libsander. --- configure | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/configure b/configure index 624206923c..0e7c88d61b 100755 --- a/configure +++ b/configure @@ -438,21 +438,18 @@ TestHdf5() { cat > testp.cpp < #include "netcdf.h" -int checknc() { +void unused() { int ncid, varid; int dims[1]; // Create a netcdf4 file - if (nc_create("foo.nc", NC_NETCDF4, &ncid) != NC_NOERR) return 1; + nc_create("foo.nc", NC_NETCDF4, &ncid); // Create a dimension dims[1] = 10; nc_def_var(ncid, "MyVar", NC_DOUBLE, 1, dims, &varid); // Set deflate int err = nc_def_var_deflate(ncid, varid, NC_SHUFFLE, 1, 1); - nc_close(ncid); - if (err != NC_NOERR) return 1; - return 0; } -int main() { if (checknc()) return 1; printf("Testing\n"); printf("%s\n",nc_strerror(0)); return 0; } +int main() { printf("Testing\n"); printf("%s\n",nc_strerror(0)); return 0; } EOF TestProgram silent " Checking NetCDF/HDF5" "$CXX" "$CXXFLAGS ${LIB_INCL[$LNETCDF]} ${LIB_INCL[$LHDF5]}" testp.cpp "${LIB_FLAG[$LNETCDF]} ${LIB_FLAG[$LHDF5]}" if [ $? -eq 1 ] ; then From 784ac056ba6ad7b76eceff406519daf869895eb3 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 22 Oct 2019 09:55:08 -0400 Subject: [PATCH 016/191] DRR - Change order in which sander library is linked in to avoid pulling in unnecessary symbols (e.g. the netcdf symbols in the sander library). --- configure | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/configure b/configure index 0e7c88d61b..e7dc994bcc 100755 --- a/configure +++ b/configure @@ -158,10 +158,10 @@ LBLAS=7 LFFTW3=8 LREADLINE=9 LXDRFILE=10 -LSANDER=11 -LTIMER=12 -LCUDA=13 -LHDF5=14 +LTIMER=11 +LCUDA=12 +LHDF5=13 +LSANDER=14 # Make sure this comes last to avoid pulling in unnecessary symbols # LIB_STAT = Library status: # off : Do not use library. @@ -268,7 +268,7 @@ LIB_FLAG[$LSANDER]='-lsander' LIB_STTC[$LSANDER]='' LIB_D_ON[$LSANDER]='-DUSE_SANDERLIB' LIB_DOFF[$LSANDER]='' -LIB_TYPE[$LSANDER]='cpp' +LIB_TYPE[$LSANDER]='ld' LIB_STAT[$LTIMER]='off' LIB_CKEY[$LTIMER]='timer' From 9aed875ab400a61462edde767e2afa7bbd4f4a10 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 22 Oct 2019 10:30:31 -0400 Subject: [PATCH 017/191] DRR - Add some protection for the HDF5 test. --- src/Cpptraj.cpp | 3 +++ test/MasterTest.sh | 3 +++ test/Test_NetcdfTraj/RunTest.sh | 16 ++++++++++------ 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/Cpptraj.cpp b/src/Cpptraj.cpp index 8104450502..2e1515b009 100644 --- a/src/Cpptraj.cpp +++ b/src/Cpptraj.cpp @@ -195,6 +195,9 @@ std::string Cpptraj::Defines() { #endif #ifdef BINTRAJ defined_str.append(" -DBINTRAJ"); +# ifdef HAS_HDF5 + defined_str.append(" -DHAS_HDF5"); +# endif #endif #ifdef MPI defined_str.append(" -DMPI"); diff --git a/test/MasterTest.sh b/test/MasterTest.sh index 34bf4da1bf..781f4fde3d 100644 --- a/test/MasterTest.sh +++ b/test/MasterTest.sh @@ -36,6 +36,7 @@ # CPPTRAJ_ZLIB : If set CPPTRAJ has zlib support. # CPPTRAJ_BZLIB : If set CPPTRAJ has bzip support. # CPPTRAJ_NETCDFLIB : If set CPPTRAJ has NetCDF support. +# CPPTRAJ_HDF5 : If set CPPTRAJ has NetCDF4/HDF5 support. # CPPTRAJ_LIBPME : If set CPPTRAJ was compiled with libPME. # CPPTRAJ_MPILIB : If set CPPTRAJ has MPI support. # CPPTRAJ_MATHLIB : If set CPPTRAJ was compiled with math libraries. @@ -739,6 +740,7 @@ CheckDefines() { '-DHASGZ' ) export CPPTRAJ_ZLIB=$DEFINE ;; '-DHASBZ2' ) export CPPTRAJ_BZLIB=$DEFINE ;; '-DBINTRAJ' ) export CPPTRAJ_NETCDFLIB=$DEFINE ;; + '-DHAS_HDF5' ) export CPPTRAJ_HDF5=$DEFINE ;; '-DLIBPME' ) export CPPTRAJ_LIBPME=$DEFINE ;; '-DMPI' ) export CPPTRAJ_MPILIB=$DEFINE ;; '-DNO_MATHLIB' ) CPPTRAJ_MATHLIB='' ;; @@ -953,6 +955,7 @@ CheckEnv() { #echo "DEBUG: $DESCRIP: Checking requirement: $1" case "$1" in 'netcdf' ) TestLibrary "NetCDF" "$CPPTRAJ_NETCDFLIB" ;; + 'hdf5' ) TestLibrary "HDF5" "$CPPTRAJ_HDF5" ;; 'libpme' ) TestLibrary "libPME" "$CPPTRAJ_LIBPME" ;; 'zlib' ) TestLibrary "Zlib" "$CPPTRAJ_ZLIB" ;; 'bzlib' ) TestLibrary "Bzlib" "$CPPTRAJ_BZLIB" ;; diff --git a/test/Test_NetcdfTraj/RunTest.sh b/test/Test_NetcdfTraj/RunTest.sh index c2ed6f566f..d1a4384cbf 100755 --- a/test/Test_NetcdfTraj/RunTest.sh +++ b/test/Test_NetcdfTraj/RunTest.sh @@ -25,18 +25,22 @@ EOF RunCpptraj "Convert NetCDF -> mdcrd" DoTest ../tz2.truncoct.crd trajectory_test.mdcrd -# NetCDF4 TODO protect -cat > $INPUT < $INPUT < NetCDF4/HDF5" -cat > $INPUT < NetCDF4/HDF5" + cat > $INPUT < mdcrd" -DoTest ../tz2.truncoct.crd trajectory_nc4.mdcrd + RunCpptraj "Convert NetCDF4/HDF5 -> mdcrd" + DoTest ../tz2.truncoct.crd trajectory_nc4.mdcrd +fi EndTest From f6202e17f626c593a8e3ae8c7aa0257f82c4f661 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 22 Oct 2019 10:34:21 -0400 Subject: [PATCH 018/191] DRR - Add a test with compression. --- test/Test_NetcdfTraj/RunTest.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/test/Test_NetcdfTraj/RunTest.sh b/test/Test_NetcdfTraj/RunTest.sh index d1a4384cbf..1d75f01869 100755 --- a/test/Test_NetcdfTraj/RunTest.sh +++ b/test/Test_NetcdfTraj/RunTest.sh @@ -4,7 +4,8 @@ # Clean CleanFiles ptraj_netcdf.in trajectory.netcdf trajectory_test.mdcrd \ - trajectory_nc4.mdcrd trajectory.nc4 + trajectory_nc4.mdcrd trajectory.nc4 \ + compress.mdcrd compress.nc4 TESTNAME='NetCDF tests' Requires netcdf pnetcdf maxthreads 10 @@ -40,6 +41,18 @@ trajout trajectory_nc4.mdcrd title "trajectory generated by ptraj" EOF RunCpptraj "Convert NetCDF4/HDF5 -> mdcrd" DoTest ../tz2.truncoct.crd trajectory_nc4.mdcrd + + cat > $INPUT <NetCDF4/HDF5 with compression" + cat > $INPUT < mdcrd" + DoTest ../tz2.truncoct.crd compress.mdcrd fi EndTest From f336bb014aa0de2be0f2e5136e2749c4c82f1f51 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 23 Oct 2019 10:43:22 -0400 Subject: [PATCH 019/191] DRR - Add more vid types for compression. Make setting compression for VID a separate function. --- src/NetcdfFile.cpp | 28 ++++++++++++++++++++-------- src/NetcdfFile.h | 8 ++++++-- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index a53a269d36..92a584c9f3 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -721,6 +721,25 @@ int NetcdfFile::SetCompression(VidType vtype, int deflateLevelIn) { return 0; } +/** Set variable compression level if supported. */ +int NetcdfFile::NC_setDeflate(VidType vtype, int varid, const char* desc) const +{ + // TODO static var containing VID descriptions? +# ifdef HAS_HDF5 + if (deflateLevels_[vtype] > 0) { + // TODO shuffle integer types? + if ( NC::CheckErr( nc_def_var_deflate(ncid_, varid, 0, 1, deflateLevels_[vtype]) ) ) { + mprinterr("Error: Setting compression for '%s' variable.\n", desc); + return 1; + } + } +# else + mprintf("Warning: Compiled without HDF5 support; cannot set compression for '%s' variable.\n", + desc); +# endif + return 0; +} + // NetcdfFile::NC_create() int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE typeIn, int natomIn, CoordinateInfo const& coordInfo, std::string const& title, int debugIn) @@ -849,14 +868,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Writing coordinates variable units.\n"); return 1; } -# ifdef HAS_HDF5 - if (deflateLevels_[V_COORDS] > 0) { - if ( NC::CheckErr( nc_def_var_deflate(ncid_, coordVID_, 0, 1, deflateLevels_[V_COORDS]) ) ) { - mprinterr("Error: Setting compression for coordinates variable.\n"); - return 1; - } - } -# endif + if (NC_setDeflate(V_COORDS, coordVID_, "coordinates")) return 1; } // Velocity variable if (coordInfo.HasVel()) { diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 2f480a3965..d7316a78b6 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -66,10 +66,14 @@ class NetcdfFile { inline int CoordVID() const { return coordVID_; } protected: // TODO: Make all private /// Enumerated type for all variable IDs. - enum VidType { V_COORDS = 0, NVID }; + enum VidType { V_COORDS = 0, V_VEL, V_FRC, V_TEMP, V_BOXL, + V_BOXA, V_TIME, V_IND, V_RIDX, V_CIDX, + NVID }; - /// Set variable compression level. + /// Set desired variable compression level. int SetCompression(VidType, int); + /// Set compression level for variable ID + int NC_setDeflate(VidType, int, const char*) const; # ifdef MPI void Sync(Parallel::Comm const&); # endif From f00afc42c7a404bddcdd81646c411e25a10361b8 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 23 Oct 2019 11:25:28 -0400 Subject: [PATCH 020/191] DRR - Set deflate for remaining VIDs in enum type. --- src/NetcdfFile.cpp | 11 ++++++++++- src/NetcdfFile.h | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 92a584c9f3..aee731defe 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -640,6 +640,7 @@ int NetcdfFile::NC_defineTemperature(int* dimensionID, int NDIM) { mprinterr("NetCDF error on defining temperature units.\n"); return 1; } + if (NC_setDeflate(V_TEMP, TempVID_, "temperature")) return 1; return 0; } @@ -820,6 +821,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Writing time VID units.\n"); return 1; } + if (NC_setDeflate(V_TIME, timeVID_, "time")) return 1; } // Spatial dimension and variable if ( NC::CheckErr( nc_def_dim( ncid_, NCSPATIAL, 3, &spatialDID_)) ) { @@ -887,6 +889,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Writing velocities scale factor.\n"); return 1; } + if (NC_setDeflate(V_VEL, velocityVID_, "velocities")) return 1; } // Force variable if (coordInfo.HasForce()) { @@ -899,6 +902,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Writing forces variable units.\n"); return 1; } + if (NC_setDeflate(V_FRC, frcVID_, "forces")) return 1; } // Replica Temperature if (coordInfo.HasTemp() && !coordInfo.UseRemdValues()) { @@ -914,6 +918,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Defining replica idx variable ID.\n"); return 1; } + if (NC_setDeflate(V_RIDX, repidxVID_, "replica idx")) return 1; } // Overall coordinate index if (coordInfo.HasCrdIdx()) { @@ -923,6 +928,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Defining coordinate idx variable ID.\n"); return 1; } + if (NC_setDeflate(V_CIDX, crdidxVID_, "coordinate idx")) return 1; } // Replica indices int remDimTypeVID = -1; @@ -948,6 +954,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Defining replica indices variable ID.\n"); return 1; } + if (NC_setDeflate(V_IND, indicesVID_, "replica indices")) return 1; // TODO: Determine if groups are really necessary for restarts. If not, // remove from AmberNetcdf.F90. } @@ -977,7 +984,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t // FIXME assuming temperature remValType_.AddRemdDimension( ReplicaDimArray::TEMPERATURE ); } - } + } // Box Info if (coordInfo.HasBox()) { // Cell Spatial @@ -1043,6 +1050,8 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Writing cell angle variable units.\n"); return 1; } + if (NC_setDeflate(V_BOXL, cellLengthVID_, "cell lengths")) return 1; + if (NC_setDeflate(V_BOXA, cellAngleVID_, "cell angles")) return 1; } // Attributes diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index d7316a78b6..f3059ef28f 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -68,7 +68,7 @@ class NetcdfFile { /// Enumerated type for all variable IDs. enum VidType { V_COORDS = 0, V_VEL, V_FRC, V_TEMP, V_BOXL, V_BOXA, V_TIME, V_IND, V_RIDX, V_CIDX, - NVID }; + NVID }; // TODO RemdValues /// Set desired variable compression level. int SetCompression(VidType, int); From 4530a173f4a5652d1441f2903a3c36951464511e Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 23 Oct 2019 11:30:01 -0400 Subject: [PATCH 021/191] DRR - Add function for setting all compression levels --- src/NetcdfFile.cpp | 8 ++++++++ src/NetcdfFile.h | 2 ++ src/Traj_AmberNetcdf.cpp | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index aee731defe..2893ce9a8a 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -722,6 +722,14 @@ int NetcdfFile::SetCompression(VidType vtype, int deflateLevelIn) { return 0; } +/** Set compression level for all variables if supported. */ +int NetcdfFile::SetCompression(int deflateLevelIn) { + int err = 0; + for (int i = 0; i != (int)NVID; i++) + err += SetCompression( (VidType)i, deflateLevelIn ); + return err; +} + /** Set variable compression level if supported. */ int NetcdfFile::NC_setDeflate(VidType vtype, int varid, const char* desc) const { diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index f3059ef28f..adc272e7d0 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -70,6 +70,8 @@ class NetcdfFile { V_BOXA, V_TIME, V_IND, V_RIDX, V_CIDX, NVID }; // TODO RemdValues + /// Set all variables compression level. + int SetCompression(int); /// Set desired variable compression level. int SetCompression(VidType, int); /// Set compression level for variable ID diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index d98d0446c6..77dbd123a1 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -177,7 +177,7 @@ int Traj_AmberNetcdf::setupTrajout(FileName const& fname, Topology* trajParm, SetTitle("Cpptraj Generated trajectory"); # ifdef HAS_HDF5 // Set compression levels - if (compress_ > 0) SetCompression(V_COORDS, compress_); + if (compress_ > 0) SetCompression(compress_); # endif // Create NetCDF file. if (NC_create( ftype_, filename_.Full(), NC_AMBERTRAJ, trajParm->Natom(), CoordInfo(), From 5b5d6141e7359f16ab68acf08c647be97ba48a6b Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 08:33:24 -0400 Subject: [PATCH 022/191] DRR - Store VID descriptions as array matching VidType --- src/NetcdfFile.cpp | 108 +++++++++++++++++++++++++++------------------ src/NetcdfFile.h | 6 ++- 2 files changed, 69 insertions(+), 45 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 2893ce9a8a..2e5bb85cc4 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -630,20 +630,6 @@ int NetcdfFile::NC_openWrite(std::string const& Name) { return 0; } -// NetcdfFile::NC_defineTemperature() -int NetcdfFile::NC_defineTemperature(int* dimensionID, int NDIM) { - if (NC::CheckErr(nc_def_var(ncid_,NCTEMPERATURE,NC_DOUBLE,NDIM,dimensionID,&TempVID_))) { - mprinterr("NetCDF error on defining temperature.\n"); - return 1; - } - if (NC::CheckErr(nc_put_att_text(ncid_,TempVID_,"units",6,"kelvin"))) { - mprinterr("NetCDF error on defining temperature units.\n"); - return 1; - } - if (NC_setDeflate(V_TEMP, TempVID_, "temperature")) return 1; - return 0; -} - // NetcdfFile::NC_createReservoir() int NetcdfFile::NC_createReservoir(bool hasBins, double reservoirT, int iseed, int& eptotVID, int& binsVID) @@ -704,13 +690,6 @@ void NetcdfFile::SetRemDimDID(int remDimDID, int* dimensionID) const { } } -/** Create default NetCDF version 3 file. */ -int NetcdfFile::NC_create(std::string const& Name, NCTYPE typeIn, int natomIn, - CoordinateInfo const& coordInfo, std::string const& title, int debugIn) -{ - return (NC_create(NC_V3, Name, typeIn, natomIn, coordInfo, title, debugIn)); -} - /** Set compression level for specified variable if supported. */ int NetcdfFile::SetCompression(VidType vtype, int deflateLevelIn) { # ifdef HAS_HDF5 @@ -730,25 +709,68 @@ int NetcdfFile::SetCompression(int deflateLevelIn) { return err; } +const char* NetcdfFile::vidDesc_[NVID] = { + "coordinates", // V_COORDS + "velocities", // V_VEL + "forces", // V_FRC + "temperature", // V_TEMP + "box lengths", // V_BOXL + "box angles", // V_BOXA + "time", // V_TIME + "replica indices", // V_IND + "replica idx", // V_RIDX + "coord idx" // V_CIDX +}; + /** Set variable compression level if supported. */ -int NetcdfFile::NC_setDeflate(VidType vtype, int varid, const char* desc) const +int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const { - // TODO static var containing VID descriptions? -# ifdef HAS_HDF5 - if (deflateLevels_[vtype] > 0) { - // TODO shuffle integer types? - if ( NC::CheckErr( nc_def_var_deflate(ncid_, varid, 0, 1, deflateLevels_[vtype]) ) ) { - mprinterr("Error: Setting compression for '%s' variable.\n", desc); - return 1; - } +# ifdef HAS_HDF5 + if (deflateLevels_[vtype] > 0) { + // TODO shuffle integer types? + if ( NC::CheckErr( nc_def_var_deflate(ncid_, varid, 0, 1, deflateLevels_[vtype]) ) ) { + mprinterr("Error: Setting compression for '%s' variable.\n", vidDesc_[vtype]); + return 1; } -# else - mprintf("Warning: Compiled without HDF5 support; cannot set compression for '%s' variable.\n", - desc); -# endif + } +# else + mprintf("Warning: Compiled without HDF5 support; cannot set compression for '%s' variable.\n", + desc); +# endif + return 0; +} + +/** Set variable chunk sizes if supported. */ +/* +int NetcdfFile::NC_setChunkSizes(VidType vtype, int varid, const size_t* chunkSizes) const +{ +# ifdef HAS_HDF5 + if (chunkSizes != 0 && deflateLevels_[vtype] > 0) { + if ( NC::CheckErr( nc_def_var_chunking(ncid_, varid, NC_CHUNKED, chunkSizes) ) ) { + mprinterr("Error: Setting chunk sizes for '%s' variable*/ + +// NetcdfFile::NC_defineTemperature() +int NetcdfFile::NC_defineTemperature(int* dimensionID, int NDIM) { + if (NC::CheckErr(nc_def_var(ncid_,NCTEMPERATURE,NC_DOUBLE,NDIM,dimensionID,&TempVID_))) { + mprinterr("NetCDF error on defining temperature.\n"); + return 1; + } + if (NC::CheckErr(nc_put_att_text(ncid_,TempVID_,"units",6,"kelvin"))) { + mprinterr("NetCDF error on defining temperature units.\n"); + return 1; + } + if (NC_setDeflate(V_TEMP, TempVID_)) return 1; return 0; } +/** Create default NetCDF version 3 file. */ +int NetcdfFile::NC_create(std::string const& Name, NCTYPE typeIn, int natomIn, + CoordinateInfo const& coordInfo, std::string const& title, int debugIn) +{ + return (NC_create(NC_V3, Name, typeIn, natomIn, coordInfo, title, debugIn)); +} + + // NetcdfFile::NC_create() int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE typeIn, int natomIn, CoordinateInfo const& coordInfo, std::string const& title, int debugIn) @@ -829,7 +851,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Writing time VID units.\n"); return 1; } - if (NC_setDeflate(V_TIME, timeVID_, "time")) return 1; + if (NC_setDeflate(V_TIME, timeVID_)) return 1; } // Spatial dimension and variable if ( NC::CheckErr( nc_def_dim( ncid_, NCSPATIAL, 3, &spatialDID_)) ) { @@ -878,7 +900,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Writing coordinates variable units.\n"); return 1; } - if (NC_setDeflate(V_COORDS, coordVID_, "coordinates")) return 1; + if (NC_setDeflate(V_COORDS, coordVID_)) return 1; } // Velocity variable if (coordInfo.HasVel()) { @@ -897,7 +919,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Writing velocities scale factor.\n"); return 1; } - if (NC_setDeflate(V_VEL, velocityVID_, "velocities")) return 1; + if (NC_setDeflate(V_VEL, velocityVID_)) return 1; } // Force variable if (coordInfo.HasForce()) { @@ -910,7 +932,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Writing forces variable units.\n"); return 1; } - if (NC_setDeflate(V_FRC, frcVID_, "forces")) return 1; + if (NC_setDeflate(V_FRC, frcVID_)) return 1; } // Replica Temperature if (coordInfo.HasTemp() && !coordInfo.UseRemdValues()) { @@ -926,7 +948,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Defining replica idx variable ID.\n"); return 1; } - if (NC_setDeflate(V_RIDX, repidxVID_, "replica idx")) return 1; + if (NC_setDeflate(V_RIDX, repidxVID_)) return 1; } // Overall coordinate index if (coordInfo.HasCrdIdx()) { @@ -936,7 +958,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Defining coordinate idx variable ID.\n"); return 1; } - if (NC_setDeflate(V_CIDX, crdidxVID_, "coordinate idx")) return 1; + if (NC_setDeflate(V_CIDX, crdidxVID_)) return 1; } // Replica indices int remDimTypeVID = -1; @@ -962,7 +984,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Defining replica indices variable ID.\n"); return 1; } - if (NC_setDeflate(V_IND, indicesVID_, "replica indices")) return 1; + if (NC_setDeflate(V_IND, indicesVID_)) return 1; // TODO: Determine if groups are really necessary for restarts. If not, // remove from AmberNetcdf.F90. } @@ -1058,8 +1080,8 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Writing cell angle variable units.\n"); return 1; } - if (NC_setDeflate(V_BOXL, cellLengthVID_, "cell lengths")) return 1; - if (NC_setDeflate(V_BOXA, cellAngleVID_, "cell angles")) return 1; + if (NC_setDeflate(V_BOXL, cellLengthVID_)) return 1; + if (NC_setDeflate(V_BOXA, cellAngleVID_)) return 1; } // Attributes diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index adc272e7d0..47c20b1603 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -65,17 +65,19 @@ class NetcdfFile { inline int Ncframe() const { return ncframe_; } inline int CoordVID() const { return coordVID_; } protected: // TODO: Make all private - /// Enumerated type for all variable IDs. + /// Enumerated type for all variable IDs. MUST MATCH vidDesc_. enum VidType { V_COORDS = 0, V_VEL, V_FRC, V_TEMP, V_BOXL, V_BOXA, V_TIME, V_IND, V_RIDX, V_CIDX, NVID }; // TODO RemdValues + /// Descriptions of VidType. MUST MATCH VidType. + static const char* vidDesc_[]; /// Set all variables compression level. int SetCompression(int); /// Set desired variable compression level. int SetCompression(VidType, int); /// Set compression level for variable ID - int NC_setDeflate(VidType, int, const char*) const; + int NC_setDeflate(VidType, int) const; # ifdef MPI void Sync(Parallel::Comm const&); # endif From 2f99e7bea09fcf6076d69b109817053564ecf285 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 08:36:36 -0400 Subject: [PATCH 023/191] DRR - Add function for setting chunk sizes --- src/NetcdfFile.cpp | 14 +++++++++++--- src/NetcdfFile.h | 2 ++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 2e5bb85cc4..a70960fbc3 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -735,19 +735,27 @@ int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const } # else mprintf("Warning: Compiled without HDF5 support; cannot set compression for '%s' variable.\n", - desc); + vidDesc_[vtype]); # endif return 0; } /** Set variable chunk sizes if supported. */ -/* int NetcdfFile::NC_setChunkSizes(VidType vtype, int varid, const size_t* chunkSizes) const { # ifdef HAS_HDF5 if (chunkSizes != 0 && deflateLevels_[vtype] > 0) { if ( NC::CheckErr( nc_def_var_chunking(ncid_, varid, NC_CHUNKED, chunkSizes) ) ) { - mprinterr("Error: Setting chunk sizes for '%s' variable*/ + mprinterr("Error: Setting chunk sizes for '%s' variable.\n", vidDesc_[vtype]); + return 1; + } + } +# else + mprintf("Warning: Compiled without HDF5 support; cannot set chunk sizes for '%s' variable.\n", + vidDesc_[vtype]); +# endif + return 0; +} // NetcdfFile::NC_defineTemperature() int NetcdfFile::NC_defineTemperature(int* dimensionID, int NDIM) { diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 47c20b1603..354d2dba08 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -78,6 +78,8 @@ class NetcdfFile { int SetCompression(VidType, int); /// Set compression level for variable ID int NC_setDeflate(VidType, int) const; + /// Set chunk sizes for variable ID + int NC_setChunkSizes(VidType, int, const size_t*) const; # ifdef MPI void Sync(Parallel::Comm const&); # endif From 459eccea4d518b44ccd6c12b0f734f427924e9eb Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 10:43:18 -0400 Subject: [PATCH 024/191] DRR - Test integer compression --- src/NetcdfFile.cpp | 98 ++++++++++++++++++++++++++++++++++++++++ src/NetcdfFile.h | 9 +++- src/Traj_AmberNetcdf.cpp | 17 +++++++ src/Traj_AmberNetcdf.h | 1 + 4 files changed, 124 insertions(+), 1 deletion(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index a70960fbc3..490955d2ce 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -95,6 +95,9 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch NetcdfFile::NetcdfFile() : # ifdef HAS_HDF5 deflateLevels_(0), + compressedPosVID_(-1), + compressedFac_(0), + itmp_(0), # endif ncid_(-1), ncframe_(-1), @@ -139,6 +142,7 @@ NetcdfFile::NetcdfFile() : #ifdef HAS_HDF5 NetcdfFile::~NetcdfFile() { if (deflateLevels_ != 0) delete[] deflateLevels_; + if (itmp_ != 0) delete[] itmp_; } #endif @@ -630,6 +634,100 @@ int NetcdfFile::NC_openWrite(std::string const& Name) { return 0; } +/** Prepare trajectory for adding coords converted to integer. */ +int NetcdfFile::NC_createCompressed(int power) +{ +# ifndef HAS_HDF5 + mprinterr("Error: Cpptraj was compiled without HDF5 support, required for compressed traj.\n"); + return 1; +# else + if (power < 1) { + mprinterr("Internal Error: NC_createCompressed() called with power of 10 < 1\n"); + // TODO warn for low powers? + return 1; + } + if (ncid_ == -1) { + mprinterr("Internal Error: NC_createCompressed() called with ncid -1\n"); + return 1; + } + if (frameDID_ == -1 || atomDID_ == -1 || spatialDID_ == -1) { + mprinterr("Internal Error: NC_createCompressed() called before NC_create().\n"); + return 1; + } + int dimensionID[NC_MAX_VAR_DIMS]; + // Place file back in define mode + if (NC::CheckErr( nc_redef( ncid_ ) )) return 1; + // Define variable to hold converted coords + dimensionID[0] = frameDID_; + dimensionID[1] = atomDID_; + dimensionID[2] = spatialDID_; + if (NC::CheckErr( nc_def_var(ncid_, "compressedpos", NC_INT, 3, dimensionID, &compressedPosVID_) )) { + mprinterr("Error: defining compressed positions VID.\n"); + return 1; + } + // Set compression for converted coords. Use 1 if not set. + if (deflateLevels_[V_COORDS] == 0) { + mprintf("Warning: Using default compression level for coords.\n"); + deflateLevels_[V_COORDS] = 1; + } + int ishuffle = 0; + if (ishuffle == 0) + mprintf("DEBUG: Integer shuffle is off.\n"); + else + mprintf("DEBUG: Integer shuffle is on.\n"); + // TODO shuffle integer types? + if ( NC::CheckErr( nc_def_var_deflate(ncid_, compressedPosVID_, ishuffle, 1, deflateLevels_[V_COORDS]) ) ) { + mprinterr("Error: Setting compression level %i for integer compressed coords.\n", deflateLevels_[V_COORDS]); + return 1; + } + // Define variable to hold conversion power + int compressedPowVID = -1; + if (NC::CheckErr( nc_def_var(ncid_, "compressedpow", NC_INT, 0, dimensionID, &compressedPowVID) )) { + mprinterr("Error: defining compressed power factor VID.\n"); + return 1; + } + // End definitions + if (NC::CheckErr(nc_enddef(ncid_))) { + mprinterr("NetCDF error on ending definitions (NC_createCompressed)."); + return 1; + } + // Calculate compressed factor; write compressed power of 10 + compressedFac_ = 10.0; + for (int i = 1; i < power; i++) + compressedFac_ *= 10.0; + if (NC::CheckErr(nc_put_var_int(ncid_, compressedPowVID, &power)) ) { + mprinterr("Error: Writing compressed power factor.\n"); + return 1; + } + mprintf("\tInteger compression factor: x%g\n", compressedFac_); + // Allocate temporary space for integer array + itmp_ = new int[ Ncatom3() ]; + + return 0; +# endif /* HAS_HDF5 */ +} + +int NetcdfFile::NC_writeCompressed(Frame const& frmOut) { +# ifdef HAS_HDF5 + // Convert to integer + for (int idx = 0; idx != frmOut.size(); idx++) + itmp_[idx] = (int)(frmOut[idx] * compressedFac_); + // Write array + start_[0] = ncframe_; + start_[1] = 0; + start_[2] = 0; + count_[0] = 1; + count_[1] = Ncatom(); + count_[2] = 3; + + if (NC::CheckErr(nc_put_vara_int(ncid_, compressedPosVID_, start_, count_, itmp_))) { + mprinterr("Error: NetCDF writing compressed coordinates frame %i\n", ncframe_+1); + return 1; + } +# endif + return 0; +} + // NetcdfFile::NC_createReservoir() int NetcdfFile::NC_createReservoir(bool hasBins, double reservoirT, int iseed, int& eptotVID, int& binsVID) diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 354d2dba08..fde4f16b10 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -80,12 +80,19 @@ class NetcdfFile { int NC_setDeflate(VidType, int) const; /// Set chunk sizes for variable ID int NC_setChunkSizes(VidType, int, const size_t*) const; + /// Create an integer compressed version of the trajectory + int NC_createCompressed(int); + /// Write an integer-compressed frame to the trajectory + int NC_writeCompressed(Frame const&); # ifdef MPI void Sync(Parallel::Comm const&); # endif # ifdef HAS_HDF5 - int* deflateLevels_; ///< Compression levels for each VID + int* deflateLevels_; ///< Compression levels for each VID + int compressedPosVID_; ///< Coordinates integer VID + double compressedFac_; ///< Compression factor + int* itmp_; ///< Temp space for converting to int # endif size_t start_[4]; ///< Array starting indices size_t count_[4]; ///< Array counts diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 77dbd123a1..3ba91503bd 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -27,6 +27,7 @@ Traj_AmberNetcdf::Traj_AmberNetcdf() : write_mdfrc_(false), # ifdef HAS_HDF5 compress_(0), + icompress_(0), # endif ftype_(NC_V3) // Default to NetCDF 3 {} @@ -132,6 +133,11 @@ int Traj_AmberNetcdf::processWriteArgs(ArgList& argIn, DataSetList const& DSLin) // HDF5-specific options if (ftype_ == NC_V4) { compress_ = argIn.getKeyInt("compress", 0); + icompress_ = argIn.getKeyInt("icompress", 0); + if (icompress_ < 0) { + mprinterr("Error: icompress cannot be negative.\n"); + return 1; + } } # endif return 0; @@ -183,6 +189,12 @@ int Traj_AmberNetcdf::setupTrajout(FileName const& fname, Topology* trajParm, if (NC_create( ftype_, filename_.Full(), NC_AMBERTRAJ, trajParm->Natom(), CoordInfo(), Title(), debug_ )) return 1; +# ifdef HAS_HDF5 + // Set up for integer compression if necessary + if (icompress_ > 0) { + if (NC_createCompressed(icompress_)) return 1; + } +# endif // Close Netcdf file. It will be reopened write. FIXME should NC_create leave it closed? NC_close(); // Allocate memory @@ -355,6 +367,11 @@ int Traj_AmberNetcdf::writeFrame(int set, Frame const& frameOut) { count_[2] = 3; // Write coords. +# ifdef HAS_HDF5 + if (compressedPosVID_ != -1) { + if (NC_writeCompressed(frameOut)) return 1; + } else +# endif if (coordVID_ != -1) { DoubleToFloat(Coord_, frameOut.xAddress()); if (NC::CheckErr(nc_put_vara_float(ncid_,coordVID_,start_,count_,Coord_)) ) { diff --git a/src/Traj_AmberNetcdf.h b/src/Traj_AmberNetcdf.h index 15174dfa74..178bed1bab 100644 --- a/src/Traj_AmberNetcdf.h +++ b/src/Traj_AmberNetcdf.h @@ -47,6 +47,7 @@ class Traj_AmberNetcdf : public TrajectoryIO, private NetcdfFile { bool write_mdfrc_; ///< If true write out forces # ifdef HAS_HDF5 int compress_; ///< HDF5 compression level + int icompress_; ///< HDF5 integer compression level # endif NC_FMT_TYPE ftype_; ///< Base format type }; From 2889f23fdfe90cdd4e1bbfc3e94760789f4a6e23 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 10:48:41 -0400 Subject: [PATCH 025/191] DRR - Turn integer shuffle on. Seems to work better. --- src/NetcdfFile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 490955d2ce..1408513857 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -670,7 +670,7 @@ int NetcdfFile::NC_createCompressed(int power) mprintf("Warning: Using default compression level for coords.\n"); deflateLevels_[V_COORDS] = 1; } - int ishuffle = 0; + int ishuffle = 1; if (ishuffle == 0) mprintf("DEBUG: Integer shuffle is off.\n"); else From c3b5c201d9905f374a2bb581208473ea1c5d8c47 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 10:59:18 -0400 Subject: [PATCH 026/191] DRR - Add function to read integer compressed coords --- src/NetcdfFile.cpp | 20 ++++++++++++++++++++ src/NetcdfFile.h | 2 ++ 2 files changed, 22 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 1408513857..fad7a52c23 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -728,6 +728,26 @@ int NetcdfFile::NC_writeCompressed(Frame const& frmOut) { return 0; } +int NetcdfFile::NC_readCompressed(int set, Frame& frmIn) { +# ifdef HAS_HDF5 + // Read array + start_[0] = set; + start_[1] = 0; + start_[2] = 0; + count_[0] = 1; + count_[1] = Ncatom(); + count_[2] = 3; + if (NC::CheckErr(nc_get_vara_int(ncid_, compressedPosVID_, start_, count_, itmp_))) { + mprinterr("Error: NetCDF reading compressed coordinates frame %i\n", set+1); + return 1; + } + // Convert from integer + for (int idx = 0; idx != frmIn.size(); idx++) + frmIn[idx] = (double)(itmp_[idx]) / compressedFac_; // TODO convert to 1/fac first? +# endif + return 0; +} + // NetcdfFile::NC_createReservoir() int NetcdfFile::NC_createReservoir(bool hasBins, double reservoirT, int iseed, int& eptotVID, int& binsVID) diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index fde4f16b10..e8b42f9b74 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -84,6 +84,8 @@ class NetcdfFile { int NC_createCompressed(int); /// Write an integer-compressed frame to the trajectory int NC_writeCompressed(Frame const&); + /// Read an integer-compressed frame from the trajectory + int NC_readCompressed(int, Frame& frmIn); # ifdef MPI void Sync(Parallel::Comm const&); # endif From 10525c81ff5e84b24d0c412c392f9fb7f1aea7df Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 11:01:50 -0400 Subject: [PATCH 027/191] DRR - Define variable ID strings --- src/NetcdfFile.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index fad7a52c23..bbc680758a 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -90,6 +90,10 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch #define NCEPTOT "eptot" #define NCBINS "bins" #define NCREMDVALUES "remd_values" +#ifdef HAS_HDF5 +# define NCCOMPPOS "compressedpos" +# define NCCOMPPOW "compressedpow" +#endif // CONSTRUCTOR NetcdfFile::NetcdfFile() : @@ -661,7 +665,7 @@ int NetcdfFile::NC_createCompressed(int power) dimensionID[0] = frameDID_; dimensionID[1] = atomDID_; dimensionID[2] = spatialDID_; - if (NC::CheckErr( nc_def_var(ncid_, "compressedpos", NC_INT, 3, dimensionID, &compressedPosVID_) )) { + if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOS, NC_INT, 3, dimensionID, &compressedPosVID_) )) { mprinterr("Error: defining compressed positions VID.\n"); return 1; } @@ -682,7 +686,7 @@ int NetcdfFile::NC_createCompressed(int power) } // Define variable to hold conversion power int compressedPowVID = -1; - if (NC::CheckErr( nc_def_var(ncid_, "compressedpow", NC_INT, 0, dimensionID, &compressedPowVID) )) { + if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOW, NC_INT, 0, dimensionID, &compressedPowVID) )) { mprinterr("Error: defining compressed power factor VID.\n"); return 1; } From 1d50567ff5a927ec187fcd68f5ac4269a1c6d0b1 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 11:09:15 -0400 Subject: [PATCH 028/191] DRR - Start adding integer-compressed coords detection on read --- src/NetcdfFile.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index bbc680758a..5ff0dc57f9 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -255,6 +255,24 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { ncatom3_ = ncatom_ * 3; // Get coord info coordVID_ = -1; + int localCompressedPosVID = -1; + int compressedPowVID = -1; + if ( nc_inq_varid(ncid_, NCCOMPPOS, &localCompressedPosVID) == NC_NOERR ) { + if (ncdebug_ > 0) mprintf("\tNetCDF file has integer-compressed coordinates.\n"); + } + if (localCompressedPosVID != -1) { +# ifdef HAS_HDF5 + compressedPosVID_ = localCompressedPosVID; + // Get compressed power + if ( nc_inq_varid(ncid_, NCCOMPPOW, &compressedPowVID) != NC_NOERR ) { + mprinterr("Error: NetCDF file has integer-compressed coordinates but no compress power variable ID.\n"); + return 1; + } +# else + mprinterr("Error: Integer-compressed NetCDF trajectories requires cpptraj compiled with HDF5 support.\n"); + return 1; +# endif /* HAS_HDF5 */ + } if ( nc_inq_varid(ncid_, NCCOORDS, &coordVID_) == NC_NOERR ) { if (ncdebug_ > 0) mprintf("\tNetCDF file has coordinates.\n"); std::string attrText = NC::GetAttrText(ncid_, coordVID_, "units"); From 0a2497a45d41bb1e82a4516bdd48635e3aa2ac4f Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 11:19:19 -0400 Subject: [PATCH 029/191] DRR - Finish initial integer compressed coords read --- src/NetcdfFile.cpp | 43 +++++++++++++++++++++++++++++----------- src/NetcdfFile.h | 4 ++++ src/Traj_AmberNetcdf.cpp | 17 +++++++++++----- 3 files changed, 47 insertions(+), 17 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 5ff0dc57f9..7f7ecbced1 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -261,14 +261,25 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { if (ncdebug_ > 0) mprintf("\tNetCDF file has integer-compressed coordinates.\n"); } if (localCompressedPosVID != -1) { -# ifdef HAS_HDF5 +# ifdef HAS_HDF5 compressedPosVID_ = localCompressedPosVID; - // Get compressed power + // Get compressed power var ID if ( nc_inq_varid(ncid_, NCCOMPPOW, &compressedPowVID) != NC_NOERR ) { mprinterr("Error: NetCDF file has integer-compressed coordinates but no compress power variable ID.\n"); return 1; } -# else + // Get compressed power + int power = 0; + if (NC::CheckErr(nc_get_var_int(ncid_, compressedPowVID, &power))) { + mprinterr("Error: Reading compressed power factor.\n"); + return 1; + } + // Calculate compressed factor + if (calcCompressFactor(power)) return 1; + // Allocate temporary space for integer array + if (itmp_ != 0) delete[] itmp_; + itmp_ = new int[ Ncatom3() ]; +# else mprinterr("Error: Integer-compressed NetCDF trajectories requires cpptraj compiled with HDF5 support.\n"); return 1; # endif /* HAS_HDF5 */ @@ -656,6 +667,21 @@ int NetcdfFile::NC_openWrite(std::string const& Name) { return 0; } +#ifdef HAS_HDF5 +int NetcdfFile::calcCompressFactor(int power) { + if (power < 1) { + mprinterr("Internal Error: calcCompressFactor called with power of 10 < 1\n"); + // TODO warn for low powers? + return 1; + } + compressedFac_ = 10.0; + for (int i = 1; i < power; i++) + compressedFac_ *= 10.0; + mprintf("\tInteger compression factor: x%g\n", compressedFac_); + return 0; +} +#endif + /** Prepare trajectory for adding coords converted to integer. */ int NetcdfFile::NC_createCompressed(int power) { @@ -663,11 +689,6 @@ int NetcdfFile::NC_createCompressed(int power) mprinterr("Error: Cpptraj was compiled without HDF5 support, required for compressed traj.\n"); return 1; # else - if (power < 1) { - mprinterr("Internal Error: NC_createCompressed() called with power of 10 < 1\n"); - // TODO warn for low powers? - return 1; - } if (ncid_ == -1) { mprinterr("Internal Error: NC_createCompressed() called with ncid -1\n"); return 1; @@ -714,15 +735,13 @@ int NetcdfFile::NC_createCompressed(int power) return 1; } // Calculate compressed factor; write compressed power of 10 - compressedFac_ = 10.0; - for (int i = 1; i < power; i++) - compressedFac_ *= 10.0; + if (calcCompressFactor(power)) return 1; if (NC::CheckErr(nc_put_var_int(ncid_, compressedPowVID, &power)) ) { mprinterr("Error: Writing compressed power factor.\n"); return 1; } - mprintf("\tInteger compression factor: x%g\n", compressedFac_); // Allocate temporary space for integer array + if (itmp_ != 0) delete[] itmp_; itmp_ = new int[ Ncatom3() ]; return 0; diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index e8b42f9b74..a0cb3d7ace 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -86,6 +86,10 @@ class NetcdfFile { int NC_writeCompressed(Frame const&); /// Read an integer-compressed frame from the trajectory int NC_readCompressed(int, Frame& frmIn); +# ifdef HAS_HDF5 + /// Calculate integer compression factor of 10 from given power + int calcCompressFactor(int); +# endif # ifdef MPI void Sync(Parallel::Comm const&); # endif diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 3ba91503bd..86a9db07ea 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -259,12 +259,19 @@ int Traj_AmberNetcdf::readFrame(int set, Frame& frameIn) { frameIn.SetTime( (double)time ); } - // Read Coords - if ( NC::CheckErr(nc_get_vara_float(ncid_, coordVID_, start_, count_, Coord_)) ) { - mprinterr("Error: Getting coordinates for frame %i\n", set+1); - return 1; + // Read Coords + # ifdef HAS_HDF5 + if (compressedPosVID_ != -1) { + if (NC_readCompressed(set, frameIn)) return 1; + } else +# endif + if (coordVID_ != -1) { + if ( NC::CheckErr(nc_get_vara_float(ncid_, coordVID_, start_, count_, Coord_)) ) { + mprinterr("Error: Getting coordinates for frame %i\n", set+1); + return 1; + } + FloatToDouble(frameIn.xAddress(), Coord_); } - FloatToDouble(frameIn.xAddress(), Coord_); // Read Velocities if (velocityVID_ != -1) { From 432044793b238719aaeb054028c67ea711fa1a26 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 11:39:42 -0400 Subject: [PATCH 030/191] DRR - Add some debug info --- src/NetcdfFile.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 7f7ecbced1..954aa2fbd8 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -753,6 +753,8 @@ int NetcdfFile::NC_writeCompressed(Frame const& frmOut) { // Convert to integer for (int idx = 0; idx != frmOut.size(); idx++) itmp_[idx] = (int)(frmOut[idx] * compressedFac_); + //mprintf("DEBUG: atom 0 xyz={ %20.10f %20.10f %20.10f } ixyz= { %20i %20i %20i }\n", + // frmOut[0], frmOut[1], frmOut[2], itmp_[0], itmp_[1], itmp_[2]); // Write array start_[0] = ncframe_; start_[1] = 0; From 205901f48dd3fb90cba21861fd28e6ab02fcdcb0 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 11:51:23 -0400 Subject: [PATCH 031/191] DRR - Add integer overflow protection --- src/NetcdfFile.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 954aa2fbd8..7dfe70d5c2 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -13,6 +13,7 @@ # endif # ifdef HAS_HDF5 # include // std::fill +# include // for integer compression # endif #endif @@ -253,8 +254,7 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { atomDID_ = NC::GetDimInfo( ncid_, NCATOM, ncatom_ ); if (atomDID_==-1) return 1; ncatom3_ = ncatom_ * 3; - // Get coord info - coordVID_ = -1; + // Check for integer compression - requires HDF5 int localCompressedPosVID = -1; int compressedPowVID = -1; if ( nc_inq_varid(ncid_, NCCOMPPOS, &localCompressedPosVID) == NC_NOERR ) { @@ -284,6 +284,8 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { return 1; # endif /* HAS_HDF5 */ } + // Get coord info + coordVID_ = -1; if ( nc_inq_varid(ncid_, NCCOORDS, &coordVID_) == NC_NOERR ) { if (ncdebug_ > 0) mprintf("\tNetCDF file has coordinates.\n"); std::string attrText = NC::GetAttrText(ncid_, coordVID_, "units"); @@ -751,8 +753,19 @@ int NetcdfFile::NC_createCompressed(int power) int NetcdfFile::NC_writeCompressed(Frame const& frmOut) { # ifdef HAS_HDF5 // Convert to integer + long int maxval = (long int)std::numeric_limits::max(); for (int idx = 0; idx != frmOut.size(); idx++) - itmp_[idx] = (int)(frmOut[idx] * compressedFac_); + { + // Try some overflow protection + long int ii = (long int)(frmOut[idx] * compressedFac_); + if (ii > maxval || ii < -maxval) { + mprinterr("Error: Coordinate %i frame %i (%g) is too large to convert to int.\n", + idx+1, ncframe_+1, frmOut[idx]); + return 1; + } + itmp_[idx] = (int)ii; + //itmp_[idx] = (int)(frmOut[idx] * compressedFac_); + } //mprintf("DEBUG: atom 0 xyz={ %20.10f %20.10f %20.10f } ixyz= { %20i %20i %20i }\n", // frmOut[0], frmOut[1], frmOut[2], itmp_[0], itmp_[1], itmp_[2]); // Write array From 3370e4946cda120508b503e2e5b93d12fd6d862a Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 11:54:16 -0400 Subject: [PATCH 032/191] DRR - Improve error message. --- src/NetcdfFile.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 7dfe70d5c2..aea1133c65 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -761,6 +761,7 @@ int NetcdfFile::NC_writeCompressed(Frame const& frmOut) { if (ii > maxval || ii < -maxval) { mprinterr("Error: Coordinate %i frame %i (%g) is too large to convert to int.\n", idx+1, ncframe_+1, frmOut[idx]); + mprinterr("Error: A smaller integer compression factor must be used.\n"); return 1; } itmp_[idx] = (int)ii; From 30d637bf95b289915f7e558584f9dea3fec5c973 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 12:27:24 -0400 Subject: [PATCH 033/191] DRR - Just make it the frame chunk instead of all chunks --- src/NetcdfFile.cpp | 23 ++++++++++++++++++++--- src/NetcdfFile.h | 5 +++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index aea1133c65..c4f1a4c700 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -103,6 +103,7 @@ NetcdfFile::NetcdfFile() : compressedPosVID_(-1), compressedFac_(0), itmp_(0), + fchunkSize_(1), # endif ncid_(-1), ncframe_(-1), @@ -915,11 +916,26 @@ int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const return 0; } -/** Set variable chunk sizes if supported. */ -int NetcdfFile::NC_setChunkSizes(VidType vtype, int varid, const size_t* chunkSizes) const +/** Set frame chunk size for variable if supported. */ +int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid, int frameChunkSize) const { # ifdef HAS_HDF5 - if (chunkSizes != 0 && deflateLevels_[vtype] > 0) { + if (frameChunkSize > 0 && deflateLevels_[vtype] > 0) { + // Get existing chunk sizes. Going to assume frame chunk size is first dim! TODO do not assume this + size_t chunkSizes[4]; + int storagep = 0; + if ( NC::CheckErr( nc_inq_var_chunking(ncid_, varid, &storagep, chunkSizes) ) ) { + mprinterr("Error: getting existing chunk sizes for '%s' variable.\n", vidDesc_[vtype]); + return 1; + } + if (storagep != NC_CHUNKED) { + mprinterr("Internal Error: NC_setFrameChunkSize called for VID that is not chunked '%s'\n", + vidDesc_[vtype]); + return 1; + } + mprintf("DEBUG: '%s' frame chunk size = %zu new size= %i\n", vidDesc_[vtype], chunkSizes[0], frameChunkSize); + // Set new frame chunk size + chunkSizes[0] = frameChunkSize; if ( NC::CheckErr( nc_def_var_chunking(ncid_, varid, NC_CHUNKED, chunkSizes) ) ) { mprinterr("Error: Setting chunk sizes for '%s' variable.\n", vidDesc_[vtype]); return 1; @@ -1084,6 +1100,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_COORDS, coordVID_)) return 1; + if (NC_setFrameChunkSize(V_COORDS, coordVID_, fchunkSize_)) return 1; } // Velocity variable if (coordInfo.HasVel()) { diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index a0cb3d7ace..98308770fd 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -79,7 +79,7 @@ class NetcdfFile { /// Set compression level for variable ID int NC_setDeflate(VidType, int) const; /// Set chunk sizes for variable ID - int NC_setChunkSizes(VidType, int, const size_t*) const; + int NC_setFrameChunkSize(VidType, int, int) const; /// Create an integer compressed version of the trajectory int NC_createCompressed(int); /// Write an integer-compressed frame to the trajectory @@ -95,10 +95,11 @@ class NetcdfFile { # endif # ifdef HAS_HDF5 - int* deflateLevels_; ///< Compression levels for each VID + int* deflateLevels_; ///< Compression levels for each VID int compressedPosVID_; ///< Coordinates integer VID double compressedFac_; ///< Compression factor int* itmp_; ///< Temp space for converting to int + int fchunkSize_; ///< Frame chunk size # endif size_t start_[4]; ///< Array starting indices size_t count_[4]; ///< Array counts From 362207752dcbba0c9f5609dd576eaed62c966fe3 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 24 Oct 2019 12:43:39 -0400 Subject: [PATCH 034/191] DRR - Add option to change frame chunk size. Does not appear to help anything. --- src/NetcdfFile.cpp | 11 +++++++++++ src/NetcdfFile.h | 2 ++ src/Traj_AmberNetcdf.cpp | 8 ++++++++ src/Traj_AmberNetcdf.h | 1 + 4 files changed, 22 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index c4f1a4c700..520ec167da 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -726,6 +726,7 @@ int NetcdfFile::NC_createCompressed(int power) mprinterr("Error: Setting compression level %i for integer compressed coords.\n", deflateLevels_[V_COORDS]); return 1; } + if (NC_setFrameChunkSize(V_COORDS, compressedPosVID_, fchunkSize_)) return 1; // Define variable to hold conversion power int compressedPowVID = -1; if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOW, NC_INT, 0, dimensionID, &compressedPowVID) )) { @@ -885,6 +886,16 @@ int NetcdfFile::SetCompression(int deflateLevelIn) { return err; } +int NetcdfFile::SetFrameChunkSize(int fchunkSizeIn) { +# ifdef HAS_HDF5 + mprintf("\tSetting frame chunk size to %i\n", fchunkSizeIn); + fchunkSize_ = fchunkSizeIn; +# else + mprintf("Warning: NetCDF chunk size only supported when compiled with HDF5 support.\n"); +# endif + return 0; +} + const char* NetcdfFile::vidDesc_[NVID] = { "coordinates", // V_COORDS "velocities", // V_VEL diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 98308770fd..834d8752b7 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -78,6 +78,8 @@ class NetcdfFile { int SetCompression(VidType, int); /// Set compression level for variable ID int NC_setDeflate(VidType, int) const; + /// Set default frame chunk size + int SetFrameChunkSize(int); /// Set chunk sizes for variable ID int NC_setFrameChunkSize(VidType, int, int) const; /// Create an integer compressed version of the trajectory diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 86a9db07ea..01c7d30f00 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -28,6 +28,7 @@ Traj_AmberNetcdf::Traj_AmberNetcdf() : # ifdef HAS_HDF5 compress_(0), icompress_(0), + fchunkSize_(0), # endif ftype_(NC_V3) // Default to NetCDF 3 {} @@ -138,6 +139,11 @@ int Traj_AmberNetcdf::processWriteArgs(ArgList& argIn, DataSetList const& DSLin) mprinterr("Error: icompress cannot be negative.\n"); return 1; } + fchunkSize_ = argIn.getKeyInt("fchunksize", 0); + if (fchunkSize_ < 0) { + mprinterr("Error: fchunksize cannot be negative.\n"); + return 1; + } } # endif return 0; @@ -184,6 +190,8 @@ int Traj_AmberNetcdf::setupTrajout(FileName const& fname, Topology* trajParm, # ifdef HAS_HDF5 // Set compression levels if (compress_ > 0) SetCompression(compress_); + // Set frame chunk size + if (fchunkSize_ > 0) SetFrameChunkSize(fchunkSize_); # endif // Create NetCDF file. if (NC_create( ftype_, filename_.Full(), NC_AMBERTRAJ, trajParm->Natom(), CoordInfo(), diff --git a/src/Traj_AmberNetcdf.h b/src/Traj_AmberNetcdf.h index 178bed1bab..7079f87d43 100644 --- a/src/Traj_AmberNetcdf.h +++ b/src/Traj_AmberNetcdf.h @@ -48,6 +48,7 @@ class Traj_AmberNetcdf : public TrajectoryIO, private NetcdfFile { # ifdef HAS_HDF5 int compress_; ///< HDF5 compression level int icompress_; ///< HDF5 integer compression level + int fchunkSize_; ///< HDF5 frame chunk size # endif NC_FMT_TYPE ftype_; ///< Base format type }; From 2507dbfa6d33ebf0fd722de4105666983bcb256f Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 25 Oct 2019 09:08:20 -0400 Subject: [PATCH 035/191] DRR - Add dimension IDs enum type. May use in the future. Make setting frame chunk sizes more robust. Still doesnt seem to help when modifying from default chunk sizes (speed or compression). --- src/NetcdfFile.cpp | 96 ++++++++++++++++++++++++++++++++++++---------- src/NetcdfFile.h | 11 +++++- 2 files changed, 84 insertions(+), 23 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 520ec167da..5fd427dee2 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -900,13 +900,19 @@ const char* NetcdfFile::vidDesc_[NVID] = { "coordinates", // V_COORDS "velocities", // V_VEL "forces", // V_FRC - "temperature", // V_TEMP - "box lengths", // V_BOXL - "box angles", // V_BOXA + "temp0", // V_TEMP + "cell_lengths", // V_BOXL + "cell_angles", // V_BOXA "time", // V_TIME - "replica indices", // V_IND - "replica idx", // V_RIDX - "coord idx" // V_CIDX + "remd_indices", // V_IND + "remd_repidx", // V_RIDX + "remd_crdidx" // V_CIDX +}; + +const char* NetcdfFile::didDesc_[NDID] = { + "frame", // D_FRAME + "atom", // D_ATOM + "spatial" // D_SPATIAL }; /** Set variable compression level if supported. */ @@ -927,30 +933,78 @@ int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const return 0; } -/** Set frame chunk size for variable if supported. */ -int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid, int frameChunkSize) const +#ifdef HAS_HDF5 +/** If target dimID is NDID multiply existing chunk sizes for variable + * by chunkFac. Otherwise multiple chunk size matching target dimID + * only. + */ +int NetcdfFile::NC_setVarDimChunkSizes(VidType vtype, int varid, int chunkFac, int ndims, + const int* dimids, int tgtDimId, size_t* chunkSizes) +const +{ + // Sanity checks. + if (dimids == 0 || chunkSizes == 0) { + mprinterr("Internal Error: NC_setVarDimChunkSizes called with null(s)\n"); + return 1; + } + // Get chunk sizes and storage type + int storagep = 0; + if ( NC::CheckErr( nc_inq_var_chunking(ncid_, varid, &storagep, chunkSizes) ) ) { + mprinterr("Error: getting existing chunk sizes for '%s' variable.\n", vidDesc_[vtype]); + return 1; + } + if (storagep != NC_CHUNKED) { + mprinterr("Internal Error: NC_setVarDimChunkSizes called for VID that is not chunked '%s'\n", + vidDesc_[vtype]); + return 1; + } + // Loop over dimension chunk sizes + for (int dim = 0; dim != ndims; dim++) { + if (tgtDimId == -1 || tgtDimId == dimids[dim]) { + mprintf("DEBUG: '%s' dim %i chunk size = %zu new size= %i\n", + vidDesc_[vtype], dim, chunkSizes[dim], chunkSizes[dim]*chunkFac); + // Set new chunk size + chunkSizes[dim] *= chunkFac; + } + } + if ( NC::CheckErr( nc_def_var_chunking(ncid_, varid, NC_CHUNKED, chunkSizes) ) ) { + mprinterr("Error: Setting chunk sizes for '%s' variable.\n", vidDesc_[vtype]); + return 1; + } + return 0; +} +#endif + +/** Increase chunk sizes for variable if supported. */ +int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid, int chunkFac) const { # ifdef HAS_HDF5 - if (frameChunkSize > 0 && deflateLevels_[vtype] > 0) { - // Get existing chunk sizes. Going to assume frame chunk size is first dim! TODO do not assume this - size_t chunkSizes[4]; - int storagep = 0; - if ( NC::CheckErr( nc_inq_var_chunking(ncid_, varid, &storagep, chunkSizes) ) ) { - mprinterr("Error: getting existing chunk sizes for '%s' variable.\n", vidDesc_[vtype]); + if (chunkFac > 0 && chunkFac > 1) { + // Get number of dimensions + int ndims = 0; + if ( NC::CheckErr( nc_inq_varndims(ncid_, varid, &ndims) ) ) { + mprinterr("Error: getting # dims for '%s' variable.\n", vidDesc_[vtype]); return 1; } - if (storagep != NC_CHUNKED) { - mprinterr("Internal Error: NC_setFrameChunkSize called for VID that is not chunked '%s'\n", + if (ndims < 1) { + mprinterr("Internal Error: NC_setFrameChunkSize: Variable '%s' has no dimensions.\n", vidDesc_[vtype]); return 1; } - mprintf("DEBUG: '%s' frame chunk size = %zu new size= %i\n", vidDesc_[vtype], chunkSizes[0], frameChunkSize); - // Set new frame chunk size - chunkSizes[0] = frameChunkSize; - if ( NC::CheckErr( nc_def_var_chunking(ncid_, varid, NC_CHUNKED, chunkSizes) ) ) { - mprinterr("Error: Setting chunk sizes for '%s' variable.\n", vidDesc_[vtype]); + // Get dimension IDs + int* dimids = new int[ ndims ]; + if ( NC::CheckErr( nc_inq_var(ncid_, varid, 0, 0, 0, dimids, 0) ) ) { + mprinterr("Error: getting dimension IDs for '%s' variable.\n", vidDesc_[vtype]); + delete[] dimids; return 1; } + // Allocate space for chunk sizes + size_t* chunkSizes = new size_t[ ndims ]; + // Set frame chunk size + int err = NC_setVarDimChunkSizes(vtype, varid, chunkFac, ndims, dimids, frameDID_, chunkSizes); + delete[] chunkSizes; + delete[] dimids; + return err; } # else mprintf("Warning: Compiled without HDF5 support; cannot set chunk sizes for '%s' variable.\n", diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 834d8752b7..9ce7c8834e 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -65,12 +65,17 @@ class NetcdfFile { inline int Ncframe() const { return ncframe_; } inline int CoordVID() const { return coordVID_; } protected: // TODO: Make all private - /// Enumerated type for all variable IDs. MUST MATCH vidDesc_. + /// Enumerated type for variable IDs. MUST MATCH vidDesc_. enum VidType { V_COORDS = 0, V_VEL, V_FRC, V_TEMP, V_BOXL, V_BOXA, V_TIME, V_IND, V_RIDX, V_CIDX, NVID }; // TODO RemdValues - /// Descriptions of VidType. MUST MATCH VidType. + /// Descriptions of VidType. MUST MATCH VidType (except NVID). static const char* vidDesc_[]; + /// Enumerated type for dimension IDs. MUST MATCH didDesc_. + enum DidType { D_FRAME = 0, D_ATOM, D_SPATIAL, + NDID }; // TODO everything else + /// Descriptions of DidType. MUST MATCH DidType (except NDID). + static const char* didDesc_[]; /// Set all variables compression level. int SetCompression(int); @@ -91,6 +96,8 @@ class NetcdfFile { # ifdef HAS_HDF5 /// Calculate integer compression factor of 10 from given power int calcCompressFactor(int); + /// Increase variable chunk sizes + int NC_setVarDimChunkSizes(VidType, int, int, int, const int*, int, size_t*) const; # endif # ifdef MPI void Sync(Parallel::Comm const&); From 6e54acc22193da787b4d59dd1e25b488c6c22960 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 25 Oct 2019 09:19:42 -0400 Subject: [PATCH 036/191] DRR - Use std::vector --- src/NetcdfFile.cpp | 25 +++++-------------------- src/NetcdfFile.h | 8 ++------ 2 files changed, 7 insertions(+), 26 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 5fd427dee2..ac0ba2da56 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -12,7 +12,6 @@ # include "ParallelNetcdf.h" # endif # ifdef HAS_HDF5 -# include // std::fill # include // for integer compression # endif #endif @@ -99,10 +98,9 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch // CONSTRUCTOR NetcdfFile::NetcdfFile() : # ifdef HAS_HDF5 - deflateLevels_(0), + deflateLevels_((unsigned int)NVID, 0), compressedPosVID_(-1), compressedFac_(0), - itmp_(0), fchunkSize_(1), # endif ncid_(-1), @@ -139,18 +137,7 @@ NetcdfFile::NetcdfFile() : count_[0] = 0; count_[1] = 0; count_[2] = 0; -# ifdef HAS_HDF5 - deflateLevels_ = new int[ (unsigned int)NVID ]; - std::fill( deflateLevels_, deflateLevels_ + (unsigned int)NVID, 0 ); -# endif -} - -#ifdef HAS_HDF5 -NetcdfFile::~NetcdfFile() { - if (deflateLevels_ != 0) delete[] deflateLevels_; - if (itmp_ != 0) delete[] itmp_; } -#endif const char* NetcdfFile::ConventionsStr_[] = { "AMBER", // NC_AMBERTRAJ @@ -278,8 +265,7 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { // Calculate compressed factor if (calcCompressFactor(power)) return 1; // Allocate temporary space for integer array - if (itmp_ != 0) delete[] itmp_; - itmp_ = new int[ Ncatom3() ]; + itmp_.resize( Ncatom3() ); # else mprinterr("Error: Integer-compressed NetCDF trajectories requires cpptraj compiled with HDF5 support.\n"); return 1; @@ -745,8 +731,7 @@ int NetcdfFile::NC_createCompressed(int power) return 1; } // Allocate temporary space for integer array - if (itmp_ != 0) delete[] itmp_; - itmp_ = new int[ Ncatom3() ]; + itmp_.resize( Ncatom3() ); return 0; # endif /* HAS_HDF5 */ @@ -779,7 +764,7 @@ int NetcdfFile::NC_writeCompressed(Frame const& frmOut) { count_[1] = Ncatom(); count_[2] = 3; - if (NC::CheckErr(nc_put_vara_int(ncid_, compressedPosVID_, start_, count_, itmp_))) { + if (NC::CheckErr(nc_put_vara_int(ncid_, compressedPosVID_, start_, count_, &itmp_[0]))) { mprinterr("Error: NetCDF writing compressed coordinates frame %i\n", ncframe_+1); return 1; } @@ -796,7 +781,7 @@ int NetcdfFile::NC_readCompressed(int set, Frame& frmIn) { count_[0] = 1; count_[1] = Ncatom(); count_[2] = 3; - if (NC::CheckErr(nc_get_vara_int(ncid_, compressedPosVID_, start_, count_, itmp_))) { + if (NC::CheckErr(nc_get_vara_int(ncid_, compressedPosVID_, start_, count_, &itmp_[0]))) { mprinterr("Error: NetCDF reading compressed coordinates frame %i\n", set+1); return 1; } diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 9ce7c8834e..31db360fb8 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -17,10 +17,6 @@ class NetcdfFile { # else /// CONSTRUCTOR NetcdfFile(); -# ifdef HAS_HDF5 - /// DESTRUCTOR - ~NetcdfFile(); -# endif /// \return Coordinate info corresponding to current setup. TODO have in variable? CoordinateInfo NC_coordInfo() const; /// Open NetCDF file for reading. @@ -104,10 +100,10 @@ class NetcdfFile { # endif # ifdef HAS_HDF5 - int* deflateLevels_; ///< Compression levels for each VID + std::vector deflateLevels_; ///< Compression levels for each VID int compressedPosVID_; ///< Coordinates integer VID double compressedFac_; ///< Compression factor - int* itmp_; ///< Temp space for converting to int + std::vector itmp_; ///< Temp space for converting to int int fchunkSize_; ///< Frame chunk size # endif size_t start_[4]; ///< Array starting indices From f872b1eadf5e1af77846518158df4cf1e6ace519 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 25 Oct 2019 09:27:15 -0400 Subject: [PATCH 037/191] DRR - Change to std::vector in more spots. --- src/NetcdfFile.cpp | 28 +++++++++++++--------------- src/NetcdfFile.h | 2 +- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index ac0ba2da56..36c0abee11 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -923,18 +923,19 @@ int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const * by chunkFac. Otherwise multiple chunk size matching target dimID * only. */ -int NetcdfFile::NC_setVarDimChunkSizes(VidType vtype, int varid, int chunkFac, int ndims, - const int* dimids, int tgtDimId, size_t* chunkSizes) +int NetcdfFile::NC_setVarDimChunkSizes(VidType vtype, int varid, int chunkFac, + std::vector const& dimids, int tgtDimId, + std::vector& chunkSizes) const { // Sanity checks. - if (dimids == 0 || chunkSizes == 0) { - mprinterr("Internal Error: NC_setVarDimChunkSizes called with null(s)\n"); + if (dimids.empty() || chunkSizes.empty()) { + mprinterr("Internal Error: NC_setVarDimChunkSizes called with empty arrays.\n"); return 1; } // Get chunk sizes and storage type int storagep = 0; - if ( NC::CheckErr( nc_inq_var_chunking(ncid_, varid, &storagep, chunkSizes) ) ) { + if ( NC::CheckErr( nc_inq_var_chunking(ncid_, varid, &storagep, &chunkSizes[0]) ) ) { mprinterr("Error: getting existing chunk sizes for '%s' variable.\n", vidDesc_[vtype]); return 1; } @@ -944,15 +945,15 @@ const return 1; } // Loop over dimension chunk sizes - for (int dim = 0; dim != ndims; dim++) { + for (unsigned int dim = 0; dim != dimids.size(); dim++) { if (tgtDimId == -1 || tgtDimId == dimids[dim]) { - mprintf("DEBUG: '%s' dim %i chunk size = %zu new size= %i\n", + mprintf("DEBUG: '%s' dim %u chunk size = %zu new size= %i\n", vidDesc_[vtype], dim, chunkSizes[dim], chunkSizes[dim]*chunkFac); // Set new chunk size chunkSizes[dim] *= chunkFac; } } - if ( NC::CheckErr( nc_def_var_chunking(ncid_, varid, NC_CHUNKED, chunkSizes) ) ) { + if ( NC::CheckErr( nc_def_var_chunking(ncid_, varid, NC_CHUNKED, &chunkSizes[0]) ) ) { mprinterr("Error: Setting chunk sizes for '%s' variable.\n", vidDesc_[vtype]); return 1; } @@ -977,18 +978,15 @@ int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid, int chunkFac) con return 1; } // Get dimension IDs - int* dimids = new int[ ndims ]; - if ( NC::CheckErr( nc_inq_var(ncid_, varid, 0, 0, 0, dimids, 0) ) ) { + std::vector dimids(ndims); + if ( NC::CheckErr( nc_inq_var(ncid_, varid, 0, 0, 0, &dimids[0], 0) ) ) { mprinterr("Error: getting dimension IDs for '%s' variable.\n", vidDesc_[vtype]); - delete[] dimids; return 1; } // Allocate space for chunk sizes - size_t* chunkSizes = new size_t[ ndims ]; + std::vector chunkSizes( ndims ); // Set frame chunk size - int err = NC_setVarDimChunkSizes(vtype, varid, chunkFac, ndims, dimids, frameDID_, chunkSizes); - delete[] chunkSizes; - delete[] dimids; + int err = NC_setVarDimChunkSizes(vtype, varid, chunkFac, dimids, frameDID_, chunkSizes); return err; } # else diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 31db360fb8..27f7e9c346 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -93,7 +93,7 @@ class NetcdfFile { /// Calculate integer compression factor of 10 from given power int calcCompressFactor(int); /// Increase variable chunk sizes - int NC_setVarDimChunkSizes(VidType, int, int, int, const int*, int, size_t*) const; + int NC_setVarDimChunkSizes(VidType, int, int, std::vector const&, int, std::vector&) const; # endif # ifdef MPI void Sync(Parallel::Comm const&); From c3a5fc9049f5c1666c777892c5b929cd0f0e213a Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 25 Oct 2019 10:07:55 -0400 Subject: [PATCH 038/191] DRR - Set frame chunk size for more vars, but in general dont do it if the frame is the only dimension. --- src/NetcdfFile.cpp | 44 +++++++++++++++++++++++++++++--------------- src/NetcdfFile.h | 3 ++- 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 36c0abee11..e519fd23b8 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -470,7 +470,6 @@ int NetcdfFile::SetupMultiD() { // NetcdfFile::SetupBox() /** \return 0 on success, 1 on error, -1 for no box coords. */ -// TODO: Use Box class int NetcdfFile::SetupBox() { nc_box_.SetNoBox(); if ( nc_inq_varid(ncid_, NCCELL_LENGTHS, &cellLengthVID_) == NC_NOERR ) { @@ -702,12 +701,14 @@ int NetcdfFile::NC_createCompressed(int power) mprintf("Warning: Using default compression level for coords.\n"); deflateLevels_[V_COORDS] = 1; } + // TODO should this be an option? int ishuffle = 1; - if (ishuffle == 0) - mprintf("DEBUG: Integer shuffle is off.\n"); - else - mprintf("DEBUG: Integer shuffle is on.\n"); - // TODO shuffle integer types? + if (ncdebug_ > 0) { + if (ishuffle == 0) + mprintf("DEBUG: Integer shuffle is off.\n"); + else + mprintf("DEBUG: Integer shuffle is on.\n"); + } if ( NC::CheckErr( nc_def_var_deflate(ncid_, compressedPosVID_, ishuffle, 1, deflateLevels_[V_COORDS]) ) ) { mprinterr("Error: Setting compression level %i for integer compressed coords.\n", deflateLevels_[V_COORDS]); return 1; @@ -852,7 +853,7 @@ void NetcdfFile::SetRemDimDID(int remDimDID, int* dimensionID) const { } } -/** Set compression level for specified variable if supported. */ +/** Set desired compression level for specified variable if supported. */ int NetcdfFile::SetCompression(VidType vtype, int deflateLevelIn) { # ifdef HAS_HDF5 mprintf("\tSetting compression for VIDTYPE %i to %i\n", (int)vtype, deflateLevelIn); @@ -863,7 +864,7 @@ int NetcdfFile::SetCompression(VidType vtype, int deflateLevelIn) { return 0; } -/** Set compression level for all variables if supported. */ +/** Set desired compression level for all variables if supported. */ int NetcdfFile::SetCompression(int deflateLevelIn) { int err = 0; for (int i = 0; i != (int)NVID; i++) @@ -871,6 +872,7 @@ int NetcdfFile::SetCompression(int deflateLevelIn) { return err; } +/* Set desired frame chunk size if supported. */ int NetcdfFile::SetFrameChunkSize(int fchunkSizeIn) { # ifdef HAS_HDF5 mprintf("\tSetting frame chunk size to %i\n", fchunkSizeIn); @@ -881,6 +883,7 @@ int NetcdfFile::SetFrameChunkSize(int fchunkSizeIn) { return 0; } +/** Variable ID descriptions. */ const char* NetcdfFile::vidDesc_[NVID] = { "coordinates", // V_COORDS "velocities", // V_VEL @@ -891,9 +894,11 @@ const char* NetcdfFile::vidDesc_[NVID] = { "time", // V_TIME "remd_indices", // V_IND "remd_repidx", // V_RIDX - "remd_crdidx" // V_CIDX + "remd_crdidx", // V_CIDX + "remd_values" // V_REMDVALS }; +/** Dimension ID descriptions. */ const char* NetcdfFile::didDesc_[NDID] = { "frame", // D_FRAME "atom", // D_ATOM @@ -919,7 +924,7 @@ int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const } #ifdef HAS_HDF5 -/** If target dimID is NDID multiply existing chunk sizes for variable +/** If target dimID is -1 multiply existing chunk sizes for variable * by chunkFac. Otherwise multiple chunk size matching target dimID * only. */ @@ -961,11 +966,11 @@ const } #endif -/** Increase chunk sizes for variable if supported. */ +/** Increase frame chunk size for variable if supported. */ int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid, int chunkFac) const { # ifdef HAS_HDF5 - if (chunkFac > 0 && chunkFac > 1) { + if (chunkFac > 1) { // Get number of dimensions int ndims = 0; if ( NC::CheckErr( nc_inq_varndims(ncid_, varid, &ndims) ) ) { @@ -973,9 +978,9 @@ int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid, int chunkFac) con return 1; } if (ndims < 1) { - mprinterr("Internal Error: NC_setFrameChunkSize: Variable '%s' has no dimensions.\n", - vidDesc_[vtype]); - return 1; + mprintf("Warning: NC_setFrameChunkSize: Variable '%s' has no dimensions.\n", + vidDesc_[vtype]); + return 0; } // Get dimension IDs std::vector dimids(ndims); @@ -1168,6 +1173,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_VEL, velocityVID_)) return 1; + if (NC_setFrameChunkSize(V_VEL, velocityVID_, fchunkSize_)) return 1; } // Force variable if (coordInfo.HasForce()) { @@ -1181,6 +1187,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_FRC, frcVID_)) return 1; + if (NC_setFrameChunkSize(V_FRC, frcVID_, fchunkSize_)) return 1; } // Replica Temperature if (coordInfo.HasTemp() && !coordInfo.UseRemdValues()) { @@ -1197,6 +1204,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_RIDX, repidxVID_)) return 1; + //if (NC_setFrameChunkSize(V_RIDX, repidxVID_, fchunkSize_)) return 1; } // Overall coordinate index if (coordInfo.HasCrdIdx()) { @@ -1207,6 +1215,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_CIDX, crdidxVID_)) return 1; + //if (NC_setFrameChunkSize(V_CIDX, crdidxVID_, fchunkSize_)) return 1; } // Replica indices int remDimTypeVID = -1; @@ -1233,6 +1242,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_IND, indicesVID_)) return 1; + if (NC_setFrameChunkSize(V_IND, indicesVID_, fchunkSize_)) return 1; // TODO: Determine if groups are really necessary for restarts. If not, // remove from AmberNetcdf.F90. } @@ -1262,6 +1272,8 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t // FIXME assuming temperature remValType_.AddRemdDimension( ReplicaDimArray::TEMPERATURE ); } + if (NC_setDeflate(V_REMDVALS, RemdValuesVID_)) return 1; + //if (NC_setFrameChunkSize(V_REMDVALS, RemdValuesVID_, fchunkSize_)) return 1; } // Box Info if (coordInfo.HasBox()) { @@ -1329,7 +1341,9 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_BOXL, cellLengthVID_)) return 1; + if (NC_setFrameChunkSize(V_BOXL, cellLengthVID_, fchunkSize_)) return 1; if (NC_setDeflate(V_BOXA, cellAngleVID_)) return 1; + if (NC_setFrameChunkSize(V_BOXA, cellAngleVID_, fchunkSize_)) return 1; } // Attributes diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 27f7e9c346..e7bad861f7 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -64,7 +64,8 @@ class NetcdfFile { /// Enumerated type for variable IDs. MUST MATCH vidDesc_. enum VidType { V_COORDS = 0, V_VEL, V_FRC, V_TEMP, V_BOXL, V_BOXA, V_TIME, V_IND, V_RIDX, V_CIDX, - NVID }; // TODO RemdValues + V_REMDVALS, + NVID }; /// Descriptions of VidType. MUST MATCH VidType (except NVID). static const char* vidDesc_[]; /// Enumerated type for dimension IDs. MUST MATCH didDesc_. From 771b63b8ff4cfdf65802a13b16cefb6ce81ce87a Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 25 Oct 2019 10:40:07 -0400 Subject: [PATCH 039/191] DRR - Make things private that should be private --- src/NetcdfFile.h | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index e7bad861f7..863d58f3f7 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -74,38 +74,28 @@ class NetcdfFile { /// Descriptions of DidType. MUST MATCH DidType (except NDID). static const char* didDesc_[]; +# ifdef HAS_HDF5 /// Set all variables compression level. int SetCompression(int); - /// Set desired variable compression level. - int SetCompression(VidType, int); - /// Set compression level for variable ID - int NC_setDeflate(VidType, int) const; /// Set default frame chunk size int SetFrameChunkSize(int); - /// Set chunk sizes for variable ID - int NC_setFrameChunkSize(VidType, int, int) const; /// Create an integer compressed version of the trajectory int NC_createCompressed(int); /// Write an integer-compressed frame to the trajectory int NC_writeCompressed(Frame const&); /// Read an integer-compressed frame from the trajectory int NC_readCompressed(int, Frame& frmIn); -# ifdef HAS_HDF5 - /// Calculate integer compression factor of 10 from given power - int calcCompressFactor(int); - /// Increase variable chunk sizes - int NC_setVarDimChunkSizes(VidType, int, int, std::vector const&, int, std::vector&) const; # endif # ifdef MPI void Sync(Parallel::Comm const&); # endif # ifdef HAS_HDF5 - std::vector deflateLevels_; ///< Compression levels for each VID - int compressedPosVID_; ///< Coordinates integer VID - double compressedFac_; ///< Compression factor - std::vector itmp_; ///< Temp space for converting to int - int fchunkSize_; ///< Frame chunk size + std::vector deflateLevels_; ///< Compression levels for each VID + int compressedPosVID_; ///< Coordinates integer VID + double compressedFac_; ///< Compression factor + std::vector itmp_; ///< Temp space for converting to int + int fchunkSize_; ///< Frame chunk size # endif size_t start_[4]; ///< Array starting indices size_t count_[4]; ///< Array counts @@ -156,6 +146,18 @@ class NetcdfFile { void SetupTemperature(); /// Read - Set up replica index info if present. int SetupMultiD(); +# ifdef HAS_HDF5 + /// Calculate integer compression factor of 10 from given power + int calcCompressFactor(int); + /// Set compression level for variable ID + int NC_setDeflate(VidType, int) const; + /// Set desired compression level for variable ID. + int SetCompression(VidType, int); + /// Set chunk sizes for variable ID + int NC_setFrameChunkSize(VidType, int, int) const; + /// Increase variable chunk sizes + int NC_setVarDimChunkSizes(VidType, int, int, std::vector const&, int, std::vector&) const; +# endif int NC_defineTemperature(int*, int); inline void SetRemDimDID(int, int*) const; @@ -179,7 +181,7 @@ class NetcdfFile { int spatialVID_; ///< Spatial (x, y, z) variable ID int cell_spatialVID_; ///< Box lengths variable ID int cell_angularVID_; ///< Box angles variable ID - int RemdValuesVID_; ///< Replica values variable ID. + int RemdValuesVID_; ///< Replica values variable ID. # endif /* BINTRAJ */ }; #ifdef BINTRAJ From 9df4c1e83f576294dcf87f02d11657bfc316c106 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 25 Oct 2019 10:52:59 -0400 Subject: [PATCH 040/191] DRR - Reorganize functions; anything that should be HDF5 only is put behind the appropriate ifdefs --- src/NetcdfFile.cpp | 386 ++++++++++++++++++++++----------------------- src/NetcdfFile.h | 13 +- 2 files changed, 193 insertions(+), 206 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index e519fd23b8..78bb5a42ed 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -655,144 +655,6 @@ int NetcdfFile::NC_openWrite(std::string const& Name) { return 0; } -#ifdef HAS_HDF5 -int NetcdfFile::calcCompressFactor(int power) { - if (power < 1) { - mprinterr("Internal Error: calcCompressFactor called with power of 10 < 1\n"); - // TODO warn for low powers? - return 1; - } - compressedFac_ = 10.0; - for (int i = 1; i < power; i++) - compressedFac_ *= 10.0; - mprintf("\tInteger compression factor: x%g\n", compressedFac_); - return 0; -} -#endif - -/** Prepare trajectory for adding coords converted to integer. */ -int NetcdfFile::NC_createCompressed(int power) -{ -# ifndef HAS_HDF5 - mprinterr("Error: Cpptraj was compiled without HDF5 support, required for compressed traj.\n"); - return 1; -# else - if (ncid_ == -1) { - mprinterr("Internal Error: NC_createCompressed() called with ncid -1\n"); - return 1; - } - if (frameDID_ == -1 || atomDID_ == -1 || spatialDID_ == -1) { - mprinterr("Internal Error: NC_createCompressed() called before NC_create().\n"); - return 1; - } - int dimensionID[NC_MAX_VAR_DIMS]; - // Place file back in define mode - if (NC::CheckErr( nc_redef( ncid_ ) )) return 1; - // Define variable to hold converted coords - dimensionID[0] = frameDID_; - dimensionID[1] = atomDID_; - dimensionID[2] = spatialDID_; - if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOS, NC_INT, 3, dimensionID, &compressedPosVID_) )) { - mprinterr("Error: defining compressed positions VID.\n"); - return 1; - } - // Set compression for converted coords. Use 1 if not set. - if (deflateLevels_[V_COORDS] == 0) { - mprintf("Warning: Using default compression level for coords.\n"); - deflateLevels_[V_COORDS] = 1; - } - // TODO should this be an option? - int ishuffle = 1; - if (ncdebug_ > 0) { - if (ishuffle == 0) - mprintf("DEBUG: Integer shuffle is off.\n"); - else - mprintf("DEBUG: Integer shuffle is on.\n"); - } - if ( NC::CheckErr( nc_def_var_deflate(ncid_, compressedPosVID_, ishuffle, 1, deflateLevels_[V_COORDS]) ) ) { - mprinterr("Error: Setting compression level %i for integer compressed coords.\n", deflateLevels_[V_COORDS]); - return 1; - } - if (NC_setFrameChunkSize(V_COORDS, compressedPosVID_, fchunkSize_)) return 1; - // Define variable to hold conversion power - int compressedPowVID = -1; - if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOW, NC_INT, 0, dimensionID, &compressedPowVID) )) { - mprinterr("Error: defining compressed power factor VID.\n"); - return 1; - } - // End definitions - if (NC::CheckErr(nc_enddef(ncid_))) { - mprinterr("NetCDF error on ending definitions (NC_createCompressed)."); - return 1; - } - // Calculate compressed factor; write compressed power of 10 - if (calcCompressFactor(power)) return 1; - if (NC::CheckErr(nc_put_var_int(ncid_, compressedPowVID, &power)) ) { - mprinterr("Error: Writing compressed power factor.\n"); - return 1; - } - // Allocate temporary space for integer array - itmp_.resize( Ncatom3() ); - - return 0; -# endif /* HAS_HDF5 */ -} - -int NetcdfFile::NC_writeCompressed(Frame const& frmOut) { -# ifdef HAS_HDF5 - // Convert to integer - long int maxval = (long int)std::numeric_limits::max(); - for (int idx = 0; idx != frmOut.size(); idx++) - { - // Try some overflow protection - long int ii = (long int)(frmOut[idx] * compressedFac_); - if (ii > maxval || ii < -maxval) { - mprinterr("Error: Coordinate %i frame %i (%g) is too large to convert to int.\n", - idx+1, ncframe_+1, frmOut[idx]); - mprinterr("Error: A smaller integer compression factor must be used.\n"); - return 1; - } - itmp_[idx] = (int)ii; - //itmp_[idx] = (int)(frmOut[idx] * compressedFac_); - } - //mprintf("DEBUG: atom 0 xyz={ %20.10f %20.10f %20.10f } ixyz= { %20i %20i %20i }\n", - // frmOut[0], frmOut[1], frmOut[2], itmp_[0], itmp_[1], itmp_[2]); - // Write array - start_[0] = ncframe_; - start_[1] = 0; - start_[2] = 0; - count_[0] = 1; - count_[1] = Ncatom(); - count_[2] = 3; - - if (NC::CheckErr(nc_put_vara_int(ncid_, compressedPosVID_, start_, count_, &itmp_[0]))) { - mprinterr("Error: NetCDF writing compressed coordinates frame %i\n", ncframe_+1); - return 1; - } -# endif - return 0; -} - -int NetcdfFile::NC_readCompressed(int set, Frame& frmIn) { -# ifdef HAS_HDF5 - // Read array - start_[0] = set; - start_[1] = 0; - start_[2] = 0; - count_[0] = 1; - count_[1] = Ncatom(); - count_[2] = 3; - if (NC::CheckErr(nc_get_vara_int(ncid_, compressedPosVID_, start_, count_, &itmp_[0]))) { - mprinterr("Error: NetCDF reading compressed coordinates frame %i\n", set+1); - return 1; - } - // Convert from integer - for (int idx = 0; idx != frmIn.size(); idx++) - frmIn[idx] = (double)(itmp_[idx]) / compressedFac_; // TODO convert to 1/fac first? -# endif - return 0; -} - // NetcdfFile::NC_createReservoir() int NetcdfFile::NC_createReservoir(bool hasBins, double reservoirT, int iseed, int& eptotVID, int& binsVID) @@ -853,36 +715,6 @@ void NetcdfFile::SetRemDimDID(int remDimDID, int* dimensionID) const { } } -/** Set desired compression level for specified variable if supported. */ -int NetcdfFile::SetCompression(VidType vtype, int deflateLevelIn) { -# ifdef HAS_HDF5 - mprintf("\tSetting compression for VIDTYPE %i to %i\n", (int)vtype, deflateLevelIn); - deflateLevels_[vtype] = deflateLevelIn; -# else - mprintf("Warning: NetCDF compression only supported when compiled with HDF5 support.\n"); -# endif - return 0; -} - -/** Set desired compression level for all variables if supported. */ -int NetcdfFile::SetCompression(int deflateLevelIn) { - int err = 0; - for (int i = 0; i != (int)NVID; i++) - err += SetCompression( (VidType)i, deflateLevelIn ); - return err; -} - -/* Set desired frame chunk size if supported. */ -int NetcdfFile::SetFrameChunkSize(int fchunkSizeIn) { -# ifdef HAS_HDF5 - mprintf("\tSetting frame chunk size to %i\n", fchunkSizeIn); - fchunkSize_ = fchunkSizeIn; -# else - mprintf("Warning: NetCDF chunk size only supported when compiled with HDF5 support.\n"); -# endif - return 0; -} - /** Variable ID descriptions. */ const char* NetcdfFile::vidDesc_[NVID] = { "coordinates", // V_COORDS @@ -905,6 +737,9 @@ const char* NetcdfFile::didDesc_[NDID] = { "spatial" // D_SPATIAL }; +// ----------------------------------------------------------------------------- +// This section contains HDF5-related functionality + /** Set variable compression level if supported. */ int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const { @@ -917,13 +752,68 @@ int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const } } # else - mprintf("Warning: Compiled without HDF5 support; cannot set compression for '%s' variable.\n", - vidDesc_[vtype]); + mprintf("Warning: Setting NetCDF variable compression requires compiling with HDF5 support.\n"); # endif return 0; } -#ifdef HAS_HDF5 +/** Increase frame chunk size for variable if supported. */ +int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid, int chunkFac) const +{ +# ifdef HAS_HDF5 + if (chunkFac > 1) { + // Get number of dimensions + int ndims = 0; + if ( NC::CheckErr( nc_inq_varndims(ncid_, varid, &ndims) ) ) { + mprinterr("Error: getting # dims for '%s' variable.\n", vidDesc_[vtype]); + return 1; + } + if (ndims < 1) { + mprintf("Warning: NC_setFrameChunkSize: Variable '%s' has no dimensions.\n", + vidDesc_[vtype]); + return 0; + } + // Get dimension IDs + std::vector dimids(ndims); + if ( NC::CheckErr( nc_inq_var(ncid_, varid, 0, 0, 0, &dimids[0], 0) ) ) { + mprinterr("Error: getting dimension IDs for '%s' variable.\n", vidDesc_[vtype]); + return 1; + } + // Allocate space for chunk sizes + std::vector chunkSizes( ndims ); + // Set frame chunk size + int err = NC_setVarDimChunkSizes(vtype, varid, chunkFac, dimids, frameDID_, chunkSizes); + return err; + } +# else + mprintf("Warning: Setting NetCDF frame chunk size requires compiling with HDF5 support.\n"); +# endif + return 0; +} + +# ifdef HAS_HDF5 +/** Set desired compression level for specified variable if supported. */ +int NetcdfFile::SetCompression(VidType vtype, int deflateLevelIn) { + mprintf("\tSetting compression for VIDTYPE %i to %i\n", (int)vtype, deflateLevelIn); + deflateLevels_[vtype] = deflateLevelIn; + return 0; +} + +/** Set desired compression level for all variables if supported. */ +int NetcdfFile::SetCompression(int deflateLevelIn) { + int err = 0; + for (int i = 0; i != (int)NVID; i++) + err += SetCompression( (VidType)i, deflateLevelIn ); + return err; +} + +/* Set desired frame chunk size if supported. */ +int NetcdfFile::SetFrameChunkSize(int fchunkSizeIn) { + mprintf("\tSetting frame chunk size to %i\n", fchunkSizeIn); + fchunkSize_ = fchunkSizeIn; + return 0; +} + /** If target dimID is -1 multiply existing chunk sizes for variable * by chunkFac. Otherwise multiple chunk size matching target dimID * only. @@ -964,42 +854,138 @@ const } return 0; } -#endif -/** Increase frame chunk size for variable if supported. */ -int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid, int chunkFac) const +/** Set compressedFac_ to given power of 10 (min 1). */ +int NetcdfFile::calcCompressFactor(int power) { + if (power < 1) { + mprinterr("Internal Error: calcCompressFactor called with power of 10 < 1\n"); + // TODO warn for low powers? + return 1; + } + compressedFac_ = 10.0; + for (int i = 1; i < power; i++) + compressedFac_ *= 10.0; + mprintf("\tInteger compression factor: x%g\n", compressedFac_); + return 0; +} + +/** Prepare trajectory for adding coords converted to integer. */ +int NetcdfFile::NC_createCompressed(int power) { -# ifdef HAS_HDF5 - if (chunkFac > 1) { - // Get number of dimensions - int ndims = 0; - if ( NC::CheckErr( nc_inq_varndims(ncid_, varid, &ndims) ) ) { - mprinterr("Error: getting # dims for '%s' variable.\n", vidDesc_[vtype]); - return 1; - } - if (ndims < 1) { - mprintf("Warning: NC_setFrameChunkSize: Variable '%s' has no dimensions.\n", - vidDesc_[vtype]); - return 0; - } - // Get dimension IDs - std::vector dimids(ndims); - if ( NC::CheckErr( nc_inq_var(ncid_, varid, 0, 0, 0, &dimids[0], 0) ) ) { - mprinterr("Error: getting dimension IDs for '%s' variable.\n", vidDesc_[vtype]); + if (ncid_ == -1) { + mprinterr("Internal Error: NC_createCompressed() called with ncid -1\n"); + return 1; + } + if (frameDID_ == -1 || atomDID_ == -1 || spatialDID_ == -1) { + mprinterr("Internal Error: NC_createCompressed() called before NC_create().\n"); + return 1; + } + int dimensionID[NC_MAX_VAR_DIMS]; + // Place file back in define mode + if (NC::CheckErr( nc_redef( ncid_ ) )) return 1; + // Define variable to hold converted coords + dimensionID[0] = frameDID_; + dimensionID[1] = atomDID_; + dimensionID[2] = spatialDID_; + if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOS, NC_INT, 3, dimensionID, &compressedPosVID_) )) { + mprinterr("Error: defining compressed positions VID.\n"); + return 1; + } + // Set compression for converted coords. Use 1 if not set. + if (deflateLevels_[V_COORDS] == 0) { + mprintf("Warning: Using default compression level for coords.\n"); + deflateLevels_[V_COORDS] = 1; + } + // TODO should this be an option? + int ishuffle = 1; + if (ncdebug_ > 0) { + if (ishuffle == 0) + mprintf("DEBUG: Integer shuffle is off.\n"); + else + mprintf("DEBUG: Integer shuffle is on.\n"); + } + if ( NC::CheckErr( nc_def_var_deflate(ncid_, compressedPosVID_, ishuffle, 1, deflateLevels_[V_COORDS]) ) ) { + mprinterr("Error: Setting compression level %i for integer compressed coords.\n", deflateLevels_[V_COORDS]); + return 1; + } + if (NC_setFrameChunkSize(V_COORDS, compressedPosVID_, fchunkSize_)) return 1; + // Define variable to hold conversion power + int compressedPowVID = -1; + if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOW, NC_INT, 0, dimensionID, &compressedPowVID) )) { + mprinterr("Error: defining compressed power factor VID.\n"); + return 1; + } + // End definitions + if (NC::CheckErr(nc_enddef(ncid_))) { + mprinterr("NetCDF error on ending definitions (NC_createCompressed)."); + return 1; + } + // Calculate compressed factor; write compressed power of 10 + if (calcCompressFactor(power)) return 1; + if (NC::CheckErr(nc_put_var_int(ncid_, compressedPowVID, &power)) ) { + mprinterr("Error: Writing compressed power factor.\n"); + return 1; + } + // Allocate temporary space for integer array + itmp_.resize( Ncatom3() ); + + return 0; +} + +/** Write integer-compressed coords. */ +int NetcdfFile::NC_writeCompressed(Frame const& frmOut) { + // Convert to integer + long int maxval = (long int)std::numeric_limits::max(); + for (int idx = 0; idx != frmOut.size(); idx++) + { + // Try some overflow protection + long int ii = (long int)(frmOut[idx] * compressedFac_); + if (ii > maxval || ii < -maxval) { + mprinterr("Error: Coordinate %i frame %i (%g) is too large to convert to int.\n", + idx+1, ncframe_+1, frmOut[idx]); + mprinterr("Error: A smaller integer compression factor must be used.\n"); return 1; } - // Allocate space for chunk sizes - std::vector chunkSizes( ndims ); - // Set frame chunk size - int err = NC_setVarDimChunkSizes(vtype, varid, chunkFac, dimids, frameDID_, chunkSizes); - return err; + itmp_[idx] = (int)ii; + //itmp_[idx] = (int)(frmOut[idx] * compressedFac_); } -# else - mprintf("Warning: Compiled without HDF5 support; cannot set chunk sizes for '%s' variable.\n", - vidDesc_[vtype]); -# endif + //mprintf("DEBUG: atom 0 xyz={ %20.10f %20.10f %20.10f } ixyz= { %20i %20i %20i }\n", + // frmOut[0], frmOut[1], frmOut[2], itmp_[0], itmp_[1], itmp_[2]); + // Write array + start_[0] = ncframe_; + start_[1] = 0; + start_[2] = 0; + count_[0] = 1; + count_[1] = Ncatom(); + count_[2] = 3; + + if (NC::CheckErr(nc_put_vara_int(ncid_, compressedPosVID_, start_, count_, &itmp_[0]))) { + mprinterr("Error: NetCDF writing compressed coordinates frame %i\n", ncframe_+1); + return 1; + } + return 0; +} + +/** Read integer-compressed coords. */ +int NetcdfFile::NC_readCompressed(int set, Frame& frmIn) { + // Read array + start_[0] = set; + start_[1] = 0; + start_[2] = 0; + count_[0] = 1; + count_[1] = Ncatom(); + count_[2] = 3; + if (NC::CheckErr(nc_get_vara_int(ncid_, compressedPosVID_, start_, count_, &itmp_[0]))) { + mprinterr("Error: NetCDF reading compressed coordinates frame %i\n", set+1); + return 1; + } + // Convert from integer + for (int idx = 0; idx != frmIn.size(); idx++) + frmIn[idx] = (double)(itmp_[idx]) / compressedFac_; // TODO convert to 1/fac first? return 0; } +// ----------------------------------------------------------------------------- +#endif /* HAS_HDF5 */ // NetcdfFile::NC_defineTemperature() int NetcdfFile::NC_defineTemperature(int* dimensionID, int NDIM) { diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 863d58f3f7..2e4d83daf6 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -146,15 +146,16 @@ class NetcdfFile { void SetupTemperature(); /// Read - Set up replica index info if present. int SetupMultiD(); -# ifdef HAS_HDF5 - /// Calculate integer compression factor of 10 from given power - int calcCompressFactor(int); - /// Set compression level for variable ID + + /// Set compression level for variable ID (HDF5 only) int NC_setDeflate(VidType, int) const; + /// Set chunk sizes for variable ID (HDF5 only) + int NC_setFrameChunkSize(VidType, int, int) const; +# ifdef HAS_HDF5 /// Set desired compression level for variable ID. int SetCompression(VidType, int); - /// Set chunk sizes for variable ID - int NC_setFrameChunkSize(VidType, int, int) const; + /// Calculate integer compression factor of 10 from given power + int calcCompressFactor(int); /// Increase variable chunk sizes int NC_setVarDimChunkSizes(VidType, int, int, std::vector const&, int, std::vector&) const; # endif From 662118872ace3f1e54ed9be5bf7dd83b6debc423 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 25 Oct 2019 10:55:10 -0400 Subject: [PATCH 041/191] DRR - better function names. --- src/NetcdfFile.cpp | 6 +++--- src/NetcdfFile.h | 6 +++--- src/Traj_AmberNetcdf.cpp | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 78bb5a42ed..7f3f57f140 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -870,7 +870,7 @@ int NetcdfFile::calcCompressFactor(int power) { } /** Prepare trajectory for adding coords converted to integer. */ -int NetcdfFile::NC_createCompressed(int power) +int NetcdfFile::NC_createIntCompressed(int power) { if (ncid_ == -1) { mprinterr("Internal Error: NC_createCompressed() called with ncid -1\n"); @@ -933,7 +933,7 @@ int NetcdfFile::NC_createCompressed(int power) } /** Write integer-compressed coords. */ -int NetcdfFile::NC_writeCompressed(Frame const& frmOut) { +int NetcdfFile::NC_writeIntCompressed(Frame const& frmOut) { // Convert to integer long int maxval = (long int)std::numeric_limits::max(); for (int idx = 0; idx != frmOut.size(); idx++) @@ -967,7 +967,7 @@ int NetcdfFile::NC_writeCompressed(Frame const& frmOut) { } /** Read integer-compressed coords. */ -int NetcdfFile::NC_readCompressed(int set, Frame& frmIn) { +int NetcdfFile::NC_readIntCompressed(int set, Frame& frmIn) { // Read array start_[0] = set; start_[1] = 0; diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 2e4d83daf6..99267cd135 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -80,11 +80,11 @@ class NetcdfFile { /// Set default frame chunk size int SetFrameChunkSize(int); /// Create an integer compressed version of the trajectory - int NC_createCompressed(int); + int NC_createIntCompressed(int); /// Write an integer-compressed frame to the trajectory - int NC_writeCompressed(Frame const&); + int NC_writeIntCompressed(Frame const&); /// Read an integer-compressed frame from the trajectory - int NC_readCompressed(int, Frame& frmIn); + int NC_readIntCompressed(int, Frame& frmIn); # endif # ifdef MPI void Sync(Parallel::Comm const&); diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 01c7d30f00..46002dbf47 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -200,7 +200,7 @@ int Traj_AmberNetcdf::setupTrajout(FileName const& fname, Topology* trajParm, # ifdef HAS_HDF5 // Set up for integer compression if necessary if (icompress_ > 0) { - if (NC_createCompressed(icompress_)) return 1; + if (NC_createIntCompressed(icompress_)) return 1; } # endif // Close Netcdf file. It will be reopened write. FIXME should NC_create leave it closed? @@ -270,7 +270,7 @@ int Traj_AmberNetcdf::readFrame(int set, Frame& frameIn) { // Read Coords # ifdef HAS_HDF5 if (compressedPosVID_ != -1) { - if (NC_readCompressed(set, frameIn)) return 1; + if (NC_readIntCompressed(set, frameIn)) return 1; } else # endif if (coordVID_ != -1) { @@ -384,7 +384,7 @@ int Traj_AmberNetcdf::writeFrame(int set, Frame const& frameOut) { // Write coords. # ifdef HAS_HDF5 if (compressedPosVID_ != -1) { - if (NC_writeCompressed(frameOut)) return 1; + if (NC_writeIntCompressed(frameOut)) return 1; } else # endif if (coordVID_ != -1) { From 03c2ceaec082c104ac00806c1af83f1007ffe67c Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 25 Oct 2019 11:03:00 -0400 Subject: [PATCH 042/191] DRR - Fix compilation without HDF5 --- src/NetcdfFile.cpp | 34 ++++++++++++++++------------------ src/NetcdfFile.h | 4 ++-- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 7f3f57f140..046166f370 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -90,10 +90,8 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch #define NCEPTOT "eptot" #define NCBINS "bins" #define NCREMDVALUES "remd_values" -#ifdef HAS_HDF5 -# define NCCOMPPOS "compressedpos" -# define NCCOMPPOW "compressedpow" -#endif +#define NCCOMPPOS "compressedpos" +#define NCCOMPPOW "compressedpow" // CONSTRUCTOR NetcdfFile::NetcdfFile() : @@ -244,12 +242,12 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { ncatom3_ = ncatom_ * 3; // Check for integer compression - requires HDF5 int localCompressedPosVID = -1; - int compressedPowVID = -1; if ( nc_inq_varid(ncid_, NCCOMPPOS, &localCompressedPosVID) == NC_NOERR ) { if (ncdebug_ > 0) mprintf("\tNetCDF file has integer-compressed coordinates.\n"); } if (localCompressedPosVID != -1) { # ifdef HAS_HDF5 + int compressedPowVID = -1; compressedPosVID_ = localCompressedPosVID; // Get compressed power var ID if ( nc_inq_varid(ncid_, NCCOMPPOW, &compressedPowVID) != NC_NOERR ) { @@ -758,10 +756,10 @@ int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const } /** Increase frame chunk size for variable if supported. */ -int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid, int chunkFac) const +int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid) const { # ifdef HAS_HDF5 - if (chunkFac > 1) { + if (fchunkSize_ > 1) { // Get number of dimensions int ndims = 0; if ( NC::CheckErr( nc_inq_varndims(ncid_, varid, &ndims) ) ) { @@ -782,7 +780,7 @@ int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid, int chunkFac) con // Allocate space for chunk sizes std::vector chunkSizes( ndims ); // Set frame chunk size - int err = NC_setVarDimChunkSizes(vtype, varid, chunkFac, dimids, frameDID_, chunkSizes); + int err = NC_setVarDimChunkSizes(vtype, varid, fchunkSize_, dimids, frameDID_, chunkSizes); return err; } # else @@ -908,7 +906,7 @@ int NetcdfFile::NC_createIntCompressed(int power) mprinterr("Error: Setting compression level %i for integer compressed coords.\n", deflateLevels_[V_COORDS]); return 1; } - if (NC_setFrameChunkSize(V_COORDS, compressedPosVID_, fchunkSize_)) return 1; + if (NC_setFrameChunkSize(V_COORDS, compressedPosVID_)) return 1; // Define variable to hold conversion power int compressedPowVID = -1; if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOW, NC_INT, 0, dimensionID, &compressedPowVID) )) { @@ -1139,7 +1137,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_COORDS, coordVID_)) return 1; - if (NC_setFrameChunkSize(V_COORDS, coordVID_, fchunkSize_)) return 1; + if (NC_setFrameChunkSize(V_COORDS, coordVID_)) return 1; } // Velocity variable if (coordInfo.HasVel()) { @@ -1159,7 +1157,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_VEL, velocityVID_)) return 1; - if (NC_setFrameChunkSize(V_VEL, velocityVID_, fchunkSize_)) return 1; + if (NC_setFrameChunkSize(V_VEL, velocityVID_)) return 1; } // Force variable if (coordInfo.HasForce()) { @@ -1173,7 +1171,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_FRC, frcVID_)) return 1; - if (NC_setFrameChunkSize(V_FRC, frcVID_, fchunkSize_)) return 1; + if (NC_setFrameChunkSize(V_FRC, frcVID_)) return 1; } // Replica Temperature if (coordInfo.HasTemp() && !coordInfo.UseRemdValues()) { @@ -1190,7 +1188,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_RIDX, repidxVID_)) return 1; - //if (NC_setFrameChunkSize(V_RIDX, repidxVID_, fchunkSize_)) return 1; + //if (NC_setFrameChunkSize(V_RIDX, repidxVID_)) return 1; } // Overall coordinate index if (coordInfo.HasCrdIdx()) { @@ -1201,7 +1199,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_CIDX, crdidxVID_)) return 1; - //if (NC_setFrameChunkSize(V_CIDX, crdidxVID_, fchunkSize_)) return 1; + //if (NC_setFrameChunkSize(V_CIDX, crdidxVID_)) return 1; } // Replica indices int remDimTypeVID = -1; @@ -1228,7 +1226,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_IND, indicesVID_)) return 1; - if (NC_setFrameChunkSize(V_IND, indicesVID_, fchunkSize_)) return 1; + if (NC_setFrameChunkSize(V_IND, indicesVID_)) return 1; // TODO: Determine if groups are really necessary for restarts. If not, // remove from AmberNetcdf.F90. } @@ -1259,7 +1257,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t remValType_.AddRemdDimension( ReplicaDimArray::TEMPERATURE ); } if (NC_setDeflate(V_REMDVALS, RemdValuesVID_)) return 1; - //if (NC_setFrameChunkSize(V_REMDVALS, RemdValuesVID_, fchunkSize_)) return 1; + //if (NC_setFrameChunkSize(V_REMDVALS, RemdValuesVID_)) return 1; } // Box Info if (coordInfo.HasBox()) { @@ -1327,9 +1325,9 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } if (NC_setDeflate(V_BOXL, cellLengthVID_)) return 1; - if (NC_setFrameChunkSize(V_BOXL, cellLengthVID_, fchunkSize_)) return 1; + if (NC_setFrameChunkSize(V_BOXL, cellLengthVID_)) return 1; if (NC_setDeflate(V_BOXA, cellAngleVID_)) return 1; - if (NC_setFrameChunkSize(V_BOXA, cellAngleVID_, fchunkSize_)) return 1; + if (NC_setFrameChunkSize(V_BOXA, cellAngleVID_)) return 1; } // Attributes diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 99267cd135..b1e353ccb0 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -149,8 +149,8 @@ class NetcdfFile { /// Set compression level for variable ID (HDF5 only) int NC_setDeflate(VidType, int) const; - /// Set chunk sizes for variable ID (HDF5 only) - int NC_setFrameChunkSize(VidType, int, int) const; + /// Set frame chunk size for variable ID (HDF5 only) + int NC_setFrameChunkSize(VidType, int) const; # ifdef HAS_HDF5 /// Set desired compression level for variable ID. int SetCompression(VidType, int); From 443696f4543699ffec62ab176346565a8677f683 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 25 Oct 2019 12:15:43 -0400 Subject: [PATCH 043/191] DRR - Add warning about low precision integer compression --- src/NetcdfFile.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 046166f370..637aaf2ec9 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -857,7 +857,6 @@ const int NetcdfFile::calcCompressFactor(int power) { if (power < 1) { mprinterr("Internal Error: calcCompressFactor called with power of 10 < 1\n"); - // TODO warn for low powers? return 1; } compressedFac_ = 10.0; @@ -878,6 +877,17 @@ int NetcdfFile::NC_createIntCompressed(int power) mprinterr("Internal Error: NC_createCompressed() called before NC_create().\n"); return 1; } + // Warn about low precision powers + if (power < 1) { + mprinterr("Error: Integer compression power < 1 not allowed.\n"); + return 1; + } else if (power < 4) { + mprintf("Warning: Using extremely low precision for integer compression.\n" + "Warning: Energy error will be on the order of 2E-%i kcal/mol/atom\n", power); + mprintf("Warning: Consider using integer power >= 4.\n"); + } else + mprintf("Warning: Using lossy compression.\n" + "Warning: Energy error will be on the order of 2E-%i kcal/mol/atom\n", power); int dimensionID[NC_MAX_VAR_DIMS]; // Place file back in define mode if (NC::CheckErr( nc_redef( ncid_ ) )) return 1; From c9f4b9c83ee30f7feb5ed2406db76e429f66770e Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 25 Oct 2019 12:22:53 -0400 Subject: [PATCH 044/191] DRR - Use default values for compress and icompress --- src/Traj_AmberNetcdf.cpp | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 46002dbf47..014b763679 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -107,7 +107,8 @@ void Traj_AmberNetcdf::WriteHelp() { "\tmdcrd : Write coordinates to trajectory (only required with mdvel/mdfrc).\n" # ifdef HAS_HDF5 "\thdf5 : Create file as NetCDF4/HDF5 instead of NetCDF4 (classic).\n" - "\tcompress <#> : HDF5 compression level.\n" + "\tcompress : Use compression in HDF5 file.\n" + "\ticompress : Use lossy compression in HDF5 file via conversion to integers.\n" # endif ); } @@ -133,13 +134,31 @@ int Traj_AmberNetcdf::processWriteArgs(ArgList& argIn, DataSetList const& DSLin) # ifdef HAS_HDF5 // HDF5-specific options if (ftype_ == NC_V4) { - compress_ = argIn.getKeyInt("compress", 0); - icompress_ = argIn.getKeyInt("icompress", 0); + // Regular compression + if (argIn.hasKey("compress")) + // Use recommended compression level + compress_ = 1; + else + compress_ = argIn.getKeyInt("deflatelvl", 0); // NOTE: Hidden option + if (compress_ < 0) { + mprinterr("Error: compress cannot be negative.\n"); + return 1; + } + // Integer compression + if (argIn.hasKey("icompress")) + // Use recommended integer compression power + icompress_ = 4; + else + icompress_ = argIn.getKeyInt("icompresspow", 0); // NOTE: Hidden option if (icompress_ < 0) { mprinterr("Error: icompress cannot be negative.\n"); return 1; } - fchunkSize_ = argIn.getKeyInt("fchunksize", 0); + // icompress implies compress + if (icompress_ > 0 && compress_ < 1) + compress_ = 1; + // Frame chunk size + fchunkSize_ = argIn.getKeyInt("fchunksize", 0); // NOTE: Hidden option if (fchunkSize_ < 0) { mprinterr("Error: fchunksize cannot be negative.\n"); return 1; From f92996795c74ebc44f7aaa682bb6f6054d2941e5 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 25 Oct 2019 12:32:47 -0400 Subject: [PATCH 045/191] DRR - Clean up output --- src/NetcdfFile.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 637aaf2ec9..6b83d75e73 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -792,13 +792,15 @@ int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid) const # ifdef HAS_HDF5 /** Set desired compression level for specified variable if supported. */ int NetcdfFile::SetCompression(VidType vtype, int deflateLevelIn) { - mprintf("\tSetting compression for VIDTYPE %i to %i\n", (int)vtype, deflateLevelIn); + if (ncdebug_ > 0) + mprintf("DEBUG: Setting compression for VIDTYPE %i to %i\n", (int)vtype, deflateLevelIn); deflateLevels_[vtype] = deflateLevelIn; return 0; } /** Set desired compression level for all variables if supported. */ int NetcdfFile::SetCompression(int deflateLevelIn) { + mprintf("\tSetting NetCDF variable compression level to %i\n", deflateLevelIn); int err = 0; for (int i = 0; i != (int)NVID; i++) err += SetCompression( (VidType)i, deflateLevelIn ); @@ -862,7 +864,7 @@ int NetcdfFile::calcCompressFactor(int power) { compressedFac_ = 10.0; for (int i = 1; i < power; i++) compressedFac_ *= 10.0; - mprintf("\tInteger compression factor: x%g\n", compressedFac_); + mprintf("\tConverting floats to integer using factor: x%g\n", compressedFac_); return 0; } From 73817c7f30070974887f5e34f0f67bfe52eab95c Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 30 Oct 2019 14:35:07 -0400 Subject: [PATCH 046/191] DRR - Fix test for changed keyword. --- test/Test_NetcdfTraj/RunTest.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Test_NetcdfTraj/RunTest.sh b/test/Test_NetcdfTraj/RunTest.sh index 1d75f01869..c042a87435 100755 --- a/test/Test_NetcdfTraj/RunTest.sh +++ b/test/Test_NetcdfTraj/RunTest.sh @@ -44,7 +44,7 @@ EOF cat > $INPUT <NetCDF4/HDF5 with compression" cat > $INPUT < Date: Wed, 30 Oct 2019 14:46:18 -0400 Subject: [PATCH 047/191] DRR - Add a test for lossy compression --- test/Test_NetcdfTraj/RunTest.sh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/test/Test_NetcdfTraj/RunTest.sh b/test/Test_NetcdfTraj/RunTest.sh index c042a87435..00cf9ce3fc 100755 --- a/test/Test_NetcdfTraj/RunTest.sh +++ b/test/Test_NetcdfTraj/RunTest.sh @@ -5,7 +5,8 @@ # Clean CleanFiles ptraj_netcdf.in trajectory.netcdf trajectory_test.mdcrd \ trajectory_nc4.mdcrd trajectory.nc4 \ - compress.mdcrd compress.nc4 + compress.mdcrd compress.nc4 \ + icompress.mdcrd icompress.nc4 TESTNAME='NetCDF tests' Requires netcdf pnetcdf maxthreads 10 @@ -53,6 +54,23 @@ trajout compress.mdcrd title "trajectory generated by ptraj" EOF RunCpptraj "Convert compressed NetCDF4/HDF5 -> mdcrd" DoTest ../tz2.truncoct.crd compress.mdcrd + + cat > $INPUT <NetCDF4/HDF5 with lossy compression" + cat > $INPUT < mdcrd" + # NOTE: An absolute tolerance of 0.0001 (which is greater than the + # possible precision of MDCRD format) is used to allow for + # the fact that a -0.000 will be converted to 0.000 by the + # lossy compression. + DoTest ../tz2.truncoct.crd icompress.mdcrd -a 0.0001 + fi EndTest From 7e24928bb54802667347aa9bc0caea15def606e5 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 18 May 2021 15:49:10 -0400 Subject: [PATCH 048/191] Update dependencies --- src/cpptrajdepend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cpptrajdepend b/src/cpptrajdepend index 421b1bd6a6..675bbb2404 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -420,7 +420,7 @@ Traj_SDF.o : Traj_SDF.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Consta Traj_SQM.o : Traj_SQM.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h Traj_SQM.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_Tinker.o : Traj_Tinker.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TinkerFile.h Topology.h Traj_Tinker.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_XYZ.o : Traj_XYZ.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Topology.h Traj_XYZ.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h -TrajectoryFile.o : TrajectoryFile.cpp Atom.h AtomMask.h BaseIOtype.h Box.h BufferedFrame.h BufferedLine.h CIFfile.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Mol2File.h Molecule.h NameType.h NetcdfFile.h PDBfile.h Parallel.h ReplicaDimArray.h Residue.h SDFfile.h Segment.h SymbolExporting.h TextFormat.h TinkerFile.h Traj_AmberCoord.h Traj_AmberNetcdf.h Traj_AmberRestart.h Traj_AmberRestartNC.h Traj_Binpos.h Traj_CIF.h Traj_CharmmCor.h Traj_CharmmDcd.h Traj_CharmmRestart.h Traj_Conflib.h Traj_DTR.h Traj_GmxDump.h Traj_GmxTng.h Traj_GmxTrX.h Traj_GmxXtc.h Traj_Gro.h Traj_Mol2File.h Traj_NcEnsemble.h Traj_PDBfile.h Traj_SDF.h Traj_SQM.h Traj_Tinker.h Traj_XYZ.h TrajectoryFile.h TrajectoryIO.h Unit.h Vec3.h +TrajectoryFile.o : TrajectoryFile.cpp Atom.h BaseIOtype.h Box.h BufferedFrame.h BufferedLine.h CIFfile.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h FileTypes.h FramePtrArray.h Matrix_3x3.h Mol2File.h NameType.h NetcdfFile.h PDBfile.h Parallel.h ReplicaDimArray.h Residue.h SDFfile.h SymbolExporting.h TextFormat.h TinkerFile.h Traj_AmberCoord.h Traj_AmberNetcdf.h Traj_AmberRestart.h Traj_AmberRestartNC.h Traj_Binpos.h Traj_CIF.h Traj_CharmmCor.h Traj_CharmmDcd.h Traj_CharmmRestart.h Traj_Conflib.h Traj_DTR.h Traj_GmxDump.h Traj_GmxTng.h Traj_GmxTrX.h Traj_GmxXtc.h Traj_Gro.h Traj_Mol2File.h Traj_NcEnsemble.h Traj_PDBfile.h Traj_SDF.h Traj_SQM.h Traj_Tinker.h Traj_XYZ.h TrajectoryFile.h TrajectoryIO.h Vec3.h TrajectoryIO.o : TrajectoryIO.cpp BaseIOtype.h Box.h CoordinateInfo.h FramePtrArray.h Matrix_3x3.h Parallel.h ReplicaDimArray.h TrajectoryIO.h Vec3.h TrajinList.o : TrajinList.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_RemLog.h Dimension.h EnsembleIn.h EnsembleIn_Multi.h EnsembleIn_Single.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajIOarray.h TrajectoryFile.h TrajectoryIO.h Trajin.h TrajinList.h Trajin_Multi.h Trajin_Single.h TypeNameHolder.h Unit.h Vec3.h Trajin_Multi.o : Trajin_Multi.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajStdio.h FileName.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h TrajFrameCounter.h TrajIOarray.h TrajectoryIO.h Trajin.h Trajin_Multi.h TypeNameHolder.h Unit.h Vec3.h From 1d30db744a6f15dea688b20f6de2a5d371cdd622 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 26 May 2021 10:19:57 -0400 Subject: [PATCH 049/191] Add nokinetic keyword to energy action --- src/Action_Energy.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Action_Energy.cpp b/src/Action_Energy.cpp index 9c1ec1f8b6..3b52a929a7 100644 --- a/src/Action_Energy.cpp +++ b/src/Action_Energy.cpp @@ -23,8 +23,8 @@ Action_Energy::~Action_Energy() { void Action_Energy::Help() const { mprintf("\t[] [] [out ]\n" - "\t[bond] [angle] [dihedral] {[nb14] | [e14] | [v14]}\n" - "\t{[nonbond] | [elec] [vdw]} [kinetic [ketype {vel|vv}] [dt
]]\n" + "\t[bond] [angle] [dihedral] {[nb14]|[e14]|[v14]} {[nonbond]|[elec] [vdw]}\n" + "\t[{nokinetic|kinetic [ketype {vel|vv}] [dt
]}]\n" "\t[ etype { simple |\n" "\t directsum [npoints ] |\n" "\t ewald %s\n" @@ -97,6 +97,14 @@ Action::RetType Action_Energy::Init(ArgList& actionArgs, ActionInit& init, int d if (*it) ++nactive; // If no terms specified, enabled everything. TODO disable KE? if (nactive == 0) termEnabled.assign((int)TOTAL+1, true); + // Check if KE should be disabled + if (actionArgs.hasKey("nokinetic")) + termEnabled[KE] = false; + // Re-count the number of active terms if necessary. + if (nactive == 0) { + for (std::vector::const_iterator it = termEnabled.begin(); it != termEnabled.end(); ++it) + if (*it) ++nactive; + } // If more than one term enabled ensure total will be calculated. if (nactive > 1) termEnabled[TOTAL] = true; // If KE enabled get type, time step, etc From 6e8247c9eccdc53f698f39ec579cd3c3a56ba804 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 26 May 2021 10:28:29 -0400 Subject: [PATCH 050/191] Add missing KE-related keywords to manual --- doc/cpptraj.lyx | 54 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/doc/cpptraj.lyx b/doc/cpptraj.lyx index 14307c0bf8..bcb997e2c0 100644 --- a/doc/cpptraj.lyx +++ b/doc/cpptraj.lyx @@ -23449,11 +23449,12 @@ energy [] [] [out ] \end_layout \begin_layout LyX-Code - [bond] [angle] [dihedral] {[nb14] | [e14] | [v14]} + [bond] [angle] [dihedral] {[nb14]|[e14]|[v14]} {[nonbond]|[elec] [vdw]} + \end_layout \begin_layout LyX-Code - {[nonbond] | [elec] [vdw]} [kinetic [ketype {vel|vv}] [dt
]] + [{nokinetic|kinetic [ketype {vel|vv}] [dt
]}] \end_layout \begin_layout LyX-Code @@ -23554,6 +23555,51 @@ energy [] [] [out ] [vdw] Calculate van der Waals energy (Lennard-Jones 6-12 potential). \end_layout +\begin_layout Description +[nokinetic] Do not calculate kinetic energy even if velocity/force information + present. +\end_layout + +\begin_layout Description +[kinetic] Attempt to calculate kinetic energy. + Requires force and/or velocity information. +\end_layout + +\begin_deeper +\begin_layout Description +ketype +\begin_inset space ~ +\end_inset + +{vel|vv} Specify kinetic energy type. + If not specified, if velocity and force information use a velocity verlet-type + calculation ( +\series bold +vv +\series default +), i.e. + assume velocities are a half-step ahead of the forces. + If only velocity information is present, calculate from on-step velocities + ( +\series bold +vel +\series default +). +\end_layout + +\begin_layout Description +dt +\begin_inset space ~ +\end_inset + +
Time step for +\series bold +vv +\series default + calculation in ps. +\end_layout + +\end_deeper \begin_layout Description [etype \begin_inset space ~ @@ -23788,6 +23834,10 @@ DataSet Aspects: [elec] Electrostatic energy. \end_layout +\begin_layout Description +[kinetic] Kinetic energy. +\end_layout + \begin_layout Description [total] Total energy. \end_layout From 86e715560262d1680cb90ec80e702a2583965fb1 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 28 May 2021 11:50:22 -0400 Subject: [PATCH 051/191] Add support for concatenating string data sets --- src/Exec_DataSetCmd.cpp | 96 ++++++++++++++++++++++++++++++----------- 1 file changed, 72 insertions(+), 24 deletions(-) diff --git a/src/Exec_DataSetCmd.cpp b/src/Exec_DataSetCmd.cpp index b9f9d3390d..87b4e8efba 100644 --- a/src/Exec_DataSetCmd.cpp +++ b/src/Exec_DataSetCmd.cpp @@ -28,7 +28,7 @@ void Exec_DataSetCmd::Help(ArgList& argIn) const { " Extract X, Y, or Z component of vector data into new set.\n"); } else if (argIn.hasKey("cat")) { mprintf(" cat ... [name ] [nooffset]\n" - " Concatenate 2 or more data sets.\n"); + " Concatenate 2 or more data sets. Currently only scalar 1D and string sets are supported.\n"); } else if (argIn.hasKey("make2d")) { mprintf(" make2d <1D set> cols rows [name ]\n" " Create new 2D data set from 1D data set, assumes row-major ordering.\n"); @@ -678,37 +678,85 @@ Exec::RetType Exec_DataSetCmd::Filter(CpptrajState& State, ArgList& argIn) { Exec::RetType Exec_DataSetCmd::Concatenate(CpptrajState& State, ArgList& argIn) { std::string name = argIn.GetStringKey("name"); bool use_offset = !argIn.hasKey("nooffset"); - DataSet* ds3 = State.DSL().AddSet( DataSet::XYMESH, name, "CAT" ); - if (ds3 == 0) return CpptrajState::ERR; - DataSet_1D& out = static_cast( *ds3 ); - mprintf("\tConcatenating sets into '%s'\n", out.legend()); - if (use_offset) - mprintf("\tX values will be offset.\n"); - else - mprintf("\tX values will not be offset.\n"); + + std::vector setsToCat; + enum OutputSetTypeEnum { UNKNOWN = 0, SCALAR_1D, STRING }; + static const char* OutputSetTypeStr[] = { 0, "scalar 1D", "string" }; + OutputSetTypeEnum outputSetType = UNKNOWN; std::string dsarg = argIn.GetStringNext(); - double offset = 0.0; + while (!dsarg.empty()) { DataSetList dsl = State.DSL().GetMultipleSets( dsarg ); - double XY[2]; - for (DataSetList::const_iterator ds = dsl.begin(); ds != dsl.end(); ++ds) - { - if ( (*ds)->Group() != DataSet::SCALAR_1D ) - { - mprintf("Warning: '%s': Concatenation only supported for 1D scalar data sets.\n", - (*ds)->legend()); + for (DataSetList::const_iterator ds = dsl.begin(); ds != dsl.end(); ++ds) { + // Check the type + OutputSetTypeEnum currentType = UNKNOWN; + if ( (*ds)->Group() == DataSet::SCALAR_1D ) + currentType = SCALAR_1D; + else if ( (*ds)->Type() == DataSet::STRING ) + currentType = STRING; + if (outputSetType == UNKNOWN) { + if (currentType == UNKNOWN) { + mprinterr("Error: '%s' concatenation only supported for scalar 1D or string sets.\n", (*ds)->legend()); + return CpptrajState::ERR; + } + outputSetType = currentType; } else { - DataSet_1D const& set = static_cast( *(*ds) ); - mprintf("\t\t'%s'\n", set.legend()); - for (size_t i = 0; i != set.Size(); i++) { - XY[0] = set.Xcrd( i ) + offset; - XY[1] = set.Dval( i ); - out.Add( i, XY ); // NOTE: value of i does not matter for mesh + // Type must match + if (outputSetType != currentType) { + mprinterr("Error: '%s' all sets must be of the same type.\n", (*ds)->legend()); + return CpptrajState::ERR; } - if (use_offset) offset = XY[0]; } + setsToCat.push_back( *ds ); } dsarg = argIn.GetStringNext(); + } // END loop over data set arguments from argument list + + DataSet* ds3 = 0; + if (outputSetType == SCALAR_1D) + ds3 = State.DSL().AddSet( DataSet::XYMESH, name, "CAT" ); + else if (outputSetType == STRING) + ds3 = State.DSL().AddSet( DataSet::STRING, name, "CAT" ); + else { + mprinterr("Error: No valid sets to concatenate.\n"); + return CpptrajState::ERR; + } + if (ds3 == 0) return CpptrajState::ERR; + mprintf("\tConcatenating %zu sets into %s set '%s'\n", setsToCat.size(), OutputSetTypeStr[outputSetType], ds3->legend()); + + if (outputSetType == SCALAR_1D) { + DataSet_1D& out = static_cast( *ds3 ); + + if (use_offset) + mprintf("\tX values will be offset.\n"); + else + mprintf("\tX values will not be offset.\n"); + double offset = 0.0; + double XY[2]; + for (std::vector::const_iterator ds = setsToCat.begin(); ds != setsToCat.end(); ++ds) + { + DataSet_1D const& set = static_cast( *(*ds) ); + mprintf("\t\t'%s'\n", set.legend()); + for (size_t i = 0; i != set.Size(); i++) { + XY[0] = set.Xcrd( i ) + offset; + XY[1] = set.Dval( i ); + out.Add( i, XY ); // NOTE: value of i does not matter for mesh + } + if (use_offset) offset = XY[0]; + } // END loop over input 1D scalar sets + } else if (outputSetType == STRING) { + DataSet_string& out = static_cast( *ds3 ); + for (std::vector::const_iterator ds = setsToCat.begin(); ds != setsToCat.end(); ++ds) + { + DataSet_string const& set = static_cast( *(*ds) ); + mprintf("\t\t'%s'\n", set.legend()); + for (size_t i = 0; i != set.Size(); i++) + out.AddElement( set[i] ); + } // END loop over input string sets + } else { + // Sanity check + mprinterr("Internal Error: Unhandled set type in data set concatenation.\n"); + return CpptrajState::ERR; } return CpptrajState::OK; } From 68136f70fe4b24154214fea1facaf472c521f642 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Jun 2021 09:52:54 -0400 Subject: [PATCH 052/191] Add position/velocity version of rattle --- src/Constraints.cpp | 78 ++++++++++++++++++++++++++++++++++++++++++--- src/Constraints.h | 5 +++ 2 files changed, 79 insertions(+), 4 deletions(-) diff --git a/src/Constraints.cpp b/src/Constraints.cpp index 2028265c05..96cdb5fe37 100644 --- a/src/Constraints.cpp +++ b/src/Constraints.cpp @@ -17,6 +17,8 @@ Constraints::Constraints() : degrees_of_freedom_(0) {} +const int Constraints::maxIterations_ = 1000; + static const char* shakeString_[] = { "off", "bonds to H", "all bonds" }; @@ -123,6 +125,75 @@ int Constraints::SetupConstraints(AtomMask const& mask, Topology const& top) return 0; } +// Constraints::Rattle() +int Constraints::Rattle(Frame& frameIn, Frame const& oldFrame) +const +{ + static const double FAC = 1.2; // TODO make part of class + // Main loop + bool done = false; + int niterations = 0; + while (!done && (niterations < maxIterations_)) + { + niterations++; + done = true; + // Loop over selected constrained bonds + for (Carray::const_iterator bnd = Bonds_.begin(); bnd != Bonds_.end(); ++bnd) + { + // Get the bond equilibrium length + double req = bnd->req_; + // Calculate bond vector + Vec3 dR = Vec3(frameIn.XYZ( bnd->at2_)) - Vec3(frameIn.XYZ( bnd->at1_ )); + // Bond length^2 + double dist2 = dR.Magnitude2(); + // Delta (squared) + double delta = req * req - dist2; + + if ( fabs(delta) > EPS_ ) { + done = false; + Vec3 rOld = Vec3(oldFrame.XYZ( bnd->at2_)) - Vec3(oldFrame.XYZ( bnd->at1_ )); + + double dot = dR * rOld; + + double rma = 1.0 / frameIn.Mass( bnd->at1_ ); + double rmb = 1.0 / frameIn.Mass( bnd->at2_ ); + + double term = FAC * delta / (2.0 * (rma + rmb) * dot); + + Vec3 dTerm = rOld * term; + + // Update positions + double* xyzArray = frameIn.xAddress(); + int idx1 = bnd->at1_*3; + xyzArray[idx1 ] -= dTerm[0] * rma; + xyzArray[idx1+1] -= dTerm[1] * rma; + xyzArray[idx1+2] -= dTerm[2] * rma; + int idx2 = bnd->at2_*3; + xyzArray[idx2 ] += dTerm[0] * rmb; + xyzArray[idx2+1] += dTerm[1] * rmb; + xyzArray[idx2+2] += dTerm[2] * rmb; + // Update velocities + if (frameIn.HasVelocity()) { + rma = rma / dt_; + rmb = rmb / dt_; + double* vArray = frameIn.vAddress(); + vArray[idx1 ] -= dTerm[0] * rma; + vArray[idx1+1] -= dTerm[1] * rma; + vArray[idx1+2] -= dTerm[2] * rma; + vArray[idx2 ] += dTerm[0] * rmb; + vArray[idx2+1] += dTerm[1] * rmb; + vArray[idx2+2] += dTerm[2] * rmb; + } + } // END abs delta > epsilon + } // END loop over constrained bonds + } // END main rattle loop + if (niterations > maxIterations_) { + mprinterr("Error: RATTLE took more than %i iterations.\n", maxIterations_); + return 1; + } + return 0; +} + // Constraints::Rattle2() int Constraints::Rattle2(Frame& frameIn) const @@ -131,9 +202,8 @@ const // Main loop bool done = false; int niterations = 0; - static const int maxIterations = 1000; double* Vel = frameIn.vAddress(); - while (!done && (niterations < maxIterations)) + while (!done && (niterations < maxIterations_)) { niterations++; done = true; @@ -168,8 +238,8 @@ const } } // END loop over bonds } // END main rattle loop - if (niterations > maxIterations) { - mprinterr("Error: RATTLE took more than %i iterations.\n", maxIterations); + if (niterations > maxIterations_) { + mprinterr("Error: RATTLE2 took more than %i iterations.\n", maxIterations_); return 1; } return 0; diff --git a/src/Constraints.h b/src/Constraints.h index 1aa1304a46..8dfe92dca9 100644 --- a/src/Constraints.h +++ b/src/Constraints.h @@ -16,6 +16,9 @@ class Constraints { static const char* rattleArgs; int InitRattle(ArgList&); int SetupConstraints(AtomMask const&, Topology const&); + /// Version of rattle that adjusts positions and velocities + int Rattle(Frame&, Frame const&) const; + /// Version of rattle that adjusts velocities only int Rattle2(Frame&) const; ShakeType Type() const { return shakeType_; } int DegreesOfFreedom() const { return degrees_of_freedom_; } @@ -49,5 +52,7 @@ class Constraints { double EPS_; ///< Hold epsilon / dt ShakeType shakeType_; ///< What bonds constraints being applied to. int degrees_of_freedom_; ///< Unconstrained deg. of freedom. + + static const int maxIterations_; ///< Maximum iterations for rattle loop }; #endif From aa591302d0ee7ba133e1dc4bb383263e14983642 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 19 Apr 2022 15:02:45 -0400 Subject: [PATCH 053/191] Add bondparm mode for change command --- src/Exec_Change.cpp | 97 ++++++++++++++++++++++++++++++++++++++++++++- src/Exec_Change.h | 1 + 2 files changed, 96 insertions(+), 2 deletions(-) diff --git a/src/Exec_Change.cpp b/src/Exec_Change.cpp index 78c1701deb..ccf999f58b 100644 --- a/src/Exec_Change.cpp +++ b/src/Exec_Change.cpp @@ -1,6 +1,8 @@ #include "Exec_Change.h" +#include "CharMask.h" #include "CpptrajStdio.h" #include "TypeNameHolder.h" +#include "ParameterTypes.h" // Exec_Change::Help() void Exec_Change::Help() const @@ -14,6 +16,7 @@ void Exec_Change::Help() const "\t atomname from to |\n" "\t addbond [req ] |\n" "\t removebonds [] [out ]}\n" + "\t bondparm [] {setrk|scalerk|setreq|scalereq} \n" " Change specified parts of topology or topology of a COORDS data set.\n", DataSetList::TopArgs); } @@ -23,7 +26,7 @@ Exec::RetType Exec_Change::Execute(CpptrajState& State, ArgList& argIn) { // Change type enum ChangeType { UNKNOWN = 0, RESNAME, CHAINID, ORESNUMS, ICODES, - ATOMNAME, ADDBOND, REMOVEBONDS, SPLITRES }; + ATOMNAME, ADDBOND, REMOVEBONDS, SPLITRES, BONDPARM }; ChangeType type = UNKNOWN; if (argIn.hasKey("resname")) type = RESNAME; @@ -39,6 +42,8 @@ Exec::RetType Exec_Change::Execute(CpptrajState& State, ArgList& argIn) type = ADDBOND; else if (argIn.hasKey("removebonds")) type = REMOVEBONDS; + else if (argIn.hasKey("bondparm")) + type = BONDPARM; else if (argIn.hasKey("splitres")) type = SPLITRES; if (type == UNKNOWN) { @@ -70,6 +75,7 @@ Exec::RetType Exec_Change::Execute(CpptrajState& State, ArgList& argIn) case ATOMNAME : err = ChangeAtomName(*parm, argIn); break; case ADDBOND : err = AddBond(*parm, argIn); break; case REMOVEBONDS : err = RemoveBonds(State, *parm, argIn); break; + case BONDPARM : err = ChangeBondParameters(*parm, argIn); break; case SPLITRES : err = ChangeSplitRes(*parm, argIn); break; case UNKNOWN : err = 1; // sanity check } @@ -433,7 +439,6 @@ int Exec_Change::RemoveBonds(CpptrajState& State, Topology& topIn, ArgList& argI return 0; } - // Exec_Change::AddBond() int Exec_Change::AddBond(Topology& topIn, ArgList& argIn) const { @@ -499,3 +504,91 @@ int Exec_Change::AddBond(Topology& topIn, ArgList& argIn) const { return 0; } + +/** Change/scale bond force constants. */ +int Exec_Change::ChangeBondParameters(Topology& topIn, ArgList& argIn) const { + CharMask mask1, mask2; + std::string str1 = argIn.GetMaskNext(); + if (str1.empty()) { + mprinterr("Error: Must specify at least 1 atom mask.\n"); + return 1; + } + if (mask1.SetMaskString( str1 )) return 1; + if (topIn.SetupCharMask( mask1 )) return 1; + if (mask1.None()) { + mprinterr("Error: %s selects no atoms.\n", str1.c_str()); + return 1; + } + std::string str2 = argIn.GetMaskNext(); + if (!str2.empty()) { + if (mask2.SetMaskString( str2 )) return 1; + if (topIn.SetupCharMask( mask2 )) return 1; + if (mask2.None()) { + mprinterr("Error: %s selects no atoms.\n", str2.c_str()); + return 1; + } + } + // Determine if we are setting or scaling + enum ModeType { SET_RK = 0, SET_REQ, SCALE_RK, SCALE_REQ }; + ModeType mode; + double dval = 0; + if (argIn.Contains("setrk")) { + mode = SET_RK; + dval = argIn.getKeyDouble("setrk", 0); + } else if (argIn.Contains("scalerk")) { + mode = SCALE_RK; + dval = argIn.getKeyDouble("scalerk", 0); + } else if (argIn.Contains("setreq")) { + mode = SET_REQ; + dval = argIn.getKeyDouble("setreq", 0); + } else if (argIn.Contains("scalereq")) { + mode = SCALE_REQ; + dval = argIn.getKeyDouble("scalereq", 0); + } else { + mprinterr("Error: Must specify one of 'setrk', 'scalerk', 'setreq', 'scalereq'.\n"); + return 1; + } + + static const char* ModeTypeStr[] = {"set RK to", "set REQ to", "scale RK by", "scale REQ by"}; + mprintf("\tWill %s %f\n", ModeTypeStr[mode], dval); + + // Get the list of bonds to modify + BondArray bondsToModify; + if (mask2.MaskStringSet()) { + // Atom 1 must be in mask1, atom 2 in mask2 + for (BondArray::const_iterator it = topIn.Bonds().begin(); it != topIn.Bonds().end(); ++it) + if (mask1.AtomInCharMask(it->A1()) && mask2.AtomInCharMask(it->A2())) + bondsToModify.push_back( *it ); + for (BondArray::const_iterator it = topIn.BondsH().begin(); it != topIn.BondsH().end(); ++it) + if (mask1.AtomInCharMask(it->A1()) && mask2.AtomInCharMask(it->A2())) + bondsToModify.push_back( *it ); + } else { + for (BondArray::const_iterator it = topIn.Bonds().begin(); it != topIn.Bonds().end(); ++it) + if (mask1.AtomInCharMask(it->A1()) && mask1.AtomInCharMask(it->A2())) + bondsToModify.push_back( *it ); + for (BondArray::const_iterator it = topIn.BondsH().begin(); it != topIn.BondsH().end(); ++it) + if (mask1.AtomInCharMask(it->A1()) && mask1.AtomInCharMask(it->A2())) + bondsToModify.push_back( *it ); + } + mprintf("\tBonds to modify (%zu):\n", bondsToModify.size()); + for (BondArray::const_iterator it = bondsToModify.begin(); it != bondsToModify.end(); ++it) + mprintf("\t\t%s to %s\n", + topIn.TruncResAtomName( it->A1() ).c_str(), + topIn.TruncResAtomName( it->A2() ).c_str()); + + // Remove, modify, add back. + for (BondArray::const_iterator it = bondsToModify.begin(); it != bondsToModify.end(); ++it) + { + BondParmType bp = topIn.BondParm()[it->Idx()]; + topIn.RemoveBond(it->A1(), it->A2()); + switch (mode) { + case SET_RK : bp.SetRk( dval ); break; + case SCALE_RK : bp.SetRk( bp.Rk() * dval ); break; + case SET_REQ : bp.SetReq( dval ); break; + case SCALE_REQ : bp.SetReq( bp.Req() * dval ); break; + } + topIn.AddBond(it->A1(), it->A2(), bp); + } + + return 0; +} diff --git a/src/Exec_Change.h b/src/Exec_Change.h index 5de0e3452c..3ab3b6dd61 100644 --- a/src/Exec_Change.h +++ b/src/Exec_Change.h @@ -20,5 +20,6 @@ class Exec_Change : public Exec { static inline int FindBondTypeIdx(Topology const&, BondArray const&, TypeNameHolder const&); int AddBond(Topology&, ArgList&) const; int RemoveBonds(CpptrajState&, Topology&, ArgList&) const; + int ChangeBondParameters(Topology&, ArgList&) const; }; #endif From bc5dfb5379409a5576f3814ede73a62044902e5b Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 22 Apr 2022 14:36:11 -0400 Subject: [PATCH 054/191] Start adding comparenergy command --- src/EnergyKernel_HarmonicBond.h | 8 ++++++++ src/Exec_CompareEnergy.cpp | 30 ++++++++++++++++++++++++++++++ src/Exec_CompareEnergy.h | 14 ++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 src/EnergyKernel_HarmonicBond.h create mode 100644 src/Exec_CompareEnergy.cpp create mode 100644 src/Exec_CompareEnergy.h diff --git a/src/EnergyKernel_HarmonicBond.h b/src/EnergyKernel_HarmonicBond.h new file mode 100644 index 0000000000..c525bd65ff --- /dev/null +++ b/src/EnergyKernel_HarmonicBond.h @@ -0,0 +1,8 @@ +#ifndef INC_ENERGYKERNEL_HARMONICBOND_H +#define INC_ENERGYKERNEL_HARMONICBOND_H +template T EnergyKernel_HarmonicBond(T r, T Rk, T Req) { + T rdiff = r - Req; + T ene = Rk * (rdiff * rdiff); + return ene; +}; +#endif diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp new file mode 100644 index 0000000000..f174419405 --- /dev/null +++ b/src/Exec_CompareEnergy.cpp @@ -0,0 +1,30 @@ +#include "Exec_CompareEnergy.h" +#include "CpptrajStdio.h" + +// Exec_CompareEnergy::Help() +void Exec_CompareEnergy::Help() const +{ + +} + +DataSet_Coords* Exec_CompareEnergy::GetCoordsSet(DataSetList const& DSL, + std::string const& setname) +{ + if (setname.empty()) { + mprinterr("Error: crdout: Specify COORDS dataset name.\n"); + return 0; + } + DataSet_Coords* CRD = (DataSet_Coords*)DSL.FindSetOfGroup( setname, DataSet::COORDINATES ); + if (CRD == 0) { + mprinterr("Error: crdout: No COORDS set with name %s found.\n", setname.c_str()); + return 0; + } + mprintf("\tUsing set '%s'\n", CRD->legend()); + return CRD; +} + +// Exec_CompareEnergy::Execute() +Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) +{ + +} diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h new file mode 100644 index 0000000000..b356e7bdea --- /dev/null +++ b/src/Exec_CompareEnergy.h @@ -0,0 +1,14 @@ +#ifndef INC_EXEC_COMPAREENERGY_H +#define INC_EXEC_COMPAREENERGY_H +#include "Exec.h" +/// +class Exec_CompareEnergy : public Exec { + public: + Exec_CompareEnergy() : Exec(GENERAL) {} + void Help() const; + DispatchObject* Alloc() const { return (DispatchObject*)new Exec_CompareEnergy(); } + RetType Execute(CpptrajState&, ArgList&); + private: + static DataSet_Coords* GetCoordsSet(DataSetList const&, std::string const&); +}; +#endif From 66fd222632d3175cbad0738cd9a1638de6b2049c Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 22 Apr 2022 15:38:56 -0400 Subject: [PATCH 055/191] Add in bond calc --- src/Exec_CompareEnergy.cpp | 108 ++++++++++++++++++++++++++++++++++++- src/Exec_CompareEnergy.h | 5 ++ 2 files changed, 112 insertions(+), 1 deletion(-) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index f174419405..e8904119f1 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -1,10 +1,11 @@ #include "Exec_CompareEnergy.h" #include "CpptrajStdio.h" +#include "EnergyKernel_HarmonicBond.h" // Exec_CompareEnergy::Help() void Exec_CompareEnergy::Help() const { - + mprintf("\tcrd0 crd1 \n"); } DataSet_Coords* Exec_CompareEnergy::GetCoordsSet(DataSetList const& DSL, @@ -23,8 +24,113 @@ DataSet_Coords* Exec_CompareEnergy::GetCoordsSet(DataSetList const& DSL, return CRD; } +template T Distance2Kernel(T const* a1, T const* a2) { + T x = a1[0] - a2[0]; + T y = a1[1] - a2[1]; + T z = a1[2] - a2[2]; + //double D = x*x + y*y + z*z; + //fprintf(stdout,"Mask1=%8.3f %8.3f %8.3f Mask2=%8.3f %8.3f %8.3f D=%8.3f\n", + // a1[0],a1[1],a1[2],a2[0],a2[1],a2[2],D); + return (x*x + y*y + z*z); +} + + +static inline double EBOND(Frame const& frame0, + BondType const& b0, + BondParmArray const& bpa0) +{ + if (b0.Idx() < 0) { + mprintf("Warning: Bond %i -- %i has no parameters.\n", b0.A1()+1, b0.A2()+1); + return 0; + } + BondParmType const& bp0 = bpa0[b0.Idx()]; + double r20 = Distance2Kernel( frame0.XYZ(b0.A1()), + frame0.XYZ(b0.A2()) ); + double ene = EnergyKernel_HarmonicBond( sqrt(r20), + bp0.Rk(), bp0.Req() ); + return ene; +} + + +void Exec_CompareEnergy::CalcBondEnergy(Frame const& frame0, + BondArray const& bonds0, + BondParmArray const& bpa0, + Frame const& frame1, + BondArray const& bonds1, + BondParmArray const& bpa1) +{ + if (bonds0.size() != bonds1.size()) { + mprintf("Warning: Different # of bonds (%zu vs %zu)\n", bonds0.size(), bonds1.size()); + return; + } + for (unsigned int bidx = 0; bidx != bonds0.size(); bidx++) { + if (bonds0[bidx].A1() != bonds1[bidx].A1() || + bonds0[bidx].A2() != bonds1[bidx].A2()) + { + mprintf("Warning: Bond atom # mismatch (%i-%i vs %i-%i)\n", + bonds0[bidx].A1()+1, bonds0[bidx].A2()+1, bonds1[bidx].A1()+1, bonds1[bidx].A2()+1); + continue; + } + double ene0 = EBOND(frame0, bonds0[bidx], bpa0); + double ene1 = EBOND(frame1, bonds1[bidx], bpa1); + } + +} + + + +void Exec_CompareEnergy::BondEnergy(Frame const& frame0, Topology const& top0, + Frame const& frame1, Topology const& top1) +{ + CalcBondEnergy(frame0, top0.Bonds(), top0.BondParm(), + frame1, top1.Bonds(), top1.BondParm()); + CalcBondEnergy(frame0, top0.BondsH(), top0.BondParm(), + frame1, top1.BondsH(), top1.BondParm()); +} + + +int Exec_CompareEnergy::GetEnergies(DataSet_Coords* crd0, DataSet_Coords* crd1) +{ + if (crd0->Size() < 1) { + mprinterr("Error: '%s' has no frames.\n", crd0->legend()); + return 1; + } + if (crd1->Size() < 1) { + mprinterr("Error: '%s' has no frames.\n", crd1->legend()); + return 1; + } + + Frame frame0 = crd0->AllocateFrame(); + Frame frame1 = crd1->AllocateFrame(); + Topology const& top0 = crd0->Top(); + Topology const& top1 = crd1->Top(); + + unsigned int maxframes = std::max( crd0->Size(), crd1->Size() ); + unsigned int idx0 = 0; + unsigned int idx1 = 0; + for (unsigned int idx = 0; idx != maxframes; idx++) { + crd0->GetFrame( idx0++, frame0 ); + crd1->GetFrame( idx1++, frame1 ); + + BondEnergy(frame0, top0, frame1, top1); + + // Reset counters if needed + if (idx0 == crd0->Size()) + idx0 = 0; + if (idx1 == crd1->Size()) + idx1 = 0; + } + + return 0; +} + // Exec_CompareEnergy::Execute() Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) { + DataSet_Coords* crd0 = GetCoordsSet(State.DSL(), argIn.GetStringKey("crd0")); + if (crd0 == 0) return CpptrajState::ERR; + DataSet_Coords* crd1 = GetCoordsSet(State.DSL(), argIn.GetStringKey("crd1")); + if (crd1 == 0) return CpptrajState::ERR; + return CpptrajState::OK; } diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h index b356e7bdea..52ee54d3e5 100644 --- a/src/Exec_CompareEnergy.h +++ b/src/Exec_CompareEnergy.h @@ -10,5 +10,10 @@ class Exec_CompareEnergy : public Exec { RetType Execute(CpptrajState&, ArgList&); private: static DataSet_Coords* GetCoordsSet(DataSetList const&, std::string const&); + static int GetEnergies(DataSet_Coords*, DataSet_Coords*); + static void CalcBondEnergy(Frame const&, BondArray const&, BondParmArray const&, + Frame const&, BondArray const&, BondParmArray const&); + static void BondEnergy(Frame const&, Topology const&, + Frame const&, Topology const&); }; #endif From fd6d35e95e791c078edbd6f5d9c6b699b2f3cd38 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 22 Apr 2022 16:05:07 -0400 Subject: [PATCH 056/191] Finish initial implementation --- src/Command.cpp | 2 ++ src/Exec_CompareEnergy.cpp | 6 ++++++ src/cpptrajdepend | 5 +++-- src/cpptrajfiles | 1 + 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Command.cpp b/src/Command.cpp index 1d9bc81972..4af9d1951f 100644 --- a/src/Command.cpp +++ b/src/Command.cpp @@ -16,6 +16,7 @@ #include "Exec_Calc.h" #include "Exec_ClusterMap.h" #include "Exec_Commands.h" +#include "Exec_CompareEnergy.h" #include "Exec_CreateSet.h" #include "Exec_DataFile.h" #include "Exec_DataFilter.h" @@ -217,6 +218,7 @@ void Command::Init() { Command::AddCmd( new Exec_Clear(), Cmd::EXE, 1, "clear" ); Command::AddCmd( new Exec_ClusterMap(), Cmd::EXE, 1, "clustermap" ); // hidden Command::AddCmd( new Exec_CompareClusters(), Cmd::EXE, 1, "compareclusters" ); //hidden + Command::AddCmd( new Exec_CompareEnergy(), Cmd::EXE, 1, "compareenergy" ); Command::AddCmd( new Exec_CreateDataFile(), Cmd::EXE, 1, "create" ); Command::AddCmd( new Exec_CreateSet(), Cmd::EXE, 1, "createset" ); Command::AddCmd( new Exec_DataFileCmd(), Cmd::EXE, 1, "datafile" ); diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index e8904119f1..297e0b556c 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -73,6 +73,10 @@ void Exec_CompareEnergy::CalcBondEnergy(Frame const& frame0, } double ene0 = EBOND(frame0, bonds0[bidx], bpa0); double ene1 = EBOND(frame1, bonds1[bidx], bpa1); + double delta = ene0 - ene1; + mprintf("\t%8i %8i %12.4f %12.4f %12.4f\n", + bonds0[bidx].A1()+1, bonds0[bidx].A2()+1, + ene0, ene1, delta); } } @@ -132,5 +136,7 @@ Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) DataSet_Coords* crd1 = GetCoordsSet(State.DSL(), argIn.GetStringKey("crd1")); if (crd1 == 0) return CpptrajState::ERR; + if (GetEnergies(crd0, crd1)) return CpptrajState::ERR; + return CpptrajState::OK; } diff --git a/src/cpptrajdepend b/src/cpptrajdepend index c197d13bc0..42294de53a 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -152,7 +152,7 @@ ClusterMap.o : ClusterMap.cpp AssociatedData.h ClusterMap.h Constants.h CpptrajF Cmd.o : Cmd.cpp Cmd.h DispatchObject.h CmdInput.o : CmdInput.cpp CmdInput.h StringRoutines.h CmdList.o : CmdList.cpp Cmd.h CmdList.h DispatchObject.h -Command.o : Command.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h ActionTopWriter.h Action_Align.h Action_Angle.h Action_AreaPerMol.h Action_AtomMap.h Action_AtomicCorr.h Action_AtomicFluct.h Action_AutoImage.h Action_Average.h Action_Bounds.h Action_Box.h Action_Center.h Action_Channel.h Action_CheckChirality.h Action_CheckStructure.h Action_Closest.h Action_ClusterDihedral.h Action_Contacts.h Action_CreateCrd.h Action_CreateReservoir.h Action_DNAionTracker.h Action_DSSP.h Action_Density.h Action_Diffusion.h Action_Dihedral.h Action_DihedralRMS.h Action_Dipole.h Action_DistRmsd.h Action_Distance.h Action_Energy.h Action_Esander.h Action_FilterByData.h Action_FixAtomOrder.h Action_FixImagedBonds.h Action_GIST.h Action_Grid.h Action_GridFreeEnergy.h Action_HydrogenBond.h Action_Image.h Action_InfraredSpectrum.h Action_Jcoupling.h Action_Keep.h Action_LESsplit.h Action_LIE.h Action_LipidOrder.h Action_MakeStructure.h Action_Mask.h Action_Matrix.h Action_MinImage.h Action_Molsurf.h Action_MultiDihedral.h Action_MultiPucker.h Action_MultiVector.h Action_NAstruct.h Action_NMRrst.h Action_NativeContacts.h Action_OrderParameter.h Action_Outtraj.h Action_PairDist.h Action_Pairwise.h Action_Principal.h Action_Projection.h Action_Pucker.h Action_Radgyr.h Action_Radial.h Action_RandomizeIons.h Action_Remap.h Action_ReplicateCell.h Action_Rmsd.h Action_Rotate.h Action_RunningAvg.h Action_STFC_Diffusion.h Action_Scale.h Action_SetVelocity.h Action_Spam.h Action_Strip.h Action_Surf.h Action_SymmetricRmsd.h Action_Temperature.h Action_Time.h Action_Translate.h Action_Unstrip.h Action_Unwrap.h Action_Vector.h Action_VelocityAutoCorr.h Action_Volmap.h Action_Volume.h Action_Watershell.h Action_XtalSymm.h Analysis.h AnalysisList.h AnalysisState.h Analysis_AmdBias.h Analysis_AutoCorr.h Analysis_Average.h Analysis_Clustering.h Analysis_ConstantPHStats.h Analysis_Corr.h Analysis_CrankShaft.h Analysis_CrdFluct.h Analysis_CrossCorr.h Analysis_CurveFit.h Analysis_Divergence.h Analysis_EvalPlateau.h Analysis_FFT.h Analysis_HausdorffDistance.h Analysis_Hist.h Analysis_IRED.h Analysis_Integrate.h Analysis_KDE.h Analysis_Lifetime.h Analysis_LowestCurve.h Analysis_Matrix.h Analysis_MeltCurve.h Analysis_Modes.h Analysis_MultiHist.h Analysis_Multicurve.h Analysis_Overlap.h Analysis_PhiPsi.h Analysis_Regression.h Analysis_RemLog.h Analysis_Rms2d.h Analysis_RmsAvgCorr.h Analysis_Rotdif.h Analysis_RunningAvg.h Analysis_Slope.h Analysis_Spline.h Analysis_State.h Analysis_Statistics.h Analysis_TI.h Analysis_Timecorr.h Analysis_VectorMath.h Analysis_Wavelet.h ArgList.h Array1D.h ArrayIterator.h AssociatedData.h Atom.h AtomMap.h AtomMask.h AtomType.h AxisType.h BaseIOtype.h Box.h BoxArgs.h BufferedLine.h CharMask.h Cluster/Algorithm.h Cluster/BestReps.h Cluster/CentroidArray.h Cluster/Cframes.h Cluster/Control.h Cluster/DrawGraph.h Cluster/List.h Cluster/Metric.h Cluster/MetricArray.h Cluster/Node.h Cluster/Sieve.h Cluster/Silhouette.h ClusterMap.h Cmd.h CmdInput.h CmdList.h Command.h CompactFrameArray.h ComplexArray.h Constants.h Constraints.h ControlBlock.h ControlBlock_For.h CoordinateInfo.h Corr.h Cph.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataFilter.h DataSet.h DataSetList.h DataSet_1D.h DataSet_2D.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h DataSet_GridFlt.h DataSet_Mat3x3.h DataSet_MatrixDbl.h DataSet_MatrixFlt.h DataSet_Mesh.h DataSet_Modes.h DataSet_RemLog.h DataSet_Vector.h DataSet_double.h DataSet_float.h DataSet_integer.h DataSet_integer_mem.h DataSet_pH.h DataSet_string.h Deprecated.h DihedralSearch.h Dimension.h DispatchObject.h Energy.h Energy_Sander.h EnsembleIn.h EnsembleOutList.h Ewald.h EwaldOptions.h Ewald_ParticleMesh.h ExclusionArray.h Exec.h Exec_AddMissingRes.h Exec_Analyze.h Exec_Calc.h Exec_CatCrd.h Exec_Change.h Exec_ClusterMap.h Exec_CombineCoords.h Exec_Commands.h Exec_CompareClusters.h Exec_CompareTop.h Exec_CrdAction.h Exec_CrdOut.h Exec_CreateSet.h Exec_DataFile.h Exec_DataFilter.h Exec_DataSetCmd.h Exec_Emin.h Exec_Flatten.h Exec_GenerateAmberRst.h Exec_Graft.h Exec_Help.h Exec_HmassRepartition.h Exec_LoadCrd.h Exec_LoadTraj.h Exec_ParallelAnalysis.h Exec_ParmBox.h Exec_ParmSolvent.h Exec_ParmStrip.h Exec_ParmWrite.h Exec_PermuteDihedrals.h Exec_Precision.h Exec_PrepareForLeap.h Exec_PrintData.h Exec_Random.h Exec_ReadData.h Exec_ReadEnsembleData.h Exec_ReadInput.h Exec_RotateDihedral.h Exec_RunAnalysis.h Exec_ScaleDihedralK.h Exec_SequenceAlign.h Exec_Set.h Exec_Show.h Exec_SortEnsembleData.h Exec_SplitCoords.h Exec_System.h Exec_Top.h Exec_Traj.h Exec_UpdateParameters.h Exec_ViewRst.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h GIST_PME.h Grid.h GridAction.h GridBin.h HistBin.h Hungarian.h ImageOption.h ImageTypes.h InputTrajCommon.h MapAtom.h MaskArray.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h Molecule.h NameType.h NetcdfFile.h OnlineVarT.h OutputTrajCommon.h PDBfile.h PairList.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h PubFFT.h Pucker.h Pucker_PuckerMask.h Pucker_PuckerSearch.h Pucker_PuckerToken.h RPNcalc.h Random.h Range.h ReferenceAction.h ReferenceFrame.h RemdReservoirNC.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h Spline.h SplineFxnTable.h StructureCheck.h SymbolExporting.h SymmetricRmsdCalc.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h cuda_kernels/GistCudaSetup.cuh helpme_standalone.h molsurf.h +Command.o : Command.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h ActionTopWriter.h Action_Align.h Action_Angle.h Action_AreaPerMol.h Action_AtomMap.h Action_AtomicCorr.h Action_AtomicFluct.h Action_AutoImage.h Action_Average.h Action_Bounds.h Action_Box.h Action_Center.h Action_Channel.h Action_CheckChirality.h Action_CheckStructure.h Action_Closest.h Action_ClusterDihedral.h Action_Contacts.h Action_CreateCrd.h Action_CreateReservoir.h Action_DNAionTracker.h Action_DSSP.h Action_Density.h Action_Diffusion.h Action_Dihedral.h Action_DihedralRMS.h Action_Dipole.h Action_DistRmsd.h Action_Distance.h Action_Energy.h Action_Esander.h Action_FilterByData.h Action_FixAtomOrder.h Action_FixImagedBonds.h Action_GIST.h Action_Grid.h Action_GridFreeEnergy.h Action_HydrogenBond.h Action_Image.h Action_InfraredSpectrum.h Action_Jcoupling.h Action_Keep.h Action_LESsplit.h Action_LIE.h Action_LipidOrder.h Action_MakeStructure.h Action_Mask.h Action_Matrix.h Action_MinImage.h Action_Molsurf.h Action_MultiDihedral.h Action_MultiPucker.h Action_MultiVector.h Action_NAstruct.h Action_NMRrst.h Action_NativeContacts.h Action_OrderParameter.h Action_Outtraj.h Action_PairDist.h Action_Pairwise.h Action_Principal.h Action_Projection.h Action_Pucker.h Action_Radgyr.h Action_Radial.h Action_RandomizeIons.h Action_Remap.h Action_ReplicateCell.h Action_Rmsd.h Action_Rotate.h Action_RunningAvg.h Action_STFC_Diffusion.h Action_Scale.h Action_SetVelocity.h Action_Spam.h Action_Strip.h Action_Surf.h Action_SymmetricRmsd.h Action_Temperature.h Action_Time.h Action_Translate.h Action_Unstrip.h Action_Unwrap.h Action_Vector.h Action_VelocityAutoCorr.h Action_Volmap.h Action_Volume.h Action_Watershell.h Action_XtalSymm.h Analysis.h AnalysisList.h AnalysisState.h Analysis_AmdBias.h Analysis_AutoCorr.h Analysis_Average.h Analysis_Clustering.h Analysis_ConstantPHStats.h Analysis_Corr.h Analysis_CrankShaft.h Analysis_CrdFluct.h Analysis_CrossCorr.h Analysis_CurveFit.h Analysis_Divergence.h Analysis_EvalPlateau.h Analysis_FFT.h Analysis_HausdorffDistance.h Analysis_Hist.h Analysis_IRED.h Analysis_Integrate.h Analysis_KDE.h Analysis_Lifetime.h Analysis_LowestCurve.h Analysis_Matrix.h Analysis_MeltCurve.h Analysis_Modes.h Analysis_MultiHist.h Analysis_Multicurve.h Analysis_Overlap.h Analysis_PhiPsi.h Analysis_Regression.h Analysis_RemLog.h Analysis_Rms2d.h Analysis_RmsAvgCorr.h Analysis_Rotdif.h Analysis_RunningAvg.h Analysis_Slope.h Analysis_Spline.h Analysis_State.h Analysis_Statistics.h Analysis_TI.h Analysis_Timecorr.h Analysis_VectorMath.h Analysis_Wavelet.h ArgList.h Array1D.h ArrayIterator.h AssociatedData.h Atom.h AtomMap.h AtomMask.h AtomType.h AxisType.h BaseIOtype.h Box.h BoxArgs.h BufferedLine.h CharMask.h Cluster/Algorithm.h Cluster/BestReps.h Cluster/CentroidArray.h Cluster/Cframes.h Cluster/Control.h Cluster/DrawGraph.h Cluster/List.h Cluster/Metric.h Cluster/MetricArray.h Cluster/Node.h Cluster/Sieve.h Cluster/Silhouette.h ClusterMap.h Cmd.h CmdInput.h CmdList.h Command.h CompactFrameArray.h ComplexArray.h Constants.h Constraints.h ControlBlock.h ControlBlock_For.h CoordinateInfo.h Corr.h Cph.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataFilter.h DataSet.h DataSetList.h DataSet_1D.h DataSet_2D.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h DataSet_GridFlt.h DataSet_Mat3x3.h DataSet_MatrixDbl.h DataSet_MatrixFlt.h DataSet_Mesh.h DataSet_Modes.h DataSet_RemLog.h DataSet_Vector.h DataSet_double.h DataSet_float.h DataSet_integer.h DataSet_integer_mem.h DataSet_pH.h DataSet_string.h Deprecated.h DihedralSearch.h Dimension.h DispatchObject.h Energy.h Energy_Sander.h EnsembleIn.h EnsembleOutList.h Ewald.h EwaldOptions.h Ewald_ParticleMesh.h ExclusionArray.h Exec.h Exec_AddMissingRes.h Exec_Analyze.h Exec_Calc.h Exec_CatCrd.h Exec_Change.h Exec_ClusterMap.h Exec_CombineCoords.h Exec_Commands.h Exec_CompareClusters.h Exec_CompareEnergy.h Exec_CompareTop.h Exec_CrdAction.h Exec_CrdOut.h Exec_CreateSet.h Exec_DataFile.h Exec_DataFilter.h Exec_DataSetCmd.h Exec_Emin.h Exec_Flatten.h Exec_GenerateAmberRst.h Exec_Graft.h Exec_Help.h Exec_HmassRepartition.h Exec_LoadCrd.h Exec_LoadTraj.h Exec_ParallelAnalysis.h Exec_ParmBox.h Exec_ParmSolvent.h Exec_ParmStrip.h Exec_ParmWrite.h Exec_PermuteDihedrals.h Exec_Precision.h Exec_PrepareForLeap.h Exec_PrintData.h Exec_Random.h Exec_ReadData.h Exec_ReadEnsembleData.h Exec_ReadInput.h Exec_RotateDihedral.h Exec_RunAnalysis.h Exec_ScaleDihedralK.h Exec_SequenceAlign.h Exec_Set.h Exec_Show.h Exec_SortEnsembleData.h Exec_SplitCoords.h Exec_System.h Exec_Top.h Exec_Traj.h Exec_UpdateParameters.h Exec_ViewRst.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h GIST_PME.h Grid.h GridAction.h GridBin.h HistBin.h Hungarian.h ImageOption.h ImageTypes.h InputTrajCommon.h MapAtom.h MaskArray.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h Molecule.h NameType.h NetcdfFile.h OnlineVarT.h OutputTrajCommon.h PDBfile.h PairList.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h PubFFT.h Pucker.h Pucker_PuckerMask.h Pucker_PuckerSearch.h Pucker_PuckerToken.h RPNcalc.h Random.h Range.h ReferenceAction.h ReferenceFrame.h RemdReservoirNC.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h Spline.h SplineFxnTable.h StructureCheck.h SymbolExporting.h SymmetricRmsdCalc.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h cuda_kernels/GistCudaSetup.cuh helpme_standalone.h molsurf.h CompactFrameArray.o : CompactFrameArray.cpp Box.h CompactFrameArray.h CoordinateInfo.h CpptrajStdio.h Matrix_3x3.h Parallel.h ReplicaDimArray.h Vec3.h ComplexArray.o : ComplexArray.cpp ArrayIterator.h ComplexArray.h Constraints.o : Constraints.cpp ArgList.h Atom.h AtomMask.h AtomType.h Box.h CharMask.h Constants.h Constraints.h CoordinateInfo.h CpptrajStdio.h FileName.h Frame.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h TypeNameHolder.h Unit.h Vec3.h @@ -245,11 +245,12 @@ Exec_AddMissingRes.o : Exec_AddMissingRes.cpp Action.h ActionFrameCounter.h Acti Exec_Analyze.o : Exec_Analyze.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Cmd.h CmdList.h Command.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Analyze.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_Calc.o : Exec_Calc.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Calc.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h RPNcalc.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CatCrd.o : Exec_CatCrd.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CatCrd.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h -Exec_Change.o : Exec_Change.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Change.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h +Exec_Change.o : Exec_Change.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Change.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_ClusterMap.o : Exec_ClusterMap.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h ClusterMap.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_2D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_MatrixFlt.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_ClusterMap.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CombineCoords.o : Exec_CombineCoords.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CombineCoords.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_Commands.o : Exec_Commands.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Commands.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareClusters.o : Exec_CompareClusters.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareClusters.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h +Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnergyKernel_HarmonicBond.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareTop.o : Exec_CompareTop.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareTop.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdAction.o : Exec_CrdAction.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Cmd.h CmdList.h Command.h CompactFrameArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdAction.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdOut.o : Exec_CrdOut.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdOut.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h diff --git a/src/cpptrajfiles b/src/cpptrajfiles index 8927674c65..555b55fbbe 100644 --- a/src/cpptrajfiles +++ b/src/cpptrajfiles @@ -250,6 +250,7 @@ COMMON_SOURCES= \ Exec_CombineCoords.cpp \ Exec_Commands.cpp \ Exec_CompareClusters.cpp \ + Exec_CompareEnergy.cpp \ Exec_CompareTop.cpp \ Exec_CrdAction.cpp \ Exec_CrdOut.cpp \ From 6b6af0f88c1163f8a9097523423e7408690d0725 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 25 Apr 2022 08:57:32 -0400 Subject: [PATCH 057/191] Start full precision COORDS set --- src/DataSet_Coords_FRM.cpp | 18 ++++++++++++++ src/DataSet_Coords_FRM.h | 48 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 src/DataSet_Coords_FRM.cpp create mode 100644 src/DataSet_Coords_FRM.h diff --git a/src/DataSet_Coords_FRM.cpp b/src/DataSet_Coords_FRM.cpp new file mode 100644 index 0000000000..2f1dfcfab2 --- /dev/null +++ b/src/DataSet_Coords_FRM.cpp @@ -0,0 +1,18 @@ +#include "DataSet_Coords_FRM.h" + +/** CONSTRUCTOR */ +DataSet_Coords_FRM::DataSet_Coords_FRM() {} + +#ifdef MPI +// FIXME Sync +#endif + +/** Add a single element. */ +void DataSet_Coords_FRM::Add(size_t idx, const void* frmPtr) { + if (idx > frames_.size()) + frames_.resize( idx ); + // Insert at end + frames_.push_back( *((Frame*)frmPtr) ); +} + + diff --git a/src/DataSet_Coords_FRM.h b/src/DataSet_Coords_FRM.h new file mode 100644 index 0000000000..7148b1a819 --- /dev/null +++ b/src/DataSet_Coords_FRM.h @@ -0,0 +1,48 @@ +#ifndef INC_DATASET_COORDS_FRM_H +#define INC_DATASET_COORDS_FRM_H +#include "DataSet_Coords.h" +/// Hold full-precision array of Frames in memory. +class DataSet_Coords_FRM : public DataSet_Coords { + public: + /// CONSTRUCTOR + DataSet_Coords_FRM(); + /// Allocate DataSet + static DataSet* Alloc() { return (DataSet*)new DataSet_Coords_FRM(); } + // ----- DataSet functions ------------------- + /// \return Number of frames + size_t Size() const { return frames_.size(); } + /// \return array containing sizes for each dimension (frames) + SizeArray DimSizes() const { return SizeArray(1, Size()); } +# ifdef MPI + /// Synchronize all data to the master process + int Sync(size_t, std::vector const&, Parallel::Comm const&); +# endif + /// Print info to stdout + void Info() const { return; } + /// Add single element + void Add(size_t, const void*); + /// Reserve memory using given array of dimensions + int Allocate(SizeArray const&); + /// \return Size of set in bytes + size_t MemUsageInBytes() const; + /// Allocate array using given array of dimensions + int MemAlloc(SizeArray const&); + /// Copy a block of the DataSet + void CopyBlock(size_t, const DataSet*, size_t, size_t); + // ----- DataSet_Coords functions ------------ + /// Add a frame + void AddFrame(Frame const&); + /// Set frame at specified position + void SetCRD(int, Frame const&); + /// Get a frame at position. + void GetFrame(int, Frame&); + /// Get a frame at position corresponding to mask. + void GetFrame(int, Frame&, AtomMask const&); + /// Set topology and coordinate information + int CoordsSetup(Topology const&, CoordinateInfo const&); + // ------------------------------------------- + private: + typedef std::vector FrmArrayType; + FrmArrayType frames_; ///< Array of Frames +}; +#endif From 0dbf4c207a48a90a5808d850451164afe3b4d442 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 25 Apr 2022 09:13:52 -0400 Subject: [PATCH 058/191] Add more functions --- src/DataSet_Coords_FRM.cpp | 59 ++++++++++++++++++++++++++++++++++++-- src/DataSet_Coords_FRM.h | 4 +-- 2 files changed, 59 insertions(+), 4 deletions(-) diff --git a/src/DataSet_Coords_FRM.cpp b/src/DataSet_Coords_FRM.cpp index 2f1dfcfab2..df4431cfb7 100644 --- a/src/DataSet_Coords_FRM.cpp +++ b/src/DataSet_Coords_FRM.cpp @@ -1,18 +1,73 @@ #include "DataSet_Coords_FRM.h" +#include "CpptrajStdio.h" /** CONSTRUCTOR */ DataSet_Coords_FRM::DataSet_Coords_FRM() {} +// ----------------------------------------------- #ifdef MPI // FIXME Sync #endif /** Add a single element. */ -void DataSet_Coords_FRM::Add(size_t idx, const void* frmPtr) { +void DataSet_Coords_FRM::Add(size_t idx, const void* ptrIn) { + Frame const* frmPtr = static_cast( ptrIn ); + if (frmPtr->Natom() != top_.Natom()) { + mprintf("Warning: DataSet_Coords_FRM::Add: Incoming frame has %i atoms but topology '%s' has %i\n", + frmPtr->Natom(), top_.c_str(), top_.Natom()); + } if (idx > frames_.size()) frames_.resize( idx ); // Insert at end - frames_.push_back( *((Frame*)frmPtr) ); + frames_.push_back( *frmPtr ); } +/** Reserve space in frames_ array. */ +int DataSet_Coords_FRM::Allocate(SizeArray const& sizeIn) { + //rprintf("DEBUG: Calling Allocate: SizeArray[0]= %zu framesToReserve= %i\n", sizeIn[0], framesToReserve_); + if (!sizeIn.empty()) { + /*framesToReserve_ = (int)sizeIn[0]; + if (frames_.HasComponents()) + frames_.Resize( framesToReserve_ );*/ + frames_.reserve( sizeIn[0] ); + } + return 0; +} + +/** Allocate space in frames_ array. */ +int DataSet_Coords_FRM::MemAlloc( SizeArray const& sizeIn ) { + //rprintf("DEBUG: MemAlloc resize %s to %zu\n", legend(), sizeIn[0]); + if (!sizeIn.empty()) { + //framesToReserve_ = (int)sizeIn[0]; + //frames_.Resize( framesToReserve_ ); + frames_.resize( sizeIn[0] ); + } + return 0; +} + +/** \return Sum of bytes used by all frames in array. */ +size_t DataSet_Coords_FRM::MemUsageInBytes() const { + size_t total = 0; + for (FrmArrayType::const_iterator it = frames_.begin(); it != frames_.end(); ++it) + total += it->DataSize(); + return total; +} + +/** Copy block from incoming set of same type. + * \param startIdx Position in this set to copy to. + * \param dptrIn Set to copy from. + * \param pos Position in dptrIn to copy from. + * \param nelts Number of elements from dptrIn to copy. + */ +void DataSet_Coords_FRM::CopyBlock(size_t startIdx, DataSet const* dptrIn, size_t pos, size_t nelts) +{ + DataSet_Coords_FRM const& setIn = static_cast( *dptrIn ); + size_t tgtidx = startIdx; + size_t srcend = pos + nelts; + for (size_t srcidx = pos; srcidx != srcend; srcidx++, tgtidx++) + frames_[tgtidx] = setIn.frames_[srcidx]; +} + +// ----------------------------------------------- + diff --git a/src/DataSet_Coords_FRM.h b/src/DataSet_Coords_FRM.h index 7148b1a819..53e89a67f1 100644 --- a/src/DataSet_Coords_FRM.h +++ b/src/DataSet_Coords_FRM.h @@ -23,10 +23,10 @@ class DataSet_Coords_FRM : public DataSet_Coords { void Add(size_t, const void*); /// Reserve memory using given array of dimensions int Allocate(SizeArray const&); - /// \return Size of set in bytes - size_t MemUsageInBytes() const; /// Allocate array using given array of dimensions int MemAlloc(SizeArray const&); + /// \return Size of set in bytes + size_t MemUsageInBytes() const; /// Copy a block of the DataSet void CopyBlock(size_t, const DataSet*, size_t, size_t); // ----- DataSet_Coords functions ------------ From 405b748b9f4c2f8b137222ddac5569b59d58f716 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 25 Apr 2022 09:30:11 -0400 Subject: [PATCH 059/191] Finish and enable the set --- src/DataSet.h | 3 +- src/DataSetList.cpp | 2 ++ src/DataSet_Coords_FRM.cpp | 71 ++++++++++++++++++++++++++++++++++++-- src/cpptrajdepend | 1 + src/cpptrajfiles | 1 + 5 files changed, 75 insertions(+), 3 deletions(-) diff --git a/src/DataSet.h b/src/DataSet.h index 33223f4fdf..7671fae211 100644 --- a/src/DataSet.h +++ b/src/DataSet.h @@ -28,7 +28,8 @@ class DataSet { UNKNOWN_DATA=0, DOUBLE, FLOAT, INTEGER, STRING, MATRIX_DBL, MATRIX_FLT, COORDS, VECTOR, MODES, GRID_FLT, GRID_DBL, REMLOG, XYMESH, TRAJ, REF_FRAME, MAT3X3, TOPOLOGY, PH, PH_EXPL, PH_IMPL, - PARAMETERS, PMATRIX_MEM, PMATRIX_NC, TENSOR, STRINGVAR, VECTOR_SCALAR, UNSIGNED_INTEGER + PARAMETERS, PMATRIX_MEM, PMATRIX_NC, TENSOR, STRINGVAR, VECTOR_SCALAR, UNSIGNED_INTEGER, + FRAMES }; /// Group DataSet belongs to. enum DataGroup { diff --git a/src/DataSetList.cpp b/src/DataSetList.cpp index 9486970992..1fd12e93ec 100644 --- a/src/DataSetList.cpp +++ b/src/DataSetList.cpp @@ -34,6 +34,7 @@ #include "DataSet_StringVar.h" #include "DataSet_Vector_Scalar.h" #include "DataSet_unsignedInt.h" +#include "DataSet_Coords_FRM.h" bool DataSetList::useDiskCache_ = false; @@ -71,6 +72,7 @@ DataSet* DataSetList::NewSet(DataSet::DataType typeIn) { case DataSet::REMLOG : ds = DataSet_RemLog::Alloc(); break; case DataSet::XYMESH : ds = DataSet_Mesh::Alloc(); break; case DataSet::TRAJ : ds = DataSet_Coords_TRJ::Alloc(); break; + case DataSet::FRAMES : ds = DataSet_Coords_FRM::Alloc(); break; case DataSet::REF_FRAME : ds = DataSet_Coords_REF::Alloc(); break; case DataSet::MAT3X3 : ds = DataSet_Mat3x3::Alloc(); break; case DataSet::TOPOLOGY : ds = DataSet_Topology::Alloc(); break; diff --git a/src/DataSet_Coords_FRM.cpp b/src/DataSet_Coords_FRM.cpp index df4431cfb7..ec9edea873 100644 --- a/src/DataSet_Coords_FRM.cpp +++ b/src/DataSet_Coords_FRM.cpp @@ -2,11 +2,38 @@ #include "CpptrajStdio.h" /** CONSTRUCTOR */ -DataSet_Coords_FRM::DataSet_Coords_FRM() {} +DataSet_Coords_FRM::DataSet_Coords_FRM() : + DataSet_Coords(FRAMES) +{} // ----------------------------------------------- #ifdef MPI -// FIXME Sync +/** Sync all frames to the master process. */ +int DataSet_Coords_FRM::Sync(size_t total, std::vector const& rank_frames, + Parallel::Comm const& commIn) +{ + if (commIn.Size()==1) return 0; + if (commIn.Master()) { + // Resize for total number of frames. + frames_.resize( total, AllocateFrame() ); + int cidx = rank_frames[0]; // Frame Index on master + // Receive data from each rank + for (int rank = 1; rank < commIn.Size(); rank++) { + for (int idx = 0; idx < rank_frames[rank]; idx++) { + //rprintf("DEBUG: MASTER RECEIVE from rank %i cidx=%i rank_frames=%i FrameSize=%u\n", + // rank, cidx, rank_frames[rank], frames_.FrameSize()); + frames_[cidx++].RecvFrame( rank, commIn ); + } + } + } else {// Send data to master + for (unsigned int idx = 0; idx < Size(); idx++) { + //rprintf("DEBUG: RANK %i SEND TO MASTER Size=%zu FrameSize=%u\n", + // commIn.Rank(), Size(), frames_.FrameSize()); + frames_[idx].SendFrame(0, commIn); + } + } + return 0; +} #endif /** Add a single element. */ @@ -69,5 +96,45 @@ void DataSet_Coords_FRM::CopyBlock(size_t startIdx, DataSet const* dptrIn, size_ } // ----------------------------------------------- +/** Set up COORDS with given Topology and coordinate info. */ +int DataSet_Coords_FRM::CoordsSetup(Topology const& topIn, CoordinateInfo const& cInfoIn) { + top_ = topIn; + cInfo_ = cInfoIn; + //if (frames_.SetupFrameArray(cInfo_, topIn.Natom(), framesToReserve_)) { + // mprinterr("Internal Error: Could not set up CompactFrameArray for '%s'\n", legend()); + // return 1; + //} + return 0; +} + +/** Add frame to array. */ +void DataSet_Coords_FRM::AddFrame(Frame const& fIn) { + if (fIn.Natom() != top_.Natom()) { + mprintf("Warning: DataSet_Coords_FRM::AddFrame: Incoming frame has %i atoms but topology '%s' has %i\n", + fIn.Natom(), top_.c_str(), top_.Natom()); + } + frames_.push_back( fIn ); +} + +/** Copy frame to specified position in array. */ +void DataSet_Coords_FRM::SetCRD(int idx, Frame const& fIn) { + if (fIn.Natom() != top_.Natom()) { + mprintf("Warning: DataSet_Coords_FRM::SetCrd: Incoming frame has %i atoms but topology '%s' has %i\n", + fIn.Natom(), top_.c_str(), top_.Natom()); + } + if (idx > (int)frames_.size()) // TODO fix this sign issue + frames_.resize( idx ); + frames_[idx] = fIn; +} + +/** Get a frame from specified position in array. */ +void DataSet_Coords_FRM::GetFrame(int idx, Frame& fOut) { + fOut.SetFrame( frames_[idx] ); +} + +/** Get selected atoms from a frame from specified position in array. */ +void DataSet_Coords_FRM::GetFrame(int idx, Frame& fOut, AtomMask const& mask) { + fOut.SetFrame( frames_[idx], mask ); +} diff --git a/src/cpptrajdepend b/src/cpptrajdepend index 42294de53a..b654599405 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -194,6 +194,7 @@ DataSet_1D.o : DataSet_1D.cpp ArrayIterator.h AssociatedData.h ComplexArray.h Co DataSet_3D.o : DataSet_3D.cpp AssociatedData.h Box.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_3D.h Dimension.h FileIO.h FileName.h GridBin.h Matrix_3x3.h MetaData.h Parallel.h Range.h TextFormat.h Vec3.h DataSet_Coords.o : DataSet_Coords.cpp AssociatedData.h Atom.h AtomMask.h AtomType.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_Coords.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Topology.h TypeNameHolder.h Unit.h Vec3.h DataSet_Coords_CRD.o : DataSet_Coords_CRD.cpp AssociatedData.h Atom.h AtomMask.h AtomType.h Box.h CompactFrameArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_Coords.h DataSet_Coords_CRD.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Topology.h TypeNameHolder.h Unit.h Vec3.h +DataSet_Coords_FRM.o : DataSet_Coords_FRM.cpp AssociatedData.h Atom.h AtomMask.h AtomType.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_Coords.h DataSet_Coords_FRM.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Topology.h TypeNameHolder.h Unit.h Vec3.h DataSet_Coords_REF.o : DataSet_Coords_REF.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h FileIO.h FileName.h Frame.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Topology.h TrajFrameCounter.h Trajin.h Trajin_Single.h TypeNameHolder.h Unit.h Vec3.h DataSet_Coords_TRJ.o : DataSet_Coords_TRJ.cpp AssociatedData.h Atom.h AtomMask.h AtomType.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_Coords.h DataSet_Coords_TRJ.h Dimension.h FileIO.h FileName.h Frame.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Topology.h TrajFrameCounter.h TrajFrameIndex.h Trajin.h Trajin_Single.h TypeNameHolder.h Unit.h Vec3.h DataSet_GridDbl.o : DataSet_GridDbl.cpp ArrayIterator.h AssociatedData.h Box.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_3D.h DataSet_GridDbl.h Dimension.h FileIO.h FileName.h Grid.h GridBin.h Matrix_3x3.h MetaData.h Parallel.h Range.h StringRoutines.h TextFormat.h Vec3.h diff --git a/src/cpptrajfiles b/src/cpptrajfiles index 555b55fbbe..b433eae05e 100644 --- a/src/cpptrajfiles +++ b/src/cpptrajfiles @@ -195,6 +195,7 @@ COMMON_SOURCES= \ DataSet_3D.cpp \ DataSet_Coords.cpp \ DataSet_Coords_CRD.cpp \ + DataSet_Coords_FRM.cpp \ DataSet_Coords_REF.cpp \ DataSet_Coords_TRJ.cpp \ DataSet_GridDbl.cpp \ From ae31e6fec1dd0cb1ae04f5fd71740804366e3100 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 25 Apr 2022 10:00:22 -0400 Subject: [PATCH 060/191] Enable the double precision array set --- src/DataSet.cpp | 3 ++- src/Exec_LoadCrd.cpp | 36 ++++++++++++++++++++++++++---------- src/cpptrajdepend | 2 +- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/DataSet.cpp b/src/DataSet.cpp index 31a1dbca14..cabaf04cbb 100644 --- a/src/DataSet.cpp +++ b/src/DataSet.cpp @@ -31,7 +31,8 @@ const char* DataSet::Descriptions_[] = { "tensor", // TENSOR "string variable", // STRINGVAR "vector with scalar", // VECTOR_SCALAR - "unsigned integer" // UNSIGNED_INTEGER + "unsigned integer", // UNSIGNED_INTEGER + "frames" // FRAMES }; // CONSTRUCTOR diff --git a/src/Exec_LoadCrd.cpp b/src/Exec_LoadCrd.cpp index eb4193d77a..ba688c01de 100644 --- a/src/Exec_LoadCrd.cpp +++ b/src/Exec_LoadCrd.cpp @@ -4,7 +4,8 @@ void Exec_LoadCrd::Help() const { mprintf("\t [%s] [] [name ]\n", DataSetList::TopArgs); - mprintf(" Load trajectory as a COORDS data set named (default ).\n"); + mprintf("\t[prec {single|double}]\n"); + mprintf(" Load trajectory as a COORDS/FRAMES data set named (default ).\n"); } Exec::RetType Exec_LoadCrd::Execute(CpptrajState& State, ArgList& argIn) { @@ -14,6 +15,19 @@ Exec::RetType Exec_LoadCrd::Execute(CpptrajState& State, ArgList& argIn) { mprinterr("Error: loadcrd: No parm files loaded.\n"); return CpptrajState::ERR; } + // Get desired precision + DataSet::DataType setType = DataSet::COORDS; + std::string precArg = argIn.GetStringKey("prec"); + if (!precArg.empty()) { + if (precArg == "single") + setType = DataSet::COORDS; + else if (precArg == "double") + setType = DataSet::FRAMES; + else { + mprinterr("Error: Invalid arg for prec '%s'\n", precArg.c_str()); + return CpptrajState::ERR; + } + } // Load trajectory Trajin_Single trajin; trajin.SetDebug( State.Debug() ); @@ -31,33 +45,35 @@ Exec::RetType Exec_LoadCrd::Execute(CpptrajState& State, ArgList& argIn) { MetaData md( trajin.Traj().Filename(), setname, -1 ); // Check if set already present DataSet_Coords* coords = 0; - DataSet* ds = State.DSL().FindSetOfType( setname, DataSet::COORDS ); + DataSet* ds = State.DSL().FindSetOfGroup( setname, DataSet::COORDINATES ); if (ds == 0) { // Create Set - coords = (DataSet_Coords*)State.DSL().AddSet(DataSet::COORDS, md); + coords = (DataSet_Coords*)State.DSL().AddSet(setType, md); if (coords == 0) { - mprinterr("Error: loadcrd: Could not set up COORDS data set.\n"); + mprinterr("Error: loadcrd: Could not set up %s data set.\n", DataSet::description(setType)); return CpptrajState::ERR; } coords->CoordsSetup( *parm, trajin.TrajCoordInfo() ); mprintf("\tLoading trajectory '%s' as '%s'\n", trajin.Traj().Filename().full(), coords->legend()); } else { - // Check that set is actually coords. - if (ds->Type() != DataSet::COORDS) { - mprinterr("Error: Set %s present but is not of type COORDS.\n", ds->legend()); + // Check that set type matches. + if (ds->Type() != setType) { + mprinterr("Error: Set %s present but is not of type '%s'.\n", + ds->legend(), DataSet::description(setType)); return CpptrajState::ERR; } coords = (DataSet_Coords*)ds; // Check that topology matches. For now just check # atoms. if (parm->Natom() != coords->Top().Natom()) { - mprinterr("Error: Trajectory '%s' # atoms %i does not match COORDS data set '%s' (%i)\n", + mprinterr("Error: Trajectory '%s' # atoms %i does not match %s data set '%s' (%i)\n", trajin.Traj().Filename().full(), parm->Natom(), + DataSet::description(setType), coords->legend(), coords->Top().Natom()); return CpptrajState::ERR; } - mprintf("\tAppending trajectory '%s' to COORDS data set '%s'\n", - trajin.Traj().Filename().full(), coords->legend()); + mprintf("\tAppending trajectory '%s' to %s data set '%s'\n", + trajin.Traj().Filename().full(), DataSet::description(setType), coords->legend()); } // Read trajectory TODO progress bar trajin.BeginTraj(); diff --git a/src/cpptrajdepend b/src/cpptrajdepend index b654599405..c7572408ae 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -189,7 +189,7 @@ DataIO_VecTraj.o : DataIO_VecTraj.cpp ActionFrameCounter.h ArgList.h ArrayIterat DataIO_XVG.o : DataIO_XVG.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_XVG.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TypeNameHolder.h Unit.h Vec3.h DataIO_Xplor.o : DataIO_Xplor.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_Xplor.h DataSet.h DataSetList.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_GridFlt.h Dimension.h FileIO.h FileName.h Frame.h Grid.h GridBin.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TypeNameHolder.h Unit.h Vec3.h DataSet.o : DataSet.cpp AssociatedData.h CpptrajFile.h CpptrajStdio.h DataSet.h Dimension.h FileIO.h FileName.h MetaData.h Parallel.h Range.h TextFormat.h -DataSetList.o : DataSetList.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h AtomType.h Box.h Cluster/Cframes.h Cluster/Cmatrix_NC.h CompactFrameArray.h ComplexArray.h Constants.h CoordinateInfo.h Cph.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSetList.h DataSet_1D.h DataSet_2D.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h DataSet_Coords_TRJ.h DataSet_GridDbl.h DataSet_GridFlt.h DataSet_Mat3x3.h DataSet_MatrixDbl.h DataSet_MatrixFlt.h DataSet_Mesh.h DataSet_Modes.h DataSet_PHREMD.h DataSet_PHREMD_Explicit.h DataSet_PHREMD_Implicit.h DataSet_PairwiseCache.h DataSet_PairwiseCache_MEM.h DataSet_PairwiseCache_NC.h DataSet_Parameters.h DataSet_RemLog.h DataSet_StringVar.h DataSet_Tensor.h DataSet_Topology.h DataSet_Vector.h DataSet_Vector_Scalar.h DataSet_double.h DataSet_float.h DataSet_integer.h DataSet_integer_disk.h DataSet_integer_mem.h DataSet_pH.h DataSet_string.h DataSet_unsignedInt.h Dimension.h FileIO.h FileName.h Frame.h Grid.h GridBin.h InputTrajCommon.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h Spline.h StringRoutines.h SymbolExporting.h SymmetricTensor.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajFrameIndex.h Trajin.h TypeNameHolder.h Unit.h Vec3.h +DataSetList.o : DataSetList.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h AtomType.h Box.h Cluster/Cframes.h Cluster/Cmatrix_NC.h CompactFrameArray.h ComplexArray.h Constants.h CoordinateInfo.h Cph.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSetList.h DataSet_1D.h DataSet_2D.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_FRM.h DataSet_Coords_REF.h DataSet_Coords_TRJ.h DataSet_GridDbl.h DataSet_GridFlt.h DataSet_Mat3x3.h DataSet_MatrixDbl.h DataSet_MatrixFlt.h DataSet_Mesh.h DataSet_Modes.h DataSet_PHREMD.h DataSet_PHREMD_Explicit.h DataSet_PHREMD_Implicit.h DataSet_PairwiseCache.h DataSet_PairwiseCache_MEM.h DataSet_PairwiseCache_NC.h DataSet_Parameters.h DataSet_RemLog.h DataSet_StringVar.h DataSet_Tensor.h DataSet_Topology.h DataSet_Vector.h DataSet_Vector_Scalar.h DataSet_double.h DataSet_float.h DataSet_integer.h DataSet_integer_disk.h DataSet_integer_mem.h DataSet_pH.h DataSet_string.h DataSet_unsignedInt.h Dimension.h FileIO.h FileName.h Frame.h Grid.h GridBin.h InputTrajCommon.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h Spline.h StringRoutines.h SymbolExporting.h SymmetricTensor.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajFrameIndex.h Trajin.h TypeNameHolder.h Unit.h Vec3.h DataSet_1D.o : DataSet_1D.cpp ArrayIterator.h AssociatedData.h ComplexArray.h Constants.h Corr.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_1D.h Dimension.h FileIO.h FileName.h MetaData.h Parallel.h PubFFT.h Range.h TextFormat.h DataSet_3D.o : DataSet_3D.cpp AssociatedData.h Box.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_3D.h Dimension.h FileIO.h FileName.h GridBin.h Matrix_3x3.h MetaData.h Parallel.h Range.h TextFormat.h Vec3.h DataSet_Coords.o : DataSet_Coords.cpp AssociatedData.h Atom.h AtomMask.h AtomType.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_Coords.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Topology.h TypeNameHolder.h Unit.h Vec3.h From 28e29082477b360bae2dc1ea5c5cb73fd2b227ff Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 25 Apr 2022 10:06:40 -0400 Subject: [PATCH 061/191] Add test for new double precision coords array --- test/Test_LoadCrd/RunTest.sh | 66 ++++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 17 deletions(-) diff --git a/test/Test_LoadCrd/RunTest.sh b/test/Test_LoadCrd/RunTest.sh index a4e830d8fd..3834940a2a 100755 --- a/test/Test_LoadCrd/RunTest.sh +++ b/test/Test_LoadCrd/RunTest.sh @@ -2,38 +2,41 @@ . ../MasterTest.sh -CleanFiles load.in d1-10.dat d1-12.dat +CleanFiles load.in d1-10.dat d1-12.dat frm.d1-10.dat trj.d1-10.dat \ + trajin.d1-10.dat frm.d1-12.dat + TESTNAME='COORDS data set tests' Requires netcdf INPUT="-i load.in" + # Generate comparison file Generate() { -cat > load.in < load.in < load.in < load.in < load.in < load.in < load.in < load.in < load.in < load.in < load.in < load.in < Date: Mon, 25 Apr 2022 10:35:39 -0400 Subject: [PATCH 062/191] Add masks and an output file. --- src/Exec_CompareEnergy.cpp | 73 ++++++++++++++++++++++++++++++++------ src/Exec_CompareEnergy.h | 17 +++++---- 2 files changed, 73 insertions(+), 17 deletions(-) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index 297e0b556c..c00fb37fc0 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -2,12 +2,20 @@ #include "CpptrajStdio.h" #include "EnergyKernel_HarmonicBond.h" +/** CONSRUCTOR */ +Exec_CompareEnergy::Exec_CompareEnergy() : + Exec(GENERAL) +{ + SetHidden(true); +} + // Exec_CompareEnergy::Help() void Exec_CompareEnergy::Help() const { mprintf("\tcrd0 crd1 \n"); } +/** \return COORDINATES set corresponding to setname. */ DataSet_Coords* Exec_CompareEnergy::GetCoordsSet(DataSetList const& DSL, std::string const& setname) { @@ -24,6 +32,7 @@ DataSet_Coords* Exec_CompareEnergy::GetCoordsSet(DataSetList const& DSL, return CRD; } +/// For calculating non-imaged distance^2 between two xyz points template T Distance2Kernel(T const* a1, T const* a2) { T x = a1[0] - a2[0]; T y = a1[1] - a2[1]; @@ -34,7 +43,7 @@ template T Distance2Kernel(T const* a1, T const* a2) { return (x*x + y*y + z*z); } - +/// \return Energy for given bond static inline double EBOND(Frame const& frame0, BondType const& b0, BondParmArray const& bpa0) @@ -51,13 +60,14 @@ static inline double EBOND(Frame const& frame0, return ene; } - +/** Compare bond energies between two frames. */ void Exec_CompareEnergy::CalcBondEnergy(Frame const& frame0, BondArray const& bonds0, BondParmArray const& bpa0, Frame const& frame1, BondArray const& bonds1, BondParmArray const& bpa1) +const { if (bonds0.size() != bonds1.size()) { mprintf("Warning: Different # of bonds (%zu vs %zu)\n", bonds0.size(), bonds1.size()); @@ -71,20 +81,25 @@ void Exec_CompareEnergy::CalcBondEnergy(Frame const& frame0, bonds0[bidx].A1()+1, bonds0[bidx].A2()+1, bonds1[bidx].A1()+1, bonds1[bidx].A2()+1); continue; } - double ene0 = EBOND(frame0, bonds0[bidx], bpa0); - double ene1 = EBOND(frame1, bonds1[bidx], bpa1); - double delta = ene0 - ene1; - mprintf("\t%8i %8i %12.4f %12.4f %12.4f\n", - bonds0[bidx].A1()+1, bonds0[bidx].A2()+1, - ene0, ene1, delta); + if ( (mask1_.AtomInCharMask(bonds0[bidx].A1()) && mask2_.AtomInCharMask(bonds0[bidx].A2())) && + (mask1_.AtomInCharMask(bonds0[bidx].A2()) && mask2_.AtomInCharMask(bonds0[bidx].A1())) ) + { + + double ene0 = EBOND(frame0, bonds0[bidx], bpa0); + double ene1 = EBOND(frame1, bonds1[bidx], bpa1); + double delta = ene0 - ene1; + bondout_->Printf("\t%8i %8i %12.4f %12.4f %12.4f\n", + bonds0[bidx].A1()+1, bonds0[bidx].A2()+1, + ene0, ene1, delta); + } } } - - +/** Do bond energy comparison. */ void Exec_CompareEnergy::BondEnergy(Frame const& frame0, Topology const& top0, Frame const& frame1, Topology const& top1) +const { CalcBondEnergy(frame0, top0.Bonds(), top0.BondParm(), frame1, top1.Bonds(), top1.BondParm()); @@ -92,8 +107,9 @@ void Exec_CompareEnergy::BondEnergy(Frame const& frame0, Topology const& top0, frame1, top1.BondsH(), top1.BondParm()); } - +/** Compare energies between two coords sets. */ int Exec_CompareEnergy::GetEnergies(DataSet_Coords* crd0, DataSet_Coords* crd1) +const { if (crd0->Size() < 1) { mprinterr("Error: '%s' has no frames.\n", crd0->legend()); @@ -136,6 +152,41 @@ Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) DataSet_Coords* crd1 = GetCoordsSet(State.DSL(), argIn.GetStringKey("crd1")); if (crd1 == 0) return CpptrajState::ERR; + bondout_ = State.DFL().AddCpptrajFile( argIn.GetStringKey("bondout"), + "bond comparison", + DataFileList::TEXT, + true ); + if (bondout_ == 0) { + mprinterr("Internal Error: Could not allocate bond comparison file.\n"); + return CpptrajState::ERR; + } + + mask1_.SetMaskString( argIn.GetStringKey("mask1") ); + mask2_.SetMaskString( argIn.GetStringKey("mask2") ); + + mprintf("\tMask 1: %s\n", mask1_.MaskString()); + mprintf("\tMask 2: %s\n", mask2_.MaskString()); + + if (crd0->Top().SetupCharMask( mask1_ )) { + mprinterr("Error: Setting up mask '%s' failed.\n", mask1_.MaskString()); + return CpptrajState::ERR; + } + if (mask1_.None()) { + mprinterr("Error: No atoms selected by '%s'\n", mask1_.MaskString()); + return CpptrajState::ERR; + } + if (crd0->Top().SetupCharMask( mask2_ )) { + mprinterr("Error: Setting up mask '%s' failed.\n", mask2_.MaskString()); + return CpptrajState::ERR; + } + if (mask2_.None()) { + mprinterr("Error: No atoms selected by '%s'\n", mask2_.MaskString()); + return CpptrajState::ERR; + } + + mask1_.MaskInfo(); + mask2_.MaskInfo(); + if (GetEnergies(crd0, crd1)) return CpptrajState::ERR; return CpptrajState::OK; diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h index 52ee54d3e5..7f69904fa0 100644 --- a/src/Exec_CompareEnergy.h +++ b/src/Exec_CompareEnergy.h @@ -1,19 +1,24 @@ #ifndef INC_EXEC_COMPAREENERGY_H #define INC_EXEC_COMPAREENERGY_H #include "Exec.h" +#include "CharMask.h" /// class Exec_CompareEnergy : public Exec { public: - Exec_CompareEnergy() : Exec(GENERAL) {} + Exec_CompareEnergy(); void Help() const; DispatchObject* Alloc() const { return (DispatchObject*)new Exec_CompareEnergy(); } RetType Execute(CpptrajState&, ArgList&); private: static DataSet_Coords* GetCoordsSet(DataSetList const&, std::string const&); - static int GetEnergies(DataSet_Coords*, DataSet_Coords*); - static void CalcBondEnergy(Frame const&, BondArray const&, BondParmArray const&, - Frame const&, BondArray const&, BondParmArray const&); - static void BondEnergy(Frame const&, Topology const&, - Frame const&, Topology const&); + int GetEnergies(DataSet_Coords*, DataSet_Coords*) const; + void CalcBondEnergy(Frame const&, BondArray const&, BondParmArray const&, + Frame const&, BondArray const&, BondParmArray const&) const; + void BondEnergy(Frame const&, Topology const&, + Frame const&, Topology const&) const; + + CharMask mask1_; + CharMask mask2_; + CpptrajFile* bondout_; }; #endif From 87a75657dbea3a6b7735acefb39dd2f43ca1437c Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 25 Apr 2022 10:48:59 -0400 Subject: [PATCH 063/191] Change to avgDelta2 --- src/Exec_CompareEnergy.cpp | 19 ++++++++++++++++--- src/Exec_CompareEnergy.h | 4 +++- src/cpptrajdepend | 2 +- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index c00fb37fc0..34443366b7 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -1,3 +1,4 @@ +#include #include "Exec_CompareEnergy.h" #include "CpptrajStdio.h" #include "EnergyKernel_HarmonicBond.h" @@ -66,7 +67,9 @@ void Exec_CompareEnergy::CalcBondEnergy(Frame const& frame0, BondParmArray const& bpa0, Frame const& frame1, BondArray const& bonds1, - BondParmArray const& bpa1) + BondParmArray const& bpa1, + double& E0, double& E1, + Stats& avgDelta2) const { if (bonds0.size() != bonds1.size()) { @@ -86,11 +89,14 @@ const { double ene0 = EBOND(frame0, bonds0[bidx], bpa0); + E0 += ene0; double ene1 = EBOND(frame1, bonds1[bidx], bpa1); + E1 += ene1; double delta = ene0 - ene1; bondout_->Printf("\t%8i %8i %12.4f %12.4f %12.4f\n", bonds0[bidx].A1()+1, bonds0[bidx].A2()+1, ene0, ene1, delta); + avgDelta2.accumulate( delta*delta ); } } @@ -101,10 +107,17 @@ void Exec_CompareEnergy::BondEnergy(Frame const& frame0, Topology const& top0, Frame const& frame1, Topology const& top1) const { + Stats avgDelta2; + double E0 = 0; + double E1 = 0; CalcBondEnergy(frame0, top0.Bonds(), top0.BondParm(), - frame1, top1.Bonds(), top1.BondParm()); + frame1, top1.Bonds(), top1.BondParm(), E0, E1, avgDelta2); CalcBondEnergy(frame0, top0.BondsH(), top0.BondParm(), - frame1, top1.BondsH(), top1.BondParm()); + frame1, top1.BondsH(), top1.BondParm(), E0, E1, avgDelta2); + double rmse = sqrt( avgDelta2.mean() ); + bondout_->Printf("Bond E0 = %f\n", E0); + bondout_->Printf("Bond E1 = %f\n", E1); + bondout_->Printf("Bond RMSE = %f\n", rmse); } /** Compare energies between two coords sets. */ diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h index 7f69904fa0..198e3a4e17 100644 --- a/src/Exec_CompareEnergy.h +++ b/src/Exec_CompareEnergy.h @@ -2,6 +2,7 @@ #define INC_EXEC_COMPAREENERGY_H #include "Exec.h" #include "CharMask.h" +#include "OnlineVarT.h" /// class Exec_CompareEnergy : public Exec { public: @@ -13,7 +14,8 @@ class Exec_CompareEnergy : public Exec { static DataSet_Coords* GetCoordsSet(DataSetList const&, std::string const&); int GetEnergies(DataSet_Coords*, DataSet_Coords*) const; void CalcBondEnergy(Frame const&, BondArray const&, BondParmArray const&, - Frame const&, BondArray const&, BondParmArray const&) const; + Frame const&, BondArray const&, BondParmArray const&, + double&, double&, Stats&) const; void BondEnergy(Frame const&, Topology const&, Frame const&, Topology const&) const; diff --git a/src/cpptrajdepend b/src/cpptrajdepend index c7572408ae..0f734ba680 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -251,7 +251,7 @@ Exec_ClusterMap.o : Exec_ClusterMap.cpp Action.h ActionList.h ActionState.h Anal Exec_CombineCoords.o : Exec_CombineCoords.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CombineCoords.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_Commands.o : Exec_Commands.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Commands.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareClusters.o : Exec_CompareClusters.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareClusters.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h -Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnergyKernel_HarmonicBond.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h +Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnergyKernel_HarmonicBond.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareTop.o : Exec_CompareTop.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareTop.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdAction.o : Exec_CrdAction.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Cmd.h CmdList.h Command.h CompactFrameArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdAction.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdOut.o : Exec_CrdOut.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdOut.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h From 1a62680f6f586091b8f0777067d443c9b065fe95 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 25 Apr 2022 11:05:31 -0400 Subject: [PATCH 064/191] Add E0, E1, and average delta --- src/Exec_CompareEnergy.cpp | 17 ++++++++++------- src/Exec_CompareEnergy.h | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index 34443366b7..0e68bb3cb8 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -69,6 +69,7 @@ void Exec_CompareEnergy::CalcBondEnergy(Frame const& frame0, BondArray const& bonds1, BondParmArray const& bpa1, double& E0, double& E1, + Stats& avgDelta, Stats& avgDelta2) const { @@ -84,7 +85,7 @@ const bonds0[bidx].A1()+1, bonds0[bidx].A2()+1, bonds1[bidx].A1()+1, bonds1[bidx].A2()+1); continue; } - if ( (mask1_.AtomInCharMask(bonds0[bidx].A1()) && mask2_.AtomInCharMask(bonds0[bidx].A2())) && + if ( (mask1_.AtomInCharMask(bonds0[bidx].A1()) && mask2_.AtomInCharMask(bonds0[bidx].A2())) || (mask1_.AtomInCharMask(bonds0[bidx].A2()) && mask2_.AtomInCharMask(bonds0[bidx].A1())) ) { @@ -96,6 +97,7 @@ const bondout_->Printf("\t%8i %8i %12.4f %12.4f %12.4f\n", bonds0[bidx].A1()+1, bonds0[bidx].A2()+1, ene0, ene1, delta); + avgDelta.accumulate( delta ); avgDelta2.accumulate( delta*delta ); } } @@ -107,17 +109,18 @@ void Exec_CompareEnergy::BondEnergy(Frame const& frame0, Topology const& top0, Frame const& frame1, Topology const& top1) const { - Stats avgDelta2; + Stats avgDelta, avgDelta2; double E0 = 0; double E1 = 0; CalcBondEnergy(frame0, top0.Bonds(), top0.BondParm(), - frame1, top1.Bonds(), top1.BondParm(), E0, E1, avgDelta2); + frame1, top1.Bonds(), top1.BondParm(), E0, E1, avgDelta, avgDelta2); CalcBondEnergy(frame0, top0.BondsH(), top0.BondParm(), - frame1, top1.BondsH(), top1.BondParm(), E0, E1, avgDelta2); + frame1, top1.BondsH(), top1.BondParm(), E0, E1, avgDelta, avgDelta2); double rmse = sqrt( avgDelta2.mean() ); - bondout_->Printf("Bond E0 = %f\n", E0); - bondout_->Printf("Bond E1 = %f\n", E1); - bondout_->Printf("Bond RMSE = %f\n", rmse); + bondout_->Printf("Bond E0 = %f\n", E0); + bondout_->Printf("Bond E1 = %f\n", E1); + bondout_->Printf("Bond = %f\n", avgDelta.mean()); + bondout_->Printf("Bond RMSE = %f\n", rmse); } /** Compare energies between two coords sets. */ diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h index 198e3a4e17..7255ea6738 100644 --- a/src/Exec_CompareEnergy.h +++ b/src/Exec_CompareEnergy.h @@ -15,7 +15,7 @@ class Exec_CompareEnergy : public Exec { int GetEnergies(DataSet_Coords*, DataSet_Coords*) const; void CalcBondEnergy(Frame const&, BondArray const&, BondParmArray const&, Frame const&, BondArray const&, BondParmArray const&, - double&, double&, Stats&) const; + double&, double&, Stats&, Stats&) const; void BondEnergy(Frame const&, Topology const&, Frame const&, Topology const&) const; From f297f59b85a1cdc50c8b1f339868c3f5ad93d117 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 25 Apr 2022 11:24:15 -0400 Subject: [PATCH 065/191] Put res/atom name info in the output file --- src/Exec_CompareEnergy.cpp | 19 +++++++++++-------- src/Exec_CompareEnergy.h | 4 ++-- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index 0e68bb3cb8..099878ca2c 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -62,9 +62,11 @@ static inline double EBOND(Frame const& frame0, } /** Compare bond energies between two frames. */ -void Exec_CompareEnergy::CalcBondEnergy(Frame const& frame0, +void Exec_CompareEnergy::CalcBondEnergy(Topology const& top0, + Frame const& frame0, BondArray const& bonds0, BondParmArray const& bpa0, + Topology const& top1, Frame const& frame1, BondArray const& bonds1, BondParmArray const& bpa1, @@ -93,9 +95,10 @@ const E0 += ene0; double ene1 = EBOND(frame1, bonds1[bidx], bpa1); E1 += ene1; - double delta = ene0 - ene1; - bondout_->Printf("\t%8i %8i %12.4f %12.4f %12.4f\n", - bonds0[bidx].A1()+1, bonds0[bidx].A2()+1, + double delta = ene1 - ene0; + bondout_->Printf("%-12s %-12s %12.4f %12.4f %12.4f\n", + top0.TruncResAtomName(bonds0[bidx].A1()).c_str(), + top0.TruncResAtomName(bonds0[bidx].A2()).c_str(), ene0, ene1, delta); avgDelta.accumulate( delta ); avgDelta2.accumulate( delta*delta ); @@ -112,10 +115,10 @@ const Stats avgDelta, avgDelta2; double E0 = 0; double E1 = 0; - CalcBondEnergy(frame0, top0.Bonds(), top0.BondParm(), - frame1, top1.Bonds(), top1.BondParm(), E0, E1, avgDelta, avgDelta2); - CalcBondEnergy(frame0, top0.BondsH(), top0.BondParm(), - frame1, top1.BondsH(), top1.BondParm(), E0, E1, avgDelta, avgDelta2); + CalcBondEnergy(top0, frame0, top0.Bonds(), top0.BondParm(), + top1, frame1, top1.Bonds(), top1.BondParm(), E0, E1, avgDelta, avgDelta2); + CalcBondEnergy(top0, frame0, top0.BondsH(), top0.BondParm(), + top1, frame1, top1.BondsH(), top1.BondParm(), E0, E1, avgDelta, avgDelta2); double rmse = sqrt( avgDelta2.mean() ); bondout_->Printf("Bond E0 = %f\n", E0); bondout_->Printf("Bond E1 = %f\n", E1); diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h index 7255ea6738..a7f51b4e1f 100644 --- a/src/Exec_CompareEnergy.h +++ b/src/Exec_CompareEnergy.h @@ -13,8 +13,8 @@ class Exec_CompareEnergy : public Exec { private: static DataSet_Coords* GetCoordsSet(DataSetList const&, std::string const&); int GetEnergies(DataSet_Coords*, DataSet_Coords*) const; - void CalcBondEnergy(Frame const&, BondArray const&, BondParmArray const&, - Frame const&, BondArray const&, BondParmArray const&, + void CalcBondEnergy(Topology const&, Frame const&, BondArray const&, BondParmArray const&, + Topology const&, Frame const&, BondArray const&, BondParmArray const&, double&, double&, Stats&, Stats&) const; void BondEnergy(Frame const&, Topology const&, Frame const&, Topology const&) const; From 4f5b34496938a9074c54448570327b18e2afd5f1 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 25 Apr 2022 14:46:51 -0400 Subject: [PATCH 066/191] Save bond delta E to data set. Report bond lengths and length delta. --- src/Exec_CompareEnergy.cpp | 40 +++++++++++++++++++++++++------------- src/Exec_CompareEnergy.h | 2 ++ src/cpptrajdepend | 2 +- 3 files changed, 30 insertions(+), 14 deletions(-) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index 099878ca2c..18f9963270 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -1,11 +1,14 @@ #include #include "Exec_CompareEnergy.h" #include "CpptrajStdio.h" +#include "DataSet_double.h" #include "EnergyKernel_HarmonicBond.h" /** CONSRUCTOR */ Exec_CompareEnergy::Exec_CompareEnergy() : - Exec(GENERAL) + Exec(GENERAL), + bondout_(0), + bondDelta_(0) { SetHidden(true); } @@ -47,7 +50,8 @@ template T Distance2Kernel(T const* a1, T const* a2) { /// \return Energy for given bond static inline double EBOND(Frame const& frame0, BondType const& b0, - BondParmArray const& bpa0) + BondParmArray const& bpa0, + double& r0) { if (b0.Idx() < 0) { mprintf("Warning: Bond %i -- %i has no parameters.\n", b0.A1()+1, b0.A2()+1); @@ -56,8 +60,8 @@ static inline double EBOND(Frame const& frame0, BondParmType const& bp0 = bpa0[b0.Idx()]; double r20 = Distance2Kernel( frame0.XYZ(b0.A1()), frame0.XYZ(b0.A2()) ); - double ene = EnergyKernel_HarmonicBond( sqrt(r20), - bp0.Rk(), bp0.Req() ); + r0 = sqrt(r20); + double ene = EnergyKernel_HarmonicBond( r0, bp0.Rk(), bp0.Req() ); return ene; } @@ -90,16 +94,19 @@ const if ( (mask1_.AtomInCharMask(bonds0[bidx].A1()) && mask2_.AtomInCharMask(bonds0[bidx].A2())) || (mask1_.AtomInCharMask(bonds0[bidx].A2()) && mask2_.AtomInCharMask(bonds0[bidx].A1())) ) { - - double ene0 = EBOND(frame0, bonds0[bidx], bpa0); + double r0 = 0; + double r1 = 0; + double ene0 = EBOND(frame0, bonds0[bidx], bpa0, r0); E0 += ene0; - double ene1 = EBOND(frame1, bonds1[bidx], bpa1); + double ene1 = EBOND(frame1, bonds1[bidx], bpa1, r1); E1 += ene1; double delta = ene1 - ene0; - bondout_->Printf("%-12s %-12s %12.4f %12.4f %12.4f\n", + double rdelta = r1 - r0; + bondDelta_->AddElement( delta ); + bondout_->Printf("%-12s %-12s %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f\n", top0.TruncResAtomName(bonds0[bidx].A1()).c_str(), top0.TruncResAtomName(bonds0[bidx].A2()).c_str(), - ene0, ene1, delta); + ene0, ene1, delta, r0, r1, rdelta); avgDelta.accumulate( delta ); avgDelta2.accumulate( delta*delta ); } @@ -120,10 +127,10 @@ const CalcBondEnergy(top0, frame0, top0.BondsH(), top0.BondParm(), top1, frame1, top1.BondsH(), top1.BondParm(), E0, E1, avgDelta, avgDelta2); double rmse = sqrt( avgDelta2.mean() ); - bondout_->Printf("Bond E0 = %f\n", E0); - bondout_->Printf("Bond E1 = %f\n", E1); - bondout_->Printf("Bond = %f\n", avgDelta.mean()); - bondout_->Printf("Bond RMSE = %f\n", rmse); + bondout_->Printf("#Bond E0 = %f\n", E0); + bondout_->Printf("#Bond E1 = %f\n", E1); + bondout_->Printf("#Bond = %f\n", avgDelta.mean()); + bondout_->Printf("#Bond RMSE = %f\n", rmse); } /** Compare energies between two coords sets. */ @@ -180,6 +187,13 @@ Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) return CpptrajState::ERR; } + std::string dsname = argIn.GetStringKey("name"); + if (dsname.empty()) + dsname = State.DSL().GenerateDefaultName("ECOMPARE"); + bondDelta_ = (DataSet_double*)State.DSL().AddSet(DataSet::DOUBLE, MetaData(dsname, "bonddelta")); + if (bondDelta_ == 0) return CpptrajState::ERR; + mprintf("\tBond delta set: %s\n", bondDelta_->legend()); + mask1_.SetMaskString( argIn.GetStringKey("mask1") ); mask2_.SetMaskString( argIn.GetStringKey("mask2") ); diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h index a7f51b4e1f..ef6bca1ce6 100644 --- a/src/Exec_CompareEnergy.h +++ b/src/Exec_CompareEnergy.h @@ -3,6 +3,7 @@ #include "Exec.h" #include "CharMask.h" #include "OnlineVarT.h" +class DataSet_double; /// class Exec_CompareEnergy : public Exec { public: @@ -22,5 +23,6 @@ class Exec_CompareEnergy : public Exec { CharMask mask1_; CharMask mask2_; CpptrajFile* bondout_; + DataSet_double* bondDelta_; }; #endif diff --git a/src/cpptrajdepend b/src/cpptrajdepend index 0f734ba680..741c440313 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -251,7 +251,7 @@ Exec_ClusterMap.o : Exec_ClusterMap.cpp Action.h ActionList.h ActionState.h Anal Exec_CombineCoords.o : Exec_CombineCoords.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CombineCoords.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_Commands.o : Exec_Commands.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Commands.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareClusters.o : Exec_CompareClusters.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareClusters.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h -Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnergyKernel_HarmonicBond.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h +Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h EnergyKernel_HarmonicBond.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareTop.o : Exec_CompareTop.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareTop.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdAction.o : Exec_CrdAction.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Cmd.h CmdList.h Command.h CompactFrameArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdAction.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdOut.o : Exec_CrdOut.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdOut.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h From 280138e617b8acfbe4a7d85b8108430bfe0e8a68 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 26 Apr 2022 08:42:32 -0400 Subject: [PATCH 067/191] Add R delta set and stats --- src/Exec_CompareEnergy.cpp | 52 ++++++++++++++++++++++++-------------- src/Exec_CompareEnergy.h | 6 +++-- 2 files changed, 37 insertions(+), 21 deletions(-) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index 18f9963270..4f7eae119c 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -8,7 +8,8 @@ Exec_CompareEnergy::Exec_CompareEnergy() : Exec(GENERAL), bondout_(0), - bondDelta_(0) + bondDeltaE_(0), + bondDeltaR_(0) { SetHidden(true); } @@ -75,8 +76,10 @@ void Exec_CompareEnergy::CalcBondEnergy(Topology const& top0, BondArray const& bonds1, BondParmArray const& bpa1, double& E0, double& E1, - Stats& avgDelta, - Stats& avgDelta2) + Stats& avgEDelta, + Stats& avgEDelta2, + Stats& avgRDelta, + Stats& avgRDelta2) const { if (bonds0.size() != bonds1.size()) { @@ -100,15 +103,18 @@ const E0 += ene0; double ene1 = EBOND(frame1, bonds1[bidx], bpa1, r1); E1 += ene1; - double delta = ene1 - ene0; + double edelta = ene1 - ene0; double rdelta = r1 - r0; - bondDelta_->AddElement( delta ); + bondDeltaE_->AddElement( edelta ); + bondDeltaR_->AddElement( rdelta ); bondout_->Printf("%-12s %-12s %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f\n", top0.TruncResAtomName(bonds0[bidx].A1()).c_str(), top0.TruncResAtomName(bonds0[bidx].A2()).c_str(), - ene0, ene1, delta, r0, r1, rdelta); - avgDelta.accumulate( delta ); - avgDelta2.accumulate( delta*delta ); + ene0, ene1, edelta, r0, r1, rdelta); + avgEDelta.accumulate( edelta ); + avgEDelta2.accumulate( edelta*edelta ); + avgRDelta.accumulate( rdelta ); + avgRDelta2.accumulate( rdelta*rdelta ); } } @@ -119,18 +125,23 @@ void Exec_CompareEnergy::BondEnergy(Frame const& frame0, Topology const& top0, Frame const& frame1, Topology const& top1) const { - Stats avgDelta, avgDelta2; + Stats avgEDelta, avgEDelta2, avgRDelta, avgRDelta2; double E0 = 0; double E1 = 0; CalcBondEnergy(top0, frame0, top0.Bonds(), top0.BondParm(), - top1, frame1, top1.Bonds(), top1.BondParm(), E0, E1, avgDelta, avgDelta2); + top1, frame1, top1.Bonds(), top1.BondParm(), E0, E1, + avgEDelta, avgEDelta2, avgRDelta, avgRDelta2); CalcBondEnergy(top0, frame0, top0.BondsH(), top0.BondParm(), - top1, frame1, top1.BondsH(), top1.BondParm(), E0, E1, avgDelta, avgDelta2); - double rmse = sqrt( avgDelta2.mean() ); - bondout_->Printf("#Bond E0 = %f\n", E0); - bondout_->Printf("#Bond E1 = %f\n", E1); - bondout_->Printf("#Bond = %f\n", avgDelta.mean()); - bondout_->Printf("#Bond RMSE = %f\n", rmse); + top1, frame1, top1.BondsH(), top1.BondParm(), E0, E1, + avgEDelta, avgEDelta2, avgRDelta, avgRDelta2); + double ermse = sqrt( avgEDelta2.mean() ); + double rrmse = sqrt( avgRDelta2.mean() ); + bondout_->Printf("#Bond E0 = %f\n", E0); + bondout_->Printf("#Bond E1 = %f\n", E1); + bondout_->Printf("#Bond = %f\n", avgEDelta.mean()); + bondout_->Printf("#Bond ene RMSE = %f\n", ermse); + bondout_->Printf("#Bond = %f\n", avgRDelta.mean()); + bondout_->Printf("#Bond len RMSE = %f\n", rrmse); } /** Compare energies between two coords sets. */ @@ -190,9 +201,12 @@ Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) std::string dsname = argIn.GetStringKey("name"); if (dsname.empty()) dsname = State.DSL().GenerateDefaultName("ECOMPARE"); - bondDelta_ = (DataSet_double*)State.DSL().AddSet(DataSet::DOUBLE, MetaData(dsname, "bonddelta")); - if (bondDelta_ == 0) return CpptrajState::ERR; - mprintf("\tBond delta set: %s\n", bondDelta_->legend()); + bondDeltaE_ = (DataSet_double*)State.DSL().AddSet(DataSet::DOUBLE, MetaData(dsname, "bondedelta")); + if (bondDeltaE_ == 0) return CpptrajState::ERR; + mprintf("\tBond energy delta set: %s\n", bondDeltaE_->legend()); + bondDeltaR_ = (DataSet_double*)State.DSL().AddSet(DataSet::DOUBLE, MetaData(dsname, "bondrdelta")); + if (bondDeltaR_ == 0) return CpptrajState::ERR; + mprintf("\tBond length delta set: %s\n", bondDeltaR_->legend()); mask1_.SetMaskString( argIn.GetStringKey("mask1") ); mask2_.SetMaskString( argIn.GetStringKey("mask2") ); diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h index ef6bca1ce6..9006e23084 100644 --- a/src/Exec_CompareEnergy.h +++ b/src/Exec_CompareEnergy.h @@ -16,13 +16,15 @@ class Exec_CompareEnergy : public Exec { int GetEnergies(DataSet_Coords*, DataSet_Coords*) const; void CalcBondEnergy(Topology const&, Frame const&, BondArray const&, BondParmArray const&, Topology const&, Frame const&, BondArray const&, BondParmArray const&, - double&, double&, Stats&, Stats&) const; + double&, double&, + Stats&, Stats&, Stats&, Stats&) const; void BondEnergy(Frame const&, Topology const&, Frame const&, Topology const&) const; CharMask mask1_; CharMask mask2_; CpptrajFile* bondout_; - DataSet_double* bondDelta_; + DataSet_double* bondDeltaE_; + DataSet_double* bondDeltaR_; }; #endif From 7bae279d5e56d84ef3d16d285466e99387d5b465 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 26 Apr 2022 09:10:17 -0400 Subject: [PATCH 068/191] Add a header --- src/Exec_CompareEnergy.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index 4f7eae119c..9115785001 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -125,6 +125,9 @@ void Exec_CompareEnergy::BondEnergy(Frame const& frame0, Topology const& top0, Frame const& frame1, Topology const& top1) const { + bondout_->Printf("%-12s %-12s %12s %12s %12s %12s %12s %12s\n", + "#Name0", "Name1", "Ene0", "Ene1", "Edelta", "R0", "R1", "Rdelta"); + Stats avgEDelta, avgEDelta2, avgRDelta, avgRDelta2; double E0 = 0; double E1 = 0; From 26e95437f39aabff3f7a37d858f7c69d67f41035 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 27 Apr 2022 09:11:16 -0400 Subject: [PATCH 069/191] Change to Harmonic, can be used for angles too --- src/EnergyKernel_Harmonic.h | 8 ++++++++ src/EnergyKernel_HarmonicBond.h | 8 -------- 2 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 src/EnergyKernel_Harmonic.h delete mode 100644 src/EnergyKernel_HarmonicBond.h diff --git a/src/EnergyKernel_Harmonic.h b/src/EnergyKernel_Harmonic.h new file mode 100644 index 0000000000..69e54607a6 --- /dev/null +++ b/src/EnergyKernel_Harmonic.h @@ -0,0 +1,8 @@ +#ifndef INC_ENERGYKERNEL_HARMONIC_H +#define INC_ENERGYKERNEL_HARMONIC_H +template T EnergyKernel_Harmonic(T r, T Rk, T Req) { + T rdiff = r - Req; + T ene = Rk * (rdiff * rdiff); + return ene; +}; +#endif diff --git a/src/EnergyKernel_HarmonicBond.h b/src/EnergyKernel_HarmonicBond.h deleted file mode 100644 index c525bd65ff..0000000000 --- a/src/EnergyKernel_HarmonicBond.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef INC_ENERGYKERNEL_HARMONICBOND_H -#define INC_ENERGYKERNEL_HARMONICBOND_H -template T EnergyKernel_HarmonicBond(T r, T Rk, T Req) { - T rdiff = r - Req; - T ene = Rk * (rdiff * rdiff); - return ene; -}; -#endif From 7dd9a93ba20ed3dd67202fd156d81ecbc4d2c8e4 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 27 Apr 2022 09:41:52 -0400 Subject: [PATCH 070/191] Start a class template to generalize the energy comparison calc --- src/Exec_CompareEnergy.cpp | 103 ++++++++++++++++++++++++++++++++++++- src/cpptrajdepend | 2 +- 2 files changed, 102 insertions(+), 3 deletions(-) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index 9115785001..0c74e9037c 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -2,7 +2,7 @@ #include "Exec_CompareEnergy.h" #include "CpptrajStdio.h" #include "DataSet_double.h" -#include "EnergyKernel_HarmonicBond.h" +#include "EnergyKernel_Harmonic.h" /** CONSRUCTOR */ Exec_CompareEnergy::Exec_CompareEnergy() : @@ -62,10 +62,101 @@ static inline double EBOND(Frame const& frame0, double r20 = Distance2Kernel( frame0.XYZ(b0.A1()), frame0.XYZ(b0.A2()) ); r0 = sqrt(r20); - double ene = EnergyKernel_HarmonicBond( r0, bp0.Rk(), bp0.Req() ); + double ene = EnergyKernel_Harmonic( r0, bp0.Rk(), bp0.Req() ); return ene; } +/// \return Energy for given bond +static inline double EBONDFXN(Frame const& frame0, + BondType const& b0, + BondParmType const& bp0, + double& r0) +{ + if (b0.Idx() < 0) { + mprintf("Warning: Bond %i -- %i has no parameters.\n", b0.A1()+1, b0.A2()+1); + return 0; + } + double r20 = Distance2Kernel( frame0.XYZ(b0.A1()), + frame0.XYZ(b0.A2()) ); + r0 = sqrt(r20); + double ene = EnergyKernel_Harmonic( r0, bp0.Rk(), bp0.Req() ); + return ene; +} + +class Eresults { + public: + Eresults(DataSet_double* deltaE, DataSet_double* deltaR) : E0_(0), E1_(0), deltaE_(deltaE), deltaR_(deltaR) {} + + double E0_; + double E1_; + Stats avgEDelta_; + Stats avgEDelta2_; + Stats avgRDelta_; + Stats avgRDelta2_; + DataSet_double* deltaE_; + DataSet_double* deltaR_; +}; + + +template void CalcEnergy( Eresults& result, + Topology const& top0, + Frame const& frame0, + std::vector const& tarray0, + std::vector

const& parray0, + Topology const& top1, + Frame const& frame1, + std::vector const& tarray1, + std::vector

const& parray1, + CharMask const& mask1, CharMask const& mask2, + double (*fxn)(Frame const&, T const&, P const&, double&) ) +{ + if (tarray0.size() != tarray1.size()) { + mprintf("Warning: Different # of bonds (%zu vs %zu)\n", tarray0.size(), tarray1.size()); + return; + } + for (unsigned int bidx = 0; bidx != tarray0.size(); bidx++) { + T const& t0 = tarray0[bidx]; + T const& t1 = tarray1[bidx]; + if ( (t0.A1() != t1.A1()) || (t0.A2() != t1.A2()) ) { // FIXME + mprintf("Warning: Atom # mismatch.\n"); + //mprintf("Warning: Bond atom # mismatch (%i-%i vs %i-%i)\n", + // tarray0[bidx].A1()+1, tarray0[bidx].A2()+1, tarray1[bidx].A1()+1, tarray1[bidx].A2()+1); + continue; + } + if (t0.Idx() < 0) { + mprintf("Warning: No parameters for 0\n"); + continue; + } + if (t1.Idx() < 0) { + mprintf("Warning: No paramters for 1\n"); + continue; + } + if ( (mask1.AtomInCharMask(t0.A1()) && mask2.AtomInCharMask(t0.A2())) || + (mask1.AtomInCharMask(t0.A2()) && mask2.AtomInCharMask(t0.A1())) ) + { + double r0 = 0; + double r1 = 0; + double ene0 = fxn(frame0, tarray0[bidx], parray0[t0.Idx()], r0); + result.E0_ += ene0; + double ene1 = fxn(frame1, tarray1[bidx], parray1[t1.Idx()], r1); + result.E1_ += ene1; + double edelta = ene1 - ene0; + double rdelta = r1 - r0; + result.deltaE_->AddElement( edelta ); + result.deltaR_->AddElement( rdelta ); + //bondout_->Printf("%-12s %-12s %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f\n", + // top0.TruncResAtomName(bonds0[bidx].A1()).c_str(), + // top0.TruncResAtomName(bonds0[bidx].A2()).c_str(), + // ene0, ene1, edelta, r0, r1, rdelta); + //avgEDelta.accumulate( edelta ); + //avgEDelta2.accumulate( edelta*edelta ); + //avgRDelta.accumulate( rdelta ); + //avgRDelta2.accumulate( rdelta*rdelta ); + } + } +} + + /** Compare bond energies between two frames. */ void Exec_CompareEnergy::CalcBondEnergy(Topology const& top0, Frame const& frame0, @@ -128,6 +219,14 @@ const bondout_->Printf("%-12s %-12s %12s %12s %12s %12s %12s %12s\n", "#Name0", "Name1", "Ene0", "Ene1", "Edelta", "R0", "R1", "Rdelta"); + // DEBUG + Eresults Ebond(bondDeltaE_, bondDeltaR_); + CalcEnergy(Ebond, + top0, frame0, top0.Bonds(), top0.BondParm(), + top1, frame1, top1.Bonds(), top1.BondParm(), + mask1_, mask2_, EBONDFXN); + // DEBUG + Stats avgEDelta, avgEDelta2, avgRDelta, avgRDelta2; double E0 = 0; double E1 = 0; diff --git a/src/cpptrajdepend b/src/cpptrajdepend index 741c440313..aeea2018b9 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -251,7 +251,7 @@ Exec_ClusterMap.o : Exec_ClusterMap.cpp Action.h ActionList.h ActionState.h Anal Exec_CombineCoords.o : Exec_CombineCoords.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CombineCoords.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_Commands.o : Exec_Commands.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Commands.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareClusters.o : Exec_CompareClusters.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareClusters.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h -Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h EnergyKernel_HarmonicBond.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h +Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h EnergyKernel_Harmonic.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareTop.o : Exec_CompareTop.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareTop.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdAction.o : Exec_CrdAction.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Cmd.h CmdList.h Command.h CompactFrameArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdAction.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdOut.o : Exec_CrdOut.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdOut.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h From 6cf70ad60ef2145f240a7ba913a6f10b213b0872 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 27 Apr 2022 10:06:09 -0400 Subject: [PATCH 071/191] Curate the bond arrays beforehand --- src/Exec_CompareEnergy.cpp | 126 +++++++++++++++++++++++-------------- src/Exec_CompareEnergy.h | 9 +++ 2 files changed, 89 insertions(+), 46 deletions(-) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index 0c74e9037c..bec45c65ad 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -1,4 +1,5 @@ #include +#include // sprintf #include "Exec_CompareEnergy.h" #include "CpptrajStdio.h" #include "DataSet_double.h" @@ -99,60 +100,37 @@ class Eresults { template void CalcEnergy( Eresults& result, - Topology const& top0, Frame const& frame0, std::vector const& tarray0, std::vector

const& parray0, - Topology const& top1, Frame const& frame1, std::vector const& tarray1, std::vector

const& parray1, - CharMask const& mask1, CharMask const& mask2, + std::vector const& names, double (*fxn)(Frame const&, T const&, P const&, double&) ) { - if (tarray0.size() != tarray1.size()) { - mprintf("Warning: Different # of bonds (%zu vs %zu)\n", tarray0.size(), tarray1.size()); - return; - } for (unsigned int bidx = 0; bidx != tarray0.size(); bidx++) { T const& t0 = tarray0[bidx]; T const& t1 = tarray1[bidx]; - if ( (t0.A1() != t1.A1()) || (t0.A2() != t1.A2()) ) { // FIXME - mprintf("Warning: Atom # mismatch.\n"); - //mprintf("Warning: Bond atom # mismatch (%i-%i vs %i-%i)\n", - // tarray0[bidx].A1()+1, tarray0[bidx].A2()+1, tarray1[bidx].A1()+1, tarray1[bidx].A2()+1); - continue; - } - if (t0.Idx() < 0) { - mprintf("Warning: No parameters for 0\n"); - continue; - } - if (t1.Idx() < 0) { - mprintf("Warning: No paramters for 1\n"); - continue; - } - if ( (mask1.AtomInCharMask(t0.A1()) && mask2.AtomInCharMask(t0.A2())) || - (mask1.AtomInCharMask(t0.A2()) && mask2.AtomInCharMask(t0.A1())) ) - { - double r0 = 0; - double r1 = 0; - double ene0 = fxn(frame0, tarray0[bidx], parray0[t0.Idx()], r0); - result.E0_ += ene0; - double ene1 = fxn(frame1, tarray1[bidx], parray1[t1.Idx()], r1); - result.E1_ += ene1; - double edelta = ene1 - ene0; - double rdelta = r1 - r0; - result.deltaE_->AddElement( edelta ); - result.deltaR_->AddElement( rdelta ); - //bondout_->Printf("%-12s %-12s %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f\n", - // top0.TruncResAtomName(bonds0[bidx].A1()).c_str(), - // top0.TruncResAtomName(bonds0[bidx].A2()).c_str(), - // ene0, ene1, edelta, r0, r1, rdelta); - //avgEDelta.accumulate( edelta ); - //avgEDelta2.accumulate( edelta*edelta ); - //avgRDelta.accumulate( rdelta ); - //avgRDelta2.accumulate( rdelta*rdelta ); - } + + double r0 = 0; + double r1 = 0; + double ene0 = fxn(frame0, tarray0[bidx], parray0[t0.Idx()], r0); + result.E0_ += ene0; + double ene1 = fxn(frame1, tarray1[bidx], parray1[t1.Idx()], r1); + result.E1_ += ene1; + double edelta = ene1 - ene0; + double rdelta = r1 - r0; + result.deltaE_->AddElement( edelta ); + result.deltaR_->AddElement( rdelta ); + //bondout_->Printf("%-12s %-12s %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f\n", + // top0.TruncResAtomName(bonds0[bidx].A1()).c_str(), + // top0.TruncResAtomName(bonds0[bidx].A2()).c_str(), + // ene0, ene1, edelta, r0, r1, rdelta); + //avgEDelta.accumulate( edelta ); + //avgEDelta2.accumulate( edelta*edelta ); + //avgRDelta.accumulate( rdelta ); + //avgRDelta2.accumulate( rdelta*rdelta ); } } @@ -222,9 +200,9 @@ const // DEBUG Eresults Ebond(bondDeltaE_, bondDeltaR_); CalcEnergy(Ebond, - top0, frame0, top0.Bonds(), top0.BondParm(), - top1, frame1, top1.Bonds(), top1.BondParm(), - mask1_, mask2_, EBONDFXN); + frame0, commonBonds0_, top0.BondParm(), + frame1, commonBonds1_, top1.BondParm(), + bondNames_, EBONDFXN); // DEBUG Stats avgEDelta, avgEDelta2, avgRDelta, avgRDelta2; @@ -283,6 +261,60 @@ const return 0; } +/** Set up array of selected bonds that top0 and top1 have in common. */ +int Exec_CompareEnergy::SetupBondArray(Topology const& top0, BondArray const& bonds0, BondArray const& bonds1) +{ + char buffer[64]; + if (bonds0.size() != bonds1.size()) { + mprintf("Warning: Different # of bonds (%zu vs %zu)\n", bonds0.size(), bonds1.size()); + return 1; + } + for (unsigned int bidx = 0; bidx != bonds0.size(); bidx++) { + BondType const& b0 = bonds0[bidx]; + BondType const& b1 = bonds1[bidx]; + if ( (b0.A1() != b1.A1()) || (b0.A2() != b1.A2()) ) { + mprintf("Warning: Bond atom # mismatch (%i-%i vs %i-%i)\n", + b0.A1()+1, b0.A2()+1, b1.A1()+1, b1.A2()+1); + continue; + } + if (b0.Idx() < 0) { + mprintf("Warning: No parameters for bond 0\n"); + continue; + } + if (b1.Idx() < 0) { + mprintf("Warning: No paramters for bond 1\n"); + continue; + } + + if ( (mask1_.AtomInCharMask(b0.A1()) && mask2_.AtomInCharMask(b0.A2())) || + (mask1_.AtomInCharMask(b0.A2()) && mask2_.AtomInCharMask(b0.A1())) ) + { + commonBonds0_.push_back( b0 ); + commonBonds1_.push_back( b1 ); + sprintf(buffer, "%-12s %-12s", + top0.TruncResAtomName(b0.A1()).c_str(), + top0.TruncResAtomName(b0.A2()).c_str()); + bondNames_.push_back( std::string(buffer) ); + } + } + + return 0; +} + +/** Set up arrays of selected bonds that top0 and top1 have in common. */ +int Exec_CompareEnergy::SetupBondArrays(Topology const& top0, Topology const& top1) { + commonBonds0_.clear(); + commonBonds1_.clear(); + bondNames_.clear(); + SetupBondArray(top0, top0.Bonds(), top1.Bonds()); + SetupBondArray(top0, top0.BondsH(), top1.BondsH()); + if (commonBonds0_.empty()) { + mprinterr("Error: No bonds in common.\n"); + return 1; + } + return 0; +} + // Exec_CompareEnergy::Execute() Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) { @@ -336,6 +368,8 @@ Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) mask1_.MaskInfo(); mask2_.MaskInfo(); + if (SetupBondArrays(crd0->Top(), crd1->Top())) return CpptrajState::ERR; + if (GetEnergies(crd0, crd1)) return CpptrajState::ERR; return CpptrajState::OK; diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h index 9006e23084..109f3a016e 100644 --- a/src/Exec_CompareEnergy.h +++ b/src/Exec_CompareEnergy.h @@ -12,6 +12,8 @@ class Exec_CompareEnergy : public Exec { DispatchObject* Alloc() const { return (DispatchObject*)new Exec_CompareEnergy(); } RetType Execute(CpptrajState&, ArgList&); private: + typedef std::vector Sarray; + static DataSet_Coords* GetCoordsSet(DataSetList const&, std::string const&); int GetEnergies(DataSet_Coords*, DataSet_Coords*) const; void CalcBondEnergy(Topology const&, Frame const&, BondArray const&, BondParmArray const&, @@ -21,10 +23,17 @@ class Exec_CompareEnergy : public Exec { void BondEnergy(Frame const&, Topology const&, Frame const&, Topology const&) const; + int SetupBondArray(Topology const&, BondArray const&, BondArray const&); + int SetupBondArrays(Topology const&, Topology const&); + CharMask mask1_; CharMask mask2_; CpptrajFile* bondout_; DataSet_double* bondDeltaE_; DataSet_double* bondDeltaR_; + + BondArray commonBonds0_; + BondArray commonBonds1_; + Sarray bondNames_; }; #endif From 334dbd6dfd843a9bd030755ffb7b2c999f0b0b72 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 27 Apr 2022 10:21:44 -0400 Subject: [PATCH 072/191] Clean up and remove old code --- src/Exec_CompareEnergy.cpp | 251 +++++++++++++------------------------ src/Exec_CompareEnergy.h | 5 +- 2 files changed, 88 insertions(+), 168 deletions(-) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index bec45c65ad..446cbcbf6b 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -38,56 +38,23 @@ DataSet_Coords* Exec_CompareEnergy::GetCoordsSet(DataSetList const& DSL, return CRD; } -/// For calculating non-imaged distance^2 between two xyz points -template T Distance2Kernel(T const* a1, T const* a2) { - T x = a1[0] - a2[0]; - T y = a1[1] - a2[1]; - T z = a1[2] - a2[2]; - //double D = x*x + y*y + z*z; - //fprintf(stdout,"Mask1=%8.3f %8.3f %8.3f Mask2=%8.3f %8.3f %8.3f D=%8.3f\n", - // a1[0],a1[1],a1[2],a2[0],a2[1],a2[2],D); - return (x*x + y*y + z*z); -} - -/// \return Energy for given bond -static inline double EBOND(Frame const& frame0, - BondType const& b0, - BondParmArray const& bpa0, - double& r0) -{ - if (b0.Idx() < 0) { - mprintf("Warning: Bond %i -- %i has no parameters.\n", b0.A1()+1, b0.A2()+1); - return 0; - } - BondParmType const& bp0 = bpa0[b0.Idx()]; - double r20 = Distance2Kernel( frame0.XYZ(b0.A1()), - frame0.XYZ(b0.A2()) ); - r0 = sqrt(r20); - double ene = EnergyKernel_Harmonic( r0, bp0.Rk(), bp0.Req() ); - return ene; -} - -/// \return Energy for given bond -static inline double EBONDFXN(Frame const& frame0, - BondType const& b0, - BondParmType const& bp0, - double& r0) -{ - if (b0.Idx() < 0) { - mprintf("Warning: Bond %i -- %i has no parameters.\n", b0.A1()+1, b0.A2()+1); - return 0; - } - double r20 = Distance2Kernel( frame0.XYZ(b0.A1()), - frame0.XYZ(b0.A2()) ); - r0 = sqrt(r20); - double ene = EnergyKernel_Harmonic( r0, bp0.Rk(), bp0.Req() ); - return ene; -} - +// ----------------------------------------------------------------------------- +/** Class to hold results from CalcEnergy */ class Eresults { public: Eresults(DataSet_double* deltaE, DataSet_double* deltaR) : E0_(0), E1_(0), deltaE_(deltaE), deltaR_(deltaR) {} + void Print(CpptrajFile* outfile, const char* header) { + double ermse = sqrt( avgEDelta2_.mean() ); + double rrmse = sqrt( avgRDelta2_.mean() ); + outfile->Printf("#%s E0 = %f\n", header, E0_); + outfile->Printf("#%s E1 = %f\n", header, E1_); + outfile->Printf("#%s = %f\n", header, avgEDelta_.mean()); + outfile->Printf("#%s ene RMSE = %f\n", header, ermse); + outfile->Printf("#%s = %f\n", header, avgRDelta_.mean()); + outfile->Printf("#%s len RMSE = %f\n", header, rrmse); + } + double E0_; double E1_; Stats avgEDelta_; @@ -98,8 +65,9 @@ class Eresults { DataSet_double* deltaR_; }; - +/** Compare energies between two frames. */ template void CalcEnergy( Eresults& result, + CpptrajFile* outfile, Frame const& frame0, std::vector const& tarray0, std::vector

const& parray0, @@ -123,70 +91,43 @@ template void CalcEnergy( Eresults& result, double rdelta = r1 - r0; result.deltaE_->AddElement( edelta ); result.deltaR_->AddElement( rdelta ); - //bondout_->Printf("%-12s %-12s %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f\n", - // top0.TruncResAtomName(bonds0[bidx].A1()).c_str(), - // top0.TruncResAtomName(bonds0[bidx].A2()).c_str(), - // ene0, ene1, edelta, r0, r1, rdelta); - //avgEDelta.accumulate( edelta ); - //avgEDelta2.accumulate( edelta*edelta ); - //avgRDelta.accumulate( rdelta ); - //avgRDelta2.accumulate( rdelta*rdelta ); + outfile->Printf("%-s %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f\n", + names[bidx].c_str(), + ene0, ene1, edelta, r0, r1, rdelta); + result.avgEDelta_.accumulate( edelta ); + result.avgEDelta2_.accumulate( edelta*edelta ); + result.avgRDelta_.accumulate( rdelta ); + result.avgRDelta2_.accumulate( rdelta*rdelta ); } } - -/** Compare bond energies between two frames. */ -void Exec_CompareEnergy::CalcBondEnergy(Topology const& top0, - Frame const& frame0, - BondArray const& bonds0, - BondParmArray const& bpa0, - Topology const& top1, - Frame const& frame1, - BondArray const& bonds1, - BondParmArray const& bpa1, - double& E0, double& E1, - Stats& avgEDelta, - Stats& avgEDelta2, - Stats& avgRDelta, - Stats& avgRDelta2) -const +// ----------------------------------------------------------------------------- +/// For calculating non-imaged distance^2 between two xyz points +template T Distance2Kernel(T const* a1, T const* a2) { + T x = a1[0] - a2[0]; + T y = a1[1] - a2[1]; + T z = a1[2] - a2[2]; + //double D = x*x + y*y + z*z; + //fprintf(stdout,"Mask1=%8.3f %8.3f %8.3f Mask2=%8.3f %8.3f %8.3f D=%8.3f\n", + // a1[0],a1[1],a1[2],a2[0],a2[1],a2[2],D); + return (x*x + y*y + z*z); +} + +/// \return Energy for given bond +static inline double EBONDFXN(Frame const& frame0, + BondType const& b0, + BondParmType const& bp0, + double& r0) { - if (bonds0.size() != bonds1.size()) { - mprintf("Warning: Different # of bonds (%zu vs %zu)\n", bonds0.size(), bonds1.size()); - return; - } - for (unsigned int bidx = 0; bidx != bonds0.size(); bidx++) { - if (bonds0[bidx].A1() != bonds1[bidx].A1() || - bonds0[bidx].A2() != bonds1[bidx].A2()) - { - mprintf("Warning: Bond atom # mismatch (%i-%i vs %i-%i)\n", - bonds0[bidx].A1()+1, bonds0[bidx].A2()+1, bonds1[bidx].A1()+1, bonds1[bidx].A2()+1); - continue; - } - if ( (mask1_.AtomInCharMask(bonds0[bidx].A1()) && mask2_.AtomInCharMask(bonds0[bidx].A2())) || - (mask1_.AtomInCharMask(bonds0[bidx].A2()) && mask2_.AtomInCharMask(bonds0[bidx].A1())) ) - { - double r0 = 0; - double r1 = 0; - double ene0 = EBOND(frame0, bonds0[bidx], bpa0, r0); - E0 += ene0; - double ene1 = EBOND(frame1, bonds1[bidx], bpa1, r1); - E1 += ene1; - double edelta = ene1 - ene0; - double rdelta = r1 - r0; - bondDeltaE_->AddElement( edelta ); - bondDeltaR_->AddElement( rdelta ); - bondout_->Printf("%-12s %-12s %12.4f %12.4f %12.4f %12.4f %12.4f %12.4f\n", - top0.TruncResAtomName(bonds0[bidx].A1()).c_str(), - top0.TruncResAtomName(bonds0[bidx].A2()).c_str(), - ene0, ene1, edelta, r0, r1, rdelta); - avgEDelta.accumulate( edelta ); - avgEDelta2.accumulate( edelta*edelta ); - avgRDelta.accumulate( rdelta ); - avgRDelta2.accumulate( rdelta*rdelta ); - } + if (b0.Idx() < 0) { + mprintf("Warning: Bond %i -- %i has no parameters.\n", b0.A1()+1, b0.A2()+1); + return 0; } - + double r20 = Distance2Kernel( frame0.XYZ(b0.A1()), + frame0.XYZ(b0.A2()) ); + r0 = sqrt(r20); + double ene = EnergyKernel_Harmonic( r0, bp0.Rk(), bp0.Req() ); + return ene; } /** Do bond energy comparison. */ @@ -197,70 +138,14 @@ const bondout_->Printf("%-12s %-12s %12s %12s %12s %12s %12s %12s\n", "#Name0", "Name1", "Ene0", "Ene1", "Edelta", "R0", "R1", "Rdelta"); - // DEBUG Eresults Ebond(bondDeltaE_, bondDeltaR_); - CalcEnergy(Ebond, + CalcEnergy(Ebond, bondout_, frame0, commonBonds0_, top0.BondParm(), frame1, commonBonds1_, top1.BondParm(), bondNames_, EBONDFXN); - // DEBUG - - Stats avgEDelta, avgEDelta2, avgRDelta, avgRDelta2; - double E0 = 0; - double E1 = 0; - CalcBondEnergy(top0, frame0, top0.Bonds(), top0.BondParm(), - top1, frame1, top1.Bonds(), top1.BondParm(), E0, E1, - avgEDelta, avgEDelta2, avgRDelta, avgRDelta2); - CalcBondEnergy(top0, frame0, top0.BondsH(), top0.BondParm(), - top1, frame1, top1.BondsH(), top1.BondParm(), E0, E1, - avgEDelta, avgEDelta2, avgRDelta, avgRDelta2); - double ermse = sqrt( avgEDelta2.mean() ); - double rrmse = sqrt( avgRDelta2.mean() ); - bondout_->Printf("#Bond E0 = %f\n", E0); - bondout_->Printf("#Bond E1 = %f\n", E1); - bondout_->Printf("#Bond = %f\n", avgEDelta.mean()); - bondout_->Printf("#Bond ene RMSE = %f\n", ermse); - bondout_->Printf("#Bond = %f\n", avgRDelta.mean()); - bondout_->Printf("#Bond len RMSE = %f\n", rrmse); + Ebond.Print( bondout_, "Bond" ); } -/** Compare energies between two coords sets. */ -int Exec_CompareEnergy::GetEnergies(DataSet_Coords* crd0, DataSet_Coords* crd1) -const -{ - if (crd0->Size() < 1) { - mprinterr("Error: '%s' has no frames.\n", crd0->legend()); - return 1; - } - if (crd1->Size() < 1) { - mprinterr("Error: '%s' has no frames.\n", crd1->legend()); - return 1; - } - - Frame frame0 = crd0->AllocateFrame(); - Frame frame1 = crd1->AllocateFrame(); - Topology const& top0 = crd0->Top(); - Topology const& top1 = crd1->Top(); - - unsigned int maxframes = std::max( crd0->Size(), crd1->Size() ); - unsigned int idx0 = 0; - unsigned int idx1 = 0; - for (unsigned int idx = 0; idx != maxframes; idx++) { - crd0->GetFrame( idx0++, frame0 ); - crd1->GetFrame( idx1++, frame1 ); - - BondEnergy(frame0, top0, frame1, top1); - - // Reset counters if needed - if (idx0 == crd0->Size()) - idx0 = 0; - if (idx1 == crd1->Size()) - idx1 = 0; - } - - return 0; -} - /** Set up array of selected bonds that top0 and top1 have in common. */ int Exec_CompareEnergy::SetupBondArray(Topology const& top0, BondArray const& bonds0, BondArray const& bonds1) { @@ -315,6 +200,44 @@ int Exec_CompareEnergy::SetupBondArrays(Topology const& top0, Topology const& to return 0; } +// ----------------------------------------------------------------------------- +/** Compare energies between two coords sets. */ +int Exec_CompareEnergy::GetEnergies(DataSet_Coords* crd0, DataSet_Coords* crd1) +const +{ + if (crd0->Size() < 1) { + mprinterr("Error: '%s' has no frames.\n", crd0->legend()); + return 1; + } + if (crd1->Size() < 1) { + mprinterr("Error: '%s' has no frames.\n", crd1->legend()); + return 1; + } + + Frame frame0 = crd0->AllocateFrame(); + Frame frame1 = crd1->AllocateFrame(); + Topology const& top0 = crd0->Top(); + Topology const& top1 = crd1->Top(); + + unsigned int maxframes = std::max( crd0->Size(), crd1->Size() ); + unsigned int idx0 = 0; + unsigned int idx1 = 0; + for (unsigned int idx = 0; idx != maxframes; idx++) { + crd0->GetFrame( idx0++, frame0 ); + crd1->GetFrame( idx1++, frame1 ); + + BondEnergy(frame0, top0, frame1, top1); + + // Reset counters if needed + if (idx0 == crd0->Size()) + idx0 = 0; + if (idx1 == crd1->Size()) + idx1 = 0; + } + + return 0; +} + // Exec_CompareEnergy::Execute() Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) { diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h index 109f3a016e..ad6a5f0dc1 100644 --- a/src/Exec_CompareEnergy.h +++ b/src/Exec_CompareEnergy.h @@ -15,11 +15,8 @@ class Exec_CompareEnergy : public Exec { typedef std::vector Sarray; static DataSet_Coords* GetCoordsSet(DataSetList const&, std::string const&); + int GetEnergies(DataSet_Coords*, DataSet_Coords*) const; - void CalcBondEnergy(Topology const&, Frame const&, BondArray const&, BondParmArray const&, - Topology const&, Frame const&, BondArray const&, BondParmArray const&, - double&, double&, - Stats&, Stats&, Stats&, Stats&) const; void BondEnergy(Frame const&, Topology const&, Frame const&, Topology const&) const; From 27a975505fbb8c06dbd17946aab51ca41ade9f8a Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 27 Apr 2022 10:44:18 -0400 Subject: [PATCH 073/191] Add angle comparison --- src/Exec_CompareEnergy.cpp | 123 ++++++++++++++++++++++++++++++++++++- src/Exec_CompareEnergy.h | 20 +++++- src/cpptrajdepend | 2 +- 3 files changed, 140 insertions(+), 5 deletions(-) diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index 446cbcbf6b..d852f4a048 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -4,13 +4,17 @@ #include "CpptrajStdio.h" #include "DataSet_double.h" #include "EnergyKernel_Harmonic.h" +#include "TorsionRoutines.h" /** CONSRUCTOR */ Exec_CompareEnergy::Exec_CompareEnergy() : Exec(GENERAL), bondout_(0), bondDeltaE_(0), - bondDeltaR_(0) + bondDeltaR_(0), + angleout_(0), + angleDeltaE_(0), + angleDeltaR_(0) { SetHidden(true); } @@ -200,6 +204,96 @@ int Exec_CompareEnergy::SetupBondArrays(Topology const& top0, Topology const& to return 0; } +// ----------------------------------------------------------------------------- +/// \return Energy for given angle +static inline double EANGFXN(Frame const& frame0, + AngleType const& b0, + AngleParmType const& bp0, + double& r0) +{ + if (b0.Idx() < 0) { + mprintf("Warning: Angle %i -- %i -- %i has no parameters.\n", b0.A1()+1, b0.A2()+1, b0.A3()+1); + return 0; + } + double theta = CalcAngle( frame0.XYZ(b0.A1()), + frame0.XYZ(b0.A2()), + frame0.XYZ(b0.A3()) ); + double ene = EnergyKernel_Harmonic( theta, bp0.Tk(), bp0.Teq() ); + return ene; +} + +/** Do angle energy comparison. */ +void Exec_CompareEnergy::AngleEnergy(Frame const& frame0, Topology const& top0, + Frame const& frame1, Topology const& top1) +const +{ + angleout_->Printf("%-12s %-12s %-12s %12s %12s %12s %12s %12s %12s\n", + "#Name0", "Name1", "Name2", "Ene0", "Ene1", "Edelta", "R0", "R1", "Rdelta"); + + Eresults Eangle(angleDeltaE_, angleDeltaR_); + CalcEnergy(Eangle, angleout_, + frame0, commonAngles0_, top0.AngleParm(), + frame1, commonAngles1_, top1.AngleParm(), + angleNames_, EANGFXN); + Eangle.Print( angleout_, "Angle" ); +} + +/** Set up array of selected angles that top0 and top1 have in common. */ +int Exec_CompareEnergy::SetupAngleArray(Topology const& top0, AngleArray const& angles0, AngleArray const& angles1) +{ + char buffer[64]; + if (angles0.size() != angles1.size()) { + mprintf("Warning: Different # of angles (%zu vs %zu)\n", angles0.size(), angles1.size()); + return 1; + } + for (unsigned int bidx = 0; bidx != angles0.size(); bidx++) { + AngleType const& b0 = angles0[bidx]; + AngleType const& b1 = angles1[bidx]; + if ( (b0.A1() != b1.A1()) || (b0.A2() != b1.A2()) || (b0.A3() != b1.A3()) ) { + mprintf("Warning: Angle atom # mismatch (%i-%i-%i vs %i-%i-%i)\n", + b0.A1()+1, b0.A2()+1, b0.A3()+1, b1.A1()+1, b1.A2()+1, b1.A3()+1); + continue; + } + if (b0.Idx() < 0) { + mprintf("Warning: No parameters for angle 0\n"); + continue; + } + if (b1.Idx() < 0) { + mprintf("Warning: No paramters for angle 1\n"); + continue; + } + + if ( (mask1_.AtomInCharMask(b0.A1()) && mask2_.AtomInCharMask(b0.A2()) && mask3_.AtomInCharMask(b0.A3())) || + (mask1_.AtomInCharMask(b0.A3()) && mask2_.AtomInCharMask(b0.A2()) && mask3_.AtomInCharMask(b0.A1())) ) + { + commonAngles0_.push_back( b0 ); + commonAngles1_.push_back( b1 ); + sprintf(buffer, "%-12s %-12s %-12s", + top0.TruncResAtomName(b0.A1()).c_str(), + top0.TruncResAtomName(b0.A2()).c_str(), + top0.TruncResAtomName(b0.A3()).c_str()); + angleNames_.push_back( std::string(buffer) ); + } + } + + return 0; +} + +/** Set up arrays of selected angles that top0 and top1 have in common. */ +int Exec_CompareEnergy::SetupAngleArrays(Topology const& top0, Topology const& top1) { + commonAngles0_.clear(); + commonAngles1_.clear(); + angleNames_.clear(); + SetupAngleArray(top0, top0.Angles(), top1.Angles()); + SetupAngleArray(top0, top0.AnglesH(), top1.AnglesH()); + if (commonAngles0_.empty()) { + mprinterr("Error: No angles in common.\n"); + return 1; + } + return 0; +} + + // ----------------------------------------------------------------------------- /** Compare energies between two coords sets. */ int Exec_CompareEnergy::GetEnergies(DataSet_Coords* crd0, DataSet_Coords* crd1) @@ -227,6 +321,7 @@ const crd1->GetFrame( idx1++, frame1 ); BondEnergy(frame0, top0, frame1, top1); + AngleEnergy(frame0, top0, frame1, top1); // Reset counters if needed if (idx0 == crd0->Size()) @@ -254,6 +349,14 @@ Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) mprinterr("Internal Error: Could not allocate bond comparison file.\n"); return CpptrajState::ERR; } + angleout_ = State.DFL().AddCpptrajFile( argIn.GetStringKey("angleout"), + "angle comparison", + DataFileList::TEXT, + true ); + if (angleout_ == 0) { + mprinterr("Internal Error: Could not allocate angle comparison file.\n"); + return CpptrajState::ERR; + } std::string dsname = argIn.GetStringKey("name"); if (dsname.empty()) @@ -264,12 +367,20 @@ Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) bondDeltaR_ = (DataSet_double*)State.DSL().AddSet(DataSet::DOUBLE, MetaData(dsname, "bondrdelta")); if (bondDeltaR_ == 0) return CpptrajState::ERR; mprintf("\tBond length delta set: %s\n", bondDeltaR_->legend()); + angleDeltaE_ = (DataSet_double*)State.DSL().AddSet(DataSet::DOUBLE, MetaData(dsname, "angleedelta")); + if (angleDeltaE_ == 0) return CpptrajState::ERR; + mprintf("\tAngle energy delta set: %s\n", angleDeltaE_->legend()); + angleDeltaR_ = (DataSet_double*)State.DSL().AddSet(DataSet::DOUBLE, MetaData(dsname, "anglerdelta")); + if (angleDeltaR_ == 0) return CpptrajState::ERR; + mprintf("\tAngle length delta set: %s\n", angleDeltaR_->legend()); mask1_.SetMaskString( argIn.GetStringKey("mask1") ); mask2_.SetMaskString( argIn.GetStringKey("mask2") ); + mask3_.SetMaskString( argIn.GetStringKey("mask3") ); mprintf("\tMask 1: %s\n", mask1_.MaskString()); mprintf("\tMask 2: %s\n", mask2_.MaskString()); + mprintf("\tMask 3: %s\n", mask3_.MaskString()); if (crd0->Top().SetupCharMask( mask1_ )) { mprinterr("Error: Setting up mask '%s' failed.\n", mask1_.MaskString()); @@ -287,11 +398,21 @@ Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) mprinterr("Error: No atoms selected by '%s'\n", mask2_.MaskString()); return CpptrajState::ERR; } + if (crd0->Top().SetupCharMask( mask3_ )) { + mprinterr("Error: Setting up mask '%s' failed.\n", mask3_.MaskString()); + return CpptrajState::ERR; + } + if (mask3_.None()) { + mprinterr("Error: No atoms selected by '%s'\n", mask3_.MaskString()); + return CpptrajState::ERR; + } mask1_.MaskInfo(); mask2_.MaskInfo(); + mask3_.MaskInfo(); if (SetupBondArrays(crd0->Top(), crd1->Top())) return CpptrajState::ERR; + if (SetupAngleArrays(crd0->Top(), crd1->Top())) return CpptrajState::ERR; if (GetEnergies(crd0, crd1)) return CpptrajState::ERR; diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h index ad6a5f0dc1..55ec6b2846 100644 --- a/src/Exec_CompareEnergy.h +++ b/src/Exec_CompareEnergy.h @@ -16,21 +16,35 @@ class Exec_CompareEnergy : public Exec { static DataSet_Coords* GetCoordsSet(DataSetList const&, std::string const&); - int GetEnergies(DataSet_Coords*, DataSet_Coords*) const; void BondEnergy(Frame const&, Topology const&, Frame const&, Topology const&) const; - int SetupBondArray(Topology const&, BondArray const&, BondArray const&); int SetupBondArrays(Topology const&, Topology const&); + void AngleEnergy(Frame const&, Topology const&, + Frame const&, Topology const&) const; + int SetupAngleArray(Topology const&, AngleArray const&, AngleArray const&); + int SetupAngleArrays(Topology const&, Topology const&); + + int GetEnergies(DataSet_Coords*, DataSet_Coords*) const; + CharMask mask1_; CharMask mask2_; + CharMask mask3_; + CpptrajFile* bondout_; DataSet_double* bondDeltaE_; DataSet_double* bondDeltaR_; - BondArray commonBonds0_; BondArray commonBonds1_; Sarray bondNames_; + + CpptrajFile* angleout_; + DataSet_double* angleDeltaE_; + DataSet_double* angleDeltaR_; + AngleArray commonAngles0_; + AngleArray commonAngles1_; + Sarray angleNames_; + }; #endif diff --git a/src/cpptrajdepend b/src/cpptrajdepend index aeea2018b9..e5f226d5c3 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -251,7 +251,7 @@ Exec_ClusterMap.o : Exec_ClusterMap.cpp Action.h ActionList.h ActionState.h Anal Exec_CombineCoords.o : Exec_CombineCoords.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CombineCoords.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_Commands.o : Exec_Commands.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Commands.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareClusters.o : Exec_CompareClusters.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareClusters.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h -Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h EnergyKernel_Harmonic.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h +Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h EnergyKernel_Harmonic.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TorsionRoutines.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareTop.o : Exec_CompareTop.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareTop.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdAction.o : Exec_CrdAction.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Cmd.h CmdList.h Command.h CompactFrameArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdAction.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdOut.o : Exec_CrdOut.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdOut.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h From 423ee22ce780c29b5e8e7c57f156ddceb9ee7a59 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 28 Apr 2022 08:45:25 -0400 Subject: [PATCH 074/191] Add dihedral comparison --- src/EnergyKernel_Fourier.h | 7 +++ src/Exec_CompareEnergy.cpp | 121 +++++++++++++++++++++++++++++++++++++ src/Exec_CompareEnergy.h | 13 ++++ src/cpptrajdepend | 2 +- 4 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 src/EnergyKernel_Fourier.h diff --git a/src/EnergyKernel_Fourier.h b/src/EnergyKernel_Fourier.h new file mode 100644 index 0000000000..822fdb7bbc --- /dev/null +++ b/src/EnergyKernel_Fourier.h @@ -0,0 +1,7 @@ +#ifndef INC_ENERGYKERNEL_FOURIER_H +#define INC_ENERGYKERNEL_FOURIER_H +template T EnergyKernel_Fourier(T phi, T Pk, T Pn, T Phase) { + T ene = Pk * (1 + cos(Pn * phi - Phase)); + return ene; +} +#endif diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index d852f4a048..16423c47bc 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -3,6 +3,7 @@ #include "Exec_CompareEnergy.h" #include "CpptrajStdio.h" #include "DataSet_double.h" +#include "EnergyKernel_Fourier.h" #include "EnergyKernel_Harmonic.h" #include "TorsionRoutines.h" @@ -293,6 +294,99 @@ int Exec_CompareEnergy::SetupAngleArrays(Topology const& top0, Topology const& t return 0; } +// ----------------------------------------------------------------------------- +/// \return Energy for given dihedral +static inline double EDIHFXN(Frame const& frame0, + DihedralType const& b0, + DihedralParmType const& bp0, + double& r0) +{ + if (b0.Idx() < 0) { + mprintf("Warning: Dihedral %i -- %i -- %i -- %i has no parameters.\n", b0.A1()+1, b0.A2()+1, b0.A3()+1, b0.A4()+1); + return 0; + } + double theta = Torsion( frame0.XYZ(b0.A1()), + frame0.XYZ(b0.A2()), + frame0.XYZ(b0.A3()), + frame0.XYZ(b0.A4()) ); + double ene = EnergyKernel_Fourier( theta, bp0.Pk(), bp0.Pn(), bp0.Phase() ); + return ene; +} + +/** Do dihedral energy comparison. */ +void Exec_CompareEnergy::DihedralEnergy(Frame const& frame0, Topology const& top0, + Frame const& frame1, Topology const& top1) +const +{ + angleout_->Printf("%-12s %-12s %-12s %-12s %12s %12s %12s %12s %12s %12s\n", + "#Name0", "Name1", "Name2", "Name3", "Ene0", "Ene1", "Edelta", "R0", "R1", "Rdelta"); + + Eresults Edihedral(dihedralDeltaE_, dihedralDeltaR_); + CalcEnergy(Edihedral, dihedralout_, + frame0, commonDihedrals0_, top0.DihedralParm(), + frame1, commonDihedrals1_, top1.DihedralParm(), + dihedralNames_, EDIHFXN); + Edihedral.Print( dihedralout_, "Dihedral" ); +} + +/** Set up array of selected dihedrals that top0 and top1 have in common. */ +int Exec_CompareEnergy::SetupDihedralArray(Topology const& top0, DihedralArray const& dihedrals0, DihedralArray const& dihedrals1) +{ + char buffer[64]; + if (dihedrals0.size() != dihedrals1.size()) { + mprintf("Warning: Different # of dihedrals (%zu vs %zu)\n", dihedrals0.size(), dihedrals1.size()); + return 1; + } + for (unsigned int bidx = 0; bidx != dihedrals0.size(); bidx++) { + DihedralType const& b0 = dihedrals0[bidx]; + DihedralType const& b1 = dihedrals1[bidx]; + if ( (b0.A1() != b1.A1()) || (b0.A2() != b1.A2()) || (b0.A3() != b1.A3()) || (b0.A4() != b1.A4()) ) { + mprintf("Warning: Dihedral atom # mismatch (%i-%i-%i-%i vs %i-%i-%i-%i)\n", + b0.A1()+1, b0.A2()+1, b0.A3()+1, b0.A4()+1, + b1.A1()+1, b1.A2()+1, b1.A3()+1, b1.A4()+1); + continue; + } + if (b0.Idx() < 0) { + mprintf("Warning: No parameters for dihedral 0\n"); + continue; + } + if (b1.Idx() < 0) { + mprintf("Warning: No paramters for dihedral 1\n"); + continue; + } + + if ( (mask1_.AtomInCharMask(b0.A1()) && mask2_.AtomInCharMask(b0.A2()) && mask3_.AtomInCharMask(b0.A3()) && mask4_.AtomInCharMask(b0.A4())) || + (mask1_.AtomInCharMask(b0.A4()) && mask2_.AtomInCharMask(b0.A3()) && mask3_.AtomInCharMask(b0.A2()) && mask4_.AtomInCharMask(b0.A1())) ) + { + commonDihedrals0_.push_back( b0 ); + commonDihedrals1_.push_back( b1 ); + sprintf(buffer, "%-12s %-12s %-12s %-12s", + top0.TruncResAtomName(b0.A1()).c_str(), + top0.TruncResAtomName(b0.A2()).c_str(), + top0.TruncResAtomName(b0.A3()).c_str(), + top0.TruncResAtomName(b0.A4()).c_str()); + dihedralNames_.push_back( std::string(buffer) ); + } + } + + return 0; +} + +/** Set up arrays of selected dihedrals that top0 and top1 have in common. */ +int Exec_CompareEnergy::SetupDihedralArrays(Topology const& top0, Topology const& top1) { + commonDihedrals0_.clear(); + commonDihedrals1_.clear(); + dihedralNames_.clear(); + SetupDihedralArray(top0, top0.Dihedrals(), top1.Dihedrals()); + SetupDihedralArray(top0, top0.DihedralsH(), top1.DihedralsH()); + if (commonDihedrals0_.empty()) { + mprinterr("Error: No dihedrals in common.\n"); + return 1; + } + return 0; +} + + // ----------------------------------------------------------------------------- /** Compare energies between two coords sets. */ @@ -322,6 +416,7 @@ const BondEnergy(frame0, top0, frame1, top1); AngleEnergy(frame0, top0, frame1, top1); + DihedralEnergy(frame0, top0, frame1, top1); // Reset counters if needed if (idx0 == crd0->Size()) @@ -357,6 +452,14 @@ Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) mprinterr("Internal Error: Could not allocate angle comparison file.\n"); return CpptrajState::ERR; } + dihedralout_ = State.DFL().AddCpptrajFile( argIn.GetStringKey("dihedralout"), + "dihedral comparison", + DataFileList::TEXT, + true ); + if (dihedralout_ == 0) { + mprinterr("Internal Error: Could not allocate dihedral comparison file.\n"); + return CpptrajState::ERR; + } std::string dsname = argIn.GetStringKey("name"); if (dsname.empty()) @@ -373,14 +476,22 @@ Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) angleDeltaR_ = (DataSet_double*)State.DSL().AddSet(DataSet::DOUBLE, MetaData(dsname, "anglerdelta")); if (angleDeltaR_ == 0) return CpptrajState::ERR; mprintf("\tAngle length delta set: %s\n", angleDeltaR_->legend()); + dihedralDeltaE_ = (DataSet_double*)State.DSL().AddSet(DataSet::DOUBLE, MetaData(dsname, "dihedraledelta")); + if (dihedralDeltaE_ == 0) return CpptrajState::ERR; + mprintf("\tDihedral energy delta set: %s\n", dihedralDeltaE_->legend()); + dihedralDeltaR_ = (DataSet_double*)State.DSL().AddSet(DataSet::DOUBLE, MetaData(dsname, "dihedralrdelta")); + if (dihedralDeltaR_ == 0) return CpptrajState::ERR; + mprintf("\tDihedral length delta set: %s\n", dihedralDeltaR_->legend()); mask1_.SetMaskString( argIn.GetStringKey("mask1") ); mask2_.SetMaskString( argIn.GetStringKey("mask2") ); mask3_.SetMaskString( argIn.GetStringKey("mask3") ); + mask4_.SetMaskString( argIn.GetStringKey("mask4") ); mprintf("\tMask 1: %s\n", mask1_.MaskString()); mprintf("\tMask 2: %s\n", mask2_.MaskString()); mprintf("\tMask 3: %s\n", mask3_.MaskString()); + mprintf("\tMask 4: %s\n", mask4_.MaskString()); if (crd0->Top().SetupCharMask( mask1_ )) { mprinterr("Error: Setting up mask '%s' failed.\n", mask1_.MaskString()); @@ -406,13 +517,23 @@ Exec::RetType Exec_CompareEnergy::Execute(CpptrajState& State, ArgList& argIn) mprinterr("Error: No atoms selected by '%s'\n", mask3_.MaskString()); return CpptrajState::ERR; } + if (crd0->Top().SetupCharMask( mask4_ )) { + mprinterr("Error: Setting up mask '%s' failed.\n", mask4_.MaskString()); + return CpptrajState::ERR; + } + if (mask4_.None()) { + mprinterr("Error: No atoms selected by '%s'\n", mask4_.MaskString()); + return CpptrajState::ERR; + } mask1_.MaskInfo(); mask2_.MaskInfo(); mask3_.MaskInfo(); + mask4_.MaskInfo(); if (SetupBondArrays(crd0->Top(), crd1->Top())) return CpptrajState::ERR; if (SetupAngleArrays(crd0->Top(), crd1->Top())) return CpptrajState::ERR; + if (SetupDihedralArrays(crd0->Top(), crd1->Top())) return CpptrajState::ERR; if (GetEnergies(crd0, crd1)) return CpptrajState::ERR; diff --git a/src/Exec_CompareEnergy.h b/src/Exec_CompareEnergy.h index 55ec6b2846..332e9334e8 100644 --- a/src/Exec_CompareEnergy.h +++ b/src/Exec_CompareEnergy.h @@ -26,11 +26,17 @@ class Exec_CompareEnergy : public Exec { int SetupAngleArray(Topology const&, AngleArray const&, AngleArray const&); int SetupAngleArrays(Topology const&, Topology const&); + void DihedralEnergy(Frame const&, Topology const&, + Frame const&, Topology const&) const; + int SetupDihedralArray(Topology const&, DihedralArray const&, DihedralArray const&); + int SetupDihedralArrays(Topology const&, Topology const&); + int GetEnergies(DataSet_Coords*, DataSet_Coords*) const; CharMask mask1_; CharMask mask2_; CharMask mask3_; + CharMask mask4_; CpptrajFile* bondout_; DataSet_double* bondDeltaE_; @@ -46,5 +52,12 @@ class Exec_CompareEnergy : public Exec { AngleArray commonAngles1_; Sarray angleNames_; + CpptrajFile* dihedralout_; + DataSet_double* dihedralDeltaE_; + DataSet_double* dihedralDeltaR_; + DihedralArray commonDihedrals0_; + DihedralArray commonDihedrals1_; + Sarray dihedralNames_; + }; #endif diff --git a/src/cpptrajdepend b/src/cpptrajdepend index e5f226d5c3..6f7be360ea 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -251,7 +251,7 @@ Exec_ClusterMap.o : Exec_ClusterMap.cpp Action.h ActionList.h ActionState.h Anal Exec_CombineCoords.o : Exec_CombineCoords.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CombineCoords.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_Commands.o : Exec_Commands.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Commands.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareClusters.o : Exec_CompareClusters.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareClusters.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h -Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h EnergyKernel_Harmonic.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TorsionRoutines.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h +Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h EnergyKernel_Fourier.h EnergyKernel_Harmonic.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TorsionRoutines.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareTop.o : Exec_CompareTop.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareTop.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdAction.o : Exec_CrdAction.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Cmd.h CmdList.h Command.h CompactFrameArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdAction.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdOut.o : Exec_CrdOut.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdOut.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h From 231b31f056fd0fc1d79f7e49639478e835c67668 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 29 Apr 2022 15:47:09 -0400 Subject: [PATCH 075/191] Use round to try and reduce truncation errors. --- src/NetcdfFile.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 06a2307bcb..ceb96907f0 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -1,4 +1,5 @@ #include // FILE, fopen, fclose +#include // round #include "NetcdfFile.h" # include "CpptrajStdio.h" #ifdef BINTRAJ @@ -971,8 +972,10 @@ int NetcdfFile::NC_writeIntCompressed(Frame const& frmOut) { long int maxval = (long int)std::numeric_limits::max(); for (int idx = 0; idx != frmOut.size(); idx++) { + // Multiply by compression factor and round to the nearest integer + long int ii = (long int)(round(frmOut[idx] * compressedFac_)); // Try some overflow protection - long int ii = (long int)(frmOut[idx] * compressedFac_); + //long int ii = (long int)(frmOut[idx] * compressedFac_); if (ii > maxval || ii < -maxval) { mprinterr("Error: Coordinate %i frame %i (%g) is too large to convert to int.\n", idx+1, ncframe_+1, frmOut[idx]); From fef786b7dfa72f964a39e96184496eefdc01bccc Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 19 May 2022 15:54:28 -0400 Subject: [PATCH 076/191] More verbose check for BufferedFrame read --- src/BufferedFrame.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/BufferedFrame.cpp b/src/BufferedFrame.cpp index 44125485ae..69c1bba211 100644 --- a/src/BufferedFrame.cpp +++ b/src/BufferedFrame.cpp @@ -121,13 +121,13 @@ int BufferedFrame::AttemptReadFrame() { * \return false if read was successful. */ bool BufferedFrame::ReadFrame() { - return ( Read( buffer_, frameSize_ ) != (int)frameSize_ ); - /*int nread = Read(buffer_, frameSize_); + int nread = Read(buffer_, frameSize_); + //mprintf("DEBUG: %i bytes read.\n", nread); if (nread != (int)frameSize_) { - mprinterr("Error: Read %i bytes, expected %zu\n", nread, frameSize_); + mprinterr("Error: Read %i bytes, expected %zu\n", nread, frameSize_); // DEBUG return true; } - return false;*/ + return false; } int BufferedFrame::WriteFrame() { From cb3f247645e1ae3c2a3fd9aeaa924b53a212a3c6 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 20 May 2022 08:33:19 -0400 Subject: [PATCH 077/191] Better error checking for gzip read/write, and move gz calls to outside branches; seemed to cause optimization-related bugs. --- src/FileIO_Gzip.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/FileIO_Gzip.cpp b/src/FileIO_Gzip.cpp index 3153445b1f..79edd7b7a3 100644 --- a/src/FileIO_Gzip.cpp +++ b/src/FileIO_Gzip.cpp @@ -80,13 +80,24 @@ off_t FileIO_Gzip::Size(const char *filename) { // FileIO_Gzip::Read() // NOTE: gzread returns 0 on EOF, -1 on error int FileIO_Gzip::Read(void *buffer, size_t num_bytes) { - return (gzread(fp_, buffer, num_bytes)); + int n_bytes_read = gzread(fp_, buffer, num_bytes); + if (n_bytes_read < 1) { + int gzerr = 0; + const char* gzerrmsg = gzerror(fp_, &gzerr); + mprinterr("Internal Error: FileIO_Gzip::Read: %s\n", gzerrmsg); + } + return n_bytes_read; } // FileIO_Gzip::Write() int FileIO_Gzip::Write(const void *buffer, size_t num_bytes) { - if ( gzwrite(fp_, buffer, num_bytes)==0 ) return 1; - // NOTE: Check for errors here. + int n_bytes_written = gzwrite(fp_, buffer, num_bytes); + if ((size_t)n_bytes_written != num_bytes) { + int gzerr = 0; + const char* gzerrmsg = gzerror(fp_, &gzerr); + mprinterr("Internal Error: FileIO_Gzip::Write: %s\n", gzerrmsg); + return 1; + } return 0; } From ca011e7db6025bc2b8cb0b99efb5b9d1266daa01 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 20 May 2022 09:07:36 -0400 Subject: [PATCH 078/191] N bytes read < expected is only an error if negative. --- src/BufferedFrame.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/BufferedFrame.cpp b/src/BufferedFrame.cpp index 69c1bba211..83756ca22f 100644 --- a/src/BufferedFrame.cpp +++ b/src/BufferedFrame.cpp @@ -124,7 +124,8 @@ bool BufferedFrame::ReadFrame() { int nread = Read(buffer_, frameSize_); //mprintf("DEBUG: %i bytes read.\n", nread); if (nread != (int)frameSize_) { - mprinterr("Error: Read %i bytes, expected %zu\n", nread, frameSize_); // DEBUG + if (nread < 0) + mprinterr("Error: Read %i bytes, expected %zu\n", nread, frameSize_); return true; } return false; From 403017dd7e65e725dcabc40e225e5407b4a254cd Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 20 May 2022 09:18:21 -0400 Subject: [PATCH 079/191] Better trap gzseek errors --- src/FileIO_Gzip.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/FileIO_Gzip.cpp b/src/FileIO_Gzip.cpp index 79edd7b7a3..6c0c791e68 100644 --- a/src/FileIO_Gzip.cpp +++ b/src/FileIO_Gzip.cpp @@ -19,7 +19,7 @@ FileIO_Gzip::~FileIO_Gzip() { int FileIO_Gzip::Open(const char *filename, const char *mode) { if (filename == 0) return 1; fp_ = gzopen(filename, mode); - if (fp_==NULL) return 1; + if (fp_ == NULL) return 1; // Set gzip buffer size //if ( gzbuffer(fp_, GZ_BUF_SIZE)!=0 ) return 1; return 0; @@ -27,8 +27,9 @@ int FileIO_Gzip::Open(const char *filename, const char *mode) { // FileIO_Gzip::Close() int FileIO_Gzip::Close() { - if (fp_!=NULL) gzclose(fp_); - fp_=NULL; + if (fp_ != NULL) + gzclose(fp_); + fp_ = NULL; return 0; } @@ -106,8 +107,12 @@ int FileIO_Gzip::Seek(off_t offset) { z_off_t zipOffset; //if (origin == SEEK_END) return 1; - zipOffset=(z_off_t) offset; - if ( gzseek(fp_, zipOffset, SEEK_SET) < 0) return 1; + zipOffset = (z_off_t)offset; + z_off_t uncompressed_pos = gzseek(fp_, zipOffset, SEEK_SET) < 0; + if (uncompressed_pos < 0) { + mprinterr("Internal Error: FileIO_Gzip::Seek offset = %li.\n", (long int)offset); + return 1; + } return 0; } From 3fea063ef3ed8f5f70503076503762745f3fdd12 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 20 May 2022 09:23:22 -0400 Subject: [PATCH 080/191] Better error trapping for gzrewind and gzgets --- src/FileIO_Gzip.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/FileIO_Gzip.cpp b/src/FileIO_Gzip.cpp index 6c0c791e68..c1afbbeb29 100644 --- a/src/FileIO_Gzip.cpp +++ b/src/FileIO_Gzip.cpp @@ -110,7 +110,7 @@ int FileIO_Gzip::Seek(off_t offset) { zipOffset = (z_off_t)offset; z_off_t uncompressed_pos = gzseek(fp_, zipOffset, SEEK_SET) < 0; if (uncompressed_pos < 0) { - mprinterr("Internal Error: FileIO_Gzip::Seek offset = %li.\n", (long int)offset); + mprinterr("Internal Error: FileIO_Gzip::Seek failed, offset = %li\n", (long int)offset); return 1; } return 0; @@ -118,7 +118,11 @@ int FileIO_Gzip::Seek(off_t offset) { // FileIO_Gzip::Rewind() int FileIO_Gzip::Rewind() { - gzrewind(fp_); + int err = gzrewind(fp_); + if (err < 0) { + mprinterr("Internal Error: FileIO_Gzip::Rewind failed.\n"); + return 1; + } return 0; } @@ -132,9 +136,13 @@ off_t FileIO_Gzip::Tell() { // FileIO_Gzip::Gets() int FileIO_Gzip::Gets(char *str, int num) { - if ( gzgets(fp_,str,num) == NULL ) + char* pos = gzgets(fp_, str, num); + if ( pos == Z_NULL ) { + int gzerr = 0; + const char* gzerrmsg = gzerror(fp_, &gzerr); + mprinterr("Internal Error: FileIO_Gzip::Gets: %s\n", gzerrmsg); return 1; - else - return 0; + } + return 0; } #endif From edee726b5030cd0a0bca0f4ee3d41b377b449e1c Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 20 May 2022 10:09:57 -0400 Subject: [PATCH 081/191] Null from gzgets can be EOF or an error, distinguish between the two --- src/FileIO_Gzip.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/FileIO_Gzip.cpp b/src/FileIO_Gzip.cpp index c1afbbeb29..b9d2d66e41 100644 --- a/src/FileIO_Gzip.cpp +++ b/src/FileIO_Gzip.cpp @@ -137,10 +137,13 @@ off_t FileIO_Gzip::Tell() { // FileIO_Gzip::Gets() int FileIO_Gzip::Gets(char *str, int num) { char* pos = gzgets(fp_, str, num); + // Null can mean EOF or error if ( pos == Z_NULL ) { int gzerr = 0; const char* gzerrmsg = gzerror(fp_, &gzerr); - mprinterr("Internal Error: FileIO_Gzip::Gets: %s\n", gzerrmsg); + if (gzerr != 0) { + mprinterr("Internal Error: FileIO_Gzip::Gets: (%i) %s\n", gzerr, gzerrmsg); + } return 1; } return 0; From 4a768b734dad078c210591d85788a71a6e05ce75 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 24 May 2022 10:16:47 -0400 Subject: [PATCH 082/191] Recognize if netcdf is actually h5 --- src/NC_Routines.cpp | 7 +++---- src/NetcdfFile.cpp | 44 +++++++++++++++++++++++++++++--------------- src/NetcdfFile.h | 4 +++- 3 files changed, 35 insertions(+), 20 deletions(-) diff --git a/src/NC_Routines.cpp b/src/NC_Routines.cpp index fde9a918b9..cdb8b142ca 100644 --- a/src/NC_Routines.cpp +++ b/src/NC_Routines.cpp @@ -19,11 +19,10 @@ bool NC::CheckErr(int ncerr) { std::string NC::GetAttrText(int ncid, int vid, const char* attribute) { size_t attlen; std::string attrOut; - // Get attr length - if ( CheckErr(nc_inq_attlen(ncid, vid, attribute, &attlen)) ) { - mprintf("Warning: Getting length for attribute '%s'\n",attribute); + // Get attr length. Make this fail silently. + int ncerr = nc_inq_attlen(ncid, vid, attribute, &attlen); + if (ncerr != NC_NOERR) return attrOut; - } // Allocate space for attr text, plus one for null char char *attrText = new char[ (attlen + 1) ]; // Get attr text diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index ceb96907f0..ff933fe685 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -17,6 +17,11 @@ # endif #endif +/** Strings corresponding to NC_FMT_TYPE */ +const char* NetcdfFile::NcFmtTypeStr_[] = { + "Not NetCDF", "NetCDF3", "NetCDF4/HDF5" +}; + // NetcdfFile::GetNetcdfConventions() /** First check the base format type to determine NetCDF3 vs NetCDF/HDF5. * Then check that the file has the proper conventions. @@ -36,7 +41,7 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch # ifdef BINTRAJ btype = NC_V3; # else - mprintf("Warning: File '%s' appears to be NetCDF but cpptraj was compiled without NetCDF support.\n", fname); + mprintf("Warning: File '%s' appears to be NetCDF3 but cpptraj was compiled without NetCDF support.\n", fname); return nctype; # endif } else if (nread > 7 && buf[0] == 0x89 && buf[1] == 0x48 && buf[2] == 0x44 && buf[3] == 0x46 && @@ -49,6 +54,7 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch return nctype; # endif } + mprintf("DEBUG: Type: %s\n", NcFmtTypeStr_[btype]); # ifdef BINTRAJ // NOTE: Do not use checkNCerr so this fails silently. Allows routine to // be used in file autodetection. @@ -150,23 +156,31 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(int ncidIn) { NCTYPE nctype = NC_UNKNOWN; std::string attrText = NC::GetAttrText(ncidIn, "Conventions"); if (attrText.empty()) { - mprinterr("Error: Could not get conventions from NetCDF file.\n"); - } else { - for (int i = 0; i < (int)NC_UNKNOWN; i++) { - if (attrText.compare( ConventionsStr_[i] ) == 0) { - nctype = (NCTYPE)i; - break; - } + // Check if this is an MDtraj h5 file + attrText = NC::GetAttrText(ncidIn, "conventions"); + if (attrText.empty()) { + mprinterr("Error: Could not get conventions from NetCDF file.\n"); + return NC_UNKNOWN; } - if (nctype == NC_UNKNOWN) { - mprinterr("Error: NetCDF file has unrecognized conventions \"%s\".\n", - attrText.c_str()); - mprinterr("Error: Expected one of"); - for (int i = 0; i < (int)NC_UNKNOWN; i++) - mprintf(" \"%s\"", ConventionsStr_[i]); - mprinterr("\n"); + mprintf("DEBUG: This appears to be an HDF5 h5 file.\n"); + return NC_UNKNOWN; + } + // Identify the conventions string + for (int i = 0; i < (int)NC_UNKNOWN; i++) { + if (attrText.compare( ConventionsStr_[i] ) == 0) { + nctype = (NCTYPE)i; + break; } } + if (nctype == NC_UNKNOWN) { + mprinterr("Error: NetCDF file has unrecognized conventions \"%s\".\n", + attrText.c_str()); + mprinterr("Error: Expected one of"); + for (int i = 0; i < (int)NC_UNKNOWN; i++) + mprintf(" \"%s\"", ConventionsStr_[i]); + mprinterr("\n"); + } + return nctype; } diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 9385bd4443..90401919a6 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -8,7 +8,7 @@ class NetcdfFile { public: /// For determining NetCDF trajectory file type enum NCTYPE { NC_AMBERTRAJ = 0, NC_AMBERRESTART, NC_AMBERENSEMBLE, NC_UNKNOWN }; - /// For determining netcdf4/hdf5 vs netcdf3 + /// For determining netcdf4/hdf5 vs netcdf3. Sync with NcFmtTypeStr_ enum NC_FMT_TYPE { NC_NOTNC = 0, NC_V3, NC_V4 }; /// \return Type of specified file. static NCTYPE GetNetcdfConventions(NC_FMT_TYPE&, const char*); @@ -117,6 +117,8 @@ class NetcdfFile { int ensembleSize_; std::string nctitle_; private: + /// Strings corresponding to NC_FMT_TYPE + static const char* NcFmtTypeStr_[]; static const char* ConventionsStr_[]; /// \return NetCDF trajectory type based on conventions. From 2869f25032c7b8efe67ba2affc61ca4918f99601 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 24 May 2022 10:31:48 -0400 Subject: [PATCH 083/191] Start H5 trajectory class --- src/Traj_H5.cpp | 168 ++++++++++++++++++++++++++++++++++++++++++++++++ src/Traj_H5.h | 41 ++++++++++++ 2 files changed, 209 insertions(+) create mode 100644 src/Traj_H5.cpp create mode 100644 src/Traj_H5.h diff --git a/src/Traj_H5.cpp b/src/Traj_H5.cpp new file mode 100644 index 0000000000..06109e5b38 --- /dev/null +++ b/src/Traj_H5.cpp @@ -0,0 +1,168 @@ +#include "Traj_H5.h" +#include "CpptrajStdio.h" +#include "CpptrajFile.h" +#ifdef BINTRAJ +# include +# include "NC_Routines.h" +#endif + +/// CONSTRUCTOR +Traj_H5::Traj_H5() {} + +#ifdef HAS_HDF5 +bool Traj_H5::HasConventions(int ncid) { + std::string attrText = NC::GetAttrText(ncid, "conventions"); + if (attrText.empty()) + return false; + if (attrText != "Pande") { + mprinterr("Error: H5 file has conventions string that is not 'Pande'.\n"); + return false; + } + attrText = NC::GetAttrText(ncid, "conventionVersion"); + if ( attrText != "1.1") + mprintf("Warning: H5 file has conventionVersion that is not 1.1 (%s)\n", attrText.c_str()); + return true; +} +#endif + +/** Identify trajectory format. File should be setup for READ */ +bool Traj_H5::ID_TrajFormat(CpptrajFile& fileIn) { +# ifdef HAS_HDF5 + int myNcid; + if ( nc_open( fileIn.Filename().full(), NC_NOWRITE, &myNcid ) != NC_NOERR ) + return false; + if (HasConventions(myNcid)) return true; + nc_close( myNcid ); +# else + unsigned char buf[8]; + unsigned int nread = fileIn.Read(buf, 8); + if (nread > 7 && buf[0] == 0x89 && buf[1] == 0x48 && buf[2] == 0x44 && buf[3] == 0x46 && + buf[4] == 0x0d && buf[5] == 0x0a && buf[6] == 0x1a && buf[7] == 0x0a) + { + mprintf("Warning: File '%s' appears to be HDF5 but cpptraj was compiled without HDF5 support.\n", fname); + } +# endif + return false; +} + +/** Print trajectory info to stdout. */ +void Traj_H5::Info() { + mprintf("is a "); +} + +/** Close file. */ +void Traj_H5::closeTraj() { + +} + +// ----------------------------------------------------------------------------- +/** Open trajectory for reading. */ +int Traj_H5::openTrajin() { + + return 0; +} + +/** Read help */ +void Traj_H5::ReadHelp() { + +} + +/** Process read arguments. */ +int Traj_H5::processReadArgs(ArgList& argIn) { + + return 0; +} + +/** Set up trajectory for reading. + * \return Number of frames in trajectory. + */ +int Traj_H5::setupTrajin(FileName const& fname, Topology* trajParm) +{ + + return TRAJIN_ERR; +} + +/** Read specified trajectory frame. */ +int Traj_H5::readFrame(int set, Frame& frameIn) { + + return 0; +} + +/** Read velocities from specified frame. */ +int Traj_H5::readVelocity(int set, Frame& frameIn) { + + return 0; +} + +/** Read forces from specified frame. */ +int Traj_H5::readForce(int set, Frame& frameIn) { + + return 0; +} + +// ----------------------------------------------------------------------------- +/** Write help. */ +void Traj_H5::WriteHelp() { + +} + +/** Process write arguments. */ +int Traj_H5::processWriteArgs(ArgList& argIn, DataSetList const& DSLin) { + + return 0; +} + +/** Set up trajectory for write. */ +int Traj_H5::setupTrajout(FileName const& fname, Topology* trajParm, + CoordinateInfo const& cInfoIn, + int NframesToWrite, bool append) +{ + + return 1; +} + +/** Write specified trajectory frame. */ +int Traj_H5::writeFrame(int set, Frame const& frameOut) { + + return 0; +} + +// ============================================================================= +#ifdef MPI +/** Open trajectory for reading in parallel. */ +int Traj_H5::parallelOpenTrajin(Parallel::Comm const& commIn) { + return 1; +} + +/** Open trajectory for writing in parallel. */ +int Traj_H5::parallelOpenTrajout(Parallel::Comm const& commIn) { + return 1; +} + +/** Set up trajectory for write in parallel. */ +int Traj_H5::parallelSetupTrajout(FileName const& fname, Topology* trajParm, + CoordinateInfo const& cInfoIn, + int NframesToWrite, bool append, + Parallel::Comm const& commIn) +{ + + return 1; +} + +/** Read frame in parallel. */ +int Traj_H5::parallelReadFrame(int set, Frame& frameIn) { + + return 1; +} + +/** Write frame in parallel. */ +int Traj_H5::parallelWriteFrame(int set, Frame const& frameOut) { + + return 1; +} + +/** Close trajectory in parallel. */ +void Traj_H5::parallelCloseTraj() { + +} +#endif diff --git a/src/Traj_H5.h b/src/Traj_H5.h new file mode 100644 index 0000000000..deccbaf54c --- /dev/null +++ b/src/Traj_H5.h @@ -0,0 +1,41 @@ +#ifndef INC_TRAJ_H5_H +#define INC_TRAJ_H5_H +#include "TrajectoryIO.h" +/// MDtraj H5 (HDF5) format +class Traj_H5 : public TrajectoryIO { + public: + Traj_H5(); + static BaseIOtype* Alloc() { return (BaseIOtype*)new Traj_H5(); } + static void WriteHelp(); + static void ReadHelp(); + private: + // ----- Inherited functions ----------------- + bool ID_TrajFormat(CpptrajFile&); + int setupTrajin(FileName const&, Topology*); + int setupTrajout(FileName const&, Topology*, CoordinateInfo const&,int, bool); + int openTrajin(); + void closeTraj(); + int readFrame(int,Frame&); + int writeFrame(int,Frame const&); + void Info(); + int readVelocity(int, Frame&); + int readForce(int, Frame&); + int processWriteArgs(ArgList&, DataSetList const&); + int processReadArgs(ArgList&); + // ------------------------------------------- +# ifdef MPI + // ----- Parallel functions ------------------ + int parallelOpenTrajin(Parallel::Comm const&); + int parallelOpenTrajout(Parallel::Comm const&); + int parallelSetupTrajout(FileName const&, Topology*, CoordinateInfo const&, + int, bool, Parallel::Comm const&); + int parallelReadFrame(int, Frame&); + int parallelWriteFrame(int, Frame const&); + void parallelCloseTraj(); + // ------------------------------------------- +# endif +# ifdef HAS_HDF5 + static bool HasConventions(int); +# endif +}; +#endif From ee22e4bc6b0b94241f7aba29821d3d65ec2cea4c Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 24 May 2022 16:08:43 -0400 Subject: [PATCH 084/191] Recognize frame, spatial, and atom dimensions --- src/NC_Routines.cpp | 10 ++++ src/Traj_H5.cpp | 133 ++++++++++++++++++++++++++++++++++++++++- src/Traj_H5.h | 8 +++ src/TrajectoryFile.cpp | 7 +++ src/TrajectoryFile.h | 2 +- src/cpptrajdepend | 3 +- src/cpptrajfiles | 1 + 7 files changed, 159 insertions(+), 5 deletions(-) diff --git a/src/NC_Routines.cpp b/src/NC_Routines.cpp index cdb8b142ca..97c1cff776 100644 --- a/src/NC_Routines.cpp +++ b/src/NC_Routines.cpp @@ -95,6 +95,16 @@ void NC::Debug(int ncid) { ndimsp, nvarsp, ngattsp, unlimdimidp); else mprintf("NETCDF Error occurred.\n"); + // Print name of each dimension defined in netcdf file + mprintf("NC DIMS:\n"); + for (int i = 0; i < ndimsp; i++) { + err = nc_inq_dimname(ncid, i, varname); + mprintf(" Dim %i - ", i); + if (err == NC_NOERR) + mprintf("%s\n", varname); + else + mprintf("NETCDF Error occured.\n"); + } // Print name of each variable defined in netcdf file mprintf("NC VARIABLES:\n"); for (int i = 0; i < nvarsp; i++) { diff --git a/src/Traj_H5.cpp b/src/Traj_H5.cpp index 06109e5b38..ceaf5d18cf 100644 --- a/src/Traj_H5.cpp +++ b/src/Traj_H5.cpp @@ -1,13 +1,33 @@ #include "Traj_H5.h" #include "CpptrajStdio.h" #include "CpptrajFile.h" +#include "Topology.h" #ifdef BINTRAJ # include # include "NC_Routines.h" #endif +//#ifdef HAS_HDF5 +//# include +// using namespace H5; +//#endif /// CONSTRUCTOR -Traj_H5::Traj_H5() {} +Traj_H5::Traj_H5() +//#ifdef HAS_HDF5 +: +//file_(0) + ncid_(-1), + natom_(0) +//#endif +{} + +/** DESTRUCTOR */ +Traj_H5::~Traj_H5() { + closeTraj(); +//# ifdef HAS_HDF5 +// if (file_ != 0) delete file_; +//# endif +} #ifdef HAS_HDF5 bool Traj_H5::HasConventions(int ncid) { @@ -47,12 +67,21 @@ bool Traj_H5::ID_TrajFormat(CpptrajFile& fileIn) { /** Print trajectory info to stdout. */ void Traj_H5::Info() { - mprintf("is a "); + mprintf("is a MDtraj H5 (HDF5) trajectory"); } /** Close file. */ void Traj_H5::closeTraj() { - +# ifdef HAS_HDF5 + if (ncid_ == -1) return; + bool err = NC::CheckErr( nc_close(ncid_) ); + if (err) { + mprinterr("Error closing ncid %i\n", ncid_); + } + //if (ncdebug_ > 0 && !err) + // mprintf("Successfully closed ncid %i\n",ncid_); + ncid_ = -1; +# endif } // ----------------------------------------------------------------------------- @@ -78,8 +107,106 @@ int Traj_H5::processReadArgs(ArgList& argIn) { */ int Traj_H5::setupTrajin(FileName const& fname, Topology* trajParm) { +# ifdef HAS_HDF5 +/* if (file_ != 0) + delete file_; + file_ = new H5File( fname.full(), H5F_ACC_RDONLY ); + if (file_ == 0) { + mprinterr("Error: Could not allocate input trajectory file.\n"); + return TRAJIN_ERR; + } + return 0;*/ + if (ncid_ != -1) closeTraj(); + if ( NC::CheckErr( nc_open( fname.full(), NC_NOWRITE, &ncid_ ) ) ) + return TRAJIN_ERR; + NC::Debug(ncid_); + // get variables/dims present + // ndimsp: Pointer to location for returned number of dimensions defined for + // this netCDF dataset. + // nvarsp: Pointer to location for returned number of variables defined for + // this netCDF dataset. + // ngattsp: Pointer to location for returned number of global attributes + // defined for this netCDF dataset. + // unlimdimidp: + // Pointer to location for returned ID of the unlimited dimension, if + // there is one for this netCDF dataset. If no unlimited length + // dimension has been defined, -1 is returned + int ndimsp, nvarsp, ngattsp, unlimdimidp; + char varname[NC_MAX_NAME+1]; + if (NC::CheckErr( nc_inq(ncid_, &ndimsp, &nvarsp, &ngattsp, &unlimdimidp) ) ) + return TRAJIN_ERR; + mprintf("DEBUG: Unlimited dimid is %i\n", unlimdimidp); + if (unlimdimidp < 0) { + mprinterr("Error: No unlimited dimension present in H5 file.\n"); + return TRAJIN_ERR; + } + // Check for recognized variables. + int nframes = 0; + for (int ivar = 0; ivar < nvarsp; ivar++) { + if (NC::CheckErr( nc_inq_varname(ncid_, ivar, varname) ) ) + return TRAJIN_ERR; + std::string varstr( varname ); + if (varstr == "coordinates") { + // Get dimensions + int ndims = 0; + if (NC::CheckErr( nc_inq_varndims(ncid_, ivar, &ndims) ) ) + return TRAJIN_ERR; + if (ndims != 3) { + mprinterr("Error: Expected 3 dims for 'coordinates', got %i\n", ndims); + return TRAJIN_ERR; + } + int coord_dims[3]; + if (NC::CheckErr( nc_inq_vardimid(ncid_, ivar, coord_dims) ) ) + return TRAJIN_ERR; + mprintf("DEBUG: Coord dims: %i %i %i\n", coord_dims[0], coord_dims[1], coord_dims[2]); + // Check the dimensions. One should be frames (unlimited), one should be + // atoms, and the last should be spatial (XYZ) + bool dim_used[3]; + for (int i = 0; i < 3; i++) dim_used[i] = false; + bool has_unlimited = false; + natom_ = 0; + for (int nd = 0; nd < ndims; nd++) { + size_t dimsize = 0; + if (NC::CheckErr( nc_inq_dimlen(ncid_, coord_dims[nd], &dimsize))) + return TRAJIN_ERR; + mprintf("DEBUG: Dim %i size %zu\n", coord_dims[nd], dimsize); + if (coord_dims[nd] == unlimdimidp) { + has_unlimited = true; + dim_used[nd] = true; + nframes = (int)dimsize; + } else if ( dimsize == 3 ) { + dim_used[nd] = true; + mprintf("DEBUG: Spatial dim is %i\n", coord_dims[nd]); + } else { + // Should be natoms + dim_used[nd] = true; + natom_ = (int)dimsize; + mprintf("DEBUG: Atom dim is %i\n", coord_dims[nd]); + } + } + // Check # atoms + if ( natom_ != trajParm->Natom() ) { + mprinterr("Error: Atom mismatch between topology (%i) and trajectory (%i).\n", + trajParm->Natom(), natom_); + return TRAJIN_ERR; + } + if (!has_unlimited) { + mprinterr("Error: No unlimited dimension for 'coordinates'.\n"); + return TRAJIN_ERR; + } + // Expect 1 to be spatial, 2 to be natom + // TODO is this always the case for H5? + + + } else { + mprintf("Warning: Unhandled variable present: %s\n", varname); + } + } + return 0; +# else return TRAJIN_ERR; +# endif } /** Read specified trajectory frame. */ diff --git a/src/Traj_H5.h b/src/Traj_H5.h index deccbaf54c..42d28d518e 100644 --- a/src/Traj_H5.h +++ b/src/Traj_H5.h @@ -1,10 +1,14 @@ #ifndef INC_TRAJ_H5_H #define INC_TRAJ_H5_H #include "TrajectoryIO.h" +//namespace H5 { +// class H5File; +//} /// MDtraj H5 (HDF5) format class Traj_H5 : public TrajectoryIO { public: Traj_H5(); + ~Traj_H5(); static BaseIOtype* Alloc() { return (BaseIOtype*)new Traj_H5(); } static void WriteHelp(); static void ReadHelp(); @@ -37,5 +41,9 @@ class Traj_H5 : public TrajectoryIO { # ifdef HAS_HDF5 static bool HasConventions(int); # endif + +// H5::H5File* file_; + int ncid_; + int natom_; }; #endif diff --git a/src/TrajectoryFile.cpp b/src/TrajectoryFile.cpp index 21c80f8958..16d637aa0a 100644 --- a/src/TrajectoryFile.cpp +++ b/src/TrajectoryFile.cpp @@ -26,6 +26,7 @@ #include "Traj_GmxTng.h" #include "Traj_GmxDump.h" #include "Traj_DTR.h" +#include "Traj_H5.h" // ----- STATIC VARS / ROUTINES ------------------------------------------------ // NOTE: Must be in same order as TrajFormatType @@ -76,6 +77,11 @@ const FileTypes::AllocToken TrajectoryFile::TF_AllocArray[] = { { "Desmond DTR", 0, 0, Traj_DTR::Alloc }, # else { "Desmond DTR", 0, 0, 0 }, +# endif +# ifdef HAS_HDF5 + { "MDtraj H5", 0, 0, Traj_H5::Alloc }, +# else + { "MDtraj H5", 0, 0, 0 }, # endif { "Unknown trajectory", 0, 0, 0 } }; @@ -111,6 +117,7 @@ const FileTypes::KeyToken TrajectoryFile::TF_KeyArray[] = { { SDF, "sdf", ".sdf" }, { XYZ, "xyz", ".xyz" }, { DTR, "dtr", ".dtr" }, + { H5, "h5", ".h5" }, { UNKNOWN_TRAJ, 0, 0 } }; diff --git a/src/TrajectoryFile.h b/src/TrajectoryFile.h index c4fcd4ce65..0663d3be39 100644 --- a/src/TrajectoryFile.h +++ b/src/TrajectoryFile.h @@ -28,7 +28,7 @@ class TrajectoryFile { CIF, CHARMMDCD, GMXTRX, GMXXTC, GMXTNG, BINPOS, AMBERRESTART, GRO, TINKER, CHARMMCOR, CHARMMREST, AMBERTRAJ, SQM, SDF, XYZ, - CONFLIB, GMXDUMP, DTR, + CONFLIB, GMXDUMP, DTR, H5, UNKNOWN_TRAJ }; diff --git a/src/cpptrajdepend b/src/cpptrajdepend index 52caf8d846..e2f65575fc 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -439,6 +439,7 @@ Traj_GmxTng.o : Traj_GmxTng.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Traj_GmxTrX.o : Traj_GmxTrX.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h ByteRoutines.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_GmxTrX.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_GmxXtc.o : Traj_GmxXtc.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_GmxXtc.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_Gro.o : Traj_Gro.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h Traj_Gro.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h +Traj_H5.o : Traj_H5.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_H5.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_Mol2File.o : Traj_Mol2File.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Mol2File.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_Mol2File.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_NcEnsemble.o : Traj_NcEnsemble.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FrameArray.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h NetcdfFile.h Parallel.h ParallelNetcdf.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_NcEnsemble.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_PDBfile.o : Traj_PDBfile.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_Tensor.h Dimension.h DistRoutines.h FileIO.h FileName.h Frame.h FramePtrArray.h ImageOption.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h PDBfile.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h SymmetricTensor.h TextFormat.h Timer.h Topology.h Traj_PDBfile.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h @@ -446,7 +447,7 @@ Traj_SDF.o : Traj_SDF.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Consta Traj_SQM.o : Traj_SQM.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h Traj_SQM.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_Tinker.o : Traj_Tinker.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TinkerFile.h Topology.h Traj_Tinker.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_XYZ.o : Traj_XYZ.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Topology.h Traj_XYZ.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h -TrajectoryFile.o : TrajectoryFile.cpp Atom.h BaseIOtype.h Box.h BufferedFrame.h BufferedLine.h CIFfile.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h FileTypes.h FramePtrArray.h Matrix_3x3.h Mol2File.h NameType.h NetcdfFile.h PDBfile.h Parallel.h ReplicaDimArray.h Residue.h SDFfile.h SymbolExporting.h TextFormat.h TinkerFile.h Traj_AmberCoord.h Traj_AmberNetcdf.h Traj_AmberRestart.h Traj_AmberRestartNC.h Traj_Binpos.h Traj_CIF.h Traj_CharmmCor.h Traj_CharmmDcd.h Traj_CharmmRestart.h Traj_Conflib.h Traj_DTR.h Traj_GmxDump.h Traj_GmxTng.h Traj_GmxTrX.h Traj_GmxXtc.h Traj_Gro.h Traj_Mol2File.h Traj_NcEnsemble.h Traj_PDBfile.h Traj_SDF.h Traj_SQM.h Traj_Tinker.h Traj_XYZ.h TrajectoryFile.h TrajectoryIO.h Vec3.h +TrajectoryFile.o : TrajectoryFile.cpp Atom.h BaseIOtype.h Box.h BufferedFrame.h BufferedLine.h CIFfile.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h FileTypes.h FramePtrArray.h Matrix_3x3.h Mol2File.h NameType.h NetcdfFile.h PDBfile.h Parallel.h ReplicaDimArray.h Residue.h SDFfile.h SymbolExporting.h TextFormat.h TinkerFile.h Traj_AmberCoord.h Traj_AmberNetcdf.h Traj_AmberRestart.h Traj_AmberRestartNC.h Traj_Binpos.h Traj_CIF.h Traj_CharmmCor.h Traj_CharmmDcd.h Traj_CharmmRestart.h Traj_Conflib.h Traj_DTR.h Traj_GmxDump.h Traj_GmxTng.h Traj_GmxTrX.h Traj_GmxXtc.h Traj_Gro.h Traj_H5.h Traj_Mol2File.h Traj_NcEnsemble.h Traj_PDBfile.h Traj_SDF.h Traj_SQM.h Traj_Tinker.h Traj_XYZ.h TrajectoryFile.h TrajectoryIO.h Vec3.h TrajectoryIO.o : TrajectoryIO.cpp BaseIOtype.h Box.h CoordinateInfo.h FramePtrArray.h Matrix_3x3.h Parallel.h ReplicaDimArray.h TrajectoryIO.h Vec3.h TrajinList.o : TrajinList.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_RemLog.h Dimension.h EnsembleIn.h EnsembleIn_Multi.h EnsembleIn_Single.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajIOarray.h TrajectoryFile.h TrajectoryIO.h Trajin.h TrajinList.h Trajin_Multi.h Trajin_Single.h TypeNameHolder.h Unit.h Vec3.h Trajin_Multi.o : Trajin_Multi.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajStdio.h FileName.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h TrajFrameCounter.h TrajIOarray.h TrajectoryIO.h Trajin.h Trajin_Multi.h TypeNameHolder.h Unit.h Vec3.h diff --git a/src/cpptrajfiles b/src/cpptrajfiles index 8a88c2ac66..943a587831 100644 --- a/src/cpptrajfiles +++ b/src/cpptrajfiles @@ -407,6 +407,7 @@ COMMON_SOURCES= \ Traj_GmxTrX.cpp \ Traj_GmxXtc.cpp \ Traj_Gro.cpp \ + Traj_H5.cpp \ Traj_Mol2File.cpp \ Traj_NcEnsemble.cpp \ Traj_PDBfile.cpp \ From f6a5fafa8fd5c417083e1632a9d292bfd8012c26 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 25 May 2022 08:51:34 -0400 Subject: [PATCH 085/191] Split off coordinates VID setup --- src/Traj_H5.cpp | 168 +++++++++++++++++++++++++----------------------- src/Traj_H5.h | 7 +- 2 files changed, 94 insertions(+), 81 deletions(-) diff --git a/src/Traj_H5.cpp b/src/Traj_H5.cpp index ceaf5d18cf..7b2be2d606 100644 --- a/src/Traj_H5.cpp +++ b/src/Traj_H5.cpp @@ -102,6 +102,81 @@ int Traj_H5::processReadArgs(ArgList& argIn) { return 0; } +# ifdef HAS_HDF5 +/** Set up the coordinates variable ID, number of atoms, and number of frames. */ +int Traj_H5::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& nframes) +{ + // Get the 'coordinates' variable ID + if (NC::CheckErr(nc_inq_varid(ncid_, "coordinates", &coordVID_))) + return 1; + mprintf("DEBUG: Coordinates VID is %i\n", coordVID_); + + frameDID = -1; + atomDID = -1; + spatialDID = -1; + natom_ = 0; + nframes = 0; + // Need to get the unlimited dimension ID, which should be the frame dim. + if (NC::CheckErr( nc_inq_unlimdim(ncid_, &frameDID) ) ) + return 1; + if (frameDID < 0) { + mprinterr("Error: No unlimited (frame) dimension present in H5 file.\n"); + return 1; + } + // Get dimensions for coordinates + int ndims = 0; + if (NC::CheckErr( nc_inq_varndims(ncid_, coordVID_, &ndims) ) ) + return 1; + if (ndims != 3) { + mprinterr("Error: Expected 3 dims for 'coordinates', got %i\n", ndims); + return 1; + } + int coord_dims[3]; + if (NC::CheckErr( nc_inq_vardimid(ncid_, coordVID_, coord_dims) ) ) + return 1; + mprintf("DEBUG: Coord dims: %i %i %i\n", coord_dims[0], coord_dims[1], coord_dims[2]); + // Check the dimensions. One should be frames (unlimited), one should be + // atoms, and the last should be spatial (XYZ) + // Expect 1 to be spatial, 2 to be natom + // TODO is this always the case for H5? + bool dim_used[3]; + for (int i = 0; i < 3; i++) dim_used[i] = false; + bool has_unlimited = false; + for (int nd = 0; nd < ndims; nd++) { + size_t dimsize = 0; + if (NC::CheckErr( nc_inq_dimlen(ncid_, coord_dims[nd], &dimsize))) + return 1; + mprintf("DEBUG: Dim %i size %zu\n", coord_dims[nd], dimsize); + if (coord_dims[nd] == frameDID) { + has_unlimited = true; + dim_used[nd] = true; + nframes = (int)dimsize; + } else if ( dimsize == 3 ) { + dim_used[nd] = true; + spatialDID = coord_dims[nd]; + } else { + // Should be natoms + dim_used[nd] = true; + natom_ = (int)dimsize; + atomDID = coord_dims[nd]; + } + } + // Sanity check + for (int nd = 0; nd < ndims; nd++) { + if (!dim_used[nd]) { + mprinterr("Error: Dimension %i remains unused for 'coordinates'.\n", coord_dims[nd]); + return 1; + } + } + if (!has_unlimited) { + mprinterr("Error: No unlimited dimension for 'coordinates'.\n"); + return 1; + } + return 0; +} +#endif /* HAS_HDF5 */ + + /** Set up trajectory for reading. * \return Number of frames in trajectory. */ @@ -120,87 +195,22 @@ int Traj_H5::setupTrajin(FileName const& fname, Topology* trajParm) if ( NC::CheckErr( nc_open( fname.full(), NC_NOWRITE, &ncid_ ) ) ) return TRAJIN_ERR; NC::Debug(ncid_); - // get variables/dims present - // ndimsp: Pointer to location for returned number of dimensions defined for - // this netCDF dataset. - // nvarsp: Pointer to location for returned number of variables defined for - // this netCDF dataset. - // ngattsp: Pointer to location for returned number of global attributes - // defined for this netCDF dataset. - // unlimdimidp: - // Pointer to location for returned ID of the unlimited dimension, if - // there is one for this netCDF dataset. If no unlimited length - // dimension has been defined, -1 is returned - int ndimsp, nvarsp, ngattsp, unlimdimidp; - char varname[NC_MAX_NAME+1]; - if (NC::CheckErr( nc_inq(ncid_, &ndimsp, &nvarsp, &ngattsp, &unlimdimidp) ) ) - return TRAJIN_ERR; - mprintf("DEBUG: Unlimited dimid is %i\n", unlimdimidp); - if (unlimdimidp < 0) { - mprinterr("Error: No unlimited dimension present in H5 file.\n"); + + // Set up coordinates + int frameDID, atomDID, spatialDID, nframes; + if (setupCoordVID(frameDID, atomDID, spatialDID, nframes)) { + mprinterr("Error: Could not set up coordinates variable.\n"); return TRAJIN_ERR; } - // Check for recognized variables. - int nframes = 0; - for (int ivar = 0; ivar < nvarsp; ivar++) { - if (NC::CheckErr( nc_inq_varname(ncid_, ivar, varname) ) ) - return TRAJIN_ERR; - std::string varstr( varname ); - if (varstr == "coordinates") { - // Get dimensions - int ndims = 0; - if (NC::CheckErr( nc_inq_varndims(ncid_, ivar, &ndims) ) ) - return TRAJIN_ERR; - if (ndims != 3) { - mprinterr("Error: Expected 3 dims for 'coordinates', got %i\n", ndims); - return TRAJIN_ERR; - } - int coord_dims[3]; - if (NC::CheckErr( nc_inq_vardimid(ncid_, ivar, coord_dims) ) ) - return TRAJIN_ERR; - mprintf("DEBUG: Coord dims: %i %i %i\n", coord_dims[0], coord_dims[1], coord_dims[2]); - // Check the dimensions. One should be frames (unlimited), one should be - // atoms, and the last should be spatial (XYZ) - bool dim_used[3]; - for (int i = 0; i < 3; i++) dim_used[i] = false; - bool has_unlimited = false; - natom_ = 0; - for (int nd = 0; nd < ndims; nd++) { - size_t dimsize = 0; - if (NC::CheckErr( nc_inq_dimlen(ncid_, coord_dims[nd], &dimsize))) - return TRAJIN_ERR; - mprintf("DEBUG: Dim %i size %zu\n", coord_dims[nd], dimsize); - if (coord_dims[nd] == unlimdimidp) { - has_unlimited = true; - dim_used[nd] = true; - nframes = (int)dimsize; - } else if ( dimsize == 3 ) { - dim_used[nd] = true; - mprintf("DEBUG: Spatial dim is %i\n", coord_dims[nd]); - } else { - // Should be natoms - dim_used[nd] = true; - natom_ = (int)dimsize; - mprintf("DEBUG: Atom dim is %i\n", coord_dims[nd]); - } - } - // Check # atoms - if ( natom_ != trajParm->Natom() ) { - mprinterr("Error: Atom mismatch between topology (%i) and trajectory (%i).\n", - trajParm->Natom(), natom_); - return TRAJIN_ERR; - } - if (!has_unlimited) { - mprinterr("Error: No unlimited dimension for 'coordinates'.\n"); - return TRAJIN_ERR; - } - // Expect 1 to be spatial, 2 to be natom - // TODO is this always the case for H5? - - - } else { - mprintf("Warning: Unhandled variable present: %s\n", varname); - } + mprintf("DEBUG: Unlimited dimid is %i\n", frameDID); + mprintf("DEBUG: Atom dim is %i\n", atomDID); + mprintf("DEBUG: Spatial dim is %i\n", spatialDID); + + // Check # atoms + if ( natom_ != trajParm->Natom() ) { + mprinterr("Error: Atom mismatch between topology (%i) and trajectory (%i).\n", + trajParm->Natom(), natom_); + return TRAJIN_ERR; } return 0; diff --git a/src/Traj_H5.h b/src/Traj_H5.h index 42d28d518e..3d5c6e7c15 100644 --- a/src/Traj_H5.h +++ b/src/Traj_H5.h @@ -40,10 +40,13 @@ class Traj_H5 : public TrajectoryIO { # endif # ifdef HAS_HDF5 static bool HasConventions(int); + /// Set up coordinates VID and related dim sizes + int setupCoordVID(int&, int&, int&, int&); # endif // H5::H5File* file_; - int ncid_; - int natom_; + int ncid_; ///< NetCDF ID + int natom_; ///< Number of atoms in each trajectory frame. + int coordVID_; ///< Coordinates variable ID }; #endif From 873bb480014a8bbb3c381538bed20dfc60a038b9 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 25 May 2022 09:51:22 -0400 Subject: [PATCH 086/191] Add box setup and coordinate conversion --- src/Traj_H5.cpp | 140 +++++++++++++++++++++++++++++++++++++++++++++--- src/Traj_H5.h | 16 ++++-- 2 files changed, 147 insertions(+), 9 deletions(-) diff --git a/src/Traj_H5.cpp b/src/Traj_H5.cpp index 7b2be2d606..690d0b0e1c 100644 --- a/src/Traj_H5.cpp +++ b/src/Traj_H5.cpp @@ -1,4 +1,5 @@ #include "Traj_H5.h" +#include "Constants.h" #include "CpptrajStdio.h" #include "CpptrajFile.h" #include "Topology.h" @@ -17,9 +18,22 @@ Traj_H5::Traj_H5() : //file_(0) ncid_(-1), - natom_(0) + natom_(0), + coordVID_(-1), + cellLengthVID_(-1), + cellAngleVID_(-1), + timeVID_(-1), + convert_h5_to_cpptraj_box_(0), + convert_h5_to_cpptraj_coord_(0) //#endif -{} +{ + start_[0] = 0; + start_[1] = 0; + start_[2] = 0; + count_[0] = 0; + count_[1] = 0; + count_[2] = 0; +} /** DESTRUCTOR */ Traj_H5::~Traj_H5() { @@ -103,6 +117,19 @@ int Traj_H5::processReadArgs(ArgList& argIn) { } # ifdef HAS_HDF5 +static inline int setLengthFac(double& fac, std::string const& Units, const char* desc) +{ + if (Units == "nanometers") { + fac = Constants::NM_TO_ANG; + } else if (Units == "angstroms") { + fac = 1.0; + } else { + mprinterr("Error: %s has unrecognized units (%s)\n", desc, Units.c_str()); + return 1; + } + return 0; +} + /** Set up the coordinates variable ID, number of atoms, and number of frames. */ int Traj_H5::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& nframes) { @@ -110,7 +137,11 @@ int Traj_H5::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& nf if (NC::CheckErr(nc_inq_varid(ncid_, "coordinates", &coordVID_))) return 1; mprintf("DEBUG: Coordinates VID is %i\n", coordVID_); - + // Set conversion factor for coords + std::string lengthUnits = NC::GetAttrText(ncid_, coordVID_, "units"); + if (setLengthFac(convert_h5_to_cpptraj_coord_, lengthUnits, "Coordinates")) + return 1; + // Dimensions frameDID = -1; atomDID = -1; spatialDID = -1; @@ -137,8 +168,7 @@ int Traj_H5::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& nf mprintf("DEBUG: Coord dims: %i %i %i\n", coord_dims[0], coord_dims[1], coord_dims[2]); // Check the dimensions. One should be frames (unlimited), one should be // atoms, and the last should be spatial (XYZ) - // Expect 1 to be spatial, 2 to be natom - // TODO is this always the case for H5? + bool dim_used[3]; for (int i = 0; i < 3; i++) dim_used[i] = false; bool has_unlimited = false; @@ -161,7 +191,8 @@ int Traj_H5::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& nf atomDID = coord_dims[nd]; } } - // Sanity check + + // Sanity checks for (int nd = 0; nd < ndims; nd++) { if (!dim_used[nd]) { mprinterr("Error: Dimension %i remains unused for 'coordinates'.\n", coord_dims[nd]); @@ -172,8 +203,83 @@ int Traj_H5::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& nf mprinterr("Error: No unlimited dimension for 'coordinates'.\n"); return 1; } + // Expect dim order to be frame, atom, spatial + // TODO is this always the case for H5? + if (coord_dims[0] != frameDID) { + mprinterr("Error: Frame dimension is not first.\n"); + return 1; + } + if (coord_dims[1] != atomDID) { + mprinterr("Error: Atom dimension is not second.\n"); + return 1; + } + if (coord_dims[2] != spatialDID) { + mprinterr("Error: Spatial dimension is not third.\n"); + return 1; + } + return 0; +} + +/** Set up box variable IDs. + * \return 0 on success, 1 on error, -1 for no box coords. + */ +int Traj_H5::setupBoxVIDs(Box& ncbox, int frameDID, int spatialDID) { + ncbox.SetNoBox(); + // Get the 'cell_lengths' variable ID + int err = nc_inq_varid(ncid_, "cell_lengths", &cellLengthVID_); + if (err != NC_NOERR) return -1; + // Get the 'cell_angles' variable ID + if (NC::CheckErr(nc_inq_varid(ncid_, "cell_angles", &cellAngleVID_))) + return 1; + mprintf("DEBUG: Cell length vid= %i, cell angle vid= %i\n", + cellLengthVID_, cellAngleVID_); + // Ensure angles are in degrees + std::string angleUnits = NC::GetAttrText(ncid_, cellAngleVID_, "units"); + if (angleUnits != "degrees") { + mprinterr("Error: Cell angles have units that are not 'degrees' (%s)\n", angleUnits.c_str()); + return 1; + } + // Check units for lengths + std::string lengthUnits = NC::GetAttrText(ncid_, cellLengthVID_, "units"); + if (setLengthFac(convert_h5_to_cpptraj_box_, lengthUnits, "Cell lengths")) + return 1; + // Get box lengths and angles to determine box type. + start_[0] = 0; + start_[1] = 0; + count_[0] = 1; // 1 frame + count_[1] = 3; // 3 coordinates (abg or xyz) + double boxCrd[6]; /// XYZ ABG + float* fptr = &ftmp_[0]; + if ( NC::CheckErr(nc_get_vara_float(ncid_, cellLengthVID_, start_, count_, fptr )) ) + { + mprinterr("Error: Getting cell lengths.\n"); + return 1; + } + if ( NC::CheckErr(nc_get_vara_float(ncid_, cellAngleVID_, start_, count_, fptr+3)) ) + { + mprinterr("Error: Getting cell angles.\n"); + return 1; + } + for (int i = 0; i < 6; i++) + boxCrd[i] = (double)ftmp_[i]; + // Convert + boxCrd[0] *= convert_h5_to_cpptraj_box_; + boxCrd[1] *= convert_h5_to_cpptraj_box_; + boxCrd[2] *= convert_h5_to_cpptraj_box_; + mprintf("DEBUG:\tH5 Box: XYZ={%f %f %f} ABG={%f %f %f}\n", + boxCrd[0], boxCrd[1], boxCrd[2], boxCrd[3], boxCrd[4], boxCrd[5]); + if (ncbox.SetupFromXyzAbg( boxCrd )) { + mprintf("Warning: H5 file unit cell variables appear to be empty; disabling box.\n"); + cellLengthVID_ = -1; + cellAngleVID_ = -1; + ncbox.SetNoBox(); + return -1; + } + // TODO check dim IDs + return 0; } + #endif /* HAS_HDF5 */ @@ -213,6 +319,28 @@ int Traj_H5::setupTrajin(FileName const& fname, Topology* trajParm) return TRAJIN_ERR; } + // Allocate temp space + ftmp_.assign( natom_, 0 ); + + // Check for box + Box ncbox; + int err = setupBoxVIDs(ncbox, frameDID, spatialDID); + if (err == 1) { + mprinterr("Error: Problem setting up box info.\n"); + return TRAJIN_ERR; + } + + // Check for time + err = nc_inq_varid(ncid_, "time", &timeVID_); + if (err != NC_NOERR) + timeVID_ = -1; + + // Get title + SetTitle( NC::GetAttrText(ncid_, "TITLE") ); + + // Setup coordinfo + SetCoordInfo( CoordinateInfo( ncbox, false, false, (timeVID_ != -1) ) ); + return 0; # else return TRAJIN_ERR; diff --git a/src/Traj_H5.h b/src/Traj_H5.h index 3d5c6e7c15..91ded16971 100644 --- a/src/Traj_H5.h +++ b/src/Traj_H5.h @@ -42,11 +42,21 @@ class Traj_H5 : public TrajectoryIO { static bool HasConventions(int); /// Set up coordinates VID and related dim sizes int setupCoordVID(int&, int&, int&, int&); + /// Set up box variable IDs and determine type + int setupBoxVIDs(Box&, int, int); # endif // H5::H5File* file_; - int ncid_; ///< NetCDF ID - int natom_; ///< Number of atoms in each trajectory frame. - int coordVID_; ///< Coordinates variable ID + int ncid_; ///< NetCDF ID + int natom_; ///< Number of atoms in each trajectory frame. + int coordVID_; ///< Coordinates variable ID + int cellLengthVID_; ///< Cell lengths variable ID + int cellAngleVID_; ///< Cell angles variable ID + int timeVID_; ///< Time variable ID + size_t start_[3]; ///< Start indices in each dimension + size_t count_[3]; ///< Count indices in each dimension + double convert_h5_to_cpptraj_box_; ///< For converting h5 box lengths to angstroms + double convert_h5_to_cpptraj_coord_; ///< For converting h5 coordinates to angstroms + std::vector ftmp_; ///< Temporary array to store floats }; #endif From aa67803f431d497c4f7c4cfa0bcd98c935b94c86 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 25 May 2022 10:01:24 -0400 Subject: [PATCH 087/191] Implement trajectory read --- src/Traj_H5.cpp | 85 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 82 insertions(+), 3 deletions(-) diff --git a/src/Traj_H5.cpp b/src/Traj_H5.cpp index 690d0b0e1c..9367ae7a9c 100644 --- a/src/Traj_H5.cpp +++ b/src/Traj_H5.cpp @@ -320,7 +320,7 @@ int Traj_H5::setupTrajin(FileName const& fname, Topology* trajParm) } // Allocate temp space - ftmp_.assign( natom_, 0 ); + ftmp_.assign( natom_*3, 0 ); // Check for box Box ncbox; @@ -341,7 +341,7 @@ int Traj_H5::setupTrajin(FileName const& fname, Topology* trajParm) // Setup coordinfo SetCoordInfo( CoordinateInfo( ncbox, false, false, (timeVID_ != -1) ) ); - return 0; + return nframes; # else return TRAJIN_ERR; # endif @@ -349,6 +349,84 @@ int Traj_H5::setupTrajin(FileName const& fname, Topology* trajParm) /** Read specified trajectory frame. */ int Traj_H5::readFrame(int set, Frame& frameIn) { + start_[0] = set; + start_[1] = 0; + start_[2] = 0; + count_[0] = 1; + count_[1] = natom_; + count_[2] = 3; + +/* // Get temperature + if (TempVID_!=-1) { + if ( NC::CheckErr(nc_get_vara_double(ncid_, TempVID_, start_, count_, frameIn.tAddress())) ) { + mprinterr("Error: Getting replica temperature for frame %i.\n", set+1); + return 1; + } + //fprintf(stderr,"DEBUG: Replica Temperature %lf\n",F->T); + }*/ + + // Get time + if (timeVID_!=-1) { + float time; + if (NC::CheckErr(nc_get_vara_float(ncid_, timeVID_, start_, count_, &time))) { + mprinterr("Error: Getting time for frame %i.\n", set + 1); + return 1; + } + frameIn.SetTime( (double)time ); + } + + float* fptr = &ftmp_[0]; + // Read Coords + if (coordVID_ != -1) { + if ( NC::CheckErr(nc_get_vara_float(ncid_, coordVID_, start_, count_, fptr)) ) { + mprinterr("Error: Getting coordinates for frame %i\n", set+1); + return 1; + } + for (unsigned int idx = 0; idx != ftmp_.size(); idx++) + frameIn.xAddress()[idx] = (double)ftmp_[idx] * convert_h5_to_cpptraj_coord_; + } + + // Read Velocities + /*if (velocityVID_ != -1) { + if ( NC::CheckErr(nc_get_vara_float(ncid_, velocityVID_, start_, count_, Coord_)) ) { + mprinterr("Error: Getting velocities for frame %i\n", set+1); + return 1; + } + FloatToDouble(frameIn.vAddress(), Coord_); + }*/ + + // Read Forces + /*if (frcVID_ != -1) { + if ( NC::CheckErr(nc_get_vara_float(ncid_, frcVID_, start_, count_, Coord_)) ) { + mprinterr("Error: Getting forces for frame %i\n", set+1); + return 1; + } + FloatToDouble(frameIn.fAddress(), Coord_); + }*/ + + // Read box info + if (cellLengthVID_ != -1) { + double xyzabg[6]; + count_[1] = 3; + count_[2] = 0; + if (NC::CheckErr(nc_get_vara_float(ncid_, cellLengthVID_, start_, count_, fptr))) + { + mprinterr("Error: Getting cell lengths for frame %i.\n", set+1); + return 1; + } + if (NC::CheckErr(nc_get_vara_float(ncid_, cellAngleVID_, start_, count_, fptr+3))) + { + mprinterr("Error: Getting cell angles for frame %i.\n", set+1); + return 1; + } + for (int i = 0; i < 6; i++) + xyzabg[i] = (double)ftmp_[i]; + // Convert + xyzabg[0] *= convert_h5_to_cpptraj_box_; + xyzabg[1] *= convert_h5_to_cpptraj_box_; + xyzabg[2] *= convert_h5_to_cpptraj_box_; + frameIn.ModifyBox().AssignFromXyzAbg( xyzabg ); + } return 0; } @@ -382,13 +460,14 @@ int Traj_H5::setupTrajout(FileName const& fname, Topology* trajParm, CoordinateInfo const& cInfoIn, int NframesToWrite, bool append) { - + mprinterr("Error: H5 write not yet supported.\n"); return 1; } /** Write specified trajectory frame. */ int Traj_H5::writeFrame(int set, Frame const& frameOut) { + mprinterr("Error: H5 write not yet supported.\n"); return 0; } From 942c01ac391921d837dafcbd93ace49407f32f4c Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 25 May 2022 19:12:30 -0400 Subject: [PATCH 088/191] Comment out some debug info --- src/NetcdfFile.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index ff933fe685..d1a7a22d3e 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -54,7 +54,7 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch return nctype; # endif } - mprintf("DEBUG: Type: %s\n", NcFmtTypeStr_[btype]); + //mprintf("DEBUG: Type: %s\n", NcFmtTypeStr_[btype]); # ifdef BINTRAJ // NOTE: Do not use checkNCerr so this fails silently. Allows routine to // be used in file autodetection. @@ -162,7 +162,7 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(int ncidIn) { mprinterr("Error: Could not get conventions from NetCDF file.\n"); return NC_UNKNOWN; } - mprintf("DEBUG: This appears to be an HDF5 h5 file.\n"); + //mprintf("DEBUG: This appears to be an HDF5 h5 file.\n"); return NC_UNKNOWN; } // Identify the conventions string From 44ce85e1ab168848c2f212d86d81bd01530523ac Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 09:51:29 -0400 Subject: [PATCH 089/191] Start checking for h5md --- src/NetcdfFile.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index d1a7a22d3e..34e20b1796 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -159,8 +159,28 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(int ncidIn) { // Check if this is an MDtraj h5 file attrText = NC::GetAttrText(ncidIn, "conventions"); if (attrText.empty()) { - mprinterr("Error: Could not get conventions from NetCDF file.\n"); - return NC_UNKNOWN; + // Check if this is an MDAnalysis h5md file + int numgrps; + nc_inq_grps( ncidIn, &numgrps, NULL ); + if ( numgrps > 0 ) { + mprintf("DEBUG: Netcdf file contains %i groups.\n", numgrps); + int* ncids = new int[ numgrps ]; + nc_inq_grps( ncidIn, NULL, ncids ); + for (int ii = 0; ii < numgrps; ii++) { + mprintf("\tncid %i", ncids[ii]); + size_t gnamelen; + nc_inq_grpname_len( ncids[ii], &gnamelen ); + char* gname = new char[ gnamelen+1 ]; + nc_inq_grpname( ncids[ii], gname ); + mprintf(" %s\n", gname); + delete[] gname; + } + delete[] ncids; + return NC_UNKNOWN; + } else { + mprinterr("Error: Could not get conventions from NetCDF file.\n"); + return NC_UNKNOWN; + } } //mprintf("DEBUG: This appears to be an HDF5 h5 file.\n"); return NC_UNKNOWN; From a7401818303c03be4fd16c32c7248650d1f58fc4 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 10:03:03 -0400 Subject: [PATCH 090/191] Add routine for getting group names --- src/NC_Routines.cpp | 28 +++++++++++++++++++++++++++- src/NC_Routines.h | 3 +++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/src/NC_Routines.cpp b/src/NC_Routines.cpp index 97c1cff776..0b55ce2712 100644 --- a/src/NC_Routines.cpp +++ b/src/NC_Routines.cpp @@ -72,6 +72,32 @@ int NC::GetDimInfo(int ncid, const char* attribute, int& length) { return dimID; } +/** \return Array containing group names. */ +std::vector NC::GetGroupNames(int ncid) { + std::vector GroupNames; + int numgrps; + nc_inq_grps( ncid, &numgrps, NULL ); + if (numgrps < 1) + return GroupNames; + + mprintf("DEBUG: Netcdf file contains %i groups.\n", numgrps); + GroupNames.reserve( numgrps ); + int* ncids = new int[ numgrps ]; + nc_inq_grps( ncid, NULL, ncids ); + for (int ii = 0; ii < numgrps; ii++) { + mprintf("\tncid %i", ncids[ii]); + size_t gnamelen; + nc_inq_grpname_len( ncids[ii], &gnamelen ); + char* gname = new char[ gnamelen+1 ]; + nc_inq_grpname( ncids[ii], gname ); + mprintf(" %s\n", gname); + GroupNames.push_back( gname ); + delete[] gname; + } + delete[] ncids; + return GroupNames; +} + // NC::Debug() void NC::Debug(int ncid) { int ndimsp, nvarsp, ngattsp,unlimdimidp; @@ -117,4 +143,4 @@ void NC::Debug(int ncid) { } mprintf("========== END NETCDF DEBUG ==========\n"); } -#endif +#endif /* BINTRAJ */ diff --git a/src/NC_Routines.h b/src/NC_Routines.h index 5987fa9fc3..12b0d34f35 100644 --- a/src/NC_Routines.h +++ b/src/NC_Routines.h @@ -2,6 +2,7 @@ #define INC_NC_ROUTINES_H #ifdef BINTRAJ #include +#include namespace NC { /// \return true if given code is error and print message, false otherwise. bool CheckErr(int); @@ -13,6 +14,8 @@ namespace NC { int GetDimInfo(int, const char*, unsigned int&); // FIXME This version here for backwards compatibility. int GetDimInfo(int, const char*, int&); + /// \return Array of group names + std::vector GetGroupNames(int); /// Print debug info to STDOUT void Debug(int); } From 8006f12573cd5f23e227ed80ec34ee77b1c72ce1 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 10:12:57 -0400 Subject: [PATCH 091/191] Add version that saves the ncids --- src/NC_Routines.cpp | 14 ++++++++++---- src/NC_Routines.h | 2 ++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/NC_Routines.cpp b/src/NC_Routines.cpp index 0b55ce2712..0b6f192789 100644 --- a/src/NC_Routines.cpp +++ b/src/NC_Routines.cpp @@ -72,8 +72,8 @@ int NC::GetDimInfo(int ncid, const char* attribute, int& length) { return dimID; } -/** \return Array containing group names. */ -std::vector NC::GetGroupNames(int ncid) { +/** \return Array containing group names. Also set array with corresponding ncids. */ +std::vector NC::GetGroupNames(int ncid, std::vector& NcidArray) { std::vector GroupNames; int numgrps; nc_inq_grps( ncid, &numgrps, NULL ); @@ -82,7 +82,8 @@ std::vector NC::GetGroupNames(int ncid) { mprintf("DEBUG: Netcdf file contains %i groups.\n", numgrps); GroupNames.reserve( numgrps ); - int* ncids = new int[ numgrps ]; + NcidArray.assign( numgrps, -1 ); + int* ncids = &NcidArray[0]; nc_inq_grps( ncid, NULL, ncids ); for (int ii = 0; ii < numgrps; ii++) { mprintf("\tncid %i", ncids[ii]); @@ -94,10 +95,15 @@ std::vector NC::GetGroupNames(int ncid) { GroupNames.push_back( gname ); delete[] gname; } - delete[] ncids; return GroupNames; } +/** \return Array containing group names. */ +std::vector NC::GetGroupNames(int ncid) { + std::vector NcidArray; + return GetGroupNames(ncid, NcidArray); +} + // NC::Debug() void NC::Debug(int ncid) { int ndimsp, nvarsp, ngattsp,unlimdimidp; diff --git a/src/NC_Routines.h b/src/NC_Routines.h index 12b0d34f35..6f00b82948 100644 --- a/src/NC_Routines.h +++ b/src/NC_Routines.h @@ -14,6 +14,8 @@ namespace NC { int GetDimInfo(int, const char*, unsigned int&); // FIXME This version here for backwards compatibility. int GetDimInfo(int, const char*, int&); + /// \return Array of group names, set array with ncids + std::vector GetGroupNames(int, std::vector&); /// \return Array of group names std::vector GetGroupNames(int); /// Print debug info to STDOUT From 60c209c698fb7f7568245cfeaac343fd2f868f8e Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 10:31:53 -0400 Subject: [PATCH 092/191] Start H5MD reader --- src/Traj_H5MD.cpp | 503 ++++++++++++++++++++++++++++++++++++++++++++++ src/Traj_H5MD.h | 61 ++++++ 2 files changed, 564 insertions(+) create mode 100644 src/Traj_H5MD.cpp create mode 100644 src/Traj_H5MD.h diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp new file mode 100644 index 0000000000..af0555e471 --- /dev/null +++ b/src/Traj_H5MD.cpp @@ -0,0 +1,503 @@ +#include "Traj_H5MD.h" +#include "Constants.h" +#include "CpptrajStdio.h" +#include "CpptrajFile.h" +#include "Topology.h" +#ifdef BINTRAJ +# include +# include "NC_Routines.h" +#endif +//#ifdef HAS_HDF5 +//# include +// using namespace H5; +//#endif + +/// CONSTRUCTOR +Traj_H5MD::Traj_H5MD() +//#ifdef HAS_HDF5 +: +//file_(0) + ncid_(-1), + natom_(0), + coordVID_(-1), + cellLengthVID_(-1), + cellAngleVID_(-1), + timeVID_(-1), + convert_h5_to_cpptraj_box_(0), + convert_h5_to_cpptraj_coord_(0) +//#endif +{ + start_[0] = 0; + start_[1] = 0; + start_[2] = 0; + count_[0] = 0; + count_[1] = 0; + count_[2] = 0; +} + +/** DESTRUCTOR */ +Traj_H5MD::~Traj_H5MD() { + closeTraj(); +//# ifdef HAS_HDF5 +// if (file_ != 0) delete file_; +//# endif +} + + +/** Identify trajectory format. File should be setup for READ */ +bool Traj_H5MD::ID_TrajFormat(CpptrajFile& fileIn) { +# ifdef HAS_HDF5 + int myNcid; + if ( nc_open( fileIn.Filename().full(), NC_NOWRITE, &myNcid ) != NC_NOERR ) + return false; + std::vector GroupNames = NC::GetGroupNames( myNcid ); + if (GroupNames.empty()) return false; + for (unsigned int ii = 0; ii != GroupNames.size(); ii++) { + if (GroupNames[ii] == "h5md") { + return true; + } + } + nc_close( myNcid ); +# else + unsigned char buf[8]; + unsigned int nread = fileIn.Read(buf, 8); + if (nread > 7 && buf[0] == 0x89 && buf[1] == 0x48 && buf[2] == 0x44 && buf[3] == 0x46 && + buf[4] == 0x0d && buf[5] == 0x0a && buf[6] == 0x1a && buf[7] == 0x0a) + { + mprintf("Warning: File '%s' appears to be HDF5 but cpptraj was compiled without HDF5 support.\n", fname); + } +# endif + return false; +} + +/** Print trajectory info to stdout. */ +void Traj_H5MD::Info() { + mprintf("is a MDanalysis H5MD (HDF5) trajectory"); +} + +/** Close file. */ +void Traj_H5MD::closeTraj() { +# ifdef HAS_HDF5 + if (ncid_ == -1) return; + bool err = NC::CheckErr( nc_close(ncid_) ); + if (err) { + mprinterr("Error closing ncid %i\n", ncid_); + } + //if (ncdebug_ > 0 && !err) + // mprintf("Successfully closed ncid %i\n",ncid_); + ncid_ = -1; +# endif +} + +// ----------------------------------------------------------------------------- +/** Open trajectory for reading. */ +int Traj_H5MD::openTrajin() { + + return 0; +} + +/** Read help */ +void Traj_H5MD::ReadHelp() { + +} + +/** Process read arguments. */ +int Traj_H5MD::processReadArgs(ArgList& argIn) { + + return 0; +} + +# ifdef HAS_HDF5 +static inline int setLengthFac(double& fac, std::string const& Units, const char* desc) +{ + if (Units == "nanometers") { + fac = Constants::NM_TO_ANG; + } else if (Units == "angstroms") { + fac = 1.0; + } else { + mprinterr("Error: %s has unrecognized units (%s)\n", desc, Units.c_str()); + return 1; + } + return 0; +} + +/** Set up the coordinates variable ID, number of atoms, and number of frames. */ +int Traj_H5MD::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& nframes) +{ + // Get the 'coordinates' variable ID + if (NC::CheckErr(nc_inq_varid(ncid_, "coordinates", &coordVID_))) + return 1; + mprintf("DEBUG: Coordinates VID is %i\n", coordVID_); + // Set conversion factor for coords + std::string lengthUnits = NC::GetAttrText(ncid_, coordVID_, "units"); + if (setLengthFac(convert_h5_to_cpptraj_coord_, lengthUnits, "Coordinates")) + return 1; + // Dimensions + frameDID = -1; + atomDID = -1; + spatialDID = -1; + natom_ = 0; + nframes = 0; + // Need to get the unlimited dimension ID, which should be the frame dim. + if (NC::CheckErr( nc_inq_unlimdim(ncid_, &frameDID) ) ) + return 1; + if (frameDID < 0) { + mprinterr("Error: No unlimited (frame) dimension present in H5 file.\n"); + return 1; + } + // Get dimensions for coordinates + int ndims = 0; + if (NC::CheckErr( nc_inq_varndims(ncid_, coordVID_, &ndims) ) ) + return 1; + if (ndims != 3) { + mprinterr("Error: Expected 3 dims for 'coordinates', got %i\n", ndims); + return 1; + } + int coord_dims[3]; + if (NC::CheckErr( nc_inq_vardimid(ncid_, coordVID_, coord_dims) ) ) + return 1; + mprintf("DEBUG: Coord dims: %i %i %i\n", coord_dims[0], coord_dims[1], coord_dims[2]); + // Check the dimensions. One should be frames (unlimited), one should be + // atoms, and the last should be spatial (XYZ) + + bool dim_used[3]; + for (int i = 0; i < 3; i++) dim_used[i] = false; + bool has_unlimited = false; + for (int nd = 0; nd < ndims; nd++) { + size_t dimsize = 0; + if (NC::CheckErr( nc_inq_dimlen(ncid_, coord_dims[nd], &dimsize))) + return 1; + mprintf("DEBUG: Dim %i size %zu\n", coord_dims[nd], dimsize); + if (coord_dims[nd] == frameDID) { + has_unlimited = true; + dim_used[nd] = true; + nframes = (int)dimsize; + } else if ( dimsize == 3 ) { + dim_used[nd] = true; + spatialDID = coord_dims[nd]; + } else { + // Should be natoms + dim_used[nd] = true; + natom_ = (int)dimsize; + atomDID = coord_dims[nd]; + } + } + + // Sanity checks + for (int nd = 0; nd < ndims; nd++) { + if (!dim_used[nd]) { + mprinterr("Error: Dimension %i remains unused for 'coordinates'.\n", coord_dims[nd]); + return 1; + } + } + if (!has_unlimited) { + mprinterr("Error: No unlimited dimension for 'coordinates'.\n"); + return 1; + } + // Expect dim order to be frame, atom, spatial + // TODO is this always the case for H5? + if (coord_dims[0] != frameDID) { + mprinterr("Error: Frame dimension is not first.\n"); + return 1; + } + if (coord_dims[1] != atomDID) { + mprinterr("Error: Atom dimension is not second.\n"); + return 1; + } + if (coord_dims[2] != spatialDID) { + mprinterr("Error: Spatial dimension is not third.\n"); + return 1; + } + return 0; +} + +/** Set up box variable IDs. + * \return 0 on success, 1 on error, -1 for no box coords. + */ +int Traj_H5MD::setupBoxVIDs(Box& ncbox, int frameDID, int spatialDID) { + ncbox.SetNoBox(); + // Get the 'cell_lengths' variable ID + int err = nc_inq_varid(ncid_, "cell_lengths", &cellLengthVID_); + if (err != NC_NOERR) return -1; + // Get the 'cell_angles' variable ID + if (NC::CheckErr(nc_inq_varid(ncid_, "cell_angles", &cellAngleVID_))) + return 1; + mprintf("DEBUG: Cell length vid= %i, cell angle vid= %i\n", + cellLengthVID_, cellAngleVID_); + // Ensure angles are in degrees + std::string angleUnits = NC::GetAttrText(ncid_, cellAngleVID_, "units"); + if (angleUnits != "degrees") { + mprinterr("Error: Cell angles have units that are not 'degrees' (%s)\n", angleUnits.c_str()); + return 1; + } + // Check units for lengths + std::string lengthUnits = NC::GetAttrText(ncid_, cellLengthVID_, "units"); + if (setLengthFac(convert_h5_to_cpptraj_box_, lengthUnits, "Cell lengths")) + return 1; + // Get box lengths and angles to determine box type. + start_[0] = 0; + start_[1] = 0; + count_[0] = 1; // 1 frame + count_[1] = 3; // 3 coordinates (abg or xyz) + double boxCrd[6]; /// XYZ ABG + float* fptr = &ftmp_[0]; + if ( NC::CheckErr(nc_get_vara_float(ncid_, cellLengthVID_, start_, count_, fptr )) ) + { + mprinterr("Error: Getting cell lengths.\n"); + return 1; + } + if ( NC::CheckErr(nc_get_vara_float(ncid_, cellAngleVID_, start_, count_, fptr+3)) ) + { + mprinterr("Error: Getting cell angles.\n"); + return 1; + } + for (int i = 0; i < 6; i++) + boxCrd[i] = (double)ftmp_[i]; + // Convert + boxCrd[0] *= convert_h5_to_cpptraj_box_; + boxCrd[1] *= convert_h5_to_cpptraj_box_; + boxCrd[2] *= convert_h5_to_cpptraj_box_; + mprintf("DEBUG:\tH5 Box: XYZ={%f %f %f} ABG={%f %f %f}\n", + boxCrd[0], boxCrd[1], boxCrd[2], boxCrd[3], boxCrd[4], boxCrd[5]); + if (ncbox.SetupFromXyzAbg( boxCrd )) { + mprintf("Warning: H5 file unit cell variables appear to be empty; disabling box.\n"); + cellLengthVID_ = -1; + cellAngleVID_ = -1; + ncbox.SetNoBox(); + return -1; + } + // TODO check dim IDs + + return 0; +} + +#endif /* HAS_HDF5 */ + + +/** Set up trajectory for reading. + * \return Number of frames in trajectory. + */ +int Traj_H5MD::setupTrajin(FileName const& fname, Topology* trajParm) +{ +# ifdef HAS_HDF5 +/* if (file_ != 0) + delete file_; + file_ = new H5File( fname.full(), H5F_ACC_RDONLY ); + if (file_ == 0) { + mprinterr("Error: Could not allocate input trajectory file.\n"); + return TRAJIN_ERR; + } + return 0;*/ + if (ncid_ != -1) closeTraj(); + if ( NC::CheckErr( nc_open( fname.full(), NC_NOWRITE, &ncid_ ) ) ) + return TRAJIN_ERR; + NC::Debug(ncid_); + + // Set up coordinates + int frameDID, atomDID, spatialDID, nframes; + if (setupCoordVID(frameDID, atomDID, spatialDID, nframes)) { + mprinterr("Error: Could not set up coordinates variable.\n"); + return TRAJIN_ERR; + } + mprintf("DEBUG: Unlimited dimid is %i\n", frameDID); + mprintf("DEBUG: Atom dim is %i\n", atomDID); + mprintf("DEBUG: Spatial dim is %i\n", spatialDID); + + // Check # atoms + if ( natom_ != trajParm->Natom() ) { + mprinterr("Error: Atom mismatch between topology (%i) and trajectory (%i).\n", + trajParm->Natom(), natom_); + return TRAJIN_ERR; + } + + // Allocate temp space + ftmp_.assign( natom_*3, 0 ); + + // Check for box + Box ncbox; + int err = setupBoxVIDs(ncbox, frameDID, spatialDID); + if (err == 1) { + mprinterr("Error: Problem setting up box info.\n"); + return TRAJIN_ERR; + } + + // Check for time + err = nc_inq_varid(ncid_, "time", &timeVID_); + if (err != NC_NOERR) + timeVID_ = -1; + + // Get title + SetTitle( NC::GetAttrText(ncid_, "TITLE") ); + + // Setup coordinfo + SetCoordInfo( CoordinateInfo( ncbox, false, false, (timeVID_ != -1) ) ); + + return nframes; +# else + return TRAJIN_ERR; +# endif +} + +/** Read specified trajectory frame. */ +int Traj_H5MD::readFrame(int set, Frame& frameIn) { + start_[0] = set; + start_[1] = 0; + start_[2] = 0; + count_[0] = 1; + count_[1] = natom_; + count_[2] = 3; + +/* // Get temperature + if (TempVID_!=-1) { + if ( NC::CheckErr(nc_get_vara_double(ncid_, TempVID_, start_, count_, frameIn.tAddress())) ) { + mprinterr("Error: Getting replica temperature for frame %i.\n", set+1); + return 1; + } + //fprintf(stderr,"DEBUG: Replica Temperature %lf\n",F->T); + }*/ + + // Get time + if (timeVID_!=-1) { + float time; + if (NC::CheckErr(nc_get_vara_float(ncid_, timeVID_, start_, count_, &time))) { + mprinterr("Error: Getting time for frame %i.\n", set + 1); + return 1; + } + frameIn.SetTime( (double)time ); + } + + float* fptr = &ftmp_[0]; + // Read Coords + if (coordVID_ != -1) { + if ( NC::CheckErr(nc_get_vara_float(ncid_, coordVID_, start_, count_, fptr)) ) { + mprinterr("Error: Getting coordinates for frame %i\n", set+1); + return 1; + } + for (unsigned int idx = 0; idx != ftmp_.size(); idx++) + frameIn.xAddress()[idx] = (double)ftmp_[idx] * convert_h5_to_cpptraj_coord_; + } + + // Read Velocities + /*if (velocityVID_ != -1) { + if ( NC::CheckErr(nc_get_vara_float(ncid_, velocityVID_, start_, count_, Coord_)) ) { + mprinterr("Error: Getting velocities for frame %i\n", set+1); + return 1; + } + FloatToDouble(frameIn.vAddress(), Coord_); + }*/ + + // Read Forces + /*if (frcVID_ != -1) { + if ( NC::CheckErr(nc_get_vara_float(ncid_, frcVID_, start_, count_, Coord_)) ) { + mprinterr("Error: Getting forces for frame %i\n", set+1); + return 1; + } + FloatToDouble(frameIn.fAddress(), Coord_); + }*/ + + // Read box info + if (cellLengthVID_ != -1) { + double xyzabg[6]; + count_[1] = 3; + count_[2] = 0; + if (NC::CheckErr(nc_get_vara_float(ncid_, cellLengthVID_, start_, count_, fptr))) + { + mprinterr("Error: Getting cell lengths for frame %i.\n", set+1); + return 1; + } + if (NC::CheckErr(nc_get_vara_float(ncid_, cellAngleVID_, start_, count_, fptr+3))) + { + mprinterr("Error: Getting cell angles for frame %i.\n", set+1); + return 1; + } + for (int i = 0; i < 6; i++) + xyzabg[i] = (double)ftmp_[i]; + // Convert + xyzabg[0] *= convert_h5_to_cpptraj_box_; + xyzabg[1] *= convert_h5_to_cpptraj_box_; + xyzabg[2] *= convert_h5_to_cpptraj_box_; + frameIn.ModifyBox().AssignFromXyzAbg( xyzabg ); + } + + return 0; +} + +/** Read velocities from specified frame. */ +int Traj_H5MD::readVelocity(int set, Frame& frameIn) { + + return 0; +} + +/** Read forces from specified frame. */ +int Traj_H5MD::readForce(int set, Frame& frameIn) { + + return 0; +} + +// ----------------------------------------------------------------------------- +/** Write help. */ +void Traj_H5MD::WriteHelp() { + +} + +/** Process write arguments. */ +int Traj_H5MD::processWriteArgs(ArgList& argIn, DataSetList const& DSLin) { + + return 0; +} + +/** Set up trajectory for write. */ +int Traj_H5MD::setupTrajout(FileName const& fname, Topology* trajParm, + CoordinateInfo const& cInfoIn, + int NframesToWrite, bool append) +{ + mprinterr("Error: H5 write not yet supported.\n"); + return 1; +} + +/** Write specified trajectory frame. */ +int Traj_H5MD::writeFrame(int set, Frame const& frameOut) { + + mprinterr("Error: H5 write not yet supported.\n"); + return 0; +} + +// ============================================================================= +#ifdef MPI +/** Open trajectory for reading in parallel. */ +int Traj_H5MD::parallelOpenTrajin(Parallel::Comm const& commIn) { + return 1; +} + +/** Open trajectory for writing in parallel. */ +int Traj_H5MD::parallelOpenTrajout(Parallel::Comm const& commIn) { + return 1; +} + +/** Set up trajectory for write in parallel. */ +int Traj_H5MD::parallelSetupTrajout(FileName const& fname, Topology* trajParm, + CoordinateInfo const& cInfoIn, + int NframesToWrite, bool append, + Parallel::Comm const& commIn) +{ + + return 1; +} + +/** Read frame in parallel. */ +int Traj_H5MD::parallelReadFrame(int set, Frame& frameIn) { + + return 1; +} + +/** Write frame in parallel. */ +int Traj_H5MD::parallelWriteFrame(int set, Frame const& frameOut) { + + return 1; +} + +/** Close trajectory in parallel. */ +void Traj_H5MD::parallelCloseTraj() { + +} +#endif diff --git a/src/Traj_H5MD.h b/src/Traj_H5MD.h new file mode 100644 index 0000000000..d5a2fdaa05 --- /dev/null +++ b/src/Traj_H5MD.h @@ -0,0 +1,61 @@ +#ifndef INC_TRAJ_H5MD_H +#define INC_TRAJ_H5MD_H +#include "TrajectoryIO.h" +//namespace H5 { +// class H5File; +//} +/// MDanalysis H5MD (HDF5) format +class Traj_H5MD : public TrajectoryIO { + public: + Traj_H5MD(); + ~Traj_H5MD(); + static BaseIOtype* Alloc() { return (BaseIOtype*)new Traj_H5MD(); } + static void WriteHelp(); + static void ReadHelp(); + private: + // ----- Inherited functions ----------------- + bool ID_TrajFormat(CpptrajFile&); + int setupTrajin(FileName const&, Topology*); + int setupTrajout(FileName const&, Topology*, CoordinateInfo const&,int, bool); + int openTrajin(); + void closeTraj(); + int readFrame(int,Frame&); + int writeFrame(int,Frame const&); + void Info(); + int readVelocity(int, Frame&); + int readForce(int, Frame&); + int processWriteArgs(ArgList&, DataSetList const&); + int processReadArgs(ArgList&); + // ------------------------------------------- +# ifdef MPI + // ----- Parallel functions ------------------ + int parallelOpenTrajin(Parallel::Comm const&); + int parallelOpenTrajout(Parallel::Comm const&); + int parallelSetupTrajout(FileName const&, Topology*, CoordinateInfo const&, + int, bool, Parallel::Comm const&); + int parallelReadFrame(int, Frame&); + int parallelWriteFrame(int, Frame const&); + void parallelCloseTraj(); + // ------------------------------------------- +# endif +# ifdef HAS_HDF5 + /// Set up coordinates VID and related dim sizes + int setupCoordVID(int&, int&, int&, int&); + /// Set up box variable IDs and determine type + int setupBoxVIDs(Box&, int, int); +# endif + +// H5::H5File* file_; + int ncid_; ///< NetCDF ID + int natom_; ///< Number of atoms in each trajectory frame. + int coordVID_; ///< Coordinates variable ID + int cellLengthVID_; ///< Cell lengths variable ID + int cellAngleVID_; ///< Cell angles variable ID + int timeVID_; ///< Time variable ID + size_t start_[3]; ///< Start indices in each dimension + size_t count_[3]; ///< Count indices in each dimension + double convert_h5_to_cpptraj_box_; ///< For converting h5 box lengths to angstroms + double convert_h5_to_cpptraj_coord_; ///< For converting h5 coordinates to angstroms + std::vector ftmp_; ///< Temporary array to store floats +}; +#endif From f4fa708fc60c452aa7f2459fc461bb0e5fde3341 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 10:32:14 -0400 Subject: [PATCH 093/191] Group detection now in NC_Routines --- src/NetcdfFile.cpp | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 34e20b1796..ba4ba218cf 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -160,27 +160,22 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(int ncidIn) { attrText = NC::GetAttrText(ncidIn, "conventions"); if (attrText.empty()) { // Check if this is an MDAnalysis h5md file - int numgrps; - nc_inq_grps( ncidIn, &numgrps, NULL ); - if ( numgrps > 0 ) { - mprintf("DEBUG: Netcdf file contains %i groups.\n", numgrps); - int* ncids = new int[ numgrps ]; - nc_inq_grps( ncidIn, NULL, ncids ); - for (int ii = 0; ii < numgrps; ii++) { - mprintf("\tncid %i", ncids[ii]); - size_t gnamelen; - nc_inq_grpname_len( ncids[ii], &gnamelen ); - char* gname = new char[ gnamelen+1 ]; - nc_inq_grpname( ncids[ii], gname ); - mprintf(" %s\n", gname); - delete[] gname; + bool is_h5md = false; + std::vector GroupNames = NC::GetGroupNames( ncidIn ); + if (!GroupNames.empty()) { + for (std::vector::const_iterator it = GroupNames.begin(); + it != GroupNames.end(); ++it) + { + if (*it == "h5md") { + mprintf("DEBUG: H5MD detected.\n"); + is_h5md = true; + break; + } } - delete[] ncids; - return NC_UNKNOWN; - } else { - mprinterr("Error: Could not get conventions from NetCDF file.\n"); - return NC_UNKNOWN; } + if (!is_h5md) + mprinterr("Error: Could not get conventions from NetCDF file.\n"); + return NC_UNKNOWN; } //mprintf("DEBUG: This appears to be an HDF5 h5 file.\n"); return NC_UNKNOWN; From 6049219230dd535eb1e7bfd8fcd98a33d88b500a Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 10:37:04 -0400 Subject: [PATCH 094/191] Initial enabling of h5md --- src/Traj_H5MD.cpp | 1 + src/TrajectoryFile.cpp | 3 +++ src/TrajectoryFile.h | 2 +- src/cpptrajdepend | 3 ++- src/cpptrajfiles | 1 + 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp index af0555e471..dfedf1c71d 100644 --- a/src/Traj_H5MD.cpp +++ b/src/Traj_H5MD.cpp @@ -47,6 +47,7 @@ Traj_H5MD::~Traj_H5MD() { /** Identify trajectory format. File should be setup for READ */ bool Traj_H5MD::ID_TrajFormat(CpptrajFile& fileIn) { # ifdef HAS_HDF5 + mprintf("BING BONG\n"); int myNcid; if ( nc_open( fileIn.Filename().full(), NC_NOWRITE, &myNcid ) != NC_NOERR ) return false; diff --git a/src/TrajectoryFile.cpp b/src/TrajectoryFile.cpp index 16d637aa0a..e3716438ed 100644 --- a/src/TrajectoryFile.cpp +++ b/src/TrajectoryFile.cpp @@ -27,6 +27,7 @@ #include "Traj_GmxDump.h" #include "Traj_DTR.h" #include "Traj_H5.h" +#include "Traj_H5MD.h" // ----- STATIC VARS / ROUTINES ------------------------------------------------ // NOTE: Must be in same order as TrajFormatType @@ -80,8 +81,10 @@ const FileTypes::AllocToken TrajectoryFile::TF_AllocArray[] = { # endif # ifdef HAS_HDF5 { "MDtraj H5", 0, 0, Traj_H5::Alloc }, + { "MDanalysis H5MD", 0, 0, Traj_H5MD::Alloc }, # else { "MDtraj H5", 0, 0, 0 }, + { "MDanalysis H5MD", 0, 0, 0 }, # endif { "Unknown trajectory", 0, 0, 0 } }; diff --git a/src/TrajectoryFile.h b/src/TrajectoryFile.h index 0663d3be39..1ce66acc5e 100644 --- a/src/TrajectoryFile.h +++ b/src/TrajectoryFile.h @@ -28,7 +28,7 @@ class TrajectoryFile { CIF, CHARMMDCD, GMXTRX, GMXXTC, GMXTNG, BINPOS, AMBERRESTART, GRO, TINKER, CHARMMCOR, CHARMMREST, AMBERTRAJ, SQM, SDF, XYZ, - CONFLIB, GMXDUMP, DTR, H5, + CONFLIB, GMXDUMP, DTR, H5, H5MD, UNKNOWN_TRAJ }; diff --git a/src/cpptrajdepend b/src/cpptrajdepend index 613c93f3ff..bb81326875 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -440,6 +440,7 @@ Traj_GmxTrX.o : Traj_GmxTrX.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtyp Traj_GmxXtc.o : Traj_GmxXtc.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_GmxXtc.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_Gro.o : Traj_Gro.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h Traj_Gro.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_H5.o : Traj_H5.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_H5.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h +Traj_H5MD.o : Traj_H5MD.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_H5MD.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_Mol2File.o : Traj_Mol2File.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Mol2File.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_Mol2File.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_NcEnsemble.o : Traj_NcEnsemble.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FrameArray.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h NetcdfFile.h Parallel.h ParallelNetcdf.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_NcEnsemble.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_PDBfile.o : Traj_PDBfile.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_Tensor.h Dimension.h DistRoutines.h FileIO.h FileName.h Frame.h FramePtrArray.h ImageOption.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h PDBfile.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h SymmetricTensor.h TextFormat.h Timer.h Topology.h Traj_PDBfile.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h @@ -447,7 +448,7 @@ Traj_SDF.o : Traj_SDF.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Consta Traj_SQM.o : Traj_SQM.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h Traj_SQM.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_Tinker.o : Traj_Tinker.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TinkerFile.h Topology.h Traj_Tinker.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_XYZ.o : Traj_XYZ.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Topology.h Traj_XYZ.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h -TrajectoryFile.o : TrajectoryFile.cpp Atom.h BaseIOtype.h Box.h BufferedFrame.h BufferedLine.h CIFfile.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h FileTypes.h FramePtrArray.h Matrix_3x3.h Mol2File.h NameType.h NetcdfFile.h PDBfile.h Parallel.h ReplicaDimArray.h Residue.h SDFfile.h SymbolExporting.h TextFormat.h TinkerFile.h Traj_AmberCoord.h Traj_AmberNetcdf.h Traj_AmberRestart.h Traj_AmberRestartNC.h Traj_Binpos.h Traj_CIF.h Traj_CharmmCor.h Traj_CharmmDcd.h Traj_CharmmRestart.h Traj_Conflib.h Traj_DTR.h Traj_GmxDump.h Traj_GmxTng.h Traj_GmxTrX.h Traj_GmxXtc.h Traj_Gro.h Traj_H5.h Traj_Mol2File.h Traj_NcEnsemble.h Traj_PDBfile.h Traj_SDF.h Traj_SQM.h Traj_Tinker.h Traj_XYZ.h TrajectoryFile.h TrajectoryIO.h Vec3.h +TrajectoryFile.o : TrajectoryFile.cpp Atom.h BaseIOtype.h Box.h BufferedFrame.h BufferedLine.h CIFfile.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h FileTypes.h FramePtrArray.h Matrix_3x3.h Mol2File.h NameType.h NetcdfFile.h PDBfile.h Parallel.h ReplicaDimArray.h Residue.h SDFfile.h SymbolExporting.h TextFormat.h TinkerFile.h Traj_AmberCoord.h Traj_AmberNetcdf.h Traj_AmberRestart.h Traj_AmberRestartNC.h Traj_Binpos.h Traj_CIF.h Traj_CharmmCor.h Traj_CharmmDcd.h Traj_CharmmRestart.h Traj_Conflib.h Traj_DTR.h Traj_GmxDump.h Traj_GmxTng.h Traj_GmxTrX.h Traj_GmxXtc.h Traj_Gro.h Traj_H5.h Traj_H5MD.h Traj_Mol2File.h Traj_NcEnsemble.h Traj_PDBfile.h Traj_SDF.h Traj_SQM.h Traj_Tinker.h Traj_XYZ.h TrajectoryFile.h TrajectoryIO.h Vec3.h TrajectoryIO.o : TrajectoryIO.cpp BaseIOtype.h Box.h CoordinateInfo.h FramePtrArray.h Matrix_3x3.h Parallel.h ReplicaDimArray.h TrajectoryIO.h Vec3.h TrajinList.o : TrajinList.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSet_RemLog.h Dimension.h EnsembleIn.h EnsembleIn_Multi.h EnsembleIn_Single.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajIOarray.h TrajectoryFile.h TrajectoryIO.h Trajin.h TrajinList.h Trajin_Multi.h Trajin_Single.h TypeNameHolder.h Unit.h Vec3.h Trajin_Multi.o : Trajin_Multi.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajStdio.h FileName.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h TrajFrameCounter.h TrajIOarray.h TrajectoryIO.h Trajin.h Trajin_Multi.h TypeNameHolder.h Unit.h Vec3.h diff --git a/src/cpptrajfiles b/src/cpptrajfiles index 943a587831..780a0653e8 100644 --- a/src/cpptrajfiles +++ b/src/cpptrajfiles @@ -408,6 +408,7 @@ COMMON_SOURCES= \ Traj_GmxXtc.cpp \ Traj_Gro.cpp \ Traj_H5.cpp \ + Traj_H5MD.cpp \ Traj_Mol2File.cpp \ Traj_NcEnsemble.cpp \ Traj_PDBfile.cpp \ From a78d8c7d0fa139cfdc3a08d726a7415e78bef48f Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 10:50:21 -0400 Subject: [PATCH 095/191] Get particle and trajectory groups --- src/Traj_H5MD.cpp | 36 +++++++++++++++++++++++++++++++----- src/Traj_H5MD.h | 8 ++++++++ 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp index dfedf1c71d..82c2a881b6 100644 --- a/src/Traj_H5MD.cpp +++ b/src/Traj_H5MD.cpp @@ -51,14 +51,26 @@ bool Traj_H5MD::ID_TrajFormat(CpptrajFile& fileIn) { int myNcid; if ( nc_open( fileIn.Filename().full(), NC_NOWRITE, &myNcid ) != NC_NOERR ) return false; - std::vector GroupNames = NC::GetGroupNames( myNcid ); - if (GroupNames.empty()) return false; - for (unsigned int ii = 0; ii != GroupNames.size(); ii++) { - if (GroupNames[ii] == "h5md") { - return true; + mainGroupNames_ = NC::GetGroupNames( myNcid, mainGroupIds_ ); + if (mainGroupNames_.empty()) return false; + // Check for h5md and particle groups + bool is_h5md = false; + particle_gid_ = -1; + for (unsigned int ii = 0; ii != mainGroupNames_.size(); ii++) { + if (mainGroupNames_[ii] == "h5md") { + is_h5md = true; + } else if (mainGroupNames_[ii] == "particles") { + particle_gid_ = mainGroupIds_[ii]; } } nc_close( myNcid ); + if (is_h5md) { + if (particle_gid_ == -1) { + mprinterr("Error: H5MD file missing 'particle' group.\n"); + } else { + return true; + } + } # else unsigned char buf[8]; unsigned int nread = fileIn.Read(buf, 8); @@ -294,6 +306,20 @@ int Traj_H5MD::setupTrajin(FileName const& fname, Topology* trajParm) return TRAJIN_ERR; NC::Debug(ncid_); + // Get groups in the particles group + int trajectory_gid = -1; + Iarray particle_ids; + Sarray particle_gnames = NC::GetGroupNames( particle_gid_, particle_ids ); + for (unsigned int ii = 0; ii < particle_gnames.size(); ii++) { + if (particle_gnames[ii] == "trajectory") + trajectory_gid = particle_ids[ii]; + } + if (trajectory_gid == -1) { + mprinterr("Error: 'trajectory' group not found.\n"); + return TRAJIN_ERR; + } + + // Set up coordinates int frameDID, atomDID, spatialDID, nframes; if (setupCoordVID(frameDID, atomDID, spatialDID, nframes)) { diff --git a/src/Traj_H5MD.h b/src/Traj_H5MD.h index d5a2fdaa05..beaa0dd323 100644 --- a/src/Traj_H5MD.h +++ b/src/Traj_H5MD.h @@ -46,6 +46,14 @@ class Traj_H5MD : public TrajectoryIO { # endif // H5::H5File* file_; + typedef std::vector Sarray; + typedef std::vector Iarray; + + Sarray mainGroupNames_; + Iarray mainGroupIds_; + + int particle_gid_; ///< Particle group id + int ncid_; ///< NetCDF ID int natom_; ///< Number of atoms in each trajectory frame. int coordVID_; ///< Coordinates variable ID From da9d6262825d7bb60cd3880da29715acd0a9137b Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 10:53:56 -0400 Subject: [PATCH 096/191] Get box and position Ids --- src/Traj_H5MD.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp index 82c2a881b6..fa458c147f 100644 --- a/src/Traj_H5MD.cpp +++ b/src/Traj_H5MD.cpp @@ -306,7 +306,7 @@ int Traj_H5MD::setupTrajin(FileName const& fname, Topology* trajParm) return TRAJIN_ERR; NC::Debug(ncid_); - // Get groups in the particles group + // Get trajectory group in the particles group int trajectory_gid = -1; Iarray particle_ids; Sarray particle_gnames = NC::GetGroupNames( particle_gid_, particle_ids ); @@ -318,7 +318,18 @@ int Traj_H5MD::setupTrajin(FileName const& fname, Topology* trajParm) mprinterr("Error: 'trajectory' group not found.\n"); return TRAJIN_ERR; } - + // Get box and position groups in the trajectory group + int box_gid = -1; + int position_gid = -1; + Iarray trajectory_ids; + Sarray trajectory_gnames = NC::GetGroupNames( trajectory_gid, trajectory_ids ); + for (unsigned int ii = 0; ii < trajectory_gnames.size(); ii++) { + if (trajectory_gnames[ii] == "box") + box_gid = trajectory_ids[ii]; + else if (trajectory_gnames[ii] == "position") + position_gid = trajectory_ids[ii]; + } + mprintf("DEBUG: Box gid = %i, position gid = %i\n", box_gid, position_gid); // Set up coordinates int frameDID, atomDID, spatialDID, nframes; From 2775f2e7486886c55a1f8fa3ae75e59a1f5c9bc6 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 10:58:26 -0400 Subject: [PATCH 097/191] Use position group id instead of ncid --- src/Traj_H5MD.cpp | 19 ++++++++++--------- src/Traj_H5MD.h | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp index fa458c147f..5e541d276d 100644 --- a/src/Traj_H5MD.cpp +++ b/src/Traj_H5MD.cpp @@ -135,14 +135,15 @@ static inline int setLengthFac(double& fac, std::string const& Units, const char } /** Set up the coordinates variable ID, number of atoms, and number of frames. */ -int Traj_H5MD::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& nframes) +int Traj_H5MD::setupCoordVID(int position_gid, int& frameDID, int& atomDID, + int& spatialDID, int& nframes) { - // Get the 'coordinates' variable ID - if (NC::CheckErr(nc_inq_varid(ncid_, "coordinates", &coordVID_))) + // Get the 'coordinates' variable ID ('value') + if (NC::CheckErr(nc_inq_varid(position_gid, "value", &coordVID_))) return 1; mprintf("DEBUG: Coordinates VID is %i\n", coordVID_); // Set conversion factor for coords - std::string lengthUnits = NC::GetAttrText(ncid_, coordVID_, "units"); + std::string lengthUnits = NC::GetAttrText(position_gid, coordVID_, "units"); if (setLengthFac(convert_h5_to_cpptraj_coord_, lengthUnits, "Coordinates")) return 1; // Dimensions @@ -152,7 +153,7 @@ int Traj_H5MD::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& natom_ = 0; nframes = 0; // Need to get the unlimited dimension ID, which should be the frame dim. - if (NC::CheckErr( nc_inq_unlimdim(ncid_, &frameDID) ) ) + if (NC::CheckErr( nc_inq_unlimdim(position_gid, &frameDID) ) ) return 1; if (frameDID < 0) { mprinterr("Error: No unlimited (frame) dimension present in H5 file.\n"); @@ -160,14 +161,14 @@ int Traj_H5MD::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& } // Get dimensions for coordinates int ndims = 0; - if (NC::CheckErr( nc_inq_varndims(ncid_, coordVID_, &ndims) ) ) + if (NC::CheckErr( nc_inq_varndims(position_gid, coordVID_, &ndims) ) ) return 1; if (ndims != 3) { mprinterr("Error: Expected 3 dims for 'coordinates', got %i\n", ndims); return 1; } int coord_dims[3]; - if (NC::CheckErr( nc_inq_vardimid(ncid_, coordVID_, coord_dims) ) ) + if (NC::CheckErr( nc_inq_vardimid(position_gid, coordVID_, coord_dims) ) ) return 1; mprintf("DEBUG: Coord dims: %i %i %i\n", coord_dims[0], coord_dims[1], coord_dims[2]); // Check the dimensions. One should be frames (unlimited), one should be @@ -178,7 +179,7 @@ int Traj_H5MD::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& bool has_unlimited = false; for (int nd = 0; nd < ndims; nd++) { size_t dimsize = 0; - if (NC::CheckErr( nc_inq_dimlen(ncid_, coord_dims[nd], &dimsize))) + if (NC::CheckErr( nc_inq_dimlen(position_gid, coord_dims[nd], &dimsize))) return 1; mprintf("DEBUG: Dim %i size %zu\n", coord_dims[nd], dimsize); if (coord_dims[nd] == frameDID) { @@ -333,7 +334,7 @@ int Traj_H5MD::setupTrajin(FileName const& fname, Topology* trajParm) // Set up coordinates int frameDID, atomDID, spatialDID, nframes; - if (setupCoordVID(frameDID, atomDID, spatialDID, nframes)) { + if (setupCoordVID(position_gid, frameDID, atomDID, spatialDID, nframes)) { mprinterr("Error: Could not set up coordinates variable.\n"); return TRAJIN_ERR; } diff --git a/src/Traj_H5MD.h b/src/Traj_H5MD.h index beaa0dd323..d3f8ded76e 100644 --- a/src/Traj_H5MD.h +++ b/src/Traj_H5MD.h @@ -40,7 +40,7 @@ class Traj_H5MD : public TrajectoryIO { # endif # ifdef HAS_HDF5 /// Set up coordinates VID and related dim sizes - int setupCoordVID(int&, int&, int&, int&); + int setupCoordVID(int, int&, int&, int&, int&); /// Set up box variable IDs and determine type int setupBoxVIDs(Box&, int, int); # endif From 107fa24eaedc0d1e55bbd963f7039ba533f525fb Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 11:20:35 -0400 Subject: [PATCH 098/191] Add some code for unit conversion --- src/Units.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ src/Units.h | 20 ++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 src/Units.cpp create mode 100644 src/Units.h diff --git a/src/Units.cpp b/src/Units.cpp new file mode 100644 index 0000000000..40103a779f --- /dev/null +++ b/src/Units.cpp @@ -0,0 +1,46 @@ +#include "Units.h" +#include "Constants.h" +#include "CpptrajStdio.h" + +/** \return Unit type from name. */ +Cpptraj::Units::Type Cpptraj::Units::TypeFromName(std::string const& nameIn) { + if (nameIn == "angstroms" || nameIn == "ang") return ANG; + if (nameIn == "nanometers" || nameIn == "nm") return NM; + mprintf("Warning: Unrecognized units: %s\n", nameIn.c_str()); + return UNKNOWN_UNITS; +} + +/** Set the conversion factor required to convert the first unit + * into the second unit via multiplication. + */ +int Cpptraj::Units::SetConversionFactor(double& fac, + std::string const& fromName, std::string const& toName) +{ + fac = 0; + Type fromUnits = TypeFromName(fromName); + if (fromUnits == UNKNOWN_UNITS) return 1; + Type toUnits = TypeFromName(toName); + if (toUnits == UNKNOWN_UNITS) return 1; + + // If units match no conversion factor needed + if (fromUnits == toUnits) { + fac = 1.0; + return 0; + } + + if (fromUnits == ANG) { + // from angstroms to X + if (toUnits == NM) { + fac = Constants::ANG_TO_NM; + return 0; + } + } else if (fromUnits == NM) { + // from nanometers to X + if (toUnits == ANG) { + fac = Constants::NM_TO_ANG; + return 0; + } + } + mprintf("Warning: No conversion from '%s' to '%s'\n", fromName.c_str(), toName.c_str()); + return 1; +} diff --git a/src/Units.h b/src/Units.h new file mode 100644 index 0000000000..79394749c2 --- /dev/null +++ b/src/Units.h @@ -0,0 +1,20 @@ +#ifndef INC_UNITS_H +#define INC_UNITS_H +#include +namespace Cpptraj { +namespace Units { + +enum Type { ANG = 0, ///< Angstroms + NM, ///< nanometers + UNKNOWN_UNITS + }; + +/// \return Unit type from name. +Type TypeFromName(std::string const&); + +/// Set multiplicative conversion factor from first unit to second unit +int SetConversionFactor(double&, std::string const&, std::string const&); + +} +} +#endif From 844e821f30f9d1ca3ae171cdfa14ed8ee64b8f98 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 11:53:19 -0400 Subject: [PATCH 099/191] Handle string attributes as well as char attributes --- src/NC_Routines.cpp | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/src/NC_Routines.cpp b/src/NC_Routines.cpp index 0b6f192789..0745157a21 100644 --- a/src/NC_Routines.cpp +++ b/src/NC_Routines.cpp @@ -23,18 +23,44 @@ std::string NC::GetAttrText(int ncid, int vid, const char* attribute) { int ncerr = nc_inq_attlen(ncid, vid, attribute, &attlen); if (ncerr != NC_NOERR) return attrOut; - // Allocate space for attr text, plus one for null char - char *attrText = new char[ (attlen + 1) ]; + // Check attribute type + int xtypep = -1; + if ( CheckErr(nc_inq_atttype(ncid, vid, attribute, &xtypep)) ) { + mprintf("Warning: Problem getting attribute type for '%s'\n", attribute); + return attrOut; + } + //mprintf("DEBUG: Attribute %s type %i\n", attribute, xtypep); + // Get attr text - if ( CheckErr(nc_get_att_text(ncid, vid, attribute, attrText)) ) { - mprintf("Warning: Getting attribute text for '%s'\n",attribute); + if ( xtypep == NC_CHAR ) { + // Allocate space for attr text, plus one for null char + char *attrText = new char[ (attlen + 1) ]; + if ( CheckErr(nc_get_att_text(ncid, vid, attribute, attrText)) ) { + mprintf("Warning: Problem getting attribute text for '%s'\n", attribute); + delete[] attrText; + return attrOut; + } + // Append null char - NECESSARY? + attrText[attlen]='\0'; + attrOut.assign( attrText ); delete[] attrText; + } else if ( xtypep == NC_STRING ) { + if (attlen > 1) { + mprinterr("Error: Variable attribute %s has %i strings, expected only 1.\n", + attribute, attlen); + return attrOut; + } + char* attrString; + if ( CheckErr(nc_get_att_string(ncid, vid, attribute, &attrString)) ) { + mprintf("Warning: Problem getting attribute string for '%s'\n", attribute); + return attrOut; + } + attrOut.assign( attrString ); + nc_free_string(attlen, &attrString); + } else { + mprinterr("Error: Attribute %s has unhandled type.\n", attribute); return attrOut; } - // Append null char - NECESSARY? - attrText[attlen]='\0'; - attrOut.assign( attrText ); - delete[] attrText; return attrOut; } From 7dae3f4f49ff2f44a3d66b684fc5f20a3d84ff3e Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 11:58:44 -0400 Subject: [PATCH 100/191] Use Units --- src/Traj_H5MD.cpp | 26 ++++++++++---------------- src/cpptrajdepend | 3 ++- src/cpptrajfiles | 1 + 3 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp index 5e541d276d..eb161ef835 100644 --- a/src/Traj_H5MD.cpp +++ b/src/Traj_H5MD.cpp @@ -6,6 +6,7 @@ #ifdef BINTRAJ # include # include "NC_Routines.h" +# include "Units.h" #endif //#ifdef HAS_HDF5 //# include @@ -121,19 +122,6 @@ int Traj_H5MD::processReadArgs(ArgList& argIn) { } # ifdef HAS_HDF5 -static inline int setLengthFac(double& fac, std::string const& Units, const char* desc) -{ - if (Units == "nanometers") { - fac = Constants::NM_TO_ANG; - } else if (Units == "angstroms") { - fac = 1.0; - } else { - mprinterr("Error: %s has unrecognized units (%s)\n", desc, Units.c_str()); - return 1; - } - return 0; -} - /** Set up the coordinates variable ID, number of atoms, and number of frames. */ int Traj_H5MD::setupCoordVID(int position_gid, int& frameDID, int& atomDID, int& spatialDID, int& nframes) @@ -143,9 +131,13 @@ int Traj_H5MD::setupCoordVID(int position_gid, int& frameDID, int& atomDID, return 1; mprintf("DEBUG: Coordinates VID is %i\n", coordVID_); // Set conversion factor for coords - std::string lengthUnits = NC::GetAttrText(position_gid, coordVID_, "units"); - if (setLengthFac(convert_h5_to_cpptraj_coord_, lengthUnits, "Coordinates")) + std::string lengthUnits = NC::GetAttrText(position_gid, coordVID_, "unit"); + mprintf("DEBUG: length units are: %s\n", lengthUnits.c_str()); + if (Cpptraj::Units::SetConversionFactor( convert_h5_to_cpptraj_coord_, lengthUnits, "ang" )) { + mprinterr("Error: Could not determine Coordinates conversion factor.\n"); return 1; + } + // Dimensions frameDID = -1; atomDID = -1; @@ -246,8 +238,10 @@ int Traj_H5MD::setupBoxVIDs(Box& ncbox, int frameDID, int spatialDID) { } // Check units for lengths std::string lengthUnits = NC::GetAttrText(ncid_, cellLengthVID_, "units"); - if (setLengthFac(convert_h5_to_cpptraj_box_, lengthUnits, "Cell lengths")) + if (Cpptraj::Units::SetConversionFactor(convert_h5_to_cpptraj_box_, lengthUnits, "ang")) { + mprinterr("Error: Could not determine Cell Lengths conversion factor.\n"); return 1; + } // Get box lengths and angles to determine box type. start_[0] = 0; start_[1] = 0; diff --git a/src/cpptrajdepend b/src/cpptrajdepend index bb81326875..eb501882b3 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -440,7 +440,7 @@ Traj_GmxTrX.o : Traj_GmxTrX.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtyp Traj_GmxXtc.o : Traj_GmxXtc.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_GmxXtc.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_Gro.o : Traj_Gro.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h Traj_Gro.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_H5.o : Traj_H5.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_H5.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h -Traj_H5MD.o : Traj_H5MD.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_H5MD.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h +Traj_H5MD.o : Traj_H5MD.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_H5MD.h TrajectoryIO.h TypeNameHolder.h Unit.h Units.h Vec3.h Traj_Mol2File.o : Traj_Mol2File.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Mol2File.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_Mol2File.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_NcEnsemble.o : Traj_NcEnsemble.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FrameArray.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h NetcdfFile.h Parallel.h ParallelNetcdf.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_NcEnsemble.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_PDBfile.o : Traj_PDBfile.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_Tensor.h Dimension.h DistRoutines.h FileIO.h FileName.h Frame.h FramePtrArray.h ImageOption.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h PDBfile.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h SymmetricTensor.h TextFormat.h Timer.h Topology.h Traj_PDBfile.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h @@ -455,6 +455,7 @@ Trajin_Multi.o : Trajin_Multi.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOt Trajin_Single.o : Trajin_Single.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajStdio.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h TrajFrameCounter.h TrajectoryFile.h TrajectoryIO.h Trajin.h Trajin_Single.h TypeNameHolder.h Unit.h Vec3.h TrajoutList.o : TrajoutList.cpp ActionFrameCounter.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajectoryFile.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h Trajout_Single.o : Trajout_Single.cpp ActionFrameCounter.h ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajStdio.h FileName.h FileTypes.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h TrajectoryFile.h TrajectoryIO.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h +Units.o : Units.cpp Constants.h CpptrajStdio.h Units.h Vec3.o : Vec3.cpp Constants.h CpptrajStdio.h Vec3.h ViewRst.o : ViewRst.cpp ActionFrameCounter.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ParmFile.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajectoryFile.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h ViewRst.h main.o : main.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h Cpptraj.h CpptrajFile.h CpptrajState.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h diff --git a/src/cpptrajfiles b/src/cpptrajfiles index 780a0653e8..4d1233cb03 100644 --- a/src/cpptrajfiles +++ b/src/cpptrajfiles @@ -425,6 +425,7 @@ COMMON_SOURCES= \ TrajIOarray.cpp \ Trajout_Single.cpp \ TrajoutList.cpp \ + Units.cpp \ Vec3.cpp \ ViewRst.cpp \ vmdplugin/dtrplugin.cpp \ From 28f6a02a8d846ed3858715e4f2644f0e2a9ee1dd Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 12:21:00 -0400 Subject: [PATCH 101/191] Do unit cell setup --- src/Traj_H5MD.cpp | 77 ++++++++++++++++++++++++++++++++--------------- src/Traj_H5MD.h | 4 +-- 2 files changed, 54 insertions(+), 27 deletions(-) diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp index eb161ef835..d9d4d75bf0 100644 --- a/src/Traj_H5MD.cpp +++ b/src/Traj_H5MD.cpp @@ -148,7 +148,7 @@ int Traj_H5MD::setupCoordVID(int position_gid, int& frameDID, int& atomDID, if (NC::CheckErr( nc_inq_unlimdim(position_gid, &frameDID) ) ) return 1; if (frameDID < 0) { - mprinterr("Error: No unlimited (frame) dimension present in H5 file.\n"); + mprinterr("Error: No unlimited (frame) dimension present in H5MD file.\n"); return 1; } // Get dimensions for coordinates @@ -201,7 +201,7 @@ int Traj_H5MD::setupCoordVID(int position_gid, int& frameDID, int& atomDID, return 1; } // Expect dim order to be frame, atom, spatial - // TODO is this always the case for H5? + // TODO is this always the case for H5MD? if (coord_dims[0] != frameDID) { mprinterr("Error: Frame dimension is not first.\n"); return 1; @@ -220,55 +220,81 @@ int Traj_H5MD::setupCoordVID(int position_gid, int& frameDID, int& atomDID, /** Set up box variable IDs. * \return 0 on success, 1 on error, -1 for no box coords. */ -int Traj_H5MD::setupBoxVIDs(Box& ncbox, int frameDID, int spatialDID) { +int Traj_H5MD::setupBoxVIDs(int box_gid, Box& ncbox, int frameDID, int spatialDID) { ncbox.SetNoBox(); - // Get the 'cell_lengths' variable ID - int err = nc_inq_varid(ncid_, "cell_lengths", &cellLengthVID_); + // Search for 'edges' group id + int edges_gid = -1; + Iarray box_ids; + Sarray box_gnames = NC::GetGroupNames( box_gid, box_ids ); + for (unsigned int ii = 0; ii < box_gnames.size(); ii++) { + if (box_gnames[ii] == "edges") { + edges_gid = box_ids[ii]; + } + } + mprintf("DEBUG: edges group id %i\n", edges_gid); + // Get the cell_lengths 'value' variable ID + int err = nc_inq_varid(edges_gid, "value", &cellLengthVID_); if (err != NC_NOERR) return -1; - // Get the 'cell_angles' variable ID - if (NC::CheckErr(nc_inq_varid(ncid_, "cell_angles", &cellAngleVID_))) +/* // Get the 'cell_angles' variable ID + if (NC::CheckErr(nc_inq_varid(edges_gid, "cell_angles", &cellAngleVID_))) return 1; mprintf("DEBUG: Cell length vid= %i, cell angle vid= %i\n", cellLengthVID_, cellAngleVID_); // Ensure angles are in degrees - std::string angleUnits = NC::GetAttrText(ncid_, cellAngleVID_, "units"); + std::string angleUnits = NC::GetAttrText(edges_gid, cellAngleVID_, "units"); if (angleUnits != "degrees") { mprinterr("Error: Cell angles have units that are not 'degrees' (%s)\n", angleUnits.c_str()); return 1; - } + }*/ // Check units for lengths - std::string lengthUnits = NC::GetAttrText(ncid_, cellLengthVID_, "units"); + std::string lengthUnits = NC::GetAttrText(edges_gid, cellLengthVID_, "unit"); if (Cpptraj::Units::SetConversionFactor(convert_h5_to_cpptraj_box_, lengthUnits, "ang")) { mprinterr("Error: Could not determine Cell Lengths conversion factor.\n"); return 1; } + // Check what kind of info is stored + int ndims = 0; + if (NC::CheckErr( nc_inq_varndims(edges_gid, cellLengthVID_, &ndims) ) ) + return 1; + if (ndims != 3) { + mprinterr("Error: Expected 3 dims for 'edges', got %i\n", ndims); + return 1; + } + // Get box lengths and angles to determine box type. start_[0] = 0; start_[1] = 0; + start_[2] = 0; count_[0] = 1; // 1 frame - count_[1] = 3; // 3 coordinates (abg or xyz) - double boxCrd[6]; /// XYZ ABG + count_[1] = 3; // 3 unit cell vectors + count_[2] = 3; // 3 coordinates (XYZ) + double ucell[9]; /// Unit cell vectors in rows float* fptr = &ftmp_[0]; - if ( NC::CheckErr(nc_get_vara_float(ncid_, cellLengthVID_, start_, count_, fptr )) ) + if ( NC::CheckErr(nc_get_vara_float(edges_gid, cellLengthVID_, start_, count_, fptr )) ) { - mprinterr("Error: Getting cell lengths.\n"); + mprinterr("Error: Getting unit cell vectors.\n"); return 1; } - if ( NC::CheckErr(nc_get_vara_float(ncid_, cellAngleVID_, start_, count_, fptr+3)) ) + /*if ( NC::CheckErr(nc_get_vara_float(edges_gid, cellAngleVID_, start_, count_, fptr+3)) ) { mprinterr("Error: Getting cell angles.\n"); return 1; - } - for (int i = 0; i < 6; i++) - boxCrd[i] = (double)ftmp_[i]; + }*/ + // Convert + for (int i = 0; i < 9; i++) + ucell[i] = (double)ftmp_[i] * convert_h5_to_cpptraj_box_; // Convert - boxCrd[0] *= convert_h5_to_cpptraj_box_; +/* boxCrd[0] *= convert_h5_to_cpptraj_box_; boxCrd[1] *= convert_h5_to_cpptraj_box_; - boxCrd[2] *= convert_h5_to_cpptraj_box_; - mprintf("DEBUG:\tH5 Box: XYZ={%f %f %f} ABG={%f %f %f}\n", - boxCrd[0], boxCrd[1], boxCrd[2], boxCrd[3], boxCrd[4], boxCrd[5]); - if (ncbox.SetupFromXyzAbg( boxCrd )) { - mprintf("Warning: H5 file unit cell variables appear to be empty; disabling box.\n"); + boxCrd[2] *= convert_h5_to_cpptraj_box_;*/ + mprintf("DEBUG:\tH5MD Box: X={%f %f %f}\n" + " \t Y={%f %f %f}\n" + " \t Z={%f %f %f}\n", + ucell[0], ucell[1], ucell[2], + ucell[3], ucell[4], ucell[5], + ucell[6], ucell[7], ucell[8]); + if (ncbox.SetupFromUcell( ucell )) { + mprintf("Warning: H5MD file unit cell variables appear to be empty; disabling box.\n"); cellLengthVID_ = -1; cellAngleVID_ = -1; ncbox.SetNoBox(); @@ -348,11 +374,12 @@ int Traj_H5MD::setupTrajin(FileName const& fname, Topology* trajParm) // Check for box Box ncbox; - int err = setupBoxVIDs(ncbox, frameDID, spatialDID); + int err = setupBoxVIDs(box_gid, ncbox, frameDID, spatialDID); if (err == 1) { mprinterr("Error: Problem setting up box info.\n"); return TRAJIN_ERR; } + ncbox.PrintDebug("H5MD box"); // Check for time err = nc_inq_varid(ncid_, "time", &timeVID_); diff --git a/src/Traj_H5MD.h b/src/Traj_H5MD.h index d3f8ded76e..d7493f2823 100644 --- a/src/Traj_H5MD.h +++ b/src/Traj_H5MD.h @@ -42,7 +42,7 @@ class Traj_H5MD : public TrajectoryIO { /// Set up coordinates VID and related dim sizes int setupCoordVID(int, int&, int&, int&, int&); /// Set up box variable IDs and determine type - int setupBoxVIDs(Box&, int, int); + int setupBoxVIDs(int, Box&, int, int); # endif // H5::H5File* file_; @@ -58,7 +58,7 @@ class Traj_H5MD : public TrajectoryIO { int natom_; ///< Number of atoms in each trajectory frame. int coordVID_; ///< Coordinates variable ID int cellLengthVID_; ///< Cell lengths variable ID - int cellAngleVID_; ///< Cell angles variable ID + int cellAngleVID_; ///< Cell angles variable ID TODO remove if unused int timeVID_; ///< Time variable ID size_t start_[3]; ///< Start indices in each dimension size_t count_[3]; ///< Count indices in each dimension From dead288db78e060b4726c0e671ac949c67a6883c Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 12:29:39 -0400 Subject: [PATCH 102/191] Store position and edges gid in class --- src/Traj_H5MD.cpp | 52 +++++++++++++++++++++++++++-------------------- src/Traj_H5MD.h | 6 ++++-- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp index d9d4d75bf0..7022130368 100644 --- a/src/Traj_H5MD.cpp +++ b/src/Traj_H5MD.cpp @@ -18,6 +18,9 @@ Traj_H5MD::Traj_H5MD() //#ifdef HAS_HDF5 : //file_(0) + particle_gid_(-1), + position_gid_(-1), + edges_gid_(-1), ncid_(-1), natom_(0), coordVID_(-1), @@ -123,15 +126,15 @@ int Traj_H5MD::processReadArgs(ArgList& argIn) { # ifdef HAS_HDF5 /** Set up the coordinates variable ID, number of atoms, and number of frames. */ -int Traj_H5MD::setupCoordVID(int position_gid, int& frameDID, int& atomDID, +int Traj_H5MD::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& nframes) { // Get the 'coordinates' variable ID ('value') - if (NC::CheckErr(nc_inq_varid(position_gid, "value", &coordVID_))) + if (NC::CheckErr(nc_inq_varid(position_gid_, "value", &coordVID_))) return 1; mprintf("DEBUG: Coordinates VID is %i\n", coordVID_); // Set conversion factor for coords - std::string lengthUnits = NC::GetAttrText(position_gid, coordVID_, "unit"); + std::string lengthUnits = NC::GetAttrText(position_gid_, coordVID_, "unit"); mprintf("DEBUG: length units are: %s\n", lengthUnits.c_str()); if (Cpptraj::Units::SetConversionFactor( convert_h5_to_cpptraj_coord_, lengthUnits, "ang" )) { mprinterr("Error: Could not determine Coordinates conversion factor.\n"); @@ -145,7 +148,7 @@ int Traj_H5MD::setupCoordVID(int position_gid, int& frameDID, int& atomDID, natom_ = 0; nframes = 0; // Need to get the unlimited dimension ID, which should be the frame dim. - if (NC::CheckErr( nc_inq_unlimdim(position_gid, &frameDID) ) ) + if (NC::CheckErr( nc_inq_unlimdim(position_gid_, &frameDID) ) ) return 1; if (frameDID < 0) { mprinterr("Error: No unlimited (frame) dimension present in H5MD file.\n"); @@ -153,14 +156,14 @@ int Traj_H5MD::setupCoordVID(int position_gid, int& frameDID, int& atomDID, } // Get dimensions for coordinates int ndims = 0; - if (NC::CheckErr( nc_inq_varndims(position_gid, coordVID_, &ndims) ) ) + if (NC::CheckErr( nc_inq_varndims(position_gid_, coordVID_, &ndims) ) ) return 1; if (ndims != 3) { mprinterr("Error: Expected 3 dims for 'coordinates', got %i\n", ndims); return 1; } int coord_dims[3]; - if (NC::CheckErr( nc_inq_vardimid(position_gid, coordVID_, coord_dims) ) ) + if (NC::CheckErr( nc_inq_vardimid(position_gid_, coordVID_, coord_dims) ) ) return 1; mprintf("DEBUG: Coord dims: %i %i %i\n", coord_dims[0], coord_dims[1], coord_dims[2]); // Check the dimensions. One should be frames (unlimited), one should be @@ -171,7 +174,7 @@ int Traj_H5MD::setupCoordVID(int position_gid, int& frameDID, int& atomDID, bool has_unlimited = false; for (int nd = 0; nd < ndims; nd++) { size_t dimsize = 0; - if (NC::CheckErr( nc_inq_dimlen(position_gid, coord_dims[nd], &dimsize))) + if (NC::CheckErr( nc_inq_dimlen(position_gid_, coord_dims[nd], &dimsize))) return 1; mprintf("DEBUG: Dim %i size %zu\n", coord_dims[nd], dimsize); if (coord_dims[nd] == frameDID) { @@ -223,38 +226,42 @@ int Traj_H5MD::setupCoordVID(int position_gid, int& frameDID, int& atomDID, int Traj_H5MD::setupBoxVIDs(int box_gid, Box& ncbox, int frameDID, int spatialDID) { ncbox.SetNoBox(); // Search for 'edges' group id - int edges_gid = -1; + edges_gid_ = -1; Iarray box_ids; Sarray box_gnames = NC::GetGroupNames( box_gid, box_ids ); for (unsigned int ii = 0; ii < box_gnames.size(); ii++) { if (box_gnames[ii] == "edges") { - edges_gid = box_ids[ii]; + edges_gid_ = box_ids[ii]; } } - mprintf("DEBUG: edges group id %i\n", edges_gid); + mprintf("DEBUG: edges group id %i\n", edges_gid_); + if (edges_gid_ < 0) { + mprinterr("Error: box group does not contain 'edges'\n"); + return 1; + } // Get the cell_lengths 'value' variable ID - int err = nc_inq_varid(edges_gid, "value", &cellLengthVID_); + int err = nc_inq_varid(edges_gid_, "value", &cellLengthVID_); if (err != NC_NOERR) return -1; /* // Get the 'cell_angles' variable ID - if (NC::CheckErr(nc_inq_varid(edges_gid, "cell_angles", &cellAngleVID_))) + if (NC::CheckErr(nc_inq_varid(edges_gid_, "cell_angles", &cellAngleVID_))) return 1; mprintf("DEBUG: Cell length vid= %i, cell angle vid= %i\n", cellLengthVID_, cellAngleVID_); // Ensure angles are in degrees - std::string angleUnits = NC::GetAttrText(edges_gid, cellAngleVID_, "units"); + std::string angleUnits = NC::GetAttrText(edges_gid_, cellAngleVID_, "units"); if (angleUnits != "degrees") { mprinterr("Error: Cell angles have units that are not 'degrees' (%s)\n", angleUnits.c_str()); return 1; }*/ // Check units for lengths - std::string lengthUnits = NC::GetAttrText(edges_gid, cellLengthVID_, "unit"); + std::string lengthUnits = NC::GetAttrText(edges_gid_, cellLengthVID_, "unit"); if (Cpptraj::Units::SetConversionFactor(convert_h5_to_cpptraj_box_, lengthUnits, "ang")) { mprinterr("Error: Could not determine Cell Lengths conversion factor.\n"); return 1; } // Check what kind of info is stored int ndims = 0; - if (NC::CheckErr( nc_inq_varndims(edges_gid, cellLengthVID_, &ndims) ) ) + if (NC::CheckErr( nc_inq_varndims(edges_gid_, cellLengthVID_, &ndims) ) ) return 1; if (ndims != 3) { mprinterr("Error: Expected 3 dims for 'edges', got %i\n", ndims); @@ -270,12 +277,12 @@ int Traj_H5MD::setupBoxVIDs(int box_gid, Box& ncbox, int frameDID, int spatialDI count_[2] = 3; // 3 coordinates (XYZ) double ucell[9]; /// Unit cell vectors in rows float* fptr = &ftmp_[0]; - if ( NC::CheckErr(nc_get_vara_float(edges_gid, cellLengthVID_, start_, count_, fptr )) ) + if ( NC::CheckErr(nc_get_vara_float(edges_gid_, cellLengthVID_, start_, count_, fptr )) ) { mprinterr("Error: Getting unit cell vectors.\n"); return 1; } - /*if ( NC::CheckErr(nc_get_vara_float(edges_gid, cellAngleVID_, start_, count_, fptr+3)) ) + /*if ( NC::CheckErr(nc_get_vara_float(edges_gid_, cellAngleVID_, start_, count_, fptr+3)) ) { mprinterr("Error: Getting cell angles.\n"); return 1; @@ -341,20 +348,20 @@ int Traj_H5MD::setupTrajin(FileName const& fname, Topology* trajParm) } // Get box and position groups in the trajectory group int box_gid = -1; - int position_gid = -1; + position_gid_ = -1; Iarray trajectory_ids; Sarray trajectory_gnames = NC::GetGroupNames( trajectory_gid, trajectory_ids ); for (unsigned int ii = 0; ii < trajectory_gnames.size(); ii++) { if (trajectory_gnames[ii] == "box") box_gid = trajectory_ids[ii]; else if (trajectory_gnames[ii] == "position") - position_gid = trajectory_ids[ii]; + position_gid_ = trajectory_ids[ii]; } - mprintf("DEBUG: Box gid = %i, position gid = %i\n", box_gid, position_gid); + mprintf("DEBUG: Box gid = %i, position gid = %i\n", box_gid, position_gid_); // Set up coordinates int frameDID, atomDID, spatialDID, nframes; - if (setupCoordVID(position_gid, frameDID, atomDID, spatialDID, nframes)) { + if (setupCoordVID(frameDID, atomDID, spatialDID, nframes)) { mprinterr("Error: Could not set up coordinates variable.\n"); return TRAJIN_ERR; } @@ -382,9 +389,10 @@ int Traj_H5MD::setupTrajin(FileName const& fname, Topology* trajParm) ncbox.PrintDebug("H5MD box"); // Check for time - err = nc_inq_varid(ncid_, "time", &timeVID_); + err = nc_inq_varid(position_gid_, "time", &timeVID_); if (err != NC_NOERR) timeVID_ = -1; + mprintf("DEBUG: Time variable ID %i\n", timeVID_); // Get title SetTitle( NC::GetAttrText(ncid_, "TITLE") ); diff --git a/src/Traj_H5MD.h b/src/Traj_H5MD.h index d7493f2823..f434e95960 100644 --- a/src/Traj_H5MD.h +++ b/src/Traj_H5MD.h @@ -40,7 +40,7 @@ class Traj_H5MD : public TrajectoryIO { # endif # ifdef HAS_HDF5 /// Set up coordinates VID and related dim sizes - int setupCoordVID(int, int&, int&, int&, int&); + int setupCoordVID(int&, int&, int&, int&); /// Set up box variable IDs and determine type int setupBoxVIDs(int, Box&, int, int); # endif @@ -52,7 +52,9 @@ class Traj_H5MD : public TrajectoryIO { Sarray mainGroupNames_; Iarray mainGroupIds_; - int particle_gid_; ///< Particle group id + int particle_gid_; ///< particles group ID + int position_gid_; ///< position group ID (particles->trajectory->position) + int edges_gid_; ///< edges group ID (particles->trajectory->box->edges) int ncid_; ///< NetCDF ID int natom_; ///< Number of atoms in each trajectory frame. From e254ecadb679d2c93685ee8879ae2688ab8fa743 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 12:35:26 -0400 Subject: [PATCH 103/191] Finish initial read --- src/Traj_H5MD.cpp | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp index 7022130368..0918a77fce 100644 --- a/src/Traj_H5MD.cpp +++ b/src/Traj_H5MD.cpp @@ -427,7 +427,7 @@ int Traj_H5MD::readFrame(int set, Frame& frameIn) { // Get time if (timeVID_!=-1) { float time; - if (NC::CheckErr(nc_get_vara_float(ncid_, timeVID_, start_, count_, &time))) { + if (NC::CheckErr(nc_get_vara_float(position_gid_, timeVID_, start_, count_, &time))) { mprinterr("Error: Getting time for frame %i.\n", set + 1); return 1; } @@ -437,7 +437,7 @@ int Traj_H5MD::readFrame(int set, Frame& frameIn) { float* fptr = &ftmp_[0]; // Read Coords if (coordVID_ != -1) { - if ( NC::CheckErr(nc_get_vara_float(ncid_, coordVID_, start_, count_, fptr)) ) { + if ( NC::CheckErr(nc_get_vara_float(position_gid_, coordVID_, start_, count_, fptr)) ) { mprinterr("Error: Getting coordinates for frame %i\n", set+1); return 1; } @@ -447,7 +447,7 @@ int Traj_H5MD::readFrame(int set, Frame& frameIn) { // Read Velocities /*if (velocityVID_ != -1) { - if ( NC::CheckErr(nc_get_vara_float(ncid_, velocityVID_, start_, count_, Coord_)) ) { + if ( NC::CheckErr(nc_get_vara_float(position_gid_, velocityVID_, start_, count_, Coord_)) ) { mprinterr("Error: Getting velocities for frame %i\n", set+1); return 1; } @@ -456,7 +456,7 @@ int Traj_H5MD::readFrame(int set, Frame& frameIn) { // Read Forces /*if (frcVID_ != -1) { - if ( NC::CheckErr(nc_get_vara_float(ncid_, frcVID_, start_, count_, Coord_)) ) { + if ( NC::CheckErr(nc_get_vara_float(position_gid_, frcVID_, start_, count_, Coord_)) ) { mprinterr("Error: Getting forces for frame %i\n", set+1); return 1; } @@ -465,26 +465,27 @@ int Traj_H5MD::readFrame(int set, Frame& frameIn) { // Read box info if (cellLengthVID_ != -1) { - double xyzabg[6]; + double ucell[9]; count_[1] = 3; - count_[2] = 0; - if (NC::CheckErr(nc_get_vara_float(ncid_, cellLengthVID_, start_, count_, fptr))) + count_[2] = 3; + if (NC::CheckErr(nc_get_vara_float(edges_gid_, cellLengthVID_, start_, count_, fptr))) { - mprinterr("Error: Getting cell lengths for frame %i.\n", set+1); + mprinterr("Error: Getting unit cell vectors for frame %i.\n", set+1); return 1; } - if (NC::CheckErr(nc_get_vara_float(ncid_, cellAngleVID_, start_, count_, fptr+3))) +/* if (NC::CheckErr(nc_get_vara_float(edges_gid_, cellAngleVID_, start_, count_, fptr+3))) { mprinterr("Error: Getting cell angles for frame %i.\n", set+1); return 1; - } - for (int i = 0; i < 6; i++) - xyzabg[i] = (double)ftmp_[i]; + }*/ + // Convert + for (int i = 0; i < 9; i++) + ucell[i] = (double)ftmp_[i] * convert_h5_to_cpptraj_box_; // Convert - xyzabg[0] *= convert_h5_to_cpptraj_box_; +/* xyzabg[0] *= convert_h5_to_cpptraj_box_; xyzabg[1] *= convert_h5_to_cpptraj_box_; - xyzabg[2] *= convert_h5_to_cpptraj_box_; - frameIn.ModifyBox().AssignFromXyzAbg( xyzabg ); + xyzabg[2] *= convert_h5_to_cpptraj_box_;*/ + frameIn.ModifyBox().AssignFromUcell( ucell ); } return 0; From b2b972f617b03733bb3ba50b04fbb01d60012fb9 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 12:42:51 -0400 Subject: [PATCH 104/191] Use Units --- src/Traj_H5.cpp | 22 +++++++--------------- src/cpptrajdepend | 2 +- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/Traj_H5.cpp b/src/Traj_H5.cpp index 9367ae7a9c..cd40f01bdc 100644 --- a/src/Traj_H5.cpp +++ b/src/Traj_H5.cpp @@ -6,6 +6,7 @@ #ifdef BINTRAJ # include # include "NC_Routines.h" +# include "Units.h" #endif //#ifdef HAS_HDF5 //# include @@ -117,19 +118,6 @@ int Traj_H5::processReadArgs(ArgList& argIn) { } # ifdef HAS_HDF5 -static inline int setLengthFac(double& fac, std::string const& Units, const char* desc) -{ - if (Units == "nanometers") { - fac = Constants::NM_TO_ANG; - } else if (Units == "angstroms") { - fac = 1.0; - } else { - mprinterr("Error: %s has unrecognized units (%s)\n", desc, Units.c_str()); - return 1; - } - return 0; -} - /** Set up the coordinates variable ID, number of atoms, and number of frames. */ int Traj_H5::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& nframes) { @@ -139,8 +127,10 @@ int Traj_H5::setupCoordVID(int& frameDID, int& atomDID, int& spatialDID, int& nf mprintf("DEBUG: Coordinates VID is %i\n", coordVID_); // Set conversion factor for coords std::string lengthUnits = NC::GetAttrText(ncid_, coordVID_, "units"); - if (setLengthFac(convert_h5_to_cpptraj_coord_, lengthUnits, "Coordinates")) + if (Cpptraj::Units::SetConversionFactor( convert_h5_to_cpptraj_coord_, lengthUnits, "ang" )) { + mprinterr("Error: Could not determine Coordinates conversion factor.\n"); return 1; + } // Dimensions frameDID = -1; atomDID = -1; @@ -241,8 +231,10 @@ int Traj_H5::setupBoxVIDs(Box& ncbox, int frameDID, int spatialDID) { } // Check units for lengths std::string lengthUnits = NC::GetAttrText(ncid_, cellLengthVID_, "units"); - if (setLengthFac(convert_h5_to_cpptraj_box_, lengthUnits, "Cell lengths")) + if (Cpptraj::Units::SetConversionFactor(convert_h5_to_cpptraj_box_, lengthUnits, "ang")) { + mprinterr("Error: Could not determine Cell Lengths conversion factor.\n"); return 1; + } // Get box lengths and angles to determine box type. start_[0] = 0; start_[1] = 0; diff --git a/src/cpptrajdepend b/src/cpptrajdepend index eb501882b3..57c724466c 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -439,7 +439,7 @@ Traj_GmxTng.o : Traj_GmxTng.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Traj_GmxTrX.o : Traj_GmxTrX.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h ByteRoutines.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_GmxTrX.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_GmxXtc.o : Traj_GmxXtc.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_GmxXtc.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_Gro.o : Traj_Gro.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h Traj_Gro.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h -Traj_H5.o : Traj_H5.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_H5.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h +Traj_H5.o : Traj_H5.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_H5.h TrajectoryIO.h TypeNameHolder.h Unit.h Units.h Vec3.h Traj_H5MD.o : Traj_H5MD.cpp Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_H5MD.h TrajectoryIO.h TypeNameHolder.h Unit.h Units.h Vec3.h Traj_Mol2File.o : Traj_Mol2File.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FramePtrArray.h MaskToken.h Matrix_3x3.h Mol2File.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_Mol2File.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h Traj_NcEnsemble.o : Traj_NcEnsemble.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h FileIO.h FileName.h Frame.h FrameArray.h FramePtrArray.h MaskToken.h Matrix_3x3.h Molecule.h NC_Routines.h NameType.h NetcdfFile.h Parallel.h ParallelNetcdf.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h Traj_NcEnsemble.h TrajectoryIO.h TypeNameHolder.h Unit.h Vec3.h From 3ecd0ce9da8e95ea9215fa07209f3e2ecb495d7c Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 27 Jun 2022 12:46:53 -0400 Subject: [PATCH 105/191] Hide some debug info --- src/NC_Routines.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/NC_Routines.cpp b/src/NC_Routines.cpp index 0745157a21..4041464556 100644 --- a/src/NC_Routines.cpp +++ b/src/NC_Routines.cpp @@ -106,18 +106,18 @@ std::vector NC::GetGroupNames(int ncid, std::vector& NcidArray if (numgrps < 1) return GroupNames; - mprintf("DEBUG: Netcdf file contains %i groups.\n", numgrps); + //mprintf("DEBUG: Netcdf file contains %i groups.\n", numgrps); GroupNames.reserve( numgrps ); NcidArray.assign( numgrps, -1 ); int* ncids = &NcidArray[0]; nc_inq_grps( ncid, NULL, ncids ); for (int ii = 0; ii < numgrps; ii++) { - mprintf("\tncid %i", ncids[ii]); + //mprintf("\tncid %i", ncids[ii]); size_t gnamelen; nc_inq_grpname_len( ncids[ii], &gnamelen ); char* gname = new char[ gnamelen+1 ]; nc_inq_grpname( ncids[ii], gname ); - mprintf(" %s\n", gname); + //mprintf(" %s\n", gname); GroupNames.push_back( gname ); delete[] gname; } From 925163538ba1a63b7a276e694dbf3b0c495099fc Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 28 Jun 2022 14:34:19 -0400 Subject: [PATCH 106/191] Improve unit recognition --- src/Units.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Units.cpp b/src/Units.cpp index 40103a779f..c938851065 100644 --- a/src/Units.cpp +++ b/src/Units.cpp @@ -1,11 +1,15 @@ #include "Units.h" #include "Constants.h" #include "CpptrajStdio.h" +#include // tolower /** \return Unit type from name. */ Cpptraj::Units::Type Cpptraj::Units::TypeFromName(std::string const& nameIn) { - if (nameIn == "angstroms" || nameIn == "ang") return ANG; - if (nameIn == "nanometers" || nameIn == "nm") return NM; + std::string name; + for (std::string::const_iterator it = nameIn.begin(); it != nameIn.end(); ++it) + name += tolower( *it ); + if (name == "angstroms" || name == "angstrom" || name == "ang") return ANG; + if (name == "nanometers" || name == "nanometer" || name == "nm") return NM; mprintf("Warning: Unrecognized units: %s\n", nameIn.c_str()); return UNKNOWN_UNITS; } From d9223e5a87c6d34d7dc3abc92a93f50f6c53f899 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 08:36:36 -0400 Subject: [PATCH 107/191] Start amber ascii energy file reader --- src/DataIO_AmberEne.cpp | 62 +++++++++++++++++++++++++++++++++++++++++ src/DataIO_AmberEne.h | 17 +++++++++++ 2 files changed, 79 insertions(+) create mode 100644 src/DataIO_AmberEne.cpp create mode 100644 src/DataIO_AmberEne.h diff --git a/src/DataIO_AmberEne.cpp b/src/DataIO_AmberEne.cpp new file mode 100644 index 0000000000..45b386c8da --- /dev/null +++ b/src/DataIO_AmberEne.cpp @@ -0,0 +1,62 @@ +#include "DataIO_AmberEne.h" +#include "CpptrajStdio.h" + +/// CONSTRUCTOR +DataIO_AmberEne::DataIO_AmberEne() +{ + +} + +// DataIO_AmberEne::ID_DataFormat() +bool DataIO_AmberEne::ID_DataFormat(CpptrajFile& infile) +{ + if (infile.OpenFile()) return false; + bool isAmberEne = false; + std::string line = infile.GetLine(); + ArgList lineArgs( line, " " ); + if (lineArgs.Nargs() > 2) { + if (lineArgs[0] == "L0" && lineArgs[1] == "Nsteps") + isAmberEne = true; + } + return isAmberEne; +} + +// DataIO_AmberEne::ReadHelp() +void DataIO_AmberEne::ReadHelp() +{ + +} + +// DataIO_AmberEne::processReadArgs() +int DataIO_AmberEne::processReadArgs(ArgList& argIn) +{ + + return 0; +} + +// DataIO_AmberEne::ReadData() +int DataIO_AmberEne::ReadData(FileName const& fname, DataSetList& dsl, std::string const& dsname) +{ + + return 1; +} + +// DataIO_AmberEne::WriteHelp() +void DataIO_AmberEne::WriteHelp() +{ + +} + +// DataIO_AmberEne::processWriteArgs() +int DataIO_AmberEne::processWriteArgs(ArgList& argIn) +{ + + return 0; +} + +// DataIO_AmberEne::WriteData() +int DataIO_AmberEne::WriteData(FileName const& fname, DataSetList const& dsl) +{ + + return 1; +} diff --git a/src/DataIO_AmberEne.h b/src/DataIO_AmberEne.h new file mode 100644 index 0000000000..0d6149be3b --- /dev/null +++ b/src/DataIO_AmberEne.h @@ -0,0 +1,17 @@ +#ifndef INC_DATAIO_AMBERENE_H +#define INC_DATAIO_AMBERENE_H +#include "DataIO.h" +/// Read Amber ASCII energy file +class DataIO_AmberEne : public DataIO { + public: + DataIO_AmberEne(); + static void ReadHelp(); + static void WriteHelp(); + static BaseIOtype* Alloc() { return (BaseIOtype*)new DataIO_AmberEne(); } + int processReadArgs(ArgList&); + int ReadData(FileName const&, DataSetList&, std::string const&); + int processWriteArgs(ArgList&); + int WriteData(FileName const&, DataSetList const&); + bool ID_DataFormat(CpptrajFile&); +}; +#endif From aa01d99180d12d9d43ab6041eca5bcdf0ef0254a Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 08:58:50 -0400 Subject: [PATCH 108/191] Enable amber ene read. Read headers. --- src/BufferedLine.h | 2 +- src/DataFile.cpp | 13 ++++++++----- src/DataFile.h | 1 + src/DataIO_AmberEne.cpp | 39 ++++++++++++++++++++++++++++++++++++++- src/cpptrajdepend | 3 ++- src/cpptrajfiles | 1 + 6 files changed, 51 insertions(+), 8 deletions(-) diff --git a/src/BufferedLine.h b/src/BufferedLine.h index 3b271e239b..6d8eead52a 100644 --- a/src/BufferedLine.h +++ b/src/BufferedLine.h @@ -31,7 +31,7 @@ class BufferedLine : private CpptrajFile { return ResetBuffer(); } - /// \return current line number + /// \return current line number (starting from 1) int LineNumber() const { return nline_; } /// \return pointer to beginning of buffer. const char* Buffer() const { return buffer_; } diff --git a/src/DataFile.cpp b/src/DataFile.cpp index 261e951d28..768560fbd7 100644 --- a/src/DataFile.cpp +++ b/src/DataFile.cpp @@ -29,6 +29,7 @@ #include "DataIO_Cmatrix_Binary.h" #include "DataIO_Cmatrix_NC.h" #include "DataIO_Peaks.h" +#include "DataIO_AmberEne.h" // CONSTRUCTOR DataFile::DataFile() : @@ -75,6 +76,7 @@ const FileTypes::AllocToken DataFile::DF_AllocArray[] = { { "Pairwise Cache (NetCDF)", 0, 0, 0 }, # endif { "Peaks", 0, 0, DataIO_Peaks::Alloc }, + { "Amber Energy File", 0, 0, DataIO_AmberEne::Alloc}, { "Unknown Data file", 0, 0, 0 } }; @@ -91,12 +93,13 @@ const FileTypes::KeyToken DataFile::DF_KeyArray[] = { { EVECS, "evecs", ".evecs" }, { XVG, "xvg", ".xvg" }, { CCP4, "ccp4", ".ccp4" }, - { CHARMMREPD, "charmmrepd",".exch" }, - { CHARMMOUT, "charmmout", ".charmmout"}, + { CHARMMREPD, "charmmrepd", ".exch" }, + { CHARMMOUT, "charmmout", ".charmmout"}, { CHARMMRTFPRM, "charmmrtfprm", ".rtfprm"}, - { CMATRIX_BINARY,"cmatrix",".cmatrix" }, - { CMATRIX_NETCDF,"nccmatrix", ".nccmatrix" }, - { PEAKS, "peaks", ".peaks" }, + { CMATRIX_BINARY,"cmatrix", ".cmatrix" }, + { CMATRIX_NETCDF,"nccmatrix", ".nccmatrix" }, + { PEAKS, "peaks", ".peaks" }, + { AMBERENE, "amberene", ".ene" }, { UNKNOWN_DATA, 0, 0 } }; diff --git a/src/DataFile.h b/src/DataFile.h index d3f20ab698..2f901aedcf 100644 --- a/src/DataFile.h +++ b/src/DataFile.h @@ -18,6 +18,7 @@ class DataFile { DATAFILE=0, XMGRACE, GNUPLOT, XPLOR, OPENDX, REMLOG, MDOUT, EVECS, VECTRAJ, XVG, CCP4, CHARMMREPD, CHARMMFASTREP, CHARMMOUT, CPOUT, CHARMMRTFPRM, CMATRIX_BINARY, CMATRIX_NETCDF, PEAKS, + AMBERENE, UNKNOWN_DATA }; DataFile(); diff --git a/src/DataIO_AmberEne.cpp b/src/DataIO_AmberEne.cpp index 45b386c8da..980c904d35 100644 --- a/src/DataIO_AmberEne.cpp +++ b/src/DataIO_AmberEne.cpp @@ -1,4 +1,5 @@ #include "DataIO_AmberEne.h" +#include "BufferedLine.h" #include "CpptrajStdio.h" /// CONSTRUCTOR @@ -37,8 +38,44 @@ int DataIO_AmberEne::processReadArgs(ArgList& argIn) // DataIO_AmberEne::ReadData() int DataIO_AmberEne::ReadData(FileName const& fname, DataSetList& dsl, std::string const& dsname) { + BufferedLine infile; + if (infile.OpenFileRead(fname)) return 1; + const char* ptr = infile.Line(); + // Should be at first line of the header + mprintf("DEBUG: %i '%s'\n", infile.LineNumber(), ptr); + if (ptr[0] != 'L' || ptr[1] != '0') { + mprinterr("Error: 'L0' not found in Amber energy file '%s'\n", fname.full()); + return 1; + } - return 1; + typedef std::vector Sarray; + Sarray headers; + unsigned int Nlines = 0; + + // Read the header + while (ptr != 0) { + ArgList headerArgs( ptr, " " ); + if (headerArgs.Nargs() < 1) { + mprinterr("Error: No columns detected at line %i of Amber energy file.\n", + infile.LineNumber()); + return 1; + } + if (infile.LineNumber() > 1 && headerArgs[0] == "L0") { + // At first line of data + break; + } + // Read headers + Nlines++; + for (int iarg = 1; iarg < headerArgs.Nargs(); iarg++) + headers.push_back( headerArgs[iarg] ); + + ptr = infile.Line(); + } + mprintf("\tHeader has %zu labels over %u lines.\n", headers.size(), Nlines); + for (Sarray::const_iterator it = headers.begin(); it != headers.end(); ++it) + mprintf(" %s", it->c_str()); + mprintf("\n"); + return 0; } // DataIO_AmberEne::WriteHelp() diff --git a/src/cpptrajdepend b/src/cpptrajdepend index 57c724466c..6bf2a92969 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -193,10 +193,11 @@ CpptrajFile.o : CpptrajFile.cpp CpptrajFile.h CpptrajStdio.h FileIO.h FileIO_Bzi CpptrajState.o : CpptrajState.cpp Action.h ActionList.h ActionState.h Action_CreateCrd.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CompactFrameArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h DataSet_Coords_TRJ.h DataSet_Topology.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleNavigator.h EnsembleOutList.h FileIO.h FileName.h FileTypes.h Frame.h FrameArray.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Random.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajFrameIndex.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h CpptrajStdio.o : CpptrajStdio.cpp Parallel.h CurveFit.o : CurveFit.cpp CurveFit.h -DataFile.o : DataFile.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Cluster/Cframes.h Cluster/Cmatrix_NC.h Constants.h CoordinateInfo.h Cph.h CpptrajFile.h CpptrajStdio.h DataFile.h DataIO.h DataIO_CCP4.h DataIO_CharmmFastRep.h DataIO_CharmmOutput.h DataIO_CharmmRepLog.h DataIO_CharmmRtfPrm.h DataIO_Cmatrix_Binary.h DataIO_Cmatrix_NC.h DataIO_Cpout.h DataIO_Evecs.h DataIO_Gnuplot.h DataIO_Grace.h DataIO_Mdout.h DataIO_OpenDx.h DataIO_Peaks.h DataIO_RemLog.h DataIO_Std.h DataIO_VecTraj.h DataIO_XVG.h DataIO_Xplor.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_PairwiseCache.h DataSet_PairwiseCache_MEM.h DataSet_RemLog.h Dimension.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajectoryFile.h TypeNameHolder.h Unit.h Vec3.h +DataFile.o : DataFile.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Cluster/Cframes.h Cluster/Cmatrix_NC.h Constants.h CoordinateInfo.h Cph.h CpptrajFile.h CpptrajStdio.h DataFile.h DataIO.h DataIO_AmberEne.h DataIO_CCP4.h DataIO_CharmmFastRep.h DataIO_CharmmOutput.h DataIO_CharmmRepLog.h DataIO_CharmmRtfPrm.h DataIO_Cmatrix_Binary.h DataIO_Cmatrix_NC.h DataIO_Cpout.h DataIO_Evecs.h DataIO_Gnuplot.h DataIO_Grace.h DataIO_Mdout.h DataIO_OpenDx.h DataIO_Peaks.h DataIO_RemLog.h DataIO_Std.h DataIO_VecTraj.h DataIO_XVG.h DataIO_Xplor.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_PairwiseCache.h DataSet_PairwiseCache_MEM.h DataSet_RemLog.h Dimension.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajectoryFile.h TypeNameHolder.h Unit.h Vec3.h DataFileList.o : DataFileList.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h FileIO.h FileName.h FileTypes.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h PDBfile.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h TypeNameHolder.h Unit.h Vec3.h DataFilter.o : DataFilter.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataFile.h DataFileList.h DataFilter.h DataSet.h DataSetList.h DataSet_1D.h DataSet_2D.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_integer.h Dimension.h FileIO.h FileName.h FileTypes.h Frame.h GridBin.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TypeNameHolder.h Unit.h Vec3.h DataIO.o : DataIO.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataSet.h DataSetList.h DataSet_2D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_MatrixDbl.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TypeNameHolder.h Unit.h Vec3.h +DataIO_AmberEne.o : DataIO_AmberEne.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_AmberEne.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TypeNameHolder.h Unit.h Vec3.h DataIO_CCP4.o : DataIO_CCP4.cpp ArgList.h ArrayIterator.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h ByteRoutines.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_CCP4.h DataSet.h DataSetList.h DataSet_3D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_GridFlt.h Dimension.h FileIO.h FileName.h Frame.h Grid.h GridBin.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TypeNameHolder.h Unit.h Vec3.h DataIO_CharmmFastRep.o : DataIO_CharmmFastRep.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_CharmmFastRep.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_RemLog.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h TextFormat.h Timer.h Topology.h TypeNameHolder.h Unit.h Vec3.h DataIO_CharmmOutput.o : DataIO_CharmmOutput.cpp ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h BufferedLine.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajStdio.h DataIO.h DataIO_CharmmOutput.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h FileIO.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TypeNameHolder.h Unit.h Vec3.h diff --git a/src/cpptrajfiles b/src/cpptrajfiles index 4d1233cb03..ebe870297b 100644 --- a/src/cpptrajfiles +++ b/src/cpptrajfiles @@ -170,6 +170,7 @@ COMMON_SOURCES= \ DataFileList.cpp \ DataFilter.cpp \ DataIO.cpp \ + DataIO_AmberEne.cpp \ DataIO_CCP4.cpp \ DataIO_CharmmFastRep.cpp \ DataIO_CharmmOutput.cpp \ From a0cd77d202b6946943280f380a33abc8642d5c7d Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 09:46:04 -0400 Subject: [PATCH 109/191] Store line details in class --- src/DataIO_AmberEne.cpp | 166 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 159 insertions(+), 7 deletions(-) diff --git a/src/DataIO_AmberEne.cpp b/src/DataIO_AmberEne.cpp index 980c904d35..d212921814 100644 --- a/src/DataIO_AmberEne.cpp +++ b/src/DataIO_AmberEne.cpp @@ -1,6 +1,7 @@ #include "DataIO_AmberEne.h" #include "BufferedLine.h" #include "CpptrajStdio.h" +#include // sscanf /// CONSTRUCTOR DataIO_AmberEne::DataIO_AmberEne() @@ -35,6 +36,73 @@ int DataIO_AmberEne::processReadArgs(ArgList& argIn) return 0; } +// ----------------------------------------------- +/// Class to hold characteristics of an Amber energy file line +class AmberEneLine { + public: + /// CONSTRUCTOR + AmberEneLine() {} + /// Set up from given line + int Setup(const char* ptr, unsigned int lineNumber, DataSetList& dsl, + std::string const& dsname, DataSet::DataType fpType) + { + ArgList headerArgs( ptr, " \n\r" ); + if (headerArgs.Nargs() < 1) { + mprinterr("Error: No columns detected at line %u of Amber energy file.\n", + lineNumber); + return 1; + } + fmt_.assign("%*s"); + // Output sets and sscanf read format + for (int iarg = 1; iarg < headerArgs.Nargs(); iarg++) { + // Determine expected type + DataSet::DataType setType; + if (headerArgs[iarg] == "Nsteps") + setType = DataSet::INTEGER; + else + setType = fpType; + MetaData md(dsname, headerArgs[iarg]); + DataSet* ds = dsl.CheckForSet( md ); + if (ds == 0) { + // Creating new set + ds = dsl.AddSet( setType, md ); + if (ds == 0) { + mprinterr("Error: Could not allocate set '%s[%s]'\n", + dsname.c_str(), headerArgs[iarg].c_str()); + return 1; + } + } else { + // Append to existing. Check type. + if (setType != ds->Type()) { + mprinterr("Error: Cannot append to set '%s'. Type is '%s', expected '%s'\n", + ds->legend(), DataSet::description(ds->Type()), + DataSet::description(setType)); + return 1; + } + } + outsets_.push_back( ds ); + if (setType == DataSet::INTEGER) + fmt_.append(" %i"); + else + fmt_.append(" %lf"); + } // END loop over header labels in this line + return 0; + } // END Setup() + /// Print details to stdout + void Print() const { + mprintf("Format: '%s'\n", fmt_.c_str()); + mprintf("Sets:"); + for (std::vector::const_iterator it = outsets_.begin(); + it != outsets_.end(); ++it) + mprintf(" %s", (*it)->legend()); + mprintf("\n"); + } + private: + std::string fmt_; ///< scanf format for reading this line + std::vector outsets_; ///< Output sets for this line +}; +// ----------------------------------------------- + // DataIO_AmberEne::ReadData() int DataIO_AmberEne::ReadData(FileName const& fname, DataSetList& dsl, std::string const& dsname) { @@ -48,18 +116,38 @@ int DataIO_AmberEne::ReadData(FileName const& fname, DataSetList& dsl, std::stri return 1; } - typedef std::vector Sarray; - Sarray headers; - unsigned int Nlines = 0; +// typedef std::vector Sarray; +// Sarray headers; +// unsigned int Nlines = 0; + typedef std::vector LineArray; + LineArray Lines; // Read the header + const DataSet::DataType fpType = DataSet::DOUBLE; while (ptr != 0) { - ArgList headerArgs( ptr, " " ); + Lines.push_back( AmberEneLine() ); + if (Lines.back().Setup(ptr, infile.LineNumber(), dsl, dsname, fpType)) + return 1; + Lines.back().Print(); +/* + ArgList headerArgs( ptr, " \n\r" ); if (headerArgs.Nargs() < 1) { mprinterr("Error: No columns detected at line %i of Amber energy file.\n", infile.LineNumber()); return 1; } + headerArgs.PrintDebug(); + if (headerArgs.Nargs() != 5) { + mprinterr("Error: Expected 5 columns in Amber energy file, got %i\n", + headerArgs.Nargs()); + return 1; + } + // Expect Nsteps in L0 + if (infile.LineNumber() == 1 && headerArgs[1] != "Nsteps") { + mprinterr("Error: Expected 'Nsteps' as first column of Amber energy file, got '%s'\n", + headerArgs[1].c_str()); + return 1; + } if (infile.LineNumber() > 1 && headerArgs[0] == "L0") { // At first line of data break; @@ -68,13 +156,77 @@ int DataIO_AmberEne::ReadData(FileName const& fname, DataSetList& dsl, std::stri Nlines++; for (int iarg = 1; iarg < headerArgs.Nargs(); iarg++) headers.push_back( headerArgs[iarg] ); - + */ ptr = infile.Line(); } - mprintf("\tHeader has %zu labels over %u lines.\n", headers.size(), Nlines); +/* mprintf("\tHeader has %zu labels over %u lines.\n", headers.size(), Nlines); for (Sarray::const_iterator it = headers.begin(); it != headers.end(); ++it) mprintf(" %s", it->c_str()); - mprintf("\n"); + mprintf("\n");*/ + // Sanity check + if (Lines.empty()) { + mprinterr("Error: No headers read.\n"); + return 1; + } + // Set up data sets +/* std::vector outsets; + const DataSet::DataType fpType = DataSet::DOUBLE; + for (Sarray::const_iterator it = headers.begin(); it != headers.end(); ++it) + { + // Determine expected type + DataSet::DataType setType; + if (*it == "Nsteps") + setType = DataSet::INTEGER; + else + setType = fpType; + + MetaData md(dsname, *it); + DataSet* ds = dsl.CheckForSet( md ); + if (ds == 0) { + // Creating new set + ds = dsl.AddSet( setType, MetaData(dsname, *it) ); + if (ds == 0) { + mprinterr("Error: Could not allocate set '%s[%s]'\n", dsname.c_str(), it->c_str()); + return 1; + } + } else { + // Append to existing. Check type. + if (setType != ds->Type()) { + mprinterr("Error: Cannot append to set '%s'. Type is '%s', expected '%s'\n", + ds->legend(), DataSet::description(ds->Type()), + DataSet::description(setType)); + return 1; + } + } + outsets.push_back( ds ); + }*/ +/* + // Read data + int ndata = 0; + while (ptr != 0) { + unsigned int idx = 0; + for (unsigned int iline = 0; iline != Nlines; iline++, idx += 4) { + if (iline == 0) { + int ival; + double fval[3]; + sscanf( ptr, "%*s %i %lf %lf %lf", &ival, fval, fval+1, fval+2 ); + outsets[idx ]->Add( ndata, &ival ); + outsets[idx+1]->Add( ndata, fval ); + outsets[idx+2]->Add( ndata, fval+1 ); + outsets[idx+3]->Add( ndata, fval+2 ); + } else { + double fval[3]; + sscanf( ptr, "%*s %lf %lf %lf %lf", fval, fval+1, fval+2, fval+3); + outsets[idx ]->Add( ndata, fval ); + outsets[idx+1]->Add( ndata, fval+1 ); + outsets[idx+2]->Add( ndata, fval+2 ); + outsets[idx+3]->Add( ndata, fval+3 ); + } + } // END loop over LX lines + ndata++; + ptr = infile.Line(); + } + */ return 0; } From 8ae08834297c1a1961ee479abef1f8dd303c1068 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 09:55:34 -0400 Subject: [PATCH 110/191] Ensure we stop reading headers when necessary --- src/DataIO_AmberEne.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/DataIO_AmberEne.cpp b/src/DataIO_AmberEne.cpp index d212921814..92a4b7cfb6 100644 --- a/src/DataIO_AmberEne.cpp +++ b/src/DataIO_AmberEne.cpp @@ -125,10 +125,14 @@ int DataIO_AmberEne::ReadData(FileName const& fname, DataSetList& dsl, std::stri // Read the header const DataSet::DataType fpType = DataSet::DOUBLE; while (ptr != 0) { + if (infile.LineNumber() > 1 && ptr[0] == 'L' && ptr[1] == '0') { + // At first line of data + break; + } Lines.push_back( AmberEneLine() ); if (Lines.back().Setup(ptr, infile.LineNumber(), dsl, dsname, fpType)) return 1; - Lines.back().Print(); + Lines.back().Print(); /* ArgList headerArgs( ptr, " \n\r" ); if (headerArgs.Nargs() < 1) { @@ -148,10 +152,7 @@ int DataIO_AmberEne::ReadData(FileName const& fname, DataSetList& dsl, std::stri headerArgs[1].c_str()); return 1; } - if (infile.LineNumber() > 1 && headerArgs[0] == "L0") { - // At first line of data - break; - } + // Read headers Nlines++; for (int iarg = 1; iarg < headerArgs.Nargs(); iarg++) From db51f67aeec343d619355251643d649d3259ee2b Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 10:26:17 -0400 Subject: [PATCH 111/191] Finish initial amber ene read --- src/DataIO_AmberEne.cpp | 140 +++++++++++++--------------------------- 1 file changed, 46 insertions(+), 94 deletions(-) diff --git a/src/DataIO_AmberEne.cpp b/src/DataIO_AmberEne.cpp index 92a4b7cfb6..62d015ae05 100644 --- a/src/DataIO_AmberEne.cpp +++ b/src/DataIO_AmberEne.cpp @@ -52,7 +52,7 @@ class AmberEneLine { lineNumber); return 1; } - fmt_.assign("%*s"); + //fmt_.assign("%*s"); // Output sets and sscanf read format for (int iarg = 1; iarg < headerArgs.Nargs(); iarg++) { // Determine expected type @@ -81,24 +81,30 @@ class AmberEneLine { } } outsets_.push_back( ds ); - if (setType == DataSet::INTEGER) - fmt_.append(" %i"); - else - fmt_.append(" %lf"); + //if (setType == DataSet::INTEGER) + // fmt_.append(" %i"); + //else + // fmt_.append(" %lf"); } // END loop over header labels in this line return 0; } // END Setup() /// Print details to stdout void Print() const { - mprintf("Format: '%s'\n", fmt_.c_str()); - mprintf("Sets:"); + //mprintf("Format: '%s'\n", fmt_.c_str()); + mprintf("\tSets:"); for (std::vector::const_iterator it = outsets_.begin(); it != outsets_.end(); ++it) mprintf(" %s", (*it)->legend()); mprintf("\n"); } + /// \return # of values this line contains + unsigned int Nvals() const { return outsets_.size(); } + /// \return iterator to beginning of sets + std::vector::const_iterator begin() const { return outsets_.begin(); } + /// \return iterator to end of sets + std::vector::const_iterator end() const { return outsets_.end(); } private: - std::string fmt_; ///< scanf format for reading this line + //std::string fmt_; ///< scanf format for reading this line std::vector outsets_; ///< Output sets for this line }; // ----------------------------------------------- @@ -110,19 +116,17 @@ int DataIO_AmberEne::ReadData(FileName const& fname, DataSetList& dsl, std::stri if (infile.OpenFileRead(fname)) return 1; const char* ptr = infile.Line(); // Should be at first line of the header - mprintf("DEBUG: %i '%s'\n", infile.LineNumber(), ptr); + //mprintf("DEBUG: %i '%s'\n", infile.LineNumber(), ptr); if (ptr[0] != 'L' || ptr[1] != '0') { mprinterr("Error: 'L0' not found in Amber energy file '%s'\n", fname.full()); return 1; } -// typedef std::vector Sarray; -// Sarray headers; -// unsigned int Nlines = 0; typedef std::vector LineArray; LineArray Lines; // Read the header + unsigned int maxVals = 0; const DataSet::DataType fpType = DataSet::DOUBLE; while (ptr != 0) { if (infile.LineNumber() > 1 && ptr[0] == 'L' && ptr[1] == '0') { @@ -133,101 +137,49 @@ int DataIO_AmberEne::ReadData(FileName const& fname, DataSetList& dsl, std::stri if (Lines.back().Setup(ptr, infile.LineNumber(), dsl, dsname, fpType)) return 1; Lines.back().Print(); -/* - ArgList headerArgs( ptr, " \n\r" ); - if (headerArgs.Nargs() < 1) { - mprinterr("Error: No columns detected at line %i of Amber energy file.\n", - infile.LineNumber()); - return 1; - } - headerArgs.PrintDebug(); - if (headerArgs.Nargs() != 5) { - mprinterr("Error: Expected 5 columns in Amber energy file, got %i\n", - headerArgs.Nargs()); - return 1; - } - // Expect Nsteps in L0 - if (infile.LineNumber() == 1 && headerArgs[1] != "Nsteps") { - mprinterr("Error: Expected 'Nsteps' as first column of Amber energy file, got '%s'\n", - headerArgs[1].c_str()); - return 1; - } - - // Read headers - Nlines++; - for (int iarg = 1; iarg < headerArgs.Nargs(); iarg++) - headers.push_back( headerArgs[iarg] ); - */ + maxVals = std::max( maxVals, Lines.back().Nvals() ); + ptr = infile.Line(); } -/* mprintf("\tHeader has %zu labels over %u lines.\n", headers.size(), Nlines); - for (Sarray::const_iterator it = headers.begin(); it != headers.end(); ++it) - mprintf(" %s", it->c_str()); - mprintf("\n");*/ + // Sanity check if (Lines.empty()) { mprinterr("Error: No headers read.\n"); return 1; } - // Set up data sets -/* std::vector outsets; - const DataSet::DataType fpType = DataSet::DOUBLE; - for (Sarray::const_iterator it = headers.begin(); it != headers.end(); ++it) - { - // Determine expected type - DataSet::DataType setType; - if (*it == "Nsteps") - setType = DataSet::INTEGER; - else - setType = fpType; - - MetaData md(dsname, *it); - DataSet* ds = dsl.CheckForSet( md ); - if (ds == 0) { - // Creating new set - ds = dsl.AddSet( setType, MetaData(dsname, *it) ); - if (ds == 0) { - mprinterr("Error: Could not allocate set '%s[%s]'\n", dsname.c_str(), it->c_str()); - return 1; - } - } else { - // Append to existing. Check type. - if (setType != ds->Type()) { - mprinterr("Error: Cannot append to set '%s'. Type is '%s', expected '%s'\n", - ds->legend(), DataSet::description(ds->Type()), - DataSet::description(setType)); - return 1; - } - } - outsets.push_back( ds ); - }*/ -/* + // Read data int ndata = 0; while (ptr != 0) { - unsigned int idx = 0; - for (unsigned int iline = 0; iline != Nlines; iline++, idx += 4) { - if (iline == 0) { - int ival; - double fval[3]; - sscanf( ptr, "%*s %i %lf %lf %lf", &ival, fval, fval+1, fval+2 ); - outsets[idx ]->Add( ndata, &ival ); - outsets[idx+1]->Add( ndata, fval ); - outsets[idx+2]->Add( ndata, fval+1 ); - outsets[idx+3]->Add( ndata, fval+2 ); - } else { - double fval[3]; - sscanf( ptr, "%*s %lf %lf %lf %lf", fval, fval+1, fval+2, fval+3); - outsets[idx ]->Add( ndata, fval ); - outsets[idx+1]->Add( ndata, fval+1 ); - outsets[idx+2]->Add( ndata, fval+2 ); - outsets[idx+3]->Add( ndata, fval+3 ); + for (LineArray::const_iterator it = Lines.begin(); it != Lines.end(); ++it) + { + int nvals = infile.TokenizeLine(" \n\r"); + // Subtract the LX column + nvals--; + if ( (nvals < 1) || ((unsigned int)nvals != it->Nvals()) ) { + mprinterr("Error: Line %i expected %u values, got %i\n", + infile.LineNumber(), it->Nvals(), nvals); + it->Print(); + return 1; } - } // END loop over LX lines + infile.NextToken(); + // Loop over remaining columns + for (std::vector::const_iterator ds = it->begin(); + ds != it->end(); ++ds) + { + if ((*ds)->Type() == DataSet::INTEGER) { + int ival = atoi( infile.NextToken() ); + (*ds)->Add( ndata, &ival ); + } else { + double dval = atof( infile.NextToken() ); + (*ds)->Add( ndata, &dval ); + } + } // END loop over remaining columns + ptr = infile.Line(); + } // END loop over lines + ndata++; - ptr = infile.Line(); } - */ return 0; } From fc741371c6eef139480134ab91164d9e50b65490 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 10:27:52 -0400 Subject: [PATCH 112/191] Add amber ene format to datafile table --- doc/cpptraj.lyx | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/doc/cpptraj.lyx b/doc/cpptraj.lyx index e4ca5a6b82..2a733be98f 100644 --- a/doc/cpptraj.lyx +++ b/doc/cpptraj.lyx @@ -2871,7 +2871,7 @@ status open \begin_layout Plain Layout \align center \begin_inset Tabular - + @@ -3362,6 +3362,53 @@ pH data only \begin_inset Text +\begin_layout Plain Layout +Amber Energy file +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +.ene +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +amberene +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +1D +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Read Only +\end_layout + +\end_inset + + + + +\begin_inset Text + \begin_layout Plain Layout Density Peaks \end_layout From c5f7ed62f17ac41621ee57df413122ace932b9de Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 11:43:33 -0400 Subject: [PATCH 113/191] Fix include --- src/DataIO_AmberEne.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DataIO_AmberEne.cpp b/src/DataIO_AmberEne.cpp index 62d015ae05..ba0ed0a102 100644 --- a/src/DataIO_AmberEne.cpp +++ b/src/DataIO_AmberEne.cpp @@ -1,7 +1,7 @@ #include "DataIO_AmberEne.h" #include "BufferedLine.h" #include "CpptrajStdio.h" -#include // sscanf +#include // atoi, atof /// CONSTRUCTOR DataIO_AmberEne::DataIO_AmberEne() From 54caa69f95e237415f1585c420237209e7832b86 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 11:54:16 -0400 Subject: [PATCH 114/191] Add generalize compression write routine --- src/NetcdfFile.cpp | 38 ++++++++++++++++++++++++++++++++++++++ src/NetcdfFile.h | 2 ++ 2 files changed, 40 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index ba4ba218cf..b70854f79a 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -995,6 +995,44 @@ int NetcdfFile::NC_createIntCompressed(int power) return 0; } +/** Write atom-based array using integer quantization and compression. */ +int NetcdfFile::NC_writeIntCompressed(const double* xyz, int vid) +{ + // Convert to integer + static const long int maxval = (long int)std::numeric_limits::max(); + + for (int idx = 0; idx != Ncatom3(); idx++) + { + // Multiply by compression factor and round to the nearest integer + long int ii = (long int)(round(xyz[idx] * compressedFac_)); + // Try some overflow protection + //long int ii = (long int)(frmOut[idx] * compressedFac_); + if (ii > maxval || ii < -maxval) { + mprinterr("Error: Value %i frame %i (%g) is too large to convert to int.\n", + idx+1, ncframe_+1, xyz[idx]); + mprinterr("Error: A smaller integer compression factor must be used.\n"); + return 1; + } + itmp_[idx] = (int)ii; + //itmp_[idx] = (int)(frmOut[idx] * compressedFac_); + } + //mprintf("DEBUG: atom 0 xyz={ %20.10f %20.10f %20.10f } ixyz= { %20i %20i %20i }\n", + // frmOut[0], frmOut[1], frmOut[2], itmp_[0], itmp_[1], itmp_[2]); + // Write array + start_[0] = Ncframe(); + start_[1] = 0; + start_[2] = 0; + count_[0] = 1; + count_[1] = Ncatom(); + count_[2] = 3; + + if (NC::CheckErr(nc_put_vara_int(ncid_, vid, start_, count_, &itmp_[0]))) { + mprinterr("Error: NetCDF writing compressed values frame %i\n", Ncframe()+1); + return 1; + } + return 0; +} + /** Write integer-compressed coords. */ int NetcdfFile::NC_writeIntCompressed(Frame const& frmOut) { // Convert to integer diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 90401919a6..27b4f227a0 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -125,6 +125,8 @@ class NetcdfFile { static NCTYPE GetNetcdfConventions(int); /// Check NetCDF file conventions version. void CheckConventionsVersion(); + /// Write array[ncatom3] compressed + int NC_writeIntCompressed(const double*, int); bool Has_pH() const; bool HasRedOx() const; From 7bdd3edcd5a77e7cb451bdef09ed3c969fc9a877 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 11:55:57 -0400 Subject: [PATCH 115/191] Use new compression routine --- src/NetcdfFile.cpp | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index b70854f79a..8a0aece007 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -1035,34 +1035,7 @@ int NetcdfFile::NC_writeIntCompressed(const double* xyz, int vid) /** Write integer-compressed coords. */ int NetcdfFile::NC_writeIntCompressed(Frame const& frmOut) { - // Convert to integer - long int maxval = (long int)std::numeric_limits::max(); - for (int idx = 0; idx != frmOut.size(); idx++) - { - // Multiply by compression factor and round to the nearest integer - long int ii = (long int)(round(frmOut[idx] * compressedFac_)); - // Try some overflow protection - //long int ii = (long int)(frmOut[idx] * compressedFac_); - if (ii > maxval || ii < -maxval) { - mprinterr("Error: Coordinate %i frame %i (%g) is too large to convert to int.\n", - idx+1, ncframe_+1, frmOut[idx]); - mprinterr("Error: A smaller integer compression factor must be used.\n"); - return 1; - } - itmp_[idx] = (int)ii; - //itmp_[idx] = (int)(frmOut[idx] * compressedFac_); - } - //mprintf("DEBUG: atom 0 xyz={ %20.10f %20.10f %20.10f } ixyz= { %20i %20i %20i }\n", - // frmOut[0], frmOut[1], frmOut[2], itmp_[0], itmp_[1], itmp_[2]); - // Write array - start_[0] = ncframe_; - start_[1] = 0; - start_[2] = 0; - count_[0] = 1; - count_[1] = Ncatom(); - count_[2] = 3; - - if (NC::CheckErr(nc_put_vara_int(ncid_, compressedPosVID_, start_, count_, &itmp_[0]))) { + if (NC_writeIntCompressed(frmOut.xAddress(), compressedPosVID_)) { mprinterr("Error: NetCDF writing compressed coordinates frame %i\n", ncframe_+1); return 1; } From df0cea5959f24272a6b9fa9b4639388394180672 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 11:59:23 -0400 Subject: [PATCH 116/191] Add generalized int compress read routine --- src/NetcdfFile.cpp | 19 +++++++++++++++++++ src/NetcdfFile.h | 2 ++ 2 files changed, 21 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 8a0aece007..653fcf4803 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -1042,6 +1042,25 @@ int NetcdfFile::NC_writeIntCompressed(Frame const& frmOut) { return 0; } +/** Read atom-based array that uses integer quantization and compression. */ +int NetcdfFile::NC_readIntCompressed(double* xyz, int vid, int set) { + // Read array + start_[0] = set; + start_[1] = 0; + start_[2] = 0; + count_[0] = 1; + count_[1] = Ncatom(); + count_[2] = 3; + if (NC::CheckErr(nc_get_vara_int(ncid_, vid, start_, count_, &itmp_[0]))) { + mprinterr("Error: NetCDF reading compressed values frame %i\n", set+1); + return 1; + } + // Convert from integer + for (int idx = 0; idx != Ncatom3(); idx++) + xyz[idx] = (double)(itmp_[idx]) / compressedFac_; // TODO convert to 1/fac first? + return 0; +} + /** Read integer-compressed coords. */ int NetcdfFile::NC_readIntCompressed(int set, Frame& frmIn) { // Read array diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 27b4f227a0..2b71a5e04d 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -127,6 +127,8 @@ class NetcdfFile { void CheckConventionsVersion(); /// Write array[ncatom3] compressed int NC_writeIntCompressed(const double*, int); + /// Read array[ncatom3] compressed + int NC_readIntCompressed(double*, int, int); bool Has_pH() const; bool HasRedOx() const; From 708e69a9add706b1d839a7a90b0953532bba02a4 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 12:00:38 -0400 Subject: [PATCH 117/191] Use new routine --- src/NetcdfFile.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 653fcf4803..bea7a74678 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -1063,20 +1063,10 @@ int NetcdfFile::NC_readIntCompressed(double* xyz, int vid, int set) { /** Read integer-compressed coords. */ int NetcdfFile::NC_readIntCompressed(int set, Frame& frmIn) { - // Read array - start_[0] = set; - start_[1] = 0; - start_[2] = 0; - count_[0] = 1; - count_[1] = Ncatom(); - count_[2] = 3; - if (NC::CheckErr(nc_get_vara_int(ncid_, compressedPosVID_, start_, count_, &itmp_[0]))) { + if (NC_readIntCompressed( frmIn.xAddress(), compressedPosVID_, set )) { mprinterr("Error: NetCDF reading compressed coordinates frame %i\n", set+1); return 1; } - // Convert from integer - for (int idx = 0; idx != frmIn.size(); idx++) - frmIn[idx] = (double)(itmp_[idx]) / compressedFac_; // TODO convert to 1/fac first? return 0; } // ----------------------------------------------------------------------------- From f4f7181b5a12e22edd0dcc7d7b7c5cd385dfbfe6 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 14:04:06 -0400 Subject: [PATCH 118/191] Make variables private --- src/NetcdfFile.cpp | 12 ++++++------ src/NetcdfFile.h | 33 ++++++++++++++++++--------------- src/Traj_AmberNetcdf.cpp | 4 ++-- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index bea7a74678..9195a9ccdf 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -102,12 +102,6 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch // CONSTRUCTOR NetcdfFile::NetcdfFile() : -# ifdef HAS_HDF5 - deflateLevels_((unsigned int)NVID, 0), - compressedPosVID_(-1), - compressedFac_(0), - fchunkSize_(1), -# endif ncid_(-1), ncframe_(-1), TempVID_(-1), @@ -122,6 +116,12 @@ NetcdfFile::NetcdfFile() : repidxVID_(-1), crdidxVID_(-1), ensembleSize_(0), +# ifdef HAS_HDF5 + deflateLevels_((unsigned int)NVID, 0), + compressedPosVID_(-1), + compressedFac_(0), + fchunkSize_(1), +# endif ncdebug_(0), frameDID_(-1), atomDID_(-1), diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 2b71a5e04d..0be8255e48 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -60,20 +60,14 @@ class NetcdfFile { inline int Ncatom3() const { return ncatom3_; } inline int Ncframe() const { return ncframe_; } inline int CoordVID() const { return coordVID_; } + /// \return Variable ID of integer-compressed coordinates + int CompressedPosVID() const { return compressedPosVID_; } protected: // TODO: Make all private /// Enumerated type for variable IDs. MUST MATCH vidDesc_. enum VidType { V_COORDS = 0, V_VEL, V_FRC, V_TEMP, V_BOXL, V_BOXA, V_TIME, V_IND, V_RIDX, V_CIDX, V_REMDVALS, NVID }; - /// Descriptions of VidType. MUST MATCH VidType (except NVID). - static const char* vidDesc_[]; - /// Enumerated type for dimension IDs. MUST MATCH didDesc_. - enum DidType { D_FRAME = 0, D_ATOM, D_SPATIAL, - NDID }; // TODO everything else - /// Descriptions of DidType. MUST MATCH DidType (except NDID). - static const char* didDesc_[]; - # ifdef HAS_HDF5 /// Set all variables compression level. int SetCompression(int); @@ -90,13 +84,6 @@ class NetcdfFile { void Broadcast(Parallel::Comm const&); # endif -# ifdef HAS_HDF5 - std::vector deflateLevels_; ///< Compression levels for each VID - int compressedPosVID_; ///< Coordinates integer VID - double compressedFac_; ///< Compression factor - std::vector itmp_; ///< Temp space for converting to int - int fchunkSize_; ///< Frame chunk size -# endif size_t start_[4]; ///< Array starting indices size_t count_[4]; ///< Array counts int ncid_; ///< NetCDF file ID @@ -121,6 +108,14 @@ class NetcdfFile { static const char* NcFmtTypeStr_[]; static const char* ConventionsStr_[]; + /// Descriptions of VidType. MUST MATCH VidType (except NVID). + static const char* vidDesc_[]; + /// Enumerated type for dimension IDs. MUST MATCH didDesc_. + enum DidType { D_FRAME = 0, D_ATOM, D_SPATIAL, + NDID }; // TODO everything else + /// Descriptions of DidType. MUST MATCH DidType (except NDID). + static const char* didDesc_[]; + /// \return NetCDF trajectory type based on conventions. static NCTYPE GetNetcdfConventions(int); /// Check NetCDF file conventions version. @@ -169,6 +164,14 @@ class NetcdfFile { int NC_defineTemperature(int*, int); inline void SetRemDimDID(int, int*) const; +# ifdef HAS_HDF5 + std::vector deflateLevels_; ///< Compression levels for each VID + int compressedPosVID_; ///< Coordinates integer VID + double compressedFac_; ///< Compression factor + std::vector itmp_; ///< Temp space for converting to int + int fchunkSize_; ///< Frame chunk size +# endif + std::vector RemdValues_; ///< Hold remd values ReplicaDimArray remDimType_; ///< Type of each dimension (multi-D). ReplicaDimArray remValType_; ///< Type of each value (single or multi-D). diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 961a7138b0..ccb196bc4a 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -288,7 +288,7 @@ int Traj_AmberNetcdf::readFrame(int set, Frame& frameIn) { // Read Coords # ifdef HAS_HDF5 - if (compressedPosVID_ != -1) { + if (CompressedPosVID() != -1) { if (NC_readIntCompressed(set, frameIn)) return 1; } else # endif @@ -404,7 +404,7 @@ int Traj_AmberNetcdf::writeFrame(int set, Frame const& frameOut) { // Write coords. # ifdef HAS_HDF5 - if (compressedPosVID_ != -1) { + if (CompressedPosVID() != -1) { if (NC_writeIntCompressed(frameOut)) return 1; } else # endif From 3ace3aaea8c7cbea79d3787e52eb9dcb6b828687 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 14:14:05 -0400 Subject: [PATCH 119/191] Start adding support for compressed velocities --- src/NetcdfFile.cpp | 7 +++++++ src/NetcdfFile.h | 1 + 2 files changed, 8 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 9195a9ccdf..e40fd37a50 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -98,6 +98,7 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch #define NCBINS "bins" #define NCREMDVALUES "remd_values" #define NCCOMPPOS "compressedpos" +#define NCCOMPVEL "compressedvel" #define NCCOMPPOW "compressedpow" // CONSTRUCTOR @@ -119,6 +120,7 @@ NetcdfFile::NetcdfFile() : # ifdef HAS_HDF5 deflateLevels_((unsigned int)NVID, 0), compressedPosVID_(-1), + compressedVelVID_(-1), compressedFac_(0), fchunkSize_(1), # endif @@ -294,6 +296,11 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { if (calcCompressFactor(power)) return 1; // Allocate temporary space for integer array itmp_.resize( Ncatom3() ); + // Check if there are compressed velocities as well TODO make independent of coords + if (nc_inq_varid(ncid_, NCCOMPVEL, &compressedVelVID_) == NC_NOERR) { + mprintf("\tNetCDF file has integer-compressed velocities.\n"); + } else + compressedVelVID_ = -1; # else mprinterr("Error: Integer-compressed NetCDF trajectories requires cpptraj compiled with HDF5 support.\n"); return 1; diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 0be8255e48..b62c4272fd 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -167,6 +167,7 @@ class NetcdfFile { # ifdef HAS_HDF5 std::vector deflateLevels_; ///< Compression levels for each VID int compressedPosVID_; ///< Coordinates integer VID + int compressedVelVID_; ///< Velocities integer VID double compressedFac_; ///< Compression factor std::vector itmp_; ///< Temp space for converting to int int fchunkSize_; ///< Frame chunk size From ab5df6c4103066bcb6cb50b90792daed95a780bd Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 15:16:58 -0400 Subject: [PATCH 120/191] Create routine to separately define integer compressed var --- src/NetcdfFile.cpp | 35 +++++++++++++++++++++++++++++++++++ src/NetcdfFile.h | 2 ++ 2 files changed, 37 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index e40fd37a50..5dce913c99 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -928,6 +928,41 @@ int NetcdfFile::calcCompressFactor(int power) { return 0; } +/** Define an integer compressed variable of dims frame x atom x spatial. */ +int NetcdfFile::NC_defineIcompressedVar(const char* tag, VidType vtype, int& vid) +{ + int dimensionID[NC_MAX_VAR_DIMS]; + dimensionID[0] = frameDID_; + dimensionID[1] = atomDID_; + dimensionID[2] = spatialDID_; + + if (NC::CheckErr( nc_def_var(ncid_, tag, NC_INT, 3, dimensionID, &vid) )) { + mprinterr("Error: defining compressed positions VID.\n"); + return 1; + } + // Set compression for converted coords. Use 1 if not set. + if (deflateLevels_[vtype] == 0) { + mprintf("Warning: Using default compression level for coords.\n"); + deflateLevels_[vtype] = 1; + } + // TODO should this be an option? + int ishuffle = 1; + if (ncdebug_ > 0) { + if (ishuffle == 0) + mprintf("DEBUG: Integer shuffle is off.\n"); + else + mprintf("DEBUG: Integer shuffle is on.\n"); + } + if ( NC::CheckErr( nc_def_var_deflate(ncid_, vid, ishuffle, 1, deflateLevels_[vtype]) ) ) { + mprinterr("Error: Setting compression level %i for integer compressed coords.\n", + deflateLevels_[vtype]); + return 1; + } + if (NC_setFrameChunkSize(vtype, vid)) return 1; + + return 0; +} + /** Prepare trajectory for adding coords converted to integer. */ int NetcdfFile::NC_createIntCompressed(int power) { diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index b62c4272fd..30c77902b4 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -125,6 +125,8 @@ class NetcdfFile { /// Read array[ncatom3] compressed int NC_readIntCompressed(double*, int, int); + int NC_defineIcompressedVar(const char*, VidType, int&); + bool Has_pH() const; bool HasRedOx() const; bool HasForces() const { return (frcVID_ != -1); } From 43bdc6755e39577b2160f2ae2b929579ff1fa0cc Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 15:21:14 -0400 Subject: [PATCH 121/191] Use new routine --- src/NetcdfFile.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 5dce913c99..54cbb43e22 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -985,9 +985,16 @@ int NetcdfFile::NC_createIntCompressed(int power) } else mprintf("Warning: Using lossy compression.\n" "Warning: Energy error will be on the order of 2E-%i kcal/mol/atom\n", power); - int dimensionID[NC_MAX_VAR_DIMS]; // Place file back in define mode if (NC::CheckErr( nc_redef( ncid_ ) )) return 1; + // Set up compressed coords + if ( NC_defineIcompressedVar(NCCOMPPOS, V_COORDS, compressedPosVID_) ) { + mprinterr("Error: Could not set up coordinates for integer compression.\n"); + return 1; + } +/* + int dimensionID[NC_MAX_VAR_DIMS]; + // Define variable to hold converted coords dimensionID[0] = frameDID_; dimensionID[1] = atomDID_; @@ -1014,9 +1021,10 @@ int NetcdfFile::NC_createIntCompressed(int power) return 1; } if (NC_setFrameChunkSize(V_COORDS, compressedPosVID_)) return 1; +*/ // Define variable to hold conversion power int compressedPowVID = -1; - if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOW, NC_INT, 0, dimensionID, &compressedPowVID) )) { + if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOW, NC_INT, 0, NULL, &compressedPowVID) )) { mprinterr("Error: defining compressed power factor VID.\n"); return 1; } From 932d5de2d879bdb050c3619c2403f9f8c7a09f0a Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 5 Jul 2022 15:22:56 -0400 Subject: [PATCH 122/191] Add description to error messages. --- src/NetcdfFile.cpp | 10 +++++----- src/NetcdfFile.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 54cbb43e22..a44b31fa5a 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -929,7 +929,7 @@ int NetcdfFile::calcCompressFactor(int power) { } /** Define an integer compressed variable of dims frame x atom x spatial. */ -int NetcdfFile::NC_defineIcompressedVar(const char* tag, VidType vtype, int& vid) +int NetcdfFile::NC_defineIcompressedVar(const char* desc, const char* tag, VidType vtype, int& vid) { int dimensionID[NC_MAX_VAR_DIMS]; dimensionID[0] = frameDID_; @@ -942,7 +942,7 @@ int NetcdfFile::NC_defineIcompressedVar(const char* tag, VidType vtype, int& vid } // Set compression for converted coords. Use 1 if not set. if (deflateLevels_[vtype] == 0) { - mprintf("Warning: Using default compression level for coords.\n"); + mprintf("Warning: Using default compression level for %s.\n", desc); deflateLevels_[vtype] = 1; } // TODO should this be an option? @@ -954,8 +954,8 @@ int NetcdfFile::NC_defineIcompressedVar(const char* tag, VidType vtype, int& vid mprintf("DEBUG: Integer shuffle is on.\n"); } if ( NC::CheckErr( nc_def_var_deflate(ncid_, vid, ishuffle, 1, deflateLevels_[vtype]) ) ) { - mprinterr("Error: Setting compression level %i for integer compressed coords.\n", - deflateLevels_[vtype]); + mprinterr("Error: Setting compression level %i for integer compressed %s.\n", + deflateLevels_[vtype], desc); return 1; } if (NC_setFrameChunkSize(vtype, vid)) return 1; @@ -988,7 +988,7 @@ int NetcdfFile::NC_createIntCompressed(int power) // Place file back in define mode if (NC::CheckErr( nc_redef( ncid_ ) )) return 1; // Set up compressed coords - if ( NC_defineIcompressedVar(NCCOMPPOS, V_COORDS, compressedPosVID_) ) { + if ( NC_defineIcompressedVar("coords", NCCOMPPOS, V_COORDS, compressedPosVID_) ) { mprinterr("Error: Could not set up coordinates for integer compression.\n"); return 1; } diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 30c77902b4..de286dddd6 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -125,7 +125,7 @@ class NetcdfFile { /// Read array[ncatom3] compressed int NC_readIntCompressed(double*, int, int); - int NC_defineIcompressedVar(const char*, VidType, int&); + int NC_defineIcompressedVar(const char*, const char*, VidType, int&); bool Has_pH() const; bool HasRedOx() const; From 8eefc0d9a0816a365bb461a30f7e9823ab08bcd5 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 6 Jul 2022 13:07:32 -0400 Subject: [PATCH 123/191] Rework code so that integer-compressed variables are defined in NC_create. Set it up so each variable can have its own compression factor. --- src/NetcdfFile.cpp | 360 ++++++++++++++++++--------------------- src/NetcdfFile.h | 36 ++-- src/Traj_AmberNetcdf.cpp | 19 ++- 3 files changed, 192 insertions(+), 223 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index a44b31fa5a..d9f8a07d1b 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -99,7 +99,7 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch #define NCREMDVALUES "remd_values" #define NCCOMPPOS "compressedpos" #define NCCOMPVEL "compressedvel" -#define NCCOMPPOW "compressedpow" +#define NCICOMPFAC "icompressfac" // CONSTRUCTOR NetcdfFile::NetcdfFile() : @@ -117,12 +117,14 @@ NetcdfFile::NetcdfFile() : repidxVID_(-1), crdidxVID_(-1), ensembleSize_(0), -# ifdef HAS_HDF5 - deflateLevels_((unsigned int)NVID, 0), compressedPosVID_(-1), compressedVelVID_(-1), - compressedFac_(0), + compressedFrcVID_(-1), fchunkSize_(1), + ishuffle_(-1), +# ifdef HAS_HDF5 + deflateLevels_((unsigned int)NVID, 0), + intCompressFac_((unsigned int)NVID, 0), # endif ncdebug_(0), frameDID_(-1), @@ -208,6 +210,7 @@ void NetcdfFile::CheckConventionsVersion() { mprintf("Warning: NetCDF file has ConventionVersion that is not 1.0 (%s)\n", attrText.c_str()); } +// ----------------------------------------------------------------------------- /** \return true if temperature VID is defined or a replica dimension is temperature. */ bool NetcdfFile::HasTemperatures() const { @@ -268,58 +271,11 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { mprinterr("Error: Cannot use both velocities and forces as coords - specify one only.\n"); return 1; } - // Get atoms info - atomDID_ = NC::GetDimInfo( ncid_, NCATOM, ncatom_ ); - if (atomDID_==-1) return 1; - ncatom3_ = ncatom_ * 3; - // Check for integer compression - requires HDF5 - int localCompressedPosVID = -1; - if ( nc_inq_varid(ncid_, NCCOMPPOS, &localCompressedPosVID) == NC_NOERR ) { - if (ncdebug_ > 0) mprintf("\tNetCDF file has integer-compressed coordinates.\n"); - } - if (localCompressedPosVID != -1) { -# ifdef HAS_HDF5 - int compressedPowVID = -1; - compressedPosVID_ = localCompressedPosVID; - // Get compressed power var ID - if ( nc_inq_varid(ncid_, NCCOMPPOW, &compressedPowVID) != NC_NOERR ) { - mprinterr("Error: NetCDF file has integer-compressed coordinates but no compress power variable ID.\n"); - return 1; - } - // Get compressed power - int power = 0; - if (NC::CheckErr(nc_get_var_int(ncid_, compressedPowVID, &power))) { - mprinterr("Error: Reading compressed power factor.\n"); - return 1; - } - // Calculate compressed factor - if (calcCompressFactor(power)) return 1; - // Allocate temporary space for integer array - itmp_.resize( Ncatom3() ); - // Check if there are compressed velocities as well TODO make independent of coords - if (nc_inq_varid(ncid_, NCCOMPVEL, &compressedVelVID_) == NC_NOERR) { - mprintf("\tNetCDF file has integer-compressed velocities.\n"); - } else - compressedVelVID_ = -1; -# else - mprinterr("Error: Integer-compressed NetCDF trajectories requires cpptraj compiled with HDF5 support.\n"); - return 1; -# endif /* HAS_HDF5 */ - } - // Get coord info - coordVID_ = -1; - if ( nc_inq_varid(ncid_, NCCOORDS, &coordVID_) == NC_NOERR ) { - if (ncdebug_ > 0) mprintf("\tNetCDF file has coordinates.\n"); - std::string attrText = NC::GetAttrText(ncid_, coordVID_, "units"); - if (attrText!="angstrom") - mprintf("Warning: NetCDF file has length units of %s - expected angstrom.\n", - attrText.c_str()); - } // Get spatial info int spatial; spatialDID_ = NC::GetDimInfo( ncid_, NCSPATIAL, spatial ); - if (spatialDID_==-1) return 1; - if (spatial!=3) { + if (spatialDID_ == -1) return 1; + if (spatial != 3) { mprinterr("Error: Expected 3 spatial dimensions, got %i\n",spatial); return 1; } @@ -340,18 +296,64 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { return 1; } } + + // Get atoms info + atomDID_ = NC::GetDimInfo( ncid_, NCATOM, ncatom_ ); + if (atomDID_==-1) return 1; + ncatom3_ = ncatom_ * 3; + + unsigned int needed_itmp_size = 0; + bool has_coordinates = false; + bool has_velocities = false; + bool has_forces = false; + // Get coord info + coordVID_ = -1; + if ( nc_inq_varid(ncid_, NCCOORDS, &coordVID_) == NC_NOERR ) { + if (ncdebug_ > 0) mprintf("\tNetCDF file has coordinates.\n"); + std::string attrText = NC::GetAttrText(ncid_, coordVID_, "units"); + if (attrText!="angstrom") + mprintf("Warning: NetCDF file has length units of %s - expected angstrom.\n", + attrText.c_str()); + has_coordinates = true; + } + // Get compressed coord info + compressedPosVID_ = -1; + if ( nc_inq_varid(ncid_, NCCOMPPOS, &compressedPosVID_) == NC_NOERR ) { + if (ncdebug_ > 0) mprintf("\tNetCDF file has integer-compressed coordinates.\n"); +# ifdef HAS_HDF5 + // Get integer compression factor + if (NC::CheckErr(nc_get_att_double(ncid_, compressedPosVID_, NCICOMPFAC, (&intCompressFac_[0])+V_COORDS))) { + mprinterr("Error: Could not get integer compression factor attribute for COORDS.\n"); + return 1; + } + mprintf("DEBUG: Integer compression factor: %g\n", intCompressFac_[V_COORDS]); + needed_itmp_size = Ncatom3(); + has_coordinates = true; +# else /* HAS_HDF5 */ + mprinterr("Error: Integer-compressed NetCDF trajectories requires cpptraj compiled with HDF5 support.\n"); + return 1; +# endif /* HAS_HDF5 */ + } + // Get velocity info velocityVID_ = -1; if ( nc_inq_varid(ncid_, NCVELO, &velocityVID_) == NC_NOERR ) { if (ncdebug_>0) mprintf("\tNetCDF file has velocities.\n"); + has_velocities = true; } // Get force info frcVID_ = -1; if ( nc_inq_varid(ncid_, NCFRC, &frcVID_) == NC_NOERR ) { if (ncdebug_>0) mprintf("\tNetCDF file has forces.\n"); + has_forces = true; } +# ifdef HAS_HDF5 + // Allocate temporary space for integer array if needed + if (needed_itmp_size > 0) + itmp_.resize( needed_itmp_size ); +# endif // Return a error if no coords, velocities, or forces - if ( coordVID_ == -1 && velocityVID_ == -1 && frcVID_ == -1 ) { + if ( !has_coordinates && !has_velocities && !has_forces ) { mprinterr("Error: NetCDF file has no coordinates, velocities, or forces.\n"); return 1; } @@ -798,13 +800,15 @@ const char* NetcdfFile::didDesc_[NDID] = { // ----------------------------------------------------------------------------- // This section contains HDF5-related functionality -/** Set variable compression level if supported. */ -int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const +/** Set variable compression level (and integer shuffle) if supported. */ +int NetcdfFile::NC_setDeflate(VidType vtype, int varid, int ishuffleIn) const { # ifdef HAS_HDF5 if (deflateLevels_[vtype] > 0) { + mprintf("DEBUG: Setting deflate level for '%s' to %i (ishuffle=%i)\n", + vidDesc_[vtype], deflateLevels_[vtype], ishuffleIn); // TODO shuffle integer types? - if ( NC::CheckErr( nc_def_var_deflate(ncid_, varid, 0, 1, deflateLevels_[vtype]) ) ) { + if ( NC::CheckErr( nc_def_var_deflate(ncid_, varid, ishuffleIn, 1, deflateLevels_[vtype]) ) ) { mprinterr("Error: Setting compression for '%s' variable.\n", vidDesc_[vtype]); return 1; } @@ -815,6 +819,11 @@ int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const return 0; } +/** Set variable compression level with integer shuffle off. */ +int NetcdfFile::NC_setDeflate(VidType vtype, int varid) const { + return NC_setDeflate(vtype, varid, 0); +} + /** Increase frame chunk size for variable if supported. */ int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid) const { @@ -851,19 +860,50 @@ int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid) const # ifdef HAS_HDF5 /** Set desired compression level for specified variable if supported. */ -int NetcdfFile::SetCompression(VidType vtype, int deflateLevelIn) { - if (ncdebug_ > 0) - mprintf("DEBUG: Setting compression for VIDTYPE %i to %i\n", (int)vtype, deflateLevelIn); +int NetcdfFile::setDesiredCompression(VidType vtype, int deflateLevelIn) { + //if (ncdebug_ > 0) + mprintf("DEBUG: Setting desired compression for VIDTYPE %s to %i\n", vidDesc_[vtype], deflateLevelIn); deflateLevels_[vtype] = deflateLevelIn; return 0; } /** Set desired compression level for all variables if supported. */ -int NetcdfFile::SetCompression(int deflateLevelIn) { +int NetcdfFile::SetupCompression(int deflateLevelIn, int icompressIn, int ishuffleIn) { mprintf("\tSetting NetCDF variable compression level to %i\n", deflateLevelIn); int err = 0; + // Integer compression implies compression + int local_deflateLevel = deflateLevelIn; + if (local_deflateLevel == 0 && icompressIn > 0) { + local_deflateLevel = 1; + } for (int i = 0; i != (int)NVID; i++) - err += SetCompression( (VidType)i, deflateLevelIn ); + err += setDesiredCompression( (VidType)i, local_deflateLevel ); + // Integer compression + ishuffle_ = 0; + if (icompressIn > 0) { + mprintf("\tSetting NetCDF integer compression for supported variables to %i\n", icompressIn); + // Warn about low precision powers + if (icompressIn < 1) { + mprinterr("Error: Integer compression power < 1 not allowed.\n"); + return 1; + } else if (icompressIn < 4) { + mprintf("Warning: Using extremely low precision for integer compression.\n" + "Warning: Energy error will be on the order of 2E-%i kcal/mol/atom\n", icompressIn); + mprintf("Warning: Consider using integer power >= 4.\n"); + } else + mprintf("Warning: Using lossy compression.\n" + "Warning: Energy error will be on the order of 2E-%i kcal/mol/atom\n", icompressIn); + // Calculate integer compression factors for supported variables + err += (calcCompressFactor( intCompressFac_[V_COORDS], icompressIn )); + // Report ishuffle status + ishuffle_ = ishuffleIn; + //if (ncdebug_ > 0) { + if (ishuffle_ == 0) + mprintf("DEBUG: Integer shuffle is off.\n"); + else + mprintf("DEBUG: Integer shuffle is on.\n"); + //} + } return err; } @@ -915,138 +955,22 @@ const return 0; } -/** Set compressedFac_ to given power of 10 (min 1). */ -int NetcdfFile::calcCompressFactor(int power) { +/** Set compressedFac to given power of 10 (min 1). */ +int NetcdfFile::calcCompressFactor(double& compressedFac, int power) { + compressedFac = 0; if (power < 1) { mprinterr("Internal Error: calcCompressFactor called with power of 10 < 1\n"); return 1; } - compressedFac_ = 10.0; + compressedFac = 10.0; for (int i = 1; i < power; i++) - compressedFac_ *= 10.0; - mprintf("\tConverting floats to integer using factor: x%g\n", compressedFac_); - return 0; -} - -/** Define an integer compressed variable of dims frame x atom x spatial. */ -int NetcdfFile::NC_defineIcompressedVar(const char* desc, const char* tag, VidType vtype, int& vid) -{ - int dimensionID[NC_MAX_VAR_DIMS]; - dimensionID[0] = frameDID_; - dimensionID[1] = atomDID_; - dimensionID[2] = spatialDID_; - - if (NC::CheckErr( nc_def_var(ncid_, tag, NC_INT, 3, dimensionID, &vid) )) { - mprinterr("Error: defining compressed positions VID.\n"); - return 1; - } - // Set compression for converted coords. Use 1 if not set. - if (deflateLevels_[vtype] == 0) { - mprintf("Warning: Using default compression level for %s.\n", desc); - deflateLevels_[vtype] = 1; - } - // TODO should this be an option? - int ishuffle = 1; - if (ncdebug_ > 0) { - if (ishuffle == 0) - mprintf("DEBUG: Integer shuffle is off.\n"); - else - mprintf("DEBUG: Integer shuffle is on.\n"); - } - if ( NC::CheckErr( nc_def_var_deflate(ncid_, vid, ishuffle, 1, deflateLevels_[vtype]) ) ) { - mprinterr("Error: Setting compression level %i for integer compressed %s.\n", - deflateLevels_[vtype], desc); - return 1; - } - if (NC_setFrameChunkSize(vtype, vid)) return 1; - - return 0; -} - -/** Prepare trajectory for adding coords converted to integer. */ -int NetcdfFile::NC_createIntCompressed(int power) -{ - if (ncid_ == -1) { - mprinterr("Internal Error: NC_createCompressed() called with ncid -1\n"); - return 1; - } - if (frameDID_ == -1 || atomDID_ == -1 || spatialDID_ == -1) { - mprinterr("Internal Error: NC_createCompressed() called before NC_create().\n"); - return 1; - } - // Warn about low precision powers - if (power < 1) { - mprinterr("Error: Integer compression power < 1 not allowed.\n"); - return 1; - } else if (power < 4) { - mprintf("Warning: Using extremely low precision for integer compression.\n" - "Warning: Energy error will be on the order of 2E-%i kcal/mol/atom\n", power); - mprintf("Warning: Consider using integer power >= 4.\n"); - } else - mprintf("Warning: Using lossy compression.\n" - "Warning: Energy error will be on the order of 2E-%i kcal/mol/atom\n", power); - // Place file back in define mode - if (NC::CheckErr( nc_redef( ncid_ ) )) return 1; - // Set up compressed coords - if ( NC_defineIcompressedVar("coords", NCCOMPPOS, V_COORDS, compressedPosVID_) ) { - mprinterr("Error: Could not set up coordinates for integer compression.\n"); - return 1; - } -/* - int dimensionID[NC_MAX_VAR_DIMS]; - - // Define variable to hold converted coords - dimensionID[0] = frameDID_; - dimensionID[1] = atomDID_; - dimensionID[2] = spatialDID_; - if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOS, NC_INT, 3, dimensionID, &compressedPosVID_) )) { - mprinterr("Error: defining compressed positions VID.\n"); - return 1; - } - // Set compression for converted coords. Use 1 if not set. - if (deflateLevels_[V_COORDS] == 0) { - mprintf("Warning: Using default compression level for coords.\n"); - deflateLevels_[V_COORDS] = 1; - } - // TODO should this be an option? - int ishuffle = 1; - if (ncdebug_ > 0) { - if (ishuffle == 0) - mprintf("DEBUG: Integer shuffle is off.\n"); - else - mprintf("DEBUG: Integer shuffle is on.\n"); - } - if ( NC::CheckErr( nc_def_var_deflate(ncid_, compressedPosVID_, ishuffle, 1, deflateLevels_[V_COORDS]) ) ) { - mprinterr("Error: Setting compression level %i for integer compressed coords.\n", deflateLevels_[V_COORDS]); - return 1; - } - if (NC_setFrameChunkSize(V_COORDS, compressedPosVID_)) return 1; -*/ - // Define variable to hold conversion power - int compressedPowVID = -1; - if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOW, NC_INT, 0, NULL, &compressedPowVID) )) { - mprinterr("Error: defining compressed power factor VID.\n"); - return 1; - } - // End definitions - if (NC::CheckErr(nc_enddef(ncid_))) { - mprinterr("NetCDF error on ending definitions (NC_createCompressed)."); - return 1; - } - // Calculate compressed factor; write compressed power of 10 - if (calcCompressFactor(power)) return 1; - if (NC::CheckErr(nc_put_var_int(ncid_, compressedPowVID, &power)) ) { - mprinterr("Error: Writing compressed power factor.\n"); - return 1; - } - // Allocate temporary space for integer array - itmp_.resize( Ncatom3() ); - + compressedFac *= 10.0; + mprintf("\tConverting floats to integer using factor: x%g\n", compressedFac); return 0; } /** Write atom-based array using integer quantization and compression. */ -int NetcdfFile::NC_writeIntCompressed(const double* xyz, int vid) +int NetcdfFile::NC_writeIntCompressed(const double* xyz, int vid, double compressedFacIn) { // Convert to integer static const long int maxval = (long int)std::numeric_limits::max(); @@ -1054,7 +978,7 @@ int NetcdfFile::NC_writeIntCompressed(const double* xyz, int vid) for (int idx = 0; idx != Ncatom3(); idx++) { // Multiply by compression factor and round to the nearest integer - long int ii = (long int)(round(xyz[idx] * compressedFac_)); + long int ii = (long int)(round(xyz[idx] * compressedFacIn)); // Try some overflow protection //long int ii = (long int)(frmOut[idx] * compressedFac_); if (ii > maxval || ii < -maxval) { @@ -1085,7 +1009,7 @@ int NetcdfFile::NC_writeIntCompressed(const double* xyz, int vid) /** Write integer-compressed coords. */ int NetcdfFile::NC_writeIntCompressed(Frame const& frmOut) { - if (NC_writeIntCompressed(frmOut.xAddress(), compressedPosVID_)) { + if (NC_writeIntCompressed(frmOut.xAddress(), compressedPosVID_, intCompressFac_[V_COORDS])) { mprinterr("Error: NetCDF writing compressed coordinates frame %i\n", ncframe_+1); return 1; } @@ -1093,7 +1017,7 @@ int NetcdfFile::NC_writeIntCompressed(Frame const& frmOut) { } /** Read atom-based array that uses integer quantization and compression. */ -int NetcdfFile::NC_readIntCompressed(double* xyz, int vid, int set) { +int NetcdfFile::NC_readIntCompressed(double* xyz, int vid, int set, double compressedFacIn) { // Read array start_[0] = set; start_[1] = 0; @@ -1107,13 +1031,13 @@ int NetcdfFile::NC_readIntCompressed(double* xyz, int vid, int set) { } // Convert from integer for (int idx = 0; idx != Ncatom3(); idx++) - xyz[idx] = (double)(itmp_[idx]) / compressedFac_; // TODO convert to 1/fac first? + xyz[idx] = (double)(itmp_[idx]) / compressedFacIn; // TODO convert to 1/fac first? return 0; } /** Read integer-compressed coords. */ int NetcdfFile::NC_readIntCompressed(int set, Frame& frmIn) { - if (NC_readIntCompressed( frmIn.xAddress(), compressedPosVID_, set )) { + if (NC_readIntCompressed( frmIn.xAddress(), compressedPosVID_, set, intCompressFac_[V_COORDS] )) { mprinterr("Error: NetCDF reading compressed coordinates frame %i\n", set+1); return 1; } @@ -1264,17 +1188,39 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t return 1; } // Coord variable + unsigned int needed_itmp_size = 0; if (coordInfo.HasCrd()) { - if ( NC::CheckErr( nc_def_var( ncid_, NCCOORDS, dataType, NDIM, dimensionID, &coordVID_)) ) { - mprinterr("Error: Defining coordinates variable.\n"); - return 1; + int local_coordVID = -1; + int local_ishuffle = 0; + if (intCompressFac_[V_COORDS] > 0) { + // Coords with integer compression + mprintf("\tCOORDS will use integer compression with factor %g\n", intCompressFac_[V_COORDS]); + if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOS, NC_INT, NDIM, dimensionID, &compressedPosVID_) )) { + mprinterr("Error: defining compressed positions VID.\n"); + return 1; + } + if (NC::CheckErr(nc_put_att_double(ncid_, compressedPosVID_, NCICOMPFAC, + NC_DOUBLE, 1, (&intCompressFac_[0])+V_COORDS))) { + mprinterr("Error: Assigning integer compressed coords compression factor attribute.\n"); + return 1; + } + local_coordVID = compressedPosVID_; + local_ishuffle = ishuffle_; + needed_itmp_size = Ncatom3(); + } else { + // Regular coords + if ( NC::CheckErr( nc_def_var( ncid_, NCCOORDS, dataType, NDIM, dimensionID, &coordVID_)) ) { + mprinterr("Error: Defining coordinates variable.\n"); + return 1; + } + local_coordVID = coordVID_; } - if ( NC::CheckErr( nc_put_att_text( ncid_, coordVID_, "units", 8, "angstrom")) ) { + if ( NC::CheckErr( nc_put_att_text( ncid_, local_coordVID, "units", 8, "angstrom")) ) { mprinterr("Error: Writing coordinates variable units.\n"); return 1; } - if (NC_setDeflate(V_COORDS, coordVID_)) return 1; - if (NC_setFrameChunkSize(V_COORDS, coordVID_)) return 1; + if (NC_setDeflate(V_COORDS, local_coordVID, local_ishuffle)) return 1; + if (NC_setFrameChunkSize(V_COORDS, local_coordVID)) return 1; } // Velocity variable if (coordInfo.HasVel()) { @@ -1310,6 +1256,11 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC_setDeflate(V_FRC, frcVID_)) return 1; if (NC_setFrameChunkSize(V_FRC, frcVID_)) return 1; } + // Allocate temporary space for integer array +# ifdef HAS_HDF5 + if (needed_itmp_size > 0) + itmp_.resize( needed_itmp_size ); +# endif // Replica Temperature if (coordInfo.HasTemp() && !coordInfo.UseRemdValues()) { // NOTE: Setting dimensionID should be OK for Restart, will not be used. @@ -1655,7 +1606,7 @@ void NetcdfFile::DebugVIDs() const { #ifdef MPI void NetcdfFile::Broadcast(Parallel::Comm const& commIn) { - static const unsigned int NCVARS_SIZE = 29; + static const unsigned int NCVARS_SIZE = 34; int nc_vars[NCVARS_SIZE]; if (commIn.Master()) { nc_vars[0] = ncframe_; @@ -1687,6 +1638,11 @@ void NetcdfFile::Broadcast(Parallel::Comm const& commIn) { nc_vars[26] = RemdValuesVID_; nc_vars[27] = remDimType_.Ndims(); nc_vars[28] = remValType_.Ndims(); + nc_vars[29] = compressedPosVID_; + nc_vars[30] = compressedVelVID_; + nc_vars[31] = compressedFrcVID_; + nc_vars[32] = fchunksize_; + nc_vars[33] = ishuffle_; commIn.MasterBcast( nc_vars, NCVARS_SIZE, MPI_INT ); } else { // Non-master @@ -1721,11 +1677,21 @@ void NetcdfFile::Broadcast(Parallel::Comm const& commIn) { remDimType_.assign( nc_vars[27], ReplicaDimArray::UNKNOWN ); remValType_.assign( nc_vars[28], ReplicaDimArray::UNKNOWN ); RemdValues_.resize( nc_vars[28] ); + compressedPosVID_ = nc_vars[29]; + compressedVelVID_ = nc_vars[30]; + compressedFrcVID_ = nc_vars[31]; + fchunksize_ = nc_vars[32]; + ishuffle_ = nc_vars[33]; } if (!remDimType_.empty()) commIn.MasterBcast( remDimType_.Ptr(), remDimType_.Ndims(), MPI_INT ); if (!remValType_.empty()) commIn.MasterBcast( remValType_.Ptr(), remValType_.Ndims(), MPI_INT ); +# ifdef HDF5 + commIn.MasterBcast( &deflateLevels_[0], deflateLevels_.size(), MPI_INT ); + commIn.MasterBcase( &intCompressFac_[0], intCompressFac_.size(), MPI_DOUBLE ); +# endif + } #endif /* MPI */ #endif /* BINTRAJ */ diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index de286dddd6..1fb906f15e 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -69,12 +69,10 @@ class NetcdfFile { V_REMDVALS, NVID }; # ifdef HAS_HDF5 - /// Set all variables compression level. - int SetCompression(int); + /// Set all variables compression level and integer compression level (and shuffle). + int SetupCompression(int, int, int); /// Set default frame chunk size int SetFrameChunkSize(int); - /// Create an integer compressed version of the trajectory - int NC_createIntCompressed(int); /// Write an integer-compressed frame to the trajectory int NC_writeIntCompressed(Frame const&); /// Read an integer-compressed frame from the trajectory @@ -121,17 +119,15 @@ class NetcdfFile { /// Check NetCDF file conventions version. void CheckConventionsVersion(); /// Write array[ncatom3] compressed - int NC_writeIntCompressed(const double*, int); + int NC_writeIntCompressed(const double*, int, double); /// Read array[ncatom3] compressed - int NC_readIntCompressed(double*, int, int); - - int NC_defineIcompressedVar(const char*, const char*, VidType, int&); + int NC_readIntCompressed(double*, int, int, double); bool Has_pH() const; bool HasRedOx() const; bool HasForces() const { return (frcVID_ != -1); } bool HasVelocities() const { return (velocityVID_ != -1); } - bool HasCoords() const { return (coordVID_ != -1); } + bool HasCoords() const { return (coordVID_ != -1 || compressedPosVID_ != -1); } bool HasTemperatures() const; bool HasTimes() const { return (timeVID_ != -1); } @@ -150,15 +146,17 @@ class NetcdfFile { /// Read - Set up replica index info if present. int SetupMultiD(); - /// Set compression level for variable ID (HDF5 only) + /// Set compression level and integer shuffle for variable ID (HDF5 only) + int NC_setDeflate(VidType, int, int) const; + /// Set compression level with integer shuffle off for variable ID (HDF5 only) int NC_setDeflate(VidType, int) const; /// Set frame chunk size for variable ID (HDF5 only) int NC_setFrameChunkSize(VidType, int) const; # ifdef HAS_HDF5 /// Set desired compression level for variable ID. - int SetCompression(VidType, int); + int setDesiredCompression(VidType, int); /// Calculate integer compression factor of 10 from given power - int calcCompressFactor(int); + static int calcCompressFactor(double&, int); /// Increase variable chunk sizes int NC_setVarDimChunkSizes(VidType, int, int, std::vector const&, int, std::vector&) const; # endif @@ -166,13 +164,15 @@ class NetcdfFile { int NC_defineTemperature(int*, int); inline void SetRemDimDID(int, int*) const; + int compressedPosVID_; ///< Coordinates integer VID + int compressedVelVID_; ///< Velocities integer VID + int compressedFrcVID_; ///< Velocities integer VID + int fchunkSize_; ///< Frame chunk size + int ishuffle_; ///< Control integer shuffle for integer-compressed vars # ifdef HAS_HDF5 - std::vector deflateLevels_; ///< Compression levels for each VID - int compressedPosVID_; ///< Coordinates integer VID - int compressedVelVID_; ///< Velocities integer VID - double compressedFac_; ///< Compression factor - std::vector itmp_; ///< Temp space for converting to int - int fchunkSize_; ///< Frame chunk size + std::vector deflateLevels_; ///< Compression levels for each VID + std::vector intCompressFac_; ///< Integer compression factor for each VID + std::vector itmp_; ///< Temp space for converting to int # endif std::vector RemdValues_; ///< Hold remd values diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index ccb196bc4a..2d3b6b3f05 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -207,8 +207,11 @@ int Traj_AmberNetcdf::setupTrajout(FileName const& fname, Topology* trajParm, if (Title().empty()) SetTitle("Cpptraj Generated trajectory"); # ifdef HAS_HDF5 - // Set compression levels - if (compress_ > 0) SetCompression(compress_); + // Set compression levels TODO have ishuffle option + if (compress_ > 0 || icompress_ > 0) { + if (SetupCompression(compress_, icompress_, 1)) + return 1; + } // Set frame chunk size if (fchunkSize_ > 0) SetFrameChunkSize(fchunkSize_); # endif @@ -216,12 +219,12 @@ int Traj_AmberNetcdf::setupTrajout(FileName const& fname, Topology* trajParm, if (NC_create( ftype_, filename_.Full(), NC_AMBERTRAJ, trajParm->Natom(), CoordInfo(), Title(), debug_ )) return 1; -# ifdef HAS_HDF5 - // Set up for integer compression if necessary - if (icompress_ > 0) { - if (NC_createIntCompressed(icompress_)) return 1; - } -# endif +//# ifdef HAS_HDF5 +// // Set up for integer compression if necessary +// if (icompress_ > 0) { +// if (NC_createIntCompressed(icompress_)) return 1; +// } +//# endif // Close Netcdf file. It will be reopened write. FIXME should NC_create leave it closed? NC_close(); // Allocate memory From 4c8ffc8ec51e2f3326a7d8bf453a55c526fb6c9f Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 6 Jul 2022 13:17:43 -0400 Subject: [PATCH 124/191] Hide some debug info. More feedback when writing compressed traj. --- src/NetcdfFile.cpp | 20 +++++++++----------- src/Traj_AmberNetcdf.cpp | 5 ++++- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index d9f8a07d1b..3082c5a0b1 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -326,7 +326,7 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { mprinterr("Error: Could not get integer compression factor attribute for COORDS.\n"); return 1; } - mprintf("DEBUG: Integer compression factor: %g\n", intCompressFac_[V_COORDS]); + mprintf("\tCoordinates are integer-compressed with factor: %g\n", intCompressFac_[V_COORDS]); needed_itmp_size = Ncatom3(); has_coordinates = true; # else /* HAS_HDF5 */ @@ -805,9 +805,9 @@ int NetcdfFile::NC_setDeflate(VidType vtype, int varid, int ishuffleIn) const { # ifdef HAS_HDF5 if (deflateLevels_[vtype] > 0) { - mprintf("DEBUG: Setting deflate level for '%s' to %i (ishuffle=%i)\n", - vidDesc_[vtype], deflateLevels_[vtype], ishuffleIn); - // TODO shuffle integer types? + if (ncdebug_ > 0) + mprintf("DEBUG: Setting deflate level for '%s' to %i (ishuffle=%i)\n", + vidDesc_[vtype], deflateLevels_[vtype], ishuffleIn); if ( NC::CheckErr( nc_def_var_deflate(ncid_, varid, ishuffleIn, 1, deflateLevels_[vtype]) ) ) { mprinterr("Error: Setting compression for '%s' variable.\n", vidDesc_[vtype]); return 1; @@ -861,7 +861,7 @@ int NetcdfFile::NC_setFrameChunkSize(VidType vtype, int varid) const # ifdef HAS_HDF5 /** Set desired compression level for specified variable if supported. */ int NetcdfFile::setDesiredCompression(VidType vtype, int deflateLevelIn) { - //if (ncdebug_ > 0) + if (ncdebug_ > 0) mprintf("DEBUG: Setting desired compression for VIDTYPE %s to %i\n", vidDesc_[vtype], deflateLevelIn); deflateLevels_[vtype] = deflateLevelIn; return 0; @@ -897,12 +897,10 @@ int NetcdfFile::SetupCompression(int deflateLevelIn, int icompressIn, int ishuff err += (calcCompressFactor( intCompressFac_[V_COORDS], icompressIn )); // Report ishuffle status ishuffle_ = ishuffleIn; - //if (ncdebug_ > 0) { - if (ishuffle_ == 0) - mprintf("DEBUG: Integer shuffle is off.\n"); - else - mprintf("DEBUG: Integer shuffle is on.\n"); - //} + if (ishuffle_ == 0) + mprintf("\tInteger shuffle is off.\n"); + else + mprintf("\tInteger shuffle is on.\n"); } return err; } diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 2d3b6b3f05..35167b3b52 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -502,7 +502,10 @@ void Traj_AmberNetcdf::Info() { if (useVelAsCoords_) mprintf(" (using velocities as coordinates)"); if (useFrcAsCoords_) mprintf(" (using forces as coordinates)"); if (remd_dimension_ > 0) mprintf(", %i replica dimensions", remd_dimension_); - } + } else { + if (compress_ > 0) mprintf(", with compression"); + if (icompress_ > 0) mprintf(", with integer-compressed coordinates"); + } } #ifdef MPI #ifdef HAS_PNETCDF From 2e1a7d39ecad1b5ad72f0d0f72338994d5f3b069 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 6 Jul 2022 15:45:45 -0400 Subject: [PATCH 125/191] Make it so that integer compressed coords are written last; is in line with original order variables were defined in and seems to compress better that way. --- src/NetcdfFile.cpp | 125 +++++++++++++++++++++++++-------------------- src/NetcdfFile.h | 13 +++-- 2 files changed, 78 insertions(+), 60 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 3082c5a0b1..eb65dd3ef0 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -1066,6 +1066,35 @@ int NetcdfFile::NC_create(std::string const& Name, NCTYPE typeIn, int natomIn, } +/** Set up given dimension array with dimension IDs appropriate for + * atom-based arrays for file type. + */ +int NetcdfFile::set_atom_dim_array(int* dimensionID) const { + // Setup dimensions for Coords/Velocity + // NOTE: THIS MUST BE MODIFIED IF NEW TYPES ADDED + switch (myType_) { + case NC_AMBERENSEMBLE: + dimensionID[0] = frameDID_; + dimensionID[1] = ensembleDID_; + dimensionID[2] = atomDID_; + dimensionID[3] = spatialDID_; + break; + case NC_AMBERTRAJ: + dimensionID[0] = frameDID_; + dimensionID[1] = atomDID_; + dimensionID[2] = spatialDID_; + break; + case NC_AMBERRESTART: + dimensionID[0] = atomDID_; + dimensionID[1] = spatialDID_; + break; + case NC_UNKNOWN: + mprinterr("Internal Error: Unknown type passed to set_atom_dim_array()\n"); + return 1; + } + return 0; +} + // NetcdfFile::NC_create() int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE typeIn, int natomIn, CoordinateInfo const& coordInfo, std::string const& title, int debugIn) @@ -1163,62 +1192,24 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Defining atom dimension.\n"); return 1; } + // Setup dimensions for Coords/Velocity - // NOTE: THIS MUST BE MODIFIED IF NEW TYPES ADDED - switch (myType_) { - case NC_AMBERENSEMBLE: - dimensionID[0] = frameDID_; - dimensionID[1] = ensembleDID_; - dimensionID[2] = atomDID_; - dimensionID[3] = spatialDID_; - break; - case NC_AMBERTRAJ: - dimensionID[0] = frameDID_; - dimensionID[1] = atomDID_; - dimensionID[2] = spatialDID_; - break; - case NC_AMBERRESTART: - dimensionID[0] = atomDID_; - dimensionID[1] = spatialDID_; - break; - case NC_UNKNOWN: - mprinterr("Internal Error: Unknown type passed to NC_create()\n"); - return 1; - } + if (set_atom_dim_array(dimensionID)) return 1; + // Coord variable unsigned int needed_itmp_size = 0; - if (coordInfo.HasCrd()) { - int local_coordVID = -1; - int local_ishuffle = 0; - if (intCompressFac_[V_COORDS] > 0) { - // Coords with integer compression - mprintf("\tCOORDS will use integer compression with factor %g\n", intCompressFac_[V_COORDS]); - if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOS, NC_INT, NDIM, dimensionID, &compressedPosVID_) )) { - mprinterr("Error: defining compressed positions VID.\n"); - return 1; - } - if (NC::CheckErr(nc_put_att_double(ncid_, compressedPosVID_, NCICOMPFAC, - NC_DOUBLE, 1, (&intCompressFac_[0])+V_COORDS))) { - mprinterr("Error: Assigning integer compressed coords compression factor attribute.\n"); - return 1; - } - local_coordVID = compressedPosVID_; - local_ishuffle = ishuffle_; - needed_itmp_size = Ncatom3(); - } else { - // Regular coords - if ( NC::CheckErr( nc_def_var( ncid_, NCCOORDS, dataType, NDIM, dimensionID, &coordVID_)) ) { - mprinterr("Error: Defining coordinates variable.\n"); - return 1; - } - local_coordVID = coordVID_; + if (coordInfo.HasCrd() && intCompressFac_[V_COORDS] == 0) { + // Regular coords + if ( NC::CheckErr( nc_def_var( ncid_, NCCOORDS, dataType, NDIM, dimensionID, &coordVID_)) ) { + mprinterr("Error: Defining coordinates variable.\n"); + return 1; } - if ( NC::CheckErr( nc_put_att_text( ncid_, local_coordVID, "units", 8, "angstrom")) ) { - mprinterr("Error: Writing coordinates variable units.\n"); + if ( NC::CheckErr( nc_put_att_text( ncid_, coordVID_, "units", 8, "angstrom")) ) { + mprinterr("Error: Setting coordinates variable units attribute.\n"); return 1; } - if (NC_setDeflate(V_COORDS, local_coordVID, local_ishuffle)) return 1; - if (NC_setFrameChunkSize(V_COORDS, local_coordVID)) return 1; + if (NC_setDeflate(V_COORDS, coordVID_)) return 1; + if (NC_setFrameChunkSize(V_COORDS, coordVID_)) return 1; } // Velocity variable if (coordInfo.HasVel()) { @@ -1254,11 +1245,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC_setDeflate(V_FRC, frcVID_)) return 1; if (NC_setFrameChunkSize(V_FRC, frcVID_)) return 1; } - // Allocate temporary space for integer array -# ifdef HAS_HDF5 - if (needed_itmp_size > 0) - itmp_.resize( needed_itmp_size ); -# endif + // Replica Temperature if (coordInfo.HasTemp() && !coordInfo.UseRemdValues()) { // NOTE: Setting dimensionID should be OK for Restart, will not be used. @@ -1419,6 +1406,29 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC_setFrameChunkSize(V_BOXA, cellAngleVID_)) return 1; } + // Integer-compressed coordinates + if (coordInfo.HasCrd() && intCompressFac_[V_COORDS] > 0) { + if (set_atom_dim_array(dimensionID)) return 1; + // Coords with integer compression + mprintf("\tCOORDS will use integer compression with factor %g\n", intCompressFac_[V_COORDS]); + if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOS, NC_INT, NDIM, dimensionID, &compressedPosVID_) )) { + mprinterr("Error: defining compressed positions VID.\n"); + return 1; + } + if (NC::CheckErr(nc_put_att_double(ncid_, compressedPosVID_, NCICOMPFAC, + NC_DOUBLE, 1, (&intCompressFac_[0])+V_COORDS))) { + mprinterr("Error: Assigning integer compressed coords compression factor attribute.\n"); + return 1; + } + needed_itmp_size = Ncatom3(); + if ( NC::CheckErr( nc_put_att_text( ncid_, compressedPosVID_, "units", 8, "angstrom")) ) { + mprinterr("Error: Assigning compressed coordinates variable units attribute.\n"); + return 1; + } + if (NC_setDeflate(V_COORDS, compressedPosVID_, ishuffle_)) return 1; + if (NC_setFrameChunkSize(V_COORDS, compressedPosVID_)) return 1; + } + // Attributes if (NC::CheckErr(nc_put_att_text(ncid_,NC_GLOBAL,"title",title.size(),title.c_str())) ) { mprinterr("Error: Writing title.\n"); @@ -1511,6 +1521,11 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t } } if (ncdebug_ > 1) NC::Debug(ncid_); + // Allocate temporary space for integer array +# ifdef HAS_HDF5 + if (needed_itmp_size > 0) + itmp_.resize( needed_itmp_size ); +# endif return 0; } diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 1fb906f15e..1b148b9548 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -118,10 +118,6 @@ class NetcdfFile { static NCTYPE GetNetcdfConventions(int); /// Check NetCDF file conventions version. void CheckConventionsVersion(); - /// Write array[ncatom3] compressed - int NC_writeIntCompressed(const double*, int, double); - /// Read array[ncatom3] compressed - int NC_readIntCompressed(double*, int, int, double); bool Has_pH() const; bool HasRedOx() const; @@ -159,11 +155,18 @@ class NetcdfFile { static int calcCompressFactor(double&, int); /// Increase variable chunk sizes int NC_setVarDimChunkSizes(VidType, int, int, std::vector const&, int, std::vector&) const; + /// Write array[ncatom3] compressed + int NC_writeIntCompressed(const double*, int, double); + /// Read array[ncatom3] compressed + int NC_readIntCompressed(double*, int, int, double); # endif - + /// Write - define the temperature variable int NC_defineTemperature(int*, int); inline void SetRemDimDID(int, int*) const; + /// Set dimension IDs for atom-based array according to current file type + int set_atom_dim_array(int*) const; + int compressedPosVID_; ///< Coordinates integer VID int compressedVelVID_; ///< Velocities integer VID int compressedFrcVID_; ///< Velocities integer VID From 040910d14e1b6320712beb7318af31a621791d24 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 7 Jul 2022 10:40:48 -0400 Subject: [PATCH 126/191] Add compressed force/vel read setup --- src/NetcdfFile.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index eb65dd3ef0..d2b8e8ca7b 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -99,6 +99,7 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(NC_FMT_TYPE& btype, const ch #define NCREMDVALUES "remd_values" #define NCCOMPPOS "compressedpos" #define NCCOMPVEL "compressedvel" +#define NCCOMPFRC "compressedfrc" #define NCICOMPFAC "icompressfac" // CONSTRUCTOR @@ -341,12 +342,50 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { if (ncdebug_>0) mprintf("\tNetCDF file has velocities.\n"); has_velocities = true; } + // Get compressed velocity info + compressedVelVID_ = -1; + if ( nc_inq_varid(ncid_, NCCOMPVEL, &compressedVelVID_) == NC_NOERR ) { + if (ncdebug_ > 0) mprintf("\tNetCDF file has integer-compressed velocities.\n"); +# ifdef HAS_HDF5 + // Get integer compression factor + if (NC::CheckErr(nc_get_att_double(ncid_, compressedVelVID_, NCICOMPFAC, (&intCompressFac_[0])+V_VEL))) { + mprinterr("Error: Could not get integer compression factor attribute for VEL.\n"); + return 1; + } + mprintf("\tVelocities are integer-compressed with factor: %g\n", intCompressFac_[V_VEL]); + needed_itmp_size = Ncatom3(); + has_velocities = true; +# else /* HAS_HDF5 */ + mprinterr("Error: Integer-compressed NetCDF trajectories requires cpptraj compiled with HDF5 support.\n"); + return 1; +# endif /* HAS_HDF5 */ + } + // Get force info frcVID_ = -1; if ( nc_inq_varid(ncid_, NCFRC, &frcVID_) == NC_NOERR ) { if (ncdebug_>0) mprintf("\tNetCDF file has forces.\n"); has_forces = true; } + // Get compressed force info + compressedFrcVID_ = -1; + if ( nc_inq_varid(ncid_, NCCOMPFRC, &compressedFrcVID_) == NC_NOERR ) { + if (ncdebug_ > 0) mprintf("\tNetCDF file has integer-compressed forces.\n"); +# ifdef HAS_HDF5 + // Get integer compression factor + if (NC::CheckErr(nc_get_att_double(ncid_, compressedFrcVID_, NCICOMPFAC, (&intCompressFac_[0])+V_FRC))) { + mprinterr("Error: Could not get integer compression factor attribute for FRC.\n"); + return 1; + } + mprintf("\tForces are integer-compressed with factor: %g\n", intCompressFac_[V_FRC]); + needed_itmp_size = Ncatom3(); + has_forces = true; +# else /* HAS_HDF5 */ + mprinterr("Error: Integer-compressed NetCDF trajectories requires cpptraj compiled with HDF5 support.\n"); + return 1; +# endif /* HAS_HDF5 */ + } + # ifdef HAS_HDF5 // Allocate temporary space for integer array if needed if (needed_itmp_size > 0) From 178d373db297d2ebb97aa413f6e8722a6afa8f57 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 7 Jul 2022 10:55:15 -0400 Subject: [PATCH 127/191] Set velocity and force read/write. Start setting up velocity write --- src/NetcdfFile.cpp | 88 ++++++++++++++++++++++++++++++++++++---------- src/NetcdfFile.h | 7 ++-- 2 files changed, 75 insertions(+), 20 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index d2b8e8ca7b..ad66d4721a 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -1046,9 +1046,23 @@ int NetcdfFile::NC_writeIntCompressed(const double* xyz, int vid, double compres /** Write integer-compressed coords. */ int NetcdfFile::NC_writeIntCompressed(Frame const& frmOut) { - if (NC_writeIntCompressed(frmOut.xAddress(), compressedPosVID_, intCompressFac_[V_COORDS])) { - mprinterr("Error: NetCDF writing compressed coordinates frame %i\n", ncframe_+1); - return 1; + if (compressedPosVID_ != -1) { + if (NC_writeIntCompressed(frmOut.xAddress(), compressedPosVID_, intCompressFac_[V_COORDS])) { + mprinterr("Error: NetCDF writing compressed coordinates frame %i\n", ncframe_+1); + return 1; + } + } + if (compressedVelVID_ != -1) { + if (NC_writeIntCompressed(frmOut.vAddress(), compressedVelVID_, intCompressFac_[V_VEL])) { + mprinterr("Error: NetCDF writing compressed velocities frame %i\n", ncframe_+1); + return 1; + } + } + if (compressedFrcVID_ != -1) { + if (NC_writeIntCompressed(frmOut.fAddress(), compressedFrcVID_, intCompressFac_[V_FRC])) { + mprinterr("Error: NetCDF writing compressed forces frame %i\n", ncframe_+1); + return 1; + } } return 0; } @@ -1074,9 +1088,23 @@ int NetcdfFile::NC_readIntCompressed(double* xyz, int vid, int set, double compr /** Read integer-compressed coords. */ int NetcdfFile::NC_readIntCompressed(int set, Frame& frmIn) { - if (NC_readIntCompressed( frmIn.xAddress(), compressedPosVID_, set, intCompressFac_[V_COORDS] )) { - mprinterr("Error: NetCDF reading compressed coordinates frame %i\n", set+1); - return 1; + if (compressedPosVID_ != -1) { + if (NC_readIntCompressed( frmIn.xAddress(), compressedPosVID_, set, intCompressFac_[V_COORDS] )) { + mprinterr("Error: NetCDF reading compressed coordinates frame %i\n", set+1); + return 1; + } + } + if (compressedVelVID_ != -1) { + if (NC_readIntCompressed( frmIn.vAddress(), compressedVelVID_, set, intCompressFac_[V_VEL] )) { + mprinterr("Error: NetCDF reading compressed velocities frame %i\n", set+1); + return 1; + } + } + if (compressedFrcVID_ != -1) { + if (NC_readIntCompressed( frmIn.fAddress(), compressedFrcVID_, set, intCompressFac_[V_FRC] )) { + mprinterr("Error: NetCDF reading compressed forces frame %i\n", set+1); + return 1; + } } return 0; } @@ -1134,6 +1162,21 @@ int NetcdfFile::set_atom_dim_array(int* dimensionID) const { return 0; } +/** Write - Set attributes for velocity variable. */ +int NetcdfFile::setVelAttributes(int vid) const { + if ( NC::CheckErr( nc_put_att_text( ncid_, vid, "units", 19, "angstrom/picosecond")) ) { + mprinterr("Error: Writing velocities variable units.\n"); + return 1; + } + if ( NC::CheckErr( nc_put_att_double( ncid_, vid, "scale_factor", NC_DOUBLE, 1, + &Constants::AMBERTIME_TO_PS)) ) + { + mprinterr("Error: Writing velocities scale factor.\n"); + return 1; + } + return 0; +} + // NetcdfFile::NC_create() int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE typeIn, int natomIn, CoordinateInfo const& coordInfo, std::string const& title, int debugIn) @@ -1256,17 +1299,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t mprinterr("Error: Defining velocities variable.\n"); return 1; } - if ( NC::CheckErr( nc_put_att_text( ncid_, velocityVID_, "units", 19, "angstrom/picosecond")) ) - { - mprinterr("Error: Writing velocities variable units.\n"); - return 1; - } - if ( NC::CheckErr( nc_put_att_double( ncid_, velocityVID_, "scale_factor", NC_DOUBLE, 1, - &Constants::AMBERTIME_TO_PS)) ) - { - mprinterr("Error: Writing velocities scale factor.\n"); - return 1; - } + if (setVelAttributes( velocityVID_ )) return 1; if (NC_setDeflate(V_VEL, velocityVID_)) return 1; if (NC_setFrameChunkSize(V_VEL, velocityVID_)) return 1; } @@ -1453,7 +1486,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOS, NC_INT, NDIM, dimensionID, &compressedPosVID_) )) { mprinterr("Error: defining compressed positions VID.\n"); return 1; - } + } if (NC::CheckErr(nc_put_att_double(ncid_, compressedPosVID_, NCICOMPFAC, NC_DOUBLE, 1, (&intCompressFac_[0])+V_COORDS))) { mprinterr("Error: Assigning integer compressed coords compression factor attribute.\n"); @@ -1467,6 +1500,25 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC_setDeflate(V_COORDS, compressedPosVID_, ishuffle_)) return 1; if (NC_setFrameChunkSize(V_COORDS, compressedPosVID_)) return 1; } + // Integer-compressed velocities + if (coordInfo.HasVel() && intCompressFac_[V_VEL] > 0) { + if (set_atom_dim_array(dimensionID)) return 1; + // Velocities with integer compression + mprintf("\tVELOCITIES will use integer compression with factor %g\n", intCompressFac_[V_VEL]); + if (NC::CheckErr( nc_def_var(ncid_, NCCOMPVEL, NC_INT, NDIM, dimensionID, &compressedVelVID_) )) { + mprinterr("Error: defining compressed velocities VID.\n"); + return 1; + } + if (NC::CheckErr(nc_put_att_double(ncid_, compressedVelVID_, NCICOMPFAC, + NC_DOUBLE, 1, (&intCompressFac_[0])+V_VEL))) { + mprinterr("Error: Assigning integer compressed velocities compression factor attribute.\n"); + return 1; + } + needed_itmp_size = Ncatom3(); + if (setVelAttributes( compressedVelVID_ )) return 1; + if (NC_setDeflate(V_VEL, compressedVelVID_, ishuffle_)) return 1; + if (NC_setFrameChunkSize(V_VEL, compressedVelVID_)) return 1; + } // Attributes if (NC::CheckErr(nc_put_att_text(ncid_,NC_GLOBAL,"title",title.size(),title.c_str())) ) { diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 1b148b9548..640225a3ec 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -160,12 +160,15 @@ class NetcdfFile { /// Read array[ncatom3] compressed int NC_readIntCompressed(double*, int, int, double); # endif + /// Write - define the temperature variable int NC_defineTemperature(int*, int); + /// Write - set dimension array for remd vars inline void SetRemDimDID(int, int*) const; - - /// Set dimension IDs for atom-based array according to current file type + /// Write - Set dimension IDs for atom-based array according to current file type int set_atom_dim_array(int*) const; + /// Write - Set attributes for velocity variable + int setVelAttributes(int) const; int compressedPosVID_; ///< Coordinates integer VID int compressedVelVID_; ///< Velocities integer VID From b9266e5d875f2284dc3f25e3bf7557652bc54716 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 7 Jul 2022 10:59:47 -0400 Subject: [PATCH 128/191] Set up write for compressed forces --- src/NetcdfFile.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index ad66d4721a..706e910c0b 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -1519,6 +1519,29 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC_setDeflate(V_VEL, compressedVelVID_, ishuffle_)) return 1; if (NC_setFrameChunkSize(V_VEL, compressedVelVID_)) return 1; } + // Integer-compressed forces + if (coordInfo.HasForce() && intCompressFac_[V_FRC] > 0) { + if (set_atom_dim_array(dimensionID)) return 1; + // Forces with integer compression + mprintf("\tFORCES will use integer compression with factor %g\n", intCompressFac_[V_FRC]); + if (NC::CheckErr( nc_def_var(ncid_, NCCOMPFRC, NC_INT, NDIM, dimensionID, &compressedFrcVID_) )) { + mprinterr("Error: defining compressed forces VID.\n"); + return 1; + } + if (NC::CheckErr(nc_put_att_double(ncid_, compressedFrcVID_, NCICOMPFAC, + NC_DOUBLE, 1, (&intCompressFac_[0])+V_FRC))) { + mprinterr("Error: Assigning integer compressed forces compression factor attribute.\n"); + return 1; + } + needed_itmp_size = Ncatom3(); + if ( NC::CheckErr( nc_put_att_text( ncid_, compressedFrcVID_, "units", 25, "kilocalorie/mole/angstrom")) ) + { + mprinterr("Error: Writing forces variable units.\n"); + return 1; + } + if (NC_setDeflate(V_FRC, compressedFrcVID_, ishuffle_)) return 1; + if (NC_setFrameChunkSize(V_FRC, compressedFrcVID_)) return 1; + } // Attributes if (NC::CheckErr(nc_put_att_text(ncid_,NC_GLOBAL,"title",title.size(),title.c_str())) ) { From eca37f407e224866e9f5500eb95352a33773b96e Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 7 Jul 2022 11:05:50 -0400 Subject: [PATCH 129/191] Enable using compressed force/vel as compressed coord --- src/NetcdfFile.cpp | 22 ++++++++++++++++------ src/NetcdfFile.h | 6 +++--- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 706e910c0b..a21688f15d 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -398,21 +398,31 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { } // If using velocities/forces as coordinates, swap them now. if (useVelAsCoords) { - if (velocityVID_ == -1) { + if (velocityVID_ != -1) { + coordVID_ = velocityVID_; + velocityVID_ = -1; + } else if (compressedVelVID_ != -1) { + compressedPosVID_ = compressedVelVID_; + compressedPosVID_ = -1; + intCompressFac_[V_COORDS] = intCompressFac_[V_VEL]; + } else { mprinterr("Error: Cannot use velocities as coordinates; no velocities present.\n"); return 1; } mprintf("\tUsing velocities as coordinates.\n"); - coordVID_ = velocityVID_; - velocityVID_ = -1; } else if (useFrcAsCoords) { - if (frcVID_ == -1) { + if (frcVID_ != -1) { + coordVID_ = velocityVID_; + frcVID_ = -1; + } else if (compressedFrcVID_ != -1) { + compressedPosVID_ = compressedFrcVID_; + compressedFrcVID_ = -1; + intCompressFac_[V_COORDS] = intCompressFac_[V_FRC]; + } else { mprinterr("Error: Cannot use forces as coordinates; no forces present.\n"); return 1; } mprintf("\tUsing forces as coordinates.\n"); - coordVID_ = frcVID_; - frcVID_ = -1; } // Get overall replica and coordinate indices crdidxVID_ = -1; diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 640225a3ec..47ac34aa30 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -121,9 +121,9 @@ class NetcdfFile { bool Has_pH() const; bool HasRedOx() const; - bool HasForces() const { return (frcVID_ != -1); } - bool HasVelocities() const { return (velocityVID_ != -1); } - bool HasCoords() const { return (coordVID_ != -1 || compressedPosVID_ != -1); } + bool HasForces() const { return (frcVID_ != -1 || compressedFrcVID_ != -1); } + bool HasVelocities() const { return (velocityVID_ != -1 || compressedVelVID_ != -1); } + bool HasCoords() const { return (coordVID_ != -1 || compressedPosVID_ != -1); } bool HasTemperatures() const; bool HasTimes() const { return (timeVID_ != -1); } From a3e381566b0780c3ceb29663bd02aecb6e37e4a3 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 7 Jul 2022 11:21:02 -0400 Subject: [PATCH 130/191] Fix names --- src/NetcdfFile.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index a21688f15d..9d6956dded 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -403,7 +403,7 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { velocityVID_ = -1; } else if (compressedVelVID_ != -1) { compressedPosVID_ = compressedVelVID_; - compressedPosVID_ = -1; + compressedVelVID_ = -1; intCompressFac_[V_COORDS] = intCompressFac_[V_VEL]; } else { mprinterr("Error: Cannot use velocities as coordinates; no velocities present.\n"); @@ -412,7 +412,7 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { mprintf("\tUsing velocities as coordinates.\n"); } else if (useFrcAsCoords) { if (frcVID_ != -1) { - coordVID_ = velocityVID_; + coordVID_ = frcVID_; frcVID_ = -1; } else if (compressedFrcVID_ != -1) { compressedPosVID_ = compressedFrcVID_; From 15a154d7eabff5454b28058a20642f2201efe52b Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 7 Jul 2022 11:31:23 -0400 Subject: [PATCH 131/191] Test run with velocities and forces --- test/trpzip2.ff14SB.mbondi3.nc | Bin 0 -> 793100 bytes test/trpzip2.ff14SB.mbondi3.parm7 | 1463 +++++++++++++++++++++++++++++ 2 files changed, 1463 insertions(+) create mode 100644 test/trpzip2.ff14SB.mbondi3.nc create mode 100644 test/trpzip2.ff14SB.mbondi3.parm7 diff --git a/test/trpzip2.ff14SB.mbondi3.nc b/test/trpzip2.ff14SB.mbondi3.nc new file mode 100644 index 0000000000000000000000000000000000000000..8a1d8b7394282d9ea3a2a8345fea6e0dfafa7ab3 GIT binary patch literal 793100 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 TunG8_m(W`=-?W#u#4h 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

7s7lKG3Df7sV)U!-uA4prNm! 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

rIF;%}jMf8Byyd zrp=%R$II}*RjiSD>%IiPzLr_(PPgOSgNjUV^isylMjDSfd4`KNyoJZS@&dWX2Kn*2 z7nwKrlZ2TEThRQYv2yIb{W!}bP1IiD3a)x4va>QLgRwuJ@{?w6z>=xmOm^aOuGmh6 zpRZI5W{;`DvRUm6({zD5Hmt>+%_!vRtD2eqU8PKc>M%GS@I`dN#2Mo;^6Y=rGjXl# zV!S^!2fSS3%!|kdesVrUk=EakNk%Z;TiZpW!|mzk!Gnkh@8+2iF>pjhf-V(y+j3XE zp}Aw*St;cvs(t4WirBP+I;$(tnG2qv?d2M1NAV%L&3TO#*zZmicFLpX@rHD^iqK0x z8k30e!)zZpM)&-8mn7XtqaCCAQFi+Uc=wzm$@#bkUNP;c66*r!^!@vMgY#Py96^yy z?h~l`+5z5rv!`lt_i8GY$)HNFW;E7(I_eX$HVx~NP)GOym_zT9`Z!^q_og`&dpm_b zdmx4;uG>hO@_eaYF2LPaK2kgR1S@sbEi@rho{#v_0B!jQr0)}qOeU`;7fj07&q*`T z@tGY&*W?XNf9yz;R}PZnrxb`nK`6Y}nhG0YR9UNV^{Opr+Gxu~S(ximjN2pzXv}Fv zTJyOUC8n)FMZaUw?SU6);`a-v;*&MHy?p@A9#{$|%Fd+T9=YgMZFp6fyhBxZ>_VE_ zQG@W5Lsp7yn`ls0I$CYvWu@>(hW{R;gEp>}BiABhtVSPrf&2#dkWa6nd$UV<1x7B ziyLW6eS>1-x1+wp2BbikkvRL}1AJtq28z0$Bjd2sG&)k9&OdVpiw;`lSv;KtwwRoYYT#WGB)P%lo7x?1WJQ8TX8tr?T0xP5Ik?4a1 zDlAw`QRL{h{nEbqNI|D#Ma&Cn z1T*}bb_J^aHxWg=dI2Rx(sX#eJ8iQFBG(@HBAlNO8@%G_nkSFYMZ*>J%EMe?|Lh<2 zpH>dfe)HxhJW52fHp{~oA^YIsCx7YI#!IMs`Xh2e&W51zCT#b#Syr=k;$ZTUBD#L3 zCONz%7M`0r#AnsbryYit?6(uSM9%3J`nqH-WzW9{?Jo;S^2yoI%HS)UEuTlPacao& zjSQM<)C>F5+WF{xKS+k%Vw7m?4xHDngtK^MmO6Zan(Cj0-t|o+bb1F}GYiqt)(dFj zepOUuK1l5vt%%}|-!#y42m5idRh8uBpCmb%(2&3s^uEha=<^n#ABWB$m+8({cJ!1|0V!gd;-xqPR!(R#BKQHbF@C)g_epIt^(wYtgKV z7L*ZX4gXxb0vCjr@r$1Rg&n4E=!wDiaGUQ1T4s2YUZ3AgPgV6;>F!8Jo0f#3V{fKV z2k#~DsbK*8-t&_*2p-FB5<`Ex>fk$#b*!eH44vmGPQ^D~M&iSFIZg3$_UF)clJFpo zI=8>CN_NkOxoO{F`PXLnVC*%juyOzn%qT#?P=+sGu0xA||F)VkK7^k7U}I(UL>5_B zw^(TmxK@c3YNPPAV~CyIFFJeuZyJjRxYFq>L0Lg0ta;^y!o_TabHtl4D&3k!C@7-1 z+tLJ&9YOl%{#0q*IgUX4BotdZ5uTeJNb`Ofk(g3b#uOX2z} zJCf0uuZPh=uN8DpcLfethIC5VU!+)d2(36eK&B2ap`-94+Wj($E&ezj?Wu`GE;CBt z)J?ld!OIHvo=i7cccTUxsg0)dO`o8R9+#??Ro&xzb<)X|p~I-R(Uxi@uO$yg86&sx z*WhLOjY!lihb}6e<6n<9AnzA@lH+^aXjf1Q)t+*lj3%CFa6Zre-jP5J-^9~{Bi9JA zZGd%)gZQWR=@rj)AZ~ANNAJg!L1Y#R?<+r~R$c2TtEWa~JmuJwCArjEKZH-|3nG$1 zPVAKbYT4%D{UqJ{8Ju1#JTHc#g{<&GR!7+Y8TzK8&Bq>~!j(eqd!Q?+G1^KN`E;Vt z_$Ge(nq%nJwo&Yz{2kQr-BGA@VIi8I{uDkhm_^MqzEFubM#$i@1nEjmAw$y9lsPkt ze)}?srnv3pAGY3seP)%gRq86rdNBot-ix=|ptqhLlMY355@c!8?@lBm8b^!1RMWmY zSBPcMO7y+h7WK}W2G@2@q#J+e(GMAm;QaS9$^N@r$gs&vYC63d)z>=F0`*`xKQoG$ zdhbT+N9}}tkth^9c`EwW#?!zS7FCEA5#ay`!SSD|L4x4kr)MIi0AbJD<^{{V?TM) zQNKmxVXLV~+*eF6?^{Umw;FG+-9mupTO{ca%-{VU&39D1K+66WykqYgX2G{NyGvB3?+@bq0H~?-fb2Z$?sPx7pESIdbX8ailh54hXk=Kyr{0 z9GuaC$Mt6l=Dit>x!KP4H$EkF>@_6r{2of!+K_qU_ruPEuI!{IJBh|Wp;P604Q^WZ zkQkoLI~VB?E-K1HW!xXYCzwr6y8XWh0TTA1oPJ7iT8Kd z#<{_Q|GZfht@ZHpR-xznLniC~(;5zcx&sR;yV&BfgYeZIC%AjeEjZh<3x24~fR1%J zaODg;BxW@LeFAf#y}Al)5SN7$f?{CwX&LxL$kQ07UkIm;`VR9mzq2n^S3~sRg<#&B z+4b&i?77)hFx&4g9KEuIUB3A~47)MJwpz%rYQr9|oJ@sF)!T_@wgZeh7|1@<4-(9~ z2PSWEV;f2~6DP}=5FTn~&p!?(6RSL-v5-+7x@Z}R?DAs=a(A$svJ6OenJN3XN}H|G z8YHQsvY@QC96x^D1`>Fr15Q1&nok-xo7~v9n~msj zuMJ8N8S`M0UVjpJeAvyGtnv`dyFxH;1AfejK2lhq3Io42f-u!4;^niCo&4q|d*Z=& zGTC<+3{M|s6SnRU%p2hMj}+MSv;!pXUMNo5YRx8+QW9u%fd5=~nms%FC^1()$#*@I zXNx{x5X?J+=!VG&=KYOjeB~osVze6Cc0v zUVC?vVc~r}z~UPJ_C_2Pa}+wUo{EG<`HzBmFK2_^OMz*-UXr#m1uQx0$sVklO}Z8f zznx>lf$#Pmq-3O+-Ek}se+xQ5^6!>`>GKlU(~1owdFUK_<=Hp(b=x75aW@0XFW4g- zLB0^o`wdXJ@6B=vV@On7C2x{42z9@v5Vz;S;6#=Yv=g$c3%cInm3JNs<}D+1h6s*7 zwg&pw#E{#c!`OL3r_XdZebP+r_(h__P*%tc`10F>DYab0K52VH9&hO4b4+Kz4IZON z-)?ulzTr9Cp&v-z4QwRZ?ib*R_d*Yfi8vqSF&Y{V%@NGIpYJRwW4o8Urn1)`5=oD8 z=vZ=)s!87_+WJP&P}D?Kr+D#xU9x~!6%yAZ$W}ia;4L<`lcjNM*hB7j*bvo&L~Bni zRCJ*1-+PKgUwDt!-de({o;2m78a6h{;W&0b z=C^KzUYFmnTV~&69se3aC&@Fcq<93c6Uo4o?a$eS<0Af|_D#XOCqdb(pZWV~8t_)# zQ*iX+PQkqM;fp69ScOY*{FnZE`0I56AF5i%A3sn59|9rUJmW7PFSY@`k60p@_YJ;k zvjY<(>|F=SJjU{RHHoZ|P8Pe!#a-xY9nYRCJIx;$y@-8mxtl#38PA_SbQqg= zod)d#H;BXvPhhe`Fz=A7eDCftd~;wlE1zslM!Oag@vD~XgSSciK!=cZt|1Q8)|L?V zxn99Of?vcmmhWox*MvBF>k*!Nj}PjBaH-`R~9yCUJ{1)W6us`zE&WW|6+o z>QV=nnUMv4iL-EXSt#GLPlFBU(1A;TZ6Lb(T9t*`<6!#N4l?e`D_+tf8D4gt%V&)D z5zKoCmIc_6$JJ6Ob5HXxek7K|BFmZJIq>kTf={c zYst>2d#txn0qmV$Pm;PVLGPsrf_Yyj8}?iT4>dm^tt36+zCIOXIDbQ`m%PcivhSj3 zCS5S^OZ=7JHP}sYBeFOo%eOUza>0Fqc~>|xd1_m+&w^-V*6GGh*UV+wPcIV8Tb4ER zTFOYv-9SpG#1qDnB_&qFZpJ3@|m4lJ6OO{}+M68TJ1$WL8MBx5YeD);m77O)_}bS{~n zy$2RO3nCXb2z%Z=sxUsbkQ~SyB8l}P7@OTf<}GL-7Z0kyq}XI~eDE^af1nC3AG=6+ zRzD;Q<|INB_?he;NfXR_Je=~}j|6YHCgf)XKufQ+q(t>DiOIhXZTMkQ+x5TM=E9zL z#3xd<`sc>6BE^_D4*cD>r++w4O^SPSX=u8UURo}zBU9}63 z5tZ{=%R}(;ttXjNPdOu3o9+8}{l%Y9{K@B*>pU|}4?RlhW4?oXTvOf8G?h|oT&WL?Po9L}tm zcQ})iaGcIOYbN+(UloLYM3AHtC=kcSHbpgr-0JGz>2H?Jp&QzGjUFNKbQj^Ftx6uxQC}knCqu_ zcJ)a+JR(8C&$SQmbN%OB%;RJ{%EB1XnFb*8Y9jZ0M$35_RY3^hZEZ&xGBm zzZRz^zGfUsr9f#y2Vm7NVTCqLY#h_fbkY#Kr^>i8J8mtb-LsJUwD=>?>au4HY<=+| z_Bq!V;LCaq=JE>!Q(5P0T}k*FJUKT4=*f-%+e-sj=9dR!TK1Fqxbr?U?z#&6-UZ3- zFM*A`3HF+E1BkkWOpPZ?7$0sWNJ^CCewy#YrMG0cR{EMX^8uAI8Rj6#MO@UDavR^! z_=e5rq*b0$zQRi9JM$XbPhf?uk)rxvI$YALgF zzMdZdYj0m>-quCo<=+25^pZYNP?sdHw(BS3A5dngIPW`W9ngZMglvHMKe5O=W)Ty; zKo26Ld^cQb!G!dU0Tk6f69p{QQ}t*GJjYEV%04%@x+1NEXr zR@S`(`&6Yf{5E5-_Ov{HBY33_N&`(NUvmRbWPtj@PB7X_gK6LV3mlHg2NNS}I2|b` zFvo8$mh*2g-`nvQtkuur983%mNisCf^4UBuc5-56*AUEpuNTUwNl65BM}GGoPL*1GQ8=tl0CF@##tB-mdk+ zv$B-Ak8znyNc3ptn5ifCBHITW{MBJj|GbPk%V< zadl-(Yz;Hz(F%TYmjyT<9L0*wzQ9Eq3N>nfsu=(Ne(=n2BDUTC5bPN)1h)cOz-i;T z;IsP|QGGxJciPPfL>b8moyHd`>n!KuZAo(&DdY>{E7if{nSVfQLI!j4vl^b47tEDE zt>a~*9XYRqn8~`rSXw6ZRsO0i$Mfu)fxf7iJ6AZsNjeR3{SVhLR~?nG*@bJo;#O7s zpuR%Xv-%NZA8H1ysxtu4t_JNr7C`FgW#0T^eC51)Pb}}T7>_Ty$~3FXa^cmP%=N6z z;6|(hNcQ{=CgN!r*3RU-GiHLHzyhDwd&HdCVgNQ?3&mFL8Vok~<~E)`g)3bigATO> zY~|cnxy3kv*_fEdT^YZNS181+Y-|>vlk$X1IlYlLh%p3d#&3j>2nC9mk@HYlZJ}6fk;sjyV;T3rZ`a zfWfnyV0mCESgp~<+C;ST;$Lqv&)sua4Viij(L(Gqda3Bd`EE|KON)^RYvn!^j?5~VEDTR;U zR>xLxmaIj{5oW@J;EIUOYn)B)R=jCfDLYr;H#o5;P{@MjG3wcggYyNi%azBAvj?!1 zMpI=>WD)mUd@DW`q|Z697FfLY5I*H{1$fo!GGlK`WBCw$<|I(zUigLMNjLPkxldUj zaaEBU7<$Yc*Q#b3&-ZeoEAzptzqMGTxF4TB(aJ<*`Ecpyt;XKKId(bYI()nGhU;6fljoV* zFHg9%;rGCDktsn+QO^ZykP45mI33>+n6yr0YIT8ooiUwRO#fL$vk2n8qJQ1Ls?dggdB!Pg<@a4Z{NlSk>ZRQ0rx%Xn3gfUYp z?VscU4Xs^V-@{hRwx)C--g%Py?E0PA`P2efz{B8BVkf@dt%+aWvIbgG-CTrHJeZX% z55z5dnRb)?T%$`7C)Fq1!!|HjbK*9xbIxdR-KEX4!!4Lg|9usxZJ2^@^iEk{f~dpfA&|x&TM2EAnc7pZdvjc zOqwrSxkmEq!haeMnKL;TxtC#@{Nf}taOD0WVEfk(AbNz6F0}z6%UC=+)0+=Cq6utw zs^aOYwcOhig`9VS1XHfIj5*}61ltc7;#0F^E3~B#0+TWsrcKwCN%a4UZRHmLZ)O(r zy=;rn@14q=D8InmRd~ZrdYjE;1OT8B+yX*6(y;VYMc^?g&hDHwor~-$W%V`|u$oFv z;P|~v?D6|P(A3Tq6^~rO4U6Y8+W!t<^<)=z+@P&xhf$&Et;QT|=B37X{@KI4l^?<} z!g-DTlif^fQ8IqJ;w59O<&AUFOPK3nml)?y5m@F}E_aN&zBpBFW{0Eh0g zcyz}MX494hTv%TVmn;{<-Rlo#zK+_>)Re`7@Mde#h4xHbK6ecpmZE_R!lH2G6(MZL zyO_7`+0SqBt41L^7bC;iYjoGs9vb!a6770sh^i$*$eE-nIOw>5E(^*>*I&J%R~Aj< zuA42Q+7B^0&P<|?Z#U6d`cu$W!EFw%UPZl6HCTb4dQ^GI5PG%i9W^LPW2bZ;BC$I1 zZ1>nG>N;r$iBe!`=dPD1W%)u_+QES&VNR;=0M109}3qG<})(?T&=6}}lQU}~t3?|BsY3LuL*A?tV6UKsY&7{*T9 zM%yBU_dZQwUwf=Ois`vVo}MYE^Q1?hRrUb!UMJ){J`v8uRefNKtq(l5$Q<5MNP{1p zVqy9EHeTn=Ak>rk%pTQPM6X!t!r=|EOjmyd+Ijp5tt&e~Eo(oZ@XmYG7XBs;d?S1i zsmE^B{l#6H`&2Xr+pAz!99 zW=kp>I9kSAa}Gt=^>5F4x>ifN^tG(RYGR95nTRKjp*LIffo7Y zq4-0VC`50NNOeqr#R>+bvQe;sym!^kK_BF_1t6(;uy9rKX}8()HLN=78?vOE%2G~x9jGbAixp*)ugdP?6A z6;2R-jXQs*Mn_z!`nfTrTC4?K4$6mV8Ee?k`!@tsa zgM5BL^bZRQy??vm?t(pZs`p;le{U?+$Xt%<8>dt0g^}!Fz9fD9xE(dN?uEyv-bcmn zbopHivdMC15Awsz2LAme^okcJA+ZI0pyTB=*nFpq7h8UjUObXb!%H8K%)6Vb=JDgK zl+PWYwH@`vuWzL~(`bFe|N-@Img|P0?GisMJ7G2s~MK6(??CWp#G+@agc*gS& zKkckIn)W&XKGmy-Hj=G$L)mTA@i33XF4Q5*7wuq&vJI_tw=wXT*Y!&et90k*E zedL$!N}_K!NJ=AMjA736~fAT z6b70SGdfHIoVT!=st(JYCmW9MgXL4F!m#XzROiGdq|(=m&g^wWQ&MKp%p?8iT$u+N zW1R&T`h4Xr{13x-Azn0I> zxLE=U_rFSneF~4vu_#NiDvOLw|ZVkb$RH zsW@vvPfQf7J39oa)$D^3E^lE^(;@cjN@J?JVigJbkcdz0U5sMoK2lb<4OLNJB)QfY z`OP~)4}WpPN&b(i_JAi+-ld8h*cvkD`Dik7z>|J0JHp;Jut)m>{g8df2sBI2B4tf; z+0ISwWQ)lwXm(hN8YDkPt|x7)mTNpGV!ScQW%SWc=uM|d-y!8wJ|jC{3y232kjPU4 zUD(k?WW&~yclN7ExchbbVOu(#bz}nHL$9L#-^FnJ&`N4peUHfzR513-6pD_ zTZGXkp8I}PiFc`pwE35 zQTK^{=qPk>yUO*^52*>z#L1N$M8aA5p+agl?jL$kE#wy{{s-spZY5KO8_>k#cS*vw zDJb$#I_hyXr-4WZRoFw~^GXZB^<(LraWZsB-2HV+?W?OnK z<~mGqzD7-2XV7u~r9dr-9q9E#h_s%}MgJUgtt9GdP>l5)_(&y^u6g~N7Ne8s(6ip%yR>%MB1{Tsq&ux%_x*oZF^*t3!vZa9! z%}}{m8C|mQG~IPD3EqjB%Pub7fX4r}r&I6xSm`Fmk{7zhx29KS|)Cx+0xtnKLP$K&+wae(|4juMyJ)o6e8H58h}vn4Mt(sAE{NtH#n zNJ7b1Fz-7^vF{>p4@VKObqkVQ4fz@^cfRAUf?(d=ykq_>Vxy#nv}dsVTAS&_?%HJ} z6?6eKpA@{jNytBUy~Umy3rL#NJtQT}p-X((Kra3Mfz&irL0FhP$pPMQP*WR^`&%fO zcZy)%T5SJ=HG~YfAaTcdD6z_n%#(70od?#llLj=1rdS_r%>6Cw&3z_@XJ5c4m9Fe( zrwwG8ybpZyz!vKDOe7lNOW`F_$o`XRR`n>NPR2zfDmPkRL z!#|+C<|No4u zgEu=dm+1ZRro=LZKd&&2syhy%88>HvH7?nt65gX_3qqmiqx(cLD2JAun+QX%O$O0c z|ETZk4t~^^&3xRQnRJw27Wiv>lTTTuBbxVQ+z~aG&&Z!mi*8lpw8^%7Y6GRA7PrW| zsv&%)(Q0aMAVa!eMDt}jpG5O6peDiR;E?s=PJDwFmG4dy&HFyBw5p~P7ysbDY`Z1e zh$4+xau^zEMAPFI_B7vWBUIH~N2>x;X`yNtxWcWCV=9wv71ds?f_1{6+J2$D_6x(A#t0 zi{?Fv1eA2r_(Kn2O0g>r&ex^^rw742?VIGU?MfP8Jq?CDHKX#0GSvLl5E!=du;{>f z^ibq?=plQRMkJi1`boZc-n1OiyahVE!;5$wI4YWV6m{);MT~q~Me`m-mrh*Cg-pIk zCGJ6Vn{7LlQCmzy4~-Ku(rr}hS2Z1$vxJ)NZWPVCggS}0TR(k%QAzcCQn@OCsz=|Y z!%N1HZ-*4Cz$TG z^1@FC&0+EZ18MAeHS$WkiaxKcr)RF`PL5;ZQt!6;kW_R+zNR3`u zxq`l!)QC@6E})f;6GijxB~jrXqIr9gnng3Yp?3qAikCKN+Io*Li#*z^_yFgo`_fUm zp0xA%9vtslOMEx?(!V}ce26xyPf5H=P8;8Vl`Goe zz^pl>uCO1LKal}@FFBE#??JGsp_$j%A3)yUx(2_!+)JW{Z6^mKeBqsGqv+u5pCnPe z2zEri7tQ-MsorFcWP>POv_+rD*rdVxX}@W#!v-QR_D8p!7(nO$N#(x%ZG{EL-_fYU zPQ3PwCU~s6k^KEt12l||z|@{((rf4~zTX~$J{6v1altP9dX5Rq)2rn74RyhfHgo*) z#e1RZuo1*^#b|J&wiXd;A9^1Gyv5ReD zeiiZ09Zc*3{y@i^yFylx3;6m@H1BHh{nK|AA0k~3oq8nH#3D~xw#x)&d>TlV-*yod zZY|7TB2P|gUgDDj7sJbY*3wbWRda+}iU09qH!O#*GpB=(77KWp&Ra-+ z7a`TP79{%2Ab5P&V!F_$ka)Z(g8Kq%Mf1KuRZ?Z)MQyP+WA$V@IByXoV|%DdtU7gF zUMqV4S{gwfQrpB7c(Jjco?4nhW8Qv+iE-QM_M?kws?=08?;+IMXdFH5_W`D*w9;U1KN5gWp%h-ia}EW=}7FW}cL`PpTEodn}(l z>6&QXx};p(V5nd0OOH&wOG@kVfwSumS{6#kuBVgv=8LCj-4SIPdR-s3Z@)_S933w9 zn24Vxo_kWxt(_j(_W*th%o5FeI6Zo#4ZdjkPOq-4}ANu5`YfjIAqb z@D}xH+|ePM@yJoLh$(o4)jQ8{1+5+6Pg5H43v?lK78R4N@0BGf(G!G9I1Pu@j3*Wti#ZP_GsY{Pb=YO~*T=88m z+>k`_&e_NDp#{N`)~4H>s$rQBxatW=t=%uYd1;GHOO=6Ldy;@_8o1i=zkuC=Mxt)L zh1Z?9ggbXfO==uHSRgqVS*SoQQNKyIH0@jByi@t#?@Ua^LwvY=hU3mf|i&XG1t{7YF7{k3VeTX;i+9TbYlQ<&}0f%<)#e)~A^8dZ?AQN?bfqS>ARK~;}>!_XNe)u~9kLba8aLN)%Z{bFu z@L&NqHGs#pL488?r{Q>pc@}qTxEHR_GZucYF9f@a-r!RO9b9?JYybz=0o@_5aq>rJ zFvsvDPI-P8%=dH_rug2KTIB|TiSY-3{~LLdTeXR!XavY{)dYk7Qf|<^P@s4`gj=KV z1drYl>YzMnCrB#u2Gf6Vc$U2yu%%8QQY)03+dmi_R_qsk4xEDVp!q__%@4f&j*nOM zZ1X|lR((n2>FxM@&M&O3A|o;1Gln1V^b0Yc8IEOByd|fve;4xOE(=kH&%vf5We{61 z9G{FG3tCQ3=1zqFN95Bf@LaZ^dnx{2XP#~ad+tAwdQMU$gZ-PiU}G0abiIPGb;BDh zr?(J{+tlT7)isYRTdEJ%K8WG!oR4!&t_Hv=G)~H50)Tot;Fkuj5~k{yNE#}7CFi@J zfOCoe@boi z{~iQ92mxb;J`}V;7ce_ifHl0QOpBCs0*_5nVXaN5!zQ`W#8iC0ioEbcnxk|;@Y5*Z z+_JYwtIkM-ME}i1KJgG%*(S@i?%pcVY;?vy?hL_)P26z)p z5YHv9?gQ3*C64<~pZ6~!S)a8yC^y860aCkOnARbcu9at=g z2QCw>IrSc6N$H?oY04aDZmi66qOTwWaA+SddwZJ@H|*Kf`tnPho9lk?WI`Zz>?;R> zUJF2>4+NK<*?`V%dXjriDnhu@GH?hLabLEsmF8#N#J=07a{68GL9)_faNAb}JW>9{ zb#xEKla3z1gEGa}g(IcHh+B8KoOqL~IXUm7_kMX}o4LVYtkF>6*sfY((3i2oXXCHj z>D*8}=ngF%-OQl?9_iFNmEyJA?_gGFbL{7uHyk z!rgs6QHZ!_!kzc`1Vwhy;BZ7T(75*)+rN4zB;>9JeOd=`>E*gzmEw+B{OgugE(>M!;jqjQA-)rQi_vlkU4Zuvr^i%S;k%?23R; ze;#bzpaWtpcH`yZrtilaZeZK%q0*M7<9OSg*JP5o{rs)_7?wVoFHHGSgEyrIV#$Od z!iL}FzS1Z~ED!>@8e?gU=q^%uKL^TEDTnGF>{1zY_3ozISb1&*&YtjGu#Y`~hiDk#1lc=4=J7GkBOpt-uW*q| zTGlMwc%gz-#jGtHw+*Pw4HK^Xxz3$D=)|=(8wfiw1n=A0u#1%^_I{bp1^j+2lvZ zJi%0PGxvV93Ets4O%fh{j~}vk5>Ef{3&vUpg6J~)^5QBtOsAY|jY zT%TeMuAj1#yJ)lt#5|P)I>!%4?5A%4CYzKcuS`_I*04hE(vE33JyVXDqz(kjA56i+ zoOOU6&EyVh$K!Urt6*l)A?cgUV#!dI&s@COC$T82nan;l8ti?(7_7RR0cI3$mi!1i z3SyexVN;4o6tV#e*3ZEvmu!V+FB*k$DK*^f&OO|$v)y>%lg~Il?}kIc@d#iR*~#60 zbCyfpAB-I&l^{Om0r&6hY3_o>E$+}5TQ0A7E3cumldITN1|(K_V2@@TRtX*qHZK3c z2Zfy!xSf0X(e)MlfDea3&c+a&SepS1Eqx^MW>0a0$#Ll^qhxGb_lTDr$a7|k{Tyz; z*2UwCZMd1KjJqBC04K%125a=Xxq=nN_(gXX7t^x}@AY2FS=%tq@B4K;DC)J4D0bZ> zW!wOn9u@fK!TVsy_(IGTuLg%Kt~tcba>VJ8+a(V=AA!sJqj;l-08F2p{(2Uc#mp^Se8r2B)eZC_p(3pxJ z_*d}`|!EQ#4`2MYi$$TNbPTj&<5jMb|aX)5GE& zZf{Bro4xKYD!#OgomoDf*qO#L{R0Rcidw}Mwj5?AYYfn8$tV=QekR-U#?F!Vy2Z3_ zgrPQ1A7&x%1OD_%Y1#_$M*T;VxCJ@2i*J{p<9VM@rTscoxp5{Mc{Kr@y=aPZ?MF;G)^6B^;)%xcH`)1?dAY3#jbH0O8$tv(pX_6@xSJACfagOWrP zYW)_T`1A@*w~RoA8GY>F>kFu;;5#2v^NLM6?ZQR}RMSff2cq1{czD`nG9UFo4W(Lj zkjoDaF)0{_+}~ekU&MTg`ZRa6`8q*AGGDT(lM>-(u#e`xCWp^Pq>yXHd721yIS~#c^zy zJPgm)VH;F}sLzG1@W@6(TyELKo>y5x&9Q69w@NG2vB#3xX`Sbj_p4LyPZ3ZzU=JMM z(!~ly@3!CLg@y+fz>kR*WQEIVnj+(j;){Osi_>=T_j?@qgOf(U5y5ZJzWHu+S?p`J zO1z2xyZS4OeqV{MsGVoloImv{s%F7^9eK+ObE}n%O=)CK7YnbSiCTCymO9=8y-(;v zGgIOm)yAc<6|-HLvgv8g#B45;OB@ORwtcG(e&I^z-SC6wE@{L42gP0DYlqR8oFbGR ze-Rn{oWM@rFh!YtKau+Me8{D)B$hX>!!~ihJNdsiFr;!FBMlks!nE})W%e#d)0C@d zO{ojom$I69k28b~-7@gwbv;^lKogmM*oQtGb%*!OPw{g%DY5ah`k35-JfzXPiAxZ- zBD7Y$qT$PO85fXHo!n*))5mkLH0C9g;{8lrB^AC%JB|W9mXq?1k*s7-mZPp*D?2b# z$I;57966PIbJX3`Q7v1djrMInMZG+hG2;Lw7C&+_ZqqIUb4QJX*V^Jyg7R_r?B07A zHTxq=G#Y^7>+jNvt>P!n8NaIyj@(09D;-e!zLD_g_uDK#aSTn0Yd~RBblHGMKGg%g ze!(7b>)AZ42YsFPn0_6pME?!>!(z0K!GT4-XlUOuzUQwp{Ni$ze^+;vX>A`#qf0b# z)*gLyaHkG)jB-GA;xnoNHosA@;V%{z+KTf>U1kP-9Y}j%6I!xh6`dk|N`FSzvrnB` zd}U)Q3f#O6&8-*$=Zbx&)vep14AZ23pFcu}hGA@M$|ST%DX@BujyYA8-AW5m52Ie~ zM{IocG+MaJ5Fw8(u<^xY5rZ>l6MYtTBW~0SsUp&lIzr5mm zj-6)Kll;hw>t5t-6?)n`e3vpFiC9kNkNg711pvRUyKY}k?mXng8* z`o#MmeZTZHvv9w~-oaliW2Yba?p_7^wjuaVwHRfjoP~ad@s4YI3|X|QHL_U0n`NwZ zM8lc}vChc-hm#R(_rC}auX3i2WDYv| zE0kvI-{Se@ZY;B37oI(Fmwn&257lnfgZJ;H(7nZ!+5a0%*Zb8W8nVVwU*RDCUU3`C zUszH-;EgeLM4O>^!BT#SEXI;V3h_#Zms` zDHI3nVEyL;wtT<1UGHmwf>u6dMWZI7?>5TSCU#5dT=IuKef|XgO8Wy3_q)QhzBf#N zX$l(jnqyN#_A#56{j_A@S@L#bCo{5)u<2e4mT~kn0+Y9nF;tbPr9m@QdG_hi|md00xEJ{qIo|+ie*0h_nNbmzF&c47idEH`CF*9$`;reIG-P- zzk-fdw1)T3xZ;O>{nRq+FMJ?0^Y2zQ(bH09_9LOZKWr&o0E@#f@x!Nlf$zNgVfvf#y!S0t`1hFtEUtgZU%VR*UsR8P z|MmZYrXFI>`}!H^erY#!8PI`b=7hq{+hd{In91<2k^vl=`Vk&T7Q5N)_d;c(Leacm z!wb2+e3KJ`=)*Lap&r6}MJ(e_7<<9opmeCPXbnGCk_V#;WBF%XA3t)%I(X&AV(6q< zOV<~DhOxW#`8(={qIn0wBR(?x-LnqV!)g|UyMy?glF?L4%qrVd2Jn&Z7>#K!7R~!H z@4eHR=9W+4`&;Aq8w0P>qq2o?-~@f5Cf*r@rv8BjsR1O-@HH*n@`>MHzLsPjSw?S< z`^B5>cu4em|4?E!fImM>i>f`> z9HzdD<9QwVd3@a6?R3-zHSpK5gio1&Ry1!1+%fqfpKP(-bf9sV@i6Q1gl8 z-KkT2rj7x%HI&rHN|7F8Y zx_@Vk*#FuKjRu+0;}gwkzG)*=RcfSFn*(W~@-6=Ur9c{`E}^w-88mq}i^lD5qFr9o zp<&=D$~}K0n)fc~NyMD@&_a6uMxkilP2~5iIrQsQd(pgC5#K@D^zyxRFg5Zo9{H`8 z-j?izx#wC*z`3`gdEbI59o0V<;+Iz-X|aSMAR9j@+6hvgek(;Z_(^R}Z-hRWpUu5c>3yO&f3s8RJO zQ#w37oP3L2N2f2GLSxm{NaFNzy6N8my6>J7wW`dgJ~_$sNb4$cZRP~>5){*14R<1U zFN-9u6!*NB&ZL@$_mZ+>N|fA-p>kiWX!e(6DjPh2_!PO&oP}3NUF!^Ltom9sZ+~iZ zM2mVS@254p&WU^8LrACj1<|~BP|NumRHsig?+J*4{6EC6y+AbYSaFlw8m~C~liu05 zn(j8)hM$xiWAa-8so@=DB7KCf%1XXpcJzk0rC-u?7~-dIvVr%@tqvNN9s@;wO-(;9$|bw~(5}Teu-hWSPp+tE4ID9bs04_9|b%xlv-@ zzP=Of>|BZCO9}DyeMkSUd%}nO2T0qAbSC56!#8xR;@XG*u|fQBKJ2OkFnqXxwxshs z-Eo@_dKyW)r+LB=+2?@&zZ_bnSjlhv?<@YW)sXI#js_Me_~^+A2eNA?7ZP&3Z{D4Za3Vj%tZHZwqj6{$n`b?-VV5`47(< zZVQ7J>5g(mp#=5-Z*d*?dwH&HFFu%zeba zb*p6q^INIPq9@S3<`5g9qDaSl)r6L#lST8MN_J^q1LW~Cx-9o0U-Q(IOkHn4o#I{i z9cT|9IcYQ1i*<*ZbAR!F2FK8ee(_M>>=3Vgm?H<|>!JF;U-;Acy(A4RgqmCqe<1!Q z_R0!`UJJ!Lps_X>Km7rHR~zzc)zx|TZ?B>IS6^PaE0Gv3n+(&}m+~ox-;vWMS4Hy{ z|DR0RPwJ{VVfm{sU~kP$(Y&|7ru#Q|jdfqh`|LpY?X?$)(zGB44-JNQ?8eZ+x#c8r z#6sAycc*CHQ%QB8E0PVIOc(iE6B(zU@P1MVjh&WD?K?szMc3V=8+-lfU(;ne-{d zi8=3yVAR!U%AfL}@^O(u+3ABMe|;HPX7-R@uqldq7Oe%t8n<&J!;I)2n`kbrzz0q& zG$a1SuZZ1pedu^1R>-=v2YhYxfvaz2kxwgE@ga!~(CNcJYGQj&S|O~08J`DGoq> zmq*%XepBVDE0RMMK4=0}Ck0RJ@$wViXzJFdq}Akx5N?o&OseX+3u`;EU*B3}*W$n% zFIvyFuUIRZ_blEnScy|Ta}EuOs^L3+DS-PLK}gQ~jd07ijvu=(623kb2tKHp^RjYl zk^Iipr20-Oi9V|Zj|Y#S3)dYa9zPesef}<@c^{-I2?$;s@taOxHHZ#AX9mdxLRF$q zQP*W|upDO42pmssL;K;yre1n#krIvR>V}C2mecJ?5}JB$IZVj$rPdln^z_;^n0D*{ zjZ=uAfgAt9Im$z6%=Z*J#VQ6)niNjAwEPy$TUIo0vBP8yN4;~_LWeEaX{Es&8lNvf z=bGL0=J#M~?I?vlJLl2rnc|*A=qnyCbEc%&ny!Hlc-}CaUZ~BWGe2$M&%hAcZrLcB zw+5fBPiR?Z1u1`Zim#7Up-1dgNomg(;GAec%R&;#uD8j2^PX^8mpX)o-t>X(L8Wxh z@y9fPmB61*lPNcE96b{42|w+8NwdvQ(xWF0;ftO-^y&s#diq8MQgREVCstjN=@kQ5`GFj4a>NyUFzVsJSJN_{t(BCP7=1YQK;4S3z909>W&4iw9Bq*rEybANk+IhWjS;J>Z~jG9p_RVjZ2&S=$QY0OYAfAlu) zx{j>yxG#oFZyd_IdSTpcCIgxq4e--dPlN-nHei|hO#thB05N}l1@TC2BxVD!0c)fS4G~BR=gB|6< zwN*pF_=Jy~t}MjiCl=$80|NP=GI?SmTEpB!Q?D!tvBIP6G50wZfX(0hg-`W8lJ+;V zfyM^L=>RWW+3PB_yIJA2F^*jO%0gV?pD6TazX9_m=;D+&*SOVe9$0+t7ue=lh*Re% z0j;oXoLOuNmZfM5o~84zp4xpAOc2c>V!(8A*7yZb7(Nc1__7zsbjM1P>IVRInNV(R z*+o1i7+=Z%><>~uWdmRykF6sL!Q}PXVAqdX+^nw-AX96j&_AdXSMDgrS_(2ek{#{P zI$zBCDra*lE63o|<=^nM%eI`yx_Dl}SeZ;!5R(ACv67xY4MM>zGa)g40@yivH;5~H zfpfrA@bp|g*FA4L88C1%STg%M*DKvuKdXzDA?!_b+<~`m1rS+ znCS_|_Rn?jmtV_858nzlcaEHv_0NKP^m{s(rr9e!r8gY-t3KkFuLaVao8!3=cFGQN z6U#v9*M)fbd3|ucxf*;MT7@?b>g5{Ybl^SxGLie4D@X%Ez?1lFp)=SX*jj3Ff6Dr~ z=KRfI@3LFKc=^g++$%85 z;xisqaGnE)ZVUGryuDS^yZIqDWIJ6_+nh_kvY0V#X3!42^! z{BfEZQ05n4n|f^wS40wJ(>nsVw2-^l0Iy1`S4k7j)?u5P>tLLVpOC4yNs!4j6gn)l zxZ~d%g&sXsGW^S7Ed94q^8H&0=h+kjW+k2mdJF#pKQse?{+uqt4b2l)tdGPNGq2#` zwX)n}%eTV55tF#8F%Q7`JJujk%^PU8D`UG$)j~pCF|Y7C8Q&e30>VyUu;$5AJY~Ey zclz&a;au=yeEr5haA!v@cH5~bJ<%G-t+#$E6ulisWD+yLKM+Q8U3IvLdl1nLPXl&- z^!5t6;82!?&%LDawXLZP_~cs18SxW8k%^l-ZyP%2%)wRPt>ObTfLx6Tfcj;OQ% zd94@0hVf59!mn7oM?os69IyxeDe2Pe^ai}G&zx`@78AJ{F}SK`o^U>^1s~PCjqSvJ z^;qBnM%`M%6(lr*3ZLb`e8Ci8ac3r2sg=qvNgIM&2k+u$W~|^BY#4<-m(RqWBQ|ns z&#R;)U=gRP>mzgwxCWM&)#I|Z9^uzQ172m{3BmlO4e@9!lU)4z2-n9YaP9jPLEiqu zc;vg!c)8yvJkoDFH#2W7NHWyKH%=&lm>VC+zA+iX@5<-W&B@*P%pNK{>@ffn>a+yK zs*jwYDJKLJZ;-~BXy6*f2)y=|B0ux4qvZW(<*CoY76|+1=HtE1e|dwf43HMA!#O>h zjFD?P4s<#qcoeB)>leA$-6lnnzw{s;5E6)F`IyAB`Ng5CpR6g>)A;hly*RR#x|MP)Q!i9x?VszA&dWS=3HQ}6(TGN8;-MImk6H@ zRpT8d0mSc}E*~NGPiwW!=8nj<2@lhls4A!}whh;&T=+Aezd?94gB z^;?(m=!%8d>6sC??e=aCSmjH@Rz3p8i;f6iekwbRnzWMZ*U%B3>AjMSl@x)9;8(yb zU_CB$8%Sh>uSgSvmI$YP--9vk6S>bxFS*yw{=&=q^}@U!Zy_@~1#4gF6w}gxQkRcp?)K6SWtibkpBZ1fM?O;~T zdv0j@NU+`&VAGE;NZf9*W6A#j9@l(rXlC)(caS@jnVA%;r zg;Q_KaGqr@NE;G`Ulp$5GDl?MxuHYAk^WE9a=iQT(QYG2%`5{@@A!&0yc+@5?>tX* zY81I%%|tHg;|i>hd5X;abO1~`)q~}NCvuza>=(||#|cHLH^qLBKJL}Pxm@|>B_Pr* zPSUyOEN-T~d}4PgKGYh64`nHVYVJCjx1yZj_B$xB^Di<~>tgGA3fcaav8=6Q54th8 zgC^OP!q38V<`g4ErJp9T{3T7~RQ5YIrac3tj;UY^?S0rp-9ohd8AAJh{KvLUXm{k3 zwb`iWvZ&*nGPC%)9$eA0*rIg&$$wN`0ZD@(ffBdh^URV zx{y|sF&bewno5hbpuSxTiooumEE;WvZ0%Io z#{4fRZjCMC7vEr3dhIYg*Am9vE@H2zjD)|3oag_P{fAO)-_yEaUpA?y9=bX$rpgwT zw3GzF8=qU@lUaM<_9_i{Wio}0+y;1e;7T%VX)!cP^5W;u<5 zvdZdoHq5COZF_r?xqWG)57)@R&YOWeSp7&UvuYw+AE(dE=X#KsEBBB}$3uEP&qlbv zmogpCfpq*<%%p8DFo$!b4}=R1|=4ITOYpO|A;0= zq@!>#k`;&8(JC*Uk+?x;}sMT({B|w zSXaQI34__aXA{s(ap(G!OA;!&a*Yg^WYX!%M`_0*b)@8f9aWycgfxvbc*VirU~8NM zez^KJD_l~}_Me3G^5LB7DO+qEN7X2>OBtSylNP#FtKw2}Jun&RnQwrllMBF-rCaFb zkh|3e&egD2*u?+5p~PR=^N*^$dP=U;2Egu{so)`hk2*x2WTsO`kPF|!#a?xa%-vK7 z^eq#+gU8Vx#rbS`y$$-R;|W#m8&Sl}0N!SV8vE6$$eNe@M-Ru(LeeT-cx^^KbDZ%D zojG63vPSpuiJK0wJ@2IOh)of(-*N@%m@2`WGQ;6K^M!2Qu7~L9#VIr~=@4C3*%*FF$vI5x|dmv3;OW18bpV+rwqw$KnQS8-WeB!pPd|HGvzq#}?93DLv?H}Gr zXB>IP*3DQ%e<^me;Lpye0yHo~Te0`SXAaw)BjNs@*REFJb?D9?BUxzvF!an0vSdjX z>K@yR9D;8;s*)tO^xPe$^mh|*nzfrL9lnYbof50V94Ane@EV>-83SX7sIf`@3TS-R zQk1WD92uLRU?&p>VWA>oILj(C{@%iaDr3(JbA0IZf-i_}2 z?T71q#BPhuJ8WjV6}oHKiw4aLLm^r2EON0azN~+Y8Oc3DBfELzm8e8Pe;fV0>=OIj zBF9(p87R=%5zU;~1y_bE)7!<@;Gp=Abo=T?2>XKA7~6lyEe2K3-a43Sxa0*m+uTj)j*aQ8#bGp?GIRuaG|mgXzcUA# z52;{gu?yJNNsno1)@4`&_mH>9OGr_=hpXngqQ_?OFzoquSk&diCbJ+mkIQB%wPGIW zygoDWF(ZGLH^7W^vy6StFdoFTd-HG>w#)yy)y0-68~WW8=E{ApFoT-7hJ(HA&m9C(=C z^YNk`j*r>6O*2?GS;{io-Kc`gWY{m)3cqOhprhAQ;Ig(&j_bS6v3(mek;R6$?8Li? zXvDzVtmJPK`y-M6?q|B=bp-vgrkvTeTtU|? zwzFK5P-s=XfYi(TA*JUhX}n({3T`w-J?gG(ciCxl`CJYyknKm%JBgWo)MO)IF;Z8Y zTfJ0jL(g7kG(D;oIg45Pl{tB|@k5=XLTz-ljI|-mss01@C?186&#r`rf9TLatWvgOn!zDTrfJrvByXpWvKgIF-W(U}rqK7bHRx6u&`aK)umIg<=zdM!-IwdqYsE`&YYB0Ip3v7S3GAfOm%}m!AF(=OkSQWMb>wHRtFI$b6_P|a@quuA| z{nL%~-kLMaD#Zm^9^v`CQJyF&!<&?SUd*%y6tk`R$*kl-2FhCVnq3*@fqa~{Q2XO! zk2RuMaMPpPOO#f#_o@6rlNTMi&u*BB`8=0L5L2g1&6kR{Zc*q_~A54eQsf9TvWsESk3uxnt)IcWxoj&t@30dshpu6o*3p+Iz(E z)&lsX%2+h->x7QSu;pwQERLAZ51-Km->tHP>2GK7t8EDU+wce$KlsaEEPW1N&>r~T z&wbEzwHNHVCFZ;fs-cUl5|WvB0B#Qa3Ed1L;a!#caA?*bcpzy4d|)yPD(hK@=G_Y~ zoYv)=pbtd-AuwZ50`GNt0Dof43z)lo095eW!p{|-k4NY46wUiPKQiGlymC{_+^Of% z^=0KSHn^F;{YO(Y?=zx#7xQ;dNvX%g9S{aL@;O;Usa8WCv}p?A#YNqBgsQhMuf~28p71Tcy*||AzAWPiB$KEMt1x=sa)c zwv6b#Z=l4)gg?AIQ5<@pZfVG4K=kO?-Jel z%pvQk{j|lT`$Ga>78xm;_Zn*A+XsjE=Fwx%{aSGzM%Q!^U)dY<^6fy;yiehgYmbPX?=oV} zTZ07Ti+kROYGBIMDL5o5jt0cvg?Zz{$lnF`X~2ZXFywVJmA@EF&EE`!VIjLHtcjwB z_Gmy4)kGR`P@n4W9fVy{FNx-Tk`8~ehjsz#8+*}Lhc&N#a7mNvCIA549+w$mfed&srvo#f^81vFRvD3PP_ zB+*?;k9yTp&D3U6mQ_W`0}CqmU5{pqIeFQgF2qL~N^?BZNZqrg)Oc`_Xx?VjC}T7A zj@dzLf|MvM(I%ayOf>Ju)NWkue92%=Y( zKBX_F{lKTP@@b{}M@lw7BvIRUiRQhE)GP_(G`gah%95?5DcGMd+cUIRwGij}AEBd+ zlW6Cs!#Kfk9`W`0P5-X_$cMxzleX0JOvdRA-_Was>#`P$=6#G0%h>`9_m8G6hqv=| z+af-wGn95uDu*M^8iK7eZ_p~0Zhqt1-}wF0TzcWDEf{-BlRwNoq3H^T_<}BNzWFwz zC!cPHgI9$^m79Y^^S%SL$6nxtC zLuFJ*&T~KajZn#GXc(oEB1KyiGO}kWMWT$BvMS@bhosWbP7{?;6p_|9^?QDQ0k88q z&T-EBb6uBm)f}t%)dffGk)-&R`fCD)A3Z^@fKWqvxKS3{-NWaK7@wD!bS7; zC3{Z#0FsePSD($|ufLi~%s0nS+c;x>_pA^6K`SMyeOL*q+C1S0W^JSTe(T|c;WPO$ z$GS<(xL&9%y%2Y=*+dT8OoFOr27JuHpV&1z9=f`IgmPmQF+SW3H%Tn`b-!2gOMkD1 zOFQQCa?dxDN!IH`^ETyEGwsNknVUrO)`ZFt_2gFFD_Gt;5ro_i7tMPieBMyS4@aS- zYxg(!t@A4hS3W~xkC(%Hv&5YDnOP)BcMyCZ)GeC#AW{?b8cF##QWt+2GRRHr5{dgJ zns*727QdHh&Ui{4f1cpJNgl((^u3~a|K`WE3owHS{O zhKC|~Yoi1F@I((j>-q$;Q@NRc=o7j!q#LnN77ew=RB|VN( zq;dCfUZr6gmGN3jr7k|^>-*=C-y^iBjCLB(d^Ljd7jmfdAzR_Hv@OYB!NBU_!+B@q zMVA-*fsszzxe;6)-LI0t9kJAa`WMENZPlg3)V3K~W-Ji0E6YJ23xl4I-jVL*%lRPh zGHBb8M5mfBtgh6E70vrAm1{pksgrm!vfyd~Z0qcyItli?WV9h1*ltOE6Eb+8v2$S0jLGzH_h0b!qQ7X~ zE2-O_LU1qTHqwsOr%^k3kgey9#+-Gaa#vSLQVNl1-V#!H%L2Rk#UpdS4$`!8x^Tcd z1x>x`#TETa#JUKbY2qS&oiRKNc{2@nJ zqOp})x&22~it8bnnMLKp)TzUYx3C-$8Yax4vwiGg$%|+7w6mtT(cJ`-4tdg@(SvDP zhM4m{wVE3JjizT@U%|ttWNDm2Dc!MQiD=&90?WVxYBt*o&M|1DTO00+`S%)e&-*V8 z+h9l6o*D}+0^I3Uy>=R(8zSbsKhfI*d#N#B2fcQri017|;l3gsJ71yXGNbG4i+O%w zH7&aTn$G_+hA)^^LR+R+kbAo?@TZjbiRQhCl-HH=cg|g->BiqkiIxvo^y4Hg-M5zP z{gukUu^vQkC9kK!_YT9B-2&a8^@Rr1CcvN1n<%$Ho2DPEhTXwR^wf-x^jKaMd?PEN zRX&^Pnfe!K$kIfbUeNoQ~+hzSoV(^yPtE=^QI?zJCv1Zz6|ZNr~OBa-R6ytsb(HE+S^# zVL)kIB~iXOt~x3sxO&Mzi%^{WTX^DinqO+yf=`U;m0bVk!%e+&R7mh%2GZU_JnR<6 zhVvxAe2TqrZ4=_kcWZ*_3-yRb(iz_L%}p*{VqcxJ&P2Y#{sg6yPbbjq~pBKFGzt z86rGPsRbWLwR3+Srhtf$U?FCisZjlLBG52u;g@ce!WPcG72*0@LB-%%VBSBm2iD*Y zHnJ3Vg%{-Djk*=p+*%E8%GaAh-DY=SoKnC|Z3x5%^>5>8J9qIrtCEP`iXC8~jZkUj zbOLMMPvl-4v;gZfDzLO&rsUp(yFhVmJ*Q)H9G~uu7QO}eV`q(*q6^Q)7vIO=A&ZZJ z1z~e=YIi6XKlU&1+q4#h$jRZb5sSgF&y#V6e-!|?e+VIIkE)kBYk^t54d9snCvs6U zl)K^O49-NH0#Y5PFyLX9PS=&T!ie z4ucajE3mBhXnZICr|>pzFmH1sNTLOgfGEjWZcy9=d_waX_MbnVD~nnTI{!-`^NxpM zZm+N8ws)M6F11WZJ@W$WGSC4DONQbC*Dlby^1k@H>Jp{E`(S0mc(uu7Ed<9nXD^s03@Xmk=eH zwSxCkSAAd3>ZvYwY4 zF<(e;AvB$=}xp;y0+J2E#G5AKQ}T53u7S&xRKG{BWxQ*s4Z5BvdR4%`Ia z9hHF1E^lI4)+Gd~dgJ+{JF(hUPwwSce<9lX7kA~~O>q9fMv#0=6Ug@6#a5$c3CFBQ z@+xnB;Ky0JK*Ha7VC|kmc$Snecg$&y@IrYxzB^YB)I=c6Ejw48w%m+cr;{S2u2_JZ z;I<1a-QByxO7I$<0*Wmhco&V!)tDUkCX&%M&<1$WR1u%hk`Hz3~*_O|NtYqr+n zwn1*y)i|E_7RvDk=Va`-`=X>zdt~(ktNEPVoSj0`pzC1GCKX&dcDXRHW(+Uua8Fo! zYcN@PJ5Ce-ioWQk^*UF=Y=m9W5mbvCLY!Qk~8S;0P(#gxIz%OjlYg1@n08U zIc_yKIdvXBH*v7gzU~f~Tpm{a>EsHoW_yB=_{E{RXZ0KWP~4|p?)05s;F~Qu-ErDN z-l0x7Q2P`gT8nt?;2sb^={mR4<}XH8wRqQs=Yq+({dm^4Q+UPm4;C+KD)8W<%Q$)0 z%np?cu0XbZ6l7i)wwgKBy<2ajdr>pP1c@1_JssqpU=Y_T<31CrP zC%2~RH<0-|m1qwCY_Y;c8)$e}aymYJV1$O9@TR3y7`c5Rclym=>^Og#kY;_JS6HBj z6DOzwsrkXY`(s70VO5FXdTj*G8tN&0?>T`(K3*s8$sK&8+karh_1j$8coX6JxnDq| zs1-}yyjCTAyCP(#9Rm<0*+_@#2&e&NV%obL_t>jNJ1USgi~e z9@nk5sQY!2Yx-;<+>QwljGKMIzMnIJT)zYt%4?A!$6g7g6T5|qb`vn&a10n6w~Bl4 zv03PDy(rkG&lAjlo8xJ!BZO;8`#>HyQquL%U5F7*0L5#|@Pl8?6kJxu3YfJrT3GGiOg@XULhUpKX(8l#n-w+^#%CeG&v9zaJbrM z<1&ikFYnB=MPl!P2YxSa0lU z;kHMYpnG{1S8X|)o8A2hJKD^{Q6KUpNihY$q~s-cxm$|c|I`jI1h>JKS@~R}*BtK1 z!U zOL|fr-Jyh^=6vVMI+*amC0bHf`i_hG^&Lx3FcpZ}Yh3Pj5oBEO#&4=Oa1*xQ$4j!$ zfFLhp3!yUvr_FvMxnnjOd?=Cdnj2z3;1)}wt8WQxV=cJk;x?hx^bK*%Y5+R@p2EM& ztGQ4uLqX6_7A|S|2@U>=+;?}tT{r9m2ew6XGp>Z-4sFOE-aQUGO+12w2?N5ZGP3M8 zB3;%D`CK@N#!lYJ)&zcI5$$K$t1^IYdTG%(yB65_FqYXkUO}aI%UPbue$w@N9@BOx zLr1U0Gv{r(Y=)i*T4}Ni#mS|yT`|s<{Na6UT%H?hOT5DjAFc!u7u0Bu+9>|Ess$Tu z`-7qjjD6f{gElE*m~u{qrhO@bmpuJz22Dypd&9(?#8!P2-YtdPEKl?A3SPk5D5*x0 zCr<2apNuZK#=*DRk5OA=Ak#RIkKPoRLE+JMdRzQ5Kri2$_H&cjFWZr5O0*np-WJF7 zr@Q0p>l&ELCLPOZAsgAz;~bp6)fjr)#G+vWM8iQoy*c_Q)T_CL;v7?{EX-#o^l!7o zX&w}wUr)lSv*6jue(=J_6#UlBvBpew7c1Wp4?V9*i<_G@EVIT-qSu9tj}>|FFk8FoGirX=P;-zJ)*MV%Wx4*}P|d|0%TY*E?CLH< z9;MSPhun{$>&9I~%QX=__3SpPyYv^?dOV|L51+AlIF=+7EQehRJy14eD2=H7!v7q3 z9-ZD;0^fL|^)kGtJ{dkgFGYsT z34{}t+w&&F*0O@`@i6Jjbn4+T75M;Nc5yAG|LSI-jrYQs^OH^VY1}W^d%2LGrZP+N zSJKG5JXSFS>-*%eK@?J6kweds65(3@GNxnyk{Y>XvMZCX!i&o;(fdY5C>pp}%Dj5W z)CO6wJo8w1>$&Kdk{<}x&SWQi-!r}DaoVsqAJdb$jU1Q1=tNo2e~Gy znVbNtZ2nSqq6no8>|rL;Ucv_J_e}NzW=aRHkmlZ5Y{td}W_tZ196ItGn$Z==ZYiWt z6K_J}bK;RrP6MqquV8V9$HETt{WSHAxNn@I55qoNA=}2UC`W!X3p!_w3i=@*;Sr9l>;w(#G!K|!*S-%FBGV# z(w9!jNZxh~x-x4dQXfosRr4G0-RN<+%;X_ESC_z|w%5{Hwb?c1Q~WH)&D_LF{U%wO z>D$&Qnb(raXz>}h{U5wwQNhKh*-||EevS6yr|@-xJpU&C6CanniAp)RkhF5~u~q8e zcMnykX7~%6y{eMbrF^5m?%5%OZYMHlQ+dr`=Pk6uDuy|K%R*hh+o8;!r6}l=0tk3~ zmHo&MV6Q(epo#A$qN=?B($#;MMQlAPG?~Fp+`PpvyW7JKR5ilG)7}%?tJP@CqC!}^ zO9R?V?y&iri_qij2AXuUgL=$shhsNvv((Pt10Cx_Sb*dcbvd>kChh;gO9y4M2Rr9N z!++-Ft_ebo&)%`=;p%*g*e9;)m%x9VeHiNAn8b4btU!`2$u7rO4BB87Y!ZWoKWkvm8A{jvZ)Hv^3QHgX|}ES!!kLwjib284N?8Qc z#0{}dOy^NG(sENoZmasK)u=MsF&nX-&R_gh#p`H$q$1+~xWIr3ne^GPRZ!D6kOptF zfb)NzW$Mo|(ZU%qHMZjY$5@ptnwz@}^}l(YxDuh99oFxx%Z-+fN<*P zw4T0w>qvc26KiZK6GzrYlZF}@)aFwGLADQ@mL1Og2Da04+%?EXn~>h0lZ1bP2XJ9( z6MC>p4IYZ#2G1B2Fys9*nNvvzlZ)$v6SEGm@!uCyg&&%vt?w+qUYGK1=NoC(LtXyU z5n18vB9imsZ6(GTA|==JP8x@Tw+^7wm%)QwR>rNS6!d#QyP zmMFp*Pa=^~Uo{#$xQs2IyMs*`KY%7~ccFCxpf6{yX4*wAtWEPQJ2^}2Y_EI^2Qrt# zUlWF+bmL06AbE-9<~edKYF`pEP_1Fv1KW@WoX9RcQe^|3qsYx`-_c7SY1CM;69SKY zY?1VO_MvnWG;8gld%u04-QUJA({~>bMQtqW=P+n+yMiRJZSdc=U>Y;a6ZyxBw?UOs zY%li|U8}uEnRXk3MmL!Lk8Y+KAR6h&2Q@2a)Y7x$1wFR94mo_gi`G2&MIYQ-ZYk9t z#Qr-H40FaD;uVx;!+PBam~LH0w>kTwnCU(=d#(>Z@^Jw>EI%I}Gnvm?0&USl@w>w} zT~BGY@eO7@g{R)WrKt9fo8_dxm-%t6uUYmbgBr!0J#_k`Ah=k*6?C2tW_cH{!9z@7 z^R~D!)wMhvXQ+za_BbNFiVjO@6M0LiIZMU&vrt$o-fyiJZ^g>?KSKWJ$Fjo2hp2x^ zea*D!Q{?gtKlbLyHTXB~3iMa6fLTxbnC6A)NOArgX7cd|oA3C7Uh-K?rJYW*iIYP4 zds=}gKie7|X;q^^|MsI*TddHL1}E`v$c=s2IGQbYuSDiEN@<})pGo)q$70hp(Z!K# znTApeo0YKw7K<5W9hV8P?zAgYowLz${PQ4sZ{h$I3+dSmIeRq4=@I|9F$0A!Y$h95 z`7rhCKbU|2O;&Qi0A;M>SZUB-XqACg~`O6n>9pq%L<097L08f!TBTd(d9dybVP2c1NQn?-qPSi}}vo`qXZ* zB5eAc2&a875zYH7%)^=dfc6E_&}t1&;??}w1q(^{oiuo|?W1Vk`E=^}aCo-+xoFn2B*8QwWSa~-G+KPMI8!HyW=-_Jp?q{)kdihV7zEPXMpP5OQ>8^z^ zcsrkyaEOj-91drFx8M(E?4XBU{lD8hn_s(Fpt;56{GUHx`5XVG&|`zTq4KPmMA2G} z1{ZX|iE#;H1~Z8k`x^66hwhQg!kzT)1dg9E-H~Xwt)oPzp1)u^gDSbE(i1hNV69gM zxvDjamM-&$%O8gjS)&YkIa3D)OQb-=0T;T-QiIo=yhAi^Evn&>1pcmV;#18(h~~W# zzsvUGPt=>xi%)ED+KDTC+CL*2JZ%K&+$VPXDmc)&Hk(Pux21gPmH$NZR;5$dD#H<* z?P*5KNGknT%+hCy-R5IAQvKXneDC5+u>-e4+&s;LItpp@_#{1=Kgku!f3>F9+=tV% z()#=ZpRqJtR*&8k9>A$haWpQ(mA1K?!ATAclzX;cH1FkbdDRB;XOaqiAev9ujskJH zGJy6KkAM+19mM+wq7}Cfh~{mB)h}KTVX&3nxvYJ{g{7IvS+#^Z0`P8Q<$i= zrADW`saIAhO>ev}n)eLy&aR5)D#((-#knMD!328DV<%NjRVJnRd6YbPO9%hDOi%Sx zQmI{X#7o=)&sn*i+lai{z>ua8f6PoP)b#69n=F(iCzo@m~i z$@NvPoQmfkCck1hd4AvoVP?v-e`prYUAc#9OjV_=zua&_(loMZT?qZVu8$AOks-}- z)7c=aX8zG&O?=x|nGJ)*{DH`1Flo+4`ZjG3PyI~zUA>vK!*DoMFHHgd5oYw7(hPp{ z>Mgiyt|~2Rkp`2U-||Q7Aw4R$fG_++`8Tx<^kh>ORPoJ*^4AS%{8no)#!`nDLJVkh zkqeo9Ob$-9b*1k2|ALtDe$a8xBYNrecf5FcE!^c$L3881#jfsbxNp!%dZjm&H-0?| z>Tcaa8!M`awdrH1Tt9(!^*`c-ZTI-c<1^_)yEO50;Unng9!~o`vdP_N9&q!}E%f~i zeL5lcxOhiBlm4EUMxqNu^L}s0RBRTL)>Ik((}oPDd`f}J+Xcd25mynkqE- z7a^MWcCtrP2N2f|y86;3{`%_@V!lP1+Qts!ck8Ef*^9N)exTgW#1x6F^AgAkn-n;q&|T z{BVtlq|0d;{MOS+!WD{0Y~gTtZ)U65LG4D83}xW^y~$MV{YO$0Jq$^0y(5~pBN?>) zAbfBrQtUQ=MWn-vVe_%m)Um&b>uWy?3lFal&3h9+=2srfz!%8ht_Co?GXti5{z<+) z$mUg??4j3%>tsd79^4)?0Q06^=OcQe@Dp4in)er|ppS{+-~n)R_;zr7?iPOJl{!#i z`hrY7?!g<1`xVw&^8E1pPCl#7fb1MDcAM{e$Y)lF-R8;m*v#$(cxQHrO3!TthATZp z^Zr75tap;e9b0*omZel?vk8^D^pvmv-9mnk@1`=7nt;})d6d7RPo=|wa6!zhLzBW*~Hdi9Qa6ioV^d%>!^^4}60xQIO7mW`y`L3Vd zu-qw()RkQ3U+#*4#r3PGll5GF!39~^_N9{QL^tpf-7+}fA549dEP0<%b+BjJbb9#f zQ_w5xB${_2b=zkF?v>jj?WjjIYP&ng-q4B0oV!Hj%7Y|_L(hrky^j=L3&n2pz9Vy= z%cLn%P6*x?gQk{$;x3&Oy_A$7)8}V+-K@i0%e+sbc@y3=s+W_0RD?$CQR6>od4dPw zv(exUbA|fp%Di6XR@k0;1bix4$4gm^K+-#tNX?6Q5^-rZJicE-mv|JLwh1-*5=qZ2TLTXln9(?u%XEiFjM!~HK%-@3sG0dvIA_{ix|Mo} zIqv{CUc4I!^Qxq4v(2Ezj%W0$zCVpWxdJYtTWGz^G-_<&554@;X^pjn!o53qY?n_- z$ppI2Rhj1lF3_T<*nrPfh<$ zk6qM*Z`6xvm0u`5bH4!%amk=rK@TLeg)pqQ;usD!nJG+c4<1&u?tyb|JB1|)i<{FKL z;xe!0!q=3y_~j^d&UWcEfF50wq`4rVrce&*3qQ}RIyeVs#^>T0Sxp?oI3*V;B>#LRlo`5;YqF{Q0<#{hboIP2_1^_h zeaIQiHyMwo$TnjA-p^dC)Hl4@)wTNg{szgD@xO%^SKWd6KqP0K`x8gW=3r}0C*G&6 zfQ*uf1P=PCRpWf-d0C3?J_heNbo-f{Vvj7i~xe zv(p!XVj+=S?hE6>W@mxZ8u~!-h)}sJSdAOV&EdS>y~h)ltIqR{*aMRG{sl&57IhIbM|tqF29>WWN}L&q|fyfS(RP zIkIMX^vx3TZm&?{enE&*83lG_T7tt)-8gs7e9-gc0T{~m5|vOzu+rl# z_w2|uF`Ks-_@%uQ(sv{gg@Fd{nCDoFOD#`?gB^Q>mvwzW>!M|~Zs0j?$KCJX{KN)f zhi)8q>Rb<)bMszx@v|A={P0|U?a5wA;_UC7PKc3Yl$RW+jEKjYX@5Yb>^JZM!}J!1%ER z)-aNnIE*g=OYXM`K84393>RWzai@Gck$RK zdSK9f3rY5#aNNFnEk1r}2|lank8h8Sk_5e&#T%Cl`jCHS#1oz)$fi)c_z>h29lx3W&w-#-b zlwm`nbMgrIKHq~M9ym>iR+w&)%fUCfNPw1t=e^FAKn=Ci!)!+2vXE9f!cz}pg!#-nCPpDLswnJN9#5b#lf<| z!>CtWaer9V_~5?kB_F-9`2hnk)%3e?py#6C7&BG)vhqE5`OFL9*gNljOc=pQA z)$hvgaI0L`3qI>B@k`AT@P7LMIeKF=_ifTgGQ36^%nj=Tu<(lDEcqsw+Drqd>_$nt zjQT-U?^3LsHdlD^cMI2l+l_mF)JW3eC=1^ARdSaXuLg$_0zkx_1W;@_1MhNqDU97Z z5BTnXDJYqSiCYLR#A$syk#1GQIqwf(`T3i%mtGe(G)NGVm)CQ>?>_-#bq+iejd6{= zDUfeG2=?tv;n&+V;nq>XRV(ff@cT-Yuy2$+Hs4htslqR-k52x?DfZgrSvBNtybsiUy-A@f|5ry3xt)wLa`y9e=V2WNw$|IO#N&-sAurO)8dkgdWnvzd76f`06v z_QyK#tfA(XeV-CXA@FnwJ zmmUObmKA~xWD{3B`Y4bK{>}Xj%oQwJpYW5jSL1tZ5!Q0F1QrqJxOsI=)fsKSz}`zv zz*0#Q%dQRp_LFXLPQ#~z5uw|O=56(=_=e|TqJ+ztAA>t6sP^>et~ z?!iKxiZM_PPZzq)PFA`7F%>eBuYkbj0igUmA7?+BiOtf^V0G~=&!InzTei7|8)xAp zNahuS6^cu+idj)rUi*Hot>(ROyKbuxw*MnIyLu~-o_rn`>SvP?8I4%$p_5QtJ{jmo zY5)a&E$+>WbwXp@PGR9o&+3QgCt=eC=|YR8BPeKy;l{j*5VGd~0dlD$@ZAM-xHgLc zusz)lOg&)5ZP080Gg~wy-TYDDZ+C%Xv+v^C(EDWiQWxOs*^cM*$^vzRUe2g;48Dt<#RHth9a6{XMa&vZk5EOb>6S&MCM83NPRxP>%7XRERdHil4uS2bgvA7zi@Ht#x|byLTM-vhf)R*)omucGJc04ma?Ja~@;K?QFc= zJPuU+izF)-?56TBL(#e|p=g+Q1X~5}vV&#?>}g0by6L)>9@=srwpHsf>kSuC*|l%% z^t)$ND@31-ThNR$=dWf?2Q-<%&iIp0eaud|~6S_@j=5jm&W14bTqw zP7AceyLRuh^pE~3su%p0eaZ<$4zE36c-VWI=$;5K+s|PCRu&=OQ{%{;=t(HTVH;Z0 zyO+P2b{Rf+T~=fM@e2KznT*b_oCq7(p#I~Go8tf^ar!HqEGBquy=l)>FMt_2v|0{x9N4-IEAFd<$rvsVk15+&xvO;zA6%GUYZJZ&r*Fb)8XYw?2%%(h5VC$1-CaqlLo2s z*a&-zL-;pmx6rV^>-gVgLFmM{au{&0jd|9J9fKYP@W^owWT4l@Ha_!0iQo^K@0ZMG zXxqTOyJKLCPCNUO`UloMxXPz{0hI3aiV7d4n3?fa7M>geYfE0j=bt^G zw~sEw?(wkJdo^r2x*vZ@{sG4gZsIjvm$HJg-*AbsJ3Xcrh&Eq1#&STLslk%>|}m4o1}$EY=0RmtnfiH zf&Nr3G7nkplt!Mv4~sePXLMrP1aT-MoL<*Bi&FFtFthX+cyo;mlWv{Of?_jZ7M{O!;O@55};sSvoaMvD#M`r!4KYnfsFYE=544Sl}f4Nf+bV&vO( zBw_~?vah22GkMiN0?&y3^Iz#h+eJveObwN}WTA20p1kHs4fx^dIh^)<0y`i6mqmUR z4Z~n{&AegCmf9chvEr{Wmgb8aYKBc(Pl`7Mih187Fux;BIDB?1Wsg4AXesT7H3gkK zvE%qzGsL~~_OWEufkp7SqAkxVMp6@fA7*iFE@>J5oc?xyhK!DDktv_m*zYoqHW|HR z^B-8C*7iXDpY1HP)9MCZGAEpUtKH3BPbn97qwU0u=2%#D&5xP5j6j9r9`&)^CH$yA zvh2Y65SXg1NmdkwG+Cbw;t*&Ib*32B<=ujKgssY z&Z72P`e9s^CLbnQ!frP_gs^QGxw7&$dYtf*O-{0e(*A%vk!s{?9xFf{vG4bk-ezRf zv{K9(R>8)THTc%84jQT|hr;HL<{voi0&~rI@utWRs`_6+htf7v&6RuDmcd8pXTLej zjaH%}m*Y(O?Jb&DIg;&pW=%r>-erG}9HZ-_I+@>771Z$2m&MzyLa)hjq?edwsi3)s zEme$Tvf};u?;Yh#`Tky{>QPh^_ClXdGq8c-><)|_WX`O$bdX78FDkljg{Bm0v6Foh z(DB?nG|t5hF0|Z6Mm0CU#^&oRJ=zn-|CVAm!VTEv8E;wQxdoOp+q%%Y1=~@~WqIaj zEx^Zi8nA6=D;50J(J;4G^mOfFSkxHHM=rEvW41dnX{By7`Hvge(FY;F?+ta9-p{n% zY0aSp$Dr??-|)0yGAtNv%cKVLuyDm|&?L0nU1HYT)z`+Gu+3+9jv>_799^l zjT;isNU!NA_|pd#^=c+=nW)EfLo|`LqX%;RmqcwM8fjDTOxEM&!k0%{qJX)&$YO$c z*D~}TeVbYi^*Y^YSm8dnaLHsg;+zMvn*6Y4{+ac3yjMHTs`W$tgY=k5g$><&bQl^n zAsCHVY>LcdrBU`D4;oz^NZ)`b)UC>eJ^JLvY;M_+`>Ul<(@N2<&VOW+CveR7lr+ta zt%dl~DDtP^5Vo*=i&Iknp*ztUFiGz|8HgOCcad$O& z^~R6icPEMesCb@c>G|+anJdlybAk=K9zY60M8SQ!@Nbkd{I~cPN^`ga&098F`m{N)sJ{@+OmJa2Vc|&gMm#GDe8B$B zy-PBjm!c=5W}!#theJ~z(QajzvG);2q4{D(8YHuae!f45naO-b)zkN~47XcwM&}Ho z`E?)c+0;QJkF}zWYL)0~iy_;ixfor2zMj5}+$IhfKVj4E*D}TU@o2~t%^DXMFIr&x zm1d~9Am;-yXsy3Kt$(%>{hd68eV;oQo;uRcJ7*Qb>Sw=T`gvy>ekK-$>DSYfrTVZ0v{$NRAXT zWBiEOXU(OTIaR7OAkW4>YvgYh4M7E6>(SA1LuuH<1hmR34IM8orm>y+taXe%TXnSt zNiuqAp^62Qd62^r$ML9eT@{l%w1|xhe+kc7Tqj8@UEtaB%}lX3$5ONSHoYCRh?W_w zW>ZE)BJGFb9yVWu4z_pV>^r?oBi)p3*X&|tfzBw+&Xrwo-;b6)?4#<()zDItVJOT+ z2^xHNV`EqGH1XFwiNdKVqIn-csy*|G)Ajolc;7_QWUIgr&!Yp7#>J5mVp0ngK|sj<;UG}8SRpW-%?W~`4v3c6XmbRtLdRW2cQDK8M_ z-#+l9Aj_YfE~y^Wk9J++*U1;dzcpjwrKSyh$?hxgHJ%Usx;x*n!&Ow7*#GLmo0-f}7;Qe7*P_0}Z#>C~rM{>4MPDRXl%Sgkbyj%QpV+<`v zM#B@MX7H|mLinsvi(qbmGL-T1-Z@DYb3My3B9Wo#LpPoM6{bS zDH-p@f|V+(J6N!uZTVlj+sUf0yAE(B%Qo*-xr;(3g&O&LZD} z_E0MuK{OQ=k_5L?pX%u}l7vvB)O6}~;xJ8r8X%gtJbC9ZpXSPLB7;x!Bnhmc$2_&D zYO(_b)yexq*ZSJi>wXOs zW-F1_$<3m9@27_LHdIS8g~@1zQ?RX``2MjG&0C9x9{Ye@r3&f2pkf-R^awu>sb|t+ zS4nh|G5IjuiN3mflNJ=W(77%-qIuWRqG^Xn;gx+9{}@8q5eYR~pADneR3iAzPR+P8t(z8oECo|ExA8|@Me|mi$QO1a{!P_;da|_@s_fPhw}_HN z^KJuUJZg9$sES6HPb0J4PQj^@hEVrgr$Kb6JapWDm0o&5@#38-aM$9qH1|+~*wy_9 z?o<3nuk`El#<%Z6-R(PRTHi>_1yqG?;av=rbMbOP{HSJ$r zLGCt+-R3f}^!>c)bVAu97rJ+3-d&_Mb_D-v#}%fWd6vo}Rk*Za zA5$N!Ovh*BK!Yz=Me{BtyW=MTGVU~8UA~*Y{~O=G|{~CkCUW%qv88qTB3P>AT>vJ zASpjiG;cF9=+IR7AbbIh=30pKjz3GUKEjEA7`KMctkWb%j(x|buK;*w zT}7qmr~?D#V9~svkRFR((&&GLSNV2~%J|KoQpJn-`hT9}_lyuKGsPQ>`!9#`xPnTD zEEWnQpOO4|8er9(hrCm7FI`?a3aA-O<)r64qQP|)T>360s9$`YY zc8Le*%jklh@9Idml_4KA>MXQ<&C#jW6RYWyJMcvBek%9jE0K480Q0?WlasSviRPUH zDHSr5h*}%51SEx>e5igmw2@Y&6q`t|0 zqIpBuGkG69{7n(`x|NIO-A~>2D}Z~?Zy@dPd>Z914YJQfqcIm0sa)v+$$SS0)P-cr{eD1mDNJG2O z5|WHcgH#G-kBE#&sgR<9BoXd8=Mox38Y&uu3N4j(-{1ZH=a0|BU-xq#pL3q?_v;l* zLm$0|-NEN*SV1KXxZ?|dJS?XS5_*XaO@$w$!v*seW}_qU2d`07$30=+uvYjjeEVe}nXBJIR(8oS{nLtxYKFWh zXJuWj+k`~!{7h#oIVX(u&H0LRHX}y$xQNlT?BPmv4};{lAF)LKO*|uYCz!FbnY+33 zGm|y-GtkcnCQ}z}VOQ14obl)|uWbr{&I}HVG46&dK~&FEp!_DjMu<}c@98kE z*z!d*c-4+6_MXi>aDYtaj11QKR1kif(*>l-kHQbeW=KFJRJemE{4Fte;Dh3x5Gx$6PcDDEAXDX?`v)6 zc!+vSinxYJFTwPw|1t9qH{s~}=6GVG9J{+Akc?gN2iVuVttl)151agy7A$Zd2$Va6 zm2_G~4z4$Wq@t&&dE#8`KQV~=i#WXJCSjgC|HfBV&lEg^0`Kwyyi31~S@sKpI0YLJ zbv*#@l4t~m67AUA^Ca`pbPgAM&#*S8DjFE|?+14rtw>GIEoNWOKTwqF4^;Nc+uqk& z17t5%FcDE+c#^iP?UC4hAh|3JSoH73{<#WZ*%B7)c=wfw`Je>OJU)xZbfx2RuAVC~ zxxm`LtrRsoyajRUE+R{x8~Etvo!D1?Ggz^I6u@__$Wm`9?74QBk*xIN%02tI)D`kz zzeY01jBUVYN3UhYGJgOKqavcJY7ATz5%YQ=8qf6V1i_DExeE?=iFn3gCbnyZX!8Bl z+(GGY+`F-NfZDCgwW(b-%q$Oaa7Fhqm$l?NbF5hd*x1H#8rs&N^;Rgm@qRetJg}KD zePLfsT1`QnzYJz-^+3o8J@EQ=4c_>r8>slZ08e`(GMYNoC?;$J-#_z$;q?NMk0bLm zS&V6!(E}1+6#$i4&p4@m31Ia!8mlxd5;Zh#1@pBnxJ?^`ZryYzqWdR=WRLX}P0n}Y zGS^iwS@Zk3DUE-*JnKZFd;bGgd2tm;TBV6@F44jdq;qlHxN=fceSn=7 zv7Om|)d7e*Z3j~?ykWYuELqj!9#C{^Hh3^jj)}M+_)pM8J9z^c?!x>=u;KSUrnCM7 zFj(x2C#x4TE?duXZ4>@reKe8#{Pj3v^>Q(@C2BnPYlRY?_D`EB^;wUtudWvzk1W92 zqsM@kJ9EL>U-{rj<8DUFO04$I)TyG^PJ76VcSl*(DmixS#A+^L@efh5vX1CaS3794 z7qTfvqyUhB$W8A8`?YJ%82=sLCBFS0iz+NOG8Z(~& z%ZYZt!D&6`>!rkr_Zx!@^O=mEp&K~Q2Vm_mDLm$KDKoNXE7MThz!*l}03GfFK&tp9 z`2Ugo{0dIdKhi61Q7k!)7 zUfZPqOf=&2lIv`h0KSD|aYdf6KkvAKRX+BSlez6p9Hm1Tg-@2aX>>00_=Xfn?AXVF zuua(C%O5K?+!HO&ECERq=isc1Q^CntFLHc)G&eZq5%XQP8s83W!Loa@!T8COYJb0b z#a#Q8%ke>5Ykfj=@yGXJc>eqYtS5U;^j@yC`ibs;+yNIcd@;_7RnWT(O55a_P4_q9 zWtj;$C?JK?m@ee-n|;Eodhgh(Ot-*G&ShifO}3r&*Na$-@Hk?{UGDqR_srK1rJPM_ zGSi-OlgsM9i6@+T&&*qJ4ak3DxQwx-OyHFH%Fq{fqGT-dqp+0QoIHWG5_Ycn)}`1m zJsC`&VZ|7XO|9K}Bpif(9|dfZ7GS9jX<)^Zcg%v76sVlKLbQH3**YvR5#}+zGUg-a zfa)w=ZrD|io3;H9lMrZw+3)UnbmC%GA`aomTjI>82OC)Lv@WnAuz-u%X@gT=$zs{` zW}M*qi}*+jZep|;C=GNo6)#_L*9SHNnct_lx5M2ctK5BDMxz(lcCr=7xI5tNxKIqA zd0-3i>v)N=E@OCc24nW_6zB1}AH;Z#V41gOw);nNnZZ^4TvgR`ZrJ$+C>xu=L`j(7 z!mRT|$FBfyc`V75`vn3k7cZb-S;^eraFctvmgkn8dQo$5#usc5PVlI6E5Z4`Y0S7$ zXSqwFr$Dm00rRg$fa2u~An@BVU>GmO?AG=KQ?kk#ZJTMp`$9Dn^kEpcuTv+McFkaG zkQBD^ya5zbl|{FMOz`=io}hGBRPEYkz!)FPVCH?EAjs$g|VG|4f~DW0uIcw0~${5jO&SMOsU&l=5T5b_>)}Byf+&Hw>~}t2Ok7-&y=Qs zxK{&ga+d-Z;j$Y%4^IG9Dkb1!Pc^<}{0qPdYiq-=cH!prJ=o1O4okWV=576!Th+6i zyEtOVZR$BGx~rnX#Q3J-1biI0oW9H93A=FR-IYLo`8V!d(JQ80ZakB+s{_kf9us;# z2JnyDzF=>v8m?RTMwF?23j1bk0NzSbc0_X)PWs^{3eHnuNBzuT4YtRFW5>S`-Rti_ z=ZqYoBO@1^i;WQX@xQ>j@qSpGsxaZ1D%_)G_qpQsKCVV8n(37tVLC@|1Cd8BGE0gy z@UKTBY)(iVw%TQdw{>NJ3o;GFZN>wtNjlK_#GgpwMk>GR@>Kp{dKQ1LF9S8wLo}+| z6?UhT@#u{Ws+gs~=Wq9;4(lH96F-HaT<#>leDQOBhS5*7?BH~ivHm{4=V^^SsJ$jc zG<&0WVQ=~A0WHkVS?6f6tUX(GwVO80ccG&))%n4q&B!899{T<+rty3K!m^8V`G4sF z$h~7UxxJvU&+ zR9qzJM7fH~t@-yt;Msbwhw+E(d{>;0B80tFq1Wb7H2$@>t z^4>=ol=76Kg)6r4CS%lKkikkAFCoEyPFW8xe~@CC`7Fv3?%Zxn_T}faslj!3gp7mR znlxW^A*^4t0CvPYhZ~1x33*$OVeP~M*!SrxzVFJx34brJl99%IVPZ3s*gHh)2F9W- zTKare^f6jww^rB#UB)}t?4?f^lp~p6OIR_z8%&?FAMcgt&rfs5q*OvtICp-gMYB0> z=lB?Yw#sM<532D+d*8vPD_*qWjS`Bn6|$6et->y@$9eTcacNQ9X@Yy z2(LZWl4P4c<_qopk*0Md`S)uZn!EKSTDd6*Meb~-MyuT+>1OE7l07JSS`u%&VZ6|l z^^TX&$>1dzHPSxmC_igMBCqce1|_FRBdB(WZ~XC`s)^px6l*!edMeTS_t*IpslD*s zcte{0H$~WG6Yg$ebdY141j;hp#d{v~L3xtv+2F%*yuGw6uUq(+?mMs?Wr{t3tq*M2 z^j9~~iI=Cyl{XXl8~G*3bj>*a>q0lW*Xb!?dzAmg6hx}$QH!4!X;YgclEtf0*`Iw#KkhiI zRaXe#CQ!WH$AiCAv6+w2R-lijHP_j?2|IjWr}I~0MfSGsXX_M0oyi58KWMyiF3cDE zin13fzzY$k>?z+PLbj6<>5IZdMf?|R`Lh8^JSw2GnsfQN3Dd}rO_uc6 zNQTh=>q4~NpX5IpH_*qU<9X{vyU_DRXV?)vWwg!U8PUIB%YPpF$akttq|w_iqDp=f zydIDF8ImrjNLq(Krt$*t%GdeOS0CU}8%5&v(glr`c?GLSWZ}|`8s4Hv7ByB)phtsx zseiZ|G{4qsKmPtPs9w+TVL!cvaP{dh&a0TcwKagRTcZhAefmpI&z3|jzs-0(B>>g( zMo2`t4SPcUGMucpl0PLif~KhqAW6k~*xD|OUCTbu-Meeifr?(XPh$>F&wT>Er|*G^ zU>1s>xRJ^>yx?~T8P{(%bnr_jM57C>K#1{NA&F$vwx3{14YGx>oBQzd6PL z-M%)$C%E54kA@x4gqK(BWvL9m!u=30t-hSqZQ9B!b$cLn=SOvs1NC&0{#3YgR3khb zx|LtN{}-~mz@V#ci;=N0zm8fI#o>7iWA^Ax6JGgZ zH81J&8JYd71i5a4r%P2)W{ML(-p{lyvh@pGj~ce9_+r%)$3+8;%S$I;+S8D8C!m*kTJ$F{t^y}q==porhTUV*j&pP4!rV0qfcK(5XyRz9U`7hzf!%Qd> zP|lA%XGP=No)fFz`RLHaG=ACoQRw;82&BG$HVVxS=HvH0!yjE&@CIoiNXOJ1tqT>b zOXD+r6z0Q!_*2VXZQ6)-n*T#q!!KaGa97rEtOCu8>uGej6*hY% zPYvD&(&N5*=u6EU-sZwxIzQ15NpmdH4Y-fyJUoR?H+0hzo43-=^iOnogd*R(tCC;( zONl&yZK%UX7J3O8B6?jPc|U&%dUD%xSkp8_rTS9v4!>*I-|{eOEC_>{oqu4;?4P`` z!CQW{(9hHgH%g&g52wy#>VcpU#<59RM=(8S0FwD3?H`P=pbl^x1~`+E$we1F|<&`sP_BsHkZ=A-nbR6Fkw+h-$2%#b6 zd+9(>CqHLV8mb(L=F{JlLX)4p-1+h{`0{cwjnD`{>kF2m&uQWOo@R4&-L;o~_MeJa z;d?MO(UF&0sE8yUk~-(fXXv?rsWjVfFLK&lhc>p|p*NTOMBl%P^PkQMT=HTsdt_G+ zEZun$X8x?8DfxpaP{{B-E#V1z3a;^oh28b&7Yh8{Q!S`d^B^23FQ;7i8GhM^8tR*S z7u_l_us1xrpUm9a#UJ0Xt4{XM4yu}Y0?vuA7nNJFeBL_@LoY`2)>AWiHS<_F!8!?b zJ+VYaPV4PQXd6^psn8#pWk>9eQMoRXHxVKR4=&6zbqFa zu^>Ar+T;c=Et$cOcbkl)$bY=q_;I{b!wFhu9!WKfvUu&8!fev5epK}E06IRpmBt(# zL2Fgy(HZk%8tL)dk;-%)K*{kKBqYbYrX~C0DUN8AL8t>}|CkcB>k^K%JPf?biv?i3_9b3;|4;P^$ zs?q#8_c>_M&FfUQR2DggeL;s3@4&gC;k*{Jokoo66OEahDVVo6QvUFYtmu`Zz~4y7 zC7DE;EGLlOhE-_X!F009KbI~p_d&XHR>ajTi7r1^f#ePx0v+p>=uAfrjdM?8Q}-0m zY+rdKr~8$a-2aN6S6_(Ke+Pi@yJ7YgP*Q84d~ zf_dAqf6eBSHU)inx<;J6pe##1HY|mwhiV1$j;BUv=fMlV+hJ68ozQ2gE|~XM!Myhn ztFL=ubwv!^*`h?IdrQJ6#7Qu3FG6mAf-jCg7R-AFtLE(u2iL2^toK9grr`JRU-eg5 z+E>h8T`LZ|YMbEp!BA)#YYO{276`vJc)0kT84`0XgZ_I>;fkp#@SajNRHgDTA-)UV z9~pu&GEq=ZS_77x_hdVaS3-NO(eR|EHoL(xl07x{E6m>+0j0JEv5Q}AhS7Pd>@(9R ztfrnRtbQ;G&i_+IeQuh=_(NaV=6jBUd3(Z4Umf;dN)dI|xCP;%el~CGNjm=ZN@y|r zAse~kE{%J5Ofc`c>_**DG{5vd`&UcEHoP4Y%=-#dupJ_!K@<(WW&`yiok)gT7cKKm zXJgm9k(}xqw0VLVYdV-ow4at!qG`=uUgtvPw+7OawMT(R=n_(?s6fkC3wz$}Yl*Z} z5xsKc84P(U?C)fFQ$I6fcH$Bz!Mt;*rpqz#FKRTKX2=QVy%qP!WV0u`-_hdEdYo>l zz-H*g(NKeOGPojyJvkCDWLe)M@5JrdYdWI@^FBn4mTiYBTjgl>fGd?!P=HG=exa2L zm#E2O!Vb@zEcCuo8sTva>Pu_T6B8cL^BVb3wsSkJT5^sS{S#*7gnjhLzazA%+6o#y z97_}T?V|k~<=|xV49c|U3Fa*YT`FgiKeOa$TkSQ$yw%8W>$UVtK`o4?=ZJ6bN_wN- z8>WYMVzp07v|0Q+%rALO0x}*6=3N2PT0Y^>!nrhHcQQOD>LLHagl_Li(_zRzVdwI# zBQ<~f7#_SJWY4z#N0WEIhR)+Q(}?JQRM+bwUR?5=<_(!swMH-EI;16-w+UVL~;6|NS{bLo@Ht@PfTm&E1QRyWvJny}hVa+#I^VEr|T6 z>!qSU$)vLP6_t-Mp=vgJ$=7{9=v@0e8ZSPdq*xrJTQ3>WnCd-rhL9caeY~A!wmXrV z_J2r^^Fo?0E_6m7qr&Hk>2a?zs+_!&lwUhS$unIlDKS|vZ$QNZHWKea2b$+@KyKZ3 zq6T_T1oNIq^)CwMy}p~)Z;hoeqnh*?%n;1GhfZI-kxp{j!Aq&DQs5d({G}NB)_X`W z@5Ok%o)&G1Y@z!loN>pbyS(J4Wi&p{l=Lbz($0H|w6IuQn1Se{19zopiTN^8boCd- z!+`Qj49QUbY+Aj_mv${Yh6}0}&`SR=lmt4FC{G2!yuS(N?a#tcZ3$u{~T`8!KJE7-mA?)0sG1k`9;4|aX$Xq8GYyJh}8Jn%-y#ThOIMpAw3v90zr zOa3lf^d*CRekGfp9#VsfhcJ|_Ql?2eTY>uCTEV>IX?zV&ET$4T^IN-+9E6u9<-t8m4$%C_3L&do0v;HrPp^MJ$<8d>3k~+V(I?j{iG%4vsPJY#9s2a1 zAyymN2M$8Exu}g4W;VbLt_=OQI*&AW&VhcvKhxI>4pZG*#xSv7oc?0NNPK-9ob_ZQ zueczd^hNfu1Cds|LiS`TYZDEf+P!!Uu|TS`-vLg0K89D4Ny#>|VLCY~;>xs$KaAD%+f5|DHQdO#Kl)yQw{zbv6>R)$4p%nf&u)vYb22+I*Z% zD?UOB*jmB7M?nSWdF0mnvGBUqFK}qsj?{nq0y~PUnqO4pGt6^+9e^|{1*JAe~@O3a&fQgC#wK)QS7eds9NOXHP2=$u6k&{A(5-H~r7n0GtWX|bdczT4@>Q$@7M(fs6ZG~cv%K3mA0&=$zcrb}FU;@nyvwiAzf z+sq5tB&GxJmA#LpFBjnGwRL36wKvS`!VczUh%@*$Y)vB0^^=JOe@Le4Q$}UnLhj{v z5A6LhfS~j$rut_isEgZ#S10esFK_ALiE(21t!XKl{i%~|RvXLQzPN*o*RQBK6!Twg zwfRgg&+91n*JvZVp<5Sct*8=>bPO=s2AjAt^)PVsbq$uD{Rf-R3>*v)$qYfYTv>~f12a)x(yGmp-T;S`w+ZX`4UH-;oLEZ z*jEZlUcuVx_3QD)wPvCsSzct_ystJqW-arx?mXj_`543;oC(HXQmGk84`4^VUWxDg zd{JA_n9bz;e9E=#s%Nr9CG2V!A=7-G1fUaR@xZZh-1Y1WSVr*`xZeB{L?lPztBERj z-m*|uD^yyvl-9UOPp^oEg{5?ONGXn_+SlOlepE28`VZ7CjSPwblgZ&o2jKA8)dw zq9;J^xDpe!Zvs|t39q^I-#w5%QwvzlzK`9+=K&`76*y!b%fz79Aos*htn#H4mtB~~ zJ(u6lE(#72sT(SR*jd{}mi~fmiXX+Ry(ER-vZkQ0IG;Gk7~qxH%tQ}1dvfKcF&7>^ z8${$^0%>_>_+rK`@O8^{pzY8`)cOK|>*vMHLrrCDUQhSSDl8gi+b|4q`*@od5U1?m=zne&}$mI&# zcCgl=!Hi4(B<8pHH()ZS6wK?jXT^u-f$aCg;M-YgrfB;h07n&U&9t9#mAMaqr$Qlf z&#npRZ*9R^pGKI?7Yey2b?dO!x3gGIbpvB@zL;^ob%y&GtcPdh$unhc&oNjg&8Y0( zh&67o;Mbi#u&^fzoXUI27|c8=bUqh}y4V?H=7S)1%Ge}U^KJ^a+fh+8XPq9SB5wvB z`-I`AOPoONs${?^J_qguI+iQUZoo4&P&46|zrp8Ufzeo6q-|NJ=j;cMKu zh!U>7YM8kZW5}gxi4(0i1-R$ChG=Bbd4?@^0rTH6V9BJ*tk?$;2$#_$7DwJ=gG*U> zmZ3jZ<&A)xl`n@~8X4T407?()fRu|-Ok1ZTUS`_BWxqVi8eF(YqK8m4ohGH^Tc8+3%Z1E0%}n6j2kFn7eC-8cIg8TCiV{!d%UW?a~XJsZ-nLE%2p z5$6fDXQUHFE#6jK!>A76l~aQ&1D{~IDc!94gnDkrvqePMn`f+Z`f&5gD-3@+5qLdz zs7;tGiLLc0)^IEoY5B{6BR6K_7!N~Ge94uZN)>U*2Y&&zx3e&Pn~CMN`~gZ$Q#qyH zXH2=oNv=t&p|(<{l8oAzgsu0jVtpD*L}#z9vuoB{&8?d<9bYc-WhHY;K;fLzOsda9 z?677K2L@MhVx8@H%H2flwAZ2bk&!>%A3YB*IV)v*%;qE3|5}EF_hn!UZvw`zNV2=+ zp2qaAtK`n#JB}xv!gk4~-b}q+G>4m`nSk3VVC<#+Tx;PuKu5>n2uVBUNXK*0<$?t6 zh>bMZa485IEttxsB`*@qJhKXH97+ZreI86^za5aD8^`n-rEx3xJl6heJHEI&5U_F$)f+g7J=aWa{od+jHDHpcHJusN_&E z_V+~Y{gwYXD}RppZE_ylj(&?58ck&ygJEl{W%4!f5vdpr^9fnwmO!* zu80%o>5*;oTG_O^A3)CZA9L1Sk}I%30F-4{a(~A`(bBb#teA$DetBl1b8KA9hNlj|S zC7kG*My3>g#97P)u2NbEYnV0{Xh>~m9=Uzsex_~UR=!SUMtc)%Wo3%BUHZWJ)riqN z;>Bg#STM(;cjAT^7EDoH2|{$n1LG~WOs2I3F#39mnLTI>HorU0oP8RBdzZZ>)&tgH z?aOLxm)`~CWyKlqNArYt|7vjYN>Oc6q#k3cmcdxe{KDwmYbO@(-UB@ABiN$U16<@R zMc=d3fGvK2=PkNKPTh9{n+?z7=~ZD|-p%Ell%)w%e{(6bu09UizZ=9}0VRypj7wma z&>2x#A0_&}Vlj>gy9IW31q1W(W=y%rtp0mDgfhqEI7IQW0>Ox9Fx9l2OjlS zk1Jijf{bZ(2M3kn@%j9nwRx2c-Z3Eo7&WDfipHnn#H3}Sgo`oksNZqy6l(>LQ=vg- zjZkgd>tGZ-NrB8%JBOfNBE}Y)u$x| z2hF@*P5>GhbCjPJGoki=h$Ow*IEB4BbuUdben#%?mgI+A0+D+68@TYq4H{X2VEODO z{_h=Av}#HQY0|Yo(f`IEUyCp{j`+g9wK;W`#)I_1-A6)S>Ku6Gl@5A2Gmw|}2k3Fa zGswRX?ztP9_(|rN{s}FslPv5+)3ry@UahaZ$k$iEOiJ82A*9m(VqhT`}nR|`I<_!~O6X+W?&TU5Ry1WmSWN4uApp;desJgp}5I_j_G zS6hdpt}RV<2lb8X_Ma2y^Y2?C?#E<%l_@2(Tc;QKuNaU1+_9vmq!o~(g%i!r@ki-m zFOZ&K4GHS9yvB1eIyz$`5}W&(jcx0s!K0_L|NYZMNjrbTb4rJK*9o$8I`08P9xp{k zu4??|DHBj?%5tbK!>tEUkLM9JLBK&3U3N`lXB}$BZunK{MpUI zzT?+4ayEY|e{Se6nxW)LK6%=sxy|wj);FWbxI{YR(Ir@CdWtq?)}ut-yF8O>2e1FA z<;8rq&>z1`$=!qVdCP15{DkKHP|PhFIc{y{8*UIP6Tg8Tbv}V?Gh1l=0l~b5IraX0 zbDAnVcafnLkX=839Ag)w)G#;Rxr#?QBMxlD9c$iUS~IV^dotZ1H5;Wpn+!XxgW2qP zktkcAA}6?T|@?$&^(w8Qy1I_>D( z(JET}N7##0Q{YR&#-K{6yRbvm9i688+0mE(&}sJvgx&mZq4U-fl^Q)qMr)R{+M|@= z;A1mvvX0{~e%i-J-Md3O4`$Ta+;y|pO$U5Q%|v@U;#8-!hLE!|LrAHs8|LWU#8sgo z^rm}4-T1GS@TjPi-CZS($EAvsj#<_C_|d=c=Gzz0Ai9K_*PHT-zUWiwyhrr+{WfIb zr$f|aAM-sQGU&ZN6W(NJ1$sC-g#93K0C{?2lCbtU|6$e+{+Y=WdT663s#uI+*^B_* zbao&r98=DxswRVFHi!8GH{0P6VV`2x#}FhJIaN64?}kg;t9g@4@rX_cphveE(A^Ot zXe~F_UWr@9j+_|aBb!aB<%lPY{Fw{oQa{UJ)3H&!b%JN^O07%4iNy63TTj1e*o?nHh zB6v{>RY=W2CMgYk?iWv#b@2)^%xr;cb3LRdp$M1UL0Us_JgfD*?(`!$*!r!+n(anTTc&hC&dvbFXKc=^im)wzq zW}W^B?ri=KIwicL#*6;)3h@)`LI#!Llu^H7_HaE+zg7c0biJtrr8Ch;e_ zkJ`)b4&ygurr4X!>qVP2}7E+wNu^X1EZnodoNV%T?><5EaTJqU(t+NztKLK zNM1a>woWWc1oLta(P!nGQM1BYdXqg)--;Vy-qJDtI?-i2Ss0v`G%Gb-nmzXJWW+V z_dW;0Jw?-bt*KG`=IvXA-S&5|YML#Tf8T~vQkURaPRfYS84u5F&xBDc<9UN8Vf?zk ze!P^VDO|Qmf|pOypoZ5OQXl5bra#SNhfK`riFpiLdfJX2pL9dWg8xE(-0(oCr3v{6 zS>~K{HO*f7iqb|?nw~lbiR$Lku?AJ>3gZM5+Cup04rb7H^$awvu?~$p-Oc+?AH~o8 za0aPW_0pn)&a}qVkCzd$HJ*pu=JQ5LP{Tu$;C~kXkaSNdIx?ID)t$=h{V(t4GJLT*+UpjI{J^l_;Eh}r!E!$>LfxxN+D{LQietYh_|)L;kzIHhPFF}{NZqp_Aj5z z&&hv|%JF_adDLrYtigaj{jczzwjpYfc!m42^jZpnLk{OfDvl&XR}>U$}dbOL?8-oOtm_k(A&`q``FAHdUpx5Lbr z!aPFTO5|D9N^{6#Kg<494R%-}CNYWG}da!wM*Jy^o$PSAycvv={9_wMrQ&pM#mzajLjeJq;# z+Sp#^_$~BhQx1ygx&f<&6UAoHeE!N8H{`o*7Jo)B2MyhGuQS!RVNZRq=U<*zMq*3M zp<(nmcr99qS9XvRx&bEhQ+B-K*Pq@=%NmO5m%r~0hGLfGcrGmx?GjCQ}Vkojfj}7c7<+W`e@j-us`KohgQS8t( z{p+8#@n7wkiF`;UMQJrz20lRX;ep~%dq<|jRqzS_PcUy0AqA=MMe1o-8oq#4+ffS#*Up1k9~ZEj-hPDt%1vSE z&^Pv~^&!|*vm0)IGYy)iK85|A-q30PZn(Ht9f^6SLH~X2aE0-0cu&faiuH%e15?{jR2P71U))Q2Z^-mn`E%CM(o3C!Q21f_O1u}kcWVf2|h>@(d5 ztfo^DtbXha=YKy#eQxi8@e#>vGtm*ud$VBPdF;LT9_p-;4PnGfHgByq9X~K1TDb6R zTIwD_QU_&6Z7@SRhr4TDuqWR;)8dyKaN1XO zHe*H;4V`?M4BG8wPY(G}>n*C}oooerP1yU-5_(;Y=5-6^9Zj=82(w1x_Q56BPSQ#_ zTWa$85Ia2CMlf$7-@{V^>Px(&Cxo2s^Qs@AY}-6qHP4L}{l3n&e(I%>zszV;)mCV9 z575M*NwnY71y0r$%)9L`t+99nT`JVcA6swQR=o{I1h$dibJFOSQ^#R6nMr(~3A1z5 zT`+HBJpOYRz568{=3m)M0*)LN%)1AsJq*TSa+7Jm_E>msZYueg_>cyuC%{nQT`u{{ zkec@$fCnp!DSWt@Chr=8&gvmFBFdBMu0M(w`{@hj-9*)>JlP<=jG`aw>9Y16L_b|l z@a7h}?m`H|_U#hPdo2w_C&+&z+B7uFkA|ODp=x{7={UTfntD1=tJp-kU|Ti$asLHn zWUrGdIpIIXuc2yslza_(MdyNZH11yoNzqH9TTkzyF%|3Rj6g!YGc#%Cy>7w08%WRk zA)5DhfJnr>BPmAz=y9LY{l-F#aq^p%mj>0teLpl}T`G$D^o=)>Tb;+&z@zh}I zfAnU=5vqShoo;kgruDvk6vj)FKD|?P$nrRyz6j7s+s5)z%7-Xe;7I((2-)D?RWv-S z1h1QWhPE7DPlHD`J6reA!Xjg8y?nD^-rlrirZOoixkmB( z5X#RRAVZ1IY4!3<+O^~%K4(E_Wl$(3yS+)&`Vji3XM>P!p2dvOisxll4GU}P%7h0G z=r?5zoUfQpHD|7;{Td}W`E3O8bE=^KHlAQZJ}Hw|zE-^0967dqwgbLfTFQ@gXkrgS zf1tNuguY1XW2xI}cCW@W`c`WQYP1Sd(`Kt_mD)shi)cO`Fb$+7fBb;4_)qrOenXn2 zIG-*0?!rDlr$J8-$3VpdFDQHU7ERhEWRNEQ$8rbf(fGOpWY$OroZ9)Ex>a_AI8RBq zJRzNyJ{X6Wp5F%dEN-Ov2h)VCZcTV#QXjqkvz(oIA_p2Am`a~iY$OhoUqA)nJvj9K zGDElk_JK=0y+1pN6c%;B4eNdAw^g2`x$6(~8&;#QovWyB*Ke4Jchg^JJBe>U4QI9U zyy8Mb(iggk9Y~Ys6^<>Tva^mtr$-BT^?$uoXKf6ecGq1n@AG7jV=KVtXVCSeoUQLR zAvU`M>4LaicF%7gHd5#_(5@G9%PsG*fA3zTCP7V5=fZ7P{jvc`h>eB{N`v^r`YVEY z&xgvIyV(TS&)9YQ73dni8IJnqjJXB9&^J4r-PB;sI*T-*Q$-UilX8OSeUE`zUTthz zxfLmxKL{&b_(_zcx z@l>%$nBiFN2w(4Tq^f;eNL{5j65rA*nD-1Kb~OaHg=o-thk7FEcv#3bze<-6YB0ln zlVMR(w_x6g)zHs^+0~`w->bJk`Hmw@fBTMnjT*y_eP;^2uU3#XDL?R=M&V3vv6+o- zJ%S(pxWsN)Qw`-{51DpJ5;QHI0!|dUvEzCHxS^m;rh3m|r`^_L=QclOl?FrDQ_ZO) zNW+c2f7yo3>Ap#hop;5vf9wZ69vW2ABodg~v><^fi|!zl)sLatG^Tt=ScYdeo)f38+XP6}@pSq@lr^ zn5^VLXi`~1cD{2bvwych`}lv{nT$&CC2%wJ95x^yEfm=UEfH`*i#at~)lu8@pg=J1 zWGd5hn#j7R!SmZw$Z0!I!Msc1jriA8b7(C)^f(q)Y#uFSn+tv3U_30lFho~u5@Q|X zC&B*jja2`@I##sI8vYe#Vzy;Ov0Eq0z)!jvG~;J0_#$^xFz*z)A>s?TC*zN_!}MtE zHVAU3I3V?s?^LFwT$FR|yI|hQq$n{MyVkZN8xM2xN__*jZ>%OVDqF;qtq;cAf)^pH zR$bO`${6O==Rv`|AFx*0#*AG1a-`xN&Gvdbf%~>wk;E1c?lx{^4gY4jH&Jm^`gCp50z0;Ytw(jc!Qn!a=)JdzVdXEgfLf_Z0P z2DPDyh8cAC;$Y|~b)3d)jHPp&UPDXmM|4Npe}Z|xgF3?bF2XmMZp>+cb_eFs$~hf0 zDQz`ed~GGYqlV~AGYROu<1(#-ViX4GvDmzplIwHmrlaqLyzUrU(pN_34e7JzhYf@~ zt5nhw*ub8t_Y%xol~mXqXPZ~+(M+xHU~GE@^L8iuoj;Jd;JE+{e>Xg~K(6 z_Y7iv-4FPH&2_AwUx#zFbVP?-B&wsQk<%ezjQZs=u0Lx! zUU%s&v77&ziHlhW?(0P375;Ac`IohL!eS--Ma!J%R~nE_=@=+Ho<}Aew6%*rTv+Rs z^@Gb@dypHx@SgQhGQ_zq!JK45ifC};3U?`H56DRF#G?)g`M?f|U}h)BVYM=*sB#8S zIdG5|W`?kv_6Li;TLz0}2|JbxpB`aa*D2x%gYiOMtP8$<`Z^Oe)Ci`oaS$0eUuWJO zas+4Pe%893--T-yGR#1KU9G0E8aL`h5c7Gm3**TvgCxUpFuC_ot?B|*c5GDz?n*P@ z+@+M5aT1mw~>LIVfCpl>7ZUnFMtH!bv)Uu`M|wib(dv7i)_K; zqVH02+`Yf`K-52-2{7uwM?~we^O;n3_w#*3%DxO(FH^UB9exGt&%ezSZm9(kGjzBX zy@(nG{2NGR{S+PXHRImDEx~iGdU3RGG1E0zjZ1!=!E(v-!GhWDcvV;>lapW$PQQ-_ z@s*G9EF~piG;k2ltL$LXCwg&7drNAw4ZVR@`YQ0FCxh_SPPHqyT7tp{Hek%wSdnMn zE+BQlnekI`#TxxtwWmV7z|k{SV4A-NcKu@xf)-o_QT%mgU%Vg4JtBoQuPnfqr#5k~ za{%kmW+cjYcL$O20ivxEcX49QT)ZhP0HjCU0C5+i$&ytq*sC!{#F>P0C1$o_EF*QI&v5r&Ol?o8`#d@7@M2$KOSSX*)SVTUv>^-zQ;r{yg)$;*;oX>@ECE;~w7J=7Vok*OSpJytq2CPs1YTZDMAsYR77Qn$h6m5o1#gjNu{JRe490BQ0ced&-)+v z9A~ey*K^&^b$huj%kD%fs zNf9f7et|5D|A@8m66`Fy1hci3SXZ}+`7^Ydi%$+`aE%8zclsST@OCY8tycj%q~>xb zA75f;qynN6X9+$R9S4D7wpcY`G!wLLp}^4`@s*=pAZw92){EEV)_ERb^w+j9Q#R}3 z_8?c#aQ!Wbd#wtN&VEj$`9;90Gh3M5uH_uX#x$MpF9cDwznKjeeu4N7!2Nr73!7(t zVFt<==JazdCMNY77;#Mk^S+CLQ9lhpoV7FPmNY{n9Xrf{#oxaTp4$1?rCm7A?|m1AUw#IXUM<9n;wr&O6*W@)-)HWo z?l_>FScd8Cr&uv20!S|z=0L$g=EC=7TvvcX)8OhFD$J9Mcex5lGpv}xi{hTGU{2QrbJ=J1Gh0`Mfk`#H zxR?GCfd39~wrn}`qOd_!O?GhS&wK@(w<8U2o(9PmNfh{5Brpryjsf|i z7-BWnXU=ua0Or}Yt&HJ`LZBGBi2LCo&P~*l1qwH;v3aQtUZu2`9m9xl*}65N=?liO zzOA#tO0BnC{0xdSB0giqvH_g_!Gdg@TFd4}NCJttVW!pXDVIDw3}|HWSZew+(T?)1 zT*1@?ux|Yz^LD-tJ~+t=hZdOPjT2_z<&kRy@5v=b>MY=F@9YL4DOH^94;i}z_b1Hz zDZ)5#fgAQP)du(FR5Yj4P9>18mF_HM)19`0j)@pnK(pf?a%tYZ#V=7Gs~w=r{4 z6F|_~Hl`(F5|P|CpCDQW7AN1s_TSsV*nzFg(!M5K`@9HLDE;6xmPs&kPS0j$gxz6w z?A}Ezf_H$HHS@uyj83r7IFOO7DhJvf30Q|cO^ypEkADY?t%e=B+}1aovG^LM+ESV^ zSXF@S*E-_>8J_VdiUf9TkC>(q718F>BAlhcfTSfDOdadM?7h>>lue(NUThpR( z=GU3r(V7e}5Ng&~c~pvfVCvjxp`#?a|K5g)b6<+%1v%ROto3-}oB>>~xNnG3*#zsPI9e% z8=20aFU;TP4?#3AVjTAx5s9Yx>~Yui+%@M=>{!l$xbD4VO^Q0TWy;Wk>uIokSvNoT zOFO@@cO6gSIMgD{Z6X)Sz(;+*dAo_-=u)&Je?q~ICg1rexXPxZbK}qRuI)Yi%tvC# zLH;euzjKh^{O5_is8rauOnHdjbiC)MeN*FVxeZrQ`Ty^cMCpUST`Tdp>s*QGY0<7Y0w zQwJr`vw8_$S}qDbkh=i+K~>s(Yz42@c2CIF&uW(JIEAL4cBXw%alFY_Ps~3X$9w5I z*qgVk;&aC}!n;}`7{d&}zALlg`@^#I>$_B_9}|n>=i8BUaX0v^TWk2Z#@FOk#aCt? z?+sJd48e5gep3HxN3-<5Og{bPCicm76Fz@m1)qE(ocHq<=*MhNfnYvqUS6t^0-8|I-Z4M`o~b*jt8(| z!aIIh{Z%?D`~wU;ehE!xbon*1+9+$bKXPApo;Tbs3D;SU!2QMj{Ll+~xIHZpZ+x>3 z9rc|BRl)Q1>*1G$oj7H0Ih4D! zACy0i09__rE1nF;)gmCv*7ayROn_)hp3NejKPdp#hM4DIf6P zDBkRCG`W$jfebc2rbQ30H+7$T#5*=rQ;%bZ`Mf&}e6e3RpdM7BSZy79*(3V={Dmv{ z^EVV>^S--K#dR1ttSIG+;9Gve>(S)G@D~0|;Wy-XVkUXrvmeb(e2Av|Z$_~P!l_O9 z1bD>{(zZ9AD6wl34^Ll$<#vPguX6$YaApO$()O6QS@j>UQ0T;tXgDFy);PYUw32+G zt@KdgK{PWmiZ%}f^69l*@YSK;^x(uYw69nbnyqm{&KYee)%PavoVyL>9*$-Y%C6=e zvxa${!d2GjFuF6BRo&@CS^ZiYgp$^E=P~g{k{KlE_cCNV3Qr zRvc1;Zlh&*J-Qv$r_|95huw6y_fu#O=G%{*=EOFY+3|_OtaS1RaTta5q1E09{$lt` zxbt%mS(+JzninbZ6V|_iqW-twVp{$q)C9Bnvn|W&dmfl9%_3AKhzVR?RaoV01`D)T0mG}JC ze?xR;zd8TrzaDC@^pbZA{DB(JO7XEL^iZqcXZWwf55EoPHfSANq$V?CtkcJ63tqc1%|gwfj;WDsYdoWe#~CO=FRhFK#8@+@bHq? zFq!Dlm-RYuX%3I9p2v`kQ$u`qYL&fsV*&5+-vxV9*`vtIS<7CH752OXhS2^-f4bK` zmLLB&l}}7zNSn7DPWo8~xj%9!|MU|yRmv5v3oGSM&AWyY#(L30CtY|Il{V{jrm-a| zzfk4hG?@H-1AnkxgJw57qb;=-bj0x?|2sw*9@5-GDZ36eXLr!Li@o%}-#qWsnZORb zih=zpJbUnPF#N7m0Vh2w=ErKyq)E3UNopdGBIIuKi$kxX{}lX@*7YlBw{X5CA3jCI z;x_RHVPQz?*$m|2lRzE6b-(PQ#=_aXW;lraAMJ6;wSr2{W#d(A^>8LU(*dDwZF}K{%44Fc7%*C4Gnnc=p z>k*wfMU2Nr#k^1K74mk$UUW78Hr(IQBe>=R`PHQrG}R#*){gR{Dv?I`!c#kLSab+A z`D?CCmg&$75?r(bA60aubyAGgKiT1+zcz;4P3G zWYtTM`OG~?bMXN_;#vmp29l7H<41bz(?eSBu0TiLmhw;SAM%B>g&u3X2#(w%NLp+z zO8FWB$7q+>hq=r132O7v)Ffa2^z0#|8Lq>ZG`!`9Z#dx5Ii`pnI)=!G*-&5TSeQAt zg@3v53!FXFO`~?m(Vh=4`B_89Q3VX)lcbKrDeKeOsOw{3xu>>Pf} z?^0AXOT^3T{X*cI53d)piGFH)1Apkp;f|jTiY=Wy;~Z~ zzut2Z7KD9cI~SS2v~w69SwBm7jvpeAS668M5jU`WsSzI&902_VS3-^I2Glnt5)S#N z&?kp#`4xt*XmGq8y4h!9KjmFE71xd9Gd6cLkBJ&hK6lK6lQz^5jWWs?q?^Og`5L@s ztTC^i{2r=Ifavi#7i3i3XD=h&ir!DDLVJX+=F3Z@`2f$4e7T?Cuh~D2&sS&BK+oM~ z(`^+{(yg5Dz7qxit@4D5JM9nq0Q0c}c`sRqWy{v;jf#!>C^ZM!{cE%%Vgh^XHOL|M6A(a?IvS@HBT`+8dbVsR>m60rUKV5)ib{2w1|LIc8 z$VUS6ZeS0Ui|EntlSoFrk(F31PK&2lBh}B-K(x6ZJ!?J!e?9TWQh%VpycY`0dp`R; z>pG>`aYzic3(R{twG@+ved~2u&CwQAOXnE8dt^So_i`Gws9Fo}wN7B)6{u6^)5EaG zI8R{S|LCOnldz~Ull?oVkldX%7Z%hawxkP^Pfhb+!50(goj8daACrdX#+bnUxhF|` zsVUsCDOl+9Rwp+9Twp`Ju;+a@mRM-W!pB$2VNU5kLiP%7^ArLr_R6pmcdEm8OVeS_ zAZ7!7b>YbQIk4iJ2V13P37<8LhvBc*LDOTEu>ZvpxH#MdE_h*!Muk|yut;C%F>MUI zJ#i*fexwbPVeq^r4>AB7u2Vv7Hl~puOno;UVPn8{D|1xLUtIrPz%=;sho0~&qXWP)I z`UV@OfA=4e?7BuPqYuHzEuTQ#p; zKOeDoTGeUn_bIfk_8~OBW=B&u{h|GVCQx5NM43Al0`ty?OR6rDKlVrH-8x2K-dhFc z4d~Y+6JZ>8maOfFqV-$|%-XvPtK3^oZ}ze9RFxCi9CwwbrR%}WuE{t$IE`)&HHSs> z6Ud10+-_ES3!~&JsidqoHG9d!J*@#0K7K|IZjgsw8a{NNz!P*AS>OeeUedx3E9k`f zBV^@7M~Z%gP`8`y#2`;c=+f4sD}vkU0NG-;~R zvXGjtY@;^uzp2x%E97U7K4m8OlDcVqbX=M_oj6v3eA~>?xpUlU;vZR(E3e-a3F$ei)!r5Bwhod+%v-d>3gDLu!9KXy}%86RoCelbp80!fG)FEDR0HcI9X>G6)_ zM_C23_vZh^w>GWe$IrXL?lBqz4u!ob3X^vtYTk`t^`#k3bE%>zv%4bf1(q&FGZSxnPdfb}j_7R$N zy^vV7bipb0*QsyWUXak~3*FPbXvLixypR|2b_)vWsoeo&zr+!^+i)GN{k@X46#8Wh zqwmqj)&Gct+7CEh$Tz%y6UtDe&fX8HpdDsyBWnD5sK-KTiKlvRzk0Mdd|ovZp%s*-#37l9$3UgBx(u=hJX)*h4np;y>2Q zYaCo$vXPaF+Dr8Mk_G0i!)DgYk~41i;brenP|i$=To>1dwIXj2BUvFZZv;DUdb9Ft z49L3{O*kZ_PGW}=NlI5IY!|-A@}=1%eML2Vy{?uj4@@G>*Bg=8+TQ~6_9mkQPyF2- zQZ&isD3O@a3VV)TqwfEWW4`Qr3QJP_>He%JR?TQ4JX)_qMxIpyCGB{a)h{sb^_$r7 zEiEvpUV#5}zQwE6r3c{dKQDqp=p-5*4Z zK5u5t&$_d7OV6;1;)~hiw=a+g^u$48Ef>Oz1#;A5^JUg$m*6%Zenkzom9e6g-SBV7D!TrN8@tZ99}a5C(d@ql z;OpujfqB28E8|Xp+uFHEdzUv&2=xai*OnmF$~{!-!hF$*v+L2+W-(F{C5C-smY~_* zp`>U2LT;PWdt_X3lDYU*a3O{eWOHj1J9+U(rss+dQV|)jHpg=q+4*0P(rOvDH_9J$ z?D9h5>&3b2NmE!Og)49%aWUx2c*TlcOh*zMu8`&rwIr_I4d(5iLp^=6$&zew7{9EE zrltzs|IkiYr8hw5F1teIpZ|jdy`s{=GpXCc4p`%yNB3P$p)*uDSk+raPn#zSzrTtw zeeX&dvEl;Fn)RQ+yk+V1h8lXtelg6xZbMVeZG^cH16?G9t|#p?bk^$UaONZt-4L58 zFz@qF=W3k5yzK<$Z3FG1vgu`!6-_&k4HuOEq&GAxsHLGZ4BFC8n?WXp8%$U{S)7u~ zyJ$2w)o{8`cfN{_D$aGiHnxB`gISfQJlcuifyGw)I5bgw+~=Z zh?&5=y~(ciee5$;2YM}9=+SsB4_`(;rO}mw$K<{q{CVdUWo9j*M|N4jPZ`(fN#jhK zd&d?&7v9qwx3$qT&jse~*GZ3GHf@?y-GryO_TjCo6!B8s7x;XKGKndx1B=t=Fg5jW z!TUB}lK8BgNRG87g&HxUJG#RDPo5rLu`i#@^_ORk>iq^UOqDS@?~l8-Dq;EDr}%4f z7nvw)L)NNf1Dnq$iE_{y(O84mjZH+0J0bBIOT0P72L9;7`CTg;)BW-ou{FE6+72s_ z-hKs(&)HEMq<^`F0QIid;st|Rmx{2&Mnz)65FPMSyM!aH9 z8y?+Vj5}<_ne^UUz|gbC?rmi#bN8(aI4V8N`3C6V7Eux~wcp6?+R(r`OkU0W@N#74 z>R5tIYe!(XXj#+Rdx#w$*MU18c5^x3rI>Vu%iP@&8>TwkhxP3pgTI`91$yob;qO;E zxN|`ZvEs2@P?Tp0Hl;@5#-cu~axILVFYx8ZiMyDj;RC=Fr-9OE16ZL;i)?ku!f6+Z z8I|}`c21GmSWC7GIE=anuC>>*({2@VcOC|F)nORu?Db)1cP-;w+FWsXhBu&9#$f*8 zZ&*Eg08e4gGgU9_a3~&Z^gA~!%Ab2nR6{nkNq!DadA7yN)5+m=lg-e)QQ;JO_^yiJI5U?KhRV$Gzc_GO~B9c z8ggY#!JLgo_dt=yTp;E!B+4{@$Nabz%y?Y=A}~OIPEoE29Naz+Or3oMD}J;9sg_kB z<+44KC6fRObFW}!CJvvBTZOd;#M$|56rvlBoiF?b_Aa-J_cUb9s(AJ8;HTyDPUWL8^gz|;90~L zusX}R7d=mLmr5zKa+it7w?dXXWb~ICcAf)9TRv#2a++^jCgc z>$MB=AL3sB5x&QlEg9IMbS@#j8hAEm}hyZVZ*-de?7t}q6D z2Ik{U*7umK*nW__c&Cs9@dl>@V!;fVOdK7lK_rCUp~n)jT>6fD=0R9Vlg~HlITyX& z;F(ItfljUlw`%-eZr-dR?(vjuOx*-i;rF(UsCkXXch1dbRDC=c#e6T|_{SF5?%&z|>{7VkTz{cdX5r zWhWL8l`oyF`0DQ<$e-c~i}RTMlI3{5v>m=v*aqTWC}CqYOD;pToRNtB$#^-b;ivH_ zpt*h-i8ZzZ1%)CavB4EsR6PI--@0>d;Y%A2yqzYzGX*duN7X@4^Jnfx=470p9Ll`- z^-k#C^<#1n$BGsF1F_68=J&b;km;%pJ_KIFDf=s$0(2z=Gwrda(ZhQ!IHg_fJg%*ByDQ>!PTNdl+p2prg-*N7I4NgmeSvORGk^OciuGf)im@&d}Ij^wV=e3O8VQo=v(^ZaG&tqb`A<%t3iu<-;47lVq z4j=5^4PfOc(OOQH%VXyNud+m}b8#t`pk6NeZnzJ4U*8QpGQ^me_#7afUBL9;`pCsR z=wp3VOYpvF-*Ce2P+%T+fEiVu*`(!^1$@6q0^bX*+=JB*!HTt87-z|Bpg9;rW(jqg z!ROV$7}HkK^BY@%e1swQ-B-Gae^?L1I72+`*Jiwav;;e5`)6F8SKPGa*gtmJodgiF z@G6(3BaYJ}w_~}3COH4+39@~=1AA0H6-eI*VIJirnJr*jI9ns*p```%~de%@!a7q@Ut#`8gVOm@@2m@JXjNjv8AJaaB$ z`b_Mb`w#RSKgPA4S%>Gk-6qz{((s^KAouEYxR9Sv1mk%z=Ee0lSfV4I^AT@n7X6%s zmqjPy1-pDf(S|Zc$1IsUy)Klg{I>`9ccd}Bw=%#kas$k{70qPLS^;LN?O?qB4uUY} zI%YsRnK$CR{m- zJ&Lul&xL=?9H%y5+7nV`~m|B`+?l& z+h9bx8ANT&;3|8xL2lw~_OyL*)4(2cQ1!kDxa=}vWn8U@#Pf{+tnT5=ihkhhwwrLP z^LwtK^8pwh4i{}O-HJ!unkx!9pDfBaJdruz{29k9xPwEUQ?S7j78kwv3c^fAGkVgp76~BR*FMp0vex-y{es2>wh+4_@e+&f7gO z;n$8m%GcIpB9bFXcc@Fij;Q&(4LOCXy^HwcQ;yQ(>>++asue1)Q{fj}_{Ptg{vCm| z^XP|m7Y155w>;-8ja#5QhMx&zn51+N*)!l_~ ztm{!4p4kO!=XdgdxZz$9_P7r4PI_G(bE5DmZ2WcbAp{=xkVgPTdy#Tk~isC(GLha29 zukkrC+u-1*Dj2t0A9hv<^G=_WyqFP%8k(gjw%LlLU9sgee!t-NB}tLW9xKo^Bo6l_ zgun!QZSu-?JwLqGi%;-uW(y>3_zMw7`S|!tJWBFL#U>|F)g4V#v1AG|Z1We`=qjXd z909BMD8cf(xxBl+1A5Sv+`PS8ws}Lf4}T)#4ytWev6l*8xc};owG^4h_H74#iVO(2hzCc!&SQFMjPw z@;po7{J1)#cY6&VkQ0cqo3)VVrPI9Lj|ng+)CTTLpT_^#p#~i%yAY(Ii;iYl(6W`~ zyiFhr!}fiI7TijD(4z@*4G`Whl7((1Ga*^u3r`O(g5OVV$M$1`;25bbATGR)FD^+W zeNaSYbU(s*RI(|X6W}L{pe`kTQi4tmzp5$6-6MuItqm49OeB}BzQA_hIEFl zMaFeOv`G0+)1I^`{KEHp>57G``K)_u;M;>6X?;O8iisPtAM3oGU;6G0f8j5;5b?5U^TMn?lpOqt@x3_p+Nml6TLo_q?5HgDh zrTq65eEOj+@VWOUn%urh_?u?KNv(s($>kY}S5W0eyX{ccZ!ah zETPAJEF9dE&z_w$f{rh+BDcbAawc*drGqo3uxzMc8)<|++ zs-rPV8t|a5A`y*SPFvmMo8@<2hqJCe0M{%VNNki2sgpMWQMSTeJLCZjRe4F(Cx`IM zMSrNGnF~K^zdN!~2qnsMcJXcBn`vuIJ1@ujAw2BI_R7Vf1qT+8L6_-#Z|?-YGcTEL z(fErhq+;Qj@*rM+SvD%NOXQQ~hOm;)v-hOpM`*xik2)-?qYp4tHWC-;bJ( zY~Z#u-{6^%&&L?n$Kp_1@=`a$a6YWlE@>s zc4sr^R_=#VlfzK*To-cweGeaDHB284zu>j+4WfL7^E6@ZU;0&hnBUSoLcJ@L_?OA) zlscPCwb+_=Y`yu`J`ydv@3+p;)ufsjw_OcDzS=tYu*7EHB z2k~$ycnUOFuaQJEITrDY{x@OpXPwf6^9d zDYhV&a}m_RGf~)cvgG?uRI??w_0XDb+~Y$=+4;sMH+=%#l|+~~vqR#79@ zaK0wmgAXvAOT}77p+;vPnD&0E(8;lpU-{$FH0h$S|Op8idRd_Umzv7GM>hV8*N`s)Q8&UnoO{h+o(Q6&Q!<*-(@I51M zpzX6v8hN0BJ~es6+p^2id8xg8Y+Np!d?Hiuy_UiA^IK?e{W>)3l^yz2@q^zy?=z~{ z@`Tq=dW?YnF@93nBl^1KFZ|SP)x4m)nC6=L(%kb8kk{@7Xq93+t(dhG^%f@a&(24{ z<9qzsKlvIkLaqd6U#p>IW>XOq+ewe+Ef(E6yq(|n))%_+v-r|Iwdl>0e)wDP^$&4MD%D+2 zL)PZO#QjQi(Gfj1H!+hw_SdtQU>DH3DbwhxzMK4blVJEZaSGfp<0*>u`~{UPrFea- z<@}CcWjr?_8Etb`=QEZzBg?lNNm-0CGG66~Hb3fyyS#+{6;(o~F8U}^FzcbyFRnm} zZ|{&rj)4^Hy@;g2Ueflji}dDI3e5W@S#;5px@t2>=g&;yJ57?hpQ=SNJBq=hie_qg zlKK5knnFz;K0EL#t|_q)T2XmNI8>__;{s~6^c zac2WN9>I~*J7C2hQ}*JIOYm9UK^Xqr7Mh+dhW)Rn!^Nu~!39ri(WnjGFf7IvdYH$- z+iI_%@=E}d_YK32wmERjJ1?jwy;NY{X>6yg5wy2bg!yK-Szk7rJ@#82o?7n(C3kOR z7s{*^_Pn*(r{Wf@MgxKk&tAZJAG&Dp17DaF7s1{-`RxDqyhG-*x1&O-*O*QS z^}^qf>|9rR(Z85Yn0THXd$gP08sE&Cp0py`LPs=_$z(4a3ZUa6jcI;O8dx>+5~=U#=WD(vb&*l1E6)Y#?q3Z+3cNs z4I2AJpSIPkg2v5`G&Q`4_6JRX`r^uzY2Pm}?+tKCr78I{|02CxD=RQ>Bf)Jxmwr9y z3geoD`FdLnt#5FHS$q1h^2t(q^HCT)RU=0>N45*hdmhYu`2a_kAi8-?BP{YrCL<+7 zbhF$C7&RfAN^0DpX3yrsJrCq5d_F)AuGfTKTHbVD%vh@HbOX=t$fSiI#puN9m1L!< zA4T6)soPa`VsJ8pDrWzoEAF3SjDH&m%v+vrap)!g{*x4#w-k*jNv0D|9il4NvZ?9v zB?9yIp-w4l$B>uK?)pxum~@;}U%O6)vTrJ(P$w{NVb43f zngmaJM+<}Rl54fC)KKWOy%G~n4H~D?)!L(IO8^%5%U#kpsYGDjzo~`u8agRol9wFK zP@r{)glW{#|JLlKF-JP_GW?LXAC06tyM6G(-Zi|$a+W5A-6OryL$vE&K0R9?Lv5W0 z=v%=RRBro`l$;TUf4zZ}pFNAbU;T(SxV)s#mT2SRc{l0hSZPYO-y!>5jRfX>MPS~) z8Ru}mXtsAGe$CD73V|2vt2peVSN_yP;_)%tl z>^=V-xZT>CAMbpZ-7{7i=oU86?xbjzdbY9KXPl(}DaAsySC_%&Gy_^UX&oCn;tBAD%it0n`n-T4qGy!z&=mfO$+|jL;0LDP`X5yrfqcts^`A3T&$JQ?=pc{ zFEDQvdTRSYVQ+Z|?l!qWYybMOmM)>ta9=rn zT=jxDjDH5lYYfx(y$cxHc8w{uP+FI~{V_N^ZTVfg#Tx)7KkysGihx zm|F9R4m+?U>5Z`GeJzxicL^nZn}gZ66|KBnT0NCEcm@|g-NdW@0aRzgDrjC3%&Y2+ zCtJI80G`rKy{}DRTl!RlJ?|3gl;Fm0d)>#z=9g0Kt}>`-@`N2x8%0fa*+QMYcC2cR z4oR-_gK}zR_@m}el0AP5RFpl(COaL)J`sZ3Jaao7^Ii`(6%@g>%m+5$)LPbSlNnr` zSIA0*x)Z(oS71&+2Ahe8$(d!U0`nF@In@?&T}~0!y50vdlJ(79NtCu;52q*2CxOm3+)G{K+A#^DlT{cs|*-&?_**!dcKohtzYMp=_j2B+BF zY5Sp5lMXcw3~IXld%M8A>!{R=HX^;j7#43U7MS;Hq03|*tWT??8lQUD_w`w@X3KWc zdPS0bYPc9)JY+>Z;!d$H>t4bB5ov0$=?^PfZvp=XE7SG4JJ@wI>)@dJ7J6801Nd4y z7AcppbY-FoxXpwh?QJPEVQnKgc}@eVR!yN&rIn&nxe@~NK0r#sUSJ=aW;A=rdeRd; zncJFCgpA7wQxzS7*Dra1Y;G8^lM^MFo~*k9^Uh{%3MVnL@5PXkw>R6H{RVW@y+q<+ zC%EhGYOK+uqi`U;67;&7vSPR0kVLpEY5qKi#5FC4d2z?7r*}MAQaKgIdo7}=Db-YZ z%{EwNFh^kC>Qw#>gk&D1(yNzIw*^mOjmuBEuhyN;kTHc-1MBH&Lra=?{UJ=>qevqJ zA4QhF8$6JoD`X2#&@=1?n0-&kU(NEOTLFeHV&*hy@^m_D;}kekQ*fJaz9KO1bf`ny z1m-=FuFemIc6-jz%dmi^C7Z(qrG@l{o&&YiybXhP8PjGan!@!uEY=dEq^^ht5Qb&{ zY0&cb71Z(L0k-(=Ci+sVm$Zkcu_p?e1m;~%F1=mH-m0{wN0g#Twe?D{SmLF?y!Vn_ z376Qehv(_Fojo*aU@CkW^^8VeT1GcNGJ-#EyHaK*phtGd!B5#K^yHNLG`F(|K93O` zQ`;xeGcPWqG5$N~@vGmP7AbpTqr|&-x78i&W4H&mvMD4%xDKqnHjTM7Jqrv%Qr??=W>_#R%4mdHSGFR0r+svv8L?hL!u9AwcMrqS3!nD86LB= z6q|dg0P9Y1u2S(JQ`+JQKZ$ zb}+eX=Kwu}({_F{&6!o<6r|4#XgYIx9)1?L5Cr}1;QFt<=j{AOF`p&;7;r`4S1P)| zpmchZ{d;l26M^yTm6F_#hWAX-wvF7){}wWYLF}rY3HZbG^}^>cf`6JcahHwDvG!#I z&h8us))ySaO{+?<4Dn_cj0^x3zceAIVhs%H&w|o#Jf6TWBwG)%_%Klt{fgYzB!9yS zn~cu~PUEY=i}!C>hYoeFL#v<5Ya9SZ22Cs~t`Mn@nSp~3X@j<@mcVhI7FKvtjwk;c z&6NMp#B0)z+O7O{Qgqhi9M=-P2bg!PV%GgO!6{otM#f`2Cd^?jOHJ zwZlrFBu$q2G3TjB%1eX!RQiw!Ira#v``qMU_fc>#))N?6Pry2JPJ*Nd*Fo~LbS7`w zBv9~Y7;D|J!|C@XW3ypHc7ag_GxOp%5NUZxl%W3^2Q7P!tsDLWr5}cYREdU=U7CW| zO*9qVpRj{#R4(OWBQn9hiuE8%#TA!4^93EfLty0td17e$9&F29!BkreVjFoU;3^)$ zz4dLxk5_gvuC8Sw(`5{o-(<-BI6E1P2_9+6)O_BwOLisrC??5OPE}`elP3Zu0deEr z-)9vEFR=kzlfcwK!X!(qX&R>~4sKa|+SzR9g-j)xh zNcDod9|dk|oC0Pp|IS>tea1Z6T?o<-gaY|HL!8df8~~hGVm-?MM)&a{;Ckyi=g{KF zm4`?Yy#v1F;$|<=(+@|unI4mvr!J17BiTo}oFh-kG+leF=lB{(;Xk6>XA*eC;sa)P z=;HICONi!d3#{Pj#G2IZX7mh-fOPx?Fm<&qc=!Da0JgWl3E5+;WZ)C#(pqN_wol7W zKX{OPZP*Vs7wu>6wDJ*iHBakT2K5Q-7+nmc|W0ZsA%$$rVPIS;;B6@}kBgtBLJ-5ev?5U?)%d#BE#= z!RUqhi%QOI0GC_G;{S35e}9||Af@i$>GBwM+(@-3Y0Yi!`s#LYEdDFg`pmbf@YO-Q zDbSrcJG=&@C76R29b-`BaBUAcn@kfjNpmLdE018brX3WupAG^p;!!}4L#(>RW^n%A zO=9<94c@`N!fu--v3^Pl7&CH&J699JG`Eih<(`QkFuW`zo6&INHv-IrS55 z{VS}T{x%RAR)>{7nlclNGw}MEX1L|j2$=f(D%M)p#1-2IitdSp+dVtei?3Rmf^+Y$ zkjUM>;F8f5JP;oPOsmI&#bdNN6Uz-v3D*yRP=1JcGrAtwSIy?W>)GQ?@oH3G-{Fc=m62o#+C4!$(o;C;hsO-C)qfz)v`no9b=;|pbu#L>2i=xF`L zk!5E&vThJ-)i+`7M@igCv+v9a|1}_JoDM66yFie{6DIA;ZJ@27#_k(GgGj2LR8;-Pl{=fR3Ra%|g{vor;z=8WS=rA4haWnS+ApF{FBmGWSu0z|!s} ze6LH`8P7@pQbdW9{%Xb4#Es$p?1|@0CZ`bnwpDnFixnGru3hwMtFA~h%89f4#o}t+ z3*hbj>EQH~UrZ$%gzYbVz#E+tIVsg8SWCYZuQ{P0WE}$W!LMD|BPXtDmHKXMmSu)_ zpFy~35e5^Swgah&EYqN?&0W6Ki)Cx1nL}HQM5lc&aJSvln3x8kB_u?|{jSOd1qVbp zmNNu<^zMk1Jzj7HOd?p^WrsBro^c0nj~0D8HyNy^hk@tR)l6*cPoU5<$b43+;F7O< z3r=>5Qvz*q$p->V+b4>OI=Y*@z!xxk&r#sg^N_1HkrTM#e#RpD6VSRpk2qFUa)(X^ zFwYZ?G0I8Tfz;hp?$>I6Zl--QGh(5GmD6@&|MGj_*Whw|<@MjDyi-c7m+K3#Wn2VT zwBj;OS=NOmll}0yu|hs>!+c>TbsLPHIgaT!e8MH4sshTZd+^vzJ4Fd41{`$ICm!{zuZ8zt!|TY`Bq1MX69BN@x-i)!A#Wl_8OYgs6y2nKCtq=9!WTX`ob+ zXp&NAuc443WGZ7ar3e`^)cgBFwZOt|J)HEd7@Id<*ZsE_goS8(c>uY9B_cU zu{03uZ&(cGb-m!SKR*Xk3*K_k`VC-%l`>EbT}FoQDJ1rm*t&iAWt}z6&H`Q<}KH6{>nYYmJ@Ege( za1N|Yy^E(l+9|lbX%}o#HMp~zEIHXJb$HpJZP=xIBj-D)5Eun%ayi{ylG6$^@VOsl zAS%8EOdaLLZGYs%otcifqh7tBHEA9&_Uq$EzD)&TfjUCAX(l)^Vi%vUq$+(nC>@;8 z9}g_=Yw^lgFc~z<70lTlBkU>;!`Fue;iq%fOP`pG=4Do7**(;LiibRKk_?tBmDK;O z;SN;i;g|{H*2mfqY-k>ci;_Qqu+ZDU-fawm%D9EUR&%DC*Wg1k>m(dm%?~ZfprS zC~hl=c~~p-rZ468Cdmtbrlbkgmj((f*O!yNIt=98qkvE17tZ>`0wPnX&gaaPNOMM%4+F^LjGd*fZDO*5EoD-FO1M_i|$so(#sJ zB?7JUG3L*V7w^FjBw$0y2KM<_0!*rV%RiP0plc3)g;i~v*x!jVXkvRhp-;Y`sGEb4 zU!T~|KV^sH*Bq)dsq&|#0Tn34?*$CWor4}9en|TZ-OwGIMu?xNP+^~sxSP9&4Qzi{ zr&w%*rW^{V?H@Clskt2{=DloTtg^ku1QT}jVmeZ;T?pg!bl{CUKjHn7Vx}}x6>5e^ zQRv*=#LMk7OB{ca1&_Ny!uCDnjjykRI|>iOpyVp5I8cMV{;tOYr^@jQlddr7Zoon( zsxo8U4Jbdk0bM9FLdDyh(YUO7G({;BDShmR!nYdnj?t0LU*?XQd`1}JX`Z99UZkvLT*(X*r+>a z;p+EwFt~I%`>nPKYS-N*=f`WHbh$EG!e+nN~$&?!Z?dLD_tt{(LY=`#dXfwW6-e${6_f8Li*2k1bUF#(T83AuXjfY-P*= z+V-ph8S5Pf&f+=yP}5lE;W~ktUHeR4t9(VKIsa&$n}^h+cn)*3EvMeL-R$7YcKGAB z2EF*I0`0%-Vm~OrkFEWi!_Jq@homPJj+^%$LBX9B1k7Y=YF(r(YbDER{e*TX4kL}0 z2NB%mfQC#Ohr%vCrPF_Ig4e5t&<4l#D71P9b2xSrW*TVI9=?q}I^It%#cXFbR+ngB zN&?@T@E5K77tgTjPa+LoCOX58pmFtDly<*iiLLu#%kV=qa>WI-A1guiA$QR1Ex{zKn!K>9apBJ}7@p*MY&z_I7vGiauP62xu}EdCB1ZWgknK6_N?)(rdX zz0u(_oA`5{9dy(gWtyGuC3?XQp#orptc}<3b|yyf+Y%Qp;aUbeGdPy*51J%)HP+Nk zJwD8SbpLO5rt+Y@ouOsj5W^aBRNe^5Xmc?7c>vk|-(|52f4y$d4`aShb~yJ{v7gjZ zb5bx{k5~TF0}I`c!RYQ>(Lq|kJa<-6t*4bt&iW~uJ}sPRGgWq3e-*9!c8B&}PDd4E z%lMZ+pCEpHKOLerh`rpL#hQb{=vMbubj~vlW{-(uqq-iU)2A=7$gC0^^XD?#`4Ylt z{w#@gJq&w7hQZTI?!(19Mzg^aDJs_4L6b5!(};F+xXdUI^+gW_Uo8t+;*WZ&WTXXs z(GwV2EpA1Z8p7lQ$@p!2D!O#am8nc~hn{^Fd{b$u(Dm&i9Ql1AOR^t@4CKDR=aY}Y zLWL+^TX8uBI|GpCqTO(Krw93`Q!ABPW9eq6bjZLqgYd`*pHd>av#9qg0Vx9b! z&nP@kLPM-_nZl|oEV4+2Du+<~uz4uFY^8~^79U1-jTvxFNfp(Wx4= z_pbwsFLEaXFK4nb-Gh*RU;#pHeH85zpMA}~>~+Eq{&Y_u^1AJd4An2dJTrUxA2Ni_ zasD*%=_a^*?=Si;y$9+1Nv@mzUnQMh?@G7$XQB3ufy~iKg}5iJfCr-{Aa_G~WKkwQ zQ`elOuYZ`(2fb1{?6?UlwtLSuSsbBiW7AOSz85g2$1TYi}4b8O<8F`O|6IUB8Gr+;t?!pNqbh377e< zH!d{U)P|4L9ZDnLFJZ&u&eJK21JJD9EogoIFI1;Ij%vs}rNWq6TEr+C9{7`*)s>@j zTYKP{*eGVXP7W@R!^py0?BvT|V&N?^Y_0oIr1SvOsBuyBi1dW$F#NzC#7<_XdJ&yw z;R5>xuR$t@BT>{SXTCbn#Ld_TUYTz_D9WSDR$9(AhjPGp5`W{qZyqpD2>x72B>!8B-(=grT3iXi9 zLZ$`%=!@wdwtdkfbnblyGkSFjaXM8@=aB||?AZc4w5san)-}^q!#VW0@iF9T@*A!C ze2tz-TZ~#weAuH~1ZM82frJ0J!9{7m;gNa;S`qdDnKx{v$5ck(&5eC*vr{9Sp)iqU zHM~Zjw|OC%Gh!#RaRpnm`!QX|uA)07`Suf^`qEXrFN?{Fsgt+eKq@Zm<$vY$l2U&a zmO0`HT%o4OCLFrY^x}J=T5Suu|GF6&oIPwm=&c8OQrm`hc7B2-zvG!ZlVt@(qmcWR zhb(!VE_!iiPMztTJh=1FWA@yw1O7Fr;vcFWg16h&GDW+^@QZE@8$?$!-zl!Na^E%T z-1d;^1PT1%nday$zYHBuZ>NWYq{vbKG%B8VpE?G7W3R5CX5MbyXr}H&ns=y&4b)I# z=~4m3J%5KsWyp~4{%LSum_PNmKENH)ub|g7wb9R4wzR_f5S{)?%z+Keh4=4Hf>DJf zD6F~{awz{(1dMyKdD_pziP`UO(5{YPH@i`Ij&Aee;)*ra9toM1Ore-2UJSvA9j(;~RfO=6#kBGa1+#JRg<> z&Ej1yDD_AOjnJ;U;2A^N*gIgc3hNk5|VSD>|xWv^4&TolA zGJ7Y$Ezwh;i{&SHM=u8s?b-@E#TR zeCCgnFn6;7R0s*<7i^y(GVdJz$@gqt_se!z(+1$2j#qU3Q$-jX)yX#|-xitoPIz?V z0{+gPRn%2>1cWhS&wI>hsw2M(PAzHT!)}Q^v+H&IpK}Gg*UjZLw`d{X=bgu2ZH6NA zz6RCi_YsvT8lu~LI~=pYi= zDwWvLYRluausf5#yVakDfBH@vF51Eg(m6C?a|vzVU=7E7pGCRG;Ue=M1(%-xLjGI4 zhBj5Sh|F7_{I%UczehL0$eIwcL0U>LR~d-Rdq39P>P&An1jF2F6XLfsO=R9F@JPp1 zyuZDT`mND~`ED|#ze?oaO6Otl$Z)D)+Cj~mJ>Y>?B9nOCO%peoL01Dk8g@XB8h~s( zFU(0~-mz5Yyy!N!*Aurj8mTibAch5EUh%jrUD2tXj4;HRcamSMIAC_$?w0vDQCKtREM9Xs;S4RcIzYZW6Npq} zKo|P#p({OeyoJt~qb4$M(Hk!LL<&!8QvC8ZWmE2uuKCrp#zC1rUlETBo}8jpv9l=& z%pwu9bm)I?bVcU;CH3?ROqkRYQ!!F+XoLegov{?W zf*aHedG8~^yzAjcxa43hKhU+GjHw?EkF9ylAGva!LX6I~Heb6}6g6%yXrOyYag;BB4lbnv+qBx&n)_-3sw9on^n)O}G$ zvg=x?o1ZI@`Be;?wq2*O%jAgsfL7R+eT^=B)yRFl;RXw%GHFEeEq=JE8BDMACH)V* zfaYZjnDV-U{IK`t)k8NzpIa$pSwb}K7_b)Rb5HrmGF$v;@@0P2+96QcErwXESOOXj zECd-kDZI933aEaZLdNxqd)}+h@G}=G@){Ob`K)`h$!`5-{@y)vK1;=&q*e3SDz6B< zjwqw@dTPMfeKr|#WD@Dt2`7(z7V|?El~IK-TPj-}&EGPOCA~i8RKaN&F!Vk_`Q8R9 zACf5?E&ECGKhFm%#62|^TYb8;DHsg?{6=y~U6%&SXmRNiRiR1U4zfdD?0MG(L3`1~ zdvbjy_&%WmdJiDvi(VHWv@--cRP3S?eA}e=S7pMC9*LO2Qzc4!F2aI+1OMM`zIPhD zoET4azpC?Hh3>F2@GrUc;2ZyRxC1PUm`7dGpYV>JGvRyL#nf=iLS7OW0sGdrQQs3; z{N`CdV7GQVO;h{|eyGZb%sZK`iZ=##Tn3_1eql6v{djQdV-6ZtagPox=#}Ib?n4vn zhmbkiFtTwOP1;ICqyJ+?G~rweSKjvn`@#fd-O$C46Y99O4OfsBH;}i^J;M!Z z`GquHEBUvjyTQHR9Y}7QM7Uuf<&8}o;QNSJ@J7~)m;Lwy$@_|#i0`E&5I<}$*|mL3!UlKLI?j`2FbiGsry81*Cv|8yO_Io^X#)`)>Vp*kY- z9!}wgw>;J&lw7W)-cQc*aOenn;mb5S`%5KXAnX#Ew?J-h4(3lDtPz>_7ILvZl5c$O zLyxMak&4Y$^D`{Bah1wZEV4uii%e9uxSxF@sijnJ3qzYm4@EFc_CtdyDSn#`T3r0`d z@GFoZbhb9&FI))jvo$6myIz24^PiAWE8>K@Z5A~@EktI#Wh5CZUde*wH(Z+f+-EUnC=} z4b=xSvORdV*C#xKe~E9uI>sF}umEE;~rY!=2ZcBd}u$HKIM;ayHT4XqkVbrzDWGy z$r{k!CYr&Mf&{Yk1=f;x0L4v*!P2p6m=>i8^`o?S&+|Kgb#g41GTRr7zYqe7jx4~6 z>bAtspaY-$w}VrClvDfi(N=6(R}W@9xdLv#G2vHrIto|6j}VT0RtCCXqj`H5BKfmJ z0ei*`1h@2ZfwRJLJX|>po4uIGl}|!={m@IbE}-6a#5!mpnz&*U_1rCQRO8=WRM9TJA0@*8TBzJvOxG_gdu*0)I zxbXfspgeCEKD#6pt9{P|n}Zdx{OUw7>}Dk>T=51Z?JL5X?K8RL7kPO5^sij$;f2Df z(kwytu^pJ=TE{ELTp`!4)p28{JO*cXCUIYHr_>y|^#{nmy~l-@Xkk5@N@301I*_c@ z3`QKhD*V2`7=(Rj0P#hRTwk9T0Xv4!}xZ3AZ>SR*+`ZVRyy#lnYg5DeI}TRLF&SV8XT zRPgqUy>KrQaru@xz<#&7^jh*oUQ^n}ubZ&}fFgHNlaDbwA-LxaV_7n5G@W!y_p z&>4>1H|7C@^$DUI){n@gzX8+KW`NrhT=0mSE5TIflU(79B(AIb9XM!M4MsR^5oAt$ z2CyR*o1gXLMk%fWv(>GHST*qDc+Y}VKX#G4fA1+w8Y#402DVZYJdb?<1$|4!s&8bbSm5K`XvdC5ncGpDR!<;l>9ei7&dzFlehkp07m?c250{iNUFN~ z1Um>NDQkuh>*EHz{a(?fd#Y1NFPCzf+502``PHB>^$L-lmj#Ml2ZJlgZs1SHL4JhX zSji2=Kf?VvJjiam&s{KM(wMWcc=tpFF4ywBxI^$5)VJRNIg8za`S*Anqd%OePR+;o zSPeE^QP2HcA1}=%sUF24LBf^Mcux0I7n{b+9?V z0ccEX11{&W&?)|g>psljx*Yy-A;Edv`N#-Mbu2A4* z_z_or`G8Hn4d*qNT@;Gn+$FkG>NxefySUDOJdn{o%1yc#D0#Ue4IgSdg0&`|t*v|g z9wg>e3B}2F;8NQja#7rK{yyFw1X_N?4_8jYdZtxe|K&x(xXXE5*@EZ7zx30>$YDpw z$j^(h*1}?bx78iVe~a4fZY(GkmN&e^cMST$r{Efp+g8j~DkoyF>jYkF$V+nvJj2>& zUGciRYC@rv=;di!omnV{ODoH zPtT>2lx4Goo=<69(06;WzqBW%r-0ktVOVRpxscsG zQ*!6UXt1KW1}vDZ%SF@~1C3zHef)Auh_27(cRUQl5dm*;nduKOzI3?c*wsYogq*dpIQr0dETbNZt0V4`(4t9v`n$8- zk1@I2qk{{CxYeaVeH_4=MFS*aeo43?Hx4-5QszFE?!t2fTO1j)0*57cW9KMyN#FS< zZi!^6u>ROPkmom2^24`TvhM9b?)A`KVThhJj)=7e?`}-QyOzwrGZZ%x*PWNhSgivB zyn565v$=R~*pcWz{`qi~^XGM5O<@Xy3s z9Q~02f@aHs`NIcs`He$>oqZV>@FoPTO4S3pdYNR*=eGpSd<+(Q@Ob0X7OrRAYi?}% zI2^Oh7u?ewB}|Ysa~?X863GcK?v-;AF$?Me_dREU-3cLJR;M*LS<``Q`gkIi03c;zy+km1A|sYF1feH?yu)V+|aua zBvxtyPooFi+IVg5)Kgb3Rd%$P02&7Le`)gLPs{}I4)sEO>1>ekX+K|-)Gn2qs|OPP zod>3!;(27yE28M^1m^5~DMbCU$8|4b@Q2r_(z$CV@p2bAy9Z`J@dTF5d}L1*4zP^eU)HI^-PH<59O{NK*E3C8-=jj&BXE10WiF3A=aJs zT~HfchLe>{Bs#KNI6J+6I4-t85-&6S0ohM|c)Cl*pwsM7fLx5tq1gvp%<6K6U5w((U{ONa}IAiCj zc(iI0_hU~9S$VLQE*aX4Y-~@$IWOax$#j3VI53@^241MDCX4PEn*^_I4rithKcNfd z&)MTIy!4hQHu zqoBAeWb~#dEWV+K?Fr2xMx!G6U6EeUqyIMCU^9s7soZC`=6qy6W0b(-uAQvW9kM;+ zi7kFX_3Lp)^?jY9B@Ln9JEt zeajDga_N2Qy(s}I4quF1H*AJ~78Efjunu%jo&`sg)*;dh}@TsVEQ(* z;L7IR(EsNn_IpS;f7@*f>Hh}Nv45}WnJ4OOa(X}Xdm9fA@%nU+lP|0tGXmb5r~|pb z@lf#3g{j9V?0c^yc~N$m|FGf*m#dq}3RG6p)RSt=t#ujlsg7mVkM={o9dD6BC1R@% zM$*@JN|1%qJMOjV1&}{9ku5KJ%FNtOlTQZm$Rc?aJso~iY9GXyr_4y|JM{pIDmV`N zM4nmlUmObJCfg61=f$?a+9+;OUxAoxg(iQtBcN@=@;hyr(r#l?{BjLD6`h2_%lruq z%R``gHT*Zp2!(N?+x+J%cynhZy>{d#3dCYA1HXqyHU-hIHp}S^TUAmLmc(oqSksTv zx%^)PHMI5bM^jahrSuZCZjYOtlonHZx4eq4xVVHdI{RT z>ING(>=25d@{g~6%Gg}3=}hl!FnM=vEs9@17s+dC@fA~Nqs*7zNZ~|JRzABH{+xP^ zeV4yTOLrr*`q?Ff4Ibm=(O=P zB;UUcB^0gZZ+rC9;kk`8rDqcS6u1_hKG1+{O*;6cZ|=ZvvBQDZ@*ON+butSCi|JSJ zyv}l>lKrSBUM#QYm%R=CR5w_68%aHI5q|d>2oE@ZCaE4D>5bi+>Xg>6;N$k#;IYwm zq-W4llH%pUySfW7+u8x9?-w1I&R%S7-aI<&@iivjEI~8$6UeYSZC3criZXQ-`ef=g zl>cug|5El3nqoDIj{nxpo`^2)N4nGK#;04*nd1rYn94z>FaH?jPCCy*>Q>_VQ8sM* zo)#G4DUMZ2AP2-!Z0pI_ z`zxXM5=)pi;W|rk9SSo@Jzkrkj!LU9GKGq0xYMs2Y8t=6FXqjJBh?yN!npBB?_&#W zDu?1-iyy!6%r5a=pw12=8 zlsqh!s$~3NYTKgO_V1%<+KK>n=kg{x{T5{guO_3MX=Q9nm?b*9>=i7UbkcsH%Sz@{ zSxbAgtN82&J*Lz22=Vl2U1Z(|ax$fXZ=W?9CTO~|ZHt}If`4YH`d?6N^GZF8TH+4f^d?a0;1Iqj<}Mo4E+wl^w6S3P7d_84XC^Tb_QpDs(DHXj?X?HA z)X8tyjKaR$q#<*YX&-&T!av1Py}Pcs@9r&l>EteyW%3=(>h^^01|6&*O#_9`d_s?% z%78hV_v=P$meI+hSEK5)A7R9%!z_G(JWai3h`di;r=J&$W*>%55)UJR)Vr=5<^K1T z9$7Gmw%jyj!*1^8OMg#+tY`r5hJL~yH?F{`k#m`1Mi7ndt|Yf5eaJKFBy-PufPM+B zX#BZav}eE+7Jp$18L0Mw8FYIiJ?%MYhV>rGlYW|!WyW5FzTi)O3`8p~Hlfk)wP2Cu zawhBd5-wJsMh{zzhwgSN^jR-Lsw>s&roMKiHaDM$ogO*#%Jc(s3NprN>0NMne=OSQ zsEy1zU!r4=)MyVkgx)s`ph|UNEH~mY+mUdM>PB2e`C6th`%@E>y_dw?F5ROZ)~T>0 zaw{GCFoDQlxmDAAz5<;)TMNk|GdL#a3DXp_X6s{`Y2SvMaL3|Y`p)JeUDB#Z;^pS@ z+3%zIkL^12(CqR29`|e-5c^GRdvBpA&Kk`M{ejk>UWe-1j}RerAgvAGM@yR9klI8Y zYJKYyIy*!SmTM+3%V*D_tMg7|;cA8~t5sR_<7I67f&e7%=}&j~9u^(GP4wR5>#S)( zD?4>Fj@ssA!@s?+(4Yck6z*fi$30nSzuw~-3q83N87|n&PO5pKAsxfmsY(0T7cPk3 zC+2I;y_Z474U3>=@nJUh=5zMS%N|ZU_Kog!ru2HpA~s{~J(Qyt%(f;5LW3Wx;l#H6 zFeclAE}5o)M!hUWpCiAst=fU;%$*uGY4tK>cUzkc8CptjA5w)c{XFYtwOyfy8nWmy z)pWFYoH=qYi=-!a-a*YzICdxcG0d2o01d6CL9?mbVN&~DT0N!(>GkB&)IpPpoRS*z zY*2!R*Jare6#;#_EN(DbC(?hr7O-`Dt;D-Ne{}cZE_;*HcWI>2LKZQxxlT4=B}oap z#W$;uBd^b1U>P2UaM4#eHfHV%rnl=cRGujAwukOVBMs);tJ#F0yLM~QmetO%*z`18 z>TAPtU49`q<25YddIoB_saR*ywg9GlUB;gB-tgBJZ@%>N9@spxj>*~&fE~{9Ovd9T z+qTJ_R^8H}o-Qw$*3NZ&_*^$ssB{D!+t@;rN4O#T(97t2gB`V7e2%@0PGqa&E+N!p zL{G~fU;`D!-H<9r6t4T7|8>Dn_X%k zqL`7%ck*QMBFWI*QfgVg4QX^NA&Vm4h(#7{q%_@>Tt8At-tKWjTHzbWBJ+LJX_Ffo z-P1)pPw%4(bG(r9o3qTAS_O=b|{r!cW zF&+&6)O^EAA)zAk4icHSHvcogh0^sykgTmGly@0HE&Kk$ck2nS7vM=pn!STfhr027 zr!G3Fb^^SAb146@TI_khpC-C~#){0lh3ZF~gZb5^e4lGLX%hR`+2L*rLgWj6fw&bKd8&Ya@^(9~XXFlR-W0((Z&K;{m(?&fhUXi_ zJ?P_Z5hC+m#NXNGOqcw1gD~z5pQC<_>Zm5bsf~qvSm_+`&iyCi1)^}Qkd}I1g+Y&MK;)%vx}gX1dM8hb zZu54k3;jX=eN#U9yS>P~dvRM*Kc6|gh@S6oz{$^g`BeW0GH{XF$x{>lK-fAt9Ulh232<6Ni$H;bCzmB0gHHWhYAXrj*y=xV4* z!-6%a!L&p?&teVD`7)R46igh zlWFX7d-7K7gg<-qgq}&sr88z)h|If;UVuHM@c1u^pBYhRmPWd4PSBc}e)PG=8+^vE zlvX8%P!fEZL`Wuz%-f&TyU*klx8*RU1Jel9$cncUPe50+Alf)s2P=4>i>9k{@ zEF9j`1^hZfXtm)2ev?KTZkG;wM5Vc1REC0%9%xB*6MKCmqeMTRbJ|;7N`9gJ2OS_)Pa4csW|DZ^T-qS87XMTE$%zG~F zfon+C%y#<}DpFc@Rvvu$=ZfOeb;jtKk%(nhl&-eR$peCWdaI~Ai4FqM{eqpyp0^JTK)v8b}5k?qh7#E zVt+bRzfxr0h9dJ;;MH%%kdGT6>=`Cc!rzL!IWm3lw&r^}xOg*3+M5O6csbLdUxG-z z+*>5OcCyI4pA%WNUf8rbjK+F75V=kn*p|DME^HOJuN&vX!icdV^LFHin~2Q2;x_5O zrwE1)^nodDDdfi_O%mnzff-CI0_Y_UIxOARII# zdx8v!gx4M$2C7AG*SP(=cndC(pQ#hiYs?AZv+hH(d$bCF@7ZZSOZzTK!(Q0RvI4wL z^`i1RlY!AuKQbi0kaTMmkjLI{`61p9sX`Q@veH2Qmi1oJyHkA5EFBAse8fY)vdGE9 znuL_7;Uxcg1z7%OBJVQXh%SAY3n2>K=(EGaOq<1*yQR7vO`slOeJfWqTlXDI3o_F7|-$6^f|ghHJbeMj!UAxkP<4 zPx71Hf?>C&l%}cN13x^G$h_O=s)HZEowfRC)Yg?W+Gj4vF{wqvD#Pi(JR?bAmX*l7 z(@CMr3hbV;2HDKJMcQ5)3Og*~(S)-CR}mxjyp7f)>uVPLxF0LHwi$6E^FGE~pO)iP zcV-~Xg;xCATg$-x83&Qv_N&76UxvJ~qzS$c^#QL+`gl2&Z%BT#8maps&IB??cp@f^ zE?!mf|0v;NQdk|kY(Ai%j`GSHMqT5`V++JVBpA4!HnYRhKn7)9& ztyoEq4%|m7PA&m%ncGF?9Y_KjdiiHAhw1h00uBDs2w#Pm(EU=e=l#qH{=RvYauy=< z-dPU6WPB8v_c(g|gExFpR449vi{I<55gM?zm}b4cB^8`Zu-4wEc;{F}yia!*e#h#` zA@k87sX>X$E%?aGtQ$#=IGw_k4jrWGOp7GT{fO}CTOzhiV`P5XL)$fus^Hgu-?7a< z2i&@2yKqN!Fn%#R7(e;fNuqRTfSHRo5?z<)!i|G-YBSkh;oSR`c(A_}zdic`&K@^d z+R3+ZiUuyih0Ph@$k9_+x$O!b=OPbg8;JZbz?MrNe}VhQpCjgPs`;o#V``UZbV;7Z zXbJlx9DwRj4tu_zjVI`O;CFa6m$%3pXyxvZ40||A5_;_u*lVROIoK6}Kb}kj4-Nlf zU;i$_{(UhRxEXL`UIc;UBy}*RX0Wv8W*u+bI|bj0wZk?^30$7eZs8WE%2f@w=eI1C z!(9&!gVxC_iR^(offeTBp(d-q`8RgrCUPXkGWUfQebKz{Lldxf=@c%XUj)p8-NBjU zZlT`&Hu3vfg6l4P<&=!y*8W=Phpi@t0lknbp!H=ozwu_9aP9eK;b4~^Ff0$?K~NSK zIKBsO_~Qd^>VE)>6+|q((as*T<^nBPJNjMcWqV* zp1<4!Um8A|`)`dSE?nz`)uw5H_$M4zH%4lz{Yi0oX9=Hr_2diFbPj^PW)w+>R^vfWPDV+I_(X zu&3fz;ft>Le2&}0?RnNg)|u_ahuBNWq78S2vQ5gugsZtCLmvT>&Mn4gcg2G%yfZk_ zUPQ)oav*ZdH7;onz_u5=!J;F+ScRL4+craPgv<{~S;A9H|ZY#A&r=3PZLC++WQ&&h_0E;aQq9 z;cG77vAy4b@;@r+ct4NGuX4tARcmp2$7eF*Q>pOZ<~&{})`K&uHvogj`UC6EOT2AO zmE@I`5{TYz&MSHE;;Mqu!5X_O>*a*4*w z$HIQcv693io`nAx#V?AU!&@ZtLRNJ(r&+2jIUc+Plw}hldwC(aw0{z~d)JCrbv(N)QR^xTXQwBnW7tCES?&ef_Se@U}f%c9NFSTG$!|8 zY^#B}kNdc9V~LbI^-N|E5RZm004ua`UZ-zO>N{*Y0cG5D+1 zOK$Gd3dt)(fJ60musPuhKf-7!V9Umkg&mgo;`bW7S$iZNntB!}Ry`96j3#p}c}Aer zX&gwkQsK@ud104%`9j`lap$GpnOF{Z&YQMc0PpDcc%c4NPV=z_j!JLBx93a{Gmhe3 z!@!%uwa;Y|;zlL6)Lk)d4gg`UMP#c~4|Mt^<9A2>z=$1rVC6s+Vez%KlKjQ}V9inn z>;ykx@hVlgaoz|&neW8ioLRu_812SYXD;Oxuc?EYjW4Ca9eRBaY#w0@ezpaI zU9kg%RKq&1#4(qT$hIRgCT&>#Py$c;gYkZ?K;hx?C~olY^^$A5>?Dc5kBiy6R)!SBbGd1Gc!2dd!FpaLvD7^; z{4%cK17qU6LyLEVb zp^2(HJ0^I*IEy5Ir29u3+zP9ylzc4ZG%JPW6ow=PIux zeA9~oryZ;%(QdAiSk(&depIHkU}O`{_`ZRcHFCp8zSZN&Q-2XRe_Jv|Hb$tdl>n#Z z4}eON26q<^!3z8kVbAHcK=CuhX!CKLCesVDhCb(X4s8?8>R;!Q>zr|4;Z)8wJ0AGS zJO>L0Fz)=!55VfQ9v9Anz%tV(VC1`>WNhUP0t0%${4pIkG~5u#&)d$q{d$I7|2cxD zP;0?z9pYj?MB14h8Ox;<`jH9n5xBiU73>=P5ZI*-;6}ad2WrXMm@k=2ax{N|Ej6F8 z!z*4I_9aTtO7P|`uYJrZJiUwEcdWpUy8pPt9h1PgMGv`R-E$Hvl?L3J`W}S88vqs! zdCU1=aZlUo2$xux1Byqh16B1@c_}Nso2nWiLOI)Ni)N1|PGzt_69LCq1*c;9`FqGp7Z_ z)E&e~`3^4g^8lBlRDj>6C~j=)VXo;{m+(7xu@KSPOgy%!a{r{m@Bj@?@YvLei{qzB zlNIf_^*-G=t~y^5{A>e1#K)N`;JPD#G(3j;nGt1`4;IfHftrIY%Lo3^{gzKQ)DMr#j7r)_b{NXvRab zsaL5CG(U_v*he!iWim3aKZpvB^f8Y$t@hTFhcf;7>(J{<3)t9a&iImtBfa4q&X;y< zgKO^e@T<0DvoA#|eE6s&e&Xr5bguq1SnDav{$w6Q>hTMRU_S{(uYf4v%?B*qdk+ms z3ac~Rxs|4cx}sPoEjU%x2|c_!i+)=B95pOZh1Gd8Y1Mo$Ht5-neUUv3N%~`N2O{VWGwr=?=1)5wVLs9|_n7*JS!6hoRGl zMCSj#3gu&eG=7N%lK-a*i{{RQ_dTbI9?czW<~AF2_591a4L_FEtr(KTj#|j00)d2tW@kZ6vk1P0T%DYCFNVHCXVY)WNIL#VXDk#0QmAJUXhBNj`3 z(3Rr3d%z`%>^B}0{pa)8+yh>Gk;OnLm-qw?8#jY_?RkujM|U7kk3(!k+8=SFw;B3% zU0}cRQu+02Y1BmAA3l1djppB(#Vl4Wg?@Gaqv*Wzw;_zwY;Sy{{US zGv*_6J@5%#xvGM0m$jq+MtUOoR)mfXScrQh?g68Jor4cG4$H@E_`x#^uQ1|qnQwJ> z!Rvl*_9}k|wj4N3wm#h&$Q@Sk#d|ck*^>>ltLGqWF++=; z>AOpQbm>>VZU$!Cy?1hN|6;6YF_fKcKackYYTNYAJixuyXYxF$|0Wh4K;sXM#a7Ox zJmbuEu5{UproVW{Q_xc!{%RjBHC>NoSA)^Bck8fkp&^?z;w`G#=*p_TUdKBYweSVr zS?Fk|D|?@EfXQo&X!d_=xm9ZkYd)9?|15fe_a0fwOTv%PkjT|6rvEam+eecTcNss{ z`#)6OrT5&ytT?9VR;Y$Ob z>8^!$wOplX6C2QCtv!5qU?NT`t;T9Oqi~Sj4A^;L5z`)NC3RO^P|M9EoO*H;7UG`6 zZ9_JoFS=8}s^iA|O!`5-yE2n~%^p`_rqR!4$kfmL%%FWXQ}Uiy^f_TjV@$WA)-*M= z^<*u*1UIpoC)pLsm3u+om21dTr^`&wtS3FZXFrUZUXG$4l%eyl%;^i`M|?xXBc|V_ z!d2vt@YJuL>EI8;dEB!PjILE+rLLQCT;mn^bVMs2WmwCs?}zXPZ4+Mak;FU>spIsc zk5OdwVm^>G;ndr`_#XD1d>Ep|H;s2je#7q4;PSKR@slPLla_^69=pW8T`s^$$8uO? z|6&$4av9pPSqs029!fQDU+1SDhSGaRJ<;+O6LdE7D-VvCin0v#W$TiqZu925>`&Ax zS-%K%+9IENzMe1bvW+}ZH?^?2dZyU4^wjZOGxO{SXc zfInU+;Nb2|YE&4*_u9F#N)^bSbR5NDts(UIJ2S4g>>%G7wvgp+KftSiCi`#iXs$U< z#Hada@wI|9L1QDLaH}^qs%i>+fu92V_$M8nJ9C)p+FIh-3i~PoR(VtZLR}~~UW39k zM)O@yH)Ff2$8f0=#^WYA^K&Dv;PA+^*zCHiWh_EK z%igSd#b5plM+W=vvvGOJIBvcf3-~&Q-5WBHt2*YvBoE2^C;J60Xes(?eF(`i#&IQw zBo?CXL|=|Mg&kjCEWuV{JxEq3C!BU-KTgx%A(!3yDXD$E0hGV4ia z7@Y6}H#>adc3*FR(9WkwKcq_9rnrJlSJ>f`2j_F8nVRfQyaD}I9>(J==kxu2+t^qY zT^v99J<8FT%sLz1^CgSj*_^ET=)%D%%&71`sxzruR+OiQGaIg;s~Mw_YW*ax@gs|G zDDY*!HXKH~)ty<>yzy+!aCN%t@ei0Bya~Qn8Nh<2w_W%CcbL1DIX55|*}@x5lG{8O zd+gG}m6LZ+S?P6lCC;4{d@{m{>#P}?yb))Wn<2ULWm=qO7G=!y=~m`pK`Cz zNIdL%B~P?}g4J!ccw)*x{x)?DJYRhQXC$x2S-0v@-;R-d2tLH0f44^y$q2S{+XO~7 ze&SO@d~o7GSH5QcIy5xa1KHiSL>n6$*=)fLYfpZLKU_J=H@?il>A}i;n#EFVwdw&^ zi~Gzf_sv8PvUvr%AH{+SIg2g6j_pqO!j9kHvs3n-__pg}e$8t-Iz8G4S$^e6VPSuC z%=I%Po@u!EuR?ZWg(8LjPH~4dD^cHXCwXAyLHym*8LQAjuHsR^J=(7`*Yy$j&a;U& zrb`JseeD(Z_S(+>O8#0G#XxxBd^FS69Kuf%2Q+_82_LxnB{%q}gOs(P-_MespXK3e+SmZiO{XMOs# zv*g{$xWTzU%h~Bk`BRa7JgI_G{+XgP3(jNTpdlzE#EKi+kL6wuCiBXqVR*?BC%(^L z9S`g9p~L3Q!wRZn@XBLbP~@~QZWO zrEU(Dbc0#etc6(bc?;Mr|HraN^hZDQ_7Sz>IEi_0!Yb#T;rFe!j4cCLVahe6w6HI; z=)QwqyF0@{sTyp^1Ub4BHiO*LKf=t(P;{@x8n(01Z1&%L)Uw3{nf%t5c7pez%#wWg zXY~krXYDbRe6|_pxC``C&OnshJqoQ1#uD?E+~#`yCFcE+-WuV7_ND2gO$Kdrie5P? z<6qFW2hnuAZ!~&%>l-?i^H7pmnxm&%m!Z5}u~0W{ENZvwLZ`mpf$sPw`Wr5yOWK=Z zev}h>Tu9NDTV=@f#xd0T!4o-HhogB7H*k-@&uH^0C$z|N1-dnS3F@!79))<t)whf(G-;R_+=fH&%5ei7#03S78fP+?C zMP+SPXx3AE=JDDC1qbhdwRh7)C*UKz+K?tO?6X`Y=#EH6eoThvug5TrkeMu@;1XE%B9mTzSIr7n7onxKVN}^SlwDe0 zj1H#E1_3wzvGwovz(IMxCFYHofi(qxTdu$pZwNb=)3#gFrhS5OQcevhX;m0*m)b}cKXss*Tu}bpnyIM$nP!G2KZvgThH-ITie01E^ zap+L@TZTR~un4yuXvwG!=6B#T8)mkj%(*Z9<~x=$-IOtO)y8;+JH6P#OBd;gf__Xp zC5El+e^^kSd4$Op*07zkZ_$6Zr!nv2Zp`;$F4O%`&-y>e!&D@VRu#<9oT7`n> ziz5~+?QIEFob`-GeCfmDcIPtf0Bc(KB!|&=>zR^a3QK+elqqa{LOm9pXKC9yX?5xm zHge7zR&|K65jDG*OTE5<86Bs* zgEp9}BK5qN2C|fX9!T@dE~J*=$inyc2YL^~pcs_Lf?pCkabhbPBS?GRy8sCIk%R0q z)L0&OAPa~3qdoI0*qKck)c;WqI%qvo`rf~R7AZf_$gmp{^H!zP-yBDM?RT>G_cR3l zxdGPmBkZn55zW!~Ph#G^**EK2iFxlq8|0_i%jlnM_-thqc5Wv7HTyRW>9Z3}ES)1U zZ>i_KZUTJQe2Vw+^2qe_})bjY8T3Df}CHl#LD8h74_9L%m8}8mhbp^%*saeC%sOV{Gz} zR(mT9F=-)AfnSi*`A<^M+me)fAmowj0^RmVd)^PXA%|_}psLw@Iz06ZI^`M%qi#`} zvEwo-aqK`E4QJ^MV1`i@{rVK`zGcLk_ zl#As4vQ==^RtZ15tI_czOu_Xu8AxzB4hKxK0HviKbY%BJI9@Le+O+(G+N;W8QvFl9 zd-!E|_jL+P8Zn&4UOh@CmCpn(G6pdv?Py^1;33swa@wI&Ngqmg39a20OgXrVDR3FA zK|1u8PZ(2nwgID@F++Mwm{MSV)K&WZ57?=Mswwv}G{+X|bMbx^)XDqD1;6V92v z4z;NbVI$U>L0PoqKy%r~HYK;ijc#91hvs7zt62lS=DooEE}F7ck&nQw-7oP_&&@1o zT_#BLyo2>5Z-%NQJ3Lo31e;V1rqaEPtQ_Wvr_G#6pZA|6Zao07arQ2uNXegUQf$VS zRTPe%U?a3>N_P@4M(TO13VoL6VVyY*@YTza;NHFqSaHV!vHD&$9KEnFYCE(Zv^b_i z#jy@pX@fJZ_;!*8RHmcTA%<+RV=!H&d=drD^ z?v;w>oqWx1PSRu+T_(u=_&JGrCor_82PDePjFvxRYx_q)G|`G({9?vte$9tj5p5Fl zmfYrU`(erksptKok``?{3G2)y&xfKaEo`U(%VT3D<_+nAw~JtNpAD>fQx)_6Dxl}m znczd8u^mss(U0nnl1JnOJGuP?`jnE$Qb)P4xG&-8iF7Y3-+7;9ygr6|uFGRdpBv<* z0p+CM>jtuSy&4JDZ6%$BE9r@~r65%&Sm;w&0Tr7YX^e$2$&FY-OD?s`E{@d_YuHL+ z*7c7%K3FLZ00W_lu{)Wpszx5)E){P-(;y$pHj$FRDjIxL6Ik}hrRJ;ei?XPw`mR49=4?C*P93{I`qep+5fiPzY}0pQ(Y>L<8E^`yf-)b|7D$ilAfq1`-vVAWkq}2YTwA7yjEA17gR$1${py$?Lm|pz+p8gS`#RqsGBa_xOVx$`&~SfwpE95@U17c7#G zZGI#6{rgPlrUwKq^J_o@M-%J5W5|s~XN13@gGpxaXELB|2nbsIPJH623yfR)0kY&W z*k#|F^qsy>R@S3~*fbmwUW<)l;+RBH2L}R+laJxRDrI{6%X8txNdht+MF>BiPmvG( z5(Bgb$pz^WtZSQ6J;I9;{{%#JOWKWYkqgMK%{?S-en-lhn_ z=Ut@St9mnd_$*%h)T35dH}E?+t~-Lbg)9Vv3tGXJjR~}uzQpoNuYh}jkc@r%0GQl- zCgiD_0EKs6AoSsRFxKyZ=~K*ei$)xkSD751nOOPlo?>1A6Y?1ogVHg_Nh4B_Y#b;GjWQ4sj>A&A!W`6Fk>`9FZ>3KGXpp9>Z*DL0d^spNX+|* zt;E&VkmvzhNu8m#khaH9?8vw;HrWOWs$bX3l3s5h*Y?H(hqGVka_{d@xmPs#uzv|q zf9wG~E&mgTn2r?&m9GSLz5fHS|6}3J%4Tuf&<67EOE00I`>9}i;-&E7_fpumBL+0= za2HPZw*`f3lwmKm5R!F2x%{K`a}aLPT3$8f07;y+lTHoqqUJvDiS-9f@uAguGO%GK z8QuSf=(saQ+C|6*ZcCfN2iY6oGVP@J%CSp0-;oKA?1+<`VBMtu>S?gXVJO*?-YhnS zZI#_+=VgCx*;;o`HxtX2n}Bs5dZeJEi;OS41l1eO#cwN9s9wx=S$nS3alb!X__lGj z{HNy@K{s?M$s74Yaz2#H510M|-Yq7w>xt>$A$>nB%(&-;dgh?x_F zbcIi3TG1wAcRENks%jFy@7hkbuUac!9ce;h(_DyU-!OSm- zg0aX+9hhG|f~YP&DF(|I2}>?hutJc7MRyZ~ojX-Q&reYJ`?g!$IORFqo2pEXKd~XT zJ{N(>gE6wJ=hEfriw^+(h;T5^XT8{zWd&UEOJTcPCg`JHM3?5zCkvYg$XfGk1$Cp@ zK>74A@kQ=Aq8)k@=+vYW(-Rv=*!mRkVH+cN98QWab522|kHAp}eKFbZ2k}*$OB5n+ zlWS*_sBhsmm^x1e6o{6<=2nU`X*o~{+(VQbRIE$y6pGj0KL8Wd(uD6@AsP6q51DX% zED3SzN0w%F%06zl7u=&N#TvgZkaKpZpgPyix_jw9q3zIBx$8q+a{OUE?6q@0DIW8j zDEa-QF1rk<;LJIEE&|#7mY65ClQ@<6AmOF1py^d3 z7Ebsf9IdV<9jeiyh+P{hyoci zn_>Rom%?sgKR7-lSopXu91bn-PX{Fq1Uv3?;`Det?L>zlrT%Wm5R48$6oj3jz||3qvlxWja+ z%z4F9awumt^#!lM&hE`bHTSHLUN~25ys}3OIXqfy36M64?qmVQ(U-v*DZeEYt5FT* zyD)vDnUH8bMLe$?Ep(ZBQ1=2Iwz=90o7d?<EnUHF;j z2tM@hT2hBcvs&W1cqMU=TKA82?s&Lz1 zT46u9h(|eAJH;eas^yHa#DXg_%9QQwd0Fsx zP~GrG?rbUf9^nxzM3#!#m*#=`EpdF_KV5ECugw(p7~={2J4?+UE`E0u&uCM)&`gY#OM;BeeedsAzd44@ku=S!D`6c|~ za5=hXeuIAw&|^1$$Kchmukoc17VPE{7qpB;vJ`J6`Ioc(`0Nc0cumjsq@X+vIVvya z&Z=HGZq*0e$Ae+trWmBI>%w|TU8e)nEYMxE{x~Vn0HY1lVBpWUsPkSkIDT~wPYK(| zx8(r#-Sl9^n5pw@41TQUDU1HuOnx`FLftQvMn5)1j~eD9muY&m=5jW>z5H@Tk1zA+ zvJ`VVF=`f@)Tl(4?C*ebds7tL{1b5lTY7c;T)t(?IA+lMHdiepc-jq1YIOG-58m0x z#D>G{WJ?YX+a!lir0=j^4QC5(+3~srb$&PF1ap^P#L3-#(9u)+TrX-BPWdu{Z*uOS zTJ$ns-)j@{*_S~Bd%L5$=sXl|u^2hk*RvP>5k9GPk{wH}W)VgK=z#ir+%QghchXqI z6H`s;#TQ$UUH{XF5B$Ur7OJ324U>QmKY%lIAF)nFM--ZS6?qN}rr{_I4VswE{n1|B z@1O}PS2sd_*$FVqY%=So--TzjMj$hHOE%vqi=6l|6L!vR!NK=Nl6!H}`JQVNn0$*T z6JK`Xprpm(Q?ny{`1B8ai%}#KlOFQY=Oyev?^~>E+9(`8B#W=GeTJiC94!yDw&_WK za=Qr1+7{i0r8CC!{?Xak?*8P8BM$&w9C!rAP8ongodfy)imljw!~?s%S@N=cjsDE$q+{S^}Uk`J) z4Zf(^^p{l91Z+IiU(qk`c zOu`itH>c96b&t^A{T684%v6?a=_JlNG8H{*okUGb8u`loNmx{rI!gEY*cchS!A@v~ zjgGxjh0>%x*cbI@dlp8qwqL!ZJ@Y4QPQ3>mVi<%jZLG(MdTDrhFCAq2ZadF*GQ@`y z*GRqT0u)g*u43@Gbav_cVqE@m1oF9^%6A3)WHB2qV~3_&?1gZXKe@dQex6WDzv&La z;mwcOmM7_~X4x|KF0mN~=}Xz1kl|4E=63XTR4+8$CyFcdZ(|`-J89R#AZ&lXlezc3&VP6 zE~Db29bDCI3R?Z+0E@P{jht)D*mbj|=zZ@Q6=UzulD1Go*=QXt+|XFfml!6&75YUm z|K?`ww{nie*lls_u*qEgMl8G4v7I&|Ja+FO8AwO67WH+R7&x94*;jpKZyS~%-+xQ}-HdCzV=k6~MD zm(zKb&*91PR`_0>u_Nw{aE0G%w$Ob&A2e?!TT$hPr}vzLJtTic+{K)4N)S>u?$sV3#(|x;G z=?cPcpf@~a;2Q=s-lOl=wqkYfc6`9K7dUsf&Bobw72ln74iBk3&f}UsVddZFcwF0C z{?b()Hm@$kNu~-o&2lJGm)b6RXSebfPef$CM_bw$tYL+!*?elsO?+xvG+%lt2n`;P zfp*8+p*iCpFFl;X2*23X^PQ(IHD`Jl`jU`#uW5H`gqvFln?#)%mKt;pbfRF)|XaQHelpwYlu`1}pSv;4fCU z)|&6qy3fd)a^`)$nQKjIhl`fX#TjO&arFC%Eb{F~JaKe1&fDj~hId=@M;8b1mGl!9 z*3M@s(c^eepvV&}PGPr0<*2&gHd;Bi8%^IB#0rZf@?uC?=)ziDG2t9bH;<-szq+!g z8f#IYe*(%+FT;li-$lts{_(NCRowfj9=|G<;yJG)xM#v*JY>XGawAd)wW^0=do{@g zGyW?dJ}80OsCdY9%i|^HO|bUsr_}yx9s_6AU^Vl8^oCgieKq%o#JsENqAV*mzr-IK zcKoES=65CLeMMs4J;D7>1vXLj5$^9?0Hc;guz2s6xR>e?sMPBs%UWoP^`4o6oqID_ zw&7p&GaV7N&(|g9y#TA6y9~dt(_(DaN38JQL8P=mg<1Tbjb5+44+m9!VnZx9m^FGW5`$;~H%h%u^j|241j@c+VTVmeR8|kO? z6DaxbN{M+BW_-#VogJi&j>Pw-w`QlIeZ@v-lja9HWylg#R)x^Ehn|vy))76tJ6mGj z{*+`tK~FubP~NtkQ1`qsYF~I5o%*o|x>r3xe*bRzP=YSglVIZWh3Je&JyMQrfD4aDp@1`s;G>$Ck|R6^mA$)yW(L=G?;MGFZ-=*BE1AQmb}8ui1*X26&U6j;qRA??(C^?Asb_W({>+~bT|(p8ne0UP zC-$ktyjQX~r6AO2`5M~WNa|RhdxeHOJfShawOIa&i7=2P(!_2BR`cfyG+kXzhdK$2 zeEtN_H)=4AV`UQa-T_wmNVkC(Us$1wCR$pvk}7+?VwV;!Mh89WKtNj-TmLKx4q^ff zyB#fgq`!l|9TxD!(`0rm!;C!p{s|_U+pr7o;>ZcN8!+bd5$4_h2YtuS!GsF|Y-++m z`gWBDEIuo_AOf~CeaxBp<|i_}UNYAI$x&uHa{;sT(_pqW74)akbSBK4Laz*c$~3aF*nqS< z^sBqbrVkHbM?aX;2>q4Po_7)pJS91HdoN?|0rBi)sh7mOC(sw+RxIsxEmgE4((bn+ zi`yqLZ~t~$_<9keABHfck$MvImNNyFIjO)v~Uj<6cyGu}fevqrpllHvRlqq-k#l8(rBxyk(nSs?D*1GI5 zIq|-gZWwRQ{;p1e-r+5@MW-L{p_k42Pe1`~__Kw)D(lViz2I5d8p57!&@o^H?h4aCv!*~$kiVdaNEbeel_iFtRzJ;hGY|AEL1 zdp98Me%ImO3(jop(Ntt;UI_KB-KU{Lj-Wm!6Uaw{(=-N5Mp`X{V2EJ~af<$ioQjvA zp6#DV*)K2Tv3oRha~}nlD!xDtYojnw~>b2o8FiZ zgf2(?1-}1Hq?MiZsPVcN?7LyhoHo~W1+sZO&y;< zhyJZm1O0LuP;~PX`c-WL?5mrI+`qI_#~?u7EV_s?XZM2vCvTAZo`!JM-e}Zovojs9 zb{Jg0qz@AOvf+RkOF?O_6CJrd0*?Eb3T-laL+zbsVA2Cex_hKMy!+ubOqx(kV{i8) zlWZn~7X@8RsgErfKA@3mJ*}V}T5|eubv4vF@|!7#*D{5x4`9t4Kz{|hF=dZzFxuua zL!*nCQb>S!%$(B9D+yqE^bKg&K-tnKV?dv+e`H7er!p_U&%)_z42`X6qucc-(*KU_ zLpEE0m@+E~bUyuq-1Mbw5T)txpk*ksO+Cbn14qjrhkHrPJBO)0jG$_1x+p7b6iuG2 z3{UK@LRVtcCFZ>hzTcvQieqi)bvLeu|B7E`hStJoIO^ zCEJu{12=B5Kph&tSnPnE;G2@E#JqR2RZ*ef)*%}_)cya=dl^W}HpY5al$mPME!o8o zGl_Yhq&brxkQEnB;b}00KA+_)ZZ4GGvNF|$qJz0))2BbH&g2*vy!z`|B%v0X-2(d@1! z77TpYlwvnD*-*x|np?A&_fwH!?rr9``Vw;8eB+<(r>w|`?9ZDqKp`zDsG@Jk--oJ;gQ9+UkMY9u+Y zo&0Vtr7`{`Zx*H4(jEo~I+y4_-Z_qjXmJCVbI z{nnH0OWC4nzc!#DIts3)=RxelGoY_wvpiiM15IXykS;!+c$b6<*&i;5h3-{C$-TVS_#2a!)5BHJ-L86L_r1E-6u1?htV^W~}_ z=kHkY){={K^{`3geP27lGNxM`-RMt*{Cl#dDSe^plUNvB;v$wW%n<`?Vt|Q9F`PWK zQCLM+kjaCJLEY`iVCnxkv{FwpIk;GeKN(3@+?rkf^6PV}yk&~w?f+JR@$w>J-?h0U zyxxkOv`>M{QbNf+uXr%@n3tevtWHe4rpaoq-voZHugZ@G>x&~Fy%qjs%oHZg>;W{N z+#w6nUXz=X&4k}U?Id@j2GNk21AmGusFch}EHvy;IJ`!VlH?ra1RkE$`ez^a?TH%c5ec&y5@6&c) zA_Kr=@j-$4ttAZSo2E-Fgc+$mKiqZf*rTkB3uM8lZ;Gp^bv;5{3yQt z)PszQyhhYcU6EFCddvP*_a!QkpNX*IjPNmTJ#p5`mvzbz8Me#_&R@C}Ot>-)uv(k) zEM09e+qcX*@v{=0)kUD^fb&rJt|}JCyUT99J|-)Cm;(y7yVD^q?I7PmAKb4Gg#FxN z;N&}RWG(*Erm}kh$SIg2WY0J*kEyy#4j0`Qo@l6maAkWyZf*oy={qpHc^&Z#ok9)r zSCEn@Kt>+vAv}|m6}^4LvWOFV$aq-4Z z=bOd16V8Zle3OLHDF+3o#BZehr~{a3#i)J7F{qjHkvs}21?uz1fZexD#9rT%WuaZw zz;@Cppmo$!a8k+@N$CdiJE~DAt=lKq?py{`y{e(^fF$sIWvndfmkh{%L8v}5fMhF; zvyM3`IXdPA%V$=sBgx}7(RqO$bV~d~(reT+QH(AYulDyLBV5fy-!Wl=&CR)B+M5i} z+?EOU`UMj8%s+zv+AT0p#gXLhi@UOn|Cbo~mUYvw;umNY{Mu9uObiM`0+>@o8D z-8R72%3jFYoF$!ch}O(rLwb}-PZ`74kjMF2ME8;^P&_bCM9-!O2M4W?7;mT;QdK~w zN?S60MH_hJ&qKj>&J^o5>lks_@nBMS;{<5BO2MJ=8>M~n@5J)^Ix=VOchNDUO#D(f zoNUB%h2S>vCCX^zkeA9ZeK+b<9x}Rdt<>EhhKu8$s~D(mYdLh z!v;8)eJ9#O=YsW zM#UFM^xXwCjkr$UebW=am>+>QpI(3f>MtHYyNvjGOee~>dXR>gbb9#A9GJ1;3Q(IH zB(N7l#PL}Jf$|qsqFJ11T|c)*%-R1OShO??-K~#^mi8|)-s=Y0I=zz2n3f^C=$I(D zzw8trjoA)Tk46al7WJ07rI-k<*MF6V>`EeWeO#gLnD?Y~>QnLYv})?C{ejL=YZW64 zl)#b=VL;7rwNN$l7E!Iw5hHc-gv1SZh;*Wo^SK{EN*`50-91dqIGHPGj%y=dH%*nD ze6a>>oVOb|BDv6TW;htv9}AwNdxE7~djY4JN2&RuZxjta1eQOZM52v*3NJ&uWIa~b z5S7Nypfl%|sHEsF9NjZczSv(M3*C{7>?4T8uFb0EZI`~lkW(+2P5EJAD0#-SLUO{%yq3Jz{20g?j8y17K%~RmzI6YzCudm=l zi@gw=v5gP zKjFKN{jT{U`MmA%)v0s&^nx`U6=&cP>Ky0RmGT9zx@;`I6>_~E`nY+Kzzy>3$Zej+ zYE!M@^~Y`Kv0VxL?zEG4fBN0lZq43fqQ9AtTk>XncG&TVZyZ`@NmdjeS}U%8w-s zz;UyUamV8$MGdzma#) z{I2=Pt+bYZQ?Vg$f=t*^6EA$?$6c2G^e`V~vl{LG;DlOwO1a{Nd8nv)xx|c9(8!!* zR4Q$h`Q(^kCG|A$dqXZfJM{@!%zE*R7I&_u;KU;)72>rf_Uzfo!KkIjV03BRaPDGt zinT>t#WTDkh*`^Q@NU3hKEu|Io3;BeRfpMlqT&&j+_p`g`!SJkeJ?WKL{+}}s{>XI zxzAE=61;V6w~gAo=R7!BkzZ2JK;`F~kVV>OJYlLOPYtnVU(UUz!LvPiqQv~u`nA&B zurqk7IYMXfbE$vm#>U=!foiwSXBEZ`*yR`D4n94Rd)E{8a)$Y z%Kluj-yFPayEgoicbD5{zvTn=-=v0hzj4slnYf>w60BQXh2t%b(F{E|e(ug{#NYqm z9f@aH)5G0()lL!THXUUpr@kPEVYTe|peuAsdoG{1@HJlWWdk&rI~%S1D}YH_r) zl9VYo!h4s0M+Uz0nBt_vY|UYS*!E%^zlY%I8#`h69CP&5uLsCIy_hG66S-&35%!%f zs2I*IZ1e}u=ZX6>Z6+MHt5Ewomc}OJp}Lj5&?2uRv^B+)-Md%Ie*rt%Ham*$`uBz{ z>T{f$Y_Nc@wX2c$yv3;D*)4iDE12(SF=GZNdhuS{GqBZ(Kssi{bG~&{IwMGjd0IH) zgG;16?^7K2y3@v--z??VHYM`g8{OD?hh%(Oaf|etcaHaea2F>_Tj;KzI5qvgg}cS> zMEjeI=#j{Uh}_FWN7j5r&hu(m-K&8(!ucQz-{mRo6}KY)CH-(!+G|?hXBu}Cv{I{t@39mx~Lq5tn{EoZ`_f=Tm$Y!k7CVP0OifP zggozC!z$lbOv#30r0R{v?;5~7to=y+E@jwmQiy})#$@3`%6I3dvf>--Sh7zY_S4IP zp0QcnRCf#Cbi$Y2Z8zuVUpF($t^cvQ3lp$!mk!)L}*n-NX>@XTk?QgiklUp?d%YJR*0 zm8B)Jv^u|jb)I;A{UdaEOjGjL~klpJntr)3d zL^H1$qAid8kpAB%>{#_VDYWB+D)rlGpZ$}#?X`3G+{tdTjIDv{EXhAnkIBQum_uaKQ6 zl0AOs_s4TxJ^ww|xz0JAbHDEQ>;3FjeXqW^@b-LD7V$eiYXeT(7&wf<4+>gzHNDQ7CfYs}zb@#(xob zy3JxKXXVT99Ser##qVh9QFRm#e^QoSJxC_AV+PzKrYTD`734T&&SHgxLl9 zGH26iykS}wOx?X7ufoy8+w!XVWlX*Dw$=x+mHN44`Q`zU!q&tt@Wdu{g|L* z&iZ_>!;Kf`^LYU+@XV1~aQ$16biC#8nET#1eTEv>3f{;XeQjx7=zlzF%oe`$W`E{h zrivq`PeCQa!cjE##Uvwj<7q^digSpjdn<2qtruK`O%I1VofH``#hP!$&RSI^)pr*UxPzj^TlvF#c{q<1z#h% zK6DdAp3#$weogzrGunRe$7_O+qU0yfEEREXcqdZ+%ecm#6#gPs1(_ZY*s9{itW+@J z_S6dRIrNrK^E-`(TrNb3DP?G^|7>RQVKaJLVt_mPOyU6+qj1iYReaj(W^AXK%s%yB z&8qQAblz=!y=}7++pyy}OFOHKoh6xzNAOw}Q@IC|3Ojz-qez-0?6;T6{mK3{(T{ynw}_c09R0|MgsYFimwXuc7*{P^r> zD)kp$&W+%K7asDjUsOm&-Cc;y4l%d(YM!&F5IITvDvBHbaGm5j_{B^Yix~@X|G%Y< z8YTg_LjMn*yVVXI41C8OH!1S;zaH2{eI(yBI~dpR{!%}7Tm^dGuz=s3w-UX*QUu4p zHbS3FGuT^~AE^0$C9AqgdGL!@?EKKTEM{vDSN~N8C(Qkf4+Z?fX_50-(#M;4%mt3C z=KW*Z9?JZ#rNHMD=Hp4rD9f9kzZnq$_6h{W)>$GVvUz2bk^$w3>=kVm2ow+VOu7B zX{jkO?+4Vw=PR53)DMs793XW`_)5&XTKatxz@1BdnU&EJthFc~?unShvUe0>)m~4a z!ruZ`?A?WR9>;_ABQLX(VH44htmj14cCW;|wIt>}4t|~A!I<3#EN}G%^_rH-EPgyf zulzmW(05naFo#j7Ir;xQjmbQQj*M6-F>eprwB|ed@7ig!N->by8F)&& zq1(~AhkdB|gi>_>R*b~F%_-Ts1hp>SfU1Hlp!S&?==}^`wD-q57%)v4{oNjos)uX9 zV>7(a*~1%0R0the^$cE~v@a9BB>CLGhsh=w_Hb zQYyZTM)qHhDi7PiyG^~3Bc6bA=U}+x<{G&FQ6VZ=eiJEXI>MP97tpT4O!$DB!l4%* zpmQG`k@M|+ETHQvic9PZug`CgnD;?;nyh+Yp#> z^b!lxTtM3^jbLs;4YNP=oW5Htxy?U}V|$}surX>cCFVVwFU~X_~~m%~)j61~lrsG0Xlcd62pRQrUHqogI9Ml|IadP4%8EN-7GxTvdw36h3B& zKL6P3^%;^W^B@y0&y|?>EaY7pPJgeFW6ej~P~`fL67!B^-2pCW*NG2wMV1GvIWili zhdn3iv+uKOu`^J?k4`(z_8QwY(TH11~9{U zN$f)SJ!WusBwKPIf}Ni;gdwXh67&AeIvgHI%=;u8HrRppdcKYcB_VXR=PCBq?}o&@ zA@Q=LtntcXwx!@Hxg`p`7mj9eHcRP?e?Qryhl5$kPHkpCsa;~;BCDJ+gO={hV5HH5 z@gcWphw2A*&i*ZX9H>jmmV97m@&g!+-cEOp4r0GwIY`WVxgekPnX62jN$(w=K>6H8 z)-ybq9NPF;at|=}+Fu}hcD2xzMzbX5Z3x4PeCe}ZEnH4>BW!8SCO0$2@qY8>!SH|s zV1z|EYYm?Vnaz2)d20uI^R*BS88{VeT&vB_nias6-NocZaXhPX+XAdEPlTCmEo|@b z8?a2Z13od1UpOsqmEN*NZmYpAtwYGY zVkoPsnMh^|qQtz|#E$OVIew)DG z&V#qU#Ifd|$+Xn2SYqB%SC7?ddi{kwT3H;!UR3U2BSR;l#Ns^mb9y0-A6$m4Dk^#Z z=^FIaB5m0I`43kQUB{Gv|3RKtE4a@0`)qiiJu>(D!F7xi>AI_@LERg|7Ch*J=cT=; ziA%Oiecl0ZQ`vGD^)i@^&|ZQx)bGN-H!&NRsD?)9U57eX^=N{v8d5h~L_S)arx~_w zXuz%GFkb6ASy=P{Efg;zrOrX*Ty#1L0EW=tYbNwIk?y6Qx=>lMfR5bpSz_M(;hwvL z=;7##=#2M4)c3G5ZJ0O`ozAZS5mTHb<~bMeSbj;R#Jqn|c{e}QyhxYD?HE86N(J;xdM0+i)gp8S zyhNqjx+Uh#;b8qCD7$(J{d+}nn}0ut(jTm#-JkWLde>nT(956BjXp}=t|6$%Ee`HV z_91t+eS$vW^++{%8#VjTA6%v;Ah+NY9OTso&StHr2G0&bvy1W2ahV>}i1UVd_Zw)4 z@l$xSClBV~ESmYym{?u?3)Sue(Uh zyOSy3?W8KlE}`PoM0&t{Buv{Hk7_bMNpACW*fAHNQwJUBWedqq@-+Y*n>w9&{ELRJ z)=SZw{%Xu%{wpXeKZO1)Xk)7iJ7G{rJ?iRX!ZLN=f}Yt!B<5Yld@{~~rd@@2xS!Nn zvCJ48dgG3D&Ph)793R=SWy*N$#i6v+$e7F@XN@OLJWZefw^9sxyaA6XI4GR#_(N7{ zr()as9nk2^W#Q?Svseo*g|>N7LVu~3W+04#ulijDEnf#>g%HWHyXm0B#@C@Y+Z4f* z+%HgJxgqYg?7PIg>*%hAGL)0p%4U0O&^Z%pQ1leQ5_f%+GTm9|__zp(dF!zO)_I67 z^kyn>37a`(7CPmT!Xm2|FsnOy==kSqR`6mFi#?u=QbOmk5ZyOyPlYi`I%vi$B44t@ zHYq4mS&1dCjAOyNPteq!p)77nmejrV8Cj3aXKRORvyApVXvAT27P-KO`DV>V4)Gf7 z%-j;`9orwd#olLE!9`|qZyZ{FxQW#RHHH?9g5tMTj1oh(bnZ5Yrqr{_o?7PgR}L00 z$Y#$ChSA1(rSPEhN{M-oq$l-qU}I!&micWPJ?T&dd@e{i@2ykm){&j?VN5!^vRvxX z_+yEl@AP5em!$5Fw!Y~5#Xd}seCAoJzM{_JT$XQ;z_OKQpeOGOS?!uucKF?GiFwzt z0|WExGQX4%t*Sd@TlzhcmDx^v_gg`;T8@H?&6cv>t4yHUyFj{csuBrIoMUH_c$splivZG`y`O{%cw%oNbSr?0HH zNxfiuWf0gE=PZkvafSBFt%0VSeMwb&w`gZM1gNS83oiciK}u&9P?fu0cgQspn$c0@ z!@Zp(KYN*QTzQjtBt#JEpXb8u)7#0t!mr@`D^03c{7$@X8cGHaH;{b(Tfm&0Cxq0$ z5@vs?f#Dfn0PFcA99ftNh#TDwpPXv!7mCsY&JfCaLo7b#HP zY!HlH`ChCT9V%|BU|{q^eQ42tuaFxwhd54D1x>%5!911 zKd^50?JyC=dV$_LZi3$3#bEx~Yh+=;5Auw;NxkTir0hg78KAxe?3|<`p4YDhC^-x~ z9N-W3sQeQfzReQ{J}V>}K4=R6;Wi9hlueFJ@o61jc&K1&KS81*eKKkg3x_4DYp) z$+aaUA)z?+q063cIqNs24L91u&44s?<8iK>ET zg^%prEurp^zqxqf{CMHgK%=@dBdNowT}Qyn#m?f*lxad#@Lyp6c1B&rcSmT@{U6-6 zVky{MI$Jn0;#=LW-X7o$Fiobav&R74y=7&z@1&D#ATHs$j&N;YOcS8cQXfrpp}Qt^^`9rTGzb5 zR`6GH*G>c@%pHiGDiJ)o`-q=QMw2nKBS~MiJ(I+Kin6D3wv&FDDn$0)LHJXfM*O^v z$*zsHCZoGW=+swY!?#|5EB#z+S>t-KD!|`i-#iP7%=*H$+27%$RURTyPn2B~G-MfP zGC*#_BC4;h3AoBB@EEOz1GLPb75pl@aqo|qnspFVOvb`~g|xc5C-r38&067k;|7qF zHVV+gW?JE!F*=Lyj~D5{s}n;a$W((QNEfnc8$4GHS?Dpp?`gIwmNJ zf#+StXA(Ehb`KJ*3T9EWCy%H`{~f~m^)F=aRlI=1SVu6wX(coW?GNg6qNv}uOXPlB zFo_5XBkJ!*0o4_|#IxTH2v4M0=waztC27AFDvgTCqBEsp=IViPXY6t6oOTI%zaIoP z=-v=Nl~l-Hk32_CR=g!wi-6FCd`* zdzwymb z>y8}wIk9iuqm}!>m2)FupP`$`;iiSMU4tV)ilu3tb=?VaVj!iir!y&2w8DAC_%BF3nG6xJ>34NNk;eMT%puY{+y-9$`3Pe#v^7gb80frxKD0uzpbr!bQ?x%d#d0uFN4M@!!C1fsVj zRQR~DL9`pADmcr_6a813V%o43bW)R(_;$9Gi5R3Q1k5p#4fH=DPWvK99x6QpcNA`c zponWi=II_{Ep_gC$WIqj20RrXravJ8&1*@&c0W@1$5L$H?owBtx|HY`wvm`g8>y+( zJD?5-ION$Wd^kYF@>vn2?}UeSV;^*j^23V6(D8YK{qXaWxBn2)UZDX>)3QmLd{-H> zLF2>^R-FW{Nhh11Zzs;l4`gw|a>41{Ao1^KH*omf58=ei6xsb)HQ^1jlhrgjlH!_` zaPZtH!oL`b7t^NF4U_v(j|l_BLyraEsgMISr$!4U_GYBt?44raa%W-1!mY$)-ELC+ zY(2=TIU~D#%Ug^-HeXi%$A-#Zej>B|QVupLt_2J0x`dXHR$#t4KnM?)1HRJ(z}7cW z)KbbtPr8;1d`q{H^!7;Mp(hq?3k`|7rUO(?sT0-IZU{x?2kOc#88BEKOh-%_1m@>jGxyB8cjGYpcHwZcY!8A!6eDcGC*gtluOsnJw_upwiWSkk_UoLe}9nl5-C z?9sUo6@H8s8bUEK?VSSLg1!g_{o92I*O4UUY%18`b&af#>P;%P#em;Avp|8StLW&a zD%{?gBQ|`UCdTD^)2N$Kg7Nn*aZzOl(XG2knmPc{zS>(znUh6gMhucgTE;@Xe95mK z?hEqf#8JnCwJ^eTjc8idN>IHSjo5im%EDhDN|wikBkvu>mPO@aR6rlGeOZ)Hmh%Jj z>s1Zhk8c$gXMUsoQg^~)dkr8H7ZbUpM}ltk47z>(Bo^Cp6_05%Wg6{$x%`hWe1!Z- z9u)T#7p^jA%lEaRN~ayXZ)PUmUnJwnN4mJulP=yz{ReIspT@DP4aaUP@NgA|k3=+c zr?iERW-o?t&FZ)K?%7VRJ)k$aI^z?&_BI(lG&aJ@-Hk}k{W0&F9?N3y-=aZf!A!sB zITDX~^RMN`sPVf6J$~;Kj-d~6#A-u&ae*uMqwg+^qj<2>zJoVr&V?>nQ1O~0F?;6v9z$d1YAt@{hq z^EHIqL=VBoWAD{_-&<4uLPzxiZ>&EDXmVuf|u-%1LtqcRWgN7mGL( zM11{y&{TydblAUL%+KpCOWNCv^}65C7o?L-Jw6wyZMDOyPolA5n-_O@?297DKZdJx z=3})*o_tY)#2S23@oM*S-ha{_G*xdnns1uUyZ^gMQ&pF;f`W@UW$si~Xq(3M$4)>Y z!3pSh1!O~PXQJb~&!ek;XOZ66LUg)w3R-X6f_wdRfEHG7Ve+3Cl6RwnAD(fQ>+QP5 zvr9~||G;0Y>d_sn64VE!_nOI_c(=C8wU%bdxsG0NbtZY6iP6UNO42D82oE?~=~ z18n~cEm2XelLxO-V>{iK@tMxj%=_dwmb0P)2gbEJDy2>0$wP{GwOKVfm#U8}+!kSz z2P1f1P7!;jrbdHSuje`S@%TtvCM_^^#n$)Fpk0m~IJ{*vGaPjcUBADBv56GV)5F}m zZVB=n{(wF8w`O~1jG(FGzjB8IUaT7CAbHP392=m)%Q~y5^2{cd5wDKAWph}~Qx6`$ zFb`D?xXvbzYrrd68%({Zj_sHB$JSlF*oRniykc`9QZm@ioqu)kfz?H1;ff3#(|QvR z@$QCq+W*5@mn&$IV6lN*dfFUUb3n|i(50f#eZoyIcYK0zP$+t8N?%#0e1BB#Y8rB)?Re<{tTQcFT>7* z=D-X!PxQ6dd2pTt@x5yo@TGmK+1Fi_^+QjnJ8GS4=Gno>(JXjEeeVz2G<(e>#7A#O z_<5@PmBG~H@P8f?YL>2ysG1k@gRImR#t|YQFj5n6O5c z5Z;TWzfC}K8%*%2nL14U)+%1~tb$ITa1zPJWuXt(HuGt*09_8l(AM}8-ur7adsKKC z4PPvPjJYs@(Ss zd|8o%xVYMQYA}AC6zSpRfO0b766;u_VNDru43OA>GhF66{(7EG#u$sfa20x zc!bRrJWC(p<9=(gX*B02jN|am)p6Lk^9M@$TL;RMPoeY`_j%e2Yg8$F!p|Pjn*_-m>-xpEF}7db}zNoivw@*{QoIc2Nr6-pd=_8u1!_Xqe3!?nbaz zs1468dIXbP)6mW{|7hukrL6Hldi|i8E9pC(0<=7&8TEGZXQAe^sHoZp6|H*zYHJ(WOeq{_8C274BE!um_XbW|af1`QjG7Df2K}+gw9Y;AK?q zP>!?1hvC51I%#a?#*6cm@YbduEY3U`MSB$158fZbdsVyRx*IBJ)8Z}M-*=1Due=sd z9vR5)4uSk;emk6g>^`Y-8-dsKGi0{mDXh-qBP)=%k>0l_prnq)g7;Bv)HB;2P4m}f z-}LlYqVgN2thyOHJzC9|I;%MabJ5|%%^li7M# zF>PHJ&R(0r-9P-W-MTSYy?+F%4=LsSl6QPWwPzLL|hsdeMC$bgV zj(AzY0CZt#1FPx0&Sx~#vq39{p|ZyG*oQ@rrKJ19L6~rM3VgR^2wQ*mIdl~@n7-e2KJ;`2Tc=uvQTi9W ze5WzKAd81&eGWUJIFX4Xt{{FKutf%^aK23_y7$S3TfHBS)_qpM=F;`+zFnVZj=IfL zuIZzPx${}SDpS_Wq*dx%)#CO2Z}R;~iVS>mMqNjoa3A+>yl(w&@+#%JqvxYld^rul zI;t0W>g@~YeMTBjC5`;{_upv9FOHMVCgaRk#Yl0#6<53G#$Tq5M`O3$V=K;YV7c$2 z_{2WPaPkxz4uxe%r~EtGKfMO21^F?<`VMsU)ll4Cd7Li|)xnu_u5-`5$=Js5KlW7e zlay%Wp)((9>n+vZNFLWjmYg#m!_Ar4&FeY~Q@(*uPwC>78_iLc|pDmAG9jEg_AE1lqGJ=6Nhx;SyInz5otMO2-FWDNcTPQ_A+-!o$;_;mYg_ ztZzylZRh+JEsg*R#9<0yZp@=_+iJn0GbSco9KoE7vn{dKgwQQlJgjoasxg zc@pz}Nj)^4uo=qN@Q4rP)bG|Lsm~i>)s0iYo&7JFmGgFKH)So{Q%YHO)Lg78HxnxK zgt6kqjacX5cChB|1XeQS9r}^*iKu37VTCGBaqlC!@T*5J#>Qq~c?+q}+hqf@_-=|` z`5u9K>TlUFn1q^lE+999tJwI-ugMbgUdhH}Sfe8bh7$AMMVr#=(0{MOQP5W-YBy#OI(MZK zt$VbIn)lsdAWbzK9*WWH6Pwl11P3n`EJLrg3*PTHg&=WO{Ge%m5+9-aDHM+Uh1}SA4 zqmdd}sIt%>-sKW&Kzbxl}M)gr}QMd{?1x(v=4YHO&7&$e7#n$eH zKTfZQOO~#ZnD<-wr&e8J-s9Q6-nvNLPlNUu?7_lvi_pj^B{b8{j2-hi+=e866TFCp#c&Z2|vTFOgDD?9; z5be;xRy63tp-(5k#OoeR*Yqv;Hy{?KUDIbt#YyC;cOcyF^qW<5ydh~CT`)tO!ooBf zX?xC2n7eNdVe3^6BfDZI~w)Plx0h9@S=~0kjmBuc2;v4E4@7!Htk)_qVD}+XIXQ(x5T_l=r7?2>t0-gb{)5%E0Q*|ni4;Wd6$vC z$^+T8&DT-Eb$`0S@iE(-CWq41>dB6Y7ukln-%!yiPx?=OEnELl4TVja&lIDsFtdaC zXves@4E^n9$@6a^FY{|GGWasn*H9r-FYRH6y1kfoLM8Pnc*F3=A#7%z8a1fD$25-2 zVGHJj$m(_-W3uV;Y~%FB^xsLTV|8aJi#U6M=}gXITCXFSiG#WH|MoX?c~?z;*iB)A z=MP$w6UF+Tn#2ZeTS340-(`~rDYDo%i)m7vDGNHdl0_#qvGK2@cg64@EUVg!UVxuz z+kxBc(329XU@(m)-?m}kxKG%zHH(W;K@gdf>{0l+$$ek}8RLhp~u^ zf5bCEg*Dz9%C=;H_T8(Pto!$-5fKBX{BTt%OLJ;CMr>A;p>7NjLCp7-N)W7TvQb|c+ySK-K!GoVeG3ywM`#OtScJ4t&9YJi7buQSM9fjPF ztzuOt|B{*0?9ir}-&leFQX0j)rJQ%7blw-j@z<)6Va7>zzv2&_d`toL+x?1l)O;8C zxf$^GfQzj8ljJs^(TRNKZ)H7ZWfJpVh*svVVlQet*vPaTlz6y>{dDh7R|~M*(`zS%f^NFsSq~pN`xx80}rW0q%KF zLJz0gKA9$3s-wo< zk*xp8$uuRS4ZU!G&9vmr>3Q#=SblL2n-lVm$}f3TVGMLmJi_ab$yV_P2ixV@4?xf+SFjy6liuR0XmL63^npPVcsJr z8e*agZ~m%>c^;E!=8L<;%6m9yyETsWQalEREqA0E!_Ltz&7<`GyvuMvaWYfPNM!Oi z9pJUO3G`=998>(S5sXnj$B>gf>y@=kjA_=VMajC-9A6H)rx!DCsRL8(P?5~>@>jNP zOsbH3%^i(vF{SGbI;l*RU#$+w7dolP8 z%KbK#Dc@N`Rj3Ur&T^m!jN4&am@lf?%b0H04cLKA(5WK>=;aws@IhBBI%b!{W(_le zu4DV6Hv^Y3122hrpN>I)=0!^TlMyf|ObvA@hqFxm<)Ei9Rbt++na^G)(3H6o5BE9E zVwTjFQ1EOEavn*+{$s_duf^vFJ@`1bA%k z3Kb&%;$BOU#JrEvUDsZqoTOoFwr3NaGy5Bg#^YGx&U&Weyc-=i9U?LB(QLq!6NoNp zVk#4}*i6Uo=+x}KEV2qPtH$-{c=sn((DIVSR@_1%1BT`tf?`)ZqtuZt4O4_@Dqxjg*E46uSXeA* zvFAodX`^QXJZQa~op^qnp7`Vd8;f*U=I0Q}bDj=Jy4ezPn7UMyTb z3_ag=>U}hbl><5;L*lj4n>VOVE;fPnzP^&88^w9UX#76i&s(? zUxHO+n0X@Iw8)PPG+zgG`ED{=c@24x+$APn@}|mbSCY^KFS^_DC73p`l-e#_L~JbF zWz)Re#JJJ!M91$5TxhwLl#Li8lEaq5jEkva!_pKG{|OSMce{x8=OQrkT%1_@J6YHr z<08Brq(L2W-@v^lU3CW@M+2$3f;)HK3Z@}kUBD6$a1TI zyD}eurvq;Z=ad%#nOW&~kJNWDN3)qK9qJUKUzmu~9>tK!g*(LFO4Fe3%_5lM zJV`8ArY%OxF);phJaov97gW>Nkm<5WaOt=@Sm1YsXxe` zFjqt?rvOEl2*J>GCrF$fO*WYk(!PcXe+p)ia=wnJ=l=mwCq9U!ArpY(dI+A)_zCuC zdx>@G7bl(db0EGv7RcM?i=xp3ajDZ|pg*A>9Nj&KwgyXo`;>sn8G1sSIIiwJ?FUA{ z;Zi=35iM&|F=MYL$n`V=X3G`D2owy|wse7QUz-IXQUPSinUPVFN7wG9DalZK0=NCJ z7U-5KAZSrY?TN(sMBP0}+&AwpXe}udpIz{$>)-q%F;+8WImzF}bElWob^fsjF+Nj4 zQm_4FZ>T>w95D@CDnCpO9$o~|+Y5x00b#`Mi#eEj_As$Mr9-MMX30JcyCggJ;zQjs zPbM~cy9(m1d3CXtr)4t?O2F&8?c(i<$3m<{KQQ5}UELf#XE=O$Gz>F!0%&V8b;J(>>@sZVk4hj1dz?|+`Wa&i_m{#P2btRQlJ}wYkkNpnXUH%Z8kN3gY*-b)m z{t2OHc>vg5ybX+#|0Q~NAmHY#N&2h|7ltou0h8NuMHTx#;?1a~)FApRz2yB$kjqr5 zyAS<=iherKe({nlur;NA>)w;z-FLyz>=^=BV@4jIyh$`&vdB!=BKlv23R#ARLN$d7 zS%zFaz*lsD`L`P|C15v6+6_Tc@@+UEZm>`;nQnHr{dG7={u1S-Mc}_#TZGCl>0o#^ zBi7Sr3v0^?#n<;Q6XOH`CQg9a4E1WJpra}(1QjC4ugjQJ#^7?d-C&uHre7ejcD2i z0~N7KJo4y>@TBf4D7@Go#4l-;`p{L#5|u7--{nFW*K?J+9Cd=TMqB|=t%l;O*-ElD zA(WI%kdtzjR)YQ3TjKlvbIHJWo`SHpN672Hnw;L+22}6=q|^KaXzqG~yw{%#dbNxN zk(0mGk=(O_&U<@c;;RQ#Hdl&+R|ksC71dPZ-zwqw(_~psT>=W)wdHytr0ldZoiThoon(_HK1#@tIxNnJ;_x*FJO-J#U;uM+hD=YYa&vb{>3+$9T2;TeEMwU*s5UVU$!w!hXy&%25w46dd2|MbBq=N+JQU!%~Y zy;DqTIwbzBKQHFbJyloDC8vG&d13UwHZb`3G@=`z2TJEzlf83%z&~qyneN=9;-hDm zfDf2RVm@CBSFHe8tJ#(@`Q0Ook)CW1Nrl8IT+o` zK+w5RRCh5}QK+rI3zn3J63s4K;5THiu+`}X=>7vKx>DA9WRn+XoAJ0Y*Tn`HuMW z;7H<}H$iB8`+z8nX&}iC@4=%P3gp92cd~HP6*zg=J#c(bi5L^{nQZy{kti6iCC?W> zq)`L@!lQ+n!Y?Czf%im-Q|s3Nr2>7@$0}PEbXs1d(N19amtf(Y+X3-jcP<&4UqKQJ z#}L;8cV%T53-*$hwb4!wRFGsr{5nkb?DQt#$plkb?c5GhnpXoyhi)Q|w|@{%%&ek2 z29KitVSU63*Og#;Q4JV;W4}z=p;DfJYA!ZXaI;Ovkngn>YReixuvI<0+}sG@&mWf*pNP!%g^;3lAL#Z863$26 zKbNpSob)gS5O-n|u&B`y46k1mPQ6$u#4cL_g67u>+4^7Le;!pJ?bSrl)GG*7Z1II8 z?4=O4$O5FcjIA>p`42k$Y@#OCTfyeu@#5LW1afAb7X=k}g*#cNK}WH%@Y!k;G03?A zoIIc)n;9>p?C(v|mUaW@hvUg|Jd#ue{f2$7KLZ!;x`+3XjLk$+KF zuM|vXD2}JQURePn+gYTS85fEsKNX)Zix8K0OYV`(DMG>0`9RHd9+Oe#e{;F8YPI9I!~#CRb{D?+ zvxRGzIguK()9k8MH0)}4i}iP8Bbn_1-sO0P)dh6WQyZQ!ErWU_R+{mi)ZyrqUvFAz za0tinQ#f+<4f>+<1h$OdTCe%zEwdicA1^*|9c;YNiLcdtXN~th<1>Z#P`Sj=s_`nYimyzo1S1iKRjgLHN&HgT%OCR?X z)vL|j#0|EW!|fX!agK8%j(cW_)0-|~^Cuo?;Ja6p;vJ~dF$v4v+{Y~nTX6Z(pn7+c z*Y&o_?|IalI2<=B4L`gdgf7LI;@zVj;QH}^50Wxmdf}NY%fd^|&T< z?h%DeiOLgk_x4#mn|aIV$c+;OQ&Y@oIbr)jZmY%o~njBgZ>D$L}F)t@5UhO0Rf! z-?#YW8)v#N8DWcypU`v#CA_V~i4E1!M~y=qn7DZw_V8`x^KBgvUUiZ^8ko!CH&3DQ zD}QoXydFFBvmgBHaRVpDxbkB8f8@}wTB-NS3$=Ndva`occx*aDrIwSJRcjx-^zL1_ zqHqtknN^1kS`69!7v*@t`rk-r>PYSsAI`qq zmYXa1ktzRZul3<*!jf@VzEa|L58k1c)hFRPjX5~2sh&0KX`lkFNOZhs0_!zkBpNbt z9S>wxSZUiml;a+YtT*c*1@jboNpUTXl!24VJPe4|Sh zD|z&t$$l!}RU_pQjH%(EA(XES&}2VT-T9sc7um#3Zp^=J2cBtum)nP3!=5o7z_&Tq zv3LAPKBuOfT@QK=pJ@4U^?Y|6w4$s&;`lXkJYW_mJoX*M7AEp2*R|NgC=ge+KEWn$ zmh#i%=i`VG5F2>yKxx74;ALJH+I_!)r|f~K>VXzNdHD-3EPBdE-&b-R?sObanrVbL zm^Jd5o`=z6r%F`u7_jJh5opu!F?jXFD=??i5PqNjhH;h2?8%Zgydb9?<{qs^yKD#0 z5??>o5F1smwC@hnm zQOf|lW#R$0OWy@WJ>6QbeL#*6SvMBfT{ws~Xng1MkH2H-UBB=oX?A?$i8jAhHXH1; zzYm_pdf>U{N=!HYBs=l2AKQv5!QU^9D8l+ZNs>9DuiN~P+xkzet2~ zDx5FRzvrmzxD?yGzkvgWZ{g9$l*#w8pZVZ=j?F0 zF?V}+jP;I;LZxw!*s!5r=!`4BB$rqQPHr3*=ESk% zM$RnJJB1XvRKj>$clbu7mIWy0K&SS7Ol6=MAG#c~|E@)2uxA)vKBxg-2pxd>k&~=C zdoE*h8_|)1Eo|AIr}%*8YV>rZI-k&%gZ>-gi^qGd!gGENmL)4MYlbUNxz0ueqtn7#<-H^Q~t6o1{skEwv1n5sinny;@CAf{`p#NGpq>> zniYsDCI!RC*@xJW!3-VsX~*v_oaerN&N$V06!)p$hpm2pVvQ1WIpF4v%J(m>H&JY0 zQ(pgJ3GcnI{eX1r6!C)vUNXZKkukj3;|t21uoXp3bSDo}?@GHK&Ft3sV3c}1lEpOU z(bt-Xxj}0Q3|w)XkNz{nQSQ4g?ysfIb?-Uw4OX|=+zrR^?Vojy<~sJQJ9!bGH?oX( zrXK@Hl%2kN`PrxF9MQq;i;)1n+TA3nnwseI!?i4PQ``h>s;%)f>yJVU=mV{EFvp^zg%0aPhQ_^t=$t?wygc)-HG0 zvfOqaGFY88`n9r5ZIP=6xkEXdZ8)d-I!fc{7vgw zmAeQ0IJN<`dJo5&A3j9)nku>F5KX>)+A@C4!3mpuy26p>0j#C*4rCuwLW$FAutmNn z%3uG64?g4cKZfr6uct4L12~mRM5QH#2x%b^^||Mqn^8uhvPVd=LWD|tXi%Y&6q-sT ziuOI{eY27z>q}%LGkX*z`QCrPuwcZ}VUx zKYbXC??@!CSAD?xmWg06eE?|;c}efsO8@_?`$X>EzJotJ9|yBmk0URt`bjzOouI!r zi{zHPm3FGtSmV)8_`BjPL9hirN+ zFl*B*q_XZF+14Dz%-_r=j~>1yDS1td>bj6;PHm)U)d{S9TZMd>y@{m!mBXHM!br~! zJ?XcW4!)qQN1D(6CSH{;#Pr8J^5%~gap~Jc<~${QulzA&OZ_)8-)<{uFds%V$L)~J zJDA*AGn^=f_7Fo&Epjd^82?vtNHXszlD64g>c_u>(;K@iGH+2bZz;z-cNVz37(+;sfHO+=f%epPVzt-| zhnk&$sETR0v%(3xEkKZUx)}d$K$3aaN#^~7sCrm374_@VKJ-~)X#0jGFYW~wTzcWi zfd1^bE`pn18?ouMZ)|A)bwHb!;6jbd&_Bfl(u)1i^4?yow9XYu+z*q5*A_7alMXm< z-bVb&T2bVtcJLHD@Q}}Pcz@jn&>Lfj{u$`vL*gWe%ezOPD=fn43(iB~r~dTdhcKK} z9|i$x>sZ^qRGb#K7^W0XVDFPR;?g}nkP>_Z#&jnVjg6^rtY0Q5ObI8BCXP@h^?IB3 zT)^KVYbEnO4xwHL$%qaONd2q@xowI>dHVw>AD{>M^~Z6;MmGq%R}I$-WyClo2KFzy z0B`opB!;=t_Vv|F$-GaIg?X1)x8EaZJpDp4?`iCh?HBm5cms(ze~Woa`M!!AJITC5 zsLF|>aC5yb$+|O*d0VSW<}F#c#(NsPH4?lRy&}2W2D5(ygJJu-QzT&SKu|dR5X=vr zCc#s70pBMW;uotE*9l`F)cXPqR|=;N8@@y4&pDtS{)eq7JplYisSoPNUN*9}7SxOE zVcC`pS(ca%vN`gw!*MG6ccvc%1WMmE)c`tc3_-K43rr_{gUJEaVE=mn>qHg6EgR1& znx&j~^%KzA7$TWBz_bA?A?j5=iko6ZD5WONCPyXy=d0pW1u>_T=0Rk4>+W8$*TR^l9O6L6pKB9KXysf}suAC^}_yag!Gqz>(U&*|QWZr+NbMqUx^?VTc z#yHWtWrIa|>l}zSn9Ewb<={zk3gqpHg(;IqN#;En&MjQR@_hj4<#!;eInWV?>!7A zCU|$sTzLE86B%qI$(C*Si2M&o8Ig%k_kV$#|CGW> z^9y9)nN*^@|1lg0RY$s(L0CxFfava-Y{K&|Wb{2_Sg9Y4!iP;KPM18P=zJEPwizHea!jqgoa zzWWxkVwpL#8+SP zs@}&z>GK%kQgcu;Z>ihda0RiL93$$Oq_VA2{;}Fy4wk(z$Co>#ocDqZu-~^1?@GLY z!+H+EFpH@~z1K_pPiHBZNEqva`4#E! zEwUT4rJVPbFcjjsUCMbYlZRKjvFd5Y+8!(??WRXrSbaaXpSw(M$<2a+r59O3S_5gF z^8hrJ*09T7?UH#fg+;qsS#O{Iq|sH%d8eFZa$zmxg)ju1Za(F{)P<1zJ@pWt6oGZM zlSpdeDArSR7HP(3lf?U**pF*&ST$2}`q7L(N9xeP2tCd{`1?d~0cayZ|y+WOJWeoy_&>_h9 zt+C{u13~`8R3ZGLF3a`#iKLQD6vnd2jh(F>NjCkl6e<{(!GC7`9>T$mDa#c zj4Z*2f@(-bYAEP^S%*K49W3n(HL~klN^#TszU0E_^{{{&hi46aO5SQU!APgSSO)Fn z@1hZ~`SfPIDReUVst^Imqer6l@6P<7A`@7V+Jzc2a`~Z4q9yb0Mp^6ScpW+vloChC z%H$UFW3LTm`6@AVahAYOwXk6=&z1FyU9!~U>1Q06fyHV=}_TM^V;w@MGlF`#Vu3+C|$$t9Pw5PGf` zSYBNsean7?teRAaI;|y{_cZX4e+`HIJ4jrnKaAh{N9r~gN%HWuus^sOcB-TihtF>z zdVU62|5GJaCZ6Ec(+){*mXcwqIuPor1FI9`h;3XBl&zT$2fQ$u<7)wRv!!nH^C`pw z44?*A191t!!uu9r;0^AXcQA3BAenbO%vAY;PZ@MTi^&Og%P|t491$g%_XJjQtp(q@ zej1WLZ)X>?|DZKfS3t?$Xy(5x7B_X-L#^8l2<($cTJ~8$;H_rxew{#m!#CiD-+?2Z zZsbd$FJu@#hg2P7@=SXVRCyA}`OHb?&EUjDp?ZDA1UfJyj0UCI(UdGRraAdCOP`{M z{^m4Q4?1uX4?7vpPV~{B1N`IJ&6_W)FBLclFXj!Q24?as(Bc4{7<3uy_N=5MQ%2C{ zGe`)ZzMd)8R?!K|Ls`O??Z~XJ9h;KmNJH0xO!o~H4opg-1}ER+C1YRH94SLo_oA4a zmPv#MTXfL@l`z^@+C9~Nm53HUa1*YzKH%c&uW?T=HZz+C!|~Die`N30=yHKUi-gq& z63~d}v*}3Jzf@1vob^rZ;8Le8Lpn1nZPOYCaWeHjNa{|gZg*YFG>ZG|+X)#qHvBm@BGBlGW;D$C z1$HdzL+?)oG+>A>H!gV@Rk|pFITSW$vPp0P$Qqni?0OZH$iG1n87m>l3?5fsX1&P@@H1)UaYNO-Xx*WA(0b_a5#+8;f^Uhp!kz4cev% z)22J4SIU-j+K5=T)8iry4{4Bjn|lj2Hx&iN++wuPeIPm@n$x4YRwy&~FnX2l$i}^F zN1>-8xT7sEC`k)PQ-p51HmsIrEUA!Pcu+0de|&27VBh{i)fgFf;p@k0+LbN4m!6KE zhdvihTkqh)7HvYPva#AA_%t@t{fdLf1fb;p*SU)u600lxGtuLy{=yBv1)RK>Gg_aQ zMi)KFKt>;Wqs>Y2w0-G3^y=s*^ssOcwg0mf8K<1$4%%38|3*XjyZ=&7yYeM+h}kSmI+#thzxcDUZiVd1jc(cZB_`F49f3$w^BXdWFrYhk&Sq=! zUQ*@EPiT1mGH&odC;G(KL}AZl+K@^o5C|>FIMQ$k$Sb*F+2~ADPMzL++|g9^VEgn zk~-UaY8GsUWXVBiF`ig|L8$tkFLVF(&Sva}At-k~Ws~b~pqdN+VY$pStjSNq){1Xr zU(3!4sqKeRQ55AO9JW*sPAH*%+jeuWl!{P%TQUNLCusWIb7-MS9JPcQY}CJOn!Klg zE)Cep{ZZ^AtSL;Zj!OJWC(U|{8nU5!T@2Vfl_8o&_ z^Y3#fH+a#N_L@S>zUw$ay?`xDal-Sz|3E$~6NFEfs9>8lwbblls`xH;K~uC;6zE;#@NQ)P*76{iphB{lhj!C{u3nb4WBRS2=U$?b05h&FmX zMl-u6a_fIR|D>U-Ch^|IALhHH$uK8Mt+zmr>B<)>CO({vbB zHW$$HEfcxm9sXQT$4%z;C6{`u?Gn^jIydn?Lh^?@sa)qj>Jw$n#je>Xyou4I@kWc$ zgGGB-uZ-h#8$T4IKC=;f*d&B1>(d=uw5Xh)3;kSohJ`NQiHj;ua$l!3au0@f2@^kk zLVYWaQN^zHwzuJ}P-%DyjVeFMwJj^4a_<-&sS!%kAC9H-Q#@sLQ!_b>8~cS5inXY~ zMVSk!n8T@`YUBP3ujkA+H_);dGq4dijD9saExhVk&BE7BU_NpEg|yfj|U#%ch-gM4J|$q0&!U4hm-o?VE#z%vTjyNAs>= zGIb|cJyu6hYm7xRw0E#U`-h;SoOtBca|6vvT*M6 zxN40*X4M5h^0{NjO}W9lGw8H{wbc6jS}yVUCS>@fiz}GlWxG8gkA7Xe799)@MYGoz zab}9^xN9eFaYuDM(4HkW+_$UJ9Q8*j=Y8jWb$L?>Dwa=@#;T-^qAMNfV820v?~B>k z-ghLkwoOC+r4NJ}-AA;1cLuXB*F}aKuc6Oh7a-;5v*Ste03({Qi;D`$|6q3w5aNhb}F4#zm$GD zA5OjX&T?gc?$c<$1X;VS4mPZD#0n~nXxHHa<}h|9j-7W$m>+3F-BT>3c>3#4IL^I17)?7Tb?DF0s6NZK zvptJAIO=_eACFFpM!%YYua3i@#&`UJ0bA&Y<_P|V+Df=8-Q^YNkg`3dB+xSg@#r{9Gf?D`qYhOY@hBL2V;{Ovl&jJ zU*&W@s3eGQcv?@|bAI#j%g69lULK;sOw8W5l90)x2BqDHx+EWhITC6VtnI z#nlE+q0O|6UmCfYzD2fJv&d95S+r2JJQWN&LF@SOdw)UFt1w~Z)zPBg+%Smx*eqH& zEAsvJeS-KqlX(|%!+%M?Vb{`8EbN-M z$axNeM5zm|^GE=nK=s7Tubx7q!ZAqp`j0gJwShA4;o`o&!%3!V0gQNgl6O;Ch0Qh( z!GzOS2@ zldnh)a$4f2g2kfTv0nUQl>$D=V-$pRG!citi7?}zD)?0O7o8{c;Whs(CvJxtiHFMz zvA1Z-N0O`j(85CAc|r)W_xO+1PuvSyJ8ly{f#(m{TJsK0HaNfh8tJImivIMj7Y{r? zBf4(1f^U&8YE+|p?D`-4AReAE#BSuJG2&kp4VF7DiRAjnkP*Uc7^>eNnvOgbUwY1h zBX`=^O9cTE&k(BLv4WUQDkR*9U%b+caJISI3h$2Q*<@iRj< zXJd%CVAevir6q@L^SMdl3?323SPkNqC_-Y!6MoCxtq{?Y3P-0+BuO9C_#;FO7G6se z&waW<9djLtiAf%>I{A*MS6f7$u6u}+v}f`AH#Nc)>vyEUp@`Hb{R7=8kBM$Lh^uY( z@xAi`Nc_;_M0al~8Kls~vc2ZsKURI+<2MuZrGt#vlYks16%wn#KEEiP*8hD>kS~WrThiQz(buMZnCXwGV#PCXYeqO>QzMyC|Z|YxpCgDF5lK>ac9Y!@)WlExx{Tkr zDo>noZU=d?Yz@gvJqjUX6UhoN<(ICq#}2W!r1yMNC_5Jd|Jl6YSDN+41#J@~|L|d1 z)zaH?oxb?_RW?j4k`ZTV{|}mNVNypwm@@A)S@^DiP6>P>s^$#iH|Z{c!ot~hgR>3z zRdB(sfBeT9IWHgH&+#B^oqqz#-u@Q1%x{JL9ja{g_wOXPz=luuDd7EIWs+fI--tO4 z`}ke?wh*HCf`lzguhDdTEm}OB!&l3Gku7eU#rfU3kl0+zk54=XH@18fuew&#!%zR< zBh_*|`LLJu{Fwx&Q@_KwkPLMEhBk436U~g44kEt|v&fvcec=7k9}q_`gQ~eQZ(})4 z^z0dA*EiOWpSsbKU#nsxhF65puh~mQt=3px*+`L8|5pMN^}U&$mA`oIZ4-|4P2>$r zTlik`Rpd^!wy3==j)Y!|hhqhM$cDeZki64{M1EXXqvc`&yw4}*5Icu2Rd*9Tn$8iY znPxC{%n?2lj{TP{KyZ4ozaJpmu`my?y>7Q>nH zACQptnCdAd;%MxETQg3<($<@J+Lq0%`Qu?xZ)XJr{te@8w;Ay360Gj8D6HgS`E`TeRBxlLRS7@#B0Mzv{GsnCAUJO#9v;WzmxuH*5ni$T2fyy(PnN%Nm7TrSSJ8FE4St}TyBIZS52-~P z#Hek{#48iO68kr=_@ME(_?X}CaOVtHvDYL^@wKdz7!CUeYlj#^q)UT1Rqqxb(d8nJ zZIEuPcKjtQPaCHn-vg>Y1d=d(Aph=soVeoU89w$`e{p^E1AhETH>k3YfTSyJkaV`>Xt=8ys4>}w(A73sXYf}e^tZ*(jEANk^}sy%;Dtc+>v%#4!8Mz zftPq*^$a;Y^rdLN)lCff@|?HI62!UVt@(VFH8rDxGBV}i zFN?J$UE*}*!Mypbevl-$K=Ca+|1?phoT~6_&mXfYBR_u^(fva!-IU#-zQF7A0r0cz9-%qVaShY*db2TJI!mT zN&TJe3&`S|n|LG7Q6xL#ho~vtQD>?@mKn^Fy6G<+D8=>wJudJ`h>b#>_ zYvWeQyyr5f%`?GqSu{WFLlJWi*aA-3z4*S{ccKT5`d}$_3~4T1fDd;)g48H~Ub%A! zmV09cr@Xy+okvz^{5%C@Vn{2xGhFM$Wkjh*A z$hN1!%$)g=M~{sq^Uh;J%Ubfx;W8;&@(627zd1iR^pKREAne)LMS8XjAm_)e!RKGQ zk>)dlh}Xrt#PqK*dDG)aoV)*#IWL#4<=GrEf2Ja77%z33+x(Ku`vJM*dW9%% zSxgMIo5;D$DEwbexzufLK+<+6<2CsXIKAGDWUW0;6r}F&`Et)l#3=*ZlyVm9FE=NZ zo%&?vwNUWvokODIb8x-oZOObJOXl5(8)hs9m&acTNs-4HnM**M?dvK`6IEX4O z#+`yHcEc5rRS<~(K7WC)K3EDz6}yS*Mj2D-*9ifUro_-vhb8+xgbNGQaO8SrcHD3_ z-29l2O{Xtm25l#R-oJ_qO-4!PeGAeq$k4LgeykK8L5YVJS$M^mDd9p_!x-uBtj30PIHsx#3R44!qfG&n^`8!AL+kN3pGL{N zLm_mV0U6Og5>nr1LGJ5tqU@;;<;n?=e`OYKu-O4&x9#Ej*-6Cs&~(`EdK=#Oey9^yoT?e_rRuN~rD zR}j~U;nII^4h-v=OC9>0gv@pq&<>o!R@~?Y{=-3-m%!M_hF73o`~jAQot8z9HU-&i zCCR)+_AgTl0wnJU0aefm)&$Kj9GH&Z3X}H+frF9@>zvjLIJZhxIZQI|t7|}O@dozO zT^^<>B|}upU3TEj8rW3v93sP=U>th|9{wxgNIqs)xH|T-cnxGe2xD@pE-aoNhoj-a zpuX3hT~u%c_Inb@TbE1b{S11q-^SJ#bwg(GR93rN6O6W9kj#54jC>OdZcantvSSYr zr8AOw7r;ldS~717Fj#LP%GX8!w|W%Y;u{I?R(D9|{e(IjPlH<@^1(OYF1|xOZCVK3H_L0YFrey}`k?-&({5DN;lCcc~ zS4!p`ivzwyv**o8VlVjx_#RHB_dSP-13V_+fX)sybhaBj+wF>B$sQ$Yrs z`=A}|sZc(}3~zW8OJ9tf3PnDjkac$~J~HS#q!=y3r&agk<~Le!(rOwRSn!P~N8N)1 z;WbEi&SWfPmP3r(NH*bKUoyJV8&=9aKw;;;5T}YcP;^$0&RaiHGVdXfwSs41`8$aJ zl6}zE#lra0D1$?n|UuDd=(?$706rCzk0Q;=p+-?6qq*{-EI{s(OWj(wl34tFEhKZRL!#j}uwgbuYGmwgIXCrv(GcOIbqZGSVtl1Znn{_P@hd^SxJI zfknGZS?`!U(&)4bqO(6Ux!n=u#pNz=x?aqE3BF45ceO(Jk-b=VU;s%y^Op6%LZtan zs^qzIn*Asqj8%j5$@-};+2U|p`mWlC9-F&=!+d%hR=++7AAg?8d?qfycNGos@r^rJaz_N6;Qb$Z`Rg;t zb+1K(g{Mq?^(ppMH-bHK;jvoXbWli_%=`IFeADeD>pJ}#6k;3D*c-7x)+d5|UcC@< zWj4!Q`3)`Umw=rXD#F4~BIF?sZjZJ#ifO`6tD?3PywC&&Cl z-vesMTB+yvbL&^^*I_{HV?Kg$!IkRwzdA_TZ(UHj8_1OJUm~ZnjM<4{7#|9i?%SpN z7rjs4@y7wT$t70GuJ13yO)p=Q3z{ck!O8)6)}T7_cCZzUoc#^UZmN*KE>B_e*@bx1 z{!ip<@8yte(vCW&yGZ7}3s$86K@GWg_@S;Tl6gNzS^1xM9hM7939Drl_YEZT4q$mb zj&zaqn`El71AD3NDtJr|{(#;iy{A9?*V=_~?=k{^Z#dZOnd@zL5OtaxN z#$Uv*U3}2JyraCFpPz93(_=h3eHnSXYb9!0ACKj#D|mUgR>{2gv51CmEq=nZgq0d|<+zcAJw34Vca(H5Uq<4x-of~F?;yuInIxObVE=&=uv5;7IDBw`=tZG0MeirE zl6DllzHXP^TZWNghwC78fhw#%e1_O2T!ymsa&TZ{Et#`z7t}e8g7Il5rCX6?sF8B$ zWd0&7w7vl*hJt%-z69g1CG$Q2Gu0>I+`sP7VsVw-vOkGWs(pfz7q?kS`cr)CZ6zeP z1+$Bf;*fjzZYT+O$^3nO;HHa1p?0MQ1orhJEm7Mc@XloLemjx;rf+~7>I_HLb(1gW z7eU7GuaG)iojfyJ1y%05A?J&uWZoWdV!Cqm^qOf@`(On1yTj3}-=o+NX*Vu&W+PTO z{7eYc8ia?2?P15e{}XDhSF$?GAJy#-mI+UW_|ieKkt`_g7n*ZoY8LCNw+E?WOxHL-}V+ey6vU$t4oA0qpLU% z|3AY0IxiHHGK{KhETkG`K4{JPWZ~vk;6hAwxd*RBW>q>5r>@<{h0f3BO8Ej|<9}z6 z<(vC-dcUjG+_8)e%)H4(XhtEmPr6lH^>-Pbxf|K`yD+pcWY|ztbCK zCVpcIx#NYm^WRhB(Vpmt-vBhdUW;CFu0})Jcj5hgYOq4ockapc3CQNwdsNhYTb4aM zfywTSVxv4exzpO#!WJoSxc0u9EFnA=TUfW^wBg@`IK@aIO3x2XI1rAFGJ`p<<=vE9 zW`)W_d!yCe;k2*&4r=_plsho9gU;N5s;+q7mpMDd2=`5-J%x=S-2T4JH1@?Hx=SWt zhewm>jn_Yre#>WWU2GxkbNjKtf7L_#3b)AU$Pq%|jp_>r64q=%0BeWT-&8tLSsRrJucMjW&F40mt2DOy=IqxxH{mQbR3 zyZYn5KB%+XnND4Do9&uvM?*7?*glT_BM7(3t6znEL{aTQDCR*RO^Pr$F4aBL&ma6qK5#Pg`LJ{`TD9#3a%$Va30Sa1hTdU0Lj^w9yDg}AeYLO>)z z^A7n@P5*Lk7>PrU#fJo&bH9XV0gcRf-b8j2U6g&DF|ax`l^|VSCcA=FtX--?P%LtqXphXp3-L(}_F5D*z`CUINTR%jbYQ3F?{L=HdvlCsA(GyQP2_5FPN`Ccw{84Il(2WlB z7*^GkQZKs}^@JKMm_;Ygu|kTf972NsUBftk_9ull*aly0=Lk( zMfTs8yNC>mMbjeQVRKDItUR@ldF@}vloU1Sp`}uv^_ELWH+HuG^S*EuOHZMb1Gl36 zL%g|jMc&lDajmeYWE4(zp3PPaeT|p-uR}f_Q-!;J!LkwU-)ZjnDq2fFRA;1D2_4!e zsL_E5ob2ui?(DG$S~5ZUq*49HWY;zE^m$qIzsLpLr@|p9c3*LI<0kE@o3m`t^ubTj zbZNluL#eqCBWz^GUj}le^Elbh`47<$iwtab9k4o?D!iBFqOOlsSfODRy>@-1?4p#D zPn_pwd-3&3n&&i#IX*XKc5VBGSVIGY7$U;^zQaUPZar%vDcMo`nhI;pQYKvZWdV=jAi5hj|F`mv##8%k_jWZ!(1?Ro{h_ zbE~)kofSx>u#pzz$ak#5(Z`B^|2Jy zX#D1))hK5xZ92R;a-SO?`jpl-gy7NsI`rdzy@aX^KNi(Ei|zE=Eu5ZIjvR*%LV5;Q zxnl$VQk8xV>;}4E zq*0Ym{?F>VWtX|wm2YKtFSt?L$_zS1zJNw2q86Vg}gJy(RhNGv~jv!_AMU(`;LsMV(kv-&2aiNJ)xA}I4 zT%d5%`3*k%_pFbOKXI4Irll~(OW33RT09pT3FIj=jx%Snr$>3KT}+>Sh@#! zN&_<~chS6=?%Q!eR$1zUhwpAjKRqP0S%AYLq&mW|rGF#ww*5-B+N>=!!gy||-!*+~8688psTpL73g%alj{#d(f1kY|R25Sn2mn0~*+ ze7`J*6Rq<6D4mz^U!k%zOy&-)uYQRJx_*2-i-xt^R*+QVba-sx#Yc}hEk+)U5e+q0 ziAt|G^Y^Fh5vMLy5bXl9`2p98`GRSa#j(#_>_$9)EGoW><*$(yHoFVB961CxG$&Xpysqw)@^su?JLKR`(2VqKOQlg;m2*uaO&`+?C` zU4Ht&@iqN6SFl#uUw)cOHB0~dp1*ec0|+aE_;Xvfk}S2ckbUSi)YmDCyiJVw&Lx01 zb+v}a7vn{X!yyc<`yq}o>u0A^aYT&VSkA{>NFo_oTEw&}LE728C8F0qIj@V3Jl6HY z89n~u!ddIZnZ4KJ7MtB<670oCBvie+E(wy#+#z&{0TevG48w;EuhETtCEfbBkQ|-s zeBxGre(R&3eDs6w{Ny7Z%=*c0$SP4IKkpH~|DZnNsO@X`wCU$-$g8TF5u?jQuSMzn z7Va=#v&KXEepx^KV3O4NQ#SU7uLayX`V?yM? zdc;ncthJb^eP2dS7p&s>iFM*QuMl#lCq#H(cbM;GBjvo?hV#esPxJou2gTmgvxxPH zmt^W{cd_lH1Z``#+>fs6}1*L1ql}$0E*NA1L z@Nq9PbNvNgVa+;Mt@~Tci!OVnO(+@ui1#J zhb)4&)XV(pu^CLo>jfUJ^i3QVa$TG>@C@kxyue$Gy#)u;{s^&4w8XtiJ0SL?iD*!D zf$!%^A-ZWbzs%qq|Ihcjc>Mev@%*-WQl4Q;jOQoudh+kY!)_r^+t5kH*XzV11D^9Y zwjX7&6Qg-!{Nypm6RYbzda*@Aliy(Qf#R}dK82BqHFV)(yH=3eW+%Hz<8OJ)VelcYWkcUVW(7bSB&>cu^Xy+N&LAgixs-uBq?dDh-R|`n0;1-rwMb#$Fc)Z zRy-Jb6%fc;aEI%AaT_7-J!H(X=e)WZVFov+iJ|&ApuZqO9LR0tWgnv%H{KV7=uD`d zk&hieN_(p58*qyikdwcUKzK_@UecxYStKW;BN!|=)x zV#xx`r7wvjhA~>a&iiwsoZboYZb2Qs&=k){cu^=DwV7Ou4Is~hwt&UmF+|74L0q)J zl61B(61u7mciJu>Bi(vf*y>OG&^`5JRDBX;W=FE&-&63tYeV>b9^bKn-9&NA&QXxs zS;e;4HSn$j7L&}UexmcDX`+Yg2T|RrN!+qW39!xw+7)|<*WK7A4lf_T5ALS|aseak z6r>#U^357h-uxMV3%MpLNeTDBCxtcs4acaHWhu3E&m$3LJz}K%9DeSa6MXJhPu?VJ zyeL@a^WNH%d7WoJ$f(u_?VVK8v}z&AEFTGbxCAoew*o)Y;~c6Smqru~dr9W$3b$?Qc()nOxYGYPiMUn7 zPW_$@G~HdiU2q*11YRc&9d~iM)IX{rz1eQ4pG=ah{Blt0O8$T`09uB{|W2a+w zk6-1LZr4xcWsRJ%Grwm?E3EJB1qB0ci|e1wgcRv=cU$Hll9kiKAC8jeLt}J_CfY1! zYjpEF$KC{At=}ZNF<-*!6!yZ&-*)V32IYRN{X!f}<5=YH38c&P2AO@<8CoifB?~r!0Yf(NRy}p% z#-5*c{R(&UvPuKV`Mt$ZwpOrDx7pMA?7*&4pYhEwSK6O zZw70m?&o}Qh!Y{v@0#Gazd6~eH36c}8CA0N4cFvV-K9OdTr2SIGe?}| zbc@}x#w1TU5Hz)I*yiDD(Rx0T4^OKk_l=->^s+(F61hR#sQ47#1(uNco0B2W{{STB zoa2;kxZ{|LCHVQRbujnpL_9g;6l#eKRs$?XjZd$@}qulkfq^oODg2j1|9wG;UW*8vb>y^j2JeZ=RxX0spF zo#N$4EXtyj_%WZ{;b52}{4-Y*6K96-DlHs;xV}F>*@fVT$81G~#02!N9*q6)y}qI z>)W@8PW>WY=lLIU${x9gZaMO0?~u9eqdSfAFsJsh7(73Kx)h*Ub%fImV5C7 zPVM#MbspBB_2-{Lo`y2%T%SVwjnbCPTaoXR{}*>yoC4^r$oDpGCh|5nVf^<-@_M;D z*7s`#1IMMLF+iI(UU7tRcS6bCJDvE$M;>Oyr;!(}E6CWM4A9?IN^&oB;lF9+tg$$f zoH#ZY=SdsJUk-GWlPZTL^WG(yw-G5YlacV0R(4yVllbz^WD_f3))TIg%G+zmwr5wF zdCG0_sCkuS-iw%Uwu(ICUy~x|Q&{`mBJ#oh7&+Q&Fy0{TXZLtCkn>i4_~o;zJ4V0XWb+X6Son~nHAEWcOkjsAV(AzX%oZ2 z()LhB82&F=UdnlUleDk~ymrx3oPIr#WUWai3TFY&U*Jz7@|NJHXgREZU>vFJmTu6* zR`67EBGC!0xPG*h!(H@*9N9PkH=z08@?bY1sR1}6!2`4%HWI7-M{!7JJVag8!JSgC zuG_c($U0Mm|9)P9uRb(}qsqgHs#iEuQIxi{eF-s?@}S8X25`Y?JdT|Io*g&&BW)Wg zVbeKxnZZ>vp!I+YQ9JZMY5-|PPtnrWC9L$)awu6pk1P~7Fa?EGa9%T$_;EK-GauJgwr>Uk<5EBJ$TU@C%r!i0jfHzP0H1$ z?J9>U6?548Dj!^?vJF!9w!)ZCABcwMbT~G^2^4HN;y9-llnp!tX4npYb9*3}_fZJl zo=-;n)P&U6gCVzN4pCkybxtcNLw?nB+|V}^!fwjJ^)rsdIQB8@cgce{!Rf>>ekgEP zEXm%DN+uKx1BlWZpB`pJ@*8!~Oz^D7?r#cRhlN<8_jGAD~LfR&aCLOOn+r zb(;?_lFa)ZNi@7bgX?~Sx3dPx-L;+lGb@DcPp^}J<;I{;YzOAs^hxl--oR@#K>UK^ z#C1}cluJJi!+xHl_E{Q`*)b2acWbc~PrHC`+XC}qr2gak1k_7|VA)YC*|I7(kU4Zq z=6#p_OYwt%9j77W%2?1zn+uvh?7`He4JP|t1qWS4*6E-G+t{V&e8+L-$%mI>l zYrwQ#P7w86mmP>Z4x8#mL1dr~j61suJp80>)|?b3ZECQW)h{9Q&T=N#dq0aW`3*<+ zxq`Z%3cJ|97FbsY$a9vGdAC7tkI`)X6(`6HvtzYh2#ogR!j-*J&ig|NxJmsCm*?yU z+&M}zZ#($Nw@K!02L>T$M0pkjoC9K8B2*;v&Xvr&k}g=c2yXqZ0$=YydZ%Qc_&-JG z9naPG$8n=jva*U4iBx1%Mn3nPb19=i`Bo^Ukd|2yrEIddNHQW+QVALNo^wgs(V~(_ z8b&HD4gK!#PmhN`@wx8v{dzt{^%BYPN!M`ykNM=qD+yAz?+r2K_vM54Ey=~LJoD!7 zPT58U!U?7U?-K2#MNG7Bpk5eoxe!CcmZ*F*A609 zokI3a_efRQMb_@%5briGAjM8KIO60Tbl89U>%aae~b+0 zGZfjH1|R#4koHbLT%NrYxopWH-{vggnRgZ19b!xR2egUCOFfiObdvmXl*MtnwaDlM zy4cIcV z9Gg)OdFEXX145KxXC^GDF^2Z>Pm^Xod^pkcA*PvSTEz5w>(Vm zpNmT>6H(ndaWoA{;9J{vquO^nL0H5V+%jg0I$KsjDYbe$SWt_;ExC;&niX)uCXDX> zkt8w=dvMCxHK^b60#T6Tci|`PdFJg-HXRDU!ueyUeN`C$yx50Dc78#61it5!U<9;3Ef$PpZ3c*E(q^+ucJZ6}A)M0T+13 z!yo^;gvg{UWw5Y9oS+~hB6=x}ITExKms(u_j)U`{y>Tnq`1u%+@IG!{SMNm*=l4?i zXqfjoeZYREPI#H&1!Uo9$rLOu0$FASym`lX zhboqMehQr}zm89<^2|F5qx$@{L}geB4t-yVYVK&^wsLj&?71+yEF!`GpArUbC3c~A zvvv_pD;X$w+>HLNk0$%7*1)}K{b+PTfn@1tf$!;`dFI_sTne?o{c{ua>~(*5=6w_t zf6SqkIW;1lFe+$@tK*sXLtOS{CcE+9RN8E=5q@pi&bV98qjhpNP_m*n$|Id5@3-BU&Wg$^#{p#1n%p>qv=dFUndT zL=tl2$o}!C$mZR7a@@s(?>H!;rKW$0_v=WK+1G{UBs!7swc})a8qd7bvPj+DPLk+( z9If7Ym)zdaM+~B~(9TzXNVCOdg4VP`rpJNc=8MGrb2UWPZ9Mb#Ay&#Bu=F`5eM@+^ zIl2oAg!pz+Zzitx(}efM_K>W%>9|Jn0@&HzNUD!5!G{w*!Dqf($;~Y*$WbYN=Y5>t zdq0jO{_iiMpG|FqQvE`*-73*&^;}ZO-@@iDP(VEvJo9!f=b1O6#XP={(;MbDjz4?E z&KQ(rePxB%#$ z9vr^?1A8p&7t}fWhn0=$W?x0iGINq<;+a;z7$>6#ILpEks9)NN&4pdqZAyy-S0?2! zA)h2zqq0G0HBE_4{I`?UI+#c891Lcj|0@D9H)peQ*{baH{V~8}LjZH*&;%8GE}yDD z_8-=J^AMg)$)Xy%jH&8EFUC7b8yLr%u@-;2*(IO1VELi7R9bI7P}+Z`zU|Zo^Kk!3 zK>f7_v%q~XmiB`1kXkNQNsMU1`+9+NUp%EcRsl{NvjO7P?oD|s8=-*cksbqyHT+ZxxxBOhyk$(~NAH2XJ|ofFLZu73g=7aIaEFqf55&1d!azGlv>Y?cZUz1C%GD)8Fy zk9o?CgZV4NsS~pS8>iIHuJF@`)+e^GO`3gR&XyU}k?dv6PeqDJ7ybvfIvfzZRLEx% z7M%bh=h~>*Zv~)rgC(1AupCccWJtXk&Sm-e5UU{B3X;4XC=aiVAVp*r`1&Imoc?jJ zX~u68s_ef5Y+}eIpnuGQ$x^Ci%6_c`GN0n$iu$d1FvAJNT>1enUo)mUIxCx=24kS- zTtjVP3t9EnqfB+MC&=Bg8Z5oYHF}oVQpNrA!8Yknl+C$DkTcxRnpqaI=3*z=)JGvO z#Yv9(Y4_D3n})myg(i2;W$0D`U#8kbO-hX?|yuxpB6k@}XeGb1%WKJ2#sW z=BF@qllbPh0@d_>!w{2y+5-HXmBL(m(?&TT%>gTar1?`Ag&CjN{y zPWs^trgx|Vou)GOh-f5sOtfLXmyZCQ_=S{%`x^G2k~5QAT+3P?;vL2hX0q|gFW{v3 z=!UIor@%JHAfTP*3@f6<*q^x=u#-cf;+)BpLggOdYLP6+UH^eq_w52ltJhOkMTf!M zB2iXvUNCihM2Hp6QDJqKjIi@}xHN)YNtD{gBdjVaVa*QT24er**aK6;1z*;?uxj;g zaPyQKK(QtqyzJd-e&d=Y)1=>3HH}9$W&&3-+qk=uQ zz9|AKmF>a!`m0cF+6bhS&r@nsqnV_t$)Nh`AhmIBas8ReO6>?t)8jA6tS)sANUbbq>_>B%vfBdY zX)6DFGScsT(iK3-J_2h3XTwF$kMd3ISR5!7hE*1E?8z!q zR&B;%ARm{*wBBDvU3?w~PXFEuVx*0!s;NQjYHcefu6Ph;j#XjLAUo)~Y(6+JTZm~+ zDKZcK5W?m*9bg-_<}z7Wk$JQ8IIC+ENi8ruLZ!G%u}yt}l%stYHVfMW?RLCjakdZj zbmstwo!!^e_t1q|mN5XF?%RWPr{1zKYd>?o;ypG!o=D}U-JpanOat1d0-^4SK`84` z#C*|R358D;z^OA7SVrAWP-bQaPKaT1k?3FSN!dAg)0`c=d;J}wK4T%Pe=C5YOE0jC zOH`PY4>u^O8)`sJdkvIu>jgW{?_joHc_V1;se>7!0``qY0t@F%f<5Ki+1=Y8Gl%Qj zsUzoesDh8GO{d4(n2HyLV8uhgHb|^v?Nu*Bncaw;=@+Xix0TH-?ZqqaJ5hhNyFru9 zMKI&SK_>dzcjo2Q*Uas0h&eu3!FWV$7UYa&fNAtqcKIWJaM($eJ-+@iR9t4#c;aFh z)3A34_(+~+eqDOVga(^ZejB=g>j6nX|D>rMS1hRhr}EU>^>dhl%oG@Z@&dc+@B;SZ z>8C)UcOf-I zY@WlObTea}ja3C5lV?&om(DOtSGIy%-)yOa;j<_sJrn8!{f2U1v4w369D<84E@Pif z{>X~o4#G*l(($3EeoW=>U%>K+EKsyAp)v!dSQ#HcGZ@50|M1J>t< zD08RpKqNDTm64r-FRIQ40n41(b$f3Ll)g|+(KR2a6i+old?m-4Nr|&dB}1vwct4;j zI+r^0-}%Ns4;d_^S_I3Ii=OtMYYQbQOUlIAlT zD!bRhThmRcHs?PeJ?8~;daf{Bwa62%bT$IvA>vFof9F-*GlI88?g7V^)`G`(w*tv+ zOW75l%z!{-s^F{FXKI@>-}Wju0an~xHsfR}TV*yM>Nxg+Us?Z{2JchUvjdA?*4DCFUB{^QfOt08YpKB9ObRZ1q7Mc=9{}IpQEUn2 zVM?qeQ&_W|)z2Hnk!w1Eh@2hs_pCHka^(?ot6q^==De5{&Ywc1$#(&%S@Xfd@2-@m zo+O@9E(OcwO2O`((&iTDelnZKWN_fBE9C42DSF;78*Wm9H>q%bNt&4-oG`pW$8@<8 zH-%)BmeWs~jsDVMI*D9_(_e0Z;W1A9%|*I1p5lyM8aa#2f9a`0H|X*k&fIL9Sc}xNP1m8|TI7;KOo)hvslLT{+yVBtq+CHIQdsR@~xOkMN2Dz^Ut>vY1{S#6<{iq0@}!qci{A zK=KlYP~pi1+{%`hY+La(ddXEo*qQ@4+iU6^e-w%)-LFC`E@{IJHosuO+fs7caXOCL z=t07sG!T@rQKD{OH7#-31A8l@$Ph>Yj(vx0*z7Bk&<&Kwg zb4=Rl^sko9X8#>(R=yz3ZTFc&JN?>6*Ld)~^3n-9y>1O%`8kWzRhOita;K2p{i2*w zq6(H9GlGXiGT5Sh{^UGrp%?90Pu4IM#8Ax!P2VSsj=MV1tDIW6ML}!PkkwnZ_u>jP z?o-8WSE-@%zwe+!56&b%PyaN_yg~cs^vEm9Vncn z(8hXS*nh_JQ2DA?h#QxLgJT3$Fx!!7sWB~TZw1e7o($fU^kBo}R<1~69k(mBhimze zLA!YR1Hpq_+I`dy+VzHVt^w!C(A4v^=b}tJcXupYBLSJj=AMETG`(oVEiZxn6v?*MWuw!&u$Zs6vX8A$v)pd%e3=vC7G zu+{21`pQh>KjXG>VfY`nV!H?V5b~D$buh<5B#hZW&OMy;gmmpSBXWCk$mQwNf%}XLXhWFh+ z+&j=T!VON5qAJAzk;h0=3d&(%Mnq#zF&oa1}wL$2L&mFFGT$0Nb z@+CcA84CrkN?NNbi*`)4;tcg_QK$MUlvk}uymC^IVTd@rByKm;S>1=G7VRRXE|}cd z6G88ga)h_NXQC*7O?=kzJh^tYjJpI|i7)pO0h2iBlgDq9mgSLz*AuX&@*EXstx9eW zDATj5rHRk?3JZm(&GgpM{T5UFf}4f!y`ux-Pms+Y)yc`$J>2%r1ahXo93KmLh6*eX z)5$+&=;%ZzBpz^-E4;mr_B$3ve8z3-n7a; zVbT~E!d>f{z~^gyk>15!v_i~Pob%@*$;vy-wi$^rzPKCdVtrgU=#BoYzK?8ss>ri@ zFG176!nu)$rVVX&cjigEz|zCQ?T zi4&nqbVN9x6EsQ+4kIVLs_Am~ep>6XIvr;k!=V?~$@RuBY=XEUnYfe9h1ha}AMJyn=%~)j(M2TRLR@RP^ZediL^z^Q5bLF1M@J zi3~)aK$i7Iq_pNHIq@R_n8`-Lw1GeHrMf18f_u<5{Uvs)gq-q02NIEALNAG&M7u9B zrCY=8QM$7*DUTW?cZDp`3fxFS@=wy)*Z-iOa+5e?yLBig9?}MBqqNU#U9M>JR<8UX zLKl7}W6L+MfY1dU;`&sUtKO=_WzHo;fTK{~-beJLTQ6v*O&&zH^QMLA(d`^OIzo#} z>vM;eDxo5w!`$H=;oN1%2PkkMq_^+q=p)G&;9$f)GPtmf8wg#EW;1cbMP8S<2A}54 zbQjTwD#bbZvD-*0?HTG5dH_mVdhq9Ptr6{Fu0u@xfAk!cJK*0&E zr2kk7JY!!>LaK|&g0gt>_uwj~;NERgBiv#!`M)2u!tQcTXV{wyqTGpneFWW^T4$j@ zIGs}+Gw00TsB!)O1;hM*qZkw@kjio=?v!yXGC~O?AkKpm4_gcIw_rM};vRYcc3CLD z#Pokm6K%Nq2#WKX$IT85<=n&iXzgcbINh$rbjF5T%^LOmz2WvcuI8{BVh($P^yUOw z(s(K1TEXAgPJZ(qxfL~tTk)PYZT2Aw#%jSjv3g9Ie_qUWL~=u&+r zJh)&K9)oTO#tT{xVeJMt-DQkz<%Immks*u0LQD$$x zze&rsrjzi4ZpdzyCW(-p!4^r#(vuhMr+uZ~(Bj{IaHdK&Txi%1uARRLl8dn7W)#-b zva)xfx9t;HamR*h?J_T};>d{D!GZCn#E+z)Gp|o620d_dPiGbJgw8V6Ed`Ha~ z_eY(e6~Z&H-R)$uw$hAe-hOze{w-o(dX%2x6AGS8$s|U1TWEz1RWQTBjpQa;&=Q|} z`FF^!`Pj^_Wkfsx?YbY3vC9jOK)Lgxh$3@jEo(Ivrgyi-ea> z>!a?nS;)I$9O=rcqj!_Ckwbq4TK#z?E!6TFd5cV-b!*R~`^I%h!GZr-I%0}CmcKz_ za3j)~^$1-oSO%X)^&$&Ui}F%5q5G6O@KlR9D&GDSO{!Lb>+&^GRE0Bq7H|j7YDz_o zLRrX)_q^Pe?!+fv81@t2LAn54O_boksN-%CFPItR1unl@Y{6_byu9#=0`5C^@P#p|8V}& zIpj`1&%FOTfz=9@^FHZjSh*>h-+8|$d6k2}d0z#tJ->id?_$tK_8=Dh@{(K<>qo)D z@*u`!A=#A|0cXva1QV{C6BWg~;GdN|Oe=mzk}fE-J@VV&se{jX=55WUo?idSNZrJHQeJ%;-g~xL8>IXa1dWNr||2x*`(;6 z27mW81t*^qAvtj-L@uxcUsW_B`0rsNYVm{=j))Rr_s7`t*%wk2t%q-Vw2*nB+j-`l zK{P+TC9aAdq{XI{z(FIPc>^+Rd5CA;8;M%}LQa(bT%`1)u~+Ito_X)%nRgMp?xH2R zFNR2v=RLN=ET0qAaVD`pZE*kBDDtA$kd*EGM@$WRc;-EcT-;HH%eOowY;7kYzd1Z~ z%aJt9&mi3az3hcvb5d9Pf#8!tIAY>3`ST$Sx9nIV`1(zXlUQ*Tch=s(oZo)(ZT>R0 zXi5N4vH4Ek=4P>3M|R@fqW)xJ^I6_uz74->@gn~|g~3M&N7$$Pd^u@fzVlr!1=LEU zNsqrPB+83nV1pic*X@R8f;@1*ag1Dp)8XzLBkarSI#QLf5t!%xfZ0p<&;9v+utM4p zb~hT40$K&hl(Zs=Fi(;gw+GBPI>ZkgJV~6i2j79bfVAVc6PG(LLHL_|WRE*Z)frXR zF5)@QytPR2h8P@?;)@P1;Qa=Y(QvV=6qfg zb)sntOzENEDRIaLbi^o_VX1O+gk|_)0%&Ul~r0v!YnU$sYB#I}&?Vocj2+8cR;uO|L=HIhs^ zT>%yyPa^0z-}A25V*=#w;L^p`z_G0p+Rtz#8^1a749?Shr;Hsr?E8z#zwsC?d?kzh zpaWhuM;=)?|PgiuEup_9LnwVOVocYfjEY5Zm=^1GH6bqUAK z-(+!AM+iEZ)<+!HeZiY*-B9#0iX!)r)GJ z&XMqQe9!y*TXf|Y?^Q{;Okz)_@yxrD9O%18(sh@hq_g70z`>7{EcZuQHm)S0%%AN4 zd>GmE^R5B6O~iEL0kjnTAl{EwlgyqPG$&>%316*1wx_;9<{6Hp&i6V=ELvTw6@lfr6$YMUZ`0WC*nytsX2UAF&StGt@_8Xr5 zbbx2xTXFS@E%3fZHOYE?AJ@R|V7Iv{sSbUK51+Ay&lYBoo6c_JsN5#h7e9|2?R-i6 z2ZhkjhB`vc?iCBx=nBrp>EZ6ZgC9!B3%hrrmj}Alwp2{)lPVp%>C*^xz9nR!(H{ZqC7K zX47Dl_6@9)-`iA{^A||zN(#E{c7wccv#6gY!%Y)|yWqz8AK9xG9_&q@5$c@T119%H zFLiI1J&gR*%HF%-3v$0-#Z$IeGb184e7igaB=XH_0iTm0a(}@7_DwKp&wV&`(n4yu z%Nf`t`GV^7ja1VcMQp=2g7w-nsp`h*Ou@7%Y+$N2^IxJ76!@-(=brU2@jrVQ;}yoh zLS_||4Y8rVc6YJ~bIZWB8~VT{`4T(rKn}Z1ZxNLl)XQ3>Pc}DudP%VDcRTaqGXdIa zoz#Wd#cV=KIIHe_6j}<6vUuzOQ2BX+%9v}%jCGhZE!uS;%KN*ZpudhOSTGX^`@g29 zN+HnTtj9*u=2&ToI`#ZvFk8T7vyv4%Ku&W#<-O?wNFAZ!6wek={b$_#wtoWkQ9X$D zNXh}KHv~-8l3M1fS1_1deGIPuZiV0V^@8K^)u4Qh5A|HbkD0E~3Jl0U%KqdbRz9hR zxjN_rvJ2XPQ8QzH$Z9qvS>gb!R$r$C(>{Z|jh5{4j+3l}WiOlExf!PJH=zdHb^|A) zXvWrbgh~Do+;Hk+EtKRt*1kQ8IB-Oo%`<`yKn0cY{o67yu7;?PLGzlmQx&N2x7xVblvd0J8K& z!78y9#wAAu*jn_lGLgE1QQNP;D&#I>p>M}r@f*Mk_od)RiK5h$3f0C2dp)2$_zp;1 zU&9`6YQc_@%b4H8-C)j|%T&ntS}d$=$3)K-V|{04uvc{{ zm}{C0YYKv}~2y21uHS-0hPd{O2xdwpnB^*_CCj`vUY+?;IB~r0> zjai|H3U=njYpgDx?PVUuQ0ilkSgn;SSfl@3fpB~->$PZ5P*ttO&VF(oZX1mR3wB0; zHy){GVGS!8#?_-y!T$($EtAP%H)xRTjW=u{_he zdAC1*b-eL1^z@>So?_cJq;BCh`CWGwTuFE42k~KBWN;z{N~$L9{u3*~V7BKEmD? zU&QpgYcqYGlUO~ybZWD9Hg%xNldV5;ftnls8ZWz)05?XMu+43ssrvf8Afftl)8oF3 zrd{=EAoO$s&^x}FwO!-LI2+sJ<&(Bi$G-bg)6yk?&Q=cUKY9ii-|Jwf{2qgoO>RS} zhox-KBy|DtkOR3E*Bg!h$gw3Mad^wCeoXs*Y1$(1%_A^iJox+ zx+e4B)SSg&V^;$c6MnaG#kDw?`aY8#7P-!9KDULv9u=(58F|K8%!E3f0jP7L zHJQTNa9|yOg1vTl9lL&mJ(NBm$I7**V>!9ylvUqC_UhG#K;%&#TW=i?9IXS{);-Ov zPEa&cnEC^RC*B0aK@?6^`-WcztYBvchXB&-#*Wq>WoNqCQG+Q<8Fc?9wPA@Et7zZL zr15tki`On-ey<6E$6eJZmqG2OReec}vt2lzD!vU|%hLkkUN7Dsw-1qC&coADw*LH8Mq)yv>AIRbJ7;tTn^STR+no7DwQmgpjE^snzK@v5*`+CBePkgW5 zr}HFrvhfmd8#V%hgA_NkZcqUR*gWc_$!3@nhho^bD;wa5RShXsO z`gd)dBGvDijiz^jwDdPty7FdY!i#Cl%@0?B>d_6<-OcLktdUII19? zDQ`FjtXA9t3VJ=%`InxoykI6%s549*Jp6$*Y^Y*0-4sB^MLB9^r5tnltEu439aZ+R zNU)&n=r{=9d>>FZ=2DO5-3O`#e<{SE!1#S1Us`S z3|9r3gMGtW*|k${3i>i9H(fSdMx{OJF|Tm^#X=n)cInq@s{FYhke^yhC7YHtX;?;M zVdo>@xaBRdnmQtQeP4p=I@w7TPM-#1oI9u|&lkd|3n#&e9hOZ2fo7o6AqC!)52kAV zwt(2w0}S3h0XOXVf;Svo20|UDvZCGwY)x(?-u|B_IPmZbcz@_FfSDC6D%u7NepU%s zSz~GwSXbSJ9a{Q(=;v_-J~Ul*Le>o#u{05 z<4BiY>aF)XW}xXhRa&-=x!dT)s1Lg{zkdu;`BjoY?4vJO+UQH|IP;qwKk*+t*C-8E z$K^N0mn>qu_f25$Rx46vl}yi@HI zTlAUs0Y%c-r-sZ173o89(@}QBT<+uXr5vTRm8=&x$89SEP#s#peeAxE4Cd?N)Cd3Q z=pcR{dTRl3PMSeGro}c3KWN1BHCE8t@?*sG#UGlC^LM9OTJ#y$b10{^hn$-Cm0USi z$gO)|!9Cr+i`J5JAYC>!oc@ec*y?!zH)CX>g_KtZ7jk7IoioO7C~SM+=!^}h(87&d zBUOcMjl*c2TdwfKn%x}OV#=AW|A>^D%h0-qmf%zRXeuzCxF6c|=3)Lv-e;&Ggy#dYsYdIeN-}0l?Dfo!?0;s#Zku!#mNs2Yg3(-x6;Av5&OyssW6A8T93vE4L$hE`3_z zD;@s%3;8H6hZbjTLmETtxxNopBqgSpQ}>ah4@$L?v*A+YTk!yjZEK`08oH^LkC#!Y ziU~jNZGlfJyHH6-57OOOLJRx1z#6@ypn4L(*7sg;g*L+6p%)x?&(e?H9Qz1zyM^c= zri3-LP35*-jVD7FJ7}+N8{Ug@51QzXa8vAhICI6DM920Ntuug0%;;sNB|nY}jl4xt zTHDC?<`1;wQ#EqfNtw3m`AvV_-NK!H^oy(7AdKqh!$@Uk89lXVGZ*J{hg^}eq`b_N zxb%={`sJ#{_|Pv0T5aPywtn4e+E4ive*QZE-J04@F6Oq-ddIsszdhgJN8Gohw55Yp)qWT9734 z-8$Sz#!s&$bE`HHJU$IPoH>Sehi`*FU!0@oeR|7o{62+?3alq8`P$s{coCYaJ&f0Q z4&sv{jfBzQJphfrP^#h#*v~FNRv8b-iTC%pY}o>iD`_W@=__dO-2F(pig*8R&*S^H zm{ZHRhi#wJoOu<8+-Ba!yZ0|g#&i96=O}}mt7OR1FBfTZtvuo%%WrLypP}-1&h(nL z9i-U2mTOc~fD&OMNbck?z3_K6$ww#9gk~80^uU1jnQTh(@d0$ZCX1f@G>~lGt%?*< zzjKxuL+IV=#mN3$GfexegDjQ`VbRdvwB${`quAg;u3j3&N`3QT8@-o~Y_*1mr>b*1 zT{n{iYCp^r?xM}#pGN~K6Wq=LFK)++VNR=fgfrxwk?St4MTU~@h|N^x#9mdP8v7q4 ze&;m{(ate$2a+OZMrI=66Jg|E^b-2`=gZCeiz}Hst8MYD<54Iq?I9QQuYk7VJ8>r? z@6tNnzqlK#Wau3MJLxI^GSQh`2{4>YMH^SBaS`+kbj7iYE9mm!GTY{o`hATSvMu-N z*{Z8)JBJcZd(|@ZXfOt4m0coke+!YiQ!}mZa2bn-h$87H*U2gC9>REt&^vzahTU>| zP~@x_T&l2yRLgpDsri8UW>AIu)(6*6Xobj(3lCjZ{mYtMDu1fM-{#o(( zUw*_X(0a^Bni@Jd6Iu4WZSGv&ln+KP0{C8j=4r zOfPWvru{vXQODy^yeRxNX?J($c7}Z?ugh7qOmZ$M z{^LRN|DFVuSHxlVx|#5qqc1Voycjx+9AN7_v^m8wQ4*CjM(bb7q}{f}(XCp_sQilu zDczJx?yY`{ls`Y^o9m0{%$Nu0-y22F#7Y&#TO`tk#w;CRJ(nw)tj$$vo1kK&?`#+G zg!7f`h((hxSJgDerAv(v5WWk&^m3p@pD?t8+friGbH>6@>MOVGP%AC+po;S{WKfd* zUe34JiYq&N6vZ?N(++DSXy5WC*q8mA^jHpZ1GbmYtV}?h?+KB$Gg3J-NmbfMWi=yMsRKD6rC9FL6)Ab~x5zPxs%Kuk{X`SqaB@h zneF5F?9NQ$J$(f&`@D*tAEZH4SE)(BPnT11v}>geE`Pvm{#39vpg zjvPw1CCgW@A#ck2*^c%PBr-O`LM#*0ipS@1x&vigaKu)!#@UwcTAF8J;4q(?zu*C9 z6x7MRvik$u?5c2V#}(2P_mw-9n}YNdyokxyADrmxd9ZeO1f8U8f*OrpTg;TprHx&s z=>_XrQ1oofDLwzp{a2w$&$({S%_?-GWB-^o&q=;X>pj`eU6c_)m$y#_=ZG&YeMguy zta^wFCnTW%rl;KQOOMGQx=1R&sdGXOnLuHQBOU7_K?l;3WY6X!Uy`aYRpCwr(;gO8yav)N-Vm^|2j8}=+SP&-7sf^3MYT4g`4wx9K>u?L3bxV zB!~FVp1_z6;(6B^vWgfVd@onN{}Zf$>h;87X>i2 zzY-)mtVQE@C!zA3IBv4;d1N#@P%wANDPmBkLd(5$zz%2Q3HX>uOGr`p&i;$If2%6b zyr*Nkz!tLhsX5QQbFrta9c@h{YDl# zo#q0|fC(OrT!RW^6nN&HL3A==(K&qF7~+;78KBl@Uuk}tBl7Djf- zA3?{{x52y9qIu?B$}?|$c;6t1{C9glLIulV;a(Y{v_1qaWu0JHi#v&}nhM8nXF*rl zL!|g(Ih>e&p5J+ok({X`NGhNmPxDX;LLaU{&! znn+AJ1^l7^BCI=GPEG_(CG%f>LDSv;k(098yxaUNTI&}_>Xcs*-LO*l*)*8M9MC1< z2kOz>FWX4&i)2#T)q*5!DoEY<3sQbQ65cCoBoWQVq^)8%(m9sKGjC(^Hjd}~0bdB! zl1UmDzeO8M*W*7aS4n$m0MER2@o#%4GPW#(Abt-WQOMpGWYWV1qPOZg3iaVP-0E#4 zd5sy`U}jFj_wv1>J{{JoW0(~E6eUW#KjE#D!U+9-DX}~94QsxNC31{3*?hgi{ON;> zL}1m*@4Wl*zbIo8vWMrz_a+nNhxJ5(Z$&RspFxZRc(?g-6FhETM5ur}xZ$fcnbybm zyfw}7SC2!);u9vZ&wk;ATO(xe=o1p{*G2TBI?2w!CnP)H4qsm`j9+&=Bt^HRvG9;A zPA>2xIf=qV?qC|es`iTzq3J}_<`&PqWr(m_3-%msAVtTO@lBU`WM0f0o_T8$&F=!T z?MEYNv6@8S3vr%#cahXUB^)Y!t$?L=km z7V@@a3!5!_7w`I8NG6=e;8D{}_*K0j`S+$8KC0QrcJ3MFqyxfW$l*^w%}GFdd|p8! z8vz4bw~}|AhG?esTyP*&id?hEguAg9+r58+R25@D?Tv%kmOS&;>EoIAOxRtlNeZlA zA(?_*NFwAiNlZ)vGx+8+bHR3HZ2?M7EQ;vVlDFjv~LdwBtA<3uKhg%royNc)(r=4lPyZq_)o^ z;tzAtf7h<^J@4g2E#U&v`}u}bHgLduokT(7VMVg}y)3*wMH-uFe<9X!vtfW|9gH;U zB6D1gknDge{8w>}EG*lDW}lOR%Acp;_*NApW!1}$GEZ^Fm<*DQ`T~zXYGPf2_?`FY z4>2t0z5vPggXY3;HGu{$l=>oC>FH|Yb!3*Yoc?I?g8=Q|@JYgeM)r+l-cegXBdRt}Z>0TP+F9V+)|q1=k+ zc%n%KD3&>)jGLl(>}V*IQe1>Q4|QP2<3{WUkq@ZU?I4VDm1m#4ya!#XW+fbMIvGT+tc`-h%9&uAike;<~3xdNT7@xiC1*TJ-e zaa3QVM^xT@ghMyZqnf@IxNTGtK5HFBm!6N3_1E7+o3DH`d+s-)DOe2!gP+jfHECqu z)j_zoU=tesX-~4u0>F=jKX~SSg}9vk58S`Hnx4H%lxN-n;7sr`TKT#$5szX7+zmsX zdEdij&$h7}tX9%yN*4Ha`2gd(?HsL>{)wuCEv(m?|21?T4n1{o7)Mc&XeUWa8WbT> z_l(j~gp8z!q*PYPNYM^0DiRH%QW`R%`rUKR%@zqoA){ z-WAZOtdD!1--lJ^ghI=mi@C8rW>`tL8@@?-3Yz_b@Q~fx`5PWO(6GTAz1wI2TE<&K zDNTf>Jez5KZw`%n;D(N-{}7pXIbC}9FN(LA%90{}GTF(}=$wVC$h_;==qxitx0^Fr zwLc>B9)>P@u3^!qA2W-SLFn9{#jIer4NE)}BQoy*7Wyckr7ONbDaF2Qiqm;^%H}RQ zv~(s*st#r$?{6cg=a1Rm00U;Vb+Fj4=D;>wVJ!1W4I00vk3~B+ip)C=Sszkkm$vdO z+2;asnODeeuQp**7GFo}hRU;gCtZf@9U%X(k5X}x{6@7=9gFyu>Jp75h z!mH`sX}U1)rGv=4t?BtOI->XE13UCWj$YiB1p;Hl-j?XsH2hL3Y<*+NZZ6Yik*ap+ zRZ<;`d@9Gbe42xPT|Ub=^&#x=%897^@@sZnTb5ksXybXR+I`%^A4etL|65B)DA}Ok>NEsYnVr<++7e_ z4d6j4fr<~~#VlPsaC!U;oSk-=yB-lw!EByR^O(wAT;j8r@Gd_^+KI@7edlHYj(IKy#p>x?^MB`ggIgKE zDq$CA9-BrK<>&AhmbQXJC;fq$!#1vHeJZC!Hv{_zncTd9`yfm1BC*`Fns4xFA~`|r zFuNm(>&f&2i>_|x9SS$``Zi~5jyj!$$}T}9{)QHfNIFLjhQ&zk)Q9rd%WNbi3*13w z;ARl}d?m@7UjmN04FNyP?@;d0JCK+%ob!ECO=dlGwfQ-&!=Bs#04Kd%MV|v$zLH`pn}pyh+?~ z`)hUGTQ`CB4l_PZXAzh3&=*)0))L!K=fJdx6ChOMBk2!Pg(Kdp06y>>SvI0tWRyi> zCVM;AVigGvDg6L;+r9WXJvV_sw( zu_S5lY_P@e3sCb-hfMh!RhfDj)Fxeq>VLj)W804duZUKg!^bj-evAs((I3GTpWXy? zBR>!mkCWWKtWq+}%!_Dm$|5tqTi4Cr_KzFlYe)>&m6NHx=|Jk7Iq^GhX48DzgXpX5 zf@@N?0wd=i;9YgRM0sN+|L8%jM5|#G^~^g9Q_Q;{eEET|oH53xdXK-&hH2x$ag`Lh zFf$w!IIjfX+J3@u;vQsXK+6fk>3D(I89bkc4%tR6@=lVnc_n1@ z?PWkilEpWCv*b$OHiEpgsUXIslY2DhBw4z28}H|00kgF;X;8QV^lnH7TZ3fy$|qg5 z=Plk68mvwlpCDo|)Q<1iqDSDPATDg)2AkfHcyjSln9bj&UDU*lhbxTY#I6V*?nbXJ zNWFAYLid|VUUUNx5cHnw?^P$;&V};f)`zLRq7Uch`N!r+=q_NOHV9fcy@1@SXT&07 zKa@jaV)J7JY3(kvNuMzv9Np_;ExjU_RPKj#&B?>mVZlBdIlZG~_#F#gPkJPo;%?2S z+-|VB-25HP3i}TZUAzNK>e|5<7+m4qxL0sr*lO}$&oVO2ARWHUIz&S10{B@ovbZw4 z1KjzIs*?AOIecN$XfU_0m`DsFiI@8Tlv1-Kqq-$@q|<#aXx0{TiIoC{TNR{jPbgRt z@{8Qk{y}tB=kUkv*MVJDwcxR&56bB((&x_>5ly}WJnjgiQUUXbmco3lrRyhetQEl} z?)XHMbOC?#yc?Y=e*a89RKk6(j@)XqTuJGYY+m1C9F0*HVey4>gI9YeWnZJjhY|IO^KBm^+=X1!}~uX_fN5 z{HEqld}ppHUpw%Y7*4N}L~i%BdG_8E4Dww-7X5n#l8Y{oXylUGP<^k- zsV@nTOj%pTIZE#WYBgWTlJNInwLvPEbHaq{F`qzvSSmSl=Oa(=2pn2H2n#DM7K55b;&E?{o8E9c>z$+cb8 zC!_sTX!*(qV7-ezaV48L)hDSE=g|gSToqg>T}IajP5_b58TcIb6oh7nli5QS0LK<< z8@*rqxg|9NB3d3X7GY@aKgA3fThKQb#Me-P?!&sX1nq~uRbK2 zZ;sQrZQ^W&*saw4w~DJzY37CNjMt!hnV@A{vx ze80PJXYy^VlRJ(*R(BB0ZNsR&-w9##UwK=ZLXinxdV!Cp`-%BF8CavEiH@&v7Z#pP z7yX0Xc${4!8fyPQuwdrGl!y1x#E}Rsug?d=OSi#U`r^F&$bNME*DQLb#)$bn`dDwW zsg1eOPCR?eADjSgVT-7pI5>6}wy()zl}5*e$x9`ur%W4b-J32b*1yD2RjKtxEi>x} zOV1GOJRV}RvrhQPYb(5D)ggRX=_}5Uk{4!G_Tr%m&CKK8BVna}8q<2T0k#G$gcsha ziM@BFc$!l;izskp6MD}hRmB#h(piRA)MN_!y~=pRQ+XO6!J)1UvCn(?NSudEaNOt# ztmE4`Wc)e-sh0W)?IYaSsXQ5BYElPYe>{hsHW#_)!3>nPB?r5e_CT|nX6VGobX0e5 zGZbzfMENS7X#BM%^e^THq(^3gEgQS3_vYn7{<2yjHm_P}`F0z7>_|WsHurIYr8tM* z^F&ywRnI<^HQ;QRM59No#)CJv2yq@~Sy9wRkbR(1IB@hn ze*3J8Zcwhm>gORn{6X|UH-u28a2DNI^_-PDU&s2lPY654#KNmh6^us>w5ItAwYvLD z03u)KrX7QyGP`j8&^bcN=amr19%7kmcc9o5M^;rmT-dRx3x)Z4(~`Cc*gp0Ke`;kj z)|=jnj+^E)51)~EOo#-nlFt#~YdQ93Ob{Bp{xMFGUxuygl922Nig(`#qvu$tkaegJ z>7N#acS9Y8aSuZ9yn=T)$hD9@PrHM-*~auhM;Ghw3=%v#w9&!m+34$-R_f3-GZ~#^n`W&qXdh_ z!R+}aBHo)1xU08Wh;Hb#9lp3zXn9si?<;2`udyw#b=4#0F)Nk5{ZJqX@>#;jKo@2a zF_SeeyaUJD324{D&G4Rb3^vP9weGFR6B5i4n5IFCpfb_~1JyfpkwYRp8oHiIE?h_Z zbls5d^j`QnDIduWImYq^T!oZ?MFL%3%o2Qhu+I-^_;cMMk$Hc^2OkCrN?Zs<2Rejl zbyLu)D?jO~^>dNpsSem5HU=$Cw_*yR#@P5xKlATOWBH@%(b*Bvc+xpncF`A3m~0`+~7_SU!?@GZFiU-K7UFSD{DcqwwgSa<=KUc)l&z3)T&e=%u_V zn*Qh&T=Zoont%KhiGS-L_FQj3BRV>nM9GE@(}A#lek_g|mJib^>jfWOO%_}K56SzB zb0+hOv6S_GVN>)K!Dr@9!F<;rLFGyiTdF7KT#l_m2^vQ1+wTczW8DUJ_6%<;wXs9+ zlWJr~wDzK*RD*rTQ*lbwoBEA0-5-%A~J(J2w!NUvY}zHu%~pK*-*E90%Fh zF`qPFbokAYdb!OJLTuV5d|}-gv|`0t!OT}+>HkEJF_va!DNls*Rdbl;msYgzybWsk z>US5#1azQU@a^Qg$1!lfmKvu2Wgv2c~;l_b()L~GDsP2EL zw`!MQ>X(J`M~1RfmzvQonZL~T@)|fdPDc1OW;3%Lmk9F<Mn!kVuFd(k)*8ISB{x&2SsiJ(Dn zh`&6{QmBRxj|VdS!y0gjSroS`TS`!gJjxPfhhWpLV7xm00=|0J15sNgR-k{CHSRtL zANzK)`2LYN-RwM;`nFQAGO0$XV~z0CTShpdWxP=AEGt|z{erS=uJEB1>)_#wDQx0@ z&cd14L&5=t{}`GajoLsQ9&#)LyQX)spLzr&!>Qqg0ruR)GT&>x5Xj20Y;bV#}M7*?OsY$o}iddYQ^%I(JVp zTW$RcOTX^M+M6oa(7sVPB34e=wtp2$^6(ee7Fo>as0-S>q?CR6?n{?JF%Pr*9&^5? z$L@^SPp!{HG5u99Y-J+tu)372Fl8WE2p63IP6OL;>up8bDFs!6MNFk&bT~kG@-iQO z4Y)wht&(AP;^qrEv=JFrMbO?`ox&i;Ja}fH0>?RDMW^od+G?(vBIb&+u`Vn?QMb1U z3SZ9)w$0I4WA;K}#PPp4eBZkIar!f`<#sorh$*AOh08&8(Mhc6X3s8gnJBw<3Q}~s zDfq@DvA#uy?1G^Q>o3paQm#7T=rLh9XxnqPLeU=Oy`P11Z31cMW__V5)K}2?cpa;3 zw`Xxb7qG92RM^{Zgi7w;!j12o@D7(Y7^-?&(A+E$CJ$4CLAv!QsJD#;k9dO8JR_L% z872C}rwS_#TWH?pjR${^WB(ou;8E)tEO}u?aZMw7G0Pp5 zjMZZQ9D~uq&p9^wkB5uQ`z=;{Hk2;9s?0$D7Az|}k2c)eOgpEgVwI>!I$t}Q&HL9W zGVd>RU9Tc@E8dFbg55y#{jqG?=pk6eEeB?t+rzRCe8aLIOW}~VJXUl>yq>KOz^b63 ztXNhJ{e~q(zWj*Dyw&i~;xPC_Hl5M-0z6pf6OuAM$EJMtM{kxqgj(%6Y}^Vf)D+f9 znnsLe=1&vRgBBO~X<#*TzJD9N(sM^9(zlpa;9pc&u@L@c-)Ym`bto^n9~P_C(e6ES zQNE(8$h?m;qr)>$>D0R@Hgh$-7qbHGs9J^scRivrXB(s1N0w+)hdrGSQgD!vzKAKPDLM&3FUv z400Elcecp9WnrW7A?ALy1fc?HczoF@rsn=1n*Mkbj5__AC6--=zZ+BGDyhq?pt1%2 zGl~^+-ePaH{2nwiT!za1E@Baj79-tJs`Rk>T2|$J1I8gmHLyu1Uc;{wO-1H?fJKL`MtWbv zS@t8I6*hY#S@4Nn`o4voKDh(l-QLAwh!neVx*i$rSSd1Z9riYDFwzYi%DDP3BJ&PM zOHQ4ne=6XEl zMCQE~Wz5`2qO?W-#ax04cWcst#ae80LmP?+)n?M2o7m);)6t$?h~bGZS*mj!T0Hv) ziw>B{#y`4E90Grc%=}HB=8uNS#t>^ZL-RAZOMCRQ~ z2f|OW2*2qps_C`pdHBjy1_(3N>|>UpQ<&4-Ncwxh6UIe8qIDpd$$zS3s*0a!pWj<% z`#y~&KK2l^ufti8bTx|)JkQKG-xHbl8Fo0koL;pGr5(>cvlG`a9sJynre?lkM^fJ~ z#Sly{7!UnIdr2a#{uoFq6=}q@;W{|pwT@CMK`u%&^%BQvLitR=Q z?^KG+`v>cCRAJ_hMr>Sbz94mSGqd^gng$nNWA9f5v#5*@#BJSA)~E;Bjs@+c$*Mq* z(jLMRMR#-O7ftrG!=Dv<&S6%Qaz*Cd$|?e7>1n4aj8r5r)>BG9m0Gb{-M{SFjt8V- zVKci#A{afnkj8vz7MXW1z2c`~)9o!fjBFF=V_ty@5tG<=Q#o?{$zG#q>5HoAY@qcleE4!bX{G6#G^G;_4u6Jn6 z?xQGtj5x<39|R|-=ploG6(aMtrFK&z(I{0N*0rOABj!h7v)C`vR5y&C?%IaDykD^I zqxwbW-Gc%=3)ySM1x(MhU-Ws)v;S5a(0$X+A&dBv!l(ti=o{Cc@Dm;_j9hV+$=r=a z?iT|@=Dm-N^S48j--+Gk7Rq$}`rDvx)*R;fVFA24N`}tTjA4%Zcfzn0nJ^Zau<=1X zXmtApIB@qkGdWX&w2xRr_5U{0{p}+2c6BB_GiK6^j&?M9`%Jj^mMZZoc10_G{)c2{ z6p`w>TWD>0C|rH_J6xK&1}*CFg2Oh3QQfiaC~Ns^nBFs+o@$tdF1Z?_5&sp@TM>!q z(zqlLRZ&B){5T{s@6k{mR@0B}@6dN>NMkA=(WKq==+3t|Hi|8!Y3Eu{=gfsnMYo$? z=_tg5y}pUeyIXwLO;MBeT(-CMI30p_qnGWgncD?Z?o0GHbb6yNi_IMY)o=46^FBlW z)yV+WcSBLe)#LPA@C_*c{VrN}V4c_rt4Kbm-$RA#_Q5!h64LTT9(vJ>NUr!Foow|J z+|;`Wa)LCWI4uA!{d+*icPqfjau}jxhEPfM8O(iujBd4_3m=SegSm%3(!)~(VxGSm zbh;j4L%L*v(!3(7q;#3~Om3sC4wX<*aWj)HKg|aJ91k0|Yta8{^qKVe?V?{bfuYm= zOzL(vA7ExjPxVa#%Q6(<{AYG-$={hk`pe~7kG?1tuJV%0dvp((yosfoo$t}<{i0*T zsh7{Uas|Dk>d+djNx$4`f;)5bkzbIj%Au}=D<&7dg$WktMsPwHP|LufzDpP!xnz*gH9iM(L2MnOn;^uv=JTQf9IOB zpi4JkV4)Z4{(g@g0#V>+NCj4|GGtyQ??GerTdeKyL}cDk;G{$ft6#gqWTG-{u7-4D z94Hu|&_q7nH_R>_*pw|^*pq0 z%n(-ZqRkKvgZw>NMz3qIwIMnXO%;9K-}W&F)8()*BX`r5PVgPYQ^c$@LMskHE#jCx%fPb)cA#7rMR-l_LFQ&*K72vdNbox zTG`)h&)>r#|lynYRYZi&2u)_m>duSK(xJ?s{@<*hi{% ze={wtI105drt+y~8PI6|O?u3Ua{84%^l_Diq(^Tz8TMoYf8)(08l7^T99w=F+Q_t# z5o$T)DR-l;c;an3^2K7Vxgwip{>%rnJsPQ_hcnr=WsgmQP6wYjHjT_%sSc;!uP23z z;)tbE6K7lboqxAY1#FKK$Owl!{F~_&z<*vGf8)Iox8LUz*Ldt0H9NB(o;ZJ=^ECd$ zy(?eOpST$SYy+D3CigES{@y~W)-;LR`aGWdKB0H^1C?n0>ymkW&D1zkb~3I*H`j$Fb0RTNP<}mqdR3d&%AWB*kZG&E%@f zuE02xE2MLt9@yNqn9ARp!+#3gPmHazK#cWk;Fv5!E@wu9wB~qt(9;!ajtu0!vM4aO zwjER?oCDhL<*Aiy2SvXFxvSj+d_m$kva!E_ukRfPam`#nYU&iL~61oLT;b3oA(V6#(gGS7zPfa7VwN z?Cl*#$H1-Jt4oz6$EbnG>RE#m<-55`v(ey`_5-Lg|2n9B8DLY`je)G~U$V2^80fEC z$QQXe^5+g|f#G-3VDPgj+VQvqob=fbPFrhmO|stnqL({>P5e4;#@;zZb#F6&Ws?U; z)9?i|-frU}m7dw8Mr{W=HaeWnk$>RuJT(Hhxbcnix=2yU2biyr!Tr_T3mlzw`B?Qw zynKn9jogg+N@@90}+h zI|jnxaI>jIrS%EtQ?&!w9e-iHtg;G1b6XgLGC^&yC6_$3ukPgnf6&@m&L=z1_XMx_f;;IjOIK#5h~@eK$pM;=hde${e!^TUbbRnGRg?t^uqVcMLq$kF0%ZK7sEX zenGOWcRLMAPlOqz)1Ym;5?|?^&#Ctm+kCL}0!KDop`N-)pzPH}@Z)VF)V?ghS!bSc zGiE?OVN*P)y0(go-mPxEuJJL6yzvaEJW2(-4vYY$E|$P=%Xy$R-HG4(-+VfCx)0f` z(obTn=5b#)`ty2sTO_|H4JM|v4-DIs&71Fy=c|8N^B*7Aa8*x&`FCq;=mcqdI>@z- z8{b~dY3Eb|t0oJsPhIqhC8VQt$KK`oIPA+fTXmISy z0}z+x%XP%OCQEux@UwsF!lPsQ=!RXj(09}bup?N5&wFnykue@dD&sDbD>~ze>t`#z zBlRG0-l@QCo)lX9%I!U=vY%jM?{bFf4!s6FLLZUp{m;3}r<}mSq5hI92Rdvf&Ugkk z`%+TrRYa_Z@8|Q%rrP`}ybbJ20-&r? z7#Qm@mcO;sf>$5z3zL-U>5%5>Wa-LtuydP0wx`_SHP$C{)w{Jg{+~NPfu7+@r}hDt z$i1Y#+?}j3oebslmy^NWNmSONhD$pcPcAJU02BOMNat@;us!H9xi4`edi84j`Bg{2 z)|Shlb4(KWci5M{p$cTW<$BPSK8z|FW|E0|h-<0I<4q^N;qt=F$+)*a`SOl3I`xSz z(a+uqlX{PE{*rh}l3xg~pL2?;inC8mju?0+Xma(lipT=vZ^Ybu3m@`J;CJitWcvvx zV&JY#DtkNYo`A!WR;^%SIQlHfeWOpEk2`SZzhr>s6Dxp5h9d7cqLuFmb>Q#l4-x3heRSOg0_OgVqhrlCH{Ce12&F*y)wQU-|Hb-(mKQt9dmR z_(d!Rb~`6<^MAbHZfZT`Uj6;WmnJ&H{q9SMhExyveR?!dzVXE7o9bB!>Xqlbw$=e{ zhsnghbu93FQqG+UbLW0J@1ud3BelBU`M=r9oSS0`7@TpK3<)wJFYZ{`EokPE}SBcouWgd!keU)G>{dmTO=Cow`|&OWLYcZ z2%s(1A50v(ip$88r7D>*fZe_ z;4V(){%M~E`dfpzL`{8Qc2j(2s+*|8)%g?!PXqpzOUa3+&0O94K}2RG<*sE)L96~W zev9KS?nl21pO|b7PDY)liUt5AWbXz$4Of5#X^|X$Eq)t9!-#=MLC>`-f-OHD5*Phe z4lPfwoAJ4V3)bkfekEBUI`7Ak86CU0ry71hp)`+M_4cY{UX&Fbl=T!88IA>t)(YHc z|6APi7Ez4xIvZG=9SMev`33hEZUtHCZzR%V-hndLPw-CqPp&wCfqmJ}iF))&xTyUs z^?#-Tl9P&v>ex5ryr|yUbXOB3ZCMLGe5e6&0fbndbp&&#)YnCh-o>FYAtc*>2UtDZ ziAe5TBA4}#K-@J`^_SGxMt!u(Mp6ut`cH;1d~wY^ec$ z>8~P8N^TO+h#}~=o((>k*2O-BY_T2ntDZek+=q+KtzZxC9N`wCm^5A&vA;o zCMv(*C3Lye32U1$i+&^ayPwWSRjDDu$F3GAw2Y?PSD(SLe;?u4^vf(^bRG^G#*4k@ zQ^B{IN-P`e$_}~@#&s@BSbo@2oMoqkl71(!bjLmH(1>Tk8v9KG`!4`%jf`Y1j|T+v zHE-!0du>7Xnv?C|HJ^mwwFmL(>G`O5sS1pmb_Nw34HcI4c+vYtGU6`%hnR)?B20L@ zSuio#gDevkAm3dJ$^2Ld`p@^W>X{Sp;7?jMg?-*EvPHRm%J@q9RLc!}%l6=Ce``E$ zx&~gAa0I(7o6I_*Dg;;04XEq)YOJ@|To~Svj5jHdt=E|$c1+i#3DXtdV~xDmc)$D~ z9Hg)dXB~WqkIWD=!|S)EPf?=?gkONKJK#T(CDLRs?E6sCP; zDpIo_3TsOgu&>y~u5-Q%t7_QM;_5*3ZiD0h$%x_tHvJhR6W9r?KoDGyUb z|EZ3EHyr%H`01W>%YS-8-keThf7?r;{nJXkbfOH3GH}Idf&1tm`Tqp(f=>3y)gSLr z)un;6Wz&a*%Y@4k&kx7#lqVzl2p@m+o;<-PTWu0tI>N0HW z6olVpe-tV%%L`?vq)_$zk4Wn0NYt(RQrNAZ$Byo|gCi~6L{D`o?rE2%tCgLx;-Y&@ zD)cK}KN->!aiQp1PYf%JU5UpeJrwqQnhUd4SF?+p3bp$zO|{>53t-P~X82>9ZW z7r0#z5(C@e`j#6kBj5{KX8Dy>76l6-Va~{>HlFTwT8)9>331&LkH?)cMN#?7n3;YJ z9;qz4HZ7M5;FlZwe(3`m^`Hi)O4=}zHAAD0yW%jLCVKv$u8`6E4h{RZUU>cWs-Qm& z;<={+vDcul^eFy~tVj3IiJoD?C|e)F)9?>+x9i4o@eXM7kjGT{LknKs&g02B)3B1v zNwjyO5uJTNm7G|&fbQ$o!W$$XvHjiyqQh=H`gA-Tx+NtD9w(m&#v#YpdE3W!$c;qdHWs_9e>x&Km4lK!qnW>3DEqMcm2i23XgPaQ!0bvYSo;U!r>x=xiPiOq7p{PQ545f_+;G34O z@LR8Z$$BNyWF^dKxMbmg;+SdZqHboI>Bt*eMU2o9} z`O9^}&nc*PgdhBxBl^qGSJG^-0ZO*l;yphzVD8QWVfpEuZ2J=#G~Z-D)@we1m3v}@ z9e@4^E6+Fxvs`o8mroa%*Sb=XlM*z>rEAObrYsB^PK(rj%t=UVnmfdEh{-*@}_@}JskSWp% zQ{eP1RmieO1*~zvnx2X11f7}^rt{bgjhSIX6QPvth>T$DdF+p^^b}Y>Xww+HDO{IX zbJN+PPn<9>yPVy8zLg$c@EaYPDT5>PcHx7=IC%Tce?n%~IvjAgjV&Lx3l-??t{>)V zC!`*njL(YaFdmZ%g$a-KSo-oy=*xqCc4||TP#kZ>Y*KEbf?H+i%#1vK@aF`!@yP}> z%iEbMuJVG_4;z{GY9~C%?l+oSd!GqUE7_rceM~*81#2mL3!9GV+bZX%VCU#g>>&6G z0XmgL@Ng5Cee~cT(&fx-z6{zn>V^>RH59JG)Nz6B0Ap+rg8v3MuCX0m|&YbCg@Cm0)?VmKzq zPgwD_gi-Zw(0yPOvsNw=3VrO^O=AuCFy|&7()NYMfBGueni^0O`$m+fQ_iH42WYC0 z2ikt;;}z?CQNxQDV(;oOCJM*|pIJ@pS;bzY`NxqRarR;-jbfnrRt681^}{<)b~3fH z+0ea44*Xd2TTr@H&i1LD#1n&$VV|No_^PKdYB?Fg@;ctLdvk5!o(@~KZ}N7W_HY4~ z@xCI=!eddoTOGE@GRM(B-w35!RtmK@Oi=QJ#~}0GeE4W&3L9bGDimw17gEaH8BQxg z&F32NppV(uzPyv|xd?1^c7+P#?UhmAW`DumCxH+?@EmeYx4ZhFwjtG={$>v^!U zy&1pK|06h^e~7)7{}mG6|HFFkQrMJFwQRZnN@P%BE)3|cC(&B&%)K)eb)PB2D#f?x zvn%&-fXpgk-Dn4~ySWIFEix=xKLoA6@|k_(|I)AHjahK5GxLnx!p_@A(zv^=G}>>Z zt*mz>*3b(UrvHr>!Y>YH_R(K)o6CILDX-iFU=c2it1A&&&by0QxZ$*O>N@sfk(H41 z@jcRA+(3i-+}Up{DR|@ph&Y^d?aZ${o21=C_UdGsI44}<)50dsE}Fg)9i2| z_Q7kEFwG5jIGx4`Z^l7O`)z{mik-r&7jNOslzh0?(S`XOdW23U?_iTepR=Z_Egn0% z0sDD$W4$5+0ebxrq7=)7M>C7i_X7d!?H64 Date: Thu, 7 Jul 2022 11:37:39 -0400 Subject: [PATCH 132/191] Add test reading frc/vel from netcdf generated by simulation --- test/Test_VelFrc/RunTest.sh | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/test/Test_VelFrc/RunTest.sh b/test/Test_VelFrc/RunTest.sh index 228044a1ca..5184cf5ae4 100755 --- a/test/Test_VelFrc/RunTest.sh +++ b/test/Test_VelFrc/RunTest.sh @@ -3,7 +3,7 @@ . ../MasterTest.sh CleanFiles cpptraj.in CrdFrcVel.nc Vel.crd Frc.crd Vel1.crd Frc1.crd \ - CrdFrcVel.ncrst.? fromncrst.nc + CrdFrcVel.ncrst.? fromncrst.nc trpzip2.*.crd TESTNAME='Read separate velocity/force trajectory data tests' Requires notparallel netcdf @@ -65,5 +65,26 @@ EOF RunCpptraj "Test reading combined coords/velocity/force NetCDF restart." NcTest CrdFrcVel.nc fromncrst.nc +UNITNAME="Test reading coordinates, velocities, and forces from NetCDF trajectory." +cat > cpptraj.in < Date: Thu, 7 Jul 2022 11:53:16 -0400 Subject: [PATCH 133/191] Test regular compression of vel/frc info --- test/Test_NetcdfTraj/RunTest.sh | 51 +++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/test/Test_NetcdfTraj/RunTest.sh b/test/Test_NetcdfTraj/RunTest.sh index 00cf9ce3fc..242e31194f 100755 --- a/test/Test_NetcdfTraj/RunTest.sh +++ b/test/Test_NetcdfTraj/RunTest.sh @@ -6,7 +6,8 @@ CleanFiles ptraj_netcdf.in trajectory.netcdf trajectory_test.mdcrd \ trajectory_nc4.mdcrd trajectory.nc4 \ compress.mdcrd compress.nc4 \ - icompress.mdcrd icompress.nc4 + icompress.mdcrd icompress.nc4 \ + velfrc.compress.nc4 trpzip2.*.crd TESTNAME='NetCDF tests' Requires netcdf pnetcdf maxthreads 10 @@ -27,8 +28,8 @@ EOF RunCpptraj "Convert NetCDF -> mdcrd" DoTest ../tz2.truncoct.crd trajectory_test.mdcrd -# NetCDF4/HDF5 -UNITNAME='NetCDF4/HDF5 tests' +# ----- NetCDF4/HDF5 tests ----------------------- +UNITNAME='Convert mdcrd <-> NetCDF4/HDF5' CheckFor hdf5 if [ $? -eq 0 ] ; then cat > $INPUT < mdcrd" DoTest ../tz2.truncoct.crd trajectory_nc4.mdcrd +fi +UNITNAME='Convert mdcrd <-> NetCDF4/HDF5 with compression' +CheckFor hdf5 +if [ $? -eq 0 ] ; then cat > $INPUT <NetCDF4/HDF5 with compression" + RunCpptraj "Convert mdcrd -> NetCDF4/HDF5 with compression" cat > $INPUT < mdcrd" DoTest ../tz2.truncoct.crd compress.mdcrd +fi +UNITNAME='Convert mdcrd <-> NetCDF4/HDF5 with lossy compression' +CheckFor hdf5 +if [ $? -eq 0 ] ; then cat > $INPUT <NetCDF4/HDF5 with lossy compression" + RunCpptraj "Convert mdcrd -> NetCDF4/HDF5 with lossy compression" cat > $INPUT < ptraj_netcdf.in < ptraj_netcdf.in < Date: Thu, 7 Jul 2022 12:02:33 -0400 Subject: [PATCH 134/191] Ensure we do not write uncompressed vel/frc if writing compressed vel/frc --- src/NetcdfFile.cpp | 12 +++++++----- src/NetcdfFile.h | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 9d6956dded..3e2ae3ea3a 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -943,7 +943,9 @@ int NetcdfFile::SetupCompression(int deflateLevelIn, int icompressIn, int ishuff mprintf("Warning: Using lossy compression.\n" "Warning: Energy error will be on the order of 2E-%i kcal/mol/atom\n", icompressIn); // Calculate integer compression factors for supported variables - err += (calcCompressFactor( intCompressFac_[V_COORDS], icompressIn )); + err += (calcCompressFactor( intCompressFac_[V_COORDS], icompressIn, "coordinates" )); + err += (calcCompressFactor( intCompressFac_[V_VEL], icompressIn, "velocities" )); + err += (calcCompressFactor( intCompressFac_[V_FRC], icompressIn, "forces" )); // Report ishuffle status ishuffle_ = ishuffleIn; if (ishuffle_ == 0) @@ -1003,7 +1005,7 @@ const } /** Set compressedFac to given power of 10 (min 1). */ -int NetcdfFile::calcCompressFactor(double& compressedFac, int power) { +int NetcdfFile::calcCompressFactor(double& compressedFac, int power, const char* desc) { compressedFac = 0; if (power < 1) { mprinterr("Internal Error: calcCompressFactor called with power of 10 < 1\n"); @@ -1012,7 +1014,7 @@ int NetcdfFile::calcCompressFactor(double& compressedFac, int power) { compressedFac = 10.0; for (int i = 1; i < power; i++) compressedFac *= 10.0; - mprintf("\tConverting floats to integer using factor: x%g\n", compressedFac); + mprintf("\tConverting %s to integer using factor: x%g\n", desc, compressedFac); return 0; } @@ -1304,7 +1306,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC_setFrameChunkSize(V_COORDS, coordVID_)) return 1; } // Velocity variable - if (coordInfo.HasVel()) { + if (coordInfo.HasVel() && intCompressFac_[V_VEL] == 0) { if ( NC::CheckErr( nc_def_var( ncid_, NCVELO, dataType, NDIM, dimensionID, &velocityVID_)) ) { mprinterr("Error: Defining velocities variable.\n"); return 1; @@ -1314,7 +1316,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC_setFrameChunkSize(V_VEL, velocityVID_)) return 1; } // Force variable - if (coordInfo.HasForce()) { + if (coordInfo.HasForce() && intCompressFac_[V_FRC] == 0) { if ( NC::CheckErr( nc_def_var( ncid_, NCFRC, dataType, NDIM, dimensionID, &frcVID_)) ) { mprinterr("Error: Defining forces variable\n"); return 1; diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 47ac34aa30..56cdad1d2e 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -152,7 +152,7 @@ class NetcdfFile { /// Set desired compression level for variable ID. int setDesiredCompression(VidType, int); /// Calculate integer compression factor of 10 from given power - static int calcCompressFactor(double&, int); + static int calcCompressFactor(double&, int, const char*); /// Increase variable chunk sizes int NC_setVarDimChunkSizes(VidType, int, int, std::vector const&, int, std::vector&) const; /// Write array[ncatom3] compressed From ac815f99b0d81dea64cf8195446592f6d95fd381 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 7 Jul 2022 12:09:41 -0400 Subject: [PATCH 135/191] Add test for lossy compression of force/velocity info --- test/Test_NetcdfTraj/RunTest.sh | 36 ++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/test/Test_NetcdfTraj/RunTest.sh b/test/Test_NetcdfTraj/RunTest.sh index 242e31194f..4cb0310fdd 100755 --- a/test/Test_NetcdfTraj/RunTest.sh +++ b/test/Test_NetcdfTraj/RunTest.sh @@ -7,7 +7,8 @@ CleanFiles ptraj_netcdf.in trajectory.netcdf trajectory_test.mdcrd \ trajectory_nc4.mdcrd trajectory.nc4 \ compress.mdcrd compress.nc4 \ icompress.mdcrd icompress.nc4 \ - velfrc.compress.nc4 trpzip2.*.crd + velfrc.compress.nc4 trpzip2.*.crd \ + velfrc.icompress.nc4 TESTNAME='NetCDF tests' Requires netcdf pnetcdf maxthreads 10 @@ -114,6 +115,39 @@ EOF DoTest ../Test_VelFrc/trpzip2.frc.crd.save trpzip2.frc.crd fi +UNITNAME='Test lossy compression of velocity/force info' +CheckFor hdf5 +if [ $? -eq 0 ] ; then + cat > ptraj_netcdf.in < ptraj_netcdf.in < Date: Wed, 13 Jul 2022 13:06:05 -0400 Subject: [PATCH 136/191] Add option to turn integer shuffling on or off --- src/NetcdfFile.cpp | 11 ++++++----- src/NetcdfFile.h | 2 +- src/Traj_AmberNetcdf.cpp | 7 +++++-- src/Traj_AmberNetcdf.h | 1 + 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 3e2ae3ea3a..9accdd8f37 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -1005,7 +1005,7 @@ const } /** Set compressedFac to given power of 10 (min 1). */ -int NetcdfFile::calcCompressFactor(double& compressedFac, int power, const char* desc) { +int NetcdfFile::calcCompressFactor(double& compressedFac, int power, const char* desc) const { compressedFac = 0; if (power < 1) { mprinterr("Internal Error: calcCompressFactor called with power of 10 < 1\n"); @@ -1014,7 +1014,8 @@ int NetcdfFile::calcCompressFactor(double& compressedFac, int power, const char* compressedFac = 10.0; for (int i = 1; i < power; i++) compressedFac *= 10.0; - mprintf("\tConverting %s to integer using factor: x%g\n", desc, compressedFac); + if (ncdebug_ > 0) + mprintf("\tIf present, will convert %s to integer using factor: x%g\n", desc, compressedFac); return 0; } @@ -1494,7 +1495,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (coordInfo.HasCrd() && intCompressFac_[V_COORDS] > 0) { if (set_atom_dim_array(dimensionID)) return 1; // Coords with integer compression - mprintf("\tCOORDS will use integer compression with factor %g\n", intCompressFac_[V_COORDS]); + mprintf("\tCoordinates will use integer compression with factor %g\n", intCompressFac_[V_COORDS]); if (NC::CheckErr( nc_def_var(ncid_, NCCOMPPOS, NC_INT, NDIM, dimensionID, &compressedPosVID_) )) { mprinterr("Error: defining compressed positions VID.\n"); return 1; @@ -1516,7 +1517,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (coordInfo.HasVel() && intCompressFac_[V_VEL] > 0) { if (set_atom_dim_array(dimensionID)) return 1; // Velocities with integer compression - mprintf("\tVELOCITIES will use integer compression with factor %g\n", intCompressFac_[V_VEL]); + mprintf("\tVelocities will use integer compression with factor %g\n", intCompressFac_[V_VEL]); if (NC::CheckErr( nc_def_var(ncid_, NCCOMPVEL, NC_INT, NDIM, dimensionID, &compressedVelVID_) )) { mprinterr("Error: defining compressed velocities VID.\n"); return 1; @@ -1535,7 +1536,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (coordInfo.HasForce() && intCompressFac_[V_FRC] > 0) { if (set_atom_dim_array(dimensionID)) return 1; // Forces with integer compression - mprintf("\tFORCES will use integer compression with factor %g\n", intCompressFac_[V_FRC]); + mprintf("\tForces will use integer compression with factor %g\n", intCompressFac_[V_FRC]); if (NC::CheckErr( nc_def_var(ncid_, NCCOMPFRC, NC_INT, NDIM, dimensionID, &compressedFrcVID_) )) { mprinterr("Error: defining compressed forces VID.\n"); return 1; diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index 56cdad1d2e..c4a9c41656 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -152,7 +152,7 @@ class NetcdfFile { /// Set desired compression level for variable ID. int setDesiredCompression(VidType, int); /// Calculate integer compression factor of 10 from given power - static int calcCompressFactor(double&, int, const char*); + int calcCompressFactor(double&, int, const char*) const; /// Increase variable chunk sizes int NC_setVarDimChunkSizes(VidType, int, int, std::vector const&, int, std::vector&) const; /// Write array[ncatom3] compressed diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 35167b3b52..47afbe87d7 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -29,6 +29,7 @@ Traj_AmberNetcdf::Traj_AmberNetcdf() : compress_(0), icompress_(0), fchunkSize_(0), + ishuffle_(1), # endif ftype_(NC_V3) // Default to NetCDF 3 {} @@ -157,6 +158,8 @@ int Traj_AmberNetcdf::processWriteArgs(ArgList& argIn, DataSetList const& DSLin) // icompress implies compress if (icompress_ > 0 && compress_ < 1) compress_ = 1; + // integer shuffle + ishuffle_ = argIn.getKeyInt("ishuffle", 1); // NOTE: Hidden option // Frame chunk size fchunkSize_ = argIn.getKeyInt("fchunksize", 0); // NOTE: Hidden option if (fchunkSize_ < 0) { @@ -207,9 +210,9 @@ int Traj_AmberNetcdf::setupTrajout(FileName const& fname, Topology* trajParm, if (Title().empty()) SetTitle("Cpptraj Generated trajectory"); # ifdef HAS_HDF5 - // Set compression levels TODO have ishuffle option + // Set compression levels if (compress_ > 0 || icompress_ > 0) { - if (SetupCompression(compress_, icompress_, 1)) + if (SetupCompression(compress_, icompress_, ishuffle_)) return 1; } // Set frame chunk size diff --git a/src/Traj_AmberNetcdf.h b/src/Traj_AmberNetcdf.h index 7079f87d43..3b64a51f4e 100644 --- a/src/Traj_AmberNetcdf.h +++ b/src/Traj_AmberNetcdf.h @@ -49,6 +49,7 @@ class Traj_AmberNetcdf : public TrajectoryIO, private NetcdfFile { int compress_; ///< HDF5 compression level int icompress_; ///< HDF5 integer compression level int fchunkSize_; ///< HDF5 frame chunk size + int ishuffle_; ///< HDF5 integer shuffle (1 = on, 0 = off) # endif NC_FMT_TYPE ftype_; ///< Base format type }; From 3845c542212a31532951e801a196d4b5cd690aaf Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 10 Nov 2022 11:29:02 -0500 Subject: [PATCH 137/191] Try to add hdf5 build --- configure | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 231db4690a..f249e93979 100755 --- a/configure +++ b/configure @@ -132,6 +132,12 @@ NETCDF_SRCTAR='netcdf-4.6.1.tar.gz' NETCDF_SRCDIR='netcdf-4.6.1' NETCDF_URL="ftp://ftp.unidata.ucar.edu/pub/netcdf/$NETCDF_SRCTAR" NETCDF_OPTS=" --disable-netcdf-4 --disable-dap $windows_hostflag --disable-shared --disable-doxygen" +NETCDF4_OPTS=" --disable-dap $windows_hostflag --disable-shared --disable-doxygen" + +HDF5_SRCTAR='hdf5-1_10_9.tar.gz' +HDF5_SRCDIR='hdf5-hdf5-1_10_9' +HDF5_URL="https://github.com/HDFGroup/hdf5/archive/refs/tags/$HDF5_SRCTAR" +HDF5_OPTS='' BZIP2_SRCTAR='bzip2-latest.tar.gz' BZIP2_SRCDIR='' @@ -693,9 +699,22 @@ EOF if [ $? -ne 0 ] ; then # Check if lib present but needs to be rebuilt CheckRebuild "NetCDF" "${LIB_FLAG[$LNETCDF]}" + if [ "${LIB_STAT[$LHDF5]}" != 'off' ] ; then + # Get HDF5 + PREFIX=$CPPTRAJHOME CC=$CC CPPFLAGS="$CPPFLAGS -I$CPPTRAJHOME/include" LDFLAGS="-L$CPPTRAJHOME/lib" \ + LIBNAME='hdf5' \ + SRCDIR=$HDF5_SRCDIR SRCTAR=$HDF5_SRCTAR URL=$HDF5_URL ./get_library.sh $REBUILDOPT $HDF5_OPTS + if [ $? -ne 0 ] ; then + ErrMsg "Building HDF5 failed." + exit 1 + fi + local_netcdf_opts=$NETCDF4_OPTS + else + local_netcdf_opts=$NETCDF_OPTS + fi # See if user would like to get netcdf PREFIX=$CPPTRAJHOME CC=$CC CFLAGS=$CFLAGS LIBNAME='netcdf' \ - SRCDIR=$NETCDF_SRCDIR SRCTAR=$NETCDF_SRCTAR URL=$NETCDF_URL ./get_library.sh $REBUILDOPT $NETCDF_OPTS + SRCDIR=$NETCDF_SRCDIR SRCTAR=$NETCDF_SRCTAR URL=$NETCDF_URL ./get_library.sh $REBUILDOPT $local_netcdf_opts if [ $? -ne 0 ] ; then ErrMsg "Building NetCDF failed." exit 1 From df821fd4b4da5adf4e71f53d15d3013b276406dd Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 10 Nov 2022 13:30:46 -0500 Subject: [PATCH 138/191] Add specific check for just HDF5 functionality, allow it to be built automatically. The existing hdf5 check is really a netcdf4/hdf5 check. --- configure | 87 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 67 insertions(+), 20 deletions(-) diff --git a/configure b/configure index f249e93979..2b0c6d7c1a 100755 --- a/configure +++ b/configure @@ -381,7 +381,7 @@ LIB_STAT[$LHDF5]='enabled' LIB_CKEY[$LHDF5]='hdf5' LIB_HOME[$LHDF5]='' LIB_FLAG[$LHDF5]='' -LIB_STTC[$LHDF5]='' +LIB_STTC[$LHDF5]='libhdf5.a' LIB_D_ON[$LHDF5]='-DHAS_HDF5' LIB_DOFF[$LHDF5]='' LIB_LINK[$LHDF5]='dynamic' @@ -656,7 +656,7 @@ EOF fi } -TestHdf5() { +TestNetcdf4Hdf5() { cat > testp.cpp < #include "netcdf.h" @@ -673,10 +673,52 @@ void unused() { } int main() { printf("Testing\n"); printf("%s\n",nc_strerror(0)); return 0; } EOF - TestProgram silent " Checking NetCDF/HDF5" "$CXX" "$CXXFLAGS ${LIB_INCL[$LNETCDF]} ${LIB_INCL[$LHDF5]}" testp.cpp "${LIB_FLAG[$LNETCDF]} ${LIB_FLAG[$LHDF5]}" - if [ $? -eq 1 ] ; then - WrnMsg "NetCDF library does not contain HDF5 support." - LIB_STAT[$LHDF5]='off' + TestProgram " Checking NetCDF/HDF5" "$CXX" "$CXXFLAGS ${LIB_INCL[$LNETCDF]}" testp.cpp "${LIB_FLAG[$LNETCDF]}" + #if [ $? -eq 1 ] ; then + # WrnMsg "NetCDF library does not contain HDF5 support." + # LIB_STAT[$LHDF5]='off' + #fi +} + +TestHdf5() { + cat > testp.cpp < +#include "hdf5.h" +void unused() { + hid_t file; + file = H5Fcreate("tmp", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); + herr_t status = H5Fclose(file); +} +int main() { + printf("Testing\n"); + return 0; +} +EOF + TestProgram silent " Checking HDF5" "$CXX" "$CXXFLAGS ${LIB_INCL[$LHDF5]}" testp.cpp "${LIB_FLAG[$LHDF5]}" + if [ $? -ne 0 ] ; then + if [ "${LIB_STAT[$LHDF5]}" = 'enabled' ] ; then + # See if there is already a version of HDF5 in CPPTRAJHOME + LIB_STAT[$LHDF5]='specified' + LIB_HOME[$LHDF5]=$CPPTRAJHOME + LIB_FLAG[$LHDF5]="$CPPTRAJHOME/lib/libhdf5_hl.a $CPPTRAJHOME/lib/${LIB_STTC[$LHDF5]} -ldl ${LIB_FLAG[$LZIP]}" + LIB_INCL[$LHDF5]="-I$CPPTRAJHOME/include" + TestProgram $BUILDTESTOPT " Checking for bundled HDF5" "$CXX" "$CXXFLAGS ${LIB_INCL[$LHDF5]}" testp.cpp "${LIB_FLAG[$LHDF5]}" + if [ $? -ne 0 ] ; then + CheckRebuild "HDF5" "${LIB_FLAG[$LHDF5]}" + # See if user would like to get HDF5 + PREFIX=$CPPTRAJHOME CC=$CC CFLAGS=$CFLAGS LIBNAME='hdf5' \ + SRCDIR=$HDF5_SRCDIR SRCTAR=$HDF5_SRCTAR URL=$HDF5_URL ./get_library.sh $REBUILDOPT $HDF5_OPTS + if [ $? -ne 0 ] ; then + ErrMsg "Building HDF5 failed." + exit 1 + fi + # Test the built HDF5 + TestProgram " Checking built HDF5" "$CXX" "$CXXFLAGS ${LIB_INCL[$LHDF5]}" testp.cpp "${LIB_FLAG[$LHDF5]}" + fi + else + # HDF5 specified but failed. + TestProgErr "HDF5" + fi fi } @@ -695,27 +737,28 @@ EOF LIB_HOME[$LNETCDF]=$CPPTRAJHOME LIB_FLAG[$LNETCDF]=$CPPTRAJHOME/lib/${LIB_STTC[$LNETCDF]} LIB_INCL[$LNETCDF]="-I$CPPTRAJHOME/include" + if [ "${LIB_STAT[$LHDF5]}" != 'off' ] ; then + # Netcdf needs to know where hdf5 is + LIB_FLAG[$LNETCDF]="${LIB_FLAG[$LNETCDF]} ${LIB_FLAG[$LHDF5]}" + LIB_INCL[$LNETCDF]="${LIB_INCL[$LNETCDF]} ${LIB_INCL[$LHDF5]}" + fi TestProgram $BUILDTESTOPT " Checking for bundled NetCDF" "$CXX" "$CXXFLAGS ${LIB_INCL[$LNETCDF]}" testp.cpp "${LIB_FLAG[$LNETCDF]}" if [ $? -ne 0 ] ; then # Check if lib present but needs to be rebuilt CheckRebuild "NetCDF" "${LIB_FLAG[$LNETCDF]}" if [ "${LIB_STAT[$LHDF5]}" != 'off' ] ; then - # Get HDF5 - PREFIX=$CPPTRAJHOME CC=$CC CPPFLAGS="$CPPFLAGS -I$CPPTRAJHOME/include" LDFLAGS="-L$CPPTRAJHOME/lib" \ - LIBNAME='hdf5' \ - SRCDIR=$HDF5_SRCDIR SRCTAR=$HDF5_SRCTAR URL=$HDF5_URL ./get_library.sh $REBUILDOPT $HDF5_OPTS - if [ $? -ne 0 ] ; then - ErrMsg "Building HDF5 failed." - exit 1 - fi - local_netcdf_opts=$NETCDF4_OPTS + # Get/compile netcdf4 with HDF5 + PREFIX=$CPPTRAJHOME CC=$CC CFLAGS=$CFLAGS LIBNAME='netcdf' \ + CPPFLAGS=${LIB_INCL[$LHDF5]} LDFLAGS="-L$CPPTRAJHOME/lib" \ + SRCDIR=$NETCDF_SRCDIR SRCTAR=$NETCDF_SRCTAR URL=$NETCDF_URL ./get_library.sh $REBUILDOPT $NETCDF4_OPTS + netcdferr=$? else - local_netcdf_opts=$NETCDF_OPTS + # Get/compile netcdf3 + PREFIX=$CPPTRAJHOME CC=$CC CFLAGS=$CFLAGS LIBNAME='netcdf' \ + SRCDIR=$NETCDF_SRCDIR SRCTAR=$NETCDF_SRCTAR URL=$NETCDF_URL ./get_library.sh $REBUILDOPT $NETCDF_OPTS + netcdferr=$? fi - # See if user would like to get netcdf - PREFIX=$CPPTRAJHOME CC=$CC CFLAGS=$CFLAGS LIBNAME='netcdf' \ - SRCDIR=$NETCDF_SRCDIR SRCTAR=$NETCDF_SRCTAR URL=$NETCDF_URL ./get_library.sh $REBUILDOPT $local_netcdf_opts - if [ $? -ne 0 ] ; then + if [ $netcdferr -ne 0 ] ; then ErrMsg "Building NetCDF failed." exit 1 fi @@ -727,6 +770,10 @@ EOF TestProgErr "NetCDF" fi fi + # Check netcdf4 if necessary + if [ "${LIB_STAT[$LHDF5]}" != 'off' ] ; then + TestNetcdf4Hdf5 + fi } TestPnetcdf() { From 3b0b65efb72bc6cb4343f6a8259686d6f09ea263 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 10 Nov 2022 18:44:30 -0500 Subject: [PATCH 139/191] Add missing test save files --- test/Test_VelFrc/trpzip2.frc.crd.save | 6601 +++++++++++++++++++++++++ test/Test_VelFrc/trpzip2.pos.crd.save | 6601 +++++++++++++++++++++++++ test/Test_VelFrc/trpzip2.vel.crd.save | 6601 +++++++++++++++++++++++++ 3 files changed, 19803 insertions(+) create mode 100644 test/Test_VelFrc/trpzip2.frc.crd.save create mode 100644 test/Test_VelFrc/trpzip2.pos.crd.save create mode 100644 test/Test_VelFrc/trpzip2.vel.crd.save diff --git a/test/Test_VelFrc/trpzip2.frc.crd.save b/test/Test_VelFrc/trpzip2.frc.crd.save new file mode 100644 index 0000000000..3d52163a85 --- /dev/null +++ b/test/Test_VelFrc/trpzip2.frc.crd.save @@ -0,0 +1,6601 @@ +Cpptraj Generated trajectory + -0.014 0.025 0.058 -0.039 0.018 -0.040 0.097 0.022 0.046 -0.018 + 0.111 0.000 -0.076 -0.060 0.078 0.026 -0.006 0.010 -0.088 0.019 + 0.028 -0.019 -0.008 0.080 0.108 0.033 0.060 -0.015 -0.011 -0.110 + 0.008 0.028 0.041 0.094 0.029 0.128 -0.041 0.017 -0.028 -0.044 + -0.033 -0.036 0.011 0.015 -0.025 0.013 0.076 0.023 0.062 -0.007 + 0.029 -0.022 -0.022 -0.033 0.022 -0.043 0.034 0.036 0.030 0.017 + -0.128 0.029 0.108 -0.064 -0.093 -0.101 -0.007 0.019 0.026 0.126 + 0.021 -0.106 -0.022 -0.050 -0.011 -0.196 0.017 0.081 0.221 0.077 + -0.109 0.018 -0.012 0.024 -0.124 0.057 0.105 -0.081 -0.017 0.016 + 0.215 0.039 -0.086 0.030 -0.037 -0.052 -0.104 0.083 0.113 0.059 + 0.007 -0.003 0.182 -0.004 -0.128 0.043 0.052 0.084 -0.103 -0.037 + -0.024 -0.008 0.130 -0.058 -0.007 -0.074 0.007 0.045 -0.019 0.044 + -0.005 0.002 0.051 -0.014 -0.056 -0.010 0.067 0.069 0.025 -0.026 + -0.057 -0.063 0.005 -0.019 0.029 0.045 0.114 -0.049 0.069 -0.007 + -0.001 -0.057 0.010 0.010 -0.056 0.072 -0.005 0.029 0.006 0.065 + 0.093 -0.045 0.025 -0.021 0.086 -0.041 -0.106 -0.065 0.026 0.026 + 0.133 0.016 0.096 -0.109 0.053 0.005 0.100 -0.030 0.031 -0.067 + 0.020 -0.051 -0.030 -0.010 -0.135 0.025 -0.095 -0.002 0.107 0.058 + -0.018 -0.001 -0.042 0.063 -0.057 0.051 -0.044 -0.022 0.002 -0.223 + 0.069 -0.167 0.144 -0.089 0.089 -0.017 -0.022 0.011 -0.170 -0.024 + -0.061 -0.010 0.009 0.017 0.197 -0.083 0.065 0.008 0.016 -0.001 + -0.142 -0.033 -0.115 0.028 -0.042 -0.001 0.207 -0.002 0.152 -0.072 + -0.066 0.012 -0.050 0.060 -0.080 -0.012 -0.020 -0.024 0.013 -0.026 + 0.011 0.040 -0.110 -0.059 -0.047 0.060 0.036 0.011 -0.079 -0.042 + 0.070 -0.020 -0.040 -0.088 -0.007 0.006 -0.100 0.014 -0.082 -0.066 + -0.049 -0.009 0.020 -0.022 0.039 0.422 0.216 0.517 -0.243 -0.172 + -0.134 -0.232 0.010 -0.332 0.109 -0.064 0.039 0.114 0.104 0.053 + -0.017 0.031 -0.087 -0.078 -0.004 -0.050 -0.043 0.026 0.033 0.048 + 0.019 -0.017 -0.067 0.014 0.049 0.040 -0.059 0.006 -0.036 0.044 + 0.029 -0.034 -0.041 -0.052 -0.103 -0.032 0.011 0.043 0.078 0.012 + -0.021 0.036 -0.010 0.133 0.118 0.018 -0.015 -0.098 0.013 0.035 + -0.034 0.021 0.052 0.069 -0.043 0.003 -0.030 -0.085 -0.041 0.021 + 0.027 -0.019 -0.086 0.014 0.126 0.193 0.072 -0.048 -0.115 -0.021 + 0.065 0.061 -0.027 -0.045 -0.175 -0.026 -0.037 -0.032 0.011 -0.070 + -0.129 0.035 0.102 -0.016 0.012 -0.008 -0.092 0.025 0.050 0.077 + 0.015 -0.020 -0.024 0.052 0.021 -0.098 -0.061 0.078 0.059 0.035 + -0.010 0.035 0.014 -0.030 -0.117 -0.042 0.065 0.029 0.146 -0.032 + 0.075 -0.042 -0.000 -0.090 -0.033 0.061 -0.017 0.036 0.023 0.078 + -0.047 -0.029 -0.040 0.012 -0.015 0.121 -0.023 0.058 0.050 0.026 + -0.045 0.013 0.047 -0.044 0.036 -0.030 -0.023 0.045 -0.024 -0.006 + 0.109 0.095 0.054 -0.036 -0.020 0.028 0.075 -0.049 -0.035 0.003 + 0.071 0.067 0.001 0.033 0.040 -0.009 -0.062 -0.063 -0.036 0.028 + -0.100 -0.064 -0.142 0.034 -0.067 0.197 -0.018 0.022 0.022 0.165 + -0.029 -0.138 -0.016 0.016 -0.072 -0.305 -0.075 0.159 0.306 0.025 + -0.001 -0.092 -0.010 -0.079 -0.119 -0.027 0.044 0.071 0.018 -0.115 + 0.073 -0.006 0.039 -0.133 0.008 -0.112 -0.209 -0.009 0.055 -0.002 + -0.020 -0.045 0.302 -0.018 0.143 -0.166 -0.075 -0.204 0.284 -0.134 + 0.029 0.106 0.077 0.124 -0.185 -0.067 0.124 -0.119 0.032 0.007 + -0.067 -0.053 0.038 -0.012 -0.015 -0.020 -0.053 0.020 -0.033 0.011 + -0.010 0.048 0.025 -0.021 0.038 -0.045 0.079 0.064 -0.051 -0.026 + 0.008 -0.019 0.020 0.023 -0.028 -0.029 -0.004 -0.057 0.007 -0.231 + -0.051 -0.003 0.096 -0.006 0.067 0.099 -0.003 0.036 -0.044 -0.003 + 0.084 -0.024 -0.043 0.082 0.037 0.037 0.055 -0.005 -0.026 -0.018 + 0.047 -0.066 -0.061 -0.039 0.045 -0.068 -0.064 -0.086 0.031 -0.051 + 0.019 -0.001 -0.094 -0.015 -0.044 0.013 -0.083 -0.050 -0.053 -0.029 + 0.107 0.017 0.013 0.065 -0.029 0.073 0.015 -0.023 0.042 -0.072 + 0.013 0.050 -0.072 -0.080 -0.011 0.128 0.035 -0.034 -0.001 0.024 + 0.056 -0.037 -0.155 -0.042 0.025 -0.015 -0.098 0.068 0.041 -0.075 + -0.195 -0.065 0.075 -0.072 -0.157 -0.028 0.064 0.041 -0.019 0.023 + 0.151 -0.043 -0.048 -0.071 -0.034 -0.090 -0.099 -0.013 -0.007 0.012 + 0.030 0.040 -0.053 0.103 -0.033 -0.067 0.036 0.041 0.053 0.050 + -0.072 -0.032 0.026 0.046 -0.075 0.073 -0.040 0.028 -0.101 -0.022 + 0.058 0.097 0.059 -0.069 0.153 -0.113 0.089 -0.076 -0.028 0.087 + 0.041 0.046 0.045 0.179 -0.015 -0.001 -0.031 -0.027 0.043 -0.069 + -0.012 0.043 0.130 0.054 -0.096 0.034 0.045 0.039 0.035 -0.096 + 0.089 -0.070 0.054 -0.084 -0.030 0.002 -0.115 -0.054 0.143 0.078 + 0.357 0.324 -2.078 0.463 1.442 1.508 -1.203 -0.241 0.378 0.191 + -0.924 -0.390 0.464 -0.695 -0.238 -0.136 -0.014 0.825 -1.365 1.688 + 0.342 0.653 -1.720 0.403 0.360 0.258 0.320 2.611 0.620 -0.965 + -2.412 -0.549 0.178 0.101 -0.400 1.057 -0.042 0.218 -0.036 -0.695 + 0.968 0.354 0.428 -0.191 -1.253 1.269 -0.685 0.350 -0.348 -0.022 + 0.102 -0.759 2.916 -0.436 -0.105 -0.312 0.065 0.491 -2.296 0.062 + -1.130 -0.069 0.752 2.345 -0.451 -1.766 -1.330 0.268 1.032 0.084 + 0.939 0.850 -0.233 -0.884 -0.925 -3.655 -1.568 0.391 3.583 1.816 + -0.450 -1.254 -1.552 -0.565 0.056 0.982 1.091 -0.390 -0.160 -0.245 + -1.322 0.974 1.613 1.606 -1.798 -2.438 -0.736 0.790 1.473 -0.064 + -0.177 -0.423 2.608 0.941 -0.550 -0.505 0.371 0.157 0.240 -0.176 + 0.059 -0.598 -0.186 -0.370 0.909 0.062 0.189 -0.776 0.336 0.550 + 0.104 0.127 -0.114 0.860 0.819 -0.471 -0.884 -0.394 0.570 0.241 + -0.315 -0.179 -0.054 0.025 0.355 0.050 0.428 -0.302 0.097 -0.039 + 0.015 -1.319 -1.619 -2.611 1.060 1.207 2.227 0.984 -0.279 0.005 + -0.130 0.010 0.024 -0.262 -0.070 0.016 -0.206 -0.259 0.012 0.481 + 0.261 -1.066 -0.321 -0.370 0.444 -0.930 1.155 0.077 0.171 -0.644 + -0.473 0.981 -0.409 0.414 -0.566 -1.078 -0.191 -0.672 1.326 -0.132 + 0.881 -0.009 0.354 0.451 -0.814 0.287 -0.074 0.245 -0.024 -0.258 + -0.786 -0.002 -0.511 0.589 -0.513 0.070 -0.736 0.050 0.877 -0.283 + 0.649 -0.677 0.912 -0.365 0.306 -1.720 0.347 0.667 0.355 0.213 + -0.547 2.072 -0.270 0.016 -1.037 -0.032 -0.268 0.711 -0.401 0.325 + 0.149 1.206 -0.598 0.171 -0.571 -2.044 0.260 -0.902 1.819 -0.332 + 0.681 0.037 -0.822 0.247 0.845 0.307 0.169 -1.731 0.284 -0.931 + 0.337 -0.260 -0.013 1.011 0.254 0.813 2.672 -1.843 -0.153 -2.344 + 1.948 -0.203 -0.190 -0.066 -0.105 0.398 -0.668 0.993 -0.111 -0.021 + -0.192 -0.507 0.319 -0.673 -0.506 0.699 0.109 0.246 0.072 0.062 + 2.467 -1.065 0.712 -2.486 0.332 -0.976 1.169 0.989 -0.140 -1.274 + -0.760 -0.192 -1.575 0.341 -0.708 0.779 0.242 0.312 0.348 -0.263 + 0.124 0.417 -0.398 0.951 -0.354 -0.098 -0.062 -1.802 -0.923 -0.681 + 0.069 0.178 0.022 1.977 1.222 0.237 1.157 -0.684 -0.303 -0.592 + 0.305 0.161 0.527 -0.283 0.289 -0.801 0.532 -0.261 0.711 -0.517 + 0.893 0.386 -0.007 -0.024 -0.421 0.519 -0.223 -1.353 0.698 -1.263 + 0.548 -0.326 0.475 1.423 -1.205 2.126 -1.399 0.270 -1.490 0.153 + 0.541 -1.251 0.298 -0.279 0.750 0.668 0.815 -0.274 0.614 -0.128 + 0.626 -1.026 -1.365 -0.201 -1.938 0.636 -1.524 0.354 0.149 -0.120 + 0.972 -0.441 1.415 -0.041 0.520 -0.736 -0.163 -0.721 1.337 0.239 + 0.282 -0.136 0.810 0.857 0.748 0.080 -0.238 -0.334 -0.377 0.043 + -0.351 -0.703 -1.608 3.833 -0.792 0.510 -0.122 1.197 -1.051 -1.568 + 0.024 1.634 -2.335 -1.064 1.122 0.006 0.996 -0.520 0.416 -0.186 + -0.242 -0.413 0.420 -0.020 0.277 -0.545 -0.281 0.193 0.530 0.460 + -0.224 0.632 0.942 0.775 -0.245 0.134 -0.783 0.179 -1.243 -0.013 + -1.098 0.181 -0.605 -0.964 0.293 -0.079 1.098 -0.417 0.343 0.276 + 0.438 -0.849 -0.126 -0.410 0.688 0.267 -0.098 0.025 0.629 -0.343 + 0.962 -0.072 0.215 -0.773 -2.451 0.280 0.343 1.609 0.024 -0.753 + 1.012 -0.300 0.269 -0.374 0.076 -0.209 -1.008 -0.690 1.425 0.188 + 0.955 -1.847 0.356 -0.438 0.934 -0.446 0.239 0.298 0.454 -0.290 + -0.164 1.700 -0.252 -1.279 -1.587 0.293 0.970 -0.895 -0.400 0.327 + 0.238 0.016 -0.004 1.039 -0.434 0.249 -0.563 0.198 -0.279 -0.682 + -0.780 0.408 0.018 -0.233 -0.049 0.025 0.374 0.177 0.187 0.496 + -0.334 0.273 1.100 -0.014 -0.214 -0.688 0.193 -0.021 0.690 -0.309 + -0.195 -0.054 0.265 0.849 -0.638 -0.904 -0.499 0.327 0.732 -0.639 + -0.463 -0.065 0.020 0.097 -0.142 0.633 -0.384 -3.477 1.045 0.095 + 1.355 -1.330 0.165 1.839 -0.203 1.002 1.552 0.181 -0.575 -1.485 + -0.028 0.090 0.162 -0.234 0.187 0.074 -0.028 0.130 -0.256 -0.249 + 1.116 0.565 -0.231 0.147 0.608 0.255 0.138 -0.697 0.007 -0.016 + 0.964 0.243 -1.349 -0.910 -0.274 1.049 0.104 0.100 -0.046 -0.699 + -0.091 1.194 0.460 0.071 -0.887 -0.251 0.259 -1.641 -0.227 -0.028 + 0.189 0.332 0.025 0.094 0.170 0.063 -0.266 -0.287 -0.036 -0.157 + -0.438 -1.013 0.594 1.983 0.551 -0.204 -1.439 -1.396 0.530 -2.021 + 0.097 0.218 1.363 1.390 -0.017 0.416 -1.035 -0.731 -1.090 0.899 + -0.362 1.028 0.481 0.257 0.137 1.492 1.500 -0.612 -0.260 -0.229 + 0.004 -1.029 -0.971 0.583 -0.803 -1.799 -0.035 0.486 1.096 -0.845 + 0.003 0.085 0.836 -1.023 2.723 2.134 -0.010 -0.179 -0.763 0.414 + -2.717 -0.441 1.094 0.632 -0.869 -0.088 0.186 -0.392 -0.174 -0.432 + -0.372 1.169 0.050 2.183 -0.471 -0.559 -1.309 -0.377 0.402 -0.280 + 0.733 0.711 -4.199 0.930 2.837 3.019 -2.493 -0.504 0.723 0.425 + -2.022 -0.773 0.974 -1.286 -0.536 -0.299 -0.038 1.620 -2.642 3.247 + 0.653 1.323 -3.359 0.702 0.630 0.514 0.619 5.217 1.241 -1.838 + -4.815 -1.122 0.321 0.124 -0.836 1.975 -0.043 0.421 -0.051 -1.366 + 1.977 0.785 0.858 -0.410 -2.499 2.503 -1.415 0.691 -0.741 -0.056 + 0.166 -1.455 5.832 -0.844 -0.246 -0.578 0.104 0.939 -4.590 0.108 + -2.158 -0.148 1.437 4.776 -0.853 -3.497 -2.674 0.528 2.066 0.043 + 1.911 1.873 -0.459 -1.764 -1.889 -7.034 -3.134 0.673 6.898 3.545 + -0.783 -2.532 -3.109 -1.155 0.232 1.914 2.081 -0.682 -0.293 -0.508 + -2.895 1.895 3.326 3.180 -3.552 -4.819 -1.315 1.493 2.799 -0.198 + -0.365 -0.843 5.018 1.890 -0.957 -1.011 0.631 0.196 0.548 -0.297 + 0.149 -1.158 -0.478 -0.648 1.759 0.200 0.361 -1.573 0.681 1.029 + 0.221 0.256 -0.258 1.677 1.663 -0.894 -1.777 -0.835 1.070 0.531 + -0.589 -0.288 -0.120 0.067 0.693 0.053 0.756 -0.570 0.115 -0.064 + 0.035 -2.570 -3.265 -5.250 2.162 2.365 4.472 1.935 -0.518 -0.055 + -0.352 0.057 0.024 -0.415 -0.298 0.082 -0.385 -0.442 -0.009 0.900 + 0.426 -2.116 -0.720 -0.629 0.840 -1.859 2.234 0.192 0.320 -1.229 + -0.999 2.002 -0.803 0.841 -0.993 -2.161 -0.278 -1.351 2.459 -0.322 + 1.788 -0.000 0.749 0.860 -1.449 0.522 -0.130 0.440 -0.055 -0.315 + -1.674 0.155 -1.144 1.312 -1.114 0.145 -1.498 0.090 1.929 -0.559 + 1.374 -1.348 1.816 -0.754 0.448 -3.267 0.619 1.279 0.651 0.415 + -0.967 4.146 -0.414 -0.001 -2.060 -0.074 -0.698 1.482 -0.936 0.731 + 0.354 2.371 -1.154 0.280 -1.064 -4.081 0.557 -1.757 3.631 -0.651 + 1.351 0.037 -1.477 0.566 1.720 0.535 0.276 -3.470 0.666 -1.778 + 0.627 -0.522 0.019 2.077 0.510 1.594 5.417 -3.667 -0.231 -4.589 + 3.913 -0.401 -0.398 -0.111 -0.251 0.353 -1.534 1.439 0.016 0.125 + -0.255 -0.755 0.614 -0.986 -1.130 1.395 0.160 0.387 0.051 0.076 + 4.920 -2.127 1.510 -4.859 0.669 -1.888 2.360 1.915 -0.343 -2.567 + -1.509 -0.366 -3.151 0.633 -1.459 1.569 0.589 0.628 0.743 -0.579 + 0.212 0.862 -0.756 1.947 -0.586 -0.158 -0.131 -3.692 -1.905 -1.408 + 0.206 0.313 0.100 3.808 2.305 0.447 2.303 -1.252 -0.580 -1.193 + 0.630 0.295 1.010 -0.645 0.608 -1.616 1.097 -0.438 1.405 -1.030 + 1.833 0.838 0.080 -0.124 -0.950 0.812 -0.528 -2.643 1.522 -2.508 + 1.029 -0.715 0.976 2.878 -2.241 4.272 -2.745 0.577 -2.976 0.387 + 1.189 -2.474 0.458 -0.534 1.424 1.367 1.710 -0.553 1.162 -0.324 + 1.204 -2.022 -2.716 -0.453 -3.920 1.446 -3.006 0.636 0.231 -0.276 + 1.986 -0.930 2.855 -0.003 1.095 -1.429 -0.400 -1.474 2.542 0.456 + 0.505 -0.265 1.593 1.825 1.564 0.099 -0.447 -0.744 -0.756 -0.003 + -0.641 -1.357 -3.169 7.542 -1.545 0.884 -0.212 2.301 -2.118 -3.106 + 0.085 3.222 -4.675 -2.041 2.222 0.075 1.989 -1.087 0.841 -0.376 + -0.623 -0.932 0.773 0.005 0.567 -1.057 -0.626 0.454 1.059 0.925 + -0.527 1.139 1.855 1.493 -0.477 0.271 -1.490 0.417 -2.421 -0.054 + -2.094 0.433 -1.090 -1.926 0.641 -0.332 2.200 -0.847 0.644 0.360 + 0.898 -1.550 -0.235 -0.826 1.439 0.823 -0.129 -0.088 0.982 -0.713 + 1.908 -0.065 0.447 -1.462 -4.850 0.558 0.731 3.211 0.037 -1.442 + 1.912 -0.537 0.444 -0.572 0.116 -0.280 -1.823 -1.375 2.793 0.376 + 1.926 -3.647 0.437 -0.856 1.721 -0.774 0.560 0.828 0.643 -0.450 + -0.368 3.222 -0.548 -2.656 -2.908 0.615 1.788 -1.644 -0.833 0.654 + 0.528 0.082 -0.044 2.082 -0.838 0.501 -1.069 0.357 -0.527 -1.350 + -1.521 0.733 0.009 -0.450 -0.135 0.094 0.669 0.301 0.398 0.991 + -0.644 0.573 2.161 -0.086 -0.402 -1.322 0.429 0.019 1.392 -0.416 + -0.343 -0.106 0.446 1.684 -1.352 -1.863 -0.974 0.611 1.477 -1.307 + -0.988 -0.075 0.101 0.102 -0.359 1.220 -0.835 -6.975 2.142 0.202 + 2.697 -2.608 0.392 3.722 -0.455 2.091 3.133 0.444 -1.169 -2.831 + -0.071 0.168 0.370 -0.449 0.391 0.132 0.025 0.331 -0.467 -0.466 + 2.104 1.107 -0.479 0.233 1.268 0.434 0.283 -1.378 -0.050 0.096 + 1.888 0.450 -2.653 -1.745 -0.535 1.947 0.275 0.230 -0.076 -1.461 + -0.224 2.368 1.029 0.176 -1.764 -0.484 0.622 -3.355 -0.498 0.068 + 0.560 0.742 -0.033 0.258 0.485 0.136 -0.577 -0.552 -0.053 -0.353 + -1.073 -2.013 1.228 4.022 1.133 -0.311 -2.786 -2.833 1.093 -4.057 + 0.169 0.385 2.763 2.752 -0.014 0.929 -2.130 -1.516 -2.223 1.749 + -0.648 2.093 0.954 0.482 0.345 2.906 3.089 -1.265 -0.403 -0.445 + -0.051 -2.173 -2.023 1.242 -1.739 -3.506 -0.119 1.045 2.226 -1.781 + -0.037 0.116 1.592 -2.193 5.422 4.239 0.000 -0.327 -1.548 0.873 + -5.383 -0.913 2.051 1.214 -1.651 -0.197 0.324 -0.827 -0.385 -0.758 + -0.822 2.376 0.051 4.425 -0.903 -1.106 -2.487 -0.684 0.638 -0.636 + 1.216 0.998 -6.297 1.369 4.245 4.517 -3.836 -0.757 1.083 0.638 + -3.056 -1.178 1.473 -1.860 -0.831 -0.481 -0.063 2.405 -3.912 4.794 + 0.975 1.995 -4.993 1.002 0.913 0.783 0.940 7.782 1.851 -2.726 + -7.176 -1.686 0.459 0.162 -1.301 2.858 -0.054 0.642 -0.041 -2.059 + 3.020 1.269 1.314 -0.665 -3.794 3.736 -2.144 1.018 -1.136 -0.086 + 0.231 -2.157 8.726 -1.200 -0.369 -0.840 0.116 1.388 -6.863 0.152 + -3.193 -0.246 2.089 7.166 -1.251 -5.189 -3.990 0.793 3.082 0.005 + 2.850 2.851 -0.677 -2.605 -2.818 -10.434 -4.723 0.957 10.185 5.253 + -1.152 -3.789 -4.648 -1.717 0.414 2.862 3.078 -0.963 -0.421 -0.768 + -4.492 2.807 5.047 4.755 -5.312 -7.205 -1.904 2.172 4.100 -0.321 + -0.548 -1.262 7.457 2.878 -1.334 -1.575 0.902 0.240 0.898 -0.437 + 0.236 -1.648 -0.768 -0.941 2.568 0.350 0.538 -2.404 1.016 1.535 + 0.333 0.383 -0.406 2.484 2.537 -1.324 -2.662 -1.282 1.564 0.787 + -0.884 -0.393 -0.156 0.121 1.007 0.057 1.085 -0.826 0.134 -0.091 + 0.061 -3.791 -4.923 -7.871 3.241 3.528 6.701 2.935 -0.761 -0.120 + -0.598 0.100 0.021 -0.644 -0.497 0.143 -0.515 -0.625 -0.026 1.371 + 0.561 -3.178 -1.143 -0.895 1.237 -2.764 3.319 0.294 0.463 -1.813 + -1.515 3.013 -1.199 1.275 -1.432 -3.220 -0.362 -1.943 3.554 -0.467 + 2.637 0.015 1.115 1.217 -2.176 0.740 -0.163 0.733 -0.087 -0.338 + -2.563 0.337 -1.781 2.000 -1.724 0.214 -2.206 0.126 2.949 -0.840 + 2.099 -1.998 2.712 -1.136 0.616 -4.834 0.878 1.882 0.963 0.623 + -1.392 6.295 -0.536 -0.018 -3.142 -0.127 -1.150 2.236 -1.493 1.106 + 0.590 3.566 -1.708 0.384 -1.566 -6.065 0.845 -2.604 5.408 -0.978 + 1.996 0.042 -2.115 0.914 2.577 0.749 0.375 -5.217 1.073 -2.653 + 0.939 -0.803 0.048 3.139 0.765 2.375 8.149 -5.489 -0.294 -6.829 + 5.874 -0.594 -0.605 -0.150 -0.393 0.330 -2.373 1.881 0.119 0.252 + -0.326 -1.003 0.904 -1.293 -1.690 2.074 0.222 0.494 0.032 0.080 + 7.353 -3.205 2.303 -7.233 1.005 -2.804 3.544 2.863 -0.540 -3.857 + -2.259 -0.541 -4.687 0.924 -2.185 2.342 0.918 0.942 1.134 -0.882 + 0.294 1.264 -1.124 2.918 -0.797 -0.210 -0.194 -5.455 -2.845 -2.063 + 0.301 0.461 0.127 5.562 3.335 0.638 3.442 -1.813 -0.896 -1.786 + 0.950 0.435 1.487 -1.006 0.992 -2.420 1.655 -0.623 2.102 -1.522 + 2.729 1.278 0.163 -0.210 -1.479 1.096 -0.833 -3.934 2.360 -3.756 + 1.508 -1.103 1.478 4.308 -3.298 6.395 -4.057 0.881 -4.420 0.580 + 1.887 -3.675 0.610 -0.800 2.083 2.106 2.618 -0.847 1.710 -0.500 + 1.790 -3.039 -4.090 -0.719 -5.915 2.241 -4.539 0.897 0.296 -0.403 + 3.022 -1.423 4.313 0.090 1.671 -2.013 -0.625 -2.204 3.707 0.612 + 0.738 -0.439 2.384 2.768 2.346 0.121 -0.658 -1.147 -1.136 -0.042 + -0.928 -1.997 -4.694 11.210 -2.307 1.260 -0.306 3.400 -3.181 -4.627 + 0.145 4.776 -6.980 -2.989 3.252 0.135 2.971 -1.644 1.263 -0.540 + -0.969 -1.433 1.098 0.032 0.845 -1.505 -0.974 0.724 1.533 1.391 + -0.838 1.640 2.715 2.239 -0.703 0.410 -2.204 0.649 -3.553 -0.107 + -3.077 0.684 -1.590 -2.868 0.983 -0.578 3.297 -1.275 0.940 0.420 + 1.326 -2.176 -0.344 -1.207 2.117 1.391 -0.172 -0.176 1.318 -1.096 + 2.885 -0.048 0.697 -2.191 -7.310 0.839 1.141 4.861 0.043 -2.143 + 2.817 -0.779 0.628 -0.774 0.159 -0.354 -2.616 -2.033 4.100 0.564 + 2.868 -5.398 0.504 -1.261 2.490 -1.116 0.883 1.365 0.836 -0.610 + -0.574 4.814 -0.859 -4.081 -4.304 0.942 2.659 -2.412 -1.243 0.994 + 0.845 0.149 -0.093 3.154 -1.329 0.727 -1.601 0.597 -0.771 -2.044 + -2.297 1.019 0.009 -0.655 -0.211 0.182 0.971 0.458 0.601 1.490 + -0.950 0.878 3.255 -0.138 -0.597 -1.978 0.655 0.142 2.077 -0.612 + -0.539 -0.133 0.675 2.470 -2.079 -2.763 -1.442 0.893 2.216 -1.954 + -1.511 -0.123 0.178 0.098 -0.552 1.747 -1.245 -10.421 3.258 0.301 + 4.057 -3.842 0.584 5.532 -0.714 3.205 4.695 0.710 -1.786 -4.197 + -0.113 0.239 0.613 -0.670 0.616 0.199 0.077 0.528 -0.659 -0.689 + 3.135 1.634 -0.694 0.201 1.924 0.596 0.497 -2.080 -0.136 0.266 + 2.791 0.669 -3.961 -2.567 -0.778 2.814 0.440 0.356 -0.109 -2.211 + -0.367 3.552 1.634 0.288 -2.649 -0.728 0.990 -5.094 -0.774 0.170 + 0.933 1.168 -0.094 0.420 0.794 0.211 -0.894 -0.856 -0.077 -0.537 + -1.685 -3.031 1.826 6.120 1.741 -0.411 -4.183 -4.290 1.697 -6.175 + 0.221 0.548 4.192 4.159 -0.032 1.485 -3.291 -2.308 -3.338 2.626 + -0.939 3.171 1.451 0.713 0.541 4.366 4.745 -1.962 -0.538 -0.668 + -0.096 -3.369 -3.133 1.923 -2.703 -5.226 -0.223 1.611 3.368 -2.708 + -0.070 0.160 2.350 -3.375 8.076 6.381 0.009 -0.475 -2.340 1.330 + -8.047 -1.374 3.039 1.829 -2.467 -0.319 0.481 -1.251 -0.594 -1.078 + -1.269 3.578 0.033 6.633 -1.337 -1.604 -3.631 -0.976 0.833 -1.001 + 1.773 1.332 -8.402 1.789 5.640 5.999 -5.222 -1.013 1.444 0.858 + -4.103 -1.584 1.907 -2.466 -1.046 -0.668 -0.087 3.156 -5.136 6.383 + 1.269 2.670 -6.650 1.304 1.194 1.049 1.264 10.255 2.433 -3.597 + -9.449 -2.230 0.595 0.214 -1.770 3.704 -0.068 0.866 -0.028 -2.777 + 4.091 1.809 1.789 -0.939 -5.122 5.037 -2.879 1.327 -1.578 -0.104 + 0.326 -2.859 11.620 -1.586 -0.502 -1.109 0.137 1.830 -9.131 0.209 + -4.235 -0.374 2.704 9.590 -1.617 -6.863 -5.327 1.056 4.110 -0.014 + 3.759 3.798 -0.898 -3.420 -3.725 -13.862 -6.313 1.251 13.471 6.990 + -1.481 -5.056 -6.202 -2.289 0.610 3.799 4.030 -1.233 -0.546 -1.021 + -6.081 3.694 6.754 6.324 -7.057 -9.575 -2.506 2.871 5.419 -0.451 + -0.744 -1.688 9.919 3.869 -1.718 -2.150 1.171 0.285 1.239 -0.572 + 0.324 -2.045 -1.077 -1.235 3.305 0.513 0.715 -3.257 1.345 2.013 + 0.430 0.517 -0.542 3.340 3.425 -1.754 -3.583 -1.741 2.072 1.006 + -1.106 -0.562 -0.206 0.162 1.332 0.085 1.396 -1.021 0.180 -0.167 + 0.079 -4.995 -6.588 -10.489 4.299 4.700 8.929 3.987 -1.002 -0.183 + -0.869 0.142 0.018 -0.803 -0.689 0.206 -0.732 -0.809 -0.048 1.804 + 0.698 -4.245 -1.531 -1.168 1.639 -3.704 4.404 0.359 0.610 -2.384 + -2.005 4.050 -1.593 1.714 -1.889 -4.352 -0.443 -2.464 4.696 -0.588 + 3.447 0.025 1.467 1.578 -2.878 0.957 -0.200 1.011 -0.116 -0.383 + -3.440 0.506 -2.373 2.674 -2.308 0.281 -2.876 0.159 3.894 -1.168 + 2.777 -2.607 3.603 -1.491 0.770 -6.393 1.125 2.496 1.292 0.839 + -1.790 8.402 -0.631 -0.034 -4.163 -0.186 -1.619 2.965 -2.065 1.513 + 0.810 4.757 -2.269 0.490 -2.073 -8.123 1.158 -3.488 7.233 -1.314 + 2.682 0.039 -2.755 1.269 3.451 0.959 0.475 -6.886 1.473 -3.509 + 1.215 -1.071 0.075 4.172 1.004 3.137 10.877 -7.237 -0.341 -9.045 + 7.797 -0.787 -0.835 -0.215 -0.551 0.287 -3.234 2.317 0.242 0.395 + -0.389 -1.252 1.191 -1.598 -2.329 2.722 0.236 0.653 0.019 0.108 + 9.793 -4.225 3.127 -9.603 1.331 -3.727 4.728 3.784 -0.690 -5.139 + -3.009 -0.725 -6.173 1.176 -2.946 3.097 1.238 1.260 1.488 -1.128 + 0.376 1.679 -1.537 3.946 -1.005 -0.250 -0.271 -7.224 -3.740 -2.750 + 0.412 0.612 0.159 7.297 4.339 0.824 4.559 -2.354 -1.243 -2.369 + 1.263 0.581 1.972 -1.376 1.390 -3.233 2.218 -0.813 2.743 -2.026 + 3.645 1.757 0.255 -0.333 -2.000 1.384 -1.137 -5.201 3.148 -4.964 + 1.981 -1.487 1.977 5.702 -4.300 8.447 -5.348 1.174 -5.835 0.746 + 2.590 -4.822 0.771 -1.063 2.730 2.900 3.533 -1.150 2.248 -0.670 + 2.357 -4.067 -5.471 -0.976 -7.848 2.991 -6.025 1.138 0.362 -0.519 + 3.997 -1.891 5.701 0.162 2.216 -2.568 -0.838 -2.903 4.831 0.789 + 0.972 -0.595 3.212 3.738 3.129 0.140 -0.891 -1.527 -1.548 -0.074 + -1.236 -2.737 -6.195 14.852 -2.987 1.627 -0.386 4.504 -4.248 -6.147 + 0.216 6.323 -9.275 -3.949 4.264 0.169 3.963 -2.203 1.694 -0.651 + -1.289 -1.893 1.382 0.057 1.099 -1.987 -1.353 0.964 2.016 1.864 + -1.137 2.163 3.600 2.999 -0.930 0.547 -2.912 0.877 -4.691 -0.170 + -4.069 0.921 -2.089 -3.770 1.316 -0.847 4.389 -1.694 1.235 0.459 + 1.733 -2.750 -0.461 -1.566 2.756 1.948 -0.231 -0.214 1.645 -1.455 + 3.809 -0.027 0.937 -2.900 -9.755 1.096 1.596 6.519 0.054 -2.855 + 3.672 -0.994 0.761 -0.926 0.185 -0.409 -3.397 -2.705 5.450 0.748 + 3.812 -7.159 0.551 -1.636 3.219 -1.460 1.202 1.908 1.033 -0.767 + -0.783 6.451 -1.163 -5.550 -5.738 1.276 3.543 -3.099 -1.679 1.364 + 1.091 0.217 -0.130 4.222 -1.819 0.948 -2.129 0.830 -1.003 -2.759 + -3.102 1.292 0.006 -0.862 -0.287 0.277 1.291 0.628 0.812 2.007 + -1.261 1.177 4.337 -0.215 -0.787 -2.618 0.895 0.269 2.796 -0.828 + -0.735 -0.164 0.904 3.226 -2.819 -3.637 -1.895 1.170 2.943 -2.594 + -2.020 -0.158 0.266 0.087 -0.752 2.303 -1.628 -13.794 4.333 0.389 + 5.373 -5.064 0.759 7.312 -0.977 4.297 6.283 0.970 -2.361 -5.556 + -0.155 0.297 0.846 -0.876 0.835 0.224 0.123 0.717 -0.821 -0.919 + 4.215 2.161 -0.906 0.159 2.592 0.754 0.698 -2.780 -0.209 0.391 + 3.630 0.884 -5.230 -3.349 -1.024 3.709 0.592 0.480 -0.154 -2.942 + -0.513 4.743 2.224 0.405 -3.545 -0.959 1.355 -6.861 -1.057 0.262 + 1.315 1.607 -0.152 0.575 1.094 0.287 -1.213 -1.161 -0.090 -0.729 + -2.291 -4.040 2.436 8.152 2.334 -0.510 -5.530 -5.728 2.243 -8.229 + 0.282 0.727 5.582 5.536 -0.034 2.019 -4.440 -3.055 -4.509 3.535 + -1.237 4.270 1.903 0.914 0.761 5.875 6.436 -2.649 -0.697 -0.887 + -0.150 -4.589 -4.272 2.612 -3.600 -6.893 -0.373 2.121 4.450 -3.600 + -0.104 0.197 3.122 -4.558 10.721 8.503 0.020 -0.626 -3.157 1.782 + -10.680 -1.820 4.023 2.435 -3.261 -0.448 0.648 -1.668 -0.799 -1.408 + -1.721 4.749 -0.002 8.771 -1.752 -2.057 -4.704 -1.254 1.001 -1.367 + 2.318 1.713 -10.470 2.207 7.028 7.463 -6.606 -1.283 1.800 1.089 + -5.182 -1.989 2.349 -3.028 -1.238 -0.871 -0.131 3.866 -6.346 7.972 + 1.576 3.335 -8.295 1.602 1.479 1.314 1.589 12.640 2.993 -4.468 + -11.636 -2.754 0.725 0.279 -2.303 4.573 -0.082 1.097 -0.021 -3.502 + 5.235 2.295 2.262 -1.223 -6.423 6.371 -3.652 1.609 -2.044 -0.104 + 0.450 -3.581 14.468 -1.971 -0.632 -1.368 0.158 2.278 -11.369 0.272 + -5.256 -0.503 3.308 11.978 -1.980 -8.509 -6.649 1.316 5.123 -0.014 + 4.634 4.698 -1.110 -4.196 -4.599 -17.353 -7.934 1.551 16.782 8.749 + -1.818 -6.323 -7.766 -2.857 0.858 4.749 4.980 -1.551 -0.673 -1.261 + -7.643 4.505 8.359 7.833 -8.739 -11.842 -3.080 3.555 6.700 -0.580 + -0.919 -2.095 12.399 4.875 -2.085 -2.752 1.433 0.329 1.592 -0.705 + 0.413 -2.467 -1.382 -1.537 4.077 0.672 0.889 -4.110 1.662 2.528 + 0.530 0.644 -0.691 4.199 4.322 -2.202 -4.501 -2.206 2.586 1.233 + -1.349 -0.704 -0.245 0.208 1.644 0.103 1.711 -1.234 0.215 -0.233 + 0.101 -6.179 -8.225 -13.063 5.328 5.851 11.112 5.048 -1.231 -0.252 + -1.145 0.182 0.017 -1.005 -0.890 0.272 -0.915 -1.000 -0.067 2.276 + 0.878 -5.329 -1.953 -1.452 2.034 -4.649 5.451 0.444 0.756 -2.937 + -2.489 5.093 -1.977 2.152 -2.368 -5.491 -0.539 -2.946 5.823 -0.698 + 4.239 0.048 1.814 1.919 -3.556 1.162 -0.253 1.254 -0.150 -0.366 + -4.267 0.701 -2.985 3.399 -2.900 0.356 -3.610 0.202 4.868 -1.482 + 3.481 -3.243 4.496 -1.870 0.926 -7.956 1.367 3.099 1.608 1.056 + -2.178 10.403 -0.727 -0.057 -5.084 -0.248 -2.105 3.685 -2.640 1.942 + 1.024 5.968 -2.848 0.600 -2.594 -10.113 1.457 -4.322 8.987 -1.645 + 3.320 -0.023 -3.355 1.610 4.358 1.183 0.589 -8.455 1.780 -4.376 + 1.419 -1.262 0.110 5.179 1.242 3.885 13.597 -8.969 -0.381 -11.252 + 9.707 -0.976 -1.067 -0.279 -0.703 0.220 -4.119 2.760 0.392 0.555 + -0.452 -1.504 1.485 -1.915 -2.938 3.302 0.240 0.803 0.018 0.135 + 12.143 -5.222 3.918 -11.882 1.658 -4.614 5.880 4.655 -0.836 -6.374 + -3.725 -0.883 -7.645 1.421 -3.704 3.864 1.567 1.571 1.839 -1.366 + 0.462 2.083 -1.944 4.977 -1.212 -0.289 -0.353 -9.017 -4.561 -3.537 + 0.591 0.725 0.291 8.989 5.301 1.010 5.616 -2.874 -1.625 -2.924 + 1.564 0.730 2.397 -1.697 1.806 -3.966 2.728 -1.006 3.336 -2.505 + 4.500 2.224 0.346 -0.423 -2.494 1.631 -1.437 -6.421 3.985 -6.142 + 2.436 -1.876 2.458 7.090 -5.309 10.497 -6.640 1.454 -7.243 0.858 + 3.311 -5.985 0.966 -1.333 3.393 3.735 4.453 -1.428 2.790 -0.835 + 2.904 -5.118 -6.881 -1.236 -9.783 3.774 -7.485 1.376 0.421 -0.637 + 4.963 -2.357 7.073 0.267 2.718 -3.160 -1.062 -3.591 5.957 0.953 + 1.210 -0.741 4.042 4.741 3.914 0.161 -1.124 -1.882 -1.975 -0.112 + -1.556 -3.450 -7.761 18.471 -3.655 1.990 -0.465 5.568 -5.282 -7.604 + 0.292 7.891 -11.607 -4.839 5.286 0.254 4.918 -2.764 2.100 -0.746 + -1.653 -2.361 1.629 0.096 1.335 -2.514 -1.709 1.206 2.549 2.336 + -1.421 2.658 4.514 3.758 -1.150 0.682 -3.619 1.111 -5.860 -0.240 + -5.060 1.154 -2.599 -4.675 1.637 -1.099 5.487 -2.113 1.534 0.513 + 2.118 -3.286 -0.587 -1.899 3.346 2.498 -0.319 -0.185 1.972 -1.757 + 4.635 -0.006 1.138 -3.539 -12.237 1.341 2.064 8.213 0.066 -3.567 + 4.548 -1.209 0.905 -1.085 0.213 -0.476 -4.202 -3.369 6.762 0.939 + 4.744 -8.889 0.609 -1.983 3.905 -1.791 1.523 2.442 1.220 -0.919 + -0.986 8.133 -1.472 -7.050 -7.206 1.613 4.441 -3.849 -2.098 1.782 + 1.396 0.275 -0.181 5.289 -2.310 1.144 -2.658 1.059 -1.234 -3.477 + -3.955 1.605 -0.006 -1.059 -0.368 0.372 1.619 0.814 1.032 2.552 + -1.616 1.490 5.480 -0.233 -0.986 -3.314 1.081 0.408 3.501 -1.060 + -0.944 -0.191 1.151 3.957 -3.519 -4.519 -2.332 1.438 3.659 -3.182 + -2.572 -0.143 0.345 0.089 -0.954 2.823 -1.999 -17.172 5.418 0.464 + 6.710 -6.268 0.931 9.066 -1.244 5.411 7.860 1.228 -2.942 -6.913 + -0.197 0.355 1.096 -1.074 1.062 0.175 0.164 0.893 -0.940 -1.147 + 5.266 2.710 -1.134 0.191 3.255 0.920 0.842 -3.461 -0.285 0.569 + 4.456 1.104 -6.537 -4.135 -1.266 4.574 0.749 0.603 -0.180 -3.649 + -0.675 5.972 2.761 0.532 -4.477 -1.169 1.727 -8.627 -1.336 0.301 + 1.702 1.987 -0.204 0.741 1.427 0.371 -1.509 -1.414 -0.089 -0.951 + -2.949 -5.048 3.006 10.202 2.939 -0.615 -6.892 -7.195 2.836 -10.262 + 0.342 0.905 6.936 6.949 -0.051 2.579 -5.587 -3.849 -5.693 4.436 + -1.520 5.363 2.360 1.126 0.971 7.347 8.139 -3.330 -0.845 -1.109 + -0.187 -5.791 -5.404 3.294 -4.495 -8.610 -0.591 2.632 5.537 -4.493 + -0.129 0.259 3.968 -5.728 13.363 10.504 0.043 -0.770 -3.908 2.226 + -13.295 -2.238 4.983 3.026 -4.031 -0.622 0.882 -2.086 -0.998 -1.755 + -2.181 5.923 0.001 10.956 -2.166 -2.551 -5.823 -1.516 1.150 -1.722 + 2.858 2.136 -12.503 2.616 8.393 8.887 -7.974 -1.565 2.149 1.321 + -6.276 -2.390 2.791 -3.579 -1.427 -1.076 -0.174 4.581 -7.554 9.461 + 1.894 3.980 -9.862 1.872 1.781 1.603 1.931 14.915 3.525 -5.338 + -13.715 -3.254 0.856 0.352 -2.840 5.420 -0.099 1.329 -0.004 -4.277 + 6.431 2.883 2.783 -1.576 -7.818 7.685 -4.401 1.958 -2.480 -0.117 + 0.545 -4.276 17.287 -2.425 -0.792 -1.614 0.209 2.726 -13.568 0.344 + -6.251 -0.667 3.883 14.327 -2.341 -10.128 -7.952 1.581 6.131 0.008 + 5.548 5.630 -1.340 -5.002 -5.502 -20.824 -9.542 1.846 20.109 10.496 + -2.176 -7.590 -9.330 -3.418 1.099 5.685 5.924 -1.862 -0.784 -1.493 + -9.257 5.319 9.975 9.349 -10.417 -14.098 -3.583 4.220 7.941 -0.722 + -1.102 -2.511 14.821 5.902 -2.402 -3.373 1.687 0.360 1.952 -0.837 + 0.504 -2.856 -1.675 -1.830 4.818 0.824 1.060 -4.928 1.985 3.000 + 0.598 0.772 -0.804 5.068 5.210 -2.654 -5.421 -2.670 3.101 1.454 + -1.606 -0.813 -0.265 0.250 1.942 0.104 2.044 -1.473 0.249 -0.300 + 0.138 -7.323 -9.829 -15.575 6.317 6.978 13.237 6.113 -1.503 -0.321 + -1.437 0.233 0.012 -1.213 -1.029 0.339 -1.096 -1.185 -0.088 2.760 + 0.980 -6.374 -2.380 -1.723 2.421 -5.544 6.546 0.567 0.895 -3.513 + -3.015 6.105 -2.361 2.581 -2.846 -6.656 -0.638 -3.405 6.975 -0.788 + 5.017 0.064 2.149 2.252 -4.234 1.360 -0.305 1.494 -0.182 -0.321 + -5.085 0.904 -3.603 4.118 -3.489 0.433 -4.336 0.246 5.821 -1.784 + 4.172 -3.866 5.376 -2.244 1.105 -9.484 1.625 3.679 1.906 1.261 + -2.586 12.343 -0.842 -0.068 -5.971 -0.299 -2.598 4.404 -3.222 2.322 + 1.253 7.119 -3.398 0.704 -3.088 -12.054 1.757 -5.123 10.706 -1.980 + 3.939 -0.039 -3.951 1.994 5.211 1.390 0.675 -10.002 2.072 -5.245 + 1.604 -1.428 0.144 6.185 1.485 4.628 16.305 -10.605 -0.406 -13.402 + 11.556 -1.166 -1.341 -0.380 -0.878 0.134 -5.029 3.202 0.563 0.733 + -0.513 -1.755 1.782 -2.234 -3.530 3.881 0.250 0.945 0.022 0.159 + 14.441 -6.230 4.690 -14.132 1.991 -5.490 7.075 5.555 -0.983 -7.630 + -4.472 -1.043 -9.114 1.671 -4.427 4.632 1.909 1.887 2.194 -1.625 + 0.526 2.428 -2.350 5.963 -1.373 -0.317 -0.423 -10.766 -5.370 -4.276 + 0.773 0.846 0.413 10.636 6.232 1.174 6.627 -3.377 -1.961 -3.450 + 1.850 0.868 2.788 -1.982 2.179 -4.663 3.215 -1.199 3.870 -3.021 + 5.356 2.721 0.444 -0.524 -2.976 1.867 -1.726 -7.589 4.884 -7.304 + 2.876 -2.276 2.935 8.422 -6.374 12.506 -7.908 1.734 -8.621 0.990 + 4.093 -7.118 1.150 -1.595 4.037 4.552 5.339 -1.651 3.318 -0.978 + 3.404 -6.160 -8.276 -1.491 -11.651 4.548 -8.964 1.587 0.473 -0.719 + 5.906 -2.816 8.414 0.368 3.186 -3.687 -1.270 -4.260 7.058 1.098 + 1.460 -0.915 4.812 5.769 4.645 0.172 -1.364 -2.234 -2.324 -0.167 + -1.831 -4.234 -9.273 21.953 -4.260 2.348 -0.521 6.632 -6.304 -9.034 + 0.370 9.397 -13.852 -5.714 6.264 0.325 5.866 -3.325 2.505 -0.766 + -2.029 -2.787 1.817 0.148 1.545 -3.087 -2.046 1.428 3.120 2.809 + -1.702 3.155 5.329 4.529 -1.364 0.826 -4.319 1.335 -6.946 -0.321 + -6.048 1.394 -3.105 -5.524 1.938 -1.350 6.523 -2.514 1.830 0.611 + 2.467 -3.771 -0.748 -2.194 3.879 3.043 -0.411 -0.129 2.303 -2.066 + 5.477 0.020 1.339 -4.187 -14.677 1.597 2.479 9.854 0.083 -4.252 + 5.372 -1.415 1.041 -1.227 0.224 -0.510 -4.961 -3.988 8.000 1.119 + 5.633 -10.545 0.673 -2.334 4.563 -2.117 1.843 2.961 1.399 -1.074 + -1.175 9.694 -1.761 -8.466 -8.569 1.914 5.287 -4.524 -2.465 2.160 + 1.636 0.336 -0.224 6.312 -2.765 1.370 -3.160 1.227 -1.463 -4.178 + -4.790 1.939 -0.010 -1.257 -0.451 0.454 1.939 0.959 1.245 3.089 + -1.952 1.820 6.695 -0.254 -1.193 -4.063 1.244 0.568 4.141 -1.273 + -1.155 -0.204 1.391 4.596 -4.144 -5.319 -2.698 1.662 4.292 -3.760 + -3.153 -0.119 0.436 0.096 -1.158 3.352 -2.330 -20.488 6.485 0.534 + 8.023 -7.460 1.085 10.792 -1.512 6.547 9.373 1.484 -3.577 -8.203 + -0.236 0.430 1.328 -1.261 1.302 0.080 0.201 1.065 -1.048 -1.376 + 6.281 3.277 -1.365 0.248 3.941 1.090 0.965 -4.131 -0.356 0.710 + 5.214 1.318 -7.814 -4.891 -1.509 5.474 0.891 0.727 -0.216 -4.334 + -0.839 7.212 3.244 0.667 -5.440 -1.358 2.092 -10.359 -1.558 0.320 + 2.067 2.300 -0.254 0.924 1.792 0.499 -1.829 -1.686 -0.119 -1.145 + -3.576 -6.066 3.570 12.217 3.542 -0.718 -8.223 -8.695 3.464 -12.183 + 0.426 1.084 8.187 8.366 -0.065 3.140 -6.716 -4.639 -6.899 5.341 + -1.816 6.459 2.812 1.321 1.185 8.806 9.817 -3.986 -0.997 -1.332 + -0.232 -6.977 -6.522 3.967 -5.383 -10.265 -0.776 3.137 6.603 -5.377 + -0.146 0.298 4.778 -6.867 15.972 12.432 0.067 -0.899 -4.642 2.656 + -15.883 -2.648 5.911 3.598 -4.764 -0.788 1.105 -2.484 -1.198 -2.094 + -2.637 7.055 -0.038 13.032 -2.568 -2.958 -6.846 -1.754 1.253 -2.080 + 3.416 2.470 -14.543 3.036 9.778 10.336 -9.355 -1.848 2.494 1.541 + -7.311 -2.796 3.235 -4.103 -1.590 -1.290 -0.228 5.269 -8.741 10.969 + 2.197 4.618 -11.453 2.143 2.080 1.906 2.282 17.178 4.053 -6.217 + -15.790 -3.754 0.995 0.429 -3.394 6.242 -0.121 1.568 0.028 -5.006 + 7.561 3.404 3.267 -1.874 -9.138 8.949 -5.131 2.297 -2.896 -0.136 + 0.630 -4.909 20.027 -2.901 -0.977 -1.855 0.287 3.150 -15.703 0.421 + -7.254 -0.835 4.450 16.671 -2.682 -11.728 -9.242 1.839 7.126 -0.003 + 6.423 6.547 -1.551 -5.775 -6.382 -24.275 -11.126 2.146 23.443 12.226 + -2.552 -8.854 -10.891 -3.970 1.330 6.627 6.877 -2.163 -0.886 -1.724 + -10.829 6.090 11.530 10.833 -12.058 -16.300 -4.101 4.902 9.201 -0.870 + -1.310 -2.946 17.232 6.918 -2.720 -3.923 1.915 0.399 2.272 -0.959 + 0.589 -3.259 -1.932 -2.120 5.569 0.975 1.229 -5.826 2.265 3.530 + 0.734 0.903 -0.969 5.949 6.143 -3.108 -6.338 -3.150 3.609 1.664 + -1.928 -0.866 -0.257 0.301 2.215 0.081 2.406 -1.758 0.280 -0.362 + 0.185 -8.399 -11.323 -17.909 7.236 7.996 15.195 7.174 -1.759 -0.390 + -1.721 0.286 0.007 -1.434 -1.185 0.397 -1.272 -1.365 -0.107 3.270 + 1.101 -7.418 -2.828 -1.999 2.812 -6.417 7.624 0.695 1.042 -4.078 + -3.528 7.087 -2.742 2.997 -3.361 -7.836 -0.760 -3.781 8.148 -0.832 + 5.731 0.080 2.449 2.564 -4.932 1.545 -0.365 1.731 -0.216 -0.232 + -5.892 1.138 -4.233 4.904 -4.090 0.502 -5.124 0.290 6.732 -2.074 + 4.842 -4.456 6.248 -2.596 1.286 -10.986 1.864 4.258 2.207 1.471 + -3.033 14.144 -0.966 -0.069 -6.777 -0.346 -3.031 5.153 -3.771 2.669 + 1.491 8.247 -3.924 0.806 -3.566 -13.988 2.061 -5.915 12.425 -2.319 + 4.562 -0.077 -4.542 2.389 6.078 1.598 0.747 -11.489 2.343 -6.088 + 1.748 -1.561 0.180 7.172 1.721 5.350 18.940 -12.199 -0.431 -15.485 + 13.348 -1.363 -1.603 -0.474 -1.054 -0.018 -5.942 3.605 0.759 0.927 + -0.574 -1.972 2.062 -2.520 -4.089 4.452 0.264 1.070 0.030 0.180 + 16.586 -7.210 5.416 -16.242 2.303 -6.315 8.252 6.415 -1.147 -8.863 + -5.199 -1.197 -10.491 1.885 -5.158 5.353 2.205 2.189 2.511 -1.805 + 0.610 2.755 -2.759 6.945 -1.516 -0.336 -0.491 -12.452 -6.133 -5.000 + 0.968 0.964 0.545 12.208 7.119 1.317 7.580 -3.834 -2.291 -3.943 + 2.113 0.998 3.134 -2.245 2.573 -5.306 3.666 -1.407 4.415 -3.486 + 6.224 3.206 0.531 -0.629 -3.449 2.067 -2.017 -8.780 5.788 -8.502 + 3.333 -2.676 3.428 9.781 -7.450 14.558 -9.189 2.032 -10.021 1.087 + 4.824 -8.280 1.350 -1.845 4.694 5.377 6.146 -1.854 3.818 -1.104 + 3.857 -7.157 -9.609 -1.726 -13.492 5.319 -10.446 1.775 0.523 -0.788 + 6.833 -3.268 9.745 0.457 3.684 -4.185 -1.470 -4.937 8.152 1.250 + 1.702 -1.101 5.593 6.789 5.336 0.182 -1.614 -2.559 -2.669 -0.202 + -2.102 -4.989 -10.811 25.286 -4.835 2.695 -0.578 7.626 -7.259 -10.363 + 0.447 10.861 -16.051 -6.585 7.257 0.400 6.813 -3.889 2.912 -0.761 + -2.384 -3.187 1.959 0.208 1.732 -3.673 -2.408 1.646 3.730 3.276 + -1.988 3.687 6.122 5.311 -1.597 0.966 -5.017 1.547 -8.007 -0.407 + -7.048 1.638 -3.619 -6.348 2.240 -1.633 7.538 -2.912 2.142 0.709 + 2.807 -4.220 -0.915 -2.479 4.388 3.617 -0.520 -0.076 2.592 -2.375 + 6.366 0.053 1.550 -4.873 -17.041 1.843 2.875 11.437 0.101 -4.909 + 6.242 -1.640 1.200 -1.416 0.261 -0.574 -5.751 -4.585 9.209 1.302 + 6.506 -12.178 0.768 -2.687 5.225 -2.475 2.171 3.495 1.582 -1.232 + -1.364 11.177 -2.013 -9.871 -9.843 2.181 6.097 -5.226 -2.847 2.572 + 1.909 0.391 -0.284 7.320 -3.249 1.601 -3.652 1.417 -1.687 -4.858 + -5.520 2.297 0.015 -1.522 -0.548 0.507 2.247 1.076 1.447 3.605 + -2.273 2.162 7.962 -0.247 -1.406 -4.854 1.379 0.714 4.801 -1.490 + -1.376 -0.218 1.645 5.274 -4.820 -6.137 -3.080 1.906 4.934 -4.352 + -3.716 -0.088 0.533 0.107 -1.354 3.921 -2.599 -23.706 7.509 0.594 + 9.302 -8.646 1.210 12.470 -1.779 7.631 10.807 1.735 -4.168 -9.425 + -0.275 0.486 1.537 -1.446 1.495 -0.036 0.237 1.265 -1.164 -1.594 + 7.275 3.885 -1.618 0.340 4.542 1.269 1.070 -4.782 -0.413 0.829 + 6.073 1.530 -9.105 -5.675 -1.767 6.426 1.079 0.857 -0.256 -5.085 + -0.986 8.376 3.727 0.792 -6.351 -1.573 2.444 -12.045 -1.735 0.322 + 2.433 2.570 -0.303 1.109 2.172 0.658 -2.186 -1.988 -0.154 -1.310 + -4.147 -7.059 4.104 14.109 4.107 -0.806 -9.455 -10.171 4.130 -14.102 + 0.491 1.247 9.444 9.788 -0.077 3.705 -7.922 -5.436 -8.115 6.290 + -2.123 7.576 3.291 1.525 1.381 10.199 11.477 -4.642 -1.119 -1.557 + -0.253 -8.137 -7.628 4.626 -6.232 -11.898 -0.980 3.606 7.642 -6.232 + -0.155 0.339 5.583 -7.948 18.584 14.292 0.093 -1.028 -5.366 3.073 + -18.424 -3.049 6.789 4.130 -5.454 -0.977 1.339 -2.900 -1.393 -2.426 + -3.084 8.185 -0.100 15.092 -2.962 -3.343 -7.847 -1.985 1.346 -2.438 + 3.946 2.804 -16.517 3.443 11.130 11.748 -10.687 -2.137 2.830 1.751 + -8.314 -3.198 3.715 -4.608 -1.728 -1.519 -0.308 5.915 -9.911 12.491 + 2.554 5.245 -12.999 2.405 2.366 2.161 2.598 19.291 4.548 -7.103 + -17.723 -4.221 1.134 0.498 -3.925 7.050 -0.140 1.804 0.053 -5.726 + 8.663 3.924 3.739 -2.148 -10.436 10.267 -5.876 2.600 -3.347 -0.150 + 0.756 -5.644 22.688 -3.325 -1.077 -2.118 0.301 3.556 -17.765 0.499 + -8.204 -0.970 5.012 18.999 -3.011 -13.291 -10.506 2.088 8.092 -0.076 + 7.180 7.359 -1.726 -6.446 -7.164 -27.669 -12.675 2.460 26.739 13.930 + -2.954 -10.104 -12.438 -4.509 1.528 7.560 7.859 -2.428 -0.982 -1.972 + -12.327 6.765 12.949 12.253 -13.603 -18.382 -4.619 5.617 10.491 -1.023 + -1.536 -3.390 19.589 7.898 -3.056 -4.419 2.142 0.439 2.543 -1.079 + 0.671 -3.770 -2.134 -2.384 6.419 1.087 1.383 -6.687 2.529 4.000 + 0.844 1.028 -1.103 6.868 7.098 -3.569 -7.277 -3.645 4.136 1.829 + -2.280 -0.868 -0.213 0.362 2.458 0.053 2.776 -2.066 0.313 -0.420 + 0.231 -9.431 -12.780 -20.164 8.114 8.981 17.083 8.219 -1.973 -0.454 + -1.993 0.332 -0.000 -1.632 -1.382 0.457 -1.485 -1.524 -0.128 3.758 + 1.197 -8.447 -3.246 -2.262 3.201 -7.276 8.692 0.766 1.193 -4.626 + -4.005 8.055 -3.134 3.416 -3.909 -9.005 -0.887 -4.093 9.301 -0.840 + 6.401 0.105 2.724 2.855 -5.643 1.718 -0.413 1.993 -0.245 -0.154 + -6.700 1.362 -4.847 5.584 -4.667 0.569 -5.825 0.322 7.661 -2.348 + 5.521 -5.064 7.114 -2.959 1.480 -12.446 2.119 4.805 2.479 1.658 + -3.467 15.901 -1.083 -0.066 -7.544 -0.392 -3.451 5.894 -4.322 3.030 + 1.726 9.369 -4.450 0.906 -4.044 -15.945 2.382 -6.716 14.152 -2.667 + 5.191 -0.102 -5.126 2.827 6.927 1.796 0.801 -12.920 2.629 -6.910 + 1.891 -1.693 0.213 8.112 1.943 6.041 21.574 -13.775 -0.405 -17.554 + 15.128 -1.573 -1.880 -0.578 -1.253 -0.198 -6.877 3.992 0.986 1.141 + -0.620 -2.191 2.348 -2.809 -4.665 5.022 0.262 1.210 0.040 0.207 + 18.657 -8.187 6.115 -18.272 2.606 -7.112 9.316 7.182 -1.369 -10.014 + -5.834 -1.321 -11.824 2.101 -5.855 6.060 2.479 2.478 2.813 -1.951 + 0.692 3.047 -3.198 7.919 -1.637 -0.344 -0.552 -14.048 -6.838 -5.702 + 1.158 1.089 0.664 13.699 7.953 1.444 8.586 -4.310 -2.601 -4.461 + 2.390 1.127 3.400 -2.467 2.979 -5.882 4.073 -1.620 4.962 -4.023 + 7.125 3.710 0.637 -0.763 -3.940 2.313 -2.324 -9.982 6.714 -9.695 + 3.795 -3.080 3.924 11.092 -8.495 16.540 -10.412 2.305 -11.350 1.135 + 5.561 -9.455 1.575 -2.113 5.386 6.209 6.919 -2.082 4.327 -1.223 + 4.314 -8.137 -10.932 -1.962 -15.296 6.114 -11.919 1.941 0.570 -0.815 + 7.737 -3.702 11.034 0.543 4.138 -4.678 -1.670 -5.597 9.216 1.394 + 1.944 -1.271 6.356 7.806 6.028 0.195 -1.872 -2.886 -2.998 -0.236 + -2.370 -5.714 -12.343 28.527 -5.395 3.032 -0.628 8.584 -8.166 -11.628 + 0.515 12.298 -18.223 -7.426 8.231 0.470 7.736 -4.449 3.311 -0.839 + -2.713 -3.608 2.177 0.253 1.947 -4.292 -2.790 1.864 4.374 3.745 + -2.271 4.201 6.924 6.090 -1.812 1.100 -5.708 1.756 -9.060 -0.495 + -8.041 1.896 -4.166 -7.091 2.526 -1.935 8.503 -3.302 2.466 0.834 + 3.108 -4.605 -1.091 -2.743 4.865 4.088 -0.615 -0.006 2.954 -2.695 + 7.256 0.080 1.769 -5.582 -19.388 2.091 3.282 13.002 0.123 -5.576 + 7.094 -1.879 1.378 -1.614 0.305 -0.642 -6.504 -5.147 10.344 1.479 + 7.343 -13.745 0.846 -3.040 5.890 -2.846 2.532 4.011 1.765 -1.391 + -1.550 12.680 -2.300 -11.239 -11.119 2.459 6.881 -5.933 -3.219 3.004 + 2.178 0.441 -0.353 8.347 -3.760 1.816 -4.144 1.634 -1.915 -5.558 + -6.261 2.603 0.034 -1.766 -0.625 0.580 2.557 1.200 1.642 4.120 + -2.563 2.487 9.139 -0.266 -1.607 -5.573 1.542 0.880 5.479 -1.736 + -1.609 -0.234 1.909 5.926 -5.475 -6.917 -3.440 2.117 5.555 -4.953 + -4.282 -0.067 0.627 0.119 -1.534 4.521 -2.850 -26.803 8.478 0.654 + 10.510 -9.805 1.318 14.103 -2.042 8.712 12.222 1.962 -4.714 -10.561 + -0.295 0.511 1.662 -1.631 1.652 -0.093 0.273 1.491 -1.327 -1.790 + 8.213 4.471 -1.880 0.446 5.140 1.444 1.192 -5.425 -0.469 0.944 + 6.886 1.740 -10.364 -6.424 -2.017 7.324 1.280 0.982 -0.283 -5.826 + -1.121 9.501 4.201 0.906 -7.217 -1.792 2.785 -13.700 -1.895 0.369 + 2.772 2.814 -0.361 1.304 2.566 0.788 -2.521 -2.285 -0.192 -1.479 + -4.724 -8.056 4.638 15.933 4.666 -0.897 -10.632 -11.604 4.745 -15.946 + 0.556 1.411 10.650 11.175 -0.060 4.251 -9.087 -6.223 -9.267 7.204 + -2.408 8.655 3.757 1.718 1.574 11.561 13.063 -5.289 -1.249 -1.772 + -0.283 -9.248 -8.675 5.256 -7.056 -13.513 -1.268 4.053 8.656 -7.070 + -0.165 0.399 6.459 -8.993 21.069 16.107 0.114 -1.139 -6.056 3.469 + -20.863 -3.436 7.653 4.663 -6.145 -1.146 1.586 -3.271 -1.594 -2.771 + -3.552 9.279 -0.140 17.123 -3.350 -3.708 -8.827 -2.196 1.396 -2.801 + 4.555 3.181 -18.469 3.822 12.445 13.117 -12.069 -2.431 3.174 1.965 + -9.320 -3.594 4.208 -5.135 -1.840 -1.751 -0.376 6.550 -11.068 14.024 + 2.925 5.856 -14.537 2.659 2.639 2.405 2.892 21.371 5.032 -7.970 + -19.620 -4.679 1.267 0.544 -4.429 7.865 -0.148 2.024 0.062 -6.434 + 9.745 4.472 4.214 -2.417 -11.753 11.530 -6.618 2.877 -3.772 -0.165 + 0.867 -6.364 25.318 -3.693 -1.142 -2.378 0.295 3.944 -19.795 0.571 + -9.196 -1.104 5.575 21.256 -3.321 -14.787 -11.690 2.318 8.990 -0.210 + 7.884 8.152 -1.862 -7.069 -7.920 -31.060 -14.205 2.780 29.980 15.559 + -3.398 -11.299 -13.912 -4.995 1.757 8.509 8.848 -2.728 -1.093 -2.226 + -13.734 7.394 14.278 13.618 -15.102 -20.387 -5.220 6.280 11.760 -1.128 + -1.707 -3.799 21.978 8.859 -3.415 -4.974 2.351 0.482 2.857 -1.201 + 0.752 -4.129 -2.275 -2.627 7.173 1.191 1.531 -7.613 2.761 4.468 + 0.976 1.162 -1.260 7.745 8.014 -3.975 -8.165 -4.125 4.633 2.066 + -2.646 -0.866 -0.222 0.421 2.737 0.010 3.147 -2.403 0.344 -0.460 + 0.266 -10.424 -14.118 -22.284 8.941 9.864 18.832 9.276 -2.176 -0.523 + -2.263 0.373 -0.006 -1.761 -1.585 0.522 -1.767 -1.675 -0.154 4.285 + 1.266 -9.459 -3.700 -2.516 3.569 -8.166 9.727 0.863 1.358 -5.167 + -4.491 9.022 -3.515 3.821 -4.450 -10.157 -1.018 -4.359 10.485 -0.833 + 7.019 0.125 2.975 3.146 -6.415 1.899 -0.455 2.286 -0.275 -0.080 + -7.491 1.578 -5.439 6.215 -5.225 0.635 -6.487 0.351 8.501 -2.552 + 6.142 -5.615 7.953 -3.289 1.758 -13.910 2.430 5.290 2.721 1.809 + -3.917 17.615 -1.206 -0.046 -8.267 -0.433 -3.875 6.624 -4.872 3.390 + 1.976 10.498 -4.981 1.005 -4.526 -17.811 2.701 -7.467 15.801 -3.010 + 5.782 -0.149 -5.748 3.261 7.792 2.008 0.860 -14.332 2.931 -7.756 + 2.037 -1.818 0.251 9.029 2.154 6.736 24.173 -15.337 -0.397 -19.580 + 16.878 -1.770 -2.166 -0.675 -1.446 -0.362 -7.800 4.393 1.205 1.348 + -0.669 -2.419 2.633 -3.111 -5.216 5.607 0.266 1.333 0.049 0.229 + 20.622 -9.157 6.774 -20.203 2.901 -7.871 10.347 7.948 -1.594 -11.149 + -6.466 -1.440 -13.022 2.248 -6.538 6.720 2.718 2.749 3.057 -2.001 + 0.796 3.273 -3.650 8.874 -1.716 -0.336 -0.605 -15.640 -7.490 -6.450 + 1.384 1.198 0.829 15.156 8.756 1.566 9.599 -4.795 -2.934 -4.967 + 2.660 1.260 3.576 -2.618 3.385 -6.381 4.427 -1.819 5.508 -4.565 + 7.976 4.193 0.745 -0.864 -4.416 2.559 -2.622 -11.172 7.626 -10.864 + 4.247 -3.469 4.401 12.347 -9.565 18.477 -11.581 2.575 -12.627 1.201 + 6.344 -10.619 1.795 -2.388 6.075 7.051 7.672 -2.322 4.815 -1.339 + 4.753 -9.106 -12.235 -2.176 -17.037 6.878 -13.361 2.080 0.615 -0.802 + 8.604 -4.119 12.257 0.620 4.583 -5.156 -1.864 -6.233 10.254 1.546 + 2.183 -1.429 7.076 8.807 6.712 0.203 -2.124 -3.216 -3.293 -0.282 + -2.618 -6.365 -13.901 31.559 -5.931 3.355 -0.665 9.463 -8.982 -12.772 + 0.575 13.705 -20.324 -8.309 9.154 0.486 8.673 -5.004 3.722 -0.842 + -3.006 -3.967 2.330 0.316 2.134 -4.947 -3.174 2.097 5.059 4.193 + -2.554 4.796 7.666 6.834 -2.067 1.235 -6.403 1.949 -10.049 -0.581 + -9.048 2.128 -4.630 -7.920 2.868 -2.306 9.534 -3.719 2.806 0.998 + 3.409 -5.013 -1.261 -3.022 5.375 4.515 -0.722 0.085 3.327 -2.975 + 8.063 0.107 1.953 -6.217 -21.764 2.359 3.695 14.585 0.132 -6.247 + 7.904 -2.112 1.539 -1.771 0.337 -0.692 -7.230 -5.658 11.413 1.645 + 8.138 -15.252 0.921 -3.387 6.534 -3.191 2.877 4.516 1.939 -1.547 + -1.728 14.082 -2.538 -12.571 -12.317 2.705 7.633 -6.648 -3.602 3.433 + 2.478 0.492 -0.438 9.374 -4.316 2.037 -4.646 1.897 -2.143 -6.246 + -7.044 2.912 0.045 -1.968 -0.693 0.654 2.862 1.321 1.841 4.640 + -2.860 2.819 10.361 -0.244 -1.810 -6.334 1.659 1.034 6.162 -1.970 + -1.838 -0.247 2.165 6.587 -6.144 -7.707 -3.812 2.338 6.192 -5.582 + -4.847 -0.050 0.735 0.130 -1.726 5.098 -3.068 -29.850 9.458 0.709 + 11.719 -10.946 1.407 15.700 -2.296 9.761 13.647 2.180 -5.231 -11.728 + -0.314 0.537 1.805 -1.815 1.762 -0.110 0.308 1.759 -1.523 -1.980 + 9.144 5.072 -2.132 0.458 5.711 1.608 1.393 -6.092 -0.523 1.030 + 7.690 1.946 -11.576 -7.132 -2.254 8.198 1.462 1.099 -0.299 -6.546 + -1.242 10.566 4.698 1.008 -8.025 -2.036 3.115 -15.331 -2.060 0.428 + 3.107 3.062 -0.420 1.496 2.958 0.911 -2.826 -2.519 -0.222 -1.673 + -5.345 -9.031 5.181 17.657 5.203 -0.987 -11.742 -13.006 5.310 -17.734 + 0.622 1.580 11.819 12.524 -0.024 4.777 -10.219 -6.976 -10.322 8.069 + -2.691 9.686 4.229 1.909 1.764 12.908 14.620 -5.948 -1.433 -1.991 + -0.334 -10.292 -9.685 5.879 -7.834 -15.137 -1.650 4.465 9.625 -7.870 + -0.181 0.488 7.395 -9.959 23.422 17.770 0.141 -1.220 -6.641 3.819 + -23.162 -3.810 8.481 5.165 -6.798 -1.319 1.820 -3.626 -1.795 -3.107 + -4.025 10.420 -0.241 19.168 -3.745 -4.063 -9.815 -2.442 1.498 -3.169 + 5.242 3.616 -20.370 4.165 13.708 14.427 -13.489 -2.730 3.522 2.178 + -10.320 -3.991 4.669 -5.702 -1.951 -1.961 -0.418 7.200 -12.192 15.424 + 3.300 6.434 -15.965 2.885 2.925 2.665 3.198 23.256 5.472 -8.815 + -21.318 -5.091 1.381 0.564 -4.905 8.694 -0.145 2.227 0.050 -7.117 + 10.801 4.986 4.674 -2.667 -13.039 12.852 -7.344 3.138 -4.238 -0.171 + 0.996 -7.054 27.943 -4.073 -1.230 -2.635 0.309 4.331 -21.813 0.649 + -10.185 -1.244 6.129 23.502 -3.656 -16.298 -12.879 2.562 9.902 -0.327 + 8.573 8.934 -1.996 -7.690 -8.681 -34.421 -15.680 3.134 33.175 17.097 + -3.901 -12.449 -15.306 -5.432 1.940 9.474 9.879 -2.987 -1.200 -2.497 + -15.082 7.955 15.501 14.932 -16.544 -22.311 -5.783 6.990 13.056 -1.272 + -1.926 -4.230 24.322 9.792 -3.787 -5.569 2.530 0.510 3.183 -1.324 + 0.835 -4.455 -2.402 -2.860 7.900 1.296 1.675 -8.471 2.988 4.897 + 1.055 1.293 -1.368 8.620 8.929 -4.414 -9.040 -4.611 5.135 2.284 + -3.000 -0.882 -0.249 0.484 3.018 -0.030 3.515 -2.716 0.401 -0.517 + 0.296 -11.372 -15.379 -24.283 9.720 10.679 20.473 10.264 -2.373 -0.597 + -2.479 0.415 -0.011 -1.894 -1.802 0.584 -2.041 -1.813 -0.181 4.781 + 1.344 -10.444 -4.133 -2.774 3.939 -9.015 10.697 0.886 1.530 -5.657 + -4.900 9.960 -3.898 4.211 -5.017 -11.278 -1.154 -4.590 11.665 -0.804 + 7.600 0.148 3.205 3.448 -7.157 2.077 -0.503 2.534 -0.301 -0.040 + -8.243 1.771 -5.989 6.775 -5.760 0.686 -7.103 0.374 9.288 -2.756 + 6.734 -6.111 8.765 -3.588 2.008 -15.319 2.721 5.780 2.964 1.966 + -4.361 19.278 -1.312 -0.030 -8.984 -0.483 -4.258 7.353 -5.403 3.751 + 2.207 11.590 -5.501 1.104 -4.995 -19.609 3.015 -8.191 17.372 -3.348 + 6.326 -0.174 -6.339 3.755 8.607 2.206 0.900 -15.683 3.240 -8.572 + 2.177 -1.932 0.282 9.898 2.351 7.411 26.718 -16.907 -0.450 -21.592 + 18.611 -1.962 -2.412 -0.748 -1.606 -0.534 -8.703 4.794 1.420 1.550 + -0.722 -2.635 2.904 -3.398 -5.713 6.167 0.271 1.421 0.059 0.243 + 22.457 -10.099 7.390 -22.030 3.197 -8.583 11.417 8.678 -1.829 -12.289 + -7.098 -1.571 -14.146 2.342 -7.179 7.349 2.929 2.997 3.261 -1.978 + 0.926 3.446 -4.093 9.788 -1.767 -0.322 -0.648 -17.134 -8.112 -7.147 + 1.572 1.313 0.963 16.564 9.522 1.678 10.630 -5.274 -3.264 -5.494 + 2.936 1.393 3.698 -2.735 3.803 -6.839 4.752 -2.029 6.023 -5.208 + 8.868 4.715 0.874 -1.016 -4.905 2.857 -2.924 -12.329 8.574 -12.022 + 4.682 -3.859 4.865 13.503 -10.597 20.296 -12.637 2.803 -13.773 1.271 + 7.106 -11.721 1.988 -2.649 6.711 7.926 8.448 -2.530 5.284 -1.444 + 5.153 -10.089 -13.552 -2.388 -18.760 7.599 -14.834 2.212 0.661 -0.774 + 9.467 -4.528 13.477 0.682 5.058 -5.609 -2.057 -6.861 11.286 1.714 + 2.410 -1.584 7.745 9.798 7.331 0.210 -2.378 -3.534 -3.539 -0.327 + -2.825 -6.989 -15.490 34.380 -6.422 3.673 -0.680 10.274 -9.724 -13.798 + 0.634 15.071 -22.358 -9.214 10.041 0.488 9.629 -5.560 4.140 -0.783 + -3.251 -4.301 2.431 0.380 2.295 -5.605 -3.589 2.339 5.744 4.653 + -2.838 5.436 8.452 7.539 -2.366 1.370 -7.095 2.142 -11.078 -0.654 + -10.038 2.351 -5.048 -8.752 3.209 -2.707 10.564 -4.130 3.148 1.183 + 3.674 -5.345 -1.458 -3.255 5.801 4.942 -0.846 0.216 3.658 -3.243 + 8.865 0.148 2.135 -6.862 -24.002 2.612 4.089 16.075 0.142 -6.880 + 8.681 -2.333 1.687 -1.903 0.363 -0.744 -7.987 -6.141 12.446 1.823 + 8.904 -16.711 0.996 -3.726 7.149 -3.537 3.230 5.011 2.114 -1.706 + -1.903 15.474 -2.793 -13.864 -13.512 2.951 8.371 -7.374 -3.996 3.846 + 2.795 0.552 -0.526 10.359 -4.818 2.284 -5.131 2.111 -2.372 -6.888 + -7.782 3.207 0.051 -2.182 -0.770 0.715 3.168 1.416 2.028 5.128 + -3.111 3.150 11.528 -0.272 -2.009 -7.043 1.813 1.179 6.846 -2.185 + -2.058 -0.256 2.410 7.200 -6.792 -8.427 -4.135 2.536 6.762 -6.212 + -5.385 -0.069 0.842 0.134 -1.904 5.684 -3.308 -32.745 10.387 0.765 + 12.869 -12.049 1.476 17.220 -2.553 10.829 15.054 2.394 -5.722 -12.910 + -0.330 0.543 1.947 -2.003 1.900 -0.128 0.341 2.005 -1.680 -2.162 + 10.057 5.629 -2.375 0.400 6.323 1.765 1.650 -6.792 -0.576 1.119 + 8.468 2.146 -12.767 -7.817 -2.483 9.038 1.575 1.216 -0.320 -7.217 + -1.357 11.633 5.230 1.103 -8.816 -2.286 3.438 -16.942 -2.217 0.496 + 3.451 3.347 -0.483 1.683 3.328 1.072 -3.155 -2.753 -0.268 -1.856 + -5.965 -9.991 5.684 19.289 5.704 -1.056 -12.764 -14.366 5.871 -19.441 + 0.695 1.751 12.951 13.833 0.027 5.270 -11.284 -7.770 -11.350 8.857 + -2.950 10.665 4.709 2.113 1.954 14.205 16.122 -6.588 -1.611 -2.206 + -0.368 -11.289 -10.659 6.477 -8.561 -16.695 -2.048 4.847 10.544 -8.622 + -0.198 0.578 8.301 -10.877 25.706 19.382 0.167 -1.304 -7.225 4.146 + -25.347 -4.168 9.267 5.631 -7.415 -1.483 2.052 -3.986 -1.997 -3.433 + -4.488 11.559 -0.412 21.152 -4.123 -4.394 -10.759 -2.711 1.655 -3.530 + 5.892 4.115 -22.207 4.488 14.918 15.674 -14.859 -3.034 3.863 2.401 + -11.323 -4.387 5.095 -6.264 -2.068 -2.158 -0.452 7.856 -13.284 16.875 + 3.668 7.017 -17.394 3.123 3.188 2.880 3.473 24.968 5.871 -9.626 + -22.855 -5.466 1.485 0.614 -5.436 9.545 -0.152 2.448 0.051 -7.811 + 11.879 5.468 5.141 -2.923 -14.330 14.144 -8.072 3.434 -4.671 -0.176 + 1.107 -7.783 30.533 -4.438 -1.291 -2.894 0.297 4.720 -23.798 0.733 + -11.162 -1.377 6.689 25.691 -4.007 -17.800 -14.022 2.804 10.791 -0.440 + 9.253 9.705 -2.129 -8.288 -9.421 -37.753 -17.140 3.489 36.270 18.549 + -4.431 -13.533 -16.622 -5.825 2.192 10.449 10.886 -3.302 -1.323 -2.757 + -16.371 8.462 16.645 16.225 -17.931 -24.173 -6.425 7.701 14.381 -1.392 + -2.137 -4.659 26.680 10.709 -4.178 -6.179 2.721 0.530 3.507 -1.445 + 0.917 -4.745 -2.547 -3.080 8.598 1.407 1.816 -9.306 3.225 5.304 + 1.121 1.426 -1.462 9.417 9.833 -4.835 -9.844 -5.077 5.602 2.513 + -3.345 -0.843 -0.290 0.537 3.293 -0.087 3.893 -3.061 0.469 -0.589 + 0.321 -12.253 -16.519 -26.107 10.440 11.373 21.944 11.290 -2.607 -0.656 + -2.723 0.477 -0.024 -2.097 -1.978 0.632 -2.254 -1.972 -0.199 5.271 + 1.401 -11.448 -4.574 -3.033 4.313 -9.855 11.637 0.910 1.703 -6.152 + -5.313 10.903 -4.271 4.603 -5.608 -12.346 -1.302 -4.799 12.812 -0.766 + 8.178 0.181 3.435 3.755 -7.832 2.248 -0.551 2.732 -0.320 -0.033 + -8.974 1.940 -6.518 7.343 -6.279 0.724 -7.757 0.391 10.021 -2.896 + 7.288 -6.553 9.534 -3.850 2.280 -16.736 3.018 6.259 3.213 2.120 + -4.818 20.875 -1.421 -0.012 -9.641 -0.539 -4.621 8.064 -5.914 4.128 + 2.456 12.715 -6.020 1.200 -5.467 -21.343 3.310 -8.909 18.863 -3.677 + 6.837 -0.140 -6.881 4.275 9.367 2.395 0.910 -17.067 3.536 -9.326 + 2.347 -2.067 0.308 10.751 2.549 8.055 29.185 -18.452 -0.538 -23.571 + 20.310 -2.153 -2.616 -0.806 -1.739 -0.699 -9.573 5.162 1.632 1.741 + -0.766 -2.846 3.155 -3.666 -6.154 6.712 0.289 1.475 0.071 0.248 + 24.229 -11.020 7.983 -23.812 3.478 -9.282 12.461 9.368 -2.054 -13.395 + -7.693 -1.706 -15.286 2.345 -7.803 8.011 3.179 3.249 3.447 -1.917 + 1.059 3.579 -4.538 10.653 -1.797 -0.305 -0.675 -18.597 -8.684 -7.852 + 1.758 1.408 1.114 17.959 10.266 1.788 11.680 -5.752 -3.581 -6.036 + 3.216 1.522 3.841 -2.873 4.217 -7.316 5.087 -2.233 6.531 -5.824 + 9.724 5.217 0.998 -1.159 -5.386 3.148 -3.223 -13.434 9.523 -13.138 + 5.095 -4.243 5.306 14.642 -11.651 22.101 -13.689 3.044 -14.921 1.362 + 7.836 -12.779 2.158 -2.888 7.314 8.744 9.177 -2.757 5.765 -1.555 + 5.544 -11.032 -14.815 -2.579 -20.483 8.312 -16.228 2.370 0.722 -0.769 + 10.305 -4.927 14.645 0.735 5.452 -6.034 -2.231 -7.451 12.267 1.875 + 2.654 -1.728 8.378 10.785 7.917 0.221 -2.641 -3.824 -3.779 -0.376 + -3.033 -7.582 -17.000 37.074 -6.905 3.999 -0.697 11.059 -10.447 -14.772 + 0.705 16.361 -24.300 -10.132 10.938 0.486 10.602 -6.117 4.568 -0.736 + -3.528 -4.641 2.540 0.461 2.464 -6.200 -3.989 2.510 6.380 5.120 + -3.104 6.083 9.166 8.291 -2.669 1.504 -7.792 2.318 -12.032 -0.738 + -11.012 2.579 -5.479 -9.599 3.521 -3.048 11.588 -4.529 3.471 1.387 + 3.929 -5.668 -1.665 -3.466 6.187 5.383 -0.987 0.373 3.977 -3.490 + 9.639 0.176 2.300 -7.468 -26.176 2.870 4.436 17.519 0.148 -7.478 + 9.448 -2.553 1.851 -2.014 0.380 -0.797 -8.793 -6.588 13.428 2.013 + 9.636 -18.107 1.099 -4.045 7.704 -3.873 3.547 5.557 2.281 -1.860 + -2.083 16.791 -3.014 -15.142 -14.631 3.174 9.069 -8.086 -4.372 4.255 + 3.077 0.608 -0.596 11.333 -5.330 2.547 -5.618 2.333 -2.607 -7.526 + -8.552 3.457 0.044 -2.407 -0.836 0.797 3.493 1.554 2.213 5.644 + -3.370 3.485 12.750 -0.252 -2.208 -7.808 1.910 1.351 7.526 -2.421 + -2.283 -0.268 2.660 7.767 -7.443 -9.069 -4.408 2.702 7.267 -6.863 + -5.911 -0.134 0.946 0.157 -2.057 6.313 -3.538 -35.507 11.263 0.831 + 13.957 -13.135 1.530 18.694 -2.807 11.914 16.415 2.605 -6.235 -14.103 + -0.350 0.566 2.118 -2.186 2.109 -0.230 0.378 2.171 -1.763 -2.359 + 11.008 6.198 -2.611 0.359 6.891 1.921 1.878 -7.481 -0.615 1.160 + 9.241 2.335 -13.915 -8.470 -2.700 9.879 1.656 1.330 -0.340 -7.858 + -1.497 12.733 5.716 1.211 -9.627 -2.522 3.769 -18.593 -2.319 0.553 + 3.807 3.645 -0.540 1.860 3.682 1.272 -3.499 -2.986 -0.323 -2.027 + -6.566 -10.967 6.196 20.872 6.215 -1.136 -13.772 -15.687 6.419 -21.062 + 0.768 1.918 14.039 15.097 0.087 5.734 -12.240 -8.499 -12.393 9.601 + -3.198 11.619 5.126 2.249 2.166 15.434 17.583 -7.200 -1.783 -2.424 + -0.397 -12.241 -11.592 7.068 -9.224 -18.241 -2.565 5.187 11.431 -9.333 + -0.203 0.682 9.276 -11.845 27.874 20.896 0.221 -1.361 -7.718 4.449 + -27.471 -4.508 10.070 6.124 -8.046 -1.645 2.304 -4.296 -2.199 -3.775 + -4.969 12.654 -0.549 23.094 -4.492 -4.709 -11.677 -2.954 1.764 -3.891 + 6.521 4.569 -24.039 4.806 16.121 16.913 -16.176 -3.337 4.200 2.612 + -12.289 -4.774 5.466 -6.814 -2.200 -2.340 -0.466 8.529 -14.319 18.250 + 4.033 7.572 -18.749 3.356 3.454 3.093 3.752 26.630 6.266 -10.438 + -24.357 -5.832 1.595 0.683 -5.981 10.365 -0.162 2.669 0.050 -8.504 + 12.926 5.964 5.606 -3.177 -15.607 15.392 -8.764 3.723 -5.084 -0.188 + 1.210 -8.504 33.074 -4.780 -1.328 -3.160 0.270 5.092 -25.744 0.822 + -12.141 -1.525 7.219 27.820 -4.298 -19.196 -15.101 3.026 11.616 -0.588 + 9.867 10.438 -2.252 -8.824 -10.102 -41.029 -18.602 3.801 39.325 19.950 + -5.002 -14.592 -17.896 -6.182 2.451 11.426 11.906 -3.649 -1.448 -3.012 + -17.584 8.910 17.704 17.455 -19.257 -25.947 -7.052 8.439 15.706 -1.524 + -2.351 -5.077 29.020 11.595 -4.587 -6.759 2.949 0.554 3.812 -1.562 + 1.001 -5.019 -2.729 -3.307 9.280 1.528 1.960 -10.151 3.392 5.752 + 1.225 1.572 -1.582 10.116 10.753 -5.240 -10.567 -5.529 6.035 2.753 + -3.733 -0.751 -0.318 0.599 3.555 -0.160 4.282 -3.441 0.527 -0.648 + 0.344 -13.069 -17.562 -27.774 11.103 11.962 23.264 12.281 -2.800 -0.729 + -2.937 0.538 -0.035 -2.360 -2.141 0.672 -2.413 -2.134 -0.211 5.751 + 1.432 -12.432 -5.016 -3.282 4.696 -10.592 12.561 0.928 1.869 -6.645 + -5.712 11.763 -4.631 4.976 -6.214 -13.419 -1.456 -4.969 13.982 -0.715 + 8.724 0.205 3.654 4.072 -8.447 2.426 -0.594 2.885 -0.333 -0.056 + -9.720 2.092 -7.005 7.896 -6.770 0.755 -8.374 0.401 10.635 -3.028 + 7.763 -6.916 10.254 -4.060 2.583 -18.140 3.341 6.740 3.473 2.273 + -5.319 22.447 -1.551 0.010 -10.284 -0.596 -4.946 8.775 -6.409 4.513 + 2.691 13.809 -6.547 1.297 -5.935 -23.072 3.631 -9.600 20.349 -4.015 + 7.348 -0.105 -7.398 4.796 10.115 2.580 0.902 -18.402 3.872 -10.041 + 2.540 -2.228 0.337 11.530 2.726 8.670 31.576 -19.919 -0.615 -25.464 + 21.945 -2.352 -2.847 -0.883 -1.883 -0.830 -10.445 5.550 1.831 1.933 + -0.821 -3.063 3.410 -3.940 -6.590 7.222 0.298 1.531 0.092 0.257 + 25.932 -11.921 8.548 -25.525 3.754 -9.954 13.427 9.950 -2.272 -14.422 + -8.208 -1.825 -16.410 2.399 -8.441 8.660 3.435 3.498 3.636 -1.902 + 1.200 3.701 -4.980 11.512 -1.825 -0.286 -0.700 -19.884 -9.204 -8.473 + 1.896 1.518 1.205 19.228 10.941 1.879 12.688 -6.202 -3.953 -6.539 + 3.476 1.659 3.961 -2.997 4.694 -7.758 5.399 -2.442 7.016 -6.426 + 10.570 5.735 1.119 -1.318 -5.869 3.434 -3.520 -14.554 10.475 -14.272 + 5.521 -4.633 5.766 15.726 -12.638 23.832 -14.683 3.248 -15.992 1.454 + 8.510 -13.776 2.308 -3.104 7.871 9.560 9.851 -3.019 6.228 -1.657 + 5.920 -11.933 -16.017 -2.743 -22.161 8.993 -17.550 2.523 0.785 -0.757 + 11.100 -5.308 15.744 0.806 5.841 -6.434 -2.402 -8.028 13.231 2.024 + 2.894 -1.876 9.036 11.775 8.519 0.236 -2.903 -4.127 -4.048 -0.419 + -3.247 -8.155 -18.462 39.544 -7.369 4.316 -0.697 11.809 -11.128 -15.676 + 0.767 17.560 -26.108 -11.103 11.827 0.453 11.613 -6.685 5.012 -0.642 + -3.772 -4.946 2.616 0.539 2.616 -6.804 -4.380 2.689 7.016 5.583 + -3.370 6.749 9.812 9.065 -2.978 1.643 -8.491 2.480 -12.950 -0.837 + -11.995 2.831 -5.940 -10.344 3.784 -3.357 12.550 -4.902 3.786 1.527 + 4.203 -6.001 -1.846 -3.687 6.582 5.839 -1.123 0.500 4.307 -3.692 + 10.314 0.185 2.425 -7.977 -28.248 3.121 4.748 18.862 0.157 -8.034 + 10.241 -2.767 1.985 -2.125 0.393 -0.832 -9.643 -7.014 14.395 2.205 + 10.345 -19.468 1.224 -4.367 8.281 -4.200 3.856 6.096 2.451 -2.012 + -2.262 18.011 -3.201 -16.390 -15.657 3.370 9.726 -8.780 -4.717 4.665 + 3.346 0.653 -0.654 12.328 -5.896 2.825 -6.122 2.610 -2.848 -8.166 + -9.310 3.656 0.050 -2.627 -0.896 0.884 3.824 1.698 2.371 6.130 + -3.582 3.821 13.924 -0.285 -2.404 -8.521 2.047 1.515 8.169 -2.655 + -2.513 -0.277 2.918 8.311 -8.052 -9.689 -4.650 2.845 7.739 -7.530 + -6.413 -0.187 1.052 0.165 -2.231 6.937 -3.746 -38.174 12.121 0.899 + 15.032 -14.188 1.558 20.083 -3.062 12.958 17.779 2.815 -6.740 -15.320 + -0.374 0.600 2.311 -2.370 2.292 -0.351 0.415 2.362 -1.852 -2.537 + 11.858 6.800 -2.866 0.419 7.401 2.089 2.037 -8.118 -0.653 1.161 + 9.973 2.516 -15.009 -9.082 -2.911 10.702 1.733 1.446 -0.368 -8.481 + -1.637 13.787 6.188 1.311 -10.394 -2.753 4.092 -20.141 -2.431 0.642 + 4.124 3.907 -0.604 2.062 4.078 1.450 -3.845 -3.246 -0.366 -2.188 + -7.124 -11.938 6.722 22.365 6.701 -1.209 -14.710 -17.010 6.942 -22.623 + 0.849 2.080 15.072 16.368 0.148 6.199 -13.111 -9.190 -13.399 10.271 + -3.431 12.536 5.534 2.368 2.384 16.547 18.970 -7.847 -1.902 -2.643 + -0.389 -13.150 -12.468 7.652 -9.836 -19.725 -3.108 5.497 12.287 -10.016 + -0.209 0.785 10.257 -12.732 29.980 22.405 0.249 -1.440 -8.254 4.744 + -29.481 -4.832 10.816 6.573 -8.648 -1.790 2.506 -4.637 -2.399 -4.092 + -5.422 13.758 -0.708 25.043 -4.862 -5.002 -12.583 -3.211 1.884 -4.271 + 7.250 5.053 -25.691 5.065 17.213 18.016 -17.495 -3.646 4.519 2.796 + -13.168 -5.173 5.797 -7.396 -2.344 -2.519 -0.471 9.192 -15.308 19.579 + 4.446 8.104 -20.042 3.571 3.715 3.293 4.006 28.068 6.613 -11.232 + -25.635 -6.145 1.688 0.773 -6.528 11.154 -0.187 2.905 0.074 -9.154 + 13.926 6.371 6.028 -3.378 -16.796 16.655 -9.488 3.984 -5.526 -0.183 + 1.338 -9.225 35.503 -5.115 -1.346 -3.424 0.237 5.445 -27.585 0.913 + -13.129 -1.680 7.759 29.960 -4.612 -20.616 -16.198 3.260 12.458 -0.777 + 10.434 11.136 -2.337 -9.303 -10.739 -44.265 -20.045 4.113 42.295 21.296 + -5.587 -15.613 -19.136 -6.518 2.708 12.400 12.926 -3.968 -1.564 -3.277 + -18.771 9.323 18.717 18.646 -20.537 -27.656 -7.671 9.177 17.027 -1.668 + -2.569 -5.491 31.382 12.482 -5.023 -7.326 3.188 0.579 4.102 -1.675 + 1.083 -5.302 -2.886 -3.515 9.994 1.631 2.092 -11.025 3.558 6.193 + 1.343 1.712 -1.698 10.785 11.672 -5.637 -11.253 -5.985 6.447 2.944 + -4.047 -0.693 -0.350 0.656 3.815 -0.223 4.655 -3.781 0.624 -0.758 + 0.361 -13.849 -18.529 -29.332 11.728 12.482 24.484 13.293 -2.993 -0.795 + -3.166 0.606 -0.050 -2.635 -2.322 0.711 -2.572 -2.287 -0.224 6.264 + 1.437 -13.404 -5.487 -3.529 5.060 -11.267 13.451 0.957 2.038 -7.112 + -6.087 12.547 -4.985 5.318 -6.768 -14.460 -1.585 -5.228 15.109 -0.716 + 9.318 0.238 3.898 4.394 -9.092 2.614 -0.645 3.051 -0.355 -0.055 + -10.451 2.259 -7.484 8.339 -7.263 0.775 -8.897 0.403 11.240 -3.151 + 8.253 -7.265 10.960 -4.273 2.858 -19.509 3.639 7.237 3.734 2.442 + -5.810 23.922 -1.676 0.034 -10.853 -0.652 -5.299 9.507 -6.925 4.875 + 2.964 14.928 -7.066 1.388 -6.402 -24.715 3.915 -10.305 21.775 -4.345 + 7.840 -0.051 -7.872 5.363 10.819 2.745 0.875 -19.592 4.114 -10.736 + 2.639 -2.291 0.359 12.275 2.896 9.273 33.923 -21.294 -0.673 -27.278 + 23.513 -2.550 -3.122 -0.987 -2.053 -0.928 -11.304 5.970 2.002 2.107 + -0.894 -3.283 3.672 -4.227 -7.002 7.687 0.293 1.574 0.118 0.265 + 27.553 -12.764 9.109 -27.168 4.014 -10.603 14.346 10.454 -2.531 -15.390 + -8.654 -1.924 -17.476 2.398 -9.127 9.288 3.671 3.746 3.786 -1.805 + 1.367 3.830 -5.434 12.411 -1.859 -0.270 -0.732 -21.076 -9.696 -9.049 + 2.012 1.648 1.257 20.428 11.578 1.951 13.662 -6.645 -4.262 -7.017 + 3.726 1.781 4.074 -3.105 5.150 -8.194 5.703 -2.660 7.536 -7.068 + 11.393 6.233 1.248 -1.454 -6.361 3.733 -3.825 -15.687 11.473 -15.415 + 5.957 -5.031 6.233 16.804 -13.633 25.541 -15.652 3.439 -17.028 1.534 + 9.181 -14.751 2.448 -3.318 8.405 10.321 10.454 -3.299 6.683 -1.747 + 6.286 -12.780 -17.151 -2.884 -23.778 9.654 -18.833 2.662 0.841 -0.724 + 11.870 -5.668 16.795 0.849 6.211 -6.824 -2.570 -8.576 14.160 2.193 + 3.114 -2.008 9.662 12.800 9.076 0.246 -3.184 -4.399 -4.274 -0.468 + -3.440 -8.649 -19.879 41.795 -7.864 4.618 -0.711 12.501 -11.751 -16.504 + 0.826 18.669 -27.766 -12.060 12.703 0.417 12.614 -7.254 5.450 -0.468 + -4.039 -5.210 2.615 0.636 2.734 -7.327 -4.748 2.906 7.566 6.035 + -3.641 7.382 10.433 9.840 -3.261 1.788 -9.201 2.646 -13.856 -0.925 + -12.953 3.082 -6.429 -11.044 4.031 -3.647 13.455 -5.258 4.090 1.669 + 4.473 -6.333 -2.034 -3.897 6.963 6.282 -1.266 0.648 4.638 -3.901 + 11.015 0.202 2.563 -8.524 -30.197 3.368 5.008 20.096 0.171 -8.549 + 11.028 -2.979 2.139 -2.254 0.408 -0.873 -10.491 -7.429 15.315 2.396 + 11.037 -20.784 1.352 -4.692 8.864 -4.508 4.162 6.614 2.606 -2.159 + -2.432 19.194 -3.357 -17.648 -16.639 3.542 10.371 -9.555 -5.044 5.100 + 3.681 0.690 -0.720 13.330 -6.475 3.120 -6.637 2.898 -3.084 -8.755 + -10.073 3.789 0.043 -2.784 -0.942 0.963 4.143 1.836 2.509 6.569 + -3.741 4.156 15.083 -0.341 -2.599 -9.213 2.194 1.674 8.799 -2.882 + -2.735 -0.294 3.169 8.812 -8.643 -10.257 -4.852 2.970 8.157 -8.231 + -6.890 -0.200 1.189 0.152 -2.449 7.569 -3.916 -40.741 12.947 0.962 + 16.066 -15.211 1.570 21.418 -3.321 14.004 19.115 3.004 -7.246 -16.441 + -0.380 0.619 2.473 -2.550 2.474 -0.538 0.448 2.554 -1.913 -2.706 + 12.690 7.423 -3.117 0.455 7.928 2.249 2.218 -8.768 -0.681 1.172 + 10.696 2.688 -16.084 -9.680 -3.120 11.511 1.776 1.564 -0.397 -9.068 + -1.788 14.860 6.645 1.419 -11.189 -2.957 4.422 -21.677 -2.588 0.743 + 4.430 4.163 -0.669 2.265 4.474 1.617 -4.177 -3.487 -0.405 -2.356 + -7.700 -12.879 7.230 23.755 7.156 -1.271 -15.546 -18.303 7.463 -24.137 + 0.926 2.245 16.078 17.615 0.218 6.655 -13.933 -9.943 -14.357 10.874 + -3.637 13.406 5.968 2.513 2.585 17.553 20.325 -8.502 -1.960 -2.876 + -0.348 -14.019 -13.312 8.218 -10.442 -21.211 -3.602 5.819 13.156 -10.703 + -0.214 0.884 11.207 -13.569 32.008 23.767 0.282 -1.503 -8.737 5.019 + -31.378 -5.142 11.507 6.970 -9.187 -1.951 2.740 -4.974 -2.595 -4.419 + -5.881 14.872 -0.966 26.927 -5.218 -5.245 -13.424 -3.480 2.038 -4.643 + 7.992 5.645 -27.283 5.273 18.225 19.025 -18.776 -3.955 4.844 2.990 + -14.081 -5.555 6.144 -7.923 -2.431 -2.726 -0.506 9.801 -16.258 20.854 + 4.917 8.613 -21.279 3.768 3.954 3.475 4.237 29.393 6.938 -12.028 + -26.796 -6.431 1.770 0.866 -7.108 11.950 -0.214 3.151 0.103 -9.783 + 14.891 6.725 6.431 -3.553 -17.942 17.896 -10.148 4.238 -5.957 -0.192 + 1.457 -9.907 37.833 -5.398 -1.353 -3.681 0.181 5.777 -29.352 0.994 + -14.133 -1.807 8.322 32.028 -4.917 -21.989 -17.210 3.469 13.227 -1.036 + 10.927 11.781 -2.377 -9.706 -11.309 -47.440 -21.483 4.406 45.166 22.609 + -6.162 -16.587 -20.326 -6.823 2.983 13.352 13.923 -4.292 -1.677 -3.541 + -19.860 9.637 19.600 19.754 -21.725 -29.240 -8.295 9.868 18.295 -1.785 + -2.750 -5.876 33.698 13.370 -5.440 -7.919 3.393 0.585 4.398 -1.779 + 1.171 -5.441 -3.061 -3.723 10.577 1.755 2.228 -11.904 3.757 6.621 + 1.463 1.835 -1.820 11.483 12.597 -6.019 -11.948 -6.448 6.862 3.081 + -4.363 -0.691 -0.370 0.718 4.066 -0.265 5.014 -4.070 0.731 -0.862 + 0.387 -14.605 -19.447 -30.822 12.327 12.955 25.636 14.274 -3.199 -0.852 + -3.377 0.669 -0.063 -2.854 -2.485 0.753 -2.769 -2.439 -0.240 6.775 + 1.445 -14.359 -5.950 -3.775 5.416 -11.951 14.338 0.976 2.220 -7.575 + -6.447 13.324 -5.353 5.654 -7.340 -15.474 -1.720 -5.450 16.243 -0.705 + 9.888 0.263 4.134 4.701 -9.687 2.789 -0.705 3.161 -0.376 -0.049 + -11.160 2.427 -7.936 8.786 -7.738 0.795 -9.428 0.407 11.759 -3.245 + 8.676 -7.547 11.609 -4.434 3.137 -20.844 3.940 7.720 3.994 2.603 + -6.315 25.337 -1.804 0.071 -11.370 -0.701 -5.627 10.213 -7.428 5.259 + 3.226 16.039 -7.599 1.480 -6.878 -26.258 4.189 -10.946 23.098 -4.663 + 8.276 0.038 -8.323 5.941 11.484 2.901 0.830 -20.790 4.389 -11.445 + 2.765 -2.383 0.378 13.009 3.062 9.879 36.075 -22.567 -0.732 -28.972 + 24.970 -2.759 -3.338 -1.073 -2.204 -1.054 -12.181 6.367 2.186 2.290 + -0.963 -3.485 3.928 -4.493 -7.405 8.155 0.303 1.611 0.150 0.274 + 29.063 -13.619 9.610 -28.714 4.280 -11.209 15.246 10.880 -2.808 -16.321 + -9.052 -2.008 -18.490 2.381 -9.812 9.887 3.881 3.985 3.910 -1.664 + 1.547 3.976 -5.865 13.296 -1.909 -0.263 -0.762 -22.139 -10.132 -9.581 + 2.129 1.777 1.303 21.497 12.152 1.998 14.649 -7.086 -4.560 -7.504 + 3.979 1.891 4.146 -3.194 5.629 -8.588 5.982 -2.874 8.061 -7.695 + 12.147 6.697 1.374 -1.553 -6.843 4.031 -4.123 -16.815 12.450 -16.546 + 6.390 -5.424 6.696 17.861 -14.588 27.201 -16.594 3.606 -18.025 1.640 + 9.853 -15.695 2.561 -3.522 8.897 11.061 11.014 -3.563 7.127 -1.837 + 6.642 -13.592 -18.263 -3.019 -25.338 10.327 -20.100 2.770 0.879 -0.657 + 12.606 -6.011 17.803 0.931 6.552 -7.202 -2.736 -9.106 15.079 2.333 + 3.345 -2.156 10.263 13.819 9.637 0.252 -3.459 -4.672 -4.483 -0.517 + -3.622 -9.088 -21.312 43.791 -8.334 4.918 -0.733 13.104 -12.276 -17.195 + 0.896 19.699 -29.304 -12.985 13.562 0.408 13.590 -7.813 5.872 -0.269 + -4.324 -5.469 2.585 0.734 2.840 -7.814 -5.062 3.105 8.074 6.469 + -3.901 8.089 10.986 10.625 -3.614 1.939 -9.909 2.796 -14.725 -1.017 + -13.861 3.349 -6.935 -11.670 4.254 -3.945 14.302 -5.593 4.388 1.788 + 4.748 -6.655 -2.208 -4.113 7.347 6.714 -1.406 0.783 4.961 -4.082 + 11.674 0.218 2.687 -9.047 -32.100 3.605 5.284 21.296 0.183 -9.055 + 11.777 -3.182 2.294 -2.374 0.419 -0.910 -11.284 -7.787 16.110 2.566 + 11.679 -22.001 1.441 -5.033 9.481 -4.794 4.455 7.115 2.748 -2.306 + -2.591 20.219 -3.505 -18.774 -17.472 3.688 10.921 -10.281 -5.303 5.500 + 3.984 0.715 -0.784 14.280 -7.043 3.412 -7.128 3.154 -3.316 -9.298 + -10.803 4.012 0.032 -2.937 -0.993 1.005 4.429 1.913 2.650 7.009 + -3.923 4.498 16.175 -0.454 -2.791 -9.831 2.391 1.818 9.377 -3.074 + -2.961 -0.299 3.420 9.332 -9.251 -10.828 -5.057 3.108 8.570 -8.932 + -7.356 -0.275 1.315 0.148 -2.626 8.194 -4.063 -43.119 13.728 1.028 + 17.046 -16.176 1.554 22.637 -3.593 15.091 20.421 3.194 -7.819 -17.485 + -0.382 0.647 2.585 -2.729 2.743 -0.715 0.478 2.693 -1.931 -2.886 + 13.532 7.959 -3.357 0.499 8.461 2.410 2.361 -9.389 -0.710 1.214 + 11.316 2.851 -17.126 -10.228 -3.328 12.303 1.804 1.684 -0.440 -9.599 + -1.924 15.852 7.126 1.513 -11.922 -3.190 4.759 -23.223 -2.735 0.852 + 4.723 4.399 -0.730 2.476 4.884 1.774 -4.503 -3.723 -0.438 -2.518 + -8.264 -13.800 7.707 25.042 7.570 -1.316 -16.292 -19.555 7.982 -25.548 + 1.016 2.397 16.994 18.811 0.302 7.092 -14.709 -10.638 -15.275 11.452 + -3.852 14.256 6.379 2.623 2.789 18.515 21.626 -9.180 -1.999 -3.112 + -0.291 -14.859 -14.117 8.774 -11.042 -22.633 -4.033 6.123 14.000 -11.374 + -0.229 0.969 12.085 -14.310 33.878 24.974 0.332 -1.558 -9.164 5.266 + -33.077 -5.423 12.128 7.306 -9.652 -2.077 2.971 -5.314 -2.794 -4.741 + -6.330 15.979 -1.295 28.753 -5.559 -5.465 -14.224 -3.772 2.246 -5.005 + 8.657 6.218 -28.801 5.443 19.198 19.967 -19.946 -4.249 5.170 3.183 + -14.958 -5.945 6.525 -8.459 -2.486 -2.943 -0.549 10.389 -17.183 22.080 + 5.379 9.100 -22.468 3.954 4.187 3.663 4.466 30.734 7.269 -12.811 + -27.979 -6.722 1.854 0.935 -7.651 12.723 -0.236 3.387 0.132 -10.385 + 15.849 7.057 6.816 -3.708 -19.060 19.145 -10.854 4.539 -6.377 -0.191 + 1.553 -10.584 40.032 -5.697 -1.357 -3.950 0.128 6.066 -30.969 1.068 + -15.067 -1.900 8.900 34.008 -5.228 -23.315 -18.162 3.664 13.948 -1.320 + 11.308 12.299 -2.386 -9.993 -11.752 -50.523 -22.890 4.678 47.919 23.857 + -6.737 -17.516 -21.462 -7.098 3.203 14.305 14.949 -4.555 -1.792 -3.840 + -20.886 9.885 20.396 20.818 -22.852 -30.746 -8.878 10.600 19.561 -1.929 + -2.954 -6.258 35.932 14.214 -5.860 -8.544 3.606 0.594 4.707 -1.891 + 1.252 -5.495 -3.247 -3.938 11.088 1.890 2.368 -12.834 3.988 7.058 + 1.617 1.947 -1.970 12.141 13.488 -6.326 -12.592 -6.902 7.232 3.202 + -4.661 -0.786 -0.407 0.784 4.335 -0.281 5.348 -4.293 0.843 -0.959 + 0.414 -15.326 -20.270 -32.192 12.886 13.347 26.673 15.249 -3.434 -0.913 + -3.592 0.732 -0.072 -3.023 -2.640 0.796 -3.004 -2.580 -0.259 7.259 + 1.457 -15.310 -6.395 -4.023 5.789 -12.596 15.196 0.943 2.403 -8.021 + -6.767 14.088 -5.725 5.987 -7.957 -16.430 -1.864 -5.636 17.335 -0.678 + 10.430 0.297 4.357 5.040 -10.202 2.961 -0.791 3.213 -0.397 -0.048 + -11.830 2.598 -8.379 9.291 -8.216 0.811 -10.004 0.416 12.314 -3.385 + 9.118 -7.857 12.277 -4.610 3.386 -22.125 4.218 8.201 4.234 2.766 + -6.784 26.703 -1.917 0.105 -11.838 -0.749 -5.950 10.832 -7.922 5.639 + 3.476 17.139 -8.133 1.571 -7.355 -27.691 4.463 -11.496 24.320 -4.976 + 8.643 0.080 -8.736 6.489 12.161 3.046 0.788 -21.930 4.683 -12.121 + 2.882 -2.476 0.395 13.699 3.205 10.471 38.152 -23.767 -0.820 -30.591 + 26.375 -2.973 -3.553 -1.156 -2.349 -1.153 -13.081 6.803 2.351 2.473 + -1.041 -3.693 4.191 -4.769 -7.758 8.596 0.336 1.625 0.182 0.272 + 30.511 -14.482 10.068 -30.201 4.553 -11.788 16.101 11.313 -3.062 -17.220 + -9.439 -2.091 -19.422 2.400 -10.491 10.428 4.033 4.211 4.023 -1.501 + 1.726 4.088 -6.341 14.213 -1.946 -0.242 -0.798 -22.988 -10.495 -10.033 + 2.186 1.928 1.271 22.427 12.657 2.021 15.649 -7.538 -4.873 -7.998 + 4.236 2.005 4.133 -3.239 6.102 -8.904 6.213 -3.081 8.518 -8.285 + 12.926 7.201 1.495 -1.695 -7.314 4.298 -4.416 -17.869 13.357 -17.598 + 6.784 -5.797 7.123 18.862 -15.490 28.780 -17.499 3.772 -18.983 1.773 + 10.507 -16.586 2.654 -3.706 9.329 11.692 11.489 -3.818 7.581 -1.929 + 7.001 -14.321 -19.280 -3.141 -26.841 11.000 -21.335 2.865 0.917 -0.593 + 13.304 -6.353 18.774 1.006 6.836 -7.529 -2.891 -9.591 15.953 2.485 + 3.575 -2.299 10.846 14.853 10.145 0.246 -3.759 -4.911 -4.681 -0.563 + -3.793 -9.517 -22.694 45.546 -8.731 5.204 -0.728 13.646 -12.736 -17.791 + 0.955 20.643 -30.721 -13.931 14.431 0.388 14.589 -8.382 6.305 -0.014 + -4.614 -5.706 2.511 0.831 2.927 -8.348 -5.407 3.280 8.597 6.910 + -4.154 8.775 11.602 11.423 -3.935 2.078 -10.611 2.943 -15.607 -1.116 + -14.747 3.581 -7.423 -12.328 4.514 -4.256 15.174 -5.948 4.689 1.907 + 4.980 -6.889 -2.391 -4.287 7.651 7.114 -1.547 0.925 5.340 -4.238 + 12.281 0.230 2.785 -9.531 -33.922 3.852 5.481 22.395 0.197 -9.501 + 12.547 -3.399 2.475 -2.516 0.434 -0.953 -12.074 -8.087 16.795 2.730 + 12.272 -23.121 1.534 -5.382 10.115 -5.059 4.763 7.591 2.877 -2.449 + -2.743 21.187 -3.650 -19.838 -18.245 3.819 11.433 -11.036 -5.566 5.883 + 4.323 0.735 -0.855 15.197 -7.591 3.726 -7.618 3.403 -3.558 -9.811 + -11.521 4.302 0.030 -3.115 -1.046 1.025 4.697 1.963 2.799 7.473 + -4.143 4.832 17.146 -0.653 -2.968 -10.340 2.662 1.910 9.983 -3.216 + -3.149 -0.322 3.632 9.839 -9.834 -11.406 -5.251 3.229 8.976 -9.605 + -7.831 -0.350 1.428 0.148 -2.787 8.867 -4.194 -45.347 14.434 1.103 + 17.932 -17.113 1.511 23.803 -3.865 16.168 21.710 3.359 -8.344 -18.427 + -0.365 0.646 2.620 -2.893 2.990 -0.955 0.504 2.829 -1.918 -3.065 + 14.347 8.517 -3.587 0.528 8.987 2.562 2.515 -10.005 -0.748 1.266 + 11.922 3.018 -18.160 -10.759 -3.528 13.102 1.800 1.799 -0.485 -10.094 + -2.057 16.816 7.610 1.607 -12.653 -3.406 5.089 -24.715 -2.913 0.980 + 4.975 4.596 -0.801 2.709 5.321 1.924 -4.826 -3.984 -0.471 -2.665 + -8.792 -14.721 8.138 26.266 7.972 -1.357 -16.985 -20.731 8.506 -26.866 + 1.110 2.556 17.871 19.933 0.392 7.485 -15.407 -11.299 -16.234 12.022 + -4.053 15.094 6.720 2.677 3.011 19.470 22.878 -9.817 -2.044 -3.340 + -0.241 -15.682 -14.885 9.317 -11.622 -23.950 -4.480 6.382 14.779 -11.991 + -0.238 1.042 12.924 -14.908 35.646 26.074 0.373 -1.600 -9.573 5.490 + -34.636 -5.697 12.651 7.569 -10.036 -2.217 3.269 -5.643 -2.989 -5.084 + -6.786 17.050 -1.653 30.508 -5.883 -5.634 -14.953 -4.038 2.413 -5.362 + 9.324 6.855 -30.221 5.568 20.079 20.799 -21.064 -4.548 5.498 3.369 + -15.811 -6.323 6.874 -8.954 -2.528 -3.154 -0.593 10.964 -18.086 23.225 + 5.827 9.574 -23.595 4.120 4.418 3.858 4.712 31.873 7.545 -13.548 + -28.949 -6.964 1.904 1.011 -8.209 13.475 -0.256 3.622 0.155 -10.965 + 16.780 7.361 7.178 -3.833 -20.128 20.398 -11.573 4.837 -6.798 -0.182 + 1.667 -11.222 42.117 -6.034 -1.382 -4.211 0.096 6.335 -32.482 1.142 + -15.982 -2.032 9.439 35.888 -5.472 -24.518 -19.021 3.830 14.583 -1.657 + 11.628 12.781 -2.363 -10.224 -12.150 -53.530 -24.279 4.931 50.521 24.991 + -7.354 -18.352 -22.495 -7.313 3.389 15.261 15.992 -4.771 -1.905 -4.162 + -21.830 10.040 21.072 21.810 -23.891 -32.133 -9.481 11.272 20.785 -2.042 + -3.098 -6.602 38.127 15.056 -6.274 -9.144 3.819 0.604 4.991 -2.002 + 1.330 -5.538 -3.458 -4.160 11.571 2.036 2.508 -13.802 4.258 7.556 + 1.825 2.051 -2.170 12.756 14.336 -6.667 -13.204 -7.344 7.598 3.312 + -4.955 -0.869 -0.429 0.849 4.584 -0.287 5.675 -4.495 0.944 -1.047 + 0.443 -15.999 -21.007 -33.438 13.400 13.675 27.606 16.188 -3.661 -0.975 + -3.777 0.787 -0.079 -3.245 -2.804 0.827 -3.172 -2.722 -0.270 7.759 + 1.481 -16.233 -6.846 -4.256 6.164 -13.231 15.968 0.882 2.591 -8.422 + -7.049 14.829 -6.088 6.314 -8.554 -17.341 -2.020 -5.754 18.406 -0.610 + 10.909 0.334 4.546 5.347 -10.748 3.117 -0.856 3.295 -0.412 -0.032 + -12.485 2.781 -8.802 9.747 -8.685 0.817 -10.540 0.421 12.799 -3.455 + 9.496 -8.118 12.905 -4.746 3.610 -23.441 4.481 8.706 4.501 2.949 + -7.242 28.000 -2.022 0.141 -12.259 -0.800 -6.293 11.440 -8.413 5.995 + 3.722 18.223 -8.661 1.662 -7.832 -29.022 4.719 -12.001 25.455 -5.275 + 8.965 0.158 -9.142 7.052 12.788 3.181 0.725 -22.999 4.993 -12.747 + 3.002 -2.565 0.413 14.323 3.330 11.024 40.109 -24.939 -0.962 -32.139 + 27.728 -3.173 -3.730 -1.213 -2.469 -1.225 -13.974 7.246 2.490 2.649 + -1.128 -3.896 4.451 -5.038 -8.136 9.017 0.362 1.657 0.219 0.275 + 31.859 -15.322 10.488 -31.580 4.814 -12.327 16.970 11.750 -3.293 -18.119 + -9.834 -2.181 -20.321 2.336 -11.186 10.982 4.205 4.446 4.101 -1.279 + 1.919 4.140 -6.826 15.098 -1.961 -0.219 -0.824 -23.682 -10.803 -10.434 + 2.227 2.081 1.220 23.242 13.112 2.018 16.590 -7.953 -5.169 -8.460 + 4.476 2.112 4.023 -3.231 6.562 -9.104 6.373 -3.289 8.979 -8.841 + 13.684 7.681 1.613 -1.814 -7.778 4.538 -4.717 -18.862 14.280 -18.615 + 7.145 -6.163 7.525 19.770 -16.419 30.292 -18.336 3.942 -19.879 1.969 + 11.132 -17.370 2.700 -3.869 9.670 12.297 11.884 -4.059 7.998 -2.004 + 7.305 -14.995 -20.227 -3.236 -28.272 11.628 -22.472 2.963 0.964 -0.537 + 13.944 -6.678 19.658 1.013 7.104 -7.739 -3.008 -10.013 16.728 2.652 + 3.781 -2.440 11.459 15.902 10.631 0.235 -4.057 -5.155 -4.866 -0.611 + -3.948 -10.016 -23.993 46.909 -9.014 5.464 -0.690 14.126 -13.118 -18.287 + 1.005 21.424 -31.886 -14.906 15.308 0.344 15.600 -8.955 6.746 0.251 + -4.890 -5.924 2.439 0.909 3.010 -8.846 -5.725 3.452 9.067 7.344 + -4.407 9.463 12.119 12.221 -4.244 2.222 -11.306 3.074 -16.410 -1.217 + -15.637 3.838 -7.929 -12.915 4.753 -4.557 15.998 -6.292 4.988 2.047 + 5.175 -7.058 -2.589 -4.430 7.895 7.489 -1.670 1.052 5.703 -4.343 + 12.772 0.232 2.845 -9.927 -35.628 4.057 5.719 23.413 0.217 -9.921 + 13.350 -3.619 2.617 -2.705 0.472 -1.004 -12.832 -8.366 17.450 2.884 + 12.843 -24.205 1.613 -5.746 10.760 -5.314 5.064 8.071 3.008 -2.596 + -2.898 22.016 -3.764 -20.827 -18.894 3.922 11.878 -11.807 -5.812 6.257 + 4.677 0.748 -0.936 16.099 -8.062 4.032 -8.088 3.588 -3.792 -10.304 + -12.163 4.660 0.040 -3.328 -1.112 1.023 4.943 1.955 2.950 7.922 + -4.360 5.155 18.122 -0.811 -3.138 -10.867 2.895 2.025 10.563 -3.377 + -3.360 -0.335 3.865 10.364 -10.436 -11.999 -5.463 3.369 9.396 -10.289 + -8.287 -0.376 1.566 0.140 -2.989 9.520 -4.270 -47.371 15.090 1.182 + 18.744 -17.978 1.416 24.855 -4.119 17.189 22.949 3.516 -8.851 -19.343 + -0.346 0.634 2.650 -3.060 3.255 -1.175 0.528 2.961 -1.903 -3.239 + 15.125 9.042 -3.823 0.640 9.443 2.724 2.588 -10.566 -0.783 1.264 + 12.505 3.179 -19.139 -11.253 -3.731 13.947 1.744 1.916 -0.557 -10.525 + -2.167 17.667 8.092 1.684 -13.307 -3.647 5.398 -26.130 -3.036 1.084 + 5.205 4.742 -0.866 2.948 5.773 2.102 -5.163 -4.260 -0.509 -2.788 + -9.263 -15.665 8.563 27.358 8.356 -1.383 -17.591 -21.852 9.037 -28.032 + 1.223 2.714 18.674 20.993 0.497 7.828 -16.063 -11.970 -17.176 12.570 + -4.240 15.904 7.042 2.715 3.230 20.312 24.067 -10.438 -2.036 -3.575 + -0.170 -16.447 -15.595 9.821 -12.175 -25.208 -4.912 6.606 15.512 -12.562 + -0.245 1.111 13.703 -15.374 37.254 27.025 0.423 -1.619 -9.918 5.663 + -35.999 -5.960 13.092 7.774 -10.346 -2.339 3.550 -5.963 -3.184 -5.414 + -7.233 18.117 -2.032 32.243 -6.206 -5.791 -15.675 -4.302 2.583 -5.714 + 9.976 7.461 -31.515 5.676 20.909 21.562 -22.106 -4.856 5.801 3.518 + -16.584 -6.709 7.221 -9.416 -2.558 -3.380 -0.651 11.499 -18.920 24.347 + 6.342 10.024 -24.672 4.259 4.616 4.025 4.911 32.844 7.779 -14.269 + -29.754 -7.166 1.944 1.093 -8.779 14.190 -0.286 3.874 0.204 -11.523 + 17.667 7.663 7.528 -3.941 -21.179 21.619 -12.279 5.089 -7.216 -0.166 + 1.790 -11.837 44.093 -6.299 -1.389 -4.481 0.041 6.574 -33.886 1.206 + -16.830 -2.157 9.936 37.633 -5.682 -25.609 -19.765 3.969 15.127 -1.970 + 11.953 13.270 -2.359 -10.470 -12.561 -56.464 -25.648 5.169 53.015 26.035 + -7.998 -19.118 -23.430 -7.475 3.556 16.211 17.027 -4.984 -2.027 -4.484 + -22.679 10.124 21.642 22.735 -24.860 -33.424 -10.063 11.973 22.011 -2.160 + -3.265 -6.955 40.209 15.879 -6.655 -9.712 4.029 0.623 5.250 -2.106 + 1.403 -5.558 -3.689 -4.381 12.028 2.195 2.650 -14.748 4.541 8.013 + 2.008 2.161 -2.347 13.341 15.165 -6.948 -13.775 -7.772 7.920 3.421 + -5.332 -0.886 -0.417 0.930 4.797 -0.313 6.022 -4.736 1.026 -1.092 + 0.485 -16.606 -21.580 -34.473 13.854 13.849 28.333 17.082 -3.906 -1.046 + -3.934 0.845 -0.083 -3.488 -2.986 0.863 -3.313 -2.846 -0.281 8.243 + 1.525 -17.183 -7.282 -4.502 6.545 -13.860 16.666 0.780 2.779 -8.790 + -7.286 15.571 -6.441 6.637 -9.142 -18.175 -2.161 -5.779 19.417 -0.499 + 11.298 0.378 4.689 5.625 -11.296 3.261 -0.923 3.375 -0.430 0.018 + -13.121 2.977 -9.227 10.215 -9.145 0.830 -11.067 0.427 13.224 -3.542 + 9.824 -8.326 13.490 -4.843 3.853 -24.677 4.753 9.179 4.740 3.118 + -7.708 29.255 -2.115 0.185 -12.645 -0.859 -6.640 12.028 -8.909 6.382 + 3.955 19.335 -9.200 1.755 -8.317 -30.249 4.984 -12.415 26.475 -5.565 + 9.210 0.264 -9.560 7.617 13.366 3.305 0.643 -23.975 5.331 -13.349 + 3.115 -2.646 0.429 14.876 3.426 11.539 41.991 -26.054 -1.107 -33.628 + 29.017 -3.373 -3.895 -1.273 -2.575 -1.309 -14.825 7.667 2.620 2.810 + -1.217 -4.079 4.697 -5.285 -8.467 9.433 0.414 1.667 0.262 0.269 + 32.983 -16.115 10.822 -32.776 5.058 -12.793 17.831 12.109 -3.553 -18.978 + -10.183 -2.253 -21.166 2.371 -11.833 11.470 4.310 4.659 4.187 -1.077 + 2.100 4.208 -7.311 15.973 -1.978 -0.190 -0.853 -24.248 -11.062 -10.793 + 2.254 2.242 1.146 23.928 13.501 2.000 17.507 -8.361 -5.430 -8.902 + 4.707 2.204 3.888 -3.209 7.018 -9.282 6.519 -3.501 9.436 -9.352 + 14.382 8.126 1.720 -1.898 -8.223 4.739 -5.017 -19.771 15.184 -19.536 + 7.461 -6.516 7.883 20.563 -17.336 31.689 -19.090 4.102 -20.690 2.177 + 11.821 -18.200 2.755 -4.044 10.034 12.830 12.137 -4.301 8.411 -2.061 + 7.610 -15.602 -21.083 -3.312 -29.597 12.299 -23.556 3.022 0.982 -0.433 + 14.518 -6.979 20.450 1.006 7.334 -7.873 -3.102 -10.401 17.431 2.827 + 3.967 -2.588 12.031 16.949 11.088 0.224 -4.371 -5.381 -5.040 -0.648 + -4.093 -10.542 -25.222 48.134 -9.260 5.729 -0.634 14.604 -13.498 -18.769 + 1.053 22.141 -32.947 -15.846 16.117 0.294 16.589 -9.508 7.183 0.484 + -5.153 -6.159 2.389 0.991 3.103 -9.312 -6.019 3.679 9.514 7.778 + -4.682 10.158 12.602 13.050 -4.550 2.357 -12.011 3.189 -17.188 -1.330 + -16.523 4.106 -8.451 -13.436 4.972 -4.862 16.755 -6.614 5.284 2.233 + 5.295 -7.093 -2.826 -4.508 8.013 7.841 -1.782 1.183 6.050 -4.446 + 13.257 0.248 2.901 -10.321 -37.258 4.263 5.928 24.362 0.233 -10.302 + 14.132 -3.844 2.767 -2.890 0.513 -1.059 -13.583 -8.553 17.942 3.033 + 13.340 -25.142 1.720 -6.129 11.413 -5.553 5.345 8.515 3.125 -2.734 + -3.041 22.719 -3.863 -21.724 -19.438 4.003 12.267 -12.476 -6.029 6.603 + 4.953 0.757 -1.015 16.990 -8.551 4.348 -8.556 3.789 -4.034 -10.767 + -12.779 5.048 0.042 -3.536 -1.179 1.011 5.172 1.903 3.089 8.360 + -4.561 5.483 19.123 -0.937 -3.310 -11.423 3.086 2.117 11.141 -3.505 + -3.551 -0.360 4.078 10.850 -10.961 -12.572 -5.640 3.464 9.782 -10.955 + -8.782 -0.402 1.700 0.145 -3.177 10.204 -4.343 -49.249 15.680 1.270 + 19.490 -18.807 1.307 25.828 -4.373 18.219 24.205 3.675 -9.388 -20.243 + -0.320 0.619 2.640 -3.241 3.590 -1.378 0.556 3.054 -1.857 -3.404 + 15.904 9.514 -4.065 0.798 9.860 2.889 2.618 -11.089 -0.817 1.251 + 13.060 3.337 -20.095 -11.725 -3.934 14.800 1.674 2.036 -0.641 -10.938 + -2.273 18.446 8.607 1.754 -13.906 -3.904 5.708 -27.538 -3.163 1.154 + 5.442 4.883 -0.927 3.185 6.218 2.344 -5.520 -4.554 -0.583 -2.886 + -9.696 -16.615 8.937 28.394 8.723 -1.400 -18.161 -22.939 9.544 -29.137 + 1.347 2.872 19.440 22.033 0.608 8.147 -16.616 -12.588 -18.052 13.039 + -4.403 16.668 7.324 2.712 3.454 21.023 25.185 -11.072 -1.977 -3.822 + -0.067 -17.135 -16.233 10.292 -12.716 -26.401 -5.388 6.778 16.202 -13.092 + -0.247 1.176 14.475 -15.755 38.788 27.905 0.476 -1.628 -10.221 5.817 + -37.303 -6.206 13.502 7.969 -10.636 -2.472 3.832 -6.306 -3.371 -5.718 + -7.650 19.126 -2.369 33.922 -6.510 -5.935 -16.358 -4.526 2.694 -6.049 + 10.577 8.039 -32.669 5.753 21.659 22.217 -23.047 -5.163 6.095 3.640 + -17.270 -7.092 7.609 -9.863 -2.607 -3.615 -0.708 12.014 -19.752 25.297 + 6.889 10.437 -25.619 4.355 4.836 4.229 5.134 33.584 7.961 -14.988 + -30.333 -7.316 1.975 1.161 -9.329 14.912 -0.314 4.120 0.249 -12.030 + 18.486 7.870 7.839 -4.003 -22.146 22.793 -12.963 5.388 -7.590 -0.160 + 1.874 -12.434 45.910 -6.525 -1.385 -4.753 -0.032 6.769 -35.135 1.244 + -17.633 -2.263 10.438 39.239 -5.838 -26.576 -20.369 4.068 15.556 -2.349 + 12.224 13.733 -2.332 -10.685 -12.944 -59.315 -26.964 5.410 55.391 26.953 + -8.680 -19.814 -24.260 -7.581 3.811 17.196 18.029 -5.260 -2.173 -4.789 + -23.426 10.120 22.083 23.581 -25.737 -34.585 -10.727 12.604 23.213 -2.231 + -3.372 -7.281 42.256 16.658 -7.053 -10.244 4.200 0.637 5.474 -2.197 + 1.472 -5.541 -3.910 -4.607 12.436 2.363 2.795 -15.622 4.819 8.458 + 2.142 2.269 -2.492 13.882 15.978 -7.248 -14.325 -8.192 8.237 3.558 + -5.690 -0.973 -0.419 0.996 5.027 -0.312 6.350 -4.927 1.074 -1.113 + 0.538 -17.171 -22.069 -35.388 14.274 13.940 28.946 17.980 -4.149 -1.119 + -4.102 0.906 -0.088 -3.780 -3.178 0.894 -3.404 -2.974 -0.287 8.768 + 1.598 -18.086 -7.757 -4.747 6.900 -14.470 17.350 0.666 2.963 -9.145 + -7.521 16.294 -6.787 6.962 -9.755 -19.020 -2.313 -5.689 20.415 -0.326 + 11.589 0.426 4.781 5.895 -11.827 3.400 -0.980 3.460 -0.444 0.053 + -13.750 3.173 -9.653 10.697 -9.608 0.842 -11.607 0.434 13.608 -3.593 + 10.111 -8.487 14.035 -4.904 4.090 -25.913 5.025 9.654 4.984 3.286 + -8.199 30.420 -2.212 0.235 -12.950 -0.918 -6.949 12.603 -9.393 6.749 + 4.177 20.400 -9.720 1.846 -8.784 -31.368 5.246 -12.727 27.385 -5.842 + 9.382 0.403 -9.970 8.151 13.906 3.429 0.572 -24.846 5.652 -13.915 + 3.212 -2.702 0.443 15.354 3.496 12.016 43.766 -27.083 -1.249 -35.036 + 30.231 -3.569 -4.046 -1.329 -2.679 -1.396 -15.681 8.092 2.741 2.971 + -1.315 -4.248 4.943 -5.523 -8.787 9.802 0.447 1.666 0.314 0.262 + 34.004 -16.865 11.131 -33.862 5.294 -13.214 18.625 12.405 -3.830 -19.771 + -10.470 -2.314 -21.979 2.438 -12.436 11.934 4.383 4.864 4.273 -0.872 + 2.263 4.245 -7.821 16.836 -1.996 -0.162 -0.878 -24.637 -11.217 -11.153 + 2.300 2.393 1.099 24.440 13.815 1.953 18.396 -8.751 -5.699 -9.313 + 4.921 2.297 3.762 -3.193 7.468 -9.467 6.669 -3.702 9.869 -9.783 + 15.036 8.541 1.829 -1.943 -8.629 4.867 -5.323 -20.655 15.996 -20.405 + 7.757 -6.844 8.220 21.272 -18.122 32.945 -19.747 4.214 -21.387 2.387 + 12.480 -18.988 2.791 -4.206 10.371 13.390 12.348 -4.508 8.795 -2.104 + 7.863 -16.190 -21.917 -3.385 -30.914 12.949 -24.561 3.096 1.003 -0.345 + 15.059 -7.261 21.185 0.968 7.562 -7.960 -3.181 -10.763 18.096 3.014 + 4.144 -2.736 12.626 17.996 11.521 0.201 -4.686 -5.607 -5.220 -0.690 + -4.224 -11.098 -26.403 49.145 -9.434 5.977 -0.556 15.046 -13.833 -19.199 + 1.094 22.781 -33.871 -16.793 16.912 0.243 17.594 -10.061 7.629 0.717 + -5.393 -6.402 2.329 1.068 3.194 -9.787 -6.326 3.900 9.961 8.211 + -4.948 10.851 13.067 13.857 -4.852 2.495 -12.706 3.303 -17.948 -1.449 + -17.406 4.374 -8.936 -13.889 5.170 -5.169 17.441 -6.915 5.580 2.473 + 5.353 -7.011 -3.082 -4.543 8.041 8.178 -1.881 1.274 6.366 -4.520 + 13.732 0.259 2.945 -10.702 -38.756 4.461 6.102 25.208 0.245 -10.639 + 14.899 -4.059 2.894 -3.060 0.544 -1.099 -14.309 -8.718 18.404 3.166 + 13.812 -26.035 1.809 -6.508 12.046 -5.778 5.629 8.952 3.253 -2.881 + -3.184 23.354 -3.949 -22.587 -19.944 4.071 12.641 -13.052 -6.239 6.936 + 5.165 0.766 -1.088 17.829 -9.057 4.664 -9.019 3.994 -4.269 -11.188 + -13.398 5.478 0.038 -3.742 -1.248 0.984 5.389 1.840 3.239 8.814 + -4.794 5.812 20.095 -1.096 -3.481 -11.944 3.299 2.236 11.710 -3.677 + -3.763 -0.374 4.314 11.294 -11.476 -13.095 -5.792 3.546 10.135 -11.589 + -9.262 -0.386 1.834 0.141 -3.397 10.860 -4.413 -51.038 16.261 1.355 + 20.223 -19.601 1.178 26.737 -4.641 19.306 25.422 3.848 -9.986 -21.149 + -0.304 0.632 2.654 -3.427 3.929 -1.573 0.586 3.144 -1.810 -3.555 + 16.680 9.967 -4.319 0.957 10.304 3.054 2.647 -11.603 -0.842 1.208 + 13.526 3.486 -20.974 -12.152 -4.130 15.586 1.549 2.154 -0.720 -11.288 + -2.359 19.174 9.129 1.804 -14.431 -4.197 6.013 -28.962 -3.244 1.194 + 5.667 4.990 -0.985 3.431 6.680 2.619 -5.919 -4.925 -0.671 -2.939 + -10.035 -17.555 9.317 29.367 9.058 -1.419 -18.672 -23.941 10.051 -30.140 + 1.483 3.031 20.147 22.984 0.731 8.415 -17.121 -13.198 -18.890 13.467 + -4.556 17.395 7.589 2.689 3.678 21.695 26.224 -11.667 -1.937 -4.056 + 0.028 -17.766 -16.835 10.725 -13.183 -27.485 -5.887 6.880 16.825 -13.562 + -0.262 1.233 15.207 -16.066 40.175 28.722 0.524 -1.633 -10.482 5.943 + -38.468 -6.432 13.891 8.159 -10.921 -2.570 4.092 -6.611 -3.556 -6.012 + -8.054 20.092 -2.713 35.516 -6.804 -6.055 -17.004 -4.739 2.791 -6.374 + 11.202 8.539 -33.762 5.804 22.372 22.822 -23.937 -5.474 6.384 3.716 + -17.844 -7.485 7.980 -10.287 -2.629 -3.854 -0.775 12.509 -20.504 26.093 + 7.421 10.794 -26.442 4.433 5.059 4.450 5.368 34.225 8.128 -15.684 + -30.821 -7.444 1.998 1.217 -9.873 15.608 -0.344 4.375 0.311 -12.477 + 19.215 8.003 8.104 -4.006 -23.028 23.945 -13.599 5.650 -7.957 -0.162 + 1.973 -12.999 47.623 -6.719 -1.388 -5.014 -0.108 6.954 -36.288 1.274 + -18.412 -2.389 10.913 40.760 -5.973 -27.461 -20.905 4.159 15.928 -2.733 + 12.437 14.143 -2.292 -10.860 -13.293 -62.097 -28.228 5.666 57.656 27.821 + -9.347 -20.461 -25.029 -7.663 4.052 18.128 19.003 -5.506 -2.308 -5.102 + -24.132 10.055 22.429 24.377 -26.543 -35.649 -11.363 13.253 24.430 -2.299 + -3.475 -7.603 44.239 17.398 -7.478 -10.774 4.316 0.649 5.694 -2.273 + 1.539 -5.468 -4.103 -4.820 12.788 2.541 2.939 -16.481 5.078 8.904 + 2.283 2.377 -2.648 14.326 16.785 -7.545 -14.807 -8.605 8.533 3.735 + -6.056 -1.008 -0.439 1.064 5.261 -0.339 6.693 -5.160 1.133 -1.137 + 0.587 -17.685 -22.486 -36.172 14.656 13.950 29.443 18.823 -4.421 -1.195 + -4.240 0.973 -0.091 -4.078 -3.312 0.925 -3.493 -3.105 -0.294 9.331 + 1.656 -18.993 -8.246 -4.999 7.257 -15.064 18.023 0.519 3.143 -9.498 + -7.718 17.008 -7.138 7.289 -10.409 -19.843 -2.489 -5.521 21.393 -0.092 + 11.825 0.479 4.831 6.140 -12.379 3.528 -1.027 3.580 -0.454 0.104 + -14.364 3.372 -10.080 11.098 -10.064 0.848 -12.064 0.432 13.972 -3.647 + 10.388 -8.629 14.568 -4.956 4.356 -27.088 5.309 10.104 5.205 3.446 + -8.734 31.515 -2.336 0.292 -13.228 -0.973 -7.207 13.175 -9.848 7.090 + 4.399 21.449 -10.221 1.935 -9.237 -32.368 5.488 -12.965 28.180 -6.102 + 9.485 0.616 -10.308 8.685 14.376 3.524 0.479 -25.719 5.984 -14.432 + 3.344 -2.777 0.460 15.790 3.562 12.469 45.413 -28.023 -1.428 -36.321 + 31.356 -3.754 -4.188 -1.373 -2.771 -1.491 -16.531 8.507 2.854 3.126 + -1.416 -4.399 5.182 -5.744 -9.108 10.081 0.470 1.655 0.385 0.254 + 34.959 -17.549 11.423 -34.876 5.522 -13.608 19.362 12.612 -4.089 -20.499 + -10.691 -2.360 -22.760 2.545 -13.049 12.375 4.436 5.068 4.372 -0.691 + 2.424 4.230 -8.362 17.719 -1.990 -0.121 -0.906 -25.019 -11.309 -11.593 + 2.384 2.522 1.110 24.921 14.106 1.906 19.211 -9.096 -5.958 -9.677 + 5.108 2.388 3.669 -3.194 7.881 -9.663 6.825 -3.893 10.323 -10.156 + 15.654 8.912 1.926 -1.947 -9.017 4.952 -5.629 -21.501 16.786 -21.235 + 8.023 -7.161 8.527 21.867 -18.890 34.096 -20.307 4.310 -21.988 2.641 + 13.129 -19.688 2.781 -4.351 10.617 13.944 12.538 -4.769 9.196 -2.148 + 8.172 -16.768 -22.726 -3.462 -32.137 13.574 -25.534 3.128 1.007 -0.206 + 15.538 -7.523 21.833 0.957 7.810 -8.001 -3.257 -11.107 18.726 3.181 + 4.309 -2.888 13.211 18.985 11.972 0.190 -4.981 -5.834 -5.413 -0.719 + -4.376 -11.627 -27.551 49.997 -9.581 6.224 -0.463 15.447 -14.126 -19.557 + 1.131 23.364 -34.716 -17.732 17.705 0.200 18.578 -10.616 8.059 0.966 + -5.623 -6.632 2.258 1.139 3.278 -10.186 -6.611 4.094 10.332 8.627 + -5.191 11.534 13.389 14.710 -5.151 2.639 -13.412 3.402 -18.576 -1.579 + -18.258 4.638 -9.428 -14.230 5.330 -5.475 18.006 -7.178 5.872 2.747 + 5.376 -6.879 -3.357 -4.549 8.011 8.473 -1.960 1.363 6.695 -4.582 + 14.151 0.256 2.980 -11.037 -40.121 4.628 6.250 25.953 0.266 -10.939 + 15.642 -4.267 3.027 -3.243 0.584 -1.141 -14.976 -8.847 18.759 3.278 + 14.235 -26.820 1.888 -6.876 12.673 -5.969 5.914 9.350 3.370 -3.029 + -3.310 23.898 -4.035 -23.368 -20.373 4.130 12.969 -13.601 -6.450 7.225 + 5.361 0.763 -1.148 18.658 -9.518 5.018 -9.473 4.177 -4.506 -11.583 + -14.085 5.794 0.018 -3.866 -1.289 0.967 5.607 1.835 3.368 9.243 + -5.006 6.133 20.973 -1.318 -3.642 -12.379 3.561 2.362 12.304 -3.878 + -3.990 -0.384 4.565 11.700 -12.012 -13.543 -5.919 3.621 10.439 -12.221 + -9.734 -0.390 1.969 0.139 -3.612 11.508 -4.489 -52.671 16.793 1.447 + 20.911 -20.346 1.045 27.545 -4.894 20.361 26.579 4.022 -10.566 -22.024 + -0.292 0.642 2.673 -3.612 4.335 -1.856 0.617 3.165 -1.694 -3.709 + 17.434 10.444 -4.573 1.194 10.669 3.226 2.596 -12.067 -0.853 1.047 + 13.924 3.620 -21.759 -12.497 -4.319 16.412 1.426 2.267 -0.809 -11.634 + -2.431 19.817 9.669 1.842 -14.894 -4.505 6.303 -30.329 -3.313 1.250 + 5.889 5.121 -1.045 3.676 7.132 2.884 -6.336 -5.357 -0.761 -2.967 + -10.307 -18.440 9.668 30.219 9.350 -1.432 -19.088 -24.916 10.548 -31.019 + 1.645 3.186 20.771 23.880 0.863 8.642 -17.552 -13.798 -19.652 13.839 + -4.692 18.069 7.826 2.651 3.901 22.255 27.192 -12.278 -1.851 -4.301 + 0.157 -18.328 -17.387 11.125 -13.581 -28.481 -6.294 6.952 17.427 -14.008 + -0.292 1.260 15.826 -16.338 41.350 29.459 0.577 -1.630 -10.718 6.029 + -39.428 -6.634 14.256 8.338 -11.182 -2.644 4.366 -6.845 -3.746 -6.308 + -8.473 21.042 -3.197 36.943 -7.080 -6.083 -17.527 -4.977 2.946 -6.693 + 11.847 9.011 -34.728 5.809 23.000 23.325 -24.774 -5.768 6.661 3.768 + -18.332 -7.881 8.315 -10.692 -2.658 -4.080 -0.840 13.007 -21.196 26.826 + 7.956 11.122 -27.178 4.490 5.270 4.653 5.591 34.743 8.262 -16.358 + -31.194 -7.545 2.017 1.301 -10.468 16.253 -0.387 4.657 0.415 -12.854 + 19.867 7.967 8.295 -3.923 -23.738 25.098 -14.231 5.939 -8.298 -0.166 + 2.059 -13.578 49.232 -6.939 -1.386 -5.270 -0.168 7.118 -37.363 1.296 + -19.117 -2.498 11.360 42.247 -6.078 -28.287 -21.427 4.247 16.286 -3.155 + 12.519 14.424 -2.218 -10.935 -13.538 -64.817 -29.430 5.939 59.800 28.572 + -10.046 -21.027 -25.678 -7.682 4.274 19.027 19.958 -5.721 -2.434 -5.425 + -24.784 9.914 22.674 25.107 -27.267 -36.600 -11.989 13.877 25.616 -2.351 + -3.548 -7.905 46.146 18.092 -7.910 -11.350 4.433 0.674 5.924 -2.344 + 1.599 -5.279 -4.290 -5.038 13.060 2.725 3.083 -17.290 5.287 9.291 + 2.375 2.480 -2.779 14.739 17.585 -7.805 -15.254 -9.006 8.816 3.871 + -6.381 -1.036 -0.440 1.137 5.464 -0.362 7.014 -5.362 1.203 -1.184 + 0.631 -18.168 -22.838 -36.871 15.011 13.898 29.857 19.593 -4.666 -1.259 + -4.337 1.034 -0.098 -4.358 -3.446 0.947 -3.577 -3.222 -0.302 9.851 + 1.692 -19.892 -8.705 -5.251 7.608 -15.544 18.594 0.324 3.320 -9.787 + -7.828 17.627 -7.476 7.583 -11.074 -20.626 -2.679 -5.381 22.339 0.127 + 12.066 0.543 4.884 6.451 -12.883 3.699 -1.091 3.668 -0.475 0.065 + -15.010 3.511 -10.392 11.439 -10.445 0.823 -12.465 0.406 14.264 -3.702 + 10.641 -8.730 15.059 -4.990 4.632 -28.149 5.565 10.499 5.384 3.585 + -9.246 32.480 -2.415 0.358 -13.417 -1.037 -7.436 13.785 -10.290 7.444 + 4.640 22.509 -10.726 2.021 -9.688 -33.181 5.699 -13.069 28.786 -6.336 + 9.457 0.872 -10.615 9.195 14.784 3.608 0.381 -26.541 6.255 -14.916 + 3.459 -2.823 0.469 16.209 3.637 12.907 46.924 -28.868 -1.586 -37.493 + 32.401 -3.944 -4.336 -1.423 -2.868 -1.537 -17.374 8.936 2.953 3.276 + -1.520 -4.564 5.425 -5.977 -9.341 10.346 0.528 1.586 0.458 0.224 + 35.738 -18.191 11.644 -35.730 5.723 -13.940 20.035 12.727 -4.356 -21.156 + -10.837 -2.386 -23.505 2.725 -13.630 12.775 4.444 5.269 4.477 -0.527 + 2.572 4.206 -8.911 18.582 -1.985 -0.082 -0.932 -25.343 -11.334 -12.069 + 2.493 2.632 1.166 25.322 14.355 1.854 20.039 -9.445 -6.219 -10.055 + 5.304 2.480 3.594 -3.207 8.280 -9.880 6.994 -4.071 10.788 -10.474 + 16.225 9.228 2.017 -1.913 -9.373 4.992 -5.930 -22.330 17.550 -22.054 + 8.286 -7.479 8.837 22.416 -19.587 35.165 -20.826 4.373 -22.534 2.918 + 13.734 -20.320 2.745 -4.461 10.793 14.458 12.726 -5.013 9.599 -2.197 + 8.475 -17.319 -23.523 -3.533 -33.286 14.200 -26.435 3.152 1.013 -0.076 + 15.972 -7.770 22.430 0.882 7.943 -7.997 -3.295 -11.379 19.257 3.369 + 4.472 -3.017 13.762 20.013 12.411 0.178 -5.311 -6.025 -5.590 -0.751 + -4.532 -12.188 -28.566 50.642 -9.662 6.461 -0.360 15.826 -14.410 -19.895 + 1.168 23.832 -35.389 -18.647 18.480 0.172 19.544 -11.174 8.472 1.284 + -5.828 -6.816 2.127 1.209 3.330 -10.611 -6.915 4.276 10.720 9.055 + -5.430 12.246 13.600 15.570 -5.475 2.786 -14.103 3.479 -19.118 -1.704 + -19.056 4.938 -9.989 -14.439 5.409 -5.728 18.424 -7.387 6.162 3.097 + 5.352 -6.675 -3.671 -4.509 7.889 8.747 -2.053 1.487 6.983 -4.608 + 14.518 0.264 2.994 -11.331 -41.386 4.787 6.388 26.633 0.275 -11.206 + 16.423 -4.482 3.164 -3.466 0.644 -1.201 -15.616 -8.932 19.002 3.382 + 14.601 -27.487 1.911 -7.215 13.282 -6.148 6.208 9.720 3.474 -3.177 + -3.424 24.382 -4.129 -24.085 -20.751 4.184 13.261 -14.121 -6.683 7.480 + 5.526 0.773 -1.205 19.465 -9.964 5.427 -9.912 4.344 -4.749 -11.892 + -14.702 6.030 -0.025 -3.969 -1.329 0.931 5.816 1.819 3.454 9.599 + -5.134 6.453 21.743 -1.637 -3.795 -12.710 3.886 2.490 12.883 -4.067 + -4.219 -0.388 4.819 12.097 -12.525 -13.984 -6.028 3.679 10.726 -12.812 + -10.185 -0.475 2.069 0.162 -3.766 12.113 -4.609 -54.199 17.304 1.541 + 21.568 -21.052 0.912 28.300 -5.133 21.418 27.680 4.170 -11.133 -22.857 + -0.266 0.648 2.680 -3.791 4.694 -2.109 0.645 3.231 -1.619 -3.852 + 18.155 10.926 -4.819 1.341 11.056 3.386 2.636 -12.565 -0.848 0.848 + 14.289 3.743 -22.490 -12.807 -4.513 17.227 1.282 2.376 -0.890 -11.933 + -2.475 20.322 10.238 1.858 -15.238 -4.867 6.583 -31.646 -3.359 1.304 + 6.085 5.245 -1.108 3.941 7.603 3.186 -6.779 -5.828 -0.864 -2.969 + -10.535 -19.301 10.004 30.975 9.608 -1.438 -19.408 -25.850 11.047 -31.806 + 1.818 3.343 21.343 24.719 1.014 8.834 -17.882 -14.430 -20.364 14.141 + -4.800 18.691 8.046 2.602 4.117 22.638 28.108 -12.873 -1.709 -4.563 + 0.313 -18.793 -17.865 11.481 -13.882 -29.406 -6.707 6.968 17.963 -14.405 + -0.329 1.286 16.416 -16.562 42.418 30.053 0.639 -1.602 -10.889 6.088 + -40.298 -6.818 14.576 8.496 -11.396 -2.724 4.634 -7.075 -3.927 -6.598 + -8.879 21.978 -3.696 38.323 -7.347 -6.102 -18.026 -5.217 3.112 -7.001 + 12.470 9.480 -35.581 5.779 23.544 23.736 -25.546 -6.044 6.925 3.819 + -18.761 -8.270 8.587 -11.138 -2.749 -4.266 -0.860 13.549 -21.849 27.579 + 8.510 11.443 -27.905 4.546 5.461 4.829 5.792 35.123 8.360 -17.018 + -31.431 -7.612 2.024 1.395 -11.078 16.896 -0.435 4.951 0.526 -13.228 + 20.520 7.882 8.480 -3.839 -24.416 26.234 -14.817 6.300 -8.598 -0.183 + 2.107 -14.144 50.701 -7.156 -1.381 -5.522 -0.240 7.257 -38.314 1.310 + -19.787 -2.580 11.813 43.596 -6.181 -29.025 -21.851 4.311 16.562 -3.566 + 12.567 14.659 -2.128 -10.987 -13.766 -67.477 -30.562 6.249 61.862 29.273 + -10.763 -21.556 -26.287 -7.673 4.503 19.927 20.910 -5.945 -2.561 -5.744 + -25.320 9.656 22.757 25.735 -27.875 -37.389 -12.608 14.443 26.743 -2.391 + -3.580 -8.177 47.991 18.754 -8.336 -11.978 4.531 0.688 6.166 -2.410 + 1.661 -5.009 -4.501 -5.269 13.266 2.928 3.238 -18.125 5.489 9.697 + 2.491 2.586 -2.932 15.121 18.355 -8.012 -15.668 -9.397 9.062 3.948 + -6.732 -1.031 -0.379 1.237 5.622 -0.377 7.323 -5.554 1.264 -1.212 + 0.674 -18.630 -23.067 -37.440 15.341 13.734 30.139 20.367 -4.887 -1.326 + -4.431 1.091 -0.109 -4.595 -3.624 0.973 -3.709 -3.330 -0.316 10.393 + 1.761 -20.729 -9.195 -5.509 7.939 -15.919 19.106 0.116 3.497 -10.048 + -7.896 18.136 -7.804 7.844 -11.711 -21.359 -2.856 -5.240 23.270 0.338 + 12.299 0.603 4.939 6.761 -13.344 3.862 -1.177 3.689 -0.502 0.029 + -15.651 3.662 -10.659 11.710 -10.799 0.793 -12.775 0.371 14.495 -3.784 + 10.851 -8.805 15.521 -5.000 4.938 -29.135 5.836 10.873 5.546 3.711 + -9.785 33.336 -2.510 0.424 -13.534 -1.097 -7.648 14.421 -10.723 7.771 + 4.883 23.497 -11.211 2.103 -10.115 -33.781 5.876 -13.017 29.203 -6.543 + 9.297 1.148 -10.894 9.709 15.138 3.666 0.262 -27.259 6.585 -15.351 + 3.577 -2.889 0.481 16.545 3.668 13.288 48.372 -29.625 -1.742 -38.613 + 33.394 -4.124 -4.484 -1.488 -2.981 -1.580 -18.264 9.400 3.068 3.440 + -1.625 -4.745 5.682 -6.234 -9.551 10.580 0.579 1.502 0.535 0.193 + 36.302 -18.755 11.801 -36.380 5.908 -14.188 20.634 12.720 -4.637 -21.726 + -10.897 -2.392 -24.215 2.855 -14.216 13.173 4.453 5.474 4.560 -0.324 + 2.727 4.191 -9.454 19.442 -2.001 -0.051 -0.960 -25.520 -11.314 -12.494 + 2.562 2.751 1.174 25.619 14.555 1.792 20.862 -9.791 -6.534 -10.432 + 5.499 2.585 3.440 -3.160 8.699 -10.020 7.112 -4.243 11.273 -10.790 + 16.770 9.527 2.098 -1.865 -9.735 5.026 -6.221 -23.161 18.375 -22.885 + 8.553 -7.812 9.155 22.812 -20.298 36.094 -21.209 4.399 -22.936 3.181 + 14.350 -20.979 2.725 -4.575 10.985 15.034 12.910 -5.141 9.958 -2.219 + 8.686 -17.887 -24.319 -3.609 -34.349 14.806 -27.295 3.151 1.006 0.075 + 16.350 -7.988 22.963 0.733 8.049 -8.028 -3.319 -11.623 19.743 3.619 + 4.617 -3.091 14.299 21.059 12.835 0.156 -5.655 -6.199 -5.746 -0.786 + -4.675 -12.749 -29.575 51.019 -9.669 6.688 -0.232 16.137 -14.609 -20.126 + 1.198 24.222 -35.929 -19.482 19.240 0.183 20.460 -11.718 8.860 1.586 + -6.031 -7.012 1.987 1.270 3.377 -11.015 -7.190 4.479 11.082 9.469 + -5.671 13.016 13.744 16.420 -5.842 2.935 -14.790 3.539 -19.591 -1.835 + -19.852 5.226 -10.542 -14.577 5.494 -6.001 18.780 -7.585 6.448 3.474 + 5.282 -6.393 -4.010 -4.438 7.708 9.003 -2.118 1.571 7.249 -4.620 + 14.873 0.270 2.995 -11.605 -42.517 4.919 6.506 27.215 0.291 -11.429 + 17.093 -4.669 3.290 -3.629 0.682 -1.248 -16.217 -8.931 19.072 3.470 + 14.901 -28.015 1.956 -7.585 13.932 -6.304 6.484 10.076 3.579 -3.322 + -3.536 24.754 -4.196 -24.733 -21.038 4.221 13.507 -14.620 -6.914 7.689 + 5.670 0.784 -1.251 20.262 -10.414 5.842 -10.341 4.522 -4.999 -12.199 + -15.201 6.267 -0.037 -4.132 -1.382 0.880 6.014 1.783 3.524 9.916 + -5.229 6.782 22.555 -1.906 -3.955 -13.087 4.177 2.607 13.452 -4.227 + -4.443 -0.396 5.062 12.445 -12.998 -14.375 -6.089 3.709 10.944 -13.364 + -10.629 -0.494 2.167 0.178 -3.945 12.694 -4.685 -55.502 17.738 1.637 + 22.143 -21.679 0.742 28.914 -5.351 22.450 28.740 4.301 -11.677 -23.683 + -0.233 0.649 2.698 -3.962 4.989 -2.317 0.670 3.354 -1.608 -3.984 + 18.797 11.433 -5.083 1.610 11.399 3.554 2.592 -13.015 -0.824 0.571 + 14.607 3.849 -23.131 -13.068 -4.686 18.011 1.118 2.475 -0.962 -12.214 + -2.525 20.787 10.837 1.870 -15.545 -5.241 6.856 -32.907 -3.421 1.344 + 6.262 5.317 -1.172 4.210 8.082 3.508 -7.238 -6.328 -0.987 -2.944 + -10.711 -20.130 10.321 31.634 9.832 -1.438 -19.640 -26.677 11.574 -32.469 + 1.998 3.493 21.837 25.461 1.164 8.986 -18.136 -15.078 -21.031 14.369 + -4.878 19.272 8.254 2.534 4.321 22.931 28.941 -13.457 -1.553 -4.820 + 0.487 -19.195 -18.279 11.810 -14.137 -30.275 -7.106 6.950 18.452 -14.742 + -0.369 1.313 16.938 -16.688 43.330 30.460 0.715 -1.552 -10.970 6.104 + -40.987 -6.980 14.822 8.601 -11.533 -2.796 4.927 -7.266 -4.108 -6.901 + -9.300 22.864 -4.225 39.583 -7.600 -6.059 -18.439 -5.428 3.241 -7.297 + 13.045 9.884 -36.340 5.730 24.032 24.083 -26.191 -6.320 7.167 3.831 + -19.065 -8.672 8.785 -11.567 -2.781 -4.442 -0.892 14.057 -22.399 28.215 + 9.076 11.718 -28.504 4.576 5.637 4.988 5.991 35.404 8.433 -17.671 + -31.575 -7.660 2.025 1.488 -11.654 17.524 -0.473 5.221 0.625 -13.573 + 21.126 7.739 8.639 -3.724 -25.026 27.338 -15.377 6.679 -8.868 -0.208 + 2.128 -14.666 51.969 -7.322 -1.371 -5.773 -0.326 7.351 -39.079 1.303 + -20.419 -2.627 12.293 44.844 -6.292 -29.726 -22.201 4.355 16.779 -4.000 + 12.549 14.818 -2.018 -10.984 -13.928 -70.018 -31.632 6.565 63.804 29.898 + -11.495 -22.035 -26.847 -7.642 4.789 20.843 21.841 -6.221 -2.703 -6.048 + -25.793 9.332 22.743 26.301 -28.406 -38.070 -13.246 14.908 27.802 -2.383 + -3.529 -8.406 49.754 19.394 -8.749 -12.654 4.636 0.694 6.432 -2.489 + 1.720 -4.632 -4.736 -5.498 13.364 3.147 3.400 -18.894 5.708 10.067 + 2.573 2.697 -3.057 15.384 19.062 -8.162 -15.979 -9.751 9.241 4.034 + -7.054 -1.006 -0.315 1.330 5.768 -0.398 7.623 -5.750 1.322 -1.247 + 0.717 -19.042 -23.168 -37.839 15.630 13.450 30.262 21.072 -5.112 -1.396 + -4.484 1.152 -0.120 -4.799 -3.799 1.007 -3.855 -3.434 -0.333 10.876 + 1.841 -21.573 -9.641 -5.772 8.278 -16.258 19.566 -0.078 3.671 -10.283 + -7.955 18.616 -8.123 8.092 -12.318 -22.037 -3.024 -5.069 24.167 0.565 + 12.491 0.663 4.972 7.030 -13.854 4.006 -1.239 3.753 -0.521 -0.006 + -16.216 3.807 -10.892 11.901 -11.123 0.756 -13.035 0.327 14.735 -3.890 + 11.062 -8.900 16.002 -5.021 5.263 -30.102 6.121 11.225 5.691 3.822 + -10.292 34.204 -2.588 0.488 -13.631 -1.159 -7.906 14.973 -11.176 8.117 + 5.101 24.451 -11.683 2.186 -10.525 -34.243 6.051 -12.838 29.463 -6.730 + 9.018 1.474 -11.128 10.237 15.420 3.702 0.118 -27.911 6.939 -15.722 + 3.700 -2.957 0.486 16.818 3.666 13.627 49.656 -30.288 -1.910 -39.596 + 34.293 -4.292 -4.621 -1.546 -3.095 -1.595 -19.136 9.848 3.150 3.586 + -1.739 -4.914 5.936 -6.472 -9.721 10.786 0.638 1.409 0.614 0.162 + 36.722 -19.288 11.896 -36.904 6.083 -14.382 21.182 12.648 -4.910 -22.243 + -10.909 -2.387 -24.931 3.048 -14.780 13.553 4.448 5.669 4.668 -0.166 + 2.863 4.152 -9.993 20.282 -2.010 -0.025 -0.983 -25.524 -11.224 -12.900 + 2.608 2.859 1.185 25.785 14.695 1.720 21.665 -10.135 -6.829 -10.784 + 5.681 2.681 3.262 -3.082 9.108 -10.134 7.211 -4.415 11.798 -11.102 + 17.243 9.781 2.169 -1.758 -10.094 5.064 -6.504 -24.017 19.213 -23.726 + 8.840 -8.156 9.494 23.118 -20.965 36.898 -21.498 4.383 -23.229 3.462 + 14.939 -21.585 2.684 -4.673 11.136 15.557 13.051 -5.256 10.335 -2.225 + 8.913 -18.429 -25.073 -3.701 -35.306 15.401 -28.134 3.118 0.977 0.269 + 16.670 -8.177 23.420 0.563 8.125 -7.964 -3.321 -11.832 20.157 3.858 + 4.763 -3.168 14.839 22.058 13.202 0.129 -5.998 -6.377 -5.886 -0.805 + -4.785 -13.298 -30.561 51.275 -9.656 6.907 -0.105 16.411 -14.753 -20.302 + 1.223 24.562 -36.393 -20.323 20.001 0.172 21.382 -12.257 9.259 1.967 + -6.281 -7.171 1.775 1.362 3.399 -11.402 -7.465 4.631 11.409 9.886 + -5.887 13.798 13.868 17.286 -6.196 3.074 -15.467 3.580 -20.031 -1.976 + -20.633 5.534 -11.142 -14.605 5.518 -6.202 19.022 -7.750 6.728 3.867 + 5.191 -6.088 -4.340 -4.346 7.478 9.256 -2.159 1.638 7.546 -4.625 + 15.205 0.265 2.983 -11.861 -43.574 5.030 6.586 27.709 0.325 -11.616 + 17.749 -4.848 3.426 -3.800 0.714 -1.291 -16.754 -8.900 19.049 3.551 + 15.165 -28.464 1.926 -7.957 14.609 -6.455 6.763 10.440 3.673 -3.459 + -3.648 24.991 -4.231 -25.309 -21.178 4.223 13.685 -15.061 -7.175 7.891 + 5.758 0.798 -1.294 21.072 -10.814 6.225 -10.759 4.665 -5.240 -12.466 + -15.653 6.498 -0.052 -4.277 -1.424 0.812 6.180 1.711 3.564 10.198 + -5.290 7.097 23.301 -2.196 -4.109 -13.405 4.505 2.690 14.052 -4.353 + -4.651 -0.419 5.287 12.773 -13.464 -14.714 -6.120 3.731 11.108 -13.878 + -11.053 -0.543 2.261 0.198 -4.111 13.258 -4.807 -56.615 18.110 1.739 + 22.639 -22.249 0.563 29.444 -5.559 23.497 29.733 4.406 -12.212 -24.449 + -0.190 0.658 2.694 -4.119 5.239 -2.576 0.692 3.488 -1.600 -4.126 + 19.461 11.991 -5.342 1.872 11.725 3.725 2.533 -13.443 -0.791 0.238 + 14.899 3.944 -23.712 -13.314 -4.860 18.787 0.867 2.580 -1.033 -12.430 + -2.561 21.159 11.488 1.864 -15.769 -5.659 7.127 -34.129 -3.452 1.347 + 6.453 5.409 -1.227 4.473 8.545 3.844 -7.712 -6.860 -1.114 -2.909 + -10.860 -20.890 10.632 32.221 10.026 -1.423 -19.794 -27.450 12.058 -32.948 + 2.210 3.651 22.238 26.090 1.324 9.058 -18.336 -15.676 -21.695 14.589 + -4.962 19.848 8.429 2.442 4.529 23.144 29.749 -14.048 -1.373 -5.087 + 0.676 -19.555 -18.668 12.124 -14.348 -31.082 -7.407 6.900 18.910 -15.050 + -0.423 1.319 17.329 -16.712 44.104 30.693 0.804 -1.475 -10.952 6.085 + -41.516 -7.133 14.994 8.651 -11.605 -2.878 5.217 -7.453 -4.281 -7.204 + -9.714 23.682 -4.798 40.664 -7.818 -5.935 -18.704 -5.613 3.343 -7.571 + 13.598 10.292 -36.934 5.636 24.422 24.297 -26.737 -6.583 7.386 3.817 + -19.297 -9.076 8.991 -11.942 -2.772 -4.638 -0.946 14.516 -22.909 28.734 + 9.632 11.958 -28.994 4.592 5.812 5.149 6.204 35.545 8.472 -18.305 + -31.582 -7.674 2.011 1.584 -12.268 18.145 -0.511 5.500 0.729 -13.848 + 21.637 7.428 8.724 -3.518 -25.466 28.449 -15.899 7.032 -9.142 -0.239 + 2.159 -15.197 53.118 -7.418 -1.333 -6.030 -0.451 7.414 -39.763 1.279 + -21.009 -2.629 12.764 45.968 -6.373 -30.317 -22.460 4.364 16.903 -4.439 + 12.463 14.904 -1.882 -10.916 -14.031 -72.485 -32.667 6.882 65.639 30.441 + -12.258 -22.452 -27.332 -7.566 5.098 21.727 22.748 -6.534 -2.839 -6.339 + -26.157 8.982 22.643 26.775 -28.874 -38.640 -13.844 15.375 28.837 -2.398 + -3.499 -8.641 51.457 20.005 -9.157 -13.343 4.768 0.713 6.693 -2.576 + 1.775 -4.220 -4.988 -5.732 13.432 3.359 3.561 -19.654 5.906 10.449 + 2.647 2.823 -3.181 15.585 19.730 -8.342 -16.247 -10.092 9.411 4.115 + -7.360 -1.012 -0.248 1.421 5.916 -0.392 7.903 -5.903 1.360 -1.252 + 0.763 -19.418 -23.181 -38.117 15.888 13.084 30.276 21.847 -5.317 -1.463 + -4.584 1.205 -0.135 -5.091 -3.974 1.030 -3.912 -3.551 -0.344 11.366 + 1.913 -22.352 -10.108 -6.015 8.606 -16.512 20.006 -0.304 3.847 -10.496 + -7.985 19.009 -8.440 8.313 -12.874 -22.686 -3.157 -4.879 25.063 0.785 + 12.631 0.711 4.986 7.327 -14.312 4.171 -1.329 3.749 -0.552 -0.020 + -16.764 3.953 -11.098 12.101 -11.416 0.715 -13.290 0.275 14.958 -4.005 + 11.253 -9.003 16.489 -5.042 5.587 -31.098 6.411 11.571 5.853 3.929 + -10.759 35.056 -2.657 0.544 -13.699 -1.219 -8.217 15.502 -11.654 8.478 + 5.304 25.376 -12.160 2.268 -10.935 -34.655 6.213 -12.624 29.660 -6.904 + 8.703 1.871 -11.306 10.761 15.644 3.716 -0.037 -28.519 7.312 -16.056 + 3.833 -3.037 0.494 17.023 3.633 13.933 50.792 -30.860 -2.084 -40.453 + 35.098 -4.465 -4.742 -1.590 -3.195 -1.556 -20.005 10.333 3.206 3.715 + -1.865 -5.101 6.197 -6.732 -9.886 10.966 0.700 1.307 0.696 0.127 + 37.072 -19.796 11.969 -37.358 6.250 -14.548 21.686 12.498 -5.213 -22.702 + -10.855 -2.368 -25.626 3.260 -15.315 13.902 4.408 5.847 4.782 -0.005 + 3.003 4.085 -10.540 21.118 -2.012 0.005 -1.000 -25.388 -11.069 -13.293 + 2.658 2.964 1.203 25.824 14.787 1.624 22.398 -10.429 -7.119 -11.079 + 5.833 2.769 3.008 -2.952 9.516 -10.171 7.264 -4.593 12.300 -11.446 + 17.742 10.059 2.243 -1.681 -10.452 5.110 -6.776 -24.882 20.071 -24.580 + 9.133 -8.508 9.844 23.359 -21.572 37.604 -21.712 4.318 -23.427 3.797 + 15.501 -22.073 2.592 -4.759 11.203 16.028 13.051 -5.398 10.715 -2.216 + 9.124 -18.905 -25.699 -3.769 -36.238 15.990 -28.965 3.070 0.942 0.489 + 16.969 -8.360 23.840 0.331 8.184 -7.803 -3.300 -11.976 20.479 4.132 + 4.878 -3.221 15.324 22.998 13.487 0.110 -6.350 -6.525 -5.986 -0.817 + -4.876 -13.654 -31.479 51.245 -9.724 7.115 -0.002 16.584 -14.788 -20.324 + 1.246 24.785 -36.690 -21.194 20.766 0.134 22.322 -12.797 9.671 2.331 + -6.541 -7.336 1.573 1.459 3.426 -11.771 -7.733 4.802 11.737 10.292 + -6.104 14.581 13.947 18.149 -6.522 3.199 -16.150 3.594 -20.413 -2.122 + -21.423 5.850 -11.739 -14.511 5.502 -6.403 19.157 -7.878 6.998 4.233 + 5.062 -5.673 -4.676 -4.226 7.174 9.537 -2.180 1.665 7.822 -4.622 + 15.480 0.263 2.957 -12.063 -44.486 5.138 6.633 28.065 0.355 -11.743 + 18.441 -5.032 3.534 -3.993 0.760 -1.336 -17.309 -8.812 18.932 3.625 + 15.378 -28.811 1.915 -8.346 15.304 -6.672 7.091 10.780 3.812 -3.614 + -3.771 25.237 -4.308 -25.825 -21.315 4.236 13.846 -15.467 -7.443 8.075 + 5.816 0.826 -1.341 21.862 -11.115 6.581 -11.156 4.731 -5.472 -12.731 + -16.079 6.676 -0.058 -4.450 -1.470 0.760 6.362 1.685 3.583 10.461 + -5.335 7.404 24.010 -2.492 -4.262 -13.696 4.851 2.740 14.616 -4.412 + -4.840 -0.442 5.488 13.090 -13.902 -15.054 -6.129 3.750 11.234 -14.388 + -11.460 -0.582 2.367 0.224 -4.303 13.813 -4.893 -57.551 18.418 1.841 + 23.064 -22.773 0.359 29.886 -5.756 24.523 30.713 4.496 -12.711 -25.166 + -0.135 0.646 2.641 -4.275 5.524 -2.892 0.715 3.576 -1.535 -4.266 + 20.120 12.555 -5.612 2.188 12.020 3.906 2.436 -13.851 -0.735 -0.229 + 15.141 4.015 -24.190 -13.498 -5.032 19.610 0.513 2.684 -1.124 -12.559 + -2.577 21.443 12.176 1.838 -15.914 -6.118 7.392 -35.347 -3.467 1.372 + 6.607 5.491 -1.292 4.754 9.026 4.180 -8.206 -7.473 -1.256 -2.842 + -10.932 -21.592 10.913 32.750 10.181 -1.405 -19.881 -28.187 12.549 -33.355 + 2.432 3.812 22.579 26.679 1.482 9.117 -18.520 -16.273 -22.338 14.790 + -5.033 20.409 8.608 2.351 4.722 23.242 30.462 -14.635 -1.167 -5.363 + 0.884 -19.833 -18.965 12.416 -14.466 -31.779 -7.624 6.795 19.297 -15.306 + -0.489 1.298 17.608 -16.708 44.776 30.855 0.886 -1.394 -10.926 6.048 + -41.933 -7.275 15.136 8.677 -11.645 -2.971 5.461 -7.680 -4.442 -7.469 + -10.087 24.448 -5.307 41.697 -8.016 -5.808 -18.931 -5.771 3.400 -7.833 + 14.086 10.720 -37.319 5.486 24.718 24.367 -27.150 -6.818 7.575 3.801 + -19.489 -9.499 9.187 -12.285 -2.719 -4.853 -1.022 14.920 -23.344 29.154 + 10.211 12.158 -29.391 4.580 5.971 5.310 6.409 35.489 8.461 -18.914 + -31.394 -7.640 1.981 1.666 -12.865 18.777 -0.541 5.768 0.826 -14.060 + 22.046 6.969 8.752 -3.228 -25.766 29.500 -16.392 7.407 -9.365 -0.291 + 2.157 -15.728 54.258 -7.478 -1.268 -6.293 -0.601 7.469 -40.423 1.249 + -21.576 -2.620 13.244 47.009 -6.481 -30.895 -22.663 4.373 16.996 -4.875 + 12.382 14.989 -1.743 -10.848 -14.130 -74.856 -33.648 7.200 67.309 30.845 + -13.054 -22.760 -27.689 -7.436 5.422 22.604 23.632 -6.858 -2.973 -6.618 + -26.455 8.569 22.459 27.189 -29.266 -39.109 -14.425 15.778 29.795 -2.400 + -3.411 -8.828 53.062 20.575 -9.556 -14.037 4.924 0.735 6.962 -2.678 + 1.826 -3.754 -5.272 -5.983 13.436 3.586 3.730 -20.416 6.106 10.862 + 2.730 2.951 -3.319 15.792 20.393 -8.505 -16.492 -10.427 9.564 4.195 + -7.687 -1.059 -0.199 1.508 6.073 -0.387 8.177 -6.041 1.398 -1.239 + 0.818 -19.768 -23.053 -38.231 16.112 12.594 30.132 22.591 -5.548 -1.533 + -4.676 1.252 -0.149 -5.258 -4.124 1.046 -4.048 -3.679 -0.358 11.879 + 2.025 -23.116 -10.604 -6.250 8.933 -16.666 20.361 -0.528 4.028 -10.675 + -7.985 19.296 -8.754 8.506 -13.428 -23.279 -3.290 -4.680 25.902 1.012 + 12.761 0.766 4.996 7.657 -14.689 4.336 -1.449 3.676 -0.588 -0.047 + -17.329 4.089 -11.301 12.309 -11.710 0.670 -13.554 0.224 15.159 -4.118 + 11.435 -9.084 16.968 -5.052 5.956 -32.020 6.745 11.851 5.965 3.985 + -11.201 35.881 -2.732 0.595 -13.767 -1.269 -8.528 16.063 -12.121 8.772 + 5.530 26.298 -12.621 2.347 -11.336 -34.946 6.333 -12.383 29.785 -7.065 + 8.351 2.294 -11.449 11.281 15.826 3.713 -0.199 -29.082 7.683 -16.355 + 3.970 -3.111 0.500 17.182 3.584 14.207 51.719 -31.302 -2.271 -41.153 + 35.761 -4.640 -4.806 -1.609 -3.267 -1.570 -20.882 10.776 3.290 3.858 + -1.973 -5.268 6.446 -6.968 -10.023 11.100 0.765 1.182 0.793 0.085 + 37.213 -20.283 11.946 -37.591 6.403 -14.617 22.114 12.372 -5.521 -23.134 + -10.787 -2.344 -26.250 3.519 -15.817 14.192 4.324 6.009 4.901 0.137 + 3.122 4.022 -11.064 21.937 -2.008 0.032 -1.013 -25.143 -10.855 -13.699 + 2.725 3.061 1.243 25.727 14.816 1.524 23.158 -10.751 -7.356 -11.387 + 5.995 2.851 2.787 -2.832 9.879 -10.241 7.336 -4.764 12.764 -11.785 + 18.236 10.331 2.323 -1.602 -10.780 5.129 -7.045 -25.702 20.954 -25.417 + 9.410 -8.860 10.183 23.486 -22.188 38.211 -21.828 4.236 -23.528 4.135 + 16.073 -22.588 2.509 -4.853 11.284 16.475 12.938 -5.501 11.055 -2.180 + 9.286 -19.336 -26.236 -3.815 -37.066 16.576 -29.727 3.002 0.887 0.733 + 17.202 -8.519 24.168 0.070 8.195 -7.563 -3.248 -12.069 20.726 4.399 + 4.994 -3.280 15.813 23.887 13.799 0.091 -6.676 -6.700 -6.092 -0.827 + -4.967 -13.933 -32.365 50.906 -9.761 7.311 0.112 16.662 -14.723 -20.209 + 1.260 24.902 -36.826 -22.024 21.559 0.140 23.222 -13.338 10.051 2.630 + -6.819 -7.539 1.423 1.555 3.473 -12.084 -8.001 4.966 12.036 10.705 + -6.304 15.306 13.992 19.030 -6.822 3.320 -16.827 3.608 -20.754 -2.277 + -22.198 6.169 -12.381 -14.289 5.437 -6.568 19.179 -7.971 7.262 4.564 + 4.945 -5.263 -4.997 -4.108 6.863 9.837 -2.212 1.696 8.050 -4.571 + 15.680 0.264 2.909 -12.213 -45.264 5.214 6.675 28.344 0.384 -11.836 + 19.031 -5.165 3.623 -4.134 0.781 -1.365 -17.834 -8.703 18.719 3.686 + 15.563 -29.084 1.910 -8.736 16.027 -6.895 7.403 11.121 3.962 -3.768 + -3.897 25.411 -4.373 -26.284 -21.383 4.245 13.957 -15.913 -7.701 8.246 + 5.904 0.856 -1.386 22.610 -11.364 6.932 -11.538 4.766 -5.700 -12.922 + -16.517 6.809 -0.076 -4.566 -1.510 0.701 6.537 1.666 3.578 10.683 + -5.350 7.706 24.719 -2.763 -4.413 -13.998 5.174 2.759 15.125 -4.411 + -5.013 -0.468 5.669 13.401 -14.286 -15.415 -6.123 3.758 11.340 -14.836 + -11.874 -0.610 2.466 0.269 -4.486 14.288 -4.954 -58.262 18.671 1.947 + 23.422 -23.201 0.122 30.178 -5.945 25.520 31.723 4.559 -13.170 -25.854 + -0.070 0.635 2.563 -4.408 5.754 -3.230 0.730 3.679 -1.472 -4.420 + 20.825 13.146 -5.878 2.490 12.245 4.088 2.323 -14.230 -0.667 -0.748 + 15.362 4.072 -24.583 -13.639 -5.201 20.419 0.160 2.789 -1.223 -12.686 + -2.590 21.695 12.879 1.808 -16.038 -6.564 7.664 -36.570 -3.533 1.417 + 6.710 5.490 -1.363 5.060 9.552 4.488 -8.681 -8.098 -1.403 -2.759 + -10.960 -22.245 11.153 33.125 10.293 -1.378 -19.850 -28.807 13.051 -33.631 + 2.662 3.952 22.882 27.143 1.675 9.094 -18.593 -16.895 -22.940 14.923 + -5.083 20.929 8.762 2.242 4.918 23.315 31.130 -15.152 -0.994 -5.639 + 1.051 -20.068 -19.219 12.686 -14.558 -32.430 -7.805 6.659 19.662 -15.527 + -0.554 1.274 17.817 -16.614 45.278 30.867 0.980 -1.293 -10.838 5.984 + -42.153 -7.408 15.208 8.641 -11.612 -3.076 5.724 -7.898 -4.595 -7.730 + -10.450 25.203 -5.918 42.604 -8.200 -5.591 -19.039 -5.931 3.463 -8.093 + 14.528 11.244 -37.551 5.288 24.881 24.279 -27.468 -7.055 7.749 3.780 + -19.657 -9.911 9.375 -12.631 -2.675 -5.067 -1.082 15.338 -23.712 29.487 + 10.834 12.314 -29.672 4.537 6.115 5.444 6.586 35.281 8.410 -19.493 + -31.055 -7.566 1.934 1.737 -13.442 19.387 -0.561 6.017 0.903 -14.230 + 22.433 6.458 8.746 -2.923 -25.986 30.474 -16.855 7.826 -9.533 -0.365 + 2.107 -16.257 55.298 -7.490 -1.183 -6.562 -0.767 7.500 -40.985 1.210 + -22.075 -2.631 13.652 47.885 -6.564 -31.344 -22.754 4.363 16.997 -5.316 + 12.217 14.984 -1.573 -10.697 -14.143 -77.138 -34.599 7.494 68.830 31.154 + -13.833 -22.992 -27.949 -7.271 5.784 23.470 24.478 -7.202 -3.110 -6.888 + -26.677 8.063 22.150 27.522 -29.565 -39.446 -14.999 16.113 30.671 -2.373 + -3.272 -8.981 54.570 21.162 -9.885 -14.675 5.048 0.749 7.201 -2.774 + 1.878 -3.250 -5.529 -6.232 13.377 3.822 3.906 -21.128 6.285 11.242 + 2.793 3.080 -3.427 15.898 21.024 -8.653 -16.652 -10.741 9.680 4.351 + -8.007 -1.146 -0.201 1.568 6.260 -0.374 8.449 -6.162 1.410 -1.200 + 0.881 -20.091 -22.879 -38.282 16.319 12.063 29.932 23.328 -5.732 -1.610 + -4.760 1.293 -0.159 -5.479 -4.332 1.061 -4.135 -3.800 -0.366 12.297 + 2.143 -23.883 -11.017 -6.471 9.268 -16.770 20.713 -0.730 4.203 -10.871 + -8.020 19.548 -9.067 8.701 -14.001 -23.804 -3.433 -4.415 26.685 1.272 + 12.844 0.825 4.985 7.975 -14.950 4.485 -1.577 3.522 -0.619 -0.109 + -17.871 4.187 -11.449 12.452 -11.951 0.617 -13.771 0.160 15.315 -4.218 + 11.593 -9.147 17.426 -5.055 6.317 -32.937 7.064 12.127 6.093 4.045 + -11.632 36.668 -2.805 0.649 -13.805 -1.320 -8.813 16.586 -12.559 9.097 + 5.753 27.256 -13.104 2.429 -11.750 -35.121 6.439 -12.067 29.800 -7.204 + 7.932 2.783 -11.560 11.801 15.927 3.683 -0.384 -29.562 8.104 -16.610 + 4.104 -3.197 0.502 17.277 3.499 14.450 52.450 -31.652 -2.505 -41.710 + 36.294 -4.795 -4.827 -1.601 -3.316 -1.571 -21.741 11.222 3.365 4.000 + -2.081 -5.436 6.692 -7.201 -10.152 11.185 0.814 1.051 0.907 0.047 + 37.217 -20.749 11.868 -37.690 6.558 -14.625 22.470 12.183 -5.846 -23.510 + -10.664 -2.290 -26.807 3.760 -16.308 14.466 4.238 6.163 4.991 0.304 + 3.243 3.931 -11.575 22.708 -1.987 0.062 -1.017 -24.745 -10.625 -14.014 + 2.740 3.169 1.224 25.532 14.807 1.412 23.945 -11.091 -7.595 -11.706 + 6.163 2.931 2.499 -2.663 10.265 -10.249 7.371 -4.932 13.229 -12.095 + 18.633 10.561 2.396 -1.474 -11.081 5.130 -7.289 -26.510 21.816 -26.229 + 9.681 -9.203 10.512 23.520 -22.780 38.715 -21.859 4.121 -23.536 4.537 + 16.655 -23.086 2.389 -4.933 11.328 16.812 12.726 -5.607 11.408 -2.145 + 9.456 -19.694 -26.687 -3.847 -37.839 17.164 -30.388 2.945 0.832 0.953 + 17.377 -8.663 24.422 -0.220 8.214 -7.315 -3.187 -12.161 20.952 4.693 + 5.093 -3.331 16.259 24.747 14.111 0.076 -6.998 -6.884 -6.180 -0.832 + -5.047 -14.245 -33.152 50.387 -9.736 7.497 0.236 16.715 -14.646 -20.066 + 1.280 24.934 -36.826 -22.815 22.311 0.166 24.093 -13.861 10.418 2.895 + -7.055 -7.744 1.288 1.644 3.526 -12.318 -8.269 5.120 12.249 11.100 + -6.499 15.958 13.932 19.889 -7.044 3.445 -17.478 3.616 -20.996 -2.432 + -22.950 6.480 -13.023 -13.950 5.361 -6.742 19.090 -8.042 7.523 4.904 + 4.809 -4.805 -5.331 -3.975 6.518 10.138 -2.254 1.721 8.249 -4.521 + 15.898 0.266 2.885 -12.406 -45.907 5.238 6.751 28.536 0.425 -11.910 + 19.550 -5.256 3.680 -4.241 0.785 -1.387 -18.342 -8.558 18.409 3.740 + 15.709 -29.265 1.900 -9.121 16.754 -7.102 7.713 11.467 4.114 -3.922 + -4.026 25.463 -4.421 -26.682 -21.330 4.238 14.004 -16.362 -7.934 8.427 + 5.980 0.880 -1.433 23.356 -11.643 7.270 -11.943 4.836 -5.930 -13.059 + -16.936 6.975 -0.108 -4.675 -1.543 0.630 6.685 1.612 3.573 10.903 + -5.368 7.985 25.269 -3.134 -4.546 -14.157 5.602 2.784 15.637 -4.416 + -5.183 -0.497 5.846 13.681 -14.668 -15.709 -6.090 3.749 11.398 -15.251 + -12.294 -0.698 2.532 0.332 -4.605 14.828 -5.015 -58.849 18.850 2.060 + 23.707 -23.620 -0.100 30.432 -6.121 26.452 32.651 4.624 -13.613 -26.466 + -0.008 0.623 2.465 -4.547 6.005 -3.607 0.750 3.768 -1.402 -4.563 + 21.495 13.723 -6.166 2.878 12.452 4.282 2.136 -14.574 -0.585 -1.262 + 15.552 4.119 -24.961 -13.763 -5.371 21.215 -0.285 2.893 -1.336 -12.711 + -2.581 21.885 13.588 1.762 -16.106 -7.014 7.920 -37.734 -3.560 1.455 + 6.804 5.496 -1.429 5.367 10.063 4.778 -9.149 -8.717 -1.536 -2.679 + -10.979 -22.844 11.357 33.363 10.361 -1.342 -19.713 -29.282 13.547 -33.804 + 2.884 4.083 23.144 27.485 1.871 9.013 -18.593 -17.491 -23.494 14.984 + -5.113 21.409 8.895 2.100 5.116 23.320 31.738 -15.653 -0.832 -5.910 + 1.222 -20.232 -19.416 12.926 -14.602 -33.053 -7.960 6.483 19.990 -15.711 + -0.622 1.249 17.973 -16.438 45.680 30.716 1.092 -1.171 -10.681 5.892 + -42.222 -7.535 15.211 8.544 -11.500 -3.187 6.069 -8.057 -4.745 -8.024 + -10.841 25.924 -6.571 43.414 -8.373 -5.320 -19.072 -6.068 3.497 -8.344 + 15.054 11.824 -37.687 5.047 24.952 24.074 -27.790 -7.302 7.928 3.730 + -19.785 -10.314 9.561 -12.957 -2.590 -5.290 -1.145 15.728 -24.011 29.798 + 11.476 12.450 -29.913 4.482 6.227 5.555 6.737 34.822 8.296 -20.036 + -30.469 -7.432 1.866 1.789 -13.999 19.980 -0.575 6.253 0.969 -14.350 + 22.741 5.887 8.697 -2.570 -26.120 31.426 -17.296 8.235 -9.692 -0.453 + 2.055 -16.757 56.185 -7.477 -1.081 -6.835 -0.935 7.487 -41.396 1.154 + -22.562 -2.649 14.044 48.618 -6.609 -31.683 -22.731 4.324 16.908 -5.765 + 11.967 14.895 -1.382 -10.480 -14.091 -79.349 -35.510 7.781 70.226 31.383 + -14.614 -23.160 -28.132 -7.072 6.089 24.296 25.333 -7.505 -3.234 -7.178 + -26.780 7.564 21.765 27.802 -29.829 -39.716 -15.621 16.394 31.544 -2.340 + -3.111 -9.127 56.058 21.745 -10.212 -15.317 5.222 0.772 7.444 -2.883 + 1.925 -2.691 -5.800 -6.478 13.274 4.051 4.081 -21.774 6.474 11.587 + 2.806 3.202 -3.502 15.896 21.596 -8.775 -16.726 -11.022 9.748 4.448 + -8.244 -1.214 -0.190 1.630 6.425 -0.355 8.699 -6.260 1.458 -1.207 + 0.931 -20.361 -22.590 -38.165 16.485 11.422 29.579 24.057 -5.961 -1.695 + -4.860 1.338 -0.167 -5.622 -4.461 1.088 -4.272 -3.942 -0.379 12.754 + 2.217 -24.634 -11.477 -6.678 9.600 -16.770 21.012 -0.931 4.367 -11.051 + -8.037 19.712 -9.363 8.871 -14.556 -24.261 -3.577 -4.099 27.445 1.570 + 12.866 0.876 4.936 8.283 -15.145 4.615 -1.707 3.307 -0.642 -0.186 + -18.395 4.282 -11.555 12.464 -12.166 0.554 -13.854 0.083 15.463 -4.355 + 11.747 -9.209 17.876 -5.055 6.659 -33.777 7.376 12.393 6.204 4.096 + -12.080 37.407 -2.888 0.710 -13.825 -1.363 -9.064 17.085 -12.975 9.373 + 5.979 28.190 -13.565 2.506 -12.156 -35.157 6.540 -11.619 29.686 -7.333 + 7.397 3.320 -11.661 12.301 15.969 3.641 -0.566 -29.923 8.530 -16.798 + 4.216 -3.263 0.495 17.293 3.373 14.643 53.049 -31.836 -2.771 -42.132 + 36.692 -4.924 -4.844 -1.592 -3.369 -1.644 -22.659 11.653 3.484 4.176 + -2.173 -5.589 6.941 -7.423 -10.300 11.255 0.852 0.954 1.027 0.020 + 36.993 -21.201 11.686 -37.569 6.698 -14.536 22.782 11.962 -6.202 -23.843 + -10.492 -2.219 -27.345 3.990 -16.759 14.729 4.138 6.297 5.082 0.485 + 3.363 3.844 -12.060 23.464 -1.982 0.083 -1.023 -24.165 -10.373 -14.238 + 2.711 3.292 1.147 25.206 14.753 1.277 24.692 -11.416 -7.819 -12.001 + 6.318 3.002 2.240 -2.513 10.671 -10.278 7.418 -5.111 13.670 -12.402 + 19.026 10.801 2.474 -1.363 -11.371 5.126 -7.528 -27.298 22.650 -27.019 + 9.942 -9.540 10.833 23.476 -23.331 39.122 -21.820 3.975 -23.465 4.939 + 17.246 -23.576 2.273 -5.033 11.396 17.120 12.439 -5.741 11.745 -2.103 + 9.604 -19.998 -27.075 -3.862 -38.556 17.712 -30.894 2.908 0.777 1.153 + 17.476 -8.775 24.558 -0.516 8.234 -7.041 -3.116 -12.219 21.152 4.982 + 5.181 -3.385 16.692 25.572 14.411 0.059 -7.310 -7.069 -6.271 -0.836 + -5.122 -14.449 -33.844 49.606 -9.750 7.698 0.349 16.728 -14.525 -19.864 + 1.291 24.830 -36.607 -23.620 23.081 0.196 24.965 -14.385 10.783 3.161 + -7.312 -7.957 1.160 1.734 3.585 -12.549 -8.507 5.279 12.443 11.495 + -6.687 16.665 13.788 20.713 -7.295 3.579 -18.132 3.609 -21.179 -2.585 + -23.706 6.799 -13.654 -13.540 5.250 -6.877 18.918 -8.088 7.778 5.258 + 4.679 -4.382 -5.657 -3.847 6.182 10.448 -2.297 1.747 8.367 -4.430 + 16.056 0.279 2.847 -12.559 -46.394 5.219 6.826 28.641 0.471 -11.951 + 20.048 -5.349 3.754 -4.367 0.806 -1.427 -18.825 -8.379 18.002 3.790 + 15.817 -29.359 1.884 -9.501 17.479 -7.266 8.003 11.819 4.243 -4.064 + -4.156 25.446 -4.481 -27.009 -21.210 4.232 13.999 -16.802 -8.140 8.576 + 6.044 0.896 -1.467 24.122 -11.864 7.577 -12.338 4.873 -6.147 -13.268 + -17.365 7.120 -0.123 -4.801 -1.577 0.575 6.850 1.585 3.586 11.135 + -5.390 8.247 25.760 -3.493 -4.672 -14.276 6.032 2.818 16.132 -4.453 + -5.363 -0.521 6.041 13.905 -14.990 -15.927 -6.011 3.699 11.396 -15.641 + -12.726 -0.795 2.604 0.394 -4.724 15.334 -5.060 -59.276 18.979 2.172 + 23.937 -23.990 -0.331 30.604 -6.267 27.367 33.513 4.685 -14.046 -27.052 + 0.051 0.614 2.380 -4.682 6.266 -3.972 0.767 3.848 -1.324 -4.690 + 22.105 14.248 -6.459 3.316 12.646 4.478 1.934 -14.900 -0.495 -1.876 + 15.709 4.156 -25.244 -13.832 -5.538 22.005 -0.842 2.996 -1.453 -12.643 + -2.573 22.082 14.320 1.715 -16.163 -7.473 8.159 -38.886 -3.572 1.455 + 6.918 5.516 -1.484 5.669 10.566 5.083 -9.646 -9.370 -1.667 -2.578 + -10.949 -23.403 11.576 33.519 10.393 -1.309 -19.508 -29.641 14.037 -33.874 + 3.110 4.211 23.367 27.699 2.081 8.866 -18.484 -18.053 -24.027 14.994 + -5.132 21.851 8.972 1.911 5.326 23.289 32.301 -16.126 -0.693 -6.174 + 1.385 -20.344 -19.569 13.148 -14.610 -33.616 -8.082 6.277 20.272 -15.863 + -0.690 1.216 18.078 -16.160 45.914 30.392 1.207 -1.031 -10.420 5.757 + -42.117 -7.643 15.154 8.410 -11.343 -3.283 6.398 -8.199 -4.895 -8.320 + -11.239 26.619 -7.304 44.092 -8.524 -4.976 -18.986 -6.209 3.550 -8.585 + 15.520 12.449 -37.694 4.750 24.936 23.776 -28.004 -7.531 8.108 3.686 + -19.889 -10.728 9.745 -13.207 -2.449 -5.538 -1.267 16.033 -24.163 29.980 + 12.170 12.513 -29.986 4.401 6.302 5.614 6.849 34.147 8.137 -20.563 + -29.688 -7.251 1.790 1.847 -14.552 20.610 -0.583 6.468 1.021 -14.425 + 23.016 5.175 8.614 -2.195 -26.154 32.271 -17.709 8.689 -9.786 -0.544 + 1.955 -17.233 56.928 -7.412 -0.973 -7.106 -1.113 7.446 -41.669 1.080 + -23.036 -2.711 14.380 49.303 -6.585 -31.889 -22.637 4.255 16.732 -6.280 + 11.623 14.711 -1.148 -10.192 -13.965 -81.495 -36.385 8.066 71.522 31.547 + -15.399 -23.279 -28.255 -6.840 6.332 25.101 26.178 -7.722 -3.341 -7.483 + -26.847 6.970 21.270 27.999 -30.004 -39.853 -16.191 16.598 32.343 -2.291 + -2.894 -9.249 57.482 22.349 -10.490 -15.915 5.406 0.802 7.666 -2.985 + 1.970 -2.059 -6.112 -6.746 13.071 4.293 4.266 -22.370 6.691 11.950 + 2.819 3.315 -3.585 15.823 22.131 -8.863 -16.742 -11.273 9.780 4.481 + -8.431 -1.285 -0.151 1.693 6.570 -0.327 8.938 -6.331 1.529 -1.258 + 0.976 -20.599 -22.210 -37.929 16.629 10.696 29.112 24.737 -6.188 -1.789 + -4.930 1.391 -0.173 -5.778 -4.606 1.115 -4.397 -4.075 -0.391 13.191 + 2.293 -25.365 -11.925 -6.888 9.930 -16.680 21.273 -1.167 4.531 -11.203 + -7.993 19.787 -9.648 9.006 -15.069 -24.675 -3.697 -3.832 28.159 1.843 + 12.901 0.929 4.893 8.610 -15.310 4.751 -1.843 3.083 -0.665 -0.243 + -18.929 4.381 -11.679 12.416 -12.383 0.506 -13.867 0.010 15.585 -4.504 + 11.888 -9.251 18.308 -5.048 6.998 -34.575 7.690 12.632 6.297 4.130 + -12.486 38.139 -2.949 0.765 -13.828 -1.409 -9.342 17.568 -13.403 9.630 + 6.197 29.069 -14.008 2.582 -12.538 -35.116 6.638 -11.096 29.508 -7.453 + 6.811 3.870 -11.725 12.805 15.979 3.585 -0.764 -30.238 8.979 -16.946 + 4.342 -3.329 0.490 17.250 3.229 14.809 53.516 -31.928 -3.038 -42.450 + 36.991 -5.056 -4.837 -1.579 -3.424 -1.748 -23.579 12.053 3.615 4.366 + -2.259 -5.719 7.180 -7.620 -10.429 11.258 0.878 0.854 1.159 -0.003 + 36.668 -21.586 11.493 -37.348 6.810 -14.411 23.062 11.723 -6.596 -24.143 + -10.295 -2.136 -27.854 4.131 -17.210 14.994 4.049 6.431 5.144 0.722 + 3.506 3.789 -12.491 24.179 -2.007 0.085 -1.030 -23.506 -10.115 -14.416 + 2.661 3.416 1.052 24.814 14.675 1.138 25.373 -11.717 -8.006 -12.248 + 6.449 3.068 1.958 -2.342 11.042 -10.254 7.431 -5.280 14.155 -12.654 + 19.361 10.976 2.536 -1.195 -11.651 5.109 -7.760 -28.073 23.427 -27.788 + 10.193 -9.868 11.146 23.301 -23.798 39.355 -21.638 3.778 -23.241 5.292 + 17.847 -23.982 2.149 -5.130 11.415 17.419 12.072 -5.902 12.062 -2.054 + 9.728 -20.258 -27.376 -3.846 -39.196 18.241 -31.349 2.866 0.722 1.373 + 17.531 -8.866 24.622 -0.881 8.182 -6.678 -3.009 -12.210 21.251 5.285 + 5.258 -3.429 17.087 26.363 14.697 0.048 -7.591 -7.274 -6.316 -0.839 + -5.168 -14.711 -34.472 48.622 -9.673 7.874 0.486 16.695 -14.364 -19.600 + 1.300 24.647 -36.269 -24.347 23.836 0.253 25.795 -14.900 11.125 3.378 + -7.559 -8.183 1.058 1.813 3.649 -12.745 -8.734 5.434 12.592 11.879 + -6.865 17.461 13.495 21.508 -7.607 3.731 -18.773 3.580 -21.231 -2.748 + -24.445 7.094 -14.240 -13.144 5.137 -6.993 18.707 -8.123 8.026 5.685 + 4.539 -3.975 -5.999 -3.711 5.832 10.698 -2.330 1.799 8.525 -4.355 + 16.207 0.289 2.806 -12.697 -46.781 5.221 6.832 28.631 0.508 -11.927 + 20.542 -5.453 3.836 -4.499 0.836 -1.470 -19.295 -8.154 17.485 3.839 + 15.875 -29.349 1.882 -9.867 18.170 -7.403 8.307 12.122 4.352 -4.204 + -4.270 25.309 -4.554 -27.225 -20.981 4.211 13.935 -17.175 -8.343 8.689 + 6.062 0.912 -1.497 24.857 -12.058 7.866 -12.713 4.900 -6.347 -13.416 + -17.754 7.262 -0.145 -4.920 -1.607 0.502 6.993 1.538 3.573 11.343 + -5.392 8.494 26.186 -3.867 -4.788 -14.342 6.477 2.811 16.611 -4.443 + -5.519 -0.547 6.213 14.114 -15.277 -16.129 -5.915 3.650 11.365 -16.015 + -13.202 -0.932 2.667 0.471 -4.800 15.848 -5.073 -59.543 19.059 2.285 + 24.119 -24.315 -0.585 30.680 -6.421 28.260 34.341 4.744 -14.432 -27.590 + 0.109 0.591 2.272 -4.805 6.449 -4.338 0.779 3.967 -1.258 -4.823 + 22.732 14.814 -6.733 3.690 12.768 4.666 1.760 -15.211 -0.383 -2.563 + 15.856 4.168 -25.447 -13.852 -5.708 22.825 -1.506 3.102 -1.589 -12.492 + -2.549 22.216 15.104 1.654 -16.177 -7.953 8.394 -39.994 -3.607 1.474 + 7.024 5.493 -1.541 5.976 11.086 5.378 -10.138 -10.020 -1.799 -2.466 + -10.898 -23.913 11.760 33.575 10.399 -1.278 -19.223 -29.929 14.484 -33.807 + 3.359 4.341 23.501 27.810 2.305 8.666 -18.292 -18.554 -24.523 14.964 + -5.152 22.255 9.008 1.687 5.540 23.185 32.770 -16.540 -0.551 -6.433 + 1.540 -20.393 -19.663 13.327 -14.544 -34.057 -8.155 6.014 20.495 -15.971 + -0.764 1.154 18.097 -15.821 45.902 29.861 1.351 -0.859 -10.037 5.572 + -41.775 -7.735 15.047 8.242 -11.130 -3.403 6.756 -8.335 -5.037 -8.617 + -11.634 27.262 -7.915 44.792 -8.671 -4.645 -18.905 -6.299 3.500 -8.835 + 16.021 13.145 -37.636 4.424 24.848 23.410 -28.220 -7.763 8.285 3.643 + -19.986 -11.136 9.882 -13.487 -2.327 -5.761 -1.371 16.351 -24.223 30.085 + 12.867 12.531 -29.940 4.290 6.355 5.638 6.938 33.277 7.918 -21.028 + -28.719 -7.022 1.692 1.901 -15.084 21.220 -0.593 6.690 1.076 -14.448 + 23.179 4.369 8.481 -1.749 -26.067 33.109 -18.086 9.102 -9.878 -0.640 + 1.878 -17.619 57.471 -7.366 -0.905 -7.361 -1.244 7.360 -41.773 0.982 + -23.477 -2.748 14.722 49.814 -6.587 -32.020 -22.425 4.171 16.469 -6.798 + 11.259 14.487 -0.890 -9.861 -13.787 -83.517 -37.200 8.354 72.647 31.589 + -16.225 -23.296 -28.249 -6.537 6.554 25.853 27.001 -7.928 -3.437 -7.792 + -26.778 6.325 20.655 28.108 -30.094 -39.863 -16.792 16.778 33.142 -2.226 + -2.654 -9.362 58.829 22.890 -10.796 -16.487 5.599 0.851 7.874 -3.089 + 2.007 -1.377 -6.451 -7.039 12.796 4.553 4.464 -22.933 6.913 12.315 + 2.829 3.416 -3.664 15.701 22.669 -8.926 -16.714 -11.515 9.786 4.463 + -8.640 -1.330 -0.053 1.769 6.673 -0.291 9.169 -6.394 1.581 -1.299 + 1.026 -20.803 -21.730 -37.552 16.747 9.867 28.512 25.392 -6.390 -1.894 + -4.990 1.435 -0.175 -5.957 -4.770 1.152 -4.488 -4.212 -0.403 13.524 + 2.385 -26.107 -12.279 -7.087 10.262 -16.534 21.433 -1.457 4.690 -11.303 + -7.876 19.807 -9.919 9.122 -15.561 -24.980 -3.815 -3.497 28.833 2.157 + 12.853 0.972 4.805 8.904 -15.444 4.858 -1.982 2.804 -0.683 -0.318 + -19.392 4.469 -11.724 12.294 -12.547 0.451 -13.822 -0.070 15.634 -4.647 + 11.992 -9.253 18.710 -5.021 7.404 -35.282 8.039 12.805 6.327 4.125 + -12.913 38.771 -3.028 0.822 -13.764 -1.452 -9.593 18.017 -13.805 9.871 + 6.419 29.974 -14.437 2.658 -12.917 -34.968 6.705 -10.522 29.229 -7.554 + 6.153 4.473 -11.764 13.309 15.929 3.518 -0.968 -30.465 9.405 -17.065 + 4.435 -3.364 0.484 17.165 3.070 14.953 53.914 -31.919 -3.287 -42.684 + 37.213 -5.176 -4.863 -1.590 -3.505 -1.846 -24.480 12.430 3.727 4.551 + -2.351 -5.830 7.412 -7.790 -10.517 11.249 0.920 0.729 1.295 -0.035 + 36.255 -21.953 11.253 -37.055 6.918 -14.253 23.296 11.402 -6.987 -24.382 + -10.031 -2.039 -28.332 4.249 -17.642 15.245 3.955 6.556 5.189 0.984 + 3.651 3.749 -12.901 24.865 -2.039 0.084 -1.035 -22.721 -9.829 -14.555 + 2.594 3.543 0.941 24.303 14.550 0.992 26.061 -12.024 -8.205 -12.501 + 6.588 3.131 1.573 -2.115 11.423 -10.136 7.389 -5.442 14.589 -12.865 + 19.682 11.154 2.604 -1.040 -11.895 5.051 -7.985 -28.805 24.197 -28.522 + 10.429 -10.192 11.447 23.018 -24.250 39.483 -21.371 3.563 -22.932 5.677 + 18.438 -24.336 2.004 -5.215 11.396 17.667 11.636 -6.035 12.342 -1.996 + 9.802 -20.445 -27.602 -3.811 -39.765 18.737 -31.753 2.815 0.663 1.616 + 17.551 -8.936 24.621 -1.216 8.114 -6.281 -2.897 -12.190 21.343 5.551 + 5.334 -3.504 17.474 27.178 14.984 0.038 -7.882 -7.475 -6.355 -0.846 + -5.211 -14.979 -35.044 47.377 -9.526 8.029 0.629 16.592 -14.143 -19.257 + 1.312 24.365 -35.767 -25.059 24.577 0.308 26.597 -15.408 11.455 3.614 + -7.799 -8.399 0.941 1.896 3.710 -12.931 -8.943 5.593 12.726 12.258 + -7.030 18.244 13.116 22.291 -7.908 3.886 -19.407 3.538 -21.217 -2.919 + -25.186 7.400 -14.823 -12.611 4.992 -7.112 18.396 -8.132 8.275 6.060 + 4.368 -3.467 -6.345 -3.542 5.400 10.979 -2.364 1.853 8.720 -4.262 + 16.272 0.279 2.739 -12.756 -47.117 5.238 6.812 28.566 0.539 -11.879 + 20.947 -5.525 3.890 -4.572 0.831 -1.470 -19.704 -7.886 16.846 3.876 + 15.884 -29.223 1.852 -10.226 18.842 -7.472 8.590 12.405 4.431 -4.335 + -4.372 25.078 -4.624 -27.373 -20.681 4.191 13.822 -17.524 -8.520 8.801 + 6.068 0.925 -1.518 25.552 -12.199 8.114 -13.065 4.869 -6.539 -13.535 + -18.180 7.398 -0.177 -4.987 -1.619 0.427 7.124 1.466 3.554 11.548 + -5.377 8.734 26.549 -4.280 -4.900 -14.353 6.975 2.777 17.086 -4.415 + -5.657 -0.583 6.370 14.316 -15.574 -16.326 -5.815 3.610 11.328 -16.338 + -13.667 -1.114 2.708 0.563 -4.830 16.325 -5.054 -59.562 19.067 2.404 + 24.207 -24.547 -0.877 30.620 -6.567 29.122 35.102 4.800 -14.806 -28.067 + 0.168 0.557 2.141 -4.933 6.667 -4.727 0.791 4.062 -1.166 -4.935 + 23.295 15.342 -7.023 4.134 12.897 4.858 1.551 -15.491 -0.258 -3.347 + 15.916 4.164 -25.536 -13.803 -5.859 23.622 -2.209 3.198 -1.720 -12.316 + -2.525 22.296 15.935 1.588 -16.141 -8.465 8.615 -41.057 -3.613 1.497 + 7.091 5.416 -1.598 6.295 11.626 5.665 -10.629 -10.695 -1.947 -2.330 + -10.796 -24.333 11.909 33.476 10.339 -1.239 -18.788 -30.112 14.939 -33.604 + 3.614 4.463 23.571 27.802 2.544 8.401 -18.004 -19.061 -24.993 14.868 + -5.153 22.618 9.016 1.443 5.757 22.982 33.164 -16.915 -0.401 -6.687 + 1.707 -20.361 -19.690 13.465 -14.382 -34.405 -8.237 5.705 20.648 -16.020 + -0.856 1.080 18.060 -15.431 45.713 29.205 1.502 -0.664 -9.571 5.351 + -41.258 -7.819 14.898 8.045 -10.879 -3.550 7.129 -8.518 -5.168 -8.902 + -12.000 27.867 -8.421 45.538 -8.815 -4.338 -18.845 -6.345 3.364 -9.090 + 16.522 13.842 -37.437 4.045 24.649 22.902 -28.340 -7.988 8.458 3.558 + -19.991 -11.545 9.953 -13.761 -2.184 -5.969 -1.466 16.669 -24.198 30.119 + 13.570 12.513 -29.802 4.167 6.395 5.641 7.022 32.237 7.656 -21.474 + -27.587 -6.751 1.578 1.976 -15.613 21.780 -0.606 6.907 1.151 -14.455 + 23.316 3.506 8.327 -1.288 -25.920 33.942 -18.444 9.547 -9.963 -0.737 + 1.794 -17.988 57.918 -7.309 -0.834 -7.613 -1.382 7.254 -41.786 0.873 + -23.884 -2.816 15.012 50.268 -6.548 -32.075 -22.187 4.075 16.179 -7.311 + 10.815 14.158 -0.620 -9.453 -13.521 -85.455 -38.009 8.614 73.642 31.594 + -17.032 -23.255 -28.179 -6.198 6.803 26.564 27.767 -8.161 -3.532 -8.084 + -26.561 5.607 19.911 28.126 -30.089 -39.742 -17.425 16.927 33.911 -2.157 + -2.402 -9.458 60.113 23.435 -11.060 -17.063 5.777 0.892 8.085 -3.198 + 2.042 -0.641 -6.784 -7.328 12.455 4.819 4.668 -23.422 7.145 12.590 + 2.773 3.511 -3.680 15.540 23.171 -8.950 -16.655 -11.745 9.755 4.425 + -8.813 -1.391 0.058 1.854 6.750 -0.248 9.377 -6.413 1.637 -1.346 + 1.074 -20.975 -21.172 -37.059 16.841 8.964 27.806 26.054 -6.584 -1.982 + -5.062 1.475 -0.184 -6.086 -4.938 1.188 -4.626 -4.346 -0.415 13.869 + 2.467 -26.862 -12.642 -7.273 10.588 -16.323 21.581 -1.711 4.849 -11.403 + -7.766 19.760 -10.192 9.216 -16.083 -25.279 -3.954 -3.174 29.473 2.460 + 12.819 1.027 4.730 9.222 -15.563 4.975 -2.128 2.537 -0.707 -0.417 + -19.859 4.551 -11.785 12.065 -12.721 0.407 -13.670 -0.143 15.623 -4.718 + 12.051 -9.181 19.045 -4.948 7.817 -35.985 8.394 12.955 6.345 4.109 + -13.315 39.378 -3.097 0.871 -13.670 -1.497 -9.827 18.469 -14.192 10.121 + 6.654 30.912 -14.886 2.733 -13.312 -34.684 6.743 -9.859 28.832 -7.636 + 5.401 5.079 -11.792 13.813 15.834 3.442 -1.183 -30.606 9.912 -17.132 + 4.536 -3.424 0.486 17.001 2.866 15.040 54.169 -31.875 -3.559 -42.811 + 37.346 -5.282 -4.842 -1.568 -3.569 -1.971 -25.367 12.789 3.849 4.738 + -2.437 -5.928 7.641 -7.953 -10.563 11.218 0.975 0.589 1.433 -0.073 + 35.704 -22.293 10.956 -36.631 7.015 -14.037 23.460 11.040 -7.379 -24.579 + -9.724 -1.937 -28.715 4.333 -18.100 15.465 3.838 6.684 5.192 1.301 + 3.810 3.672 -13.292 25.506 -2.047 0.087 -1.034 -21.748 -9.492 -14.652 + 2.543 3.662 0.851 23.589 14.358 0.815 26.774 -12.343 -8.357 -12.774 + 6.739 3.195 1.158 -1.866 11.736 -9.978 7.324 -5.583 15.041 -13.088 + 19.974 11.305 2.666 -0.862 -12.140 5.018 -8.200 -29.525 24.922 -29.226 + 10.656 -10.509 11.736 22.602 -24.649 39.474 -20.976 3.316 -22.496 6.077 + 19.053 -24.692 1.856 -5.297 11.363 17.876 11.092 -6.134 12.595 -1.925 + 9.826 -20.579 -27.750 -3.747 -40.263 19.248 -32.120 2.736 0.576 1.900 + 17.530 -8.989 24.552 -1.565 8.049 -5.907 -2.771 -12.168 21.417 5.827 + 5.409 -3.569 17.844 28.007 15.311 0.029 -8.168 -7.681 -6.390 -0.859 + -5.258 -15.245 -35.566 45.863 -9.314 8.176 0.791 16.437 -13.880 -18.856 + 1.317 23.987 -35.084 -25.773 25.300 0.349 27.392 -15.916 11.786 3.879 + -8.051 -8.600 0.813 1.980 3.766 -13.107 -9.109 5.763 12.828 12.633 + -7.195 19.023 12.632 23.055 -8.189 4.050 -20.028 3.486 -21.130 -3.088 + -25.940 7.742 -15.436 -11.911 4.785 -7.226 17.960 -8.102 8.530 6.380 + 4.209 -2.944 -6.674 -3.384 4.974 11.288 -2.396 1.891 8.904 -4.137 + 16.263 0.252 2.642 -12.741 -47.364 5.246 6.788 28.433 0.562 -11.792 + 21.342 -5.584 3.912 -4.654 0.828 -1.465 -20.075 -7.575 16.092 3.912 + 15.830 -28.961 1.793 -10.570 19.493 -7.536 8.853 12.691 4.513 -4.462 + -4.476 24.731 -4.675 -27.467 -20.279 4.146 13.673 -17.833 -8.688 8.903 + 6.050 0.945 -1.539 26.268 -12.321 8.323 -13.419 4.834 -6.723 -13.664 + -18.606 7.488 -0.211 -5.070 -1.628 0.363 7.273 1.414 3.518 11.749 + -5.333 8.956 26.859 -4.682 -5.007 -14.326 7.478 2.791 17.541 -4.434 + -5.821 -0.603 6.553 14.430 -15.811 -16.428 -5.658 3.526 11.217 -16.617 + -14.181 -1.357 2.725 0.682 -4.812 16.832 -5.033 -59.412 19.001 2.537 + 24.202 -24.730 -1.187 30.492 -6.724 30.002 35.888 4.867 -15.199 -28.546 + 0.226 0.523 1.992 -5.071 6.967 -5.124 0.807 4.105 -1.041 -5.051 + 23.882 15.836 -7.305 4.510 13.071 5.044 1.381 -15.782 -0.104 -4.185 + 15.861 4.132 -25.537 -13.688 -6.012 24.373 -2.931 3.299 -1.847 -12.094 + -2.502 22.427 16.684 1.522 -16.121 -8.959 8.840 -42.167 -3.562 1.512 + 7.155 5.356 -1.647 6.610 12.161 5.914 -11.083 -11.351 -2.070 -2.217 + -10.706 -24.698 12.045 33.261 10.238 -1.195 -18.259 -30.237 15.412 -33.279 + 3.885 4.582 23.566 27.711 2.787 8.099 -17.635 -19.614 -25.418 14.716 + -5.123 22.940 9.005 1.196 5.961 22.759 33.516 -17.272 -0.252 -6.951 + 1.873 -20.296 -19.691 13.585 -14.223 -34.611 -8.289 5.355 20.726 -16.015 + -0.942 0.986 17.939 -14.936 45.441 28.479 1.648 -0.480 -9.092 5.117 + -40.623 -7.892 14.684 7.799 -10.581 -3.706 7.471 -8.721 -5.285 -9.159 + -12.325 28.433 -8.942 46.179 -8.941 -3.988 -18.702 -6.372 3.208 -9.331 + 16.940 14.557 -37.198 3.653 24.399 22.339 -28.363 -8.207 8.635 3.474 + -19.973 -11.945 10.021 -14.053 -2.039 -6.164 -1.539 16.992 -24.132 30.118 + 14.284 12.471 -29.626 4.042 6.416 5.630 7.086 31.116 7.379 -21.897 + -26.373 -6.460 1.449 2.029 -16.101 22.349 -0.611 7.102 1.214 -14.432 + 23.406 2.611 8.153 -0.800 -25.741 34.749 -18.794 9.986 -10.037 -0.841 + 1.705 -18.343 58.245 -7.258 -0.784 -7.843 -1.501 7.139 -41.732 0.749 + -24.238 -2.860 15.287 50.648 -6.463 -32.020 -21.862 3.951 15.800 -7.910 + 10.291 13.757 -0.305 -8.979 -13.187 -87.246 -38.796 8.847 74.482 31.548 + -17.822 -23.155 -28.055 -5.835 7.019 27.246 28.523 -8.352 -3.624 -8.390 + -26.263 4.814 19.049 28.060 -29.985 -39.480 -18.041 16.990 34.599 -2.057 + -2.073 -9.510 61.292 23.964 -11.293 -17.638 5.977 0.943 8.304 -3.316 + 2.069 0.153 -7.095 -7.608 12.044 5.072 4.870 -23.843 7.346 12.794 + 2.678 3.605 -3.656 15.259 23.631 -8.881 -16.488 -11.938 9.650 4.372 + -8.949 -1.426 0.170 1.946 6.821 -0.214 9.578 -6.439 1.718 -1.416 + 1.113 -21.101 -20.497 -36.399 16.902 7.939 26.940 26.697 -6.769 -2.072 + -5.140 1.517 -0.190 -6.239 -5.093 1.226 -4.725 -4.483 -0.425 14.191 + 2.504 -27.575 -12.994 -7.437 10.912 -16.048 21.730 -2.008 4.996 -11.493 + -7.628 19.670 -10.460 9.305 -16.577 -25.553 -4.082 -2.825 30.086 2.793 + 12.767 1.077 4.636 9.530 -15.683 5.082 -2.276 2.275 -0.731 -0.518 + -20.250 4.624 -11.836 11.768 -12.867 0.361 -13.476 -0.230 15.586 -4.741 + 12.076 -9.085 19.367 -4.848 8.269 -36.672 8.791 13.060 6.330 4.054 + -13.704 39.949 -3.180 0.928 -13.538 -1.524 -10.101 18.852 -14.595 10.334 + 6.891 31.791 -15.310 2.806 -13.682 -34.322 6.768 -9.128 28.381 -7.704 + 4.609 5.724 -11.805 14.354 15.660 3.344 -1.435 -30.626 10.411 -17.203 + 4.607 -3.438 0.495 16.770 2.640 15.091 54.244 -31.735 -3.844 -42.820 + 37.371 -5.376 -4.768 -1.521 -3.615 -2.125 -26.275 13.133 3.988 4.937 + -2.513 -6.017 7.871 -8.106 -10.567 11.140 1.033 0.432 1.583 -0.114 + 34.952 -22.575 10.584 -36.029 7.099 -13.743 23.547 10.527 -7.814 -24.696 + -9.306 -1.807 -29.036 4.432 -18.539 15.648 3.684 6.796 5.180 1.646 + 3.972 3.620 -13.658 26.121 -2.074 0.084 -1.032 -20.725 -9.148 -14.736 + 2.525 3.780 0.787 22.783 14.142 0.620 27.486 -12.647 -8.482 -13.041 + 6.884 3.255 0.712 -1.596 12.035 -9.797 7.244 -5.720 15.565 -13.287 + 20.203 11.374 2.717 -0.632 -12.373 4.963 -8.403 -30.209 25.628 -29.897 + 10.859 -10.817 12.004 22.117 -24.995 39.371 -20.514 3.040 -21.986 6.490 + 19.637 -24.998 1.684 -5.367 11.307 18.000 10.530 -6.265 12.877 -1.859 + 9.863 -20.676 -27.860 -3.676 -40.685 19.751 -32.426 2.652 0.474 2.200 + 17.462 -9.015 24.406 -1.936 7.925 -5.457 -2.618 -12.095 21.418 6.090 + 5.486 -3.638 18.238 28.806 15.591 0.006 -8.468 -7.850 -6.444 -0.872 + -5.305 -15.520 -35.948 44.096 -9.043 8.303 0.975 16.250 -13.583 -18.404 + 1.314 23.488 -34.215 -26.414 26.021 0.407 28.142 -16.424 12.096 4.120 + -8.277 -8.784 0.695 2.035 3.817 -13.263 -9.236 5.886 12.914 13.005 + -7.341 19.726 12.091 23.789 -8.400 4.212 -20.623 3.429 -21.005 -3.262 + -26.677 8.091 -16.029 -11.162 4.547 -7.338 17.495 -8.049 8.773 6.645 + 4.064 -2.418 -6.987 -3.233 4.550 11.623 -2.432 1.922 9.044 -3.962 + 16.170 0.223 2.513 -12.651 -47.456 5.242 6.761 28.199 0.573 -11.663 + 21.648 -5.605 3.871 -4.699 0.806 -1.422 -20.365 -7.261 15.287 3.934 + 15.747 -28.629 1.690 -10.895 20.126 -7.608 9.100 12.988 4.593 -4.583 + -4.581 24.300 -4.718 -27.495 -19.797 4.087 13.488 -18.097 -8.844 8.988 + 6.002 0.956 -1.571 26.963 -12.458 8.543 -13.759 4.817 -6.918 -13.783 + -19.060 7.573 -0.255 -5.101 -1.614 0.304 7.400 1.358 3.491 11.957 + -5.303 9.177 27.147 -5.076 -5.114 -14.291 7.966 2.788 17.986 -4.431 + -5.979 -0.620 6.726 14.530 -16.018 -16.525 -5.485 3.422 11.094 -16.866 + -14.729 -1.622 2.710 0.826 -4.746 17.344 -4.948 -59.174 18.896 2.664 + 24.146 -24.876 -1.504 30.322 -6.861 30.772 36.619 4.937 -15.575 -29.033 + 0.275 0.499 1.868 -5.203 7.295 -5.586 0.824 4.113 -0.874 -5.169 + 24.437 16.318 -7.578 4.909 13.262 5.229 1.202 -16.083 0.052 -5.057 + 15.809 4.093 -25.517 -13.562 -6.152 25.133 -3.811 3.394 -1.988 -11.727 + -2.463 22.501 17.419 1.440 -16.048 -9.472 9.041 -43.189 -3.418 1.519 + 7.199 5.219 -1.695 6.940 12.737 6.158 -11.541 -11.978 -2.193 -2.096 + -10.610 -25.038 12.191 32.977 10.110 -1.143 -17.671 -30.296 15.849 -32.809 + 4.185 4.701 23.464 27.536 3.048 7.750 -17.214 -20.175 -25.756 14.502 + -5.055 23.208 8.986 0.953 6.148 22.528 33.722 -17.589 -0.158 -7.183 + 2.014 -20.162 -19.619 13.674 -14.026 -34.713 -8.353 4.957 20.754 -15.973 + -1.024 0.876 17.795 -14.400 45.004 27.657 1.813 -0.292 -8.559 4.861 + -39.815 -7.950 14.442 7.529 -10.255 -3.835 7.770 -8.903 -5.397 -9.404 + -12.638 28.961 -9.500 46.706 -9.053 -3.596 -18.485 -6.401 3.066 -9.562 + 17.220 15.288 -36.778 3.215 24.026 21.615 -28.193 -8.407 8.797 3.368 + -19.883 -12.339 10.104 -14.294 -1.862 -6.365 -1.640 17.267 -23.997 30.001 + 15.016 12.385 -29.336 3.888 6.416 5.609 7.130 29.873 7.070 -22.293 + -25.043 -6.138 1.308 2.075 -16.584 22.925 -0.614 7.294 1.277 -14.396 + 23.478 1.676 7.968 -0.305 -25.533 35.530 -19.105 10.430 -10.094 -0.954 + 1.603 -18.658 58.433 -7.189 -0.735 -8.060 -1.610 6.996 -41.567 0.607 + -24.585 -2.904 15.553 50.987 -6.365 -31.929 -21.522 3.819 15.402 -8.516 + 9.708 13.285 0.021 -8.446 -12.782 -88.939 -39.544 9.068 75.178 31.357 + -18.620 -22.973 -27.810 -5.435 7.298 27.940 29.235 -8.595 -3.721 -8.666 + -25.903 3.918 18.068 27.912 -29.788 -39.093 -18.681 16.995 35.238 -1.911 + -1.669 -9.517 62.428 24.458 -11.537 -18.150 6.122 0.990 8.474 -3.423 + 2.092 0.969 -7.331 -7.869 11.605 5.316 5.075 -24.251 7.494 12.934 + 2.563 3.704 -3.602 14.945 24.046 -8.800 -16.287 -12.122 9.527 4.339 + -9.088 -1.438 0.290 2.037 6.881 -0.181 9.778 -6.471 1.783 -1.464 + 1.156 -21.204 -19.691 -35.587 16.936 6.806 25.933 27.325 -6.933 -2.161 + -5.216 1.554 -0.198 -6.499 -5.234 1.258 -4.711 -4.624 -0.426 14.452 + 2.487 -28.278 -13.271 -7.572 11.230 -15.769 21.892 -2.288 5.151 -11.574 + -7.490 19.555 -10.731 9.376 -17.075 -25.845 -4.222 -2.473 30.684 3.125 + 12.691 1.135 4.531 9.910 -15.785 5.229 -2.452 1.994 -0.767 -0.672 + -20.611 4.657 -11.864 11.394 -12.986 0.313 -13.205 -0.327 15.480 -4.736 + 12.039 -8.915 19.632 -4.690 8.629 -37.338 9.139 13.213 6.343 4.027 + -14.060 40.384 -3.266 0.977 -13.312 -1.544 -10.349 19.241 -14.960 10.461 + 7.172 32.633 -15.681 2.865 -14.016 -33.873 6.762 -8.342 27.875 -7.765 + 3.767 6.403 -11.784 14.897 15.440 3.233 -1.700 -30.547 10.898 -17.219 + 4.651 -3.426 0.502 16.474 2.386 15.094 54.119 -31.473 -4.164 -42.665 + 37.259 -5.451 -4.663 -1.453 -3.646 -2.249 -27.154 13.487 4.098 5.121 + -2.598 -6.103 8.091 -8.251 -10.553 11.042 1.091 0.259 1.739 -0.160 + 34.118 -22.827 10.181 -35.348 7.173 -13.414 23.577 9.920 -8.253 -24.757 + -8.815 -1.660 -29.293 4.543 -19.010 15.798 3.504 6.904 5.143 2.019 + 4.143 3.528 -14.058 26.761 -2.077 0.089 -1.033 -19.374 -8.703 -14.750 + 2.438 3.908 0.654 21.734 13.836 0.411 28.127 -12.912 -8.536 -13.261 + 7.004 3.296 0.236 -1.312 12.288 -9.566 7.136 -5.858 16.068 -13.444 + 20.404 11.435 2.753 -0.393 -12.593 4.885 -8.595 -30.798 26.296 -30.477 + 11.008 -11.110 12.220 21.418 -25.280 39.050 -19.877 2.716 -21.301 6.887 + 20.225 -25.303 1.531 -5.431 11.259 18.107 9.931 -6.363 13.141 -1.778 + 9.870 -20.741 -27.943 -3.609 -41.064 20.248 -32.634 2.585 0.384 2.484 + 17.341 -9.030 24.184 -2.289 7.713 -4.923 -2.442 -11.968 21.364 6.319 + 5.583 -3.728 18.542 29.586 15.756 -0.015 -8.782 -7.978 -6.428 -0.884 + -5.307 -15.758 -36.234 42.134 -8.751 8.425 1.176 16.034 -13.249 -17.903 + 1.294 22.892 -33.202 -26.995 26.731 0.495 28.851 -16.924 12.382 4.306 + -8.489 -8.978 0.620 2.072 3.879 -13.352 -9.338 5.968 12.928 13.363 + -7.474 20.398 11.484 24.499 -8.579 4.375 -21.204 3.361 -20.822 -3.443 + -27.400 8.433 -16.573 -10.311 4.276 -7.464 16.947 -7.969 9.017 6.926 + 3.903 -1.856 -7.312 -3.069 4.091 11.891 -2.483 2.020 9.212 -3.793 + 16.045 0.193 2.383 -12.544 -47.437 5.248 6.690 27.873 0.580 -11.497 + 21.890 -5.607 3.814 -4.714 0.772 -1.364 -20.603 -6.946 14.439 3.943 + 15.633 -28.222 1.582 -11.168 20.660 -7.653 9.322 13.310 4.657 -4.702 + -4.680 23.779 -4.713 -27.535 -19.251 4.002 13.296 -18.308 -8.987 9.065 + 5.936 0.967 -1.592 27.622 -12.585 8.762 -14.089 4.780 -7.107 -13.894 + -19.452 7.604 -0.287 -5.159 -1.599 0.256 7.526 1.314 3.438 12.132 + -5.230 9.389 27.352 -5.543 -5.211 -14.178 8.512 2.765 18.388 -4.395 + -6.123 -0.634 6.881 14.581 -16.124 -16.599 -5.265 3.263 10.925 -17.110 + -15.299 -1.906 2.685 0.979 -4.659 17.860 -4.860 -58.695 18.713 2.803 + 24.003 -24.945 -1.850 30.015 -6.988 31.546 37.293 4.995 -15.992 -29.481 + 0.329 0.495 1.747 -5.320 7.600 -6.036 0.832 4.152 -0.730 -5.292 + 24.965 16.816 -7.837 5.290 13.435 5.413 1.014 -16.368 0.217 -5.981 + 15.674 4.040 -25.424 -13.369 -6.288 25.899 -4.699 3.486 -2.128 -11.332 + -2.414 22.504 18.140 1.352 -15.932 -9.997 9.223 -44.136 -3.254 1.497 + 7.271 5.104 -1.742 7.263 13.299 6.467 -12.063 -12.690 -2.340 -1.931 + -10.434 -25.376 12.287 32.625 9.968 -1.071 -17.028 -30.314 16.287 -32.287 + 4.484 4.817 23.350 27.317 3.321 7.377 -16.753 -20.736 -26.094 14.274 + -4.983 23.460 8.944 0.704 6.347 22.236 33.820 -17.873 -0.034 -7.406 + 2.155 -19.977 -19.473 13.719 -13.858 -34.746 -8.304 4.582 20.776 -15.935 + -1.121 0.744 17.545 -13.797 44.417 26.816 1.970 -0.105 -8.010 4.574 + -38.856 -8.006 14.177 7.245 -9.922 -3.940 8.100 -9.043 -5.505 -9.642 + -12.936 29.446 -10.163 47.046 -9.153 -3.111 -18.145 -6.424 2.929 -9.776 + 17.427 15.985 -36.247 2.732 23.572 20.778 -27.885 -8.581 8.955 3.243 + -19.710 -12.740 10.173 -14.555 -1.684 -6.554 -1.737 17.546 -23.814 29.846 + 15.788 12.260 -28.973 3.710 6.400 5.561 7.144 28.478 6.721 -22.653 + -23.557 -5.776 1.145 2.122 -17.066 23.552 -0.614 7.483 1.328 -14.308 + 23.492 0.616 7.739 0.246 -25.240 36.266 -19.386 10.871 -10.126 -1.064 + 1.471 -18.927 58.469 -7.018 -0.670 -8.285 -1.748 6.814 -41.249 0.440 + -24.913 -2.947 15.799 51.264 -6.269 -31.802 -21.149 3.685 14.981 -9.127 + 9.074 12.762 0.362 -7.861 -12.324 -90.529 -40.231 9.290 75.703 31.018 + -19.446 -22.694 -27.445 -4.988 7.610 28.662 29.952 -8.848 -3.824 -8.945 + -25.474 2.936 16.978 27.707 -29.511 -38.602 -19.341 16.961 35.852 -1.748 + -1.224 -9.500 63.495 24.899 -11.801 -18.629 6.222 1.021 8.614 -3.519 + 2.113 1.822 -7.504 -8.106 11.132 5.552 5.277 -24.683 7.629 13.096 + 2.483 3.792 -3.569 14.631 24.428 -8.721 -16.069 -12.298 9.387 4.236 + -9.193 -1.494 0.415 2.130 6.952 -0.122 9.971 -6.465 1.882 -1.539 + 1.195 -21.288 -18.740 -34.606 16.943 5.549 24.767 27.881 -7.110 -2.252 + -5.266 1.588 -0.203 -6.726 -5.397 1.292 -4.694 -4.743 -0.429 14.637 + 2.467 -28.954 -13.494 -7.688 11.548 -15.465 22.046 -2.561 5.307 -11.661 + -7.371 19.413 -10.980 9.428 -17.527 -26.113 -4.323 -2.161 31.238 3.417 + 12.620 1.197 4.439 10.322 -15.819 5.391 -2.645 1.671 -0.811 -0.841 + -20.971 4.679 -11.843 10.971 -13.077 0.250 -12.891 -0.432 15.327 -4.702 + 11.981 -8.725 19.874 -4.527 9.020 -37.996 9.515 13.344 6.348 3.982 + -14.402 40.795 -3.354 1.022 -13.053 -1.561 -10.617 19.607 -15.337 10.570 + 7.454 33.455 -16.030 2.919 -14.332 -33.398 6.732 -7.556 27.345 -7.817 + 2.912 7.133 -11.730 15.455 15.184 3.113 -1.972 -30.341 11.304 -17.201 + 4.645 -3.331 0.492 16.109 2.108 15.066 53.735 -31.099 -4.510 -42.327 + 37.000 -5.505 -4.508 -1.356 -3.649 -2.363 -27.981 13.811 4.195 5.290 + -2.680 -6.173 8.292 -8.369 -10.549 10.928 1.135 0.095 1.899 -0.200 + 33.064 -23.021 9.691 -34.443 7.223 -12.989 23.544 9.248 -8.698 -24.769 + -8.279 -1.501 -29.506 4.643 -19.495 15.926 3.301 7.011 5.093 2.420 + 4.320 3.392 -14.471 27.386 -2.051 0.103 -1.023 -17.797 -8.193 -14.712 + 2.298 4.036 0.469 20.523 13.471 0.196 28.779 -13.176 -8.564 -13.495 + 7.128 3.335 -0.274 -1.012 12.521 -9.297 7.006 -5.997 16.599 -13.645 + 20.543 11.456 2.796 -0.113 -12.816 4.848 -8.781 -31.313 26.921 -30.975 + 11.114 -11.390 12.397 20.626 -25.533 38.625 -19.168 2.383 -20.548 7.279 + 20.825 -25.554 1.372 -5.490 11.180 18.166 9.242 -6.467 13.381 -1.690 + 9.847 -20.738 -27.937 -3.519 -41.333 20.708 -32.703 2.514 0.298 2.769 + 17.131 -9.014 23.833 -2.689 7.452 -4.372 -2.248 -11.801 21.255 6.565 + 5.677 -3.794 18.840 30.368 15.908 -0.042 -9.081 -8.103 -6.392 -0.909 + -5.295 -15.960 -36.530 39.950 -8.423 8.543 1.387 15.748 -12.838 -17.300 + 1.274 22.230 -32.072 -27.501 27.409 0.611 29.503 -17.413 12.639 4.479 + -8.683 -9.163 0.537 2.098 3.933 -13.389 -9.408 6.003 12.891 13.710 + -7.598 21.087 10.800 25.213 -8.748 4.543 -21.772 3.279 -20.575 -3.631 + -28.156 8.788 -17.107 -9.289 3.930 -7.552 16.251 -7.835 9.252 7.143 + 3.785 -1.352 -7.608 -2.923 3.659 12.157 -2.557 2.157 9.402 -3.598 + 15.872 0.159 2.234 -12.403 -47.304 5.242 6.588 27.432 0.589 -11.284 + 22.080 -5.576 3.729 -4.699 0.722 -1.295 -20.807 -6.597 13.498 3.930 + 15.479 -27.717 1.512 -11.437 21.168 -7.689 9.507 13.650 4.716 -4.810 + -4.779 23.182 -4.687 -27.534 -18.640 3.912 13.069 -18.525 -9.177 9.140 + 5.890 0.986 -1.622 28.301 -12.675 8.968 -14.406 4.720 -7.291 -13.989 + -19.807 7.606 -0.331 -5.190 -1.573 0.205 7.631 1.254 3.357 12.268 + -5.117 9.586 27.474 -6.044 -5.301 -13.995 9.094 2.684 18.839 -4.300 + -6.231 -0.667 6.997 14.650 -16.243 -16.695 -5.048 3.108 10.759 -17.327 + -15.842 -2.199 2.644 1.134 -4.539 18.360 -4.785 -58.057 18.481 2.950 + 23.804 -24.960 -2.210 29.615 -7.112 32.299 37.929 5.061 -16.409 -29.912 + 0.374 0.506 1.630 -5.435 7.898 -6.519 0.842 4.173 -0.557 -5.411 + 25.484 17.309 -8.121 5.794 13.562 5.614 0.720 -16.604 0.407 -7.011 + 15.486 3.966 -25.221 -13.111 -6.427 26.670 -5.706 3.575 -2.273 -10.828 + -2.353 22.483 18.884 1.260 -15.811 -10.520 9.398 -45.039 -3.104 1.518 + 7.299 4.941 -1.800 7.600 13.884 6.743 -12.580 -13.439 -2.483 -1.743 + -10.196 -25.687 12.329 32.173 9.799 -0.988 -16.313 -30.270 16.723 -31.615 + 4.809 4.930 23.137 27.014 3.606 6.958 -16.202 -21.251 -26.405 14.017 + -4.901 23.689 8.849 0.413 6.550 21.886 33.810 -18.105 0.065 -7.623 + 2.272 -19.709 -19.230 13.721 -13.702 -34.766 -8.208 4.213 20.794 -15.898 + -1.233 0.612 17.255 -13.121 43.679 25.953 2.122 0.084 -7.461 4.258 + -37.727 -8.064 13.889 6.931 -9.560 -4.060 8.436 -9.190 -5.602 -9.861 + -13.206 29.897 -10.842 47.298 -9.243 -2.574 -17.723 -6.423 2.755 -9.987 + 17.557 16.562 -35.687 2.236 23.079 19.905 -27.433 -8.729 9.105 3.075 + -19.412 -13.129 10.179 -14.806 -1.517 -6.722 -1.820 17.832 -23.586 29.596 + 16.576 12.112 -28.526 3.512 6.384 5.513 7.153 26.971 6.345 -22.996 + -21.964 -5.387 0.970 2.175 -17.546 24.192 -0.613 7.666 1.363 -14.175 + 23.425 -0.531 7.467 0.852 -24.847 36.986 -19.639 11.298 -10.165 -1.185 + 1.344 -19.158 58.412 -6.855 -0.627 -8.509 -1.874 6.614 -40.857 0.269 + -25.201 -2.974 16.036 51.455 -6.160 -31.618 -20.704 3.530 14.497 -9.763 + 8.442 12.259 0.709 -7.269 -11.861 -91.994 -40.893 9.477 76.090 30.576 + -20.261 -22.345 -26.984 -4.512 7.876 29.363 30.650 -9.056 -3.918 -9.223 + -24.940 1.882 15.764 27.430 -29.152 -37.996 -20.016 16.896 36.449 -1.577 + -0.767 -9.478 64.481 25.329 -12.040 -19.081 6.378 1.070 8.737 -3.620 + 2.128 2.655 -7.713 -8.350 10.661 5.774 5.474 -24.997 7.769 13.183 + 2.323 3.878 -3.475 14.335 24.781 -8.635 -15.855 -12.477 9.255 4.138 + -9.296 -1.546 0.525 2.228 7.038 -0.060 10.147 -6.473 1.981 -1.597 + 1.218 -21.374 -17.749 -33.586 16.943 4.273 23.571 28.392 -7.282 -2.341 + -5.298 1.630 -0.207 -6.968 -5.549 1.317 -4.648 -4.866 -0.427 14.738 + 2.418 -29.609 -13.646 -7.793 11.866 -15.047 22.209 -2.840 5.465 -11.724 + -7.217 19.167 -11.244 9.442 -17.976 -26.384 -4.418 -1.799 31.744 3.747 + 12.505 1.269 4.317 10.705 -15.904 5.544 -2.822 1.404 -0.852 -0.997 + -21.297 4.704 -11.848 10.502 -13.171 0.196 -12.544 -0.538 15.206 -4.711 + 11.925 -8.546 20.111 -4.361 9.414 -38.486 9.901 13.425 6.282 3.902 + -14.702 41.064 -3.417 1.058 -12.722 -1.583 -10.894 19.996 -15.722 10.643 + 7.743 34.238 -16.354 2.972 -14.623 -32.790 6.677 -6.658 26.703 -7.849 + 1.967 7.887 -11.640 15.988 14.892 2.981 -2.252 -30.064 11.694 -17.142 + 4.617 -3.214 0.488 15.688 1.810 15.007 53.201 -30.638 -4.865 -41.857 + 36.640 -5.563 -4.332 -1.243 -3.640 -2.449 -28.778 14.133 4.264 5.436 + -2.767 -6.241 8.486 -8.483 -10.531 10.795 1.182 -0.067 2.066 -0.234 + 31.852 -23.184 9.135 -33.394 7.260 -12.497 23.464 8.519 -9.156 -24.742 + -7.704 -1.338 -29.644 4.769 -19.981 15.993 3.047 7.103 5.015 2.846 + 4.502 3.330 -14.874 28.044 -2.081 0.097 -1.026 -16.313 -7.689 -14.728 + 2.176 4.150 0.315 19.385 13.138 -0.004 29.411 -13.413 -8.576 -13.716 + 7.240 3.383 -0.759 -0.724 12.738 -9.025 6.874 -6.125 17.091 -13.805 + 20.619 11.467 2.836 0.192 -13.017 4.781 -8.954 -31.781 27.511 -31.408 + 11.196 -11.660 12.550 19.734 -25.754 38.090 -18.395 2.026 -19.728 7.706 + 21.436 -25.718 1.183 -5.520 11.033 18.153 8.469 -6.607 13.651 -1.615 + 9.847 -20.687 -27.844 -3.406 -41.563 21.144 -32.649 2.469 0.210 3.045 + 16.849 -8.965 23.364 -3.061 7.154 -3.762 -2.032 -11.606 21.100 6.766 + 5.786 -3.882 19.122 31.145 16.005 -0.073 -9.390 -8.194 -6.332 -0.929 + -5.263 -16.154 -36.824 37.593 -8.060 8.659 1.601 15.409 -12.367 -16.619 + 1.260 21.514 -30.848 -27.947 28.055 0.734 30.126 -17.892 12.887 4.699 + -8.884 -9.322 0.389 2.135 3.962 -13.399 -9.442 6.003 12.839 14.050 + -7.712 21.700 10.030 25.909 -8.853 4.709 -22.314 3.191 -20.251 -3.825 + -28.875 9.128 -17.627 -8.180 3.580 -7.675 15.493 -7.683 9.483 7.330 + 3.652 -0.804 -7.907 -2.771 3.213 12.424 -2.636 2.310 9.588 -3.402 + 15.684 0.127 2.092 -12.274 -47.010 5.205 6.464 26.855 0.607 -11.017 + 22.269 -5.561 3.663 -4.697 0.690 -1.254 -21.000 -6.194 12.461 3.912 + 15.281 -27.119 1.412 -11.692 21.662 -7.730 9.663 14.003 4.783 -4.917 + -4.881 22.490 -4.662 -27.461 -17.926 3.820 12.778 -18.744 -9.348 9.207 + 5.835 1.001 -1.639 28.958 -12.767 9.158 -14.721 4.671 -7.472 -14.029 + -20.164 7.655 -0.394 -5.197 -1.550 0.129 7.719 1.161 3.280 12.403 + -5.018 9.777 27.564 -6.543 -5.389 -13.791 9.685 2.607 19.272 -4.214 + -6.329 -0.697 7.104 14.680 -16.333 -16.732 -4.806 2.931 10.560 -17.560 + -16.404 -2.564 2.605 1.306 -4.383 18.798 -4.653 -57.109 18.182 3.099 + 23.523 -24.859 -2.607 29.023 -7.215 32.996 38.508 5.110 -16.761 -30.306 + 0.425 0.499 1.491 -5.554 8.241 -7.075 0.858 4.126 -0.308 -5.513 + 25.943 17.781 -8.423 6.384 13.634 5.827 0.368 -16.793 0.625 -8.131 + 15.273 3.873 -24.946 -12.809 -6.582 27.477 -6.769 3.667 -2.424 -10.270 + -2.266 22.378 19.620 1.155 -15.647 -11.046 9.548 -45.873 -2.917 1.566 + 7.320 4.805 -1.859 7.938 14.459 7.021 -13.117 -14.257 -2.628 -1.528 + -9.878 -25.977 12.355 31.628 9.602 -0.908 -15.522 -30.147 17.158 -30.868 + 5.135 5.043 22.867 26.648 3.884 6.521 -15.621 -21.727 -26.715 13.726 + -4.815 23.897 8.737 0.099 6.758 21.500 33.713 -18.273 0.133 -7.829 + 2.375 -19.374 -18.930 13.691 -13.553 -34.747 -8.119 3.851 20.808 -15.853 + -1.340 0.472 16.953 -12.406 42.812 25.036 2.292 0.276 -6.900 3.916 + -36.471 -8.112 13.569 6.600 -9.160 -4.193 8.770 -9.357 -5.691 -10.064 + -13.455 30.309 -11.469 47.526 -9.322 -2.040 -17.283 -6.389 2.529 -10.187 + 17.590 17.026 -35.134 1.753 22.581 19.034 -26.876 -8.861 9.253 2.880 + -19.025 -13.511 10.187 -15.016 -1.335 -6.892 -1.912 18.111 -23.313 29.253 + 17.378 11.930 -27.971 3.286 6.351 5.444 7.134 25.394 5.946 -23.279 + -20.293 -4.975 0.770 2.221 -18.007 24.865 -0.602 7.829 1.372 -14.022 + 23.300 -1.732 7.176 1.497 -24.411 37.658 -19.856 11.714 -10.168 -1.315 + 1.200 -19.334 58.122 -6.657 -0.583 -8.718 -1.985 6.368 -40.281 0.067 + -25.440 -2.955 16.260 51.539 -6.097 -31.401 -20.192 3.384 13.974 -10.425 + 7.809 11.755 1.068 -6.651 -11.366 -93.268 -41.484 9.633 76.319 30.052 + -21.067 -21.944 -26.447 -3.995 8.138 30.045 31.312 -9.238 -4.004 -9.493 + -24.327 0.711 14.409 27.072 -28.685 -37.253 -20.702 16.803 37.005 -1.380 + -0.284 -9.438 65.351 25.703 -12.256 -19.538 6.534 1.124 8.873 -3.723 + 2.144 3.435 -7.904 -8.588 10.236 5.980 5.668 -25.305 7.889 13.248 + 2.158 3.976 -3.371 13.975 25.126 -8.497 -15.582 -12.639 9.085 3.953 + -9.384 -1.549 0.696 2.359 7.071 0.006 10.310 -6.464 2.106 -1.694 + 1.223 -21.453 -16.748 -32.536 16.943 2.980 22.350 28.887 -7.408 -2.440 + -5.317 1.654 -0.207 -7.181 -5.727 1.348 -4.622 -4.977 -0.427 14.784 + 2.371 -30.230 -13.754 -7.892 12.176 -14.604 22.383 -3.097 5.614 -11.806 + -7.094 18.900 -11.499 9.461 -18.400 -26.612 -4.503 -1.389 32.156 4.106 + 12.340 1.350 4.165 11.079 -15.885 5.685 -3.005 1.086 -0.890 -1.155 + -21.628 4.719 -11.829 9.906 -13.243 0.141 -12.069 -0.651 14.988 -4.710 + 11.819 -8.299 20.311 -4.156 9.812 -38.907 10.292 13.481 6.188 3.804 + -14.947 41.268 -3.477 1.082 -12.346 -1.594 -11.193 20.384 -16.103 10.757 + 7.999 34.994 -16.689 3.033 -14.913 -32.110 6.612 -5.704 25.983 -7.858 + 0.979 8.634 -11.552 16.527 14.583 2.844 -2.535 -29.759 12.102 -17.064 + 4.599 -3.110 0.479 15.243 1.497 14.932 52.526 -30.050 -5.252 -41.274 + 36.169 -5.608 -4.139 -1.131 -3.620 -2.533 -29.584 14.452 4.337 5.588 + -2.849 -6.307 8.675 -8.588 -10.522 10.653 1.212 -0.214 2.236 -0.260 + 30.480 -23.318 8.513 -32.183 7.292 -11.931 23.333 7.760 -9.614 -24.676 + -7.103 -1.168 -29.747 4.973 -20.474 16.015 2.746 7.181 4.950 3.244 + 4.679 3.271 -15.259 28.689 -2.120 0.083 -1.028 -14.611 -7.148 -14.669 + 2.017 4.268 0.126 18.075 12.753 -0.220 30.043 -13.655 -8.549 -13.932 + 7.351 3.430 -1.285 -0.412 12.889 -8.713 6.720 -6.237 17.572 -13.942 + 20.682 11.473 2.875 0.510 -13.204 4.687 -9.122 -32.234 28.055 -31.788 + 11.263 -11.920 12.683 18.866 -25.910 37.522 -17.625 1.662 -18.907 8.129 + 21.977 -25.829 0.978 -5.523 10.839 18.096 7.646 -6.724 13.908 -1.542 + 9.812 -20.587 -27.688 -3.274 -41.678 21.620 -32.603 2.372 0.075 3.374 + 16.522 -8.911 22.843 -3.431 6.808 -3.115 -1.813 -11.364 20.899 6.955 + 5.884 -3.964 19.442 31.937 16.106 -0.114 -9.706 -8.271 -6.290 -0.947 + -5.244 -16.264 -37.111 34.998 -7.688 8.755 1.822 14.981 -11.811 -15.817 + 1.233 20.722 -29.521 -28.355 28.732 0.892 30.719 -18.373 13.117 4.920 + -9.102 -9.479 0.231 2.166 3.987 -13.363 -9.446 5.977 12.732 14.367 + -7.825 22.327 9.161 26.563 -8.958 4.875 -22.835 3.089 -19.823 -4.016 + -29.535 9.441 -18.088 -7.028 3.226 -7.816 14.674 -7.507 9.701 7.493 + 3.541 -0.294 -8.186 -2.643 2.814 12.731 -2.720 2.445 9.692 -3.163 + 15.483 0.107 1.932 -12.133 -46.540 5.128 6.338 26.147 0.625 -10.694 + 22.388 -5.498 3.524 -4.658 0.638 -1.180 -21.124 -5.744 11.313 3.879 + 15.022 -26.398 1.250 -11.931 22.133 -7.776 9.832 14.366 4.843 -5.023 + -4.984 21.733 -4.656 -27.328 -17.129 3.721 12.439 -18.977 -9.511 9.253 + 5.773 1.026 -1.656 29.613 -12.822 9.379 -15.029 4.604 -7.649 -14.020 + -20.538 7.726 -0.474 -5.163 -1.520 0.029 7.789 1.031 3.195 12.529 + -4.911 9.962 27.613 -7.064 -5.470 -13.555 10.274 2.557 19.646 -4.127 + -6.443 -0.711 7.221 14.740 -16.404 -16.838 -4.598 2.769 10.411 -17.791 + -16.963 -2.926 2.559 1.480 -4.233 19.223 -4.458 -56.019 17.836 3.249 + 23.179 -24.704 -3.027 28.359 -7.298 33.596 39.074 5.145 -17.040 -30.680 + 0.479 0.479 1.331 -5.675 8.599 -7.664 0.879 4.036 -0.020 -5.605 + 26.383 18.249 -8.731 7.014 13.652 6.042 -0.009 -16.950 0.868 -9.322 + 15.066 3.767 -24.626 -12.494 -6.769 28.362 -7.904 3.770 -2.602 -9.629 + -2.155 22.197 20.327 1.043 -15.450 -11.565 9.681 -46.655 -2.711 1.646 + 7.326 4.687 -1.926 8.276 15.024 7.281 -13.668 -15.137 -2.783 -1.284 + -9.498 -26.212 12.322 30.955 9.351 -0.819 -14.603 -29.892 17.623 -30.037 + 5.461 5.147 22.557 26.176 4.163 6.030 -14.927 -22.152 -26.987 13.353 + -4.722 24.046 8.588 -0.263 6.980 21.082 33.559 -18.400 0.193 -8.029 + 2.468 -18.998 -18.586 13.647 -13.382 -34.641 -8.019 3.469 20.769 -15.777 + -1.451 0.315 16.602 -11.599 41.818 24.073 2.457 0.461 -6.332 3.540 + -35.056 -8.156 13.195 6.235 -8.722 -4.309 9.110 -9.477 -5.778 -10.272 + -13.711 30.661 -12.069 47.662 -9.385 -1.486 -16.788 -6.336 2.274 -10.380 + 17.633 17.461 -34.470 1.242 22.003 18.073 -26.262 -8.985 9.388 2.647 + -18.556 -13.886 10.240 -15.158 -1.110 -7.092 -2.043 18.338 -22.982 28.900 + 18.177 11.723 -27.350 3.059 6.291 5.321 7.093 23.651 5.501 -23.525 + -18.474 -4.525 0.557 2.274 -18.500 25.497 -0.597 8.006 1.410 -13.842 + 23.177 -3.015 6.856 2.153 -23.896 38.292 -20.066 12.146 -10.149 -1.447 + 1.033 -19.486 57.673 -6.425 -0.533 -8.934 -2.107 6.087 -39.557 -0.149 + -25.653 -2.910 16.499 51.530 -6.023 -31.124 -19.601 3.222 13.388 -11.096 + 7.135 11.200 1.429 -6.010 -10.832 -94.402 -42.004 9.787 76.353 29.429 + -21.872 -21.451 -25.810 -3.430 8.389 30.675 31.934 -9.385 -4.066 -9.757 + -23.609 -0.558 12.914 26.634 -28.112 -36.372 -21.452 16.653 37.542 -1.142 + 0.251 -9.375 66.160 26.030 -12.480 -19.932 6.672 1.179 8.959 -3.817 + 2.158 4.262 -8.061 -8.810 9.774 6.189 5.867 -25.623 7.967 13.249 + 1.974 4.082 -3.249 13.591 25.456 -8.314 -15.281 -12.793 8.888 3.763 + -9.505 -1.612 0.878 2.493 7.093 0.101 10.453 -6.392 2.194 -1.745 + 1.236 -21.520 -15.685 -31.411 16.933 1.638 21.061 29.381 -7.520 -2.534 + -5.343 1.666 -0.204 -7.361 -5.891 1.389 -4.615 -5.086 -0.431 14.805 + 2.301 -30.878 -13.843 -7.978 12.488 -14.070 22.530 -3.299 5.765 -11.872 + -6.974 18.549 -11.753 9.442 -18.809 -26.786 -4.588 -0.943 32.512 4.495 + 12.107 1.431 3.971 11.491 -15.855 5.840 -3.203 0.766 -0.935 -1.364 + -21.944 4.707 -11.773 9.246 -13.298 0.083 -11.559 -0.764 14.763 -4.705 + 11.721 -8.041 20.475 -3.952 10.218 -39.253 10.680 13.528 6.077 3.703 + -15.205 41.437 -3.532 1.111 -11.952 -1.608 -11.481 20.780 -16.487 10.891 + 8.238 35.764 -17.031 3.100 -15.204 -31.333 6.534 -4.673 25.165 -7.838 + -0.072 9.365 -11.484 17.063 14.244 2.707 -2.823 -29.336 12.487 -16.958 + 4.548 -2.953 0.468 14.739 1.175 14.817 51.713 -29.384 -5.647 -40.576 + 35.609 -5.644 -3.931 -1.008 -3.588 -2.641 -30.370 14.734 4.416 5.738 + -2.924 -6.351 8.848 -8.663 -10.453 10.519 1.256 -0.389 2.411 -0.293 + 29.006 -23.456 7.837 -30.874 7.310 -11.322 23.047 6.867 -10.094 -24.486 + -6.363 -0.965 -29.744 5.258 -20.918 15.969 2.373 7.239 4.880 3.633 + 4.847 3.124 -15.653 29.279 -2.110 0.088 -1.022 -12.834 -6.632 -14.523 + 1.835 4.394 -0.106 16.727 12.376 -0.457 30.670 -13.891 -8.519 -14.133 + 7.454 3.477 -1.837 -0.093 13.008 -8.372 6.553 -6.329 18.068 -14.049 + 20.711 11.439 2.910 0.858 -13.380 4.585 -9.289 -32.660 28.578 -32.148 + 11.318 -12.178 12.811 17.935 -26.027 36.880 -16.817 1.271 -18.039 8.573 + 22.481 -25.887 0.759 -5.503 10.614 18.052 6.817 -6.843 14.131 -1.467 + 9.753 -20.465 -27.504 -3.132 -41.774 22.041 -32.421 2.313 -0.034 3.657 + 16.156 -8.840 22.255 -3.820 6.406 -2.405 -1.567 -11.068 20.623 7.127 + 5.978 -4.050 19.694 32.740 16.185 -0.147 -10.015 -8.349 -6.190 -0.971 + -5.197 -16.346 -37.450 32.253 -7.269 8.846 2.053 14.479 -11.185 -14.915 + 1.206 19.903 -28.153 -28.753 29.403 1.046 31.303 -18.843 13.346 5.060 + -9.312 -9.649 0.148 2.173 4.032 -13.318 -9.389 5.946 12.620 14.666 + -7.919 22.819 8.197 27.175 -8.951 5.018 -23.321 2.967 -19.297 -4.212 + -30.113 9.738 -18.545 -5.876 2.865 -7.948 13.827 -7.318 9.913 7.628 + 3.449 0.187 -8.448 -2.527 2.438 13.085 -2.804 2.529 9.778 -2.920 + 15.317 0.077 1.765 -11.986 -45.933 5.056 6.125 25.318 0.640 -10.303 + 22.478 -5.447 3.411 -4.605 0.589 -1.112 -21.242 -5.262 10.091 3.845 + 14.740 -25.624 1.046 -12.162 22.631 -7.787 9.995 14.711 4.869 -5.115 + -5.077 20.869 -4.662 -27.131 -16.214 3.608 12.045 -19.159 -9.641 9.278 + 5.679 1.048 -1.660 30.233 -12.817 9.614 -15.309 4.474 -7.811 -13.994 + -20.923 7.809 -0.557 -5.090 -1.487 -0.091 7.835 0.893 3.104 12.643 + -4.824 10.150 27.665 -7.588 -5.552 -13.318 10.847 2.494 19.968 -4.016 + -6.557 -0.714 7.338 14.741 -16.379 -16.898 -4.335 2.566 10.189 -17.996 + -17.580 -3.311 2.505 1.671 -4.056 19.690 -4.264 -54.756 17.408 3.407 + 22.728 -24.509 -3.455 27.647 -7.391 34.218 39.588 5.193 -17.366 -31.045 + 0.521 0.486 1.197 -5.794 8.965 -8.242 0.901 3.945 0.277 -5.691 + 26.769 18.694 -9.038 7.672 13.654 6.257 -0.395 -17.087 1.117 -10.508 + 14.846 3.651 -24.286 -12.169 -6.945 29.181 -9.083 3.869 -2.759 -8.929 + -2.041 21.987 21.022 0.921 -15.210 -12.088 9.814 -47.405 -2.502 1.709 + 7.353 4.575 -1.986 8.606 15.581 7.546 -14.254 -16.075 -2.941 -1.012 + -9.056 -26.429 12.292 30.243 9.083 -0.736 -13.659 -29.604 18.057 -29.070 + 5.821 5.254 22.137 25.638 4.460 5.507 -14.154 -22.571 -27.154 12.880 + -4.611 24.124 8.450 -0.628 7.193 20.623 33.255 -18.495 0.243 -8.210 + 2.544 -18.557 -18.156 13.559 -13.157 -34.372 -7.969 3.022 20.627 -15.637 + -1.560 0.147 16.253 -10.736 40.754 23.041 2.625 0.659 -5.734 3.148 + -33.573 -8.202 12.782 5.841 -8.244 -4.414 9.446 -9.586 -5.865 -10.473 + -13.963 30.973 -12.668 47.727 -9.433 -0.917 -16.247 -6.266 2.004 -10.556 + 17.709 17.948 -33.694 0.693 21.329 17.008 -25.622 -9.106 9.520 2.396 + -18.042 -14.261 10.298 -15.260 -0.815 -7.325 -2.204 18.500 -22.591 28.509 + 19.007 11.498 -26.670 2.810 6.210 5.173 7.028 21.823 5.028 -23.749 + -16.573 -4.053 0.334 2.336 -18.992 26.078 -0.596 8.182 1.457 -13.619 + 22.989 -4.379 6.501 2.836 -23.285 38.898 -20.231 12.605 -10.109 -1.570 + 0.851 -19.599 57.005 -6.185 -0.502 -9.124 -2.211 5.767 -38.673 -0.404 + -25.830 -2.827 16.756 51.442 -5.943 -30.798 -18.970 3.039 12.759 -11.718 + 6.454 10.603 1.775 -5.354 -10.271 -95.468 -42.503 9.934 76.288 28.737 + -22.675 -20.919 -25.108 -2.836 8.550 31.244 32.515 -9.461 -4.111 -10.019 + -22.805 -1.843 11.366 26.129 -27.480 -35.403 -22.156 16.507 38.052 -0.927 + 0.759 -9.321 66.930 26.352 -12.688 -20.285 6.798 1.250 9.010 -3.898 + 2.165 5.076 -8.262 -9.058 9.283 6.403 6.071 -25.880 8.065 13.290 + 1.784 4.178 -3.130 13.213 25.755 -8.147 -14.962 -12.941 8.684 3.578 + -9.609 -1.650 1.036 2.623 7.115 0.181 10.601 -6.336 2.308 -1.809 + 1.245 -21.609 -14.522 -30.206 16.924 0.217 19.691 29.848 -7.607 -2.635 + -5.358 1.679 -0.200 -7.515 -6.092 1.434 -4.628 -5.180 -0.436 14.784 + 2.249 -31.512 -13.902 -8.061 12.808 -13.525 22.645 -3.495 5.912 -11.922 + -6.842 18.201 -11.992 9.411 -19.209 -26.970 -4.676 -0.424 32.858 4.931 + 11.802 1.510 3.736 11.911 -15.761 5.994 -3.414 0.403 -0.982 -1.592 + -22.255 4.681 -11.624 8.612 -13.306 0.002 -11.053 -0.887 14.413 -4.703 + 11.556 -7.713 20.592 -3.707 10.684 -39.536 11.109 13.536 5.936 3.573 + -15.478 41.561 -3.597 1.136 -11.536 -1.625 -11.775 21.191 -16.868 10.987 + 8.461 36.482 -17.352 3.171 -15.470 -30.464 6.442 -3.587 24.287 -7.798 + -1.149 10.073 -11.446 17.568 13.920 2.575 -3.107 -28.905 12.892 -16.823 + 4.497 -2.793 0.455 14.220 0.842 14.688 50.747 -28.645 -6.088 -39.757 + 34.950 -5.668 -3.686 -0.859 -3.536 -2.715 -31.142 15.033 4.468 5.865 + -3.008 -6.399 9.023 -8.743 -10.397 10.401 1.300 -0.557 2.577 -0.324 + 27.397 -23.555 7.118 -29.451 7.319 -10.660 22.809 5.899 -10.553 -24.287 + -5.602 -0.757 -29.681 5.563 -21.345 15.884 1.984 7.282 4.793 4.011 + 5.035 2.960 -16.018 29.838 -2.088 0.094 -1.015 -10.935 -6.082 -14.364 + 1.657 4.515 -0.330 15.247 11.957 -0.703 31.265 -14.113 -8.544 -14.321 + 7.554 3.525 -2.452 0.265 13.161 -7.987 6.358 -6.421 18.585 -14.096 + 20.665 11.357 2.931 1.237 -13.526 4.449 -9.432 -33.023 29.051 -32.432 + 11.338 -12.423 12.902 16.875 -26.092 36.083 -15.902 0.853 -17.063 9.020 + 22.945 -25.907 0.534 -5.464 10.366 17.979 5.914 -6.930 14.320 -1.385 + 9.649 -20.279 -27.248 -2.982 -41.791 22.434 -32.090 2.270 -0.126 3.909 + 15.713 -8.746 21.567 -4.251 5.955 -1.640 -1.293 -10.720 20.300 7.294 + 6.064 -4.151 19.898 33.531 16.155 -0.184 -10.335 -8.373 -6.036 -0.998 + -5.124 -16.394 -37.733 29.363 -6.813 8.919 2.299 13.927 -10.509 -13.946 + 1.164 19.017 -26.704 -29.114 30.074 1.229 31.853 -19.305 13.555 5.240 + -9.558 -9.819 0.017 2.200 4.066 -13.204 -9.294 5.933 12.450 14.959 + -8.005 23.277 7.176 27.726 -8.906 5.148 -23.778 2.828 -18.719 -4.410 + -30.702 10.048 -18.990 -4.662 2.470 -8.066 12.940 -7.110 10.117 7.740 + 3.359 0.698 -8.710 -2.405 2.035 13.437 -2.895 2.618 9.900 -2.655 + 15.080 0.033 1.572 -11.775 -45.234 4.996 5.861 24.396 0.657 -9.876 + 22.518 -5.393 3.298 -4.534 0.530 -1.028 -21.307 -4.770 8.822 3.791 + 14.438 -24.797 0.842 -12.389 23.119 -7.804 10.166 15.043 4.909 -5.216 + -5.170 19.886 -4.653 -26.878 -15.193 3.481 11.605 -19.322 -9.770 9.324 + 5.569 1.074 -1.672 30.838 -12.792 9.814 -15.571 4.333 -7.972 -13.944 + -21.235 7.872 -0.648 -5.033 -1.459 -0.213 7.876 0.749 2.995 12.716 + -4.698 10.330 27.632 -8.138 -5.630 -13.012 11.464 2.436 20.277 -3.908 + -6.668 -0.716 7.453 14.719 -16.343 -16.911 -4.045 2.353 9.929 -18.247 + -18.196 -3.728 2.457 1.857 -3.883 20.173 -4.021 -53.236 16.894 3.574 + 22.164 -24.229 -3.922 26.810 -7.482 34.779 40.016 5.233 -17.635 -31.321 + 0.568 0.471 1.016 -5.915 9.314 -8.811 0.924 3.851 0.561 -5.767 + 27.111 19.142 -9.337 8.297 13.610 6.468 -0.755 -17.223 1.355 -11.703 + 14.662 3.533 -23.921 -11.836 -7.099 29.992 -10.296 3.956 -2.913 -8.190 + -1.925 21.731 21.642 0.799 -14.956 -12.588 9.929 -48.052 -2.214 1.812 + 7.383 4.498 -2.048 8.934 16.127 7.806 -14.859 -17.058 -3.105 -0.714 + -8.552 -26.621 12.210 29.422 8.780 -0.639 -12.641 -29.199 18.496 -27.969 + 6.193 5.355 21.657 24.987 4.775 4.916 -13.207 -22.958 -27.253 12.294 + -4.472 24.131 8.258 -1.041 7.405 20.079 32.873 -18.556 0.298 -8.397 + 2.620 -18.050 -17.664 13.443 -12.857 -34.011 -7.984 2.523 20.417 -15.442 + -1.676 -0.016 15.917 -9.865 39.536 21.959 2.794 0.857 -5.110 2.739 + -31.946 -8.238 12.361 5.441 -7.759 -4.502 9.817 -9.638 -5.957 -10.688 + -14.236 31.290 -13.347 47.715 -9.477 -0.321 -15.664 -6.216 1.785 -10.719 + 17.745 18.487 -32.815 0.107 20.554 15.834 -24.870 -9.221 9.642 2.119 + -17.486 -14.626 10.398 -15.322 -0.441 -7.586 -2.407 18.596 -22.189 27.992 + 19.813 11.235 -25.887 2.533 6.140 5.052 6.987 19.964 4.538 -23.948 + -14.641 -3.571 0.105 2.388 -19.468 26.630 -0.596 8.356 1.521 -13.358 + 22.773 -5.774 6.127 3.519 -22.637 39.382 -20.339 13.119 -9.985 -1.713 + 0.605 -19.587 56.177 -5.970 -0.556 -9.289 -2.263 5.421 -37.658 -0.675 + -25.957 -2.741 17.008 51.271 -5.860 -30.432 -18.309 2.849 12.103 -12.348 + 5.685 9.897 2.150 -4.616 -9.612 -96.435 -42.947 10.076 76.067 27.913 + -23.507 -20.296 -24.299 -2.201 8.662 31.802 33.112 -9.462 -4.132 -10.296 + -21.963 -3.232 9.701 25.551 -26.752 -34.306 -22.813 16.385 38.565 -0.726 + 1.255 -9.274 67.622 26.625 -12.912 -20.609 6.891 1.320 9.050 -3.976 + 2.169 5.900 -8.430 -9.309 8.764 6.611 6.280 -26.060 8.160 13.309 + 1.544 4.278 -2.979 12.738 26.009 -7.931 -14.562 -13.059 8.420 3.458 + -9.723 -1.701 1.173 2.748 7.147 0.254 10.746 -6.279 2.394 -1.849 + 1.259 -21.687 -13.290 -28.917 16.906 -1.265 18.244 30.220 -7.724 -2.744 + -5.329 1.693 -0.194 -7.622 -6.279 1.482 -4.645 -5.260 -0.444 14.712 + 2.179 -32.143 -13.912 -8.135 13.129 -12.959 22.709 -3.716 6.051 -11.941 + -6.670 17.829 -12.219 9.377 -19.594 -27.085 -4.776 0.031 33.125 5.347 + 11.544 1.604 3.517 12.306 -15.650 6.131 -3.610 0.044 -1.023 -1.847 + -22.531 4.637 -11.400 7.996 -13.274 -0.090 -10.575 -1.011 14.035 -4.682 + 11.371 -7.395 20.702 -3.469 11.174 -39.795 11.563 13.523 5.775 3.425 + -15.782 41.645 -3.690 1.177 -11.101 -1.628 -12.032 21.565 -17.223 11.072 + 8.690 37.181 -17.651 3.237 -15.720 -29.491 6.318 -2.433 23.300 -7.734 + -2.308 10.753 -11.380 18.068 13.614 2.445 -3.378 -28.428 13.270 -16.654 + 4.441 -2.610 0.426 13.659 0.492 14.531 49.662 -27.818 -6.496 -38.837 + 34.206 -5.699 -3.436 -0.711 -3.481 -2.745 -31.881 15.325 4.495 5.974 + -3.093 -6.452 9.188 -8.821 -10.311 10.271 1.328 -0.739 2.742 -0.351 + 25.666 -23.637 6.364 -27.908 7.314 -9.947 22.531 4.887 -11.030 -24.058 + -4.802 -0.538 -29.516 5.845 -21.763 15.753 1.568 7.316 4.660 4.438 + 5.230 2.810 -16.375 30.388 -2.075 0.099 -1.012 -9.068 -5.547 -14.220 + 1.491 4.633 -0.544 13.779 11.550 -0.940 31.835 -14.314 -8.563 -14.483 + 7.638 3.571 -3.078 0.640 13.269 -7.589 6.155 -6.494 19.075 -14.107 + 20.587 11.258 2.948 1.637 -13.642 4.282 -9.557 -33.352 29.474 -32.665 + 11.349 -12.656 12.983 15.752 -26.156 35.214 -14.946 0.446 -16.054 9.465 + 23.447 -25.883 0.301 -5.425 10.097 17.873 4.930 -7.040 14.492 -1.303 + 9.519 -20.041 -26.909 -2.800 -41.745 22.814 -31.659 2.225 -0.221 4.145 + 15.220 -8.639 20.811 -4.651 5.451 -0.799 -1.004 -10.323 19.913 7.409 + 6.144 -4.279 20.118 34.286 16.161 -0.213 -10.625 -8.417 -5.911 -1.019 + -5.069 -16.430 -37.940 26.327 -6.333 8.985 2.538 13.340 -9.814 -12.950 + 1.122 18.048 -25.124 -29.443 30.727 1.423 32.389 -19.759 13.759 5.353 + -9.779 -10.027 -0.063 2.223 4.122 -13.005 -9.223 5.931 12.212 15.256 + -8.090 23.680 6.078 28.259 -8.800 5.267 -24.218 2.672 -18.059 -4.615 + -31.303 10.368 -19.423 -3.378 2.045 -8.148 11.996 -6.884 10.308 7.832 + 3.311 1.105 -8.943 -2.324 1.726 13.751 -2.983 2.729 10.035 -2.381 + 14.787 -0.013 1.366 -11.515 -44.446 4.936 5.559 23.387 0.672 -9.408 + 22.553 -5.338 3.186 -4.472 0.479 -0.948 -21.341 -4.291 7.567 3.729 + 14.136 -23.967 0.651 -12.602 23.556 -7.802 10.323 15.356 4.933 -5.314 + -5.252 18.782 -4.643 -26.539 -14.056 3.343 11.107 -19.489 -9.847 9.331 + 5.463 1.087 -1.679 31.424 -12.730 9.993 -15.824 4.160 -8.129 -13.879 + -21.537 7.890 -0.742 -4.947 -1.423 -0.325 7.909 0.622 2.875 12.757 + -4.547 10.495 27.476 -8.750 -5.695 -12.601 12.158 2.357 20.597 -3.780 + -6.758 -0.725 7.545 14.680 -16.329 -16.904 -3.753 2.145 9.661 -18.475 + -18.815 -4.104 2.419 2.037 -3.724 20.611 -3.703 -51.525 16.328 3.748 + 21.541 -23.866 -4.432 25.842 -7.545 35.257 40.434 5.257 -17.839 -31.573 + 0.616 0.440 0.824 -6.028 9.660 -9.432 0.948 3.742 0.880 -5.838 + 27.439 19.593 -9.632 8.968 13.533 6.681 -1.160 -17.324 1.592 -12.940 + 14.446 3.408 -23.501 -11.472 -7.250 30.797 -11.541 4.043 -3.071 -7.414 + -1.777 21.374 22.252 0.652 -14.617 -13.109 10.019 -48.647 -1.894 1.873 + 7.416 4.382 -2.103 9.256 16.669 8.092 -15.436 -17.943 -3.266 -0.438 + -8.101 -26.822 12.089 28.565 8.470 -0.548 -11.621 -28.700 18.944 -26.760 + 6.579 5.446 21.112 24.250 5.089 4.280 -12.240 -23.323 -27.344 11.688 + -4.323 24.117 8.047 -1.471 7.627 19.476 32.422 -18.581 0.371 -8.574 + 2.694 -17.491 -17.104 13.294 -12.534 -33.606 -8.027 2.006 20.157 -15.219 + -1.795 -0.179 15.586 -8.904 38.158 20.727 2.979 1.072 -4.408 2.279 + -30.124 -8.263 11.881 5.001 -7.212 -4.602 10.231 -9.664 -6.044 -10.913 + -14.517 31.609 -14.077 47.640 -9.512 0.295 -15.034 -6.177 1.596 -10.870 + 17.712 19.005 -31.755 -0.507 19.700 14.553 -24.020 -9.314 9.747 1.830 + -16.866 -15.006 10.523 -15.328 -0.073 -7.856 -2.636 18.649 -21.709 27.402 + 20.691 10.927 -24.998 2.233 6.039 4.887 6.908 18.046 4.036 -24.165 + -12.659 -3.074 -0.122 2.442 -19.965 27.139 -0.602 8.549 1.611 -13.030 + 22.451 -7.263 5.695 4.277 -21.864 39.808 -20.382 13.642 -9.822 -1.873 + 0.329 -19.553 55.223 -5.745 -0.616 -9.457 -2.302 5.052 -36.533 -0.953 + -26.030 -2.705 17.170 51.015 -5.721 -29.946 -17.590 2.645 11.395 -12.936 + 4.979 9.238 2.495 -3.940 -9.011 -97.304 -43.364 10.205 75.757 27.048 + -24.328 -19.653 -23.454 -1.548 8.732 32.330 33.687 -9.424 -4.149 -10.575 + -21.036 -4.688 7.932 24.896 -25.935 -33.089 -23.452 16.172 38.988 -0.502 + 1.801 -9.197 68.214 26.929 -13.054 -20.920 6.961 1.391 9.084 -4.044 + 2.173 6.802 -8.605 -9.573 8.167 6.830 6.500 -26.115 8.254 13.270 + 1.215 4.367 -2.769 12.251 26.224 -7.718 -14.153 -13.175 8.152 3.339 + -9.822 -1.790 1.312 2.871 7.177 0.343 10.874 -6.184 2.467 -1.879 + 1.276 -21.766 -11.989 -27.556 16.880 -2.793 16.733 30.476 -7.821 -2.853 + -5.240 1.703 -0.189 -7.711 -6.461 1.513 -4.640 -5.340 -0.449 14.579 + 2.108 -32.698 -13.903 -8.210 13.430 -12.354 22.690 -4.042 6.180 -11.895 + -6.413 17.437 -12.423 9.333 -19.919 -27.147 -4.845 0.423 33.359 5.740 + 11.296 1.699 3.297 12.762 -15.545 6.301 -3.824 -0.321 -1.070 -2.137 + -22.761 4.557 -11.168 7.304 -13.217 -0.182 -10.045 -1.144 13.676 -4.649 + 11.188 -7.069 20.782 -3.222 11.624 -39.995 12.005 13.492 5.587 3.261 + -16.021 41.822 -3.744 1.211 -10.747 -1.639 -12.330 21.885 -17.594 11.162 + 8.915 37.855 -17.953 3.306 -15.963 -28.438 6.161 -1.247 22.249 -7.652 + -3.510 11.466 -11.258 18.584 13.263 2.295 -3.668 -27.980 13.624 -16.498 + 4.388 -2.424 0.401 13.112 0.151 14.374 48.501 -26.923 -6.871 -37.837 + 33.390 -5.735 -3.193 -0.572 -3.428 -2.713 -32.586 15.639 4.487 6.057 + -3.188 -6.525 9.357 -8.918 -10.201 10.092 1.364 -0.925 2.918 -0.380 + 23.819 -23.636 5.576 -26.264 7.287 -9.191 22.197 3.760 -11.529 -23.756 + -3.936 -0.301 -29.276 6.200 -22.105 15.571 1.106 7.339 4.526 4.833 + 5.405 2.660 -16.717 30.887 -2.077 0.098 -1.006 -7.122 -4.993 -14.056 + 1.319 4.750 -0.767 12.229 11.120 -1.178 32.349 -14.478 -8.580 -14.612 + 7.704 3.613 -3.682 0.993 13.350 -7.203 5.963 -6.555 19.499 -14.088 + 20.545 11.188 2.975 2.006 -13.728 4.086 -9.684 -33.654 29.846 -32.858 + 11.337 -12.876 13.042 14.583 -26.171 34.277 -13.931 0.026 -14.988 9.858 + 23.955 -25.875 0.088 -5.388 9.846 17.756 3.894 -7.129 14.639 -1.203 + 9.367 -19.774 -26.526 -2.614 -41.556 23.157 -31.126 2.161 -0.320 4.411 + 14.627 -8.492 19.924 -5.096 4.894 0.063 -0.688 -9.879 19.455 7.540 + 6.223 -4.377 20.268 34.971 16.156 -0.233 -10.894 -8.456 -5.744 -1.029 + -4.995 -16.406 -38.072 23.096 -5.841 9.040 2.782 12.699 -9.074 -11.884 + 1.075 17.004 -23.421 -29.724 31.370 1.622 32.902 -20.208 13.956 5.430 + -9.979 -10.239 -0.134 2.246 4.179 -12.772 -9.170 5.928 11.955 15.538 + -8.160 24.043 4.945 28.737 -8.644 5.377 -24.634 2.507 -17.339 -4.811 + -31.903 10.669 -19.841 -2.005 1.600 -8.191 10.977 -6.641 10.485 7.901 + 3.279 1.481 -9.161 -2.245 1.418 14.072 -3.084 2.868 10.117 -2.085 + 14.483 -0.039 1.159 -11.270 -43.557 4.850 5.248 22.314 0.696 -8.915 + 22.640 -5.308 3.111 -4.476 0.458 -0.907 -21.329 -3.806 6.256 3.655 + 13.814 -23.073 0.418 -12.796 23.980 -7.779 10.485 15.644 4.939 -5.406 + -5.323 17.611 -4.646 -26.146 -12.849 3.198 10.581 -19.636 -9.881 9.288 + 5.345 1.081 -1.671 31.968 -12.591 10.163 -16.040 3.919 -8.285 -13.814 + -21.820 7.873 -0.841 -4.866 -1.391 -0.417 7.954 0.523 2.745 12.782 + -4.377 10.656 27.334 -9.295 -5.757 -12.225 12.787 2.239 20.887 -3.578 + -6.828 -0.732 7.602 14.612 -16.255 -16.878 -3.426 1.901 9.351 -18.712 + -19.390 -4.464 2.390 2.187 -3.582 21.039 -3.332 -49.596 15.692 3.924 + 20.841 -23.424 -4.980 24.742 -7.609 35.681 40.845 5.273 -18.013 -31.833 + 0.669 0.403 0.619 -6.140 10.026 -10.028 0.973 3.604 1.213 -5.912 + 27.760 20.014 -9.926 9.659 13.434 6.898 -1.610 -17.394 1.843 -14.199 + 14.181 3.270 -23.019 -11.073 -7.400 31.572 -12.766 4.127 -3.221 -6.641 + -1.624 20.987 22.791 0.506 -14.266 -13.612 10.104 -49.194 -1.520 1.967 + 7.416 4.256 -2.163 9.584 17.211 8.371 -16.011 -18.838 -3.431 -0.147 + -7.615 -27.007 11.960 27.611 8.130 -0.436 -10.525 -28.144 19.355 -25.468 + 6.978 5.540 20.526 23.442 5.420 3.607 -11.247 -23.682 -27.417 11.057 + -4.167 24.088 7.830 -1.902 7.848 18.801 31.874 -18.548 0.442 -8.734 + 2.759 -16.863 -16.479 13.093 -12.216 -33.153 -8.102 1.469 19.861 -14.958 + -1.902 -0.334 15.256 -7.848 36.694 19.303 3.180 1.327 -3.590 1.797 + -28.204 -8.296 11.330 4.499 -6.587 -4.692 10.626 -9.694 -6.122 -11.130 + -14.781 31.901 -14.829 47.477 -9.530 0.932 -14.345 -6.136 1.413 -11.005 + 17.575 19.608 -30.532 -1.153 18.713 13.140 -23.044 -9.398 9.837 1.537 + -16.216 -15.373 10.669 -15.314 0.309 -8.142 -2.886 18.669 -21.173 26.776 + 21.533 10.592 -24.074 1.932 5.921 4.721 6.836 16.043 3.507 -24.337 + -10.599 -2.552 -0.370 2.488 -20.430 27.610 -0.609 8.735 1.718 -12.649 + 22.069 -8.842 5.219 5.076 -20.992 40.191 -20.402 14.192 -9.641 -2.042 + 0.047 -19.545 54.180 -5.517 -0.657 -9.632 -2.364 4.667 -35.340 -1.241 + -26.013 -2.606 17.349 50.587 -5.615 -29.409 -16.769 2.435 10.623 -13.486 + 4.273 8.561 2.833 -3.250 -8.384 -98.075 -43.741 10.313 75.354 26.164 + -25.099 -18.977 -22.570 -0.890 8.838 32.829 34.217 -9.408 -4.163 -10.840 + -20.067 -6.196 6.099 24.193 -25.067 -31.804 -24.081 15.980 39.405 -0.274 + 2.344 -9.117 68.718 27.166 -13.201 -21.193 6.989 1.455 9.109 -4.105 + 2.174 7.703 -8.761 -9.835 7.534 7.048 6.722 -26.111 8.371 13.203 + 0.861 4.450 -2.541 11.685 26.371 -7.422 -13.651 -13.249 7.818 3.236 + -9.942 -1.935 1.442 2.992 7.209 0.446 10.986 -6.050 2.510 -1.866 + 1.304 -21.834 -10.636 -26.133 16.841 -4.352 15.167 30.678 -7.898 -2.973 + -5.116 1.709 -0.182 -7.819 -6.665 1.543 -4.608 -5.415 -0.453 14.455 + 2.038 -33.196 -13.909 -8.286 13.712 -11.764 22.594 -4.393 6.305 -11.815 + -6.130 17.060 -12.607 9.285 -20.240 -27.173 -4.922 0.865 33.616 6.156 + 11.006 1.792 3.056 13.205 -15.453 6.469 -4.029 -0.701 -1.112 -2.435 + -22.943 4.454 -10.921 6.531 -13.118 -0.273 -9.457 -1.288 13.247 -4.571 + 10.943 -6.684 20.817 -2.932 12.156 -40.130 12.507 13.381 5.341 3.040 + -16.241 41.971 -3.803 1.246 -10.350 -1.641 -12.650 22.150 -17.970 11.262 + 9.133 38.481 -18.255 3.375 -16.193 -27.315 5.991 0.013 21.122 -7.549 + -4.769 12.222 -11.138 19.077 12.874 2.137 -3.955 -27.458 13.990 -16.275 + 4.332 -2.232 0.369 12.499 -0.218 14.175 47.154 -25.842 -7.284 -36.663 + 32.414 -5.761 -2.948 -0.448 -3.362 -2.642 -33.262 15.967 4.444 6.110 + -3.291 -6.595 9.514 -9.009 -10.133 9.883 1.371 -1.096 3.094 -0.399 + 21.931 -23.556 4.790 -24.565 7.246 -8.410 21.819 2.535 -12.030 -23.399 + -3.005 -0.058 -29.056 6.554 -22.427 15.396 0.657 7.356 4.395 5.209 + 5.574 2.547 -17.033 31.374 -2.108 0.084 -1.002 -5.071 -4.409 -13.885 + 1.122 4.857 -0.998 10.596 10.662 -1.406 32.849 -14.634 -8.624 -14.737 + 7.773 3.663 -4.260 1.333 13.436 -6.833 5.779 -6.618 19.900 -14.005 + 20.500 11.102 2.997 2.381 -13.788 3.824 -9.818 -33.908 30.209 -33.004 + 11.297 -13.086 13.073 13.334 -26.166 33.255 -12.851 -0.404 -13.860 10.199 + 24.464 -25.889 -0.094 -5.341 9.617 17.617 2.798 -7.210 14.766 -1.089 + 9.202 -19.471 -26.095 -2.423 -41.335 23.483 -30.496 2.124 -0.411 4.645 + 13.998 -8.330 18.983 -5.579 4.322 0.967 -0.350 -9.414 18.965 7.670 + 6.307 -4.479 20.362 35.637 16.046 -0.262 -11.175 -8.462 -5.504 -1.045 + -4.866 -16.352 -38.123 19.754 -5.368 9.095 3.016 12.050 -8.325 -10.810 + 1.028 15.891 -21.600 -29.926 31.979 1.848 33.364 -20.641 14.134 5.484 + -10.171 -10.459 -0.208 2.272 4.238 -12.439 -9.091 5.903 11.599 15.804 + -8.215 24.421 3.709 29.223 -8.475 5.485 -25.039 2.318 -16.525 -5.016 + -32.491 10.964 -20.247 -0.588 1.143 -8.240 9.913 -6.377 10.652 7.950 + 3.249 1.875 -9.367 -2.169 1.101 14.346 -3.180 3.018 10.233 -1.755 + 14.074 -0.078 0.932 -10.967 -42.601 4.754 4.947 21.193 0.713 -8.400 + 22.703 -5.260 2.992 -4.466 0.432 -0.849 -21.311 -3.321 4.951 3.577 + 13.480 -22.157 0.198 -12.988 24.398 -7.732 10.612 15.933 4.935 -5.487 + -5.392 16.401 -4.635 -25.727 -11.606 3.048 10.043 -19.783 -9.877 9.240 + 5.229 1.064 -1.654 32.460 -12.410 10.300 -16.220 3.635 -8.432 -13.745 + -22.029 7.917 -0.924 -4.794 -1.353 -0.528 7.954 0.358 2.620 12.795 + -4.203 10.822 27.217 -9.786 -5.818 -11.884 13.366 2.149 21.119 -3.397 + -6.914 -0.727 7.677 14.518 -16.123 -16.839 -3.079 1.631 9.015 -18.946 + -19.942 -4.779 2.370 2.338 -3.457 21.487 -2.990 -47.528 14.996 4.104 + 20.070 -22.944 -5.516 23.593 -7.672 36.110 41.179 5.287 -18.182 -31.971 + 0.727 0.344 0.341 -6.262 10.433 -10.630 1.005 3.443 1.548 -5.978 + 28.046 20.435 -10.232 10.408 13.295 7.127 -2.118 -17.417 2.108 -15.508 + 13.845 3.115 -22.455 -10.620 -7.562 32.334 -13.923 4.217 -3.362 -5.909 + -1.474 20.610 23.284 0.367 -13.937 -14.104 10.184 -49.728 -1.119 2.063 + 7.371 4.098 -2.229 9.920 17.753 8.657 -16.562 -19.689 -3.597 0.137 + -7.137 -27.209 11.850 26.622 7.780 -0.342 -9.415 -27.499 19.730 -24.136 + 7.379 5.641 19.916 22.566 5.762 2.905 -10.245 -24.025 -27.448 10.404 + -3.993 24.039 7.612 -2.343 8.050 18.087 31.179 -18.411 0.448 -8.869 + 2.779 -16.127 -15.758 12.833 -11.860 -32.577 -8.136 0.894 19.504 -14.655 + -2.013 -0.517 14.845 -6.729 35.119 17.801 3.385 1.575 -2.740 1.284 + -26.143 -8.315 10.743 3.973 -5.931 -4.760 10.988 -9.726 -6.201 -11.322 + -15.017 32.193 -15.592 47.302 -9.545 1.547 -13.668 -6.112 1.273 -11.128 + 17.402 20.176 -29.262 -1.797 17.686 11.693 -21.974 -9.484 9.913 1.201 + -15.498 -15.723 10.768 -15.269 0.718 -8.424 -3.139 18.657 -20.609 26.073 + 22.348 10.242 -23.112 1.624 5.817 4.583 6.779 13.946 2.956 -24.486 + -8.450 -2.006 -0.627 2.550 -20.907 28.044 -0.622 8.931 1.850 -12.255 + 21.632 -10.474 4.724 5.907 -20.068 40.626 -20.395 14.718 -9.498 -2.204 + -0.203 -19.476 53.009 -5.277 -0.714 -9.794 -2.405 4.254 -34.037 -1.555 + -25.980 -2.534 17.480 50.133 -5.480 -28.821 -15.930 2.225 9.835 -14.032 + 3.579 7.901 3.164 -2.577 -7.770 -98.741 -44.063 10.407 74.826 25.250 + -25.821 -18.257 -21.631 -0.213 8.995 33.277 34.666 -9.416 -4.171 -11.082 + -19.017 -7.793 4.148 23.417 -24.102 -30.393 -24.731 15.751 39.802 -0.022 + 2.929 -9.016 69.143 27.354 -13.348 -21.491 6.999 1.520 9.153 -4.180 + 2.164 8.570 -8.847 -10.072 6.927 7.241 6.931 -26.038 8.453 13.087 + 0.458 4.535 -2.282 11.083 26.464 -7.096 -13.107 -13.297 7.462 3.140 + -10.064 -2.155 1.558 3.116 7.256 0.562 11.075 -5.870 2.542 -1.826 + 1.342 -21.884 -9.156 -24.560 16.780 -6.015 13.464 30.804 -7.995 -3.087 + -4.961 1.717 -0.178 -7.902 -6.834 1.562 -4.575 -5.476 -0.460 14.259 + 1.935 -33.662 -13.845 -8.348 13.995 -11.069 22.456 -4.726 6.426 -11.715 + -5.837 16.579 -12.786 9.200 -20.533 -27.132 -4.978 1.307 33.852 6.566 + 10.688 1.887 2.799 13.651 -15.317 6.629 -4.241 -1.138 -1.151 -2.717 + -23.086 4.368 -10.665 5.768 -13.020 -0.370 -8.896 -1.431 12.791 -4.397 + 10.670 -6.254 20.794 -2.606 12.691 -40.227 13.019 13.222 5.045 2.781 + -16.410 42.069 -3.829 1.275 -9.896 -1.643 -12.997 22.347 -18.364 11.323 + 9.356 39.047 -18.521 3.441 -16.391 -26.108 5.801 1.342 19.937 -7.429 + -6.076 12.933 -10.990 19.559 12.478 1.975 -4.253 -26.941 14.362 -16.043 + 4.302 -2.049 0.333 11.878 -0.583 13.971 45.614 -24.676 -7.726 -35.354 + 31.327 -5.775 -2.652 -0.299 -3.274 -2.574 -33.937 16.295 4.406 6.164 + -3.388 -6.665 9.671 -9.102 -10.011 9.643 1.398 -1.283 3.274 -0.428 + 19.938 -23.457 3.964 -22.775 7.200 -7.588 21.451 1.292 -12.528 -23.031 + -2.064 0.185 -28.859 6.906 -22.731 15.218 0.210 7.361 4.275 5.570 + 5.741 2.464 -17.316 31.845 -2.159 0.055 -0.994 -2.918 -3.820 -13.670 + 0.887 4.968 -1.270 8.898 10.189 -1.631 33.321 -14.769 -8.672 -14.841 + 7.828 3.714 -4.818 1.664 13.512 -6.487 5.610 -6.671 20.292 -13.934 + 20.413 11.005 3.024 2.763 -13.831 3.569 -9.934 -34.163 30.546 -33.133 + 11.260 -13.296 13.109 12.004 -26.092 32.129 -11.693 -0.879 -12.639 10.562 + 24.971 -25.916 -0.277 -5.295 9.394 17.411 1.660 -7.248 14.883 -0.969 + 9.015 -19.126 -25.600 -2.227 -41.022 23.748 -29.789 2.086 -0.491 4.871 + 13.316 -8.140 17.980 -6.105 3.727 1.872 0.012 -8.922 18.440 7.800 + 6.387 -4.577 20.428 36.276 15.925 -0.291 -11.440 -8.471 -5.233 -1.055 + -4.721 -16.299 -38.135 16.303 -4.840 9.135 3.271 11.363 -7.554 -9.694 + 0.965 14.729 -19.728 -30.123 32.585 2.065 33.823 -21.073 14.312 5.534 + -10.367 -10.674 -0.281 2.295 4.295 -12.086 -8.996 5.885 11.237 16.063 + -8.264 24.727 2.526 29.665 -8.269 5.577 -25.420 2.136 -15.747 -5.218 + -33.041 11.262 -20.679 0.841 0.654 -8.255 8.843 -6.098 10.807 7.967 + 3.219 2.297 -9.562 -2.092 0.769 14.637 -3.268 3.129 10.331 -1.438 + 13.677 -0.107 0.705 -10.649 -41.525 4.676 4.562 19.961 0.720 -7.819 + 22.776 -5.228 2.901 -4.483 0.424 -0.813 -21.244 -2.790 3.505 3.476 + 13.093 -21.105 -0.053 -13.174 24.839 -7.697 10.730 16.232 4.943 -5.574 + -5.461 15.085 -4.590 -25.289 -10.281 2.879 9.484 -19.877 -9.865 9.181 + 5.085 1.057 -1.635 32.873 -12.186 10.448 -16.361 3.316 -8.568 -13.656 + -22.236 7.903 -1.005 -4.701 -1.319 -0.632 7.967 0.223 2.489 12.778 + -4.003 10.986 27.109 -10.251 -5.875 -11.564 13.902 2.099 21.283 -3.238 + -7.026 -0.703 7.774 14.380 -15.903 -16.775 -2.706 1.322 8.648 -19.131 + -20.532 -5.083 2.342 2.507 -3.312 21.955 -2.656 -45.346 14.237 4.289 + 19.219 -22.431 -6.054 22.417 -7.729 36.510 41.479 5.297 -18.311 -32.112 + 0.787 0.265 0.069 -6.389 10.883 -11.236 1.039 3.245 1.906 -6.050 + 28.337 20.859 -10.525 11.150 13.080 7.356 -2.649 -17.399 2.373 -16.826 + 13.504 2.954 -21.854 -10.133 -7.720 33.081 -15.140 4.298 -3.488 -5.113 + -1.310 20.219 23.754 0.224 -13.611 -14.585 10.255 -50.245 -0.700 2.116 + 7.325 3.878 -2.286 10.260 18.315 8.975 -17.104 -20.473 -3.772 0.414 + -6.692 -27.423 11.729 25.590 7.421 -0.244 -8.295 -26.735 20.075 -22.615 + 7.805 5.744 19.208 21.563 6.123 2.126 -9.226 -24.368 -27.448 9.714 + -3.802 23.960 7.394 -2.788 8.244 17.345 30.410 -18.242 0.437 -9.001 + 2.798 -15.335 -14.981 12.547 -11.469 -31.951 -8.131 0.294 19.121 -14.322 + -2.131 -0.712 14.360 -5.553 33.502 16.295 3.588 1.805 -1.939 0.755 + -23.998 -8.325 10.113 3.421 -5.229 -4.772 11.339 -9.675 -6.287 -11.521 + -15.276 32.384 -16.240 47.054 -9.547 2.151 -12.976 -6.042 1.055 -11.245 + 17.190 20.614 -27.980 -2.433 16.634 10.232 -20.823 -9.560 9.988 0.815 + -14.651 -16.060 10.859 -15.165 1.154 -8.718 -3.414 18.615 -19.995 25.352 + 23.182 9.883 -22.125 1.323 5.694 4.417 6.696 11.851 2.414 -24.636 + -6.306 -1.458 -0.887 2.622 -21.395 28.399 -0.648 9.144 2.021 -11.790 + 21.083 -12.192 4.176 6.789 -19.022 40.943 -20.333 15.264 -9.279 -2.375 + -0.499 -19.424 51.733 -4.978 -0.738 -9.955 -2.474 3.823 -32.647 -1.891 + -25.891 -2.472 17.584 49.574 -5.308 -28.134 -15.003 1.992 8.968 -14.598 + 2.858 7.211 3.505 -1.881 -7.125 -99.328 -44.376 10.475 74.173 24.298 + -26.495 -17.488 -20.640 0.476 9.184 33.691 35.034 -9.419 -4.176 -11.306 + -17.945 -9.484 2.112 22.588 -23.036 -28.870 -25.353 15.482 40.163 0.235 + 3.534 -8.907 69.503 27.568 -13.459 -21.714 7.017 1.607 9.154 -4.254 + 2.146 9.383 -8.929 -10.317 6.334 7.422 7.140 -25.838 8.504 12.984 + 0.006 4.629 -1.997 10.328 26.496 -6.732 -12.449 -13.318 7.037 3.112 + -10.206 -2.418 1.660 3.236 7.321 0.691 11.156 -5.671 2.527 -1.740 + 1.386 -21.932 -7.628 -22.925 16.710 -7.707 11.711 30.888 -8.037 -3.222 + -4.794 1.722 -0.173 -7.987 -7.048 1.589 -4.534 -5.533 -0.468 14.017 + 1.866 -34.128 -13.731 -8.402 14.279 -10.320 22.272 -5.034 6.542 -11.614 + -5.538 16.045 -12.957 9.098 -20.836 -27.024 -5.043 1.723 34.084 6.967 + 10.387 1.972 2.549 14.086 -15.227 6.785 -4.446 -1.544 -1.188 -3.003 + -23.208 4.279 -10.389 4.935 -12.893 -0.462 -8.257 -1.582 12.253 -4.245 + 10.345 -5.776 20.738 -2.250 13.240 -40.245 13.523 13.023 4.735 2.506 + -16.515 42.100 -3.817 1.299 -9.389 -1.647 -13.346 22.503 -18.759 11.368 + 9.557 39.557 -18.761 3.507 -16.560 -24.858 5.604 2.738 18.703 -7.294 + -7.422 13.575 -10.799 19.979 12.124 1.816 -4.527 -26.385 14.680 -15.745 + 4.236 -1.830 0.286 11.251 -0.952 13.734 43.921 -23.451 -8.189 -33.926 + 30.152 -5.783 -2.313 -0.120 -3.167 -2.587 -34.625 16.572 4.410 6.239 + -3.468 -6.701 9.816 -9.160 -9.841 9.343 1.429 -1.489 3.468 -0.462 + 17.787 -23.321 3.077 -20.843 7.144 -6.700 21.120 0.038 -13.040 -22.669 + -1.132 0.421 -28.688 7.277 -23.008 15.049 -0.219 7.358 4.161 5.897 + 5.903 2.411 -17.589 32.320 -2.238 0.014 -0.994 -0.771 -3.211 -13.504 + 0.664 5.065 -1.506 7.191 9.713 -1.839 33.687 -14.849 -8.658 -14.877 + 7.846 3.744 -5.400 2.003 13.594 -6.094 5.417 -6.733 20.730 -13.872 + 20.204 10.837 3.049 3.203 -13.866 3.339 -10.030 -34.381 30.823 -33.215 + 11.208 -13.485 13.125 10.578 -25.949 30.889 -10.423 -1.381 -11.308 10.886 + 25.461 -25.928 -0.459 -5.250 9.160 17.151 0.445 -7.351 14.982 -0.849 + 8.828 -18.713 -25.007 -1.990 -40.605 23.954 -29.050 2.012 -0.572 5.132 + 12.581 -7.927 16.914 -6.657 3.165 2.762 0.371 -8.430 17.913 7.966 + 6.454 -4.651 20.484 36.827 15.830 -0.301 -11.662 -8.513 -4.978 -1.049 + -4.587 -16.294 -38.125 12.763 -4.209 9.155 3.567 10.634 -6.740 -8.509 + 0.894 13.544 -17.859 -30.306 33.191 2.286 34.282 -21.504 14.490 5.620 + -10.541 -10.866 -0.400 2.312 4.333 -11.705 -8.890 5.844 10.839 16.307 + -8.302 24.970 1.293 30.085 -8.000 5.666 -25.770 1.950 -14.925 -5.424 + -33.593 11.570 -21.134 2.282 0.150 -8.231 7.768 -5.817 10.956 7.964 + 3.211 2.674 -9.747 -2.031 0.471 14.957 -3.371 3.254 10.376 -1.078 + 13.230 -0.129 0.446 -10.276 -40.313 4.595 4.127 18.642 0.725 -7.193 + 22.750 -5.154 2.780 -4.421 0.379 -0.745 -21.173 -2.239 1.977 3.374 + 12.669 -19.954 -0.302 -13.335 25.249 -7.668 10.839 16.539 4.964 -5.663 + -5.534 13.736 -4.543 -24.837 -8.932 2.711 8.916 -19.937 -9.838 9.126 + 4.920 1.050 -1.616 33.247 -11.950 10.575 -16.488 2.998 -8.703 -13.520 + -22.416 7.975 -1.079 -4.601 -1.277 -0.764 7.938 0.017 2.352 12.769 + -3.818 11.147 27.005 -10.663 -5.932 -11.258 14.392 2.079 21.424 -3.133 + -7.161 -0.663 7.900 14.177 -15.635 -16.624 -2.285 0.975 8.217 -19.312 + -21.108 -5.367 2.324 2.653 -3.190 22.424 -2.331 -43.063 13.437 4.474 + 18.336 -21.883 -6.599 21.172 -7.791 36.909 41.762 5.312 -18.436 -32.261 + 0.851 0.165 -0.213 -6.524 11.357 -11.827 1.075 3.048 2.263 -6.124 + 28.633 21.287 -10.812 11.873 12.825 7.585 -3.180 -17.367 2.641 -18.129 + 13.137 2.783 -21.226 -9.627 -7.859 33.764 -16.415 4.373 -3.611 -4.257 + -1.149 19.840 24.233 0.077 -13.276 -15.060 10.327 -50.746 -0.260 2.171 + 7.289 3.693 -2.343 10.594 18.858 9.265 -17.640 -21.277 -3.934 0.689 + -6.235 -27.595 11.594 24.499 7.036 -0.140 -7.129 -25.949 20.434 -21.014 + 8.236 5.841 18.428 20.534 6.475 1.349 -8.159 -24.705 -27.402 8.973 + -3.591 23.846 7.169 -3.239 8.430 16.563 29.534 -18.052 0.405 -9.125 + 2.809 -14.476 -14.155 12.237 -11.048 -31.200 -8.149 -0.349 18.671 -13.934 + -2.245 -0.910 13.849 -4.303 31.781 14.678 3.791 2.048 -1.067 0.216 + -21.718 -8.343 9.426 2.810 -4.481 -4.774 11.658 -9.637 -6.372 -11.698 + -15.516 32.557 -16.913 46.739 -9.534 2.779 -12.230 -5.974 0.848 -11.351 + 17.037 21.073 -26.639 -3.082 15.530 8.717 -19.687 -9.634 10.054 0.411 + -13.778 -16.387 10.898 -15.050 1.609 -9.015 -3.695 18.550 -19.290 24.543 + 24.036 9.488 -21.062 1.014 5.569 4.248 6.601 9.653 1.855 -24.780 + -4.072 -0.885 -1.151 2.697 -21.890 28.703 -0.680 9.373 2.226 -11.307 + 20.531 -13.929 3.616 7.676 -17.946 41.185 -20.288 15.806 -9.019 -2.543 + -0.810 -19.371 50.385 -4.647 -0.753 -10.120 -2.562 3.384 -31.204 -2.233 + -25.761 -2.383 17.672 49.000 -5.144 -27.435 -14.081 1.767 8.104 -15.186 + 2.060 6.437 3.872 -1.129 -6.415 -99.776 -44.608 10.532 73.353 23.253 + -27.142 -16.663 -19.570 1.194 9.444 34.085 35.347 -9.465 -4.181 -11.509 + -16.819 -11.256 -0.031 21.698 -21.888 -27.237 -25.962 15.270 40.543 0.482 + 4.098 -8.817 69.804 27.728 -13.563 -21.906 7.015 1.710 9.141 -4.326 + 2.121 10.230 -8.956 -10.558 5.724 7.596 7.352 -25.650 8.562 12.868 + -0.450 4.713 -1.722 9.490 26.497 -6.332 -11.746 -13.312 6.578 3.111 + -10.289 -2.761 1.731 3.334 7.406 0.851 11.208 -5.405 2.494 -1.655 + 1.426 -21.936 -6.073 -21.211 16.625 -9.433 9.891 30.956 -8.108 -3.349 + -4.627 1.728 -0.172 -7.971 -7.230 1.615 -4.571 -5.584 -0.483 13.683 + 1.750 -34.525 -13.538 -8.434 14.560 -9.431 22.025 -5.395 6.646 -11.458 + -5.171 15.382 -13.111 8.950 -21.091 -26.868 -5.077 2.114 34.251 7.355 + 10.081 2.067 2.297 14.503 -15.092 6.914 -4.655 -1.986 -1.220 -3.249 + -23.266 4.220 -10.127 3.964 -12.775 -0.558 -7.508 -1.737 11.708 -4.103 + 10.031 -5.281 20.687 -1.894 13.803 -40.178 14.027 12.780 4.385 2.206 + -16.591 42.049 -3.791 1.329 -8.817 -1.644 -13.721 22.603 -19.165 11.331 + 9.772 40.010 -18.950 3.568 -16.693 -23.553 5.363 4.105 17.455 -7.140 + -8.760 14.232 -10.563 20.425 11.705 1.629 -4.815 -25.720 15.013 -15.435 + 4.158 -1.603 0.241 10.558 -1.348 13.463 42.102 -22.163 -8.619 -32.391 + 28.901 -5.787 -1.966 0.071 -3.064 -2.650 -35.306 16.790 4.439 6.327 + -3.528 -6.712 9.948 -9.185 -9.610 9.012 1.465 -1.739 3.665 -0.511 + 15.514 -23.153 2.149 -18.811 7.091 -5.761 20.848 -1.239 -13.551 -22.315 + -0.206 0.652 -28.551 7.638 -23.265 14.878 -0.635 7.345 4.046 6.215 + 6.065 2.393 -17.837 32.762 -2.325 -0.035 -0.983 1.516 -2.593 -13.257 + 0.404 5.172 -1.797 5.373 9.207 -2.057 34.010 -14.897 -8.626 -14.898 + 7.853 3.773 -5.976 2.333 13.671 -5.695 5.222 -6.788 21.131 -13.779 + 19.918 10.649 3.076 3.657 -13.870 3.068 -10.109 -34.526 31.079 -33.224 + 11.122 -13.670 13.114 9.059 -25.708 29.513 -9.061 -1.931 -9.871 11.177 + 25.902 -25.896 -0.645 -5.191 8.915 16.825 -0.800 -7.552 15.120 -0.736 + 8.702 -18.268 -24.367 -1.738 -40.167 24.123 -28.274 1.949 -0.639 5.371 + 11.823 -7.706 15.827 -7.152 2.612 3.702 0.727 -7.921 17.359 8.087 + 6.517 -4.742 20.505 37.321 15.771 -0.314 -11.849 -8.593 -4.717 -1.041 + -4.437 -16.156 -38.098 9.110 -3.642 9.182 3.836 9.849 -5.899 -7.255 + 0.830 12.317 -15.931 -30.449 33.824 2.512 34.724 -21.942 14.667 5.692 + -10.742 -11.057 -0.522 2.336 4.370 -11.251 -8.749 5.789 10.382 16.535 + -8.332 25.209 0.011 30.477 -7.739 5.752 -26.107 1.756 -14.058 -5.631 + -34.092 11.844 -21.546 3.658 -0.342 -8.200 6.713 -5.536 11.101 7.946 + 3.247 2.924 -9.882 -2.015 0.271 15.210 -3.497 3.456 10.436 -0.682 + 12.718 -0.150 0.174 -9.881 -39.017 4.486 3.684 17.278 0.736 -6.555 + 22.666 -5.058 2.648 -4.329 0.323 -0.669 -21.082 -1.693 0.438 3.269 + 12.222 -18.750 -0.556 -13.444 25.577 -7.653 10.943 16.854 5.002 -5.757 + -5.613 12.368 -4.497 -24.369 -7.570 2.548 8.338 -19.998 -9.791 9.101 + 4.769 1.038 -1.600 33.589 -11.739 10.647 -16.611 2.698 -8.831 -13.387 + -22.587 8.136 -1.149 -4.517 -1.232 -0.895 7.885 -0.236 2.236 12.795 + -3.667 11.297 26.885 -11.052 -5.984 -10.950 14.870 2.081 21.556 -3.068 + -7.306 -0.614 8.039 13.911 -15.319 -16.377 -1.821 0.597 7.719 -19.508 + -21.698 -5.643 2.324 2.787 -3.084 22.827 -1.953 -40.644 12.630 4.657 + 17.438 -21.261 -7.176 19.818 -7.840 37.268 41.990 5.295 -18.484 -32.365 + 0.930 0.035 -0.515 -6.649 11.846 -12.442 1.109 2.810 2.666 -6.189 + 28.903 21.655 -11.114 12.697 12.561 7.822 -3.782 -17.295 2.925 -19.499 + 12.697 2.598 -20.512 -9.075 -7.990 34.368 -17.652 4.445 -3.710 -3.413 + -0.987 19.480 24.663 -0.071 -12.940 -15.506 10.391 -51.227 0.230 2.215 + 7.254 3.487 -2.401 10.932 19.408 9.586 -18.177 -22.025 -4.102 0.955 + -5.813 -27.734 11.479 23.299 6.625 -0.032 -5.884 -25.199 20.765 -19.313 + 8.695 5.945 17.568 19.494 6.834 0.566 -7.084 -25.099 -27.286 8.190 + -3.354 23.702 6.976 -3.660 8.594 15.734 28.627 -17.861 0.380 -9.246 + 2.817 -13.583 -13.308 11.902 -10.562 -30.389 -8.145 -1.020 18.177 -13.512 + -2.373 -1.110 13.291 -2.998 30.029 13.006 3.987 2.299 -0.198 -0.326 + -19.367 -8.374 8.679 2.145 -3.669 -4.771 11.972 -9.583 -6.456 -11.866 + -15.748 32.713 -17.669 46.293 -9.511 3.469 -11.383 -5.908 0.657 -11.443 + 16.876 21.436 -25.261 -3.726 14.411 7.183 -18.539 -9.695 10.119 -0.015 + -12.831 -16.706 10.985 -14.923 2.042 -9.318 -3.968 18.479 -18.588 23.707 + 24.885 9.085 -19.961 0.697 5.441 4.070 6.495 7.456 1.294 -24.901 + -1.848 -0.313 -1.411 2.759 -22.364 28.991 -0.707 9.594 2.433 -10.789 + 19.927 -15.732 3.032 8.587 -16.799 41.389 -20.219 16.379 -8.738 -2.707 + -1.145 -19.351 48.981 -4.250 -0.729 -10.283 -2.689 2.938 -29.716 -2.601 + -25.579 -2.275 17.749 48.339 -4.971 -26.679 -13.111 1.522 7.192 -15.726 + 1.305 5.689 4.211 -0.420 -5.738-100.143 -44.796 10.585 72.413 22.123 + -27.798 -15.773 -18.412 1.950 9.700 34.433 35.643 -9.498 -4.173 -11.718 + -15.614 -13.061 -2.264 20.742 -20.675 -25.505 -26.553 14.964 40.838 0.741 + 4.721 -8.687 69.993 27.873 -13.620 -22.061 7.004 1.797 9.113 -4.396 + 2.102 11.027 -9.002 -10.797 5.131 7.770 7.565 -25.392 8.672 12.714 + -0.960 4.796 -1.425 8.611 26.490 -5.856 -11.005 -13.290 6.075 3.067 + -10.417 -3.123 1.837 3.454 7.457 1.031 11.241 -5.095 2.440 -1.531 + 1.467 -21.950 -4.561 -19.546 16.557 -11.126 8.115 31.014 -8.216 -3.479 + -4.459 1.737 -0.166 -7.984 -7.390 1.631 -4.568 -5.645 -0.490 13.290 + 1.615 -34.903 -13.284 -8.458 14.836 -8.510 21.764 -5.765 6.749 -11.280 + -4.786 14.677 -13.261 8.787 -21.359 -26.709 -5.134 2.530 34.422 7.746 + 9.759 2.157 2.042 14.934 -14.960 7.051 -4.870 -2.430 -1.256 -3.504 + -23.306 4.152 -9.867 2.955 -12.673 -0.659 -6.748 -1.886 11.164 -3.941 + 9.737 -4.771 20.603 -1.539 14.350 -40.024 14.504 12.508 4.015 1.895 + -16.628 41.923 -3.725 1.363 -8.218 -1.649 -14.088 22.703 -19.550 11.311 + 9.997 40.482 -19.152 3.625 -16.841 -22.200 5.104 5.498 16.155 -6.969 + -10.132 14.868 -10.322 20.837 11.293 1.443 -5.083 -24.985 15.366 -15.088 + 4.051 -1.360 0.201 9.825 -1.772 13.168 40.240 -20.843 -9.051 -30.822 + 27.596 -5.788 -1.603 0.261 -2.964 -2.749 -35.964 16.969 4.492 6.421 + -3.569 -6.714 10.062 -9.191 -9.339 8.692 1.520 -2.003 3.863 -0.563 + 13.106 -22.987 1.168 -16.663 7.026 -4.771 20.573 -2.500 -14.067 -21.960 + 0.717 0.874 -28.390 7.941 -23.532 14.707 -1.036 7.335 3.910 6.561 + 6.232 2.424 -18.054 33.184 -2.457 -0.104 -0.973 3.845 -1.961 -13.010 + 0.128 5.268 -2.092 3.524 8.692 -2.259 34.334 -14.952 -8.559 -14.913 + 7.861 3.788 -6.653 2.723 13.739 -5.206 4.978 -6.842 21.492 -13.649 + 19.613 10.458 3.094 4.106 -13.846 2.770 -10.172 -34.600 31.282 -33.155 + 11.001 -13.844 13.066 7.446 -25.383 28.013 -7.627 -2.515 -8.354 11.444 + 26.327 -25.855 -0.816 -5.122 8.671 16.462 -2.196 -7.746 15.229 -0.612 + 8.535 -17.749 -23.586 -1.452 -39.684 24.277 -27.466 1.877 -0.716 5.621 + 11.027 -7.468 14.698 -7.638 2.050 4.633 1.083 -7.396 16.793 8.222 + 6.569 -4.822 20.449 37.789 15.658 -0.326 -12.039 -8.648 -4.406 -1.026 + -4.257 -16.008 -38.007 5.313 -3.050 9.202 4.113 9.037 -5.026 -5.964 + 0.765 11.032 -13.900 -30.583 34.453 2.749 35.169 -22.382 14.841 5.729 + -10.917 -11.269 -0.616 2.350 4.420 -10.739 -8.610 5.747 9.852 16.753 + -8.361 25.475 -1.320 30.836 -7.479 5.833 -26.419 1.547 -13.129 -5.844 + -34.581 12.095 -21.924 5.063 -0.802 -8.217 5.629 -5.259 11.252 7.901 + 3.288 3.175 -10.004 -2.013 0.100 15.503 -3.616 3.629 10.428 -0.246 + 12.151 -0.154 -0.128 -9.426 -37.663 4.366 3.234 15.877 0.745 -5.894 + 22.534 -4.916 2.448 -4.173 0.229 -0.552 -21.013 -1.110 -1.143 3.174 + 11.737 -17.475 -0.816 -13.565 25.899 -7.594 11.045 17.140 5.010 -5.845 + -5.676 10.909 -4.458 -23.856 -6.129 2.382 7.730 -20.016 -9.736 9.061 + 4.581 1.027 -1.579 33.843 -11.467 10.701 -16.688 2.355 -8.949 -13.219 + -22.727 8.361 -1.206 -4.437 -1.188 -1.041 7.803 -0.527 2.122 12.827 + -3.543 11.443 26.732 -11.431 -6.029 -10.627 15.345 2.108 21.654 -3.019 + -7.463 -0.555 8.187 13.620 -14.973 -16.108 -1.353 0.225 7.205 -19.646 + -22.293 -5.890 2.314 2.920 -2.982 23.163 -1.586 -38.129 11.814 4.845 + 16.519 -20.574 -7.767 18.389 -7.882 37.584 42.206 5.280 -18.532 -32.408 + 1.014 -0.119 -0.877 -6.792 12.435 -13.092 1.150 2.521 3.120 -6.236 + 29.094 22.000 -11.424 13.501 12.310 8.058 -4.358 -17.221 3.219 -20.874 + 12.236 2.401 -19.754 -8.492 -8.108 34.924 -18.859 4.514 -3.796 -2.618 + -0.831 19.075 25.141 -0.223 -12.572 -15.953 10.439 -51.609 0.687 2.232 + 7.203 3.195 -2.463 11.294 20.009 9.884 -18.727 -22.772 -4.257 1.223 + -5.381 -27.819 11.356 22.039 6.186 0.083 -4.590 -24.343 21.071 -17.515 + 9.158 6.040 16.668 18.353 7.211 -0.270 -6.005 -25.488 -27.152 7.395 + -3.112 23.549 6.786 -4.079 8.750 14.890 27.694 -17.641 0.354 -9.356 + 2.815 -12.676 -12.444 11.547 -10.050 -29.541 -8.132 -1.713 17.641 -13.062 + -2.493 -1.307 12.712 -1.686 28.259 11.270 4.191 2.550 0.681 -0.867 + -16.948 -8.410 7.904 1.438 -2.812 -4.767 12.264 -9.530 -6.533 -12.012 + -15.956 32.842 -18.435 45.772 -9.472 4.160 -10.504 -5.841 0.485 -11.510 + 16.671 21.846 -23.755 -4.378 13.224 5.563 -17.359 -9.738 10.166 -0.426 + -11.893 -17.025 11.073 -14.731 2.500 -9.642 -4.282 18.362 -17.823 22.833 + 25.759 8.656 -18.797 0.366 5.303 3.868 6.374 5.217 0.718 -25.023 + 0.408 0.269 -1.667 2.829 -22.847 29.238 -0.737 9.817 2.652 -10.266 + 19.342 -17.500 2.453 9.478 -15.667 41.517 -20.152 16.976 -8.409 -2.870 + -1.512 -19.350 47.423 -3.836 -0.694 -10.439 -2.824 2.480 -28.109 -2.984 + -25.335 -2.123 17.842 47.627 -4.805 -25.906 -12.112 1.271 6.259 -16.253 + 0.549 4.920 4.545 0.297 -5.044-100.422 -44.932 10.645 71.361 20.946 + -28.449 -14.843 -17.207 2.733 9.972 34.754 35.910 -9.531 -4.157 -11.922 + -14.337 -14.910 -4.558 19.722 -19.410 -23.697 -27.079 14.688 41.106 0.964 + 5.308 -8.562 70.093 27.965 -13.670 -22.180 6.985 1.881 9.068 -4.465 + 2.084 11.809 -9.007 -11.017 4.526 7.923 7.771 -25.065 8.785 12.515 + -1.503 4.877 -1.107 7.721 26.462 -5.362 -10.267 -13.253 5.576 2.961 + -10.502 -3.421 1.975 3.591 7.485 1.197 11.268 -4.812 2.428 -1.464 + 1.487 -21.955 -3.061 -17.884 16.493 -12.807 6.344 31.020 -8.348 -3.601 + -4.267 1.746 -0.162 -8.041 -7.523 1.622 -4.506 -5.717 -0.488 12.858 + 1.510 -35.218 -12.977 -8.476 15.111 -7.518 21.428 -6.121 6.843 -11.078 + -4.375 13.893 -13.388 8.594 -21.570 -26.453 -5.176 2.915 34.502 8.125 + 9.430 2.253 1.781 15.367 -14.763 7.186 -5.098 -2.907 -1.298 -3.739 + -23.315 4.097 -9.575 1.952 -12.563 -0.760 -5.995 -2.028 10.546 -3.742 + 9.406 -4.215 20.469 -1.161 14.919 -39.790 15.006 12.189 3.594 1.547 + -16.617 41.700 -3.656 1.393 -7.527 -1.642 -14.498 22.739 -19.949 11.203 + 10.211 40.830 -19.297 3.679 -16.938 -20.811 4.834 6.920 14.851 -6.791 + -11.503 15.483 -10.102 21.201 10.886 1.264 -5.340 -24.186 15.673 -14.690 + 3.908 -1.080 0.156 9.075 -2.198 12.853 38.274 -19.452 -9.510 -29.163 + 26.206 -5.762 -1.224 0.464 -2.860 -2.860 -36.609 17.117 4.541 6.511 + -3.599 -6.707 10.171 -9.182 -9.031 8.406 1.595 -2.286 4.059 -0.623 + 10.532 -22.800 0.116 -14.369 6.946 -3.715 20.262 -3.833 -14.568 -21.561 + 1.692 1.102 -28.206 8.247 -23.817 14.516 -1.454 7.325 3.766 6.911 + 6.402 2.479 -18.224 33.571 -2.591 -0.180 -0.956 6.109 -1.389 -12.734 + -0.170 5.364 -2.409 1.745 8.206 -2.441 34.654 -15.006 -8.513 -14.919 + 7.865 3.807 -7.328 3.108 13.786 -4.727 4.740 -6.881 21.865 -13.463 + 19.321 10.248 3.101 4.562 -13.812 2.439 -10.234 -34.635 31.474 -33.055 + 10.850 -14.012 12.989 5.807 -25.061 26.493 -6.174 -3.099 -6.823 11.705 + 26.730 -25.823 -0.991 -5.044 8.418 16.067 -3.678 -7.928 15.305 -0.483 + 8.335 -17.176 -22.709 -1.136 -39.164 24.389 -26.634 1.797 -0.795 5.870 + 10.208 -7.212 13.552 -8.056 1.458 5.599 1.441 -6.844 16.213 8.296 + 6.636 -4.930 20.369 38.200 15.543 -0.331 -12.204 -8.715 -4.089 -0.993 + -4.066 -15.830 -37.926 1.431 -2.424 9.206 4.392 8.160 -4.103 -4.596 + 0.701 9.736 -11.863 -30.655 35.105 3.035 35.583 -22.822 14.995 5.735 + -11.094 -11.498 -0.714 2.361 4.466 -10.140 -8.446 5.715 9.254 16.953 + -8.384 25.630 -2.693 31.135 -7.122 5.907 -26.696 1.338 -12.154 -6.057 + -35.044 12.317 -22.266 6.434 -1.246 -8.216 4.569 -4.990 11.391 7.810 + 3.379 3.305 -10.095 -2.048 0.014 15.796 -3.756 3.847 10.402 0.231 + 11.502 -0.149 -0.453 -8.915 -36.241 4.248 2.713 14.423 0.754 -5.199 + 22.373 -4.767 2.257 -3.968 0.110 -0.404 -20.964 -0.504 -2.774 3.083 + 11.221 -16.136 -1.080 -13.663 26.193 -7.549 11.131 17.424 5.029 -5.932 + -5.741 9.393 -4.390 -23.326 -4.630 2.206 7.101 -20.009 -9.700 9.008 + 4.364 1.015 -1.549 34.090 -11.193 10.773 -16.758 2.031 -9.072 -13.016 + -22.874 8.491 -1.275 -4.302 -1.125 -1.184 7.718 -0.807 1.992 12.819 + -3.359 11.576 26.501 -11.837 -6.065 -10.248 15.844 2.122 21.748 -2.956 + -7.608 -0.493 8.317 13.265 -14.582 -15.745 -0.825 -0.191 6.603 -19.761 + -22.879 -6.124 2.311 3.054 -2.880 23.518 -1.207 -35.463 10.933 5.035 + 15.526 -19.851 -8.373 16.904 -7.921 37.890 42.348 5.266 -18.585 -32.412 + 1.098 -0.278 -1.252 -6.938 13.058 -13.723 1.194 2.201 3.584 -6.287 + 29.285 22.330 -11.721 14.276 12.043 8.291 -4.935 -17.131 3.525 -22.320 + 11.681 2.190 -18.894 -7.841 -8.221 35.470 -20.061 4.579 -3.894 -1.802 + -0.663 18.621 25.600 -0.386 -12.162 -16.398 10.478 -51.943 1.176 2.237 + 7.126 2.854 -2.520 11.662 20.622 10.170 -19.265 -23.534 -4.413 1.506 + -4.906 -27.896 11.198 20.756 5.737 0.200 -3.282 -23.424 21.381 -15.676 + 9.625 6.137 15.756 17.158 7.584 -1.138 -4.915 -25.883 -26.998 6.565 + -2.866 23.370 6.619 -4.485 8.894 13.968 26.695 -17.399 0.367 -9.471 + 2.832 -11.723 -11.530 11.165 -9.488 -28.559 -8.121 -2.445 17.015 -12.556 + -2.614 -1.520 12.086 -0.366 26.390 9.472 4.407 2.810 1.583 -1.431 + -14.451 -8.436 7.109 0.735 -1.931 -4.771 12.555 -9.488 -6.601 -12.146 + -16.138 33.020 -19.312 45.205 -9.435 4.871 -9.599 -5.825 0.407 -11.570 + 16.382 22.229 -22.255 -5.027 12.024 3.953 -16.099 -9.749 10.201 -0.826 + -10.948 -17.329 11.173 -14.517 2.978 -9.979 -4.611 18.226 -17.038 21.842 + 26.629 8.198 -17.544 0.019 5.176 3.687 6.275 2.973 0.143 -25.152 + 2.664 0.853 -1.919 2.882 -23.336 29.446 -0.762 10.045 2.881 -9.724 + 18.773 -19.251 1.876 10.347 -14.531 41.574 -20.076 17.556 -8.057 -3.028 + -1.876 -19.306 45.713 -3.395 -0.656 -10.580 -2.960 1.996 -26.385 -3.395 + -25.072 -1.906 17.970 46.781 -4.710 -25.113 -11.053 1.020 5.280 -16.743 + -0.172 4.160 4.882 1.010 -4.349-100.575 -45.012 10.695 70.176 19.706 + -29.077 -13.854 -15.948 3.525 10.247 35.053 36.145 -9.565 -4.130 -12.111 + -12.993 -16.814 -6.918 18.642 -18.088 -21.817 -27.599 14.450 41.387 1.189 + 5.883 -8.440 70.130 27.978 -13.755 -22.258 6.932 1.966 9.011 -4.531 + 2.065 12.660 -9.003 -11.239 3.831 8.094 7.992 -24.715 8.942 12.311 + -2.040 4.943 -0.797 6.753 26.392 -4.881 -9.480 -13.201 5.059 2.934 + -10.569 -3.684 2.087 3.710 7.522 1.345 11.298 -4.563 2.392 -1.386 + 1.506 -21.935 -1.543 -16.158 16.414 -14.496 4.530 30.971 -8.529 -3.704 + -4.043 1.763 -0.163 -8.152 -7.594 1.598 -4.385 -5.799 -0.481 12.398 + 1.363 -35.521 -12.630 -8.485 15.387 -6.501 21.063 -6.514 6.926 -10.839 + -3.916 13.076 -13.501 8.393 -21.717 -26.221 -5.183 3.292 34.525 8.491 + 9.089 2.372 1.517 15.774 -14.548 7.303 -5.310 -3.376 -1.330 -3.962 + -23.353 4.049 -9.258 0.966 -12.429 -0.864 -5.240 -2.175 9.850 -3.512 + 9.023 -3.614 20.280 -0.749 15.536 -39.514 15.533 11.839 3.158 1.178 + -16.627 41.447 -3.599 1.430 -6.830 -1.630 -14.930 22.819 -20.356 11.088 + 10.419 41.144 -19.416 3.730 -17.014 -19.390 4.547 8.353 13.503 -6.593 + -12.887 16.147 -9.837 21.581 10.415 1.062 -5.616 -23.370 15.993 -14.261 + 3.790 -0.811 0.106 8.285 -2.632 12.513 36.224 -17.988 -9.962 -27.433 + 24.759 -5.743 -0.841 0.659 -2.751 -2.968 -37.223 17.233 4.584 6.585 + -3.620 -6.687 10.262 -9.149 -8.720 8.079 1.672 -2.568 4.259 -0.684 + 7.980 -22.562 -0.924 -12.090 6.843 -2.669 19.920 -5.198 -15.097 -21.141 + 2.693 1.350 -27.996 8.621 -24.094 14.299 -1.906 7.311 3.627 7.243 + 6.564 2.512 -18.418 33.950 -2.709 -0.248 -0.933 8.391 -0.815 -12.449 + -0.498 5.459 -2.753 -0.017 7.727 -2.605 34.941 -15.048 -8.446 -14.896 + 7.854 3.822 -8.017 3.498 13.850 -4.225 4.492 -6.916 22.219 -13.242 + 18.969 10.000 3.102 5.040 -13.750 2.084 -10.290 -34.628 31.644 -32.933 + 10.688 -14.174 12.902 4.122 -24.669 24.898 -4.676 -3.724 -5.233 11.923 + 27.127 -25.757 -1.158 -4.963 8.152 15.640 -5.268 -8.080 15.355 -0.350 + 8.080 -16.536 -21.720 -0.798 -38.647 24.482 -25.830 1.724 -0.863 6.107 + 9.394 -6.957 12.429 -8.469 0.870 6.547 1.783 -6.295 15.648 8.371 + 6.706 -5.022 20.292 38.628 15.393 -0.338 -12.378 -8.754 -3.759 -0.955 + -3.865 -15.624 -37.907 -2.555 -1.781 9.204 4.675 7.225 -3.125 -3.150 + 0.640 8.436 -9.811 -30.697 35.741 3.329 35.998 -23.264 15.148 5.607 + -11.233 -11.776 -0.689 2.326 4.549 -9.482 -8.248 5.724 8.587 17.142 + -8.399 25.687 -4.132 31.358 -6.685 5.974 -26.935 1.128 -11.119 -6.258 + -35.486 12.536 -22.596 7.869 -1.678 -8.255 3.474 -4.717 11.531 7.691 + 3.449 3.477 -10.178 -2.080 -0.069 16.110 -3.889 4.050 10.330 0.730 + 10.809 -0.133 -0.799 -8.351 -34.774 4.121 2.168 12.925 0.765 -4.476 + 22.248 -4.608 2.059 -3.770 -0.015 -0.256 -20.926 0.163 -4.527 2.987 + 10.645 -14.664 -1.357 -13.755 26.473 -7.455 11.210 17.666 5.013 -6.011 + -5.787 7.794 -4.319 -22.742 -3.059 2.019 6.447 -19.978 -9.639 8.932 + 4.127 1.007 -1.519 34.315 -10.844 10.821 -16.807 1.652 -9.187 -12.752 + -22.994 8.598 -1.355 -4.143 -1.050 -1.345 7.608 -1.100 1.832 12.778 + -3.149 11.700 26.290 -12.171 -6.095 -9.903 16.282 2.160 21.825 -2.886 + -7.758 -0.428 8.441 12.894 -14.238 -15.354 -0.292 -0.598 5.985 -19.873 + -23.395 -6.347 2.314 3.176 -2.788 23.836 -0.863 -32.617 10.010 5.245 + 14.460 -19.055 -8.985 15.330 -7.957 38.165 42.445 5.265 -18.633 -32.413 + 1.170 -0.427 -1.609 -7.093 13.679 -14.321 1.243 1.892 4.023 -6.321 + 29.384 22.663 -12.016 14.983 11.778 8.520 -5.448 -17.040 3.829 -23.755 + 11.077 1.972 -17.993 -7.148 -8.331 35.968 -21.293 4.648 -3.987 -0.955 + -0.490 18.133 26.070 -0.556 -11.717 -16.850 10.509 -52.188 1.665 2.250 + 7.040 2.518 -2.579 12.024 21.221 10.417 -19.795 -24.340 -4.542 1.796 + -4.379 -27.964 11.035 19.474 5.297 0.306 -1.997 -22.478 21.686 -13.821 + 10.086 6.233 14.830 15.928 7.966 -2.011 -3.753 -26.259 -26.814 5.695 + -2.609 23.154 6.419 -4.916 9.037 13.061 25.625 -17.091 0.331 -9.574 + 2.817 -10.727 -10.575 10.757 -8.929 -27.506 -8.109 -3.193 16.352 -12.015 + -2.723 -1.739 11.425 0.990 24.519 7.671 4.618 3.050 2.448 -1.994 + -11.922 -8.453 6.283 0.013 -1.021 -4.777 12.829 -9.433 -6.663 -12.269 + -16.310 33.155 -20.144 44.582 -9.388 5.593 -8.656 -5.785 0.285 -11.627 + 16.063 22.607 -20.708 -5.687 10.773 2.305 -14.784 -9.742 10.234 -1.235 + -9.966 -17.620 11.252 -14.330 3.446 -10.306 -4.927 18.086 -16.166 20.838 + 27.568 7.708 -16.235 -0.339 5.012 3.454 6.123 0.765 -0.418 -25.298 + 4.879 1.429 -2.162 2.922 -23.787 29.618 -0.783 10.265 3.110 -9.194 + 18.207 -20.921 1.318 11.186 -13.437 41.560 -19.948 18.135 -7.645 -3.197 + -2.266 -19.183 43.833 -2.967 -0.683 -10.690 -3.050 1.497 -24.552 -3.827 + -24.769 -1.673 18.087 45.926 -4.609 -24.301 -9.999 0.768 4.300 -17.221 + -0.869 3.422 5.209 1.689 -3.686-100.629 -45.040 10.745 68.866 18.442 + -29.652 -12.829 -14.667 4.311 10.506 35.297 36.326 -9.570 -4.083 -12.290 + -11.578 -18.738 -9.324 17.491 -16.717 -19.859 -28.063 14.209 41.643 1.391 + 6.454 -8.312 70.103 27.954 -13.850 -22.375 6.858 2.060 8.977 -4.592 + 2.048 13.552 -9.006 -11.482 3.096 8.261 8.219 -24.371 9.110 12.154 + -2.550 4.999 -0.517 5.747 26.303 -4.380 -8.664 -13.133 4.510 2.845 + -10.626 -3.907 2.236 3.845 7.526 1.496 11.326 -4.310 2.374 -1.330 + 1.517 -21.909 -0.098 -14.491 16.337 -16.111 2.781 30.900 -8.707 -3.810 + -3.819 1.785 -0.165 -8.260 -7.683 1.579 -4.261 -5.862 -0.477 11.898 + 1.230 -35.804 -12.237 -8.496 15.660 -5.411 20.687 -6.843 6.992 -10.629 + -3.506 12.178 -13.588 8.175 -21.835 -25.920 -5.181 3.671 34.459 8.866 + 8.736 2.509 1.243 16.144 -14.283 7.400 -5.507 -3.860 -1.354 -4.161 + -23.342 4.002 -8.957 -0.048 -12.288 -0.953 -4.477 -2.318 9.100 -3.220 + 8.596 -2.976 20.039 -0.310 16.170 -39.250 16.062 11.480 2.734 0.810 + -16.654 41.102 -3.548 1.465 -6.057 -1.620 -15.335 22.856 -20.746 10.959 + 10.624 41.425 -19.512 3.774 -17.074 -17.991 4.245 9.760 12.165 -6.386 + -14.251 16.882 -9.529 21.939 9.878 0.843 -5.884 -22.457 16.297 -13.738 + 3.650 -0.505 0.048 7.421 -3.100 12.118 34.008 -16.458 -10.458 -25.590 + 23.227 -5.717 -0.411 0.876 -2.621 -3.072 -37.844 17.352 4.632 6.660 + -3.638 -6.670 10.349 -9.116 -8.408 7.690 1.720 -2.849 4.468 -0.738 + 5.437 -22.240 -1.915 -9.825 6.724 -1.638 19.579 -6.616 -15.640 -20.687 + 3.725 1.603 -27.744 8.967 -24.369 14.060 -2.363 7.304 3.466 7.594 + 6.731 2.518 -18.613 34.305 -2.805 -0.309 -0.904 10.548 -0.234 -12.289 + -0.752 5.525 -2.985 -1.733 7.267 -2.751 35.175 -15.069 -8.367 -14.850 + 7.834 3.829 -8.701 3.892 13.902 -3.703 4.233 -6.951 22.607 -13.053 + 18.564 9.706 3.097 5.559 -13.699 1.767 -10.339 -34.591 31.800 -32.773 + 10.510 -14.333 12.799 2.397 -24.247 23.255 -3.152 -4.371 -3.611 12.170 + 27.548 -25.671 -1.338 -4.895 7.874 15.154 -6.930 -8.209 15.380 -0.215 + 7.795 -15.836 -20.639 -0.446 -38.097 24.485 -24.907 1.688 -0.908 6.297 + 8.531 -6.669 11.238 -8.942 0.285 7.562 2.160 -5.708 15.010 8.461 + 6.765 -5.109 20.213 39.038 15.176 -0.355 -12.575 -8.753 -3.408 -0.915 + -3.651 -15.347 -37.866 -6.502 -1.202 9.197 4.935 6.289 -2.144 -1.715 + 0.574 7.142 -7.758 -30.737 36.320 3.586 36.407 -23.693 15.307 5.476 + -11.320 -12.032 -0.664 2.293 4.631 -8.809 -8.061 5.711 7.914 17.324 + -8.410 25.675 -5.511 31.545 -6.223 6.042 -27.150 0.942 -10.133 -6.449 + -35.906 12.737 -22.909 9.262 -2.109 -8.247 2.401 -4.452 11.660 7.586 + 3.541 3.569 -10.260 -2.122 -0.122 16.443 -4.057 4.340 10.231 1.237 + 10.056 -0.116 -1.155 -7.741 -33.270 3.987 1.630 11.405 0.774 -3.737 + 22.032 -4.399 1.818 -3.526 -0.169 -0.082 -20.797 0.839 -6.355 2.865 + 10.037 -13.096 -1.661 -13.793 26.653 -7.329 11.269 17.920 4.976 -6.081 + -5.832 6.182 -4.259 -22.168 -1.488 1.845 5.788 -19.964 -9.593 8.897 + 3.922 1.011 -1.500 34.501 -10.488 10.862 -16.841 1.268 -9.292 -12.460 + -23.087 8.689 -1.435 -3.965 -0.961 -1.511 7.475 -1.404 1.657 12.717 + -2.925 11.823 26.112 -12.459 -6.120 -9.593 16.665 2.218 21.890 -2.856 + -7.922 -0.352 8.584 12.464 -13.831 -14.902 0.281 -1.038 5.311 -19.931 + -23.918 -6.529 2.312 3.289 -2.702 24.042 -0.509 -29.736 9.120 5.455 + 13.418 -18.202 -9.607 13.694 -7.981 38.421 42.503 5.272 -18.718 -32.437 + 1.237 -0.564 -1.926 -7.261 14.357 -14.918 1.296 1.558 4.480 -6.339 + 29.427 22.990 -12.319 15.703 11.511 8.748 -5.966 -16.931 4.122 -25.190 + 10.452 1.760 -17.069 -6.450 -8.415 36.435 -22.532 4.702 -4.069 -0.094 + -0.329 17.646 26.540 -0.720 -11.285 -17.280 10.533 -52.370 2.132 2.240 + 6.956 2.138 -2.637 12.386 21.829 10.639 -20.323 -25.168 -4.664 2.092 + -3.827 -28.004 10.865 18.209 4.865 0.402 -0.730 -21.480 21.963 -11.858 + 10.563 6.325 13.833 14.623 8.362 -2.920 -2.483 -26.715 -26.518 4.693 + -2.294 22.848 6.242 -5.318 9.157 12.130 24.503 -16.752 0.296 -9.668 + 2.787 -9.705 -9.587 10.330 -8.349 -26.353 -8.069 -3.966 15.634 -11.440 + -2.823 -1.968 10.722 2.330 22.611 5.851 4.829 3.284 3.315 -2.546 + -9.369 -8.464 5.455 -0.709 -0.112 -4.782 13.131 -9.350 -6.724 -12.406 + -16.493 33.298 -21.042 43.901 -9.334 6.326 -7.681 -5.770 0.218 -11.671 + 15.732 22.878 -19.109 -6.358 9.494 0.614 -13.409 -9.715 10.271 -1.687 + -8.880 -17.914 11.339 -14.161 3.912 -10.623 -5.234 17.953 -15.269 19.838 + 28.487 7.209 -14.893 -0.696 4.825 3.190 5.966 -1.475 -1.004 -25.413 + 7.127 2.019 -2.419 2.958 -24.200 29.717 -0.807 10.490 3.372 -8.626 + 17.598 -22.621 0.734 12.046 -12.279 41.531 -19.822 18.686 -7.263 -3.357 + -2.646 -19.003 41.834 -2.515 -0.739 -10.783 -3.123 0.977 -22.609 -4.289 + -24.468 -1.472 18.181 44.982 -4.506 -23.447 -8.910 0.511 3.294 -17.642 + -1.521 2.711 5.515 2.354 -3.031-100.610 -45.090 10.741 67.480 17.146 + -30.213 -11.790 -13.350 5.116 10.699 35.506 36.491 -9.511 -4.026 -12.478 + -10.085 -20.709 -11.791 16.284 -15.282 -17.827 -28.551 13.950 41.889 1.606 + 7.030 -8.182 70.068 27.966 -13.918 -22.410 6.766 2.160 8.903 -4.641 + 2.029 14.366 -8.975 -11.709 2.420 8.401 8.430 -24.020 9.313 11.993 + -3.059 5.044 -0.238 4.680 26.179 -3.868 -7.803 -13.037 3.937 2.778 + -10.691 -4.126 2.391 3.980 7.521 1.653 11.341 -4.044 2.323 -1.250 + 1.525 -21.868 1.287 -12.862 16.258 -17.660 1.079 30.802 -8.930 -3.909 + -3.590 1.815 -0.170 -8.360 -7.767 1.566 -4.135 -5.910 -0.478 11.462 + 1.129 -36.031 -11.884 -8.519 15.906 -4.274 20.236 -7.166 7.052 -10.381 + -3.072 11.221 -13.665 7.942 -21.934 -25.556 -5.191 4.063 34.375 9.255 + 8.357 2.631 0.951 16.458 -14.095 7.478 -5.687 -4.279 -1.378 -4.317 + -23.292 3.976 -8.634 -1.064 -12.142 -1.043 -3.707 -2.455 8.329 -2.946 + 8.158 -2.342 19.791 0.125 16.790 -38.941 16.586 11.104 2.295 0.428 + -16.636 40.654 -3.472 1.485 -5.206 -1.616 -15.743 22.870 -21.133 10.819 + 10.796 41.643 -19.593 3.823 -17.112 -16.566 3.940 11.182 10.812 -6.163 + -15.604 17.628 -9.227 22.271 9.313 0.622 -6.151 -21.515 16.603 -13.193 + 3.509 -0.202 -0.014 6.540 -3.577 11.704 31.715 -14.831 -10.903 -23.645 + 21.603 -5.676 -0.006 1.082 -2.521 -3.217 -38.420 17.401 4.678 6.719 + -3.647 -6.620 10.415 -9.042 -8.107 7.322 1.761 -3.120 4.677 -0.785 + 2.878 -21.935 -2.917 -7.538 6.614 -0.594 19.243 -7.981 -16.149 -20.235 + 4.718 1.843 -27.467 9.339 -24.619 13.798 -2.852 7.289 3.314 7.939 + 6.893 2.524 -18.800 34.647 -2.917 -0.380 -0.876 12.702 0.358 -12.164 + -0.996 5.583 -3.193 -3.450 6.809 -2.888 35.387 -15.092 -8.325 -14.788 + 7.805 3.837 -9.450 4.339 13.980 -3.117 3.933 -6.989 22.967 -12.807 + 18.115 9.397 3.078 6.094 -13.624 1.405 -10.373 -34.493 31.916 -32.559 + 10.300 -14.477 12.665 0.656 -23.788 21.590 -1.617 -5.019 -1.980 12.422 + 27.948 -25.566 -1.530 -4.824 7.575 14.618 -8.600 -8.361 15.409 -0.096 + 7.522 -15.096 -19.519 -0.080 -37.577 24.449 -23.974 1.680 -0.932 6.451 + 7.682 -6.373 10.071 -9.382 -0.360 8.607 2.542 -5.086 14.339 8.516 + 6.841 -5.206 20.084 39.443 14.920 -0.372 -12.771 -8.724 -3.023 -0.880 + -3.421 -14.972 -37.794 -10.437 -0.706 9.198 5.161 5.351 -1.173 -0.296 + 0.507 5.833 -5.662 -30.719 36.896 3.876 36.768 -24.110 15.439 5.349 + -11.412 -12.275 -0.664 2.252 4.699 -8.088 -7.839 5.665 7.188 17.487 + -8.415 25.692 -6.970 31.697 -5.781 6.128 -27.332 0.754 -9.085 -6.649 + -36.305 12.908 -23.171 10.637 -2.528 -8.231 1.334 -4.181 11.765 7.466 + 3.641 3.628 -10.326 -2.170 -0.156 16.720 -4.220 4.656 10.162 1.732 + 9.297 -0.119 -1.486 -7.162 -31.656 3.831 1.099 9.788 0.786 -2.967 + 21.842 -4.191 1.556 -3.297 -0.321 0.094 -20.716 1.542 -8.209 2.743 + 9.417 -11.500 -1.896 -13.846 26.818 -7.205 11.340 18.177 4.930 -6.153 + -5.869 4.581 -4.220 -21.592 0.078 1.680 5.132 -19.955 -9.554 8.876 + 3.734 1.013 -1.487 34.661 -10.126 10.900 -16.853 0.870 -9.391 -12.166 + -23.158 8.809 -1.510 -3.779 -0.872 -1.688 7.326 -1.728 1.487 12.649 + -2.711 11.944 25.905 -12.776 -6.140 -9.255 17.071 2.261 21.950 -2.806 + -8.084 -0.275 8.722 12.025 -13.404 -14.444 0.864 -1.479 4.619 -19.942 + -24.440 -6.748 2.292 3.417 -2.587 24.204 -0.160 -26.692 8.177 5.665 + 12.309 -17.279 -10.245 11.970 -8.000 38.650 42.550 5.264 -18.779 -32.475 + 1.311 -0.708 -2.245 -7.424 15.022 -15.477 1.348 1.230 4.910 -6.358 + 29.481 23.325 -12.599 16.308 11.224 8.959 -6.393 -16.837 4.419 -26.647 + 9.818 1.538 -16.083 -5.721 -8.476 36.861 -23.783 4.746 -4.151 0.771 + -0.194 17.187 26.969 -0.868 -10.872 -17.685 10.555 -52.533 2.635 2.243 + 6.867 1.776 -2.699 12.745 22.428 10.854 -20.830 -25.975 -4.789 2.373 + -3.303 -28.021 10.696 16.920 4.422 0.493 0.561 -20.436 22.252 -9.912 + 11.022 6.415 12.864 13.287 8.748 -3.837 -1.183 -27.208 -26.182 3.654 + -1.958 22.514 6.071 -5.709 9.262 11.105 23.375 -16.413 0.294 -9.766 + 2.779 -8.642 -8.573 9.878 -7.703 -25.179 -8.075 -4.772 14.874 -10.824 + -2.911 -2.188 10.029 3.646 20.722 4.122 5.025 3.474 4.111 -3.100 + -6.808 -8.464 4.641 -1.408 0.760 -4.802 13.439 -9.282 -6.776 -12.539 + -16.665 33.411 -21.870 43.236 -9.264 7.010 -6.733 -5.738 0.131 -11.697 + 15.308 23.102 -17.565 -6.990 8.256 -1.006 -11.980 -9.674 10.292 -2.128 + -7.804 -18.192 11.385 -14.023 4.374 -10.909 -5.504 17.837 -14.427 18.789 + 29.366 6.717 -13.542 -1.053 4.670 2.955 5.828 -3.615 -1.565 -25.504 + 9.286 2.591 -2.684 3.005 -24.587 29.681 -0.841 10.723 3.673 -8.056 + 16.936 -24.208 0.163 12.886 -11.156 41.495 -19.657 19.202 -6.885 -3.508 + -3.011 -18.815 39.742 -2.025 -0.783 -10.876 -3.200 0.437 -20.584 -4.772 + -24.104 -1.268 18.252 43.936 -4.400 -22.538 -7.772 0.252 2.256 -18.010 + -2.151 1.990 5.804 3.004 -2.378-100.503 -45.089 10.733 65.987 15.806 + -30.750 -10.715 -11.998 5.926 10.801 35.700 36.662 -9.347 -3.954 -12.681 + -8.544 -22.740 -14.331 15.039 -13.794 -15.733 -29.018 13.718 42.135 1.807 + 7.587 -8.055 69.947 27.930 -13.975 -22.480 6.670 2.262 8.849 -4.699 + 2.008 15.194 -8.911 -11.926 1.726 8.520 8.635 -23.701 9.505 11.875 + -3.499 5.077 0.003 3.583 26.017 -3.381 -6.910 -12.923 3.360 2.701 + -10.788 -4.290 2.554 4.129 7.505 1.805 11.358 -3.806 2.274 -1.147 + 1.523 -21.824 2.694 -11.198 16.175 -19.219 -0.649 30.631 -9.122 -4.002 + -3.326 1.835 -0.176 -8.469 -7.886 1.554 -3.985 -5.933 -0.480 10.941 + 1.044 -36.247 -11.448 -8.529 16.163 -3.148 19.744 -7.445 7.112 -10.135 + -2.680 10.278 -13.724 7.705 -22.015 -25.152 -5.188 4.473 34.234 9.653 + 7.954 2.758 0.645 16.796 -13.779 7.562 -5.891 -4.785 -1.410 -4.479 + -23.246 3.950 -8.280 -2.094 -11.976 -1.130 -2.909 -2.595 7.545 -2.714 + 7.726 -1.722 19.546 0.547 17.358 -38.603 17.069 10.750 1.869 0.062 + -16.556 40.194 -3.355 1.498 -4.347 -1.614 -16.186 22.860 -21.550 10.644 + 10.966 41.821 -19.648 3.869 -17.128 -15.083 3.601 12.632 9.418 -5.924 + -16.984 18.350 -8.914 22.582 8.760 0.414 -6.401 -20.501 16.862 -12.652 + 3.319 0.144 -0.080 5.638 -4.066 11.289 29.282 -13.200 -11.383 -21.610 + 19.916 -5.620 0.449 1.331 -2.382 -3.384 -38.944 17.402 4.716 6.756 + -3.650 -6.543 10.461 -8.933 -7.804 6.940 1.802 -3.382 4.888 -0.829 + 0.308 -21.607 -3.931 -5.226 6.494 0.462 18.893 -9.282 -16.649 -19.788 + 5.661 2.072 -27.065 9.708 -24.833 13.462 -3.393 7.256 3.119 8.322 + 7.059 2.495 -18.962 34.919 -2.993 -0.441 -0.835 14.831 0.908 -12.003 + -1.240 5.640 -3.402 -5.150 6.366 -3.024 35.572 -15.105 -8.252 -14.700 + 7.758 3.836 -10.218 4.794 14.051 -2.501 3.614 -7.022 23.285 -12.476 + 17.612 9.071 3.060 6.646 -13.503 0.981 -10.398 -34.374 31.968 -32.302 + 10.078 -14.608 12.517 -1.117 -23.269 19.869 -0.063 -5.688 -0.324 12.648 + 28.340 -25.422 -1.710 -4.742 7.263 14.132 -10.265 -8.460 15.420 0.035 + 7.214 -14.369 -18.414 0.264 -37.043 24.400 -22.960 1.688 -0.947 6.578 + 6.799 -6.057 8.861 -9.852 -1.055 9.651 2.924 -4.429 13.643 8.583 + 6.927 -5.275 19.963 39.807 14.673 -0.379 -12.948 -8.709 -2.648 -0.839 + -3.199 -14.659 -37.641 -14.393 -0.160 9.189 5.395 4.423 -0.229 1.097 + 0.445 4.497 -3.522 -30.616 37.413 4.175 37.067 -24.496 15.551 5.154 + -11.510 -12.530 -0.627 2.216 4.779 -7.387 -7.587 5.624 6.501 17.633 + -8.412 25.643 -8.427 31.800 -5.271 6.188 -27.484 0.552 -8.010 -6.862 + -36.688 13.047 -23.350 11.990 -2.929 -8.238 0.280 -3.907 11.854 7.321 + 3.767 3.612 -10.372 -2.244 -0.125 16.995 -4.384 5.009 10.051 2.256 + 8.460 -0.108 -1.839 -6.530 -29.993 3.645 0.621 8.165 0.806 -2.208 + 21.579 -3.953 1.244 -3.029 -0.487 0.285 -20.588 2.269 -10.104 2.606 + 8.772 -9.849 -2.136 -13.894 26.943 -7.053 11.419 18.405 4.856 -6.218 + -5.892 2.995 -4.198 -21.009 1.641 1.517 4.480 -19.899 -9.488 8.852 + 3.516 0.993 -1.457 34.813 -9.769 10.905 -16.862 0.501 -9.484 -11.850 + -23.196 8.853 -1.592 -3.600 -0.791 -1.853 7.197 -2.024 1.292 12.540 + -2.443 12.048 25.723 -12.977 -6.154 -8.966 17.374 2.268 22.038 -2.744 + -8.219 -0.210 8.838 11.589 -13.007 -13.984 1.444 -1.919 3.933 -19.943 + -24.939 -7.021 2.247 3.546 -2.428 24.356 0.162 -23.630 7.235 5.898 + 11.190 -16.347 -10.867 10.241 -8.006 38.824 42.611 5.252 -18.811 -32.574 + 1.380 -0.838 -2.523 -7.578 15.684 -16.008 1.399 0.889 5.333 -6.374 + 29.491 23.658 -12.868 16.901 10.908 9.162 -6.799 -16.744 4.701 -28.089 + 9.270 1.326 -15.131 -5.029 -8.547 37.330 -24.989 4.790 -4.227 1.604 + -0.040 16.686 27.351 -1.021 -10.464 -18.074 10.571 -52.632 3.129 2.269 + 6.756 1.416 -2.751 13.097 23.017 11.005 -21.288 -26.728 -4.894 2.638 + -2.798 -28.001 10.520 15.599 3.962 0.586 1.856 -19.345 22.559 -7.940 + 11.469 6.493 11.882 11.904 9.133 -4.763 0.181 -27.734 -25.810 2.558 + -1.602 22.142 5.904 -6.087 9.361 10.107 22.246 -16.031 0.269 -9.862 + 2.739 -7.586 -7.552 9.433 -7.051 -23.999 -8.077 -5.591 14.101 -10.186 + -2.997 -2.407 9.309 4.973 18.803 2.276 5.230 3.685 4.981 -3.646 + -4.203 -8.465 3.795 -2.141 1.669 -4.802 13.743 -9.178 -6.833 -12.683 + -16.853 33.465 -22.740 42.402 -9.172 7.749 -5.669 -5.682 0.031 -11.693 + 14.924 23.263 -16.022 -7.590 7.037 -2.609 -10.592 -9.628 10.290 -2.582 + -6.696 -18.462 11.389 -13.878 4.851 -11.189 -5.776 17.712 -13.577 17.677 + 30.236 6.210 -12.148 -1.421 4.533 2.740 5.707 -5.653 -2.107 -25.591 + 11.350 3.144 -2.952 3.056 -24.967 29.627 -0.875 10.955 3.979 -7.459 + 16.272 -25.854 -0.427 13.733 -9.975 41.401 -19.496 19.746 -6.477 -3.664 + -3.402 -18.647 37.571 -1.521 -0.834 -10.962 -3.273 -0.107 -18.499 -5.275 + -23.643 -1.041 18.301 42.841 -4.300 -21.595 -6.611 0.007 1.210 -18.390 + -2.788 1.267 6.084 3.633 -1.743-100.269 -45.027 10.723 64.352 14.396 + -31.268 -9.582 -10.588 6.749 10.870 35.870 36.824 -9.152 -3.884 -12.897 + -6.930 -24.778 -16.900 13.757 -12.272 -13.596 -29.467 13.494 42.363 1.995 + 8.137 -7.923 69.727 27.852 -14.016 -22.459 6.523 2.357 8.746 -4.736 + 1.988 15.964 -8.826 -12.142 1.058 8.640 8.841 -23.340 9.699 11.764 + -3.947 5.104 0.250 2.474 25.809 -2.944 -6.018 -12.800 2.800 2.695 + -10.851 -4.429 2.682 4.259 7.499 1.932 11.377 -3.593 2.217 -1.040 + 1.528 -21.783 4.043 -9.589 16.096 -20.701 -2.310 30.421 -9.305 -4.094 + -3.054 1.857 -0.184 -8.566 -8.008 1.532 -3.827 -5.947 -0.480 10.326 + 0.909 -36.409 -10.939 -8.515 16.417 -1.983 19.306 -7.725 7.162 -9.920 + -2.300 9.321 -13.779 7.463 -22.112 -24.719 -5.182 4.968 34.068 10.072 + 7.488 2.876 0.322 17.096 -13.397 7.620 -6.093 -5.344 -1.441 -4.627 + -23.161 3.941 -7.902 -3.155 -11.816 -1.221 -2.078 -2.725 6.739 -2.471 + 7.292 -1.102 19.289 0.960 17.887 -38.253 17.532 10.404 1.449 -0.299 + -16.434 39.723 -3.218 1.506 -3.500 -1.613 -16.625 22.800 -21.960 10.443 + 11.135 41.920 -19.675 3.910 -17.114 -13.642 3.261 14.066 8.065 -5.688 + -18.332 19.087 -8.561 22.880 8.171 0.200 -6.653 -19.459 17.143 -12.061 + 3.123 0.472 -0.138 4.713 -4.568 10.839 26.827 -11.530 -11.880 -19.514 + 18.188 -5.553 0.882 1.575 -2.245 -3.602 -39.471 17.385 4.785 6.797 + -3.641 -6.452 10.499 -8.816 -7.503 6.530 1.834 -3.643 5.099 -0.872 + -2.274 -21.263 -4.953 -2.889 6.376 1.534 18.522 -10.564 -17.135 -19.330 + 6.599 2.299 -26.604 10.030 -25.017 13.107 -3.938 7.211 2.899 8.740 + 7.215 2.464 -19.107 35.156 -3.069 -0.504 -0.792 16.913 1.443 -11.856 + -1.492 5.686 -3.601 -6.796 5.940 -3.141 35.724 -15.108 -8.180 -14.589 + 7.701 3.833 -10.957 5.236 14.149 -1.917 3.315 -7.075 23.553 -12.115 + 17.109 8.760 3.041 7.178 -13.346 0.524 -10.409 -34.206 31.970 -31.988 + 9.822 -14.733 12.337 -2.887 -22.679 18.115 1.494 -6.368 1.341 12.887 + 28.694 -25.254 -1.907 -4.652 6.925 13.671 -11.994 -8.492 15.379 0.183 + 6.834 -13.618 -17.238 0.614 -36.484 24.261 -21.829 1.725 -0.920 6.632 + 5.858 -5.729 7.602 -10.392 -1.786 10.829 3.348 -3.689 12.817 8.662 + 6.994 -5.328 19.876 40.171 14.352 -0.396 -13.151 -8.632 -2.284 -0.800 + -2.987 -14.321 -37.387 -18.297 0.347 9.177 5.598 3.512 0.661 2.435 + 0.386 3.125 -1.340 -30.505 37.931 4.464 37.363 -24.885 15.664 4.925 + -11.558 -12.776 -0.565 2.157 4.857 -6.616 -7.376 5.577 5.749 17.782 + -8.396 25.543 -9.881 31.831 -4.719 6.249 -27.615 0.357 -6.925 -7.055 + -37.080 13.159 -23.453 13.370 -3.322 -8.253 -0.801 -3.632 11.943 7.187 + 3.893 3.577 -10.416 -2.315 -0.095 17.248 -4.556 5.391 9.928 2.797 + 7.574 -0.105 -2.203 -5.862 -28.285 3.454 0.147 6.526 0.825 -1.446 + 21.348 -3.737 0.947 -2.795 -0.632 0.457 -20.450 2.992 -12.018 2.457 + 8.121 -8.163 -2.366 -13.915 27.015 -6.909 11.531 18.597 4.789 -6.294 + -5.908 1.336 -4.190 -20.377 3.270 1.345 3.807 -19.833 -9.379 8.825 + 3.307 0.963 -1.423 34.964 -9.480 10.918 -16.891 0.183 -9.574 -11.507 + -23.188 8.838 -1.671 -3.437 -0.694 -2.011 7.062 -2.307 1.069 12.409 + -2.140 12.160 25.602 -13.147 -6.172 -8.723 17.625 2.294 22.099 -2.720 + -8.367 -0.137 8.971 11.105 -12.585 -13.444 2.066 -2.399 3.186 -19.891 + -25.409 -7.313 2.165 3.682 -2.239 24.433 0.531 -20.499 6.294 6.127 + 10.045 -15.357 -11.515 8.464 -7.991 38.940 42.623 5.221 -18.842 -32.539 + 1.463 -0.979 -2.874 -7.745 16.386 -16.571 1.456 0.534 5.774 -6.378 + 29.441 23.965 -13.145 17.530 10.571 9.373 -7.231 -16.628 4.990 -29.567 + 8.689 1.102 -14.128 -4.306 -8.619 37.795 -26.085 4.835 -4.285 2.370 + 0.128 16.132 27.640 -1.179 -10.045 -18.442 10.571 -52.656 3.676 2.305 + 6.628 1.042 -2.804 13.454 23.611 11.081 -21.716 -27.485 -4.969 2.889 + -2.293 -27.940 10.364 14.274 3.485 0.680 3.163 -18.216 22.828 -5.894 + 11.926 6.576 10.830 10.464 9.517 -5.702 1.583 -28.269 -25.378 1.418 + -1.225 21.730 5.730 -6.450 9.449 9.072 21.066 -15.626 0.219 -9.945 + 2.697 -6.471 -6.490 8.953 -6.353 -22.823 -8.080 -6.414 13.313 -9.544 + -3.102 -2.615 8.591 6.332 16.861 0.440 5.425 3.884 5.825 -4.211 + -1.553 -8.462 2.936 -2.878 2.593 -4.761 13.995 -9.063 -6.893 -12.812 + -17.029 33.474 -23.557 41.541 -9.068 8.452 -4.621 -5.620 -0.065 -11.673 + 14.516 23.357 -14.473 -8.185 5.813 -4.202 -9.162 -9.564 10.287 -3.051 + -5.536 -18.729 11.311 -13.725 5.283 -11.438 -6.024 17.611 -12.651 16.493 + 31.130 5.671 -10.689 -1.800 4.397 2.523 5.593 -7.682 -2.646 -25.703 + 13.394 3.696 -3.211 3.122 -25.366 29.582 -0.909 11.184 4.277 -6.894 + 15.632 -27.445 -0.990 14.539 -8.843 41.299 -19.303 20.266 -6.062 -3.826 + -3.790 -18.435 35.320 -1.016 -0.917 -11.035 -3.306 -0.660 -16.360 -5.791 + -23.135 -0.809 18.322 41.729 -4.193 -20.621 -5.452 -0.232 0.163 -18.712 + -3.396 0.546 6.323 4.225 -1.128 -99.937 -44.901 10.725 62.629 12.947 + -31.755 -8.435 -9.143 7.578 10.940 36.034 36.964 -8.938 -3.821 -13.118 + -5.302 -26.885 -19.538 12.419 -10.679 -11.370 -29.809 13.312 42.572 2.142 + 8.640 -7.806 69.401 27.727 -14.057 -22.493 6.397 2.441 8.683 -4.788 + 1.971 16.752 -8.755 -12.346 0.381 8.763 9.044 -23.017 9.915 11.650 + -4.352 5.114 0.482 1.274 25.556 -2.463 -5.055 -12.636 2.197 2.657 + -10.931 -4.500 2.861 4.410 7.444 2.048 11.394 -3.392 2.152 -0.930 + 1.533 -21.729 5.372 -7.986 16.022 -22.172 -3.971 30.179 -9.474 -4.176 + -2.757 1.873 -0.193 -8.709 -8.131 1.491 -3.630 -5.960 -0.478 9.677 + 0.763 -36.487 -10.401 -8.508 16.656 -0.791 18.878 -8.071 7.205 -9.703 + -1.906 8.355 -13.834 7.228 -22.199 -24.265 -5.146 5.472 33.903 10.469 + 6.999 2.979 0.002 17.392 -13.083 7.681 -6.284 -5.836 -1.472 -4.779 + -23.061 3.930 -7.532 -4.217 -11.671 -1.317 -1.260 -2.852 5.935 -2.132 + 6.873 -0.454 18.977 1.383 18.375 -37.910 17.965 10.056 1.026 -0.660 + -16.280 39.245 -3.060 1.515 -2.650 -1.609 -17.065 22.711 -22.370 10.199 + 11.329 41.986 -19.675 3.939 -17.086 -12.261 2.903 15.428 6.779 -5.459 + -19.619 19.800 -8.220 23.154 7.605 0.011 -6.878 -18.387 17.459 -11.466 + 2.949 0.782 -0.182 3.736 -5.089 10.369 24.240 -9.788 -12.418 -17.323 + 16.376 -5.483 1.350 1.828 -2.081 -3.801 -40.010 17.403 4.852 6.834 + -3.639 -6.372 10.548 -8.716 -7.180 6.082 1.860 -3.907 5.325 -0.912 + -4.839 -20.864 -5.944 -0.592 6.250 2.587 18.134 -11.862 -17.637 -18.847 + 7.552 2.534 -26.105 10.363 -25.170 12.729 -4.494 7.159 2.685 9.138 + 7.355 2.410 -19.243 35.389 -3.131 -0.566 -0.751 18.901 1.961 -11.771 + -1.723 5.724 -3.762 -8.372 5.537 -3.236 35.861 -15.123 -8.105 -14.462 + 7.640 3.825 -11.689 5.688 14.250 -1.333 3.013 -7.108 23.827 -11.796 + 16.565 8.441 3.012 7.710 -13.209 0.117 -10.399 -34.031 31.977 -31.676 + 9.565 -14.864 12.161 -4.685 -22.084 16.336 3.060 -7.068 3.021 13.132 + 29.085 -25.082 -2.100 -4.558 6.582 13.230 -13.701 -8.413 15.283 0.335 + 6.377 -12.863 -16.080 0.954 -35.923 24.113 -20.749 1.767 -0.900 6.687 + 4.941 -5.404 6.374 -11.000 -2.471 12.020 3.785 -2.947 11.940 8.778 + 7.043 -5.350 19.751 40.466 14.044 -0.408 -13.325 -8.571 -1.901 -0.777 + -2.778 -13.872 -37.075 -22.115 0.761 9.172 5.769 2.618 1.526 3.736 + 0.321 1.752 0.844 -30.343 38.431 4.773 37.646 -25.264 15.774 4.707 + -11.668 -13.031 -0.545 2.117 4.922 -5.812 -7.095 5.542 4.978 17.909 + -8.379 25.349 -11.345 31.797 -4.089 6.304 -27.714 0.168 -5.825 -7.243 + -37.439 13.235 -23.503 14.734 -3.704 -8.278 -1.883 -3.355 12.027 7.042 + 4.024 3.542 -10.447 -2.385 -0.077 17.492 -4.761 5.850 9.806 3.368 + 6.616 -0.103 -2.578 -5.166 -26.566 3.245 -0.301 4.880 0.845 -0.672 + 21.167 -3.542 0.652 -2.603 -0.752 0.602 -20.292 3.728 -13.946 2.309 + 7.445 -6.428 -2.627 -13.885 26.998 -6.798 11.641 18.791 4.752 -6.377 + -5.930 -0.289 -4.193 -19.756 4.866 1.191 3.140 -19.699 -9.298 8.829 + 3.053 0.936 -1.385 35.079 -9.205 10.905 -16.903 -0.125 -9.656 -11.157 + -23.136 8.744 -1.743 -3.280 -0.601 -2.154 6.938 -2.549 0.821 12.228 + -1.797 12.273 25.479 -13.300 -6.191 -8.480 17.863 2.324 22.212 -2.730 + -8.515 -0.070 9.113 10.656 -12.217 -12.944 2.642 -2.846 2.502 -19.824 + -25.887 -7.637 2.075 3.816 -2.035 24.463 0.951 -17.315 5.362 6.348 + 8.905 -14.340 -12.169 6.651 -7.954 38.981 42.581 5.173 -18.822 -32.487 + 1.550 -1.124 -3.238 -7.912 17.050 -17.094 1.517 0.193 6.180 -6.380 + 29.355 24.266 -13.409 18.137 10.211 9.578 -7.640 -16.514 5.275 -31.074 + 8.109 0.869 -13.081 -3.550 -8.671 38.234 -27.206 4.874 -4.327 3.145 + 0.292 15.539 27.932 -1.341 -9.605 -18.813 10.563 -52.608 4.264 2.326 + 6.510 0.709 -2.850 13.807 24.191 11.148 -22.131 -28.234 -5.033 3.123 + -1.813 -27.871 10.185 12.987 3.017 0.777 4.436 -17.075 23.106 -3.855 + 12.365 6.658 9.765 9.018 9.890 -6.616 3.064 -28.764 -24.944 0.244 + -0.844 21.284 5.512 -6.843 9.547 8.102 19.837 -15.184 0.135 -10.012 + 2.633 -5.371 -5.430 8.478 -5.615 -21.526 -8.076 -7.285 12.459 -8.848 + -3.199 -2.839 7.814 7.666 14.901 -1.351 5.621 4.060 6.617 -4.767 + 1.103 -8.442 2.083 -3.590 3.505 -4.704 14.260 -8.918 -6.960 -12.955 + -17.227 33.429 -24.322 40.626 -8.949 9.145 -3.546 -5.534 -0.191 -11.639 + 13.971 23.464 -12.938 -8.753 4.586 -5.785 -7.619 -9.485 10.263 -3.509 + -4.397 -18.979 11.194 -13.573 5.775 -11.692 -6.289 17.478 -11.673 15.292 + 32.005 5.113 -9.190 -2.180 4.256 2.287 5.467 -9.503 -3.131 -25.807 + 15.226 4.195 -3.455 3.194 -25.736 29.501 -0.941 11.402 4.573 -6.349 + 15.025 -29.002 -1.533 15.304 -7.738 41.218 -19.109 20.781 -5.671 -3.971 + -4.158 -18.195 32.961 -0.507 -1.027 -11.090 -3.325 -1.221 -14.156 -6.325 + -22.559 -0.534 18.353 40.500 -4.115 -19.618 -4.235 -0.477 -0.926 -18.972 + -3.927 -0.099 6.531 4.752 -0.582 -99.526 -44.719 10.732 60.883 11.499 + -32.212 -7.297 -7.714 8.385 10.982 36.155 37.066 -8.709 -3.743 -13.323 + -3.610 -28.991 -22.195 11.037 -9.046 -9.094 -30.107 13.134 42.760 2.266 + 9.125 -7.691 68.968 27.554 -14.095 -22.557 6.274 2.527 8.631 -4.838 + 1.954 17.586 -8.722 -12.570 -0.344 8.893 9.256 -22.671 10.179 11.533 + -4.763 5.119 0.719 0.029 25.273 -1.955 -4.042 -12.466 1.565 2.630 + -11.017 -4.637 3.046 4.563 7.377 2.183 11.383 -3.128 2.054 -0.779 + 1.549 -21.681 6.640 -6.431 15.950 -23.576 -5.567 29.910 -9.645 -4.270 + -2.452 1.885 -0.195 -8.818 -8.259 1.449 -3.462 -5.961 -0.476 9.005 + 0.621 -36.522 -9.819 -8.502 16.888 0.481 18.420 -8.409 7.238 -9.481 + -1.499 7.305 -13.878 6.970 -22.251 -23.761 -5.078 5.884 33.685 10.806 + 6.573 3.082 -0.279 17.660 -12.819 7.739 -6.458 -6.259 -1.504 -4.918 + -23.001 3.926 -7.143 -5.252 -11.501 -1.424 -0.462 -2.990 5.140 -1.797 + 6.445 0.181 18.651 1.804 18.918 -37.499 18.439 9.639 0.561 -1.072 + -16.126 38.770 -2.895 1.524 -1.823 -1.609 -17.500 22.662 -22.787 9.900 + 11.507 41.955 -19.627 3.966 -17.016 -10.873 2.533 16.791 5.503 -5.215 + -20.874 20.501 -7.880 23.391 7.014 -0.168 -7.088 -17.312 17.796 -10.849 + 2.775 1.073 -0.221 2.769 -5.605 9.890 21.611 -8.074 -12.987 -15.116 + 14.554 -5.399 1.843 2.098 -1.901 -4.015 -40.543 17.411 4.939 6.877 + -3.628 -6.293 10.595 -8.619 -6.861 5.638 1.879 -4.154 5.552 -0.944 + -7.363 -20.496 -6.922 1.668 6.131 3.624 17.754 -13.125 -18.116 -18.379 + 8.484 2.759 -25.597 10.693 -25.282 12.345 -5.066 7.084 2.479 9.543 + 7.493 2.364 -19.349 35.584 -3.200 -0.632 -0.706 20.866 2.449 -11.663 + -1.976 5.763 -3.946 -9.912 5.147 -3.315 35.993 -15.136 -8.032 -14.330 + 7.579 3.814 -12.434 6.150 14.329 -0.726 2.700 -7.119 24.054 -11.470 + 16.004 8.123 2.979 8.238 -13.061 -0.295 -10.378 -33.817 31.980 -31.339 + 9.296 -14.989 11.976 -6.522 -21.471 14.504 4.647 -7.793 4.738 13.399 + 29.503 -24.868 -2.307 -4.467 6.215 12.799 -15.460 -8.287 15.151 0.487 + 5.873 -12.090 -14.868 1.308 -35.321 23.974 -19.734 1.786 -0.893 6.781 + 4.027 -5.071 5.159 -11.666 -3.157 13.215 4.235 -2.197 11.023 8.918 + 7.077 -5.349 19.616 40.724 13.719 -0.420 -13.492 -8.498 -1.509 -0.754 + -2.568 -13.404 -36.718 -25.913 1.137 9.175 5.936 1.757 2.371 4.998 + 0.248 0.368 3.064 -30.097 38.916 5.108 37.867 -25.625 15.858 4.420 + -11.782 -13.307 -0.489 2.078 4.999 -4.954 -6.792 5.492 4.159 18.025 + -8.347 25.181 -12.765 31.711 -3.486 6.349 -27.794 -0.028 -4.763 -7.429 + -37.768 13.290 -23.516 16.119 -4.081 -8.301 -2.987 -3.072 12.100 6.878 + 4.147 3.539 -10.473 -2.446 -0.085 17.718 -4.963 6.308 9.686 3.934 + 5.673 -0.099 -2.948 -4.485 -24.815 3.011 -0.738 3.226 0.873 0.101 + 20.970 -3.345 0.359 -2.424 -0.865 0.740 -20.099 4.477 -15.892 2.163 + 6.753 -4.671 -2.915 -13.847 26.962 -6.621 11.728 18.966 4.663 -6.443 + -5.935 -1.899 -4.222 -19.106 6.452 1.049 2.461 -19.566 -9.188 8.835 + 2.810 0.901 -1.350 35.157 -8.914 10.887 -16.892 -0.452 -9.735 -10.795 + -23.056 8.603 -1.813 -3.125 -0.505 -2.296 6.818 -2.768 0.554 12.023 + -1.432 12.392 25.363 -13.443 -6.211 -8.246 18.085 2.333 22.315 -2.735 + -8.659 -0.002 9.252 10.199 -11.838 -12.418 3.233 -3.299 1.788 -19.729 + -26.359 -7.953 1.982 3.960 -1.824 24.455 1.362 -14.050 4.417 6.566 + 7.746 -13.285 -12.823 4.791 -7.907 39.028 42.452 5.136 -18.879 -32.435 + 1.628 -1.238 -3.539 -8.086 17.767 -17.628 1.581 -0.156 6.586 -6.378 + 29.227 24.574 -13.660 18.751 9.815 9.779 -8.071 -16.363 5.554 -32.547 + 7.507 0.636 -12.036 -2.795 -8.708 38.673 -28.246 4.901 -4.373 3.893 + 0.462 14.914 28.163 -1.506 -9.145 -19.177 10.541 -52.521 4.889 2.324 + 6.362 0.329 -2.894 14.176 24.794 11.183 -22.523 -28.999 -5.088 3.358 + -1.321 -27.746 9.976 11.729 2.539 0.883 5.704 -15.958 23.382 -1.854 + 12.800 6.740 8.691 7.586 10.250 -7.503 4.480 -29.238 -24.504 -0.885 + -0.475 20.849 5.303 -7.224 9.632 7.132 18.582 -14.718 0.045 -10.070 + 2.566 -4.264 -4.363 7.990 -4.831 -20.148 -8.095 -8.187 11.557 -8.122 + -3.296 -3.076 7.030 8.991 12.958 -3.120 5.807 4.211 7.381 -5.307 + 3.760 -8.411 1.221 -4.305 4.412 -4.614 14.465 -8.777 -7.029 -13.063 + -17.391 33.334 -25.053 39.634 -8.816 9.824 -2.452 -5.445 -0.307 -11.585 + 13.397 23.454 -11.445 -9.306 3.371 -7.338 -6.031 -9.377 10.237 -3.986 + -3.184 -19.215 11.072 -13.420 6.304 -11.954 -6.568 17.315 -10.653 14.009 + 32.870 4.521 -7.608 -2.568 4.120 2.045 5.344 -11.250 -3.595 -25.901 + 16.982 4.676 -3.695 3.245 -26.049 29.402 -0.967 11.603 4.871 -5.799 + 14.407 -30.535 -2.064 16.039 -6.650 41.093 -18.882 21.309 -5.258 -4.121 + -4.532 -17.921 30.562 -0.050 -1.163 -11.135 -3.297 -1.783 -11.936 -6.851 + -21.970 -0.280 18.342 39.336 -4.038 -18.638 -3.093 -0.702 -1.958 -19.225 + -4.472 -0.768 6.741 5.282 -0.029 -99.021 -44.483 10.739 59.064 10.053 + -32.622 -6.159 -6.282 9.190 10.962 36.204 37.117 -8.406 -3.638 -13.527 + -1.952 -31.100 -24.836 9.657 -7.401 -6.811 -30.348 12.963 42.931 2.382 + 9.599 -7.587 68.469 27.377 -14.103 -22.557 6.121 2.604 8.539 -4.876 + 1.941 18.348 -8.663 -12.774 -1.009 9.012 9.459 -22.299 10.453 11.400 + -5.202 5.126 0.976 -1.246 24.968 -1.413 -3.004 -12.279 0.902 2.559 + -11.139 -4.724 3.286 4.742 7.271 2.322 11.364 -2.871 1.940 -0.610 + 1.558 -21.639 7.823 -4.962 15.890 -24.899 -7.077 29.632 -9.805 -4.381 + -2.143 1.894 -0.192 -9.031 -8.389 1.407 -3.188 -5.970 -0.468 8.397 + 0.480 -36.496 -9.295 -8.476 17.098 1.802 17.872 -8.747 7.263 -9.239 + -1.093 6.225 -13.902 6.699 -22.336 -23.174 -5.009 6.308 33.432 11.140 + 6.144 3.175 -0.558 17.886 -12.544 7.776 -6.630 -6.686 -1.538 -5.049 + -22.881 3.916 -6.738 -6.358 -11.310 -1.535 0.374 -3.136 4.370 -1.462 + 6.026 0.811 18.304 2.225 19.396 -36.999 18.879 9.216 0.081 -1.492 + -15.922 38.212 -2.687 1.530 -0.973 -1.616 -17.900 22.590 -23.193 9.556 + 11.671 41.860 -19.546 3.992 -16.916 -9.561 2.153 18.036 4.325 -4.972 + -22.020 21.134 -7.523 23.640 6.452 -0.344 -7.289 -16.222 18.105 -10.220 + 2.582 1.386 -0.269 1.812 -6.110 9.408 18.989 -6.343 -13.540 -12.888 + 12.720 -5.315 2.308 2.353 -1.734 -4.212 -41.040 17.411 5.006 6.900 + -3.621 -6.207 10.635 -8.512 -6.513 5.165 1.902 -4.422 5.777 -0.988 + -9.860 -20.107 -7.886 3.916 6.006 4.656 17.331 -14.406 -18.631 -17.878 + 9.446 2.996 -25.075 11.051 -25.366 11.948 -5.642 7.010 2.286 9.910 + 7.623 2.262 -19.441 35.734 -3.229 -0.688 -0.649 22.879 2.931 -11.530 + -2.240 5.797 -4.139 -11.485 4.753 -3.388 36.099 -15.132 -7.918 -14.177 + 7.506 3.795 -13.179 6.611 14.363 -0.116 2.388 -7.124 24.243 -11.131 + 15.492 7.817 2.951 8.740 -12.889 -0.737 -10.358 -33.596 31.971 -30.999 + 9.020 -15.110 11.785 -8.316 -20.831 12.699 6.211 -8.515 6.433 13.653 + 29.890 -24.664 -2.513 -4.371 5.834 12.363 -17.302 -8.161 15.004 0.658 + 5.369 -11.299 -13.592 1.668 -34.706 23.810 -18.729 1.799 -0.889 6.894 + 3.110 -4.726 3.943 -12.323 -3.871 14.447 4.698 -1.402 10.067 9.038 + 7.105 -5.354 19.462 40.958 13.360 -0.430 -13.653 -8.396 -1.112 -0.736 + -2.360 -12.999 -36.303 -29.637 1.535 9.172 6.102 0.936 3.174 6.203 + 0.183 -1.004 5.279 -29.827 39.438 5.471 38.079 -25.994 15.934 4.106 + -11.909 -13.599 -0.426 2.035 5.077 -3.988 -6.450 5.437 3.260 18.131 + -8.308 24.931 -14.180 31.574 -2.838 6.374 -27.839 -0.228 -3.699 -7.602 + -38.049 13.334 -23.517 17.469 -4.462 -8.323 -4.085 -2.782 12.170 6.741 + 4.274 3.516 -10.510 -2.506 -0.092 17.935 -5.176 6.798 9.537 4.515 + 4.705 -0.088 -3.328 -3.778 -22.981 2.770 -1.212 1.523 0.901 0.905 + 20.674 -3.116 0.064 -2.187 -1.003 0.894 -19.879 5.224 -17.876 2.019 + 6.046 -2.865 -3.199 -13.778 26.879 -6.495 11.809 19.149 4.593 -6.509 + -5.945 -3.488 -4.265 -18.438 8.030 0.907 1.785 -19.438 -9.064 8.855 + 2.589 0.865 -1.329 35.222 -8.595 10.847 -16.866 -0.811 -9.804 -10.435 + -22.933 8.423 -1.880 -2.971 -0.407 -2.432 6.693 -2.989 0.280 11.787 + -1.032 12.499 25.194 -13.594 -6.226 -7.966 18.313 2.328 22.411 -2.728 + -8.801 0.072 9.392 9.782 -11.511 -11.940 3.781 -3.699 1.114 -19.609 + -26.831 -8.237 1.898 4.103 -1.640 24.381 1.752 -10.752 3.481 6.794 + 6.581 -12.202 -13.464 2.913 -7.835 39.051 42.277 5.087 -18.877 -32.355 + 1.704 -1.356 -3.828 -8.251 18.419 -18.106 1.645 -0.485 6.948 -6.372 + 29.070 24.833 -13.910 19.377 9.461 9.975 -8.498 -16.205 5.838 -34.014 + 6.866 0.396 -10.961 -2.041 -8.743 39.044 -29.130 4.930 -4.399 4.517 + 0.640 14.270 28.366 -1.676 -8.655 -19.538 10.507 -52.417 5.532 2.295 + 6.223 -0.065 -2.928 14.541 25.397 11.200 -22.871 -29.681 -5.123 3.555 + -0.899 -27.607 9.758 10.536 2.061 0.986 6.915 -14.806 23.653 0.108 + 13.218 6.822 7.626 6.134 10.605 -8.379 5.984 -29.676 -24.018 -2.082 + -0.092 20.372 5.069 -7.635 9.720 6.228 17.324 -14.235 -0.089 -10.105 + 2.473 -3.180 -3.321 7.511 -4.039 -18.734 -8.027 -9.079 10.650 -7.401 + -3.392 -3.330 6.172 10.271 11.016 -4.865 5.987 4.350 8.140 -5.826 + 6.402 -8.374 0.374 -5.003 5.287 -4.512 14.624 -8.650 -7.102 -13.155 + -17.550 33.214 -25.667 38.713 -8.688 10.460 -1.408 -5.337 -0.473 -11.547 + 12.763 23.376 -9.986 -9.842 2.166 -8.861 -4.383 -9.244 10.203 -4.466 + -1.945 -19.436 10.910 -13.221 6.843 -12.204 -6.853 17.153 -9.548 12.707 + 33.787 3.907 -5.967 -2.974 3.940 1.748 5.174 -12.841 -4.022 -26.013 + 18.573 5.117 -3.911 3.304 -26.377 29.236 -0.997 11.811 5.193 -5.242 + 13.788 -32.031 -2.593 16.763 -5.564 40.932 -18.638 21.839 -4.815 -4.266 + -4.909 -17.590 28.090 0.397 -1.340 -11.165 -3.242 -2.355 -9.664 -7.390 + -21.314 -0.044 18.268 38.166 -3.992 -17.705 -1.990 -0.902 -2.933 -19.449 + -4.941 -1.355 6.938 5.762 0.466 -98.413 -44.220 10.713 57.130 8.553 + -32.996 -4.978 -4.787 10.013 10.992 36.225 37.111 -8.122 -3.522 -13.708 + -0.308 -33.229 -27.491 8.268 -5.745 -4.515 -30.503 12.885 43.116 2.450 + 9.985 -7.517 67.857 27.179 -14.055 -22.613 5.946 2.681 8.486 -4.923 + 1.928 19.129 -8.542 -12.965 -1.683 9.106 9.659 -21.950 10.704 11.288 + -5.613 5.132 1.211 -2.521 24.589 -0.880 -1.945 -12.074 0.226 2.564 + -11.309 -4.797 3.522 4.913 7.149 2.438 11.350 -2.630 1.773 -0.367 + 1.599 -21.615 8.981 -3.536 15.831 -26.167 -8.539 29.389 -9.942 -4.489 + -1.864 1.907 -0.196 -9.289 -8.517 1.358 -2.886 -5.982 -0.459 7.797 + 0.331 -36.418 -8.766 -8.450 17.278 3.064 17.276 -9.116 7.290 -8.963 + -0.661 5.171 -13.924 6.436 -22.374 -22.547 -4.924 6.703 33.137 11.460 + 5.723 3.275 -0.835 18.114 -12.253 7.816 -6.799 -7.113 -1.570 -5.161 + -22.744 3.915 -6.359 -7.472 -11.135 -1.647 1.211 -3.281 3.635 -1.093 + 5.631 1.433 17.938 2.641 19.823 -36.490 19.279 8.792 -0.394 -1.911 + -15.647 37.679 -2.431 1.537 -0.144 -1.624 -18.357 22.462 -23.631 9.220 + 11.839 41.744 -19.456 4.014 -16.812 -8.259 1.753 19.271 3.155 -4.718 + -23.151 21.835 -7.133 23.888 5.818 -0.538 -7.505 -15.110 18.390 -9.587 + 2.375 1.714 -0.312 0.846 -6.621 8.912 16.287 -4.587 -14.082 -10.596 + 10.841 -5.226 2.790 2.623 -1.557 -4.415 -41.488 17.350 5.060 6.899 + -3.607 -6.098 10.654 -8.366 -6.176 4.683 1.921 -4.693 6.004 -1.033 + -12.264 -19.692 -8.808 6.089 5.883 5.657 16.903 -15.698 -19.144 -17.356 + 10.400 3.238 -24.605 11.407 -25.435 11.569 -6.190 6.934 2.106 10.246 + 7.740 2.211 -19.496 35.868 -3.286 -0.762 -0.590 24.845 3.399 -11.434 + -2.474 5.822 -4.286 -13.051 4.368 -3.458 36.176 -15.119 -7.814 -14.011 + 7.427 3.775 -13.919 7.063 14.382 0.481 2.084 -7.120 24.422 -10.786 + 15.005 7.506 2.920 9.224 -12.708 -1.185 -10.340 -33.340 31.957 -30.634 + 8.724 -15.226 11.571 -10.116 -20.162 10.885 7.795 -9.237 8.144 13.879 + 30.246 -24.491 -2.715 -4.263 5.461 11.918 -19.199 -8.027 14.846 0.838 + 4.862 -10.488 -12.269 2.028 -33.995 23.670 -17.684 1.771 -0.912 7.045 + 2.147 -4.366 2.670 -12.943 -4.664 15.740 5.180 -0.556 9.058 9.099 + 7.143 -5.391 19.219 41.131 12.992 -0.426 -13.787 -8.301 -0.668 -0.726 + -2.140 -12.537 -35.812 -33.320 1.908 9.154 6.257 0.118 3.959 7.378 + 0.110 -2.373 7.504 -29.532 39.925 5.841 38.280 -26.344 16.009 3.742 + -11.997 -13.906 -0.336 1.990 5.163 -2.982 -6.127 5.404 2.331 18.229 + -8.263 24.597 -15.571 31.370 -2.111 6.382 -27.856 -0.432 -2.652 -7.760 + -38.289 13.369 -23.491 18.724 -4.828 -8.328 -5.114 -2.501 12.223 6.586 + 4.413 3.469 -10.536 -2.568 -0.095 18.158 -5.414 7.326 9.379 5.087 + 3.728 -0.081 -3.690 -3.082 -21.152 2.527 -1.638 -0.156 0.915 1.692 + 20.425 -2.893 -0.251 -1.971 -1.123 1.035 -19.661 5.965 -19.878 1.868 + 5.328 -1.019 -3.515 -13.673 26.762 -6.323 11.869 19.307 4.514 -6.573 + -5.947 -5.077 -4.305 -17.764 9.569 0.785 1.117 -19.267 -8.950 8.852 + 2.347 0.837 -1.305 35.255 -8.273 10.794 -16.828 -1.186 -9.854 -10.040 + -22.846 8.251 -1.962 -2.751 -0.304 -2.577 6.557 -3.228 0.006 11.535 + -0.630 12.611 25.041 -13.741 -6.247 -7.687 18.538 2.326 22.508 -2.721 + -8.939 0.151 9.524 9.372 -11.192 -11.472 4.309 -4.084 0.467 -19.484 + -27.326 -8.566 1.809 4.262 -1.414 24.314 2.125 -7.450 2.531 7.025 + 5.394 -11.112 -14.096 1.049 -7.763 39.045 42.108 5.052 -18.841 -32.294 + 1.764 -1.467 -4.094 -8.417 19.057 -18.593 1.712 -0.822 7.328 -6.360 + 28.896 25.057 -14.143 19.976 9.105 10.161 -8.915 -16.023 6.111 -35.443 + 6.185 0.156 -9.881 -1.270 -8.761 39.341 -29.945 4.957 -4.405 5.084 + 0.806 13.661 28.553 -1.844 -8.172 -19.882 10.462 -52.284 6.181 2.300 + 6.081 -0.456 -2.962 14.899 25.994 11.169 -23.175 -30.306 -5.140 3.723 + -0.530 -27.463 9.530 9.372 1.596 1.090 8.095 -13.679 23.929 2.077 + 13.641 6.902 6.532 4.692 10.943 -9.241 7.525 -30.103 -23.509 -3.300 + 0.295 19.865 4.822 -8.037 9.799 5.287 16.028 -13.735 -0.224 -10.128 + 2.387 -2.069 -2.263 7.020 -3.224 -17.296 -7.984 -9.988 9.722 -6.667 + -3.484 -3.572 5.337 11.521 9.088 -6.572 6.167 4.482 8.876 -6.327 + 9.012 -8.337 -0.460 -5.684 6.147 -4.411 14.756 -8.523 -7.171 -13.235 + -17.701 33.062 -26.246 37.748 -8.550 11.097 -0.338 -5.215 -0.661 -11.505 + 12.192 23.377 -8.523 -10.377 0.930 -10.402 -2.815 -9.116 10.172 -4.930 + -0.749 -19.641 10.712 -13.038 7.351 -12.440 -7.114 17.014 -8.412 11.322 + 34.683 3.263 -4.255 -3.400 3.776 1.473 5.023 -14.365 -4.438 -26.105 + 20.095 5.541 -4.123 3.372 -26.712 29.068 -1.029 12.017 5.516 -4.708 + 13.205 -33.488 -3.103 17.458 -4.513 40.766 -18.405 22.356 -4.379 -4.411 + -5.276 -17.241 25.527 0.847 -1.518 -11.188 -3.175 -2.939 -7.316 -7.945 + -20.622 0.210 18.192 36.937 -3.965 -16.752 -0.852 -1.095 -3.926 -19.641 + -5.330 -1.865 7.099 6.167 0.887 -97.697 -43.928 10.664 55.122 7.075 + -33.308 -3.784 -3.299 10.819 10.974 36.181 37.054 -7.792 -3.383 -13.876 + 1.329 -35.330 -30.105 6.868 -4.089 -2.222 -30.598 12.740 43.207 2.518 + 10.410 -7.416 67.150 26.971 -13.963 -22.648 5.767 2.754 8.421 -4.968 + 1.917 19.882 -8.400 -13.140 -2.331 9.179 9.848 -21.572 10.979 11.134 + -6.051 5.127 1.464 -3.786 24.165 -0.325 -0.886 -11.856 -0.454 2.584 + -11.500 -4.819 3.756 5.090 7.026 2.537 11.338 -2.436 1.602 -0.106 + 1.633 -21.585 10.077 -2.166 15.767 -27.354 -9.937 29.141 -10.084 -4.599 + -1.595 1.917 -0.199 -9.541 -8.627 1.315 -2.579 -5.991 -0.454 7.104 + 0.157 -36.341 -8.155 -8.422 17.465 4.426 16.678 -9.480 7.312 -8.677 + -0.204 4.032 -13.940 6.133 -22.401 -21.898 -4.835 7.107 32.821 11.782 + 5.283 3.372 -1.119 18.317 -12.022 7.848 -6.942 -7.472 -1.594 -5.260 + -22.615 3.919 -6.022 -8.593 -10.985 -1.749 2.054 -3.418 2.900 -0.660 + 5.230 2.079 17.524 3.074 20.254 -35.979 19.686 8.361 -0.879 -2.337 + -15.420 37.157 -2.199 1.556 0.671 -1.628 -18.781 22.329 -24.043 8.857 + 12.019 41.630 -19.353 4.034 -16.697 -6.975 1.319 20.413 2.028 -4.452 + -24.203 22.534 -6.696 24.126 5.173 -0.734 -7.710 -13.950 18.737 -8.914 + 2.197 2.003 -0.354 -0.189 -7.177 8.371 13.454 -2.757 -14.625 -8.219 + 8.885 -5.128 3.302 2.899 -1.379 -4.568 -41.932 17.327 5.100 6.884 + -3.598 -6.020 10.675 -8.249 -5.843 4.155 1.922 -4.970 6.235 -1.077 + -14.499 -19.228 -9.629 8.128 5.747 6.587 16.442 -16.995 -19.653 -16.824 + 11.339 3.477 -24.133 11.752 -25.489 11.194 -6.734 6.842 1.924 10.584 + 7.861 2.221 -19.503 35.973 -3.382 -0.851 -0.537 26.789 3.839 -11.324 + -2.696 5.846 -4.425 -14.626 3.989 -3.528 36.229 -15.090 -7.670 -13.844 + 7.346 3.751 -14.601 7.482 14.360 1.045 1.802 -7.101 24.592 -10.472 + 14.451 7.160 2.894 9.741 -12.518 -1.626 -10.317 -33.040 31.952 -30.226 + 8.416 -15.345 11.344 -11.871 -19.473 9.102 9.342 -9.951 9.811 14.102 + 30.595 -24.267 -2.940 -4.145 5.040 11.477 -21.168 -7.858 14.648 1.021 + 4.314 -9.639 -10.891 2.400 -33.301 23.538 -16.628 1.764 -0.935 7.170 + 1.184 -4.003 1.402 -13.522 -5.434 17.056 5.648 0.272 8.056 9.119 + 7.192 -5.447 19.032 41.249 12.633 -0.426 -13.900 -8.204 -0.284 -0.717 + -1.947 -12.049 -35.247 -36.884 2.249 9.132 6.394 -0.674 4.683 8.493 + 0.036 -3.735 9.701 -29.203 40.356 6.201 38.450 -26.681 16.072 3.356 + -12.045 -14.205 -0.226 1.935 5.253 -1.969 -5.786 5.411 1.403 18.319 + -8.220 24.200 -17.028 31.085 -1.330 6.376 -27.843 -0.651 -1.547 -7.911 + -38.502 13.402 -23.402 19.889 -5.165 -8.345 -6.100 -2.234 12.276 6.478 + 4.539 3.407 -10.557 -2.629 -0.092 18.353 -5.623 7.836 9.178 5.648 + 2.782 -0.071 -4.048 -2.400 -19.331 2.296 -2.084 -1.796 0.925 2.479 + 20.133 -2.654 -0.562 -1.727 -1.264 1.187 -19.417 6.704 -21.864 1.712 + 4.609 0.831 -3.818 -13.581 26.609 -6.096 11.922 19.434 4.405 -6.633 + -5.936 -6.716 -4.353 -17.043 11.139 0.664 0.425 -19.058 -8.814 8.820 + 2.065 0.809 -1.272 35.302 -7.992 10.748 -16.794 -1.541 -9.901 -9.692 + -22.668 7.936 -2.031 -2.581 -0.202 -2.676 6.451 -3.390 -0.286 11.231 + -0.164 12.719 24.920 -13.866 -6.266 -7.432 18.736 2.362 22.578 -2.749 + -9.102 0.250 9.683 8.950 -10.894 -10.987 4.836 -4.458 -0.182 -19.371 + -27.809 -8.897 1.738 4.423 -1.192 24.292 2.464 -4.076 1.518 7.265 + 4.149 -10.031 -14.692 -0.813 -7.657 38.974 41.863 5.005 -18.766 -32.226 + 1.826 -1.582 -4.352 -8.584 19.665 -19.011 1.783 -1.150 7.677 -6.332 + 28.678 25.244 -14.358 20.484 8.771 10.330 -9.262 -15.852 6.397 -36.818 + 5.505 -0.095 -8.806 -0.504 -8.798 39.612 -30.694 4.992 -4.397 5.596 + 1.003 12.951 28.721 -2.027 -7.633 -20.234 10.381 -52.041 6.880 2.325 + 5.928 -0.828 -2.995 15.251 26.576 11.126 -23.486 -30.964 -5.158 3.906 + -0.123 -27.324 9.316 8.245 1.132 1.197 9.234 -12.545 24.180 4.022 + 14.042 6.976 5.443 3.268 11.283 -10.079 8.957 -30.524 -23.027 -4.451 + 0.665 19.395 4.615 -8.401 9.863 4.364 14.723 -13.252 -0.364 -10.146 + 2.307 -0.968 -1.220 6.540 -2.368 -15.788 -7.969 -10.947 8.722 -5.881 + -3.579 -3.808 4.485 12.795 7.200 -8.188 6.323 4.583 9.539 -6.831 + 11.606 -8.293 -1.282 -6.347 6.982 -4.295 14.865 -8.402 -7.239 -13.310 + -17.845 32.853 -26.711 36.784 -8.401 11.687 0.708 -5.056 -0.905 -11.448 + 11.561 23.297 -7.087 -10.899 -0.258 -11.886 -1.202 -8.965 10.143 -5.395 + 0.444 -19.846 10.460 -12.874 7.762 -12.630 -7.327 16.935 -7.251 9.876 + 35.558 2.597 -2.517 -3.830 3.628 1.225 4.887 -15.724 -4.803 -26.209 + 21.440 5.920 -4.312 3.451 -27.057 28.868 -1.066 12.231 5.851 -4.138 + 12.566 -34.989 -3.647 18.187 -3.392 40.580 -18.187 22.852 -3.941 -4.544 + -5.626 -16.877 22.936 1.203 -1.722 -11.181 -3.048 -3.505 -4.968 -8.490 + -19.930 0.467 18.132 35.651 -3.962 -15.781 0.295 -1.276 -4.918 -19.757 + -5.708 -2.412 7.233 6.560 1.312 -96.909 -43.563 10.653 53.015 5.609 + -33.557 -2.571 -1.806 11.617 10.987 36.075 36.908 -7.459 -3.228 -14.022 + 2.989 -37.437 -32.719 5.440 -2.400 0.105 -30.668 12.588 43.273 2.571 + 10.832 -7.309 66.403 26.709 -13.897 -22.685 5.658 2.858 8.373 -5.025 + 1.902 20.508 -8.242 -13.304 -2.854 9.207 10.014 -21.175 11.236 10.969 + -6.501 5.126 1.733 -5.041 23.735 0.200 0.174 -11.638 -1.133 2.633 + -11.679 -4.865 3.961 5.251 6.910 2.634 11.311 -2.229 1.420 0.180 + 1.674 -21.541 11.088 -0.853 15.692 -28.455 -11.260 28.837 -10.229 -4.711 + -1.305 1.921 -0.201 -9.826 -8.721 1.269 -2.218 -5.995 -0.448 6.448 + -0.023 -36.239 -7.583 -8.395 17.635 5.781 16.012 -9.861 7.324 -8.363 + 0.273 2.907 -13.937 5.832 -22.409 -21.223 -4.748 7.527 32.515 12.113 + 4.815 3.445 -1.417 18.529 -11.751 7.881 -7.101 -7.874 -1.625 -5.365 + -22.490 3.915 -5.663 -9.662 -10.817 -1.855 2.863 -3.558 2.134 -0.245 + 4.811 2.745 17.090 3.519 20.655 -35.399 20.075 7.929 -1.375 -2.767 + -15.192 36.548 -1.976 1.575 1.505 -1.626 -19.174 22.237 -24.425 8.495 + 12.203 41.509 -19.243 4.050 -16.577 -5.757 0.887 21.473 0.974 -4.195 + -25.181 23.145 -6.229 24.331 4.594 -0.926 -7.894 -12.785 19.079 -8.204 + 2.017 2.281 -0.406 -1.225 -7.736 7.826 10.575 -0.902 -15.187 -5.817 + 6.908 -5.033 3.822 3.167 -1.186 -4.649 -42.334 17.326 5.094 6.834 + -3.604 -5.953 10.695 -8.140 -5.520 3.589 1.917 -5.232 6.471 -1.117 + -16.693 -18.751 -10.440 10.141 5.615 7.509 15.953 -18.235 -20.138 -16.284 + 12.240 3.718 -23.660 12.053 -25.533 10.845 -7.245 6.768 1.744 10.915 + 7.965 2.219 -19.489 36.035 -3.471 -0.942 -0.478 28.637 4.258 -11.264 + -2.883 5.860 -4.515 -16.149 3.627 -3.585 36.276 -15.059 -7.512 -13.677 + 7.263 3.726 -15.301 7.905 14.321 1.624 1.512 -7.083 24.709 -10.090 + 13.907 6.821 2.869 10.239 -12.282 -2.128 -10.284 -32.734 31.925 -29.814 + 8.106 -15.454 11.113 -13.567 -18.789 7.377 10.847 -10.642 11.427 14.342 + 30.894 -23.977 -3.212 -3.997 4.546 11.063 -23.142 -7.701 14.422 1.199 + 3.759 -8.785 -9.495 2.785 -32.602 23.387 -15.549 1.766 -0.952 7.269 + 0.216 -3.639 0.139 -14.115 -6.204 18.416 6.132 1.126 6.988 9.138 + 7.223 -5.496 18.814 41.324 12.365 -0.411 -13.956 -8.183 0.113 -0.726 + -1.751 -11.666 -34.540 -40.410 2.646 9.080 6.538 -1.422 5.323 9.522 + -0.032 -5.121 11.935 -28.870 40.787 6.567 38.613 -27.018 16.129 2.975 + -12.085 -14.499 -0.126 1.887 5.341 -0.968 -5.426 5.402 0.509 18.400 + -8.172 23.826 -18.497 30.740 -0.578 6.364 -27.809 -0.879 -0.432 -8.050 + -38.703 13.430 -23.271 21.050 -5.496 -8.370 -7.084 -1.961 12.316 6.376 + 4.637 3.409 -10.592 -2.670 -0.142 18.519 -5.824 8.357 8.979 6.219 + 1.793 -0.054 -4.419 -1.681 -17.448 2.058 -2.570 -3.488 0.936 3.294 + 19.863 -2.405 -0.863 -1.491 -1.407 1.330 -19.216 7.416 -23.769 1.562 + 3.920 2.611 -4.081 -13.498 26.437 -5.861 11.943 19.593 4.292 -6.690 + -5.927 -8.344 -4.410 -16.307 12.699 0.559 -0.280 -18.770 -8.627 8.778 + 1.713 0.765 -1.219 35.259 -7.675 10.652 -16.734 -1.944 -9.927 -9.304 + -22.512 7.566 -2.103 -2.396 -0.089 -2.759 6.356 -3.498 -0.582 10.926 + 0.297 12.827 24.788 -13.982 -6.284 -7.165 18.932 2.397 22.605 -2.786 + -9.271 0.366 9.847 8.515 -10.574 -10.484 5.364 -4.837 -0.838 -19.213 + -28.239 -9.222 1.662 4.557 -0.962 24.212 2.780 -0.752 0.541 7.499 + 2.930 -8.947 -15.282 -2.652 -7.540 38.910 41.553 4.952 -18.729 -32.084 + 1.893 -1.697 -4.619 -8.747 20.281 -19.440 1.849 -1.457 8.006 -6.300 + 28.405 25.471 -14.562 20.946 8.450 10.490 -9.566 -15.698 6.684 -38.155 + 4.828 -0.347 -7.741 0.259 -8.839 39.843 -31.377 5.030 -4.372 6.051 + 1.200 12.256 28.858 -2.206 -7.112 -20.561 10.289 -51.736 7.566 2.353 + 5.731 -1.243 -3.032 15.622 27.178 11.064 -23.764 -31.571 -5.174 4.071 + 0.247 -27.149 9.125 7.102 0.649 1.303 10.375 -11.386 24.432 5.926 + 14.409 7.036 4.387 1.843 11.616 -10.903 10.334 -30.957 -22.530 -5.568 + 1.027 18.933 4.418 -8.745 9.924 3.360 13.372 -12.763 -0.477 -10.166 + 2.238 0.192 -0.129 6.020 -1.496 -14.233 -7.980 -11.921 7.686 -5.062 + -3.669 -4.034 3.627 13.985 5.254 -9.740 6.478 4.681 10.221 -7.323 + 14.182 -8.241 -2.034 -6.943 7.730 -4.164 14.966 -8.260 -7.310 -13.391 + -17.998 32.598 -27.121 35.779 -8.237 12.237 1.749 -4.879 -1.156 -11.364 + 10.943 23.202 -5.683 -11.381 -1.416 -13.323 0.375 -8.822 10.097 -5.864 + 1.623 -20.033 10.166 -12.730 8.159 -12.793 -7.511 16.876 -6.085 8.454 + 36.401 1.939 -0.806 -4.246 3.471 0.969 4.743 -17.014 -5.149 -26.291 + 22.718 6.285 -4.505 3.524 -27.379 28.675 -1.096 12.424 6.163 -3.544 + 11.932 -36.529 -4.202 18.908 -2.231 40.350 -17.957 23.363 -3.478 -4.671 + -5.990 -16.518 20.381 1.556 -1.919 -11.181 -2.925 -4.065 -2.650 -9.025 + -19.217 0.710 18.048 34.329 -3.949 -14.792 1.458 -1.459 -5.920 -19.887 + -6.093 -2.951 7.382 6.957 1.731 -96.036 -43.149 10.641 50.859 4.168 + -33.744 -1.362 -0.333 12.389 11.014 35.933 36.712 -7.122 -3.070 -14.160 + 4.622 -39.494 -35.267 4.021 -0.723 2.410 -30.647 12.445 43.279 2.581 + 11.223 -7.195 65.565 26.417 -13.808 -22.668 5.488 2.961 8.295 -5.069 + 1.884 21.097 -8.027 -13.455 -3.362 9.221 10.173 -20.784 11.490 10.810 + -6.937 5.109 1.999 -6.271 23.291 0.696 1.209 -11.413 -1.795 2.676 + -11.830 -4.941 4.147 5.401 6.806 2.743 11.276 -1.997 1.246 0.464 + 1.716 -21.487 12.040 0.405 15.612 -29.492 -12.525 28.536 -10.364 -4.823 + -1.021 1.919 -0.201 -10.167 -8.770 1.216 -1.806 -6.023 -0.437 5.791 + -0.208 -36.105 -7.011 -8.366 17.798 7.156 15.259 -10.268 7.322 -8.008 + 0.779 1.774 -13.916 5.530 -22.397 -20.478 -4.661 7.886 32.197 12.405 + 4.380 3.517 -1.695 18.767 -11.525 7.933 -7.259 -8.246 -1.658 -5.509 + -22.341 3.894 -5.256 -10.677 -10.625 -1.963 3.627 -3.697 1.286 0.199 + 4.344 3.464 16.595 4.000 21.031 -34.803 20.445 7.498 -1.868 -3.196 + -14.915 36.003 -1.726 1.572 2.286 -1.632 -19.565 22.097 -24.809 8.145 + 12.375 41.362 -19.118 4.059 -16.445 -4.634 0.455 22.420 -0.009 -3.931 + -26.049 23.709 -5.801 24.510 4.065 -1.090 -8.051 -11.597 19.414 -7.489 + 1.821 2.560 -0.454 -2.270 -8.307 7.267 7.679 0.945 -15.745 -3.397 + 4.930 -4.929 4.342 3.449 -0.989 -4.748 -42.724 17.275 5.092 6.782 + -3.595 -5.868 10.700 -7.999 -5.232 3.041 1.879 -5.467 6.706 -1.141 + -18.843 -18.248 -11.217 12.128 5.473 8.414 15.418 -19.462 -20.602 -15.715 + 13.140 3.948 -23.206 12.376 -25.550 10.491 -7.727 6.694 1.578 11.176 + 8.042 2.224 -19.437 36.042 -3.545 -1.033 -0.411 30.370 4.619 -11.211 + -3.053 5.866 -4.578 -17.591 3.298 -3.632 36.299 -15.013 -7.321 -13.494 + 7.168 3.699 -15.968 8.298 14.233 2.171 1.242 -7.060 24.778 -9.657 + 13.386 6.489 2.850 10.721 -12.005 -2.666 -10.249 -32.386 31.844 -29.364 + 7.761 -15.546 10.848 -15.223 -18.128 5.699 12.297 -11.320 12.990 14.596 + 31.278 -23.684 -3.483 -3.871 4.066 10.625 -25.160 -7.548 14.169 1.384 + 3.186 -7.906 -8.056 3.185 -31.864 23.207 -14.473 1.748 -0.973 7.395 + -0.750 -3.260 -1.132 -14.684 -7.000 19.801 6.622 1.998 5.899 9.118 + 7.266 -5.559 18.540 41.372 12.069 -0.387 -14.004 -8.148 0.550 -0.733 + -1.541 -11.196 -33.803 -43.798 2.951 9.025 6.642 -2.150 5.921 10.491 + -0.106 -6.479 14.135 -28.522 41.165 6.892 38.774 -27.347 16.196 2.591 + -12.123 -14.776 -0.018 1.832 5.430 0.081 -5.046 5.368 -0.444 18.481 + -8.113 23.376 -19.957 30.355 0.244 6.343 -27.745 -1.105 0.687 -8.185 + -38.908 13.451 -23.127 22.165 -5.827 -8.347 -8.011 -1.696 12.330 6.213 + 4.765 3.379 -10.604 -2.719 -0.180 18.695 -6.047 8.910 8.785 6.822 + 0.746 -0.038 -4.812 -0.921 -15.578 1.808 -3.024 -5.161 0.956 4.087 + 19.597 -2.169 -1.140 -1.279 -1.537 1.455 -18.998 8.100 -25.642 1.413 + 3.250 4.365 -4.321 -13.400 26.226 -5.598 11.962 19.748 4.170 -6.748 + -5.914 -10.086 -4.454 -15.521 14.358 0.449 -1.027 -18.437 -8.445 8.711 + 1.329 0.714 -1.154 35.202 -7.353 10.569 -16.664 -2.340 -9.946 -8.936 + -22.254 7.084 -2.150 -2.279 0.016 -2.811 6.286 -3.547 -0.905 10.569 + 0.820 12.923 24.636 -14.081 -6.296 -6.885 19.096 2.403 22.631 -2.797 + -9.429 0.476 10.005 8.123 -10.289 -10.020 5.869 -5.200 -1.467 -19.061 + -28.601 -9.548 1.583 4.679 -0.725 24.123 3.096 2.542 -0.420 7.718 + 1.717 -7.867 -15.860 -4.460 -7.429 38.799 41.214 4.910 -18.690 -32.015 + 1.949 -1.796 -4.834 -8.906 20.891 -19.832 1.913 -1.760 8.308 -6.260 + 28.089 25.687 -14.768 21.391 8.135 10.646 -9.832 -15.548 6.977 -39.504 + 4.157 -0.605 -6.671 1.025 -8.885 40.083 -31.997 5.069 -4.331 6.455 + 1.408 11.534 28.954 -2.390 -6.591 -20.887 10.186 -51.383 8.312 2.430 + 5.482 -1.685 -3.071 15.997 27.784 10.932 -23.995 -32.161 -5.172 4.231 + 0.627 -26.958 8.951 5.952 0.175 1.401 11.513 -10.189 24.667 7.833 + 14.766 7.093 3.349 0.366 11.952 -11.750 11.768 -31.431 -21.956 -6.751 + 1.411 18.409 4.227 -9.067 9.978 2.417 12.049 -12.300 -0.595 -10.188 + 2.161 1.317 0.922 5.516 -0.650 -12.635 -7.978 -12.877 6.633 -4.242 + -3.759 -4.258 2.770 15.143 3.208 -11.238 6.615 4.785 10.896 -7.811 + 16.801 -8.193 -2.741 -7.501 8.428 -4.057 15.089 -8.146 -7.377 -13.477 + -18.145 32.324 -27.443 34.842 -8.075 12.745 2.735 -4.664 -1.473 -11.275 + 10.332 23.143 -4.286 -11.858 -2.579 -14.755 1.923 -8.672 10.053 -6.315 + 2.773 -20.214 9.864 -12.582 8.548 -12.941 -7.684 16.818 -4.958 6.980 + 37.192 1.284 0.920 -4.653 3.339 0.736 4.619 -18.245 -5.476 -26.351 + 23.942 6.639 -4.699 3.590 -27.729 28.496 -1.122 12.619 6.474 -2.946 + 11.316 -38.080 -4.752 19.616 -1.072 40.058 -17.730 23.861 -2.998 -4.793 + -6.356 -16.100 17.778 1.910 -2.153 -11.168 -2.778 -4.630 -0.305 -9.570 + -18.502 0.937 17.926 33.065 -3.897 -13.787 2.567 -1.639 -6.892 -20.001 + -6.436 -3.432 7.497 7.300 2.098 -95.027 -42.682 10.596 48.641 2.741 + -33.874 -0.169 1.119 13.144 11.005 35.733 36.474 -6.764 -2.899 -14.290 + 6.274 -41.529 -37.794 2.570 0.967 4.736 -30.545 12.337 43.242 2.563 + 11.580 -7.081 64.654 26.075 -13.708 -22.618 5.311 3.071 8.213 -5.104 + 1.870 21.741 -7.797 -13.612 -3.915 9.246 10.342 -20.434 11.730 10.667 + -7.350 5.097 2.256 -7.514 22.827 1.108 2.232 -11.190 -2.428 2.742 + -11.954 -4.982 4.335 5.544 6.687 2.842 11.239 -1.770 1.066 0.750 + 1.762 -21.419 12.854 1.551 15.529 -30.388 -13.661 28.247 -10.529 -4.925 + -0.750 1.916 -0.204 -10.511 -8.794 1.161 -1.383 -6.054 -0.424 5.120 + -0.363 -35.970 -6.416 -8.336 17.956 8.517 14.404 -10.684 7.318 -7.618 + 1.322 0.648 -13.877 5.220 -22.370 -19.632 -4.565 8.207 31.778 12.674 + 3.973 3.609 -1.958 19.002 -11.334 7.988 -7.412 -8.578 -1.693 -5.691 + -22.126 3.848 -4.788 -11.687 -10.403 -2.073 4.382 -3.834 0.405 0.588 + 3.870 4.183 16.108 4.477 21.350 -34.157 20.772 7.119 -2.352 -3.590 + -14.638 35.365 -1.483 1.570 3.117 -1.633 -19.947 21.934 -25.187 7.795 + 12.522 41.191 -18.989 4.073 -16.304 -3.528 0.023 23.316 -0.971 -3.666 + -26.877 24.263 -5.329 24.682 3.538 -1.271 -8.203 -10.369 19.780 -6.715 + 1.642 2.822 -0.490 -3.375 -8.904 6.661 4.745 2.790 -16.339 -0.969 + 2.950 -4.819 4.889 3.743 -0.775 -4.812 -43.104 17.229 5.075 6.720 + -3.584 -5.793 10.698 -7.857 -4.985 2.465 1.823 -5.676 6.946 -1.156 + -20.943 -17.749 -11.981 14.096 5.328 9.311 14.868 -20.634 -21.072 -15.146 + 14.013 4.173 -22.738 12.745 -25.537 10.106 -8.238 6.604 1.421 11.417 + 8.108 2.224 -19.390 36.028 -3.602 -1.112 -0.341 31.982 4.940 -11.160 + -3.224 5.872 -4.642 -18.918 3.003 -3.664 36.263 -14.942 -7.074 -13.268 + 7.051 3.658 -16.577 8.652 14.119 2.678 0.995 -7.037 24.837 -9.173 + 12.877 6.158 2.822 11.193 -11.717 -3.226 -10.210 -32.034 31.692 -28.894 + 7.406 -15.625 10.571 -16.863 -17.404 4.010 13.751 -11.994 14.553 14.843 + 31.607 -23.340 -3.780 -3.719 3.533 10.171 -27.140 -7.410 13.917 1.550 + 2.637 -7.021 -6.616 3.582 -31.074 22.993 -13.360 1.726 -1.000 7.509 + -1.745 -2.862 -2.430 -15.234 -7.787 21.193 7.113 2.870 4.796 9.082 + 7.310 -5.627 18.296 41.398 11.743 -0.361 -14.062 -8.070 0.958 -0.724 + -1.352 -10.736 -33.065 -47.147 3.271 8.952 6.752 -2.890 6.527 11.480 + -0.182 -7.813 16.280 -28.155 41.538 7.217 38.925 -27.669 16.261 2.172 + -12.149 -15.051 0.119 1.767 5.524 1.050 -4.650 5.343 -1.341 18.544 + -8.056 22.952 -21.331 29.917 1.038 6.322 -27.664 -1.323 1.719 -8.309 + -39.068 13.433 -22.938 23.245 -6.135 -8.334 -8.927 -1.433 12.332 6.042 + 4.913 3.292 -10.614 -2.777 -0.187 18.859 -6.304 9.538 8.596 7.427 + -0.346 -0.024 -5.201 -0.145 -13.729 1.565 -3.469 -6.790 0.973 4.858 + 19.353 -1.951 -1.383 -1.120 -1.649 1.564 -18.730 8.758 -27.506 1.259 + 2.578 6.136 -4.599 -13.249 25.951 -5.317 11.990 19.910 4.047 -6.806 + -5.907 -11.776 -4.522 -14.752 15.955 0.353 -1.747 -18.137 -8.263 8.651 + 0.998 0.657 -1.105 35.114 -7.048 10.465 -16.579 -2.718 -9.950 -8.539 + -21.957 6.600 -2.198 -2.156 0.120 -2.874 6.202 -3.598 -1.233 10.191 + 1.344 13.015 24.509 -14.135 -6.306 -6.634 19.213 2.380 22.648 -2.776 + -9.572 0.585 10.144 7.731 -9.983 -9.563 6.375 -5.565 -2.100 -18.873 + -28.947 -9.885 1.486 4.806 -0.457 24.040 3.380 5.758 -1.375 7.932 + 0.525 -6.813 -16.412 -6.222 -7.300 38.635 40.861 4.849 -18.578 -31.940 + 2.008 -1.906 -5.041 -9.053 21.465 -20.238 1.977 -2.070 8.615 -6.228 + 27.763 25.920 -14.940 21.751 7.830 10.787 -10.048 -15.423 7.247 -40.801 + 3.475 -0.859 -5.619 1.804 -8.905 40.301 -32.576 5.098 -4.280 6.835 + 1.607 10.810 29.011 -2.568 -6.094 -21.186 10.070 -50.950 9.058 2.502 + 5.206 -2.140 -3.111 16.380 28.389 10.793 -24.175 -32.646 -5.158 4.353 + 0.919 -26.759 8.760 4.784 -0.311 1.487 12.658 -8.967 24.912 9.744 + 15.123 7.142 2.299 -1.122 12.278 -12.599 13.163 -31.901 -21.341 -7.922 + 1.796 17.873 4.045 -9.373 10.026 1.430 10.716 -11.888 -0.654 -10.218 + 2.118 2.440 1.974 5.008 0.217 -10.991 -7.964 -13.846 5.554 -3.403 + -3.851 -4.480 1.888 16.238 1.249 -12.617 6.735 4.866 11.505 -8.267 + 19.305 -8.141 -3.407 -8.016 9.071 -3.960 15.241 -8.021 -7.440 -13.567 + -18.290 32.049 -27.851 33.811 -7.899 13.282 3.782 -4.466 -1.742 -11.162 + 9.737 23.066 -2.922 -12.308 -3.699 -16.131 3.434 -8.519 9.999 -6.756 + 3.885 -20.387 9.497 -12.395 8.966 -13.071 -7.871 16.740 -3.772 5.541 + 37.962 0.625 2.624 -5.048 3.184 0.479 4.474 -19.368 -5.775 -26.414 + 25.049 6.966 -4.876 3.670 -28.100 28.292 -1.146 12.818 6.778 -2.386 + 10.777 -39.547 -5.274 20.281 0.031 39.740 -17.545 24.361 -2.500 -4.913 + -6.730 -15.689 15.165 2.290 -2.368 -11.172 -2.650 -5.200 2.073 -10.116 + -17.749 1.131 17.751 31.811 -3.837 -12.783 3.627 -1.801 -7.818 -20.051 + -6.737 -3.885 7.576 7.587 2.406 -93.940 -42.143 10.587 46.402 1.320 + -33.980 1.006 2.574 13.901 10.921 35.459 36.183 -6.349 -2.710 -14.412 + 7.934 -43.487 -40.238 1.127 2.620 7.012 -30.410 12.225 43.165 2.534 + 11.924 -6.963 63.657 25.701 -13.586 -22.566 5.164 3.179 8.138 -5.150 + 1.861 22.353 -7.559 -13.760 -4.445 9.260 10.506 -20.081 11.948 10.522 + -7.747 5.085 2.495 -8.773 22.366 1.547 3.264 -10.960 -3.071 2.747 + -12.000 -5.044 4.543 5.680 6.547 2.969 11.173 -1.484 0.898 0.996 + 1.797 -21.365 13.511 2.523 15.465 -31.139 -14.630 27.916 -10.663 -5.027 + -0.472 1.909 -0.207 -10.896 -8.845 1.102 -0.896 -6.078 -0.408 4.468 + -0.500 -35.814 -5.849 -8.307 18.100 9.886 13.527 -11.122 7.313 -7.210 + 1.894 -0.478 -13.838 4.898 -22.357 -18.772 -4.466 8.574 31.375 12.953 + 3.534 3.691 -2.228 19.213 -11.190 8.035 -7.556 -8.881 -1.726 -5.874 + -21.851 3.795 -4.325 -12.679 -10.181 -2.169 5.090 -3.960 -0.513 1.023 + 3.377 4.922 15.601 4.965 21.682 -33.555 21.094 6.752 -2.809 -3.969 + -14.372 34.704 -1.249 1.579 3.978 -1.624 -20.335 21.727 -25.568 7.376 + 12.683 40.975 -18.791 4.074 -16.117 -2.404 -0.431 24.179 -1.935 -3.386 + -27.662 24.762 -4.858 24.793 3.037 -1.433 -8.339 -9.140 20.085 -5.919 + 1.451 3.098 -0.532 -4.462 -9.478 6.050 1.828 4.710 -16.885 1.483 + 0.946 -4.704 5.380 3.988 -0.589 -4.892 -43.446 17.119 5.054 6.648 + -3.563 -5.690 10.680 -7.673 -4.716 1.886 1.776 -5.899 7.182 -1.177 + -22.921 -17.294 -12.701 15.976 5.187 10.168 14.288 -21.731 -21.564 -14.577 + 14.877 4.396 -22.319 13.153 -25.485 9.723 -8.715 6.512 1.293 11.569 + 8.147 2.244 -19.321 35.987 -3.650 -1.191 -0.263 33.453 5.229 -11.150 + -3.383 5.868 -4.675 -20.131 2.736 -3.670 36.207 -14.879 -6.757 -13.025 + 6.930 3.608 -17.161 9.003 13.988 3.178 0.750 -7.014 24.827 -8.656 + 12.379 5.849 2.796 11.631 -11.401 -3.810 -10.169 -31.680 31.484 -28.407 + 7.054 -15.696 10.293 -18.474 -16.608 2.307 15.200 -12.670 16.111 15.036 + 31.887 -22.955 -4.067 -3.548 2.979 9.762 -29.072 -7.274 13.663 1.717 + 2.089 -6.164 -5.211 3.970 -30.263 22.768 -12.234 1.708 -1.028 7.626 + -2.757 -2.457 -3.749 -15.801 -8.597 22.638 7.627 3.772 3.637 9.042 + 7.353 -5.694 18.044 41.370 11.358 -0.349 -14.112 -7.970 1.385 -0.718 + -1.137 -10.340 -32.275 -50.316 3.605 8.859 6.867 -3.577 7.078 12.393 + -0.259 -9.090 18.333 -27.801 41.893 7.522 39.088 -27.999 16.328 1.741 + -12.126 -15.316 0.282 1.678 5.621 2.013 -4.238 5.337 -2.247 18.594 + -7.991 22.477 -22.654 29.399 1.871 6.284 -27.554 -1.537 2.722 -8.423 + -39.196 13.379 -22.693 24.223 -6.407 -8.328 -9.778 -1.179 12.310 5.908 + 5.022 3.285 -10.657 -2.808 -0.257 19.040 -6.562 10.152 8.390 7.973 + -1.304 -0.005 -5.550 0.542 -11.850 1.354 -3.994 -8.439 0.992 5.642 + 19.015 -1.740 -1.570 -0.917 -1.776 1.681 -18.431 9.444 -29.450 1.109 + 1.875 7.980 -4.871 -13.077 25.637 -5.021 12.029 20.045 3.920 -6.867 + -5.896 -13.477 -4.605 -13.943 17.561 0.259 -2.480 -17.825 -8.093 8.590 + 0.661 0.605 -1.068 34.995 -6.706 10.377 -16.475 -3.118 -9.946 -8.068 + -21.512 6.078 -2.232 -2.071 0.216 -2.963 6.088 -3.671 -1.603 9.734 + 1.927 13.104 24.345 -14.210 -6.315 -6.349 19.336 2.333 22.654 -2.756 + -9.706 0.693 10.285 7.355 -9.689 -9.099 6.880 -5.928 -2.739 -18.646 + -29.253 -10.260 1.376 4.942 -0.161 23.937 3.640 8.968 -2.328 8.138 + -0.651 -5.765 -16.957 -7.981 -7.172 38.436 40.503 4.782 -18.432 -31.822 + 2.073 -2.036 -5.299 -9.198 22.030 -20.585 2.039 -2.362 8.889 -6.182 + 27.371 26.126 -15.102 22.089 7.505 10.915 -10.226 -15.286 7.500 -42.066 + 2.798 -1.109 -4.555 2.582 -8.903 40.487 -33.147 5.118 -4.224 7.228 + 1.809 10.031 29.048 -2.747 -5.572 -21.483 9.940 -50.443 9.810 2.586 + 4.909 -2.609 -3.161 16.773 29.006 10.628 -24.335 -33.128 -5.135 4.464 + 1.216 -26.531 8.577 3.641 -0.800 1.566 13.767 -7.729 25.137 11.617 + 15.462 7.189 1.276 -2.621 12.602 -13.450 14.488 -32.385 -20.664 -9.096 + 2.166 17.310 3.928 -9.629 10.051 0.499 9.415 -11.486 -0.719 -10.250 + 2.068 3.531 2.997 4.513 1.063 -9.313 -7.932 -14.811 4.445 -2.546 + -3.938 -4.709 0.973 17.284 -0.602 -13.879 6.839 4.923 12.011 -8.695 + 21.693 -8.089 -4.031 -8.506 9.696 -3.859 15.396 -7.888 -7.512 -13.665 + -18.455 31.760 -28.211 32.808 -7.718 13.780 4.796 -4.255 -2.021 -11.036 + 9.122 22.914 -1.618 -12.726 -4.772 -17.424 4.934 -8.355 9.941 -7.196 + 5.014 -20.549 9.170 -12.231 9.364 -13.205 -8.055 16.650 -2.584 4.130 + 38.777 -0.043 4.333 -5.451 3.008 0.187 4.281 -20.349 -6.034 -26.484 + 26.021 7.257 -5.034 3.730 -28.414 28.114 -1.161 12.997 7.051 -1.828 + 10.192 -40.985 -5.788 20.942 1.115 39.383 -17.285 24.833 -1.989 -5.039 + -7.107 -15.293 12.565 2.737 -2.562 -11.182 -2.559 -5.756 4.434 -10.658 + -16.961 1.296 17.528 30.540 -3.748 -11.734 4.683 -1.970 -8.753 -20.083 + -6.985 -4.278 7.632 7.834 2.677 -92.755 -41.581 10.540 44.118 -0.091 + -34.022 2.171 4.012 14.628 10.839 35.184 35.870 -5.913 -2.521 -14.529 + 9.539 -45.443 -42.645 -0.317 4.270 9.273 -30.169 12.147 43.064 2.472 + 12.237 -6.849 62.565 25.297 -13.456 -22.467 4.965 3.288 8.030 -5.178 + 1.852 22.924 -7.264 -13.886 -4.954 9.245 10.654 -19.713 12.153 10.376 + -8.143 5.071 2.735 -10.006 21.921 1.936 4.253 -10.743 -3.687 2.739 + -12.018 -5.088 4.754 5.810 6.400 3.098 11.107 -1.195 0.741 1.220 + 1.826 -21.297 14.045 3.392 15.397 -31.765 -15.485 27.587 -10.778 -5.120 + -0.217 1.891 -0.214 -11.335 -8.893 1.029 -0.348 -6.094 -0.387 3.809 + -0.678 -35.623 -5.260 -8.266 18.235 11.227 12.632 -11.606 7.294 -6.782 + 2.493 -1.572 -13.788 4.593 -22.333 -17.891 -4.361 8.911 30.926 13.211 + 3.119 3.788 -2.485 19.409 -11.080 8.085 -7.694 -9.143 -1.762 -6.044 + -21.535 3.742 -3.836 -13.662 -9.930 -2.278 5.784 -4.097 -1.373 1.414 + 2.913 5.599 15.111 5.419 22.044 -32.898 21.430 6.349 -3.291 -4.368 + -14.089 34.046 -1.011 1.579 4.843 -1.614 -20.737 21.469 -25.957 6.940 + 12.860 40.740 -18.585 4.071 -15.927 -1.336 -0.883 25.000 -2.841 -3.108 + -28.388 25.253 -4.389 24.858 2.557 -1.593 -8.464 -8.000 20.366 -5.166 + 1.285 3.350 -0.568 -5.480 -10.013 5.462 -1.147 6.669 -17.371 3.997 + -1.102 -4.581 5.843 4.210 -0.421 -4.915 -43.697 16.969 5.003 6.543 + -3.535 -5.590 10.641 -7.474 -4.508 1.283 1.712 -6.091 7.412 -1.191 + -24.829 -16.804 -13.385 17.834 5.035 11.012 13.671 -22.766 -22.068 -14.003 + 15.706 4.610 -21.859 13.503 -25.359 9.339 -9.173 6.413 1.158 11.726 + 8.168 2.205 -19.234 35.876 -3.669 -1.265 -0.174 34.864 5.500 -11.148 + -3.534 5.857 -4.692 -21.288 2.486 -3.670 36.118 -14.800 -6.429 -12.748 + 6.791 3.553 -17.779 9.371 13.856 3.722 0.481 -6.984 24.797 -8.123 + 11.847 5.527 2.769 12.076 -11.072 -4.394 -10.120 -31.293 31.234 -27.881 + 6.689 -15.755 10.000 -19.984 -15.857 0.705 16.538 -13.290 17.549 15.203 + 32.192 -22.587 -4.336 -3.379 2.446 9.388 -31.082 -7.116 13.372 1.902 + 1.508 -5.289 -3.764 4.352 -29.492 22.560 -11.017 1.723 -1.027 7.689 + -3.769 -2.060 -5.075 -16.291 -9.431 24.051 8.120 4.658 2.499 8.947 + 7.411 -5.775 17.810 41.276 11.023 -0.340 -14.128 -7.904 1.784 -0.700 + -0.928 -9.858 -31.369 -53.387 3.827 8.764 6.929 -4.227 7.568 13.224 + -0.340 -10.394 20.426 -27.426 42.239 7.828 39.245 -28.321 16.400 1.232 + -12.101 -15.612 0.513 1.572 5.739 2.944 -3.849 5.305 -3.130 18.644 + -7.912 21.972 -23.949 28.870 2.727 6.234 -27.423 -1.753 3.740 -8.531 + -39.294 13.297 -22.449 25.255 -6.676 -8.322 -10.672 -0.915 12.275 5.761 + 5.135 3.278 -10.695 -2.840 -0.322 19.196 -6.827 10.776 8.203 8.528 + -2.251 0.005 -5.897 1.210 -9.994 1.133 -4.484 -10.064 1.006 6.420 + 18.729 -1.552 -1.756 -0.770 -1.867 1.763 -18.092 10.086 -31.351 0.945 + 1.198 9.796 -5.173 -12.885 25.316 -4.679 12.059 20.171 3.766 -6.920 + -5.875 -15.125 -4.688 -13.168 19.115 0.186 -3.203 -17.546 -7.977 8.587 + 0.371 0.557 -1.036 34.811 -6.269 10.230 -16.335 -3.582 -9.931 -7.548 + -21.057 5.548 -2.271 -1.965 0.313 -3.054 5.971 -3.768 -1.995 9.248 + 2.552 13.176 24.106 -14.282 -6.319 -6.014 19.471 2.292 22.698 -2.767 + -9.840 0.801 10.427 6.946 -9.398 -8.601 7.398 -6.297 -3.397 -18.400 + -29.584 -10.633 1.272 5.095 0.143 23.800 3.907 12.245 -3.302 8.354 + -1.860 -4.690 -17.505 -9.772 -7.032 38.231 40.156 4.718 -18.307 -31.678 + 2.138 -2.163 -5.569 -9.355 22.610 -20.978 2.104 -2.655 9.184 -6.130 + 26.945 26.387 -15.258 22.426 7.115 11.046 -10.408 -15.128 7.724 -43.271 + 2.157 -1.348 -3.515 3.341 -8.878 40.612 -33.667 5.132 -4.160 7.570 + 1.996 9.272 29.098 -2.921 -5.056 -21.762 9.810 -49.893 10.506 2.656 + 4.625 -3.092 -3.202 17.151 29.609 10.495 -24.499 -33.570 -5.126 4.581 + 1.500 -26.313 8.413 2.433 -1.306 1.643 14.925 -6.556 25.345 13.422 + 15.790 7.240 0.263 -4.051 12.921 -14.248 15.776 -32.900 -19.940 -10.279 + 2.537 16.722 3.857 -9.835 10.066 -0.422 8.185 -11.171 -0.739 -10.301 + 2.055 4.572 3.958 4.058 1.914 -7.658 -7.899 -15.757 3.346 -1.682 + -4.023 -4.920 0.054 18.269 -2.395 -15.005 6.928 4.935 12.413 -9.108 + 24.038 -8.026 -4.615 -8.966 10.282 -3.709 15.498 -7.721 -7.596 -13.743 + -18.617 31.437 -28.568 31.732 -7.532 14.283 5.835 -4.045 -2.287 -10.898 + 8.445 22.760 -0.288 -13.121 -5.860 -18.724 6.450 -8.179 9.871 -7.620 + 6.141 -20.698 8.848 -12.070 9.755 -13.321 -8.225 16.562 -1.427 2.730 + 39.532 -0.700 6.014 -5.846 2.844 -0.090 4.104 -21.224 -6.267 -26.536 + 26.881 7.520 -5.182 3.792 -28.738 27.841 -1.183 13.196 7.363 -1.274 + 9.601 -42.359 -6.292 21.577 2.192 38.981 -16.987 25.273 -1.462 -5.170 + -7.484 -14.857 9.967 3.189 -2.788 -11.173 -2.446 -6.299 6.757 -11.197 + -16.200 1.448 17.271 29.263 -3.655 -10.665 5.732 -2.134 -9.690 -20.090 + -7.159 -4.576 7.671 8.016 2.866 -91.539 -41.004 10.490 41.885 -1.425 + -34.012 3.285 5.392 15.325 10.739 34.848 35.497 -5.466 -2.313 -14.623 + 11.134 -47.368 -45.029 -1.759 5.911 11.528 -29.903 12.063 42.952 2.407 + 12.538 -6.747 61.454 24.893 -13.312 -22.289 4.746 3.404 7.875 -5.192 + 1.842 23.469 -6.968 -14.010 -5.448 9.233 10.801 -19.348 12.356 10.230 + -8.542 5.053 2.978 -11.256 21.435 2.327 5.256 -10.511 -4.318 2.739 + -11.936 -5.155 4.937 5.919 6.272 3.233 11.022 -0.887 0.605 1.398 + 1.844 -21.230 14.505 4.183 15.329 -32.308 -16.258 27.230 -10.887 -5.206 + 0.044 1.863 -0.220 -11.751 -8.926 0.942 0.195 -6.112 -0.366 3.189 + -0.857 -35.393 -4.707 -8.224 18.345 12.620 11.697 -12.061 7.264 -6.351 + 3.078 -2.708 -13.723 4.272 -22.331 -16.998 -4.275 9.193 30.486 13.447 + 2.760 3.885 -2.717 19.644 -10.917 8.156 -7.859 -9.452 -1.811 -6.250 + -21.151 3.656 -3.270 -14.675 -9.615 -2.380 6.523 -4.236 -2.293 1.719 + 2.408 6.278 14.620 5.877 22.398 -32.146 21.756 5.932 -3.789 -4.774 + -13.764 33.375 -0.755 1.576 5.694 -1.602 -21.134 21.156 -26.338 6.464 + 13.065 40.525 -18.364 4.061 -15.737 -0.271 -1.373 25.746 -3.710 -2.819 + -29.047 25.752 -3.905 24.914 2.049 -1.757 -8.593 -6.808 20.637 -4.434 + 1.116 3.612 -0.601 -6.534 -10.553 4.867 -4.122 8.615 -17.828 6.509 + -3.140 -4.456 6.286 4.418 -0.251 -4.891 -43.887 16.801 4.919 6.412 + -3.505 -5.491 10.590 -7.262 -4.303 0.688 1.664 -6.275 7.637 -1.209 + -26.698 -16.295 -14.053 19.650 4.878 11.837 13.101 -23.784 -22.567 -13.450 + 16.492 4.815 -21.442 13.946 -25.230 8.946 -9.641 6.326 1.065 11.801 + 8.179 2.166 -19.143 35.747 -3.683 -1.335 -0.082 36.289 5.744 -11.076 + -3.725 5.859 -4.769 -22.429 2.242 -3.670 35.976 -14.691 -6.085 -12.445 + 6.639 3.491 -18.297 9.685 13.721 4.198 0.250 -6.940 24.729 -7.597 + 11.261 5.180 2.742 12.543 -10.727 -4.974 -10.066 -30.857 30.981 -27.311 + 6.308 -15.810 9.690 -21.432 -15.090 -0.847 17.826 -13.893 18.931 15.325 + 32.500 -22.147 -4.621 -3.215 1.871 9.086 -33.025 -6.978 13.077 2.084 + 0.936 -4.454 -2.384 4.717 -28.735 22.347 -9.798 1.740 -1.031 7.741 + -4.768 -1.657 -6.382 -16.729 -10.224 25.438 8.600 5.526 1.367 8.827 + 7.455 -5.861 17.581 41.132 10.743 -0.323 -14.122 -7.849 2.149 -0.674 + -0.744 -9.304 -30.458 -56.353 3.981 8.654 6.972 -4.861 8.041 13.997 + -0.439 -11.655 22.489 -26.999 42.496 8.117 39.355 -28.621 16.451 0.780 + -12.034 -15.873 0.693 1.470 5.839 3.888 -3.453 5.311 -4.029 18.688 + -7.828 21.348 -25.182 28.253 3.655 6.182 -27.259 -1.946 4.704 -8.620 + -39.367 13.189 -22.161 26.262 -6.937 -8.307 -11.545 -0.652 12.228 5.617 + 5.240 3.261 -10.726 -2.870 -0.385 19.262 -7.096 11.442 8.076 9.066 + -3.186 0.009 -6.232 1.854 -8.192 0.882 -4.899 -11.627 1.029 7.159 + 18.353 -1.335 -1.961 -0.582 -1.967 1.845 -17.709 10.696 -33.209 0.778 + 0.538 11.577 -5.454 -12.651 24.924 -4.336 12.101 20.256 3.601 -6.966 + -5.847 -16.707 -4.810 -12.374 20.629 0.129 -3.916 -17.329 -7.881 8.572 + 0.126 0.522 -1.013 34.607 -5.747 10.060 -16.171 -4.092 -9.904 -7.043 + -20.607 5.058 -2.295 -1.860 0.404 -3.148 5.844 -3.861 -2.373 8.770 + 3.140 13.232 23.814 -14.344 -6.316 -5.646 19.609 2.250 22.743 -2.766 + -9.972 0.913 10.564 6.593 -9.196 -8.155 7.866 -6.608 -3.997 -18.145 + -29.895 -11.073 1.159 5.261 0.490 23.657 4.159 15.505 -4.270 8.572 + -3.075 -3.629 -18.037 -11.527 -6.878 38.006 39.778 4.648 -18.164 -31.554 + 2.206 -2.301 -5.812 -9.513 23.192 -21.343 2.171 -2.958 9.480 -6.078 + 26.505 26.632 -15.393 22.692 6.751 11.161 -10.533 -14.987 7.934 -44.492 + 1.498 -1.587 -2.415 4.118 -8.832 40.653 -34.135 5.138 -4.070 7.867 + 2.196 8.511 29.135 -3.103 -4.522 -22.034 9.666 -49.303 11.202 2.713 + 4.342 -3.560 -3.231 17.520 30.198 10.356 -24.623 -33.937 -5.112 4.665 + 1.707 -26.095 8.222 1.281 -1.800 1.720 16.033 -5.361 25.601 15.174 + 16.091 7.276 -0.726 -5.482 13.234 -15.027 17.088 -33.458 -19.126 -11.488 + 2.934 16.098 3.784 -10.028 10.063 -1.311 6.978 -10.897 -0.791 -10.341 + 2.032 5.600 4.887 3.617 2.785 -6.075 -7.902 -16.687 2.285 -0.829 + -4.110 -5.104 -0.816 19.204 -4.069 -16.029 6.998 4.932 12.766 -9.490 + 26.257 -7.972 -5.171 -9.401 10.826 -3.540 15.587 -7.528 -7.683 -13.817 + -18.779 31.081 -28.915 30.581 -7.337 14.793 6.912 -3.832 -2.555 -10.747 + 7.731 22.593 1.035 -13.502 -6.955 -20.010 7.991 -7.986 9.792 -8.035 + 7.268 -20.830 8.471 -11.913 10.135 -13.401 -8.375 16.486 -0.268 1.379 + 40.270 -1.347 7.663 -6.228 2.673 -0.388 3.921 -21.970 -6.471 -26.596 + 27.612 7.751 -5.318 3.869 -29.066 27.465 -1.213 13.413 7.713 -0.792 + 9.064 -43.511 -6.723 22.119 3.116 38.546 -16.633 25.677 -0.934 -5.317 + -7.852 -14.343 7.327 3.637 -3.058 -11.146 -2.297 -6.846 9.107 -11.739 + -15.432 1.577 16.976 28.030 -3.612 -9.680 6.704 -2.262 -10.543 -20.078 + -7.282 -4.819 7.703 8.174 3.026 -90.243 -40.428 10.393 39.644 -2.701 + -33.949 4.365 6.718 15.992 10.587 34.482 35.101 -4.974 -2.094 -14.712 + 12.684 -49.230 -47.324 -3.190 7.511 13.732 -29.549 11.994 42.789 2.313 + 12.796 -6.655 60.288 24.514 -13.103 -22.119 4.499 3.517 7.730 -5.202 + 1.834 24.032 -6.642 -14.140 -5.971 9.195 10.947 -18.946 12.572 10.117 + -8.938 5.028 3.210 -12.430 20.957 2.636 6.177 -10.298 -4.892 2.690 + -11.825 -5.197 5.139 6.034 6.124 3.375 10.924 -0.573 0.484 1.561 + 1.850 -21.151 14.898 4.914 15.251 -32.778 -16.964 26.815 -11.006 -5.284 + 0.333 1.832 -0.227 -12.087 -8.956 0.851 0.687 -6.117 -0.347 2.501 + -1.019 -35.137 -4.097 -8.174 18.456 14.018 10.730 -12.535 7.229 -5.900 + 3.693 -3.848 -13.650 3.942 -22.346 -16.127 -4.205 9.530 30.072 13.720 + 2.374 3.973 -2.966 19.868 -10.733 8.225 -8.027 -9.776 -1.864 -6.468 + -20.757 3.561 -2.691 -15.623 -9.282 -2.472 7.212 -4.377 -3.211 1.987 + 1.892 6.948 14.113 6.338 22.720 -31.324 22.075 5.519 -4.295 -5.186 + -13.418 32.701 -0.502 1.569 6.509 -1.585 -21.516 20.841 -26.708 5.986 + 13.242 40.262 -18.133 4.058 -15.528 0.747 -1.870 26.430 -4.530 -2.529 + -29.644 26.165 -3.375 24.938 1.596 -1.917 -8.693 -5.640 20.838 -3.710 + 0.941 3.900 -0.638 -7.540 -11.052 4.287 -7.114 10.599 -18.279 9.049 + -5.198 -4.319 6.705 4.610 -0.100 -4.824 -44.070 16.664 4.804 6.264 + -3.486 -5.402 10.543 -7.061 -4.096 0.022 1.592 -6.451 7.869 -1.223 + -28.400 -15.765 -14.632 21.329 4.713 12.590 12.547 -24.692 -23.020 -12.935 + 17.206 4.996 -20.972 14.337 -25.131 8.535 -10.099 6.251 0.943 11.901 + 8.193 2.119 -19.025 35.590 -3.675 -1.402 0.018 37.658 5.941 -10.982 + -3.926 5.865 -4.861 -23.517 2.014 -3.655 35.819 -14.587 -5.771 -12.121 + 6.482 3.431 -18.846 10.008 13.616 4.698 0.011 -6.891 24.602 -7.033 + 10.655 4.859 2.709 12.980 -10.362 -5.576 -9.992 -30.379 30.668 -26.676 + 5.901 -15.849 9.347 -22.863 -14.268 -2.409 19.111 -14.491 20.310 15.386 + 32.782 -21.731 -4.869 -3.065 1.323 8.822 -34.931 -6.811 12.764 2.251 + 0.330 -3.622 -1.018 5.081 -27.997 22.141 -8.562 1.777 -1.028 7.782 + -5.763 -1.259 -7.691 -17.136 -11.019 26.788 9.067 6.384 0.247 8.674 + 7.499 -5.945 17.411 40.992 10.496 -0.309 -14.116 -7.781 2.465 -0.653 + -0.595 -8.804 -29.564 -59.201 4.171 8.534 7.023 -5.478 8.489 14.737 + -0.534 -12.861 24.466 -26.620 42.744 8.372 39.491 -28.923 16.518 0.389 + -11.947 -16.103 0.827 1.371 5.923 4.812 -3.057 5.338 -4.911 18.726 + -7.741 20.697 -26.374 27.573 4.594 6.120 -27.063 -2.135 5.638 -8.710 + -39.419 13.060 -21.835 27.281 -7.202 -8.286 -12.437 -0.381 12.179 5.456 + 5.354 3.223 -10.730 -2.910 -0.434 19.285 -7.374 12.146 8.001 9.595 + -4.126 0.013 -6.565 2.491 -6.473 0.638 -5.302 -13.150 1.055 7.876 + 18.054 -1.123 -2.172 -0.422 -2.061 1.919 -17.399 11.293 -34.974 0.628 + -0.109 13.301 -5.701 -12.405 24.473 -3.972 12.165 20.292 3.414 -7.008 + -5.801 -18.182 -4.992 -11.561 22.043 0.103 -4.603 -17.121 -7.758 8.520 + -0.103 0.475 -0.984 34.425 -5.188 9.852 -16.011 -4.626 -9.866 -6.553 + -20.192 4.595 -2.318 -1.729 0.503 -3.249 5.703 -3.967 -2.737 8.310 + 3.702 13.275 23.543 -14.333 -6.311 -5.308 19.693 2.167 22.792 -2.702 + -10.082 1.021 10.668 6.275 -9.065 -7.724 8.317 -6.896 -4.583 -17.883 + -30.135 -11.536 1.045 5.430 0.843 23.483 4.384 18.711 -5.209 8.778 + -4.264 -2.577 -18.552 -13.252 -6.728 37.769 39.416 4.576 -18.035 -31.451 + 2.270 -2.415 -6.020 -9.666 23.731 -21.717 2.235 -3.227 9.779 -6.012 + 26.037 26.865 -15.513 22.909 6.411 11.259 -10.605 -14.872 8.135 -45.683 + 0.892 -1.820 -1.330 4.866 -8.784 40.672 -34.594 5.140 -3.965 8.166 + 2.398 7.705 29.136 -3.286 -3.973 -22.288 9.520 -48.653 11.872 2.756 + 4.049 -4.009 -3.252 17.881 30.767 10.216 -24.719 -34.284 -5.105 4.735 + 1.881 -25.878 8.016 0.196 -2.276 1.805 17.096 -4.167 25.856 16.854 + 16.366 7.299 -1.653 -6.902 13.551 -15.796 18.422 -34.042 -18.320 -12.711 + 3.332 15.453 3.712 -10.203 10.062 -2.196 5.819 -10.581 -0.832 -10.378 + 2.010 6.606 5.789 3.170 3.672 -4.484 -7.885 -17.609 1.213 0.034 + -4.197 -5.290 -1.721 20.039 -5.720 -16.879 7.056 4.894 13.020 -9.840 + 28.432 -7.919 -5.661 -9.788 11.301 -3.373 15.644 -7.385 -7.765 -13.867 + -18.911 30.708 -29.178 29.501 -7.136 15.243 7.920 -3.614 -2.834 -10.595 + 7.057 22.340 2.388 -13.872 -8.065 -21.306 9.520 -7.784 9.697 -8.480 + 8.473 -20.955 8.046 -11.714 10.485 -13.463 -8.526 16.422 0.874 0.043 + 40.994 -1.973 9.292 -6.607 2.511 -0.691 3.735 -22.487 -6.617 -26.666 + 28.115 7.922 -5.431 3.960 -29.416 27.114 -1.241 13.623 8.041 -0.352 + 8.602 -44.583 -7.111 22.599 3.959 38.105 -16.313 26.051 -0.429 -5.448 + -8.179 -13.830 4.740 4.069 -3.332 -11.126 -2.153 -7.382 11.414 -12.273 + -14.613 1.687 16.627 26.760 -3.545 -8.648 7.690 -2.392 -11.406 -20.033 + -7.300 -4.928 7.684 8.228 3.071 -88.829 -39.830 10.241 37.363 -3.979 + -33.846 5.433 8.033 16.644 10.405 34.100 34.692 -4.457 -1.873 -14.802 + 14.185 -51.036 -49.535 -4.603 9.073 15.888 -29.099 11.927 42.568 2.192 + 13.029 -6.569 59.016 24.133 -12.826 -21.937 4.296 3.654 7.593 -5.218 + 1.823 24.520 -6.345 -14.269 -6.433 9.145 11.080 -18.542 12.812 10.032 + -9.320 5.003 3.432 -13.597 20.429 2.889 7.067 -10.084 -5.444 2.705 + -11.632 -5.314 5.280 6.124 6.013 3.533 10.800 -0.204 0.360 1.721 + 1.853 -21.076 15.231 5.573 15.175 -33.168 -17.596 26.412 -11.160 -5.355 + 0.601 1.809 -0.235 -12.406 -8.982 0.755 1.185 -6.125 -0.328 1.784 + -1.136 -34.869 -3.486 -8.127 18.554 15.351 9.722 -13.015 7.198 -5.448 + 4.308 -4.923 -13.567 3.620 -22.402 -15.247 -4.152 9.911 29.666 14.026 + 1.959 4.060 -3.237 20.102 -10.499 8.293 -8.202 -10.136 -1.917 -6.734 + -20.346 3.441 -2.063 -16.559 -8.926 -2.573 7.875 -4.515 -4.090 2.254 + 1.417 7.572 13.625 6.761 23.003 -30.511 22.357 5.132 -4.807 -5.573 + -13.072 32.018 -0.241 1.544 7.330 -1.580 -21.838 20.513 -27.053 5.510 + 13.411 39.998 -17.891 4.053 -15.309 1.689 -2.378 26.975 -5.269 -2.245 + -30.132 26.571 -2.810 24.987 1.130 -2.089 -8.791 -4.477 21.016 -2.958 + 0.751 4.210 -0.681 -8.531 -11.542 3.696 -10.124 12.556 -18.762 11.604 + -7.257 -4.181 7.130 4.808 0.069 -4.710 -44.199 16.541 4.657 6.085 + -3.476 -5.320 10.485 -6.860 -3.919 -0.665 1.479 -6.608 8.094 -1.223 + -29.941 -15.224 -15.119 22.885 4.546 13.281 11.957 -25.564 -23.491 -12.396 + 17.906 5.182 -20.527 14.685 -25.013 8.142 -10.524 6.174 0.813 11.999 + 8.207 2.136 -18.842 35.364 -3.702 -1.488 0.122 38.932 6.101 -10.919 + -4.077 5.853 -4.876 -24.579 1.800 -3.640 35.639 -14.483 -5.441 -11.777 + 6.318 3.369 -19.363 10.311 13.518 5.165 -0.207 -6.831 24.383 -6.495 + 10.073 4.590 2.682 13.346 -9.987 -6.168 -9.906 -29.837 30.361 -25.997 + 5.476 -15.886 8.990 -24.255 -13.481 -3.924 20.338 -15.049 21.622 15.467 + 33.035 -21.245 -5.147 -2.894 0.700 8.554 -36.826 -6.661 12.457 2.402 + -0.254 -2.781 0.347 5.449 -27.306 21.961 -7.356 1.828 -1.030 7.809 + -6.717 -0.869 -8.953 -17.571 -11.779 28.138 9.541 7.228 -0.895 8.529 + 7.531 -6.020 17.228 40.805 10.257 -0.292 -14.092 -7.720 2.781 -0.639 + -0.451 -8.321 -28.612 -61.880 4.371 8.393 7.072 -6.067 8.879 15.410 + -0.635 -14.022 26.354 -26.191 43.000 8.663 39.574 -29.214 16.551 -0.041 + -11.912 -16.349 0.995 1.288 6.018 5.719 -2.605 5.343 -5.800 18.746 + -7.645 20.086 -27.517 26.848 5.508 6.063 -26.853 -2.318 6.535 -8.798 + -39.475 12.892 -21.436 28.227 -7.432 -8.285 -13.289 -0.120 12.125 5.283 + 5.468 3.168 -10.720 -2.955 -0.466 19.334 -7.643 12.834 7.906 10.097 + -5.009 0.031 -6.882 3.089 -4.770 0.419 -5.734 -14.654 1.076 8.585 + 17.762 -0.933 -2.357 -0.275 -2.141 1.984 -17.075 11.845 -36.651 0.480 + -0.725 14.958 -5.958 -12.150 24.003 -3.549 12.193 20.330 3.204 -7.039 + -5.754 -19.615 -5.201 -10.720 23.399 0.101 -5.289 -16.907 -7.600 8.432 + -0.332 0.423 -0.944 34.214 -4.660 9.641 -15.858 -5.133 -9.825 -6.003 + -19.767 4.146 -2.351 -1.569 0.600 -3.370 5.542 -4.086 -3.108 7.826 + 4.265 13.326 23.302 -14.293 -6.311 -4.993 19.747 2.105 22.789 -2.653 + -10.213 1.152 10.791 5.963 -8.939 -7.286 8.761 -7.178 -5.170 -17.586 + -30.336 -12.030 0.904 5.599 1.217 23.323 4.542 21.835 -6.129 8.985 + -5.437 -1.562 -19.017 -14.903 -6.572 37.504 39.002 4.525 -17.930 -31.364 + 2.319 -2.510 -6.198 -9.818 24.279 -22.081 2.299 -3.499 10.073 -5.955 + 25.578 27.092 -15.607 23.101 6.019 11.349 -10.680 -14.739 8.317 -46.834 + 0.299 -2.050 -0.234 5.619 -8.728 40.651 -34.938 5.140 -3.838 8.383 + 2.596 6.891 29.051 -3.461 -3.444 -22.513 9.364 -47.969 12.602 2.801 + 3.734 -4.460 -3.272 18.251 31.343 10.037 -24.778 -34.588 -5.074 4.783 + 2.020 -25.681 7.793 -0.843 -2.720 1.878 18.095 -2.985 26.161 18.465 + 16.612 7.303 -2.550 -8.281 13.841 -16.527 19.786 -34.623 -17.512 -13.942 + 3.732 14.788 3.613 -10.384 10.066 -3.108 4.688 -10.244 -0.839 -10.435 + 2.003 7.619 6.690 2.718 4.524 -2.866 -7.909 -18.519 0.129 0.902 + -4.274 -5.484 -2.614 20.793 -7.306 -17.553 7.097 4.823 13.191 -10.156 + 30.521 -7.870 -6.082 -10.128 11.696 -3.224 15.730 -7.244 -7.841 -13.921 + -19.039 30.349 -29.458 28.435 -6.930 15.667 8.902 -3.407 -3.083 -10.423 + 6.428 22.047 3.614 -14.212 -9.125 -22.509 10.970 -7.578 9.612 -8.913 + 9.677 -21.066 7.643 -11.547 10.885 -13.534 -8.684 16.331 1.993 -1.234 + 41.716 -2.584 10.840 -6.975 2.347 -0.979 3.537 -22.859 -6.713 -26.758 + 28.473 8.052 -5.522 4.021 -29.703 26.718 -1.261 13.824 8.371 0.092 + 8.096 -45.584 -7.483 23.060 4.766 37.640 -15.973 26.408 0.067 -5.563 + -8.485 -13.373 2.214 4.510 -3.578 -11.113 -2.040 -7.889 13.674 -12.793 + -13.748 1.797 16.268 25.529 -3.502 -7.668 8.630 -2.510 -12.233 -20.024 + -7.271 -4.951 7.663 8.254 3.078 -87.313 -39.235 10.025 35.056 -5.224 + -33.704 6.493 9.325 17.279 10.219 33.703 34.275 -3.930 -1.639 -14.884 + 15.623 -52.810 -51.681 -5.979 10.593 17.981 -28.565 11.928 42.346 2.023 + 13.208 -6.493 57.657 23.732 -12.525 -21.697 4.120 3.813 7.429 -5.223 + 1.812 24.930 -6.099 -14.411 -6.853 9.091 11.205 -18.149 13.095 9.972 + -9.668 4.968 3.643 -14.734 19.857 3.122 7.942 -9.864 -5.991 2.741 + -11.347 -5.412 5.382 6.187 5.924 3.686 10.668 0.145 0.262 1.836 + 1.840 -21.016 15.484 6.121 15.103 -33.461 -18.118 25.988 -11.301 -5.420 + 0.873 1.781 -0.243 -12.695 -9.041 0.646 1.676 -6.132 -0.307 1.018 + -1.223 -34.560 -2.845 -8.084 18.633 16.643 8.693 -13.495 7.163 -4.998 + 4.905 -5.968 -13.467 3.308 -22.441 -14.315 -4.096 10.256 29.182 14.311 + 1.587 4.146 -3.482 20.236 -10.281 8.308 -8.339 -10.433 -1.957 -6.943 + -19.927 3.365 -1.439 -17.424 -8.591 -2.681 8.487 -4.651 -4.964 2.533 + 0.963 8.182 13.145 7.168 23.228 -29.734 22.601 4.763 -5.294 -5.951 + -12.700 31.344 0.037 1.515 8.112 -1.578 -22.125 20.157 -27.380 4.996 + 13.612 39.738 -17.613 4.037 -15.076 2.608 -2.933 27.397 -5.955 -1.948 + -30.539 26.887 -2.249 25.030 0.712 -2.244 -8.867 -3.380 21.166 -2.259 + 0.579 4.512 -0.702 -9.462 -11.980 3.139 -13.078 14.489 -19.228 14.153 + -9.314 -4.023 7.532 5.012 0.211 -4.713 -44.318 16.342 4.561 5.921 + -3.445 -5.195 10.411 -6.617 -3.732 -1.362 1.367 -6.762 8.307 -1.223 + -31.311 -14.661 -15.525 24.298 4.362 13.902 11.327 -26.395 -23.969 -11.832 + 18.601 5.361 -20.113 15.079 -24.856 7.743 -10.929 6.096 0.704 12.020 + 8.186 2.177 -18.661 35.150 -3.727 -1.572 0.222 40.018 6.260 -10.998 + -4.156 5.821 -4.778 -25.543 1.604 -3.601 35.429 -14.384 -5.114 -11.421 + 6.154 3.308 -19.795 10.586 13.443 5.563 -0.395 -6.774 24.122 -5.920 + 9.459 4.325 2.654 13.708 -9.587 -6.788 -9.810 -29.254 30.007 -25.256 + 5.030 -15.914 8.605 -25.580 -12.694 -5.387 21.500 -15.567 22.858 15.509 + 33.284 -20.793 -5.410 -2.726 0.106 8.264 -38.716 -6.494 12.119 2.550 + -0.859 -1.914 1.726 5.812 -26.592 21.783 -6.118 1.884 -1.032 7.820 + -7.670 -0.487 -10.222 -17.969 -12.489 29.402 9.977 8.037 -2.002 8.396 + 7.547 -6.065 17.017 40.542 10.031 -0.275 -14.042 -7.663 3.093 -0.620 + -0.309 -7.870 -27.543 -64.486 4.572 8.248 7.122 -6.605 9.206 16.013 + -0.737 -15.195 28.251 -25.694 43.225 8.983 39.613 -29.487 16.560 -0.389 + -11.900 -16.563 1.061 1.228 6.081 6.611 -2.163 5.308 -6.676 18.767 + -7.526 19.454 -28.607 26.095 6.447 5.994 -26.631 -2.501 7.411 -8.878 + -39.506 12.687 -21.002 29.142 -7.648 -8.288 -14.140 0.143 12.062 5.132 + 5.592 3.077 -10.699 -3.017 -0.457 19.339 -7.913 13.519 7.812 10.621 + -5.920 0.036 -7.201 3.695 -3.087 0.152 -6.066 -16.093 1.112 9.235 + 17.495 -0.738 -2.557 -0.179 -2.200 2.028 -16.710 12.315 -38.216 0.324 + -1.294 16.537 -6.243 -11.854 23.507 -3.073 12.206 20.349 2.962 -7.064 + -5.690 -20.916 -5.418 -9.921 24.612 0.124 -5.931 -16.715 -7.468 8.333 + -0.539 0.379 -0.900 33.945 -4.106 9.433 -15.679 -5.653 -9.775 -5.395 + -19.352 3.706 -2.404 -1.373 0.702 -3.502 5.365 -4.215 -3.481 7.338 + 4.820 13.378 23.048 -14.252 -6.313 -4.668 19.793 2.045 22.735 -2.575 + -10.355 1.300 10.923 5.707 -8.825 -6.923 9.163 -7.425 -5.702 -17.272 + -30.526 -12.605 0.731 5.779 1.648 23.167 4.685 24.828 -7.023 9.177 + -6.583 -0.588 -19.459 -16.464 -6.408 37.207 38.616 4.468 -17.771 -31.307 + 2.365 -2.615 -6.360 -9.955 24.729 -22.417 2.355 -3.712 10.329 -5.900 + 25.124 27.365 -15.687 23.223 5.610 11.427 -10.714 -14.602 8.489 -47.885 + -0.281 -2.275 0.826 6.352 -8.679 40.541 -35.184 5.145 -3.677 8.533 + 2.811 6.075 28.911 -3.643 -2.914 -22.704 9.195 -47.246 13.299 2.921 + 3.387 -4.869 -3.300 18.622 31.910 9.787 -24.801 -34.923 -5.033 4.830 + 2.178 -25.440 7.588 -1.869 -3.181 1.950 19.101 -1.843 26.472 20.005 + 16.835 7.299 -3.437 -9.606 14.105 -17.208 21.128 -35.196 -16.711 -15.162 + 4.132 14.127 3.514 -10.552 10.074 -4.035 3.547 -9.861 -0.863 -10.482 + 1.981 8.660 7.626 2.245 5.325 -1.357 -7.880 -19.370 -0.884 1.714 + -4.346 -5.680 -3.500 21.526 -8.773 -18.175 7.119 4.729 13.314 -10.459 + 32.531 -7.826 -6.485 -10.476 12.082 -3.054 15.752 -7.127 -7.914 -13.950 + -19.139 29.913 -29.587 27.385 -6.720 16.058 9.858 -3.147 -3.429 -10.257 + 5.766 21.823 4.740 -14.520 -10.146 -23.624 12.385 -7.365 9.521 -9.294 + 10.772 -21.148 7.236 -11.341 11.336 -13.615 -8.870 16.201 3.089 -2.497 + 42.352 -3.182 12.352 -7.326 2.195 -1.244 3.377 -23.158 -6.795 -26.829 + 28.756 8.161 -5.613 4.095 -30.001 26.281 -1.284 14.028 8.711 0.501 + 7.647 -46.502 -7.816 23.460 5.503 37.119 -15.625 26.787 0.586 -5.673 + -8.802 -12.941 -0.321 4.931 -3.801 -11.100 -1.931 -8.389 15.934 -13.301 + -12.851 1.907 15.896 24.342 -3.471 -6.728 9.541 -2.612 -13.026 -20.082 + -7.222 -4.905 7.651 8.252 3.043 -85.639 -38.578 9.772 32.620 -6.492 + -33.502 7.576 10.619 17.900 10.151 33.288 33.784 -3.490 -1.409 -14.935 + 17.014 -54.507 -53.717 -7.325 12.058 20.002 -27.983 11.984 42.121 1.832 + 13.328 -6.445 56.219 23.295 -12.200 -21.352 3.894 3.976 7.205 -5.202 + 1.802 25.218 -5.790 -14.528 -7.190 9.007 11.309 -17.766 13.357 9.962 + -9.972 4.939 3.816 -15.838 19.285 3.278 8.786 -9.650 -6.489 2.740 + -11.041 -5.466 5.500 6.262 5.804 3.831 10.529 0.503 0.184 1.930 + 1.817 -20.963 15.662 6.583 15.033 -33.671 -18.550 25.521 -11.463 -5.484 + 1.169 1.762 -0.250 -12.973 -9.086 0.541 2.167 -6.138 -0.288 0.314 + -1.313 -34.175 -2.272 -8.040 18.675 17.876 7.681 -13.992 7.123 -4.552 + 5.487 -6.963 -13.362 3.017 -22.479 -13.368 -4.048 10.641 28.668 14.619 + 1.169 4.232 -3.753 20.366 -10.058 8.316 -8.478 -10.716 -1.997 -7.169 + -19.499 3.284 -0.773 -18.220 -8.238 -2.794 9.040 -4.783 -5.881 2.829 + 0.472 8.818 12.622 7.598 23.413 -28.910 22.821 4.413 -5.785 -6.314 + -12.344 30.642 0.294 1.484 8.874 -1.572 -22.358 19.802 -27.665 4.510 + 13.785 39.409 -17.328 4.025 -14.824 3.445 -3.469 27.779 -6.570 -1.652 + -30.871 27.118 -1.693 25.019 0.366 -2.401 -8.917 -2.343 21.341 -1.531 + 0.462 4.771 -0.724 -10.383 -12.402 2.573 -15.981 16.405 -19.656 16.689 + -11.349 -3.868 7.899 5.201 0.329 -4.755 -44.397 16.070 4.476 5.755 + -3.402 -5.042 10.313 -6.331 -3.584 -2.053 1.242 -6.889 8.514 -1.212 + -32.576 -14.091 -15.894 25.616 4.181 14.485 10.689 -27.230 -24.427 -11.264 + 19.293 5.533 -19.682 15.539 -24.681 7.319 -11.353 6.009 0.601 12.005 + 8.147 2.221 -18.496 34.943 -3.749 -1.650 0.318 40.962 6.378 -11.083 + -4.242 5.791 -4.691 -26.359 1.451 -3.548 35.218 -14.291 -4.785 -11.058 + 5.990 3.247 -20.168 10.823 13.363 5.905 -0.549 -6.705 23.858 -5.398 + 8.847 4.059 2.631 14.056 -9.205 -7.359 -9.717 -28.637 29.660 -24.494 + 4.576 -15.945 8.213 -26.849 -11.939 -6.783 22.589 -16.057 24.013 15.581 + 33.512 -20.292 -5.695 -2.536 -0.540 8.022 -40.543 -6.301 11.761 2.690 + -1.482 -1.076 3.056 6.169 -25.940 21.621 -4.902 1.948 -1.032 7.802 + -8.578 -0.128 -11.430 -18.266 -13.156 30.614 10.375 8.798 -3.038 8.207 + 7.578 -6.134 16.798 40.217 9.830 -0.242 -13.965 -7.618 3.388 -0.591 + -0.188 -7.471 -26.473 -66.934 4.794 8.099 7.170 -7.112 9.496 16.578 + -0.831 -16.309 30.041 -25.155 43.449 9.328 39.616 -29.746 16.553 -0.683 + -11.939 -16.761 1.056 1.191 6.121 7.500 -1.679 5.254 -7.556 18.764 + -7.400 18.802 -29.657 25.331 7.369 5.934 -26.394 -2.665 8.230 -8.940 + -39.505 12.492 -20.596 29.998 -7.850 -8.282 -14.931 0.391 11.995 4.983 + 5.703 3.003 -10.681 -3.070 -0.461 19.347 -8.184 14.209 7.735 11.123 + -6.805 0.034 -7.514 4.293 -1.503 -0.098 -6.366 -17.458 1.143 9.853 + 17.257 -0.536 -2.772 -0.094 -2.258 2.069 -16.353 12.718 -39.676 0.174 + -1.818 18.036 -6.539 -11.532 22.978 -2.567 12.209 20.358 2.701 -7.081 + -5.619 -22.209 -5.644 -9.096 25.818 0.149 -6.573 -16.548 -7.374 8.199 + -0.725 0.348 -0.860 33.666 -3.527 9.238 -15.496 -6.182 -9.720 -4.753 + -18.980 3.273 -2.469 -1.101 0.811 -3.640 5.172 -4.358 -3.860 6.830 + 5.376 13.435 22.819 -14.189 -6.316 -4.368 19.809 1.953 22.734 -2.465 + -10.468 1.428 11.025 5.508 -8.795 -6.628 9.512 -7.623 -6.165 -16.908 + -30.682 -13.190 0.532 5.967 2.099 22.999 4.795 27.679 -7.875 9.351 + -7.683 0.338 -19.861 -17.930 -6.245 36.868 38.209 4.412 -17.575 -31.236 + 2.410 -2.730 -6.525 -10.085 25.174 -22.769 2.414 -3.946 10.603 -5.874 + 24.731 27.656 -15.727 23.253 5.177 11.486 -10.692 -14.468 8.654 -48.877 + -0.830 -2.501 1.876 7.057 -8.626 40.352 -35.407 5.150 -3.498 8.689 + 3.011 5.290 28.743 -3.820 -2.395 -22.861 9.041 -46.528 13.963 3.030 + 3.042 -5.269 -3.318 18.980 32.462 9.520 -24.796 -35.209 -4.980 4.859 + 2.306 -25.180 7.395 -2.912 -3.643 2.005 20.098 -0.718 26.813 21.526 + 17.051 7.272 -4.324 -10.912 14.348 -17.875 22.458 -35.773 -15.906 -16.365 + 4.535 13.463 3.403 -10.718 10.076 -4.970 2.403 -9.444 -0.880 -10.524 + 1.957 9.707 8.563 1.756 6.120 0.173 -7.839 -20.221 -1.909 2.526 + -4.424 -5.881 -4.410 22.201 -10.093 -18.718 7.134 4.626 13.417 -10.723 + 34.352 -7.775 -6.851 -10.780 12.414 -2.891 15.826 -6.955 -7.993 -14.012 + -19.282 29.474 -29.676 26.386 -6.506 16.375 10.731 -2.885 -3.755 -10.066 + 5.195 21.602 5.830 -14.798 -11.136 -24.703 13.688 -7.171 9.424 -9.673 + 11.836 -21.212 6.801 -11.140 11.766 -13.668 -9.040 16.087 4.160 -3.770 + 42.958 -3.773 13.856 -7.671 2.050 -1.504 3.228 -23.288 -6.826 -26.900 + 28.872 8.226 -5.696 4.178 -30.275 25.795 -1.313 14.236 9.065 0.899 + 7.176 -47.330 -8.123 23.812 6.189 36.596 -15.227 27.125 1.067 -5.774 + -9.090 -12.483 -2.783 5.312 -4.059 -11.069 -1.787 -8.863 18.102 -13.793 + -11.940 2.022 15.507 23.134 -3.453 -5.760 10.463 -2.710 -13.836 -20.138 + -7.161 -4.857 7.632 8.243 3.007 -83.862 -37.900 9.491 30.157 -7.706 + -33.231 8.631 11.868 18.488 10.123 32.846 33.255 -3.068 -1.165 -14.965 + 18.326 -56.194 -55.723 -8.643 13.505 21.993 -27.320 12.068 41.877 1.625 + 13.419 -6.404 54.686 22.854 -11.838 -20.975 3.683 4.148 6.966 -5.180 + 1.794 25.501 -5.499 -14.656 -7.543 8.905 11.409 -17.391 13.629 9.990 + -10.244 4.909 3.967 -16.903 18.683 3.392 9.584 -9.429 -6.956 2.683 + -10.668 -5.541 5.641 6.333 5.669 4.004 10.359 0.910 0.109 1.999 + 1.784 -20.917 15.695 6.872 14.975 -33.725 -18.810 25.046 -11.584 -5.558 + 1.474 1.730 -0.253 -13.276 -9.155 0.434 2.691 -6.147 -0.267 -0.376 + -1.389 -33.721 -1.738 -7.989 18.686 19.074 6.658 -14.500 7.072 -4.115 + 6.058 -7.914 -13.242 2.738 -22.511 -12.420 -3.987 10.979 28.169 14.880 + 0.772 4.312 -4.001 20.519 -9.865 8.343 -8.615 -10.978 -2.041 -7.427 + -19.065 3.181 -0.100 -19.044 -7.876 -2.911 9.611 -4.919 -6.741 3.180 + 0.025 9.423 12.079 8.001 23.554 -28.084 22.999 4.064 -6.279 -6.667 + -11.971 29.852 0.557 1.449 9.692 -1.566 -22.559 19.454 -27.928 4.045 + 13.929 39.035 -17.031 4.012 -14.559 4.196 -3.997 28.079 -7.121 -1.356 + -31.119 27.299 -1.164 24.967 0.072 -2.526 -8.936 -1.354 21.545 -0.800 + 0.392 4.989 -0.741 -11.308 -12.826 2.000 -18.795 18.290 -20.049 19.163 + -13.341 -3.708 8.239 5.372 0.423 -4.771 -44.440 15.790 4.370 5.571 + -3.357 -4.899 10.208 -6.046 -3.429 -2.723 1.124 -7.028 8.712 -1.207 + -33.660 -13.555 -16.198 26.790 4.008 15.003 10.009 -28.004 -24.874 -10.694 + 19.959 5.710 -19.203 15.956 -24.524 6.893 -11.775 5.926 0.471 12.028 + 8.119 2.253 -18.327 34.713 -3.756 -1.723 0.419 41.816 6.478 -11.190 + -4.320 5.754 -4.585 -27.101 1.314 -3.484 34.970 -14.199 -4.437 -10.675 + 5.821 3.191 -20.475 11.036 13.252 6.208 -0.684 -6.616 23.521 -4.856 + 8.229 3.809 2.607 14.375 -8.795 -7.944 -9.608 -27.979 29.325 -23.716 + 4.111 -15.976 7.808 -28.031 -11.226 -8.074 23.589 -16.503 25.068 15.630 + 33.702 -19.818 -5.959 -2.355 -1.153 7.787 -42.375 -6.124 11.392 2.824 + -2.101 -0.223 4.412 6.527 -25.319 21.486 -3.723 2.010 -1.033 7.783 + -9.449 0.211 -12.585 -18.542 -13.797 31.817 10.765 9.544 -4.048 8.001 + 7.605 -6.220 16.532 39.843 9.565 -0.206 -13.877 -7.551 3.714 -0.565 + -0.049 -7.123 -25.367 -69.167 5.020 7.942 7.208 -7.566 9.719 17.052 + -0.917 -17.361 31.732 -24.659 43.654 9.635 39.625 -29.996 16.556 -0.893 + -11.960 -16.921 0.986 1.157 6.145 8.359 -1.171 5.217 -8.412 18.745 + -7.283 18.129 -30.648 24.536 8.290 5.868 -26.140 -2.821 8.996 -8.999 + -39.430 12.273 -20.175 30.733 -8.024 -8.270 -15.638 0.628 11.908 4.806 + 5.822 2.919 -10.645 -3.130 -0.450 19.390 -8.455 14.882 7.657 11.594 + -7.651 0.020 -7.800 4.852 0.049 -0.334 -6.644 -18.793 1.169 10.449 + 17.021 -0.350 -2.980 -0.023 -2.309 2.112 -15.940 13.106 -41.101 0.005 + -2.331 19.505 -6.891 -11.199 22.447 -2.074 12.219 20.382 2.449 -7.103 + -5.556 -23.395 -5.887 -8.324 26.915 0.191 -7.173 -16.366 -7.267 8.071 + -0.913 0.311 -0.821 33.369 -2.955 9.076 -15.297 -6.707 -9.669 -4.148 + -18.577 2.777 -2.519 -0.845 0.919 -3.758 4.989 -4.458 -4.245 6.302 + 5.947 13.499 22.639 -14.103 -6.318 -4.115 19.777 1.810 22.716 -2.288 + -10.556 1.541 11.102 5.365 -8.759 -6.431 9.831 -7.805 -6.578 -16.536 + -30.846 -13.762 0.327 6.162 2.557 22.805 4.917 30.442 -8.697 9.514 + -8.742 1.243 -20.241 -19.357 -6.067 36.471 37.839 4.345 -17.303 -31.178 + 2.454 -2.849 -6.697 -10.212 25.561 -23.076 2.471 -4.163 10.865 -5.828 + 24.305 27.889 -15.782 23.371 4.698 11.557 -10.743 -14.284 8.809 -49.826 + -1.348 -2.726 2.913 7.742 -8.561 40.123 -35.551 5.154 -3.308 8.785 + 3.168 4.626 28.468 -3.958 -2.002 -22.921 8.878 -45.790 14.613 3.137 + 2.711 -5.657 -3.325 19.324 32.997 9.238 -24.761 -35.436 -4.925 4.866 + 2.379 -24.928 7.191 -3.887 -4.083 2.064 21.023 0.430 27.118 23.020 + 17.251 7.249 -5.185 -12.239 14.593 -18.545 23.669 -36.354 -15.088 -17.516 + 4.915 12.809 3.351 -10.829 10.060 -5.873 1.266 -9.048 -0.895 -10.558 + 1.939 10.725 9.480 1.282 6.877 1.617 -7.799 -21.030 -2.871 3.305 + -4.492 -6.071 -5.285 22.842 -11.338 -19.096 7.123 4.509 13.430 -10.985 + 36.074 -7.744 -7.172 -11.038 12.692 -2.710 15.934 -6.710 -8.073 -14.090 + -19.450 29.010 -29.726 25.371 -6.297 16.666 11.565 -2.610 -4.099 -9.865 + 4.651 21.412 6.868 -15.041 -12.087 -25.722 14.923 -6.988 9.315 -10.036 + 12.840 -21.259 6.329 -10.954 12.198 -13.700 -9.201 15.970 5.240 -5.014 + 43.556 -4.363 15.339 -8.017 1.904 -1.765 3.075 -23.248 -6.818 -26.990 + 28.816 8.245 -5.754 4.270 -30.529 25.239 -1.349 14.446 9.434 1.285 + 6.716 -48.083 -8.418 24.141 6.858 36.078 -14.844 27.450 1.544 -5.865 + -9.360 -12.033 -5.221 5.705 -4.312 -11.050 -1.657 -9.338 20.259 -14.284 + -11.015 2.160 15.111 21.958 -3.457 -4.838 11.330 -2.807 -14.614 -20.171 + -7.032 -4.718 7.591 8.178 2.898 -81.957 -37.195 9.165 27.630 -8.876 + -32.881 9.664 13.074 19.046 10.056 32.335 32.670 -2.601 -0.912 -14.998 + 19.534 -57.721 -57.532 -9.875 14.841 23.842 -26.632 12.170 41.618 1.424 + 13.505 -6.361 53.103 22.373 -11.469 -20.597 3.450 4.308 6.729 -5.158 + 1.793 25.747 -5.149 -14.757 -7.854 8.785 11.500 -17.103 13.882 10.024 + -10.447 4.866 4.069 -17.965 18.084 3.562 10.398 -9.197 -7.434 2.633 + -10.245 -5.609 5.765 6.392 5.534 4.168 10.164 1.309 0.037 2.045 + 1.737 -20.868 15.664 7.093 14.918 -33.719 -19.008 24.562 -11.650 -5.622 + 1.787 1.683 -0.256 -13.586 -9.258 0.324 3.212 -6.145 -0.247 -1.042 + -1.485 -33.224 -1.225 -7.937 18.681 20.167 5.647 -14.999 7.029 -3.700 + 6.579 -8.769 -13.112 2.485 -22.516 -11.389 -3.912 11.216 27.583 15.094 + 0.452 4.401 -4.214 20.657 -9.664 8.361 -8.747 -11.214 -2.084 -7.708 + -18.625 3.069 0.644 -19.823 -7.481 -3.045 10.136 -5.058 -7.646 3.601 + -0.437 10.045 11.513 8.414 23.650 -27.337 23.135 3.752 -6.742 -6.992 + -11.584 29.180 0.842 1.418 10.402 -1.562 -22.761 19.065 -28.202 3.530 + 14.099 38.634 -16.685 3.985 -14.269 4.840 -4.508 28.268 -7.571 -1.076 + -31.269 27.483 -0.681 24.914 -0.226 -2.642 -8.940 -0.309 21.742 -0.072 + 0.302 5.239 -0.746 -12.260 -13.256 1.410 -21.497 20.188 -20.389 21.609 + -15.309 -3.546 8.500 5.490 0.471 -4.809 -44.470 15.489 4.278 5.391 + -3.304 -4.749 10.096 -5.751 -3.291 -3.348 1.000 -7.159 8.898 -1.203 + -34.576 -13.033 -16.425 27.813 3.849 15.450 9.314 -28.750 -25.304 -10.111 + 20.600 5.874 -18.740 16.374 -24.323 6.479 -12.167 5.834 0.347 12.011 + 8.067 2.296 -18.122 34.439 -3.763 -1.802 0.523 42.553 6.532 -11.308 + -4.384 5.714 -4.456 -27.754 1.198 -3.405 34.662 -14.085 -4.078 -10.256 + 5.634 3.142 -20.783 11.245 13.129 6.520 -0.824 -6.529 23.177 -4.367 + 7.618 3.550 2.598 14.680 -8.377 -8.499 -9.504 -27.288 28.987 -22.899 + 3.625 -15.993 7.372 -29.112 -10.524 -9.290 24.515 -16.924 26.050 15.643 + 33.863 -19.303 -6.230 -2.162 -1.784 7.557 -44.176 -5.918 11.002 2.955 + -2.745 0.641 5.778 6.870 -24.704 21.276 -2.555 2.082 -1.021 7.749 + -10.312 0.559 -13.733 -18.836 -14.386 33.043 11.164 10.281 -5.061 7.815 + 7.630 -6.312 16.204 39.438 9.256 -0.170 -13.770 -7.483 4.096 -0.542 + 0.124 -6.812 -24.311 -70.997 5.209 7.782 7.218 -7.952 9.852 17.393 + -0.995 -18.264 33.186 -24.170 43.805 9.909 39.642 -30.231 16.570 -1.122 + -11.957 -17.071 0.940 1.114 6.175 9.147 -0.635 5.173 -9.201 18.722 + -7.164 17.490 -31.623 23.659 9.171 5.804 -25.858 -2.978 9.733 -9.041 + -39.307 12.021 -19.662 31.393 -8.160 -8.300 -16.310 0.854 11.826 4.622 + 5.948 2.816 -10.580 -3.201 -0.427 19.401 -8.718 15.558 7.569 12.072 + -8.497 0.008 -8.090 5.414 1.562 -0.580 -6.909 -20.063 1.201 11.020 + 16.748 -0.145 -3.193 0.071 -2.374 2.159 -15.530 13.454 -42.432 -0.168 + -2.806 20.902 -7.227 -10.864 21.887 -1.544 12.215 20.413 2.171 -7.121 + -5.485 -24.539 -6.130 -7.564 27.975 0.236 -7.759 -16.233 -7.122 7.929 + -1.070 0.270 -0.773 33.050 -2.384 8.917 -15.080 -7.243 -9.625 -3.595 + -18.152 2.291 -2.553 -0.606 1.024 -3.872 4.799 -4.529 -4.612 5.780 + 6.481 13.569 22.445 -14.011 -6.318 -3.857 19.739 1.693 22.691 -2.115 + -10.644 1.653 11.172 5.210 -8.765 -6.195 10.152 -7.976 -7.007 -16.173 + -30.966 -14.328 0.128 6.348 3.011 22.640 4.999 33.122 -9.510 9.675 + -9.777 2.102 -20.584 -20.720 -5.870 36.051 37.365 4.281 -17.078 -31.088 + 2.493 -2.943 -6.841 -10.331 25.893 -23.319 2.524 -4.325 11.051 -5.786 + 23.896 28.139 -15.806 23.419 4.196 11.612 -10.766 -14.091 8.940 -50.733 + -1.855 -2.941 3.946 8.416 -8.483 39.856 -35.686 5.154 -3.106 8.877 + 3.321 3.949 28.117 -4.089 -1.616 -22.940 8.697 -44.977 15.330 3.252 + 2.363 -6.040 -3.330 19.664 33.518 8.932 -24.670 -35.579 -4.851 4.838 + 2.381 -24.700 6.962 -4.763 -4.494 2.113 21.851 1.550 27.434 24.372 + 17.425 7.222 -5.992 -13.496 14.808 -19.160 24.699 -36.893 -14.267 -18.553 + 5.258 12.173 3.327 -10.909 10.028 -6.640 0.148 -8.621 -0.971 -10.566 + 1.893 11.704 10.356 0.807 7.601 3.043 -7.707 -21.792 -3.814 4.059 + -4.559 -6.260 -6.184 23.394 -12.439 -19.484 7.121 4.387 13.442 -11.194 + 37.652 -7.704 -7.482 -11.299 12.973 -2.540 16.061 -6.440 -8.150 -14.175 + -19.630 28.535 -29.705 24.415 -6.079 16.871 12.309 -2.336 -4.424 -9.643 + 4.140 21.175 7.832 -15.258 -12.979 -26.659 16.099 -6.801 9.205 -10.391 + 13.835 -21.305 5.849 -10.804 12.632 -13.719 -9.351 15.851 6.253 -6.167 + 44.110 -4.919 16.745 -8.342 1.772 -2.031 2.926 -22.980 -6.752 -27.084 + 28.539 8.204 -5.792 4.375 -30.776 24.663 -1.387 14.656 9.798 1.609 + 6.347 -48.732 -8.662 24.391 7.441 35.533 -14.467 27.766 2.024 -5.962 + -9.629 -11.547 -7.618 6.040 -4.610 -11.003 -1.488 -9.787 22.350 -14.756 + -10.057 2.316 14.732 20.799 -3.523 -3.985 12.145 -2.869 -15.330 -20.191 + -6.930 -4.629 7.557 8.149 2.842 -79.974 -36.434 8.843 25.087 -10.006 + -32.470 10.661 14.241 19.581 9.991 31.790 32.039 -2.128 -0.660 -15.028 + 20.658 -59.131 -59.179 -11.047 16.087 25.575 -25.860 12.302 41.323 1.187 + 13.562 -6.315 51.438 21.833 -11.119 -20.212 3.197 4.476 6.507 -5.136 + 1.789 25.910 -4.732 -14.844 -8.090 8.638 11.575 -16.824 14.140 10.089 + -10.624 4.811 4.151 -18.996 17.462 3.673 11.183 -8.972 -7.875 2.601 + -9.781 -5.631 5.878 6.449 5.379 4.314 9.955 1.701 -0.026 2.079 + 1.680 -20.839 15.562 7.212 14.871 -33.627 -19.100 24.027 -11.740 -5.689 + 2.116 1.633 -0.256 -13.812 -9.374 0.223 3.687 -6.126 -0.229 -1.640 + -1.567 -32.689 -0.794 -7.872 18.655 21.266 4.599 -15.517 6.983 -3.274 + 7.107 -9.626 -12.970 2.228 -22.521 -10.287 -3.824 11.411 26.927 15.267 + 0.161 4.499 -4.402 20.787 -9.483 8.376 -8.871 -11.420 -2.125 -8.000 + -18.186 2.951 1.343 -20.555 -7.120 -3.166 10.599 -5.184 -8.454 4.007 + -0.832 10.603 10.986 8.786 23.748 -26.588 23.268 3.428 -7.209 -7.327 + -11.216 28.413 1.104 1.387 11.186 -1.548 -22.910 18.685 -28.437 3.021 + 14.252 38.213 -16.337 3.958 -13.974 5.505 -5.034 28.450 -8.037 -0.782 + -31.395 27.592 -0.208 24.815 -0.483 -2.739 -8.926 0.725 21.926 0.616 + 0.214 5.469 -0.736 -13.193 -13.676 0.825 -24.068 22.046 -20.668 23.963 + -17.224 -3.378 8.731 5.583 0.497 -4.894 -44.457 15.126 4.193 5.204 + -3.238 -4.575 9.971 -5.426 -3.136 -3.922 0.892 -7.282 9.073 -1.199 + -35.349 -12.554 -16.587 28.705 3.691 15.830 8.597 -29.408 -25.743 -9.541 + 21.182 6.028 -18.268 16.789 -24.093 6.069 -12.555 5.737 0.229 11.985 + 8.004 2.332 -17.915 34.154 -3.782 -1.887 0.625 43.232 6.556 -11.386 + -4.472 5.682 -4.368 -28.315 1.110 -3.325 34.325 -13.953 -3.701 -9.816 + 5.432 3.095 -21.078 11.433 12.984 6.828 -0.962 -6.440 22.822 -3.863 + 7.035 3.297 2.586 14.964 -7.965 -9.048 -9.408 -26.567 28.626 -22.033 + 3.121 -15.994 6.908 -30.085 -9.887 -10.407 25.343 -17.284 26.932 15.646 + 34.037 -18.769 -6.524 -1.973 -2.435 7.345 -45.977 -5.707 10.594 3.073 + -3.405 1.514 7.155 7.221 -24.089 21.114 -1.454 2.134 -1.027 7.750 + -11.150 0.899 -14.846 -19.129 -14.974 34.215 11.560 10.995 -6.056 7.631 + 7.655 -6.396 15.888 38.996 8.993 -0.132 -13.633 -7.446 4.457 -0.523 + 0.285 -6.575 -23.275 -72.630 5.423 7.613 7.247 -8.287 9.946 17.687 + -1.071 -19.086 34.488 -23.652 43.910 10.171 39.648 -30.450 16.586 -1.347 + -11.903 -17.198 0.885 1.055 6.197 9.926 -0.086 5.107 -9.986 18.691 + -7.043 16.858 -32.534 22.745 10.024 5.739 -25.559 -3.125 10.401 -9.070 + -39.167 11.774 -19.154 32.037 -8.299 -8.293 -16.954 1.078 11.722 4.377 + 6.106 2.652 -10.485 -3.293 -0.352 19.378 -8.984 16.261 7.546 12.533 + -9.341 -0.015 -8.375 5.965 2.928 -0.817 -7.127 -21.218 1.234 11.538 + 16.522 0.061 -3.420 0.148 -2.439 2.206 -15.162 13.750 -43.634 -0.332 + -3.233 22.188 -7.533 -10.533 21.307 -0.984 12.170 20.459 1.873 -7.129 + -5.407 -25.589 -6.372 -6.844 28.925 0.300 -8.309 -16.125 -7.015 7.788 + -1.189 0.244 -0.733 32.708 -1.764 8.731 -14.850 -7.796 -9.559 -3.075 + -17.692 1.810 -2.560 -0.426 1.115 -3.973 4.623 -4.590 -4.972 5.264 + 7.011 13.623 22.239 -13.884 -6.311 -3.596 19.669 1.554 22.663 -1.915 + -10.725 1.762 11.236 5.157 -8.842 -6.078 10.392 -8.086 -7.329 -15.830 + -31.013 -14.860 -0.043 6.514 3.426 22.466 5.043 35.759 -10.303 9.836 + -10.817 2.938 -20.908 -22.021 -5.670 35.621 36.838 4.221 -16.820 -30.935 + 2.524 -3.040 -6.992 -10.438 26.148 -23.530 2.569 -4.445 11.213 -5.728 + 23.472 28.358 -15.817 23.377 3.704 11.649 -10.718 -13.907 9.040 -51.482 + -2.303 -3.130 4.865 9.021 -8.402 39.552 -35.780 5.151 -2.902 8.953 + 3.482 3.299 27.687 -4.220 -1.254 -22.920 8.495 -44.129 16.088 3.381 + 1.984 -6.454 -3.342 20.015 34.056 8.608 -24.564 -35.703 -4.777 4.802 + 2.360 -24.465 6.755 -5.557 -4.896 2.163 22.615 2.566 27.764 25.649 + 17.582 7.196 -6.798 -14.651 14.986 -19.702 25.634 -37.478 -13.471 -19.554 + 5.592 11.541 3.353 -10.930 9.991 -7.378 -0.922 -8.173 -1.065 -10.574 + 1.843 12.676 11.220 0.340 8.284 4.415 -7.590 -22.528 -4.734 4.799 + -4.621 -6.445 -7.103 23.894 -13.303 -19.769 7.102 4.242 13.399 -11.344 + 38.995 -7.666 -7.769 -11.546 13.217 -2.341 16.166 -6.162 -8.232 -14.259 + -19.810 28.013 -29.549 23.511 -5.858 16.989 12.966 -2.031 -4.791 -9.403 + 3.658 20.945 8.733 -15.445 -13.826 -27.524 17.197 -6.612 9.089 -10.718 + 14.782 -21.341 5.323 -10.671 13.032 -13.703 -9.484 15.751 7.219 -7.327 + 44.596 -5.461 18.111 -8.657 1.669 -2.252 2.811 -22.521 -6.632 -27.183 + 28.074 8.109 -5.810 4.490 -31.026 24.132 -1.424 14.856 10.136 1.877 + 6.057 -49.284 -8.852 24.569 7.921 35.005 -14.093 28.035 2.465 -6.050 + -9.874 -11.122 -9.910 6.398 -4.860 -10.978 -1.348 -10.217 24.371 -15.203 + -9.091 2.444 14.342 19.630 -3.579 -3.130 12.930 -2.933 -16.025 -20.165 + -6.811 -4.545 7.514 8.104 2.768 -77.926 -35.627 8.538 22.464 -11.147 + -32.040 11.671 15.417 20.119 9.888 31.186 31.379 -1.611 -0.391 -15.058 + 21.697 -60.402 -60.662 -12.154 17.233 27.179 -25.017 12.451 41.012 0.921 + 13.591 -6.274 49.738 21.273 -10.782 -19.802 2.923 4.650 6.293 -5.107 + 1.789 25.995 -4.288 -14.928 -8.270 8.477 11.643 -16.555 14.396 10.217 + -10.765 4.759 4.202 -20.004 16.828 3.740 11.947 -8.747 -8.298 2.610 + -9.359 -5.676 5.973 6.500 5.243 4.459 9.750 2.088 -0.116 2.154 + 1.635 -20.833 15.308 7.136 14.840 -33.374 -18.998 23.466 -11.828 -5.762 + 2.439 1.579 -0.252 -13.986 -9.503 0.123 4.141 -6.092 -0.215 -2.267 + -1.644 -32.112 -0.355 -7.800 18.611 22.387 3.618 -15.954 6.938 -2.901 + 7.562 -10.509 -12.824 1.958 -22.540 -9.160 -3.745 11.605 26.219 15.435 + -0.138 4.599 -4.593 20.843 -9.439 8.360 -8.948 -11.469 -2.150 -8.261 + -17.749 2.858 2.034 -21.275 -6.774 -3.281 11.053 -5.306 -9.260 4.420 + -1.217 11.150 10.456 9.151 23.836 -25.808 23.394 3.071 -7.701 -7.688 + -10.830 27.684 1.388 1.352 11.902 -1.542 -22.995 18.317 -28.638 2.587 + 14.361 37.774 -16.019 3.941 -13.691 6.104 -5.548 28.582 -8.462 -0.482 + -31.460 27.660 0.262 24.684 -0.716 -2.820 -8.893 1.742 22.109 1.323 + 0.117 5.680 -0.724 -14.098 -14.089 0.243 -26.607 23.842 -20.949 26.275 + -19.089 -3.209 8.956 5.671 0.526 -4.970 -44.385 14.707 4.097 5.000 + -3.165 -4.385 9.824 -5.066 -2.972 -4.508 0.789 -7.414 9.244 -1.199 + -36.012 -12.069 -16.696 29.501 3.537 16.163 7.933 -29.965 -26.137 -9.011 + 21.677 6.150 -17.824 17.161 -23.841 5.670 -12.923 5.636 0.112 11.964 + 7.926 2.416 -17.671 33.848 -3.836 -1.989 0.726 43.768 6.535 -11.504 + -4.533 5.641 -4.232 -28.768 1.059 -3.235 33.936 -13.800 -3.297 -9.357 + 5.222 3.046 -21.305 11.576 12.783 7.082 -1.067 -6.340 22.379 -3.362 + 6.569 3.116 2.586 15.163 -7.537 -9.600 -9.322 -25.842 28.249 -21.168 + 2.618 -15.995 6.443 -30.922 -9.276 -11.401 26.034 -17.602 27.673 15.654 + 34.204 -18.229 -6.811 -1.782 -3.079 7.126 -47.728 -5.500 10.196 3.178 + -4.048 2.367 8.500 7.559 -23.491 20.968 -0.373 2.185 -1.034 7.733 + -11.956 1.218 -15.916 -19.410 -15.520 35.368 11.948 11.683 -7.035 7.443 + 7.676 -6.484 15.513 38.495 8.713 -0.078 -13.483 -7.407 4.848 -0.494 + 0.451 -6.375 -22.210 -73.987 5.633 7.435 7.265 -8.573 9.957 17.888 + -1.143 -19.823 35.628 -23.167 43.999 10.407 39.664 -30.668 16.607 -1.587 + -11.807 -17.314 0.855 0.984 6.226 10.730 0.472 5.021 -10.793 18.642 + -6.920 16.171 -33.367 21.753 10.927 5.653 -25.227 -3.270 11.029 -9.093 + -39.033 11.493 -18.560 32.554 -8.418 -8.274 -17.497 1.290 11.593 4.130 + 6.280 2.462 -10.383 -3.398 -0.251 19.365 -9.241 16.945 7.533 12.973 + -10.160 -0.055 -8.654 6.519 4.251 -1.037 -7.352 -22.329 1.261 12.041 + 16.245 0.281 -3.634 0.270 -2.522 2.265 -14.800 13.962 -44.675 -0.487 + -3.586 23.315 -7.804 -10.183 20.677 -0.403 12.102 20.517 1.562 -7.135 + -5.324 -26.534 -6.615 -6.160 29.760 0.379 -8.819 -16.032 -6.928 7.655 + -1.291 0.217 -0.700 32.368 -1.175 8.508 -14.622 -8.298 -9.485 -2.555 + -17.210 1.391 -2.557 -0.268 1.196 -4.088 4.437 -4.680 -5.321 4.761 + 7.518 13.672 22.060 -13.684 -6.308 -3.370 19.550 1.390 22.670 -1.688 + -10.785 1.855 11.279 5.115 -8.965 -5.967 10.612 -8.161 -7.637 -15.460 + -31.023 -15.410 -0.213 6.665 3.841 22.265 5.102 38.302 -11.058 9.991 + -11.823 3.744 -21.227 -23.267 -5.459 35.125 36.316 4.161 -16.542 -30.795 + 2.551 -3.133 -7.121 -10.543 26.294 -23.672 2.609 -4.468 11.293 -5.659 + 23.025 28.608 -15.823 23.326 3.159 11.684 -10.671 -13.691 9.120 -52.164 + -2.718 -3.311 5.750 9.596 -8.313 39.223 -35.823 5.150 -2.697 8.991 + 3.621 2.679 27.224 -4.336 -0.929 -22.857 8.289 -43.221 16.816 3.550 + 1.556 -6.885 -3.351 20.373 34.598 8.194 -24.389 -35.772 -4.678 4.742 + 2.301 -24.199 6.562 -6.328 -5.289 2.209 23.346 3.480 28.094 26.830 + 17.712 7.168 -7.581 -15.702 15.142 -20.168 26.502 -38.062 -12.669 -20.532 + 5.902 10.908 3.418 -10.918 9.950 -8.036 -1.959 -7.765 -1.163 -10.560 + 1.801 13.577 12.016 -0.102 8.978 5.756 -7.439 -23.239 -5.624 5.518 + -4.682 -6.625 -8.027 24.243 -13.984 -20.019 7.101 4.088 13.360 -11.441 + 40.125 -7.612 -8.000 -11.751 13.412 -2.139 16.279 -5.862 -8.315 -14.353 + -19.999 27.487 -29.354 22.653 -5.634 17.030 13.532 -1.731 -5.124 -9.133 + 3.210 20.746 9.523 -15.578 -14.576 -28.249 18.157 -6.434 8.963 -10.987 + 15.621 -21.366 4.819 -10.569 13.438 -13.697 -9.614 15.630 8.170 -8.418 + 45.072 -5.983 19.418 -8.962 1.558 -2.480 2.691 -22.072 -6.517 -27.280 + 27.618 8.014 -5.824 4.582 -31.224 23.599 -1.456 15.041 10.465 2.090 + 5.803 -49.736 -8.998 24.695 8.304 34.564 -13.714 28.262 2.842 -6.130 + -10.054 -10.689 -12.125 6.710 -5.107 -10.946 -1.207 -10.626 26.303 -15.623 + -8.183 2.553 13.950 18.524 -3.648 -2.331 13.636 -2.981 -16.656 -20.119 + -6.666 -4.424 7.465 8.035 2.662 -75.805 -34.783 8.221 19.844 -12.229 + -31.539 12.630 16.518 20.609 9.796 30.561 30.668 -1.089 -0.116 -15.072 + 22.643 -61.583 -62.004 -13.218 18.315 28.697 -24.137 12.539 40.622 0.670 + 13.673 -6.199 48.020 20.696 -10.443 -19.385 2.653 4.832 6.054 -5.072 + 1.789 26.028 -3.819 -14.996 -8.386 8.284 11.690 -16.317 14.669 10.366 + -10.875 4.699 4.225 -20.996 16.139 3.784 12.691 -8.518 -8.699 2.661 + -8.873 -5.692 6.039 6.535 5.126 4.588 9.537 2.438 -0.198 2.218 + 1.582 -20.834 14.977 6.959 14.814 -33.029 -18.795 22.855 -11.930 -5.836 + 2.795 1.522 -0.246 -14.145 -9.628 0.026 4.595 -6.055 -0.202 -2.943 + -1.700 -31.504 0.122 -7.730 18.547 23.487 2.607 -16.372 6.894 -2.521 + 8.011 -11.393 -12.665 1.675 -22.532 -8.041 -3.664 11.793 25.551 15.614 + -0.429 4.681 -4.789 20.820 -9.553 8.302 -8.976 -11.378 -2.156 -8.486 + -17.305 2.794 2.724 -21.924 -6.447 -3.394 11.465 -5.414 -10.075 4.780 + -1.599 11.696 9.929 9.512 23.846 -25.032 23.454 2.759 -8.143 -8.010 + -10.405 26.911 1.690 1.310 12.640 -1.532 -23.090 17.945 -28.843 2.157 + 14.449 37.296 -15.687 3.930 -13.386 6.651 -6.059 28.639 -8.827 -0.185 + -31.458 27.712 0.723 24.542 -0.927 -2.900 -8.854 2.599 22.279 2.029 + 0.078 5.839 -0.711 -14.916 -14.468 -0.327 -29.013 25.578 -21.209 28.484 + -20.870 -3.042 9.160 5.739 0.553 -5.055 -44.276 14.241 3.999 4.792 + -3.080 -4.179 9.664 -4.679 -2.852 -5.029 0.679 -7.510 9.400 -1.188 + -36.548 -11.607 -16.764 30.189 3.375 16.444 7.236 -30.445 -26.486 -8.497 + 22.119 6.267 -17.317 17.569 -23.601 5.256 -13.296 5.542 -0.005 11.913 + 7.834 2.467 -17.409 33.489 -3.878 -2.088 0.831 44.143 6.465 -11.665 + -4.537 5.585 -4.020 -29.114 1.048 -3.149 33.530 -13.656 -2.857 -8.886 + 5.011 2.990 -21.480 11.691 12.551 7.290 -1.144 -6.233 21.893 -2.889 + 6.114 2.953 2.590 15.333 -7.105 -10.131 -9.229 -25.077 27.840 -20.261 + 2.099 -15.987 5.956 -31.699 -8.628 -12.366 26.692 -17.900 28.370 15.602 + 34.310 -17.666 -7.096 -1.579 -3.732 6.979 -49.438 -5.305 9.774 3.291 + -4.696 3.195 9.807 7.883 -22.918 20.856 0.622 2.213 -1.053 7.741 + -12.707 1.519 -16.906 -19.759 -16.034 36.476 12.328 12.363 -8.005 7.311 + 7.677 -6.531 15.166 37.913 8.519 -0.010 -13.293 -7.449 5.203 -0.454 + 0.599 -6.180 -21.236 -75.095 5.832 7.256 7.271 -8.846 9.961 18.053 + -1.207 -20.435 36.572 -22.626 44.072 10.662 39.645 -30.869 16.615 -1.843 + -11.687 -17.433 0.822 0.910 6.253 11.511 1.006 4.934 -11.568 18.593 + -6.796 15.485 -34.216 20.795 11.817 5.565 -24.892 -3.421 11.669 -9.117 + -38.886 11.218 -17.983 32.971 -8.505 -8.263 -17.952 1.481 11.458 3.899 + 6.430 2.331 -10.308 -3.481 -0.202 19.326 -9.509 17.658 7.562 13.353 + -10.901 -0.082 -8.901 7.009 5.478 -1.220 -7.591 -23.374 1.287 12.508 + 15.986 0.486 -3.783 0.355 -2.593 2.294 -14.410 14.108 -45.611 -0.639 + -3.894 24.350 -8.060 -9.810 20.005 0.163 12.048 20.563 1.255 -7.144 + -5.238 -27.317 -6.887 -5.529 30.447 0.479 -9.273 -15.978 -6.819 7.527 + -1.351 0.184 -0.672 31.976 -0.556 8.250 -14.364 -8.832 -9.397 -2.036 + -16.689 1.031 -2.543 -0.139 1.271 -4.201 4.237 -4.802 -5.661 4.270 + 8.005 13.708 21.864 -13.470 -6.299 -3.140 19.416 1.199 22.634 -1.408 + -10.834 1.952 11.306 5.133 -9.105 -5.946 10.788 -8.200 -7.883 -15.085 + -30.994 -15.947 -0.384 6.811 4.255 22.094 5.097 40.780 -11.809 10.142 + -12.816 4.504 -21.501 -24.446 -5.236 34.641 35.715 4.086 -16.241 -30.574 + 2.585 -3.240 -7.276 -10.639 26.390 -23.764 2.643 -4.449 11.331 -5.578 + 22.548 28.826 -15.830 23.294 2.558 11.722 -10.633 -13.452 9.180 -52.798 + -3.075 -3.484 6.611 10.141 -8.208 38.884 -35.828 5.142 -2.493 9.009 + 3.764 2.059 26.705 -4.445 -0.627 -22.757 8.060 -42.288 17.580 3.733 + 1.106 -7.332 -3.360 20.733 35.139 7.752 -24.173 -35.786 -4.568 4.664 + 2.205 -23.910 6.334 -7.070 -5.677 2.261 24.047 4.385 28.456 27.956 + 17.820 7.123 -8.362 -16.736 15.286 -20.602 27.358 -38.588 -11.826 -21.481 + 6.185 10.254 3.451 -10.931 9.919 -8.633 -2.954 -7.393 -1.254 -10.539 + 1.765 14.431 12.777 -0.526 9.656 7.042 -7.282 -23.923 -6.483 6.198 + -4.753 -6.805 -8.921 24.506 -14.471 -20.046 7.072 3.886 13.182 -11.490 + 41.063 -7.561 -8.167 -11.910 13.536 -1.951 16.364 -5.616 -8.395 -14.418 + -20.154 26.970 -29.116 21.865 -5.416 17.030 14.042 -1.435 -5.451 -8.870 + 2.791 20.470 10.146 -15.669 -15.213 -28.828 19.038 -6.262 8.851 -11.245 + 16.434 -21.384 4.291 -10.489 13.812 -13.656 -9.707 15.541 9.079 -9.435 + 45.529 -6.472 20.653 -9.244 1.451 -2.716 2.569 -21.584 -6.387 -27.392 + 27.116 7.904 -5.822 4.674 -31.434 23.051 -1.486 15.223 10.777 2.238 + 5.638 -50.010 -9.074 24.732 8.546 34.115 -13.316 28.476 3.212 -6.215 + -10.226 -10.289 -14.267 7.027 -5.340 -10.896 -1.080 -10.998 28.147 -16.033 + -7.289 2.673 13.563 17.442 -3.778 -1.615 14.292 -2.994 -17.217 -20.017 + -6.458 -4.254 7.376 7.922 2.518 -73.653 -33.918 7.901 17.269 -13.229 + -30.984 13.542 17.547 21.056 9.645 29.862 29.907 -0.522 0.179 -15.076 + 23.522 -62.614 -63.182 -14.210 19.311 30.100 -23.246 12.577 40.169 0.419 + 13.778 -6.098 46.283 20.101 -10.091 -18.922 2.354 5.008 5.789 -5.026 + 1.792 26.022 -3.345 -15.058 -8.484 8.093 11.733 -16.092 14.949 10.529 + -10.962 4.640 4.240 -21.979 15.445 3.822 13.427 -8.276 -9.093 2.721 + -8.463 -5.720 6.129 6.588 4.996 4.723 9.314 2.801 -0.325 2.337 + 1.537 -20.834 14.536 6.648 14.792 -32.572 -18.459 22.208 -12.029 -5.913 + 3.166 1.458 -0.235 -14.245 -9.793 -0.069 5.004 -5.992 -0.193 -3.550 + -1.744 -30.892 0.552 -7.659 18.470 24.499 1.601 -16.774 6.844 -2.149 + 8.437 -12.194 -12.505 1.424 -22.521 -6.926 -3.599 11.884 24.884 15.745 + -0.653 4.773 -4.951 20.827 -9.756 8.262 -8.992 -11.199 -2.155 -8.723 + -16.886 2.731 3.412 -22.444 -6.139 -3.505 11.784 -5.508 -10.905 5.130 + -1.983 12.243 9.386 9.873 23.820 -24.248 23.472 2.460 -8.563 -8.311 + -9.953 26.156 2.012 1.272 13.350 -1.523 -23.187 17.566 -29.040 1.694 + 14.551 36.812 -15.334 3.912 -13.074 7.158 -6.562 28.638 -9.141 0.106 + -31.398 27.730 1.147 24.399 -1.104 -2.970 -8.806 3.380 22.441 2.708 + 0.076 5.971 -0.692 -15.690 -14.811 -0.884 -31.330 27.243 -21.459 30.610 + -22.577 -2.877 9.350 5.798 0.584 -5.100 -44.129 13.781 3.871 4.560 + -3.004 -3.977 9.502 -4.296 -2.779 -5.545 0.539 -7.591 9.552 -1.169 + -36.915 -11.174 -16.756 30.746 3.231 16.662 6.579 -30.794 -26.781 -8.043 + 22.466 6.352 -16.829 18.012 -23.351 4.837 -13.654 5.457 -0.101 11.798 + 7.717 2.551 -17.121 33.104 -3.940 -2.199 0.941 44.364 6.358 -11.872 + -4.501 5.519 -3.752 -29.354 1.070 -3.058 33.107 -13.494 -2.422 -8.398 + 4.786 2.939 -21.579 11.768 12.309 7.425 -1.187 -6.106 21.396 -2.443 + 5.668 2.806 2.590 15.472 -6.687 -10.627 -9.125 -24.287 27.417 -19.344 + 1.567 -15.971 5.450 -32.422 -8.006 -13.253 27.293 -18.172 28.995 15.516 + 34.423 -17.214 -7.330 -1.399 -4.294 6.823 -51.062 -5.079 9.364 3.392 + -5.336 4.001 11.062 8.182 -22.403 20.735 1.572 2.253 -1.064 7.732 + -13.406 1.804 -17.838 -20.029 -16.445 37.469 12.642 12.958 -8.855 7.153 + 7.682 -6.577 14.851 37.253 8.320 0.048 -13.081 -7.502 5.538 -0.411 + 0.748 -6.023 -20.225 -75.918 5.995 7.067 7.266 -9.036 9.888 18.092 + -1.276 -20.962 37.382 -22.082 44.126 10.905 39.618 -31.058 16.625 -2.093 + -11.549 -17.524 0.773 0.828 6.268 12.216 1.543 4.846 -12.274 18.528 + -6.678 14.859 -35.075 19.781 12.646 5.486 -24.533 -3.570 12.315 -9.130 + -38.693 10.913 -17.326 33.227 -8.544 -8.281 -18.272 1.647 11.303 3.661 + 6.561 2.284 -10.241 -3.543 -0.223 19.291 -9.796 18.393 7.595 13.697 + -11.566 -0.109 -9.111 7.419 6.649 -1.389 -7.809 -24.365 1.306 12.951 + 15.680 0.711 -3.979 0.504 -2.691 2.358 -14.040 14.205 -46.410 -0.793 + -4.157 25.273 -8.309 -9.415 19.279 0.738 12.036 20.570 0.920 -7.150 + -5.135 -27.988 -7.230 -4.918 31.039 0.608 -9.690 -15.938 -6.674 7.414 + -1.388 0.150 -0.645 31.566 0.018 7.979 -14.095 -9.346 -9.311 -1.547 + -16.177 0.710 -2.526 -0.005 1.348 -4.313 4.030 -4.922 -5.987 3.802 + 8.451 13.752 21.712 -13.214 -6.291 -2.952 19.244 1.002 22.595 -1.116 + -10.878 2.037 11.329 5.202 -9.259 -6.015 10.916 -8.213 -8.057 -14.717 + -30.968 -16.437 -0.543 6.949 4.648 21.907 5.076 43.116 -12.515 10.273 + -13.739 5.218 -21.741 -25.557 -4.993 34.173 35.055 3.997 -15.935 -30.272 + 2.627 -3.357 -7.463 -10.738 26.443 -23.774 2.678 -4.384 11.303 -5.489 + 22.031 29.025 -15.841 23.326 1.907 11.764 -10.648 -13.169 9.231 -53.383 + -3.409 -3.652 7.441 10.662 -8.102 38.519 -35.752 5.135 -2.274 8.969 + 3.886 1.524 26.062 -4.528 -0.419 -22.575 7.820 -41.342 18.367 3.936 + 0.660 -7.772 -3.367 21.080 35.663 7.278 -23.928 -35.752 -4.447 4.566 + 2.067 -23.619 6.156 -7.752 -6.041 2.296 24.690 5.168 28.820 28.963 + 17.907 7.076 -9.124 -17.645 15.384 -20.944 28.156 -39.075 -10.979 -22.368 + 6.456 9.619 3.470 -10.941 9.877 -9.198 -3.886 -7.065 -1.314 -10.526 + 1.744 15.229 13.482 -0.930 10.288 8.256 -7.130 -24.549 -7.281 6.825 + -4.818 -6.977 -9.759 24.687 -14.733 -20.008 7.033 3.654 12.956 -11.493 + 41.793 -7.494 -8.310 -12.051 13.627 -1.733 16.411 -5.322 -8.479 -14.484 + -20.323 26.397 -28.762 21.088 -5.191 16.973 14.497 -1.115 -5.815 -8.595 + 2.360 20.184 10.696 -15.732 -15.782 -29.319 19.877 -6.086 8.737 -11.472 + 17.182 -21.392 3.750 -10.421 14.189 -13.607 -9.801 15.443 9.937 -10.411 + 45.896 -6.922 21.781 -9.507 1.367 -2.887 2.501 -20.996 -6.235 -27.510 + 26.512 7.767 -5.805 4.754 -31.592 22.507 -1.505 15.381 11.066 2.347 + 5.540 -50.205 -9.110 24.707 8.714 33.667 -12.957 28.611 3.540 -6.280 + -10.349 -9.884 -16.355 7.370 -5.557 -10.841 -0.960 -11.360 29.943 -16.439 + -6.398 2.769 13.162 16.389 -3.903 -0.938 14.911 -2.995 -17.729 -19.908 + -6.218 -4.029 7.271 7.780 2.336 -71.452 -33.060 7.545 14.683 -14.150 + -30.346 14.426 18.526 21.472 9.504 29.069 29.054 0.033 0.487 -15.062 + 24.345 -63.470 -64.168 -15.118 20.212 31.369 -22.316 12.633 39.693 0.122 + 13.840 -5.996 44.518 19.505 -9.726 -18.405 2.085 5.203 5.500 -4.974 + 1.795 25.951 -2.892 -15.112 -8.525 7.898 11.763 -15.859 15.234 10.674 + -11.062 4.581 4.270 -22.904 14.741 3.820 14.114 -8.043 -9.452 2.775 + -7.975 -5.799 6.188 6.631 4.865 4.866 9.056 3.224 -0.430 2.434 + 1.483 -20.836 13.981 6.198 14.773 -31.990 -17.984 21.534 -12.170 -5.982 + 3.537 1.396 -0.225 -14.262 -9.929 -0.164 5.371 -5.923 -0.190 -4.114 + -1.783 -30.250 0.939 -7.581 18.374 25.455 0.582 -17.238 6.800 -1.776 + 8.905 -12.962 -12.352 1.182 -22.452 -5.718 -3.479 11.933 24.149 15.841 + -0.881 4.861 -5.113 20.826 -9.957 8.220 -8.997 -11.013 -2.150 -8.966 + -16.451 2.656 4.111 -22.965 -5.825 -3.612 12.092 -5.594 -11.728 5.483 + -2.363 12.785 8.840 10.230 23.741 -23.472 23.448 2.200 -8.963 -8.580 + -9.496 25.393 2.335 1.235 14.051 -1.512 -23.296 17.172 -29.242 1.228 + 14.644 36.293 -14.958 3.888 -12.744 7.566 -7.059 28.531 -9.376 0.388 + -31.245 27.722 1.602 24.251 -1.236 -3.043 -8.733 4.109 22.587 3.397 + 0.085 6.098 -0.673 -16.434 -15.139 -1.431 -33.504 28.838 -21.723 32.626 + -24.213 -2.709 9.528 5.845 0.611 -5.136 -43.952 13.323 3.724 4.314 + -2.933 -3.778 9.334 -3.912 -2.802 -6.080 0.348 -7.619 9.700 -1.127 + -37.051 -10.752 -16.655 31.130 3.087 16.803 5.884 -31.073 -27.059 -7.606 + 22.779 6.427 -16.328 18.420 -23.054 4.429 -13.977 5.369 -0.195 11.662 + 7.592 2.638 -16.773 32.628 -3.997 -2.312 1.061 44.392 6.171 -12.056 + -4.454 5.452 -3.475 -29.432 1.134 -2.959 32.730 -13.354 -1.991 -7.939 + 4.578 2.900 -21.633 11.811 12.018 7.507 -1.199 -5.962 20.922 -2.029 + 5.262 2.644 2.584 15.602 -6.283 -11.086 -9.021 -23.458 26.987 -18.425 + 1.014 -15.951 4.930 -33.028 -7.409 -14.029 27.794 -18.396 29.519 15.373 + 34.503 -16.783 -7.543 -1.224 -4.821 6.751 -52.654 -4.849 8.934 3.502 + -5.985 4.777 12.288 8.466 -21.950 20.587 2.579 2.334 -1.044 7.670 + -14.092 2.094 -18.751 -20.326 -16.797 38.360 12.932 13.515 -9.640 7.038 + 7.667 -6.598 14.592 36.547 8.126 0.100 -12.866 -7.546 5.831 -0.349 + 0.881 -5.919 -19.127 -76.548 6.101 6.879 7.232 -9.136 9.715 18.014 + -1.330 -21.458 38.140 -21.571 44.177 11.123 39.604 -31.245 16.641 -2.286 + -11.430 -17.595 0.682 0.760 6.274 12.963 2.098 4.769 -13.002 18.465 + -6.567 14.236 -35.898 18.753 13.436 5.403 -24.165 -3.715 12.921 -9.136 + -38.422 10.615 -16.694 33.353 -8.562 -8.283 -18.507 1.794 11.144 3.453 + 6.686 2.251 -10.173 -3.600 -0.259 19.213 -10.086 19.121 7.671 14.016 + -12.181 -0.148 -9.292 7.768 7.783 -1.563 -7.996 -25.321 1.329 13.372 + 15.374 0.929 -4.145 0.638 -2.779 2.402 -13.641 14.266 -47.169 -0.949 + -4.394 26.147 -8.596 -9.009 18.568 1.273 12.037 20.568 0.601 -7.162 + -5.032 -28.464 -7.616 -4.358 31.435 0.759 -10.022 -15.882 -6.530 7.254 + -1.420 0.110 -0.617 31.117 0.567 7.716 -13.803 -9.837 -9.223 -1.084 + -15.627 0.445 -2.494 0.106 1.415 -4.422 3.806 -5.049 -6.294 3.347 + 8.854 13.799 21.562 -12.950 -6.281 -2.768 19.066 0.775 22.567 -0.770 + -10.907 2.117 11.333 5.309 -9.465 -6.132 11.019 -8.189 -8.200 -14.329 + -30.893 -16.922 -0.716 7.082 5.046 21.715 5.032 45.296 -13.178 10.384 + -14.603 5.883 -21.948 -26.584 -4.747 33.689 34.365 3.905 -15.633 -29.955 + 2.670 -3.473 -7.637 -10.838 26.419 -23.683 2.707 -4.245 11.207 -5.388 + 21.497 29.180 -15.856 23.334 1.263 11.809 -10.659 -12.862 9.277 -53.866 + -3.770 -3.822 8.238 11.172 -7.987 38.091 -35.624 5.128 -2.040 8.896 + 3.991 0.998 25.430 -4.601 -0.231 -22.371 7.579 -40.352 19.124 4.155 + 0.176 -8.237 -3.380 21.437 36.200 6.801 -23.660 -35.688 -4.331 4.465 + 1.927 -23.358 5.996 -8.357 -6.382 2.321 25.230 5.948 29.197 29.875 + 17.951 7.002 -9.834 -18.504 15.472 -21.249 28.771 -39.532 -10.146 -23.140 + 6.685 9.024 3.539 -10.914 9.819 -9.703 -4.786 -6.782 -1.344 -10.509 + 1.742 15.960 14.137 -1.312 10.833 9.428 -6.922 -25.113 -8.024 7.407 + -4.878 -7.145 -10.597 24.775 -14.762 -19.883 6.985 3.395 12.670 -11.430 + 42.283 -7.414 -8.410 -12.169 13.685 -1.509 16.418 -5.045 -8.559 -14.526 + -20.467 25.801 -28.339 20.336 -4.970 16.904 14.926 -0.772 -6.231 -8.328 + 1.919 19.772 11.184 -15.766 -16.290 -29.722 20.710 -5.890 8.612 -11.700 + 17.965 -21.391 3.201 -10.316 14.584 -13.562 -9.917 15.311 10.767 -11.316 + 46.234 -7.337 22.835 -9.753 1.278 -3.061 2.435 -20.298 -6.054 -27.643 + 25.797 7.596 -5.771 4.833 -31.730 21.941 -1.522 15.531 11.340 2.447 + 5.461 -50.334 -9.131 24.661 8.856 33.216 -12.651 28.686 3.835 -6.318 + -10.434 -9.487 -18.322 7.700 -5.785 -10.790 -0.839 -11.688 31.646 -16.817 + -5.517 2.827 12.730 15.361 -4.046 -0.295 15.485 -2.981 -18.195 -19.757 + -5.937 -3.772 7.148 7.601 2.113 -69.230 -32.172 7.204 12.136 -14.971 + -29.641 15.243 19.399 21.830 9.400 28.266 28.168 0.563 0.787 -15.039 + 25.077 -64.215 -64.993 -15.948 21.022 32.504 -21.342 12.662 39.156 -0.183 + 13.902 -5.882 42.726 18.923 -9.321 -17.846 1.830 5.408 5.199 -4.915 + 1.804 25.764 -2.414 -15.143 -8.461 7.682 11.773 -15.644 15.518 10.805 + -11.151 4.516 4.307 -23.773 14.002 3.776 14.755 -7.811 -9.779 2.849 + -7.419 -5.835 6.213 6.662 4.741 4.983 8.799 3.616 -0.498 2.497 + 1.423 -20.858 13.322 5.591 14.765 -31.295 -17.359 20.871 -12.291 -6.046 + 3.919 1.332 -0.214 -14.332 -10.088 -0.261 5.768 -5.846 -0.184 -4.730 + -1.827 -29.578 1.365 -7.505 18.273 26.419 -0.422 -17.684 6.748 -1.395 + 9.356 -13.731 -12.190 0.939 -22.383 -4.536 -3.364 11.979 23.395 15.920 + -1.083 4.944 -5.251 20.740 -10.190 8.133 -8.974 -10.776 -2.133 -9.180 + -16.016 2.596 4.798 -23.392 -5.510 -3.705 12.327 -5.674 -12.506 5.760 + -2.718 13.279 8.326 10.560 23.626 -22.695 23.384 1.966 -9.333 -8.822 + -9.054 24.613 2.667 1.202 14.754 -1.505 -23.372 16.795 -29.427 0.821 + 14.700 35.727 -14.589 3.869 -12.403 7.864 -7.512 28.358 -9.539 0.654 + -31.015 27.635 2.002 24.071 -1.288 -3.092 -8.620 4.779 22.758 4.079 + 0.129 6.189 -0.647 -17.141 -15.441 -1.967 -35.543 30.326 -21.961 34.527 + -25.752 -2.545 9.681 5.881 0.620 -5.193 -43.705 12.809 3.565 4.052 + -2.859 -3.548 9.138 -3.483 -2.891 -6.588 0.127 -7.605 9.838 -1.070 + -37.132 -10.347 -16.536 31.478 2.955 16.932 5.194 -31.342 -27.259 -7.181 + 23.083 6.477 -15.811 18.839 -22.744 4.006 -14.304 5.277 -0.280 11.503 + 7.450 2.731 -16.390 32.113 -4.048 -2.426 1.189 44.311 5.943 -12.250 + -4.389 5.383 -3.180 -29.436 1.218 -2.851 32.329 -13.184 -1.610 -7.458 + 4.354 2.865 -21.703 11.856 11.773 7.607 -1.218 -5.821 20.466 -1.646 + 4.828 2.478 2.573 15.729 -5.906 -11.501 -8.913 -22.617 26.547 -17.502 + 0.461 -15.922 4.407 -33.528 -6.837 -14.714 28.207 -18.580 29.959 15.160 + 34.584 -16.328 -7.750 -1.059 -5.351 6.742 -54.229 -4.649 8.492 3.612 + -6.620 5.542 13.479 8.737 -21.542 20.499 3.553 2.413 -1.033 7.610 + -14.746 2.370 -19.618 -20.627 -17.100 39.102 13.181 14.011 -10.321 6.981 + 7.649 -6.586 14.283 35.790 7.986 0.176 -12.599 -7.639 6.135 -0.288 + 1.015 -5.784 -18.085 -76.956 6.156 6.689 7.168 -9.221 9.508 17.886 + -1.375 -21.861 38.759 -21.020 44.201 11.342 39.564 -31.417 16.648 -2.510 + -11.311 -17.668 0.617 0.688 6.287 13.648 2.675 4.707 -13.692 18.382 + -6.463 13.633 -36.725 17.706 14.201 5.325 -23.785 -3.858 13.521 -9.132 + -38.141 10.310 -16.067 33.408 -8.565 -8.266 -18.693 1.933 10.974 3.247 + 6.816 2.185 -10.083 -3.670 -0.265 19.102 -10.380 19.853 7.722 14.306 + -12.730 -0.162 -9.451 8.065 8.836 -1.714 -8.181 -26.214 1.338 13.778 + 15.109 1.146 -4.334 0.752 -2.860 2.450 -13.243 14.296 -47.865 -1.112 + -4.615 26.980 -8.845 -8.586 17.838 1.865 12.013 20.559 0.257 -7.164 + -4.927 -28.811 -8.002 -3.850 31.682 0.930 -10.310 -15.858 -6.425 7.106 + -1.415 0.085 -0.593 30.667 1.060 7.436 -13.516 -10.272 -9.136 -0.656 + -15.093 0.182 -2.457 0.231 1.475 -4.520 3.592 -5.167 -6.586 2.892 + 9.251 13.841 21.437 -12.650 -6.269 -2.614 18.862 0.540 22.569 -0.394 + -10.922 2.191 11.314 5.448 -9.744 -6.311 11.071 -8.107 -8.278 -13.931 + -30.777 -17.358 -0.878 7.189 5.402 21.493 4.969 47.304 -13.786 10.486 + -15.415 6.496 -22.114 -27.508 -4.476 33.180 33.676 3.807 -15.340 -29.658 + 2.712 -3.569 -7.794 -10.936 26.372 -23.552 2.737 -4.092 11.080 -5.285 + 20.940 29.316 -15.862 23.334 0.598 11.846 -10.655 -12.536 9.296 -54.215 + -4.104 -3.972 8.942 11.635 -7.865 37.607 -35.486 5.120 -1.799 8.841 + 4.114 0.423 24.807 -4.694 0.020 -22.182 7.334 -39.349 19.891 4.419 + -0.326 -8.683 -3.406 21.791 36.724 6.298 -23.410 -35.721 -4.216 4.406 + 1.894 -23.092 5.835 -8.931 -6.712 2.353 25.733 6.640 29.559 30.650 + 17.974 6.929 -10.485 -19.265 15.530 -21.489 29.331 -39.948 -9.288 -23.866 + 6.904 8.435 3.606 -10.879 9.744 -10.140 -5.724 -6.519 -1.424 -10.475 + 1.727 16.685 14.781 -1.684 11.363 10.631 -6.719 -25.669 -8.778 7.994 + -4.941 -7.303 -11.434 24.807 -14.774 -19.638 6.925 3.113 12.339 -11.351 + 42.714 -7.325 -8.454 -12.238 13.672 -1.265 16.437 -4.717 -8.639 -14.583 + -20.632 25.178 -27.866 19.583 -4.746 16.804 15.318 -0.423 -6.658 -8.055 + 1.394 19.247 11.495 -15.734 -16.679 -29.961 21.552 -5.691 8.488 -11.920 + 18.742 -21.368 2.682 -10.213 14.999 -13.529 -10.035 15.156 11.552 -12.088 + 46.572 -7.719 23.802 -9.983 1.188 -3.260 2.345 -19.463 -5.843 -27.793 + 24.945 7.387 -5.710 4.909 -31.872 21.394 -1.537 15.675 11.609 2.545 + 5.388 -50.456 -9.135 24.582 8.976 32.716 -12.313 28.747 4.152 -6.347 + -10.525 -9.162 -20.126 8.029 -5.980 -10.755 -0.749 -11.980 33.196 -17.155 + -4.627 2.897 12.322 14.394 -4.214 0.260 15.991 -2.955 -18.590 -19.581 + -5.644 -3.526 7.014 7.419 1.894 -66.972 -31.262 6.873 9.635 -15.701 + -28.888 16.002 20.192 22.151 9.328 27.426 27.227 1.046 1.084 -14.995 + 25.742 -64.841 -65.663 -16.729 21.750 33.533 -20.329 12.680 38.592 -0.491 + 13.981 -5.755 40.900 18.302 -8.936 -17.227 1.519 5.615 4.862 -4.844 + 1.810 25.544 -1.863 -15.146 -8.374 7.447 11.770 -15.504 15.788 10.960 + -11.181 4.448 4.303 -24.543 13.245 3.681 15.330 -7.591 -10.054 2.901 + -6.836 -5.904 6.214 6.682 4.625 5.112 8.532 4.040 -0.547 2.559 + 1.366 -20.893 12.649 4.938 14.758 -30.559 -16.687 20.222 -12.391 -6.108 + 4.311 1.261 -0.204 -14.393 -10.252 -0.358 6.143 -5.773 -0.178 -5.432 + -1.892 -28.887 1.870 -7.411 18.176 27.373 -1.413 -18.065 6.701 -1.045 + 9.738 -14.496 -12.014 0.688 -22.316 -3.293 -3.254 12.032 22.577 15.991 + -1.301 5.041 -5.388 20.629 -10.392 8.032 -8.942 -10.541 -2.113 -9.342 + -15.621 2.567 5.454 -23.680 -5.221 -3.803 12.467 -5.750 -13.188 5.965 + -2.995 13.692 7.859 10.829 23.429 -21.942 23.245 1.782 -9.658 -9.015 + -8.603 23.840 2.998 1.167 15.447 -1.496 -23.424 16.384 -29.590 0.433 + 14.732 35.131 -14.211 3.850 -12.051 8.036 -7.928 28.075 -9.596 0.900 + -30.669 27.489 2.426 23.880 -1.300 -3.143 -8.490 5.441 22.928 4.777 + 0.183 6.276 -0.627 -17.848 -15.742 -2.508 -37.420 31.694 -22.184 36.280 + -27.180 -2.389 9.826 5.907 0.632 -5.228 -43.406 12.267 3.380 3.762 + -2.781 -3.319 8.932 -3.044 -2.951 -7.116 -0.096 -7.617 9.975 -1.022 + -37.058 -9.959 -16.350 31.678 2.837 16.994 4.573 -31.553 -27.413 -6.797 + 23.328 6.500 -15.328 19.244 -22.443 3.603 -14.596 5.201 -0.351 11.309 + 7.307 2.780 -16.029 31.590 -4.073 -2.525 1.319 44.127 5.710 -12.491 + -4.306 5.303 -2.850 -29.347 1.331 -2.739 31.872 -12.977 -1.208 -6.952 + 4.114 2.824 -21.744 11.882 11.484 7.691 -1.227 -5.664 20.029 -1.237 + 4.389 2.295 2.562 15.866 -5.517 -11.931 -8.797 -21.802 26.107 -16.608 + -0.081 -15.895 3.896 -33.916 -6.324 -15.284 28.514 -18.717 30.292 14.934 + 34.660 -15.874 -7.952 -0.897 -5.861 6.755 -55.742 -4.483 8.062 3.720 + -7.221 6.280 14.631 8.996 -21.147 20.372 4.496 2.489 -1.005 7.541 + -15.382 2.650 -20.444 -20.885 -17.391 39.832 13.409 14.501 -10.988 6.898 + 7.634 -6.576 13.930 35.004 7.836 0.258 -12.313 -7.739 6.465 -0.229 + 1.162 -5.559 -17.115 -77.094 6.087 6.519 7.057 -9.273 9.259 17.705 + -1.406 -22.158 39.214 -20.458 44.200 11.536 39.508 -31.573 16.654 -2.697 + -11.193 -17.700 0.506 0.626 6.284 14.343 3.249 4.625 -14.381 18.286 + -6.356 12.990 -37.380 16.622 14.974 5.234 -23.399 -3.980 13.988 -9.107 + -37.835 9.976 -15.412 33.282 -8.522 -8.234 -18.719 2.037 10.780 3.036 + 6.937 2.150 -9.988 -3.737 -0.287 18.970 -10.667 20.583 7.798 14.577 + -13.257 -0.178 -9.600 8.341 9.820 -1.877 -8.306 -27.039 1.357 14.130 + 14.833 1.368 -4.506 0.853 -2.937 2.483 -12.833 14.275 -48.469 -1.269 + -4.797 27.729 -9.083 -8.144 17.072 2.495 11.981 20.562 -0.108 -7.162 + -4.819 -29.068 -8.383 -3.396 31.809 1.112 -10.545 -15.792 -6.366 6.925 + -1.437 0.070 -0.564 30.220 1.520 7.228 -13.237 -10.657 -9.066 -0.247 + -14.528 -0.077 -2.411 0.328 1.526 -4.614 3.381 -5.272 -6.871 2.438 + 9.637 13.891 21.402 -12.252 -6.252 -2.553 18.528 0.294 22.620 -0.018 + -10.937 2.252 11.299 5.638 -10.092 -6.562 11.081 -7.983 -8.296 -13.552 + -30.600 -17.752 -1.022 7.281 5.719 21.219 4.829 49.131 -14.315 10.589 + -16.145 7.059 -22.237 -28.338 -4.192 32.682 32.994 3.722 -15.071 -29.448 + 2.738 -3.624 -7.872 -11.020 26.249 -23.364 2.761 -3.886 10.884 -5.189 + 20.387 29.504 -15.848 23.302 -0.132 11.876 -10.648 -12.203 9.309 -54.597 + -4.413 -4.123 9.674 12.117 -7.735 37.130 -35.242 5.105 -1.545 8.706 + 4.237 -0.139 24.088 -4.778 0.239 -21.937 7.072 -38.318 20.651 4.714 + -0.845 -9.109 -3.435 22.139 37.235 5.747 -23.112 -35.704 -4.083 4.318 + 1.813 -22.811 5.676 -9.484 -7.052 2.371 26.218 7.340 29.892 31.392 + 17.976 6.857 -11.142 -20.011 15.580 -21.702 29.766 -40.322 -8.453 -24.498 + 7.084 7.877 3.704 -10.813 9.659 -10.488 -6.617 -6.270 -1.502 -10.444 + 1.697 17.336 15.383 -2.021 11.826 11.809 -6.476 -26.189 -9.503 8.552 + -5.008 -7.463 -12.287 24.794 -14.642 -19.199 6.844 2.784 11.883 -11.243 + 42.986 -7.228 -8.440 -12.255 13.596 -0.997 16.476 -4.373 -8.728 -14.652 + -20.811 24.560 -27.391 18.877 -4.520 16.647 15.633 -0.094 -7.033 -7.761 + 0.893 18.722 11.610 -15.647 -16.954 -30.041 22.292 -5.511 8.371 -12.106 + 19.430 -21.323 2.144 -10.146 15.446 -13.483 -10.141 15.000 12.308 -12.714 + 46.881 -8.062 24.652 -10.174 1.095 -3.479 2.241 -18.506 -5.589 -27.976 + 23.962 7.137 -5.619 4.998 -31.997 20.766 -1.555 15.816 11.898 2.575 + 5.376 -50.380 -9.067 24.414 8.954 32.216 -11.977 28.755 4.439 -6.359 + -10.585 -8.880 -21.894 8.351 -6.157 -10.716 -0.670 -12.247 34.701 -17.477 + -3.720 2.969 11.908 13.534 -4.386 0.742 16.410 -2.903 -18.899 -19.428 + -5.342 -3.240 6.855 7.204 1.639 -64.592 -30.308 6.510 7.121 -16.344 + -28.046 16.708 20.895 22.419 9.301 26.521 26.212 1.483 1.389 -14.927 + 26.323 -65.332 -66.165 -17.438 22.393 34.445 -19.276 12.701 37.994 -0.802 + 14.054 -5.621 39.008 17.652 -8.533 -16.571 1.226 5.834 4.520 -4.772 + 1.820 25.239 -1.312 -15.135 -8.219 7.206 11.756 -15.347 16.032 11.094 + -11.227 4.385 4.331 -25.275 12.460 3.546 15.875 -7.369 -10.311 2.920 + -6.208 -5.957 6.221 6.707 4.511 5.250 8.253 4.468 -0.573 2.591 + 1.291 -20.941 11.847 4.111 14.756 -29.675 -15.843 19.586 -12.490 -6.177 + 4.682 1.189 -0.187 -14.440 -10.359 -0.454 6.510 -5.716 -0.171 -6.166 + -2.002 -28.195 2.401 -7.303 18.077 28.269 -2.433 -18.469 6.648 -0.689 + 10.118 -15.203 -11.828 0.458 -22.228 -2.000 -3.125 12.097 21.696 16.054 + -1.501 5.148 -5.510 20.455 -10.546 7.885 -8.890 -10.325 -2.076 -9.500 + -15.217 2.552 6.088 -23.903 -4.956 -3.889 12.548 -5.815 -13.813 6.146 + -3.231 14.084 7.379 11.083 23.141 -21.172 23.038 1.645 -9.951 -9.169 + -8.114 23.081 3.343 1.122 16.108 -1.490 -23.489 15.955 -29.757 0.034 + 14.776 34.527 -13.824 3.828 -11.690 8.163 -8.347 27.735 -9.604 1.138 + -30.275 27.330 2.852 23.679 -1.308 -3.189 -8.346 6.028 23.113 5.448 + 0.277 6.324 -0.596 -18.515 -16.013 -3.037 -39.167 32.942 -22.377 37.918 + -28.513 -2.238 9.956 5.930 0.638 -5.287 -43.045 11.667 3.194 3.465 + -2.694 -3.068 8.705 -2.570 -2.990 -7.645 -0.300 -7.639 10.115 -0.982 + -36.905 -9.584 -16.137 31.816 2.714 17.026 3.925 -31.691 -27.558 -6.406 + 23.540 6.509 -14.841 19.560 -22.134 3.202 -14.885 5.118 -0.429 11.164 + 7.176 2.875 -15.630 31.076 -4.138 -2.643 1.442 43.918 5.466 -12.726 + -4.247 5.225 -2.544 -29.215 1.450 -2.612 31.389 -12.764 -0.807 -6.431 + 3.870 2.789 -21.749 11.882 11.180 7.757 -1.220 -5.497 19.563 -0.843 + 3.974 2.140 2.545 15.971 -5.141 -12.341 -8.676 -20.994 25.685 -15.741 + -0.608 -15.874 3.399 -34.160 -5.866 -15.720 28.685 -18.801 30.490 14.631 + 34.698 -15.468 -8.109 -0.722 -6.333 6.842 -57.129 -4.285 7.624 3.823 + -7.812 6.970 15.692 9.225 -20.781 20.207 5.409 2.571 -0.959 7.459 + -15.999 2.928 -21.235 -21.055 -17.647 40.504 13.597 14.946 -11.580 6.775 + 7.628 -6.585 13.541 34.166 7.711 0.349 -12.009 -7.855 6.814 -0.167 + 1.308 -5.236 -16.171 -76.972 5.880 6.352 6.880 -9.286 8.980 17.436 + -1.434 -22.368 39.561 -19.882 44.220 11.749 39.441 -31.732 16.651 -2.876 + -11.102 -17.731 0.387 0.565 6.278 14.960 3.849 4.542 -14.999 18.183 + -6.255 12.372 -38.015 15.498 15.718 5.149 -23.002 -4.094 14.428 -9.073 + -37.531 9.636 -14.723 33.032 -8.439 -8.196 -18.607 2.105 10.568 2.852 + 7.044 2.111 -9.891 -3.802 -0.303 18.733 -10.928 21.324 7.914 14.793 + -13.736 -0.195 -9.718 8.573 10.695 -2.029 -8.373 -27.755 1.370 14.430 + 14.486 1.618 -4.699 0.990 -3.032 2.533 -12.386 14.243 -49.048 -1.429 + -4.971 28.451 -9.291 -7.704 16.282 3.119 11.945 20.570 -0.474 -7.158 + -4.710 -29.230 -8.773 -2.992 31.846 1.300 -10.730 -15.706 -6.277 6.756 + -1.482 0.043 -0.533 29.791 1.919 7.019 -12.977 -10.980 -9.010 0.102 + -13.976 -0.336 -2.341 0.412 1.572 -4.686 3.179 -5.326 -7.135 1.999 + 9.974 13.940 21.455 -11.763 -6.235 -2.585 18.104 0.065 22.635 0.354 + -10.970 2.318 11.302 5.890 -10.463 -6.948 11.036 -7.822 -8.221 -13.129 + -30.428 -18.085 -1.186 7.393 6.028 20.945 4.670 50.798 -14.799 10.680 + -16.832 7.557 -22.315 -29.054 -3.884 32.129 32.252 3.640 -14.808 -29.243 + 2.759 -3.673 -7.936 -11.102 26.127 -23.099 2.781 -3.671 10.654 -5.082 + 19.784 29.629 -15.841 23.298 -0.866 11.909 -10.665 -11.857 9.318 -54.918 + -4.643 -4.266 10.345 12.543 -7.608 36.682 -34.984 5.090 -1.296 8.561 + 4.350 -0.675 23.302 -4.847 0.399 -21.645 6.788 -37.206 21.460 5.023 + -1.395 -9.564 -3.464 22.487 37.748 5.119 -22.764 -35.651 -3.927 4.214 + 1.712 -22.508 5.494 -9.970 -7.381 2.396 26.644 8.022 30.204 31.938 + 17.928 6.794 -11.695 -20.678 15.602 -21.848 30.088 -40.654 -7.577 -25.076 + 7.247 7.325 3.845 -10.720 9.549 -10.775 -7.465 -6.070 -1.567 -10.408 + 1.671 17.920 15.938 -2.328 12.238 12.919 -6.264 -26.668 -10.188 9.078 + -5.061 -7.605 -13.063 24.652 -14.392 -18.499 6.733 2.402 11.274 -11.094 + 43.105 -7.131 -8.314 -12.192 13.409 -0.714 16.491 -4.033 -8.822 -14.706 + -20.984 23.949 -26.859 18.280 -4.295 16.403 15.827 0.216 -7.363 -7.463 + 0.355 18.110 11.602 -15.506 -17.110 -29.974 23.004 -5.336 8.245 -12.281 + 20.093 -21.275 1.592 -10.097 15.880 -13.420 -10.226 14.854 13.101 -13.343 + 47.162 -8.410 25.521 -10.370 0.985 -3.714 2.135 -17.467 -5.313 -28.146 + 22.885 6.856 -5.513 5.089 -32.112 20.112 -1.574 15.952 12.187 2.543 + 5.443 -50.173 -8.947 24.177 8.832 31.695 -11.636 28.723 4.726 -6.378 + -10.641 -8.570 -23.621 8.672 -6.346 -10.662 -0.575 -12.501 36.144 -17.783 + -2.820 3.062 11.489 12.732 -4.608 1.155 16.761 -2.823 -19.145 -19.248 + -5.007 -2.900 6.662 6.957 1.346 -62.107 -29.315 6.106 4.622 -16.850 + -27.084 17.338 21.473 22.619 9.266 25.552 25.143 1.923 1.701 -14.853 + 26.864 -65.673 -66.525 -18.076 22.939 35.239 -18.208 12.775 37.411 -1.143 + 14.054 -5.515 37.065 16.980 -8.113 -15.872 0.916 6.056 4.157 -4.682 + 1.833 24.809 -0.769 -15.102 -7.962 6.956 11.717 -15.156 16.269 11.228 + -11.274 4.324 4.367 -25.989 11.730 3.391 16.387 -7.165 -10.544 2.956 + -5.638 -5.965 6.248 6.744 4.376 5.365 7.989 4.857 -0.617 2.645 + 1.226 -20.988 10.950 3.183 14.764 -28.720 -14.902 18.909 -12.558 -6.253 + 5.077 1.111 -0.163 -14.459 -10.483 -0.549 6.851 -5.646 -0.162 -6.798 + -2.125 -27.461 2.852 -7.188 17.954 29.105 -3.461 -18.890 6.590 -0.325 + 10.501 -15.875 -11.629 0.240 -22.121 -0.713 -3.002 12.180 20.788 16.128 + -1.709 5.261 -5.631 20.242 -10.672 7.708 -8.836 -10.129 -2.036 -9.648 + -14.749 2.542 6.733 -24.103 -4.682 -3.965 12.604 -5.870 -14.431 6.325 + -3.471 14.461 6.892 11.330 22.819 -20.432 22.808 1.513 -10.223 -9.315 + -7.610 22.420 3.702 1.081 16.694 -1.486 -23.546 15.469 -29.911 -0.386 + 14.805 33.874 -13.413 3.805 -11.311 8.166 -8.729 27.308 -9.491 1.355 + -29.770 27.133 3.249 23.448 -1.289 -3.221 -8.188 6.589 23.251 6.144 + 0.350 6.403 -0.583 -19.137 -16.260 -3.562 -40.763 34.127 -22.546 39.451 + -29.761 -2.097 10.051 5.929 0.625 -5.359 -42.669 11.054 3.006 3.160 + -2.605 -2.811 8.477 -2.089 -3.002 -8.193 -0.496 -7.679 10.253 -0.947 + -36.680 -9.188 -15.891 31.889 2.586 17.027 3.298 -31.757 -27.677 -6.047 + 23.690 6.507 -14.372 19.929 -21.784 2.808 -15.154 5.044 -0.471 10.936 + 7.022 2.939 -15.225 30.510 -4.196 -2.759 1.570 43.648 5.241 -13.046 + -4.134 5.125 -2.140 -29.072 1.569 -2.487 30.861 -12.533 -0.379 -5.871 + 3.602 2.750 -21.736 11.883 10.815 7.805 -1.207 -5.312 19.192 -0.500 + 3.515 1.922 2.519 16.124 -4.797 -12.697 -8.547 -20.161 25.263 -14.856 + -1.150 -15.847 2.885 -34.274 -5.470 -16.008 28.721 -18.823 30.537 14.300 + 34.709 -15.073 -8.244 -0.557 -6.780 6.971 -58.395 -4.068 7.175 3.915 + -8.408 7.627 16.669 9.433 -20.456 20.053 6.296 2.668 -0.899 7.351 + -16.580 3.179 -21.973 -21.234 -17.885 41.115 13.768 15.370 -12.140 6.683 + 7.616 -6.571 13.097 33.349 7.498 0.433 -11.724 -7.918 7.206 -0.117 + 1.481 -4.969 -15.190 -76.625 5.667 6.185 6.691 -9.234 8.625 17.073 + -1.452 -22.523 39.807 -19.339 44.240 11.918 39.386 -31.889 16.660 -2.997 + -11.006 -17.724 0.224 0.513 6.260 15.525 4.455 4.433 -15.576 18.079 + -6.154 11.787 -38.634 14.363 16.412 5.070 -22.600 -4.202 14.859 -9.038 + -37.175 9.260 -13.985 32.723 -8.330 -8.177 -18.432 2.165 10.339 2.604 + 7.173 2.023 -9.773 -3.880 -0.279 18.513 -11.212 22.118 8.019 15.011 + -14.233 -0.206 -9.829 8.795 11.477 -2.208 -8.347 -28.390 1.381 14.691 + 14.147 1.913 -4.964 1.174 -3.151 2.600 -11.987 14.185 -49.545 -1.587 + -5.115 29.098 -9.505 -7.245 15.464 3.774 11.871 20.600 -0.855 -7.146 + -4.600 -29.302 -9.146 -2.646 31.772 1.497 -10.867 -15.608 -6.202 6.611 + -1.543 0.029 -0.510 29.359 2.346 6.772 -12.714 -11.336 -8.934 0.449 + -13.404 -0.621 -2.269 0.466 1.616 -4.750 2.986 -5.345 -7.402 1.561 + 10.305 13.982 21.550 -11.213 -6.219 -2.657 17.625 -0.164 22.657 0.741 + -10.986 2.373 11.286 6.159 -10.835 -7.370 10.963 -7.640 -8.108 -12.707 + -30.245 -18.351 -1.321 7.485 6.290 20.698 4.463 52.345 -15.254 10.758 + -17.494 7.996 -22.352 -29.670 -3.580 31.576 31.502 3.562 -14.550 -29.052 + 2.779 -3.721 -7.988 -11.178 25.957 -22.728 2.793 -3.394 10.352 -4.964 + 19.120 29.718 -15.828 23.334 -1.591 11.943 -10.721 -11.479 9.284 -55.072 + -4.854 -4.383 10.910 12.897 -7.478 36.177 -34.600 5.082 -1.043 8.324 + 4.443 -1.194 22.479 -4.900 0.527 -21.310 6.499 -36.025 22.243 5.294 + -1.921 -10.022 -3.487 22.823 38.245 4.502 -22.406 -35.555 -3.766 4.090 + 1.563 -22.230 5.274 -10.397 -7.681 2.425 27.011 8.665 30.574 32.410 + 17.857 6.714 -12.225 -21.283 15.596 -21.947 30.330 -40.975 -6.718 -25.593 + 7.387 6.787 3.999 -10.605 9.435 -11.066 -8.285 -5.891 -1.613 -10.379 + 1.663 18.493 16.479 -2.626 12.582 13.933 -6.035 -27.085 -10.796 9.554 + -5.106 -7.731 -13.802 24.407 -14.076 -17.778 6.623 2.032 10.711 -10.900 + 43.091 -7.030 -8.129 -12.089 13.152 -0.441 16.530 -3.668 -8.913 -14.762 + -21.158 23.369 -26.390 17.655 -4.075 16.144 16.003 0.499 -7.628 -7.143 + -0.135 17.505 11.492 -15.332 -17.193 -29.797 23.596 -5.158 8.117 -12.405 + 20.673 -21.211 1.069 -10.065 16.335 -13.367 -10.310 14.676 13.867 -13.881 + 47.418 -8.738 26.322 -10.551 0.865 -3.962 2.018 -16.323 -5.007 -28.321 + 21.698 6.539 -5.384 5.187 -32.206 19.424 -1.600 16.088 12.475 2.467 + 5.559 -49.865 -8.786 23.879 8.635 31.179 -11.308 28.660 4.990 -6.389 + -10.665 -8.276 -25.238 9.006 -6.508 -10.626 -0.508 -12.739 37.515 -18.070 + -1.950 3.149 11.085 11.984 -4.866 1.486 17.035 -2.726 -19.321 -19.044 + -4.661 -2.563 6.466 6.712 1.057 -59.527 -28.281 5.698 2.109 -17.249 + -26.018 17.914 21.962 22.771 9.263 24.527 23.999 2.340 2.018 -14.761 + 27.299 -65.902 -66.731 -18.640 23.398 35.920 -17.082 12.904 36.829 -1.507 + 14.004 -5.424 35.098 16.266 -7.722 -15.170 0.613 6.277 3.802 -4.597 + 1.846 24.270 -0.216 -15.027 -7.617 6.687 11.650 -15.001 16.513 11.344 + -11.278 4.265 4.393 -26.647 10.992 3.201 16.848 -6.973 -10.745 2.959 + -5.045 -5.877 6.304 6.787 4.228 5.457 7.734 5.175 -0.635 2.673 + 1.152 -21.013 10.009 2.228 14.761 -27.714 -13.924 18.207 -12.623 -6.317 + 5.495 1.037 -0.141 -14.468 -10.610 -0.650 7.182 -5.584 -0.151 -7.420 + -2.219 -26.738 3.311 -7.077 17.830 29.904 -4.487 -19.256 6.534 0.023 + 10.842 -16.540 -11.430 0.028 -21.982 0.608 -2.866 12.224 19.839 16.176 + -1.885 5.370 -5.734 19.990 -10.779 7.517 -8.769 -9.932 -1.992 -9.799 + -14.249 2.521 7.394 -24.321 -4.393 -4.048 12.639 -5.926 -15.036 6.539 + -3.713 14.841 6.384 11.581 22.451 -19.657 22.546 1.384 -10.497 -9.454 + -7.082 21.794 4.081 1.054 17.228 -1.481 -23.607 14.952 -30.066 -0.795 + 14.811 33.204 -12.996 3.786 -10.925 8.114 -9.102 26.823 -9.331 1.572 + -29.196 26.842 3.595 23.180 -1.211 -3.220 -8.001 7.130 23.304 6.796 + 0.378 6.527 -0.564 -19.686 -16.456 -4.068 -42.216 35.248 -22.664 40.885 + -30.932 -1.963 10.115 5.910 0.591 -5.433 -42.267 10.430 2.794 2.838 + -2.527 -2.540 8.245 -1.596 -2.988 -8.685 -0.666 -7.726 10.376 -0.918 + -36.326 -8.822 -15.602 31.823 2.477 16.972 2.696 -31.799 -27.737 -5.691 + 23.795 6.489 -13.907 20.272 -21.447 2.428 -15.385 4.977 -0.511 10.683 + 6.871 3.018 -14.778 29.903 -4.278 -2.889 1.699 43.315 4.990 -13.351 + -4.019 5.020 -1.726 -28.869 1.702 -2.362 30.286 -12.272 0.038 -5.303 + 3.327 2.710 -21.634 11.829 10.453 7.780 -1.154 -5.134 18.815 -0.149 + 3.067 1.708 2.489 16.258 -4.450 -13.038 -8.413 -19.314 24.779 -13.937 + -1.704 -15.806 2.351 -34.259 -5.073 -16.199 28.648 -18.799 30.472 13.892 + 34.701 -14.723 -8.339 -0.403 -7.178 7.152 -59.606 -3.862 6.724 4.006 + -8.990 8.262 17.599 9.621 -20.253 19.932 7.068 2.771 -0.832 7.244 + -17.065 3.391 -22.598 -21.408 -18.062 41.638 13.906 15.754 -12.661 6.653 + 7.591 -6.508 12.567 32.481 7.287 0.522 -11.399 -8.005 7.644 -0.076 + 1.685 -4.760 -14.258 -76.012 5.480 6.012 6.501 -9.143 8.222 16.635 + -1.460 -22.561 39.870 -18.763 44.236 12.097 39.303 -32.032 16.657 -3.115 + -10.883 -17.705 0.054 0.446 6.235 16.080 5.075 4.368 -16.159 17.961 + -6.057 11.244 -39.211 13.155 17.059 4.989 -22.181 -4.310 15.248 -8.989 + -36.797 8.851 -13.186 32.305 -8.177 -8.167 -18.182 2.202 10.101 2.415 + 7.293 1.935 -9.665 -3.959 -0.253 18.236 -11.477 22.884 8.189 15.183 + -14.659 -0.229 -9.914 8.969 12.098 -2.361 -8.282 -28.912 1.389 14.892 + 13.816 2.209 -5.235 1.359 -3.272 2.677 -11.622 14.081 -49.917 -1.727 + -5.224 29.645 -9.691 -6.781 14.622 4.477 11.830 20.556 -1.291 -7.125 + -4.461 -29.222 -9.563 -2.346 31.558 1.707 -10.939 -15.459 -6.113 6.468 + -1.624 0.008 -0.472 28.878 2.697 6.515 -12.445 -11.648 -8.858 0.842 + -12.790 -0.918 -2.206 0.560 1.662 -4.815 2.770 -5.385 -7.688 1.077 + 10.667 14.039 21.779 -10.575 -6.208 -2.852 17.053 -0.414 22.663 1.153 + -10.990 2.427 11.256 6.431 -11.171 -7.803 10.889 -7.466 -7.993 -12.302 + -30.054 -18.630 -1.456 7.571 6.543 20.438 4.264 53.735 -15.651 10.814 + -18.085 8.384 -22.362 -30.205 -3.267 30.943 30.745 3.480 -14.257 -28.890 + 2.796 -3.770 -7.999 -11.249 25.772 -22.336 2.800 -3.110 10.041 -4.838 + 18.407 29.813 -15.811 23.355 -2.282 11.972 -10.749 -11.109 9.226 -55.119 + -5.044 -4.482 11.386 13.192 -7.340 35.650 -34.187 5.079 -0.798 8.061 + 4.520 -1.723 21.716 -4.949 0.661 -20.967 6.207 -34.759 22.947 5.626 + -2.450 -10.412 -3.519 23.149 38.709 3.818 -22.010 -35.435 -3.587 3.944 + 1.372 -21.935 5.102 -10.737 -7.970 2.440 27.311 9.190 30.937 32.694 + 17.758 6.631 -12.650 -21.771 15.564 -21.977 30.539 -41.304 -5.869 -26.074 + 7.514 6.254 4.152 -10.462 9.325 -11.280 -9.080 -5.725 -1.677 -10.336 + 1.650 19.019 16.977 -2.910 12.884 14.884 -5.823 -27.449 -11.343 9.985 + -5.150 -7.837 -14.469 24.091 -13.718 -16.908 6.481 1.650 10.118 -10.686 + 42.965 -6.933 -7.871 -11.921 12.785 -0.139 16.528 -3.290 -9.007 -14.801 + -21.316 22.756 -25.902 16.976 -3.850 15.869 16.172 0.790 -7.888 -6.794 + -0.604 16.908 11.289 -15.112 -17.190 -29.497 24.089 -4.985 7.971 -12.479 + 21.164 -21.128 0.535 -10.048 16.797 -13.319 -10.389 14.483 14.606 -14.333 + 47.613 -9.026 27.005 -10.693 0.746 -4.189 1.920 -15.031 -4.647 -28.501 + 20.360 6.175 -5.247 5.257 -32.227 18.723 -1.612 16.191 12.729 2.373 + 5.684 -49.479 -8.601 23.551 8.389 30.661 -10.987 28.565 5.242 -6.392 + -10.669 -8.055 -26.724 9.334 -6.646 -10.604 -0.458 -12.941 38.773 -18.328 + -1.054 3.215 10.651 11.256 -5.100 1.840 17.269 -2.628 -19.477 -18.788 + -4.330 -2.261 6.245 6.455 0.760 -56.901 -27.205 5.292 -0.434 -17.573 + -24.865 18.450 22.371 22.872 9.371 23.489 22.801 2.687 2.329 -14.649 + 27.598 -66.030 -66.776 -19.112 23.765 36.467 -15.914 13.077 36.242 -1.887 + 13.896 -5.360 33.114 15.561 -7.303 -14.488 0.293 6.501 3.468 -4.512 + 1.859 23.641 0.382 -14.924 -7.184 6.393 11.561 -14.865 16.751 11.471 + -11.256 4.209 4.412 -27.256 10.217 2.957 17.258 -6.788 -10.920 2.981 + -4.376 -5.832 6.321 6.797 4.113 5.565 7.482 5.516 -0.637 2.668 + 1.080 -21.021 9.036 1.240 14.739 -26.648 -12.901 17.491 -12.715 -6.386 + 5.902 0.964 -0.114 -14.458 -10.679 -0.755 7.521 -5.544 -0.140 -8.042 + -2.329 -25.977 3.764 -6.956 17.695 30.683 -5.474 -19.605 6.477 0.349 + 11.157 -17.191 -11.225 -0.184 -21.855 1.874 -2.744 12.260 18.876 16.230 + -2.023 5.491 -5.819 19.722 -10.875 7.320 -8.690 -9.712 -1.945 -10.023 + -13.720 2.443 8.117 -24.534 -4.058 -4.128 12.649 -5.981 -15.620 6.749 + -3.942 15.179 5.892 11.806 22.086 -18.911 22.287 1.250 -10.763 -9.595 + -6.570 21.238 4.448 1.036 17.699 -1.473 -23.636 14.432 -30.194 -1.262 + 14.817 32.474 -12.527 3.757 -10.507 7.957 -9.451 26.256 -9.063 1.772 + -28.514 26.495 3.953 22.851 -1.076 -3.192 -7.790 7.569 23.257 7.413 + 0.402 6.664 -0.541 -20.152 -16.599 -4.538 -43.461 36.265 -22.759 42.151 + -31.975 -1.838 10.154 5.876 0.553 -5.518 -41.875 9.817 2.593 2.519 + -2.444 -2.283 8.022 -1.121 -3.021 -9.213 -0.856 -7.729 10.503 -0.873 + -35.834 -8.444 -15.237 31.642 2.383 16.858 2.129 -31.795 -27.778 -5.368 + 23.835 6.450 -13.426 20.523 -21.100 2.067 -15.571 4.904 -0.577 10.461 + 6.735 3.091 -14.301 29.268 -4.345 -3.016 1.829 42.784 4.696 -13.714 + -3.865 4.910 -1.256 -28.523 1.864 -2.224 29.659 -11.977 0.441 -4.705 + 3.034 2.673 -21.467 11.742 10.074 7.706 -1.074 -4.947 18.400 0.208 + 2.621 1.510 2.455 16.384 -4.098 -13.385 -8.266 -18.431 24.278 -12.988 + -2.272 -15.763 1.805 -34.163 -4.706 -16.311 28.489 -18.717 30.308 13.446 + 34.670 -14.384 -8.409 -0.250 -7.551 7.383 -60.730 -3.648 6.266 4.082 + -9.581 8.866 18.483 9.803 -20.092 19.817 7.771 2.868 -0.769 7.132 + -17.498 3.585 -23.148 -21.525 -18.220 42.103 14.017 16.109 -13.151 6.600 + 7.561 -6.443 11.961 31.614 7.066 0.614 -11.087 -8.086 8.125 -0.038 + 1.906 -4.587 -13.368 -75.187 5.300 5.842 6.313 -9.019 7.786 16.156 + -1.455 -22.496 39.760 -18.237 44.205 12.235 39.244 -32.172 16.668 -3.239 + -10.710 -17.657 -0.090 0.363 6.214 16.625 5.680 4.269 -16.758 17.839 + -5.938 10.664 -39.692 11.930 17.715 4.912 -21.744 -4.397 15.541 -8.922 + -36.362 8.443 -12.423 31.762 -8.011 -8.132 -17.824 2.225 9.839 2.232 + 7.398 1.887 -9.563 -4.027 -0.255 17.932 -11.711 23.612 8.370 15.338 + -15.057 -0.260 -9.983 9.110 12.656 -2.531 -8.172 -29.357 1.405 15.048 + 13.447 2.522 -5.496 1.555 -3.401 2.751 -11.201 13.899 -50.190 -1.876 + -5.281 30.102 -9.912 -6.313 13.815 5.189 11.803 20.509 -1.727 -7.102 + -4.326 -29.062 -10.008 -2.074 31.275 1.933 -10.992 -15.375 -6.009 6.352 + -1.651 -0.007 -0.441 28.378 3.019 6.253 -12.182 -11.948 -8.775 1.182 + -12.198 -1.187 -2.133 0.623 1.695 -4.857 2.575 -5.374 -7.936 0.633 + 10.965 14.094 22.037 -9.905 -6.193 -3.069 16.445 -0.642 22.674 1.537 + -10.993 2.479 11.226 6.709 -11.539 -8.242 10.791 -7.269 -7.845 -11.850 + -29.865 -18.921 -1.608 7.663 6.814 20.105 4.118 55.040 -16.006 10.848 + -18.621 8.765 -22.366 -30.721 -2.930 30.213 30.019 3.389 -13.934 -28.827 + 2.811 -3.809 -7.944 -11.321 25.598 -21.888 2.807 -2.835 9.719 -4.696 + 17.638 29.859 -15.803 23.404 -2.958 12.003 -10.786 -10.724 9.155 -55.074 + -5.236 -4.572 11.824 13.451 -7.200 35.052 -33.677 5.082 -0.555 7.726 + 4.577 -2.214 20.922 -4.982 0.757 -20.569 5.910 -33.429 23.617 5.952 + -2.974 -10.788 -3.552 23.463 39.151 3.150 -21.611 -35.306 -3.407 3.803 + 1.197 -21.681 4.898 -11.021 -8.228 2.465 27.543 9.632 31.293 32.870 + 17.650 6.557 -13.042 -22.160 15.514 -21.944 30.635 -41.586 -5.009 -26.485 + 7.616 5.746 4.334 -10.313 9.200 -11.451 -9.813 -5.621 -1.725 -10.291 + 1.655 19.487 17.422 -3.168 13.148 15.776 -5.583 -27.783 -11.852 10.393 + -5.182 -7.933 -15.128 23.678 -13.121 -15.897 6.320 1.215 9.413 -10.411 + 42.620 -6.824 -7.558 -11.723 12.370 0.195 16.535 -2.861 -9.110 -14.854 + -21.500 22.076 -25.322 16.275 -3.613 15.556 16.318 1.109 -8.185 -6.433 + -0.889 16.302 10.972 -14.864 -17.116 -29.104 24.377 -4.831 7.823 -12.531 + 21.608 -21.033 -0.084 -10.050 17.280 -13.242 -10.448 14.304 15.332 -14.661 + 47.737 -9.267 27.554 -10.795 0.625 -4.410 1.828 -13.631 -4.252 -28.679 + 18.911 5.778 -5.098 5.325 -32.215 17.973 -1.617 16.281 12.981 2.239 + 5.834 -48.968 -8.372 23.171 8.058 30.163 -10.658 28.408 5.460 -6.381 + -10.639 -7.864 -28.079 9.657 -6.780 -10.592 -0.419 -13.110 39.895 -18.546 + -0.154 3.294 10.216 10.603 -5.305 2.180 17.449 -2.537 -19.602 -18.566 + -4.011 -1.949 6.012 6.190 0.458 -54.174 -26.099 4.858 -2.934 -17.784 + -23.632 18.908 22.663 22.913 9.479 22.422 21.553 3.028 2.644 -14.517 + 27.814 -66.059 -66.666 -19.530 24.059 36.907 -14.700 13.217 35.595 -2.268 + 13.828 -5.261 31.082 14.812 -6.890 -13.794 -0.030 6.727 3.130 -4.421 + 1.879 22.892 1.005 -14.800 -6.632 6.079 11.453 -14.777 16.983 11.612 + -11.197 4.151 4.411 -27.816 9.445 2.672 17.617 -6.613 -11.065 3.041 + -3.662 -5.744 6.315 6.791 4.008 5.658 7.229 5.824 -0.636 2.641 + 0.997 -21.029 7.949 0.114 14.721 -25.466 -11.737 16.737 -12.828 -6.461 + 6.329 0.891 -0.081 -14.448 -10.735 -0.853 7.866 -5.495 -0.129 -8.654 + -2.434 -25.200 4.229 -6.837 17.549 31.435 -6.445 -19.908 6.418 0.670 + 11.442 -17.829 -11.025 -0.394 -21.735 3.154 -2.636 12.279 17.933 16.270 + -2.155 5.596 -5.900 19.460 -10.968 7.134 -8.619 -9.513 -1.902 -10.278 + -13.105 2.340 8.855 -24.746 -3.712 -4.207 12.638 -6.032 -16.150 6.940 + -4.145 15.479 5.406 12.011 21.668 -18.146 22.010 1.143 -11.030 -9.726 + -6.094 20.812 4.801 1.030 18.048 -1.465 -23.597 13.824 -30.281 -1.720 + 14.810 31.718 -12.062 3.729 -10.088 7.712 -9.789 25.602 -8.702 1.958 + -27.727 26.107 4.317 22.485 -0.927 -3.146 -7.569 7.905 23.213 8.014 + 0.447 6.774 -0.501 -20.560 -16.715 -4.993 -44.437 37.154 -22.761 43.251 + -32.888 -1.734 10.114 5.793 0.466 -5.568 -41.402 9.162 2.358 2.162 + -2.358 -2.028 7.787 -0.637 -3.007 -9.737 -1.023 -7.752 10.622 -0.837 + -35.244 -8.095 -14.821 31.350 2.298 16.690 1.615 -31.703 -27.771 -5.097 + 23.820 6.369 -12.978 20.681 -20.719 1.734 -15.705 4.825 -0.639 10.242 + 6.599 3.172 -13.795 28.600 -4.413 -3.145 1.966 42.099 4.363 -14.095 + -3.703 4.803 -0.779 -28.046 2.055 -2.072 29.069 -11.692 0.787 -4.125 + 2.749 2.651 -21.262 11.639 9.741 7.591 -0.973 -4.754 18.002 0.546 + 2.136 1.286 2.419 16.526 -3.752 -13.703 -8.116 -17.524 23.760 -12.030 + -2.856 -15.708 1.243 -33.910 -4.371 -16.267 28.187 -18.579 29.996 12.928 + 34.615 -14.074 -8.441 -0.105 -7.882 7.658 -61.764 -3.446 5.817 4.145 + -10.159 9.435 19.305 9.974 -19.935 19.716 8.329 2.913 -0.725 7.078 + -17.875 3.765 -23.616 -21.658 -18.282 42.500 14.100 16.419 -13.590 6.584 + 7.514 -6.350 11.324 30.667 6.814 0.710 -10.757 -8.157 8.618 0.012 + 2.135 -4.298 -12.588 -74.194 5.032 5.693 6.107 -8.911 7.365 15.713 + -1.441 -22.332 39.474 -17.714 44.139 12.348 39.189 -32.303 16.684 -3.342 + -10.484 -17.589 -0.258 0.272 6.184 17.133 6.250 4.184 -17.333 17.719 + -5.816 10.103 -40.099 10.650 18.325 4.844 -21.289 -4.469 15.765 -8.838 + -35.854 7.998 -11.621 31.117 -7.807 -8.078 -17.385 2.229 9.548 2.052 + 7.495 1.854 -9.456 -4.091 -0.272 17.632 -11.947 24.344 8.522 15.512 + -15.495 -0.290 -10.061 9.277 13.141 -2.716 -7.983 -29.716 1.423 15.155 + 13.056 2.853 -5.807 1.792 -3.550 2.851 -10.787 13.660 -50.278 -2.012 + -5.289 30.406 -10.190 -5.816 12.965 5.968 11.775 20.427 -2.211 -7.072 + -4.168 -28.800 -10.467 -1.873 30.871 2.172 -10.985 -15.218 -5.886 6.255 + -1.749 -0.014 -0.411 27.847 3.350 5.988 -11.916 -12.256 -8.697 1.541 + -11.617 -1.417 -2.063 0.696 1.725 -4.906 2.370 -5.366 -8.166 0.203 + 11.225 14.152 22.311 -9.202 -6.181 -3.309 15.808 -0.864 22.658 1.922 + -10.990 2.536 11.184 7.029 -11.953 -8.740 10.648 -7.032 -7.635 -11.406 + -29.661 -19.192 -1.761 7.757 7.083 19.799 3.896 56.089 -16.286 10.885 + -19.064 9.053 -22.309 -31.095 -2.601 29.495 29.318 3.307 -13.629 -28.824 + 2.818 -3.832 -7.827 -11.377 25.345 -21.384 2.804 -2.500 9.346 -4.575 + 16.933 29.919 -15.766 23.414 -3.701 12.022 -10.814 -10.329 9.050 -54.939 + -5.296 -4.640 12.181 13.645 -7.054 34.444 -33.183 5.080 -0.298 7.394 + 4.631 -2.653 20.073 -5.005 0.796 -20.133 5.621 -32.128 24.274 6.276 + -3.491 -11.163 -3.581 23.763 39.578 2.472 -21.194 -35.145 -3.215 3.656 + 1.022 -21.444 4.729 -11.303 -8.468 2.469 27.725 9.926 31.666 32.949 + 17.533 6.471 -13.429 -22.407 15.433 -21.825 30.700 -41.850 -4.099 -26.875 + 7.707 5.207 4.514 -10.158 9.069 -11.545 -10.511 -5.530 -1.783 -10.245 + 1.652 19.912 17.829 -3.405 13.344 16.612 -5.286 -28.061 -12.302 10.757 + -5.208 -8.036 -15.800 23.250 -12.389 -14.841 6.142 0.772 8.685 -10.111 + 42.147 -6.724 -7.236 -11.528 11.942 0.561 16.521 -2.378 -9.221 -14.911 + -21.703 21.363 -24.693 15.567 -3.372 15.221 16.448 1.436 -8.496 -6.070 + -1.194 15.759 10.588 -14.605 -17.016 -28.650 24.633 -4.663 7.674 -12.525 + 21.963 -20.920 -0.712 -10.034 17.814 -13.179 -10.524 14.077 16.050 -14.932 + 47.840 -9.486 28.042 -10.876 0.496 -4.636 1.734 -12.281 -3.863 -28.849 + 17.508 5.390 -4.955 5.394 -32.193 17.170 -1.624 16.372 13.252 2.098 + 5.970 -48.390 -8.131 22.780 7.697 29.682 -10.314 28.196 5.647 -6.365 + -10.583 -7.696 -29.310 9.954 -6.920 -10.583 -0.371 -13.250 40.888 -18.728 + 0.788 3.411 9.782 10.035 -5.572 2.391 17.499 -2.408 -19.599 -18.313 + -3.693 -1.646 5.769 5.928 0.160 -51.370 -24.952 4.423 -5.440 -17.952 + -22.364 19.331 22.903 22.926 9.608 21.337 20.277 3.339 2.962 -14.367 + 27.983 -65.945 -66.371 -19.875 24.237 37.178 -13.435 13.449 34.961 -2.701 + 13.668 -5.179 28.980 14.014 -6.485 -13.077 -0.387 6.947 2.781 -4.323 + 1.900 22.132 1.652 -14.666 -6.089 5.757 11.340 -14.679 17.221 11.772 + -11.121 4.084 4.398 -28.385 8.665 2.364 17.968 -6.436 -11.206 3.110 + -2.892 -5.680 6.278 6.777 3.913 5.751 6.958 6.155 -0.611 2.596 + 0.906 -21.019 6.825 -1.041 14.700 -24.251 -10.538 15.976 -12.945 -6.529 + 6.749 0.819 -0.048 -14.454 -10.799 -0.957 8.236 -5.447 -0.115 -9.191 + -2.514 -24.405 4.634 -6.712 17.383 32.067 -7.392 -20.191 6.372 0.964 + 11.692 -18.388 -10.818 -0.590 -21.598 4.416 -2.512 12.280 17.007 16.291 + -2.274 5.687 -5.970 19.168 -11.046 6.933 -8.546 -9.323 -1.860 -10.466 + -12.531 2.266 9.527 -24.894 -3.396 -4.275 12.600 -6.079 -16.635 7.106 + -4.320 15.762 4.936 12.199 21.201 -17.363 21.708 1.061 -11.290 -9.840 + -5.635 20.340 5.134 1.030 18.399 -1.452 -23.530 13.245 -30.348 -2.191 + 14.798 30.952 -11.575 3.694 -9.665 7.404 -10.114 24.896 -8.287 2.134 + -26.881 25.696 4.714 22.098 -0.773 -3.103 -7.341 8.222 23.068 8.571 + 0.454 6.913 -0.461 -20.900 -16.790 -5.418 -45.220 37.974 -22.665 44.225 + -33.704 -1.637 10.007 5.670 0.333 -5.653 -40.880 8.439 2.137 1.801 + -2.254 -1.755 7.535 -0.123 -2.947 -10.227 -1.182 -7.790 10.734 -0.802 + -34.547 -7.816 -14.362 30.949 2.220 16.467 1.134 -31.487 -27.717 -4.873 + 23.730 6.256 -12.547 20.769 -20.332 1.435 -15.778 4.762 -0.700 10.011 + 6.449 3.203 -13.320 27.931 -4.460 -3.261 2.101 41.373 4.020 -14.440 + -3.589 4.700 -0.354 -27.465 2.268 -1.912 28.436 -11.380 1.137 -3.515 + 2.444 2.623 -21.027 11.531 9.403 7.455 -0.864 -4.563 17.585 0.842 + 1.632 1.080 2.383 16.664 -3.415 -13.990 -7.949 -16.616 23.255 -11.077 + -3.432 -15.656 0.686 -33.535 -4.082 -16.099 27.781 -18.394 29.569 12.348 + 34.538 -13.830 -8.448 0.041 -8.160 7.965 -62.715 -3.215 5.366 4.204 + -10.735 9.977 20.069 10.123 -19.847 19.623 8.767 2.962 -0.687 7.027 + -18.179 3.933 -23.977 -21.779 -18.285 42.893 14.168 16.696 -14.009 6.560 + 7.462 -6.267 10.745 29.699 6.506 0.791 -10.455 -8.159 9.060 0.069 + 2.334 -4.011 -11.840 -72.938 4.724 5.548 5.898 -8.752 6.893 15.208 + -1.421 -22.061 39.003 -17.159 44.046 12.481 39.104 -32.422 16.682 -3.427 + -10.278 -17.512 -0.438 0.197 6.152 17.629 6.838 4.103 -17.892 17.600 + -5.701 9.517 -40.397 9.336 18.940 4.780 -20.820 -4.517 15.888 -8.739 + -35.340 7.550 -10.843 30.404 -7.597 -7.971 -16.886 2.214 9.249 1.891 + 7.572 1.842 -9.341 -4.146 -0.312 17.308 -12.157 25.058 8.700 15.634 + -15.905 -0.324 -10.124 9.441 13.520 -2.871 -7.766 -29.987 1.436 15.214 + 12.669 3.168 -6.090 2.012 -3.687 2.935 -10.348 13.377 -50.277 -2.141 + -5.268 30.637 -10.485 -5.296 12.083 6.714 11.745 20.365 -2.678 -7.046 + -4.016 -28.354 -10.947 -1.742 30.295 2.438 -10.913 -15.119 -5.743 6.179 + -1.790 -0.036 -0.385 27.256 3.671 5.703 -11.637 -12.544 -8.622 1.888 + -11.075 -1.725 -1.989 0.775 1.759 -4.912 2.198 -5.273 -8.391 -0.223 + 11.477 14.205 22.547 -8.496 -6.164 -3.525 15.173 -1.100 22.651 2.328 + -10.975 2.579 11.128 7.373 -12.409 -9.272 10.474 -6.762 -7.386 -10.895 + -29.407 -19.433 -1.924 7.826 7.345 19.447 3.674 56.985 -16.504 10.900 + -19.423 9.303 -22.233 -31.408 -2.258 28.754 28.571 3.212 -13.347 -28.774 + 2.831 -3.846 -7.711 -11.411 24.991 -20.855 2.786 -2.078 8.912 -4.477 + 16.294 30.030 -15.688 23.318 -4.458 12.023 -10.782 -9.936 8.909 -54.706 + -5.325 -4.691 12.464 13.791 -6.898 33.846 -32.629 5.070 -0.030 7.045 + 4.668 -3.043 19.122 -5.004 0.748 -19.623 5.332 -30.815 24.930 6.525 + -3.995 -11.562 -3.600 24.060 40.004 1.844 -20.790 -34.978 -3.035 3.510 + 0.845 -21.192 4.576 -11.498 -8.697 2.468 27.831 10.114 32.022 32.905 + 17.405 6.373 -13.783 -22.551 15.336 -21.638 30.774 -42.053 -3.168 -27.232 + 7.799 4.687 4.656 -10.022 8.931 -11.593 -11.180 -5.502 -1.829 -10.199 + 1.657 20.279 18.197 -3.611 13.485 17.392 -5.047 -28.272 -12.697 11.063 + -5.232 -8.124 -16.357 22.709 -11.622 -13.657 5.961 0.311 7.905 -9.783 + 41.587 -6.625 -6.850 -11.282 11.447 0.928 16.485 -1.902 -9.332 -14.959 + -21.899 20.655 -24.020 14.924 -3.130 14.806 16.482 1.750 -8.757 -5.688 + -1.491 15.244 10.128 -14.309 -16.858 -28.111 24.787 -4.507 7.523 -12.471 + 22.242 -20.793 -1.278 -9.993 18.390 -13.139 -10.632 13.803 16.746 -15.135 + 47.892 -9.678 28.459 -10.934 0.362 -4.865 1.635 -10.810 -3.436 -29.021 + 15.976 4.963 -4.784 5.432 -32.110 16.361 -1.618 16.436 13.510 1.950 + 6.110 -47.804 -7.881 22.368 7.338 29.236 -9.985 27.947 5.815 -6.335 + -10.481 -7.641 -30.314 10.258 -6.983 -10.607 -0.376 -13.344 41.704 -18.863 + 1.738 3.513 9.345 9.508 -5.896 2.503 17.468 -2.249 -19.512 -18.037 + -3.362 -1.343 5.534 5.673 -0.132 -48.584 -23.808 3.997 -7.902 -18.088 + -21.091 19.719 23.106 22.929 9.726 20.234 18.974 3.662 3.285 -14.209 + 28.081 -65.735 -65.931 -20.133 24.332 37.317 -12.239 13.674 34.340 -3.113 + 13.507 -5.102 26.916 13.236 -6.080 -12.388 -0.732 7.169 2.441 -4.238 + 1.918 21.299 2.342 -14.496 -5.483 5.410 11.201 -14.603 17.423 11.959 + -11.008 4.020 4.369 -28.902 7.846 1.982 18.275 -6.265 -11.309 3.223 + -2.112 -5.555 6.217 6.759 3.824 5.819 6.695 6.439 -0.579 2.556 + 0.810 -21.015 5.665 -2.258 14.675 -22.970 -9.268 15.182 -13.059 -6.606 + 7.181 0.744 -0.008 -14.409 -10.831 -1.060 8.556 -5.395 -0.102 -9.708 + -2.616 -23.610 5.039 -6.586 17.214 32.681 -8.305 -20.392 6.328 1.214 + 11.878 -18.945 -10.597 -0.792 -21.430 5.708 -2.381 12.265 16.046 16.298 + -2.371 5.773 -6.021 18.848 -11.151 6.716 -8.460 -9.082 -1.813 -10.622 + -12.021 2.217 10.183 -24.955 -3.099 -4.347 12.519 -6.119 -17.100 7.235 + -4.485 16.027 4.474 12.374 20.713 -16.560 21.386 0.989 -11.537 -9.939 + -5.172 19.914 5.477 1.041 18.679 -1.440 -23.495 12.689 -30.426 -2.670 + 14.785 30.157 -11.081 3.656 -9.231 7.064 -10.438 24.141 -7.837 2.305 + -25.982 25.240 5.103 21.716 -0.587 -3.047 -7.104 8.402 22.959 9.071 + 0.520 6.986 -0.413 -21.168 -16.827 -5.800 -45.858 38.690 -22.576 45.080 + -34.436 -1.543 9.886 5.538 0.211 -5.796 -40.324 7.679 1.944 1.457 + -2.139 -1.459 7.275 0.413 -2.930 -10.701 -1.367 -7.790 10.832 -0.752 + -33.677 -7.532 -13.800 30.388 2.144 16.159 0.696 -31.237 -27.668 -4.673 + 23.590 6.133 -12.142 20.959 -19.890 1.120 -15.870 4.694 -0.720 9.698 + 6.281 3.206 -12.842 27.212 -4.486 -3.368 2.244 40.558 3.650 -14.770 + -3.469 4.593 0.081 -26.800 2.502 -1.756 27.784 -11.056 1.467 -2.901 + 2.138 2.597 -20.718 11.384 9.088 7.256 -0.722 -4.376 17.091 1.121 + 1.160 0.925 2.352 16.761 -3.072 -14.267 -7.782 -15.684 22.781 -10.138 + -4.012 -15.602 0.124 -33.062 -3.874 -15.791 27.276 -18.155 29.019 11.717 + 34.437 -13.604 -8.437 0.195 -8.412 8.330 -63.565 -3.024 4.924 4.252 + -11.277 10.476 20.755 10.261 -19.819 19.528 9.177 3.022 -0.647 6.955 + -18.432 4.095 -24.274 -21.883 -18.223 43.176 14.195 16.930 -14.360 6.562 + 7.387 -6.159 10.126 28.733 6.187 0.878 -10.135 -8.175 9.519 0.116 + 2.543 -3.735 -11.183 -71.430 4.407 5.408 5.681 -8.576 6.399 14.682 + -1.388 -21.687 38.327 -16.556 43.958 12.644 38.988 -32.530 16.664 -3.542 + -10.125 -17.461 -0.597 0.131 6.130 18.049 7.474 4.012 -18.377 17.475 + -5.585 8.913 -40.618 7.995 19.541 4.710 -20.332 -4.558 15.943 -8.632 + -34.735 7.058 -10.019 29.575 -7.347 -7.913 -16.301 2.189 8.942 1.734 + 7.626 1.898 -9.237 -4.187 -0.397 16.987 -12.367 25.767 8.894 15.726 + -16.293 -0.362 -10.188 9.619 13.722 -2.984 -7.511 -30.108 1.439 15.206 + 12.323 3.477 -6.396 2.227 -3.818 3.015 -9.950 13.033 -50.109 -2.270 + -5.197 30.743 -10.791 -4.744 11.169 7.469 11.704 20.294 -3.172 -7.010 + -3.850 -27.779 -11.442 -1.657 29.600 2.704 -10.783 -15.013 -5.551 6.102 + -1.830 -0.071 -0.360 26.647 3.982 5.434 -11.360 -12.828 -8.549 2.214 + -10.525 -1.979 -1.896 0.830 1.783 -4.924 2.018 -5.182 -8.593 -0.628 + 11.680 14.253 22.726 -7.844 -6.142 -3.688 14.573 -1.338 22.592 2.729 + -10.969 2.629 11.087 7.756 -12.878 -9.855 10.278 -6.481 -7.102 -10.401 + -29.093 -19.610 -2.067 7.875 7.565 19.096 3.420 57.727 -16.677 10.900 + -19.740 9.503 -22.124 -31.625 -1.911 28.033 27.828 3.106 -13.048 -28.723 + 2.846 -3.858 -7.575 -11.429 24.523 -20.270 2.762 -1.586 8.429 -4.388 + 15.677 30.131 -15.606 23.209 -5.250 12.024 -10.746 -9.516 8.751 -54.434 + -5.337 -4.735 12.735 13.914 -6.717 33.195 -32.048 5.055 0.247 6.677 + 4.686 -3.408 18.161 -4.997 0.684 -19.088 5.050 -29.505 25.560 6.719 + -4.485 -11.930 -3.607 24.338 40.393 1.237 -20.367 -34.790 -2.855 3.343 + 0.626 -20.960 4.415 -11.603 -8.895 2.458 27.868 10.247 32.407 32.695 + 17.240 6.265 -14.054 -22.594 15.206 -21.381 30.778 -42.231 -2.262 -27.514 + 7.884 4.201 4.781 -9.886 8.791 -11.520 -11.768 -5.498 -1.913 -10.146 + 1.643 20.564 18.479 -3.779 13.573 18.104 -4.861 -28.438 -13.049 11.341 + -5.251 -8.185 -16.828 22.193 -10.711 -12.458 5.765 -0.152 7.090 -9.441 + 40.869 -6.520 -6.481 -11.036 10.974 1.290 16.451 -1.406 -9.440 -15.008 + -22.103 19.923 -23.260 14.330 -2.884 14.334 16.448 2.078 -9.044 -5.297 + -1.846 14.667 9.572 -13.967 -16.613 -27.463 24.924 -4.353 7.369 -12.394 + 22.475 -20.651 -1.850 -9.894 18.965 -13.090 -10.759 13.513 17.379 -15.346 + 47.895 -9.853 28.820 -10.989 0.259 -5.034 1.571 -9.393 -3.026 -29.179 + 14.503 4.552 -4.623 5.481 -32.034 15.532 -1.609 16.492 13.766 1.771 + 6.289 -47.162 -7.608 21.920 6.941 28.856 -9.656 27.707 5.932 -6.308 + -10.353 -7.664 -31.160 10.471 -7.014 -10.636 -0.382 -13.400 42.374 -18.950 + 2.679 3.614 8.921 9.015 -6.222 2.590 17.414 -2.082 -19.396 -17.770 + -3.010 -1.014 5.286 5.404 -0.434 -45.767 -22.681 3.527 -10.313 -18.095 + -19.729 20.050 23.218 22.883 9.826 19.020 17.571 3.986 3.636 -14.022 + 28.102 -65.374 -65.293 -20.305 24.335 37.314 -11.025 13.919 33.702 -3.533 + 13.319 -5.026 24.836 12.461 -5.651 -11.672 -1.107 7.376 2.086 -4.149 + 1.938 20.425 3.068 -14.308 -4.846 5.044 11.048 -14.519 17.603 12.151 + -10.885 3.950 4.325 -29.379 7.022 1.585 18.548 -6.097 -11.384 3.267 + -1.308 -5.445 6.174 6.750 3.729 5.897 6.409 6.740 -0.524 2.505 + 0.707 -20.992 4.498 -3.474 14.640 -21.672 -7.993 14.425 -13.114 -6.673 + 7.584 0.660 0.031 -14.336 -10.892 -1.158 8.834 -5.336 -0.090 -10.206 + -2.756 -22.769 5.417 -6.443 17.030 33.215 -9.188 -20.653 6.276 1.463 + 12.048 -19.428 -10.367 -0.954 -21.255 7.013 -2.239 12.212 15.080 16.280 + -2.431 5.852 -6.050 18.499 -11.323 6.477 -8.355 -8.781 -1.757 -10.775 + -11.423 2.173 10.808 -25.005 -2.834 -4.395 12.415 -6.132 -17.447 7.257 + -4.583 16.196 4.060 12.490 20.129 -15.729 20.995 0.982 -11.738 -9.984 + -4.718 19.510 5.818 1.072 18.941 -1.419 -23.436 12.031 -30.490 -3.109 + 14.738 29.340 -10.607 3.627 -8.801 6.619 -10.714 23.356 -7.295 2.449 + -25.013 24.658 5.512 21.260 -0.307 -2.970 -6.822 8.517 22.774 9.501 + 0.567 7.065 -0.352 -21.347 -16.806 -6.127 -46.289 39.294 -22.428 45.791 + -35.056 -1.457 9.716 5.382 0.069 -5.940 -39.707 6.892 1.731 1.090 + -2.020 -1.154 7.002 0.961 -2.871 -11.209 -1.551 -7.806 10.933 -0.705 + -32.580 -7.258 -13.122 29.623 2.070 15.745 0.236 -30.956 -27.614 -4.465 + 23.434 6.011 -11.721 21.026 -19.473 0.831 -15.921 4.630 -0.780 9.456 + 6.139 3.191 -12.338 26.453 -4.493 -3.472 2.397 39.663 3.247 -15.077 + -3.353 4.484 0.514 -26.057 2.750 -1.595 27.105 -10.720 1.764 -2.272 + 1.822 2.575 -20.373 11.217 8.813 7.019 -0.560 -4.198 16.632 1.376 + 0.656 0.755 2.311 16.867 -2.751 -14.512 -7.603 -14.731 22.305 -9.191 + -4.596 -15.548 -0.439 -32.495 -3.731 -15.362 26.671 -17.853 28.343 11.049 + 34.367 -13.381 -8.412 0.341 -8.648 8.716 -64.295 -2.824 4.502 4.291 + -11.795 10.929 21.342 10.377 -19.821 19.415 9.534 3.088 -0.609 6.875 + -18.650 4.257 -24.518 -21.989 -18.068 43.368 14.187 17.107 -14.637 6.597 + 7.298 -6.028 9.503 27.745 5.789 0.956 -9.816 -8.163 9.998 0.169 + 2.780 -3.496 -10.552 -69.695 4.076 5.260 5.469 -8.351 5.867 14.086 + -1.359 -21.231 37.506 -15.929 43.786 12.758 38.848 -32.622 16.645 -3.658 + -9.914 -17.372 -0.741 0.049 6.107 18.414 8.096 3.918 -18.825 17.346 + -5.468 8.326 -40.762 6.674 20.123 4.636 -19.851 -4.592 15.942 -8.516 + -34.121 6.564 -9.213 28.650 -7.074 -7.821 -15.643 2.145 8.618 1.594 + 7.658 1.993 -9.133 -4.218 -0.506 16.681 -12.546 26.400 9.095 15.771 + -16.594 -0.405 -10.239 9.772 13.772 -3.048 -7.256 -30.115 1.430 15.157 + 11.999 3.768 -6.689 2.428 -3.944 3.093 -9.552 12.636 -49.812 -2.392 + -5.082 30.733 -11.091 -4.200 10.262 8.283 11.648 20.180 -3.708 -6.965 + -3.660 -27.110 -11.934 -1.623 28.802 2.978 -10.601 -14.874 -5.320 6.034 + -1.898 -0.125 -0.329 26.043 4.235 5.131 -11.093 -13.044 -8.472 2.525 + -9.998 -2.156 -1.804 0.887 1.802 -4.932 1.831 -5.108 -8.777 -1.001 + 11.836 14.289 22.903 -7.155 -6.113 -3.860 13.937 -1.548 22.467 3.120 + -10.981 2.700 11.060 8.126 -13.326 -10.445 10.090 -6.211 -6.819 -9.918 + -28.764 -19.775 -2.215 7.925 7.785 18.774 3.149 58.301 -16.810 10.879 + -19.999 9.641 -21.978 -31.740 -1.560 27.302 27.091 2.975 -12.688 -28.588 + 2.873 -3.890 -7.499 -11.430 24.032 -19.746 2.731 -1.107 7.982 -4.287 + 15.034 30.216 -15.515 23.096 -6.035 12.012 -10.686 -9.090 8.568 -54.044 + -5.305 -4.761 12.935 13.989 -6.525 32.490 -31.448 5.034 0.535 6.317 + 4.696 -3.739 17.146 -4.976 0.581 -18.504 4.757 -28.184 26.170 6.935 + -4.975 -12.260 -3.616 24.599 40.749 0.617 -19.961 -34.658 -2.685 3.204 + 0.460 -20.710 4.242 -11.651 -9.086 2.456 27.867 10.358 32.802 32.301 + 17.031 6.152 -14.206 -22.561 15.042 -21.070 30.665 -42.383 -1.376 -27.729 + 7.955 3.752 4.932 -9.730 8.642 -11.370 -12.332 -5.482 -2.052 -10.071 + 1.602 20.828 18.737 -3.937 13.589 18.726 -4.592 -28.550 -13.335 11.573 + -5.257 -8.247 -17.323 21.635 -9.628 -11.162 5.550 -0.638 6.207 -9.075 + 39.960 -6.410 -6.062 -10.752 10.457 1.655 16.412 -0.900 -9.548 -15.060 + -22.312 19.173 -22.436 13.762 -2.634 13.806 16.358 2.411 -9.327 -4.891 + -2.138 14.151 8.900 -13.578 -16.277 -26.687 24.920 -4.232 7.210 -12.275 + 22.590 -20.486 -2.445 -9.831 19.534 -13.031 -10.885 13.204 17.991 -15.419 + 47.836 -9.982 29.069 -10.999 0.155 -5.222 1.503 -7.880 -2.586 -29.329 + 12.929 4.110 -4.449 5.509 -31.918 14.727 -1.590 16.538 13.997 1.559 + 6.527 -46.478 -7.300 21.418 6.496 28.523 -9.346 27.461 6.009 -6.263 + -10.197 -7.726 -31.887 10.644 -7.054 -10.648 -0.384 -13.413 42.909 -19.011 + 3.656 3.720 8.493 8.552 -6.573 2.618 17.312 -1.898 -19.227 -17.525 + -2.686 -0.703 5.060 5.164 -0.710 -42.932 -21.543 3.060 -12.659 -17.983 + -18.293 20.308 23.209 22.769 9.951 17.768 16.117 4.272 3.990 -13.814 + 28.035 -64.849 -64.456 -20.399 24.220 37.162 -9.730 14.189 33.024 -3.989 + 13.082 -4.957 22.709 11.689 -5.202 -10.963 -1.464 7.584 1.732 -4.062 + 1.959 19.494 3.778 -14.110 -4.168 4.675 10.884 -14.427 17.781 12.339 + -10.757 3.882 4.286 -29.822 6.213 1.175 18.789 -5.935 -11.450 3.315 + -0.528 -5.269 6.147 6.748 3.616 5.949 6.138 6.987 -0.466 2.453 + 0.607 -20.963 3.284 -4.752 14.605 -20.328 -6.656 13.586 -13.191 -6.738 + 8.037 0.575 0.074 -14.250 -10.905 -1.259 9.134 -5.295 -0.075 -10.793 + -2.876 -21.917 5.854 -6.313 16.847 33.673 -10.067 -20.935 6.223 1.722 + 12.201 -19.831 -10.132 -1.086 -21.091 8.280 -2.118 12.216 14.124 16.298 + -2.525 5.920 -6.097 18.146 -11.474 6.230 -8.243 -8.480 -1.698 -10.987 + -10.820 2.094 11.422 -24.989 -2.579 -4.437 12.237 -6.133 -17.703 7.275 + -4.624 16.310 3.669 12.571 19.519 -14.880 20.574 0.970 -11.951 -10.023 + -4.291 19.115 6.154 1.114 19.162 -1.398 -23.315 11.383 -30.511 -3.467 + 14.652 28.551 -10.164 3.606 -8.390 6.120 -10.987 22.498 -6.734 2.597 + -23.995 24.086 5.926 20.830 -0.030 -2.892 -6.540 8.544 22.542 9.871 + 0.608 7.151 -0.289 -21.439 -16.743 -6.412 -46.514 39.728 -22.243 46.326 + -35.534 -1.386 9.519 5.216 -0.073 -6.057 -39.012 6.083 1.494 0.696 + -1.905 -0.850 6.720 1.513 -2.831 -11.732 -1.758 -7.824 11.038 -0.656 + -31.338 -6.975 -12.363 28.738 1.994 15.267 -0.205 -30.596 -27.519 -4.298 + 23.209 5.866 -11.334 21.033 -19.058 0.586 -15.899 4.566 -0.843 9.191 + 5.995 3.193 -11.807 25.671 -4.497 -3.577 2.552 38.621 2.819 -15.450 + -3.194 4.367 1.010 -25.226 3.014 -1.425 26.444 -10.410 2.054 -1.656 + 1.522 2.555 -20.018 11.055 8.519 6.769 -0.392 -4.002 16.152 1.627 + 0.180 0.607 2.273 16.947 -2.427 -14.751 -7.420 -13.797 21.792 -8.242 + -5.179 -15.490 -1.008 -31.823 -3.555 -14.865 25.989 -17.535 27.594 10.347 + 34.277 -13.190 -8.371 0.489 -8.863 9.086 -64.924 -2.643 4.117 4.313 + -12.257 11.345 21.845 10.479 -19.869 19.329 9.834 3.160 -0.585 6.777 + -18.817 4.406 -24.689 -22.022 -17.833 43.476 14.143 17.211 -14.829 6.603 + 7.202 -5.920 8.898 26.672 5.464 1.041 -9.465 -8.191 10.437 0.238 + 2.992 -3.266 -9.898 -67.644 3.679 5.100 5.221 -8.063 5.261 13.396 + -1.316 -20.673 36.501 -15.250 43.604 12.896 38.680 -32.702 16.613 -3.820 + -9.704 -17.305 -0.862 -0.033 6.090 18.708 8.702 3.877 -19.215 17.212 + -5.365 7.739 -40.820 5.347 20.683 4.566 -19.359 -4.612 15.856 -8.392 + -33.487 6.072 -8.430 27.643 -6.787 -7.686 -14.933 2.084 8.284 1.488 + 7.694 2.041 -9.023 -4.254 -0.592 16.347 -12.725 27.049 9.275 15.807 + -16.857 -0.440 -10.281 9.894 13.750 -3.102 -6.984 -30.049 1.418 15.076 + 11.695 4.033 -6.955 2.592 -4.052 3.161 -9.167 12.197 -49.411 -2.491 + -4.930 30.625 -11.358 -3.650 9.320 9.144 11.596 19.998 -4.273 -6.914 + -3.449 -26.364 -12.424 -1.612 27.918 3.260 -10.383 -14.727 -5.079 5.959 + -1.974 -0.183 -0.284 25.441 4.473 4.822 -10.832 -13.234 -8.401 2.775 + -9.597 -2.294 -1.718 0.980 1.821 -4.911 1.670 -5.000 -8.923 -1.309 + 11.921 14.330 23.174 -6.384 -6.088 -4.127 13.229 -1.749 22.309 3.493 + -10.993 2.782 11.035 8.517 -13.808 -11.049 9.865 -5.896 -6.494 -9.430 + -28.420 -19.916 -2.342 7.954 7.978 18.413 2.904 58.725 -16.874 10.847 + -20.188 9.736 -21.809 -31.778 -1.198 26.510 26.334 2.850 -12.314 -28.440 + 2.895 -3.922 -7.431 -11.439 23.521 -19.170 2.702 -0.609 7.513 -4.175 + 14.380 30.235 -15.444 22.980 -6.829 12.008 -10.613 -8.659 8.385 -53.584 + -5.228 -4.784 13.093 14.027 -6.339 31.769 -30.777 5.018 0.819 5.901 + 4.708 -4.114 16.146 -4.959 0.519 -17.935 4.463 -26.854 26.810 7.140 + -5.451 -12.594 -3.617 24.849 41.093 -0.032 -19.526 -34.490 -2.500 3.048 + 0.273 -20.480 4.108 -11.618 -9.249 2.428 27.768 10.463 33.166 31.833 + 16.791 6.046 -14.314 -22.494 14.875 -20.730 30.481 -42.515 -0.512 -27.896 + 8.005 3.330 5.102 -9.567 8.484 -11.109 -12.788 -5.507 -2.203 -9.990 + 1.560 20.990 18.889 -4.057 13.579 19.337 -4.341 -28.636 -13.607 11.788 + -5.252 -8.301 -17.764 21.048 -8.471 -9.845 5.320 -1.120 5.303 -8.684 + 38.924 -6.296 -5.631 -10.442 9.926 2.051 16.363 -0.312 -9.662 -15.132 + -22.559 18.410 -21.546 13.239 -2.384 13.200 16.167 2.734 -9.584 -4.468 + -2.418 13.659 8.170 -13.167 -15.911 -25.862 24.844 -4.116 7.049 -12.119 + 22.649 -20.303 -3.068 -9.746 20.093 -12.956 -11.010 12.906 18.544 -15.366 + 47.684 -10.055 29.186 -10.965 0.058 -5.407 1.443 -6.227 -2.103 -29.457 + 11.215 3.625 -4.265 5.552 -31.822 13.927 -1.573 16.585 14.227 1.306 + 6.833 -45.745 -6.959 20.868 5.997 28.212 -9.053 27.148 6.046 -6.204 + -9.990 -7.800 -32.476 10.806 -7.094 -10.663 -0.387 -13.394 43.312 -19.044 + 4.615 3.813 8.058 8.162 -6.898 2.604 17.133 -1.722 -18.999 -17.273 + -2.419 -0.474 4.846 4.970 -0.925 -40.049 -20.376 2.596 -14.990 -17.818 + -16.822 20.530 23.145 22.627 10.034 16.490 14.657 4.615 4.357 -13.608 + 27.846 -64.230 -63.493 -20.407 24.021 36.898 -8.408 14.473 32.330 -4.445 + 12.831 -4.885 20.548 10.893 -4.742 -10.258 -1.840 7.790 1.393 -3.964 + 1.983 18.487 4.481 -13.890 -3.423 4.308 10.701 -14.348 17.981 12.520 + -10.628 3.815 4.250 -30.195 5.404 0.739 18.980 -5.785 -11.488 3.403 + 0.246 -5.065 6.103 6.735 3.514 5.974 5.878 7.186 -0.409 2.406 + 0.514 -20.943 2.039 -6.091 14.570 -18.940 -5.257 12.758 -13.296 -6.790 + 8.499 0.501 0.112 -14.227 -10.898 -1.367 9.480 -5.257 -0.058 -11.317 + -3.008 -21.058 6.240 -6.184 16.653 34.044 -10.959 -21.170 6.177 1.958 + 12.296 -20.162 -9.885 -1.197 -20.907 9.639 -1.992 12.214 13.087 16.305 + -2.630 5.996 -6.146 17.773 -11.647 5.974 -8.133 -8.140 -1.641 -11.148 + -10.211 2.049 12.005 -24.872 -2.347 -4.476 11.961 -6.123 -17.877 7.284 + -4.625 16.358 3.305 12.613 18.893 -14.093 20.127 0.971 -12.126 -10.041 + -3.867 18.750 6.495 1.155 19.359 -1.382 -23.204 10.709 -30.535 -3.849 + 14.571 27.743 -9.698 3.580 -7.967 5.590 -11.239 21.643 -6.139 2.734 + -22.954 23.492 6.309 20.356 0.254 -2.812 -6.244 8.546 22.248 10.221 + 0.616 7.267 -0.232 -21.464 -16.640 -6.662 -46.591 39.988 -22.066 46.706 + -35.871 -1.322 9.317 5.063 -0.203 -6.108 -38.266 5.297 1.230 0.281 + -1.793 -0.570 6.437 2.044 -2.794 -12.221 -1.940 -7.843 11.128 -0.617 + -29.895 -6.689 -11.518 27.661 1.923 14.696 -0.639 -30.241 -27.384 -4.138 + 22.969 5.704 -11.001 21.003 -18.634 0.377 -15.805 4.507 -0.890 8.877 + 5.843 3.212 -11.229 24.840 -4.514 -3.695 2.714 37.455 2.371 -15.873 + -3.018 4.231 1.566 -24.293 3.296 -1.236 25.748 -10.066 2.354 -1.013 + 1.204 2.533 -19.627 10.880 8.191 6.494 -0.215 -3.804 15.669 1.790 + -0.288 0.484 2.238 17.013 -2.137 -14.906 -7.230 -12.819 21.226 -7.230 + -5.791 -15.415 -1.612 -31.045 -3.377 -14.283 25.213 -17.171 26.743 9.617 + 34.188 -13.023 -8.318 0.628 -9.055 9.458 -65.459 -2.440 3.735 4.328 + -12.717 11.729 22.296 10.573 -19.978 19.164 10.106 3.266 -0.538 6.627 + -18.939 4.557 -24.793 -22.013 -17.543 43.490 14.062 17.277 -14.969 6.612 + 7.097 -5.793 8.367 25.632 5.194 1.131 -9.104 -8.213 10.812 0.313 + 3.157 -2.955 -9.338 -65.406 3.162 4.948 4.930 -7.762 4.645 12.691 + -1.270 -20.057 35.377 -14.529 43.355 13.027 38.474 -32.760 16.563 -3.884 + -9.461 -17.187 -1.082 -0.108 6.043 19.029 9.307 3.782 -19.636 17.067 + -5.243 7.205 -40.752 4.036 21.176 4.486 -18.870 -4.626 15.680 -8.254 + -32.834 5.569 -7.646 26.593 -6.479 -7.535 -14.169 2.007 7.933 1.380 + 7.713 2.116 -8.915 -4.275 -0.715 15.979 -12.897 27.731 9.467 15.787 + -17.059 -0.467 -10.286 9.948 13.593 -3.127 -6.672 -29.873 1.397 14.949 + 11.434 4.271 -7.193 2.714 -4.141 3.208 -8.787 11.748 -48.958 -2.577 + -4.763 30.466 -11.604 -3.102 8.359 10.028 11.489 19.847 -4.825 -6.862 + -3.242 -25.555 -12.874 -1.650 26.925 3.549 -10.116 -14.526 -4.857 5.868 + -2.077 -0.233 -0.231 24.830 4.714 4.475 -10.572 -13.420 -8.330 2.989 + -9.176 -2.457 -1.616 1.050 1.834 -4.862 1.524 -4.861 -9.069 -1.626 + 12.015 14.357 23.395 -5.610 -6.056 -4.360 12.531 -1.983 22.187 3.895 + -10.980 2.845 10.987 8.899 -14.291 -11.640 9.651 -5.584 -6.186 -8.938 + -28.073 -20.036 -2.473 7.979 8.186 18.102 2.647 59.045 -16.924 10.785 + -20.362 9.785 -21.607 -31.732 -0.847 25.735 25.549 2.740 -11.984 -28.316 + 2.908 -3.933 -7.327 -11.456 22.995 -18.488 2.672 -0.081 6.990 -4.034 + 13.665 30.197 -15.362 22.795 -7.544 11.988 -10.472 -8.268 8.177 -53.034 + -5.170 -4.794 13.216 14.051 -6.134 30.994 -30.081 4.996 1.105 5.482 + 4.718 -4.489 15.167 -4.938 0.443 -17.341 4.152 -25.452 27.388 7.334 + -5.922 -12.933 -3.619 25.080 41.410 -0.693 -19.054 -34.247 -2.306 2.868 + 0.022 -20.239 3.948 -11.510 -9.386 2.394 27.606 10.520 33.526 31.207 + 16.525 5.943 -14.328 -22.365 14.685 -20.347 30.101 -42.665 0.364 -27.963 + 8.028 2.944 5.353 -9.335 8.297 -10.755 -13.236 -5.537 -2.377 -9.887 + 1.498 21.104 19.005 -4.172 13.504 19.897 -4.075 -28.667 -13.832 11.958 + -5.252 -8.347 -18.178 20.411 -7.114 -8.417 5.072 -1.616 4.364 -8.264 + 37.659 -6.184 -5.151 -10.097 9.338 2.441 16.362 0.315 -9.771 -15.220 + -22.813 17.635 -20.671 12.673 -2.136 12.593 15.972 3.054 -9.827 -4.032 + -2.686 13.158 7.314 -12.713 -15.456 -24.914 24.685 -4.013 6.884 -11.926 + 22.636 -20.101 -3.690 -9.623 20.666 -12.880 -11.156 12.586 19.050 -15.276 + 47.457 -10.101 29.256 -10.907 -0.026 -5.587 1.392 -4.568 -1.613 -29.542 + 9.493 3.134 -4.085 5.600 -31.724 13.134 -1.556 16.624 14.450 1.061 + 7.167 -45.041 -6.619 20.294 5.527 27.899 -8.776 26.817 6.058 -6.149 + -9.761 -7.890 -32.914 10.945 -7.129 -10.678 -0.389 -13.344 43.576 -19.044 + 5.568 3.915 7.620 7.741 -7.245 2.608 16.941 -1.541 -18.778 -16.948 + -2.111 -0.226 4.594 4.738 -1.172 -37.165 -19.193 2.140 -17.240 -17.545 + -15.292 20.673 22.969 22.429 10.139 15.206 13.172 4.940 4.723 -13.389 + 27.552 -63.534 -62.411 -20.352 23.746 36.538 -7.035 14.770 31.599 -4.907 + 12.575 -4.800 18.375 10.081 -4.284 -9.554 -2.165 8.017 1.053 -3.876 + 2.000 17.555 5.158 -13.694 -2.746 3.935 10.522 -14.259 18.195 12.720 + -10.487 3.738 4.203 -30.518 4.624 0.258 19.114 -5.654 -11.488 3.500 + 1.100 -4.892 6.028 6.691 3.431 5.999 5.616 7.397 -0.333 2.303 + 0.420 -20.907 0.731 -7.486 14.527 -17.488 -3.795 11.896 -13.428 -6.841 + 8.966 0.430 0.149 -14.228 -10.861 -1.477 9.869 -5.228 -0.040 -11.836 + -3.131 -20.218 6.620 -6.062 16.464 34.352 -11.819 -21.326 6.127 2.146 + 12.296 -20.424 -9.622 -1.278 -20.741 11.004 -1.878 12.237 12.048 16.316 + -2.763 6.068 -6.206 17.391 -11.848 5.718 -8.025 -7.781 -1.590 -11.294 + -9.612 2.006 12.589 -24.716 -2.118 -4.510 11.662 -6.109 -17.950 7.207 + -4.556 16.311 2.990 12.595 18.186 -13.295 19.620 1.014 -12.261 -10.028 + -3.438 18.357 6.851 1.197 19.535 -1.371 -23.054 10.073 -30.537 -4.181 + 14.468 26.953 -9.245 3.555 -7.559 4.910 -11.445 20.696 -5.437 2.845 + -21.811 22.877 6.721 19.844 0.542 -2.732 -5.935 8.429 21.895 10.521 + 0.617 7.370 -0.166 -21.367 -16.476 -6.859 -46.449 40.144 -21.841 46.937 + -36.086 -1.274 9.054 4.879 -0.360 -6.137 -37.489 4.507 0.952 -0.145 + -1.681 -0.298 6.153 2.571 -2.715 -12.684 -2.088 -7.869 11.213 -0.586 + -28.366 -6.465 -10.652 26.505 1.859 14.087 -1.073 -29.775 -27.271 -3.990 + 22.662 5.537 -10.701 20.881 -18.135 0.201 -15.673 4.435 -0.941 8.594 + 5.665 3.216 -10.667 24.012 -4.513 -3.805 2.876 36.185 1.927 -16.350 + -2.828 4.093 2.149 -23.273 3.586 -1.035 25.027 -9.708 2.655 -0.357 + 0.874 2.508 -19.240 10.680 7.867 6.226 -0.035 -3.601 15.196 2.000 + -0.741 0.351 2.200 17.072 -1.844 -15.074 -7.050 -11.866 20.600 -6.213 + -6.391 -15.337 -2.208 -30.194 -3.202 -13.639 24.380 -16.767 25.820 8.827 + 34.137 -12.910 -8.230 0.755 -9.188 9.888 -65.848 -2.239 3.355 4.332 + -13.171 12.042 22.627 10.660 -20.119 18.958 10.349 3.377 -0.480 6.463 + -19.028 4.707 -24.854 -22.003 -17.185 43.414 13.970 17.292 -15.053 6.634 + 6.999 -5.651 7.868 24.567 4.932 1.214 -8.743 -8.215 11.164 0.395 + 3.305 -2.645 -8.846 -62.980 2.594 4.811 4.618 -7.427 4.010 11.962 + -1.206 -19.360 34.113 -13.787 43.068 13.146 38.275 -32.808 16.522 -3.975 + -9.195 -17.076 -1.292 -0.195 5.996 19.293 9.919 3.694 -20.003 16.915 + -5.130 6.648 -40.619 2.686 21.675 4.402 -18.363 -4.631 15.439 -8.099 + -32.128 5.051 -6.834 25.507 -6.133 -7.428 -13.371 1.920 7.574 1.219 + 7.704 2.303 -8.803 -4.276 -0.909 15.651 -13.055 28.355 9.665 15.717 + -17.134 -0.492 -10.254 9.911 13.342 -3.120 -6.391 -29.614 1.377 14.780 + 11.125 4.486 -7.354 2.838 -4.228 3.249 -8.359 11.267 -48.428 -2.669 + -4.564 30.220 -11.873 -2.566 7.414 10.951 11.343 19.703 -5.392 -6.804 + -3.031 -24.726 -13.306 -1.700 25.868 3.838 -9.822 -14.277 -4.612 5.756 + -2.202 -0.280 -0.174 24.201 4.982 4.104 -10.303 -13.624 -8.251 3.225 + -8.784 -2.589 -1.527 1.155 1.845 -4.821 1.372 -4.754 -9.213 -1.943 + 12.113 14.378 23.628 -4.791 -6.024 -4.611 11.797 -2.221 22.030 4.307 + -10.954 2.912 10.924 9.289 -14.761 -12.246 9.420 -5.265 -5.849 -8.451 + -27.685 -20.128 -2.586 7.975 8.368 17.743 2.364 59.168 -16.886 10.707 + -20.437 9.785 -21.367 -31.595 -0.490 24.925 24.752 2.639 -11.639 -28.229 + 2.913 -3.945 -7.197 -11.477 22.468 -17.753 2.642 0.448 6.441 -3.896 + 12.980 30.124 -15.278 22.562 -8.253 11.967 -10.303 -7.875 7.943 -52.352 + -5.021 -4.780 13.223 13.985 -5.923 30.214 -29.289 4.972 1.391 4.968 + 4.715 -4.838 14.108 -4.903 0.339 -16.708 3.838 -24.062 28.024 7.505 + -6.355 -13.242 -3.612 25.286 41.696 -1.370 -18.569 -33.980 -2.101 2.666 + -0.265 -20.012 3.785 -11.300 -9.491 2.359 27.353 10.493 33.899 30.423 + 16.233 5.836 -14.265 -22.119 14.464 -19.891 29.601 -42.784 1.234 -27.956 + 8.019 2.586 5.641 -9.079 8.096 -10.402 -13.664 -5.555 -2.536 -9.785 + 1.433 21.202 19.112 -4.292 13.351 20.391 -3.789 -28.638 -13.989 12.087 + -5.238 -8.389 -18.570 19.742 -5.608 -6.882 4.798 -2.155 3.338 -7.814 + 36.228 -6.048 -4.635 -9.719 8.706 2.846 16.346 0.949 -9.889 -15.312 + -23.081 16.865 -19.792 12.137 -1.877 11.934 15.731 3.351 -10.010 -3.580 + -2.879 12.737 6.417 -12.247 -14.993 -23.940 24.404 -3.927 6.716 -11.693 + 22.561 -19.883 -4.307 -9.501 21.257 -12.800 -11.302 12.254 19.476 -15.124 + 47.165 -10.096 29.228 -10.810 -0.089 -5.745 1.370 -2.972 -1.131 -29.629 + 7.833 2.658 -3.908 5.639 -31.608 12.326 -1.534 16.651 14.665 0.831 + 7.490 -44.344 -6.282 19.705 5.080 27.590 -8.503 26.507 6.061 -6.082 + -9.549 -8.014 -33.205 11.040 -7.171 -10.684 -0.379 -13.258 43.691 -19.006 + 6.504 4.008 7.180 7.393 -7.623 2.539 16.661 -1.332 -18.475 -16.592 + -1.771 0.049 4.325 4.478 -1.452 -34.250 -17.985 1.701 -19.438 -17.203 + -13.748 20.765 22.730 22.210 10.202 13.894 11.688 5.308 5.097 -13.179 + 27.101 -62.717 -61.153 -20.188 23.360 36.030 -5.606 15.094 30.856 -5.382 + 12.296 -4.719 16.190 9.252 -3.843 -8.870 -2.448 8.242 0.736 -3.801 + 2.018 16.559 5.815 -13.483 -2.007 3.557 10.327 -14.252 18.403 12.964 + -10.279 3.659 4.114 -30.734 3.852 -0.234 19.171 -5.535 -11.459 3.605 + 1.905 -4.703 5.976 6.657 3.337 5.999 5.366 7.572 -0.271 2.214 + 0.341 -20.874 -0.600 -8.940 14.484 -15.994 -2.274 11.047 -13.530 -6.897 + 9.422 0.355 0.189 -14.182 -10.870 -1.583 10.215 -5.182 -0.027 -12.358 + -3.260 -19.351 6.985 -5.932 16.265 34.647 -12.644 -21.474 6.078 2.317 + 12.272 -20.657 -9.368 -1.351 -20.579 12.351 -1.780 12.221 11.024 16.319 + -2.854 6.137 -6.247 16.982 -12.040 5.445 -7.915 -7.426 -1.537 -11.398 + -9.039 1.985 13.173 -24.458 -1.897 -4.551 11.280 -6.091 -17.964 7.080 + -4.440 16.206 2.709 12.535 17.421 -12.537 19.073 1.110 -12.349 -9.974 + -3.031 18.024 7.182 1.248 19.644 -1.354 -22.902 9.461 -30.527 -4.526 + 14.377 26.178 -8.783 3.527 -7.147 4.147 -11.646 19.639 -4.641 2.940 + -20.561 22.267 7.139 19.290 0.816 -2.657 -5.618 8.216 21.523 10.811 + 0.659 7.447 -0.091 -21.221 -16.273 -7.049 -46.101 40.246 -21.587 47.046 + -36.205 -1.227 8.720 4.657 -0.540 -6.161 -36.699 3.717 0.675 -0.574 + -1.562 -0.036 5.872 3.091 -2.566 -13.108 -2.190 -7.943 11.297 -0.575 + -26.735 -6.317 -9.767 25.243 1.814 13.433 -1.479 -29.220 -27.110 -3.881 + 22.284 5.343 -10.406 20.784 -17.644 0.021 -15.542 4.360 -0.984 8.290 + 5.486 3.219 -10.109 23.193 -4.508 -3.912 3.035 34.793 1.474 -16.878 + -2.593 3.949 2.789 -22.179 3.890 -0.838 24.290 -9.339 2.952 0.314 + 0.536 2.486 -18.795 10.446 7.515 5.892 0.177 -3.386 14.799 2.160 + -1.190 0.191 2.156 17.137 -1.591 -15.181 -6.871 -10.902 19.955 -5.168 + -7.003 -15.250 -2.827 -29.239 -3.032 -12.899 23.457 -16.328 24.797 7.994 + 34.057 -12.856 -8.111 0.875 -9.281 10.356 -66.134 -2.017 2.971 4.336 + -13.608 12.313 22.888 10.729 -20.335 18.709 10.524 3.506 -0.409 6.273 + -19.054 4.840 -24.829 -21.953 -16.698 43.263 13.828 17.243 -15.052 6.665 + 6.869 -5.501 7.432 23.494 4.624 1.296 -8.408 -8.169 11.459 0.489 + 3.423 -2.415 -8.406 -60.319 2.053 4.667 4.305 -7.054 3.353 11.179 + -1.130 -18.568 32.683 -13.057 42.760 13.268 38.062 -32.847 16.466 -3.988 + -8.937 -16.942 -1.557 -0.268 5.937 19.455 10.564 3.663 -20.285 16.756 + -5.040 6.164 -40.460 1.313 22.124 4.311 -17.850 -4.649 15.169 -7.946 + -31.438 4.535 -6.008 24.323 -5.772 -7.281 -12.490 1.812 7.204 1.114 + 7.690 2.451 -8.695 -4.275 -1.090 15.253 -13.213 29.008 9.862 15.633 + -17.198 -0.506 -10.214 9.866 13.022 -3.093 -6.094 -29.268 1.350 14.562 + 10.743 4.714 -7.517 3.010 -4.329 3.309 -7.937 10.715 -47.745 -2.744 + -4.315 29.844 -12.109 -2.011 6.419 11.862 11.190 19.536 -5.960 -6.744 + -2.815 -23.769 -13.719 -1.830 24.701 4.119 -9.465 -14.041 -4.352 5.688 + -2.320 -0.338 -0.122 23.547 5.247 3.718 -10.022 -13.839 -8.173 3.405 + -8.316 -2.774 -1.414 1.186 1.849 -4.745 1.236 -4.588 -9.347 -2.265 + 12.210 14.394 23.846 -3.960 -5.990 -4.858 11.052 -2.414 21.883 4.654 + -10.953 2.986 10.888 9.708 -15.299 -12.890 9.142 -4.904 -5.447 -7.966 + -27.283 -20.153 -2.683 7.963 8.500 17.369 2.096 59.077 -16.762 10.596 + -20.403 9.714 -21.091 -31.349 -0.130 24.071 23.929 2.546 -11.267 -28.163 + 2.906 -3.945 -7.029 -11.497 21.906 -17.004 2.616 0.987 5.875 -3.757 + 12.275 30.031 -15.186 22.277 -8.946 11.935 -10.088 -7.492 7.723 -51.667 + -4.884 -4.775 13.244 13.931 -5.713 29.417 -28.437 4.951 1.682 4.396 + 4.701 -5.168 13.055 -4.862 0.211 -16.050 3.519 -22.636 28.644 7.668 + -6.799 -13.572 -3.602 25.487 41.980 -2.033 -18.056 -33.621 -1.889 2.444 + -0.604 -19.820 3.645 -11.094 -9.596 2.314 27.083 10.419 34.259 29.519 + 15.922 5.729 -14.145 -21.797 14.219 -19.387 28.985 -42.865 2.067 -27.851 + 7.980 2.273 5.932 -8.807 7.892 -9.945 -14.059 -5.569 -2.747 -9.667 + 1.343 21.259 19.174 -4.393 13.153 20.831 -3.530 -28.556 -14.100 12.171 + -5.212 -8.423 -18.880 18.950 -3.896 -5.304 4.525 -2.701 2.294 -7.300 + 34.567 -5.911 -4.082 -9.324 8.043 3.274 16.323 1.608 -10.009 -15.404 + -23.353 16.074 -18.895 11.598 -1.611 11.250 15.461 3.648 -10.179 -3.115 + -2.973 12.301 5.402 -11.739 -14.440 -22.839 23.949 -3.861 6.546 -11.422 + 22.419 -19.644 -4.914 -9.346 21.840 -12.730 -11.449 11.909 19.880 -14.886 + 46.870 -10.056 29.110 -10.693 -0.162 -5.900 1.344 -1.384 -0.648 -29.743 + 6.171 2.177 -3.712 5.697 -31.507 11.464 -1.520 16.688 14.898 0.563 + 7.831 -43.530 -5.910 19.085 4.555 27.312 -8.225 26.174 6.036 -6.003 + -9.320 -8.236 -33.349 11.122 -7.190 -10.695 -0.388 -13.127 43.658 -18.938 + 7.529 4.140 6.740 7.011 -8.072 2.408 16.345 -1.100 -18.123 -16.191 + -1.382 0.369 4.048 4.196 -1.767 -31.300 -16.790 1.235 -21.557 -16.690 + -12.096 20.771 22.351 21.917 10.299 12.535 10.135 5.609 5.463 -12.946 + 26.607 -61.717 -59.675 -19.946 22.850 35.350 -4.188 15.357 30.057 -5.841 + 12.054 -4.609 13.939 8.415 -3.378 -8.157 -2.762 8.452 0.396 -3.715 + 2.040 15.480 6.492 -13.243 -1.206 3.164 10.113 -14.162 18.595 13.169 + -10.123 3.585 4.049 -30.933 3.080 -0.754 19.197 -5.418 -11.399 3.695 + 2.746 -4.447 5.929 6.614 3.229 5.982 5.124 7.707 -0.189 2.094 + 0.259 -20.832 -1.970 -10.444 14.443 -14.462 -0.700 10.156 -13.632 -6.958 + 9.897 0.281 0.231 -14.096 -10.836 -1.683 10.545 -5.159 -0.016 -12.870 + -3.395 -18.478 7.330 -5.801 16.065 34.821 -13.433 -21.599 6.036 2.458 + 12.176 -20.788 -9.103 -1.385 -20.412 13.670 -1.686 12.126 10.016 16.268 + -2.862 6.210 -6.237 16.550 -12.248 5.167 -7.796 -7.069 -1.484 -11.492 + -8.465 1.968 13.745 -24.134 -1.684 -4.578 10.841 -6.061 -17.946 6.917 + -4.306 16.065 2.450 12.456 16.633 -11.780 18.498 1.212 -12.422 -9.908 + -2.633 17.768 7.515 1.306 19.662 -1.338 -22.722 8.859 -30.495 -4.864 + 14.287 25.411 -8.322 3.496 -6.739 3.367 -11.843 18.566 -3.841 3.034 + -19.296 21.643 7.531 18.703 1.096 -2.565 -5.285 8.010 21.162 11.101 + 0.693 7.510 -0.014 -21.064 -16.068 -7.236 -45.606 40.203 -21.284 47.007 + -36.195 -1.194 8.379 4.441 -0.735 -6.197 -35.868 2.871 0.391 -1.019 + -1.438 0.246 5.575 3.642 -2.393 -13.515 -2.268 -8.032 11.379 -0.575 + -24.995 -6.203 -8.828 23.872 1.782 12.722 -1.877 -28.611 -26.950 -3.783 + 21.879 5.146 -10.146 20.654 -17.132 -0.143 -15.384 4.274 -1.024 7.981 + 5.303 3.250 -9.534 22.369 -4.502 -4.017 3.193 33.305 0.976 -17.355 + -2.366 3.815 3.395 -20.994 4.213 -0.649 23.573 -8.987 3.201 0.964 + 0.211 2.482 -18.357 10.225 7.194 5.573 0.380 -3.176 14.333 2.281 + -1.597 0.083 2.112 17.158 -1.343 -15.262 -6.687 -9.926 19.383 -4.196 + -7.598 -15.173 -3.417 -28.192 -2.967 -12.024 22.437 -15.841 23.671 7.159 + 33.968 -12.782 -7.999 1.006 -9.389 10.879 -66.279 -1.783 2.575 4.339 + -14.039 12.531 23.026 10.778 -20.523 18.440 10.710 3.629 -0.329 6.090 + -19.080 4.970 -24.811 -21.888 -16.119 42.989 13.638 17.130 -14.945 6.727 + 6.714 -5.334 6.916 22.428 4.222 1.377 -8.092 -8.073 11.809 0.572 + 3.566 -2.132 -7.990 -57.494 1.473 4.514 3.981 -6.678 2.689 10.389 + -1.054 -17.716 31.124 -12.303 42.391 13.365 37.826 -32.862 16.407 -4.012 + -8.613 -16.776 -1.822 -0.344 5.872 19.571 11.163 3.600 -20.510 16.600 + -4.946 5.738 -40.319 -0.046 22.502 4.238 -17.331 -4.661 14.905 -7.793 + -30.715 4.007 -5.168 23.066 -5.388 -7.133 -11.545 1.685 6.835 1.030 + 7.669 2.594 -8.583 -4.273 -1.278 14.801 -13.358 29.659 10.092 15.531 + -17.266 -0.526 -10.164 9.817 12.604 -3.068 -5.718 -28.828 1.319 14.291 + 10.415 4.946 -7.714 3.152 -4.416 3.357 -7.520 10.090 -46.934 -2.818 + -4.023 29.381 -12.364 -1.429 5.406 12.750 11.039 19.377 -6.521 -6.685 + -2.598 -22.686 -14.134 -2.028 23.410 4.404 -9.053 -13.803 -4.064 5.648 + -2.432 -0.395 -0.081 22.849 5.527 3.318 -9.720 -14.073 -8.083 3.534 + -7.897 -2.955 -1.298 1.195 1.848 -4.643 1.131 -4.376 -9.446 -2.538 + 12.257 14.409 24.082 -3.098 -5.953 -5.123 10.274 -2.553 21.674 4.941 + -10.986 3.088 10.890 10.126 -15.844 -13.530 8.855 -4.539 -5.030 -7.488 + -26.854 -20.151 -2.772 7.941 8.596 16.995 1.780 58.789 -16.582 10.477 + -20.294 9.574 -20.783 -30.996 0.224 23.241 23.122 2.463 -10.912 -28.124 + 2.888 -3.931 -6.818 -11.515 21.379 -16.315 2.588 1.503 5.353 -3.605 + 11.493 29.961 -15.080 21.931 -9.630 11.883 -9.792 -7.118 7.496 -50.967 + -4.755 -4.771 13.280 13.879 -5.476 28.579 -27.584 4.922 1.973 3.813 + 4.650 -5.412 12.000 -4.800 0.025 -15.370 3.199 -21.187 29.231 7.859 + -7.219 -13.843 -3.590 25.665 42.223 -2.745 -17.502 -33.220 -1.651 2.194 + -0.982 -19.647 3.506 -10.848 -9.674 2.270 26.757 10.228 34.604 28.415 + 15.571 5.619 -13.938 -21.329 13.955 -18.782 28.396 -42.854 2.939 -27.742 + 7.924 1.954 6.190 -8.570 7.685 -9.423 -14.406 -5.628 -2.962 -9.544 + 1.256 21.251 19.162 -4.470 12.918 21.223 -3.338 -28.431 -14.165 12.219 + -5.182 -8.434 -19.082 18.105 -2.123 -3.631 4.235 -3.275 1.192 -6.762 + 32.812 -5.755 -3.483 -8.885 7.329 3.722 16.291 2.284 -10.137 -15.498 + -23.636 15.330 -18.042 11.120 -1.355 10.523 15.115 3.896 -10.256 -2.646 + -3.121 11.927 4.297 -11.205 -13.833 -21.668 23.476 -3.804 6.376 -11.103 + 22.176 -19.390 -5.481 -9.193 22.453 -12.659 -11.609 11.545 20.235 -14.560 + 46.532 -9.987 28.922 -10.553 -0.251 -6.075 1.306 0.224 -0.159 -29.824 + 4.493 1.688 -3.524 5.746 -31.395 10.619 -1.507 16.724 15.124 0.267 + 8.211 -42.679 -5.515 18.431 3.994 27.071 -7.958 25.778 5.964 -5.921 + -9.055 -8.494 -33.418 11.160 -7.216 -10.699 -0.373 -12.971 43.539 -18.838 + 8.608 4.285 6.307 6.584 -8.516 2.289 16.035 -0.872 -17.769 -15.759 + -1.012 0.651 3.760 3.915 -2.079 -28.369 -15.575 0.811 -23.557 -16.020 + -10.381 20.696 21.836 21.554 10.351 11.127 8.558 5.936 5.839 -12.709 + 26.002 -60.569 -57.994 -19.601 22.223 34.501 -2.733 15.629 29.231 -6.309 + 11.807 -4.484 11.650 7.549 -2.929 -7.419 -3.049 8.677 0.047 -3.629 + 2.059 14.357 7.139 -13.002 -0.359 2.778 9.890 -14.115 18.778 13.420 + -9.925 3.514 3.948 -31.007 2.340 -1.353 19.126 -5.326 -11.265 3.746 + 3.561 -4.156 5.890 6.579 3.100 5.955 4.881 7.830 -0.093 1.977 + 0.171 -20.791 -3.318 -11.937 14.400 -12.941 0.867 9.252 -13.721 -7.027 + 10.382 0.201 0.277 -13.833 -10.799 -1.766 10.727 -5.136 -0.014 -13.389 + -3.535 -17.609 7.655 -5.653 15.858 34.868 -14.249 -21.712 5.999 2.583 + 12.046 -20.809 -8.816 -1.388 -20.234 15.001 -1.595 12.028 9.012 16.213 + -2.874 6.272 -6.228 16.090 -12.475 4.879 -7.664 -6.675 -1.426 -11.575 + -7.924 1.957 14.312 -23.756 -1.473 -4.603 10.360 -6.029 -17.859 6.722 + -4.136 15.859 2.220 12.339 15.792 -11.053 17.893 1.333 -12.464 -9.829 + -2.197 17.512 7.860 1.347 19.666 -1.327 -22.526 8.285 -30.446 -5.174 + 14.172 24.625 -7.863 3.468 -6.325 2.542 -12.011 17.496 -3.011 3.122 + -17.999 21.042 7.914 18.082 1.339 -2.479 -4.958 7.776 20.780 11.384 + 0.731 7.573 0.068 -20.883 -15.842 -7.403 -44.899 39.999 -20.964 46.784 + -36.035 -1.172 8.005 4.214 -0.937 -6.247 -34.988 1.977 0.118 -1.467 + -1.299 0.539 5.261 4.217 -2.194 -13.903 -2.326 -8.138 11.451 -0.585 + -23.139 -6.092 -7.835 22.392 1.750 11.963 -2.251 -27.927 -26.810 -3.709 + 21.421 4.942 -9.933 20.455 -16.577 -0.266 -15.180 4.195 -1.065 7.672 + 5.104 3.288 -8.948 21.511 -4.488 -4.122 3.362 31.690 0.471 -17.870 + -2.127 3.676 4.023 -19.711 4.547 -0.446 22.828 -8.638 3.484 1.630 + -0.116 2.468 -17.907 10.001 6.881 5.251 0.582 -2.976 13.895 2.389 + -1.993 -0.023 2.060 17.161 -1.115 -15.302 -6.499 -8.941 18.772 -3.194 + -8.217 -15.087 -4.039 -27.061 -2.912 -11.076 21.341 -15.329 22.468 6.270 + 33.892 -12.765 -7.857 1.137 -9.452 11.453 -66.368 -1.490 2.153 4.351 + -14.503 12.721 23.118 10.814 -20.772 18.192 10.804 3.749 -0.246 5.891 + -19.037 5.073 -24.682 -21.778 -15.496 42.660 13.426 16.970 -14.798 6.770 + 6.551 -5.175 6.399 21.353 3.814 1.462 -7.770 -7.963 12.150 0.648 + 3.696 -1.919 -7.595 -54.517 0.940 4.347 3.666 -6.286 2.017 9.581 + -0.971 -16.809 29.444 -11.485 41.962 13.473 37.551 -32.856 16.330 -3.988 + -8.273 -16.583 -2.148 -0.416 5.788 19.665 11.737 3.527 -20.717 16.436 + -4.848 5.368 -40.072 -1.399 22.808 4.173 -16.816 -4.655 14.559 -7.625 + -29.989 3.473 -4.346 21.743 -4.978 -6.965 -10.541 1.536 6.457 0.938 + 7.669 2.681 -8.463 -4.285 -1.421 14.351 -13.520 30.328 10.289 15.436 + -17.333 -0.530 -10.121 9.780 12.117 -3.023 -5.339 -28.318 1.281 13.988 + 10.191 5.130 -7.883 3.227 -4.464 3.382 -7.175 9.436 -45.997 -2.871 + -3.695 28.801 -12.581 -0.854 4.391 13.634 10.918 19.173 -7.092 -6.624 + -2.369 -21.529 -14.574 -2.205 22.060 4.682 -8.606 -13.594 -3.775 5.561 + -2.512 -0.456 -0.034 22.159 5.750 2.925 -9.432 -14.237 -8.005 3.671 + -7.524 -3.122 -1.194 1.228 1.851 -4.537 1.032 -4.153 -9.534 -2.786 + 12.279 14.416 24.254 -2.266 -5.910 -5.336 9.530 -2.699 21.429 5.235 + -11.024 3.203 10.899 10.563 -16.355 -14.210 8.552 -4.161 -4.586 -7.035 + -26.441 -20.122 -2.831 7.908 8.660 16.640 1.441 58.294 -16.357 10.345 + -20.125 9.349 -20.425 -30.506 0.603 22.371 22.358 2.370 -10.546 -28.129 + 2.871 -3.900 -6.582 -11.525 20.769 -15.576 2.553 2.077 4.791 -3.453 + 10.728 29.896 -14.957 21.488 -10.305 11.818 -9.427 -6.762 7.253 -50.190 + -4.629 -4.755 13.260 13.808 -5.237 27.771 -26.724 4.889 2.250 3.275 + 4.586 -5.610 10.861 -4.720 -0.229 -14.644 2.875 -19.723 29.804 8.041 + -7.619 -14.091 -3.574 25.836 42.463 -3.441 -16.952 -32.807 -1.404 1.935 + -1.379 -19.513 3.391 -10.535 -9.721 2.215 26.361 10.041 34.973 27.217 + 15.182 5.499 -13.672 -20.833 13.673 -18.143 27.726 -42.819 3.790 -27.542 + 7.848 1.657 6.434 -8.327 7.472 -8.734 -14.700 -5.671 -3.232 -9.405 + 1.127 21.156 19.075 -4.515 12.569 21.537 -3.148 -28.223 -14.146 12.194 + -5.142 -8.442 -19.217 17.233 -0.155 -1.902 3.930 -3.863 0.069 -6.190 + 30.860 -5.600 -2.873 -8.439 6.588 4.177 16.215 2.961 -10.265 -15.579 + -23.909 14.622 -17.207 10.675 -1.106 9.755 14.714 4.108 -10.260 -2.167 + -3.298 11.577 3.107 -10.639 -13.155 -20.405 22.966 -3.752 6.201 -10.739 + 21.837 -19.117 -6.091 -9.040 23.043 -12.563 -11.743 11.193 20.552 -14.226 + 46.100 -9.892 28.674 -10.387 -0.314 -6.202 1.320 1.895 0.353 -29.905 + 2.742 1.173 -3.325 5.800 -31.295 9.780 -1.491 16.756 15.339 -0.041 + 8.606 -41.801 -5.105 17.754 3.411 26.854 -7.688 25.339 5.863 -5.826 + -8.765 -8.848 -33.376 11.225 -7.183 -10.718 -0.408 -12.776 43.320 -18.707 + 9.701 4.436 5.882 6.239 -8.984 2.095 15.659 -0.623 -17.348 -15.344 + -0.641 0.951 3.469 3.613 -2.423 -25.410 -14.321 0.424 -25.544 -15.322 + -8.652 20.604 21.288 21.169 10.375 9.704 6.967 6.272 6.215 -12.468 + 25.377 -59.293 -56.170 -19.209 21.506 33.535 -1.237 15.929 28.396 -6.816 + 11.494 -4.380 9.319 6.678 -2.482 -6.680 -3.337 8.902 -0.311 -3.538 + 2.080 13.275 7.791 -12.765 0.469 2.401 9.669 -14.049 18.925 13.646 + -9.764 3.435 3.874 -31.008 1.604 -1.992 19.000 -5.245 -11.100 3.780 + 4.414 -3.833 5.848 6.536 2.968 5.921 4.644 7.934 0.027 1.831 + 0.079 -20.755 -4.644 -13.429 14.358 -11.427 2.429 8.294 -13.784 -7.088 + 10.894 0.110 0.322 -13.542 -10.771 -1.853 10.910 -5.110 -0.012 -13.875 + -3.675 -16.706 7.936 -5.500 15.640 34.823 -14.993 -21.842 5.961 2.671 + 11.880 -20.739 -8.528 -1.351 -20.066 16.337 -1.504 11.920 7.975 16.155 + -2.859 6.327 -6.205 15.609 -12.672 4.575 -7.538 -6.288 -1.371 -11.644 + -7.367 1.962 14.874 -23.349 -1.265 -4.620 9.857 -5.993 -17.743 6.504 + -3.938 15.613 2.004 12.191 14.960 -10.318 17.275 1.444 -12.505 -9.743 + -1.795 17.300 8.192 1.400 19.609 -1.314 -22.284 7.694 -30.377 -5.514 + 14.054 23.820 -7.379 3.438 -5.897 1.702 -12.177 16.386 -2.157 3.207 + -16.667 20.394 8.250 17.458 1.604 -2.385 -4.624 7.421 20.437 11.635 + 0.836 7.579 0.145 -20.631 -15.578 -7.539 -44.040 39.712 -20.620 46.436 + -35.776 -1.160 7.606 3.973 -1.159 -6.295 -34.100 1.074 -0.159 -1.914 + -1.151 0.830 4.944 4.797 -1.995 -14.228 -2.373 -8.240 11.507 -0.593 + -21.118 -6.033 -6.788 20.750 1.742 11.138 -2.624 -27.234 -26.638 -3.638 + 20.949 4.720 -9.751 20.273 -15.985 -0.381 -14.966 4.107 -1.078 7.321 + 4.888 3.381 -8.308 20.620 -4.498 -4.241 3.531 30.035 -0.047 -18.404 + -1.889 3.536 4.661 -18.416 4.867 -0.222 22.090 -8.294 3.788 2.284 + -0.432 2.454 -17.393 9.745 6.522 4.874 0.811 -2.755 13.400 2.534 + -2.375 -0.096 2.001 17.139 -0.879 -15.362 -6.304 -7.938 18.136 -2.166 + -8.839 -14.997 -4.667 -25.841 -2.872 -10.055 20.151 -14.782 21.168 5.318 + 33.828 -12.794 -7.659 1.240 -9.426 11.985 -66.322 -1.247 1.799 4.346 + -14.895 12.875 23.125 10.829 -21.086 17.891 10.805 3.890 -0.142 5.659 + -18.931 5.167 -24.453 -21.642 -14.783 42.332 13.194 16.761 -14.617 6.790 + 6.382 -5.030 5.930 20.223 3.436 1.557 -7.449 -7.863 12.448 0.739 + 3.792 -1.725 -7.254 -51.322 0.396 4.166 3.345 -5.877 1.332 8.744 + -0.877 -15.797 27.579 -10.658 41.522 13.556 37.257 -32.851 16.242 -3.989 + -7.930 -16.366 -2.435 -0.496 5.707 19.646 12.309 3.408 -20.823 16.283 + -4.738 5.034 -39.768 -2.768 23.083 4.107 -16.288 -4.649 14.164 -7.447 + -29.259 2.947 -3.543 20.374 -4.572 -6.743 -9.487 1.383 6.052 0.837 + 7.650 2.805 -8.350 -4.279 -1.603 13.908 -13.665 30.968 10.479 15.314 + -17.335 -0.528 -10.059 9.693 11.513 -2.996 -4.863 -27.688 1.249 13.607 + 9.994 5.318 -8.090 3.282 -4.506 3.410 -6.874 8.772 -44.971 -2.903 + -3.351 28.146 -12.780 -0.292 3.391 14.518 10.807 18.979 -7.664 -6.568 + -2.137 -20.314 -15.034 -2.414 20.635 4.967 -8.114 -13.420 -3.456 5.485 + -2.544 -0.515 -0.002 21.458 5.979 2.526 -9.126 -14.408 -7.919 3.755 + -7.163 -3.310 -1.078 1.241 1.843 -4.415 0.958 -3.883 -9.609 -3.024 + 12.281 14.415 24.363 -1.480 -5.860 -5.495 8.823 -2.856 21.133 5.565 + -11.054 3.317 10.896 11.045 -16.856 -14.956 8.211 -3.757 -4.093 -6.558 + -26.038 -20.099 -2.916 7.874 8.728 16.299 1.077 57.592 -16.078 10.206 + -19.882 9.057 -20.023 -29.905 0.981 21.488 21.597 2.292 -10.175 -28.172 + 2.837 -3.849 -6.278 -11.524 20.138 -14.847 2.515 2.654 4.238 -3.300 + 9.930 29.815 -14.818 20.976 -10.961 11.738 -9.005 -6.423 6.983 -49.219 + -4.431 -4.720 13.134 13.668 -4.983 26.856 -25.816 4.853 2.550 2.691 + 4.497 -5.754 9.747 -4.626 -0.508 -13.924 2.559 -18.255 30.340 8.201 + -7.983 -14.279 -3.545 25.979 42.660 -4.129 -16.395 -32.386 -1.152 1.672 + -1.771 -19.420 3.280 -10.080 -9.716 2.143 25.813 9.820 35.306 25.904 + 14.774 5.380 -13.339 -20.290 13.384 -17.473 26.974 -42.719 4.623 -27.281 + 7.732 1.382 6.691 -8.079 7.260 -8.023 -14.901 -5.744 -3.474 -9.278 + 1.018 21.004 18.926 -4.534 12.156 21.722 -2.927 -27.941 -14.034 12.113 + -5.094 -8.439 -19.339 16.263 1.935 -0.123 3.635 -4.463 -1.073 -5.583 + 28.768 -5.437 -2.216 -7.962 5.811 4.615 16.166 3.638 -10.392 -15.672 + -24.192 13.931 -16.325 10.335 -0.866 8.937 14.226 4.315 -10.260 -1.698 + -3.482 11.263 1.845 -10.042 -12.408 -19.053 22.373 -3.713 6.024 -10.323 + 21.390 -18.824 -6.689 -8.896 23.581 -12.454 -11.848 10.860 20.822 -13.836 + 45.548 -9.768 28.339 -10.179 -0.356 -6.291 1.382 3.528 0.861 -29.958 + 1.017 0.663 -3.127 5.855 -31.201 8.909 -1.479 16.794 15.556 -0.368 + 9.035 -40.862 -4.672 17.037 2.798 26.601 -7.418 24.913 5.770 -5.728 + -8.482 -9.260 -33.159 11.261 -7.128 -10.742 -0.464 -12.538 42.932 -18.533 + 10.801 4.572 5.444 5.968 -9.441 1.851 15.206 -0.369 -16.862 -14.906 + -0.250 1.268 3.159 3.295 -2.779 -22.397 -13.069 0.000 -27.514 -14.458 + -6.801 20.444 20.613 20.718 10.458 8.250 5.321 6.574 6.587 -12.214 + 24.710 -57.989 -54.266 -18.772 20.760 32.494 0.257 16.264 27.584 -7.330 + 11.155 -4.287 6.954 5.791 -2.026 -5.899 -3.635 9.126 -0.681 -3.429 + 2.105 12.151 8.415 -12.531 1.330 2.040 9.447 -13.966 19.066 13.898 + -9.599 3.353 3.780 -30.955 0.899 -2.666 18.822 -5.181 -10.898 3.778 + 5.255 -3.507 5.805 6.492 2.830 5.888 4.409 8.038 0.163 1.688 + -0.010 -20.713 -5.950 -14.900 14.311 -9.937 3.967 7.342 -13.826 -7.147 + 11.381 0.014 0.368 -13.154 -10.804 -1.930 11.017 -5.064 -0.017 -14.267 + -3.758 -15.782 8.137 -5.341 15.407 34.662 -15.713 -21.917 5.928 2.726 + 11.648 -20.579 -8.232 -1.280 -19.907 17.612 -1.439 11.798 6.997 16.087 + -2.799 6.357 -6.155 15.082 -12.843 4.248 -7.394 -5.900 -1.306 -11.681 + -6.859 1.979 15.407 -22.944 -1.075 -4.627 9.378 -5.950 -17.630 6.252 + -3.735 15.365 1.790 12.039 14.088 -9.560 16.613 1.581 -12.521 -9.627 + -1.399 17.066 8.522 1.462 19.542 -1.298 -22.028 7.135 -30.284 -5.901 + 13.930 22.967 -6.868 3.403 -5.445 0.828 -12.337 15.242 -1.259 3.282 + -15.283 19.715 8.541 16.789 1.896 -2.268 -4.262 7.025 20.073 11.850 + 0.934 7.596 0.215 -20.330 -15.298 -7.645 -43.012 39.306 -20.263 45.922 + -35.392 -1.158 7.207 3.728 -1.377 -6.371 -33.191 0.139 -0.434 -2.362 + -0.998 1.143 4.620 5.403 -1.767 -14.535 -2.390 -8.359 11.560 -0.613 + -19.109 -5.981 -5.762 19.105 1.735 10.320 -2.935 -26.508 -26.425 -3.601 + 20.441 4.487 -9.609 20.101 -15.360 -0.463 -14.699 4.035 -1.068 6.902 + 4.645 3.415 -7.679 19.694 -4.471 -4.348 3.710 28.322 -0.562 -18.981 + -1.642 3.389 5.333 -17.069 5.191 0.014 21.303 -7.924 4.062 2.964 + -0.765 2.441 -16.842 9.482 6.160 4.466 1.054 -2.520 12.896 2.645 + -2.781 -0.180 1.944 17.123 -0.636 -15.394 -6.094 -6.936 17.488 -1.132 + -9.459 -14.909 -5.295 -24.530 -2.835 -8.949 18.885 -14.203 19.783 4.382 + 33.758 -12.844 -7.468 1.341 -9.392 12.500 -66.181 -1.021 1.470 4.345 + -15.242 12.986 23.045 10.825 -21.392 17.570 10.807 4.035 -0.031 5.405 + -18.820 5.257 -24.198 -21.508 -14.045 41.959 12.949 16.537 -14.411 6.824 + 6.210 -4.865 5.475 19.126 3.007 1.639 -7.144 -7.743 12.757 0.821 + 3.907 -1.602 -6.968 -48.040 -0.133 3.999 3.032 -5.427 0.644 7.880 + -0.775 -14.751 25.656 -9.822 41.042 13.620 36.942 -32.835 16.149 -3.930 + -7.578 -16.110 -2.772 -0.566 5.614 19.587 12.899 3.277 -20.877 16.132 + -4.624 4.712 -39.431 -4.158 23.319 4.037 -15.759 -4.641 13.724 -7.261 + -28.500 2.414 -2.714 19.037 -4.155 -6.566 -8.459 1.230 5.664 0.690 + 7.632 2.948 -8.208 -4.283 -1.775 13.494 -13.807 31.565 10.616 15.173 + -17.271 -0.515 -9.977 9.559 10.837 -2.947 -4.363 -26.960 1.209 13.176 + 9.731 5.498 -8.275 3.386 -4.562 3.454 -6.565 8.097 -43.879 -2.925 + -2.987 27.416 -12.997 0.271 2.383 15.358 10.709 18.810 -8.204 -6.519 + -1.920 -19.027 -15.504 -2.657 19.144 5.251 -7.588 -13.270 -3.151 5.421 + -2.542 -0.571 0.022 20.729 6.176 2.122 -8.811 -14.544 -7.825 3.813 + -6.822 -3.518 -0.953 1.239 1.844 -4.277 0.895 -3.579 -9.672 -3.231 + 12.257 14.403 24.401 -0.737 -5.800 -5.592 8.149 -3.003 20.841 5.887 + -11.088 3.434 10.895 11.539 -17.358 -15.711 7.858 -3.348 -3.581 -6.156 + -25.584 -20.013 -2.954 7.795 8.727 15.960 0.689 56.674 -15.721 10.049 + -19.540 8.705 -19.578 -29.203 1.350 20.577 20.851 2.233 -9.828 -28.245 + 2.793 -3.788 -5.951 -11.534 19.512 -14.081 2.478 3.247 3.669 -3.129 + 9.075 29.716 -14.681 20.441 -11.574 11.648 -8.537 -6.108 6.708 -48.209 + -4.209 -4.678 12.975 13.498 -4.729 25.922 -24.810 4.817 2.859 2.020 + 4.418 -5.950 8.686 -4.542 -0.750 -13.211 2.234 -16.720 30.801 8.359 + -8.338 -14.433 -3.506 26.109 42.834 -4.837 -15.780 -31.850 -0.871 1.357 + -2.267 -19.343 3.193 -9.585 -9.683 2.069 25.206 9.579 35.618 24.539 + 14.350 5.258 -12.955 -19.734 13.091 -16.796 26.167 -42.608 5.441 -26.978 + 7.604 1.120 6.969 -7.809 7.026 -7.256 -15.067 -5.837 -3.709 -9.149 + 0.919 20.793 18.732 -4.524 11.682 21.871 -2.735 -27.609 -13.885 11.996 + -5.045 -8.425 -19.393 15.224 4.105 1.676 3.343 -5.059 -2.204 -4.952 + 26.546 -5.264 -1.515 -7.456 5.000 5.072 16.065 4.298 -10.520 -15.740 + -24.452 13.271 -15.469 10.059 -0.626 8.064 13.660 4.476 -10.162 -1.223 + -3.700 10.988 0.518 -9.424 -11.628 -17.650 21.753 -3.672 5.837 -9.859 + 20.861 -18.508 -7.268 -8.742 24.136 -12.357 -11.967 10.515 21.064 -13.363 + 44.936 -9.623 27.926 -9.937 -0.401 -6.380 1.448 5.200 1.386 -29.995 + -0.751 0.136 -2.924 5.900 -31.102 8.072 -1.459 16.818 15.741 -0.699 + 9.489 -39.926 -4.234 16.303 2.191 26.326 -7.144 24.445 5.679 -5.634 + -8.178 -9.717 -32.796 11.276 -7.049 -10.777 -0.535 -12.269 42.420 -18.316 + 11.899 4.680 4.994 5.704 -9.868 1.626 14.750 -0.123 -16.376 -14.490 + 0.116 1.564 2.846 2.997 -3.109 -19.328 -11.811 -0.450 -29.436 -13.502 + -4.898 20.225 19.840 20.213 10.576 6.784 3.651 6.821 6.961 -11.935 + 24.003 -56.618 -52.278 -18.293 19.960 31.382 1.766 16.602 26.751 -7.847 + 10.799 -4.198 4.572 4.914 -1.547 -5.115 -3.923 9.350 -1.048 -3.326 + 2.130 10.986 9.054 -12.271 2.223 1.664 9.204 -13.908 19.204 14.174 + -9.408 3.273 3.666 -30.826 0.207 -3.415 18.566 -5.140 -10.639 3.820 + 6.120 -3.180 5.727 6.434 2.705 5.844 4.174 8.135 0.303 1.533 + -0.104 -20.664 -7.209 -16.321 14.255 -8.480 5.462 6.410 -13.888 -7.195 + 11.848 -0.082 0.413 -12.750 -10.802 -2.023 11.110 -5.022 -0.017 -14.638 + -3.888 -14.834 8.331 -5.169 15.156 34.442 -16.399 -21.947 5.896 2.743 + 11.361 -20.384 -7.926 -1.195 -19.724 18.905 -1.373 11.678 6.007 16.033 + -2.751 6.378 -6.118 14.554 -13.018 3.926 -7.256 -5.503 -1.245 -11.695 + -6.380 1.997 15.898 -22.422 -0.904 -4.626 8.825 -5.899 -17.498 5.995 + -3.525 15.114 1.570 11.883 13.203 -8.834 15.942 1.725 -12.519 -9.504 + -1.007 16.914 8.859 1.529 19.410 -1.287 -21.766 6.568 -30.189 -6.343 + 13.849 22.116 -6.323 3.356 -4.984 -0.030 -12.526 14.064 -0.349 3.360 + -13.877 19.045 8.838 16.107 2.173 -2.153 -3.894 6.537 19.690 12.025 + 1.047 7.588 0.283 -19.943 -14.979 -7.693 -41.805 38.743 -19.915 45.229 + -34.877 -1.155 6.807 3.488 -1.592 -6.480 -32.238 -0.838 -0.698 -2.810 + -0.830 1.471 4.277 6.034 -1.540 -14.839 -2.407 -8.483 11.612 -0.636 + -17.056 -5.932 -4.715 17.428 1.733 9.487 -3.216 -25.701 -26.205 -3.590 + 19.873 4.237 -9.473 19.994 -14.711 -0.565 -14.440 3.960 -1.039 6.424 + 4.381 3.435 -7.065 18.758 -4.426 -4.442 3.891 26.522 -1.086 -19.578 + -1.366 3.236 6.034 -15.669 5.526 0.248 20.511 -7.563 4.333 3.642 + -1.096 2.425 -16.281 9.217 5.845 4.052 1.298 -2.298 12.431 2.694 + -3.190 -0.285 1.893 17.103 -0.411 -15.361 -5.888 -5.934 16.827 -0.108 + -10.079 -14.821 -5.926 -23.110 -2.836 -7.726 17.514 -13.580 18.280 3.383 + 33.687 -12.972 -7.229 1.440 -9.286 12.990 -65.918 -0.822 1.166 4.324 + -15.547 13.071 22.896 10.820 -21.704 17.221 10.794 4.181 0.090 5.120 + -18.681 5.333 -23.895 -21.324 -13.248 41.500 12.678 16.261 -14.151 6.849 + 6.031 -4.690 5.006 18.040 2.556 1.720 -6.857 -7.595 13.059 0.908 + 4.017 -1.445 -6.738 -44.606 -0.722 3.851 2.707 -4.944 -0.048 6.997 + -0.671 -13.654 23.626 -8.926 40.526 13.703 36.579 -32.800 16.031 -3.833 + -7.249 -15.841 -3.154 -0.614 5.513 19.512 13.502 3.124 -20.919 15.976 + -4.506 4.462 -39.045 -5.530 23.486 3.966 -15.220 -4.638 13.241 -7.070 + -27.726 1.884 -1.915 17.607 -3.717 -6.354 -7.332 1.048 5.267 0.530 + 7.630 3.055 -8.068 -4.288 -1.932 13.115 -13.950 32.138 10.772 15.009 + -17.186 -0.509 -9.890 9.430 10.034 -2.896 -3.784 -26.127 1.165 12.682 + 9.477 5.678 -8.461 3.468 -4.602 3.481 -6.224 7.376 -42.708 -2.943 + -2.595 26.605 -13.258 0.848 1.389 16.169 10.616 18.641 -8.737 -6.467 + -1.704 -17.683 -15.977 -2.947 17.619 5.531 -7.027 -13.136 -2.853 5.377 + -2.528 -0.623 0.047 20.008 6.306 1.733 -8.503 -14.627 -7.729 3.781 + -6.465 -3.731 -0.796 1.178 1.844 -4.106 0.850 -3.225 -9.706 -3.403 + 12.189 14.383 24.419 -0.019 -5.732 -5.670 7.479 -3.162 20.561 6.215 + -11.108 3.535 10.884 12.033 -17.816 -16.493 7.500 -2.951 -3.055 -5.761 + -25.157 -19.888 -2.970 7.712 8.718 15.586 0.336 55.570 -15.288 9.860 + -19.107 8.311 -19.113 -28.422 1.714 19.646 20.151 2.184 -9.479 -28.358 + 2.742 -3.726 -5.595 -11.539 18.903 -13.356 2.439 3.822 3.143 -2.952 + 8.197 29.620 -14.541 19.879 -12.142 11.554 -8.057 -5.799 6.418 -47.027 + -4.026 -4.626 12.732 13.298 -4.473 24.890 -23.769 4.789 3.168 1.348 + 4.357 -6.179 7.693 -4.480 -0.931 -12.515 1.901 -15.162 31.172 8.513 + -8.689 -14.599 -3.465 26.240 43.007 -5.559 -15.187 -31.365 -0.581 1.058 + -2.722 -19.321 3.125 -8.981 -9.595 1.993 24.496 9.356 35.944 23.144 + 13.912 5.122 -12.561 -19.178 12.781 -16.106 25.298 -42.460 6.272 -26.622 + 7.455 0.879 7.244 -7.544 6.784 -6.418 -15.192 -5.966 -3.948 -9.013 + 0.814 20.522 18.490 -4.497 11.134 21.933 -2.531 -27.210 -13.672 11.837 + -4.987 -8.390 -19.399 14.156 6.272 3.411 3.053 -5.616 -3.252 -4.322 + 24.274 -5.100 -0.793 -6.939 4.172 5.551 15.945 4.954 -10.656 -15.804 + -24.718 12.619 -14.600 9.821 -0.394 7.189 13.065 4.631 -10.069 -0.758 + -3.917 10.717 -0.842 -8.788 -10.800 -16.182 21.089 -3.628 5.641 -9.360 + 20.289 -18.188 -7.869 -8.652 24.652 -12.231 -12.044 10.190 21.225 -12.868 + 44.240 -9.438 27.414 -9.668 -0.406 -6.395 1.561 6.885 1.925 -30.031 + -2.536 -0.400 -2.712 5.939 -30.992 7.200 -1.438 16.848 15.929 -1.062 + 9.996 -38.910 -3.765 15.524 1.532 26.048 -6.903 23.960 5.575 -5.532 + -7.849 -10.166 -32.318 11.245 -6.976 -10.813 -0.598 -11.976 41.809 -18.065 + 12.989 4.752 4.514 5.441 -10.276 1.408 14.274 0.132 -15.859 -14.058 + 0.446 1.806 2.532 2.728 -3.393 -16.239 -10.531 -0.888 -31.312 -12.466 + -2.957 19.957 18.991 19.669 10.726 5.305 1.948 7.027 7.321 -11.643 + 23.183 -55.088 -50.103 -17.701 19.035 30.108 3.264 16.904 25.912 -8.346 + 10.467 -4.107 2.170 4.017 -1.076 -4.332 -4.167 9.579 -1.409 -3.232 + 2.154 9.821 9.684 -12.003 3.118 1.285 8.957 -13.869 19.308 14.442 + -9.196 3.203 3.543 -30.628 -0.454 -4.224 18.246 -5.121 -10.329 3.827 + 7.001 -2.786 5.652 6.378 2.573 5.780 3.963 8.190 0.491 1.330 + -0.206 -20.610 -8.500 -17.775 14.198 -6.987 7.000 5.506 -13.952 -7.236 + 12.280 -0.169 0.457 -12.267 -10.807 -2.114 11.126 -4.966 -0.021 -14.933 + -4.019 -13.872 8.471 -4.993 14.885 34.074 -17.077 -22.006 5.865 2.760 + 11.076 -20.067 -7.615 -1.065 -19.539 20.135 -1.325 11.512 5.071 15.960 + -2.669 6.389 -6.067 13.999 -13.218 3.593 -7.104 -5.092 -1.178 -11.703 + -5.934 2.019 16.403 -21.832 -0.725 -4.627 8.203 -5.850 -17.326 5.719 + -3.279 14.821 1.365 11.698 12.272 -8.130 15.215 1.904 -12.478 -9.342 + -0.624 16.869 9.207 1.604 19.149 -1.282 -21.477 6.060 -30.076 -6.839 + 13.778 21.232 -5.737 3.299 -4.503 -0.929 -12.707 12.872 0.603 3.422 + -12.446 18.421 9.143 15.397 2.414 -2.034 -3.523 6.014 19.182 12.214 + 1.096 7.641 0.331 -19.467 -14.604 -7.711 -40.439 38.028 -19.559 44.374 + -34.238 -1.169 6.417 3.258 -1.802 -6.588 -31.280 -1.807 -0.953 -3.251 + -0.662 1.790 3.942 6.652 -1.333 -15.117 -2.415 -8.590 11.661 -0.654 + -14.884 -5.945 -3.644 15.646 1.747 8.614 -3.483 -24.803 -25.927 -3.614 + 19.251 3.965 -9.302 19.834 -14.059 -0.672 -14.161 3.888 -1.028 5.963 + 4.106 3.473 -6.434 17.796 -4.389 -4.537 4.073 24.579 -1.649 -20.171 + -1.090 3.083 6.735 -14.139 5.885 0.489 19.748 -7.211 4.616 4.292 + -1.413 2.411 -15.734 8.955 5.477 3.654 1.535 -2.051 12.002 2.726 + -3.597 -0.413 1.837 17.092 -0.202 -15.293 -5.681 -4.953 16.137 0.912 + -10.693 -14.723 -6.560 -21.612 -2.850 -6.427 16.068 -12.938 16.696 2.378 + 33.625 -13.126 -6.968 1.532 -9.147 13.481 -65.509 -0.680 0.901 4.298 + -15.791 13.088 22.636 10.808 -22.031 16.837 10.686 4.312 0.214 4.848 + -18.486 5.387 -23.517 -21.083 -12.350 40.963 12.367 15.922 -13.820 6.871 + 5.832 -4.515 4.600 16.987 2.070 1.785 -6.599 -7.375 13.302 1.002 + 4.092 -1.349 -6.592 -41.005 -1.295 3.717 2.391 -4.431 -0.755 6.097 + -0.553 -12.486 21.449 -8.029 40.028 13.799 36.220 -32.763 15.914 -3.827 + -6.907 -15.606 -3.460 -0.675 5.430 19.365 14.058 2.981 -20.882 15.830 + -4.381 4.280 -38.643 -6.862 23.582 3.895 -14.688 -4.640 12.763 -6.887 + -26.962 1.341 -1.130 16.209 -3.280 -6.132 -6.209 0.869 4.859 0.313 + 7.646 3.108 -7.901 -4.316 -2.026 12.740 -14.076 32.682 10.938 14.830 + -17.075 -0.506 -9.789 9.273 9.118 -2.866 -3.096 -25.162 1.129 12.101 + 9.143 5.878 -8.672 3.597 -4.654 3.518 -5.857 6.613 -41.453 -2.955 + -2.171 25.721 -13.525 1.435 0.400 16.986 10.553 18.413 -9.278 -6.418 + -1.472 -16.270 -16.477 -3.245 16.037 5.825 -6.455 -12.990 -2.577 5.346 + -2.522 -0.680 0.078 19.295 6.376 1.369 -8.214 -14.638 -7.642 3.743 + -6.139 -3.914 -0.637 1.135 1.838 -3.942 0.805 -2.895 -9.720 -3.563 + 12.109 14.363 24.459 0.721 -5.665 -5.773 6.784 -3.307 20.287 6.488 + -11.144 3.639 10.899 12.513 -18.232 -17.258 7.153 -2.582 -2.532 -5.365 + -24.716 -19.743 -2.988 7.621 8.699 15.268 -0.062 54.318 -14.837 9.659 + -18.620 7.853 -18.611 -27.553 2.066 18.707 19.436 2.125 -9.098 -28.441 + 2.697 -3.682 -5.257 -11.547 18.329 -12.649 2.403 4.361 2.647 -2.764 + 7.270 29.505 -14.387 19.283 -12.681 11.442 -7.533 -5.508 6.103 -45.703 + -3.773 -4.554 12.393 13.028 -4.209 23.835 -22.776 4.753 3.472 0.734 + 4.279 -6.326 6.669 -4.395 -1.204 -11.772 1.565 -13.570 31.520 8.634 + -9.025 -14.763 -3.425 26.372 43.185 -6.238 -14.611 -30.869 -0.291 0.755 + -3.186 -19.322 3.080 -8.278 -9.472 1.908 23.697 9.000 36.292 21.641 + 13.467 4.982 -12.154 -18.499 12.441 -15.333 24.319 -42.292 7.056 -26.168 + 7.274 0.687 7.537 -7.259 6.526 -5.494 -15.243 -6.097 -4.203 -8.874 + 0.701 20.175 18.188 -4.435 10.548 21.918 -2.349 -26.774 -13.415 11.650 + -4.916 -8.344 -19.349 13.067 8.591 5.131 2.765 -6.178 -4.322 -3.669 + 21.877 -4.938 -0.085 -6.443 3.375 6.009 15.788 5.548 -10.793 -15.846 + -24.958 12.006 -13.763 9.613 -0.163 6.294 12.451 4.759 -9.922 -0.282 + -4.244 10.555 -2.280 -8.124 -9.938 -14.658 20.427 -3.587 5.446 -8.787 + 19.581 -17.833 -8.429 -8.628 25.148 -12.080 -12.081 9.877 21.313 -12.348 + 43.472 -9.231 26.840 -9.379 -0.395 -6.372 1.704 8.497 2.442 -30.037 + -4.245 -0.917 -2.515 5.928 -30.834 6.437 -1.397 16.844 16.053 -1.409 + 10.525 -37.956 -3.299 14.738 0.891 25.778 -6.679 23.451 5.447 -5.421 + -7.498 -10.640 -31.634 11.158 -6.926 -10.844 -0.645 -11.627 41.001 -17.763 + 14.079 4.792 4.012 5.220 -10.684 1.167 13.772 0.409 -15.302 -13.623 + 0.785 2.061 2.197 2.441 -3.693 -13.183 -9.256 -1.312 -33.080 -11.363 + -1.005 19.636 18.074 19.089 10.811 3.807 0.239 7.260 7.686 -11.345 + 22.316 -53.460 -47.815 -17.041 18.036 28.735 4.740 17.212 25.090 -8.842 + 10.125 -4.022 -0.219 3.125 -0.617 -3.521 -4.425 9.810 -1.779 -3.136 + 2.179 8.617 10.305 -11.741 4.037 0.918 8.710 -13.846 19.420 14.769 + -8.952 3.127 3.393 -30.434 -1.125 -5.082 17.918 -5.100 -10.010 3.820 + 7.896 -2.394 5.580 6.324 2.440 5.717 3.752 8.249 0.688 1.117 + -0.308 -20.538 -9.782 -19.207 14.130 -5.496 8.526 4.594 -13.998 -7.270 + 12.712 -0.258 0.496 -11.740 -10.880 -2.201 11.097 -4.884 -0.032 -15.214 + -4.103 -12.892 8.607 -4.825 14.596 33.642 -17.763 -22.022 5.830 2.755 + 10.741 -19.701 -7.283 -0.916 -19.345 21.361 -1.267 11.303 4.133 15.864 + -2.565 6.401 -6.007 13.507 -13.358 3.299 -6.981 -4.728 -1.126 -11.726 + -5.508 2.021 16.925 -21.242 -0.529 -4.642 7.601 -5.809 -17.170 5.471 + -3.049 14.547 1.131 11.524 11.309 -7.423 14.466 2.096 -12.437 -9.168 + -0.214 16.859 9.583 1.671 18.847 -1.291 -21.194 5.542 -29.974 -7.303 + 13.687 20.339 -5.154 3.242 -4.028 -1.866 -12.865 11.716 1.548 3.482 + -11.029 17.819 9.427 14.634 2.673 -1.897 -3.130 5.401 18.626 12.380 + 1.157 7.688 0.382 -18.929 -14.190 -7.704 -38.925 37.182 -19.181 43.362 + -33.482 -1.199 6.036 3.029 -2.007 -6.670 -30.312 -2.759 -1.220 -3.696 + -0.500 2.096 3.617 7.254 -1.171 -15.399 -2.437 -8.675 11.705 -0.667 + -12.659 -5.915 -2.542 13.832 1.747 7.719 -3.721 -23.862 -25.626 -3.661 + 18.579 3.677 -9.216 19.678 -13.391 -0.732 -13.822 3.830 -0.991 5.440 + 3.810 3.496 -5.811 16.811 -4.328 -4.622 4.264 22.663 -2.216 -20.735 + -0.798 2.940 7.431 -12.658 6.234 0.712 18.998 -6.864 4.851 4.937 + -1.728 2.401 -15.197 8.696 5.161 3.258 1.772 -1.805 11.531 2.756 + -4.034 -0.528 1.787 17.075 0.024 -15.222 -5.460 -3.966 15.420 1.945 + -11.305 -14.623 -7.194 -19.990 -2.864 -5.028 14.518 -12.256 15.007 1.313 + 33.508 -13.290 -6.680 1.632 -8.990 14.019 -64.988 -0.533 0.630 4.268 + -16.026 13.070 22.298 10.783 -22.394 16.428 10.496 4.437 0.335 4.606 + -18.236 5.445 -23.083 -20.799 -11.389 40.296 12.018 15.527 -13.394 6.888 + 5.631 -4.335 4.230 15.876 1.649 1.858 -6.307 -7.164 13.478 1.104 + 4.116 -1.316 -6.426 -37.327 -1.821 3.585 2.082 -3.893 -1.477 5.169 + -0.426 -11.304 19.233 -7.145 39.497 13.861 35.859 -32.712 15.803 -3.844 + -6.524 -15.349 -3.731 -0.752 5.351 19.186 14.617 2.838 -20.827 15.676 + -4.256 4.166 -38.153 -8.231 23.601 3.834 -14.149 -4.626 12.196 -6.691 + -26.204 0.800 -0.342 14.816 -2.851 -5.880 -5.063 0.688 4.435 0.052 + 7.666 3.162 -7.722 -4.345 -2.110 12.366 -14.205 33.225 11.123 14.621 + -16.904 -0.493 -9.662 9.046 8.108 -2.849 -2.345 -24.112 1.101 11.465 + 8.816 6.077 -8.875 3.709 -4.695 3.538 -5.479 5.831 -40.141 -2.973 + -1.726 24.777 -13.798 2.020 -0.587 17.821 10.505 18.158 -9.843 -6.363 + -1.229 -14.678 -17.007 -3.611 14.290 6.137 -5.811 -12.862 -2.334 5.306 + -2.491 -0.740 0.118 18.584 6.434 1.037 -7.928 -14.623 -7.560 3.684 + -5.815 -4.161 -0.476 1.084 1.824 -3.763 0.788 -2.506 -9.732 -3.735 + 12.036 14.345 24.530 1.488 -5.594 -5.910 6.053 -3.455 20.026 6.748 + -11.182 3.749 10.916 12.968 -18.642 -17.974 6.831 -2.229 -2.050 -5.029 + -24.258 -19.569 -2.983 7.521 8.645 14.965 -0.448 52.964 -14.359 9.440 + -18.104 7.362 -18.093 -26.622 2.406 17.772 18.737 2.072 -8.740 -28.571 + 2.648 -3.621 -4.872 -11.565 17.783 -11.952 2.370 4.884 2.178 -2.574 + 6.340 29.335 -14.217 18.667 -13.225 11.321 -6.985 -5.221 5.748 -44.262 + -3.460 -4.456 11.966 12.708 -3.938 22.784 -21.806 4.711 3.763 0.169 + 4.195 -6.452 5.596 -4.304 -1.508 -11.009 1.245 -12.007 31.893 8.808 + -9.364 -14.918 -3.399 26.503 43.359 -6.930 -14.050 -30.398 -0.001 0.470 + -3.616 -19.329 3.045 -7.529 -9.318 1.824 22.835 8.581 36.624 20.118 + 13.018 4.843 -11.746 -17.767 12.083 -14.525 23.292 -42.050 7.807 -25.648 + 7.070 0.521 7.807 -6.992 6.267 -4.548 -15.276 -6.256 -4.438 -8.731 + 0.600 19.786 17.857 -4.355 9.911 21.825 -2.196 -26.275 -13.100 11.425 + -4.831 -8.277 -19.224 11.951 10.941 6.811 2.484 -6.728 -5.372 -3.017 + 19.416 -4.767 0.619 -5.938 2.586 6.479 15.598 6.141 -10.928 -15.864 + -25.172 11.357 -12.885 9.388 0.074 5.354 11.796 4.899 -9.762 0.225 + -4.486 10.430 -3.725 -7.446 -9.043 -13.096 19.646 -3.561 5.236 -8.182 + 18.817 -17.470 -8.987 -8.579 25.659 -11.937 -12.130 9.530 21.375 -11.839 + 42.636 -9.013 26.247 -9.074 -0.362 -6.319 1.881 10.031 2.941 -30.033 + -5.888 -1.418 -2.315 5.928 -30.695 5.668 -1.360 16.845 16.178 -1.781 + 11.096 -36.994 -2.814 13.914 0.237 25.467 -6.433 22.955 5.347 -5.319 + -7.155 -11.098 -30.872 11.064 -6.886 -10.877 -0.697 -11.266 40.107 -17.444 + 15.167 4.845 3.520 5.097 -11.084 0.856 13.205 0.692 -14.680 -13.214 + 1.107 2.321 1.853 2.146 -4.005 -10.101 -7.950 -1.726 -34.835 -10.218 + 0.994 19.285 17.109 18.476 10.929 2.296 -1.494 7.477 8.051 -11.040 + 21.424 -51.793 -45.508 -16.363 17.017 27.350 6.204 17.517 24.273 -9.334 + 9.781 -3.940 -2.618 2.213 -0.172 -2.728 -4.698 10.020 -2.150 -3.031 + 2.209 7.465 10.922 -11.466 4.930 0.563 8.466 -13.904 19.538 15.081 + -8.654 3.041 3.223 -30.123 -1.807 -5.983 17.501 -5.099 -9.629 3.819 + 8.792 -1.942 5.505 6.275 2.292 5.624 3.537 8.261 0.896 0.915 + -0.412 -20.451 -11.005 -20.572 14.050 -4.046 9.992 3.652 -14.022 -7.299 + 13.157 -0.355 0.539 -11.213 -11.004 -2.284 11.079 -4.778 -0.043 -15.403 + -4.167 -11.887 8.673 -4.647 14.287 33.143 -18.426 -22.032 5.808 2.731 + 10.391 -19.298 -6.959 -0.758 -19.131 22.613 -1.192 11.048 3.188 15.728 + -2.423 6.409 -5.921 13.024 -13.576 3.022 -6.846 -4.296 -1.074 -11.783 + -5.062 1.987 17.441 -20.751 -0.316 -4.654 7.073 -5.772 -16.947 5.256 + -2.795 14.240 0.905 11.332 10.239 -6.778 13.653 2.364 -12.346 -8.934 + 0.209 16.911 9.961 1.745 18.469 -1.302 -20.926 5.015 -29.866 -7.744 + 13.559 19.412 -4.574 3.188 -3.547 -2.835 -13.002 10.544 2.504 3.538 + -9.588 17.249 9.690 13.895 2.885 -1.751 -2.739 4.705 18.099 12.482 + 1.243 7.701 0.441 -18.331 -13.759 -7.662 -37.240 36.212 -18.746 42.215 + -32.612 -1.242 5.615 2.785 -2.229 -6.715 -29.285 -3.736 -1.508 -4.164 + -0.331 2.396 3.283 7.859 -1.008 -15.664 -2.457 -8.755 11.745 -0.682 + -10.455 -5.899 -1.445 12.041 1.756 6.833 -3.923 -22.899 -25.316 -3.737 + 17.874 3.387 -9.141 19.478 -12.710 -0.761 -13.455 3.766 -0.967 4.942 + 3.519 3.493 -5.221 15.820 -4.240 -4.689 4.458 20.752 -2.773 -21.284 + -0.513 2.803 8.105 -11.178 6.576 0.934 18.226 -6.503 5.065 5.592 + -2.048 2.394 -14.610 8.405 4.822 2.820 2.034 -1.547 11.009 2.777 + -4.415 -0.602 1.737 17.027 0.246 -15.143 -5.246 -2.953 14.696 2.993 + -11.924 -14.525 -7.830 -18.294 -2.898 -3.545 12.886 -11.530 13.220 0.220 + 33.384 -13.420 -6.388 1.727 -8.852 14.650 -64.349 -0.348 0.320 4.239 + -16.286 13.009 21.859 10.744 -22.773 16.015 10.208 4.545 0.447 4.401 + -17.946 5.495 -22.598 -20.456 -10.365 39.568 11.644 15.074 -12.895 6.884 + 5.433 -4.167 3.830 14.764 1.210 1.940 -6.032 -6.918 13.663 1.216 + 4.132 -1.308 -6.298 -33.649 -2.309 3.452 1.799 -3.364 -2.179 4.257 + -0.303 -10.095 16.977 -6.270 38.973 13.903 35.496 -32.661 15.694 -3.792 + -6.162 -15.070 -4.062 -0.815 5.260 18.961 15.170 2.670 -20.728 15.514 + -4.129 4.090 -37.654 -9.590 23.596 3.767 -13.606 -4.623 11.640 -6.496 + -25.458 0.256 0.439 13.449 -2.415 -5.620 -3.910 0.498 4.006 -0.276 + 7.703 3.179 -7.521 -4.385 -2.157 11.982 -14.352 33.815 11.370 14.382 + -16.711 -0.485 -9.522 8.797 7.029 -2.827 -1.576 -23.018 1.075 10.802 + 8.456 6.297 -9.105 3.838 -4.745 3.567 -5.085 5.022 -38.775 -2.999 + -1.265 23.798 -14.058 2.626 -1.613 18.611 10.475 17.919 -10.375 -6.318 + -0.996 -13.016 -17.551 -3.987 12.485 6.453 -5.143 -12.745 -2.086 5.267 + -2.455 -0.804 0.163 17.860 6.494 0.707 -7.634 -14.606 -7.468 3.615 + -5.567 -4.354 -0.323 1.072 1.805 -3.594 0.773 -2.126 -9.712 -3.872 + 11.911 14.318 24.559 2.230 -5.519 -6.011 5.332 -3.571 19.759 6.973 + -11.243 3.861 10.958 13.436 -19.057 -18.714 6.489 -1.863 -1.538 -4.692 + -23.779 -19.316 -2.955 7.401 8.541 14.624 -0.876 51.456 -13.827 9.212 + -17.521 6.835 -17.531 -25.616 2.765 16.822 17.997 2.010 -8.380 -28.611 + 2.605 -3.574 -4.521 -11.573 17.235 -11.320 2.333 5.413 1.723 -2.392 + 5.386 29.221 -14.024 18.019 -13.798 11.187 -6.409 -4.947 5.363 -42.755 + -3.077 -4.341 11.504 12.344 -3.653 21.688 -20.790 4.663 4.069 -0.427 + 4.116 -6.618 4.522 -4.213 -1.797 -10.242 0.912 -10.374 32.242 8.942 + -9.678 -15.075 -3.366 26.622 43.523 -7.611 -13.508 -29.947 0.298 0.195 + -4.012 -19.362 2.996 -6.695 -9.133 1.745 21.877 8.143 36.964 18.505 + 12.541 4.704 -11.298 -16.983 11.698 -13.670 22.194 -41.751 8.518 -25.041 + 6.841 0.386 8.051 -6.741 6.009 -3.572 -15.256 -6.418 -4.659 -8.588 + 0.501 19.352 17.486 -4.262 9.189 21.612 -2.064 -25.707 -12.699 11.142 + -4.738 -8.194 -19.028 10.922 13.372 8.419 2.206 -7.284 -6.413 -2.375 + 16.931 -4.587 1.254 -5.478 1.861 6.948 15.428 6.744 -11.069 -15.893 + -25.404 10.747 -12.005 9.254 0.300 4.353 11.039 5.014 -9.545 0.742 + -4.764 10.349 -5.204 -6.746 -8.099 -11.481 18.806 -3.543 5.021 -7.521 + 17.949 -17.088 -9.518 -8.508 26.106 -11.772 -12.159 9.213 21.365 -11.254 + 41.734 -8.741 25.562 -8.739 -0.331 -6.255 2.083 11.467 3.404 -30.014 + -7.437 -1.895 -2.120 5.903 -30.523 4.923 -1.314 16.824 16.284 -2.161 + 11.664 -35.973 -2.310 13.066 -0.461 25.133 -6.157 22.420 5.234 -5.224 + -6.800 -11.582 -30.017 10.913 -6.853 -10.898 -0.736 -10.872 39.083 -17.079 + 16.220 4.933 3.088 4.999 -11.516 0.467 12.603 0.974 -14.023 -12.801 + 1.456 2.617 1.518 1.836 -4.342 -7.042 -6.652 -2.136 -36.529 -8.982 + 3.043 18.885 16.060 17.813 11.104 0.778 -3.271 7.637 8.414 -10.708 + 20.432 -50.039 -43.068 -15.608 15.919 25.858 7.676 17.795 23.428 -9.826 + 9.469 -3.837 -4.953 1.295 0.250 -1.930 -4.955 10.235 -2.508 -2.932 + 2.238 6.390 11.526 -11.203 5.746 0.218 8.237 -13.926 19.619 15.367 + -8.370 2.957 3.063 -29.758 -2.491 -6.922 17.024 -5.106 -9.206 3.849 + 9.694 -1.483 5.426 6.215 2.148 5.526 3.323 8.264 1.087 0.714 + -0.514 -20.362 -12.197 -21.923 13.969 -2.611 11.447 2.685 -14.007 -7.318 + 13.595 -0.452 0.581 -10.646 -11.166 -2.367 11.030 -4.653 -0.054 -15.581 + -4.248 -10.895 8.720 -4.463 13.978 32.609 -19.076 -22.050 5.783 2.694 + 10.027 -18.851 -6.622 -0.583 -18.944 23.890 -1.135 10.799 2.248 15.590 + -2.286 6.404 -5.834 12.521 -13.842 2.742 -6.706 -3.834 -1.022 -11.838 + -4.610 1.950 17.968 -20.242 -0.102 -4.670 6.531 -5.733 -16.754 5.042 + -2.545 13.940 0.674 11.137 9.201 -6.135 12.848 2.601 -12.249 -8.715 + 0.610 16.946 10.331 1.817 18.080 -1.316 -20.582 4.507 -29.708 -8.163 + 13.440 18.549 -4.030 3.140 -3.094 -3.824 -13.137 9.311 3.493 3.583 + -8.110 16.657 9.917 13.137 3.116 -1.595 -2.335 3.902 17.529 12.519 + 1.318 7.710 0.490 -17.609 -13.276 -7.548 -35.384 35.142 -18.284 40.927 + -31.630 -1.291 5.171 2.543 -2.470 -6.800 -28.300 -4.713 -1.766 -4.615 + -0.153 2.691 2.955 8.454 -0.837 -15.900 -2.461 -8.837 11.775 -0.703 + -8.222 -5.895 -0.334 10.231 1.758 5.931 -4.124 -21.882 -25.035 -3.822 + 17.137 3.101 -9.072 19.303 -11.992 -0.795 -13.080 3.701 -0.935 4.410 + 3.212 3.493 -4.613 14.801 -4.153 -4.758 4.654 18.781 -3.340 -21.866 + -0.201 2.659 8.826 -9.674 6.919 1.157 17.427 -6.132 5.321 6.268 + -2.378 2.383 -14.014 8.103 4.441 2.383 2.297 -1.277 10.473 2.712 + -4.736 -0.630 1.691 16.931 0.430 -14.978 -5.034 -1.937 13.981 4.015 + -12.536 -14.430 -8.454 -16.563 -2.925 -2.035 11.234 -10.803 11.420 -0.931 + 33.259 -13.593 -6.074 1.805 -8.655 15.259 -63.570 -0.268 0.066 4.186 + -16.466 12.910 21.336 10.707 -23.198 15.552 9.861 4.657 0.574 4.178 + -17.600 5.536 -22.037 -20.065 -9.278 38.811 11.246 14.586 -12.355 6.855 + 5.237 -4.005 3.449 13.586 0.783 2.021 -5.740 -6.695 13.823 1.335 + 4.145 -1.271 -6.150 -29.862 -2.808 3.296 1.507 -2.843 -2.880 3.342 + -0.180 -8.853 14.631 -5.427 38.409 13.922 35.140 -32.607 15.581 -3.724 + -5.747 -14.770 -4.374 -0.879 5.177 18.682 15.681 2.487 -20.601 15.354 + -4.003 4.074 -37.076 -10.928 23.530 3.693 -13.062 -4.621 11.036 -6.295 + -24.666 -0.287 1.178 12.057 -1.992 -5.300 -2.742 0.308 3.561 -0.642 + 7.754 3.186 -7.300 -4.430 -2.206 11.637 -14.500 34.385 11.588 14.127 + -16.466 -0.470 -9.368 8.509 5.901 -2.799 -0.759 -21.863 1.043 10.107 + 8.001 6.554 -9.402 4.055 -4.833 3.640 -4.670 4.185 -37.331 -3.023 + -0.783 22.758 -14.366 3.239 -2.643 19.440 10.425 17.669 -10.941 -6.260 + -0.752 -11.346 -18.060 -4.391 10.673 6.754 -4.460 -12.657 -1.853 5.238 + -2.384 -0.864 0.196 17.141 6.562 0.345 -7.336 -14.590 -7.364 3.468 + -5.366 -4.488 -0.150 1.064 1.778 -3.405 0.763 -1.726 -9.653 -3.969 + 11.715 14.285 24.615 3.015 -5.441 -6.140 4.583 -3.718 19.475 7.248 + -11.277 3.969 10.967 13.916 -19.431 -19.494 6.137 -1.505 -1.003 -4.334 + -23.320 -19.036 -2.935 7.277 8.437 14.294 -1.316 49.802 -13.258 8.961 + -16.885 6.258 -16.929 -24.525 3.123 15.887 17.247 1.947 -8.013 -28.655 + 2.564 -3.533 -4.166 -11.569 16.622 -10.613 2.288 5.989 1.224 -2.218 + 4.473 29.086 -13.805 17.371 -14.408 11.039 -5.852 -4.649 4.938 -41.109 + -2.626 -4.197 10.939 11.914 -3.363 20.588 -19.716 4.609 4.372 -1.059 + 4.042 -6.777 3.418 -4.119 -2.105 -9.459 0.578 -8.776 32.593 9.066 + -9.983 -15.238 -3.333 26.740 43.691 -8.306 -12.945 -29.476 0.602 -0.099 + -4.443 -19.432 2.918 -5.750 -8.910 1.670 20.829 7.634 37.321 16.811 + 12.066 4.566 -10.839 -16.117 11.290 -12.762 21.005 -41.373 9.151 -24.320 + 6.568 0.322 8.271 -6.512 5.758 -2.571 -15.168 -6.623 -4.831 -8.457 + 0.427 18.845 17.046 -4.145 8.406 21.349 -1.986 -25.088 -12.252 10.830 + -4.625 -8.088 -18.734 9.856 15.857 9.967 1.930 -7.806 -7.406 -1.720 + 14.350 -4.415 1.899 -5.014 1.139 7.408 15.289 7.347 -11.213 -15.926 + -25.642 10.175 -11.194 9.129 0.512 3.372 10.275 5.113 -9.297 1.258 + -4.965 10.318 -6.709 -6.028 -7.122 -9.818 17.844 -3.538 4.786 -6.818 + 17.019 -16.696 -10.067 -8.494 26.528 -11.584 -12.156 8.924 21.283 -10.617 + 40.719 -8.432 24.782 -8.366 -0.267 -6.139 2.345 12.884 3.862 -29.984 + -8.974 -2.371 -1.928 5.867 -30.318 4.167 -1.262 16.792 16.377 -2.569 + 12.254 -34.855 -1.775 12.190 -1.226 24.852 -5.918 21.803 5.064 -5.112 + -6.400 -12.077 -29.041 10.708 -6.835 -10.911 -0.744 -10.448 37.931 -16.677 + 17.212 5.020 2.683 4.982 -11.931 0.058 11.943 1.258 -13.330 -12.375 + 1.760 2.840 1.176 1.542 -4.647 -4.042 -5.339 -2.502 -38.136 -7.660 + 5.128 18.429 14.928 17.104 11.412 -0.718 -5.084 7.651 8.755 -10.340 + 19.409 -48.223 -40.538 -14.834 14.765 24.298 9.137 18.067 22.572 -10.307 + 9.152 -3.736 -7.204 0.376 0.633 -1.126 -5.159 10.469 -2.861 -2.845 + 2.265 5.302 12.075 -10.964 6.562 -0.114 8.014 -13.932 19.707 15.675 + -8.079 2.869 2.897 -29.328 -3.150 -7.923 16.484 -5.128 -8.738 3.930 + 10.561 -1.037 5.335 6.138 2.002 5.433 3.100 8.274 1.227 0.567 + -0.603 -20.264 -13.368 -23.254 13.885 -1.191 12.886 1.709 -14.007 -7.331 + 14.010 -0.541 0.625 -9.969 -11.316 -2.452 10.885 -4.519 -0.068 -15.689 + -4.332 -9.858 8.708 -4.277 13.632 31.934 -19.711 -22.055 5.770 2.630 + 9.626 -18.297 -6.275 -0.379 -18.757 25.180 -1.080 10.502 1.340 15.412 + -2.120 6.380 -5.724 12.018 -14.213 2.477 -6.554 -3.294 -0.971 -11.898 + -4.146 1.900 18.488 -19.735 0.127 -4.685 6.005 -5.701 -16.500 4.777 + -2.268 13.587 0.467 10.915 8.165 -5.458 12.053 2.824 -12.176 -8.512 + 0.966 17.057 10.675 1.896 17.613 -1.330 -20.171 3.991 -29.506 -8.611 + 13.308 17.623 -3.454 3.093 -2.610 -4.834 -13.248 8.129 4.505 3.619 + -6.632 16.078 10.144 12.331 3.331 -1.433 -1.928 3.055 16.960 12.570 + 1.404 7.702 0.536 -16.867 -12.785 -7.427 -33.405 33.926 -17.804 39.520 + -30.546 -1.354 4.738 2.326 -2.702 -6.924 -27.280 -5.740 -2.010 -5.072 + 0.034 3.006 2.615 9.073 -0.616 -16.139 -2.442 -8.952 11.808 -0.739 + -5.923 -5.884 0.804 8.351 1.759 4.999 -4.316 -20.877 -24.774 -3.912 + 16.395 2.817 -8.998 19.042 -11.264 -0.803 -12.654 3.637 -0.938 3.913 + 2.911 3.479 -4.012 13.775 -4.046 -4.821 4.855 16.804 -3.909 -22.415 + 0.076 2.524 9.495 -8.131 7.260 1.389 16.554 -5.723 5.642 6.984 + -2.732 2.363 -13.395 7.809 4.043 1.947 2.553 -1.019 9.904 2.591 + -5.051 -0.629 1.654 16.800 0.614 -14.778 -4.812 -0.923 13.254 5.058 + -13.146 -14.333 -9.082 -14.779 -2.986 -0.489 9.526 -10.045 9.565 -2.039 + 33.154 -13.714 -5.777 1.887 -8.485 15.866 -62.702 -0.202 -0.174 4.130 + -16.627 12.774 20.742 10.665 -23.650 15.068 9.492 4.777 0.710 3.929 + -17.224 5.564 -21.428 -19.608 -8.144 37.993 10.821 14.044 -11.739 6.793 + 5.054 -3.863 3.093 12.400 0.364 2.096 -5.441 -6.476 13.954 1.457 + 4.150 -1.304 -5.957 -25.958 -3.273 3.140 1.223 -2.282 -3.637 2.373 + -0.054 -7.601 12.225 -4.591 37.794 13.902 34.761 -32.539 15.466 -3.594 + -5.314 -14.429 -4.726 -0.936 5.083 18.316 16.192 2.316 -20.384 15.198 + -3.876 4.087 -36.438 -12.300 23.413 3.619 -12.516 -4.612 10.368 -6.079 + -23.857 -0.817 1.941 10.636 -1.578 -4.999 -1.544 0.119 3.128 -1.047 + 7.818 3.167 -7.054 -4.488 -2.220 11.312 -14.625 34.919 11.795 13.823 + -16.129 -0.446 -9.181 8.153 4.724 -2.777 0.094 -20.661 1.016 9.372 + 7.535 6.811 -9.707 4.278 -4.921 3.720 -4.272 3.353 -35.825 -3.040 + -0.284 21.646 -14.670 3.824 -3.658 20.254 10.388 17.406 -11.509 -6.199 + -0.508 -9.626 -18.584 -4.797 8.837 7.051 -3.766 -12.582 -1.603 5.220 + -2.314 -0.918 0.225 16.451 6.629 -0.010 -7.048 -14.564 -7.265 3.257 + -5.234 -4.614 0.033 1.076 1.748 -3.200 0.770 -1.285 -9.568 -4.038 + 11.470 14.249 24.674 3.812 -5.359 -6.277 3.819 -3.826 19.161 7.481 + -11.336 4.089 11.003 14.397 -19.817 -20.296 5.771 -1.136 -0.440 -3.917 + -22.876 -18.778 -2.947 7.171 8.377 13.927 -1.765 47.978 -12.626 8.701 + -16.178 5.647 -16.299 -23.355 3.482 14.943 16.495 1.885 -7.655 -28.701 + 2.522 -3.482 -3.801 -11.566 16.042 -9.946 2.248 6.516 0.778 -2.053 + 3.617 28.885 -13.567 16.672 -14.931 10.875 -5.251 -4.384 4.492 -39.417 + -2.184 -4.038 10.345 11.454 -3.063 19.450 -18.650 4.553 4.675 -1.686 + 3.971 -6.948 2.351 -4.034 -2.374 -8.700 0.254 -7.224 32.969 9.163 + -10.283 -15.403 -3.288 26.851 43.849 -9.019 -12.343 -28.956 0.915 -0.417 + -4.921 -19.484 2.850 -4.806 -8.693 1.583 19.785 7.053 37.659 15.020 + 11.581 4.430 -10.362 -15.169 10.858 -11.793 19.758 -40.931 9.766 -23.546 + 6.263 0.277 8.484 -6.285 5.513 -1.489 -15.006 -6.841 -5.003 -8.319 + 0.347 18.261 16.541 -4.007 7.635 21.041 -1.904 -24.440 -11.783 10.495 + -4.516 -7.974 -18.409 8.680 18.350 11.395 1.684 -8.286 -8.282 -1.054 + 11.707 -4.231 2.573 -4.533 0.401 7.868 15.113 7.922 -11.360 -15.943 + -25.865 9.629 -10.381 9.042 0.718 2.372 9.492 5.191 -9.013 1.766 + -5.209 10.311 -8.284 -5.292 -6.086 -8.078 16.856 -3.533 4.550 -6.069 + 16.020 -16.293 -10.575 -8.493 26.942 -11.398 -12.147 8.625 21.097 -9.893 + 39.600 -8.062 23.892 -7.956 -0.179 -5.993 2.639 14.209 4.288 -29.909 + -10.425 -2.825 -1.744 5.804 -30.096 3.456 -1.200 16.744 16.436 -2.978 + 12.865 -33.690 -1.223 11.293 -2.035 24.478 -5.688 21.124 4.927 -4.997 + -5.997 -12.553 -27.944 10.537 -6.794 -10.930 -0.768 -10.012 36.675 -16.251 + 18.149 5.104 2.297 5.019 -12.360 -0.390 11.231 1.544 -12.607 -11.945 + 2.075 3.073 0.829 1.249 -4.948 -1.034 -4.026 -2.875 -39.681 -6.252 + 7.269 17.923 13.725 16.355 11.701 -2.255 -6.955 7.653 9.096 -9.951 + 18.369 -46.332 -37.918 -14.027 13.561 22.674 10.541 18.340 21.743 -10.758 + 8.850 -3.639 -9.409 -0.570 0.965 -0.315 -5.352 10.713 -3.199 -2.767 + 2.288 4.262 12.647 -10.717 7.352 -0.439 7.795 -14.007 19.745 15.966 + -7.769 2.792 2.717 -28.838 -3.814 -8.948 15.905 -5.154 -8.237 4.055 + 11.386 -0.498 5.259 6.062 1.836 5.304 2.885 8.207 1.331 0.447 + -0.694 -20.141 -14.473 -24.489 13.775 0.184 14.246 0.808 -13.966 -7.345 + 14.386 -0.634 0.668 -9.312 -11.502 -2.540 10.741 -4.379 -0.080 -15.841 + -4.418 -8.801 8.730 -4.094 13.290 31.287 -20.278 -21.977 5.750 2.524 + 9.152 -17.762 -5.925 -0.177 -18.544 26.435 -1.023 10.222 0.462 15.236 + -1.960 6.334 -5.613 11.438 -14.566 2.171 -6.368 -2.750 -0.902 -11.906 + -3.735 1.878 18.971 -19.135 0.344 -4.680 5.429 -5.661 -16.176 4.462 + -1.949 13.169 0.292 10.652 7.127 -4.769 11.246 3.029 -12.123 -8.315 + 1.361 17.240 11.053 1.962 17.080 -1.359 -19.795 3.496 -29.318 -9.064 + 13.183 16.666 -2.866 3.041 -2.113 -5.836 -13.367 6.941 5.510 3.658 + -5.141 15.504 10.367 11.500 3.541 -1.278 -1.518 2.124 16.415 12.629 + 1.541 7.648 0.583 -16.094 -12.274 -7.296 -31.307 32.626 -17.325 37.996 + -29.374 -1.430 4.304 2.105 -2.932 -7.029 -26.252 -6.763 -2.272 -5.533 + 0.222 3.321 2.279 9.692 -0.422 -16.348 -2.426 -9.049 11.830 -0.768 + -3.601 -5.888 1.944 6.462 1.763 4.065 -4.543 -19.862 -24.499 -3.997 + 15.654 2.528 -8.940 18.771 -10.556 -0.797 -12.201 3.578 -0.927 3.392 + 2.604 3.447 -3.418 12.748 -3.921 -4.878 5.062 14.808 -4.489 -22.906 + 0.305 2.400 10.091 -6.526 7.604 1.633 15.707 -5.317 5.993 7.676 + -3.073 2.344 -12.768 7.495 3.633 1.507 2.813 -0.766 9.313 2.531 + -5.343 -0.606 1.604 16.637 0.805 -14.592 -4.585 0.112 12.494 6.113 + -13.760 -14.223 -9.722 -12.953 -3.110 1.117 7.751 -9.248 7.633 -3.174 + 33.051 -13.876 -5.455 1.965 -8.256 16.512 -61.722 -0.140 -0.411 4.073 + -16.775 12.599 20.062 10.606 -24.187 14.571 9.089 4.933 0.863 3.638 + -16.788 5.576 -20.747 -19.125 -6.967 37.106 10.355 13.473 -11.074 6.723 + 4.866 -3.697 2.773 11.221 -0.105 2.166 -5.168 -6.200 14.066 1.581 + 4.139 -1.300 -5.772 -22.031 -3.746 2.972 0.932 -1.744 -4.371 1.419 + 0.067 -6.340 9.794 -3.734 37.129 13.871 34.360 -32.451 15.346 -3.421 + -4.837 -14.053 -5.122 -0.994 4.977 17.871 16.694 2.117 -20.099 15.031 + -3.749 4.194 -35.782 -13.660 23.214 3.554 -11.977 -4.602 9.687 -5.861 + -23.106 -1.342 2.714 9.283 -1.195 -4.675 -0.389 -0.059 2.699 -1.437 + 7.884 3.154 -6.806 -4.541 -2.257 10.968 -14.751 35.461 12.000 13.518 + -15.801 -0.430 -9.001 7.809 3.541 -2.766 1.008 -19.445 0.995 8.611 + 7.029 7.083 -10.051 4.528 -5.015 3.803 -3.894 2.519 -34.273 -3.047 + 0.214 20.520 -14.912 4.421 -4.732 21.049 10.364 17.153 -12.054 -6.148 + -0.272 -7.962 -19.104 -5.176 7.046 7.338 -3.089 -12.510 -1.356 5.198 + -2.220 -0.970 0.251 15.770 6.621 -0.347 -6.777 -14.482 -7.173 3.058 + -5.178 -4.749 0.181 1.140 1.728 -2.988 0.787 -0.846 -9.466 -4.082 + 11.219 14.200 24.688 4.573 -5.266 -6.375 3.074 -3.947 18.846 7.752 + -11.394 4.204 11.036 14.882 -20.169 -21.125 5.405 -0.765 0.126 -3.497 + -22.420 -18.517 -2.949 7.044 8.299 13.521 -2.263 46.122 -11.968 8.441 + -15.450 5.031 -15.649 -22.168 3.846 14.028 15.722 1.832 -7.318 -28.687 + 2.480 -3.439 -3.492 -11.573 15.480 -9.247 2.212 7.031 0.322 -1.886 + 2.745 28.657 -13.330 15.987 -15.398 10.709 -4.648 -4.130 4.043 -37.658 + -1.761 -3.876 9.717 10.977 -2.760 18.256 -17.593 4.496 4.990 -2.294 + 3.899 -7.109 1.276 -3.948 -2.651 -7.920 -0.078 -5.656 33.332 9.276 + -10.558 -15.515 -3.246 26.946 43.979 -9.747 -11.743 -28.416 1.234 -0.745 + -5.427 -19.527 2.785 -3.837 -8.469 1.500 18.708 6.476 37.967 13.234 + 11.081 4.294 -9.904 -14.219 10.428 -10.803 18.416 -40.431 10.336 -22.685 + 5.921 0.287 8.701 -6.055 5.272 -0.281 -14.804 -7.065 -5.234 -8.168 + 0.233 17.617 15.986 -3.837 6.813 20.648 -1.830 -23.746 -11.259 10.128 + -4.405 -7.844 -18.053 7.536 20.858 12.791 1.443 -8.757 -9.141 -0.392 + 9.048 -4.045 3.220 -4.064 -0.315 8.323 14.941 8.498 -11.505 -15.969 + -26.097 9.094 -9.539 9.004 0.927 1.324 8.653 5.248 -8.695 2.277 + -5.477 10.442 -9.925 -4.533 -5.018 -6.292 15.796 -3.554 4.314 -5.251 + 14.877 -15.860 -11.063 -8.508 27.340 -11.202 -12.117 8.333 20.880 -9.056 + 38.452 -7.656 22.913 -7.511 -0.102 -5.871 2.905 15.471 4.703 -29.817 + -11.822 -3.266 -1.557 5.727 -29.858 2.752 -1.131 16.684 16.473 -3.399 + 13.473 -32.453 -0.653 10.380 -2.888 24.122 -5.442 20.422 4.774 -4.880 + -5.578 -13.051 -26.797 10.317 -6.759 -10.944 -0.777 -9.558 35.356 -15.794 + 19.119 5.165 1.868 5.008 -12.753 -0.786 10.549 1.823 -11.897 -11.520 + 2.356 3.263 0.489 0.979 -5.220 2.012 -2.673 -3.234 -41.174 -4.757 + 9.461 17.361 12.444 15.567 12.019 -3.845 -8.881 7.616 9.447 -9.541 + 17.232 -44.317 -35.128 -13.137 12.261 20.920 11.947 18.576 20.863 -11.184 + 8.583 -3.518 -11.658 -1.539 1.313 0.528 -5.565 10.950 -3.562 -2.683 + 2.311 3.263 13.214 -10.468 8.081 -0.752 7.585 -14.095 19.760 16.243 + -7.438 2.728 2.530 -28.239 -4.485 -10.027 15.253 -5.203 -7.676 4.243 + 12.171 0.096 5.159 5.972 1.669 5.151 2.693 8.090 1.415 0.350 + -0.780 -20.035 -15.491 -25.658 13.658 1.511 15.546 -0.173 -13.919 -7.365 + 14.804 -0.737 0.716 -8.582 -11.693 -2.629 10.556 -4.217 -0.096 -15.970 + -4.493 -7.711 8.740 -3.912 12.929 30.551 -20.854 -21.916 5.727 2.412 + 8.664 -17.168 -5.564 0.058 -18.311 27.661 -0.969 9.833 -0.362 15.006 + -1.711 6.283 -5.456 10.846 -15.026 1.861 -6.144 -2.103 -0.814 -11.919 + -3.364 1.858 19.432 -18.466 0.549 -4.663 4.804 -5.614 -15.853 4.147 + -1.634 12.757 0.105 10.394 6.048 -4.072 10.404 3.263 -12.054 -8.092 + 1.721 17.421 11.413 2.049 16.521 -1.378 -19.393 3.018 -29.116 -9.493 + 13.036 15.695 -2.286 2.993 -1.618 -6.849 -13.468 5.742 6.523 3.690 + -3.645 14.918 10.543 10.715 3.755 -1.104 -1.122 1.101 15.889 12.589 + 1.718 7.571 0.646 -15.278 -11.732 -7.128 -29.095 31.184 -16.793 36.356 + -28.104 -1.526 3.871 1.895 -3.154 -7.115 -25.185 -7.801 -2.542 -5.999 + 0.410 3.633 1.944 10.309 -0.209 -16.558 -2.416 -9.159 11.857 -0.798 + -1.203 -5.910 3.105 4.503 1.779 3.103 -4.747 -18.758 -24.205 -4.112 + 14.850 2.229 -8.899 18.505 -9.849 -0.788 -11.730 3.533 -0.908 2.846 + 2.288 3.401 -2.827 11.697 -3.774 -4.924 5.278 12.799 -5.070 -23.389 + 0.533 2.275 10.686 -4.914 7.942 1.881 14.876 -4.930 6.335 8.365 + -3.413 2.321 -12.224 7.228 3.249 1.140 3.034 -0.514 8.737 2.402 + -5.647 -0.589 1.557 16.471 0.977 -14.336 -4.351 1.156 11.744 7.160 + -14.369 -14.116 -10.352 -11.108 -3.261 2.766 5.956 -8.430 5.666 -4.325 + 32.961 -14.078 -5.123 2.025 -7.985 17.118 -60.659 -0.099 -0.611 4.018 + -16.875 12.402 19.314 10.527 -24.786 14.091 8.625 5.106 1.014 3.332 + -16.282 5.573 -19.981 -18.597 -5.794 36.191 9.882 12.895 -10.393 6.622 + 4.677 -3.547 2.505 10.020 -0.529 2.232 -4.884 -5.918 14.123 1.719 + 4.097 -1.290 -5.596 -18.077 -4.219 2.792 0.633 -1.216 -5.102 0.457 + 0.189 -5.063 7.344 -2.857 36.421 13.822 33.935 -32.348 15.220 -3.225 + -4.345 -13.666 -5.539 -1.043 4.867 17.320 17.159 1.949 -19.710 14.871 + -3.624 4.404 -35.095 -15.053 22.936 3.483 -11.436 -4.604 9.001 -5.626 + -22.389 -1.866 3.487 7.962 -0.809 -4.351 0.730 -0.235 2.276 -1.777 + 7.923 3.175 -6.565 -4.584 -2.312 10.587 -14.846 35.965 12.173 13.186 + -15.414 -0.408 -8.797 7.417 2.352 -2.761 1.947 -18.195 0.964 7.846 + 6.473 7.359 -10.400 4.771 -5.100 3.879 -3.456 1.647 -32.649 -3.038 + 0.729 19.340 -15.154 5.022 -5.820 21.873 10.328 16.895 -12.609 -6.091 + -0.036 -6.296 -19.604 -5.564 5.247 7.623 -2.411 -12.334 -1.141 5.134 + -2.219 -1.019 0.314 15.087 6.557 -0.670 -6.512 -14.344 -7.083 2.829 + -5.093 -4.937 0.339 1.174 1.698 -2.756 0.824 -0.358 -9.372 -4.142 + 10.981 14.147 24.643 5.280 -5.167 -6.416 2.374 -4.062 18.566 7.997 + -11.455 4.321 11.076 15.330 -20.503 -21.894 5.069 -0.423 0.653 -3.043 + -21.967 -18.257 -2.977 6.919 8.240 13.149 -2.795 44.264 -11.342 8.176 + -14.762 4.416 -14.977 -20.956 4.210 13.144 14.979 1.762 -6.946 -28.661 + 2.447 -3.403 -3.205 -11.565 14.881 -8.553 2.175 7.536 -0.139 -1.738 + 1.904 28.476 -13.077 15.271 -15.884 10.537 -4.026 -3.886 3.574 -35.845 + -1.300 -3.704 9.053 10.467 -2.426 17.019 -16.502 4.428 5.312 -2.918 + 3.826 -7.267 0.205 -3.868 -2.911 -7.146 -0.410 -4.110 33.645 9.346 + -10.806 -15.594 -3.193 27.026 44.080 -10.448 -11.155 -27.914 1.557 -1.061 + -5.892 -19.575 2.704 -2.874 -8.243 1.425 17.636 5.850 38.267 11.398 + 10.582 4.160 -9.428 -13.229 9.985 -9.789 16.998 -39.889 10.865 -21.757 + 5.543 0.333 8.925 -5.822 5.031 0.943 -14.543 -7.320 -5.436 -8.020 + 0.145 16.929 15.391 -3.654 5.920 20.171 -1.773 -22.984 -10.676 9.720 + -4.286 -7.694 -17.636 6.424 23.366 14.183 1.190 -9.217 -9.999 0.262 + 6.376 -3.867 3.852 -3.606 -1.016 8.793 14.740 9.056 -11.657 -15.981 + -26.321 8.592 -8.734 8.980 1.132 0.274 7.806 5.269 -8.323 2.783 + -5.676 10.566 -11.549 -3.789 -3.972 -4.514 14.697 -3.573 4.078 -4.439 + 13.758 -15.412 -11.580 -8.557 27.667 -10.983 -12.042 8.083 20.667 -8.231 + 37.269 -7.247 21.909 -7.062 -0.028 -5.714 3.194 16.584 5.072 -29.696 + -13.073 -3.665 -1.389 5.636 -29.595 2.109 -1.052 16.599 16.469 -3.798 + 14.064 -31.265 -0.090 9.461 -3.711 23.760 -5.195 19.686 4.598 -4.739 + -5.132 -13.596 -25.522 10.038 -6.722 -10.954 -0.771 -9.062 33.912 -15.295 + 20.071 5.198 1.446 5.012 -13.106 -1.168 9.829 2.082 -11.172 -11.052 + 2.610 3.403 0.135 0.723 -5.470 5.030 -1.342 -3.591 -42.609 -3.246 + 11.631 16.781 11.156 14.782 12.358 -5.474 -10.834 7.521 9.801 -9.110 + 16.087 -42.208 -32.254 -12.209 10.918 19.111 13.336 18.759 19.938 -11.605 + 8.316 -3.388 -13.884 -2.451 1.691 1.413 -5.757 11.205 -3.947 -2.593 + 2.329 2.326 13.733 -10.247 8.741 -1.043 7.393 -14.209 19.781 16.508 + -7.092 2.655 2.339 -27.631 -5.144 -11.097 14.602 -5.256 -7.112 4.483 + 12.979 0.683 5.033 5.869 1.514 4.971 2.496 7.953 1.497 0.236 + -0.865 -19.918 -16.452 -26.744 13.529 2.785 16.777 -1.085 -13.882 -7.365 + 15.168 -0.829 0.758 -7.854 -11.885 -2.722 10.350 -4.039 -0.110 -16.017 + -4.585 -6.594 8.673 -3.726 12.551 29.778 -21.354 -21.769 5.711 2.251 + 8.090 -16.543 -5.203 0.300 -18.076 28.858 -0.926 9.481 -1.179 14.800 + -1.500 6.230 -5.322 10.237 -15.506 1.538 -5.914 -1.452 -0.722 -11.927 + -2.956 1.840 19.878 -17.741 0.742 -4.637 4.111 -5.553 -15.527 3.834 + -1.327 12.345 -0.080 10.138 5.005 -3.381 9.591 3.485 -11.993 -7.878 + 2.022 17.631 11.733 2.139 15.924 -1.396 -18.948 2.557 -28.878 -9.864 + 12.852 14.706 -1.739 2.957 -1.132 -7.872 -13.555 4.558 7.534 3.728 + -2.131 14.258 10.697 9.897 4.016 -0.915 -0.711 0.041 15.383 12.502 + 1.910 7.471 0.727 -14.436 -11.175 -6.951 -26.744 29.619 -16.225 34.583 + -26.733 -1.633 3.439 1.690 -3.379 -7.216 -24.131 -8.838 -2.789 -6.447 + 0.607 3.935 1.618 10.911 0.007 -16.773 -2.408 -9.253 11.880 -0.821 + 1.207 -5.897 4.285 2.519 1.786 2.125 -4.969 -17.676 -23.919 -4.199 + 14.060 1.933 -8.899 18.228 -9.140 -0.752 -11.233 3.496 -0.873 2.276 + 1.965 3.353 -2.226 10.619 -3.624 -4.971 5.501 10.794 -5.662 -23.817 + 0.740 2.154 11.245 -3.290 8.279 2.123 14.030 -4.554 6.709 9.059 + -3.748 2.293 -11.737 7.001 2.826 0.824 3.229 -0.262 8.153 2.186 + -5.877 -0.524 1.518 16.253 1.123 -14.008 -4.118 2.194 10.956 8.202 + -14.969 -14.014 -10.968 -9.298 -3.346 4.363 4.190 -7.624 3.730 -5.521 + 32.858 -14.313 -4.753 2.090 -7.664 17.712 -59.534 -0.100 -0.791 3.957 + -16.942 12.187 18.527 10.449 -25.325 13.640 8.084 5.228 1.130 3.087 + -15.772 5.561 -19.207 -18.027 -4.527 35.165 9.368 12.230 -9.639 6.531 + 4.482 -3.373 2.240 8.781 -0.879 2.308 -4.571 -5.683 14.155 1.857 + 4.040 -1.254 -5.413 -14.132 -4.707 2.611 0.334 -0.697 -5.816 -0.478 + 0.313 -3.796 4.887 -1.965 35.684 13.757 33.498 -32.237 15.093 -3.044 + -3.844 -13.266 -5.943 -1.099 4.759 16.637 17.644 1.783 -19.192 14.702 + -3.509 4.716 -34.360 -16.445 22.550 3.427 -10.899 -4.594 8.266 -5.392 + -21.672 -2.421 4.303 6.685 -0.407 -4.070 1.802 -0.405 1.856 -2.130 + 7.949 3.234 -6.321 -4.622 -2.384 10.174 -14.914 36.440 12.380 12.817 + -14.987 -0.383 -8.576 6.991 1.132 -2.742 2.888 -16.930 0.934 7.067 + 5.973 7.584 -10.712 4.970 -5.147 3.922 -3.043 0.791 -31.012 -3.033 + 1.247 18.140 -15.356 5.597 -6.886 22.694 10.304 16.602 -13.179 -6.031 + 0.214 -4.616 -20.132 -5.912 3.451 7.902 -1.732 -12.226 -0.885 5.037 + -2.147 -1.074 0.373 14.391 6.464 -0.987 -6.255 -14.184 -6.994 2.641 + -4.937 -5.044 0.509 1.180 1.653 -2.556 0.833 0.061 -9.281 -4.220 + 10.745 14.098 24.600 5.977 -5.067 -6.453 1.683 -4.187 18.273 8.247 + -11.510 4.441 11.112 15.802 -20.911 -22.646 4.726 -0.059 1.177 -2.625 + -21.439 -18.007 -3.003 6.789 8.163 12.786 -3.392 42.259 -10.680 7.919 + -14.017 3.754 -14.265 -19.668 4.572 12.250 14.289 1.689 -6.539 -28.681 + 2.412 -3.371 -2.895 -11.555 14.298 -7.886 2.140 8.017 -0.580 -1.594 + 1.056 28.326 -12.818 14.533 -16.380 10.364 -3.403 -3.641 3.093 -33.922 + -0.791 -3.519 8.306 9.902 -2.093 15.782 -15.409 4.355 5.636 -3.509 + 3.755 -7.467 -0.841 -3.789 -3.153 -6.376 -0.733 -2.553 33.872 9.438 + -11.062 -15.633 -3.141 27.099 44.159 -11.157 -10.537 -27.360 1.886 -1.394 + -6.391 -19.594 2.605 -1.897 -8.017 1.344 16.536 5.150 38.593 9.485 + 10.078 4.025 -8.934 -12.177 9.514 -8.727 15.659 -39.284 11.404 -20.844 + 5.166 0.357 9.082 -5.633 4.804 2.270 -14.219 -7.635 -5.630 -7.865 + 0.069 16.137 14.717 -3.423 4.966 19.654 -1.777 -22.181 -10.057 9.279 + -4.155 -7.533 -17.123 5.307 25.863 15.519 0.950 -9.653 -10.814 0.918 + 3.687 -3.688 4.480 -3.151 -1.706 9.228 14.575 9.619 -11.809 -16.007 + -26.560 8.122 -7.963 8.963 1.327 -0.757 6.976 5.285 -7.946 3.280 + -5.890 10.780 -13.190 -3.030 -2.924 -2.731 13.570 -3.604 3.828 -3.589 + 12.565 -14.938 -12.102 -8.542 28.050 -10.784 -12.003 7.785 20.445 -7.358 + 35.993 -6.815 20.837 -6.587 0.052 -5.532 3.507 17.666 5.432 -29.537 + -14.301 -4.059 -1.224 5.549 -29.366 1.514 -0.966 16.499 16.447 -4.190 + 14.689 -30.096 0.476 8.532 -4.541 23.412 -4.983 18.908 4.374 -4.571 + -4.658 -14.142 -24.122 9.753 -6.683 -10.962 -0.767 -8.548 32.347 -14.775 + 21.026 5.229 1.002 5.081 -13.496 -1.634 9.047 2.374 -10.369 -10.635 + 2.852 3.554 -0.202 0.492 -5.694 8.120 0.020 -3.966 -44.031 -1.712 + 13.815 16.175 9.825 13.970 12.709 -7.078 -12.772 7.405 10.146 -8.675 + 14.942 -40.052 -29.341 -11.254 9.539 17.256 14.691 18.946 19.026 -12.026 + 8.029 -3.268 -16.143 -3.388 2.071 2.380 -5.983 11.458 -4.381 -2.481 + 2.348 1.458 14.232 -10.044 9.318 -1.310 7.225 -14.297 19.817 16.720 + -6.776 2.575 2.180 -26.981 -5.786 -12.173 13.928 -5.316 -6.532 4.742 + 13.740 1.280 4.906 5.772 1.340 4.780 2.297 7.815 1.557 0.155 + -0.945 -19.784 -17.356 -27.740 13.385 4.004 17.927 -1.969 -13.852 -7.353 + 15.505 -0.915 0.800 -6.991 -12.101 -2.805 10.010 -3.848 -0.132 -16.018 + -4.666 -5.465 8.547 -3.540 12.143 28.950 -21.840 -21.580 5.697 2.062 + 7.471 -15.884 -4.829 0.552 -17.804 30.108 -0.879 9.083 -2.054 14.574 + -1.262 6.186 -5.172 9.597 -15.995 1.196 -5.664 -0.765 -0.621 -11.906 + -2.609 1.844 20.289 -16.927 0.913 -4.607 3.363 -5.489 -15.154 3.511 + -0.993 11.884 -0.234 9.854 4.019 -2.721 8.817 3.691 -11.936 -7.679 + 2.247 17.842 12.002 2.244 15.327 -1.403 -18.479 2.109 -28.618 -10.200 + 12.665 13.750 -1.205 2.923 -0.654 -8.954 -13.635 3.301 8.595 3.750 + -0.578 13.617 10.851 9.127 4.255 -0.729 -0.315 -1.078 14.859 12.346 + 2.110 7.363 0.811 -13.540 -10.590 -6.736 -24.256 27.979 -15.612 32.695 + -25.282 -1.750 2.987 1.473 -3.614 -7.297 -23.053 -9.866 -3.057 -6.916 + 0.795 4.232 1.296 11.504 0.269 -16.976 -2.383 -9.373 11.904 -0.855 + 3.617 -5.908 5.461 0.516 1.796 1.139 -5.157 -16.552 -23.599 -4.306 + 13.247 1.625 -8.928 17.876 -8.468 -0.678 -10.697 3.472 -0.852 1.737 + 1.657 3.299 -1.627 9.545 -3.469 -5.015 5.723 8.807 -6.266 -24.200 + 0.924 2.043 11.765 -1.660 8.616 2.359 13.194 -4.193 7.072 9.736 + -4.073 2.268 -11.246 6.787 2.383 0.504 3.423 -0.006 7.564 1.888 + -6.070 -0.414 1.472 15.998 1.230 -13.604 -3.873 3.221 10.177 9.246 + -15.562 -13.917 -11.581 -7.466 -3.444 5.973 2.397 -6.812 1.765 -6.759 + 32.772 -14.571 -4.345 2.144 -7.284 18.322 -58.304 -0.144 -0.938 3.888 + -16.976 11.932 17.670 10.368 -25.928 13.148 7.432 5.346 1.250 2.867 + -15.203 5.538 -18.368 -17.391 -3.138 34.106 8.821 11.496 -8.811 6.414 + 4.278 -3.216 2.006 7.520 -1.245 2.384 -4.253 -5.434 14.159 1.996 + 3.970 -1.182 -5.325 -10.220 -5.206 2.445 0.040 -0.211 -6.469 -1.340 + 0.444 -2.513 2.394 -1.057 34.894 13.663 33.047 -32.108 14.967 -2.926 + -3.296 -12.850 -6.277 -1.174 4.663 15.851 18.128 1.584 -18.574 14.537 + -3.391 5.067 -33.574 -17.821 22.105 3.378 -10.365 -4.573 7.463 -5.139 + -20.940 -2.946 5.087 5.350 -0.032 -3.732 2.896 -0.568 1.428 -2.475 + 8.017 3.168 -6.058 -4.687 -2.369 9.755 -14.975 36.902 12.594 12.422 + -14.508 -0.369 -8.337 6.529 -0.103 -2.724 3.845 -15.647 0.902 6.279 + 5.517 7.788 -11.029 5.141 -5.171 3.942 -2.675 -0.095 -29.234 -3.018 + 1.799 16.833 -15.521 6.161 -7.964 23.492 10.290 16.302 -13.746 -5.972 + 0.468 -2.923 -20.672 -6.255 1.653 8.178 -1.046 -12.136 -0.665 4.941 + -2.055 -1.115 0.426 13.712 6.371 -1.315 -5.997 -14.014 -6.896 2.422 + -4.759 -5.099 0.685 1.169 1.600 -2.354 0.827 0.481 -9.174 -4.284 + 10.464 14.041 24.544 6.676 -4.965 -6.478 1.000 -4.287 17.978 8.460 + -11.578 4.572 11.162 16.246 -21.305 -23.347 4.401 0.291 1.672 -2.175 + -20.887 -17.709 -3.024 6.647 8.057 12.355 -3.995 40.121 -9.954 7.639 + -13.197 3.081 -13.530 -18.332 4.927 11.349 13.592 1.606 -6.100 -28.670 + 2.381 -3.349 -2.595 -11.538 13.698 -7.225 2.103 8.486 -0.991 -1.457 + 0.218 28.143 -12.544 13.772 -16.864 10.182 -2.764 -3.397 2.573 -31.892 + -0.252 -3.311 7.490 9.291 -1.725 14.502 -14.379 4.268 5.951 -4.036 + 3.653 -7.617 -1.884 -3.699 -3.414 -5.602 -1.038 -1.011 34.091 9.508 + -11.312 -15.669 -3.086 27.162 44.220 -11.887 -9.858 -26.713 2.234 -1.775 + -6.979 -19.615 2.521 -0.926 -7.788 1.265 15.435 4.345 38.920 7.557 + 9.583 3.895 -8.481 -11.041 9.025 -7.603 14.307 -38.628 11.910 -19.879 + 4.774 0.399 9.197 -5.471 4.583 3.674 -13.866 -7.942 -5.845 -7.697 + -0.015 15.301 14.004 -3.179 3.956 19.068 -1.890 -21.338 -9.398 8.804 + -4.014 -7.351 -16.478 4.194 28.285 16.862 0.712 -10.085 -11.617 1.567 + 1.065 -3.509 5.111 -2.691 -2.408 9.692 14.334 10.166 -11.960 -16.009 + -26.777 7.674 -7.217 8.962 1.522 -1.801 6.125 5.259 -7.502 3.770 diff --git a/test/Test_VelFrc/trpzip2.pos.crd.save b/test/Test_VelFrc/trpzip2.pos.crd.save new file mode 100644 index 0000000000..be532f17a2 --- /dev/null +++ b/test/Test_VelFrc/trpzip2.pos.crd.save @@ -0,0 +1,6601 @@ +Cpptraj Generated trajectory + -2.761 9.171 -0.795 -3.079 8.597 -1.570 -1.746 9.170 -0.802 -3.094 + 10.118 -0.905 -3.241 8.591 0.470 -2.812 9.157 1.295 -4.764 8.650 + 0.586 -5.123 9.650 0.328 -5.222 7.913 -0.077 -5.093 8.374 1.928 + -6.028 8.148 1.999 -2.767 7.151 0.578 -2.428 6.563 -0.446 -2.727 + 6.581 1.782 -3.094 7.088 2.577 -2.414 5.164 1.983 -1.602 4.898 + 1.306 -1.900 4.942 3.411 -2.710 5.141 4.115 -1.603 3.902 3.526 + -0.726 5.807 3.759 -0.692 6.749 4.731 -1.506 6.974 5.406 0.543 + 7.371 4.727 0.813 8.079 5.399 1.367 6.866 3.743 2.669 7.174 + 3.332 3.229 7.960 3.822 3.247 6.439 2.282 4.258 6.658 1.961 + 2.520 5.405 1.667 2.975 4.831 0.877 1.210 5.104 2.088 0.672 + 4.294 1.622 0.592 5.835 3.129 -3.604 4.258 1.637 -4.755 4.694 + 1.635 -3.330 3.001 1.297 -2.352 2.737 1.228 -4.302 1.960 0.910 + -5.174 2.007 1.563 -4.763 2.214 -0.542 -3.890 2.435 -1.156 -5.557 + 1.095 -1.215 -6.376 0.772 -0.573 -5.975 1.453 -2.155 -4.904 0.253 + -1.437 -5.610 3.339 -0.564 -5.382 3.903 0.193 -3.654 0.579 1.091 + -2.428 0.492 1.172 -4.440 -0.497 1.182 -5.436 -0.377 1.076 -3.947 + -1.883 1.209 -2.894 -1.890 1.495 -4.724 -2.668 2.271 -4.682 -2.111 + 3.210 -5.773 -2.723 1.970 -4.221 -4.051 2.548 -4.841 -5.204 2.204 + -5.788 -5.260 1.676 -4.116 -6.280 2.680 -4.441 -7.235 2.624 -2.984 + -5.871 3.354 -1.964 -6.561 4.026 -1.980 -7.638 4.092 -0.921 -5.832 + 4.620 -0.121 -6.353 5.132 -0.924 -4.427 4.556 -0.133 -3.866 5.032 + -1.965 -3.746 3.899 -1.971 -2.665 3.877 -3.016 -4.448 3.274 -4.062 + -2.537 -0.179 -5.076 -2.376 -0.853 -3.034 -3.263 -0.620 -2.216 -3.331 + -0.023 -2.910 -3.785 -1.988 -3.900 -4.037 -2.378 -2.314 -2.674 -2.865 + -3.057 -1.877 -2.920 -1.423 -2.290 -2.373 -1.930 -3.060 -4.298 -1.086 + -3.760 -4.277 -2.779 -3.553 -4.776 -1.535 -1.800 -5.082 -0.526 -1.139 + -4.743 -2.289 -1.363 -5.972 -2.031 -5.041 -2.023 -0.883 -5.015 -1.587 + -2.550 -6.158 -2.544 -3.478 -6.115 -2.938 -1.789 -7.401 -2.766 -2.521 + -8.181 -2.977 -0.936 -7.241 -4.044 -0.186 -6.468 -3.880 -0.432 -8.178 + -4.273 -1.785 -6.869 -5.250 -2.901 -7.327 -5.404 -1.311 -6.011 -6.120 + -1.925 -5.772 -6.881 -0.423 -5.571 -5.992 -1.007 -7.915 -1.530 0.051 + -8.541 -1.669 -1.511 -7.627 -0.322 -2.359 -7.082 -0.298 -0.890 -7.960 + 0.967 -1.680 -8.035 1.713 -0.406 -8.936 0.899 0.149 -6.953 1.491 + 0.953 -7.319 2.342 0.207 -5.733 0.936 -0.456 -5.513 0.202 1.152 + -4.656 1.282 1.687 -4.912 2.197 2.168 -4.406 0.138 1.612 -4.154 + -0.768 2.753 -3.518 0.397 3.190 -5.509 -0.210 3.850 -5.110 -0.982 + 3.792 -5.740 0.667 2.546 -6.794 -0.741 2.229 -7.386 0.109 1.676 + -6.528 -1.344 3.469 -7.671 -1.584 3.675 -7.150 -2.523 4.414 -7.817 + -1.051 2.809 -8.976 -1.837 1.833 -8.829 -2.095 3.275 -9.499 -2.562 + 2.784 -9.529 -0.987 0.384 -3.352 1.531 -0.700 -3.149 0.984 0.981 + -2.420 2.275 1.875 -2.635 2.679 0.586 -1.009 2.202 -0.504 -0.953 + 2.225 1.119 -0.235 3.414 2.203 -0.352 3.471 0.908 0.828 3.272 + 0.511 -0.646 4.720 1.142 -1.289 5.728 2.185 -1.576 5.722 0.248 + -1.529 6.755 0.498 -1.993 7.616 -1.011 -1.053 6.455 -2.232 -1.070 + 7.144 -2.304 -1.533 8.118 -3.359 -0.477 6.551 -4.312 -0.484 7.070 + -3.251 0.130 5.287 -4.120 0.590 4.840 -2.017 0.142 4.606 -1.942 + 0.611 3.642 -0.868 -0.457 5.167 1.058 -0.381 0.882 2.116 -0.731 + 0.364 0.279 0.557 0.346 -0.602 0.758 0.803 0.518 1.217 -0.946 + 1.588 1.212 -1.153 -0.175 0.428 -2.070 0.127 -0.617 -1.993 -1.703 + 0.516 -2.052 -2.037 1.539 -1.905 -2.110 0.157 -2.994 -2.086 -0.116 + -1.254 0.219 0.893 -3.335 0.124 0.093 -3.912 0.049 2.673 -0.927 + -0.751 3.064 -0.074 0.505 3.477 -1.889 1.076 3.054 -2.611 -0.006 + 4.829 -2.135 -0.509 5.182 -1.236 1.160 5.784 -2.402 1.869 5.699 + -1.580 1.680 5.468 -3.313 0.791 7.231 -2.537 0.729 7.920 -3.698 + 0.945 7.499 -4.675 0.414 9.240 -3.444 0.412 9.953 -4.162 0.260 + 9.472 -2.095 -0.025 10.626 -1.345 -0.133 11.583 -1.837 -0.086 10.538 + 0.057 -0.237 11.432 0.656 0.103 9.292 0.686 0.102 9.227 1.769 + 0.375 8.141 -0.079 0.576 7.204 0.423 0.473 8.199 -1.486 -1.026 + 4.831 -3.285 -0.796 4.224 -4.334 -2.156 5.523 -3.094 -2.274 5.958 + -2.184 -3.262 5.667 -4.061 -2.855 5.597 -5.067 -4.298 4.538 -3.850 + -4.615 4.546 -2.808 -5.186 4.742 -4.454 -3.815 3.119 -4.200 -2.935 + 2.876 -3.611 -4.601 2.416 -3.921 -3.513 2.925 -5.696 -4.433 3.092 + -6.258 -2.765 3.642 -6.041 -3.018 1.506 -5.989 -3.637 0.781 -5.447 + -3.143 1.292 -7.056 -1.595 1.297 -5.627 -1.391 1.535 -4.663 -1.391 + 0.294 -5.711 -0.965 1.802 -6.224 -3.930 7.046 -3.963 -3.770 7.779 + -2.986 -4.688 7.427 -4.980 -4.817 6.817 -5.768 -5.143 8.324 -4.936 + -2.761 9.170 -0.794 -3.078 8.593 -1.571 -1.745 9.172 -0.804 -3.095 + 10.118 -0.902 -3.241 8.591 0.470 -2.810 9.159 1.291 -4.764 8.649 + 0.585 -5.125 9.651 0.327 -5.223 7.911 -0.079 -5.093 8.373 1.928 + -6.026 8.148 2.000 -2.767 7.151 0.578 -2.428 6.562 -0.445 -2.727 + 6.581 1.783 -3.095 7.087 2.581 -2.414 5.164 1.982 -1.601 4.899 + 1.307 -1.900 4.942 3.411 -2.709 5.144 4.115 -1.603 3.906 3.529 + -0.725 5.808 3.759 -0.692 6.749 4.731 -1.505 6.974 5.405 0.544 + 7.371 4.727 0.814 8.079 5.402 1.368 6.867 3.743 2.668 7.174 + 3.332 3.231 7.964 3.820 3.247 6.439 2.282 4.259 6.657 1.964 + 2.520 5.406 1.667 2.973 4.834 0.881 1.211 5.103 2.087 0.674 + 4.292 1.624 0.592 5.834 3.128 -3.604 4.258 1.637 -4.755 4.694 + 1.635 -3.330 3.001 1.297 -2.353 2.737 1.225 -4.301 1.960 0.909 + -5.173 2.006 1.563 -4.763 2.214 -0.542 -3.889 2.437 -1.157 -5.557 + 1.095 -1.215 -6.377 0.771 -0.575 -5.975 1.451 -2.155 -4.903 0.252 + -1.437 -5.610 3.339 -0.563 -5.386 3.904 0.191 -3.654 0.579 1.091 + -2.428 0.492 1.171 -4.440 -0.496 1.183 -5.435 -0.375 1.077 -3.947 + -1.882 1.210 -2.893 -1.888 1.492 -4.724 -2.668 2.271 -4.684 -2.109 + 3.210 -5.774 -2.720 1.969 -4.221 -4.051 2.548 -4.840 -5.204 2.203 + -5.789 -5.260 1.675 -4.116 -6.279 2.679 -4.440 -7.235 2.623 -2.983 + -5.870 3.354 -1.964 -6.561 4.026 -1.980 -7.636 4.092 -0.921 -5.832 + 4.619 -0.121 -6.355 5.132 -0.924 -4.426 4.556 -0.136 -3.865 5.033 + -1.965 -3.746 3.899 -1.972 -2.665 3.879 -3.016 -4.448 3.274 -4.062 + -2.537 -0.180 -5.075 -2.376 -0.853 -3.034 -3.263 -0.620 -2.219 -3.331 + -0.022 -2.911 -3.785 -1.989 -3.902 -4.037 -2.377 -2.314 -2.675 -2.864 + -3.058 -1.878 -2.920 -1.425 -2.289 -2.375 -1.930 -3.060 -4.297 -1.083 + -3.762 -4.275 -2.779 -3.553 -4.775 -1.535 -1.800 -5.082 -0.526 -1.138 + -4.744 -2.289 -1.364 -5.973 -2.031 -5.041 -2.023 -0.883 -5.015 -1.587 + -2.551 -6.157 -2.544 -3.475 -6.116 -2.938 -1.789 -7.401 -2.766 -2.517 + -8.181 -2.977 -0.935 -7.241 -4.043 -0.188 -6.468 -3.881 -0.433 -8.178 + -4.274 -1.785 -6.869 -5.250 -2.900 -7.327 -5.404 -1.311 -6.010 -6.119 + -1.924 -5.773 -6.882 -0.423 -5.575 -5.992 -1.008 -7.915 -1.530 0.051 + -8.540 -1.669 -1.511 -7.628 -0.322 -2.358 -7.084 -0.297 -0.891 -7.960 + 0.967 -1.682 -8.035 1.712 -0.404 -8.935 0.901 0.150 -6.953 1.491 + 0.953 -7.318 2.343 0.207 -5.733 0.935 -0.454 -5.513 0.203 1.152 + -4.656 1.283 1.687 -4.912 2.196 2.168 -4.405 0.138 1.609 -4.155 + -0.769 2.753 -3.515 0.395 3.191 -5.509 -0.210 3.850 -5.110 -0.982 + 3.792 -5.738 0.665 2.546 -6.794 -0.741 2.229 -7.384 0.107 1.675 + -6.529 -1.343 3.468 -7.672 -1.584 3.675 -7.149 -2.522 4.414 -7.817 + -1.050 2.809 -8.976 -1.837 1.834 -8.831 -2.096 3.274 -9.498 -2.559 + 2.784 -9.530 -0.984 0.385 -3.353 1.531 -0.701 -3.148 0.984 0.982 + -2.421 2.275 1.877 -2.635 2.676 0.586 -1.010 2.202 -0.505 -0.957 + 2.226 1.118 -0.235 3.414 2.203 -0.353 3.476 0.908 0.830 3.273 + 0.512 -0.646 4.720 1.142 -1.289 5.728 2.184 -1.575 5.721 0.248 + -1.529 6.755 0.500 -1.991 7.616 -1.011 -1.053 6.455 -2.232 -1.070 + 7.144 -2.304 -1.533 8.119 -3.359 -0.477 6.551 -4.314 -0.485 7.070 + -3.251 0.130 5.287 -4.120 0.590 4.839 -2.016 0.142 4.606 -1.942 + 0.609 3.644 -0.868 -0.457 5.167 1.058 -0.382 0.882 2.116 -0.730 + 0.364 0.279 0.557 0.347 -0.601 0.756 0.802 0.519 1.217 -0.946 + 1.588 1.212 -1.154 -0.175 0.429 -2.069 0.129 -0.617 -1.991 -1.703 + 0.517 -2.052 -2.036 1.540 -1.906 -2.110 0.155 -2.994 -2.086 -0.116 + -1.254 0.219 0.892 -3.335 0.125 0.094 -3.914 0.050 2.673 -0.927 + -0.751 3.064 -0.074 0.504 3.478 -1.889 1.076 3.055 -2.612 -0.006 + 4.829 -2.135 -0.509 5.183 -1.235 1.160 5.784 -2.402 1.866 5.698 + -1.582 1.682 5.469 -3.315 0.790 7.230 -2.538 0.729 7.920 -3.697 + 0.945 7.500 -4.675 0.415 9.240 -3.444 0.411 9.952 -4.162 0.260 + 9.472 -2.095 -0.024 10.625 -1.345 -0.135 11.583 -1.834 -0.086 10.538 + 0.058 -0.238 11.434 0.657 0.103 9.292 0.686 0.101 9.226 1.770 + 0.375 8.140 -0.079 0.576 7.206 0.425 0.474 8.199 -1.487 -1.026 + 4.831 -3.285 -0.796 4.223 -4.335 -2.156 5.524 -3.093 -2.274 5.958 + -2.182 -3.261 5.667 -4.061 -2.856 5.597 -5.065 -4.297 4.537 -3.850 + -4.616 4.544 -2.811 -5.189 4.740 -4.453 -3.814 3.119 -4.200 -2.935 + 2.876 -3.615 -4.603 2.416 -3.924 -3.513 2.925 -5.696 -4.432 3.093 + -6.258 -2.763 3.642 -6.043 -3.017 1.506 -5.989 -3.636 0.778 -5.445 + -3.142 1.292 -7.057 -1.596 1.296 -5.627 -1.392 1.535 -4.663 -1.392 + 0.296 -5.709 -0.966 1.800 -6.223 -3.931 7.046 -3.963 -3.770 7.779 + -2.986 -4.689 7.428 -4.981 -4.815 6.818 -5.767 -5.143 8.324 -4.934 + -2.761 9.169 -0.794 -3.077 8.590 -1.572 -1.743 9.174 -0.805 -3.096 + 10.118 -0.900 -3.242 8.591 0.469 -2.809 9.162 1.287 -4.764 8.648 + 0.584 -5.127 9.653 0.326 -5.223 7.909 -0.080 -5.093 8.373 1.929 + -6.025 8.148 2.000 -2.767 7.152 0.578 -2.428 6.561 -0.445 -2.727 + 6.581 1.784 -3.096 7.085 2.584 -2.415 5.164 1.982 -1.600 4.901 + 1.307 -1.899 4.942 3.411 -2.708 5.147 4.115 -1.603 3.909 3.531 + -0.725 5.808 3.758 -0.693 6.749 4.731 -1.503 6.974 5.404 0.544 + 7.371 4.728 0.815 8.078 5.404 1.369 6.868 3.743 2.668 7.174 + 3.332 3.233 7.967 3.819 3.247 6.438 2.282 4.260 6.657 1.966 + 2.520 5.406 1.667 2.971 4.837 0.884 1.211 5.103 2.086 0.675 + 4.290 1.625 0.591 5.834 3.128 -3.604 4.258 1.637 -4.755 4.694 + 1.635 -3.330 3.001 1.297 -2.354 2.736 1.222 -4.300 1.959 0.908 + -5.172 2.005 1.563 -4.763 2.214 -0.542 -3.888 2.439 -1.157 -5.557 + 1.095 -1.215 -6.377 0.769 -0.576 -5.976 1.449 -2.155 -4.903 0.252 + -1.437 -5.610 3.340 -0.563 -5.390 3.905 0.189 -3.654 0.579 1.091 + -2.428 0.492 1.171 -4.440 -0.495 1.183 -5.435 -0.373 1.078 -3.947 + -1.882 1.210 -2.892 -1.886 1.489 -4.724 -2.668 2.271 -4.686 -2.107 + 3.210 -5.776 -2.718 1.966 -4.221 -4.050 2.548 -4.840 -5.204 2.202 + -5.790 -5.260 1.674 -4.115 -6.279 2.679 -4.439 -7.235 2.622 -2.983 + -5.870 3.353 -1.964 -6.561 4.027 -1.981 -7.635 4.093 -0.921 -5.831 + 4.619 -0.120 -6.358 5.132 -0.925 -4.425 4.556 -0.139 -3.863 5.035 + -1.965 -3.747 3.900 -1.973 -2.664 3.880 -3.016 -4.448 3.275 -4.062 + -2.536 -0.180 -5.075 -2.375 -0.852 -3.034 -3.263 -0.620 -2.223 -3.331 + -0.020 -2.912 -3.785 -1.989 -3.904 -4.037 -2.376 -2.314 -2.675 -2.864 + -3.059 -1.878 -2.921 -1.427 -2.288 -2.376 -1.930 -3.060 -4.296 -1.079 + -3.765 -4.274 -2.778 -3.554 -4.774 -1.535 -1.799 -5.082 -0.526 -1.138 + -4.744 -2.288 -1.364 -5.973 -2.031 -5.041 -2.023 -0.883 -5.015 -1.586 + -2.551 -6.157 -2.544 -3.472 -6.116 -2.938 -1.789 -7.400 -2.766 -2.513 + -8.182 -2.977 -0.935 -7.242 -4.043 -0.190 -6.467 -3.882 -0.434 -8.178 + -4.274 -1.785 -6.869 -5.250 -2.900 -7.327 -5.405 -1.311 -6.010 -6.118 + -1.924 -5.774 -6.882 -0.424 -5.578 -5.992 -1.008 -7.914 -1.530 0.051 + -8.540 -1.669 -1.511 -7.628 -0.322 -2.358 -7.086 -0.296 -0.891 -7.960 + 0.967 -1.684 -8.035 1.711 -0.402 -8.935 0.903 0.150 -6.953 1.492 + 0.953 -7.317 2.343 0.207 -5.733 0.935 -0.453 -5.512 0.205 1.152 + -4.657 1.284 1.688 -4.913 2.195 2.168 -4.405 0.138 1.606 -4.156 + -0.769 2.754 -3.512 0.394 3.192 -5.509 -0.209 3.849 -5.110 -0.982 + 3.792 -5.737 0.663 2.547 -6.794 -0.742 2.229 -7.383 0.105 1.674 + -6.530 -1.342 3.468 -7.672 -1.584 3.674 -7.147 -2.521 4.414 -7.816 + -1.050 2.809 -8.975 -1.837 1.835 -8.832 -2.097 3.273 -9.497 -2.557 + 2.783 -9.530 -0.981 0.385 -3.354 1.531 -0.701 -3.148 0.983 0.982 + -2.421 2.275 1.878 -2.636 2.673 0.586 -1.010 2.202 -0.506 -0.962 + 2.228 1.118 -0.235 3.414 2.202 -0.354 3.480 0.907 0.832 3.274 + 0.512 -0.645 4.720 1.142 -1.289 5.728 2.183 -1.574 5.719 0.248 + -1.529 6.755 0.501 -1.988 7.615 -1.012 -1.053 6.454 -2.233 -1.071 + 7.143 -2.304 -1.534 8.120 -3.358 -0.478 6.551 -4.316 -0.486 7.070 + -3.251 0.130 5.286 -4.120 0.590 4.839 -2.016 0.142 4.606 -1.942 + 0.607 3.646 -0.867 -0.457 5.166 1.057 -0.383 0.881 2.117 -0.729 + 0.365 0.279 0.557 0.347 -0.600 0.755 0.800 0.520 1.218 -0.946 + 1.589 1.212 -1.154 -0.175 0.429 -2.069 0.131 -0.616 -1.988 -1.702 + 0.518 -2.053 -2.036 1.541 -1.906 -2.109 0.154 -2.994 -2.087 -0.117 + -1.254 0.219 0.891 -3.335 0.126 0.095 -3.916 0.050 2.672 -0.927 + -0.750 3.064 -0.074 0.504 3.479 -1.889 1.075 3.056 -2.614 -0.006 + 4.830 -2.135 -0.509 5.183 -1.235 1.159 5.784 -2.402 1.864 5.697 + -1.583 1.685 5.471 -3.317 0.790 7.230 -2.538 0.729 7.920 -3.697 + 0.945 7.500 -4.675 0.415 9.240 -3.444 0.411 9.952 -4.162 0.261 + 9.472 -2.096 -0.024 10.625 -1.345 -0.137 11.583 -1.830 -0.086 10.539 + 0.058 -0.238 11.436 0.658 0.103 9.291 0.687 0.100 9.225 1.772 + 0.376 8.140 -0.080 0.577 7.208 0.427 0.474 8.200 -1.487 -1.026 + 4.830 -3.286 -0.797 4.222 -4.335 -2.155 5.524 -3.093 -2.274 5.958 + -2.180 -3.261 5.666 -4.062 -2.856 5.596 -5.064 -4.296 4.536 -3.849 + -4.618 4.542 -2.813 -5.191 4.738 -4.452 -3.814 3.119 -4.200 -2.936 + 2.875 -3.618 -4.604 2.417 -3.926 -3.513 2.925 -5.696 -4.431 3.095 + -6.258 -2.761 3.643 -6.045 -3.017 1.506 -5.989 -3.635 0.776 -5.443 + -3.142 1.292 -7.058 -1.596 1.295 -5.628 -1.393 1.536 -4.662 -1.392 + 0.298 -5.706 -0.967 1.799 -6.223 -3.931 7.046 -3.963 -3.770 7.779 + -2.985 -4.689 7.429 -4.981 -4.813 6.819 -5.767 -5.143 8.325 -4.933 + -2.761 9.169 -0.794 -3.076 8.586 -1.573 -1.742 9.176 -0.806 -3.097 + 10.118 -0.897 -3.242 8.591 0.469 -2.807 9.164 1.282 -4.764 8.647 + 0.583 -5.129 9.654 0.325 -5.224 7.908 -0.082 -5.094 8.373 1.929 + -6.023 8.148 2.001 -2.767 7.152 0.578 -2.429 6.561 -0.445 -2.727 + 6.581 1.784 -3.098 7.083 2.587 -2.416 5.165 1.982 -1.599 4.902 + 1.307 -1.899 4.942 3.411 -2.706 5.150 4.115 -1.603 3.913 3.533 + -0.725 5.808 3.758 -0.693 6.750 4.731 -1.501 6.974 5.404 0.545 + 7.371 4.728 0.816 8.078 5.407 1.370 6.868 3.742 2.667 7.175 + 3.332 3.234 7.970 3.818 3.247 6.438 2.282 4.261 6.656 1.969 + 2.520 5.407 1.668 2.969 4.840 0.887 1.211 5.102 2.086 0.677 + 4.288 1.627 0.591 5.834 3.128 -3.604 4.258 1.636 -4.756 4.694 + 1.635 -3.330 3.001 1.296 -2.355 2.736 1.219 -4.299 1.959 0.908 + -5.171 2.003 1.563 -4.763 2.213 -0.541 -3.886 2.441 -1.157 -5.557 + 1.094 -1.215 -6.377 0.768 -0.578 -5.976 1.447 -2.155 -4.902 0.252 + -1.437 -5.609 3.340 -0.562 -5.394 3.906 0.188 -3.654 0.580 1.091 + -2.428 0.492 1.171 -4.439 -0.495 1.184 -5.434 -0.371 1.079 -3.947 + -1.882 1.211 -2.890 -1.884 1.486 -4.724 -2.667 2.272 -4.688 -2.105 + 3.211 -5.777 -2.716 1.964 -4.220 -4.050 2.549 -4.840 -5.204 2.201 + -5.791 -5.261 1.674 -4.115 -6.278 2.678 -4.438 -7.235 2.622 -2.983 + -5.869 3.353 -1.964 -6.560 4.027 -1.981 -7.634 4.094 -0.921 -5.831 + 4.619 -0.120 -6.360 5.131 -0.925 -4.424 4.557 -0.141 -3.862 5.036 + -1.965 -3.748 3.900 -1.974 -2.663 3.882 -3.016 -4.449 3.275 -4.061 + -2.536 -0.181 -5.074 -2.375 -0.852 -3.034 -3.262 -0.620 -2.226 -3.331 + -0.019 -2.912 -3.785 -1.989 -3.907 -4.037 -2.376 -2.314 -2.675 -2.864 + -3.060 -1.879 -2.921 -1.429 -2.286 -2.378 -1.930 -3.059 -4.296 -1.076 + -3.767 -4.272 -2.778 -3.554 -4.773 -1.535 -1.798 -5.082 -0.526 -1.138 + -4.744 -2.288 -1.365 -5.973 -2.031 -5.041 -2.023 -0.884 -5.015 -1.586 + -2.551 -6.156 -2.545 -3.470 -6.116 -2.938 -1.790 -7.400 -2.765 -2.509 + -8.182 -2.977 -0.934 -7.242 -4.043 -0.192 -6.467 -3.883 -0.435 -8.178 + -4.275 -1.785 -6.868 -5.251 -2.900 -7.328 -5.405 -1.311 -6.009 -6.117 + -1.923 -5.775 -6.882 -0.424 -5.582 -5.992 -1.009 -7.914 -1.530 0.051 + -8.540 -1.669 -1.511 -7.628 -0.322 -2.358 -7.088 -0.295 -0.892 -7.960 + 0.967 -1.687 -8.035 1.710 -0.401 -8.935 0.906 0.151 -6.953 1.492 + 0.953 -7.317 2.344 0.207 -5.733 0.934 -0.452 -5.512 0.206 1.152 + -4.658 1.284 1.689 -4.913 2.194 2.167 -4.405 0.138 1.604 -4.157 + -0.769 2.755 -3.509 0.393 3.193 -5.509 -0.209 3.848 -5.109 -0.982 + 3.792 -5.736 0.661 2.547 -6.793 -0.742 2.229 -7.382 0.102 1.673 + -6.531 -1.341 3.467 -7.672 -1.585 3.674 -7.145 -2.519 4.414 -7.816 + -1.050 2.809 -8.974 -1.837 1.836 -8.833 -2.098 3.272 -9.496 -2.554 + 2.783 -9.531 -0.978 0.385 -3.355 1.531 -0.702 -3.147 0.983 0.983 + -2.422 2.275 1.879 -2.636 2.671 0.586 -1.011 2.202 -0.506 -0.966 + 2.230 1.117 -0.235 3.414 2.201 -0.354 3.485 0.906 0.834 3.275 + 0.513 -0.645 4.721 1.142 -1.289 5.728 2.181 -1.572 5.718 0.248 + -1.529 6.755 0.503 -1.986 7.615 -1.012 -1.054 6.454 -2.233 -1.071 + 7.143 -2.304 -1.534 8.120 -3.358 -0.478 6.550 -4.318 -0.487 7.070 + -3.251 0.130 5.286 -4.120 0.590 4.839 -2.016 0.142 4.607 -1.943 + 0.604 3.648 -0.867 -0.457 5.166 1.057 -0.383 0.881 2.117 -0.729 + 0.365 0.280 0.558 0.348 -0.599 0.754 0.798 0.520 1.218 -0.946 + 1.589 1.212 -1.155 -0.176 0.429 -2.069 0.133 -0.616 -1.986 -1.702 + 0.519 -2.053 -2.036 1.542 -1.906 -2.109 0.153 -2.994 -2.087 -0.118 + -1.255 0.219 0.890 -3.335 0.127 0.095 -3.918 0.050 2.672 -0.927 + -0.750 3.064 -0.074 0.503 3.480 -1.889 1.074 3.057 -2.615 -0.006 + 4.831 -2.135 -0.509 5.184 -1.234 1.159 5.784 -2.402 1.862 5.696 + -1.585 1.688 5.473 -3.320 0.790 7.229 -2.539 0.729 7.921 -3.696 + 0.944 7.501 -4.675 0.416 9.240 -3.444 0.411 9.951 -4.162 0.262 + 9.472 -2.096 -0.023 10.625 -1.345 -0.138 11.583 -1.827 -0.086 10.539 + 0.058 -0.239 11.439 0.659 0.103 9.291 0.687 0.098 9.224 1.773 + 0.376 8.140 -0.080 0.578 7.211 0.428 0.474 8.201 -1.488 -1.027 + 4.830 -3.286 -0.797 4.222 -4.336 -2.155 5.525 -3.092 -2.273 5.959 + -2.178 -3.260 5.666 -4.062 -2.856 5.596 -5.062 -4.296 4.536 -3.849 + -4.619 4.540 -2.815 -5.193 4.736 -4.451 -3.814 3.120 -4.201 -2.936 + 2.875 -3.622 -4.606 2.417 -3.929 -3.513 2.924 -5.696 -4.431 3.096 + -6.259 -2.759 3.644 -6.047 -3.017 1.506 -5.989 -3.634 0.774 -5.441 + -3.141 1.293 -7.059 -1.596 1.295 -5.628 -1.394 1.536 -4.662 -1.392 + 0.300 -5.704 -0.969 1.797 -6.223 -3.931 7.046 -3.963 -3.770 7.779 + -2.985 -4.690 7.429 -4.982 -4.811 6.821 -5.767 -5.143 8.325 -4.931 + -2.761 9.168 -0.794 -3.075 8.582 -1.575 -1.740 9.178 -0.808 -3.099 + 10.119 -0.895 -3.242 8.592 0.468 -2.805 9.166 1.278 -4.764 8.645 + 0.581 -5.131 9.655 0.324 -5.224 7.906 -0.083 -5.094 8.372 1.929 + -6.021 8.148 2.001 -2.767 7.152 0.578 -2.429 6.560 -0.444 -2.727 + 6.581 1.785 -3.099 7.081 2.590 -2.416 5.165 1.982 -1.599 4.903 + 1.307 -1.898 4.942 3.412 -2.705 5.152 4.115 -1.603 3.916 3.535 + -0.724 5.809 3.758 -0.694 6.750 4.732 -1.500 6.974 5.403 0.546 + 7.370 4.728 0.817 8.077 5.410 1.372 6.869 3.742 2.666 7.175 + 3.332 3.236 7.974 3.816 3.247 6.438 2.282 4.263 6.656 1.972 + 2.521 5.407 1.668 2.967 4.843 0.890 1.212 5.102 2.085 0.678 + 4.286 1.629 0.590 5.834 3.127 -3.604 4.258 1.636 -4.756 4.694 + 1.635 -3.329 3.001 1.296 -2.356 2.735 1.216 -4.298 1.959 0.907 + -5.170 2.002 1.563 -4.763 2.213 -0.541 -3.885 2.443 -1.158 -5.557 + 1.094 -1.215 -6.378 0.766 -0.579 -5.976 1.445 -2.155 -4.902 0.252 + -1.437 -5.609 3.340 -0.561 -5.398 3.907 0.186 -3.654 0.580 1.091 + -2.427 0.492 1.170 -4.439 -0.494 1.184 -5.434 -0.369 1.080 -3.947 + -1.881 1.211 -2.889 -1.882 1.483 -4.724 -2.667 2.272 -4.690 -2.103 + 3.211 -5.778 -2.713 1.963 -4.220 -4.049 2.549 -4.840 -5.205 2.200 + -5.792 -5.261 1.673 -4.115 -6.278 2.678 -4.437 -7.235 2.621 -2.982 + -5.869 3.353 -1.964 -6.560 4.028 -1.982 -7.632 4.095 -0.921 -5.831 + 4.619 -0.120 -6.363 5.131 -0.926 -4.423 4.557 -0.144 -3.861 5.038 + -1.965 -3.749 3.901 -1.975 -2.663 3.883 -3.015 -4.449 3.276 -4.061 + -2.536 -0.182 -5.074 -2.375 -0.852 -3.033 -3.262 -0.620 -2.230 -3.331 + -0.017 -2.913 -3.784 -1.990 -3.909 -4.038 -2.375 -2.314 -2.675 -2.864 + -3.060 -1.879 -2.921 -1.430 -2.285 -2.379 -1.930 -3.059 -4.295 -1.073 + -3.770 -4.270 -2.777 -3.554 -4.772 -1.535 -1.798 -5.081 -0.526 -1.138 + -4.744 -2.288 -1.366 -5.973 -2.031 -5.041 -2.023 -0.884 -5.016 -1.586 + -2.552 -6.156 -2.545 -3.467 -6.117 -2.938 -1.790 -7.400 -2.765 -2.505 + -8.183 -2.978 -0.934 -7.242 -4.042 -0.194 -6.466 -3.884 -0.435 -8.179 + -4.275 -1.785 -6.868 -5.251 -2.899 -7.328 -5.406 -1.311 -6.009 -6.116 + -1.922 -5.776 -6.882 -0.424 -5.586 -5.992 -1.009 -7.914 -1.530 0.051 + -8.540 -1.670 -1.511 -7.629 -0.322 -2.358 -7.090 -0.294 -0.892 -7.960 + 0.967 -1.689 -8.035 1.709 -0.399 -8.934 0.908 0.151 -6.953 1.493 + 0.953 -7.316 2.344 0.207 -5.733 0.934 -0.450 -5.511 0.208 1.152 + -4.659 1.285 1.690 -4.913 2.193 2.167 -4.405 0.139 1.601 -4.158 + -0.769 2.756 -3.506 0.392 3.194 -5.509 -0.209 3.848 -5.109 -0.982 + 3.792 -5.734 0.659 2.547 -6.793 -0.743 2.228 -7.381 0.100 1.672 + -6.532 -1.340 3.467 -7.672 -1.585 3.674 -7.143 -2.518 4.414 -7.816 + -1.049 2.809 -8.974 -1.836 1.837 -8.835 -2.099 3.271 -9.495 -2.551 + 2.782 -9.532 -0.975 0.385 -3.356 1.531 -0.702 -3.147 0.983 0.983 + -2.423 2.275 1.881 -2.637 2.668 0.586 -1.012 2.202 -0.507 -0.970 + 2.232 1.117 -0.235 3.414 2.201 -0.355 3.490 0.905 0.835 3.276 + 0.514 -0.645 4.721 1.143 -1.289 5.729 2.180 -1.571 5.716 0.248 + -1.529 6.755 0.505 -1.983 7.615 -1.012 -1.054 6.453 -2.233 -1.072 + 7.142 -2.304 -1.534 8.121 -3.357 -0.479 6.550 -4.320 -0.488 7.070 + -3.252 0.130 5.285 -4.120 0.590 4.839 -2.015 0.142 4.607 -1.943 + 0.602 3.650 -0.866 -0.456 5.165 1.057 -0.384 0.880 2.117 -0.728 + 0.365 0.280 0.558 0.348 -0.599 0.752 0.797 0.521 1.218 -0.947 + 1.589 1.212 -1.155 -0.176 0.429 -2.068 0.135 -0.615 -1.984 -1.702 + 0.520 -2.053 -2.036 1.543 -1.907 -2.108 0.151 -2.994 -2.087 -0.118 + -1.255 0.219 0.889 -3.335 0.128 0.096 -3.920 0.050 2.672 -0.927 + -0.749 3.063 -0.074 0.503 3.480 -1.888 1.073 3.058 -2.616 -0.006 + 4.831 -2.135 -0.510 5.184 -1.234 1.158 5.784 -2.401 1.860 5.695 + -1.587 1.690 5.474 -3.322 0.790 7.228 -2.540 0.729 7.921 -3.696 + 0.944 7.501 -4.675 0.417 9.239 -3.444 0.410 9.950 -4.163 0.263 + 9.471 -2.097 -0.023 10.624 -1.345 -0.140 11.584 -1.824 -0.085 10.539 + 0.059 -0.240 11.441 0.660 0.104 9.290 0.687 0.097 9.223 1.774 + 0.376 8.140 -0.080 0.579 7.213 0.430 0.475 8.201 -1.488 -1.027 + 4.830 -3.286 -0.798 4.221 -4.336 -2.155 5.526 -3.091 -2.273 5.959 + -2.176 -3.260 5.666 -4.062 -2.857 5.596 -5.060 -4.295 4.535 -3.848 + -4.620 4.537 -2.817 -5.195 4.734 -4.450 -3.814 3.120 -4.201 -2.936 + 2.875 -3.626 -4.607 2.418 -3.931 -3.513 2.924 -5.696 -4.430 3.098 + -6.259 -2.757 3.645 -6.048 -3.016 1.506 -5.989 -3.633 0.771 -5.439 + -3.140 1.293 -7.061 -1.596 1.294 -5.628 -1.395 1.536 -4.661 -1.392 + 0.302 -5.702 -0.970 1.796 -6.222 -3.932 7.046 -3.963 -3.770 7.779 + -2.984 -4.690 7.430 -4.983 -4.809 6.822 -5.767 -5.143 8.326 -4.930 + -2.761 9.167 -0.794 -3.074 8.579 -1.576 -1.739 9.181 -0.809 -3.100 + 10.119 -0.892 -3.242 8.592 0.467 -2.803 9.169 1.274 -4.764 8.644 + 0.580 -5.133 9.656 0.322 -5.225 7.904 -0.085 -5.094 8.372 1.929 + -6.019 8.148 2.002 -2.767 7.153 0.578 -2.429 6.559 -0.444 -2.727 + 6.581 1.786 -3.100 7.080 2.593 -2.417 5.166 1.982 -1.598 4.904 + 1.308 -1.898 4.941 3.412 -2.704 5.155 4.115 -1.603 3.919 3.537 + -0.724 5.809 3.757 -0.694 6.750 4.732 -1.498 6.974 5.402 0.546 + 7.370 4.729 0.818 8.077 5.412 1.373 6.870 3.742 2.666 7.175 + 3.332 3.238 7.977 3.815 3.247 6.437 2.282 4.264 6.655 1.974 + 2.521 5.408 1.668 2.965 4.846 0.894 1.212 5.101 2.084 0.680 + 4.284 1.631 0.589 5.833 3.127 -3.603 4.258 1.635 -4.756 4.694 + 1.634 -3.329 3.001 1.296 -2.357 2.735 1.213 -4.297 1.959 0.907 + -5.169 2.001 1.563 -4.763 2.213 -0.541 -3.884 2.445 -1.158 -5.557 + 1.093 -1.215 -6.378 0.765 -0.581 -5.976 1.442 -2.155 -4.901 0.253 + -1.437 -5.609 3.340 -0.560 -5.402 3.908 0.185 -3.654 0.580 1.091 + -2.427 0.492 1.170 -4.439 -0.493 1.184 -5.433 -0.367 1.082 -3.947 + -1.881 1.212 -2.888 -1.880 1.481 -4.724 -2.667 2.272 -4.692 -2.101 + 3.212 -5.779 -2.711 1.961 -4.220 -4.049 2.549 -4.839 -5.205 2.200 + -5.794 -5.261 1.672 -4.115 -6.277 2.677 -4.436 -7.235 2.621 -2.982 + -5.868 3.353 -1.964 -6.559 4.028 -1.982 -7.631 4.096 -0.921 -5.831 + 4.618 -0.120 -6.365 5.131 -0.926 -4.423 4.557 -0.147 -3.860 5.039 + -1.965 -3.749 3.901 -1.975 -2.662 3.885 -3.015 -4.449 3.277 -4.061 + -2.535 -0.182 -5.074 -2.375 -0.852 -3.033 -3.262 -0.620 -2.234 -3.331 + -0.016 -2.913 -3.784 -1.990 -3.911 -4.038 -2.374 -2.314 -2.675 -2.863 + -3.061 -1.880 -2.921 -1.432 -2.284 -2.381 -1.931 -3.059 -4.295 -1.070 + -3.772 -4.269 -2.777 -3.554 -4.771 -1.535 -1.797 -5.081 -0.526 -1.137 + -4.744 -2.288 -1.366 -5.973 -2.031 -5.041 -2.023 -0.884 -5.016 -1.586 + -2.552 -6.155 -2.545 -3.464 -6.118 -2.938 -1.790 -7.400 -2.764 -2.501 + -8.183 -2.978 -0.933 -7.243 -4.042 -0.196 -6.466 -3.885 -0.436 -8.179 + -4.276 -1.785 -6.868 -5.251 -2.899 -7.328 -5.406 -1.311 -6.008 -6.115 + -1.921 -5.777 -6.882 -0.425 -5.589 -5.992 -1.010 -7.913 -1.529 0.051 + -8.540 -1.670 -1.511 -7.629 -0.322 -2.357 -7.092 -0.293 -0.893 -7.959 + 0.967 -1.691 -8.036 1.707 -0.397 -8.934 0.910 0.151 -6.953 1.493 + 0.953 -7.315 2.344 0.207 -5.733 0.933 -0.449 -5.511 0.209 1.152 + -4.660 1.286 1.690 -4.913 2.193 2.166 -4.405 0.139 1.598 -4.159 + -0.770 2.756 -3.503 0.391 3.195 -5.509 -0.208 3.848 -5.109 -0.982 + 3.792 -5.733 0.658 2.547 -6.793 -0.743 2.228 -7.380 0.098 1.671 + -6.533 -1.339 3.466 -7.673 -1.586 3.673 -7.141 -2.517 4.414 -7.816 + -1.048 2.809 -8.973 -1.836 1.837 -8.836 -2.100 3.270 -9.493 -2.549 + 2.782 -9.533 -0.972 0.385 -3.357 1.531 -0.702 -3.146 0.982 0.984 + -2.423 2.275 1.882 -2.637 2.665 0.587 -1.013 2.202 -0.508 -0.975 + 2.233 1.116 -0.235 3.414 2.200 -0.356 3.494 0.905 0.837 3.277 + 0.514 -0.645 4.721 1.143 -1.288 5.729 2.179 -1.570 5.715 0.248 + -1.529 6.754 0.507 -1.981 7.615 -1.013 -1.055 6.453 -2.233 -1.073 + 7.141 -2.304 -1.534 8.122 -3.357 -0.479 6.550 -4.322 -0.489 7.070 + -3.252 0.130 5.285 -4.120 0.590 4.838 -2.015 0.142 4.607 -1.943 + 0.599 3.652 -0.866 -0.456 5.165 1.057 -0.384 0.880 2.118 -0.727 + 0.366 0.280 0.558 0.349 -0.598 0.751 0.795 0.522 1.219 -0.947 + 1.589 1.211 -1.155 -0.177 0.430 -2.068 0.137 -0.615 -1.982 -1.702 + 0.520 -2.054 -2.036 1.544 -1.907 -2.108 0.150 -2.994 -2.087 -0.119 + -1.255 0.218 0.887 -3.335 0.129 0.097 -3.922 0.050 2.671 -0.927 + -0.749 3.063 -0.074 0.502 3.481 -1.888 1.073 3.059 -2.618 -0.006 + 4.832 -2.134 -0.510 5.184 -1.233 1.158 5.784 -2.401 1.858 5.694 + -1.588 1.693 5.476 -3.324 0.790 7.228 -2.541 0.729 7.921 -3.695 + 0.944 7.502 -4.675 0.418 9.239 -3.444 0.410 9.949 -4.163 0.263 + 9.471 -2.098 -0.022 10.624 -1.345 -0.142 11.584 -1.821 -0.085 10.540 + 0.059 -0.240 11.443 0.661 0.104 9.289 0.687 0.096 9.222 1.775 + 0.377 8.140 -0.081 0.579 7.215 0.432 0.475 8.202 -1.489 -1.027 + 4.830 -3.287 -0.798 4.220 -4.337 -2.155 5.527 -3.090 -2.273 5.959 + -2.175 -3.259 5.665 -4.062 -2.857 5.596 -5.059 -4.294 4.534 -3.848 + -4.621 4.535 -2.819 -5.198 4.732 -4.449 -3.813 3.121 -4.202 -2.936 + 2.875 -3.630 -4.608 2.418 -3.933 -3.513 2.924 -5.696 -4.430 3.100 + -6.260 -2.755 3.646 -6.050 -3.016 1.506 -5.989 -3.632 0.769 -5.437 + -3.140 1.293 -7.062 -1.596 1.293 -5.629 -1.396 1.537 -4.661 -1.392 + 0.304 -5.700 -0.972 1.794 -6.222 -3.932 7.046 -3.963 -3.770 7.779 + -2.983 -4.691 7.431 -4.983 -4.807 6.823 -5.766 -5.143 8.326 -4.928 + -2.761 9.166 -0.794 -3.073 8.575 -1.577 -1.737 9.183 -0.810 -3.101 + 10.119 -0.890 -3.242 8.592 0.467 -2.801 9.171 1.270 -4.764 8.643 + 0.579 -5.134 9.657 0.321 -5.226 7.903 -0.086 -5.094 8.372 1.930 + -6.018 8.148 2.003 -2.767 7.153 0.578 -2.430 6.559 -0.444 -2.727 + 6.580 1.786 -3.101 7.078 2.596 -2.418 5.166 1.981 -1.597 4.906 + 1.308 -1.897 4.941 3.412 -2.702 5.158 4.115 -1.604 3.922 3.540 + -0.724 5.810 3.757 -0.694 6.751 4.732 -1.497 6.974 5.401 0.547 + 7.370 4.729 0.819 8.076 5.415 1.375 6.871 3.741 2.665 7.175 + 3.332 3.239 7.980 3.814 3.247 6.437 2.283 4.265 6.654 1.977 + 2.521 5.409 1.668 2.963 4.849 0.896 1.213 5.101 2.084 0.682 + 4.282 1.633 0.589 5.833 3.127 -3.603 4.258 1.635 -4.756 4.695 + 1.634 -3.329 3.001 1.296 -2.358 2.735 1.209 -4.296 1.959 0.906 + -5.168 2.000 1.563 -4.762 2.212 -0.541 -3.883 2.447 -1.159 -5.557 + 1.093 -1.215 -6.378 0.763 -0.583 -5.977 1.440 -2.155 -4.901 0.253 + -1.437 -5.609 3.340 -0.559 -5.406 3.909 0.183 -3.654 0.581 1.090 + -2.427 0.492 1.169 -4.439 -0.493 1.185 -5.433 -0.365 1.083 -3.947 + -1.881 1.212 -2.887 -1.878 1.478 -4.724 -2.667 2.272 -4.694 -2.099 + 3.212 -5.781 -2.709 1.959 -4.219 -4.048 2.549 -4.839 -5.205 2.199 + -5.795 -5.261 1.671 -4.114 -6.276 2.677 -4.434 -7.235 2.620 -2.982 + -5.868 3.353 -1.963 -6.559 4.029 -1.983 -7.629 4.096 -0.921 -5.830 + 4.618 -0.119 -6.367 5.131 -0.927 -4.422 4.557 -0.149 -3.859 5.041 + -1.965 -3.750 3.902 -1.976 -2.662 3.886 -3.015 -4.449 3.277 -4.061 + -2.535 -0.183 -5.073 -2.375 -0.852 -3.033 -3.261 -0.620 -2.237 -3.331 + -0.014 -2.914 -3.784 -1.990 -3.914 -4.038 -2.373 -2.314 -2.676 -2.863 + -3.062 -1.880 -2.922 -1.434 -2.283 -2.382 -1.931 -3.058 -4.294 -1.067 + -3.774 -4.267 -2.776 -3.555 -4.769 -1.535 -1.796 -5.081 -0.525 -1.137 + -4.744 -2.288 -1.367 -5.973 -2.031 -5.042 -2.023 -0.885 -5.016 -1.585 + -2.553 -6.155 -2.545 -3.462 -6.118 -2.938 -1.790 -7.400 -2.764 -2.498 + -8.184 -2.978 -0.933 -7.243 -4.041 -0.197 -6.465 -3.886 -0.437 -8.179 + -4.276 -1.785 -6.868 -5.251 -2.899 -7.328 -5.407 -1.311 -6.007 -6.114 + -1.921 -5.778 -6.882 -0.425 -5.593 -5.992 -1.011 -7.913 -1.529 0.051 + -8.540 -1.670 -1.511 -7.629 -0.322 -2.357 -7.094 -0.292 -0.893 -7.959 + 0.966 -1.693 -8.036 1.706 -0.396 -8.933 0.912 0.152 -6.954 1.493 + 0.953 -7.314 2.345 0.208 -5.734 0.933 -0.448 -5.511 0.211 1.152 + -4.661 1.286 1.691 -4.914 2.192 2.166 -4.405 0.139 1.596 -4.161 + -0.770 2.757 -3.500 0.389 3.196 -5.509 -0.208 3.847 -5.108 -0.982 + 3.792 -5.731 0.656 2.548 -6.793 -0.743 2.228 -7.379 0.095 1.670 + -6.534 -1.338 3.466 -7.673 -1.586 3.673 -7.139 -2.516 4.413 -7.816 + -1.048 2.809 -8.973 -1.836 1.838 -8.838 -2.101 3.269 -9.492 -2.547 + 2.781 -9.534 -0.969 0.386 -3.358 1.531 -0.703 -3.145 0.982 0.984 + -2.424 2.275 1.883 -2.638 2.663 0.587 -1.013 2.201 -0.509 -0.979 + 2.235 1.115 -0.235 3.414 2.199 -0.356 3.499 0.904 0.839 3.278 + 0.515 -0.645 4.722 1.143 -1.288 5.729 2.178 -1.569 5.713 0.248 + -1.529 6.754 0.508 -1.978 7.615 -1.013 -1.055 6.452 -2.233 -1.073 + 7.141 -2.304 -1.534 8.122 -3.356 -0.479 6.549 -4.324 -0.490 7.069 + -3.252 0.130 5.285 -4.120 0.590 4.838 -2.014 0.142 4.607 -1.943 + 0.597 3.654 -0.866 -0.456 5.164 1.057 -0.385 0.880 2.118 -0.727 + 0.366 0.280 0.558 0.349 -0.597 0.749 0.793 0.522 1.219 -0.947 + 1.590 1.211 -1.156 -0.177 0.430 -2.068 0.139 -0.614 -1.980 -1.701 + 0.521 -2.054 -2.036 1.545 -1.907 -2.107 0.149 -2.994 -2.087 -0.120 + -1.256 0.218 0.886 -3.335 0.130 0.098 -3.924 0.051 2.671 -0.927 + -0.748 3.063 -0.075 0.501 3.482 -1.888 1.072 3.060 -2.619 -0.006 + 4.833 -2.134 -0.510 5.185 -1.233 1.157 5.784 -2.401 1.856 5.694 + -1.590 1.695 5.478 -3.326 0.790 7.227 -2.541 0.729 7.921 -3.695 + 0.943 7.502 -4.675 0.418 9.239 -3.444 0.410 9.948 -4.163 0.264 + 9.471 -2.098 -0.021 10.624 -1.344 -0.144 11.584 -1.818 -0.085 10.540 + 0.059 -0.241 11.445 0.662 0.104 9.289 0.688 0.095 9.222 1.777 + 0.377 8.139 -0.081 0.580 7.217 0.434 0.475 8.203 -1.489 -1.027 + 4.829 -3.287 -0.799 4.220 -4.337 -2.154 5.527 -3.089 -2.272 5.959 + -2.173 -3.258 5.665 -4.063 -2.858 5.596 -5.057 -4.293 4.533 -3.847 + -4.622 4.533 -2.821 -5.200 4.731 -4.448 -3.813 3.121 -4.202 -2.936 + 2.874 -3.634 -4.610 2.419 -3.936 -3.513 2.924 -5.697 -4.429 3.101 + -6.260 -2.754 3.647 -6.051 -3.016 1.506 -5.989 -3.631 0.767 -5.435 + -3.139 1.294 -7.063 -1.596 1.292 -5.629 -1.397 1.537 -4.660 -1.392 + 0.306 -5.698 -0.973 1.793 -6.222 -3.932 7.046 -3.963 -3.770 7.779 + -2.983 -4.691 7.432 -4.984 -4.805 6.825 -5.766 -5.144 8.327 -4.927 + -2.761 9.165 -0.794 -3.072 8.572 -1.578 -1.736 9.185 -0.812 -3.102 + 10.120 -0.887 -3.243 8.592 0.466 -2.800 9.174 1.266 -4.764 8.642 + 0.578 -5.136 9.658 0.320 -5.226 7.901 -0.088 -5.095 8.371 1.930 + -6.016 8.148 2.003 -2.767 7.154 0.578 -2.430 6.558 -0.443 -2.727 + 6.580 1.787 -3.103 7.076 2.600 -2.418 5.166 1.981 -1.596 4.907 + 1.308 -1.896 4.941 3.412 -2.701 5.161 4.115 -1.604 3.926 3.542 + -0.723 5.810 3.757 -0.695 6.751 4.733 -1.495 6.974 5.401 0.548 + 7.369 4.729 0.820 8.075 5.417 1.376 6.872 3.741 2.665 7.176 + 3.332 3.241 7.983 3.812 3.247 6.437 2.283 4.266 6.654 1.980 + 2.521 5.409 1.668 2.961 4.851 0.899 1.213 5.100 2.083 0.683 + 4.280 1.634 0.588 5.833 3.127 -3.603 4.258 1.635 -4.756 4.695 + 1.634 -3.329 3.001 1.295 -2.359 2.734 1.206 -4.295 1.958 0.906 + -5.167 1.999 1.563 -4.762 2.212 -0.541 -3.881 2.450 -1.159 -5.556 + 1.092 -1.215 -6.379 0.762 -0.584 -5.977 1.438 -2.155 -4.900 0.253 + -1.438 -5.609 3.341 -0.558 -5.410 3.910 0.182 -3.654 0.581 1.090 + -2.427 0.492 1.169 -4.438 -0.492 1.185 -5.432 -0.364 1.084 -3.947 + -1.880 1.212 -2.885 -1.876 1.475 -4.725 -2.667 2.272 -4.696 -2.097 + 3.212 -5.782 -2.706 1.957 -4.219 -4.048 2.549 -4.839 -5.205 2.198 + -5.795 -5.262 1.670 -4.114 -6.276 2.676 -4.433 -7.235 2.619 -2.982 + -5.867 3.352 -1.963 -6.559 4.029 -1.983 -7.628 4.097 -0.921 -5.830 + 4.618 -0.119 -6.370 5.131 -0.927 -4.421 4.558 -0.152 -3.858 5.042 + -1.965 -3.751 3.902 -1.977 -2.662 3.888 -3.015 -4.450 3.278 -4.061 + -2.535 -0.184 -5.073 -2.375 -0.852 -3.033 -3.261 -0.621 -2.241 -3.331 + -0.013 -2.915 -3.784 -1.990 -3.916 -4.038 -2.372 -2.313 -2.676 -2.863 + -3.062 -1.881 -2.922 -1.436 -2.281 -2.383 -1.931 -3.058 -4.293 -1.064 + -3.776 -4.265 -2.776 -3.555 -4.768 -1.535 -1.796 -5.081 -0.525 -1.137 + -4.745 -2.287 -1.367 -5.973 -2.031 -5.042 -2.024 -0.885 -5.016 -1.585 + -2.553 -6.154 -2.546 -3.460 -6.119 -2.938 -1.790 -7.400 -2.763 -2.494 + -8.184 -2.978 -0.932 -7.244 -4.041 -0.199 -6.465 -3.887 -0.438 -8.180 + -4.276 -1.785 -6.868 -5.251 -2.899 -7.328 -5.407 -1.311 -6.007 -6.113 + -1.920 -5.779 -6.883 -0.425 -5.596 -5.993 -1.011 -7.913 -1.529 0.051 + -8.540 -1.670 -1.511 -7.630 -0.322 -2.357 -7.096 -0.290 -0.894 -7.959 + 0.966 -1.696 -8.036 1.705 -0.394 -8.933 0.915 0.152 -6.954 1.494 + 0.953 -7.313 2.345 0.208 -5.734 0.932 -0.447 -5.510 0.212 1.152 + -4.662 1.287 1.692 -4.914 2.191 2.165 -4.404 0.139 1.593 -4.162 + -0.770 2.757 -3.498 0.388 3.197 -5.509 -0.207 3.847 -5.108 -0.983 + 3.792 -5.730 0.654 2.548 -6.793 -0.744 2.227 -7.378 0.093 1.670 + -6.535 -1.337 3.465 -7.673 -1.586 3.673 -7.137 -2.515 4.413 -7.816 + -1.048 2.809 -8.972 -1.836 1.839 -8.839 -2.102 3.268 -9.491 -2.544 + 2.781 -9.535 -0.966 0.386 -3.359 1.531 -0.703 -3.145 0.982 0.985 + -2.425 2.275 1.885 -2.639 2.660 0.587 -1.014 2.201 -0.509 -0.984 + 2.237 1.114 -0.235 3.414 2.199 -0.357 3.503 0.903 0.841 3.279 + 0.515 -0.645 4.722 1.143 -1.288 5.729 2.177 -1.568 5.712 0.248 + -1.529 6.754 0.510 -1.976 7.615 -1.013 -1.055 6.452 -2.234 -1.074 + 7.140 -2.304 -1.534 8.123 -3.356 -0.480 6.549 -4.326 -0.490 7.069 + -3.252 0.130 5.284 -4.119 0.590 4.837 -2.014 0.142 4.607 -1.943 + 0.595 3.656 -0.865 -0.456 5.164 1.057 -0.386 0.879 2.118 -0.726 + 0.366 0.280 0.559 0.350 -0.597 0.748 0.791 0.523 1.219 -0.947 + 1.590 1.211 -1.156 -0.177 0.430 -2.068 0.141 -0.614 -1.977 -1.701 + 0.522 -2.054 -2.036 1.546 -1.908 -2.106 0.147 -2.994 -2.087 -0.121 + -1.256 0.218 0.885 -3.335 0.130 0.099 -3.926 0.051 2.671 -0.927 + -0.748 3.062 -0.075 0.501 3.483 -1.887 1.071 3.061 -2.620 -0.006 + 4.834 -2.134 -0.511 5.185 -1.232 1.157 5.784 -2.400 1.854 5.693 + -1.591 1.698 5.479 -3.328 0.790 7.227 -2.542 0.729 7.921 -3.694 + 0.943 7.502 -4.675 0.419 9.239 -3.444 0.409 9.947 -4.163 0.265 + 9.471 -2.099 -0.021 10.623 -1.344 -0.145 11.585 -1.815 -0.084 10.540 + 0.060 -0.242 11.447 0.663 0.104 9.288 0.688 0.093 9.221 1.778 + 0.377 8.139 -0.082 0.580 7.219 0.435 0.476 8.203 -1.490 -1.027 + 4.829 -3.287 -0.799 4.219 -4.338 -2.154 5.528 -3.088 -2.272 5.959 + -2.171 -3.258 5.665 -4.063 -2.858 5.595 -5.056 -4.292 4.532 -3.847 + -4.624 4.531 -2.823 -5.202 4.729 -4.447 -3.813 3.121 -4.202 -2.937 + 2.874 -3.638 -4.611 2.420 -3.938 -3.513 2.923 -5.697 -4.428 3.103 + -6.261 -2.752 3.648 -6.053 -3.015 1.506 -5.989 -3.630 0.765 -5.433 + -3.139 1.294 -7.065 -1.596 1.291 -5.629 -1.398 1.538 -4.660 -1.392 + 0.308 -5.696 -0.975 1.791 -6.222 -3.933 7.046 -3.963 -3.770 7.779 + -2.982 -4.692 7.432 -4.984 -4.803 6.826 -5.766 -5.144 8.327 -4.925 + -2.761 9.164 -0.794 -3.071 8.568 -1.579 -1.734 9.187 -0.813 -3.103 + 10.120 -0.885 -3.243 8.592 0.465 -2.798 9.176 1.262 -4.764 8.641 + 0.577 -5.138 9.658 0.319 -5.227 7.900 -0.089 -5.095 8.371 1.930 + -6.014 8.148 2.004 -2.767 7.154 0.578 -2.430 6.558 -0.443 -2.727 + 6.580 1.788 -3.104 7.075 2.603 -2.419 5.167 1.981 -1.596 4.908 + 1.308 -1.896 4.941 3.412 -2.700 5.163 4.115 -1.603 3.929 3.544 + -0.723 5.811 3.756 -0.695 6.751 4.733 -1.493 6.974 5.400 0.549 + 7.369 4.730 0.821 8.074 5.420 1.377 6.873 3.741 2.664 7.176 + 3.332 3.242 7.987 3.811 3.247 6.437 2.283 4.268 6.653 1.982 + 2.522 5.410 1.668 2.959 4.854 0.902 1.214 5.100 2.082 0.685 + 4.278 1.636 0.588 5.832 3.126 -3.603 4.258 1.634 -4.757 4.695 + 1.634 -3.329 3.001 1.295 -2.360 2.734 1.203 -4.294 1.958 0.905 + -5.166 1.998 1.563 -4.762 2.212 -0.541 -3.880 2.452 -1.159 -5.556 + 1.092 -1.215 -6.379 0.760 -0.586 -5.977 1.436 -2.155 -4.900 0.253 + -1.438 -5.608 3.341 -0.557 -5.413 3.911 0.181 -3.654 0.581 1.090 + -2.426 0.492 1.168 -4.438 -0.491 1.186 -5.432 -0.362 1.085 -3.947 + -1.880 1.213 -2.884 -1.874 1.473 -4.725 -2.666 2.273 -4.698 -2.095 + 3.213 -5.783 -2.704 1.955 -4.219 -4.048 2.549 -4.839 -5.205 2.197 + -5.796 -5.262 1.669 -4.114 -6.275 2.676 -4.432 -7.235 2.619 -2.981 + -5.866 3.352 -1.963 -6.558 4.030 -1.984 -7.626 4.098 -0.921 -5.830 + 4.618 -0.119 -6.372 5.130 -0.928 -4.420 4.558 -0.155 -3.857 5.044 + -1.966 -3.752 3.903 -1.978 -2.661 3.889 -3.015 -4.450 3.279 -4.061 + -2.534 -0.184 -5.072 -2.374 -0.852 -3.033 -3.260 -0.621 -2.244 -3.331 + -0.011 -2.915 -3.784 -1.991 -3.919 -4.038 -2.371 -2.313 -2.676 -2.862 + -3.063 -1.882 -2.922 -1.437 -2.280 -2.385 -1.931 -3.058 -4.293 -1.061 + -3.778 -4.264 -2.775 -3.555 -4.767 -1.535 -1.795 -5.081 -0.525 -1.137 + -4.745 -2.287 -1.368 -5.974 -2.031 -5.042 -2.024 -0.885 -5.017 -1.585 + -2.553 -6.154 -2.546 -3.458 -6.119 -2.938 -1.790 -7.399 -2.763 -2.490 + -8.185 -2.979 -0.932 -7.244 -4.040 -0.201 -6.464 -3.888 -0.438 -8.180 + -4.277 -1.785 -6.868 -5.252 -2.898 -7.328 -5.408 -1.311 -6.006 -6.112 + -1.920 -5.780 -6.883 -0.425 -5.600 -5.993 -1.012 -7.913 -1.529 0.051 + -8.539 -1.670 -1.511 -7.630 -0.322 -2.357 -7.098 -0.289 -0.894 -7.959 + 0.966 -1.698 -8.036 1.704 -0.393 -8.933 0.917 0.153 -6.954 1.494 + 0.953 -7.313 2.346 0.208 -5.734 0.931 -0.445 -5.510 0.214 1.152 + -4.663 1.287 1.692 -4.914 2.190 2.165 -4.404 0.139 1.590 -4.163 + -0.770 2.758 -3.495 0.387 3.198 -5.509 -0.207 3.846 -5.108 -0.983 + 3.792 -5.729 0.653 2.548 -6.793 -0.744 2.227 -7.377 0.091 1.669 + -6.536 -1.336 3.464 -7.673 -1.587 3.673 -7.135 -2.513 4.413 -7.815 + -1.047 2.809 -8.972 -1.836 1.839 -8.840 -2.103 3.268 -9.491 -2.542 + 2.781 -9.536 -0.963 0.386 -3.360 1.531 -0.704 -3.144 0.981 0.985 + -2.425 2.275 1.886 -2.639 2.657 0.587 -1.015 2.201 -0.510 -0.988 + 2.238 1.114 -0.235 3.414 2.198 -0.358 3.508 0.902 0.842 3.280 + 0.516 -0.645 4.722 1.143 -1.288 5.729 2.176 -1.567 5.710 0.248 + -1.529 6.754 0.512 -1.973 7.615 -1.014 -1.056 6.451 -2.234 -1.074 + 7.140 -2.305 -1.535 8.124 -3.355 -0.480 6.549 -4.328 -0.491 7.069 + -3.253 0.130 5.284 -4.119 0.590 4.837 -2.013 0.142 4.607 -1.943 + 0.593 3.657 -0.865 -0.456 5.164 1.056 -0.386 0.879 2.119 -0.725 + 0.367 0.280 0.559 0.351 -0.596 0.747 0.790 0.524 1.220 -0.947 + 1.590 1.211 -1.156 -0.178 0.430 -2.067 0.143 -0.613 -1.975 -1.701 + 0.523 -2.054 -2.036 1.547 -1.908 -2.106 0.146 -2.994 -2.087 -0.122 + -1.257 0.218 0.884 -3.335 0.131 0.100 -3.928 0.051 2.670 -0.927 + -0.747 3.062 -0.075 0.500 3.483 -1.887 1.070 3.062 -2.621 -0.006 + 4.834 -2.134 -0.511 5.185 -1.232 1.156 5.785 -2.400 1.852 5.692 + -1.593 1.700 5.481 -3.330 0.790 7.226 -2.543 0.729 7.921 -3.694 + 0.943 7.503 -4.675 0.420 9.239 -3.444 0.409 9.947 -4.164 0.266 + 9.471 -2.099 -0.020 10.623 -1.344 -0.147 11.585 -1.812 -0.084 10.541 + 0.060 -0.242 11.449 0.664 0.104 9.287 0.688 0.092 9.220 1.779 + 0.378 8.139 -0.082 0.581 7.221 0.437 0.476 8.204 -1.490 -1.027 + 4.829 -3.287 -0.800 4.218 -4.338 -2.154 5.529 -3.088 -2.271 5.959 + -2.169 -3.257 5.665 -4.063 -2.859 5.595 -5.054 -4.291 4.531 -3.846 + -4.625 4.529 -2.824 -5.204 4.726 -4.446 -3.813 3.122 -4.203 -2.937 + 2.874 -3.641 -4.613 2.420 -3.940 -3.514 2.923 -5.697 -4.428 3.105 + -6.261 -2.750 3.648 -6.054 -3.015 1.506 -5.989 -3.629 0.763 -5.431 + -3.138 1.294 -7.066 -1.596 1.290 -5.629 -1.399 1.538 -4.660 -1.392 + 0.310 -5.693 -0.976 1.789 -6.222 -3.933 7.046 -3.962 -3.770 7.779 + -2.982 -4.692 7.433 -4.985 -4.801 6.827 -5.766 -5.144 8.328 -4.924 + -2.761 9.164 -0.794 -3.070 8.565 -1.580 -1.733 9.189 -0.814 -3.104 + 10.120 -0.882 -3.243 8.593 0.465 -2.796 9.178 1.258 -4.765 8.639 + 0.576 -5.139 9.659 0.318 -5.228 7.898 -0.091 -5.095 8.371 1.930 + -6.013 8.148 2.004 -2.767 7.154 0.578 -2.430 6.557 -0.442 -2.727 + 6.580 1.789 -3.105 7.073 2.606 -2.419 5.167 1.981 -1.595 4.909 + 1.308 -1.895 4.941 3.412 -2.698 5.166 4.115 -1.603 3.932 3.546 + -0.722 5.811 3.756 -0.696 6.752 4.733 -1.492 6.974 5.399 0.549 + 7.369 4.730 0.822 8.074 5.422 1.379 6.873 3.740 2.663 7.176 + 3.332 3.244 7.990 3.810 3.247 6.436 2.283 4.269 6.652 1.985 + 2.522 5.411 1.668 2.957 4.857 0.905 1.214 5.099 2.082 0.686 + 4.277 1.638 0.587 5.832 3.126 -3.603 4.258 1.634 -4.757 4.695 + 1.633 -3.328 3.001 1.295 -2.361 2.734 1.200 -4.293 1.958 0.905 + -5.164 1.997 1.563 -4.762 2.212 -0.541 -3.879 2.454 -1.160 -5.556 + 1.092 -1.215 -6.379 0.759 -0.587 -5.977 1.433 -2.155 -4.900 0.253 + -1.438 -5.608 3.341 -0.557 -5.417 3.912 0.180 -3.654 0.582 1.090 + -2.426 0.492 1.168 -4.438 -0.491 1.186 -5.431 -0.360 1.086 -3.947 + -1.879 1.213 -2.883 -1.872 1.470 -4.725 -2.666 2.273 -4.700 -2.093 + 3.213 -5.784 -2.702 1.953 -4.218 -4.047 2.549 -4.839 -5.206 2.196 + -5.797 -5.262 1.669 -4.114 -6.275 2.675 -4.431 -7.235 2.618 -2.981 + -5.866 3.352 -1.963 -6.558 4.030 -1.984 -7.625 4.099 -0.921 -5.830 + 4.617 -0.119 -6.374 5.130 -0.928 -4.419 4.558 -0.157 -3.856 5.046 + -1.966 -3.752 3.903 -1.979 -2.661 3.891 -3.015 -4.450 3.279 -4.061 + -2.534 -0.185 -5.072 -2.374 -0.852 -3.032 -3.260 -0.621 -2.248 -3.332 + -0.010 -2.916 -3.784 -1.991 -3.921 -4.038 -2.370 -2.313 -2.676 -2.862 + -3.064 -1.882 -2.923 -1.439 -2.279 -2.386 -1.931 -3.057 -4.292 -1.058 + -3.780 -4.262 -2.774 -3.555 -4.766 -1.535 -1.794 -5.081 -0.525 -1.137 + -4.745 -2.287 -1.369 -5.974 -2.031 -5.042 -2.024 -0.886 -5.017 -1.585 + -2.554 -6.153 -2.546 -3.455 -6.120 -2.938 -1.790 -7.399 -2.762 -2.486 + -8.185 -2.979 -0.932 -7.245 -4.040 -0.203 -6.464 -3.889 -0.439 -8.181 + -4.277 -1.785 -6.868 -5.252 -2.898 -7.329 -5.408 -1.311 -6.006 -6.111 + -1.919 -5.782 -6.883 -0.425 -5.603 -5.993 -1.012 -7.912 -1.529 0.051 + -8.539 -1.671 -1.511 -7.631 -0.323 -2.357 -7.099 -0.288 -0.894 -7.959 + 0.966 -1.700 -8.036 1.703 -0.391 -8.932 0.919 0.153 -6.954 1.495 + 0.953 -7.312 2.346 0.208 -5.734 0.931 -0.444 -5.509 0.215 1.152 + -4.664 1.288 1.693 -4.915 2.189 2.164 -4.404 0.139 1.588 -4.164 + -0.770 2.759 -3.492 0.386 3.199 -5.509 -0.207 3.846 -5.108 -0.984 + 3.792 -5.728 0.651 2.549 -6.793 -0.744 2.227 -7.376 0.089 1.668 + -6.537 -1.335 3.464 -7.674 -1.587 3.672 -7.133 -2.512 4.412 -7.815 + -1.047 2.809 -8.971 -1.836 1.840 -8.842 -2.104 3.267 -9.490 -2.540 + 2.780 -9.536 -0.960 0.386 -3.361 1.531 -0.704 -3.143 0.981 0.986 + -2.426 2.275 1.888 -2.640 2.655 0.587 -1.016 2.201 -0.511 -0.992 + 2.240 1.113 -0.235 3.414 2.197 -0.358 3.512 0.901 0.844 3.281 + 0.516 -0.645 4.723 1.144 -1.288 5.729 2.175 -1.566 5.708 0.248 + -1.529 6.754 0.514 -1.971 7.615 -1.014 -1.056 6.450 -2.234 -1.075 + 7.139 -2.305 -1.535 8.124 -3.355 -0.480 6.548 -4.330 -0.492 7.069 + -3.253 0.130 5.284 -4.119 0.590 4.837 -2.013 0.141 4.608 -1.944 + 0.591 3.659 -0.865 -0.455 5.163 1.056 -0.387 0.878 2.119 -0.725 + 0.367 0.280 0.559 0.351 -0.596 0.745 0.788 0.524 1.220 -0.947 + 1.590 1.211 -1.156 -0.178 0.431 -2.067 0.145 -0.613 -1.973 -1.701 + 0.523 -2.055 -2.036 1.548 -1.909 -2.105 0.145 -2.994 -2.087 -0.122 + -1.257 0.218 0.883 -3.334 0.132 0.101 -3.930 0.051 2.670 -0.928 + -0.747 3.062 -0.075 0.500 3.484 -1.887 1.069 3.063 -2.623 -0.007 + 4.835 -2.134 -0.511 5.186 -1.231 1.156 5.785 -2.400 1.850 5.692 + -1.594 1.703 5.483 -3.332 0.790 7.226 -2.543 0.729 7.922 -3.693 + 0.942 7.503 -4.675 0.421 9.238 -3.444 0.409 9.946 -4.164 0.266 + 9.471 -2.100 -0.020 10.623 -1.344 -0.149 11.585 -1.809 -0.084 10.541 + 0.060 -0.243 11.451 0.665 0.105 9.287 0.689 0.091 9.219 1.780 + 0.378 8.139 -0.083 0.582 7.223 0.439 0.476 8.205 -1.491 -1.028 + 4.829 -3.287 -0.800 4.218 -4.339 -2.154 5.529 -3.087 -2.270 5.960 + -2.167 -3.257 5.664 -4.063 -2.859 5.595 -5.053 -4.290 4.531 -3.846 + -4.626 4.526 -2.826 -5.206 4.724 -4.445 -3.813 3.122 -4.203 -2.937 + 2.873 -3.645 -4.615 2.421 -3.943 -3.514 2.923 -5.697 -4.427 3.106 + -6.262 -2.749 3.649 -6.056 -3.015 1.506 -5.989 -3.628 0.761 -5.429 + -3.137 1.294 -7.068 -1.596 1.289 -5.630 -1.399 1.538 -4.660 -1.392 + 0.312 -5.691 -0.977 1.788 -6.222 -3.933 7.046 -3.962 -3.770 7.779 + -2.981 -4.693 7.434 -4.986 -4.799 6.828 -5.766 -5.144 8.329 -4.923 + -2.761 9.163 -0.794 -3.069 8.562 -1.581 -1.731 9.191 -0.816 -3.105 + 10.120 -0.880 -3.243 8.593 0.464 -2.794 9.181 1.254 -4.765 8.638 + 0.574 -5.141 9.660 0.317 -5.229 7.896 -0.092 -5.095 8.370 1.931 + -6.012 8.148 2.005 -2.767 7.155 0.579 -2.431 6.556 -0.442 -2.728 + 6.580 1.789 -3.106 7.071 2.609 -2.420 5.167 1.981 -1.594 4.910 + 1.309 -1.895 4.941 3.412 -2.697 5.169 4.115 -1.603 3.935 3.548 + -0.722 5.811 3.756 -0.696 6.752 4.733 -1.490 6.974 5.399 0.550 + 7.368 4.730 0.823 8.073 5.424 1.380 6.874 3.740 2.663 7.177 + 3.332 3.245 7.992 3.808 3.247 6.436 2.283 4.270 6.652 1.988 + 2.522 5.411 1.668 2.955 4.859 0.907 1.214 5.099 2.081 0.688 + 4.275 1.640 0.586 5.832 3.126 -3.603 4.258 1.633 -4.757 4.695 + 1.633 -3.328 3.002 1.294 -2.362 2.734 1.197 -4.292 1.958 0.904 + -5.163 1.996 1.563 -4.762 2.211 -0.541 -3.878 2.456 -1.160 -5.556 + 1.091 -1.215 -6.380 0.757 -0.588 -5.977 1.431 -2.154 -4.899 0.253 + -1.438 -5.608 3.341 -0.556 -5.420 3.913 0.179 -3.654 0.582 1.090 + -2.426 0.493 1.168 -4.438 -0.490 1.187 -5.430 -0.358 1.087 -3.947 + -1.879 1.214 -2.882 -1.870 1.467 -4.725 -2.666 2.273 -4.702 -2.091 + 3.214 -5.785 -2.700 1.952 -4.218 -4.047 2.549 -4.838 -5.206 2.195 + -5.798 -5.263 1.668 -4.113 -6.274 2.675 -4.430 -7.235 2.617 -2.981 + -5.865 3.352 -1.963 -6.557 4.031 -1.984 -7.624 4.100 -0.921 -5.829 + 4.617 -0.119 -6.377 5.130 -0.928 -4.418 4.559 -0.160 -3.855 5.047 + -1.966 -3.753 3.904 -1.980 -2.661 3.892 -3.014 -4.451 3.280 -4.061 + -2.534 -0.185 -5.072 -2.374 -0.852 -3.032 -3.260 -0.621 -2.251 -3.332 + -0.008 -2.916 -3.784 -1.991 -3.923 -4.039 -2.369 -2.313 -2.677 -2.861 + -3.064 -1.883 -2.923 -1.440 -2.277 -2.387 -1.931 -3.057 -4.291 -1.055 + -3.782 -4.261 -2.774 -3.555 -4.765 -1.535 -1.794 -5.081 -0.525 -1.136 + -4.745 -2.287 -1.369 -5.974 -2.032 -5.042 -2.024 -0.886 -5.017 -1.584 + -2.554 -6.153 -2.546 -3.453 -6.120 -2.938 -1.790 -7.399 -2.762 -2.483 + -8.186 -2.979 -0.931 -7.245 -4.040 -0.204 -6.463 -3.890 -0.439 -8.182 + -4.278 -1.785 -6.868 -5.252 -2.898 -7.329 -5.409 -1.311 -6.005 -6.110 + -1.918 -5.783 -6.883 -0.426 -5.606 -5.993 -1.013 -7.912 -1.528 0.051 + -8.539 -1.671 -1.511 -7.631 -0.323 -2.358 -7.101 -0.287 -0.895 -7.959 + 0.966 -1.702 -8.036 1.702 -0.390 -8.932 0.922 0.154 -6.955 1.495 + 0.953 -7.311 2.346 0.208 -5.734 0.930 -0.443 -5.509 0.216 1.152 + -4.665 1.289 1.694 -4.915 2.189 2.164 -4.404 0.139 1.585 -4.165 + -0.770 2.759 -3.489 0.384 3.200 -5.509 -0.206 3.846 -5.108 -0.984 + 3.793 -5.726 0.650 2.549 -6.793 -0.745 2.226 -7.375 0.086 1.667 + -6.538 -1.334 3.463 -7.674 -1.587 3.672 -7.132 -2.511 4.412 -7.815 + -1.046 2.809 -8.971 -1.835 1.841 -8.843 -2.105 3.266 -9.489 -2.538 + 2.780 -9.537 -0.958 0.386 -3.362 1.531 -0.705 -3.143 0.981 0.986 + -2.427 2.275 1.889 -2.641 2.652 0.588 -1.016 2.201 -0.512 -0.996 + 2.241 1.112 -0.235 3.414 2.197 -0.359 3.516 0.901 0.846 3.282 + 0.517 -0.645 4.723 1.144 -1.288 5.730 2.174 -1.565 5.707 0.248 + -1.529 6.753 0.516 -1.969 7.615 -1.014 -1.056 6.450 -2.234 -1.076 + 7.139 -2.305 -1.535 8.125 -3.354 -0.481 6.548 -4.332 -0.492 7.069 + -3.253 0.130 5.283 -4.119 0.590 4.836 -2.012 0.141 4.608 -1.944 + 0.589 3.660 -0.864 -0.455 5.163 1.056 -0.387 0.878 2.119 -0.724 + 0.367 0.280 0.559 0.352 -0.595 0.744 0.786 0.525 1.220 -0.947 + 1.590 1.211 -1.156 -0.178 0.431 -2.067 0.146 -0.612 -1.971 -1.700 + 0.524 -2.055 -2.035 1.550 -1.909 -2.105 0.143 -2.994 -2.087 -0.123 + -1.258 0.218 0.881 -3.334 0.133 0.102 -3.932 0.051 2.670 -0.928 + -0.746 3.061 -0.075 0.499 3.485 -1.887 1.068 3.064 -2.624 -0.007 + 4.836 -2.134 -0.512 5.186 -1.231 1.156 5.785 -2.400 1.848 5.691 + -1.596 1.705 5.485 -3.334 0.790 7.225 -2.544 0.729 7.922 -3.693 + 0.942 7.504 -4.675 0.421 9.238 -3.444 0.408 9.945 -4.164 0.267 + 9.470 -2.101 -0.019 10.622 -1.344 -0.151 11.585 -1.806 -0.083 10.541 + 0.061 -0.243 11.453 0.666 0.105 9.286 0.689 0.090 9.218 1.782 + 0.378 8.139 -0.083 0.583 7.225 0.440 0.477 8.205 -1.491 -1.028 + 4.828 -3.288 -0.801 4.217 -4.339 -2.153 5.530 -3.086 -2.270 5.960 + -2.165 -3.256 5.664 -4.063 -2.860 5.595 -5.052 -4.289 4.530 -3.845 + -4.627 4.524 -2.828 -5.208 4.722 -4.444 -3.812 3.123 -4.204 -2.937 + 2.873 -3.649 -4.616 2.422 -3.945 -3.514 2.923 -5.697 -4.426 3.108 + -6.262 -2.747 3.650 -6.058 -3.015 1.506 -5.989 -3.626 0.759 -5.427 + -3.137 1.294 -7.069 -1.596 1.288 -5.630 -1.400 1.539 -4.659 -1.391 + 0.313 -5.689 -0.978 1.786 -6.222 -3.933 7.046 -3.962 -3.770 7.779 + -2.981 -4.693 7.435 -4.986 -4.797 6.830 -5.766 -5.144 8.329 -4.921 + -2.761 9.162 -0.794 -3.068 8.559 -1.582 -1.730 9.193 -0.817 -3.106 + 10.120 -0.878 -3.243 8.593 0.463 -2.793 9.183 1.250 -4.765 8.637 + 0.573 -5.143 9.661 0.316 -5.229 7.895 -0.094 -5.095 8.370 1.931 + -6.010 8.148 2.005 -2.767 7.155 0.579 -2.431 6.556 -0.441 -2.728 + 6.580 1.790 -3.107 7.070 2.612 -2.421 5.168 1.981 -1.594 4.912 + 1.309 -1.894 4.940 3.413 -2.696 5.172 4.115 -1.603 3.938 3.550 + -0.722 5.812 3.755 -0.696 6.752 4.734 -1.489 6.974 5.398 0.551 + 7.368 4.730 0.824 8.072 5.427 1.381 6.875 3.740 2.662 7.177 + 3.332 3.247 7.995 3.807 3.248 6.436 2.283 4.271 6.651 1.991 + 2.522 5.412 1.669 2.954 4.862 0.910 1.215 5.098 2.080 0.689 + 4.273 1.642 0.586 5.832 3.126 -3.603 4.258 1.633 -4.757 4.695 + 1.633 -3.328 3.002 1.294 -2.363 2.734 1.194 -4.291 1.958 0.904 + -5.162 1.995 1.563 -4.762 2.211 -0.541 -3.878 2.458 -1.161 -5.556 + 1.091 -1.215 -6.380 0.756 -0.590 -5.977 1.429 -2.154 -4.899 0.253 + -1.438 -5.608 3.342 -0.555 -5.424 3.915 0.178 -3.653 0.583 1.090 + -2.426 0.493 1.167 -4.437 -0.489 1.187 -5.430 -0.357 1.089 -3.947 + -1.878 1.214 -2.880 -1.868 1.465 -4.725 -2.666 2.273 -4.705 -2.089 + 3.214 -5.786 -2.698 1.950 -4.217 -4.046 2.549 -4.838 -5.206 2.194 + -5.799 -5.263 1.667 -4.113 -6.273 2.674 -4.429 -7.234 2.616 -2.981 + -5.865 3.352 -1.963 -6.557 4.031 -1.985 -7.622 4.101 -0.920 -5.829 + 4.617 -0.119 -6.379 5.130 -0.929 -4.418 4.559 -0.162 -3.854 5.049 + -1.966 -3.754 3.904 -1.982 -2.661 3.894 -3.014 -4.451 3.280 -4.061 + -2.533 -0.186 -5.071 -2.374 -0.852 -3.032 -3.259 -0.621 -2.255 -3.332 + -0.006 -2.917 -3.783 -1.992 -3.925 -4.039 -2.368 -2.313 -2.677 -2.861 + -3.065 -1.884 -2.923 -1.442 -2.276 -2.388 -1.931 -3.056 -4.291 -1.053 + -3.784 -4.259 -2.773 -3.556 -4.764 -1.535 -1.793 -5.081 -0.525 -1.136 + -4.745 -2.287 -1.370 -5.974 -2.032 -5.042 -2.024 -0.886 -5.018 -1.584 + -2.554 -6.153 -2.546 -3.451 -6.120 -2.939 -1.790 -7.399 -2.762 -2.479 + -8.187 -2.979 -0.931 -7.245 -4.039 -0.206 -6.463 -3.891 -0.440 -8.182 + -4.278 -1.785 -6.868 -5.252 -2.898 -7.329 -5.409 -1.311 -6.005 -6.109 + -1.918 -5.784 -6.883 -0.426 -5.610 -5.993 -1.013 -7.912 -1.528 0.051 + -8.539 -1.671 -1.511 -7.631 -0.323 -2.358 -7.103 -0.286 -0.895 -7.958 + 0.966 -1.705 -8.037 1.701 -0.388 -8.932 0.924 0.154 -6.955 1.496 + 0.953 -7.310 2.347 0.208 -5.734 0.929 -0.443 -5.508 0.217 1.152 + -4.666 1.289 1.694 -4.915 2.188 2.163 -4.404 0.139 1.583 -4.167 + -0.770 2.760 -3.487 0.383 3.201 -5.509 -0.206 3.845 -5.108 -0.984 + 3.793 -5.725 0.649 2.549 -6.793 -0.745 2.226 -7.374 0.084 1.666 + -6.539 -1.333 3.463 -7.674 -1.588 3.671 -7.130 -2.510 4.412 -7.815 + -1.046 2.809 -8.970 -1.835 1.841 -8.845 -2.107 3.266 -9.488 -2.536 + 2.779 -9.538 -0.955 0.386 -3.363 1.531 -0.705 -3.142 0.980 0.987 + -2.428 2.275 1.891 -2.641 2.649 0.588 -1.017 2.201 -0.513 -1.001 + 2.243 1.112 -0.234 3.414 2.196 -0.360 3.521 0.900 0.847 3.283 + 0.518 -0.645 4.723 1.144 -1.287 5.730 2.172 -1.564 5.705 0.248 + -1.529 6.753 0.517 -1.966 7.615 -1.015 -1.057 6.449 -2.234 -1.076 + 7.138 -2.305 -1.535 8.125 -3.354 -0.481 6.548 -4.333 -0.493 7.069 + -3.253 0.130 5.283 -4.119 0.590 4.836 -2.012 0.141 4.608 -1.944 + 0.587 3.662 -0.864 -0.455 5.163 1.056 -0.388 0.877 2.119 -0.724 + 0.368 0.281 0.560 0.352 -0.595 0.743 0.785 0.526 1.221 -0.948 + 1.591 1.210 -1.157 -0.179 0.431 -2.067 0.148 -0.612 -1.969 -1.700 + 0.525 -2.055 -2.035 1.551 -1.909 -2.104 0.142 -2.994 -2.087 -0.124 + -1.259 0.218 0.880 -3.334 0.134 0.103 -3.934 0.051 2.670 -0.928 + -0.745 3.061 -0.075 0.499 3.486 -1.886 1.067 3.065 -2.625 -0.007 + 4.836 -2.134 -0.512 5.186 -1.231 1.155 5.785 -2.400 1.846 5.690 + -1.597 1.708 5.486 -3.335 0.790 7.225 -2.544 0.729 7.922 -3.693 + 0.942 7.504 -4.675 0.422 9.238 -3.444 0.408 9.944 -4.165 0.268 + 9.470 -2.101 -0.018 10.622 -1.344 -0.152 11.585 -1.802 -0.083 10.541 + 0.061 -0.244 11.455 0.667 0.105 9.285 0.689 0.089 9.217 1.783 + 0.379 8.138 -0.084 0.583 7.227 0.442 0.477 8.206 -1.492 -1.028 + 4.828 -3.288 -0.801 4.216 -4.339 -2.153 5.531 -3.085 -2.269 5.960 + -2.164 -3.255 5.664 -4.064 -2.860 5.595 -5.051 -4.288 4.529 -3.845 + -4.628 4.522 -2.829 -5.210 4.720 -4.443 -3.812 3.123 -4.204 -2.937 + 2.872 -3.652 -4.618 2.423 -3.947 -3.514 2.922 -5.697 -4.426 3.110 + -6.263 -2.746 3.651 -6.059 -3.014 1.506 -5.989 -3.625 0.757 -5.426 + -3.136 1.294 -7.071 -1.596 1.287 -5.630 -1.401 1.539 -4.659 -1.391 + 0.315 -5.687 -0.980 1.785 -6.221 -3.934 7.046 -3.962 -3.770 7.779 + -2.980 -4.694 7.435 -4.987 -4.795 6.831 -5.765 -5.144 8.330 -4.920 + -2.761 9.161 -0.794 -3.067 8.556 -1.583 -1.728 9.195 -0.818 -3.107 + 10.121 -0.875 -3.244 8.593 0.463 -2.791 9.185 1.246 -4.765 8.636 + 0.572 -5.144 9.661 0.315 -5.230 7.893 -0.095 -5.095 8.370 1.931 + -6.009 8.147 2.006 -2.767 7.156 0.579 -2.431 6.555 -0.441 -2.728 + 6.580 1.791 -3.108 7.068 2.615 -2.421 5.168 1.980 -1.593 4.913 + 1.309 -1.894 4.940 3.413 -2.695 5.174 4.115 -1.603 3.941 3.552 + -0.721 5.812 3.755 -0.697 6.753 4.734 -1.488 6.974 5.398 0.552 + 7.368 4.731 0.824 8.071 5.429 1.382 6.876 3.739 2.661 7.177 + 3.332 3.248 7.998 3.805 3.248 6.435 2.283 4.273 6.650 1.994 + 2.522 5.413 1.669 2.952 4.864 0.912 1.215 5.098 2.080 0.691 + 4.271 1.643 0.585 5.832 3.125 -3.603 4.258 1.633 -4.757 4.695 + 1.633 -3.328 3.002 1.294 -2.364 2.733 1.191 -4.290 1.957 0.903 + -5.162 1.993 1.563 -4.762 2.211 -0.541 -3.877 2.460 -1.161 -5.556 + 1.091 -1.215 -6.380 0.754 -0.591 -5.977 1.426 -2.154 -4.898 0.253 + -1.438 -5.608 3.342 -0.554 -5.427 3.916 0.177 -3.653 0.583 1.090 + -2.426 0.493 1.167 -4.437 -0.488 1.187 -5.429 -0.355 1.090 -3.947 + -1.878 1.215 -2.879 -1.866 1.462 -4.725 -2.666 2.273 -4.707 -2.088 + 3.214 -5.787 -2.695 1.948 -4.217 -4.046 2.549 -4.838 -5.206 2.194 + -5.800 -5.263 1.666 -4.113 -6.273 2.674 -4.428 -7.234 2.616 -2.980 + -5.864 3.351 -1.963 -6.556 4.032 -1.985 -7.621 4.102 -0.920 -5.829 + 4.617 -0.119 -6.381 5.129 -0.930 -4.417 4.559 -0.165 -3.853 5.051 + -1.966 -3.754 3.905 -1.983 -2.660 3.895 -3.014 -4.451 3.281 -4.060 + -2.533 -0.187 -5.071 -2.374 -0.852 -3.032 -3.259 -0.621 -2.258 -3.332 + -0.005 -2.917 -3.783 -1.992 -3.927 -4.039 -2.367 -2.313 -2.677 -2.861 + -3.066 -1.884 -2.924 -1.443 -2.275 -2.389 -1.931 -3.056 -4.290 -1.050 + -3.786 -4.257 -2.773 -3.556 -4.763 -1.535 -1.793 -5.081 -0.525 -1.136 + -4.745 -2.286 -1.371 -5.974 -2.032 -5.042 -2.024 -0.886 -5.018 -1.584 + -2.554 -6.152 -2.547 -3.449 -6.121 -2.939 -1.790 -7.399 -2.761 -2.476 + -8.188 -2.979 -0.930 -7.246 -4.039 -0.208 -6.462 -3.892 -0.440 -8.183 + -4.279 -1.785 -6.868 -5.252 -2.897 -7.329 -5.410 -1.311 -6.004 -6.108 + -1.917 -5.785 -6.883 -0.425 -5.613 -5.993 -1.014 -7.912 -1.528 0.051 + -8.539 -1.671 -1.511 -7.632 -0.323 -2.358 -7.104 -0.285 -0.896 -7.958 + 0.966 -1.707 -8.037 1.700 -0.387 -8.932 0.926 0.154 -6.955 1.496 + 0.953 -7.309 2.347 0.209 -5.734 0.929 -0.442 -5.507 0.218 1.152 + -4.667 1.290 1.695 -4.916 2.187 2.163 -4.404 0.140 1.580 -4.168 + -0.769 2.760 -3.484 0.382 3.202 -5.509 -0.205 3.845 -5.108 -0.985 + 3.793 -5.724 0.647 2.549 -6.792 -0.745 2.226 -7.373 0.082 1.665 + -6.539 -1.332 3.462 -7.674 -1.588 3.671 -7.128 -2.509 4.412 -7.815 + -1.046 2.809 -8.970 -1.835 1.842 -8.846 -2.108 3.265 -9.487 -2.534 + 2.779 -9.538 -0.953 0.387 -3.364 1.531 -0.706 -3.141 0.980 0.987 + -2.428 2.275 1.892 -2.642 2.647 0.588 -1.018 2.201 -0.514 -1.005 + 2.244 1.111 -0.234 3.414 2.195 -0.361 3.525 0.899 0.849 3.284 + 0.518 -0.645 4.724 1.144 -1.287 5.730 2.171 -1.563 5.703 0.248 + -1.529 6.753 0.519 -1.964 7.615 -1.015 -1.057 6.449 -2.235 -1.077 + 7.137 -2.305 -1.535 8.126 -3.353 -0.482 6.547 -4.335 -0.494 7.069 + -3.253 0.130 5.283 -4.119 0.590 4.836 -2.011 0.141 4.608 -1.945 + 0.584 3.663 -0.863 -0.455 5.162 1.056 -0.389 0.877 2.120 -0.723 + 0.368 0.281 0.560 0.353 -0.595 0.742 0.783 0.527 1.221 -0.948 + 1.591 1.210 -1.157 -0.179 0.431 -2.066 0.150 -0.611 -1.966 -1.700 + 0.526 -2.055 -2.035 1.552 -1.910 -2.104 0.141 -2.994 -2.086 -0.125 + -1.259 0.218 0.879 -3.334 0.135 0.103 -3.936 0.052 2.669 -0.928 + -0.745 3.061 -0.075 0.498 3.487 -1.886 1.066 3.066 -2.626 -0.007 + 4.837 -2.134 -0.513 5.187 -1.230 1.155 5.785 -2.399 1.844 5.689 + -1.598 1.710 5.488 -3.337 0.790 7.224 -2.545 0.729 7.922 -3.692 + 0.941 7.505 -4.675 0.423 9.238 -3.443 0.408 9.943 -4.165 0.269 + 9.470 -2.102 -0.018 10.622 -1.343 -0.154 11.585 -1.799 -0.083 10.542 + 0.061 -0.244 11.457 0.667 0.105 9.285 0.689 0.088 9.216 1.784 + 0.379 8.138 -0.084 0.584 7.229 0.443 0.477 8.207 -1.492 -1.028 + 4.828 -3.288 -0.802 4.215 -4.340 -2.153 5.532 -3.085 -2.269 5.960 + -2.162 -3.255 5.664 -4.064 -2.861 5.594 -5.050 -4.288 4.528 -3.844 + -4.629 4.520 -2.831 -5.212 4.718 -4.442 -3.812 3.123 -4.205 -2.937 + 2.872 -3.656 -4.619 2.423 -3.950 -3.514 2.922 -5.698 -4.425 3.111 + -6.263 -2.744 3.651 -6.061 -3.014 1.506 -5.989 -3.624 0.755 -5.424 + -3.136 1.294 -7.072 -1.596 1.287 -5.630 -1.402 1.539 -4.659 -1.391 + 0.316 -5.684 -0.981 1.784 -6.221 -3.934 7.046 -3.962 -3.770 7.779 + -2.980 -4.694 7.436 -4.987 -4.793 6.832 -5.765 -5.144 8.330 -4.918 + -2.761 9.160 -0.794 -3.066 8.553 -1.584 -1.727 9.197 -0.819 -3.108 + 10.121 -0.873 -3.244 8.594 0.462 -2.790 9.188 1.242 -4.765 8.635 + 0.571 -5.146 9.662 0.314 -5.231 7.892 -0.096 -5.096 8.369 1.931 + -6.008 8.147 2.007 -2.767 7.156 0.579 -2.432 6.554 -0.441 -2.728 + 6.579 1.792 -3.109 7.066 2.618 -2.422 5.169 1.980 -1.592 4.914 + 1.309 -1.893 4.940 3.413 -2.694 5.177 4.115 -1.603 3.944 3.554 + -0.721 5.813 3.755 -0.697 6.753 4.734 -1.486 6.974 5.398 0.552 + 7.368 4.731 0.825 8.070 5.431 1.384 6.877 3.739 2.661 7.178 + 3.332 3.249 8.001 3.804 3.248 6.435 2.283 4.274 6.650 1.996 + 2.523 5.413 1.669 2.951 4.866 0.914 1.216 5.097 2.079 0.693 + 4.269 1.645 0.585 5.831 3.125 -3.602 4.258 1.632 -4.758 4.695 + 1.632 -3.328 3.002 1.293 -2.365 2.733 1.188 -4.289 1.957 0.902 + -5.161 1.992 1.563 -4.762 2.210 -0.541 -3.876 2.462 -1.162 -5.556 + 1.090 -1.215 -6.380 0.753 -0.593 -5.977 1.424 -2.154 -4.898 0.253 + -1.438 -5.607 3.342 -0.553 -5.431 3.917 0.177 -3.653 0.583 1.090 + -2.425 0.493 1.166 -4.437 -0.488 1.188 -5.429 -0.353 1.091 -3.947 + -1.877 1.215 -2.878 -1.864 1.459 -4.725 -2.665 2.274 -4.709 -2.086 + 3.215 -5.788 -2.693 1.947 -4.217 -4.045 2.549 -4.838 -5.206 2.193 + -5.800 -5.264 1.665 -4.113 -6.272 2.673 -4.427 -7.234 2.615 -2.980 + -5.864 3.351 -1.963 -6.556 4.032 -1.985 -7.620 4.102 -0.920 -5.829 + 4.616 -0.120 -6.383 5.129 -0.930 -4.416 4.559 -0.168 -3.852 5.052 + -1.966 -3.755 3.905 -1.984 -2.660 3.897 -3.014 -4.452 3.282 -4.060 + -2.533 -0.187 -5.071 -2.374 -0.852 -3.031 -3.259 -0.622 -2.261 -3.332 + -0.003 -2.918 -3.783 -1.992 -3.929 -4.039 -2.366 -2.312 -2.677 -2.861 + -3.066 -1.885 -2.924 -1.444 -2.274 -2.391 -1.931 -3.056 -4.289 -1.047 + -3.788 -4.255 -2.772 -3.556 -4.762 -1.535 -1.792 -5.080 -0.524 -1.136 + -4.745 -2.286 -1.371 -5.974 -2.032 -5.042 -2.024 -0.887 -5.018 -1.584 + -2.555 -6.152 -2.547 -3.447 -6.121 -2.940 -1.790 -7.398 -2.761 -2.472 + -8.188 -2.980 -0.930 -7.246 -4.038 -0.209 -6.462 -3.893 -0.441 -8.184 + -4.279 -1.785 -6.867 -5.252 -2.897 -7.329 -5.410 -1.311 -6.004 -6.107 + -1.916 -5.786 -6.883 -0.425 -5.616 -5.993 -1.014 -7.911 -1.528 0.051 + -8.539 -1.672 -1.511 -7.632 -0.323 -2.358 -7.106 -0.283 -0.896 -7.958 + 0.966 -1.709 -8.037 1.699 -0.385 -8.931 0.929 0.155 -6.955 1.496 + 0.953 -7.309 2.348 0.209 -5.734 0.928 -0.441 -5.507 0.220 1.152 + -4.668 1.291 1.696 -4.916 2.187 2.162 -4.403 0.140 1.577 -4.169 + -0.769 2.761 -3.482 0.380 3.203 -5.509 -0.205 3.845 -5.108 -0.985 + 3.793 -5.723 0.646 2.550 -6.792 -0.746 2.225 -7.373 0.080 1.664 + -6.540 -1.331 3.462 -7.675 -1.588 3.671 -7.126 -2.508 4.411 -7.815 + -1.045 2.809 -8.969 -1.834 1.843 -8.847 -2.109 3.265 -9.487 -2.533 + 2.778 -9.538 -0.950 0.387 -3.365 1.531 -0.706 -3.141 0.979 0.988 + -2.429 2.275 1.894 -2.642 2.644 0.588 -1.019 2.201 -0.514 -1.009 + 2.246 1.110 -0.234 3.414 2.195 -0.361 3.530 0.899 0.850 3.284 + 0.519 -0.645 4.724 1.144 -1.287 5.730 2.171 -1.562 5.702 0.248 + -1.529 6.753 0.521 -1.961 7.615 -1.015 -1.057 6.448 -2.235 -1.078 + 7.137 -2.305 -1.535 8.127 -3.353 -0.482 6.547 -4.336 -0.495 7.069 + -3.253 0.129 5.283 -4.119 0.590 4.835 -2.011 0.141 4.608 -1.945 + 0.583 3.665 -0.863 -0.455 5.162 1.056 -0.389 0.877 2.120 -0.722 + 0.368 0.281 0.560 0.353 -0.594 0.741 0.782 0.527 1.221 -0.948 + 1.591 1.210 -1.157 -0.179 0.432 -2.066 0.152 -0.611 -1.964 -1.700 + 0.527 -2.056 -2.035 1.553 -1.910 -2.103 0.139 -2.993 -2.086 -0.125 + -1.260 0.218 0.878 -3.334 0.136 0.104 -3.938 0.052 2.669 -0.928 + -0.744 3.060 -0.075 0.497 3.487 -1.886 1.065 3.067 -2.626 -0.007 + 4.838 -2.133 -0.513 5.187 -1.230 1.154 5.785 -2.399 1.842 5.689 + -1.599 1.712 5.490 -3.338 0.790 7.224 -2.546 0.729 7.922 -3.692 + 0.941 7.505 -4.675 0.424 9.238 -3.443 0.407 9.942 -4.166 0.269 + 9.470 -2.102 -0.017 10.621 -1.343 -0.156 11.585 -1.796 -0.083 10.542 + 0.062 -0.245 11.459 0.668 0.105 9.284 0.690 0.086 9.216 1.785 + 0.379 8.138 -0.085 0.585 7.231 0.445 0.477 8.207 -1.492 -1.028 + 4.828 -3.288 -0.802 4.215 -4.340 -2.152 5.532 -3.084 -2.268 5.960 + -2.160 -3.254 5.663 -4.064 -2.861 5.594 -5.049 -4.287 4.528 -3.844 + -4.629 4.518 -2.832 -5.214 4.716 -4.441 -3.812 3.124 -4.205 -2.936 + 2.871 -3.660 -4.621 2.424 -3.952 -3.514 2.922 -5.698 -4.425 3.113 + -6.264 -2.743 3.652 -6.062 -3.014 1.506 -5.989 -3.623 0.753 -5.422 + -3.135 1.294 -7.073 -1.596 1.286 -5.631 -1.402 1.540 -4.659 -1.391 + 0.317 -5.682 -0.982 1.782 -6.221 -3.934 7.046 -3.962 -3.770 7.779 + -2.979 -4.695 7.437 -4.988 -4.791 6.833 -5.766 -5.144 8.331 -4.916 + -2.761 9.159 -0.794 -3.065 8.550 -1.585 -1.726 9.199 -0.820 -3.109 + 10.121 -0.871 -3.244 8.594 0.462 -2.788 9.190 1.239 -4.765 8.633 + 0.570 -5.148 9.662 0.313 -5.231 7.890 -0.098 -5.096 8.369 1.931 + -6.007 8.147 2.007 -2.767 7.156 0.579 -2.432 6.554 -0.440 -2.728 + 6.579 1.793 -3.110 7.065 2.621 -2.423 5.169 1.980 -1.591 4.915 + 1.309 -1.893 4.940 3.413 -2.693 5.180 4.115 -1.603 3.946 3.556 + -0.720 5.813 3.754 -0.698 6.753 4.734 -1.485 6.974 5.398 0.553 + 7.367 4.731 0.826 8.069 5.433 1.385 6.877 3.739 2.660 7.178 + 3.332 3.250 8.004 3.802 3.248 6.435 2.283 4.275 6.649 1.999 + 2.523 5.414 1.669 2.949 4.868 0.917 1.216 5.097 2.078 0.694 + 4.267 1.647 0.584 5.831 3.125 -3.602 4.258 1.632 -4.758 4.695 + 1.632 -3.328 3.002 1.293 -2.365 2.733 1.185 -4.288 1.957 0.902 + -5.160 1.992 1.563 -4.762 2.210 -0.540 -3.876 2.465 -1.162 -5.556 + 1.090 -1.215 -6.380 0.751 -0.594 -5.977 1.422 -2.154 -4.898 0.253 + -1.438 -5.607 3.342 -0.552 -5.434 3.918 0.176 -3.653 0.584 1.090 + -2.425 0.493 1.166 -4.436 -0.487 1.188 -5.428 -0.352 1.092 -3.947 + -1.877 1.215 -2.877 -1.862 1.457 -4.725 -2.665 2.274 -4.711 -2.084 + 3.215 -5.789 -2.691 1.945 -4.216 -4.045 2.549 -4.838 -5.207 2.192 + -5.801 -5.264 1.664 -4.113 -6.272 2.673 -4.426 -7.234 2.614 -2.980 + -5.864 3.351 -1.962 -6.555 4.033 -1.985 -7.619 4.103 -0.920 -5.828 + 4.616 -0.120 -6.385 5.129 -0.930 -4.415 4.559 -0.170 -3.851 5.054 + -1.966 -3.755 3.906 -1.985 -2.660 3.898 -3.014 -4.452 3.282 -4.060 + -2.533 -0.188 -5.070 -2.373 -0.852 -3.031 -3.258 -0.622 -2.264 -3.332 + -0.002 -2.919 -3.783 -1.993 -3.931 -4.039 -2.365 -2.312 -2.677 -2.860 + -3.067 -1.885 -2.924 -1.446 -2.272 -2.392 -1.931 -3.055 -4.289 -1.045 + -3.789 -4.254 -2.771 -3.556 -4.761 -1.535 -1.791 -5.080 -0.524 -1.136 + -4.746 -2.286 -1.372 -5.974 -2.032 -5.042 -2.024 -0.887 -5.018 -1.583 + -2.555 -6.151 -2.547 -3.445 -6.121 -2.940 -1.790 -7.398 -2.760 -2.469 + -8.189 -2.980 -0.930 -7.247 -4.038 -0.211 -6.461 -3.893 -0.441 -8.185 + -4.280 -1.785 -6.867 -5.253 -2.897 -7.329 -5.411 -1.311 -6.003 -6.106 + -1.916 -5.787 -6.883 -0.425 -5.619 -5.993 -1.015 -7.911 -1.528 0.051 + -8.539 -1.672 -1.511 -7.632 -0.323 -2.358 -7.108 -0.282 -0.896 -7.958 + 0.966 -1.711 -8.038 1.698 -0.383 -8.931 0.931 0.155 -6.955 1.497 + 0.953 -7.308 2.348 0.209 -5.734 0.928 -0.440 -5.506 0.221 1.152 + -4.669 1.291 1.697 -4.917 2.186 2.162 -4.403 0.140 1.575 -4.170 + -0.769 2.761 -3.479 0.379 3.203 -5.509 -0.204 3.844 -5.108 -0.986 + 3.793 -5.722 0.645 2.550 -6.792 -0.746 2.225 -7.372 0.078 1.663 + -6.541 -1.330 3.461 -7.675 -1.589 3.670 -7.124 -2.507 4.411 -7.814 + -1.045 2.809 -8.969 -1.834 1.843 -8.848 -2.110 3.264 -9.486 -2.531 + 2.778 -9.539 -0.948 0.387 -3.365 1.531 -0.707 -3.140 0.979 0.988 + -2.430 2.275 1.895 -2.643 2.642 0.588 -1.019 2.200 -0.515 -1.013 + 2.247 1.109 -0.234 3.414 2.194 -0.362 3.534 0.898 0.852 3.285 + 0.519 -0.645 4.724 1.144 -1.287 5.730 2.170 -1.561 5.700 0.248 + -1.530 6.753 0.522 -1.959 7.615 -1.016 -1.058 6.448 -2.235 -1.078 + 7.136 -2.305 -1.535 8.127 -3.352 -0.483 6.547 -4.337 -0.495 7.069 + -3.254 0.129 5.282 -4.119 0.590 4.835 -2.010 0.141 4.609 -1.945 + 0.581 3.666 -0.863 -0.455 5.161 1.055 -0.390 0.876 2.120 -0.722 + 0.368 0.281 0.561 0.354 -0.594 0.740 0.780 0.528 1.221 -0.948 + 1.591 1.210 -1.158 -0.180 0.432 -2.066 0.154 -0.610 -1.962 -1.699 + 0.527 -2.056 -2.035 1.554 -1.911 -2.102 0.138 -2.993 -2.086 -0.126 + -1.260 0.218 0.877 -3.334 0.137 0.105 -3.940 0.052 2.669 -0.928 + -0.744 3.060 -0.075 0.497 3.488 -1.886 1.064 3.068 -2.627 -0.007 + 4.839 -2.133 -0.514 5.188 -1.229 1.154 5.785 -2.399 1.840 5.688 + -1.600 1.715 5.492 -3.339 0.790 7.223 -2.546 0.729 7.923 -3.691 + 0.940 7.506 -4.675 0.424 9.237 -3.443 0.407 9.941 -4.166 0.270 + 9.470 -2.103 -0.016 10.621 -1.343 -0.157 11.586 -1.793 -0.082 10.542 + 0.062 -0.245 11.461 0.669 0.105 9.284 0.690 0.085 9.215 1.786 + 0.380 8.138 -0.085 0.586 7.233 0.447 0.478 8.208 -1.493 -1.029 + 4.827 -3.288 -0.803 4.214 -4.341 -2.152 5.533 -3.083 -2.268 5.961 + -2.158 -3.253 5.663 -4.064 -2.861 5.594 -5.049 -4.286 4.527 -3.843 + -4.630 4.515 -2.834 -5.216 4.714 -4.440 -3.812 3.124 -4.206 -2.936 + 2.871 -3.663 -4.622 2.425 -3.955 -3.514 2.922 -5.698 -4.424 3.115 + -6.265 -2.742 3.652 -6.064 -3.014 1.506 -5.989 -3.622 0.751 -5.421 + -3.135 1.295 -7.075 -1.596 1.285 -5.631 -1.403 1.540 -4.659 -1.390 + 0.318 -5.680 -0.983 1.781 -6.222 -3.934 7.046 -3.962 -3.770 7.779 + -2.979 -4.695 7.438 -4.989 -4.789 6.834 -5.766 -5.144 8.332 -4.915 + -2.761 9.159 -0.793 -3.063 8.547 -1.585 -1.725 9.201 -0.821 -3.111 + 10.121 -0.869 -3.244 8.594 0.461 -2.786 9.192 1.235 -4.766 8.632 + 0.569 -5.149 9.662 0.312 -5.232 7.889 -0.099 -5.096 8.368 1.932 + -6.006 8.146 2.008 -2.767 7.157 0.579 -2.432 6.553 -0.440 -2.728 + 6.579 1.793 -3.111 7.063 2.624 -2.423 5.169 1.980 -1.591 4.916 + 1.310 -1.892 4.940 3.413 -2.691 5.182 4.115 -1.603 3.948 3.558 + -0.720 5.814 3.754 -0.698 6.754 4.735 -1.484 6.974 5.398 0.554 + 7.367 4.731 0.827 8.067 5.435 1.386 6.878 3.739 2.660 7.178 + 3.332 3.251 8.006 3.800 3.248 6.435 2.283 4.276 6.648 2.002 + 2.523 5.415 1.669 2.948 4.870 0.919 1.217 5.096 2.078 0.696 + 4.265 1.649 0.584 5.831 3.125 -3.602 4.258 1.631 -4.758 4.695 + 1.632 -3.328 3.002 1.293 -2.366 2.733 1.182 -4.287 1.957 0.901 + -5.159 1.991 1.563 -4.762 2.210 -0.540 -3.875 2.467 -1.162 -5.556 + 1.089 -1.215 -6.380 0.750 -0.595 -5.977 1.419 -2.155 -4.898 0.253 + -1.439 -5.607 3.342 -0.552 -5.437 3.919 0.176 -3.653 0.584 1.090 + -2.425 0.493 1.165 -4.436 -0.486 1.189 -5.428 -0.350 1.093 -3.947 + -1.876 1.216 -2.875 -1.861 1.454 -4.725 -2.665 2.274 -4.713 -2.083 + 3.215 -5.790 -2.689 1.944 -4.216 -4.045 2.549 -4.838 -5.207 2.191 + -5.802 -5.265 1.664 -4.112 -6.271 2.672 -4.424 -7.233 2.613 -2.979 + -5.863 3.351 -1.962 -6.555 4.033 -1.985 -7.617 4.104 -0.920 -5.828 + 4.616 -0.120 -6.387 5.128 -0.931 -4.415 4.560 -0.173 -3.850 5.055 + -1.967 -3.756 3.906 -1.986 -2.660 3.899 -3.014 -4.452 3.283 -4.060 + -2.532 -0.189 -5.070 -2.373 -0.852 -3.031 -3.258 -0.622 -2.267 -3.333 + -0.000 -2.919 -3.783 -1.993 -3.933 -4.039 -2.364 -2.312 -2.678 -2.860 + -3.067 -1.886 -2.924 -1.447 -2.271 -2.393 -1.931 -3.055 -4.288 -1.042 + -3.791 -4.252 -2.771 -3.556 -4.760 -1.535 -1.791 -5.080 -0.524 -1.135 + -4.746 -2.286 -1.372 -5.975 -2.032 -5.042 -2.024 -0.887 -5.019 -1.583 + -2.555 -6.151 -2.547 -3.444 -6.122 -2.941 -1.791 -7.398 -2.760 -2.465 + -8.190 -2.980 -0.929 -7.247 -4.037 -0.212 -6.460 -3.894 -0.442 -8.185 + -4.281 -1.785 -6.867 -5.253 -2.897 -7.330 -5.411 -1.311 -6.003 -6.105 + -1.915 -5.788 -6.883 -0.425 -5.622 -5.992 -1.015 -7.911 -1.528 0.051 + -8.538 -1.672 -1.511 -7.633 -0.323 -2.358 -7.109 -0.281 -0.897 -7.958 + 0.966 -1.713 -8.038 1.697 -0.382 -8.931 0.933 0.156 -6.956 1.497 + 0.953 -7.307 2.349 0.209 -5.734 0.927 -0.439 -5.505 0.222 1.152 + -4.670 1.292 1.697 -4.917 2.186 2.161 -4.403 0.140 1.572 -4.171 + -0.769 2.761 -3.477 0.378 3.204 -5.509 -0.204 3.844 -5.108 -0.986 + 3.794 -5.721 0.644 2.550 -6.792 -0.746 2.225 -7.371 0.076 1.662 + -6.542 -1.329 3.461 -7.675 -1.589 3.670 -7.122 -2.506 4.411 -7.814 + -1.045 2.809 -8.968 -1.834 1.844 -8.850 -2.111 3.264 -9.486 -2.529 + 2.777 -9.539 -0.946 0.387 -3.366 1.531 -0.707 -3.140 0.979 0.989 + -2.430 2.274 1.897 -2.644 2.639 0.588 -1.020 2.200 -0.515 -1.017 + 2.249 1.109 -0.234 3.414 2.194 -0.363 3.539 0.898 0.853 3.286 + 0.520 -0.645 4.724 1.144 -1.287 5.730 2.169 -1.560 5.699 0.248 + -1.530 6.753 0.524 -1.956 7.616 -1.016 -1.058 6.447 -2.235 -1.079 + 7.136 -2.305 -1.535 8.127 -3.352 -0.483 6.546 -4.338 -0.496 7.069 + -3.254 0.129 5.282 -4.119 0.590 4.835 -2.010 0.141 4.609 -1.945 + 0.579 3.667 -0.862 -0.454 5.161 1.055 -0.390 0.876 2.121 -0.721 + 0.369 0.281 0.561 0.354 -0.594 0.739 0.779 0.529 1.222 -0.948 + 1.592 1.210 -1.158 -0.180 0.432 -2.066 0.156 -0.610 -1.960 -1.699 + 0.528 -2.056 -2.035 1.555 -1.911 -2.102 0.137 -2.993 -2.086 -0.127 + -1.261 0.218 0.875 -3.334 0.137 0.105 -3.942 0.052 2.669 -0.928 + -0.743 3.060 -0.075 0.496 3.489 -1.885 1.063 3.069 -2.628 -0.007 + 4.839 -2.133 -0.514 5.188 -1.229 1.153 5.785 -2.399 1.839 5.687 + -1.601 1.717 5.494 -3.340 0.790 7.223 -2.547 0.729 7.923 -3.691 + 0.940 7.506 -4.675 0.425 9.237 -3.443 0.406 9.940 -4.167 0.271 + 9.470 -2.103 -0.016 10.621 -1.343 -0.159 11.586 -1.790 -0.082 10.542 + 0.062 -0.246 11.463 0.669 0.105 9.283 0.690 0.084 9.214 1.787 + 0.380 8.138 -0.085 0.586 7.235 0.448 0.478 8.209 -1.493 -1.029 + 4.827 -3.288 -0.803 4.213 -4.341 -2.152 5.534 -3.082 -2.267 5.961 + -2.157 -3.253 5.663 -4.064 -2.862 5.593 -5.048 -4.285 4.526 -3.843 + -4.631 4.513 -2.835 -5.218 4.712 -4.439 -3.811 3.125 -4.206 -2.936 + 2.870 -3.667 -4.623 2.426 -3.957 -3.514 2.922 -5.698 -4.424 3.116 + -6.266 -2.741 3.652 -6.065 -3.014 1.505 -5.989 -3.621 0.749 -5.420 + -3.134 1.295 -7.076 -1.596 1.284 -5.631 -1.404 1.540 -4.659 -1.390 + 0.319 -5.678 -0.984 1.780 -6.222 -3.935 7.046 -3.962 -3.770 7.780 + -2.978 -4.696 7.439 -4.989 -4.787 6.835 -5.766 -5.144 8.332 -4.913 + -2.762 9.158 -0.793 -3.062 8.544 -1.586 -1.724 9.203 -0.822 -3.112 + 10.121 -0.867 -3.244 8.594 0.460 -2.785 9.194 1.231 -4.766 8.631 + 0.568 -5.151 9.663 0.311 -5.232 7.887 -0.100 -5.096 8.368 1.932 + -6.006 8.146 2.009 -2.767 7.157 0.579 -2.433 6.553 -0.439 -2.728 + 6.579 1.794 -3.111 7.062 2.627 -2.424 5.170 1.980 -1.590 4.917 + 1.310 -1.892 4.940 3.413 -2.690 5.185 4.115 -1.603 3.951 3.560 + -0.720 5.814 3.754 -0.698 6.754 4.735 -1.482 6.974 5.398 0.555 + 7.367 4.732 0.827 8.066 5.437 1.387 6.879 3.738 2.659 7.179 + 3.332 3.252 8.009 3.799 3.248 6.434 2.283 4.277 6.647 2.005 + 2.523 5.415 1.669 2.947 4.872 0.921 1.217 5.096 2.077 0.698 + 4.263 1.650 0.583 5.831 3.125 -3.602 4.258 1.631 -4.758 4.695 + 1.632 -3.328 3.002 1.292 -2.367 2.733 1.179 -4.286 1.957 0.901 + -5.158 1.990 1.563 -4.761 2.209 -0.540 -3.875 2.469 -1.163 -5.556 + 1.089 -1.215 -6.380 0.748 -0.597 -5.977 1.417 -2.155 -4.897 0.253 + -1.439 -5.607 3.342 -0.551 -5.440 3.921 0.175 -3.653 0.584 1.090 + -2.425 0.493 1.165 -4.436 -0.486 1.189 -5.427 -0.348 1.094 -3.947 + -1.876 1.216 -2.874 -1.859 1.451 -4.725 -2.664 2.274 -4.715 -2.081 + 3.215 -5.790 -2.687 1.942 -4.215 -4.044 2.549 -4.837 -5.207 2.190 + -5.802 -5.265 1.663 -4.112 -6.271 2.672 -4.423 -7.233 2.612 -2.979 + -5.863 3.351 -1.962 -6.555 4.034 -1.985 -7.616 4.105 -0.920 -5.828 + 4.616 -0.120 -6.388 5.128 -0.931 -4.414 4.560 -0.175 -3.849 5.057 + -1.967 -3.757 3.907 -1.987 -2.660 3.901 -3.014 -4.452 3.284 -4.060 + -2.532 -0.189 -5.069 -2.373 -0.851 -3.031 -3.258 -0.622 -2.270 -3.333 + 0.002 -2.920 -3.783 -1.994 -3.935 -4.039 -2.362 -2.312 -2.678 -2.860 + -3.068 -1.887 -2.925 -1.448 -2.270 -2.394 -1.931 -3.055 -4.287 -1.040 + -3.792 -4.250 -2.770 -3.557 -4.759 -1.534 -1.790 -5.080 -0.524 -1.135 + -4.746 -2.286 -1.373 -5.975 -2.032 -5.042 -2.024 -0.887 -5.019 -1.583 + -2.556 -6.150 -2.547 -3.442 -6.122 -2.942 -1.791 -7.398 -2.759 -2.462 + -8.191 -2.980 -0.929 -7.247 -4.037 -0.214 -6.460 -3.895 -0.442 -8.186 + -4.281 -1.785 -6.867 -5.253 -2.897 -7.330 -5.412 -1.311 -6.002 -6.104 + -1.914 -5.789 -6.883 -0.424 -5.625 -5.992 -1.016 -7.911 -1.527 0.051 + -8.538 -1.672 -1.511 -7.633 -0.323 -2.359 -7.111 -0.280 -0.897 -7.957 + 0.966 -1.715 -8.038 1.696 -0.380 -8.930 0.936 0.156 -6.956 1.498 + 0.953 -7.306 2.349 0.209 -5.734 0.926 -0.438 -5.505 0.222 1.152 + -4.671 1.293 1.698 -4.918 2.186 2.161 -4.403 0.140 1.570 -4.173 + -0.769 2.761 -3.474 0.376 3.205 -5.509 -0.204 3.844 -5.108 -0.987 + 3.794 -5.720 0.643 2.550 -6.792 -0.747 2.224 -7.371 0.074 1.661 + -6.543 -1.328 3.461 -7.675 -1.589 3.670 -7.120 -2.505 4.410 -7.814 + -1.045 2.809 -8.968 -1.833 1.844 -8.851 -2.112 3.264 -9.486 -2.528 + 2.777 -9.539 -0.945 0.387 -3.367 1.531 -0.708 -3.139 0.978 0.989 + -2.431 2.274 1.898 -2.644 2.637 0.588 -1.021 2.200 -0.516 -1.021 + 2.250 1.108 -0.234 3.414 2.193 -0.364 3.543 0.897 0.855 3.287 + 0.520 -0.645 4.725 1.145 -1.287 5.731 2.168 -1.559 5.697 0.248 + -1.530 6.753 0.526 -1.954 7.616 -1.016 -1.058 6.446 -2.235 -1.080 + 7.135 -2.305 -1.535 8.128 -3.351 -0.484 6.546 -4.339 -0.497 7.069 + -3.254 0.129 5.282 -4.119 0.590 4.834 -2.009 0.141 4.609 -1.946 + 0.577 3.668 -0.862 -0.454 5.161 1.055 -0.391 0.875 2.121 -0.720 + 0.369 0.281 0.561 0.355 -0.594 0.738 0.778 0.530 1.222 -0.948 + 1.592 1.211 -1.158 -0.180 0.432 -2.065 0.157 -0.609 -1.958 -1.699 + 0.529 -2.056 -2.035 1.556 -1.912 -2.101 0.136 -2.993 -2.086 -0.127 + -1.261 0.218 0.874 -3.334 0.138 0.106 -3.944 0.052 2.668 -0.928 + -0.743 3.059 -0.075 0.496 3.490 -1.885 1.062 3.070 -2.629 -0.007 + 4.840 -2.133 -0.515 5.188 -1.228 1.153 5.786 -2.399 1.837 5.687 + -1.602 1.719 5.496 -3.341 0.790 7.222 -2.547 0.729 7.923 -3.690 + 0.939 7.507 -4.674 0.426 9.237 -3.443 0.406 9.939 -4.167 0.271 + 9.470 -2.104 -0.015 10.621 -1.343 -0.161 11.586 -1.788 -0.082 10.543 + 0.062 -0.246 11.465 0.669 0.105 9.283 0.691 0.083 9.214 1.787 + 0.380 8.138 -0.086 0.587 7.237 0.450 0.478 8.209 -1.494 -1.029 + 4.827 -3.289 -0.803 4.213 -4.342 -2.152 5.534 -3.082 -2.267 5.961 + -2.155 -3.252 5.663 -4.064 -2.862 5.593 -5.048 -4.284 4.525 -3.842 + -4.632 4.511 -2.836 -5.219 4.710 -4.438 -3.811 3.125 -4.206 -2.936 + 2.870 -3.670 -4.625 2.427 -3.959 -3.514 2.921 -5.698 -4.423 3.118 + -6.266 -2.739 3.653 -6.067 -3.013 1.505 -5.989 -3.620 0.747 -5.418 + -3.133 1.295 -7.077 -1.596 1.284 -5.631 -1.405 1.541 -4.659 -1.390 + 0.320 -5.675 -0.984 1.779 -6.222 -3.935 7.046 -3.962 -3.770 7.780 + -2.978 -4.696 7.439 -4.990 -4.785 6.836 -5.766 -5.144 8.333 -4.912 + -2.762 9.157 -0.793 -3.061 8.542 -1.586 -1.723 9.205 -0.823 -3.112 + 10.121 -0.865 -3.244 8.595 0.460 -2.783 9.196 1.228 -4.766 8.630 + 0.566 -5.152 9.663 0.310 -5.233 7.886 -0.101 -5.096 8.368 1.932 + -6.005 8.145 2.010 -2.767 7.158 0.579 -2.433 6.552 -0.439 -2.728 + 6.579 1.795 -3.112 7.060 2.629 -2.424 5.170 1.980 -1.589 4.918 + 1.310 -1.891 4.940 3.413 -2.689 5.188 4.115 -1.603 3.953 3.562 + -0.719 5.814 3.753 -0.699 6.754 4.735 -1.482 6.974 5.398 0.556 + 7.367 4.732 0.828 8.065 5.439 1.389 6.880 3.738 2.659 7.179 + 3.332 3.253 8.011 3.797 3.248 6.434 2.284 4.279 6.647 2.008 + 2.523 5.416 1.670 2.946 4.874 0.923 1.218 5.095 2.076 0.699 + 4.261 1.652 0.583 5.831 3.124 -3.602 4.258 1.631 -4.758 4.695 + 1.632 -3.327 3.002 1.292 -2.367 2.733 1.176 -4.285 1.957 0.900 + -5.157 1.989 1.562 -4.761 2.209 -0.540 -3.874 2.471 -1.163 -5.556 + 1.089 -1.215 -6.381 0.747 -0.598 -5.977 1.415 -2.155 -4.897 0.253 + -1.439 -5.606 3.342 -0.550 -5.443 3.922 0.175 -3.653 0.585 1.090 + -2.425 0.493 1.165 -4.435 -0.485 1.190 -5.427 -0.347 1.095 -3.947 + -1.875 1.216 -2.873 -1.857 1.449 -4.725 -2.664 2.275 -4.717 -2.079 + 3.215 -5.791 -2.685 1.941 -4.215 -4.044 2.549 -4.837 -5.207 2.189 + -5.803 -5.265 1.662 -4.112 -6.270 2.671 -4.422 -7.233 2.612 -2.979 + -5.862 3.350 -1.962 -6.554 4.034 -1.985 -7.615 4.106 -0.920 -5.827 + 4.616 -0.120 -6.390 5.127 -0.932 -4.413 4.560 -0.178 -3.848 5.058 + -1.967 -3.757 3.907 -1.989 -2.661 3.903 -3.014 -4.453 3.284 -4.060 + -2.532 -0.190 -5.069 -2.373 -0.851 -3.030 -3.257 -0.623 -2.272 -3.333 + 0.003 -2.920 -3.783 -1.994 -3.937 -4.039 -2.361 -2.312 -2.678 -2.859 + -3.069 -1.887 -2.925 -1.449 -2.268 -2.396 -1.931 -3.055 -4.287 -1.038 + -3.793 -4.249 -2.770 -3.557 -4.758 -1.534 -1.789 -5.080 -0.524 -1.135 + -4.746 -2.285 -1.374 -5.975 -2.032 -5.042 -2.024 -0.888 -5.019 -1.583 + -2.556 -6.150 -2.547 -3.441 -6.123 -2.943 -1.791 -7.397 -2.759 -2.459 + -8.192 -2.981 -0.929 -7.248 -4.037 -0.215 -6.459 -3.896 -0.443 -8.187 + -4.282 -1.785 -6.867 -5.253 -2.896 -7.330 -5.412 -1.311 -6.002 -6.103 + -1.913 -5.790 -6.883 -0.423 -5.628 -5.992 -1.016 -7.910 -1.527 0.051 + -8.538 -1.672 -1.511 -7.633 -0.323 -2.359 -7.112 -0.279 -0.898 -7.957 + 0.966 -1.717 -8.038 1.695 -0.379 -8.930 0.938 0.156 -6.956 1.498 + 0.953 -7.305 2.350 0.209 -5.734 0.926 -0.438 -5.504 0.223 1.152 + -4.672 1.293 1.699 -4.918 2.185 2.161 -4.402 0.140 1.568 -4.174 + -0.768 2.761 -3.472 0.375 3.206 -5.509 -0.203 3.844 -5.108 -0.987 + 3.795 -5.719 0.642 2.550 -6.792 -0.747 2.224 -7.370 0.073 1.660 + -6.544 -1.327 3.460 -7.676 -1.589 3.669 -7.118 -2.504 4.410 -7.814 + -1.045 2.808 -8.967 -1.833 1.845 -8.852 -2.113 3.263 -9.485 -2.527 + 2.776 -9.539 -0.943 0.387 -3.368 1.531 -0.708 -3.139 0.978 0.989 + -2.432 2.274 1.900 -2.645 2.634 0.589 -1.022 2.200 -0.516 -1.025 + 2.252 1.107 -0.234 3.414 2.192 -0.364 3.547 0.897 0.856 3.288 + 0.520 -0.645 4.725 1.145 -1.286 5.731 2.167 -1.558 5.695 0.248 + -1.530 6.752 0.528 -1.952 7.616 -1.016 -1.059 6.446 -2.236 -1.080 + 7.135 -2.305 -1.534 8.128 -3.351 -0.484 6.546 -4.340 -0.497 7.068 + -3.254 0.129 5.281 -4.118 0.590 4.834 -2.009 0.141 4.609 -1.946 + 0.575 3.669 -0.862 -0.454 5.160 1.055 -0.392 0.875 2.121 -0.720 + 0.369 0.282 0.561 0.355 -0.594 0.737 0.776 0.530 1.222 -0.949 + 1.592 1.211 -1.158 -0.181 0.432 -2.065 0.159 -0.609 -1.956 -1.699 + 0.529 -2.057 -2.035 1.557 -1.912 -2.100 0.135 -2.992 -2.086 -0.128 + -1.262 0.218 0.873 -3.333 0.139 0.107 -3.945 0.053 2.668 -0.928 + -0.742 3.059 -0.075 0.495 3.490 -1.885 1.061 3.071 -2.630 -0.007 + 4.841 -2.133 -0.515 5.189 -1.228 1.152 5.786 -2.399 1.835 5.686 + -1.603 1.721 5.498 -3.342 0.790 7.221 -2.548 0.729 7.923 -3.690 + 0.939 7.507 -4.674 0.427 9.237 -3.443 0.406 9.938 -4.168 0.272 + 9.470 -2.104 -0.014 10.620 -1.342 -0.162 11.586 -1.785 -0.081 10.543 + 0.063 -0.247 11.466 0.670 0.106 9.282 0.691 0.082 9.213 1.788 + 0.381 8.138 -0.086 0.588 7.238 0.451 0.479 8.210 -1.494 -1.029 + 4.827 -3.289 -0.804 4.212 -4.342 -2.151 5.535 -3.081 -2.266 5.961 + -2.154 -3.251 5.663 -4.064 -2.862 5.593 -5.047 -4.283 4.525 -3.842 + -4.633 4.509 -2.837 -5.221 4.708 -4.437 -3.811 3.125 -4.207 -2.935 + 2.869 -3.674 -4.626 2.428 -3.961 -3.514 2.921 -5.699 -4.423 3.120 + -6.267 -2.738 3.653 -6.068 -3.013 1.505 -5.989 -3.618 0.746 -5.417 + -3.133 1.295 -7.078 -1.596 1.283 -5.631 -1.406 1.541 -4.659 -1.389 + 0.320 -5.673 -0.985 1.778 -6.222 -3.935 7.046 -3.962 -3.770 7.780 + -2.977 -4.697 7.440 -4.990 -4.784 6.838 -5.766 -5.144 8.334 -4.911 + -2.762 9.156 -0.793 -3.060 8.539 -1.587 -1.722 9.207 -0.824 -3.113 + 10.120 -0.863 -3.245 8.595 0.459 -2.781 9.198 1.224 -4.766 8.629 + 0.565 -5.154 9.663 0.309 -5.233 7.884 -0.103 -5.096 8.368 1.932 + -6.005 8.145 2.010 -2.767 7.158 0.579 -2.433 6.551 -0.438 -2.729 + 6.579 1.796 -3.113 7.058 2.632 -2.425 5.171 1.979 -1.589 4.919 + 1.310 -1.891 4.940 3.413 -2.688 5.191 4.115 -1.603 3.955 3.564 + -0.719 5.815 3.753 -0.699 6.754 4.736 -1.481 6.974 5.398 0.556 + 7.366 4.732 0.829 8.064 5.441 1.390 6.880 3.738 2.658 7.180 + 3.332 3.254 8.013 3.795 3.248 6.434 2.284 4.280 6.646 2.011 + 2.523 5.417 1.670 2.945 4.875 0.925 1.218 5.095 2.076 0.701 + 4.259 1.654 0.583 5.830 3.124 -3.602 4.258 1.630 -4.758 4.695 + 1.631 -3.327 3.002 1.292 -2.368 2.733 1.173 -4.284 1.956 0.900 + -5.156 1.988 1.562 -4.761 2.209 -0.540 -3.874 2.473 -1.163 -5.555 + 1.088 -1.215 -6.381 0.745 -0.599 -5.977 1.412 -2.155 -4.897 0.253 + -1.439 -5.606 3.342 -0.549 -5.446 3.923 0.175 -3.653 0.585 1.090 + -2.424 0.493 1.164 -4.435 -0.484 1.190 -5.426 -0.345 1.096 -3.947 + -1.875 1.217 -2.872 -1.855 1.446 -4.726 -2.664 2.275 -4.719 -2.078 + 3.216 -5.792 -2.683 1.939 -4.215 -4.044 2.550 -4.837 -5.207 2.189 + -5.803 -5.266 1.661 -4.112 -6.269 2.671 -4.421 -7.233 2.611 -2.979 + -5.862 3.350 -1.962 -6.554 4.035 -1.985 -7.614 4.107 -0.920 -5.827 + 4.615 -0.121 -6.392 5.126 -0.932 -4.412 4.560 -0.180 -3.847 5.060 + -1.967 -3.758 3.908 -1.990 -2.661 3.904 -3.013 -4.453 3.285 -4.060 + -2.531 -0.190 -5.069 -2.373 -0.851 -3.030 -3.257 -0.623 -2.275 -3.333 + 0.005 -2.921 -3.783 -1.994 -3.939 -4.039 -2.360 -2.312 -2.678 -2.859 + -3.069 -1.888 -2.925 -1.450 -2.267 -2.397 -1.931 -3.054 -4.286 -1.036 + -3.795 -4.247 -2.769 -3.557 -4.757 -1.534 -1.789 -5.080 -0.523 -1.135 + -4.746 -2.285 -1.374 -5.975 -2.032 -5.042 -2.024 -0.888 -5.019 -1.582 + -2.556 -6.149 -2.547 -3.439 -6.123 -2.943 -1.791 -7.397 -2.758 -2.456 + -8.193 -2.981 -0.928 -7.248 -4.036 -0.217 -6.458 -3.896 -0.443 -8.188 + -4.282 -1.785 -6.867 -5.253 -2.896 -7.330 -5.413 -1.311 -6.001 -6.101 + -1.913 -5.791 -6.883 -0.422 -5.631 -5.992 -1.017 -7.910 -1.527 0.050 + -8.538 -1.673 -1.511 -7.634 -0.323 -2.359 -7.114 -0.278 -0.898 -7.957 + 0.966 -1.719 -8.038 1.694 -0.378 -8.929 0.941 0.157 -6.956 1.498 + 0.953 -7.305 2.350 0.210 -5.734 0.925 -0.437 -5.503 0.224 1.152 + -4.673 1.294 1.700 -4.919 2.185 2.160 -4.402 0.141 1.565 -4.175 + -0.768 2.760 -3.470 0.374 3.207 -5.509 -0.203 3.844 -5.108 -0.988 + 3.795 -5.717 0.642 2.551 -6.792 -0.747 2.223 -7.370 0.071 1.659 + -6.544 -1.326 3.460 -7.676 -1.590 3.669 -7.117 -2.503 4.410 -7.814 + -1.044 2.808 -8.967 -1.832 1.845 -8.853 -2.114 3.263 -9.485 -2.525 + 2.776 -9.539 -0.941 0.388 -3.369 1.531 -0.709 -3.138 0.978 0.990 + -2.432 2.275 1.901 -2.645 2.632 0.589 -1.023 2.200 -0.517 -1.029 + 2.253 1.107 -0.234 3.414 2.191 -0.365 3.552 0.896 0.857 3.289 + 0.521 -0.645 4.725 1.145 -1.286 5.731 2.166 -1.558 5.694 0.248 + -1.530 6.752 0.529 -1.950 7.617 -1.017 -1.059 6.445 -2.236 -1.081 + 7.134 -2.305 -1.534 8.129 -3.351 -0.484 6.545 -4.341 -0.498 7.068 + -3.254 0.129 5.281 -4.118 0.590 4.834 -2.008 0.141 4.609 -1.946 + 0.574 3.670 -0.861 -0.454 5.160 1.054 -0.392 0.875 2.122 -0.719 + 0.370 0.282 0.562 0.356 -0.595 0.736 0.775 0.531 1.222 -0.949 + 1.593 1.211 -1.158 -0.181 0.433 -2.065 0.161 -0.608 -1.954 -1.698 + 0.530 -2.057 -2.035 1.557 -1.912 -2.100 0.134 -2.992 -2.086 -0.129 + -1.262 0.218 0.872 -3.333 0.140 0.107 -3.947 0.053 2.668 -0.928 + -0.742 3.059 -0.075 0.495 3.491 -1.884 1.060 3.072 -2.631 -0.007 + 4.841 -2.133 -0.516 5.189 -1.228 1.151 5.786 -2.399 1.834 5.685 + -1.604 1.723 5.499 -3.343 0.790 7.221 -2.548 0.729 7.923 -3.689 + 0.938 7.507 -4.674 0.428 9.237 -3.443 0.405 9.937 -4.168 0.273 + 9.470 -2.105 -0.014 10.620 -1.342 -0.164 11.587 -1.782 -0.081 10.543 + 0.063 -0.247 11.468 0.670 0.106 9.282 0.691 0.081 9.213 1.789 + 0.381 8.138 -0.086 0.589 7.240 0.453 0.479 8.210 -1.495 -1.029 + 4.826 -3.289 -0.804 4.211 -4.343 -2.151 5.536 -3.080 -2.265 5.961 + -2.153 -3.251 5.662 -4.065 -2.863 5.592 -5.047 -4.282 4.524 -3.841 + -4.634 4.507 -2.838 -5.222 4.707 -4.436 -3.811 3.126 -4.207 -2.935 + 2.869 -3.677 -4.627 2.429 -3.964 -3.515 2.921 -5.699 -4.422 3.121 + -6.268 -2.737 3.653 -6.069 -3.013 1.505 -5.989 -3.617 0.744 -5.416 + -3.132 1.295 -7.079 -1.596 1.282 -5.631 -1.406 1.541 -4.659 -1.389 + 0.321 -5.671 -0.986 1.777 -6.222 -3.936 7.046 -3.961 -3.770 7.780 + -2.977 -4.697 7.441 -4.991 -4.782 6.839 -5.766 -5.144 8.334 -4.909 + -2.762 9.155 -0.794 -3.058 8.536 -1.587 -1.721 9.209 -0.825 -3.114 + 10.120 -0.861 -3.245 8.595 0.458 -2.780 9.201 1.221 -4.766 8.628 + 0.564 -5.155 9.663 0.308 -5.234 7.882 -0.104 -5.096 8.367 1.932 + -6.004 8.144 2.011 -2.767 7.158 0.579 -2.434 6.551 -0.438 -2.729 + 6.579 1.796 -3.113 7.057 2.635 -2.426 5.171 1.979 -1.588 4.920 + 1.310 -1.890 4.940 3.414 -2.687 5.194 4.115 -1.603 3.956 3.567 + -0.719 5.815 3.753 -0.699 6.755 4.736 -1.480 6.973 5.399 0.557 + 7.366 4.732 0.829 8.062 5.443 1.391 6.881 3.737 2.658 7.180 + 3.331 3.255 8.015 3.793 3.248 6.434 2.284 4.281 6.646 2.014 + 2.523 5.417 1.670 2.944 4.877 0.926 1.218 5.094 2.075 0.702 + 4.257 1.655 0.582 5.830 3.124 -3.601 4.258 1.630 -4.758 4.695 + 1.631 -3.327 3.003 1.291 -2.368 2.733 1.170 -4.283 1.956 0.899 + -5.155 1.987 1.562 -4.761 2.208 -0.540 -3.873 2.475 -1.164 -5.555 + 1.088 -1.215 -6.381 0.744 -0.600 -5.977 1.410 -2.155 -4.896 0.253 + -1.439 -5.606 3.342 -0.549 -5.450 3.925 0.175 -3.653 0.586 1.090 + -2.424 0.493 1.164 -4.435 -0.484 1.191 -5.426 -0.344 1.097 -3.947 + -1.875 1.217 -2.870 -1.853 1.444 -4.726 -2.663 2.275 -4.721 -2.076 + 3.216 -5.793 -2.681 1.938 -4.214 -4.043 2.550 -4.837 -5.208 2.188 + -5.803 -5.266 1.661 -4.111 -6.269 2.670 -4.421 -7.233 2.610 -2.978 + -5.861 3.350 -1.962 -6.553 4.035 -1.985 -7.613 4.108 -0.920 -5.827 + 4.615 -0.121 -6.393 5.126 -0.933 -4.412 4.560 -0.183 -3.846 5.061 + -1.967 -3.758 3.908 -1.991 -2.661 3.906 -3.013 -4.453 3.285 -4.060 + -2.531 -0.191 -5.068 -2.372 -0.851 -3.030 -3.257 -0.623 -2.277 -3.334 + 0.007 -2.921 -3.783 -1.995 -3.940 -4.039 -2.359 -2.312 -2.678 -2.859 + -3.070 -1.889 -2.925 -1.451 -2.266 -2.398 -1.931 -3.054 -4.285 -1.034 + -3.796 -4.245 -2.768 -3.557 -4.757 -1.534 -1.788 -5.080 -0.523 -1.135 + -4.746 -2.285 -1.375 -5.975 -2.032 -5.042 -2.025 -0.888 -5.020 -1.582 + -2.556 -6.149 -2.547 -3.438 -6.123 -2.944 -1.791 -7.397 -2.758 -2.453 + -8.194 -2.981 -0.928 -7.248 -4.036 -0.218 -6.458 -3.897 -0.444 -8.189 + -4.283 -1.785 -6.867 -5.253 -2.896 -7.330 -5.413 -1.311 -6.001 -6.100 + -1.912 -5.792 -6.883 -0.422 -5.634 -5.992 -1.017 -7.910 -1.527 0.050 + -8.538 -1.673 -1.511 -7.634 -0.323 -2.360 -7.115 -0.277 -0.898 -7.957 + 0.966 -1.721 -8.038 1.693 -0.376 -8.928 0.943 0.157 -6.957 1.499 + 0.952 -7.304 2.350 0.210 -5.734 0.925 -0.437 -5.503 0.225 1.153 + -4.674 1.294 1.701 -4.919 2.185 2.160 -4.402 0.141 1.563 -4.176 + -0.768 2.760 -3.468 0.373 3.208 -5.509 -0.203 3.844 -5.108 -0.988 + 3.796 -5.716 0.641 2.551 -6.791 -0.748 2.223 -7.369 0.070 1.658 + -6.545 -1.325 3.459 -7.676 -1.590 3.669 -7.115 -2.502 4.409 -7.814 + -1.044 2.808 -8.966 -1.832 1.845 -8.854 -2.115 3.263 -9.484 -2.524 + 2.775 -9.538 -0.940 0.388 -3.370 1.531 -0.709 -3.137 0.977 0.990 + -2.433 2.275 1.903 -2.646 2.629 0.589 -1.023 2.200 -0.517 -1.032 + 2.255 1.106 -0.234 3.414 2.191 -0.366 3.556 0.896 0.859 3.290 + 0.521 -0.645 4.726 1.145 -1.286 5.731 2.166 -1.557 5.692 0.248 + -1.530 6.752 0.531 -1.948 7.617 -1.017 -1.060 6.445 -2.236 -1.082 + 7.133 -2.305 -1.534 8.129 -3.350 -0.485 6.545 -4.342 -0.498 7.068 + -3.254 0.129 5.281 -4.118 0.590 4.833 -2.008 0.140 4.610 -1.946 + 0.572 3.671 -0.861 -0.454 5.160 1.054 -0.393 0.874 2.122 -0.718 + 0.370 0.282 0.562 0.356 -0.595 0.735 0.774 0.532 1.222 -0.949 + 1.593 1.211 -1.158 -0.181 0.433 -2.065 0.163 -0.608 -1.952 -1.698 + 0.531 -2.057 -2.035 1.558 -1.913 -2.099 0.132 -2.992 -2.086 -0.129 + -1.263 0.218 0.871 -3.333 0.140 0.107 -3.949 0.053 2.668 -0.928 + -0.741 3.059 -0.075 0.494 3.492 -1.884 1.059 3.073 -2.631 -0.007 + 4.842 -2.133 -0.516 5.189 -1.227 1.151 5.786 -2.398 1.832 5.684 + -1.604 1.725 5.501 -3.343 0.790 7.220 -2.549 0.729 7.924 -3.689 + 0.938 7.508 -4.674 0.428 9.236 -3.443 0.405 9.936 -4.169 0.274 + 9.470 -2.105 -0.013 10.620 -1.342 -0.165 11.587 -1.780 -0.081 10.543 + 0.063 -0.248 11.469 0.670 0.106 9.281 0.692 0.080 9.213 1.790 + 0.382 8.138 -0.087 0.590 7.241 0.454 0.479 8.211 -1.495 -1.029 + 4.826 -3.289 -0.805 4.211 -4.343 -2.151 5.537 -3.079 -2.265 5.961 + -2.151 -3.250 5.662 -4.065 -2.863 5.592 -5.047 -4.281 4.523 -3.841 + -4.635 4.505 -2.839 -5.223 4.705 -4.435 -3.811 3.126 -4.208 -2.935 + 2.868 -3.680 -4.628 2.431 -3.966 -3.515 2.921 -5.699 -4.422 3.123 + -6.269 -2.737 3.654 -6.070 -3.013 1.505 -5.989 -3.615 0.742 -5.415 + -3.131 1.295 -7.080 -1.597 1.281 -5.631 -1.407 1.542 -4.659 -1.389 + 0.321 -5.669 -0.986 1.775 -6.222 -3.936 7.046 -3.961 -3.770 7.780 + -2.976 -4.698 7.442 -4.991 -4.780 6.840 -5.766 -5.144 8.335 -4.908 + -2.762 9.155 -0.794 -3.057 8.534 -1.587 -1.720 9.211 -0.826 -3.115 + 10.119 -0.860 -3.245 8.595 0.458 -2.778 9.203 1.217 -4.767 8.627 + 0.563 -5.156 9.663 0.307 -5.234 7.881 -0.105 -5.096 8.367 1.932 + -6.004 8.144 2.012 -2.767 7.159 0.580 -2.434 6.550 -0.437 -2.729 + 6.579 1.797 -3.114 7.055 2.637 -2.426 5.171 1.979 -1.588 4.921 + 1.310 -1.890 4.940 3.414 -2.686 5.196 4.116 -1.603 3.958 3.569 + -0.718 5.816 3.752 -0.699 6.755 4.736 -1.479 6.973 5.399 0.558 + 7.366 4.733 0.830 8.061 5.445 1.392 6.882 3.737 2.657 7.180 + 3.331 3.255 8.017 3.792 3.248 6.434 2.284 4.282 6.645 2.017 + 2.523 5.418 1.670 2.943 4.878 0.928 1.219 5.094 2.075 0.704 + 4.255 1.657 0.582 5.830 3.124 -3.601 4.258 1.630 -4.758 4.695 + 1.631 -3.327 3.003 1.291 -2.369 2.733 1.167 -4.283 1.956 0.899 + -5.154 1.986 1.563 -4.761 2.208 -0.540 -3.873 2.477 -1.164 -5.555 + 1.087 -1.215 -6.381 0.742 -0.601 -5.977 1.408 -2.155 -4.896 0.253 + -1.439 -5.606 3.343 -0.548 -5.453 3.926 0.176 -3.653 0.586 1.090 + -2.424 0.493 1.163 -4.435 -0.483 1.191 -5.425 -0.342 1.099 -3.947 + -1.874 1.218 -2.869 -1.852 1.441 -4.726 -2.663 2.275 -4.723 -2.075 + 3.216 -5.793 -2.679 1.936 -4.214 -4.043 2.550 -4.837 -5.208 2.187 + -5.804 -5.267 1.660 -4.111 -6.268 2.670 -4.419 -7.232 2.609 -2.978 + -5.861 3.350 -1.962 -6.553 4.035 -1.985 -7.612 4.109 -0.920 -5.827 + 4.615 -0.121 -6.395 5.125 -0.933 -4.411 4.561 -0.185 -3.845 5.063 + -1.967 -3.759 3.908 -1.993 -2.662 3.907 -3.013 -4.454 3.286 -4.060 + -2.531 -0.192 -5.068 -2.372 -0.851 -3.030 -3.256 -0.623 -2.279 -3.334 + 0.009 -2.922 -3.783 -1.995 -3.942 -4.039 -2.358 -2.312 -2.679 -2.859 + -3.071 -1.889 -2.926 -1.451 -2.265 -2.399 -1.931 -3.054 -4.285 -1.032 + -3.797 -4.243 -2.768 -3.558 -4.756 -1.534 -1.788 -5.080 -0.523 -1.135 + -4.746 -2.285 -1.375 -5.975 -2.032 -5.042 -2.025 -0.888 -5.020 -1.582 + -2.557 -6.149 -2.548 -3.437 -6.124 -2.945 -1.791 -7.396 -2.758 -2.450 + -8.195 -2.981 -0.928 -7.249 -4.036 -0.220 -6.457 -3.898 -0.444 -8.190 + -4.283 -1.785 -6.866 -5.254 -2.896 -7.330 -5.414 -1.311 -6.000 -6.099 + -1.912 -5.793 -6.883 -0.421 -5.637 -5.992 -1.018 -7.910 -1.527 0.050 + -8.537 -1.673 -1.511 -7.634 -0.323 -2.360 -7.117 -0.276 -0.899 -7.957 + 0.966 -1.723 -8.039 1.692 -0.375 -8.928 0.945 0.157 -6.957 1.499 + 0.952 -7.303 2.351 0.210 -5.735 0.924 -0.436 -5.502 0.225 1.153 + -4.675 1.295 1.702 -4.920 2.185 2.159 -4.402 0.141 1.561 -4.177 + -0.768 2.760 -3.466 0.372 3.209 -5.509 -0.202 3.844 -5.108 -0.989 + 3.797 -5.715 0.640 2.551 -6.791 -0.748 2.223 -7.369 0.068 1.657 + -6.545 -1.324 3.459 -7.676 -1.590 3.668 -7.113 -2.501 4.409 -7.814 + -1.044 2.808 -8.966 -1.832 1.845 -8.855 -2.116 3.263 -9.484 -2.523 + 2.775 -9.538 -0.939 0.388 -3.371 1.531 -0.709 -3.137 0.977 0.991 + -2.434 2.275 1.905 -2.646 2.627 0.589 -1.024 2.200 -0.517 -1.036 + 2.256 1.105 -0.234 3.413 2.190 -0.367 3.560 0.895 0.859 3.291 + 0.522 -0.645 4.726 1.145 -1.286 5.731 2.166 -1.556 5.691 0.248 + -1.530 6.752 0.533 -1.946 7.618 -1.017 -1.060 6.444 -2.236 -1.083 + 7.133 -2.305 -1.534 8.129 -3.350 -0.485 6.544 -4.342 -0.499 7.068 + -3.255 0.129 5.280 -4.117 0.590 4.833 -2.008 0.140 4.610 -1.946 + 0.571 3.671 -0.860 -0.453 5.159 1.054 -0.393 0.874 2.122 -0.717 + 0.370 0.282 0.562 0.357 -0.595 0.734 0.772 0.532 1.223 -0.949 + 1.593 1.211 -1.158 -0.181 0.433 -2.065 0.164 -0.607 -1.949 -1.698 + 0.532 -2.057 -2.035 1.559 -1.913 -2.098 0.131 -2.992 -2.086 -0.130 + -1.263 0.218 0.870 -3.333 0.141 0.108 -3.951 0.053 2.667 -0.928 + -0.741 3.058 -0.075 0.494 3.493 -1.884 1.058 3.074 -2.632 -0.007 + 4.843 -2.132 -0.516 5.190 -1.227 1.150 5.786 -2.398 1.831 5.684 + -1.605 1.727 5.503 -3.344 0.790 7.220 -2.549 0.729 7.924 -3.689 + 0.937 7.508 -4.674 0.429 9.236 -3.443 0.405 9.935 -4.170 0.274 + 9.470 -2.106 -0.013 10.619 -1.342 -0.167 11.587 -1.777 -0.081 10.544 + 0.064 -0.248 11.471 0.670 0.106 9.281 0.692 0.079 9.212 1.790 + 0.382 8.138 -0.087 0.591 7.242 0.456 0.480 8.211 -1.495 -1.030 + 4.826 -3.289 -0.805 4.210 -4.344 -2.151 5.537 -3.079 -2.264 5.961 + -2.150 -3.249 5.662 -4.065 -2.863 5.592 -5.047 -4.281 4.522 -3.840 + -4.636 4.503 -2.840 -5.225 4.703 -4.433 -3.811 3.127 -4.208 -2.934 + 2.867 -3.683 -4.630 2.432 -3.968 -3.515 2.921 -5.699 -4.422 3.125 + -6.270 -2.736 3.654 -6.071 -3.013 1.505 -5.989 -3.614 0.741 -5.414 + -3.131 1.296 -7.081 -1.597 1.281 -5.631 -1.408 1.542 -4.659 -1.388 + 0.321 -5.667 -0.987 1.774 -6.223 -3.936 7.046 -3.961 -3.770 7.780 + -2.976 -4.698 7.443 -4.992 -4.778 6.841 -5.767 -5.144 8.336 -4.907 + -2.762 9.154 -0.794 -3.055 8.532 -1.587 -1.720 9.213 -0.827 -3.116 + 10.119 -0.858 -3.245 8.595 0.457 -2.777 9.205 1.214 -4.767 8.626 + 0.562 -5.158 9.662 0.307 -5.235 7.879 -0.106 -5.096 8.367 1.933 + -6.004 8.143 2.012 -2.767 7.159 0.580 -2.434 6.550 -0.437 -2.729 + 6.579 1.798 -3.114 7.053 2.639 -2.427 5.172 1.979 -1.588 4.922 + 1.311 -1.889 4.940 3.414 -2.685 5.199 4.116 -1.603 3.959 3.571 + -0.718 5.816 3.752 -0.700 6.755 4.736 -1.478 6.973 5.400 0.559 + 7.366 4.733 0.831 8.060 5.446 1.393 6.882 3.737 2.657 7.181 + 3.331 3.256 8.019 3.790 3.248 6.433 2.284 4.283 6.645 2.020 + 2.523 5.419 1.671 2.942 4.879 0.929 1.219 5.093 2.074 0.705 + 4.253 1.658 0.581 5.830 3.124 -3.601 4.258 1.629 -4.758 4.695 + 1.631 -3.327 3.003 1.290 -2.369 2.732 1.164 -4.282 1.956 0.898 + -5.153 1.985 1.563 -4.761 2.208 -0.540 -3.873 2.479 -1.164 -5.555 + 1.087 -1.215 -6.381 0.741 -0.602 -5.977 1.405 -2.156 -4.896 0.252 + -1.440 -5.606 3.343 -0.547 -5.455 3.928 0.176 -3.653 0.586 1.090 + -2.424 0.493 1.163 -4.434 -0.482 1.192 -5.425 -0.341 1.100 -3.947 + -1.874 1.218 -2.868 -1.850 1.439 -4.726 -2.663 2.276 -4.725 -2.074 + 3.216 -5.794 -2.677 1.935 -4.214 -4.043 2.550 -4.837 -5.208 2.186 + -5.804 -5.267 1.659 -4.111 -6.268 2.669 -4.419 -7.232 2.608 -2.978 + -5.861 3.349 -1.962 -6.552 4.036 -1.985 -7.611 4.110 -0.919 -5.826 + 4.615 -0.122 -6.396 5.125 -0.934 -4.410 4.561 -0.187 -3.844 5.064 + -1.967 -3.759 3.909 -1.994 -2.662 3.909 -3.013 -4.454 3.287 -4.060 + -2.530 -0.192 -5.068 -2.372 -0.851 -3.030 -3.256 -0.624 -2.281 -3.335 + 0.011 -2.922 -3.782 -1.995 -3.943 -4.039 -2.357 -2.312 -2.679 -2.858 + -3.071 -1.890 -2.926 -1.452 -2.263 -2.399 -1.931 -3.054 -4.284 -1.031 + -3.798 -4.242 -2.767 -3.558 -4.755 -1.534 -1.787 -5.080 -0.523 -1.134 + -4.747 -2.285 -1.376 -5.976 -2.033 -5.042 -2.025 -0.888 -5.020 -1.581 + -2.557 -6.148 -2.548 -3.436 -6.124 -2.946 -1.791 -7.396 -2.757 -2.447 + -8.196 -2.982 -0.927 -7.249 -4.035 -0.221 -6.456 -3.899 -0.445 -8.191 + -4.283 -1.785 -6.866 -5.254 -2.895 -7.330 -5.414 -1.311 -6.000 -6.098 + -1.911 -5.794 -6.883 -0.420 -5.639 -5.991 -1.018 -7.909 -1.527 0.050 + -8.537 -1.673 -1.511 -7.635 -0.323 -2.360 -7.118 -0.275 -0.899 -7.957 + 0.966 -1.725 -8.039 1.690 -0.374 -8.927 0.948 0.158 -6.957 1.499 + 0.952 -7.302 2.351 0.210 -5.735 0.924 -0.436 -5.501 0.226 1.153 + -4.676 1.296 1.702 -4.921 2.185 2.159 -4.401 0.141 1.558 -4.179 + -0.768 2.760 -3.464 0.371 3.210 -5.509 -0.202 3.844 -5.108 -0.989 + 3.798 -5.715 0.640 2.551 -6.791 -0.749 2.222 -7.369 0.067 1.656 + -6.546 -1.324 3.458 -7.677 -1.591 3.668 -7.111 -2.500 4.409 -7.814 + -1.044 2.808 -8.965 -1.831 1.845 -8.856 -2.117 3.262 -9.484 -2.522 + 2.775 -9.538 -0.938 0.388 -3.372 1.531 -0.710 -3.136 0.977 0.991 + -2.435 2.275 1.906 -2.647 2.625 0.589 -1.025 2.200 -0.518 -1.040 + 2.257 1.104 -0.233 3.413 2.190 -0.367 3.564 0.895 0.860 3.291 + 0.522 -0.645 4.726 1.145 -1.286 5.731 2.165 -1.556 5.689 0.248 + -1.530 6.752 0.534 -1.944 7.619 -1.017 -1.060 6.444 -2.236 -1.083 + 7.132 -2.305 -1.534 8.129 -3.349 -0.485 6.544 -4.343 -0.499 7.067 + -3.255 0.129 5.280 -4.117 0.590 4.832 -2.007 0.140 4.610 -1.946 + 0.570 3.672 -0.860 -0.453 5.159 1.054 -0.394 0.874 2.122 -0.717 + 0.370 0.282 0.562 0.357 -0.596 0.733 0.771 0.533 1.223 -0.949 + 1.594 1.211 -1.158 -0.181 0.433 -2.065 0.166 -0.607 -1.947 -1.698 + 0.532 -2.058 -2.035 1.560 -1.914 -2.097 0.130 -2.992 -2.085 -0.130 + -1.264 0.217 0.868 -3.333 0.142 0.108 -3.952 0.053 2.667 -0.928 + -0.740 3.058 -0.075 0.493 3.494 -1.884 1.057 3.075 -2.632 -0.008 + 4.843 -2.132 -0.517 5.190 -1.226 1.150 5.786 -2.398 1.830 5.683 + -1.606 1.728 5.505 -3.344 0.790 7.219 -2.550 0.729 7.924 -3.688 + 0.936 7.508 -4.673 0.430 9.236 -3.443 0.404 9.934 -4.170 0.275 + 9.469 -2.106 -0.012 10.619 -1.341 -0.168 11.587 -1.774 -0.080 10.544 + 0.064 -0.248 11.472 0.671 0.106 9.280 0.692 0.078 9.211 1.791 + 0.382 8.138 -0.088 0.592 7.244 0.457 0.480 8.212 -1.496 -1.030 + 4.826 -3.289 -0.806 4.209 -4.344 -2.150 5.538 -3.078 -2.263 5.961 + -2.149 -3.249 5.662 -4.065 -2.863 5.591 -5.047 -4.280 4.521 -3.840 + -4.636 4.500 -2.841 -5.226 4.701 -4.432 -3.810 3.127 -4.209 -2.933 + 2.867 -3.687 -4.631 2.433 -3.970 -3.515 2.921 -5.699 -4.422 3.126 + -6.270 -2.735 3.654 -6.072 -3.013 1.505 -5.989 -3.612 0.739 -5.413 + -3.130 1.296 -7.081 -1.597 1.280 -5.631 -1.408 1.542 -4.659 -1.388 + 0.321 -5.665 -0.987 1.773 -6.223 -3.936 7.045 -3.961 -3.770 7.780 + -2.975 -4.699 7.444 -4.992 -4.777 6.842 -5.767 -5.143 8.337 -4.906 + -2.762 9.153 -0.794 -3.054 8.529 -1.587 -1.719 9.215 -0.828 -3.117 + 10.118 -0.856 -3.245 8.596 0.457 -2.776 9.207 1.210 -4.767 8.625 + 0.561 -5.159 9.662 0.306 -5.235 7.878 -0.107 -5.096 8.366 1.933 + -6.004 8.142 2.013 -2.767 7.160 0.580 -2.435 6.549 -0.436 -2.729 + 6.579 1.799 -3.115 7.051 2.641 -2.427 5.172 1.979 -1.587 4.924 + 1.311 -1.889 4.940 3.414 -2.684 5.202 4.116 -1.603 3.961 3.573 + -0.718 5.816 3.752 -0.700 6.755 4.736 -1.478 6.973 5.400 0.560 + 7.366 4.733 0.831 8.058 5.448 1.394 6.883 3.736 2.657 7.181 + 3.331 3.256 8.021 3.788 3.248 6.433 2.284 4.284 6.644 2.023 + 2.524 5.419 1.671 2.942 4.881 0.930 1.220 5.093 2.073 0.707 + 4.251 1.660 0.581 5.830 3.123 -3.601 4.258 1.629 -4.759 4.695 + 1.630 -3.327 3.003 1.290 -2.369 2.732 1.161 -4.281 1.956 0.898 + -5.152 1.984 1.563 -4.761 2.207 -0.540 -3.873 2.480 -1.165 -5.555 + 1.087 -1.216 -6.381 0.739 -0.603 -5.978 1.403 -2.156 -4.895 0.252 + -1.440 -5.606 3.343 -0.547 -5.458 3.929 0.176 -3.653 0.587 1.090 + -2.424 0.493 1.163 -4.434 -0.481 1.192 -5.424 -0.339 1.101 -3.947 + -1.873 1.218 -2.867 -1.848 1.437 -4.726 -2.662 2.276 -4.727 -2.072 + 3.216 -5.794 -2.675 1.934 -4.213 -4.042 2.550 -4.837 -5.208 2.185 + -5.804 -5.268 1.659 -4.111 -6.267 2.669 -4.418 -7.231 2.608 -2.978 + -5.860 3.349 -1.962 -6.552 4.036 -1.985 -7.610 4.111 -0.919 -5.826 + 4.615 -0.122 -6.398 5.124 -0.934 -4.409 4.561 -0.190 -3.843 5.066 + -1.967 -3.760 3.909 -1.995 -2.662 3.910 -3.013 -4.454 3.287 -4.059 + -2.530 -0.193 -5.067 -2.372 -0.851 -3.030 -3.256 -0.624 -2.283 -3.335 + 0.013 -2.923 -3.782 -1.995 -3.945 -4.039 -2.356 -2.312 -2.679 -2.858 + -3.072 -1.891 -2.926 -1.453 -2.262 -2.400 -1.931 -3.053 -4.283 -1.029 + -3.799 -4.240 -2.767 -3.558 -4.754 -1.534 -1.786 -5.080 -0.523 -1.134 + -4.747 -2.285 -1.377 -5.976 -2.033 -5.042 -2.025 -0.889 -5.021 -1.581 + -2.557 -6.148 -2.548 -3.435 -6.124 -2.947 -1.791 -7.396 -2.757 -2.445 + -8.198 -2.982 -0.927 -7.250 -4.035 -0.222 -6.455 -3.900 -0.445 -8.191 + -4.284 -1.785 -6.866 -5.254 -2.895 -7.331 -5.415 -1.311 -5.999 -6.097 + -1.910 -5.795 -6.883 -0.418 -5.642 -5.991 -1.019 -7.909 -1.526 0.050 + -8.537 -1.674 -1.511 -7.635 -0.323 -2.361 -7.120 -0.274 -0.900 -7.956 + 0.966 -1.727 -8.038 1.689 -0.372 -8.926 0.950 0.158 -6.957 1.500 + 0.953 -7.302 2.352 0.211 -5.735 0.923 -0.436 -5.500 0.226 1.153 + -4.676 1.296 1.703 -4.921 2.185 2.158 -4.401 0.141 1.556 -4.180 + -0.767 2.760 -3.462 0.369 3.210 -5.509 -0.202 3.844 -5.108 -0.990 + 3.798 -5.714 0.639 2.552 -6.791 -0.749 2.222 -7.368 0.066 1.655 + -6.546 -1.323 3.458 -7.677 -1.591 3.668 -7.109 -2.499 4.408 -7.814 + -1.044 2.808 -8.965 -1.831 1.846 -8.857 -2.117 3.262 -9.484 -2.521 + 2.774 -9.537 -0.937 0.388 -3.373 1.531 -0.710 -3.136 0.976 0.991 + -2.435 2.275 1.908 -2.647 2.622 0.589 -1.026 2.200 -0.518 -1.044 + 2.259 1.104 -0.233 3.413 2.189 -0.368 3.568 0.895 0.861 3.292 + 0.523 -0.644 4.726 1.145 -1.286 5.731 2.165 -1.555 5.688 0.248 + -1.530 6.752 0.536 -1.942 7.619 -1.017 -1.061 6.443 -2.237 -1.084 + 7.132 -2.305 -1.534 8.129 -3.349 -0.486 6.544 -4.343 -0.500 7.067 + -3.255 0.129 5.280 -4.117 0.590 4.832 -2.007 0.140 4.610 -1.946 + 0.569 3.672 -0.860 -0.453 5.159 1.054 -0.394 0.873 2.123 -0.716 + 0.371 0.283 0.563 0.358 -0.597 0.732 0.770 0.534 1.223 -0.949 + 1.595 1.211 -1.158 -0.182 0.434 -2.064 0.168 -0.606 -1.945 -1.698 + 0.533 -2.058 -2.035 1.561 -1.914 -2.097 0.129 -2.991 -2.085 -0.130 + -1.265 0.217 0.867 -3.333 0.143 0.108 -3.954 0.054 2.667 -0.928 + -0.739 3.058 -0.075 0.493 3.494 -1.883 1.056 3.076 -2.633 -0.008 + 4.844 -2.132 -0.517 5.190 -1.226 1.149 5.786 -2.398 1.829 5.683 + -1.606 1.730 5.507 -3.344 0.790 7.219 -2.550 0.729 7.924 -3.688 + 0.935 7.509 -4.673 0.431 9.236 -3.443 0.404 9.934 -4.171 0.276 + 9.469 -2.107 -0.011 10.619 -1.341 -0.170 11.588 -1.772 -0.080 10.544 + 0.065 -0.249 11.473 0.671 0.106 9.280 0.693 0.077 9.211 1.791 + 0.383 8.138 -0.088 0.593 7.245 0.459 0.480 8.212 -1.496 -1.030 + 4.826 -3.290 -0.806 4.208 -4.345 -2.150 5.538 -3.077 -2.263 5.961 + -2.148 -3.248 5.662 -4.065 -2.863 5.591 -5.047 -4.279 4.521 -3.840 + -4.637 4.498 -2.841 -5.226 4.699 -4.431 -3.810 3.127 -4.209 -2.933 + 2.866 -3.690 -4.632 2.434 -3.972 -3.515 2.921 -5.699 -4.421 3.128 + -6.271 -2.735 3.654 -6.073 -3.012 1.505 -5.989 -3.611 0.738 -5.413 + -3.129 1.296 -7.082 -1.597 1.279 -5.631 -1.409 1.542 -4.659 -1.387 + 0.321 -5.663 -0.988 1.772 -6.224 -3.937 7.045 -3.961 -3.770 7.780 + -2.975 -4.699 7.445 -4.993 -4.775 6.843 -5.768 -5.143 8.337 -4.905 + -2.762 9.152 -0.794 -3.052 8.527 -1.587 -1.719 9.217 -0.829 -3.118 + 10.117 -0.854 -3.245 8.596 0.456 -2.774 9.209 1.207 -4.767 8.624 + 0.560 -5.160 9.661 0.305 -5.235 7.876 -0.109 -5.096 8.366 1.933 + -6.004 8.142 2.014 -2.767 7.160 0.580 -2.435 6.548 -0.436 -2.729 + 6.579 1.800 -3.115 7.049 2.643 -2.428 5.173 1.979 -1.587 4.925 + 1.311 -1.888 4.940 3.414 -2.683 5.205 4.116 -1.603 3.962 3.575 + -0.717 5.817 3.751 -0.700 6.756 4.737 -1.477 6.973 5.401 0.560 + 7.365 4.734 0.832 8.057 5.449 1.395 6.884 3.736 2.656 7.182 + 3.331 3.256 8.022 3.786 3.248 6.433 2.284 4.286 6.643 2.026 + 2.524 5.420 1.671 2.941 4.882 0.931 1.220 5.092 2.073 0.708 + 4.249 1.661 0.581 5.830 3.123 -3.600 4.258 1.628 -4.759 4.695 + 1.630 -3.327 3.003 1.290 -2.369 2.732 1.158 -4.280 1.956 0.897 + -5.151 1.983 1.563 -4.760 2.207 -0.540 -3.873 2.482 -1.165 -5.555 + 1.086 -1.216 -6.381 0.738 -0.605 -5.978 1.401 -2.156 -4.895 0.252 + -1.440 -5.606 3.343 -0.546 -5.461 3.931 0.177 -3.653 0.587 1.090 + -2.424 0.493 1.162 -4.434 -0.481 1.193 -5.424 -0.338 1.102 -3.947 + -1.873 1.219 -2.866 -1.846 1.434 -4.726 -2.662 2.276 -4.729 -2.071 + 3.215 -5.794 -2.674 1.933 -4.213 -4.042 2.550 -4.837 -5.208 2.184 + -5.804 -5.268 1.658 -4.111 -6.267 2.668 -4.417 -7.231 2.607 -2.977 + -5.860 3.349 -1.962 -6.551 4.037 -1.985 -7.609 4.112 -0.919 -5.826 + 4.614 -0.122 -6.400 5.123 -0.934 -4.409 4.561 -0.192 -3.841 5.067 + -1.968 -3.760 3.910 -1.996 -2.663 3.912 -3.013 -4.454 3.288 -4.059 + -2.530 -0.193 -5.067 -2.371 -0.851 -3.029 -3.255 -0.624 -2.284 -3.336 + 0.014 -2.923 -3.782 -1.996 -3.946 -4.039 -2.355 -2.312 -2.679 -2.858 + -3.073 -1.891 -2.927 -1.454 -2.261 -2.401 -1.931 -3.053 -4.283 -1.028 + -3.800 -4.239 -2.766 -3.558 -4.753 -1.534 -1.786 -5.079 -0.522 -1.134 + -4.747 -2.284 -1.377 -5.976 -2.033 -5.042 -2.025 -0.889 -5.021 -1.581 + -2.557 -6.148 -2.548 -3.435 -6.124 -2.948 -1.791 -7.396 -2.756 -2.442 + -8.199 -2.982 -0.927 -7.250 -4.035 -0.223 -6.454 -3.901 -0.446 -8.192 + -4.284 -1.785 -6.866 -5.254 -2.895 -7.331 -5.415 -1.312 -5.999 -6.096 + -1.910 -5.796 -6.883 -0.417 -5.645 -5.991 -1.019 -7.909 -1.526 0.050 + -8.537 -1.674 -1.511 -7.636 -0.323 -2.361 -7.121 -0.274 -0.900 -7.956 + 0.966 -1.728 -8.039 1.688 -0.371 -8.926 0.952 0.158 -6.957 1.500 + 0.953 -7.301 2.352 0.211 -5.735 0.923 -0.436 -5.499 0.226 1.153 + -4.677 1.297 1.704 -4.922 2.185 2.158 -4.401 0.141 1.553 -4.182 + -0.767 2.759 -3.460 0.368 3.211 -5.509 -0.201 3.844 -5.107 -0.991 + 3.799 -5.713 0.639 2.552 -6.791 -0.749 2.222 -7.368 0.065 1.654 + -6.547 -1.322 3.457 -7.677 -1.591 3.667 -7.107 -2.498 4.408 -7.814 + -1.044 2.808 -8.964 -1.830 1.846 -8.858 -2.118 3.262 -9.484 -2.520 + 2.774 -9.537 -0.936 0.388 -3.374 1.531 -0.711 -3.135 0.976 0.992 + -2.436 2.275 1.909 -2.648 2.620 0.590 -1.026 2.199 -0.518 -1.047 + 2.260 1.103 -0.233 3.413 2.188 -0.369 3.573 0.894 0.862 3.293 + 0.523 -0.644 4.727 1.145 -1.286 5.731 2.165 -1.555 5.686 0.248 + -1.530 6.751 0.537 -1.940 7.620 -1.018 -1.061 6.443 -2.237 -1.085 + 7.131 -2.305 -1.533 8.129 -3.349 -0.486 6.543 -4.343 -0.501 7.067 + -3.255 0.129 5.280 -4.117 0.590 4.831 -2.006 0.140 4.611 -1.946 + 0.567 3.672 -0.859 -0.453 5.158 1.053 -0.395 0.873 2.123 -0.715 + 0.371 0.283 0.563 0.358 -0.597 0.731 0.769 0.534 1.224 -0.949 + 1.595 1.212 -1.158 -0.182 0.434 -2.064 0.169 -0.605 -1.943 -1.697 + 0.533 -2.058 -2.035 1.562 -1.915 -2.096 0.129 -2.991 -2.084 -0.131 + -1.265 0.217 0.866 -3.333 0.144 0.109 -3.956 0.054 2.667 -0.928 + -0.739 3.058 -0.076 0.492 3.495 -1.883 1.055 3.077 -2.633 -0.008 + 4.845 -2.132 -0.518 5.190 -1.225 1.149 5.787 -2.398 1.828 5.682 + -1.607 1.732 5.508 -3.344 0.790 7.218 -2.551 0.729 7.924 -3.687 + 0.935 7.509 -4.673 0.431 9.236 -3.443 0.404 9.933 -4.171 0.276 + 9.469 -2.107 -0.011 10.619 -1.341 -0.171 11.588 -1.769 -0.080 10.544 + 0.065 -0.249 11.474 0.671 0.106 9.279 0.693 0.076 9.210 1.792 + 0.383 8.138 -0.088 0.593 7.246 0.461 0.481 8.213 -1.497 -1.030 + 4.826 -3.290 -0.807 4.208 -4.345 -2.150 5.539 -3.077 -2.262 5.961 + -2.147 -3.247 5.662 -4.065 -2.863 5.591 -5.047 -4.278 4.520 -3.839 + -4.638 4.496 -2.842 -5.227 4.697 -4.429 -3.810 3.128 -4.210 -2.932 + 2.865 -3.693 -4.633 2.435 -3.974 -3.515 2.921 -5.700 -4.421 3.130 + -6.272 -2.734 3.654 -6.074 -3.012 1.505 -5.989 -3.609 0.736 -5.412 + -3.129 1.296 -7.082 -1.597 1.279 -5.631 -1.409 1.542 -4.660 -1.387 + 0.321 -5.661 -0.988 1.771 -6.225 -3.937 7.045 -3.961 -3.770 7.780 + -2.975 -4.699 7.445 -4.993 -4.773 6.843 -5.769 -5.143 8.338 -4.904 + -2.762 9.152 -0.794 -3.051 8.525 -1.587 -1.719 9.218 -0.829 -3.119 + 10.117 -0.852 -3.245 8.596 0.455 -2.773 9.211 1.204 -4.768 8.623 + 0.559 -5.161 9.660 0.304 -5.236 7.875 -0.110 -5.096 8.366 1.933 + -6.004 8.141 2.015 -2.767 7.161 0.580 -2.435 6.548 -0.436 -2.730 + 6.579 1.800 -3.115 7.048 2.645 -2.429 5.173 1.978 -1.587 4.926 + 1.311 -1.888 4.940 3.414 -2.682 5.207 4.116 -1.603 3.963 3.577 + -0.717 5.817 3.751 -0.700 6.756 4.737 -1.477 6.973 5.402 0.561 + 7.365 4.734 0.832 8.055 5.451 1.396 6.884 3.736 2.656 7.182 + 3.331 3.257 8.024 3.784 3.248 6.433 2.284 4.287 6.643 2.029 + 2.524 5.421 1.671 2.941 4.883 0.932 1.220 5.092 2.072 0.710 + 4.246 1.663 0.581 5.829 3.123 -3.600 4.258 1.628 -4.759 4.695 + 1.630 -3.327 3.003 1.289 -2.370 2.732 1.155 -4.279 1.956 0.897 + -5.150 1.982 1.563 -4.760 2.207 -0.540 -3.873 2.484 -1.165 -5.555 + 1.086 -1.216 -6.381 0.736 -0.606 -5.978 1.399 -2.156 -4.895 0.252 + -1.440 -5.605 3.343 -0.545 -5.464 3.932 0.177 -3.653 0.588 1.090 + -2.423 0.493 1.162 -4.433 -0.480 1.193 -5.424 -0.336 1.104 -3.947 + -1.872 1.219 -2.865 -1.845 1.432 -4.726 -2.662 2.277 -4.731 -2.070 + 3.215 -5.794 -2.672 1.931 -4.213 -4.042 2.550 -4.837 -5.208 2.183 + -5.804 -5.269 1.657 -4.110 -6.266 2.667 -4.416 -7.230 2.606 -2.977 + -5.859 3.349 -1.962 -6.551 4.037 -1.984 -7.609 4.113 -0.919 -5.825 + 4.614 -0.122 -6.401 5.123 -0.935 -4.408 4.562 -0.194 -3.841 5.069 + -1.968 -3.761 3.910 -1.998 -2.663 3.913 -3.013 -4.455 3.289 -4.059 + -2.530 -0.194 -5.067 -2.371 -0.851 -3.029 -3.255 -0.624 -2.286 -3.336 + 0.016 -2.924 -3.782 -1.996 -3.947 -4.039 -2.354 -2.312 -2.679 -2.858 + -3.074 -1.892 -2.927 -1.454 -2.259 -2.402 -1.931 -3.053 -4.282 -1.027 + -3.800 -4.237 -2.766 -3.559 -4.752 -1.534 -1.785 -5.079 -0.522 -1.134 + -4.747 -2.284 -1.378 -5.976 -2.033 -5.042 -2.025 -0.889 -5.021 -1.581 + -2.558 -6.147 -2.548 -3.435 -6.125 -2.949 -1.791 -7.395 -2.756 -2.440 + -8.200 -2.983 -0.926 -7.250 -4.034 -0.224 -6.453 -3.901 -0.446 -8.193 + -4.284 -1.785 -6.866 -5.254 -2.895 -7.331 -5.416 -1.312 -5.998 -6.095 + -1.909 -5.797 -6.883 -0.416 -5.647 -5.991 -1.019 -7.909 -1.526 0.050 + -8.537 -1.674 -1.511 -7.636 -0.323 -2.362 -7.123 -0.273 -0.900 -7.956 + 0.966 -1.730 -8.039 1.687 -0.370 -8.925 0.954 0.159 -6.958 1.500 + 0.953 -7.300 2.353 0.211 -5.735 0.922 -0.436 -5.498 0.226 1.153 + -4.678 1.298 1.705 -4.922 2.186 2.157 -4.400 0.141 1.551 -4.183 + -0.767 2.759 -3.459 0.367 3.212 -5.509 -0.201 3.843 -5.107 -0.992 + 3.801 -5.712 0.638 2.552 -6.790 -0.750 2.222 -7.368 0.064 1.653 + -6.547 -1.321 3.457 -7.677 -1.592 3.667 -7.105 -2.497 4.408 -7.814 + -1.044 2.808 -8.964 -1.830 1.846 -8.859 -2.119 3.262 -9.484 -2.519 + 2.773 -9.536 -0.935 0.388 -3.375 1.531 -0.711 -3.135 0.976 0.992 + -2.437 2.275 1.911 -2.648 2.618 0.590 -1.027 2.199 -0.518 -1.051 + 2.261 1.102 -0.233 3.413 2.187 -0.369 3.577 0.894 0.863 3.294 + 0.523 -0.644 4.727 1.145 -1.285 5.731 2.165 -1.554 5.685 0.248 + -1.530 6.751 0.539 -1.939 7.621 -1.018 -1.062 6.442 -2.237 -1.085 + 7.131 -2.305 -1.533 8.129 -3.348 -0.486 6.543 -4.343 -0.501 7.066 + -3.255 0.129 5.279 -4.116 0.590 4.831 -2.006 0.140 4.611 -1.946 + 0.566 3.672 -0.859 -0.453 5.158 1.053 -0.396 0.873 2.123 -0.715 + 0.371 0.283 0.563 0.358 -0.598 0.730 0.768 0.535 1.224 -0.949 + 1.596 1.212 -1.158 -0.182 0.434 -2.064 0.171 -0.605 -1.941 -1.697 + 0.534 -2.058 -2.035 1.563 -1.915 -2.095 0.128 -2.991 -2.084 -0.131 + -1.266 0.217 0.865 -3.333 0.145 0.109 -3.957 0.054 2.667 -0.928 + -0.738 3.057 -0.076 0.492 3.496 -1.883 1.054 3.078 -2.634 -0.008 + 4.845 -2.132 -0.518 5.191 -1.225 1.149 5.787 -2.398 1.827 5.681 + -1.607 1.733 5.510 -3.344 0.790 7.218 -2.551 0.729 7.924 -3.687 + 0.934 7.509 -4.672 0.432 9.236 -3.443 0.403 9.932 -4.172 0.277 + 9.469 -2.108 -0.010 10.618 -1.340 -0.173 11.588 -1.767 -0.080 10.545 + 0.065 -0.249 11.475 0.671 0.106 9.279 0.693 0.075 9.210 1.792 + 0.384 8.138 -0.089 0.595 7.247 0.462 0.481 8.213 -1.497 -1.030 + 4.826 -3.290 -0.807 4.207 -4.346 -2.150 5.540 -3.076 -2.261 5.961 + -2.146 -3.247 5.662 -4.065 -2.863 5.590 -5.047 -4.277 4.519 -3.839 + -4.639 4.494 -2.842 -5.228 4.695 -4.428 -3.810 3.128 -4.210 -2.931 + 2.864 -3.696 -4.634 2.436 -3.976 -3.515 2.920 -5.700 -4.421 3.132 + -6.273 -2.734 3.653 -6.075 -3.012 1.505 -5.989 -3.607 0.735 -5.411 + -3.128 1.296 -7.083 -1.597 1.278 -5.631 -1.410 1.543 -4.660 -1.386 + 0.320 -5.659 -0.989 1.770 -6.225 -3.937 7.045 -3.961 -3.770 7.780 + -2.974 -4.700 7.446 -4.994 -4.772 6.844 -5.770 -5.143 8.339 -4.903 + -2.762 9.151 -0.794 -3.049 8.524 -1.587 -1.718 9.220 -0.830 -3.119 + 10.116 -0.851 -3.246 8.596 0.455 -2.772 9.212 1.201 -4.768 8.622 + 0.558 -5.163 9.659 0.304 -5.236 7.873 -0.111 -5.096 8.365 1.933 + -6.004 8.140 2.016 -2.767 7.161 0.580 -2.436 6.547 -0.435 -2.730 + 6.579 1.801 -3.116 7.046 2.647 -2.429 5.173 1.978 -1.587 4.927 + 1.312 -1.887 4.940 3.414 -2.681 5.210 4.116 -1.603 3.964 3.580 + -0.717 5.818 3.751 -0.700 6.756 4.737 -1.476 6.973 5.403 0.562 + 7.365 4.734 0.833 8.054 5.452 1.397 6.885 3.735 2.656 7.182 + 3.331 3.257 8.025 3.782 3.248 6.433 2.284 4.288 6.642 2.032 + 2.524 5.422 1.671 2.941 4.884 0.933 1.221 5.092 2.072 0.711 + 4.244 1.664 0.580 5.829 3.123 -3.600 4.258 1.628 -4.759 4.695 + 1.629 -3.326 3.003 1.289 -2.370 2.732 1.152 -4.278 1.955 0.896 + -5.149 1.981 1.562 -4.760 2.207 -0.540 -3.874 2.486 -1.165 -5.555 + 1.085 -1.216 -6.381 0.735 -0.607 -5.978 1.397 -2.157 -4.894 0.251 + -1.441 -5.605 3.343 -0.545 -5.467 3.934 0.178 -3.653 0.588 1.090 + -2.423 0.493 1.161 -4.433 -0.479 1.194 -5.423 -0.335 1.105 -3.947 + -1.872 1.219 -2.864 -1.843 1.429 -4.726 -2.661 2.277 -4.733 -2.069 + 3.215 -5.794 -2.670 1.930 -4.212 -4.042 2.550 -4.836 -5.208 2.183 + -5.804 -5.269 1.657 -4.110 -6.265 2.667 -4.415 -7.230 2.605 -2.977 + -5.859 3.348 -1.961 -6.550 4.037 -1.984 -7.608 4.114 -0.919 -5.825 + 4.614 -0.123 -6.403 5.122 -0.935 -4.408 4.562 -0.196 -3.840 5.070 + -1.968 -3.761 3.911 -1.999 -2.664 3.915 -3.013 -4.455 3.289 -4.059 + -2.529 -0.194 -5.066 -2.371 -0.851 -3.029 -3.255 -0.625 -2.287 -3.337 + 0.018 -2.925 -3.782 -1.996 -3.948 -4.038 -2.353 -2.312 -2.679 -2.857 + -3.075 -1.893 -2.927 -1.455 -2.258 -2.402 -1.930 -3.053 -4.281 -1.026 + -3.800 -4.236 -2.765 -3.559 -4.751 -1.534 -1.784 -5.079 -0.522 -1.134 + -4.747 -2.284 -1.379 -5.976 -2.033 -5.042 -2.025 -0.889 -5.021 -1.580 + -2.558 -6.147 -2.548 -3.435 -6.125 -2.950 -1.791 -7.395 -2.756 -2.437 + -8.202 -2.983 -0.926 -7.251 -4.034 -0.225 -6.453 -3.902 -0.447 -8.194 + -4.285 -1.784 -6.866 -5.254 -2.894 -7.331 -5.416 -1.312 -5.998 -6.094 + -1.908 -5.798 -6.883 -0.414 -5.650 -5.991 -1.020 -7.908 -1.526 0.050 + -8.537 -1.674 -1.511 -7.636 -0.323 -2.362 -7.124 -0.272 -0.901 -7.956 + 0.966 -1.732 -8.039 1.686 -0.369 -8.924 0.956 0.159 -6.958 1.501 + 0.952 -7.299 2.353 0.211 -5.735 0.922 -0.436 -5.497 0.226 1.153 + -4.679 1.298 1.706 -4.923 2.186 2.157 -4.400 0.141 1.549 -4.185 + -0.766 2.758 -3.457 0.366 3.213 -5.509 -0.201 3.843 -5.107 -0.992 + 3.802 -5.711 0.638 2.552 -6.790 -0.750 2.221 -7.368 0.063 1.652 + -6.547 -1.320 3.457 -7.677 -1.592 3.667 -7.103 -2.496 4.407 -7.814 + -1.044 2.808 -8.964 -1.829 1.846 -8.860 -2.120 3.262 -9.484 -2.519 + 2.773 -9.535 -0.935 0.388 -3.375 1.531 -0.712 -3.134 0.976 0.993 + -2.437 2.275 1.912 -2.649 2.616 0.590 -1.028 2.199 -0.518 -1.055 + 2.262 1.102 -0.233 3.413 2.187 -0.370 3.580 0.894 0.863 3.295 + 0.524 -0.644 4.727 1.145 -1.285 5.731 2.166 -1.554 5.683 0.248 + -1.530 6.751 0.541 -1.937 7.622 -1.018 -1.062 6.442 -2.237 -1.086 + 7.130 -2.305 -1.533 8.130 -3.348 -0.487 6.543 -4.343 -0.502 7.066 + -3.255 0.128 5.279 -4.116 0.590 4.831 -2.005 0.139 4.611 -1.946 + 0.565 3.672 -0.858 -0.452 5.158 1.053 -0.396 0.872 2.124 -0.714 + 0.372 0.283 0.563 0.359 -0.599 0.728 0.767 0.536 1.224 -0.949 + 1.596 1.212 -1.159 -0.182 0.434 -2.064 0.172 -0.604 -1.939 -1.697 + 0.535 -2.058 -2.035 1.563 -1.915 -2.094 0.127 -2.991 -2.084 -0.131 + -1.266 0.217 0.864 -3.333 0.145 0.109 -3.959 0.054 2.666 -0.928 + -0.738 3.057 -0.076 0.491 3.497 -1.882 1.053 3.079 -2.634 -0.008 + 4.846 -2.132 -0.518 5.191 -1.224 1.148 5.787 -2.398 1.826 5.681 + -1.607 1.735 5.512 -3.344 0.790 7.218 -2.552 0.729 7.925 -3.687 + 0.933 7.509 -4.672 0.433 9.235 -3.443 0.403 9.931 -4.172 0.278 + 9.469 -2.108 -0.009 10.618 -1.340 -0.174 11.589 -1.765 -0.079 10.545 + 0.066 -0.249 11.476 0.671 0.106 9.278 0.694 0.074 9.210 1.792 + 0.384 8.138 -0.089 0.595 7.248 0.463 0.481 8.214 -1.498 -1.030 + 4.825 -3.290 -0.808 4.206 -4.346 -2.150 5.540 -3.075 -2.260 5.961 + -2.145 -3.246 5.661 -4.065 -2.863 5.590 -5.048 -4.277 4.518 -3.838 + -4.640 4.492 -2.842 -5.228 4.693 -4.426 -3.810 3.128 -4.211 -2.930 + 2.864 -3.699 -4.634 2.438 -3.978 -3.515 2.920 -5.700 -4.420 3.133 + -6.274 -2.734 3.653 -6.076 -3.012 1.505 -5.989 -3.606 0.733 -5.411 + -3.127 1.296 -7.083 -1.597 1.277 -5.631 -1.411 1.543 -4.660 -1.386 + 0.320 -5.657 -0.989 1.769 -6.226 -3.937 7.045 -3.961 -3.770 7.780 + -2.974 -4.700 7.447 -4.994 -4.770 6.845 -5.771 -5.143 8.340 -4.902 + -2.762 9.150 -0.794 -3.047 8.522 -1.586 -1.718 9.222 -0.830 -3.120 + 10.115 -0.849 -3.246 8.596 0.454 -2.770 9.214 1.198 -4.768 8.621 + 0.557 -5.164 9.658 0.303 -5.236 7.872 -0.112 -5.097 8.365 1.933 + -6.005 8.140 2.017 -2.767 7.161 0.580 -2.436 6.547 -0.435 -2.730 + 6.579 1.802 -3.116 7.044 2.648 -2.430 5.174 1.978 -1.586 4.928 + 1.312 -1.887 4.940 3.414 -2.680 5.213 4.117 -1.603 3.965 3.582 + -0.717 5.818 3.750 -0.700 6.757 4.737 -1.476 6.973 5.404 0.563 + 7.365 4.734 0.833 8.052 5.453 1.398 6.886 3.735 2.655 7.183 + 3.331 3.257 8.026 3.781 3.248 6.432 2.285 4.289 6.641 2.035 + 2.524 5.422 1.672 2.941 4.885 0.933 1.221 5.091 2.071 0.713 + 4.242 1.666 0.580 5.829 3.123 -3.600 4.258 1.627 -4.759 4.695 + 1.629 -3.326 3.003 1.289 -2.369 2.733 1.149 -4.277 1.955 0.896 + -5.148 1.980 1.562 -4.760 2.206 -0.540 -3.874 2.487 -1.166 -5.554 + 1.085 -1.216 -6.381 0.734 -0.607 -5.978 1.395 -2.157 -4.894 0.251 + -1.441 -5.605 3.343 -0.544 -5.470 3.935 0.179 -3.652 0.588 1.090 + -2.423 0.493 1.161 -4.433 -0.479 1.194 -5.423 -0.333 1.106 -3.947 + -1.871 1.219 -2.862 -1.842 1.427 -4.727 -2.661 2.277 -4.735 -2.068 + 3.215 -5.794 -2.668 1.929 -4.212 -4.041 2.550 -4.836 -5.208 2.182 + -5.804 -5.270 1.656 -4.110 -6.265 2.666 -4.414 -7.229 2.604 -2.977 + -5.859 3.348 -1.961 -6.550 4.038 -1.984 -7.608 4.115 -0.919 -5.825 + 4.614 -0.123 -6.404 5.121 -0.936 -4.407 4.562 -0.198 -3.839 5.072 + -1.968 -3.762 3.911 -2.000 -2.664 3.916 -3.013 -4.455 3.290 -4.059 + -2.529 -0.195 -5.066 -2.371 -0.851 -3.029 -3.254 -0.625 -2.288 -3.337 + 0.020 -2.925 -3.782 -1.997 -3.949 -4.038 -2.352 -2.312 -2.679 -2.857 + -3.075 -1.893 -2.928 -1.455 -2.256 -2.403 -1.930 -3.053 -4.281 -1.025 + -3.800 -4.234 -2.765 -3.560 -4.750 -1.534 -1.784 -5.079 -0.522 -1.133 + -4.747 -2.284 -1.379 -5.977 -2.033 -5.041 -2.025 -0.889 -5.022 -1.580 + -2.558 -6.147 -2.548 -3.435 -6.125 -2.951 -1.791 -7.395 -2.755 -2.435 + -8.203 -2.983 -0.925 -7.251 -4.033 -0.226 -6.452 -3.902 -0.447 -8.195 + -4.285 -1.784 -6.866 -5.254 -2.894 -7.331 -5.416 -1.312 -5.997 -6.093 + -1.907 -5.799 -6.883 -0.412 -5.653 -5.991 -1.020 -7.908 -1.526 0.050 + -8.536 -1.674 -1.511 -7.637 -0.323 -2.363 -7.126 -0.271 -0.901 -7.956 + 0.966 -1.733 -8.039 1.684 -0.368 -8.924 0.958 0.159 -6.958 1.501 + 0.952 -7.298 2.354 0.211 -5.735 0.921 -0.436 -5.496 0.225 1.153 + -4.680 1.299 1.707 -4.923 2.186 2.156 -4.400 0.141 1.546 -4.186 + -0.766 2.758 -3.456 0.365 3.214 -5.509 -0.200 3.843 -5.107 -0.993 + 3.803 -5.711 0.638 2.553 -6.790 -0.751 2.221 -7.368 0.062 1.651 + -6.548 -1.320 3.456 -7.677 -1.592 3.666 -7.101 -2.495 4.407 -7.814 + -1.044 2.808 -8.963 -1.829 1.846 -8.861 -2.121 3.262 -9.485 -2.518 + 2.772 -9.534 -0.934 0.389 -3.376 1.531 -0.712 -3.134 0.975 0.993 + -2.438 2.275 1.913 -2.649 2.613 0.590 -1.029 2.199 -0.518 -1.058 + 2.263 1.101 -0.233 3.413 2.186 -0.371 3.584 0.894 0.864 3.295 + 0.524 -0.644 4.728 1.145 -1.285 5.731 2.166 -1.554 5.682 0.248 + -1.530 6.751 0.542 -1.935 7.622 -1.018 -1.062 6.441 -2.237 -1.087 + 7.130 -2.305 -1.533 8.130 -3.348 -0.487 6.542 -4.342 -0.503 7.065 + -3.255 0.128 5.279 -4.116 0.590 4.830 -2.005 0.139 4.612 -1.946 + 0.564 3.672 -0.858 -0.452 5.157 1.053 -0.397 0.872 2.124 -0.714 + 0.372 0.283 0.563 0.359 -0.599 0.727 0.766 0.536 1.224 -0.950 + 1.597 1.212 -1.159 -0.183 0.434 -2.064 0.174 -0.603 -1.937 -1.697 + 0.535 -2.059 -2.035 1.564 -1.916 -2.094 0.126 -2.991 -2.084 -0.131 + -1.267 0.217 0.863 -3.333 0.146 0.109 -3.961 0.055 2.666 -0.929 + -0.737 3.057 -0.076 0.490 3.497 -1.882 1.052 3.080 -2.634 -0.008 + 4.847 -2.132 -0.519 5.191 -1.224 1.148 5.787 -2.398 1.825 5.680 + -1.607 1.736 5.513 -3.344 0.790 7.217 -2.552 0.729 7.925 -3.686 + 0.932 7.509 -4.672 0.433 9.235 -3.443 0.403 9.930 -4.173 0.278 + 9.469 -2.109 -0.009 10.618 -1.340 -0.176 11.589 -1.763 -0.079 10.545 + 0.066 -0.249 11.477 0.671 0.106 9.278 0.694 0.073 9.209 1.793 + 0.384 8.138 -0.090 0.596 7.249 0.465 0.482 8.214 -1.498 -1.030 + 4.825 -3.290 -0.808 4.205 -4.347 -2.149 5.541 -3.075 -2.259 5.962 + -2.144 -3.245 5.661 -4.065 -2.863 5.590 -5.048 -4.276 4.517 -3.838 + -4.641 4.490 -2.843 -5.228 4.691 -4.424 -3.810 3.129 -4.211 -2.929 + 2.863 -3.702 -4.635 2.439 -3.980 -3.515 2.920 -5.700 -4.420 3.135 + -6.275 -2.734 3.653 -6.077 -3.012 1.504 -5.989 -3.604 0.732 -5.411 + -3.127 1.297 -7.083 -1.598 1.277 -5.631 -1.411 1.543 -4.661 -1.385 + 0.319 -5.655 -0.989 1.768 -6.227 -3.938 7.045 -3.961 -3.770 7.780 + -2.973 -4.700 7.448 -4.995 -4.769 6.846 -5.772 -5.143 8.341 -4.901 + -2.762 9.149 -0.794 -3.046 8.520 -1.586 -1.718 9.224 -0.831 -3.121 + 10.114 -0.847 -3.246 8.596 0.453 -2.769 9.216 1.195 -4.769 8.620 + 0.556 -5.164 9.657 0.302 -5.236 7.871 -0.113 -5.097 8.365 1.933 + -6.006 8.139 2.017 -2.767 7.162 0.581 -2.436 6.546 -0.434 -2.730 + 6.579 1.803 -3.116 7.042 2.650 -2.430 5.174 1.978 -1.586 4.930 + 1.312 -1.886 4.940 3.414 -2.679 5.216 4.117 -1.603 3.965 3.584 + -0.716 5.818 3.750 -0.700 6.757 4.737 -1.476 6.973 5.405 0.563 + 7.365 4.735 0.833 8.050 5.455 1.399 6.886 3.735 2.655 7.183 + 3.330 3.257 8.028 3.779 3.248 6.432 2.285 4.290 6.641 2.038 + 2.524 5.423 1.672 2.941 4.885 0.934 1.222 5.091 2.071 0.715 + 4.239 1.667 0.580 5.829 3.122 -3.600 4.258 1.627 -4.759 4.695 + 1.629 -3.326 3.004 1.288 -2.369 2.733 1.146 -4.276 1.955 0.895 + -5.147 1.980 1.562 -4.760 2.206 -0.540 -3.874 2.489 -1.166 -5.554 + 1.084 -1.216 -6.382 0.732 -0.608 -5.978 1.393 -2.157 -4.894 0.251 + -1.441 -5.605 3.343 -0.543 -5.473 3.937 0.180 -3.652 0.589 1.090 + -2.423 0.494 1.161 -4.433 -0.478 1.195 -5.422 -0.331 1.107 -3.947 + -1.871 1.220 -2.861 -1.840 1.425 -4.727 -2.660 2.277 -4.737 -2.067 + 3.215 -5.794 -2.667 1.927 -4.212 -4.041 2.550 -4.836 -5.208 2.181 + -5.804 -5.270 1.656 -4.110 -6.264 2.666 -4.413 -7.228 2.603 -2.976 + -5.858 3.348 -1.961 -6.550 4.038 -1.984 -7.607 4.116 -0.919 -5.824 + 4.614 -0.124 -6.405 5.121 -0.936 -4.406 4.562 -0.200 -3.838 5.074 + -1.968 -3.763 3.912 -2.001 -2.665 3.918 -3.013 -4.455 3.290 -4.059 + -2.529 -0.195 -5.066 -2.370 -0.851 -3.029 -3.254 -0.625 -2.290 -3.338 + 0.023 -2.926 -3.782 -1.997 -3.950 -4.038 -2.351 -2.312 -2.680 -2.857 + -3.076 -1.894 -2.928 -1.455 -2.254 -2.403 -1.930 -3.053 -4.280 -1.025 + -3.800 -4.233 -2.765 -3.560 -4.749 -1.534 -1.783 -5.079 -0.522 -1.133 + -4.748 -2.284 -1.380 -5.977 -2.034 -5.041 -2.025 -0.889 -5.022 -1.580 + -2.558 -6.146 -2.548 -3.435 -6.125 -2.952 -1.791 -7.394 -2.755 -2.433 + -8.205 -2.984 -0.925 -7.251 -4.033 -0.227 -6.451 -3.903 -0.447 -8.196 + -4.285 -1.784 -6.866 -5.254 -2.894 -7.331 -5.417 -1.312 -5.997 -6.092 + -1.907 -5.800 -6.883 -0.411 -5.655 -5.990 -1.021 -7.908 -1.526 0.049 + -8.536 -1.674 -1.511 -7.637 -0.323 -2.363 -7.127 -0.270 -0.901 -7.956 + 0.966 -1.735 -8.039 1.683 -0.367 -8.923 0.960 0.160 -6.958 1.501 + 0.952 -7.298 2.354 0.212 -5.735 0.921 -0.436 -5.495 0.225 1.153 + -4.681 1.299 1.708 -4.923 2.186 2.156 -4.400 0.142 1.544 -4.188 + -0.765 2.757 -3.455 0.364 3.214 -5.509 -0.200 3.843 -5.106 -0.994 + 3.804 -5.710 0.638 2.553 -6.790 -0.751 2.221 -7.368 0.061 1.650 + -6.548 -1.319 3.456 -7.677 -1.592 3.666 -7.100 -2.494 4.407 -7.814 + -1.044 2.808 -8.963 -1.828 1.846 -8.862 -2.122 3.262 -9.485 -2.517 + 2.772 -9.533 -0.934 0.389 -3.377 1.531 -0.713 -3.133 0.975 0.993 + -2.439 2.275 1.915 -2.650 2.611 0.590 -1.029 2.199 -0.518 -1.062 + 2.264 1.100 -0.232 3.413 2.185 -0.371 3.588 0.893 0.864 3.296 + 0.525 -0.644 4.728 1.145 -1.285 5.731 2.167 -1.553 5.681 0.248 + -1.530 6.751 0.543 -1.933 7.623 -1.018 -1.063 6.441 -2.237 -1.087 + 7.129 -2.305 -1.533 8.129 -3.348 -0.487 6.542 -4.342 -0.503 7.065 + -3.255 0.128 5.279 -4.116 0.590 4.830 -2.005 0.139 4.612 -1.946 + 0.563 3.672 -0.858 -0.452 5.157 1.053 -0.397 0.872 2.124 -0.713 + 0.372 0.284 0.564 0.359 -0.600 0.726 0.765 0.537 1.225 -0.950 + 1.598 1.212 -1.159 -0.183 0.434 -2.063 0.176 -0.603 -1.935 -1.697 + 0.536 -2.059 -2.034 1.565 -1.916 -2.093 0.126 -2.990 -2.083 -0.132 + -1.267 0.217 0.862 -3.333 0.147 0.109 -3.962 0.055 2.666 -0.929 + -0.737 3.057 -0.076 0.490 3.498 -1.882 1.051 3.081 -2.634 -0.009 + 4.847 -2.132 -0.519 5.191 -1.224 1.147 5.787 -2.399 1.825 5.680 + -1.608 1.737 5.515 -3.343 0.789 7.217 -2.553 0.729 7.925 -3.686 + 0.932 7.509 -4.671 0.434 9.235 -3.443 0.403 9.929 -4.173 0.279 + 9.469 -2.109 -0.008 10.617 -1.340 -0.177 11.590 -1.760 -0.079 10.545 + 0.066 -0.250 11.477 0.671 0.107 9.277 0.694 0.072 9.209 1.793 + 0.385 8.138 -0.090 0.597 7.249 0.466 0.482 8.215 -1.499 -1.030 + 4.825 -3.290 -0.808 4.205 -4.347 -2.149 5.542 -3.074 -2.259 5.962 + -2.144 -3.245 5.661 -4.065 -2.863 5.590 -5.049 -4.275 4.517 -3.838 + -4.641 4.488 -2.843 -5.228 4.690 -4.423 -3.810 3.129 -4.212 -2.928 + 2.862 -3.705 -4.636 2.440 -3.982 -3.515 2.920 -5.700 -4.420 3.137 + -6.275 -2.733 3.652 -6.078 -3.012 1.504 -5.989 -3.602 0.731 -5.410 + -3.126 1.297 -7.083 -1.598 1.276 -5.631 -1.412 1.543 -4.662 -1.385 + 0.318 -5.654 -0.989 1.767 -6.227 -3.938 7.045 -3.961 -3.770 7.780 + -2.973 -4.701 7.449 -4.995 -4.768 6.846 -5.773 -5.143 8.342 -4.900 + -2.762 9.149 -0.795 -3.044 8.519 -1.585 -1.719 9.225 -0.832 -3.122 + 10.113 -0.846 -3.246 8.597 0.453 -2.768 9.218 1.192 -4.769 8.619 + 0.554 -5.165 9.656 0.302 -5.237 7.869 -0.114 -5.097 8.365 1.934 + -6.007 8.138 2.018 -2.767 7.162 0.581 -2.437 6.545 -0.434 -2.731 + 6.579 1.803 -3.117 7.040 2.651 -2.431 5.174 1.978 -1.586 4.931 + 1.312 -1.886 4.940 3.414 -2.678 5.218 4.117 -1.603 3.965 3.586 + -0.716 5.819 3.750 -0.700 6.757 4.738 -1.476 6.973 5.406 0.564 + 7.365 4.735 0.834 8.049 5.456 1.400 6.887 3.734 2.655 7.184 + 3.330 3.256 8.029 3.777 3.248 6.432 2.285 4.291 6.640 2.041 + 2.524 5.424 1.672 2.942 4.886 0.934 1.222 5.090 2.070 0.716 + 4.237 1.669 0.580 5.829 3.122 -3.599 4.258 1.626 -4.759 4.695 + 1.629 -3.326 3.004 1.288 -2.369 2.733 1.143 -4.275 1.955 0.895 + -5.146 1.979 1.562 -4.760 2.206 -0.540 -3.875 2.491 -1.166 -5.554 + 1.084 -1.216 -6.382 0.731 -0.609 -5.978 1.391 -2.158 -4.893 0.251 + -1.441 -5.605 3.343 -0.543 -5.475 3.939 0.181 -3.652 0.589 1.090 + -2.423 0.494 1.160 -4.432 -0.477 1.195 -5.422 -0.330 1.108 -3.947 + -1.870 1.220 -2.861 -1.839 1.423 -4.727 -2.660 2.278 -4.739 -2.065 + 3.215 -5.794 -2.665 1.926 -4.211 -4.041 2.550 -4.836 -5.209 2.180 + -5.804 -5.271 1.655 -4.109 -6.264 2.665 -4.411 -7.228 2.602 -2.976 + -5.858 3.348 -1.961 -6.549 4.038 -1.984 -7.607 4.117 -0.919 -5.824 + 4.614 -0.124 -6.407 5.120 -0.936 -4.406 4.563 -0.202 -3.837 5.075 + -1.968 -3.763 3.912 -2.003 -2.666 3.919 -3.013 -4.456 3.291 -4.059 + -2.528 -0.196 -5.065 -2.370 -0.851 -3.029 -3.254 -0.626 -2.290 -3.338 + 0.025 -2.926 -3.782 -1.997 -3.951 -4.037 -2.350 -2.312 -2.680 -2.857 + -3.077 -1.894 -2.928 -1.456 -2.253 -2.404 -1.930 -3.052 -4.279 -1.024 + -3.800 -4.231 -2.764 -3.560 -4.748 -1.534 -1.783 -5.079 -0.521 -1.133 + -4.748 -2.283 -1.381 -5.977 -2.034 -5.041 -2.025 -0.890 -5.022 -1.580 + -2.558 -6.146 -2.548 -3.435 -6.126 -2.953 -1.791 -7.394 -2.754 -2.431 + -8.206 -2.984 -0.925 -7.252 -4.033 -0.228 -6.450 -3.904 -0.448 -8.197 + -4.286 -1.784 -6.865 -5.254 -2.893 -7.331 -5.417 -1.312 -5.996 -6.091 + -1.906 -5.801 -6.882 -0.409 -5.657 -5.990 -1.021 -7.908 -1.526 0.049 + -8.536 -1.675 -1.511 -7.638 -0.323 -2.364 -7.128 -0.269 -0.902 -7.955 + 0.967 -1.736 -8.039 1.682 -0.366 -8.922 0.962 0.160 -6.959 1.502 + 0.953 -7.297 2.355 0.212 -5.735 0.920 -0.436 -5.494 0.224 1.153 + -4.682 1.300 1.709 -4.924 2.186 2.155 -4.399 0.142 1.542 -4.189 + -0.765 2.756 -3.454 0.363 3.215 -5.509 -0.200 3.843 -5.106 -0.995 + 3.806 -5.709 0.639 2.553 -6.789 -0.751 2.220 -7.368 0.060 1.649 + -6.548 -1.318 3.456 -7.677 -1.593 3.665 -7.098 -2.493 4.406 -7.814 + -1.044 2.808 -8.962 -1.828 1.846 -8.862 -2.122 3.262 -9.485 -2.517 + 2.772 -9.532 -0.934 0.389 -3.378 1.531 -0.713 -3.133 0.975 0.994 + -2.439 2.275 1.916 -2.651 2.609 0.590 -1.030 2.199 -0.518 -1.065 + 2.265 1.100 -0.232 3.413 2.184 -0.372 3.592 0.893 0.864 3.297 + 0.525 -0.644 4.728 1.146 -1.285 5.731 2.167 -1.553 5.679 0.248 + -1.530 6.750 0.545 -1.932 7.624 -1.019 -1.063 6.440 -2.237 -1.088 + 7.129 -2.305 -1.533 8.129 -3.347 -0.488 6.541 -4.342 -0.504 7.064 + -3.255 0.128 5.278 -4.115 0.590 4.829 -2.004 0.139 4.612 -1.946 + 0.562 3.672 -0.857 -0.452 5.157 1.052 -0.398 0.871 2.124 -0.712 + 0.373 0.284 0.564 0.359 -0.601 0.725 0.764 0.538 1.225 -0.950 + 1.598 1.212 -1.159 -0.183 0.435 -2.063 0.177 -0.602 -1.933 -1.697 + 0.537 -2.059 -2.034 1.566 -1.917 -2.092 0.125 -2.990 -2.083 -0.132 + -1.268 0.217 0.861 -3.333 0.147 0.108 -3.964 0.055 2.666 -0.929 + -0.736 3.056 -0.076 0.490 3.499 -1.882 1.050 3.082 -2.634 -0.009 + 4.848 -2.131 -0.520 5.191 -1.224 1.147 5.787 -2.399 1.824 5.679 + -1.608 1.738 5.516 -3.343 0.789 7.216 -2.553 0.729 7.925 -3.686 + 0.931 7.510 -4.671 0.435 9.235 -3.443 0.403 9.928 -4.174 0.280 + 9.469 -2.110 -0.007 10.617 -1.339 -0.179 11.590 -1.758 -0.079 10.546 + 0.067 -0.250 11.478 0.671 0.107 9.277 0.695 0.071 9.209 1.793 + 0.385 8.138 -0.091 0.598 7.250 0.468 0.482 8.215 -1.499 -1.031 + 4.825 -3.290 -0.809 4.204 -4.348 -2.149 5.542 -3.073 -2.258 5.962 + -2.143 -3.244 5.661 -4.065 -2.862 5.590 -5.050 -4.274 4.516 -3.837 + -4.642 4.486 -2.843 -5.228 4.688 -4.421 -3.810 3.130 -4.212 -2.927 + 2.862 -3.708 -4.637 2.442 -3.983 -3.515 2.920 -5.701 -4.419 3.139 + -6.276 -2.733 3.652 -6.079 -3.012 1.504 -5.989 -3.600 0.729 -5.410 + -3.125 1.297 -7.083 -1.598 1.276 -5.631 -1.413 1.543 -4.662 -1.384 + 0.317 -5.652 -0.989 1.766 -6.228 -3.938 7.045 -3.961 -3.771 7.780 + -2.972 -4.701 7.449 -4.996 -4.767 6.847 -5.774 -5.143 8.343 -4.899 + -2.762 9.148 -0.795 -3.042 8.518 -1.585 -1.719 9.227 -0.832 -3.123 + 10.112 -0.844 -3.246 8.597 0.452 -2.767 9.220 1.189 -4.769 8.618 + 0.553 -5.166 9.654 0.301 -5.237 7.868 -0.115 -5.097 8.364 1.934 + -6.007 8.137 2.019 -2.767 7.162 0.581 -2.437 6.545 -0.433 -2.731 + 6.579 1.804 -3.117 7.039 2.652 -2.431 5.175 1.978 -1.586 4.932 + 1.313 -1.885 4.941 3.414 -2.677 5.221 4.117 -1.603 3.966 3.589 + -0.716 5.819 3.750 -0.701 6.758 4.738 -1.476 6.973 5.408 0.565 + 7.365 4.735 0.834 8.047 5.457 1.401 6.887 3.734 2.655 7.184 + 3.330 3.256 8.030 3.774 3.248 6.432 2.285 4.292 6.639 2.044 + 2.524 5.424 1.672 2.942 4.887 0.934 1.222 5.090 2.070 0.718 + 4.234 1.670 0.580 5.829 3.122 -3.599 4.258 1.626 -4.759 4.695 + 1.628 -3.326 3.004 1.287 -2.369 2.733 1.140 -4.275 1.955 0.895 + -5.144 1.978 1.562 -4.759 2.206 -0.540 -3.875 2.492 -1.166 -5.554 + 1.083 -1.216 -6.382 0.730 -0.610 -5.978 1.389 -2.158 -4.893 0.251 + -1.442 -5.605 3.343 -0.542 -5.477 3.941 0.182 -3.652 0.590 1.090 + -2.423 0.494 1.160 -4.432 -0.476 1.195 -5.421 -0.328 1.109 -3.947 + -1.870 1.220 -2.860 -1.838 1.420 -4.727 -2.659 2.278 -4.741 -2.064 + 3.215 -5.793 -2.663 1.925 -4.211 -4.041 2.550 -4.836 -5.209 2.179 + -5.804 -5.271 1.654 -4.109 -6.263 2.665 -4.410 -7.227 2.601 -2.976 + -5.857 3.348 -1.961 -6.549 4.039 -1.983 -7.607 4.118 -0.918 -5.824 + 4.613 -0.125 -6.408 5.120 -0.937 -4.405 4.563 -0.204 -3.835 5.077 + -1.968 -3.763 3.913 -2.004 -2.666 3.920 -3.012 -4.456 3.291 -4.059 + -2.528 -0.196 -5.065 -2.370 -0.851 -3.029 -3.254 -0.626 -2.291 -3.339 + 0.027 -2.927 -3.782 -1.997 -3.951 -4.037 -2.349 -2.312 -2.680 -2.857 + -3.077 -1.895 -2.929 -1.456 -2.251 -2.404 -1.930 -3.052 -4.279 -1.024 + -3.800 -4.230 -2.764 -3.561 -4.747 -1.534 -1.782 -5.079 -0.521 -1.133 + -4.748 -2.283 -1.381 -5.977 -2.034 -5.041 -2.025 -0.890 -5.023 -1.579 + -2.558 -6.146 -2.548 -3.435 -6.126 -2.955 -1.791 -7.394 -2.754 -2.429 + -8.208 -2.985 -0.925 -7.252 -4.032 -0.229 -6.449 -3.904 -0.448 -8.198 + -4.286 -1.784 -6.865 -5.254 -2.893 -7.331 -5.418 -1.313 -5.996 -6.090 + -1.905 -5.802 -6.882 -0.407 -5.660 -5.990 -1.021 -7.908 -1.526 0.049 + -8.536 -1.675 -1.511 -7.638 -0.323 -2.365 -7.130 -0.269 -0.902 -7.955 + 0.967 -1.738 -8.039 1.681 -0.365 -8.922 0.964 0.160 -6.959 1.502 + 0.953 -7.296 2.355 0.212 -5.735 0.920 -0.437 -5.493 0.224 1.153 + -4.683 1.301 1.710 -4.924 2.187 2.155 -4.399 0.142 1.540 -4.191 + -0.764 2.755 -3.452 0.361 3.216 -5.509 -0.200 3.843 -5.106 -0.996 + 3.807 -5.709 0.639 2.553 -6.789 -0.752 2.220 -7.368 0.060 1.648 + -6.548 -1.317 3.455 -7.677 -1.593 3.665 -7.096 -2.493 4.406 -7.814 + -1.044 2.808 -8.962 -1.827 1.846 -8.863 -2.123 3.263 -9.485 -2.516 + 2.771 -9.531 -0.935 0.389 -3.379 1.531 -0.713 -3.132 0.974 0.994 + -2.440 2.275 1.917 -2.651 2.607 0.590 -1.031 2.199 -0.518 -1.068 + 2.266 1.099 -0.232 3.413 2.183 -0.373 3.596 0.893 0.865 3.298 + 0.525 -0.644 4.728 1.146 -1.285 5.732 2.168 -1.553 5.678 0.248 + -1.530 6.750 0.546 -1.930 7.625 -1.019 -1.063 6.440 -2.238 -1.089 + 7.128 -2.305 -1.533 8.129 -3.347 -0.488 6.541 -4.341 -0.504 7.064 + -3.255 0.128 5.278 -4.115 0.590 4.829 -2.004 0.139 4.613 -1.946 + 0.561 3.671 -0.857 -0.452 5.156 1.052 -0.398 0.871 2.125 -0.712 + 0.373 0.284 0.564 0.360 -0.603 0.724 0.763 0.538 1.225 -0.950 + 1.599 1.212 -1.159 -0.183 0.435 -2.063 0.178 -0.601 -1.931 -1.697 + 0.537 -2.059 -2.034 1.567 -1.917 -2.091 0.124 -2.990 -2.082 -0.132 + -1.269 0.217 0.860 -3.332 0.148 0.108 -3.965 0.055 2.666 -0.929 + -0.736 3.056 -0.076 0.489 3.499 -1.881 1.048 3.083 -2.634 -0.009 + 4.849 -2.131 -0.520 5.191 -1.224 1.147 5.788 -2.399 1.824 5.679 + -1.608 1.739 5.518 -3.342 0.789 7.216 -2.553 0.729 7.925 -3.685 + 0.930 7.510 -4.671 0.436 9.235 -3.443 0.403 9.928 -4.175 0.280 + 9.469 -2.110 -0.007 10.617 -1.339 -0.180 11.590 -1.756 -0.078 10.546 + 0.067 -0.249 11.478 0.671 0.107 9.276 0.695 0.070 9.209 1.793 + 0.386 8.138 -0.091 0.600 7.251 0.469 0.483 8.216 -1.500 -1.031 + 4.825 -3.290 -0.809 4.203 -4.348 -2.149 5.543 -3.073 -2.257 5.962 + -2.142 -3.244 5.661 -4.065 -2.862 5.589 -5.051 -4.274 4.515 -3.837 + -4.643 4.484 -2.843 -5.228 4.686 -4.419 -3.810 3.130 -4.213 -2.926 + 2.861 -3.710 -4.638 2.443 -3.985 -3.515 2.920 -5.701 -4.419 3.140 + -6.277 -2.734 3.652 -6.080 -3.012 1.504 -5.988 -3.598 0.728 -5.410 + -3.124 1.297 -7.083 -1.598 1.275 -5.631 -1.413 1.543 -4.663 -1.384 + 0.315 -5.651 -0.989 1.766 -6.229 -3.938 7.045 -3.961 -3.771 7.780 + -2.972 -4.701 7.450 -4.996 -4.765 6.848 -5.775 -5.143 8.344 -4.898 + -2.762 9.147 -0.795 -3.040 8.517 -1.584 -1.719 9.229 -0.833 -3.124 + 10.111 -0.842 -3.246 8.597 0.452 -2.766 9.221 1.186 -4.770 8.617 + 0.552 -5.167 9.653 0.300 -5.237 7.867 -0.116 -5.097 8.364 1.934 + -6.008 8.136 2.020 -2.767 7.163 0.581 -2.437 6.544 -0.433 -2.731 + 6.579 1.805 -3.117 7.037 2.653 -2.432 5.175 1.977 -1.586 4.933 + 1.313 -1.885 4.941 3.414 -2.676 5.224 4.117 -1.603 3.966 3.591 + -0.716 5.819 3.749 -0.701 6.758 4.738 -1.476 6.973 5.409 0.565 + 7.365 4.735 0.834 8.045 5.458 1.402 6.888 3.734 2.655 7.185 + 3.330 3.256 8.031 3.773 3.248 6.432 2.285 4.293 6.639 2.046 + 2.524 5.425 1.673 2.943 4.887 0.934 1.223 5.089 2.070 0.719 + 4.232 1.671 0.579 5.829 3.122 -3.599 4.258 1.625 -4.759 4.695 + 1.628 -3.326 3.004 1.287 -2.368 2.734 1.136 -4.274 1.955 0.894 + -5.143 1.978 1.562 -4.759 2.205 -0.540 -3.876 2.494 -1.166 -5.554 + 1.083 -1.216 -6.382 0.729 -0.611 -5.978 1.387 -2.158 -4.893 0.251 + -1.442 -5.605 3.343 -0.542 -5.480 3.943 0.184 -3.652 0.590 1.090 + -2.422 0.494 1.159 -4.432 -0.476 1.196 -5.421 -0.327 1.110 -3.947 + -1.870 1.221 -2.859 -1.837 1.418 -4.727 -2.659 2.278 -4.743 -2.063 + 3.215 -5.793 -2.662 1.924 -4.211 -4.041 2.550 -4.836 -5.209 2.178 + -5.803 -5.271 1.654 -4.109 -6.263 2.664 -4.409 -7.226 2.600 -2.976 + -5.857 3.347 -1.961 -6.548 4.039 -1.983 -7.606 4.119 -0.918 -5.823 + 4.613 -0.125 -6.409 5.119 -0.937 -4.405 4.563 -0.205 -3.834 5.079 + -1.968 -3.764 3.913 -2.005 -2.667 3.922 -3.012 -4.456 3.292 -4.059 + -2.528 -0.197 -5.065 -2.370 -0.850 -3.029 -3.253 -0.626 -2.292 -3.339 + 0.029 -2.927 -3.782 -1.998 -3.952 -4.037 -2.348 -2.312 -2.680 -2.856 + -3.078 -1.896 -2.929 -1.456 -2.250 -2.404 -1.929 -3.052 -4.278 -1.024 + -3.799 -4.229 -2.764 -3.561 -4.746 -1.534 -1.781 -5.079 -0.521 -1.133 + -4.748 -2.283 -1.382 -5.978 -2.034 -5.041 -2.025 -0.890 -5.023 -1.579 + -2.558 -6.145 -2.548 -3.436 -6.126 -2.956 -1.791 -7.393 -2.754 -2.427 + -8.209 -2.985 -0.924 -7.252 -4.032 -0.230 -6.449 -3.905 -0.448 -8.199 + -4.287 -1.784 -6.865 -5.254 -2.893 -7.332 -5.418 -1.313 -5.995 -6.089 + -1.904 -5.803 -6.882 -0.404 -5.662 -5.989 -1.022 -7.907 -1.526 0.049 + -8.536 -1.675 -1.511 -7.639 -0.323 -2.366 -7.131 -0.268 -0.902 -7.955 + 0.967 -1.739 -8.039 1.679 -0.365 -8.921 0.965 0.161 -6.959 1.502 + 0.953 -7.295 2.356 0.213 -5.735 0.920 -0.437 -5.492 0.223 1.153 + -4.684 1.301 1.711 -4.925 2.187 2.154 -4.399 0.142 1.537 -4.192 + -0.763 2.754 -3.451 0.360 3.217 -5.509 -0.199 3.843 -5.105 -0.996 + 3.808 -5.708 0.639 2.554 -6.789 -0.752 2.219 -7.368 0.059 1.647 + -6.549 -1.316 3.455 -7.678 -1.593 3.665 -7.094 -2.492 4.406 -7.814 + -1.045 2.807 -8.961 -1.826 1.846 -8.864 -2.124 3.263 -9.486 -2.516 + 2.771 -9.529 -0.935 0.389 -3.380 1.531 -0.714 -3.132 0.974 0.995 + -2.441 2.275 1.919 -2.651 2.604 0.590 -1.032 2.199 -0.518 -1.072 + 2.266 1.098 -0.232 3.413 2.183 -0.374 3.599 0.893 0.865 3.299 + 0.526 -0.644 4.729 1.146 -1.284 5.732 2.169 -1.552 5.677 0.248 + -1.530 6.750 0.548 -1.928 7.626 -1.019 -1.064 6.439 -2.238 -1.089 + 7.128 -2.305 -1.533 8.129 -3.347 -0.488 6.540 -4.340 -0.504 7.063 + -3.255 0.128 5.278 -4.115 0.590 4.828 -2.004 0.139 4.613 -1.946 + 0.561 3.671 -0.856 -0.451 5.156 1.052 -0.399 0.870 2.125 -0.711 + 0.373 0.285 0.565 0.360 -0.604 0.723 0.763 0.539 1.225 -0.950 + 1.600 1.212 -1.159 -0.183 0.435 -2.063 0.180 -0.600 -1.930 -1.696 + 0.538 -2.059 -2.034 1.567 -1.918 -2.091 0.124 -2.990 -2.082 -0.133 + -1.269 0.217 0.859 -3.332 0.148 0.108 -3.967 0.056 2.666 -0.929 + -0.735 3.056 -0.076 0.489 3.500 -1.881 1.047 3.084 -2.635 -0.009 + 4.849 -2.131 -0.520 5.191 -1.223 1.146 5.788 -2.399 1.824 5.678 + -1.607 1.740 5.520 -3.342 0.789 7.216 -2.554 0.729 7.925 -3.685 + 0.930 7.510 -4.670 0.436 9.235 -3.443 0.403 9.927 -4.175 0.281 + 9.469 -2.110 -0.006 10.617 -1.339 -0.182 11.591 -1.754 -0.078 10.546 + 0.068 -0.249 11.478 0.670 0.107 9.276 0.696 0.069 9.208 1.792 + 0.386 8.138 -0.091 0.601 7.251 0.470 0.483 8.216 -1.500 -1.031 + 4.825 -3.291 -0.810 4.202 -4.349 -2.148 5.543 -3.072 -2.256 5.962 + -2.141 -3.243 5.661 -4.065 -2.862 5.589 -5.052 -4.273 4.514 -3.837 + -4.644 4.482 -2.843 -5.227 4.684 -4.418 -3.809 3.130 -4.213 -2.925 + 2.860 -3.713 -4.638 2.444 -3.987 -3.515 2.920 -5.701 -4.418 3.142 + -6.278 -2.734 3.651 -6.080 -3.011 1.504 -5.988 -3.596 0.727 -5.410 + -3.124 1.298 -7.082 -1.598 1.275 -5.631 -1.414 1.544 -4.664 -1.383 + 0.314 -5.649 -0.989 1.765 -6.230 -3.939 7.045 -3.961 -3.771 7.780 + -2.972 -4.702 7.451 -4.997 -4.764 6.848 -5.776 -5.142 8.345 -4.897 + -2.762 9.146 -0.795 -3.038 8.515 -1.583 -1.720 9.231 -0.833 -3.125 + 10.110 -0.841 -3.246 8.597 0.451 -2.765 9.223 1.183 -4.770 8.616 + 0.551 -5.168 9.651 0.299 -5.237 7.865 -0.117 -5.097 8.364 1.934 + -6.010 8.135 2.021 -2.767 7.163 0.581 -2.438 6.544 -0.433 -2.731 + 6.579 1.806 -3.117 7.035 2.654 -2.433 5.175 1.977 -1.586 4.935 + 1.313 -1.885 4.941 3.414 -2.675 5.226 4.117 -1.603 3.966 3.593 + -0.715 5.820 3.749 -0.701 6.758 4.738 -1.476 6.973 5.411 0.566 + 7.364 4.736 0.835 8.043 5.459 1.403 6.889 3.733 2.654 7.185 + 3.330 3.255 8.031 3.771 3.248 6.432 2.285 4.294 6.638 2.049 + 2.524 5.426 1.673 2.943 4.888 0.934 1.223 5.089 2.069 0.721 + 4.229 1.672 0.579 5.828 3.122 -3.599 4.258 1.625 -4.759 4.695 + 1.628 -3.326 3.004 1.287 -2.368 2.734 1.133 -4.273 1.955 0.894 + -5.142 1.977 1.561 -4.759 2.205 -0.540 -3.877 2.495 -1.166 -5.554 + 1.082 -1.216 -6.383 0.728 -0.611 -5.978 1.385 -2.159 -4.893 0.251 + -1.442 -5.605 3.343 -0.541 -5.482 3.945 0.185 -3.652 0.590 1.090 + -2.422 0.494 1.159 -4.432 -0.475 1.196 -5.421 -0.325 1.111 -3.947 + -1.869 1.221 -2.858 -1.836 1.416 -4.728 -2.658 2.279 -4.745 -2.062 + 3.214 -5.792 -2.660 1.923 -4.210 -4.040 2.550 -4.835 -5.209 2.177 + -5.803 -5.272 1.653 -4.109 -6.262 2.664 -4.408 -7.226 2.599 -2.975 + -5.857 3.347 -1.961 -6.548 4.039 -1.983 -7.606 4.120 -0.918 -5.823 + 4.613 -0.126 -6.410 5.118 -0.937 -4.404 4.563 -0.207 -3.833 5.081 + -1.969 -3.764 3.914 -2.006 -2.668 3.923 -3.012 -4.456 3.292 -4.059 + -2.528 -0.197 -5.064 -2.369 -0.850 -3.029 -3.253 -0.627 -2.293 -3.340 + 0.031 -2.928 -3.782 -1.998 -3.952 -4.036 -2.347 -2.312 -2.680 -2.856 + -3.079 -1.897 -2.930 -1.456 -2.248 -2.404 -1.929 -3.052 -4.277 -1.024 + -3.799 -4.227 -2.764 -3.562 -4.745 -1.534 -1.781 -5.079 -0.521 -1.133 + -4.748 -2.283 -1.382 -5.978 -2.034 -5.040 -2.026 -0.890 -5.023 -1.579 + -2.558 -6.145 -2.549 -3.437 -6.126 -2.957 -1.791 -7.393 -2.753 -2.425 + -8.211 -2.986 -0.924 -7.253 -4.032 -0.231 -6.448 -3.905 -0.449 -8.200 + -4.287 -1.784 -6.865 -5.254 -2.893 -7.332 -5.419 -1.313 -5.995 -6.088 + -1.903 -5.804 -6.882 -0.402 -5.664 -5.989 -1.022 -7.907 -1.526 0.049 + -8.535 -1.675 -1.511 -7.639 -0.323 -2.367 -7.132 -0.267 -0.903 -7.955 + 0.967 -1.740 -8.039 1.678 -0.364 -8.920 0.967 0.161 -6.959 1.502 + 0.953 -7.295 2.356 0.213 -5.736 0.919 -0.438 -5.491 0.222 1.153 + -4.685 1.302 1.712 -4.925 2.187 2.154 -4.398 0.142 1.535 -4.194 + -0.763 2.753 -3.450 0.359 3.217 -5.509 -0.199 3.843 -5.105 -0.997 + 3.810 -5.707 0.640 2.554 -6.789 -0.753 2.219 -7.368 0.059 1.646 + -6.549 -1.315 3.455 -7.678 -1.594 3.664 -7.093 -2.491 4.405 -7.814 + -1.045 2.807 -8.961 -1.826 1.845 -8.864 -2.124 3.263 -9.486 -2.516 + 2.771 -9.528 -0.936 0.389 -3.381 1.531 -0.714 -3.132 0.974 0.995 + -2.442 2.275 1.920 -2.652 2.602 0.591 -1.032 2.198 -0.518 -1.075 + 2.267 1.098 -0.231 3.413 2.182 -0.375 3.603 0.893 0.865 3.299 + 0.526 -0.644 4.729 1.146 -1.284 5.732 2.170 -1.552 5.676 0.248 + -1.530 6.750 0.549 -1.926 7.627 -1.019 -1.064 6.439 -2.238 -1.090 + 7.127 -2.305 -1.533 8.128 -3.347 -0.489 6.540 -4.340 -0.505 7.063 + -3.255 0.128 5.278 -4.115 0.590 4.828 -2.003 0.139 4.614 -1.946 + 0.560 3.670 -0.856 -0.451 5.156 1.052 -0.400 0.870 2.125 -0.710 + 0.374 0.285 0.565 0.360 -0.605 0.722 0.762 0.540 1.226 -0.950 + 1.600 1.212 -1.159 -0.184 0.435 -2.062 0.181 -0.600 -1.928 -1.696 + 0.539 -2.059 -2.034 1.568 -1.918 -2.090 0.123 -2.990 -2.081 -0.133 + -1.270 0.217 0.858 -3.332 0.149 0.107 -3.968 0.056 2.665 -0.929 + -0.735 3.056 -0.076 0.488 3.501 -1.881 1.046 3.086 -2.635 -0.009 + 4.850 -2.131 -0.521 5.191 -1.223 1.146 5.788 -2.399 1.823 5.678 + -1.607 1.741 5.521 -3.341 0.789 7.215 -2.554 0.729 7.925 -3.685 + 0.929 7.510 -4.670 0.437 9.234 -3.442 0.403 9.926 -4.176 0.282 + 9.469 -2.111 -0.006 10.616 -1.338 -0.183 11.591 -1.752 -0.078 10.546 + 0.068 -0.249 11.479 0.670 0.107 9.275 0.696 0.068 9.208 1.792 + 0.386 8.138 -0.092 0.602 7.252 0.472 0.483 8.217 -1.501 -1.031 + 4.825 -3.291 -0.810 4.202 -4.349 -2.148 5.544 -3.072 -2.255 5.962 + -2.141 -3.243 5.661 -4.065 -2.861 5.589 -5.053 -4.272 4.514 -3.836 + -4.644 4.480 -2.842 -5.227 4.683 -4.416 -3.809 3.131 -4.214 -2.924 + 2.859 -3.715 -4.639 2.446 -3.989 -3.515 2.920 -5.701 -4.418 3.143 + -6.279 -2.734 3.650 -6.081 -3.011 1.504 -5.988 -3.595 0.726 -5.410 + -3.123 1.298 -7.082 -1.598 1.274 -5.631 -1.415 1.544 -4.665 -1.383 + 0.312 -5.647 -0.989 1.765 -6.231 -3.939 7.045 -3.961 -3.771 7.780 + -2.971 -4.702 7.452 -4.997 -4.763 6.849 -5.777 -5.143 8.346 -4.897 + -2.762 9.146 -0.795 -3.036 8.514 -1.582 -1.721 9.232 -0.834 -3.126 + 10.108 -0.839 -3.246 8.597 0.450 -2.764 9.225 1.181 -4.770 8.615 + 0.550 -5.168 9.649 0.299 -5.237 7.864 -0.118 -5.097 8.364 1.934 + -6.011 8.134 2.022 -2.767 7.163 0.581 -2.438 6.543 -0.432 -2.731 + 6.579 1.807 -3.117 7.033 2.655 -2.433 5.176 1.977 -1.586 4.936 + 1.314 -1.884 4.941 3.414 -2.674 5.229 4.117 -1.603 3.965 3.595 + -0.715 5.820 3.749 -0.701 6.759 4.738 -1.476 6.973 5.412 0.567 + 7.364 4.736 0.835 8.041 5.460 1.403 6.889 3.733 2.654 7.186 + 3.330 3.254 8.032 3.769 3.248 6.432 2.286 4.295 6.637 2.052 + 2.524 5.427 1.673 2.944 4.888 0.933 1.223 5.089 2.069 0.722 + 4.226 1.674 0.579 5.828 3.122 -3.599 4.258 1.625 -4.759 4.695 + 1.627 -3.326 3.004 1.286 -2.367 2.734 1.130 -4.272 1.955 0.893 + -5.141 1.976 1.561 -4.759 2.205 -0.540 -3.877 2.497 -1.166 -5.554 + 1.082 -1.216 -6.383 0.726 -0.612 -5.978 1.384 -2.159 -4.893 0.250 + -1.442 -5.605 3.343 -0.541 -5.484 3.946 0.187 -3.652 0.591 1.090 + -2.422 0.494 1.159 -4.431 -0.474 1.197 -5.420 -0.324 1.112 -3.947 + -1.869 1.221 -2.857 -1.835 1.414 -4.728 -2.658 2.279 -4.747 -2.061 + 3.214 -5.792 -2.659 1.922 -4.210 -4.040 2.551 -4.835 -5.209 2.177 + -5.803 -5.272 1.653 -4.108 -6.262 2.663 -4.407 -7.225 2.599 -2.975 + -5.857 3.347 -1.961 -6.547 4.040 -1.983 -7.606 4.121 -0.918 -5.823 + 4.613 -0.126 -6.411 5.117 -0.937 -4.403 4.564 -0.209 -3.832 5.083 + -1.969 -3.765 3.914 -2.007 -2.669 3.924 -3.012 -4.456 3.293 -4.058 + -2.527 -0.198 -5.064 -2.369 -0.850 -3.029 -3.253 -0.627 -2.294 -3.340 + 0.033 -2.928 -3.782 -1.998 -3.953 -4.036 -2.346 -2.312 -2.680 -2.856 + -3.079 -1.898 -2.930 -1.456 -2.247 -2.404 -1.929 -3.052 -4.277 -1.024 + -3.798 -4.226 -2.764 -3.562 -4.744 -1.534 -1.780 -5.078 -0.520 -1.132 + -4.749 -2.283 -1.383 -5.978 -2.035 -5.040 -2.026 -0.890 -5.024 -1.578 + -2.558 -6.145 -2.549 -3.438 -6.126 -2.959 -1.791 -7.393 -2.753 -2.423 + -8.213 -2.986 -0.924 -7.253 -4.031 -0.231 -6.447 -3.906 -0.449 -8.201 + -4.287 -1.784 -6.865 -5.254 -2.893 -7.332 -5.419 -1.313 -5.994 -6.087 + -1.902 -5.805 -6.882 -0.400 -5.666 -5.988 -1.023 -7.907 -1.525 0.049 + -8.535 -1.675 -1.511 -7.639 -0.323 -2.367 -7.133 -0.267 -0.903 -7.955 + 0.967 -1.741 -8.039 1.677 -0.363 -8.920 0.969 0.161 -6.959 1.503 + 0.953 -7.294 2.357 0.213 -5.736 0.919 -0.439 -5.491 0.221 1.153 + -4.686 1.302 1.713 -4.926 2.188 2.154 -4.398 0.142 1.533 -4.195 + -0.762 2.752 -3.449 0.357 3.218 -5.509 -0.199 3.842 -5.105 -0.998 + 3.811 -5.707 0.641 2.554 -6.788 -0.753 2.219 -7.368 0.058 1.646 + -6.549 -1.314 3.454 -7.678 -1.594 3.664 -7.091 -2.491 4.405 -7.814 + -1.045 2.807 -8.960 -1.825 1.845 -8.865 -2.125 3.264 -9.486 -2.516 + 2.770 -9.526 -0.936 0.389 -3.382 1.531 -0.715 -3.131 0.974 0.995 + -2.442 2.275 1.921 -2.652 2.600 0.591 -1.033 2.198 -0.518 -1.078 + 2.268 1.097 -0.231 3.413 2.181 -0.376 3.606 0.893 0.865 3.300 + 0.526 -0.644 4.729 1.146 -1.284 5.732 2.171 -1.552 5.675 0.248 + -1.530 6.750 0.550 -1.925 7.628 -1.019 -1.065 6.438 -2.238 -1.091 + 7.127 -2.305 -1.532 8.128 -3.347 -0.489 6.540 -4.339 -0.505 7.062 + -3.255 0.127 5.278 -4.114 0.590 4.827 -2.003 0.139 4.614 -1.946 + 0.559 3.669 -0.856 -0.451 5.156 1.052 -0.400 0.870 2.126 -0.710 + 0.374 0.285 0.565 0.360 -0.606 0.721 0.761 0.540 1.226 -0.950 + 1.601 1.212 -1.159 -0.184 0.435 -2.062 0.183 -0.599 -1.926 -1.696 + 0.539 -2.060 -2.034 1.569 -1.919 -2.089 0.123 -2.989 -2.081 -0.133 + -1.271 0.217 0.857 -3.332 0.150 0.107 -3.970 0.056 2.665 -0.929 + -0.734 3.056 -0.076 0.488 3.502 -1.881 1.044 3.087 -2.635 -0.009 + 4.851 -2.131 -0.521 5.191 -1.223 1.146 5.788 -2.399 1.823 5.677 + -1.607 1.742 5.523 -3.339 0.789 7.215 -2.555 0.729 7.925 -3.684 + 0.928 7.510 -4.669 0.438 9.234 -3.442 0.403 9.925 -4.177 0.282 + 9.469 -2.111 -0.005 10.616 -1.338 -0.184 11.591 -1.750 -0.078 10.547 + 0.068 -0.249 11.479 0.670 0.107 9.275 0.696 0.067 9.208 1.792 + 0.387 8.138 -0.092 0.603 7.253 0.473 0.484 8.217 -1.501 -1.031 + 4.825 -3.291 -0.811 4.201 -4.350 -2.148 5.544 -3.071 -2.255 5.962 + -2.140 -3.242 5.661 -4.065 -2.861 5.588 -5.054 -4.272 4.513 -3.836 + -4.645 4.479 -2.842 -5.226 4.681 -4.414 -3.809 3.131 -4.215 -2.923 + 2.858 -3.718 -4.639 2.447 -3.990 -3.515 2.920 -5.701 -4.418 3.145 + -6.280 -2.734 3.649 -6.081 -3.011 1.503 -5.988 -3.593 0.725 -5.410 + -3.122 1.299 -7.082 -1.599 1.274 -5.631 -1.415 1.544 -4.665 -1.382 + 0.310 -5.646 -0.989 1.764 -6.231 -3.939 7.045 -3.961 -3.771 7.780 + -2.971 -4.702 7.452 -4.998 -4.762 6.849 -5.779 -5.143 8.347 -4.896 + -2.762 9.145 -0.795 -3.034 8.513 -1.581 -1.721 9.234 -0.835 -3.127 + 10.107 -0.838 -3.246 8.597 0.450 -2.763 9.226 1.178 -4.771 8.614 + 0.549 -5.169 9.647 0.298 -5.237 7.863 -0.118 -5.097 8.364 1.934 + -6.012 8.133 2.023 -2.767 7.164 0.582 -2.439 6.543 -0.432 -2.732 + 6.579 1.808 -3.117 7.031 2.656 -2.434 5.176 1.977 -1.586 4.937 + 1.314 -1.884 4.942 3.414 -2.673 5.232 4.117 -1.603 3.965 3.598 + -0.715 5.821 3.749 -0.701 6.759 4.738 -1.477 6.973 5.414 0.568 + 7.364 4.736 0.835 8.039 5.460 1.404 6.890 3.733 2.654 7.186 + 3.329 3.254 8.032 3.767 3.248 6.432 2.286 4.296 6.636 2.055 + 2.524 5.427 1.674 2.945 4.888 0.933 1.224 5.088 2.068 0.724 + 4.224 1.675 0.579 5.828 3.121 -3.599 4.258 1.624 -4.759 4.695 + 1.627 -3.326 3.004 1.286 -2.367 2.735 1.127 -4.271 1.955 0.893 + -5.140 1.976 1.561 -4.759 2.205 -0.540 -3.878 2.498 -1.166 -5.554 + 1.081 -1.216 -6.383 0.725 -0.613 -5.978 1.382 -2.160 -4.893 0.250 + -1.442 -5.604 3.343 -0.540 -5.486 3.948 0.188 -3.651 0.591 1.090 + -2.422 0.494 1.158 -4.431 -0.474 1.197 -5.420 -0.322 1.113 -3.947 + -1.868 1.221 -2.857 -1.834 1.412 -4.728 -2.658 2.279 -4.749 -2.060 + 3.214 -5.791 -2.657 1.921 -4.210 -4.040 2.551 -4.835 -5.208 2.176 + -5.803 -5.272 1.652 -4.108 -6.261 2.663 -4.406 -7.224 2.598 -2.975 + -5.856 3.347 -1.961 -6.547 4.040 -1.982 -7.607 4.122 -0.918 -5.822 + 4.613 -0.127 -6.412 5.116 -0.938 -4.403 4.564 -0.211 -3.831 5.084 + -1.969 -3.765 3.915 -2.008 -2.670 3.925 -3.012 -4.457 3.293 -4.058 + -2.527 -0.198 -5.064 -2.369 -0.850 -3.029 -3.252 -0.627 -2.294 -3.341 + 0.036 -2.929 -3.782 -1.998 -3.953 -4.035 -2.345 -2.312 -2.680 -2.856 + -3.080 -1.898 -2.930 -1.456 -2.245 -2.404 -1.929 -3.052 -4.276 -1.024 + -3.797 -4.225 -2.764 -3.563 -4.743 -1.534 -1.780 -5.078 -0.520 -1.132 + -4.749 -2.283 -1.384 -5.979 -2.035 -5.040 -2.026 -0.891 -5.024 -1.578 + -2.559 -6.145 -2.549 -3.439 -6.126 -2.960 -1.791 -7.392 -2.752 -2.421 + -8.215 -2.986 -0.923 -7.253 -4.031 -0.232 -6.446 -3.906 -0.449 -8.202 + -4.287 -1.784 -6.865 -5.254 -2.892 -7.332 -5.419 -1.313 -5.994 -6.086 + -1.901 -5.806 -6.882 -0.397 -5.668 -5.988 -1.023 -7.907 -1.525 0.049 + -8.535 -1.676 -1.511 -7.640 -0.323 -2.368 -7.135 -0.266 -0.903 -7.955 + 0.967 -1.743 -8.039 1.675 -0.362 -8.919 0.970 0.161 -6.959 1.503 + 0.953 -7.293 2.357 0.214 -5.736 0.919 -0.439 -5.490 0.220 1.153 + -4.687 1.303 1.714 -4.926 2.188 2.153 -4.398 0.142 1.531 -4.197 + -0.761 2.751 -3.448 0.356 3.219 -5.509 -0.199 3.842 -5.104 -0.999 + 3.813 -5.706 0.641 2.554 -6.788 -0.753 2.218 -7.368 0.058 1.645 + -6.550 -1.313 3.454 -7.678 -1.594 3.663 -7.089 -2.490 4.404 -7.814 + -1.046 2.807 -8.960 -1.824 1.845 -8.866 -2.126 3.264 -9.487 -2.516 + 2.770 -9.525 -0.937 0.389 -3.383 1.531 -0.715 -3.131 0.973 0.996 + -2.443 2.275 1.923 -2.653 2.598 0.591 -1.034 2.198 -0.517 -1.082 + 2.269 1.096 -0.231 3.413 2.180 -0.376 3.609 0.892 0.865 3.301 + 0.527 -0.644 4.729 1.145 -1.284 5.732 2.172 -1.553 5.674 0.248 + -1.530 6.750 0.551 -1.923 7.629 -1.020 -1.065 6.438 -2.238 -1.091 + 7.126 -2.305 -1.532 8.128 -3.346 -0.489 6.539 -4.337 -0.506 7.061 + -3.255 0.127 5.277 -4.114 0.590 4.826 -2.002 0.139 4.614 -1.945 + 0.559 3.668 -0.855 -0.451 5.155 1.051 -0.400 0.869 2.126 -0.709 + 0.374 0.285 0.565 0.361 -0.608 0.720 0.761 0.541 1.226 -0.950 + 1.602 1.212 -1.159 -0.184 0.435 -2.062 0.184 -0.598 -1.924 -1.696 + 0.540 -2.060 -2.034 1.569 -1.920 -2.089 0.122 -2.989 -2.081 -0.133 + -1.271 0.217 0.856 -3.332 0.150 0.106 -3.971 0.057 2.665 -0.929 + -0.734 3.055 -0.076 0.487 3.502 -1.880 1.043 3.088 -2.635 -0.010 + 4.851 -2.131 -0.521 5.191 -1.223 1.145 5.788 -2.400 1.823 5.677 + -1.607 1.743 5.524 -3.338 0.789 7.215 -2.555 0.729 7.925 -3.684 + 0.928 7.510 -4.669 0.439 9.234 -3.442 0.403 9.925 -4.178 0.283 + 9.469 -2.112 -0.004 10.616 -1.338 -0.186 11.592 -1.749 -0.077 10.547 + 0.069 -0.249 11.479 0.669 0.107 9.274 0.697 0.065 9.208 1.791 + 0.387 8.138 -0.093 0.604 7.253 0.474 0.484 8.218 -1.502 -1.031 + 4.824 -3.291 -0.811 4.200 -4.350 -2.148 5.545 -3.070 -2.254 5.962 + -2.140 -3.242 5.661 -4.064 -2.860 5.588 -5.056 -4.271 4.512 -3.836 + -4.645 4.477 -2.841 -5.225 4.679 -4.412 -3.809 3.131 -4.215 -2.922 + 2.857 -3.720 -4.640 2.449 -3.992 -3.515 2.920 -5.702 -4.417 3.146 + -6.280 -2.734 3.649 -6.082 -3.011 1.503 -5.988 -3.591 0.724 -5.410 + -3.121 1.299 -7.081 -1.599 1.273 -5.631 -1.416 1.544 -4.666 -1.382 + 0.308 -5.644 -0.989 1.764 -6.232 -3.939 7.045 -3.961 -3.771 7.780 + -2.970 -4.702 7.453 -4.998 -4.761 6.850 -5.780 -5.143 8.348 -4.895 + -2.762 9.144 -0.796 -3.033 8.512 -1.580 -1.722 9.235 -0.835 -3.128 + 10.105 -0.837 -3.246 8.597 0.449 -2.762 9.228 1.175 -4.771 8.613 + 0.548 -5.170 9.645 0.298 -5.237 7.862 -0.119 -5.096 8.363 1.934 + -6.013 8.132 2.024 -2.767 7.164 0.582 -2.439 6.542 -0.431 -2.732 + 6.579 1.808 -3.117 7.029 2.657 -2.434 5.176 1.977 -1.587 4.938 + 1.314 -1.883 4.942 3.414 -2.673 5.234 4.117 -1.603 3.964 3.600 + -0.715 5.821 3.748 -0.701 6.759 4.738 -1.477 6.973 5.416 0.568 + 7.364 4.737 0.835 8.037 5.461 1.405 6.890 3.732 2.654 7.187 + 3.329 3.253 8.032 3.764 3.248 6.432 2.286 4.297 6.636 2.057 + 2.523 5.428 1.674 2.946 4.888 0.932 1.224 5.088 2.068 0.725 + 4.221 1.676 0.579 5.828 3.121 -3.598 4.258 1.624 -4.759 4.695 + 1.627 -3.325 3.004 1.285 -2.366 2.735 1.124 -4.271 1.955 0.893 + -5.139 1.975 1.560 -4.758 2.205 -0.540 -3.879 2.499 -1.165 -5.553 + 1.081 -1.217 -6.383 0.724 -0.614 -5.979 1.380 -2.160 -4.892 0.250 + -1.442 -5.604 3.343 -0.539 -5.488 3.950 0.190 -3.651 0.591 1.090 + -2.422 0.494 1.158 -4.431 -0.473 1.197 -5.420 -0.321 1.114 -3.947 + -1.868 1.222 -2.856 -1.833 1.411 -4.728 -2.657 2.280 -4.751 -2.059 + 3.214 -5.791 -2.656 1.920 -4.209 -4.040 2.551 -4.835 -5.208 2.175 + -5.802 -5.273 1.652 -4.108 -6.261 2.662 -4.405 -7.223 2.597 -2.975 + -5.856 3.347 -1.961 -6.546 4.040 -1.982 -7.607 4.123 -0.918 -5.822 + 4.613 -0.128 -6.413 5.115 -0.938 -4.402 4.564 -0.213 -3.830 5.086 + -1.969 -3.766 3.915 -2.009 -2.671 3.927 -3.012 -4.457 3.294 -4.058 + -2.527 -0.199 -5.064 -2.369 -0.850 -3.029 -3.252 -0.628 -2.294 -3.341 + 0.038 -2.929 -3.782 -1.999 -3.954 -4.035 -2.344 -2.312 -2.681 -2.856 + -3.081 -1.899 -2.931 -1.455 -2.244 -2.404 -1.928 -3.052 -4.275 -1.025 + -3.796 -4.224 -2.763 -3.564 -4.742 -1.534 -1.779 -5.078 -0.520 -1.132 + -4.749 -2.282 -1.384 -5.979 -2.035 -5.040 -2.026 -0.891 -5.024 -1.578 + -2.559 -6.144 -2.549 -3.440 -6.126 -2.961 -1.791 -7.392 -2.752 -2.420 + -8.216 -2.987 -0.923 -7.254 -4.031 -0.232 -6.445 -3.907 -0.449 -8.204 + -4.288 -1.784 -6.865 -5.254 -2.892 -7.332 -5.420 -1.314 -5.993 -6.085 + -1.900 -5.807 -6.882 -0.395 -5.670 -5.987 -1.023 -7.907 -1.525 0.049 + -8.535 -1.676 -1.511 -7.640 -0.323 -2.369 -7.136 -0.266 -0.904 -7.954 + 0.967 -1.744 -8.039 1.674 -0.361 -8.918 0.972 0.162 -6.960 1.503 + 0.953 -7.292 2.358 0.214 -5.736 0.918 -0.440 -5.489 0.219 1.153 + -4.687 1.303 1.715 -4.927 2.189 2.153 -4.398 0.142 1.528 -4.198 + -0.760 2.749 -3.448 0.355 3.220 -5.509 -0.199 3.842 -5.104 -1.000 + 3.814 -5.706 0.642 2.555 -6.788 -0.754 2.218 -7.369 0.057 1.644 + -6.550 -1.313 3.453 -7.678 -1.594 3.663 -7.088 -2.489 4.404 -7.814 + -1.046 2.807 -8.960 -1.824 1.845 -8.866 -2.126 3.265 -9.487 -2.516 + 2.770 -9.523 -0.938 0.389 -3.383 1.531 -0.715 -3.130 0.973 0.996 + -2.444 2.274 1.924 -2.653 2.596 0.591 -1.035 2.198 -0.517 -1.085 + 2.270 1.096 -0.230 3.413 2.178 -0.377 3.612 0.892 0.864 3.302 + 0.527 -0.644 4.730 1.145 -1.284 5.732 2.173 -1.553 5.673 0.248 + -1.530 6.749 0.553 -1.921 7.629 -1.020 -1.065 6.437 -2.238 -1.092 + 7.126 -2.305 -1.532 8.127 -3.346 -0.490 6.539 -4.336 -0.506 7.060 + -3.255 0.127 5.277 -4.114 0.589 4.826 -2.002 0.139 4.615 -1.945 + 0.558 3.667 -0.855 -0.451 5.155 1.051 -0.401 0.869 2.126 -0.709 + 0.375 0.286 0.566 0.361 -0.609 0.719 0.760 0.542 1.226 -0.950 + 1.603 1.212 -1.159 -0.184 0.436 -2.062 0.185 -0.597 -1.922 -1.696 + 0.540 -2.060 -2.033 1.570 -1.920 -2.088 0.122 -2.989 -2.080 -0.133 + -1.272 0.217 0.855 -3.332 0.151 0.106 -3.973 0.057 2.665 -0.930 + -0.733 3.055 -0.076 0.487 3.503 -1.880 1.042 3.089 -2.635 -0.010 + 4.852 -2.130 -0.522 5.191 -1.224 1.145 5.788 -2.400 1.823 5.676 + -1.606 1.743 5.526 -3.337 0.789 7.214 -2.555 0.729 7.925 -3.684 + 0.927 7.509 -4.669 0.439 9.234 -3.442 0.403 9.924 -4.178 0.284 + 9.469 -2.112 -0.004 10.615 -1.338 -0.187 11.592 -1.747 -0.077 10.547 + 0.069 -0.248 11.479 0.669 0.107 9.274 0.697 0.064 9.207 1.791 + 0.387 8.138 -0.093 0.605 7.253 0.476 0.485 8.218 -1.502 -1.031 + 4.824 -3.291 -0.812 4.200 -4.350 -2.147 5.546 -3.070 -2.253 5.962 + -2.140 -3.241 5.661 -4.064 -2.859 5.588 -5.057 -4.270 4.511 -3.835 + -4.646 4.475 -2.841 -5.225 4.678 -4.410 -3.809 3.132 -4.216 -2.920 + 2.857 -3.722 -4.641 2.450 -3.994 -3.515 2.920 -5.702 -4.417 3.148 + -6.281 -2.735 3.647 -6.082 -3.011 1.503 -5.988 -3.589 0.724 -5.410 + -3.120 1.300 -7.081 -1.599 1.273 -5.631 -1.417 1.545 -4.667 -1.381 + 0.306 -5.643 -0.989 1.763 -6.233 -3.939 7.045 -3.961 -3.771 7.780 + -2.970 -4.703 7.454 -4.998 -4.760 6.850 -5.782 -5.143 8.349 -4.895 + -2.763 9.144 -0.796 -3.031 8.512 -1.579 -1.723 9.237 -0.836 -3.129 + 10.104 -0.835 -3.246 8.597 0.448 -2.761 9.229 1.173 -4.772 8.612 + 0.547 -5.171 9.643 0.297 -5.237 7.861 -0.120 -5.096 8.363 1.934 + -6.015 8.131 2.025 -2.767 7.164 0.582 -2.439 6.542 -0.431 -2.732 + 6.579 1.809 -3.118 7.027 2.658 -2.435 5.176 1.977 -1.587 4.940 + 1.315 -1.883 4.942 3.414 -2.672 5.237 4.117 -1.602 3.963 3.602 + -0.714 5.821 3.748 -0.701 6.759 4.739 -1.477 6.973 5.417 0.569 + 7.364 4.737 0.836 8.035 5.462 1.405 6.891 3.732 2.654 7.187 + 3.329 3.252 8.033 3.762 3.248 6.432 2.286 4.298 6.635 2.060 + 2.523 5.429 1.674 2.947 4.888 0.932 1.225 5.087 2.068 0.726 + 4.219 1.677 0.579 5.828 3.121 -3.598 4.258 1.623 -4.759 4.695 + 1.627 -3.325 3.005 1.285 -2.366 2.736 1.121 -4.270 1.955 0.892 + -5.138 1.975 1.560 -4.758 2.204 -0.540 -3.880 2.501 -1.165 -5.553 + 1.080 -1.217 -6.384 0.722 -0.614 -5.979 1.378 -2.160 -4.892 0.249 + -1.442 -5.604 3.343 -0.539 -5.490 3.952 0.191 -3.651 0.592 1.090 + -2.421 0.494 1.157 -4.431 -0.472 1.198 -5.420 -0.319 1.115 -3.947 + -1.867 1.222 -2.856 -1.832 1.409 -4.728 -2.657 2.280 -4.753 -2.058 + 3.214 -5.790 -2.655 1.919 -4.209 -4.040 2.551 -4.835 -5.208 2.174 + -5.802 -5.273 1.652 -4.108 -6.260 2.662 -4.404 -7.223 2.595 -2.974 + -5.856 3.347 -1.962 -6.546 4.041 -1.982 -7.607 4.124 -0.918 -5.822 + 4.613 -0.129 -6.414 5.115 -0.938 -4.402 4.564 -0.214 -3.829 5.088 + -1.969 -3.766 3.916 -2.010 -2.672 3.928 -3.012 -4.457 3.295 -4.058 + -2.526 -0.199 -5.063 -2.368 -0.850 -3.029 -3.252 -0.628 -2.295 -3.342 + 0.040 -2.930 -3.782 -1.999 -3.954 -4.035 -2.343 -2.313 -2.681 -2.855 + -3.081 -1.900 -2.931 -1.455 -2.242 -2.404 -1.928 -3.052 -4.275 -1.026 + -3.794 -4.223 -2.763 -3.564 -4.741 -1.534 -1.779 -5.078 -0.520 -1.132 + -4.749 -2.282 -1.385 -5.979 -2.035 -5.040 -2.026 -0.891 -5.025 -1.578 + -2.559 -6.144 -2.549 -3.441 -6.126 -2.963 -1.791 -7.392 -2.752 -2.419 + -8.218 -2.987 -0.923 -7.254 -4.030 -0.233 -6.444 -3.907 -0.449 -8.205 + -4.288 -1.784 -6.865 -5.254 -2.892 -7.333 -5.420 -1.314 -5.993 -6.084 + -1.899 -5.808 -6.881 -0.392 -5.672 -5.986 -1.024 -7.906 -1.525 0.048 + -8.534 -1.676 -1.511 -7.640 -0.323 -2.370 -7.137 -0.265 -0.904 -7.954 + 0.967 -1.745 -8.039 1.672 -0.361 -8.918 0.973 0.162 -6.960 1.503 + 0.953 -7.291 2.358 0.214 -5.736 0.918 -0.441 -5.488 0.218 1.153 + -4.688 1.304 1.716 -4.928 2.189 2.152 -4.397 0.142 1.526 -4.200 + -0.760 2.748 -3.447 0.353 3.220 -5.509 -0.198 3.842 -5.103 -1.001 + 3.816 -5.706 0.643 2.555 -6.788 -0.754 2.217 -7.369 0.057 1.643 + -6.550 -1.312 3.453 -7.678 -1.595 3.662 -7.087 -2.489 4.403 -7.814 + -1.046 2.807 -8.959 -1.823 1.844 -8.867 -2.127 3.266 -9.488 -2.516 + 2.769 -9.522 -0.938 0.389 -3.384 1.531 -0.716 -3.130 0.973 0.997 + -2.444 2.274 1.925 -2.653 2.594 0.591 -1.036 2.198 -0.516 -1.088 + 2.270 1.095 -0.230 3.413 2.177 -0.378 3.615 0.892 0.864 3.303 + 0.527 -0.644 4.730 1.145 -1.284 5.732 2.174 -1.553 5.672 0.248 + -1.530 6.749 0.554 -1.920 7.630 -1.020 -1.066 6.437 -2.239 -1.093 + 7.125 -2.305 -1.531 8.127 -3.346 -0.490 6.538 -4.335 -0.506 7.060 + -3.255 0.127 5.277 -4.114 0.589 4.825 -2.002 0.138 4.615 -1.945 + 0.558 3.666 -0.854 -0.451 5.155 1.051 -0.401 0.869 2.127 -0.708 + 0.375 0.286 0.566 0.361 -0.611 0.718 0.760 0.542 1.226 -0.950 + 1.603 1.212 -1.159 -0.184 0.436 -2.062 0.186 -0.596 -1.921 -1.696 + 0.541 -2.060 -2.033 1.570 -1.921 -2.087 0.121 -2.989 -2.079 -0.133 + -1.272 0.217 0.854 -3.332 0.151 0.105 -3.974 0.057 2.665 -0.930 + -0.733 3.055 -0.076 0.487 3.503 -1.880 1.040 3.090 -2.635 -0.010 + 4.853 -2.130 -0.522 5.191 -1.224 1.144 5.789 -2.400 1.823 5.676 + -1.605 1.744 5.528 -3.335 0.789 7.214 -2.556 0.729 7.926 -3.684 + 0.926 7.509 -4.668 0.440 9.234 -3.442 0.402 9.923 -4.179 0.284 + 9.469 -2.112 -0.003 10.615 -1.337 -0.189 11.593 -1.745 -0.077 10.547 + 0.069 -0.248 11.479 0.668 0.107 9.274 0.698 0.063 9.207 1.790 + 0.388 8.138 -0.093 0.606 7.254 0.477 0.485 8.218 -1.502 -1.031 + 4.824 -3.291 -0.812 4.199 -4.351 -2.147 5.546 -3.069 -2.252 5.962 + -2.140 -3.240 5.661 -4.064 -2.859 5.588 -5.058 -4.270 4.510 -3.835 + -4.646 4.473 -2.840 -5.224 4.676 -4.408 -3.809 3.132 -4.216 -2.919 + 2.856 -3.724 -4.641 2.452 -3.996 -3.515 2.920 -5.702 -4.416 3.149 + -6.282 -2.735 3.646 -6.083 -3.011 1.503 -5.988 -3.587 0.723 -5.410 + -3.119 1.300 -7.080 -1.599 1.273 -5.630 -1.417 1.545 -4.668 -1.380 + 0.304 -5.641 -0.989 1.763 -6.234 -3.940 7.045 -3.960 -3.771 7.780 + -2.970 -4.703 7.455 -4.999 -4.760 6.851 -5.783 -5.143 8.350 -4.894 + -2.763 9.143 -0.796 -3.029 8.511 -1.578 -1.724 9.239 -0.836 -3.129 + 10.102 -0.834 -3.247 8.597 0.448 -2.760 9.231 1.171 -4.772 8.611 + 0.546 -5.171 9.640 0.297 -5.237 7.860 -0.121 -5.096 8.363 1.934 + -6.016 8.129 2.026 -2.767 7.165 0.582 -2.440 6.541 -0.430 -2.732 + 6.579 1.810 -3.118 7.025 2.658 -2.435 5.177 1.977 -1.587 4.941 + 1.315 -1.883 4.942 3.414 -2.671 5.239 4.117 -1.602 3.962 3.604 + -0.714 5.822 3.748 -0.701 6.760 4.739 -1.478 6.973 5.419 0.570 + 7.364 4.737 0.836 8.033 5.463 1.406 6.891 3.732 2.654 7.188 + 3.329 3.251 8.033 3.760 3.248 6.432 2.286 4.299 6.634 2.062 + 2.523 5.430 1.674 2.948 4.888 0.931 1.225 5.087 2.068 0.728 + 4.216 1.678 0.579 5.828 3.121 -3.598 4.258 1.623 -4.759 4.695 + 1.626 -3.325 3.005 1.284 -2.365 2.737 1.118 -4.269 1.955 0.892 + -5.136 1.974 1.559 -4.758 2.204 -0.540 -3.881 2.502 -1.165 -5.553 + 1.080 -1.217 -6.384 0.721 -0.615 -5.979 1.377 -2.161 -4.892 0.249 + -1.442 -5.604 3.343 -0.538 -5.492 3.954 0.193 -3.651 0.592 1.090 + -2.421 0.494 1.157 -4.430 -0.471 1.198 -5.419 -0.318 1.116 -3.946 + -1.866 1.222 -2.855 -1.831 1.407 -4.729 -2.656 2.280 -4.755 -2.058 + 3.214 -5.789 -2.653 1.918 -4.209 -4.039 2.551 -4.834 -5.208 2.173 + -5.801 -5.274 1.651 -4.108 -6.259 2.661 -4.402 -7.222 2.594 -2.974 + -5.855 3.346 -1.962 -6.545 4.041 -1.981 -7.607 4.125 -0.917 -5.821 + 4.613 -0.129 -6.415 5.114 -0.939 -4.402 4.565 -0.216 -3.828 5.090 + -1.969 -3.766 3.916 -2.011 -2.673 3.929 -3.012 -4.457 3.295 -4.058 + -2.526 -0.200 -5.063 -2.368 -0.850 -3.029 -3.251 -0.628 -2.295 -3.343 + 0.042 -2.930 -3.782 -1.999 -3.954 -4.034 -2.342 -2.313 -2.681 -2.855 + -3.082 -1.901 -2.931 -1.455 -2.241 -2.404 -1.928 -3.052 -4.274 -1.026 + -3.793 -4.221 -2.763 -3.565 -4.740 -1.534 -1.778 -5.078 -0.520 -1.132 + -4.749 -2.282 -1.385 -5.979 -2.035 -5.039 -2.026 -0.891 -5.025 -1.577 + -2.559 -6.144 -2.549 -3.443 -6.126 -2.964 -1.791 -7.391 -2.751 -2.417 + -8.220 -2.987 -0.923 -7.254 -4.030 -0.233 -6.443 -3.907 -0.449 -8.206 + -4.288 -1.784 -6.865 -5.255 -2.892 -7.333 -5.421 -1.314 -5.992 -6.083 + -1.898 -5.809 -6.881 -0.390 -5.674 -5.986 -1.024 -7.906 -1.525 0.048 + -8.534 -1.676 -1.511 -7.641 -0.323 -2.371 -7.138 -0.265 -0.904 -7.954 + 0.968 -1.746 -8.039 1.671 -0.360 -8.917 0.975 0.162 -6.960 1.504 + 0.953 -7.291 2.359 0.215 -5.736 0.918 -0.441 -5.487 0.217 1.153 + -4.689 1.304 1.716 -4.928 2.190 2.152 -4.397 0.142 1.524 -4.201 + -0.759 2.746 -3.446 0.352 3.221 -5.509 -0.198 3.841 -5.103 -1.002 + 3.818 -5.705 0.645 2.555 -6.787 -0.755 2.217 -7.370 0.057 1.643 + -6.550 -1.311 3.453 -7.678 -1.595 3.662 -7.085 -2.489 4.403 -7.814 + -1.046 2.807 -8.959 -1.822 1.844 -8.867 -2.128 3.267 -9.489 -2.516 + 2.769 -9.520 -0.939 0.389 -3.385 1.531 -0.716 -3.129 0.973 0.997 + -2.445 2.274 1.927 -2.654 2.592 0.591 -1.036 2.198 -0.516 -1.091 + 2.271 1.094 -0.230 3.413 2.176 -0.378 3.618 0.892 0.863 3.303 + 0.528 -0.644 4.730 1.145 -1.283 5.732 2.175 -1.553 5.671 0.248 + -1.530 6.749 0.555 -1.918 7.631 -1.020 -1.066 6.436 -2.239 -1.093 + 7.125 -2.305 -1.531 8.126 -3.346 -0.490 6.538 -4.333 -0.507 7.059 + -3.255 0.127 5.277 -4.114 0.589 4.825 -2.001 0.138 4.616 -1.945 + 0.558 3.665 -0.854 -0.451 5.155 1.051 -0.402 0.868 2.127 -0.707 + 0.375 0.286 0.566 0.361 -0.613 0.717 0.759 0.543 1.227 -0.950 + 1.604 1.212 -1.160 -0.184 0.436 -2.061 0.187 -0.596 -1.919 -1.695 + 0.542 -2.060 -2.033 1.571 -1.921 -2.086 0.121 -2.988 -2.079 -0.133 + -1.273 0.217 0.853 -3.332 0.152 0.104 -3.975 0.058 2.665 -0.930 + -0.732 3.055 -0.077 0.486 3.504 -1.880 1.039 3.091 -2.635 -0.010 + 4.853 -2.130 -0.522 5.191 -1.224 1.144 5.789 -2.400 1.824 5.675 + -1.604 1.744 5.529 -3.334 0.790 7.214 -2.556 0.729 7.926 -3.683 + 0.926 7.509 -4.668 0.441 9.234 -3.442 0.402 9.923 -4.180 0.285 + 9.469 -2.113 -0.003 10.615 -1.337 -0.190 11.593 -1.744 -0.076 10.548 + 0.070 -0.248 11.479 0.668 0.108 9.273 0.698 0.062 9.207 1.790 + 0.388 8.138 -0.094 0.607 7.254 0.478 0.486 8.219 -1.503 -1.032 + 4.824 -3.291 -0.812 4.198 -4.351 -2.147 5.547 -3.069 -2.252 5.962 + -2.139 -3.240 5.661 -4.064 -2.858 5.588 -5.060 -4.269 4.510 -3.835 + -4.647 4.471 -2.839 -5.222 4.675 -4.406 -3.809 3.132 -4.217 -2.917 + 2.855 -3.726 -4.642 2.453 -3.998 -3.515 2.920 -5.702 -4.416 3.151 + -6.282 -2.736 3.645 -6.083 -3.011 1.503 -5.988 -3.586 0.723 -5.410 + -3.118 1.300 -7.080 -1.599 1.272 -5.630 -1.418 1.546 -4.668 -1.380 + 0.302 -5.640 -0.989 1.763 -6.235 -3.940 7.045 -3.960 -3.772 7.780 + -2.969 -4.703 7.455 -4.999 -4.759 6.851 -5.785 -5.143 8.351 -4.893 + -2.763 9.142 -0.796 -3.027 8.511 -1.576 -1.726 9.240 -0.837 -3.130 + 10.100 -0.833 -3.247 8.597 0.447 -2.759 9.233 1.169 -4.772 8.610 + 0.546 -5.172 9.638 0.296 -5.237 7.859 -0.121 -5.096 8.363 1.934 + -6.018 8.128 2.027 -2.768 7.165 0.582 -2.440 6.540 -0.430 -2.733 + 6.579 1.811 -3.117 7.023 2.659 -2.436 5.177 1.976 -1.587 4.942 + 1.316 -1.882 4.943 3.414 -2.670 5.241 4.117 -1.602 3.961 3.606 + -0.714 5.822 3.748 -0.701 6.760 4.739 -1.478 6.973 5.421 0.570 + 7.364 4.738 0.837 8.031 5.463 1.406 6.892 3.731 2.654 7.188 + 3.329 3.250 8.033 3.758 3.248 6.432 2.287 4.299 6.633 2.064 + 2.523 5.431 1.675 2.949 4.888 0.929 1.225 5.087 2.067 0.729 + 4.214 1.679 0.579 5.828 3.121 -3.598 4.259 1.622 -4.759 4.695 + 1.626 -3.325 3.005 1.284 -2.365 2.737 1.115 -4.268 1.955 0.891 + -5.135 1.973 1.559 -4.758 2.204 -0.540 -3.882 2.504 -1.165 -5.553 + 1.079 -1.217 -6.384 0.720 -0.616 -5.979 1.375 -2.161 -4.892 0.249 + -1.442 -5.604 3.343 -0.538 -5.494 3.956 0.195 -3.651 0.593 1.090 + -2.421 0.494 1.157 -4.430 -0.471 1.198 -5.419 -0.317 1.117 -3.946 + -1.866 1.223 -2.855 -1.831 1.405 -4.729 -2.656 2.280 -4.757 -2.057 + 3.213 -5.788 -2.652 1.917 -4.209 -4.039 2.551 -4.834 -5.208 2.172 + -5.801 -5.274 1.651 -4.107 -6.259 2.661 -4.401 -7.221 2.593 -2.974 + -5.855 3.346 -1.962 -6.545 4.041 -1.981 -7.607 4.126 -0.917 -5.821 + 4.613 -0.130 -6.416 5.113 -0.939 -4.401 4.565 -0.218 -3.826 5.092 + -1.970 -3.767 3.917 -2.013 -2.674 3.930 -3.011 -4.457 3.296 -4.058 + -2.526 -0.200 -5.063 -2.368 -0.850 -3.029 -3.251 -0.629 -2.295 -3.344 + 0.044 -2.931 -3.782 -1.999 -3.955 -4.034 -2.341 -2.313 -2.681 -2.855 + -3.083 -1.903 -2.932 -1.455 -2.239 -2.404 -1.927 -3.052 -4.273 -1.027 + -3.792 -4.220 -2.763 -3.566 -4.740 -1.534 -1.778 -5.078 -0.519 -1.132 + -4.749 -2.282 -1.386 -5.980 -2.036 -5.039 -2.026 -0.891 -5.025 -1.577 + -2.559 -6.144 -2.549 -3.445 -6.126 -2.966 -1.791 -7.391 -2.751 -2.416 + -8.222 -2.988 -0.923 -7.255 -4.030 -0.233 -6.442 -3.908 -0.449 -8.207 + -4.289 -1.784 -6.865 -5.255 -2.891 -7.333 -5.421 -1.314 -5.992 -6.082 + -1.897 -5.810 -6.881 -0.387 -5.676 -5.985 -1.024 -7.906 -1.525 0.048 + -8.534 -1.676 -1.510 -7.641 -0.323 -2.372 -7.139 -0.265 -0.905 -7.954 + 0.968 -1.747 -8.039 1.669 -0.360 -8.916 0.976 0.162 -6.960 1.504 + 0.953 -7.290 2.359 0.215 -5.736 0.918 -0.442 -5.486 0.216 1.153 + -4.690 1.304 1.717 -4.929 2.191 2.152 -4.397 0.142 1.522 -4.203 + -0.758 2.745 -3.446 0.350 3.222 -5.509 -0.198 3.841 -5.102 -1.003 + 3.820 -5.705 0.646 2.555 -6.787 -0.755 2.217 -7.371 0.057 1.642 + -6.550 -1.310 3.452 -7.678 -1.595 3.661 -7.084 -2.488 4.402 -7.814 + -1.047 2.807 -8.959 -1.822 1.843 -8.868 -2.128 3.267 -9.489 -2.516 + 2.768 -9.518 -0.940 0.389 -3.386 1.530 -0.716 -3.129 0.972 0.997 + -2.446 2.274 1.928 -2.654 2.590 0.591 -1.037 2.198 -0.515 -1.094 + 2.271 1.094 -0.229 3.413 2.175 -0.379 3.621 0.892 0.863 3.304 + 0.528 -0.644 4.730 1.145 -1.283 5.732 2.176 -1.553 5.670 0.248 + -1.530 6.749 0.556 -1.916 7.632 -1.020 -1.067 6.436 -2.239 -1.094 + 7.125 -2.305 -1.531 8.126 -3.346 -0.491 6.537 -4.331 -0.507 7.058 + -3.255 0.127 5.277 -4.114 0.589 4.824 -2.001 0.138 4.616 -1.944 + 0.557 3.664 -0.854 -0.451 5.155 1.051 -0.402 0.868 2.127 -0.707 + 0.376 0.286 0.567 0.361 -0.615 0.716 0.759 0.543 1.227 -0.950 + 1.605 1.212 -1.160 -0.185 0.436 -2.061 0.188 -0.595 -1.917 -1.695 + 0.542 -2.060 -2.032 1.572 -1.922 -2.086 0.121 -2.988 -2.078 -0.133 + -1.274 0.217 0.852 -3.332 0.152 0.104 -3.977 0.058 2.665 -0.930 + -0.732 3.054 -0.077 0.486 3.505 -1.879 1.037 3.092 -2.636 -0.010 + 4.854 -2.130 -0.523 5.191 -1.224 1.144 5.789 -2.401 1.824 5.674 + -1.604 1.744 5.531 -3.332 0.790 7.213 -2.556 0.729 7.926 -3.683 + 0.925 7.509 -4.667 0.441 9.234 -3.442 0.402 9.922 -4.181 0.285 + 9.469 -2.113 -0.002 10.614 -1.337 -0.191 11.594 -1.742 -0.076 10.548 + 0.070 -0.247 11.478 0.667 0.108 9.273 0.699 0.061 9.206 1.789 + 0.389 8.138 -0.094 0.608 7.254 0.479 0.486 8.219 -1.503 -1.032 + 4.824 -3.291 -0.813 4.198 -4.352 -2.147 5.548 -3.068 -2.251 5.961 + -2.139 -3.239 5.661 -4.064 -2.857 5.587 -5.061 -4.268 4.509 -3.834 + -4.648 4.470 -2.838 -5.221 4.673 -4.404 -3.809 3.133 -4.217 -2.916 + 2.854 -3.728 -4.642 2.455 -4.000 -3.515 2.920 -5.703 -4.416 3.152 + -6.283 -2.736 3.644 -6.083 -3.011 1.502 -5.988 -3.584 0.722 -5.410 + -3.117 1.301 -7.080 -1.600 1.272 -5.630 -1.419 1.546 -4.669 -1.379 + 0.299 -5.638 -0.988 1.762 -6.236 -3.940 7.045 -3.960 -3.772 7.780 + -2.969 -4.703 7.456 -5.000 -4.758 6.852 -5.786 -5.143 8.352 -4.893 + -2.763 9.142 -0.797 -3.025 8.510 -1.575 -1.727 9.242 -0.837 -3.131 + 10.099 -0.832 -3.247 8.597 0.446 -2.758 9.234 1.167 -4.773 8.609 + 0.545 -5.172 9.636 0.296 -5.237 7.858 -0.122 -5.096 8.363 1.934 + -6.019 8.127 2.028 -2.768 7.165 0.582 -2.440 6.540 -0.429 -2.733 + 6.579 1.812 -3.117 7.021 2.659 -2.436 5.177 1.976 -1.587 4.943 + 1.317 -1.882 4.943 3.414 -2.669 5.244 4.117 -1.602 3.960 3.608 + -0.714 5.822 3.747 -0.701 6.760 4.739 -1.479 6.973 5.422 0.571 + 7.364 4.738 0.837 8.028 5.464 1.407 6.892 3.731 2.654 7.189 + 3.328 3.249 8.033 3.756 3.248 6.432 2.287 4.300 6.632 2.067 + 2.523 5.431 1.675 2.950 4.887 0.928 1.226 5.086 2.067 0.730 + 4.211 1.681 0.579 5.828 3.121 -3.598 4.259 1.622 -4.759 4.695 + 1.626 -3.325 3.005 1.284 -2.364 2.738 1.112 -4.268 1.954 0.891 + -5.134 1.973 1.558 -4.758 2.204 -0.540 -3.883 2.505 -1.165 -5.553 + 1.079 -1.217 -6.384 0.718 -0.616 -5.979 1.373 -2.162 -4.892 0.248 + -1.442 -5.604 3.343 -0.537 -5.496 3.958 0.197 -3.650 0.593 1.090 + -2.421 0.494 1.156 -4.430 -0.470 1.199 -5.419 -0.316 1.118 -3.946 + -1.865 1.223 -2.855 -1.830 1.404 -4.729 -2.655 2.281 -4.759 -2.056 + 3.213 -5.788 -2.651 1.917 -4.208 -4.039 2.551 -4.834 -5.208 2.171 + -5.800 -5.274 1.651 -4.107 -6.258 2.660 -4.400 -7.220 2.592 -2.974 + -5.855 3.346 -1.962 -6.544 4.041 -1.981 -7.608 4.127 -0.917 -5.821 + 4.613 -0.131 -6.416 5.112 -0.939 -4.401 4.565 -0.219 -3.825 5.094 + -1.970 -3.767 3.917 -2.014 -2.675 3.932 -3.011 -4.458 3.296 -4.058 + -2.525 -0.201 -5.063 -2.368 -0.850 -3.029 -3.251 -0.629 -2.294 -3.344 + 0.046 -2.931 -3.782 -2.000 -3.955 -4.033 -2.340 -2.313 -2.681 -2.855 + -3.083 -1.904 -2.932 -1.454 -2.238 -2.404 -1.927 -3.052 -4.273 -1.028 + -3.790 -4.219 -2.763 -3.566 -4.739 -1.534 -1.777 -5.078 -0.519 -1.131 + -4.750 -2.282 -1.387 -5.980 -2.036 -5.039 -2.026 -0.891 -5.025 -1.577 + -2.559 -6.143 -2.549 -3.446 -6.126 -2.967 -1.791 -7.390 -2.750 -2.415 + -8.224 -2.988 -0.922 -7.255 -4.029 -0.234 -6.441 -3.908 -0.449 -8.207 + -4.289 -1.784 -6.865 -5.255 -2.891 -7.333 -5.422 -1.314 -5.991 -6.081 + -1.896 -5.810 -6.881 -0.384 -5.677 -5.985 -1.025 -7.906 -1.525 0.048 + -8.534 -1.677 -1.510 -7.642 -0.323 -2.373 -7.140 -0.264 -0.905 -7.954 + 0.968 -1.748 -8.038 1.668 -0.359 -8.915 0.977 0.163 -6.960 1.504 + 0.953 -7.289 2.360 0.216 -5.737 0.917 -0.443 -5.485 0.214 1.154 + -4.691 1.305 1.718 -4.930 2.191 2.151 -4.397 0.143 1.520 -4.205 + -0.757 2.743 -3.446 0.349 3.222 -5.509 -0.198 3.841 -5.102 -1.004 + 3.822 -5.704 0.647 2.556 -6.787 -0.755 2.216 -7.371 0.057 1.642 + -6.550 -1.310 3.452 -7.678 -1.595 3.661 -7.083 -2.488 4.401 -7.814 + -1.047 2.807 -8.958 -1.821 1.843 -8.868 -2.129 3.268 -9.490 -2.516 + 2.768 -9.516 -0.942 0.389 -3.387 1.530 -0.716 -3.129 0.972 0.998 + -2.446 2.274 1.929 -2.654 2.588 0.591 -1.038 2.198 -0.515 -1.096 + 2.272 1.093 -0.229 3.413 2.174 -0.380 3.624 0.892 0.862 3.305 + 0.528 -0.644 4.730 1.145 -1.283 5.732 2.178 -1.554 5.669 0.248 + -1.530 6.749 0.557 -1.915 7.632 -1.021 -1.067 6.435 -2.239 -1.095 + 7.124 -2.305 -1.530 8.125 -3.346 -0.491 6.537 -4.330 -0.507 7.057 + -3.255 0.127 5.277 -4.113 0.589 4.823 -2.001 0.138 4.616 -1.944 + 0.557 3.663 -0.853 -0.450 5.155 1.050 -0.403 0.868 2.128 -0.706 + 0.376 0.287 0.567 0.362 -0.616 0.715 0.759 0.544 1.227 -0.951 + 1.606 1.212 -1.160 -0.185 0.436 -2.061 0.189 -0.594 -1.916 -1.695 + 0.543 -2.060 -2.032 1.572 -1.923 -2.085 0.121 -2.988 -2.078 -0.132 + -1.274 0.216 0.851 -3.332 0.152 0.103 -3.978 0.058 2.665 -0.930 + -0.731 3.054 -0.077 0.485 3.505 -1.879 1.036 3.094 -2.636 -0.010 + 4.855 -2.130 -0.523 5.191 -1.224 1.143 5.789 -2.401 1.824 5.674 + -1.603 1.744 5.533 -3.330 0.790 7.213 -2.556 0.729 7.926 -3.683 + 0.925 7.509 -4.666 0.442 9.233 -3.442 0.402 9.921 -4.182 0.286 + 9.469 -2.113 -0.002 10.614 -1.336 -0.193 11.594 -1.741 -0.076 10.548 + 0.071 -0.247 11.478 0.667 0.108 9.272 0.699 0.060 9.206 1.788 + 0.389 8.138 -0.094 0.609 7.254 0.480 0.486 8.219 -1.504 -1.032 + 4.824 -3.291 -0.813 4.197 -4.352 -2.146 5.548 -3.067 -2.250 5.961 + -2.139 -3.239 5.661 -4.064 -2.856 5.587 -5.063 -4.268 4.508 -3.834 + -4.648 4.468 -2.837 -5.220 4.671 -4.402 -3.809 3.133 -4.218 -2.915 + 2.853 -3.730 -4.643 2.457 -4.001 -3.515 2.920 -5.703 -4.415 3.153 + -6.284 -2.737 3.642 -6.083 -3.011 1.502 -5.988 -3.582 0.722 -5.410 + -3.116 1.301 -7.079 -1.600 1.271 -5.630 -1.419 1.546 -4.671 -1.379 + 0.296 -5.637 -0.988 1.762 -6.237 -3.940 7.045 -3.960 -3.772 7.781 + -2.969 -4.704 7.457 -5.000 -4.758 6.852 -5.788 -5.143 8.353 -4.892 + -2.763 9.141 -0.797 -3.023 8.510 -1.574 -1.728 9.243 -0.837 -3.131 + 10.097 -0.830 -3.247 8.597 0.446 -2.758 9.236 1.165 -4.773 8.608 + 0.544 -5.173 9.633 0.295 -5.236 7.856 -0.123 -5.096 8.363 1.934 + -6.021 8.126 2.029 -2.768 7.165 0.583 -2.441 6.539 -0.429 -2.733 + 6.579 1.813 -3.117 7.019 2.660 -2.437 5.177 1.976 -1.588 4.944 + 1.317 -1.882 4.943 3.414 -2.668 5.246 4.117 -1.602 3.958 3.610 + -0.714 5.822 3.747 -0.701 6.761 4.739 -1.480 6.973 5.424 0.571 + 7.363 4.738 0.837 8.026 5.464 1.407 6.893 3.731 2.654 7.189 + 3.328 3.248 8.033 3.754 3.248 6.431 2.287 4.300 6.631 2.069 + 2.523 5.432 1.675 2.952 4.887 0.927 1.226 5.086 2.067 0.731 + 4.209 1.682 0.579 5.828 3.120 -3.598 4.259 1.621 -4.759 4.695 + 1.625 -3.325 3.005 1.283 -2.363 2.738 1.110 -4.267 1.954 0.891 + -5.132 1.972 1.558 -4.758 2.204 -0.540 -3.884 2.506 -1.164 -5.553 + 1.078 -1.217 -6.384 0.717 -0.617 -5.979 1.372 -2.163 -4.892 0.248 + -1.443 -5.604 3.343 -0.537 -5.498 3.960 0.199 -3.650 0.593 1.090 + -2.421 0.495 1.156 -4.430 -0.469 1.199 -5.419 -0.315 1.119 -3.946 + -1.865 1.223 -2.854 -1.829 1.402 -4.729 -2.655 2.281 -4.760 -2.056 + 3.213 -5.787 -2.650 1.916 -4.208 -4.039 2.551 -4.834 -5.208 2.171 + -5.800 -5.275 1.651 -4.107 -6.258 2.660 -4.399 -7.219 2.591 -2.973 + -5.855 3.346 -1.962 -6.544 4.042 -1.980 -7.608 4.128 -0.917 -5.820 + 4.613 -0.132 -6.417 5.111 -0.939 -4.400 4.565 -0.221 -3.824 5.095 + -1.970 -3.768 3.918 -2.015 -2.676 3.933 -3.011 -4.458 3.297 -4.057 + -2.525 -0.201 -5.062 -2.367 -0.850 -3.029 -3.251 -0.629 -2.294 -3.345 + 0.048 -2.932 -3.782 -2.000 -3.955 -4.033 -2.339 -2.313 -2.681 -2.855 + -3.084 -1.905 -2.932 -1.454 -2.236 -2.403 -1.927 -3.052 -4.272 -1.030 + -3.788 -4.218 -2.763 -3.567 -4.738 -1.534 -1.777 -5.077 -0.519 -1.131 + -4.750 -2.281 -1.387 -5.980 -2.036 -5.039 -2.026 -0.891 -5.026 -1.577 + -2.559 -6.143 -2.549 -3.448 -6.126 -2.969 -1.791 -7.390 -2.750 -2.414 + -8.226 -2.988 -0.922 -7.255 -4.029 -0.234 -6.440 -3.908 -0.449 -8.208 + -4.289 -1.784 -6.865 -5.255 -2.891 -7.333 -5.422 -1.315 -5.991 -6.080 + -1.895 -5.811 -6.880 -0.382 -5.679 -5.984 -1.025 -7.906 -1.525 0.048 + -8.534 -1.677 -1.510 -7.642 -0.323 -2.374 -7.141 -0.264 -0.905 -7.954 + 0.968 -1.749 -8.038 1.667 -0.359 -8.914 0.979 0.163 -6.960 1.504 + 0.953 -7.288 2.360 0.216 -5.737 0.917 -0.444 -5.484 0.213 1.154 + -4.692 1.305 1.719 -4.931 2.192 2.151 -4.396 0.143 1.519 -4.206 + -0.756 2.741 -3.445 0.347 3.223 -5.509 -0.198 3.841 -5.101 -1.005 + 3.824 -5.704 0.648 2.556 -6.786 -0.756 2.215 -7.372 0.057 1.641 + -6.550 -1.309 3.452 -7.678 -1.595 3.660 -7.082 -2.488 4.401 -7.814 + -1.048 2.807 -8.958 -1.820 1.843 -8.869 -2.130 3.270 -9.491 -2.516 + 2.768 -9.514 -0.943 0.389 -3.388 1.530 -0.717 -3.128 0.972 0.998 + -2.447 2.274 1.931 -2.655 2.585 0.591 -1.039 2.198 -0.514 -1.099 + 2.272 1.093 -0.229 3.413 2.172 -0.380 3.626 0.892 0.861 3.305 + 0.528 -0.644 4.731 1.145 -1.283 5.732 2.179 -1.554 5.669 0.248 + -1.530 6.749 0.558 -1.913 7.633 -1.021 -1.067 6.435 -2.239 -1.095 + 7.124 -2.305 -1.530 8.125 -3.346 -0.491 6.537 -4.328 -0.507 7.056 + -3.255 0.126 5.276 -4.113 0.589 4.823 -2.001 0.138 4.617 -1.943 + 0.557 3.662 -0.853 -0.450 5.154 1.050 -0.403 0.868 2.128 -0.705 + 0.376 0.287 0.567 0.362 -0.618 0.714 0.759 0.545 1.227 -0.951 + 1.606 1.213 -1.160 -0.185 0.436 -2.061 0.190 -0.593 -1.914 -1.695 + 0.543 -2.061 -2.032 1.573 -1.923 -2.084 0.121 -2.988 -2.077 -0.132 + -1.275 0.216 0.850 -3.332 0.152 0.102 -3.979 0.059 2.665 -0.931 + -0.731 3.054 -0.077 0.485 3.506 -1.879 1.034 3.095 -2.636 -0.011 + 4.855 -2.130 -0.523 5.191 -1.224 1.143 5.789 -2.402 1.825 5.673 + -1.602 1.744 5.534 -3.328 0.790 7.213 -2.557 0.729 7.926 -3.683 + 0.924 7.509 -4.666 0.443 9.233 -3.442 0.402 9.921 -4.183 0.287 + 9.469 -2.114 -0.001 10.614 -1.336 -0.194 11.595 -1.740 -0.076 10.548 + 0.071 -0.247 11.478 0.666 0.108 9.272 0.700 0.059 9.206 1.788 + 0.389 8.138 -0.094 0.610 7.254 0.481 0.487 8.220 -1.504 -1.032 + 4.824 -3.291 -0.814 4.196 -4.353 -2.146 5.549 -3.067 -2.249 5.961 + -2.139 -3.238 5.661 -4.063 -2.856 5.587 -5.064 -4.267 4.507 -3.834 + -4.649 4.466 -2.836 -5.219 4.670 -4.400 -3.809 3.133 -4.219 -2.913 + 2.852 -3.732 -4.643 2.458 -4.003 -3.515 2.920 -5.703 -4.415 3.155 + -6.284 -2.738 3.641 -6.083 -3.010 1.502 -5.988 -3.580 0.721 -5.411 + -3.115 1.302 -7.078 -1.600 1.271 -5.630 -1.420 1.547 -4.672 -1.378 + 0.294 -5.635 -0.988 1.762 -6.238 -3.940 7.044 -3.960 -3.772 7.781 + -2.968 -4.704 7.458 -5.000 -4.757 6.853 -5.789 -5.143 8.354 -4.892 + -2.763 9.141 -0.797 -3.021 8.510 -1.572 -1.730 9.245 -0.838 -3.132 + 10.095 -0.829 -3.247 8.597 0.445 -2.757 9.237 1.163 -4.774 8.607 + 0.543 -5.173 9.630 0.295 -5.236 7.855 -0.123 -5.096 8.362 1.934 + -6.022 8.124 2.030 -2.768 7.166 0.583 -2.441 6.539 -0.429 -2.733 + 6.579 1.813 -3.117 7.017 2.660 -2.437 5.178 1.976 -1.588 4.945 + 1.318 -1.881 4.944 3.414 -2.667 5.248 4.117 -1.602 3.957 3.612 + -0.714 5.823 3.747 -0.701 6.761 4.739 -1.480 6.973 5.426 0.572 + 7.363 4.738 0.838 8.024 5.465 1.408 6.893 3.731 2.654 7.190 + 3.328 3.246 8.033 3.751 3.249 6.431 2.287 4.301 6.630 2.071 + 2.523 5.433 1.676 2.953 4.886 0.925 1.226 5.086 2.066 0.732 + 4.206 1.683 0.580 5.828 3.120 -3.598 4.259 1.621 -4.759 4.695 + 1.625 -3.325 3.005 1.283 -2.362 2.739 1.107 -4.266 1.954 0.890 + -5.131 1.972 1.558 -4.757 2.203 -0.540 -3.885 2.508 -1.164 -5.553 + 1.078 -1.217 -6.384 0.716 -0.618 -5.979 1.370 -2.163 -4.891 0.247 + -1.443 -5.604 3.343 -0.536 -5.499 3.962 0.201 -3.650 0.594 1.090 + -2.421 0.495 1.156 -4.430 -0.469 1.200 -5.419 -0.313 1.120 -3.946 + -1.864 1.223 -2.854 -1.828 1.401 -4.730 -2.654 2.281 -4.762 -2.055 + 3.212 -5.786 -2.649 1.915 -4.208 -4.039 2.551 -4.833 -5.208 2.170 + -5.799 -5.275 1.650 -4.107 -6.257 2.659 -4.398 -7.219 2.590 -2.973 + -5.854 3.346 -1.962 -6.543 4.042 -1.980 -7.608 4.129 -0.917 -5.820 + 4.612 -0.132 -6.417 5.110 -0.940 -4.400 4.566 -0.222 -3.822 5.097 + -1.970 -3.768 3.918 -2.016 -2.677 3.934 -3.011 -4.458 3.297 -4.057 + -2.525 -0.201 -5.062 -2.367 -0.850 -3.029 -3.250 -0.630 -2.294 -3.346 + 0.050 -2.932 -3.782 -2.000 -3.955 -4.033 -2.338 -2.313 -2.681 -2.855 + -3.085 -1.906 -2.932 -1.454 -2.235 -2.403 -1.926 -3.052 -4.272 -1.031 + -3.786 -4.217 -2.763 -3.567 -4.737 -1.534 -1.776 -5.077 -0.519 -1.131 + -4.750 -2.281 -1.388 -5.981 -2.036 -5.039 -2.026 -0.892 -5.026 -1.576 + -2.559 -6.143 -2.549 -3.450 -6.126 -2.970 -1.790 -7.390 -2.750 -2.413 + -8.228 -2.988 -0.922 -7.256 -4.029 -0.234 -6.439 -3.908 -0.448 -8.209 + -4.289 -1.783 -6.865 -5.255 -2.891 -7.334 -5.422 -1.315 -5.990 -6.079 + -1.894 -5.812 -6.880 -0.379 -5.681 -5.984 -1.025 -7.906 -1.525 0.048 + -8.533 -1.677 -1.510 -7.643 -0.323 -2.375 -7.143 -0.264 -0.905 -7.954 + 0.968 -1.750 -8.038 1.665 -0.359 -8.914 0.980 0.163 -6.960 1.504 + 0.954 -7.288 2.361 0.216 -5.737 0.917 -0.445 -5.483 0.211 1.154 + -4.693 1.306 1.719 -4.931 2.193 2.151 -4.396 0.143 1.517 -4.208 + -0.755 2.739 -3.445 0.346 3.224 -5.509 -0.198 3.841 -5.101 -1.005 + 3.826 -5.704 0.650 2.556 -6.786 -0.756 2.215 -7.373 0.057 1.640 + -6.550 -1.308 3.451 -7.678 -1.596 3.660 -7.081 -2.488 4.400 -7.814 + -1.048 2.806 -8.958 -1.819 1.842 -8.869 -2.130 3.271 -9.492 -2.516 + 2.767 -9.512 -0.944 0.388 -3.389 1.530 -0.717 -3.128 0.971 0.999 + -2.448 2.274 1.932 -2.655 2.583 0.592 -1.039 2.198 -0.513 -1.102 + 2.273 1.092 -0.228 3.413 2.171 -0.380 3.629 0.892 0.861 3.306 + 0.529 -0.644 4.731 1.145 -1.283 5.732 2.180 -1.554 5.668 0.248 + -1.530 6.748 0.559 -1.911 7.634 -1.021 -1.068 6.434 -2.240 -1.096 + 7.123 -2.305 -1.529 8.124 -3.346 -0.491 6.536 -4.326 -0.508 7.055 + -3.255 0.126 5.276 -4.113 0.589 4.822 -2.000 0.138 4.617 -1.943 + 0.557 3.660 -0.852 -0.450 5.154 1.050 -0.403 0.867 2.128 -0.705 + 0.377 0.287 0.568 0.362 -0.620 0.714 0.758 0.545 1.227 -0.951 + 1.607 1.213 -1.160 -0.185 0.436 -2.061 0.191 -0.592 -1.912 -1.695 + 0.544 -2.061 -2.031 1.573 -1.924 -2.083 0.121 -2.988 -2.077 -0.132 + -1.276 0.216 0.849 -3.332 0.153 0.101 -3.979 0.059 2.665 -0.931 + -0.730 3.054 -0.077 0.485 3.507 -1.879 1.033 3.096 -2.636 -0.011 + 4.856 -2.130 -0.524 5.191 -1.224 1.143 5.789 -2.402 1.826 5.673 + -1.601 1.744 5.536 -3.326 0.790 7.213 -2.557 0.729 7.926 -3.682 + 0.924 7.509 -4.665 0.443 9.233 -3.442 0.402 9.921 -4.183 0.287 + 9.469 -2.114 -0.001 10.614 -1.335 -0.195 11.595 -1.738 -0.075 10.548 + 0.071 -0.246 11.477 0.666 0.108 9.271 0.700 0.058 9.205 1.787 + 0.390 8.138 -0.095 0.611 7.254 0.482 0.487 8.220 -1.505 -1.032 + 4.824 -3.291 -0.814 4.196 -4.353 -2.146 5.549 -3.066 -2.248 5.961 + -2.139 -3.238 5.661 -4.063 -2.855 5.587 -5.066 -4.267 4.507 -3.833 + -4.649 4.464 -2.835 -5.217 4.668 -4.397 -3.809 3.133 -4.219 -2.912 + 2.851 -3.733 -4.644 2.460 -4.005 -3.514 2.921 -5.704 -4.414 3.156 + -6.285 -2.739 3.639 -6.083 -3.010 1.501 -5.988 -3.579 0.721 -5.411 + -3.114 1.302 -7.078 -1.600 1.271 -5.629 -1.421 1.547 -4.673 -1.377 + 0.291 -5.634 -0.987 1.761 -6.239 -3.941 7.044 -3.960 -3.772 7.781 + -2.968 -4.704 7.458 -5.000 -4.757 6.853 -5.791 -5.143 8.355 -4.891 + -2.763 9.140 -0.797 -3.019 8.510 -1.571 -1.731 9.247 -0.838 -3.132 + 10.093 -0.828 -3.247 8.597 0.444 -2.756 9.239 1.161 -4.774 8.606 + 0.542 -5.173 9.628 0.294 -5.236 7.854 -0.124 -5.096 8.362 1.934 + -6.024 8.123 2.031 -2.768 7.166 0.583 -2.441 6.538 -0.428 -2.734 + 6.579 1.814 -3.117 7.015 2.660 -2.438 5.178 1.976 -1.589 4.946 + 1.318 -1.881 4.944 3.414 -2.666 5.251 4.117 -1.601 3.955 3.614 + -0.713 5.823 3.747 -0.701 6.761 4.739 -1.481 6.973 5.428 0.573 + 7.363 4.739 0.838 8.022 5.465 1.408 6.894 3.730 2.655 7.190 + 3.328 3.245 8.032 3.749 3.249 6.431 2.288 4.302 6.629 2.073 + 2.523 5.434 1.676 2.954 4.885 0.924 1.227 5.085 2.066 0.733 + 4.204 1.684 0.580 5.828 3.120 -3.598 4.259 1.620 -4.760 4.695 + 1.625 -3.324 3.005 1.282 -2.362 2.740 1.104 -4.266 1.954 0.890 + -5.129 1.971 1.557 -4.757 2.203 -0.540 -3.887 2.509 -1.164 -5.553 + 1.077 -1.217 -6.384 0.714 -0.618 -5.979 1.369 -2.164 -4.891 0.247 + -1.443 -5.603 3.343 -0.536 -5.501 3.963 0.203 -3.650 0.594 1.090 + -2.421 0.495 1.155 -4.430 -0.468 1.200 -5.419 -0.312 1.121 -3.946 + -1.864 1.223 -2.854 -1.828 1.399 -4.730 -2.654 2.282 -4.764 -2.055 + 3.212 -5.785 -2.648 1.914 -4.207 -4.039 2.551 -4.833 -5.207 2.169 + -5.798 -5.276 1.650 -4.107 -6.257 2.658 -4.397 -7.218 2.588 -2.973 + -5.854 3.346 -1.962 -6.543 4.042 -1.979 -7.609 4.130 -0.917 -5.820 + 4.612 -0.133 -6.418 5.109 -0.940 -4.400 4.566 -0.223 -3.821 5.099 + -1.971 -3.768 3.919 -2.017 -2.678 3.935 -3.011 -4.458 3.298 -4.057 + -2.524 -0.202 -5.062 -2.367 -0.850 -3.029 -3.250 -0.630 -2.293 -3.347 + 0.053 -2.933 -3.782 -2.000 -3.956 -4.032 -2.338 -2.313 -2.681 -2.854 + -3.086 -1.907 -2.933 -1.453 -2.233 -2.403 -1.926 -3.052 -4.271 -1.033 + -3.784 -4.215 -2.763 -3.568 -4.737 -1.534 -1.776 -5.077 -0.519 -1.131 + -4.750 -2.281 -1.388 -5.981 -2.037 -5.038 -2.026 -0.892 -5.027 -1.576 + -2.559 -6.143 -2.549 -3.452 -6.126 -2.972 -1.790 -7.389 -2.749 -2.412 + -8.230 -2.989 -0.922 -7.256 -4.029 -0.234 -6.438 -3.908 -0.448 -8.210 + -4.290 -1.783 -6.865 -5.254 -2.890 -7.334 -5.423 -1.315 -5.990 -6.078 + -1.893 -5.813 -6.880 -0.376 -5.682 -5.983 -1.025 -7.905 -1.525 0.047 + -8.533 -1.677 -1.510 -7.643 -0.323 -2.376 -7.144 -0.263 -0.906 -7.953 + 0.969 -1.751 -8.039 1.664 -0.358 -8.913 0.981 0.163 -6.960 1.505 + 0.954 -7.287 2.361 0.217 -5.737 0.917 -0.446 -5.483 0.210 1.154 + -4.693 1.306 1.720 -4.932 2.193 2.150 -4.396 0.143 1.515 -4.210 + -0.754 2.737 -3.445 0.344 3.224 -5.508 -0.198 3.840 -5.100 -1.006 + 3.828 -5.704 0.651 2.557 -6.786 -0.757 2.214 -7.374 0.057 1.640 + -6.550 -1.308 3.451 -7.678 -1.596 3.659 -7.080 -2.488 4.399 -7.814 + -1.049 2.806 -8.957 -1.819 1.842 -8.869 -2.131 3.272 -9.492 -2.517 + 2.767 -9.509 -0.945 0.388 -3.390 1.530 -0.717 -3.128 0.971 0.999 + -2.449 2.274 1.933 -2.656 2.581 0.592 -1.040 2.198 -0.512 -1.104 + 2.273 1.091 -0.228 3.413 2.169 -0.381 3.631 0.892 0.860 3.307 + 0.529 -0.644 4.731 1.145 -1.282 5.732 2.182 -1.555 5.667 0.248 + -1.530 6.748 0.559 -1.909 7.634 -1.021 -1.068 6.434 -2.240 -1.096 + 7.123 -2.305 -1.529 8.124 -3.346 -0.492 6.536 -4.324 -0.508 7.054 + -3.254 0.126 5.276 -4.113 0.589 4.822 -2.000 0.138 4.617 -1.942 + 0.557 3.659 -0.852 -0.450 5.154 1.050 -0.404 0.867 2.129 -0.704 + 0.377 0.288 0.568 0.362 -0.622 0.713 0.758 0.546 1.227 -0.951 + 1.608 1.213 -1.160 -0.185 0.437 -2.060 0.192 -0.591 -1.911 -1.695 + 0.544 -2.061 -2.031 1.574 -1.924 -2.083 0.121 -2.988 -2.076 -0.132 + -1.276 0.216 0.848 -3.332 0.153 0.100 -3.980 0.059 2.665 -0.931 + -0.730 3.053 -0.077 0.484 3.507 -1.879 1.031 3.098 -2.636 -0.011 + 4.857 -2.129 -0.524 5.191 -1.224 1.142 5.789 -2.402 1.826 5.673 + -1.600 1.744 5.537 -3.324 0.790 7.213 -2.557 0.729 7.926 -3.682 + 0.923 7.509 -4.665 0.444 9.233 -3.442 0.402 9.920 -4.184 0.288 + 9.469 -2.114 -0.000 10.613 -1.335 -0.196 11.596 -1.737 -0.075 10.548 + 0.072 -0.246 11.476 0.665 0.108 9.271 0.701 0.057 9.205 1.786 + 0.390 8.138 -0.095 0.612 7.254 0.482 0.488 8.220 -1.505 -1.032 + 4.824 -3.291 -0.815 4.195 -4.353 -2.146 5.550 -3.066 -2.247 5.961 + -2.138 -3.237 5.661 -4.063 -2.854 5.587 -5.068 -4.266 4.506 -3.833 + -4.649 4.463 -2.833 -5.216 4.667 -4.395 -3.809 3.134 -4.220 -2.910 + 2.850 -3.735 -4.644 2.462 -4.007 -3.514 2.921 -5.704 -4.414 3.157 + -6.286 -2.739 3.638 -6.083 -3.010 1.501 -5.988 -3.577 0.721 -5.412 + -3.113 1.303 -7.077 -1.601 1.270 -5.629 -1.421 1.548 -4.674 -1.377 + 0.288 -5.633 -0.987 1.761 -6.241 -3.941 7.044 -3.960 -3.772 7.781 + -2.968 -4.704 7.459 -5.001 -4.756 6.854 -5.793 -5.143 8.356 -4.891 + -2.763 9.139 -0.798 -3.017 8.510 -1.569 -1.733 9.248 -0.838 -3.133 + 10.091 -0.827 -3.247 8.597 0.444 -2.755 9.240 1.159 -4.774 8.605 + 0.541 -5.174 9.625 0.294 -5.236 7.853 -0.124 -5.096 8.362 1.934 + -6.026 8.122 2.032 -2.768 7.166 0.583 -2.442 6.538 -0.428 -2.734 + 6.579 1.815 -3.117 7.013 2.660 -2.438 5.178 1.976 -1.589 4.947 + 1.319 -1.881 4.945 3.414 -2.665 5.253 4.117 -1.601 3.953 3.616 + -0.713 5.823 3.747 -0.700 6.761 4.739 -1.482 6.973 5.430 0.573 + 7.363 4.739 0.838 8.020 5.466 1.408 6.894 3.730 2.655 7.191 + 3.327 3.244 8.032 3.747 3.249 6.431 2.288 4.302 6.628 2.075 + 2.522 5.434 1.676 2.956 4.884 0.922 1.227 5.085 2.066 0.734 + 4.202 1.685 0.580 5.828 3.120 -3.598 4.259 1.620 -4.760 4.695 + 1.624 -3.324 3.005 1.282 -2.361 2.740 1.101 -4.265 1.954 0.890 + -5.128 1.971 1.557 -4.757 2.203 -0.540 -3.888 2.510 -1.163 -5.552 + 1.077 -1.217 -6.385 0.713 -0.619 -5.980 1.367 -2.165 -4.890 0.246 + -1.443 -5.603 3.343 -0.535 -5.503 3.965 0.205 -3.649 0.594 1.091 + -2.420 0.495 1.155 -4.429 -0.467 1.200 -5.418 -0.311 1.123 -3.946 + -1.863 1.223 -2.854 -1.827 1.398 -4.730 -2.654 2.282 -4.766 -2.055 + 3.211 -5.784 -2.647 1.914 -4.207 -4.039 2.551 -4.833 -5.207 2.168 + -5.798 -5.276 1.650 -4.106 -6.256 2.658 -4.396 -7.217 2.587 -2.973 + -5.854 3.346 -1.962 -6.542 4.042 -1.979 -7.609 4.131 -0.916 -5.819 + 4.612 -0.134 -6.419 5.108 -0.940 -4.399 4.566 -0.224 -3.820 5.101 + -1.971 -3.769 3.919 -2.018 -2.679 3.936 -3.011 -4.458 3.298 -4.057 + -2.524 -0.202 -5.062 -2.367 -0.850 -3.029 -3.250 -0.630 -2.293 -3.348 + 0.055 -2.933 -3.782 -2.001 -3.956 -4.031 -2.337 -2.313 -2.681 -2.854 + -3.086 -1.908 -2.933 -1.453 -2.232 -2.402 -1.926 -3.052 -4.270 -1.035 + -3.781 -4.214 -2.763 -3.569 -4.736 -1.534 -1.775 -5.077 -0.518 -1.131 + -4.750 -2.281 -1.389 -5.981 -2.037 -5.038 -2.026 -0.892 -5.027 -1.576 + -2.559 -6.143 -2.549 -3.454 -6.125 -2.974 -1.790 -7.389 -2.749 -2.412 + -8.232 -2.989 -0.922 -7.256 -4.028 -0.235 -6.437 -3.908 -0.448 -8.210 + -4.290 -1.783 -6.865 -5.254 -2.890 -7.334 -5.423 -1.315 -5.989 -6.077 + -1.892 -5.813 -6.880 -0.373 -5.684 -5.983 -1.026 -7.905 -1.525 0.047 + -8.533 -1.678 -1.510 -7.643 -0.323 -2.377 -7.145 -0.263 -0.906 -7.953 + 0.969 -1.751 -8.039 1.663 -0.358 -8.912 0.982 0.163 -6.960 1.505 + 0.954 -7.286 2.362 0.217 -5.737 0.917 -0.447 -5.482 0.208 1.154 + -4.694 1.307 1.721 -4.933 2.194 2.150 -4.395 0.143 1.513 -4.211 + -0.753 2.735 -3.445 0.342 3.225 -5.508 -0.198 3.840 -5.100 -1.007 + 3.830 -5.704 0.653 2.557 -6.785 -0.757 2.214 -7.374 0.057 1.639 + -6.550 -1.307 3.451 -7.678 -1.596 3.659 -7.079 -2.487 4.399 -7.814 + -1.050 2.806 -8.957 -1.818 1.841 -8.870 -2.131 3.273 -9.493 -2.517 + 2.767 -9.507 -0.946 0.388 -3.390 1.530 -0.718 -3.127 0.971 0.999 + -2.449 2.274 1.934 -2.656 2.579 0.592 -1.041 2.199 -0.512 -1.107 + 2.274 1.091 -0.227 3.413 2.168 -0.381 3.634 0.892 0.859 3.308 + 0.529 -0.644 4.731 1.145 -1.282 5.732 2.183 -1.555 5.667 0.248 + -1.531 6.748 0.560 -1.908 7.635 -1.021 -1.068 6.433 -2.240 -1.097 + 7.122 -2.305 -1.528 8.123 -3.346 -0.492 6.535 -4.322 -0.508 7.053 + -3.254 0.126 5.276 -4.113 0.589 4.821 -2.000 0.138 4.618 -1.942 + 0.557 3.657 -0.852 -0.450 5.154 1.050 -0.404 0.867 2.129 -0.704 + 0.378 0.288 0.568 0.362 -0.624 0.712 0.758 0.546 1.228 -0.951 + 1.609 1.213 -1.161 -0.185 0.437 -2.060 0.192 -0.590 -1.909 -1.694 + 0.545 -2.061 -2.031 1.574 -1.925 -2.082 0.121 -2.987 -2.076 -0.132 + -1.277 0.216 0.847 -3.332 0.153 0.099 -3.981 0.060 2.665 -0.931 + -0.729 3.053 -0.077 0.484 3.508 -1.878 1.030 3.099 -2.635 -0.011 + 4.857 -2.129 -0.524 5.191 -1.224 1.142 5.789 -2.403 1.827 5.672 + -1.599 1.744 5.539 -3.322 0.790 7.212 -2.557 0.729 7.926 -3.682 + 0.922 7.509 -4.664 0.445 9.233 -3.442 0.401 9.920 -4.185 0.289 + 9.469 -2.115 0.000 10.613 -1.335 -0.198 11.596 -1.736 -0.075 10.549 + 0.072 -0.245 11.476 0.664 0.108 9.271 0.701 0.056 9.204 1.786 + 0.390 8.139 -0.095 0.613 7.254 0.483 0.488 8.220 -1.506 -1.033 + 4.824 -3.291 -0.815 4.194 -4.354 -2.145 5.550 -3.065 -2.247 5.961 + -2.138 -3.237 5.661 -4.063 -2.853 5.587 -5.069 -4.266 4.505 -3.833 + -4.650 4.461 -2.832 -5.214 4.665 -4.393 -3.809 3.134 -4.220 -2.909 + 2.849 -3.736 -4.645 2.464 -4.008 -3.514 2.921 -5.704 -4.413 3.158 + -6.286 -2.740 3.636 -6.083 -3.010 1.501 -5.988 -3.575 0.721 -5.413 + -3.113 1.303 -7.076 -1.601 1.270 -5.629 -1.422 1.548 -4.675 -1.377 + 0.285 -5.631 -0.986 1.761 -6.242 -3.941 7.044 -3.960 -3.772 7.781 + -2.967 -4.704 7.460 -5.001 -4.756 6.854 -5.794 -5.142 8.357 -4.891 + -2.763 9.139 -0.798 -3.015 8.510 -1.568 -1.734 9.250 -0.839 -3.134 + 10.089 -0.827 -3.247 8.597 0.443 -2.754 9.241 1.158 -4.775 8.605 + 0.540 -5.174 9.622 0.293 -5.236 7.852 -0.125 -5.096 8.362 1.934 + -6.027 8.121 2.033 -2.768 7.166 0.584 -2.442 6.537 -0.427 -2.734 + 6.580 1.816 -3.117 7.011 2.660 -2.439 5.178 1.976 -1.590 4.948 + 1.320 -1.880 4.945 3.414 -2.664 5.255 4.117 -1.601 3.952 3.619 + -0.713 5.824 3.747 -0.700 6.762 4.739 -1.483 6.973 5.432 0.574 + 7.363 4.739 0.839 8.018 5.466 1.409 6.895 3.730 2.655 7.191 + 3.327 3.243 8.032 3.745 3.249 6.431 2.288 4.303 6.627 2.077 + 2.522 5.435 1.677 2.958 4.883 0.920 1.227 5.085 2.066 0.736 + 4.199 1.685 0.580 5.828 3.120 -3.598 4.259 1.619 -4.760 4.695 + 1.624 -3.324 3.005 1.281 -2.360 2.741 1.098 -4.265 1.954 0.889 + -5.126 1.970 1.556 -4.757 2.203 -0.540 -3.890 2.511 -1.163 -5.552 + 1.076 -1.217 -6.385 0.711 -0.620 -5.980 1.366 -2.166 -4.890 0.246 + -1.442 -5.603 3.343 -0.535 -5.504 3.967 0.207 -3.649 0.595 1.091 + -2.420 0.495 1.155 -4.429 -0.467 1.201 -5.418 -0.310 1.123 -3.945 + -1.863 1.224 -2.854 -1.827 1.396 -4.730 -2.653 2.282 -4.767 -2.055 + 3.211 -5.782 -2.646 1.913 -4.207 -4.039 2.551 -4.832 -5.207 2.167 + -5.797 -5.276 1.650 -4.106 -6.256 2.657 -4.394 -7.216 2.586 -2.972 + -5.854 3.345 -1.962 -6.542 4.042 -1.978 -7.610 4.131 -0.916 -5.819 + 4.612 -0.135 -6.419 5.107 -0.940 -4.399 4.566 -0.225 -3.818 5.103 + -1.971 -3.769 3.920 -2.019 -2.680 3.937 -3.010 -4.458 3.298 -4.057 + -2.524 -0.202 -5.061 -2.367 -0.851 -3.029 -3.249 -0.631 -2.292 -3.349 + 0.057 -2.934 -3.782 -2.001 -3.956 -4.031 -2.336 -2.314 -2.682 -2.854 + -3.087 -1.909 -2.933 -1.452 -2.231 -2.402 -1.925 -3.052 -4.270 -1.036 + -3.779 -4.213 -2.763 -3.570 -4.735 -1.534 -1.775 -5.077 -0.518 -1.130 + -4.751 -2.281 -1.389 -5.982 -2.037 -5.038 -2.026 -0.892 -5.027 -1.575 + -2.559 -6.143 -2.549 -3.457 -6.125 -2.975 -1.790 -7.388 -2.749 -2.411 + -8.234 -2.989 -0.922 -7.256 -4.028 -0.235 -6.436 -3.908 -0.447 -8.211 + -4.290 -1.783 -6.865 -5.254 -2.890 -7.334 -5.424 -1.316 -5.989 -6.076 + -1.891 -5.814 -6.879 -0.371 -5.685 -5.982 -1.026 -7.905 -1.525 0.047 + -8.533 -1.678 -1.510 -7.644 -0.322 -2.378 -7.146 -0.263 -0.906 -7.953 + 0.969 -1.752 -8.039 1.661 -0.358 -8.911 0.983 0.163 -6.960 1.505 + 0.954 -7.285 2.363 0.218 -5.738 0.916 -0.448 -5.481 0.206 1.154 + -4.695 1.307 1.721 -4.934 2.195 2.150 -4.395 0.143 1.511 -4.213 + -0.752 2.733 -3.445 0.340 3.225 -5.508 -0.198 3.840 -5.099 -1.008 + 3.832 -5.704 0.654 2.557 -6.785 -0.757 2.213 -7.375 0.057 1.639 + -6.550 -1.306 3.450 -7.678 -1.596 3.658 -7.078 -2.487 4.398 -7.814 + -1.050 2.806 -8.957 -1.817 1.840 -8.870 -2.132 3.274 -9.494 -2.518 + 2.766 -9.505 -0.947 0.388 -3.391 1.530 -0.718 -3.127 0.971 1.000 + -2.450 2.274 1.936 -2.656 2.577 0.592 -1.042 2.199 -0.511 -1.109 + 2.274 1.090 -0.227 3.413 2.167 -0.381 3.636 0.892 0.858 3.308 + 0.529 -0.643 4.731 1.145 -1.282 5.732 2.184 -1.555 5.666 0.248 + -1.531 6.748 0.561 -1.906 7.636 -1.022 -1.069 6.433 -2.240 -1.098 + 7.122 -2.306 -1.528 8.122 -3.346 -0.492 6.535 -4.319 -0.508 7.052 + -3.254 0.126 5.276 -4.113 0.588 4.820 -1.999 0.138 4.618 -1.941 + 0.557 3.655 -0.851 -0.450 5.154 1.049 -0.404 0.867 2.129 -0.703 + 0.378 0.288 0.568 0.363 -0.626 0.711 0.758 0.547 1.228 -0.951 + 1.610 1.213 -1.161 -0.185 0.437 -2.060 0.193 -0.589 -1.908 -1.694 + 0.546 -2.062 -2.031 1.575 -1.926 -2.082 0.121 -2.987 -2.076 -0.132 + -1.278 0.216 0.846 -3.333 0.153 0.098 -3.982 0.060 2.665 -0.931 + -0.729 3.053 -0.077 0.484 3.508 -1.878 1.028 3.100 -2.635 -0.011 + 4.858 -2.129 -0.525 5.191 -1.224 1.142 5.789 -2.403 1.828 5.672 + -1.597 1.744 5.541 -3.320 0.790 7.212 -2.558 0.729 7.925 -3.682 + 0.922 7.509 -4.664 0.446 9.233 -3.442 0.401 9.920 -4.186 0.289 + 9.470 -2.115 0.001 10.613 -1.334 -0.199 11.597 -1.735 -0.075 10.549 + 0.073 -0.245 11.475 0.663 0.109 9.270 0.701 0.055 9.203 1.785 + 0.391 8.139 -0.095 0.614 7.254 0.484 0.489 8.221 -1.507 -1.033 + 4.824 -3.291 -0.815 4.193 -4.354 -2.145 5.551 -3.065 -2.246 5.961 + -2.138 -3.236 5.661 -4.062 -2.852 5.587 -5.071 -4.265 4.505 -3.833 + -4.650 4.459 -2.830 -5.212 4.664 -4.390 -3.809 3.134 -4.221 -2.907 + 2.848 -3.738 -4.646 2.465 -4.010 -3.514 2.921 -5.705 -4.413 3.160 + -6.287 -2.741 3.635 -6.083 -3.010 1.500 -5.988 -3.573 0.721 -5.414 + -3.112 1.304 -7.076 -1.601 1.269 -5.629 -1.423 1.549 -4.676 -1.376 + 0.281 -5.630 -0.986 1.761 -6.243 -3.941 7.044 -3.960 -3.772 7.781 + -2.967 -4.705 7.461 -5.001 -4.756 6.855 -5.796 -5.142 8.358 -4.890 + -2.763 9.138 -0.798 -3.013 8.511 -1.566 -1.736 9.251 -0.839 -3.134 + 10.087 -0.826 -3.247 8.597 0.442 -2.753 9.243 1.156 -4.775 8.604 + 0.539 -5.175 9.619 0.293 -5.235 7.851 -0.126 -5.095 8.362 1.934 + -6.029 8.119 2.034 -2.768 7.167 0.584 -2.442 6.537 -0.427 -2.734 + 6.580 1.817 -3.117 7.009 2.660 -2.439 5.178 1.976 -1.590 4.949 + 1.320 -1.880 4.945 3.414 -2.664 5.257 4.117 -1.601 3.950 3.621 + -0.713 5.824 3.746 -0.700 6.762 4.739 -1.484 6.973 5.434 0.574 + 7.363 4.740 0.839 8.016 5.466 1.409 6.895 3.729 2.655 7.192 + 3.327 3.241 8.031 3.743 3.249 6.431 2.289 4.303 6.626 2.079 + 2.522 5.436 1.677 2.959 4.882 0.918 1.227 5.084 2.066 0.737 + 4.197 1.686 0.580 5.828 3.119 -3.598 4.259 1.619 -4.760 4.696 + 1.624 -3.324 3.005 1.281 -2.359 2.742 1.095 -4.264 1.954 0.889 + -5.124 1.970 1.556 -4.756 2.203 -0.540 -3.891 2.512 -1.162 -5.552 + 1.076 -1.217 -6.385 0.710 -0.620 -5.980 1.364 -2.166 -4.889 0.245 + -1.442 -5.603 3.343 -0.535 -5.506 3.968 0.209 -3.649 0.595 1.091 + -2.420 0.495 1.154 -4.429 -0.466 1.201 -5.418 -0.309 1.124 -3.945 + -1.862 1.224 -2.854 -1.826 1.395 -4.730 -2.653 2.282 -4.769 -2.054 + 3.210 -5.781 -2.645 1.913 -4.207 -4.039 2.551 -4.832 -5.207 2.166 + -5.796 -5.277 1.649 -4.106 -6.255 2.657 -4.393 -7.215 2.584 -2.972 + -5.853 3.345 -1.962 -6.541 4.043 -1.978 -7.610 4.132 -0.916 -5.819 + 4.612 -0.136 -6.419 5.106 -0.940 -4.399 4.567 -0.226 -3.817 5.105 + -1.971 -3.769 3.920 -2.020 -2.682 3.938 -3.010 -4.458 3.299 -4.056 + -2.523 -0.203 -5.061 -2.366 -0.851 -3.029 -3.249 -0.631 -2.292 -3.350 + 0.059 -2.934 -3.782 -2.001 -3.956 -4.030 -2.335 -2.314 -2.682 -2.854 + -3.087 -1.910 -2.933 -1.452 -2.229 -2.401 -1.925 -3.052 -4.269 -1.038 + -3.777 -4.212 -2.763 -3.570 -4.734 -1.534 -1.774 -5.077 -0.518 -1.130 + -4.751 -2.280 -1.390 -5.982 -2.037 -5.038 -2.026 -0.892 -5.028 -1.575 + -2.558 -6.142 -2.549 -3.459 -6.125 -2.977 -1.790 -7.388 -2.748 -2.410 + -8.236 -2.989 -0.921 -7.257 -4.028 -0.235 -6.435 -3.908 -0.447 -8.212 + -4.290 -1.783 -6.865 -5.254 -2.889 -7.334 -5.424 -1.316 -5.988 -6.075 + -1.889 -5.815 -6.879 -0.368 -5.687 -5.982 -1.026 -7.905 -1.525 0.047 + -8.532 -1.678 -1.510 -7.644 -0.322 -2.379 -7.147 -0.263 -0.906 -7.953 + 0.969 -1.753 -8.039 1.660 -0.358 -8.910 0.984 0.163 -6.960 1.505 + 0.954 -7.284 2.363 0.218 -5.738 0.916 -0.449 -5.480 0.204 1.155 + -4.696 1.307 1.722 -4.935 2.196 2.149 -4.395 0.143 1.509 -4.215 + -0.751 2.731 -3.445 0.338 3.226 -5.508 -0.198 3.840 -5.099 -1.009 + 3.835 -5.704 0.655 2.557 -6.784 -0.758 2.213 -7.376 0.057 1.639 + -6.550 -1.306 3.450 -7.678 -1.597 3.658 -7.077 -2.487 4.397 -7.815 + -1.051 2.806 -8.956 -1.816 1.840 -8.870 -2.132 3.276 -9.495 -2.518 + 2.766 -9.502 -0.949 0.388 -3.392 1.530 -0.718 -3.126 0.970 1.000 + -2.451 2.274 1.937 -2.656 2.574 0.592 -1.042 2.199 -0.509 -1.112 + 2.274 1.090 -0.226 3.413 2.165 -0.382 3.638 0.892 0.857 3.309 + 0.530 -0.643 4.732 1.145 -1.282 5.732 2.186 -1.555 5.666 0.248 + -1.531 6.748 0.562 -1.904 7.636 -1.022 -1.069 6.433 -2.240 -1.098 + 7.122 -2.306 -1.527 8.121 -3.346 -0.492 6.535 -4.317 -0.509 7.051 + -3.254 0.126 5.276 -4.113 0.588 4.820 -1.999 0.138 4.618 -1.941 + 0.557 3.653 -0.851 -0.450 5.154 1.049 -0.405 0.866 2.130 -0.702 + 0.378 0.289 0.569 0.363 -0.628 0.711 0.758 0.548 1.228 -0.951 + 1.611 1.213 -1.161 -0.185 0.437 -2.060 0.193 -0.588 -1.906 -1.694 + 0.546 -2.062 -2.031 1.575 -1.926 -2.081 0.121 -2.987 -2.075 -0.131 + -1.279 0.216 0.846 -3.333 0.153 0.097 -3.983 0.060 2.665 -0.931 + -0.728 3.053 -0.077 0.483 3.509 -1.878 1.027 3.101 -2.635 -0.011 + 4.859 -2.129 -0.525 5.192 -1.224 1.141 5.790 -2.404 1.828 5.671 + -1.596 1.743 5.542 -3.317 0.790 7.212 -2.558 0.729 7.925 -3.682 + 0.921 7.510 -4.663 0.446 9.232 -3.442 0.401 9.919 -4.187 0.290 + 9.470 -2.115 0.002 10.612 -1.334 -0.200 11.597 -1.734 -0.074 10.549 + 0.073 -0.244 11.474 0.663 0.109 9.270 0.702 0.054 9.203 1.784 + 0.391 8.139 -0.096 0.615 7.254 0.484 0.489 8.221 -1.507 -1.033 + 4.824 -3.291 -0.816 4.193 -4.355 -2.145 5.552 -3.064 -2.245 5.961 + -2.138 -3.236 5.661 -4.062 -2.850 5.587 -5.073 -4.265 4.504 -3.832 + -4.650 4.458 -2.829 -5.211 4.662 -4.388 -3.809 3.135 -4.222 -2.906 + 2.847 -3.739 -4.646 2.467 -4.011 -3.514 2.921 -5.705 -4.412 3.161 + -6.287 -2.742 3.633 -6.083 -3.010 1.500 -5.988 -3.571 0.721 -5.414 + -3.111 1.304 -7.075 -1.601 1.269 -5.628 -1.423 1.549 -4.677 -1.376 + 0.278 -5.629 -0.985 1.761 -6.245 -3.942 7.044 -3.960 -3.773 7.780 + -2.967 -4.705 7.461 -5.002 -4.755 6.856 -5.798 -5.142 8.359 -4.890 + -2.763 9.138 -0.799 -3.011 8.511 -1.565 -1.738 9.253 -0.839 -3.135 + 10.085 -0.825 -3.247 8.597 0.442 -2.753 9.244 1.155 -4.776 8.603 + 0.538 -5.175 9.616 0.292 -5.235 7.850 -0.126 -5.095 8.362 1.934 + -6.031 8.118 2.035 -2.768 7.167 0.584 -2.443 6.536 -0.427 -2.735 + 6.580 1.818 -3.117 7.007 2.660 -2.440 5.178 1.976 -1.591 4.950 + 1.321 -1.880 4.946 3.414 -2.663 5.259 4.117 -1.601 3.947 3.623 + -0.713 5.824 3.746 -0.700 6.762 4.739 -1.485 6.973 5.436 0.575 + 7.363 4.740 0.840 8.014 5.467 1.409 6.895 3.729 2.655 7.192 + 3.326 3.239 8.031 3.740 3.249 6.431 2.289 4.304 6.625 2.081 + 2.522 5.437 1.677 2.961 4.881 0.916 1.228 5.084 2.065 0.738 + 4.195 1.687 0.580 5.828 3.119 -3.598 4.259 1.619 -4.760 4.696 + 1.624 -3.324 3.005 1.280 -2.359 2.743 1.093 -4.264 1.954 0.889 + -5.123 1.970 1.556 -4.756 2.203 -0.540 -3.893 2.513 -1.162 -5.552 + 1.075 -1.217 -6.385 0.709 -0.621 -5.980 1.363 -2.167 -4.889 0.245 + -1.442 -5.603 3.342 -0.534 -5.507 3.970 0.212 -3.648 0.595 1.091 + -2.420 0.495 1.154 -4.429 -0.465 1.202 -5.418 -0.307 1.125 -3.945 + -1.861 1.224 -2.855 -1.825 1.394 -4.731 -2.652 2.283 -4.770 -2.054 + 3.210 -5.779 -2.645 1.912 -4.207 -4.039 2.551 -4.832 -5.207 2.166 + -5.796 -5.278 1.649 -4.106 -6.255 2.656 -4.392 -7.214 2.583 -2.972 + -5.853 3.345 -1.962 -6.541 4.043 -1.977 -7.610 4.133 -0.916 -5.818 + 4.612 -0.137 -6.419 5.105 -0.941 -4.398 4.567 -0.227 -3.815 5.107 + -1.972 -3.770 3.921 -2.022 -2.683 3.940 -3.010 -4.458 3.299 -4.056 + -2.523 -0.203 -5.061 -2.366 -0.851 -3.029 -3.249 -0.631 -2.291 -3.351 + 0.061 -2.934 -3.782 -2.001 -3.956 -4.030 -2.334 -2.314 -2.682 -2.854 + -3.088 -1.912 -2.934 -1.451 -2.228 -2.400 -1.925 -3.052 -4.269 -1.040 + -3.774 -4.211 -2.764 -3.571 -4.734 -1.534 -1.774 -5.076 -0.518 -1.130 + -4.751 -2.280 -1.390 -5.982 -2.038 -5.037 -2.026 -0.892 -5.028 -1.575 + -2.558 -6.142 -2.549 -3.462 -6.125 -2.979 -1.790 -7.387 -2.748 -2.410 + -8.238 -2.989 -0.921 -7.257 -4.027 -0.235 -6.434 -3.908 -0.446 -8.212 + -4.291 -1.783 -6.865 -5.254 -2.889 -7.335 -5.425 -1.316 -5.988 -6.074 + -1.888 -5.815 -6.879 -0.365 -5.688 -5.982 -1.026 -7.905 -1.525 0.047 + -8.532 -1.678 -1.510 -7.645 -0.322 -2.380 -7.148 -0.263 -0.907 -7.953 + 0.970 -1.753 -8.038 1.658 -0.358 -8.909 0.985 0.163 -6.960 1.505 + 0.954 -7.284 2.364 0.219 -5.738 0.916 -0.450 -5.479 0.202 1.155 + -4.697 1.308 1.722 -4.936 2.196 2.149 -4.395 0.143 1.508 -4.216 + -0.750 2.729 -3.445 0.337 3.226 -5.508 -0.198 3.840 -5.099 -1.010 + 3.837 -5.704 0.657 2.558 -6.784 -0.758 2.213 -7.377 0.057 1.638 + -6.550 -1.305 3.450 -7.678 -1.597 3.657 -7.077 -2.487 4.397 -7.815 + -1.052 2.806 -8.956 -1.815 1.839 -8.870 -2.133 3.277 -9.496 -2.519 + 2.765 -9.500 -0.950 0.388 -3.393 1.530 -0.719 -3.126 0.970 1.001 + -2.451 2.274 1.938 -2.657 2.572 0.592 -1.043 2.199 -0.508 -1.114 + 2.275 1.089 -0.226 3.413 2.163 -0.382 3.640 0.891 0.856 3.310 + 0.530 -0.643 4.732 1.145 -1.282 5.732 2.187 -1.555 5.665 0.248 + -1.531 6.747 0.562 -1.902 7.636 -1.022 -1.070 6.432 -2.240 -1.099 + 7.121 -2.306 -1.527 8.121 -3.346 -0.493 6.534 -4.315 -0.509 7.049 + -3.254 0.125 5.275 -4.113 0.589 4.819 -1.999 0.138 4.619 -1.940 + 0.557 3.651 -0.851 -0.450 5.154 1.049 -0.405 0.866 2.130 -0.702 + 0.379 0.289 0.569 0.363 -0.630 0.710 0.758 0.548 1.228 -0.951 + 1.612 1.213 -1.161 -0.185 0.437 -2.059 0.193 -0.587 -1.904 -1.694 + 0.547 -2.062 -2.030 1.575 -1.927 -2.080 0.122 -2.986 -2.075 -0.131 + -1.279 0.216 0.845 -3.333 0.153 0.096 -3.983 0.060 2.665 -0.931 + -0.728 3.052 -0.077 0.483 3.509 -1.878 1.025 3.103 -2.635 -0.012 + 4.859 -2.129 -0.525 5.192 -1.224 1.141 5.790 -2.404 1.829 5.671 + -1.595 1.743 5.544 -3.315 0.790 7.212 -2.558 0.729 7.925 -3.681 + 0.921 7.510 -4.662 0.447 9.232 -3.442 0.401 9.919 -4.188 0.290 + 9.470 -2.116 0.002 10.612 -1.333 -0.201 11.598 -1.734 -0.074 10.549 + 0.074 -0.244 11.473 0.662 0.109 9.270 0.702 0.052 9.202 1.783 + 0.392 8.139 -0.096 0.616 7.254 0.485 0.489 8.221 -1.508 -1.033 + 4.824 -3.291 -0.816 4.192 -4.355 -2.145 5.552 -3.064 -2.245 5.961 + -2.138 -3.235 5.661 -4.062 -2.849 5.587 -5.074 -4.264 4.503 -3.832 + -4.650 4.456 -2.827 -5.209 4.661 -4.385 -3.809 3.135 -4.222 -2.904 + 2.846 -3.740 -4.647 2.469 -4.013 -3.514 2.921 -5.705 -4.412 3.162 + -6.288 -2.743 3.631 -6.083 -3.010 1.500 -5.988 -3.570 0.721 -5.415 + -3.110 1.305 -7.074 -1.602 1.269 -5.628 -1.424 1.550 -4.678 -1.375 + 0.275 -5.628 -0.985 1.761 -6.246 -3.942 7.044 -3.960 -3.773 7.780 + -2.966 -4.705 7.462 -5.002 -4.755 6.856 -5.800 -5.142 8.360 -4.890 + -2.762 9.137 -0.799 -3.009 8.511 -1.563 -1.739 9.254 -0.839 -3.135 + 10.083 -0.824 -3.247 8.597 0.441 -2.752 9.246 1.153 -4.776 8.602 + 0.537 -5.175 9.613 0.291 -5.235 7.849 -0.126 -5.095 8.361 1.933 + -6.032 8.117 2.036 -2.768 7.167 0.585 -2.443 6.536 -0.426 -2.735 + 6.580 1.818 -3.116 7.005 2.660 -2.440 5.179 1.976 -1.592 4.951 + 1.321 -1.880 4.946 3.414 -2.662 5.261 4.117 -1.601 3.945 3.625 + -0.713 5.824 3.746 -0.700 6.763 4.740 -1.486 6.973 5.438 0.575 + 7.363 4.740 0.840 8.012 5.467 1.409 6.896 3.729 2.656 7.193 + 3.326 3.238 8.030 3.738 3.249 6.432 2.289 4.304 6.624 2.083 + 2.522 5.438 1.678 2.963 4.880 0.914 1.228 5.084 2.065 0.739 + 4.192 1.688 0.580 5.828 3.119 -3.598 4.259 1.618 -4.760 4.696 + 1.623 -3.324 3.005 1.280 -2.358 2.744 1.090 -4.263 1.954 0.888 + -5.121 1.969 1.555 -4.756 2.203 -0.540 -3.894 2.514 -1.161 -5.552 + 1.075 -1.217 -6.385 0.707 -0.621 -5.980 1.361 -2.168 -4.888 0.244 + -1.442 -5.603 3.342 -0.534 -5.509 3.971 0.214 -3.648 0.596 1.091 + -2.420 0.495 1.154 -4.429 -0.465 1.202 -5.418 -0.306 1.126 -3.945 + -1.861 1.224 -2.855 -1.825 1.393 -4.731 -2.652 2.283 -4.772 -2.054 + 3.210 -5.778 -2.644 1.911 -4.206 -4.038 2.551 -4.831 -5.206 2.165 + -5.795 -5.278 1.649 -4.106 -6.254 2.656 -4.391 -7.213 2.581 -2.972 + -5.853 3.345 -1.963 -6.540 4.043 -1.977 -7.611 4.133 -0.916 -5.818 + 4.612 -0.138 -6.419 5.104 -0.941 -4.398 4.567 -0.228 -3.814 5.108 + -1.972 -3.770 3.921 -2.023 -2.684 3.941 -3.010 -4.458 3.300 -4.056 + -2.523 -0.203 -5.061 -2.366 -0.851 -3.029 -3.249 -0.632 -2.290 -3.353 + 0.063 -2.935 -3.782 -2.001 -3.955 -4.029 -2.334 -2.314 -2.682 -2.854 + -3.089 -1.913 -2.934 -1.450 -2.226 -2.399 -1.924 -3.052 -4.268 -1.043 + -3.771 -4.210 -2.764 -3.572 -4.733 -1.534 -1.774 -5.076 -0.518 -1.130 + -4.752 -2.280 -1.391 -5.983 -2.038 -5.037 -2.026 -0.892 -5.028 -1.575 + -2.558 -6.142 -2.549 -3.464 -6.124 -2.980 -1.791 -7.387 -2.747 -2.409 + -8.240 -2.989 -0.921 -7.257 -4.027 -0.235 -6.433 -3.908 -0.446 -8.213 + -4.291 -1.783 -6.865 -5.254 -2.889 -7.335 -5.425 -1.316 -5.988 -6.073 + -1.887 -5.816 -6.878 -0.363 -5.690 -5.982 -1.026 -7.905 -1.525 0.046 + -8.532 -1.678 -1.510 -7.645 -0.322 -2.381 -7.150 -0.263 -0.907 -7.953 + 0.970 -1.754 -8.038 1.657 -0.357 -8.909 0.985 0.163 -6.960 1.505 + 0.954 -7.283 2.364 0.219 -5.738 0.916 -0.451 -5.478 0.200 1.155 + -4.698 1.308 1.723 -4.936 2.197 2.149 -4.394 0.144 1.506 -4.218 + -0.749 2.726 -3.446 0.335 3.227 -5.507 -0.198 3.839 -5.098 -1.011 + 3.839 -5.704 0.658 2.558 -6.784 -0.758 2.212 -7.378 0.058 1.638 + -6.550 -1.305 3.449 -7.677 -1.597 3.657 -7.076 -2.487 4.396 -7.815 + -1.053 2.806 -8.956 -1.814 1.839 -8.870 -2.133 3.278 -9.497 -2.519 + 2.765 -9.498 -0.951 0.387 -3.394 1.530 -0.719 -3.126 0.970 1.001 + -2.452 2.274 1.939 -2.657 2.570 0.592 -1.044 2.199 -0.507 -1.116 + 2.275 1.088 -0.226 3.413 2.162 -0.382 3.641 0.891 0.855 3.310 + 0.530 -0.643 4.732 1.145 -1.282 5.732 2.189 -1.555 5.665 0.248 + -1.531 6.747 0.563 -1.900 7.637 -1.022 -1.070 6.432 -2.240 -1.100 + 7.121 -2.306 -1.526 8.120 -3.346 -0.493 6.534 -4.313 -0.509 7.048 + -3.254 0.125 5.275 -4.113 0.589 4.818 -1.998 0.138 4.619 -1.940 + 0.558 3.649 -0.850 -0.450 5.153 1.049 -0.406 0.866 2.130 -0.701 + 0.379 0.289 0.569 0.363 -0.632 0.709 0.757 0.549 1.228 -0.951 + 1.612 1.214 -1.161 -0.185 0.437 -2.059 0.194 -0.586 -1.903 -1.694 + 0.547 -2.062 -2.030 1.576 -1.928 -2.080 0.122 -2.986 -2.074 -0.131 + -1.280 0.216 0.844 -3.333 0.153 0.095 -3.984 0.061 2.665 -0.931 + -0.727 3.052 -0.077 0.483 3.510 -1.878 1.024 3.104 -2.634 -0.012 + 4.860 -2.129 -0.526 5.192 -1.224 1.141 5.790 -2.405 1.830 5.670 + -1.593 1.742 5.545 -3.312 0.790 7.212 -2.558 0.729 7.925 -3.681 + 0.921 7.510 -4.662 0.448 9.232 -3.442 0.401 9.919 -4.189 0.291 + 9.470 -2.116 0.003 10.612 -1.333 -0.202 11.598 -1.733 -0.074 10.549 + 0.074 -0.244 11.472 0.661 0.109 9.269 0.703 0.052 9.202 1.782 + 0.392 8.139 -0.096 0.617 7.253 0.485 0.490 8.221 -1.508 -1.033 + 4.824 -3.291 -0.817 4.192 -4.355 -2.145 5.553 -3.063 -2.244 5.961 + -2.138 -3.235 5.661 -4.062 -2.848 5.587 -5.076 -4.264 4.503 -3.832 + -4.651 4.455 -2.826 -5.207 4.659 -4.383 -3.809 3.135 -4.223 -2.902 + 2.844 -3.741 -4.647 2.471 -4.014 -3.514 2.922 -5.706 -4.411 3.163 + -6.288 -2.744 3.629 -6.083 -3.010 1.499 -5.988 -3.568 0.721 -5.416 + -3.109 1.305 -7.073 -1.602 1.268 -5.628 -1.424 1.551 -4.679 -1.375 + 0.271 -5.626 -0.984 1.760 -6.248 -3.942 7.044 -3.960 -3.773 7.780 + -2.966 -4.705 7.463 -5.002 -4.755 6.857 -5.802 -5.142 8.361 -4.889 + -2.762 9.137 -0.799 -3.007 8.512 -1.562 -1.741 9.255 -0.840 -3.136 + 10.080 -0.824 -3.247 8.597 0.441 -2.751 9.247 1.152 -4.777 8.601 + 0.536 -5.176 9.610 0.290 -5.234 7.848 -0.127 -5.095 8.361 1.933 + -6.034 8.115 2.036 -2.768 7.167 0.585 -2.443 6.535 -0.426 -2.735 + 6.580 1.819 -3.116 7.003 2.660 -2.440 5.179 1.975 -1.592 4.952 + 1.322 -1.879 4.947 3.414 -2.661 5.263 4.117 -1.601 3.943 3.627 + -0.713 5.825 3.746 -0.700 6.763 4.740 -1.487 6.973 5.440 0.576 + 7.362 4.740 0.841 8.010 5.468 1.409 6.896 3.728 2.656 7.193 + 3.326 3.236 8.029 3.736 3.249 6.432 2.290 4.305 6.622 2.085 + 2.521 5.438 1.678 2.965 4.879 0.912 1.228 5.084 2.065 0.740 + 4.190 1.689 0.581 5.828 3.119 -3.598 4.259 1.618 -4.760 4.696 + 1.623 -3.323 3.006 1.279 -2.357 2.744 1.087 -4.262 1.954 0.888 + -5.119 1.969 1.555 -4.756 2.203 -0.540 -3.896 2.515 -1.161 -5.552 + 1.074 -1.218 -6.385 0.706 -0.622 -5.980 1.360 -2.168 -4.888 0.244 + -1.441 -5.603 3.342 -0.533 -5.510 3.972 0.216 -3.648 0.596 1.091 + -2.420 0.495 1.153 -4.429 -0.464 1.203 -5.418 -0.306 1.127 -3.945 + -1.860 1.224 -2.855 -1.824 1.391 -4.731 -2.651 2.283 -4.773 -2.054 + 3.209 -5.776 -2.644 1.911 -4.206 -4.038 2.551 -4.831 -5.206 2.164 + -5.794 -5.279 1.649 -4.105 -6.254 2.655 -4.390 -7.212 2.580 -2.972 + -5.853 3.345 -1.963 -6.540 4.043 -1.977 -7.611 4.134 -0.915 -5.818 + 4.612 -0.139 -6.419 5.103 -0.941 -4.398 4.568 -0.229 -3.813 5.110 + -1.972 -3.770 3.922 -2.024 -2.686 3.942 -3.010 -4.458 3.300 -4.056 + -2.522 -0.203 -5.061 -2.366 -0.851 -3.029 -3.248 -0.632 -2.290 -3.354 + 0.065 -2.935 -3.782 -2.001 -3.955 -4.028 -2.333 -2.314 -2.682 -2.854 + -3.089 -1.914 -2.934 -1.449 -2.225 -2.399 -1.924 -3.052 -4.267 -1.045 + -3.768 -4.208 -2.764 -3.573 -4.732 -1.534 -1.773 -5.076 -0.517 -1.130 + -4.752 -2.280 -1.391 -5.983 -2.038 -5.037 -2.026 -0.892 -5.029 -1.575 + -2.558 -6.142 -2.550 -3.467 -6.124 -2.982 -1.791 -7.387 -2.747 -2.409 + -8.242 -2.989 -0.921 -7.257 -4.027 -0.235 -6.432 -3.908 -0.446 -8.214 + -4.291 -1.783 -6.865 -5.254 -2.888 -7.335 -5.425 -1.317 -5.987 -6.072 + -1.886 -5.817 -6.878 -0.360 -5.691 -5.981 -1.027 -7.905 -1.525 0.046 + -8.532 -1.679 -1.510 -7.645 -0.322 -2.382 -7.151 -0.262 -0.907 -7.953 + 0.970 -1.754 -8.038 1.655 -0.358 -8.908 0.986 0.163 -6.960 1.505 + 0.954 -7.282 2.365 0.220 -5.738 0.916 -0.452 -5.477 0.198 1.155 + -4.698 1.309 1.724 -4.937 2.198 2.148 -4.394 0.144 1.504 -4.220 + -0.748 2.724 -3.446 0.333 3.228 -5.507 -0.198 3.839 -5.098 -1.011 + 3.842 -5.704 0.660 2.558 -6.783 -0.759 2.212 -7.379 0.058 1.638 + -6.550 -1.304 3.449 -7.677 -1.597 3.656 -7.075 -2.487 4.395 -7.816 + -1.053 2.806 -8.955 -1.814 1.838 -8.870 -2.134 3.280 -9.497 -2.520 + 2.764 -9.496 -0.953 0.387 -3.395 1.530 -0.719 -3.125 0.970 1.001 + -2.453 2.274 1.941 -2.657 2.568 0.592 -1.045 2.199 -0.506 -1.118 + 2.275 1.088 -0.225 3.413 2.160 -0.382 3.643 0.891 0.854 3.311 + 0.530 -0.643 4.732 1.144 -1.282 5.732 2.190 -1.555 5.665 0.248 + -1.531 6.747 0.564 -1.899 7.637 -1.022 -1.070 6.431 -2.240 -1.100 + 7.121 -2.307 -1.526 8.119 -3.346 -0.493 6.533 -4.310 -0.509 7.047 + -3.254 0.125 5.275 -4.113 0.589 4.818 -1.998 0.138 4.619 -1.939 + 0.558 3.647 -0.850 -0.450 5.153 1.049 -0.406 0.866 2.131 -0.701 + 0.379 0.290 0.570 0.363 -0.634 0.709 0.757 0.549 1.228 -0.951 + 1.613 1.214 -1.161 -0.185 0.437 -2.059 0.194 -0.585 -1.901 -1.694 + 0.548 -2.062 -2.030 1.576 -1.929 -2.079 0.122 -2.986 -2.074 -0.130 + -1.281 0.216 0.843 -3.333 0.153 0.094 -3.984 0.061 2.665 -0.932 + -0.727 3.052 -0.077 0.483 3.510 -1.877 1.022 3.105 -2.634 -0.012 + 4.861 -2.129 -0.526 5.192 -1.224 1.140 5.790 -2.405 1.831 5.670 + -1.592 1.741 5.547 -3.310 0.790 7.212 -2.558 0.729 7.925 -3.681 + 0.920 7.510 -4.661 0.448 9.232 -3.442 0.401 9.919 -4.190 0.292 + 9.470 -2.116 0.003 10.612 -1.333 -0.203 11.598 -1.732 -0.073 10.549 + 0.074 -0.243 11.471 0.660 0.109 9.269 0.703 0.051 9.201 1.782 + 0.392 8.139 -0.097 0.618 7.253 0.486 0.490 8.221 -1.509 -1.033 + 4.824 -3.291 -0.817 4.191 -4.356 -2.144 5.553 -3.063 -2.244 5.961 + -2.138 -3.234 5.661 -4.061 -2.847 5.587 -5.078 -4.263 4.502 -3.832 + -4.651 4.453 -2.824 -5.205 4.658 -4.381 -3.809 3.136 -4.224 -2.901 + 2.843 -3.742 -4.648 2.472 -4.016 -3.514 2.922 -5.706 -4.411 3.164 + -6.289 -2.745 3.628 -6.082 -3.010 1.499 -5.988 -3.566 0.722 -5.417 + -3.109 1.305 -7.072 -1.602 1.268 -5.628 -1.425 1.551 -4.680 -1.375 + 0.268 -5.625 -0.983 1.760 -6.249 -3.942 7.044 -3.960 -3.773 7.780 + -2.966 -4.705 7.464 -5.002 -4.755 6.858 -5.804 -5.141 8.362 -4.889 + -2.762 9.136 -0.800 -3.005 8.512 -1.561 -1.743 9.257 -0.840 -3.137 + 10.078 -0.823 -3.247 8.597 0.440 -2.751 9.248 1.151 -4.777 8.600 + 0.535 -5.176 9.607 0.290 -5.234 7.847 -0.127 -5.095 8.361 1.933 + -6.036 8.114 2.037 -2.768 7.168 0.586 -2.444 6.534 -0.426 -2.736 + 6.580 1.820 -3.116 7.002 2.659 -2.441 5.179 1.975 -1.593 4.952 + 1.323 -1.879 4.947 3.414 -2.660 5.265 4.118 -1.601 3.940 3.629 + -0.713 5.825 3.746 -0.700 6.763 4.740 -1.488 6.973 5.442 0.576 + 7.362 4.741 0.841 8.008 5.468 1.410 6.896 3.728 2.656 7.194 + 3.325 3.235 8.029 3.734 3.249 6.432 2.290 4.305 6.621 2.087 + 2.521 5.439 1.678 2.968 4.877 0.910 1.228 5.083 2.065 0.741 + 4.188 1.689 0.581 5.828 3.119 -3.598 4.259 1.617 -4.760 4.696 + 1.623 -3.323 3.006 1.279 -2.356 2.745 1.085 -4.262 1.954 0.888 + -5.118 1.969 1.555 -4.756 2.202 -0.540 -3.898 2.516 -1.160 -5.551 + 1.074 -1.218 -6.385 0.705 -0.622 -5.980 1.358 -2.169 -4.887 0.243 + -1.441 -5.603 3.342 -0.533 -5.511 3.974 0.219 -3.647 0.597 1.091 + -2.420 0.495 1.153 -4.428 -0.463 1.203 -5.418 -0.305 1.128 -3.945 + -1.860 1.224 -2.856 -1.824 1.390 -4.731 -2.651 2.283 -4.775 -2.054 + 3.209 -5.774 -2.644 1.910 -4.206 -4.038 2.551 -4.831 -5.206 2.163 + -5.793 -5.279 1.649 -4.105 -6.253 2.655 -4.389 -7.211 2.578 -2.971 + -5.853 3.345 -1.963 -6.539 4.043 -1.976 -7.612 4.135 -0.915 -5.818 + 4.612 -0.140 -6.419 5.102 -0.941 -4.397 4.568 -0.229 -3.811 5.112 + -1.973 -3.770 3.922 -2.025 -2.687 3.943 -3.010 -4.458 3.301 -4.056 + -2.522 -0.203 -5.060 -2.366 -0.851 -3.029 -3.248 -0.632 -2.289 -3.355 + 0.066 -2.936 -3.782 -2.001 -3.955 -4.028 -2.333 -2.314 -2.682 -2.853 + -3.090 -1.915 -2.934 -1.449 -2.224 -2.398 -1.923 -3.052 -4.267 -1.047 + -3.766 -4.207 -2.764 -3.573 -4.731 -1.533 -1.773 -5.076 -0.517 -1.129 + -4.752 -2.280 -1.392 -5.983 -2.038 -5.037 -2.026 -0.892 -5.029 -1.574 + -2.558 -6.142 -2.550 -3.469 -6.124 -2.983 -1.791 -7.386 -2.747 -2.409 + -8.243 -2.989 -0.921 -7.258 -4.026 -0.235 -6.431 -3.908 -0.445 -8.215 + -4.291 -1.783 -6.865 -5.254 -2.888 -7.335 -5.426 -1.317 -5.987 -6.071 + -1.885 -5.817 -6.878 -0.358 -5.692 -5.981 -1.027 -7.905 -1.524 0.046 + -8.531 -1.679 -1.510 -7.646 -0.322 -2.383 -7.151 -0.262 -0.907 -7.953 + 0.970 -1.755 -8.038 1.654 -0.358 -8.907 0.987 0.163 -6.960 1.505 + 0.955 -7.281 2.366 0.220 -5.739 0.916 -0.453 -5.476 0.196 1.156 + -4.699 1.309 1.724 -4.938 2.199 2.148 -4.394 0.144 1.503 -4.221 + -0.746 2.721 -3.447 0.331 3.228 -5.507 -0.197 3.839 -5.097 -1.012 + 3.844 -5.705 0.661 2.559 -6.783 -0.759 2.212 -7.380 0.059 1.637 + -6.550 -1.304 3.449 -7.677 -1.597 3.656 -7.075 -2.487 4.394 -7.816 + -1.054 2.805 -8.955 -1.813 1.838 -8.871 -2.134 3.281 -9.498 -2.520 + 2.763 -9.493 -0.954 0.387 -3.396 1.530 -0.719 -3.125 0.969 1.002 + -2.454 2.274 1.942 -2.657 2.566 0.592 -1.046 2.199 -0.505 -1.121 + 2.276 1.087 -0.225 3.414 2.159 -0.383 3.644 0.891 0.853 3.312 + 0.531 -0.643 4.732 1.144 -1.281 5.732 2.191 -1.556 5.664 0.248 + -1.531 6.747 0.564 -1.897 7.638 -1.022 -1.071 6.430 -2.241 -1.101 + 7.120 -2.307 -1.526 8.118 -3.346 -0.493 6.533 -4.308 -0.510 7.046 + -3.254 0.125 5.275 -4.113 0.589 4.817 -1.998 0.138 4.620 -1.939 + 0.558 3.645 -0.850 -0.450 5.153 1.049 -0.406 0.865 2.131 -0.700 + 0.380 0.290 0.570 0.363 -0.636 0.708 0.757 0.550 1.228 -0.951 + 1.614 1.214 -1.162 -0.185 0.437 -2.059 0.194 -0.585 -1.900 -1.694 + 0.548 -2.062 -2.030 1.576 -1.930 -2.078 0.123 -2.986 -2.073 -0.130 + -1.281 0.216 0.842 -3.333 0.153 0.093 -3.984 0.061 2.665 -0.932 + -0.726 3.052 -0.077 0.482 3.511 -1.877 1.020 3.106 -2.633 -0.012 + 4.861 -2.129 -0.526 5.192 -1.224 1.140 5.790 -2.406 1.831 5.669 + -1.591 1.741 5.548 -3.307 0.790 7.212 -2.558 0.729 7.925 -3.681 + 0.920 7.510 -4.661 0.449 9.232 -3.442 0.401 9.918 -4.190 0.292 + 9.470 -2.117 0.004 10.612 -1.332 -0.204 11.599 -1.732 -0.073 10.549 + 0.075 -0.243 11.470 0.659 0.109 9.269 0.704 0.050 9.200 1.781 + 0.393 8.139 -0.097 0.619 7.253 0.486 0.491 8.221 -1.509 -1.033 + 4.824 -3.291 -0.818 4.190 -4.356 -2.144 5.554 -3.062 -2.243 5.962 + -2.138 -3.234 5.661 -4.061 -2.846 5.587 -5.080 -4.263 4.501 -3.832 + -4.651 4.451 -2.822 -5.203 4.657 -4.378 -3.809 3.136 -4.224 -2.899 + 2.842 -3.743 -4.649 2.474 -4.017 -3.514 2.922 -5.706 -4.410 3.165 + -6.289 -2.747 3.626 -6.082 -3.010 1.499 -5.988 -3.564 0.722 -5.418 + -3.108 1.306 -7.071 -1.602 1.267 -5.627 -1.425 1.552 -4.681 -1.374 + 0.265 -5.624 -0.983 1.760 -6.250 -3.942 7.044 -3.960 -3.773 7.780 + -2.966 -4.705 7.464 -5.002 -4.755 6.858 -5.806 -5.141 8.363 -4.889 + -2.762 9.136 -0.800 -3.003 8.512 -1.559 -1.745 9.258 -0.840 -3.137 + 10.076 -0.823 -3.247 8.597 0.439 -2.750 9.249 1.149 -4.778 8.600 + 0.535 -5.177 9.603 0.289 -5.234 7.846 -0.128 -5.095 8.361 1.933 + -6.037 8.112 2.038 -2.768 7.168 0.586 -2.444 6.534 -0.425 -2.736 + 6.580 1.821 -3.116 7.000 2.659 -2.441 5.179 1.975 -1.594 4.953 + 1.323 -1.879 4.948 3.414 -2.659 5.267 4.118 -1.600 3.937 3.632 + -0.713 5.825 3.746 -0.699 6.763 4.740 -1.489 6.973 5.444 0.577 + 7.362 4.741 0.842 8.006 5.468 1.410 6.897 3.728 2.657 7.195 + 3.325 3.233 8.028 3.732 3.249 6.432 2.290 4.305 6.620 2.089 + 2.521 5.440 1.679 2.970 4.876 0.908 1.229 5.083 2.065 0.742 + 4.186 1.690 0.581 5.828 3.119 -3.598 4.259 1.617 -4.760 4.696 + 1.622 -3.323 3.006 1.278 -2.355 2.746 1.082 -4.261 1.954 0.887 + -5.116 1.969 1.555 -4.755 2.202 -0.540 -3.899 2.516 -1.160 -5.551 + 1.073 -1.218 -6.385 0.703 -0.622 -5.980 1.357 -2.170 -4.887 0.242 + -1.441 -5.603 3.342 -0.533 -5.513 3.975 0.221 -3.647 0.597 1.091 + -2.420 0.495 1.153 -4.428 -0.463 1.203 -5.418 -0.304 1.129 -3.945 + -1.859 1.224 -2.856 -1.823 1.389 -4.731 -2.650 2.283 -4.776 -2.053 + 3.208 -5.773 -2.643 1.909 -4.206 -4.038 2.551 -4.830 -5.206 2.162 + -5.792 -5.279 1.649 -4.105 -6.253 2.654 -4.387 -7.210 2.577 -2.971 + -5.852 3.344 -1.963 -6.538 4.043 -1.976 -7.613 4.135 -0.915 -5.817 + 4.612 -0.141 -6.419 5.102 -0.941 -4.397 4.568 -0.230 -3.810 5.114 + -1.973 -3.770 3.923 -2.026 -2.689 3.944 -3.010 -4.458 3.301 -4.055 + -2.522 -0.203 -5.060 -2.366 -0.851 -3.029 -3.248 -0.633 -2.288 -3.356 + 0.068 -2.936 -3.782 -2.001 -3.954 -4.027 -2.332 -2.315 -2.682 -2.853 + -3.090 -1.916 -2.934 -1.448 -2.222 -2.397 -1.923 -3.052 -4.266 -1.050 + -3.763 -4.206 -2.765 -3.574 -4.731 -1.533 -1.772 -5.075 -0.517 -1.129 + -4.752 -2.280 -1.392 -5.983 -2.039 -5.036 -2.026 -0.892 -5.029 -1.574 + -2.558 -6.142 -2.550 -3.472 -6.123 -2.985 -1.791 -7.386 -2.746 -2.409 + -8.245 -2.989 -0.921 -7.258 -4.026 -0.235 -6.430 -3.908 -0.445 -8.215 + -4.291 -1.783 -6.865 -5.254 -2.888 -7.335 -5.426 -1.317 -5.986 -6.070 + -1.884 -5.818 -6.878 -0.355 -5.693 -5.981 -1.027 -7.904 -1.524 0.046 + -8.531 -1.679 -1.509 -7.646 -0.322 -2.384 -7.152 -0.262 -0.907 -7.953 + 0.971 -1.756 -8.037 1.653 -0.358 -8.906 0.988 0.164 -6.960 1.505 + 0.955 -7.281 2.366 0.221 -5.739 0.916 -0.455 -5.474 0.194 1.156 + -4.700 1.310 1.724 -4.939 2.200 2.148 -4.394 0.144 1.501 -4.223 + -0.745 2.719 -3.447 0.329 3.229 -5.506 -0.197 3.839 -5.097 -1.012 + 3.847 -5.705 0.662 2.559 -6.783 -0.760 2.211 -7.381 0.059 1.637 + -6.550 -1.304 3.449 -7.677 -1.597 3.656 -7.074 -2.488 4.394 -7.816 + -1.054 2.805 -8.955 -1.812 1.838 -8.871 -2.134 3.283 -9.499 -2.520 + 2.763 -9.491 -0.955 0.387 -3.396 1.530 -0.720 -3.125 0.969 1.002 + -2.454 2.274 1.943 -2.658 2.564 0.592 -1.046 2.199 -0.504 -1.123 + 2.276 1.087 -0.224 3.414 2.157 -0.383 3.646 0.890 0.852 3.312 + 0.531 -0.643 4.732 1.144 -1.281 5.732 2.193 -1.556 5.664 0.248 + -1.531 6.747 0.565 -1.895 7.638 -1.023 -1.071 6.430 -2.241 -1.102 + 7.120 -2.307 -1.525 8.117 -3.346 -0.494 6.532 -4.305 -0.510 7.045 + -3.254 0.125 5.275 -4.113 0.589 4.816 -1.998 0.138 4.620 -1.938 + 0.559 3.643 -0.849 -0.450 5.153 1.048 -0.407 0.865 2.131 -0.700 + 0.380 0.291 0.570 0.363 -0.638 0.707 0.757 0.550 1.228 -0.951 + 1.615 1.214 -1.162 -0.185 0.438 -2.059 0.194 -0.584 -1.899 -1.694 + 0.549 -2.063 -2.029 1.577 -1.930 -2.078 0.123 -2.985 -2.072 -0.129 + -1.282 0.215 0.841 -3.333 0.152 0.091 -3.984 0.062 2.665 -0.932 + -0.726 3.051 -0.077 0.482 3.511 -1.877 1.019 3.108 -2.633 -0.012 + 4.862 -2.129 -0.526 5.193 -1.224 1.140 5.790 -2.406 1.832 5.669 + -1.589 1.740 5.550 -3.305 0.790 7.212 -2.559 0.729 7.925 -3.681 + 0.919 7.510 -4.660 0.450 9.232 -3.442 0.401 9.918 -4.191 0.293 + 9.470 -2.117 0.004 10.611 -1.332 -0.205 11.599 -1.731 -0.073 10.549 + 0.075 -0.243 11.469 0.658 0.109 9.268 0.704 0.049 9.200 1.780 + 0.393 8.140 -0.097 0.620 7.253 0.487 0.491 8.222 -1.510 -1.033 + 4.824 -3.291 -0.818 4.190 -4.356 -2.144 5.554 -3.062 -2.243 5.962 + -2.138 -3.233 5.661 -4.061 -2.845 5.587 -5.081 -4.262 4.501 -3.831 + -4.651 4.450 -2.820 -5.201 4.655 -4.376 -3.809 3.136 -4.225 -2.897 + 2.840 -3.744 -4.649 2.476 -4.018 -3.514 2.922 -5.707 -4.410 3.167 + -6.290 -2.748 3.624 -6.082 -3.010 1.498 -5.988 -3.562 0.722 -5.420 + -3.107 1.306 -7.070 -1.602 1.267 -5.627 -1.426 1.553 -4.682 -1.374 + 0.261 -5.623 -0.982 1.760 -6.252 -3.943 7.044 -3.960 -3.773 7.780 + -2.965 -4.705 7.465 -5.003 -4.755 6.859 -5.808 -5.141 8.364 -4.889 + -2.762 9.135 -0.801 -3.002 8.513 -1.558 -1.747 9.259 -0.840 -3.138 + 10.073 -0.822 -3.247 8.597 0.439 -2.750 9.251 1.148 -4.778 8.599 + 0.534 -5.177 9.600 0.288 -5.234 7.845 -0.128 -5.095 8.361 1.933 + -6.038 8.111 2.039 -2.768 7.168 0.586 -2.444 6.533 -0.425 -2.736 + 6.580 1.822 -3.116 6.999 2.659 -2.441 5.179 1.975 -1.594 4.954 + 1.324 -1.878 4.948 3.414 -2.658 5.269 4.118 -1.600 3.935 3.634 + -0.713 5.825 3.745 -0.699 6.764 4.740 -1.490 6.973 5.446 0.577 + 7.362 4.741 0.843 8.004 5.469 1.410 6.897 3.728 2.657 7.195 + 3.324 3.231 8.027 3.729 3.249 6.432 2.291 4.305 6.619 2.091 + 2.521 5.441 1.679 2.972 4.874 0.905 1.229 5.083 2.064 0.744 + 4.184 1.691 0.582 5.828 3.118 -3.598 4.260 1.616 -4.760 4.696 + 1.622 -3.323 3.006 1.278 -2.354 2.747 1.080 -4.261 1.954 0.887 + -5.115 1.969 1.554 -4.755 2.202 -0.540 -3.901 2.517 -1.159 -5.551 + 1.072 -1.218 -6.385 0.702 -0.623 -5.980 1.356 -2.170 -4.886 0.242 + -1.441 -5.603 3.342 -0.532 -5.514 3.976 0.223 -3.647 0.597 1.091 + -2.419 0.495 1.152 -4.428 -0.462 1.204 -5.418 -0.303 1.130 -3.945 + -1.859 1.224 -2.857 -1.823 1.388 -4.732 -2.650 2.283 -4.778 -2.053 + 3.208 -5.771 -2.643 1.908 -4.206 -4.038 2.551 -4.830 -5.205 2.162 + -5.791 -5.280 1.648 -4.105 -6.252 2.654 -4.386 -7.209 2.576 -2.971 + -5.852 3.344 -1.963 -6.538 4.043 -1.975 -7.613 4.136 -0.914 -5.817 + 4.612 -0.142 -6.419 5.101 -0.942 -4.397 4.569 -0.231 -3.809 5.116 + -1.973 -3.771 3.923 -2.027 -2.690 3.945 -3.010 -4.458 3.302 -4.055 + -2.521 -0.204 -5.060 -2.365 -0.851 -3.029 -3.247 -0.633 -2.287 -3.357 + 0.070 -2.936 -3.782 -2.001 -3.954 -4.027 -2.332 -2.315 -2.682 -2.853 + -3.090 -1.917 -2.935 -1.447 -2.221 -2.396 -1.923 -3.052 -4.266 -1.052 + -3.759 -4.205 -2.765 -3.575 -4.730 -1.533 -1.772 -5.075 -0.517 -1.129 + -4.753 -2.279 -1.393 -5.984 -2.039 -5.036 -2.026 -0.892 -5.030 -1.574 + -2.558 -6.142 -2.550 -3.474 -6.123 -2.986 -1.791 -7.385 -2.746 -2.409 + -8.247 -2.989 -0.921 -7.258 -4.026 -0.235 -6.428 -3.907 -0.444 -8.216 + -4.291 -1.783 -6.865 -5.253 -2.888 -7.335 -5.427 -1.317 -5.986 -6.070 + -1.882 -5.818 -6.878 -0.353 -5.695 -5.981 -1.027 -7.904 -1.524 0.045 + -8.531 -1.679 -1.509 -7.647 -0.322 -2.386 -7.153 -0.262 -0.908 -7.953 + 0.971 -1.756 -8.037 1.651 -0.358 -8.905 0.988 0.163 -6.960 1.506 + 0.955 -7.280 2.367 0.222 -5.739 0.915 -0.456 -5.473 0.192 1.156 + -4.701 1.310 1.725 -4.940 2.201 2.148 -4.393 0.144 1.500 -4.225 + -0.743 2.716 -3.448 0.327 3.229 -5.506 -0.197 3.838 -5.097 -1.013 + 3.849 -5.705 0.664 2.559 -6.782 -0.760 2.211 -7.382 0.060 1.637 + -6.550 -1.304 3.448 -7.677 -1.597 3.655 -7.074 -2.488 4.393 -7.816 + -1.055 2.805 -8.955 -1.811 1.837 -8.871 -2.135 3.284 -9.500 -2.521 + 2.762 -9.488 -0.957 0.386 -3.397 1.530 -0.720 -3.124 0.969 1.003 + -2.455 2.274 1.944 -2.658 2.562 0.592 -1.047 2.199 -0.502 -1.125 + 2.276 1.086 -0.224 3.414 2.155 -0.383 3.647 0.890 0.850 3.313 + 0.531 -0.642 4.732 1.144 -1.281 5.731 2.194 -1.556 5.664 0.248 + -1.531 6.747 0.565 -1.893 7.638 -1.023 -1.072 6.429 -2.241 -1.102 + 7.120 -2.307 -1.525 8.116 -3.346 -0.494 6.532 -4.303 -0.510 7.044 + -3.254 0.125 5.275 -4.113 0.589 4.816 -1.997 0.138 4.620 -1.937 + 0.559 3.640 -0.849 -0.450 5.153 1.048 -0.407 0.865 2.132 -0.699 + 0.380 0.291 0.571 0.363 -0.640 0.707 0.757 0.551 1.229 -0.951 + 1.616 1.215 -1.162 -0.185 0.438 -2.058 0.194 -0.583 -1.897 -1.694 + 0.549 -2.063 -2.029 1.577 -1.931 -2.077 0.124 -2.985 -2.072 -0.129 + -1.283 0.215 0.841 -3.333 0.152 0.090 -3.985 0.062 2.665 -0.932 + -0.725 3.051 -0.077 0.482 3.512 -1.877 1.017 3.109 -2.633 -0.013 + 4.862 -2.128 -0.526 5.193 -1.224 1.140 5.790 -2.407 1.833 5.668 + -1.588 1.739 5.551 -3.302 0.790 7.212 -2.559 0.729 7.925 -3.681 + 0.919 7.510 -4.660 0.450 9.231 -3.442 0.401 9.918 -4.192 0.294 + 9.470 -2.117 0.005 10.611 -1.332 -0.206 11.599 -1.731 -0.073 10.549 + 0.075 -0.242 11.468 0.657 0.109 9.268 0.705 0.048 9.199 1.780 + 0.394 8.140 -0.097 0.621 7.252 0.487 0.491 8.222 -1.510 -1.033 + 4.824 -3.291 -0.818 4.189 -4.357 -2.143 5.555 -3.062 -2.243 5.962 + -2.138 -3.233 5.661 -4.061 -2.844 5.587 -5.083 -4.262 4.500 -3.831 + -4.650 4.449 -2.819 -5.198 4.654 -4.374 -3.809 3.136 -4.226 -2.895 + 2.839 -3.744 -4.650 2.477 -4.020 -3.514 2.922 -5.707 -4.409 3.168 + -6.290 -2.748 3.622 -6.081 -3.010 1.498 -5.988 -3.560 0.723 -5.421 + -3.107 1.306 -7.069 -1.602 1.266 -5.627 -1.426 1.554 -4.683 -1.374 + 0.258 -5.622 -0.981 1.759 -6.253 -3.943 7.044 -3.961 -3.773 7.780 + -2.965 -4.706 7.466 -5.003 -4.755 6.860 -5.810 -5.141 8.365 -4.890 + -2.762 9.135 -0.801 -3.000 8.513 -1.556 -1.748 9.260 -0.840 -3.139 + 10.071 -0.822 -3.247 8.597 0.438 -2.749 9.252 1.147 -4.779 8.598 + 0.533 -5.177 9.596 0.288 -5.233 7.844 -0.129 -5.095 8.361 1.933 + -6.040 8.110 2.040 -2.768 7.168 0.587 -2.445 6.533 -0.425 -2.737 + 6.580 1.822 -3.116 6.997 2.659 -2.442 5.179 1.975 -1.595 4.955 + 1.325 -1.878 4.949 3.414 -2.658 5.271 4.117 -1.600 3.932 3.636 + -0.713 5.826 3.745 -0.699 6.764 4.740 -1.491 6.973 5.448 0.578 + 7.362 4.741 0.844 8.002 5.469 1.410 6.897 3.727 2.658 7.196 + 3.324 3.229 8.027 3.727 3.249 6.432 2.291 4.305 6.618 2.093 + 2.520 5.442 1.679 2.974 4.873 0.903 1.229 5.082 2.064 0.745 + 4.182 1.692 0.582 5.828 3.118 -3.598 4.260 1.616 -4.760 4.696 + 1.622 -3.323 3.006 1.277 -2.353 2.748 1.077 -4.260 1.953 0.887 + -5.114 1.969 1.554 -4.755 2.202 -0.540 -3.903 2.518 -1.159 -5.551 + 1.072 -1.218 -6.385 0.700 -0.623 -5.980 1.354 -2.171 -4.886 0.241 + -1.440 -5.603 3.342 -0.532 -5.515 3.976 0.225 -3.646 0.598 1.091 + -2.419 0.495 1.152 -4.428 -0.461 1.204 -5.419 -0.303 1.131 -3.944 + -1.858 1.224 -2.857 -1.823 1.387 -4.732 -2.649 2.284 -4.779 -2.053 + 3.207 -5.769 -2.643 1.908 -4.206 -4.038 2.551 -4.830 -5.205 2.161 + -5.790 -5.280 1.648 -4.104 -6.252 2.653 -4.385 -7.209 2.574 -2.971 + -5.852 3.344 -1.963 -6.537 4.044 -1.974 -7.614 4.136 -0.914 -5.817 + 4.612 -0.142 -6.418 5.100 -0.942 -4.397 4.569 -0.231 -3.807 5.117 + -1.974 -3.771 3.924 -2.028 -2.691 3.947 -3.009 -4.458 3.302 -4.055 + -2.521 -0.204 -5.060 -2.365 -0.851 -3.030 -3.247 -0.633 -2.287 -3.358 + 0.071 -2.937 -3.782 -2.002 -3.954 -4.027 -2.332 -2.315 -2.682 -2.853 + -3.091 -1.918 -2.935 -1.446 -2.220 -2.395 -1.922 -3.052 -4.265 -1.055 + -3.756 -4.204 -2.765 -3.576 -4.730 -1.533 -1.772 -5.075 -0.517 -1.128 + -4.753 -2.279 -1.393 -5.984 -2.039 -5.036 -2.026 -0.893 -5.030 -1.574 + -2.558 -6.142 -2.550 -3.477 -6.123 -2.988 -1.791 -7.385 -2.746 -2.409 + -8.248 -2.989 -0.921 -7.258 -4.025 -0.234 -6.428 -3.907 -0.444 -8.217 + -4.291 -1.783 -6.865 -5.253 -2.887 -7.335 -5.427 -1.317 -5.985 -6.069 + -1.881 -5.819 -6.878 -0.351 -5.696 -5.981 -1.027 -7.904 -1.524 0.045 + -8.531 -1.679 -1.509 -7.647 -0.322 -2.387 -7.154 -0.262 -0.908 -7.953 + 0.971 -1.757 -8.037 1.650 -0.358 -8.904 0.989 0.163 -6.960 1.506 + 0.955 -7.279 2.367 0.222 -5.740 0.915 -0.457 -5.472 0.190 1.156 + -4.702 1.310 1.725 -4.940 2.202 2.147 -4.393 0.144 1.499 -4.226 + -0.742 2.714 -3.449 0.325 3.230 -5.506 -0.197 3.838 -5.096 -1.014 + 3.852 -5.706 0.665 2.560 -6.782 -0.760 2.211 -7.383 0.061 1.637 + -6.550 -1.303 3.448 -7.677 -1.598 3.655 -7.073 -2.488 4.392 -7.817 + -1.055 2.805 -8.954 -1.810 1.837 -8.871 -2.135 3.285 -9.500 -2.521 + 2.761 -9.486 -0.958 0.386 -3.398 1.530 -0.720 -3.124 0.969 1.003 + -2.456 2.274 1.945 -2.658 2.560 0.592 -1.048 2.199 -0.501 -1.127 + 2.276 1.086 -0.224 3.414 2.154 -0.383 3.648 0.890 0.849 3.313 + 0.531 -0.642 4.732 1.144 -1.281 5.731 2.196 -1.556 5.664 0.248 + -1.531 6.747 0.566 -1.892 7.639 -1.023 -1.072 6.429 -2.241 -1.103 + 7.119 -2.307 -1.524 8.115 -3.346 -0.494 6.532 -4.301 -0.510 7.043 + -3.253 0.125 5.275 -4.113 0.589 4.815 -1.997 0.138 4.620 -1.937 + 0.560 3.638 -0.849 -0.450 5.153 1.048 -0.407 0.865 2.132 -0.699 + 0.381 0.291 0.571 0.364 -0.642 0.706 0.758 0.551 1.229 -0.951 + 1.617 1.215 -1.162 -0.185 0.438 -2.058 0.194 -0.582 -1.896 -1.693 + 0.550 -2.063 -2.029 1.578 -1.932 -2.076 0.124 -2.985 -2.071 -0.128 + -1.284 0.215 0.840 -3.333 0.152 0.089 -3.985 0.062 2.665 -0.932 + -0.725 3.051 -0.077 0.482 3.512 -1.877 1.016 3.110 -2.632 -0.013 + 4.863 -2.128 -0.526 5.193 -1.224 1.139 5.791 -2.407 1.833 5.667 + -1.586 1.738 5.553 -3.299 0.790 7.212 -2.559 0.730 7.925 -3.680 + 0.918 7.510 -4.659 0.451 9.231 -3.442 0.400 9.918 -4.193 0.294 + 9.471 -2.117 0.005 10.611 -1.331 -0.207 11.599 -1.730 -0.072 10.549 + 0.076 -0.242 11.466 0.656 0.109 9.268 0.705 0.047 9.198 1.779 + 0.394 8.140 -0.097 0.622 7.252 0.487 0.492 8.222 -1.511 -1.034 + 4.824 -3.291 -0.819 4.188 -4.357 -2.143 5.555 -3.061 -2.242 5.962 + -2.138 -3.233 5.661 -4.061 -2.842 5.586 -5.084 -4.261 4.499 -3.831 + -4.650 4.447 -2.817 -5.196 4.653 -4.372 -3.809 3.137 -4.227 -2.894 + 2.838 -3.745 -4.650 2.479 -4.021 -3.513 2.923 -5.708 -4.409 3.169 + -6.291 -2.749 3.620 -6.081 -3.009 1.497 -5.988 -3.559 0.723 -5.422 + -3.106 1.307 -7.068 -1.603 1.266 -5.626 -1.427 1.555 -4.685 -1.374 + 0.254 -5.621 -0.980 1.759 -6.255 -3.943 7.044 -3.961 -3.773 7.780 + -2.965 -4.706 7.466 -5.003 -4.755 6.861 -5.812 -5.141 8.366 -4.890 + -2.762 9.134 -0.801 -2.999 8.514 -1.555 -1.751 9.261 -0.840 -3.140 + 10.068 -0.822 -3.247 8.597 0.438 -2.749 9.253 1.146 -4.779 8.597 + 0.532 -5.177 9.593 0.287 -5.233 7.843 -0.129 -5.095 8.361 1.933 + -6.041 8.109 2.040 -2.768 7.168 0.587 -2.445 6.532 -0.424 -2.737 + 6.581 1.823 -3.116 6.996 2.659 -2.442 5.179 1.975 -1.596 4.955 + 1.325 -1.878 4.950 3.414 -2.657 5.273 4.117 -1.600 3.929 3.638 + -0.713 5.826 3.745 -0.699 6.764 4.740 -1.492 6.973 5.450 0.578 + 7.362 4.742 0.844 8.001 5.470 1.410 6.898 3.727 2.658 7.196 + 3.324 3.228 8.026 3.725 3.249 6.432 2.292 4.306 6.616 2.094 + 2.520 5.442 1.680 2.976 4.871 0.901 1.229 5.082 2.064 0.746 + 4.180 1.692 0.582 5.829 3.118 -3.598 4.260 1.615 -4.760 4.696 + 1.621 -3.323 3.006 1.277 -2.352 2.749 1.075 -4.260 1.953 0.886 + -5.112 1.969 1.554 -4.755 2.202 -0.540 -3.905 2.518 -1.158 -5.551 + 1.071 -1.218 -6.385 0.699 -0.623 -5.980 1.353 -2.172 -4.885 0.240 + -1.440 -5.603 3.342 -0.532 -5.516 3.977 0.227 -3.646 0.598 1.091 + -2.419 0.495 1.152 -4.428 -0.461 1.205 -5.419 -0.302 1.132 -3.944 + -1.857 1.224 -2.858 -1.822 1.387 -4.732 -2.648 2.284 -4.781 -2.053 + 3.207 -5.767 -2.643 1.907 -4.205 -4.038 2.551 -4.829 -5.205 2.160 + -5.789 -5.280 1.648 -4.104 -6.251 2.653 -4.384 -7.208 2.573 -2.971 + -5.852 3.344 -1.963 -6.537 4.044 -1.974 -7.614 4.137 -0.914 -5.816 + 4.612 -0.143 -6.418 5.099 -0.942 -4.396 4.569 -0.232 -3.806 5.119 + -1.974 -3.771 3.924 -2.030 -2.693 3.948 -3.009 -4.458 3.303 -4.055 + -2.521 -0.204 -5.060 -2.365 -0.851 -3.030 -3.246 -0.634 -2.286 -3.359 + 0.073 -2.937 -3.782 -2.002 -3.953 -4.026 -2.332 -2.315 -2.682 -2.853 + -3.091 -1.919 -2.935 -1.445 -2.219 -2.394 -1.922 -3.052 -4.264 -1.058 + -3.753 -4.203 -2.765 -3.577 -4.729 -1.533 -1.771 -5.075 -0.517 -1.128 + -4.753 -2.279 -1.394 -5.984 -2.039 -5.036 -2.026 -0.893 -5.031 -1.574 + -2.558 -6.142 -2.550 -3.479 -6.122 -2.989 -1.791 -7.385 -2.745 -2.409 + -8.250 -2.989 -0.921 -7.259 -4.025 -0.234 -6.427 -3.907 -0.443 -8.217 + -4.290 -1.783 -6.865 -5.253 -2.887 -7.335 -5.428 -1.318 -5.985 -6.068 + -1.880 -5.820 -6.878 -0.348 -5.697 -5.981 -1.028 -7.904 -1.524 0.045 + -8.530 -1.679 -1.509 -7.648 -0.322 -2.388 -7.155 -0.262 -0.908 -7.952 + 0.972 -1.757 -8.036 1.649 -0.359 -8.903 0.990 0.163 -6.960 1.506 + 0.955 -7.278 2.368 0.223 -5.740 0.915 -0.458 -5.471 0.188 1.156 + -4.702 1.311 1.726 -4.941 2.203 2.147 -4.393 0.144 1.497 -4.228 + -0.741 2.712 -3.449 0.324 3.230 -5.506 -0.197 3.838 -5.096 -1.014 + 3.854 -5.706 0.667 2.560 -6.782 -0.761 2.210 -7.385 0.062 1.637 + -6.550 -1.303 3.448 -7.677 -1.598 3.654 -7.073 -2.488 4.391 -7.817 + -1.056 2.805 -8.954 -1.810 1.836 -8.871 -2.135 3.286 -9.501 -2.521 + 2.761 -9.484 -0.960 0.386 -3.399 1.530 -0.720 -3.124 0.969 1.004 + -2.457 2.274 1.946 -2.658 2.557 0.592 -1.049 2.199 -0.500 -1.129 + 2.276 1.085 -0.223 3.414 2.152 -0.383 3.649 0.890 0.848 3.314 + 0.531 -0.642 4.732 1.144 -1.281 5.731 2.197 -1.556 5.664 0.248 + -1.531 6.747 0.566 -1.890 7.639 -1.023 -1.072 6.428 -2.241 -1.104 + 7.119 -2.307 -1.524 8.114 -3.346 -0.494 6.531 -4.298 -0.511 7.041 + -3.253 0.124 5.275 -4.113 0.589 4.814 -1.997 0.138 4.621 -1.936 + 0.560 3.636 -0.848 -0.450 5.153 1.048 -0.408 0.865 2.132 -0.698 + 0.381 0.292 0.571 0.364 -0.644 0.706 0.758 0.552 1.229 -0.952 + 1.617 1.215 -1.163 -0.185 0.438 -2.058 0.194 -0.581 -1.895 -1.693 + 0.550 -2.063 -2.029 1.578 -1.933 -2.076 0.125 -2.985 -2.070 -0.127 + -1.285 0.215 0.839 -3.333 0.152 0.087 -3.985 0.063 2.665 -0.932 + -0.724 3.050 -0.077 0.482 3.513 -1.877 1.014 3.111 -2.632 -0.013 + 4.864 -2.128 -0.527 5.193 -1.225 1.139 5.791 -2.408 1.834 5.667 + -1.585 1.737 5.554 -3.297 0.790 7.212 -2.559 0.730 7.925 -3.680 + 0.918 7.510 -4.659 0.452 9.231 -3.442 0.400 9.918 -4.193 0.295 + 9.471 -2.117 0.006 10.611 -1.331 -0.208 11.600 -1.730 -0.072 10.550 + 0.076 -0.242 11.465 0.655 0.109 9.268 0.705 0.046 9.197 1.779 + 0.394 8.140 -0.098 0.623 7.252 0.487 0.492 8.222 -1.511 -1.034 + 4.824 -3.291 -0.819 4.187 -4.357 -2.143 5.556 -3.061 -2.242 5.962 + -2.138 -3.232 5.661 -4.060 -2.841 5.586 -5.086 -4.261 4.499 -3.831 + -4.650 4.446 -2.815 -5.194 4.652 -4.370 -3.809 3.137 -4.227 -2.892 + 2.837 -3.745 -4.650 2.480 -4.022 -3.513 2.923 -5.708 -4.408 3.169 + -6.291 -2.750 3.618 -6.081 -3.009 1.497 -5.988 -3.557 0.724 -5.423 + -3.105 1.307 -7.067 -1.603 1.266 -5.626 -1.427 1.556 -4.686 -1.374 + 0.251 -5.620 -0.980 1.758 -6.256 -3.943 7.044 -3.961 -3.774 7.780 + -2.965 -4.706 7.467 -5.003 -4.755 6.862 -5.815 -5.141 8.367 -4.890 + -2.762 9.134 -0.802 -2.997 8.514 -1.553 -1.752 9.262 -0.840 -3.140 + 10.066 -0.821 -3.247 8.597 0.437 -2.748 9.254 1.145 -4.780 8.596 + 0.531 -5.177 9.589 0.286 -5.233 7.842 -0.130 -5.095 8.360 1.933 + -6.042 8.107 2.041 -2.768 7.168 0.588 -2.445 6.532 -0.424 -2.737 + 6.581 1.824 -3.116 6.994 2.658 -2.442 5.179 1.975 -1.597 4.956 + 1.326 -1.878 4.950 3.414 -2.656 5.275 4.117 -1.600 3.927 3.640 + -0.713 5.826 3.745 -0.698 6.765 4.740 -1.493 6.973 5.452 0.578 + 7.361 4.742 0.845 7.999 5.470 1.410 6.898 3.727 2.659 7.197 + 3.323 3.226 8.025 3.723 3.249 6.432 2.292 4.306 6.615 2.096 + 2.520 5.443 1.680 2.979 4.870 0.898 1.229 5.082 2.064 0.747 + 4.178 1.693 0.583 5.829 3.118 -3.598 4.260 1.615 -4.760 4.697 + 1.621 -3.322 3.006 1.276 -2.352 2.750 1.073 -4.259 1.953 0.886 + -5.111 1.969 1.553 -4.754 2.202 -0.540 -3.907 2.519 -1.158 -5.551 + 1.071 -1.218 -6.386 0.698 -0.623 -5.980 1.352 -2.173 -4.884 0.239 + -1.440 -5.603 3.342 -0.531 -5.517 3.978 0.230 -3.645 0.598 1.091 + -2.419 0.495 1.152 -4.428 -0.460 1.205 -5.419 -0.301 1.133 -3.944 + -1.857 1.224 -2.859 -1.822 1.386 -4.732 -2.648 2.284 -4.782 -2.053 + 3.206 -5.765 -2.642 1.906 -4.205 -4.038 2.550 -4.829 -5.204 2.159 + -5.788 -5.281 1.647 -4.104 -6.251 2.652 -4.383 -7.207 2.572 -2.971 + -5.852 3.344 -1.963 -6.536 4.044 -1.973 -7.615 4.137 -0.914 -5.816 + 4.612 -0.144 -6.417 5.098 -0.942 -4.396 4.570 -0.233 -3.805 5.121 + -1.974 -3.771 3.924 -2.031 -2.694 3.949 -3.009 -4.458 3.303 -4.055 + -2.520 -0.204 -5.060 -2.365 -0.852 -3.030 -3.246 -0.634 -2.286 -3.360 + 0.074 -2.938 -3.782 -2.002 -3.952 -4.026 -2.331 -2.315 -2.682 -2.853 + -3.092 -1.920 -2.936 -1.444 -2.217 -2.393 -1.921 -3.052 -4.264 -1.060 + -3.750 -4.202 -2.765 -3.577 -4.729 -1.533 -1.771 -5.074 -0.516 -1.128 + -4.753 -2.279 -1.394 -5.985 -2.040 -5.035 -2.026 -0.893 -5.031 -1.573 + -2.558 -6.142 -2.550 -3.481 -6.122 -2.991 -1.791 -7.384 -2.745 -2.409 + -8.251 -2.989 -0.921 -7.259 -4.025 -0.234 -6.426 -3.906 -0.443 -8.218 + -4.290 -1.783 -6.865 -5.253 -2.887 -7.336 -5.428 -1.318 -5.984 -6.067 + -1.879 -5.820 -6.878 -0.346 -5.699 -5.980 -1.028 -7.904 -1.524 0.045 + -8.530 -1.680 -1.509 -7.648 -0.321 -2.389 -7.156 -0.263 -0.908 -7.952 + 0.972 -1.757 -8.036 1.648 -0.359 -8.903 0.990 0.163 -6.960 1.506 + 0.955 -7.277 2.368 0.223 -5.740 0.915 -0.459 -5.470 0.186 1.157 + -4.703 1.311 1.726 -4.942 2.204 2.147 -4.392 0.144 1.496 -4.230 + -0.739 2.709 -3.450 0.322 3.231 -5.505 -0.197 3.838 -5.095 -1.015 + 3.856 -5.706 0.668 2.560 -6.781 -0.761 2.210 -7.386 0.062 1.637 + -6.550 -1.303 3.448 -7.677 -1.598 3.654 -7.073 -2.489 4.390 -7.817 + -1.056 2.804 -8.954 -1.809 1.836 -8.871 -2.135 3.288 -9.502 -2.521 + 2.760 -9.482 -0.961 0.385 -3.400 1.530 -0.721 -3.123 0.968 1.004 + -2.457 2.274 1.947 -2.659 2.555 0.592 -1.049 2.199 -0.498 -1.131 + 2.277 1.085 -0.223 3.415 2.150 -0.383 3.650 0.890 0.847 3.314 + 0.531 -0.642 4.732 1.144 -1.281 5.731 2.198 -1.556 5.664 0.248 + -1.531 6.746 0.566 -1.889 7.640 -1.023 -1.073 6.428 -2.241 -1.104 + 7.119 -2.308 -1.524 8.112 -3.346 -0.494 6.531 -4.296 -0.511 7.040 + -3.253 0.124 5.274 -4.113 0.589 4.814 -1.997 0.138 4.621 -1.935 + 0.561 3.633 -0.848 -0.450 5.153 1.048 -0.408 0.864 2.133 -0.698 + 0.381 0.292 0.572 0.364 -0.646 0.705 0.758 0.552 1.229 -0.952 + 1.618 1.215 -1.163 -0.185 0.438 -2.058 0.194 -0.581 -1.894 -1.693 + 0.551 -2.063 -2.028 1.578 -1.934 -2.075 0.125 -2.985 -2.070 -0.126 + -1.286 0.215 0.838 -3.334 0.152 0.086 -3.985 0.063 2.665 -0.932 + -0.724 3.050 -0.077 0.481 3.513 -1.876 1.013 3.112 -2.631 -0.013 + 4.864 -2.128 -0.527 5.193 -1.225 1.139 5.791 -2.408 1.835 5.666 + -1.583 1.736 5.555 -3.294 0.790 7.212 -2.559 0.730 7.925 -3.680 + 0.917 7.510 -4.658 0.452 9.231 -3.442 0.400 9.918 -4.194 0.296 + 9.471 -2.118 0.007 10.611 -1.330 -0.209 11.600 -1.730 -0.072 10.550 + 0.077 -0.241 11.464 0.654 0.110 9.267 0.706 0.045 9.196 1.778 + 0.395 8.140 -0.098 0.624 7.251 0.487 0.493 8.222 -1.512 -1.034 + 4.824 -3.290 -0.820 4.187 -4.357 -2.143 5.556 -3.060 -2.242 5.963 + -2.138 -3.232 5.661 -4.060 -2.840 5.586 -5.087 -4.260 4.498 -3.830 + -4.650 4.444 -2.813 -5.191 4.651 -4.368 -3.809 3.137 -4.228 -2.890 + 2.835 -3.746 -4.651 2.482 -4.023 -3.513 2.923 -5.709 -4.407 3.170 + -6.292 -2.752 3.617 -6.080 -3.009 1.497 -5.988 -3.555 0.725 -5.424 + -3.105 1.307 -7.066 -1.603 1.265 -5.626 -1.428 1.557 -4.687 -1.374 + 0.248 -5.619 -0.979 1.758 -6.257 -3.943 7.044 -3.961 -3.774 7.780 + -2.964 -4.706 7.468 -5.003 -4.755 6.863 -5.817 -5.141 8.368 -4.890 + -2.762 9.133 -0.802 -2.995 8.514 -1.552 -1.754 9.263 -0.840 -3.141 + 10.064 -0.821 -3.247 8.596 0.436 -2.748 9.255 1.144 -4.780 8.595 + 0.530 -5.178 9.585 0.286 -5.233 7.842 -0.130 -5.095 8.360 1.933 + -6.043 8.106 2.042 -2.768 7.169 0.588 -2.446 6.531 -0.424 -2.738 + 6.581 1.825 -3.116 6.993 2.658 -2.443 5.180 1.975 -1.598 4.957 + 1.326 -1.877 4.951 3.414 -2.655 5.276 4.117 -1.600 3.924 3.642 + -0.713 5.826 3.745 -0.698 6.765 4.740 -1.494 6.972 5.453 0.579 + 7.361 4.742 0.846 7.997 5.471 1.410 6.898 3.726 2.659 7.197 + 3.323 3.224 8.024 3.721 3.249 6.432 2.292 4.306 6.613 2.097 + 2.520 5.444 1.680 2.981 4.868 0.896 1.229 5.082 2.064 0.749 + 4.176 1.694 0.583 5.829 3.117 -3.598 4.260 1.614 -4.760 4.697 + 1.621 -3.322 3.006 1.276 -2.351 2.751 1.070 -4.259 1.953 0.886 + -5.109 1.969 1.553 -4.754 2.202 -0.541 -3.909 2.520 -1.157 -5.550 + 1.070 -1.218 -6.386 0.696 -0.623 -5.979 1.351 -2.173 -4.884 0.238 + -1.440 -5.603 3.342 -0.531 -5.518 3.978 0.232 -3.645 0.599 1.092 + -2.419 0.495 1.151 -4.427 -0.459 1.206 -5.419 -0.300 1.134 -3.944 + -1.856 1.224 -2.859 -1.822 1.385 -4.732 -2.647 2.284 -4.783 -2.053 + 3.206 -5.763 -2.642 1.906 -4.205 -4.038 2.550 -4.828 -5.204 2.159 + -5.787 -5.281 1.647 -4.104 -6.251 2.652 -4.382 -7.206 2.570 -2.970 + -5.852 3.344 -1.963 -6.536 4.044 -1.973 -7.615 4.138 -0.914 -5.816 + 4.611 -0.145 -6.417 5.097 -0.942 -4.396 4.570 -0.233 -3.803 5.123 + -1.975 -3.771 3.925 -2.032 -2.695 3.950 -3.009 -4.458 3.303 -4.054 + -2.520 -0.204 -5.060 -2.365 -0.852 -3.030 -3.246 -0.634 -2.285 -3.361 + 0.075 -2.938 -3.782 -2.002 -3.952 -4.026 -2.331 -2.316 -2.682 -2.853 + -3.092 -1.921 -2.936 -1.444 -2.216 -2.392 -1.921 -3.052 -4.263 -1.063 + -3.747 -4.201 -2.766 -3.578 -4.728 -1.533 -1.771 -5.074 -0.516 -1.128 + -4.753 -2.279 -1.395 -5.985 -2.040 -5.035 -2.026 -0.893 -5.031 -1.573 + -2.558 -6.141 -2.550 -3.483 -6.122 -2.992 -1.791 -7.384 -2.745 -2.409 + -8.253 -2.989 -0.921 -7.259 -4.025 -0.234 -6.425 -3.906 -0.442 -8.219 + -4.290 -1.783 -6.865 -5.253 -2.887 -7.336 -5.429 -1.318 -5.984 -6.066 + -1.878 -5.821 -6.878 -0.344 -5.700 -5.980 -1.028 -7.904 -1.524 0.044 + -8.530 -1.680 -1.509 -7.649 -0.321 -2.390 -7.157 -0.263 -0.908 -7.952 + 0.972 -1.758 -8.036 1.646 -0.359 -8.902 0.991 0.163 -6.960 1.506 + 0.955 -7.277 2.369 0.224 -5.741 0.915 -0.460 -5.469 0.184 1.157 + -4.704 1.312 1.727 -4.943 2.206 2.146 -4.392 0.145 1.495 -4.231 + -0.738 2.706 -3.451 0.320 3.231 -5.505 -0.197 3.837 -5.095 -1.016 + 3.859 -5.707 0.669 2.561 -6.781 -0.761 2.210 -7.387 0.063 1.636 + -6.550 -1.303 3.447 -7.677 -1.598 3.653 -7.073 -2.489 4.389 -7.817 + -1.057 2.804 -8.954 -1.808 1.836 -8.871 -2.135 3.289 -9.502 -2.521 + 2.759 -9.480 -0.963 0.385 -3.401 1.530 -0.721 -3.123 0.968 1.005 + -2.458 2.273 1.948 -2.659 2.553 0.592 -1.050 2.199 -0.497 -1.132 + 2.277 1.084 -0.222 3.415 2.148 -0.383 3.651 0.890 0.846 3.315 + 0.532 -0.642 4.732 1.144 -1.281 5.731 2.200 -1.557 5.664 0.248 + -1.531 6.746 0.567 -1.887 7.640 -1.023 -1.073 6.427 -2.241 -1.105 + 7.118 -2.308 -1.523 8.111 -3.346 -0.495 6.530 -4.294 -0.511 7.039 + -3.253 0.124 5.274 -4.113 0.589 4.813 -1.996 0.138 4.621 -1.935 + 0.561 3.631 -0.848 -0.450 5.153 1.047 -0.408 0.864 2.133 -0.697 + 0.381 0.292 0.572 0.364 -0.648 0.705 0.758 0.553 1.229 -0.952 + 1.619 1.216 -1.163 -0.185 0.438 -2.057 0.194 -0.580 -1.893 -1.693 + 0.551 -2.063 -2.028 1.579 -1.935 -2.075 0.126 -2.985 -2.069 -0.125 + -1.286 0.215 0.837 -3.334 0.151 0.085 -3.985 0.063 2.665 -0.932 + -0.723 3.050 -0.077 0.481 3.514 -1.876 1.011 3.113 -2.631 -0.014 + 4.865 -2.128 -0.527 5.193 -1.225 1.139 5.791 -2.409 1.836 5.666 + -1.582 1.735 5.556 -3.292 0.790 7.212 -2.559 0.730 7.925 -3.680 + 0.917 7.510 -4.658 0.453 9.231 -3.442 0.400 9.918 -4.195 0.296 + 9.471 -2.118 0.007 10.611 -1.330 -0.210 11.600 -1.730 -0.072 10.550 + 0.077 -0.240 11.462 0.653 0.110 9.267 0.706 0.044 9.195 1.778 + 0.395 8.141 -0.098 0.625 7.251 0.488 0.493 8.222 -1.512 -1.034 + 4.824 -3.290 -0.820 4.186 -4.358 -2.142 5.557 -3.060 -2.242 5.963 + -2.138 -3.231 5.662 -4.060 -2.838 5.586 -5.089 -4.260 4.497 -3.830 + -4.649 4.443 -2.811 -5.189 4.650 -4.366 -3.809 3.137 -4.229 -2.888 + 2.834 -3.746 -4.651 2.483 -4.024 -3.513 2.923 -5.709 -4.407 3.171 + -6.293 -2.753 3.615 -6.080 -3.009 1.496 -5.988 -3.553 0.725 -5.426 + -3.104 1.308 -7.065 -1.603 1.265 -5.626 -1.428 1.558 -4.688 -1.374 + 0.244 -5.619 -0.978 1.757 -6.259 -3.944 7.044 -3.961 -3.774 7.780 + -2.964 -4.706 7.468 -5.004 -4.755 6.864 -5.819 -5.141 8.369 -4.890 + -2.762 9.132 -0.802 -2.994 8.515 -1.551 -1.756 9.264 -0.840 -3.142 + 10.061 -0.821 -3.247 8.596 0.436 -2.748 9.256 1.143 -4.781 8.595 + 0.530 -5.178 9.582 0.285 -5.232 7.841 -0.130 -5.094 8.360 1.933 + -6.043 8.105 2.043 -2.768 7.169 0.589 -2.446 6.531 -0.423 -2.738 + 6.581 1.825 -3.116 6.992 2.658 -2.443 5.180 1.975 -1.599 4.957 + 1.327 -1.877 4.951 3.414 -2.654 5.278 4.116 -1.600 3.921 3.644 + -0.713 5.827 3.745 -0.698 6.765 4.740 -1.496 6.972 5.455 0.579 + 7.361 4.743 0.847 7.995 5.471 1.410 6.898 3.726 2.660 7.198 + 3.322 3.222 8.024 3.720 3.249 6.432 2.293 4.306 6.612 2.099 + 2.519 5.445 1.680 2.983 4.866 0.893 1.230 5.081 2.064 0.750 + 4.174 1.694 0.583 5.829 3.117 -3.598 4.260 1.614 -4.760 4.697 + 1.621 -3.322 3.006 1.275 -2.350 2.752 1.068 -4.258 1.953 0.885 + -5.108 1.969 1.553 -4.754 2.202 -0.541 -3.911 2.520 -1.157 -5.550 + 1.069 -1.218 -6.386 0.695 -0.624 -5.979 1.350 -2.174 -4.883 0.237 + -1.439 -5.603 3.342 -0.530 -5.519 3.979 0.234 -3.644 0.599 1.092 + -2.419 0.495 1.151 -4.427 -0.459 1.206 -5.420 -0.300 1.135 -3.944 + -1.856 1.224 -2.860 -1.821 1.385 -4.733 -2.647 2.285 -4.784 -2.053 + 3.206 -5.762 -2.642 1.905 -4.205 -4.038 2.550 -4.828 -5.204 2.158 + -5.786 -5.281 1.647 -4.103 -6.250 2.651 -4.381 -7.206 2.569 -2.970 + -5.851 3.343 -1.964 -6.535 4.044 -1.972 -7.616 4.139 -0.913 -5.815 + 4.611 -0.146 -6.416 5.097 -0.942 -4.395 4.571 -0.234 -3.802 5.125 + -1.975 -3.771 3.925 -2.033 -2.696 3.951 -3.009 -4.458 3.304 -4.054 + -2.519 -0.204 -5.060 -2.364 -0.852 -3.030 -3.245 -0.634 -2.284 -3.362 + 0.076 -2.938 -3.782 -2.002 -3.952 -4.025 -2.331 -2.316 -2.682 -2.853 + -3.093 -1.922 -2.936 -1.443 -2.215 -2.391 -1.920 -3.052 -4.263 -1.066 + -3.743 -4.200 -2.766 -3.579 -4.728 -1.533 -1.770 -5.074 -0.516 -1.127 + -4.754 -2.278 -1.395 -5.985 -2.040 -5.035 -2.026 -0.893 -5.032 -1.573 + -2.558 -6.141 -2.550 -3.485 -6.121 -2.994 -1.791 -7.384 -2.744 -2.410 + -8.254 -2.989 -0.921 -7.259 -4.024 -0.233 -6.424 -3.906 -0.442 -8.219 + -4.290 -1.783 -6.865 -5.253 -2.886 -7.336 -5.429 -1.318 -5.983 -6.065 + -1.876 -5.821 -6.877 -0.341 -5.701 -5.980 -1.028 -7.904 -1.524 0.044 + -8.530 -1.680 -1.509 -7.649 -0.321 -2.391 -7.158 -0.263 -0.908 -7.952 + 0.973 -1.758 -8.035 1.645 -0.360 -8.901 0.991 0.163 -6.960 1.506 + 0.956 -7.276 2.370 0.224 -5.741 0.915 -0.461 -5.468 0.182 1.157 + -4.705 1.312 1.727 -4.944 2.207 2.146 -4.392 0.145 1.494 -4.233 + -0.736 2.704 -3.452 0.317 3.231 -5.505 -0.197 3.837 -5.094 -1.016 + 3.861 -5.707 0.671 2.561 -6.780 -0.762 2.210 -7.388 0.064 1.637 + -6.550 -1.303 3.447 -7.676 -1.598 3.653 -7.073 -2.490 4.388 -7.817 + -1.057 2.804 -8.954 -1.807 1.835 -8.871 -2.135 3.290 -9.503 -2.521 + 2.758 -9.477 -0.964 0.385 -3.401 1.530 -0.721 -3.123 0.968 1.005 + -2.459 2.273 1.949 -2.659 2.551 0.592 -1.051 2.199 -0.495 -1.134 + 2.277 1.084 -0.222 3.415 2.147 -0.383 3.652 0.890 0.845 3.315 + 0.532 -0.641 4.732 1.144 -1.281 5.731 2.201 -1.557 5.664 0.248 + -1.531 6.746 0.567 -1.885 7.641 -1.024 -1.074 6.427 -2.241 -1.105 + 7.118 -2.308 -1.523 8.110 -3.346 -0.495 6.530 -4.291 -0.511 7.038 + -3.253 0.124 5.274 -4.113 0.590 4.813 -1.996 0.138 4.622 -1.934 + 0.562 3.629 -0.847 -0.450 5.154 1.047 -0.409 0.864 2.133 -0.697 + 0.382 0.293 0.572 0.364 -0.649 0.704 0.759 0.553 1.229 -0.952 + 1.620 1.216 -1.163 -0.185 0.439 -2.057 0.194 -0.579 -1.892 -1.693 + 0.552 -2.064 -2.028 1.579 -1.936 -2.074 0.126 -2.985 -2.068 -0.125 + -1.287 0.215 0.836 -3.334 0.151 0.083 -3.984 0.063 2.665 -0.932 + -0.723 3.049 -0.077 0.481 3.514 -1.876 1.010 3.114 -2.631 -0.014 + 4.865 -2.128 -0.527 5.194 -1.225 1.139 5.791 -2.409 1.837 5.665 + -1.580 1.734 5.558 -3.289 0.790 7.212 -2.559 0.730 7.925 -3.680 + 0.917 7.510 -4.657 0.454 9.231 -3.442 0.400 9.918 -4.195 0.297 + 9.471 -2.118 0.008 10.610 -1.330 -0.210 11.600 -1.729 -0.071 10.550 + 0.077 -0.240 11.461 0.652 0.110 9.267 0.707 0.044 9.194 1.778 + 0.396 8.141 -0.098 0.626 7.250 0.488 0.493 8.222 -1.513 -1.034 + 4.824 -3.290 -0.821 4.185 -4.358 -2.142 5.557 -3.059 -2.242 5.963 + -2.138 -3.231 5.662 -4.060 -2.837 5.586 -5.090 -4.259 4.497 -3.830 + -4.649 4.442 -2.809 -5.187 4.649 -4.364 -3.809 3.137 -4.229 -2.887 + 2.833 -3.747 -4.651 2.485 -4.025 -3.513 2.923 -5.709 -4.406 3.172 + -6.293 -2.754 3.613 -6.079 -3.009 1.496 -5.988 -3.551 0.726 -5.427 + -3.103 1.308 -7.063 -1.603 1.264 -5.625 -1.428 1.559 -4.689 -1.374 + 0.241 -5.618 -0.977 1.757 -6.260 -3.944 7.044 -3.961 -3.774 7.780 + -2.964 -4.706 7.469 -5.004 -4.756 6.865 -5.821 -5.141 8.371 -4.890 + -2.762 9.132 -0.803 -2.992 8.515 -1.550 -1.758 9.265 -0.840 -3.143 + 10.059 -0.821 -3.247 8.596 0.435 -2.747 9.257 1.141 -4.781 8.594 + 0.529 -5.178 9.578 0.284 -5.232 7.840 -0.131 -5.094 8.360 1.932 + -6.044 8.104 2.043 -2.768 7.169 0.589 -2.446 6.531 -0.423 -2.738 + 6.581 1.826 -3.116 6.991 2.657 -2.443 5.180 1.975 -1.599 4.958 + 1.327 -1.877 4.952 3.414 -2.653 5.280 4.116 -1.600 3.918 3.646 + -0.713 5.827 3.745 -0.697 6.766 4.740 -1.497 6.972 5.457 0.580 + 7.361 4.743 0.848 7.994 5.472 1.410 6.898 3.726 2.660 7.199 + 3.322 3.220 8.023 3.718 3.249 6.432 2.293 4.306 6.611 2.100 + 2.519 5.446 1.681 2.986 4.865 0.891 1.230 5.081 2.064 0.752 + 4.173 1.695 0.584 5.829 3.117 -3.598 4.260 1.613 -4.760 4.697 + 1.620 -3.322 3.006 1.275 -2.349 2.753 1.066 -4.258 1.953 0.885 + -5.106 1.969 1.552 -4.754 2.202 -0.541 -3.913 2.521 -1.156 -5.550 + 1.069 -1.219 -6.386 0.694 -0.624 -5.979 1.349 -2.175 -4.882 0.236 + -1.439 -5.603 3.342 -0.530 -5.519 3.979 0.235 -3.644 0.599 1.092 + -2.418 0.495 1.151 -4.427 -0.458 1.206 -5.420 -0.299 1.137 -3.944 + -1.855 1.224 -2.861 -1.821 1.384 -4.733 -2.646 2.285 -4.786 -2.053 + 3.205 -5.760 -2.643 1.905 -4.205 -4.039 2.550 -4.828 -5.203 2.157 + -5.785 -5.281 1.646 -4.103 -6.250 2.650 -4.380 -7.205 2.568 -2.970 + -5.851 3.343 -1.964 -6.535 4.044 -1.971 -7.616 4.139 -0.913 -5.815 + 4.611 -0.146 -6.415 5.096 -0.942 -4.395 4.571 -0.234 -3.801 5.127 + -1.975 -3.771 3.926 -2.035 -2.698 3.953 -3.009 -4.458 3.304 -4.054 + -2.519 -0.204 -5.060 -2.364 -0.852 -3.030 -3.245 -0.635 -2.284 -3.363 + 0.077 -2.939 -3.782 -2.002 -3.951 -4.025 -2.331 -2.316 -2.682 -2.853 + -3.093 -1.923 -2.937 -1.442 -2.213 -2.389 -1.920 -3.052 -4.262 -1.069 + -3.740 -4.199 -2.766 -3.580 -4.727 -1.533 -1.770 -5.074 -0.516 -1.127 + -4.754 -2.278 -1.395 -5.986 -2.041 -5.034 -2.025 -0.893 -5.032 -1.573 + -2.558 -6.141 -2.550 -3.488 -6.121 -2.995 -1.791 -7.383 -2.744 -2.411 + -8.255 -2.989 -0.921 -7.259 -4.024 -0.233 -6.423 -3.905 -0.441 -8.220 + -4.290 -1.783 -6.865 -5.252 -2.886 -7.336 -5.430 -1.318 -5.983 -6.064 + -1.875 -5.821 -6.877 -0.339 -5.702 -5.980 -1.028 -7.904 -1.524 0.044 + -8.529 -1.680 -1.509 -7.649 -0.321 -2.392 -7.159 -0.263 -0.908 -7.952 + 0.973 -1.758 -8.035 1.644 -0.361 -8.900 0.992 0.163 -6.960 1.506 + 0.956 -7.275 2.370 0.225 -5.741 0.915 -0.462 -5.466 0.180 1.157 + -4.705 1.313 1.728 -4.944 2.208 2.146 -4.392 0.145 1.493 -4.235 + -0.735 2.701 -3.453 0.315 3.232 -5.504 -0.197 3.837 -5.094 -1.017 + 3.863 -5.708 0.672 2.561 -6.780 -0.762 2.209 -7.390 0.066 1.637 + -6.550 -1.303 3.447 -7.676 -1.598 3.652 -7.073 -2.490 4.388 -7.817 + -1.057 2.804 -8.954 -1.806 1.835 -8.871 -2.136 3.291 -9.503 -2.521 + 2.757 -9.475 -0.966 0.384 -3.402 1.530 -0.721 -3.122 0.968 1.006 + -2.460 2.273 1.951 -2.660 2.549 0.592 -1.052 2.199 -0.494 -1.136 + 2.277 1.084 -0.221 3.415 2.145 -0.383 3.652 0.890 0.844 3.315 + 0.532 -0.641 4.732 1.144 -1.281 5.731 2.202 -1.557 5.664 0.248 + -1.531 6.746 0.567 -1.884 7.641 -1.024 -1.074 6.426 -2.241 -1.106 + 7.118 -2.309 -1.522 8.109 -3.346 -0.495 6.529 -4.289 -0.511 7.037 + -3.253 0.124 5.274 -4.113 0.590 4.812 -1.996 0.138 4.622 -1.933 + 0.562 3.626 -0.847 -0.450 5.154 1.047 -0.409 0.864 2.134 -0.696 + 0.382 0.293 0.573 0.364 -0.651 0.703 0.759 0.554 1.229 -0.952 + 1.621 1.217 -1.163 -0.185 0.439 -2.057 0.194 -0.578 -1.891 -1.693 + 0.552 -2.064 -2.028 1.579 -1.937 -2.074 0.127 -2.985 -2.068 -0.124 + -1.288 0.215 0.836 -3.334 0.151 0.081 -3.984 0.064 2.665 -0.932 + -0.722 3.049 -0.077 0.481 3.515 -1.876 1.008 3.115 -2.630 -0.014 + 4.866 -2.128 -0.528 5.194 -1.226 1.138 5.791 -2.410 1.838 5.665 + -1.579 1.732 5.559 -3.287 0.790 7.212 -2.559 0.730 7.925 -3.680 + 0.916 7.510 -4.657 0.455 9.231 -3.442 0.400 9.918 -4.196 0.297 + 9.472 -2.118 0.008 10.610 -1.329 -0.211 11.600 -1.729 -0.071 10.550 + 0.078 -0.239 11.460 0.651 0.110 9.266 0.707 0.043 9.193 1.777 + 0.396 8.141 -0.098 0.627 7.250 0.488 0.494 8.222 -1.513 -1.034 + 4.824 -3.290 -0.821 4.185 -4.358 -2.142 5.558 -3.059 -2.242 5.963 + -2.138 -3.231 5.662 -4.060 -2.836 5.586 -5.091 -4.259 4.496 -3.830 + -4.648 4.441 -2.807 -5.184 4.648 -4.362 -3.808 3.138 -4.230 -2.885 + 2.832 -3.747 -4.651 2.486 -4.026 -3.513 2.924 -5.710 -4.406 3.173 + -6.294 -2.755 3.611 -6.079 -3.009 1.495 -5.988 -3.549 0.727 -5.429 + -3.103 1.308 -7.062 -1.603 1.264 -5.625 -1.428 1.560 -4.690 -1.374 + 0.237 -5.617 -0.977 1.756 -6.261 -3.944 7.044 -3.961 -3.774 7.780 + -2.964 -4.706 7.470 -5.004 -4.756 6.866 -5.823 -5.141 8.372 -4.891 + -2.762 9.131 -0.803 -2.991 8.515 -1.548 -1.760 9.266 -0.840 -3.143 + 10.056 -0.821 -3.247 8.596 0.435 -2.747 9.258 1.140 -4.782 8.593 + 0.528 -5.178 9.574 0.283 -5.232 7.839 -0.131 -5.094 8.360 1.932 + -6.045 8.102 2.044 -2.767 7.169 0.590 -2.447 6.530 -0.422 -2.739 + 6.581 1.827 -3.116 6.990 2.657 -2.443 5.180 1.975 -1.600 4.958 + 1.327 -1.877 4.953 3.414 -2.652 5.282 4.116 -1.600 3.915 3.648 + -0.713 5.827 3.745 -0.697 6.766 4.740 -1.497 6.971 5.459 0.580 + 7.361 4.743 0.849 7.992 5.472 1.409 6.899 3.725 2.661 7.199 + 3.321 3.219 8.022 3.716 3.249 6.433 2.294 4.305 6.609 2.101 + 2.519 5.446 1.681 2.988 4.863 0.888 1.230 5.081 2.064 0.753 + 4.171 1.695 0.584 5.829 3.117 -3.598 4.261 1.613 -4.760 4.697 + 1.620 -3.322 3.006 1.274 -2.348 2.754 1.063 -4.257 1.953 0.885 + -5.105 1.969 1.552 -4.753 2.202 -0.541 -3.915 2.521 -1.156 -5.550 + 1.068 -1.219 -6.386 0.693 -0.624 -5.979 1.348 -2.175 -4.882 0.235 + -1.439 -5.603 3.342 -0.530 -5.520 3.979 0.237 -3.643 0.599 1.092 + -2.418 0.495 1.150 -4.427 -0.457 1.207 -5.420 -0.298 1.137 -3.944 + -1.854 1.224 -2.861 -1.821 1.384 -4.733 -2.646 2.285 -4.787 -2.054 + 3.204 -5.758 -2.643 1.904 -4.205 -4.039 2.550 -4.827 -5.203 2.156 + -5.784 -5.281 1.646 -4.103 -6.249 2.650 -4.379 -7.204 2.566 -2.970 + -5.851 3.343 -1.964 -6.534 4.044 -1.971 -7.617 4.140 -0.913 -5.815 + 4.611 -0.147 -6.414 5.095 -0.942 -4.395 4.571 -0.235 -3.800 5.129 + -1.976 -3.771 3.926 -2.036 -2.699 3.954 -3.009 -4.458 3.305 -4.054 + -2.519 -0.204 -5.060 -2.364 -0.852 -3.030 -3.244 -0.635 -2.283 -3.365 + 0.077 -2.939 -3.783 -2.002 -3.951 -4.024 -2.331 -2.316 -2.682 -2.853 + -3.093 -1.924 -2.937 -1.441 -2.212 -2.388 -1.920 -3.052 -4.262 -1.072 + -3.737 -4.198 -2.766 -3.581 -4.727 -1.533 -1.770 -5.073 -0.516 -1.127 + -4.754 -2.278 -1.396 -5.986 -2.041 -5.034 -2.025 -0.893 -5.033 -1.573 + -2.558 -6.141 -2.551 -3.490 -6.120 -2.996 -1.791 -7.383 -2.744 -2.411 + -8.256 -2.989 -0.921 -7.260 -4.024 -0.233 -6.423 -3.905 -0.441 -8.220 + -4.289 -1.783 -6.865 -5.252 -2.886 -7.336 -5.430 -1.318 -5.982 -6.063 + -1.874 -5.822 -6.877 -0.337 -5.703 -5.980 -1.028 -7.904 -1.524 0.044 + -8.529 -1.680 -1.509 -7.650 -0.321 -2.393 -7.160 -0.263 -0.909 -7.952 + 0.973 -1.758 -8.034 1.643 -0.361 -8.899 0.992 0.163 -6.960 1.506 + 0.956 -7.274 2.371 0.225 -5.742 0.914 -0.463 -5.465 0.179 1.157 + -4.706 1.313 1.729 -4.945 2.209 2.145 -4.391 0.145 1.492 -4.237 + -0.734 2.698 -3.454 0.313 3.232 -5.504 -0.197 3.837 -5.093 -1.017 + 3.866 -5.709 0.674 2.562 -6.780 -0.763 2.209 -7.391 0.067 1.637 + -6.550 -1.303 3.447 -7.676 -1.598 3.652 -7.074 -2.491 4.387 -7.817 + -1.058 2.803 -8.954 -1.806 1.834 -8.870 -2.136 3.292 -9.504 -2.521 + 2.757 -9.473 -0.967 0.384 -3.403 1.530 -0.721 -3.122 0.967 1.007 + -2.460 2.273 1.952 -2.660 2.547 0.592 -1.053 2.199 -0.493 -1.138 + 2.277 1.083 -0.221 3.416 2.143 -0.383 3.653 0.890 0.842 3.316 + 0.532 -0.641 4.732 1.144 -1.281 5.731 2.203 -1.557 5.665 0.248 + -1.531 6.746 0.567 -1.882 7.642 -1.024 -1.074 6.425 -2.241 -1.107 + 7.118 -2.309 -1.522 8.108 -3.347 -0.495 6.529 -4.287 -0.512 7.035 + -3.253 0.124 5.274 -4.113 0.590 4.812 -1.996 0.138 4.622 -1.933 + 0.562 3.624 -0.847 -0.450 5.154 1.047 -0.409 0.864 2.134 -0.696 + 0.382 0.294 0.573 0.364 -0.653 0.703 0.759 0.554 1.229 -0.952 + 1.622 1.217 -1.163 -0.185 0.439 -2.057 0.193 -0.577 -1.890 -1.693 + 0.553 -2.064 -2.028 1.580 -1.938 -2.073 0.127 -2.986 -2.067 -0.123 + -1.289 0.215 0.835 -3.334 0.151 0.080 -3.984 0.064 2.665 -0.932 + -0.722 3.049 -0.077 0.481 3.515 -1.876 1.007 3.116 -2.630 -0.014 + 4.866 -2.128 -0.528 5.194 -1.226 1.138 5.792 -2.410 1.838 5.665 + -1.577 1.731 5.560 -3.284 0.790 7.212 -2.559 0.730 7.925 -3.680 + 0.916 7.510 -4.657 0.455 9.230 -3.442 0.400 9.918 -4.196 0.298 + 9.472 -2.118 0.008 10.610 -1.329 -0.212 11.600 -1.729 -0.071 10.550 + 0.078 -0.239 11.459 0.650 0.110 9.266 0.707 0.042 9.192 1.777 + 0.397 8.141 -0.098 0.628 7.249 0.488 0.494 8.222 -1.514 -1.034 + 4.824 -3.290 -0.821 4.184 -4.358 -2.141 5.558 -3.059 -2.242 5.964 + -2.138 -3.230 5.662 -4.059 -2.834 5.586 -5.093 -4.258 4.496 -3.830 + -4.648 4.439 -2.805 -5.182 4.647 -4.361 -3.808 3.138 -4.231 -2.883 + 2.831 -3.747 -4.652 2.487 -4.027 -3.513 2.924 -5.710 -4.405 3.173 + -6.294 -2.756 3.610 -6.078 -3.009 1.495 -5.988 -3.548 0.728 -5.430 + -3.102 1.308 -7.061 -1.604 1.264 -5.625 -1.428 1.561 -4.691 -1.374 + 0.234 -5.617 -0.976 1.755 -6.262 -3.944 7.044 -3.961 -3.774 7.780 + -2.963 -4.706 7.470 -5.004 -4.756 6.867 -5.825 -5.141 8.373 -4.891 + -2.762 9.131 -0.804 -2.990 8.516 -1.547 -1.762 9.267 -0.840 -3.144 + 10.054 -0.822 -3.247 8.596 0.434 -2.747 9.259 1.139 -4.782 8.592 + 0.527 -5.178 9.570 0.282 -5.231 7.838 -0.131 -5.094 8.360 1.932 + -6.045 8.101 2.045 -2.767 7.169 0.590 -2.447 6.530 -0.422 -2.739 + 6.581 1.828 -3.116 6.988 2.656 -2.444 5.180 1.975 -1.601 4.959 + 1.328 -1.877 4.953 3.414 -2.652 5.283 4.115 -1.600 3.912 3.650 + -0.713 5.827 3.745 -0.697 6.766 4.740 -1.498 6.971 5.460 0.580 + 7.361 4.743 0.850 7.990 5.473 1.409 6.899 3.725 2.661 7.200 + 3.321 3.217 8.021 3.714 3.249 6.433 2.294 4.305 6.608 2.102 + 2.519 5.447 1.681 2.990 4.861 0.886 1.230 5.081 2.064 0.754 + 4.169 1.696 0.585 5.830 3.117 -3.599 4.261 1.613 -4.760 4.697 + 1.620 -3.321 3.006 1.274 -2.348 2.756 1.061 -4.257 1.953 0.885 + -5.104 1.969 1.552 -4.753 2.202 -0.541 -3.916 2.522 -1.156 -5.550 + 1.068 -1.219 -6.386 0.692 -0.624 -5.979 1.347 -2.176 -4.881 0.234 + -1.439 -5.603 3.342 -0.529 -5.521 3.979 0.239 -3.643 0.600 1.092 + -2.418 0.495 1.150 -4.427 -0.457 1.207 -5.421 -0.298 1.138 -3.944 + -1.854 1.224 -2.862 -1.820 1.384 -4.733 -2.645 2.285 -4.788 -2.054 + 3.204 -5.756 -2.643 1.903 -4.205 -4.039 2.550 -4.827 -5.203 2.156 + -5.783 -5.281 1.645 -4.103 -6.249 2.649 -4.378 -7.204 2.565 -2.970 + -5.851 3.343 -1.964 -6.534 4.044 -1.970 -7.617 4.140 -0.913 -5.814 + 4.611 -0.148 -6.413 5.094 -0.943 -4.395 4.572 -0.236 -3.798 5.130 + -1.976 -3.771 3.926 -2.037 -2.700 3.955 -3.009 -4.458 3.305 -4.053 + -2.518 -0.204 -5.060 -2.364 -0.852 -3.030 -3.244 -0.635 -2.282 -3.366 + 0.078 -2.939 -3.783 -2.002 -3.950 -4.024 -2.331 -2.317 -2.682 -2.853 + -3.094 -1.924 -2.937 -1.440 -2.211 -2.387 -1.919 -3.052 -4.261 -1.075 + -3.733 -4.197 -2.766 -3.581 -4.726 -1.533 -1.770 -5.073 -0.516 -1.127 + -4.754 -2.278 -1.396 -5.986 -2.041 -5.034 -2.025 -0.893 -5.033 -1.573 + -2.558 -6.141 -2.551 -3.492 -6.120 -2.998 -1.791 -7.383 -2.743 -2.412 + -8.257 -2.989 -0.921 -7.260 -4.023 -0.232 -6.422 -3.904 -0.440 -8.220 + -4.289 -1.783 -6.865 -5.252 -2.886 -7.336 -5.431 -1.318 -5.982 -6.062 + -1.873 -5.822 -6.877 -0.335 -5.705 -5.980 -1.028 -7.904 -1.524 0.043 + -8.529 -1.680 -1.509 -7.650 -0.321 -2.394 -7.161 -0.263 -0.909 -7.952 + 0.974 -1.758 -8.034 1.642 -0.362 -8.898 0.993 0.163 -6.960 1.506 + 0.956 -7.274 2.371 0.226 -5.742 0.914 -0.464 -5.465 0.177 1.158 + -4.707 1.313 1.729 -4.946 2.211 2.145 -4.391 0.145 1.491 -4.238 + -0.732 2.696 -3.455 0.311 3.233 -5.504 -0.198 3.837 -5.093 -1.018 + 3.868 -5.709 0.675 2.562 -6.779 -0.763 2.209 -7.392 0.068 1.637 + -6.550 -1.303 3.446 -7.676 -1.598 3.651 -7.074 -2.491 4.386 -7.817 + -1.058 2.803 -8.953 -1.805 1.834 -8.870 -2.136 3.293 -9.504 -2.521 + 2.756 -9.471 -0.968 0.383 -3.404 1.530 -0.722 -3.122 0.967 1.007 + -2.461 2.273 1.952 -2.660 2.545 0.592 -1.053 2.199 -0.491 -1.139 + 2.277 1.083 -0.221 3.416 2.141 -0.383 3.653 0.890 0.841 3.316 + 0.532 -0.641 4.732 1.144 -1.281 5.731 2.204 -1.558 5.665 0.248 + -1.531 6.746 0.568 -1.881 7.642 -1.024 -1.075 6.425 -2.241 -1.107 + 7.117 -2.309 -1.522 8.107 -3.347 -0.495 6.529 -4.285 -0.512 7.034 + -3.253 0.124 5.274 -4.113 0.590 4.811 -1.996 0.138 4.622 -1.932 + 0.563 3.621 -0.846 -0.450 5.154 1.046 -0.410 0.863 2.134 -0.695 + 0.383 0.294 0.573 0.364 -0.655 0.702 0.760 0.555 1.229 -0.952 + 1.623 1.217 -1.164 -0.185 0.439 -2.056 0.193 -0.576 -1.889 -1.693 + 0.553 -2.064 -2.027 1.580 -1.938 -2.073 0.128 -2.986 -2.067 -0.121 + -1.290 0.215 0.834 -3.334 0.151 0.078 -3.983 0.065 2.665 -0.932 + -0.721 3.048 -0.077 0.480 3.516 -1.875 1.005 3.117 -2.630 -0.015 + 4.867 -2.127 -0.528 5.194 -1.226 1.138 5.792 -2.411 1.839 5.664 + -1.576 1.730 5.561 -3.282 0.790 7.212 -2.559 0.731 7.925 -3.680 + 0.916 7.510 -4.656 0.456 9.230 -3.442 0.400 9.918 -4.197 0.299 + 9.472 -2.119 0.009 10.610 -1.329 -0.213 11.600 -1.729 -0.071 10.550 + 0.078 -0.238 11.457 0.649 0.110 9.266 0.708 0.042 9.191 1.777 + 0.397 8.142 -0.099 0.629 7.249 0.488 0.495 8.222 -1.514 -1.034 + 4.824 -3.290 -0.822 4.183 -4.359 -2.141 5.559 -3.058 -2.242 5.964 + -2.138 -3.230 5.662 -4.059 -2.833 5.586 -5.094 -4.258 4.495 -3.829 + -4.647 4.438 -2.803 -5.179 4.646 -4.359 -3.808 3.138 -4.231 -2.882 + 2.830 -3.747 -4.652 2.488 -4.028 -3.512 2.924 -5.711 -4.405 3.174 + -6.295 -2.757 3.608 -6.078 -3.009 1.494 -5.988 -3.546 0.729 -5.431 + -3.102 1.308 -7.060 -1.604 1.263 -5.625 -1.428 1.563 -4.691 -1.374 + 0.231 -5.616 -0.975 1.755 -6.263 -3.944 7.044 -3.961 -3.774 7.780 + -2.963 -4.706 7.471 -5.004 -4.756 6.868 -5.827 -5.141 8.374 -4.892 + -2.762 9.131 -0.804 -2.989 8.516 -1.546 -1.764 9.268 -0.839 -3.145 + 10.052 -0.822 -3.246 8.596 0.434 -2.747 9.260 1.138 -4.783 8.591 + 0.527 -5.178 9.567 0.281 -5.231 7.837 -0.131 -5.094 8.360 1.932 + -6.046 8.100 2.045 -2.767 7.169 0.591 -2.447 6.529 -0.422 -2.739 + 6.582 1.828 -3.116 6.987 2.656 -2.444 5.180 1.975 -1.602 4.959 + 1.328 -1.876 4.954 3.414 -2.651 5.285 4.115 -1.600 3.910 3.652 + -0.713 5.828 3.745 -0.696 6.766 4.740 -1.499 6.971 5.462 0.581 + 7.360 4.744 0.851 7.989 5.474 1.409 6.899 3.725 2.662 7.200 + 3.320 3.215 8.020 3.713 3.250 6.433 2.295 4.305 6.606 2.103 + 2.518 5.448 1.681 2.993 4.860 0.884 1.230 5.081 2.064 0.756 + 4.168 1.697 0.585 5.830 3.116 -3.599 4.261 1.612 -4.760 4.697 + 1.619 -3.321 3.006 1.273 -2.347 2.757 1.059 -4.256 1.952 0.884 + -5.102 1.969 1.552 -4.753 2.202 -0.541 -3.918 2.522 -1.155 -5.549 + 1.067 -1.219 -6.386 0.691 -0.624 -5.979 1.346 -2.177 -4.881 0.234 + -1.438 -5.603 3.342 -0.529 -5.521 3.979 0.241 -3.642 0.600 1.092 + -2.418 0.495 1.150 -4.427 -0.456 1.208 -5.421 -0.297 1.139 -3.944 + -1.853 1.224 -2.863 -1.820 1.383 -4.733 -2.644 2.285 -4.789 -2.054 + 3.203 -5.754 -2.643 1.903 -4.204 -4.039 2.550 -4.827 -5.202 2.155 + -5.782 -5.282 1.645 -4.102 -6.248 2.649 -4.377 -7.203 2.564 -2.970 + -5.851 3.343 -1.964 -6.533 4.045 -1.970 -7.618 4.141 -0.912 -5.814 + 4.611 -0.148 -6.412 5.093 -0.943 -4.395 4.572 -0.236 -3.797 5.132 + -1.977 -3.771 3.927 -2.038 -2.701 3.956 -3.009 -4.458 3.306 -4.053 + -2.518 -0.204 -5.059 -2.363 -0.852 -3.030 -3.243 -0.635 -2.281 -3.367 + 0.078 -2.940 -3.783 -2.002 -3.950 -4.024 -2.331 -2.317 -2.682 -2.853 + -3.094 -1.925 -2.938 -1.439 -2.210 -2.385 -1.919 -3.053 -4.261 -1.077 + -3.730 -4.196 -2.766 -3.582 -4.726 -1.533 -1.769 -5.073 -0.515 -1.126 + -4.755 -2.278 -1.397 -5.987 -2.041 -5.034 -2.025 -0.893 -5.034 -1.573 + -2.558 -6.141 -2.551 -3.494 -6.119 -2.999 -1.791 -7.383 -2.743 -2.413 + -8.258 -2.989 -0.920 -7.260 -4.023 -0.232 -6.421 -3.904 -0.440 -8.220 + -4.288 -1.783 -6.865 -5.251 -2.885 -7.336 -5.431 -1.318 -5.981 -6.061 + -1.872 -5.823 -6.877 -0.334 -5.706 -5.980 -1.028 -7.904 -1.525 0.043 + -8.528 -1.680 -1.509 -7.651 -0.321 -2.395 -7.162 -0.263 -0.909 -7.952 + 0.974 -1.759 -8.034 1.641 -0.363 -8.898 0.993 0.163 -6.959 1.506 + 0.956 -7.273 2.372 0.226 -5.742 0.914 -0.465 -5.464 0.175 1.158 + -4.708 1.314 1.729 -4.947 2.212 2.145 -4.391 0.145 1.490 -4.240 + -0.731 2.693 -3.455 0.309 3.233 -5.503 -0.198 3.837 -5.092 -1.018 + 3.870 -5.710 0.677 2.562 -6.779 -0.763 2.209 -7.393 0.069 1.637 + -6.549 -1.302 3.446 -7.676 -1.598 3.651 -7.074 -2.492 4.385 -7.817 + -1.059 2.803 -8.953 -1.804 1.834 -8.869 -2.136 3.294 -9.504 -2.521 + 2.755 -9.469 -0.970 0.383 -3.404 1.529 -0.722 -3.122 0.967 1.008 + -2.462 2.273 1.953 -2.660 2.542 0.592 -1.054 2.200 -0.490 -1.141 + 2.277 1.082 -0.220 3.416 2.140 -0.383 3.653 0.890 0.840 3.316 + 0.532 -0.641 4.732 1.143 -1.281 5.731 2.205 -1.558 5.665 0.248 + -1.531 6.746 0.568 -1.879 7.643 -1.024 -1.075 6.424 -2.241 -1.108 + 7.117 -2.309 -1.521 8.106 -3.347 -0.496 6.528 -4.283 -0.512 7.033 + -3.253 0.123 5.274 -4.113 0.590 4.811 -1.995 0.138 4.622 -1.932 + 0.563 3.619 -0.846 -0.450 5.154 1.046 -0.410 0.863 2.135 -0.695 + 0.383 0.294 0.574 0.364 -0.656 0.702 0.760 0.555 1.230 -0.952 + 1.624 1.218 -1.164 -0.185 0.439 -2.056 0.193 -0.575 -1.888 -1.693 + 0.554 -2.064 -2.027 1.581 -1.939 -2.072 0.129 -2.986 -2.066 -0.120 + -1.291 0.215 0.833 -3.334 0.151 0.076 -3.983 0.065 2.665 -0.933 + -0.721 3.048 -0.077 0.480 3.517 -1.875 1.004 3.118 -2.629 -0.015 + 4.867 -2.127 -0.529 5.195 -1.227 1.138 5.792 -2.412 1.840 5.664 + -1.574 1.729 5.561 -3.279 0.790 7.212 -2.559 0.731 7.925 -3.680 + 0.916 7.510 -4.656 0.457 9.230 -3.442 0.399 9.918 -4.197 0.299 + 9.472 -2.119 0.009 10.610 -1.328 -0.213 11.599 -1.729 -0.070 10.550 + 0.079 -0.238 11.456 0.648 0.110 9.266 0.708 0.041 9.190 1.777 + 0.397 8.142 -0.099 0.630 7.248 0.488 0.495 8.222 -1.515 -1.034 + 4.824 -3.290 -0.822 4.183 -4.359 -2.141 5.559 -3.058 -2.241 5.965 + -2.138 -3.230 5.662 -4.059 -2.831 5.586 -5.095 -4.257 4.495 -3.829 + -4.646 4.437 -2.801 -5.177 4.645 -4.357 -3.808 3.138 -4.232 -2.880 + 2.829 -3.747 -4.653 2.489 -4.029 -3.512 2.924 -5.711 -4.404 3.175 + -6.295 -2.758 3.607 -6.078 -3.009 1.494 -5.988 -3.544 0.730 -5.433 + -3.101 1.308 -7.059 -1.604 1.263 -5.624 -1.428 1.564 -4.692 -1.374 + 0.228 -5.616 -0.975 1.754 -6.264 -3.945 7.044 -3.961 -3.774 7.780 + -2.963 -4.706 7.472 -5.004 -4.757 6.869 -5.830 -5.142 8.375 -4.893 + -2.762 9.130 -0.805 -2.987 8.517 -1.545 -1.766 9.269 -0.839 -3.146 + 10.049 -0.822 -3.246 8.596 0.433 -2.747 9.261 1.138 -4.783 8.591 + 0.526 -5.178 9.563 0.280 -5.231 7.836 -0.131 -5.094 8.359 1.932 + -6.046 8.099 2.046 -2.767 7.170 0.591 -2.448 6.529 -0.421 -2.740 + 6.582 1.829 -3.116 6.987 2.656 -2.444 5.180 1.975 -1.603 4.960 + 1.329 -1.876 4.955 3.414 -2.650 5.287 4.115 -1.600 3.907 3.654 + -0.713 5.828 3.745 -0.696 6.767 4.740 -1.500 6.970 5.464 0.581 + 7.360 4.744 0.852 7.987 5.475 1.409 6.899 3.724 2.663 7.201 + 3.320 3.214 8.020 3.711 3.250 6.433 2.295 4.305 6.605 2.104 + 2.518 5.448 1.682 2.995 4.858 0.881 1.230 5.080 2.064 0.757 + 4.166 1.697 0.586 5.830 3.116 -3.599 4.261 1.612 -4.760 4.698 + 1.619 -3.321 3.006 1.273 -2.346 2.758 1.057 -4.256 1.952 0.884 + -5.101 1.969 1.551 -4.753 2.202 -0.541 -3.920 2.523 -1.155 -5.549 + 1.066 -1.219 -6.386 0.690 -0.624 -5.978 1.345 -2.178 -4.880 0.233 + -1.438 -5.603 3.342 -0.529 -5.521 3.979 0.242 -3.642 0.600 1.092 + -2.418 0.495 1.149 -4.426 -0.456 1.208 -5.422 -0.297 1.140 -3.943 + -1.853 1.224 -2.864 -1.820 1.383 -4.734 -2.644 2.285 -4.790 -2.055 + 3.203 -5.752 -2.644 1.902 -4.204 -4.039 2.550 -4.826 -5.202 2.154 + -5.781 -5.282 1.644 -4.102 -6.248 2.648 -4.376 -7.202 2.562 -2.969 + -5.851 3.343 -1.964 -6.533 4.045 -1.969 -7.618 4.141 -0.912 -5.813 + 4.611 -0.149 -6.411 5.092 -0.943 -4.395 4.573 -0.237 -3.796 5.134 + -1.977 -3.771 3.927 -2.039 -2.703 3.957 -3.009 -4.458 3.306 -4.053 + -2.517 -0.204 -5.059 -2.363 -0.853 -3.030 -3.243 -0.636 -2.281 -3.368 + 0.079 -2.940 -3.783 -2.002 -3.949 -4.023 -2.331 -2.317 -2.682 -2.853 + -3.095 -1.926 -2.938 -1.438 -2.209 -2.384 -1.918 -3.053 -4.260 -1.080 + -3.727 -4.195 -2.766 -3.582 -4.725 -1.533 -1.769 -5.072 -0.515 -1.126 + -4.755 -2.277 -1.397 -5.987 -2.042 -5.033 -2.025 -0.893 -5.034 -1.572 + -2.558 -6.141 -2.551 -3.496 -6.119 -3.000 -1.791 -7.382 -2.743 -2.413 + -8.259 -2.989 -0.920 -7.260 -4.023 -0.231 -6.421 -3.903 -0.439 -8.221 + -4.288 -1.783 -6.866 -5.251 -2.885 -7.336 -5.432 -1.319 -5.981 -6.061 + -1.871 -5.823 -6.877 -0.332 -5.707 -5.980 -1.029 -7.904 -1.525 0.043 + -8.528 -1.680 -1.509 -7.651 -0.320 -2.396 -7.163 -0.263 -0.909 -7.952 + 0.974 -1.759 -8.033 1.640 -0.364 -8.897 0.994 0.163 -6.959 1.506 + 0.957 -7.272 2.373 0.227 -5.743 0.914 -0.466 -5.463 0.174 1.158 + -4.708 1.314 1.730 -4.948 2.213 2.144 -4.390 0.145 1.489 -4.242 + -0.730 2.690 -3.456 0.307 3.233 -5.503 -0.198 3.836 -5.092 -1.019 + 3.873 -5.710 0.678 2.563 -6.779 -0.764 2.209 -7.394 0.070 1.638 + -6.549 -1.303 3.446 -7.676 -1.599 3.651 -7.075 -2.492 4.384 -7.817 + -1.059 2.802 -8.953 -1.804 1.834 -8.869 -2.136 3.296 -9.505 -2.521 + 2.754 -9.467 -0.971 0.383 -3.405 1.530 -0.722 -3.121 0.967 1.008 + -2.463 2.273 1.954 -2.660 2.540 0.592 -1.055 2.200 -0.489 -1.142 + 2.276 1.082 -0.220 3.417 2.138 -0.382 3.653 0.890 0.839 3.316 + 0.532 -0.640 4.732 1.143 -1.281 5.731 2.207 -1.558 5.666 0.248 + -1.531 6.746 0.568 -1.878 7.643 -1.024 -1.076 6.424 -2.242 -1.108 + 7.117 -2.309 -1.521 8.105 -3.347 -0.496 6.528 -4.281 -0.512 7.032 + -3.252 0.123 5.273 -4.113 0.590 4.811 -1.995 0.138 4.623 -1.931 + 0.563 3.617 -0.846 -0.450 5.154 1.046 -0.410 0.863 2.135 -0.694 + 0.383 0.295 0.574 0.364 -0.658 0.701 0.761 0.556 1.230 -0.952 + 1.625 1.218 -1.164 -0.185 0.439 -2.056 0.192 -0.574 -1.887 -1.693 + 0.554 -2.064 -2.027 1.581 -1.940 -2.072 0.130 -2.986 -2.065 -0.119 + -1.292 0.215 0.832 -3.335 0.150 0.074 -3.982 0.065 2.665 -0.933 + -0.720 3.048 -0.077 0.480 3.517 -1.875 1.002 3.119 -2.629 -0.015 + 4.868 -2.127 -0.529 5.195 -1.227 1.138 5.792 -2.412 1.841 5.663 + -1.573 1.728 5.562 -3.277 0.790 7.212 -2.559 0.731 7.924 -3.680 + 0.915 7.510 -4.656 0.457 9.230 -3.442 0.399 9.918 -4.198 0.300 + 9.473 -2.119 0.010 10.610 -1.328 -0.214 11.599 -1.729 -0.070 10.549 + 0.079 -0.237 11.455 0.648 0.110 9.266 0.708 0.041 9.189 1.777 + 0.398 8.142 -0.099 0.631 7.248 0.488 0.496 8.222 -1.515 -1.034 + 4.824 -3.290 -0.823 4.182 -4.359 -2.141 5.560 -3.058 -2.241 5.965 + -2.138 -3.229 5.662 -4.059 -2.830 5.586 -5.096 -4.257 4.494 -3.829 + -4.645 4.436 -2.800 -5.175 4.644 -4.355 -3.808 3.139 -4.233 -2.879 + 2.828 -3.747 -4.653 2.490 -4.030 -3.512 2.924 -5.712 -4.404 3.176 + -6.296 -2.759 3.605 -6.078 -3.009 1.494 -5.988 -3.543 0.730 -5.435 + -3.101 1.308 -7.057 -1.604 1.262 -5.624 -1.428 1.565 -4.693 -1.374 + 0.225 -5.615 -0.974 1.753 -6.265 -3.945 7.044 -3.961 -3.775 7.780 + -2.963 -4.706 7.472 -5.005 -4.757 6.870 -5.832 -5.142 8.376 -4.893 + -2.761 9.130 -0.805 -2.986 8.517 -1.544 -1.768 9.270 -0.839 -3.147 + 10.047 -0.823 -3.246 8.596 0.433 -2.747 9.262 1.137 -4.783 8.590 + 0.525 -5.179 9.559 0.279 -5.231 7.835 -0.131 -5.094 8.359 1.932 + -6.046 8.098 2.046 -2.767 7.170 0.592 -2.448 6.528 -0.421 -2.740 + 6.582 1.830 -3.116 6.986 2.655 -2.444 5.180 1.975 -1.605 4.960 + 1.329 -1.876 4.955 3.414 -2.649 5.288 4.115 -1.600 3.904 3.655 + -0.713 5.828 3.745 -0.696 6.767 4.740 -1.501 6.970 5.465 0.582 + 7.360 4.744 0.853 7.986 5.476 1.409 6.899 3.724 2.663 7.201 + 3.319 3.212 8.019 3.710 3.250 6.433 2.295 4.304 6.603 2.105 + 2.518 5.449 1.682 2.997 4.857 0.879 1.230 5.080 2.064 0.759 + 4.165 1.698 0.586 5.830 3.116 -3.599 4.261 1.611 -4.760 4.698 + 1.619 -3.321 3.006 1.272 -2.345 2.760 1.055 -4.255 1.952 0.884 + -5.099 1.970 1.551 -4.753 2.202 -0.541 -3.922 2.523 -1.154 -5.549 + 1.066 -1.219 -6.386 0.689 -0.624 -5.978 1.344 -2.179 -4.879 0.232 + -1.438 -5.603 3.342 -0.528 -5.522 3.978 0.244 -3.641 0.601 1.092 + -2.417 0.495 1.149 -4.426 -0.455 1.209 -5.422 -0.296 1.141 -3.943 + -1.852 1.223 -2.864 -1.819 1.383 -4.734 -2.643 2.286 -4.791 -2.055 + 3.202 -5.750 -2.644 1.902 -4.204 -4.039 2.550 -4.826 -5.202 2.153 + -5.780 -5.282 1.644 -4.102 -6.248 2.648 -4.375 -7.202 2.561 -2.969 + -5.851 3.343 -1.965 -6.532 4.045 -1.969 -7.619 4.142 -0.912 -5.813 + 4.611 -0.149 -6.410 5.092 -0.943 -4.394 4.573 -0.237 -3.794 5.135 + -1.978 -3.771 3.928 -2.040 -2.704 3.958 -3.009 -4.457 3.306 -4.053 + -2.517 -0.204 -5.059 -2.363 -0.853 -3.030 -3.243 -0.636 -2.280 -3.369 + 0.079 -2.940 -3.783 -2.002 -3.949 -4.023 -2.331 -2.317 -2.682 -2.853 + -3.095 -1.927 -2.938 -1.438 -2.208 -2.383 -1.918 -3.053 -4.260 -1.083 + -3.723 -4.194 -2.766 -3.583 -4.725 -1.533 -1.769 -5.072 -0.515 -1.126 + -4.755 -2.277 -1.398 -5.987 -2.042 -5.033 -2.025 -0.894 -5.034 -1.572 + -2.558 -6.141 -2.551 -3.498 -6.118 -3.001 -1.791 -7.382 -2.743 -2.414 + -8.260 -2.989 -0.920 -7.260 -4.023 -0.230 -6.421 -3.903 -0.439 -8.221 + -4.287 -1.783 -6.866 -5.251 -2.885 -7.336 -5.432 -1.319 -5.980 -6.060 + -1.869 -5.823 -6.877 -0.330 -5.708 -5.980 -1.029 -7.904 -1.525 0.042 + -8.528 -1.681 -1.509 -7.651 -0.320 -2.397 -7.164 -0.264 -0.909 -7.952 + 0.975 -1.759 -8.032 1.640 -0.365 -8.896 0.994 0.163 -6.959 1.506 + 0.957 -7.271 2.373 0.227 -5.743 0.914 -0.466 -5.462 0.172 1.159 + -4.709 1.314 1.730 -4.949 2.215 2.144 -4.390 0.145 1.488 -4.243 + -0.728 2.688 -3.457 0.305 3.234 -5.503 -0.198 3.836 -5.091 -1.019 + 3.875 -5.711 0.680 2.563 -6.778 -0.764 2.209 -7.395 0.072 1.638 + -6.549 -1.303 3.446 -7.675 -1.599 3.650 -7.075 -2.493 4.384 -7.817 + -1.060 2.802 -8.953 -1.803 1.833 -8.868 -2.136 3.297 -9.505 -2.521 + 2.753 -9.465 -0.972 0.382 -3.406 1.529 -0.722 -3.121 0.966 1.008 + -2.463 2.273 1.955 -2.660 2.538 0.592 -1.056 2.200 -0.487 -1.144 + 2.276 1.081 -0.219 3.417 2.136 -0.382 3.653 0.890 0.838 3.316 + 0.532 -0.640 4.732 1.143 -1.281 5.731 2.208 -1.559 5.666 0.249 + -1.531 6.746 0.568 -1.876 7.644 -1.024 -1.076 6.423 -2.242 -1.109 + 7.116 -2.310 -1.521 8.104 -3.347 -0.496 6.527 -4.279 -0.513 7.031 + -3.252 0.123 5.273 -4.113 0.590 4.810 -1.995 0.138 4.623 -1.930 + 0.564 3.614 -0.846 -0.450 5.154 1.046 -0.410 0.863 2.135 -0.694 + 0.384 0.295 0.574 0.364 -0.659 0.700 0.761 0.556 1.230 -0.952 + 1.625 1.219 -1.164 -0.185 0.439 -2.056 0.192 -0.574 -1.887 -1.693 + 0.555 -2.065 -2.027 1.581 -1.941 -2.071 0.130 -2.987 -2.065 -0.118 + -1.293 0.215 0.831 -3.335 0.150 0.072 -3.982 0.066 2.665 -0.933 + -0.720 3.047 -0.077 0.480 3.518 -1.875 1.001 3.120 -2.628 -0.016 + 4.868 -2.127 -0.529 5.195 -1.228 1.138 5.792 -2.413 1.842 5.663 + -1.571 1.727 5.563 -3.274 0.790 7.212 -2.559 0.731 7.924 -3.680 + 0.915 7.510 -4.655 0.458 9.230 -3.442 0.399 9.918 -4.198 0.300 + 9.473 -2.119 0.010 10.610 -1.327 -0.214 11.599 -1.729 -0.070 10.549 + 0.079 -0.237 11.453 0.647 0.110 9.265 0.709 0.040 9.187 1.776 + 0.398 8.142 -0.099 0.632 7.247 0.487 0.496 8.221 -1.516 -1.034 + 4.824 -3.290 -0.823 4.181 -4.359 -2.140 5.560 -3.057 -2.241 5.965 + -2.138 -3.229 5.662 -4.058 -2.829 5.586 -5.098 -4.256 4.493 -3.829 + -4.645 4.435 -2.798 -5.172 4.643 -4.354 -3.808 3.139 -4.234 -2.877 + 2.827 -3.747 -4.653 2.491 -4.031 -3.512 2.925 -5.712 -4.403 3.177 + -6.297 -2.760 3.604 -6.077 -3.009 1.493 -5.988 -3.542 0.731 -5.436 + -3.100 1.308 -7.056 -1.604 1.262 -5.624 -1.428 1.566 -4.693 -1.375 + 0.222 -5.615 -0.974 1.752 -6.265 -3.945 7.044 -3.961 -3.775 7.780 + -2.963 -4.706 7.473 -5.005 -4.757 6.871 -5.834 -5.142 8.377 -4.894 + -2.761 9.129 -0.806 -2.985 8.518 -1.543 -1.769 9.270 -0.839 -3.148 + 10.044 -0.823 -3.246 8.596 0.432 -2.748 9.263 1.136 -4.784 8.589 + 0.525 -5.179 9.556 0.278 -5.230 7.834 -0.131 -5.094 8.359 1.931 + -6.046 8.097 2.047 -2.767 7.170 0.592 -2.448 6.528 -0.421 -2.740 + 6.582 1.830 -3.116 6.985 2.655 -2.444 5.180 1.975 -1.606 4.960 + 1.329 -1.876 4.956 3.414 -2.648 5.290 4.115 -1.600 3.901 3.657 + -0.713 5.828 3.745 -0.695 6.767 4.740 -1.501 6.970 5.467 0.582 + 7.360 4.744 0.854 7.984 5.477 1.408 6.899 3.724 2.664 7.202 + 3.319 3.211 8.018 3.708 3.250 6.433 2.296 4.304 6.601 2.106 + 2.518 5.450 1.682 3.000 4.855 0.877 1.230 5.080 2.064 0.760 + 4.163 1.699 0.587 5.831 3.116 -3.599 4.261 1.611 -4.760 4.698 + 1.619 -3.321 3.006 1.272 -2.345 2.761 1.053 -4.255 1.952 0.883 + -5.098 1.970 1.551 -4.752 2.202 -0.541 -3.924 2.524 -1.154 -5.549 + 1.065 -1.220 -6.386 0.688 -0.624 -5.978 1.344 -2.179 -4.879 0.231 + -1.438 -5.603 3.342 -0.528 -5.522 3.977 0.246 -3.641 0.601 1.092 + -2.417 0.495 1.149 -4.426 -0.455 1.209 -5.423 -0.296 1.142 -3.943 + -1.851 1.223 -2.865 -1.819 1.383 -4.734 -2.643 2.286 -4.792 -2.055 + 3.201 -5.749 -2.645 1.901 -4.204 -4.039 2.550 -4.825 -5.201 2.153 + -5.780 -5.282 1.643 -4.101 -6.247 2.647 -4.374 -7.201 2.560 -2.969 + -5.851 3.342 -1.965 -6.532 4.045 -1.969 -7.619 4.142 -0.911 -5.813 + 4.611 -0.150 -6.409 5.091 -0.943 -4.394 4.573 -0.238 -3.793 5.137 + -1.978 -3.771 3.928 -2.041 -2.705 3.959 -3.009 -4.457 3.307 -4.052 + -2.517 -0.204 -5.059 -2.363 -0.853 -3.031 -3.242 -0.636 -2.279 -3.370 + 0.079 -2.940 -3.783 -2.002 -3.949 -4.023 -2.331 -2.318 -2.682 -2.852 + -3.096 -1.928 -2.939 -1.437 -2.207 -2.381 -1.917 -3.053 -4.259 -1.086 + -3.720 -4.193 -2.766 -3.584 -4.725 -1.533 -1.769 -5.072 -0.515 -1.125 + -4.756 -2.277 -1.398 -5.988 -2.042 -5.033 -2.025 -0.894 -5.035 -1.572 + -2.559 -6.141 -2.552 -3.499 -6.118 -3.002 -1.791 -7.382 -2.742 -2.415 + -8.261 -2.989 -0.920 -7.260 -4.022 -0.230 -6.420 -3.903 -0.438 -8.221 + -4.287 -1.783 -6.866 -5.250 -2.885 -7.336 -5.432 -1.319 -5.980 -6.059 + -1.868 -5.824 -6.877 -0.328 -5.709 -5.980 -1.029 -7.903 -1.525 0.042 + -8.527 -1.681 -1.509 -7.652 -0.320 -2.398 -7.165 -0.264 -0.909 -7.951 + 0.975 -1.759 -8.032 1.639 -0.366 -8.895 0.994 0.163 -6.959 1.506 + 0.957 -7.270 2.374 0.228 -5.744 0.914 -0.467 -5.462 0.171 1.159 + -4.710 1.315 1.730 -4.949 2.216 2.144 -4.390 0.145 1.487 -4.245 + -0.727 2.685 -3.458 0.302 3.234 -5.502 -0.198 3.836 -5.091 -1.020 + 3.877 -5.711 0.681 2.563 -6.778 -0.764 2.208 -7.396 0.073 1.639 + -6.548 -1.303 3.446 -7.675 -1.599 3.650 -7.076 -2.494 4.383 -7.817 + -1.060 2.802 -8.953 -1.802 1.833 -8.868 -2.136 3.298 -9.505 -2.520 + 2.753 -9.463 -0.974 0.382 -3.406 1.529 -0.723 -3.121 0.966 1.009 + -2.464 2.273 1.956 -2.661 2.536 0.592 -1.056 2.200 -0.486 -1.145 + 2.276 1.081 -0.219 3.418 2.134 -0.382 3.653 0.890 0.837 3.317 + 0.532 -0.640 4.732 1.143 -1.281 5.731 2.209 -1.559 5.667 0.249 + -1.531 6.746 0.568 -1.875 7.644 -1.024 -1.076 6.423 -2.242 -1.109 + 7.116 -2.310 -1.520 8.103 -3.348 -0.496 6.527 -4.277 -0.513 7.030 + -3.252 0.123 5.273 -4.113 0.590 4.810 -1.995 0.138 4.623 -1.930 + 0.564 3.612 -0.845 -0.450 5.155 1.045 -0.411 0.863 2.136 -0.693 + 0.384 0.295 0.575 0.364 -0.660 0.699 0.762 0.556 1.230 -0.952 + 1.626 1.219 -1.164 -0.185 0.440 -2.055 0.191 -0.573 -1.886 -1.693 + 0.555 -2.065 -2.027 1.582 -1.942 -2.070 0.131 -2.987 -2.064 -0.117 + -1.294 0.214 0.831 -3.335 0.150 0.071 -3.981 0.066 2.665 -0.933 + -0.719 3.047 -0.077 0.480 3.518 -1.875 1.000 3.121 -2.628 -0.016 + 4.869 -2.127 -0.529 5.195 -1.228 1.137 5.793 -2.413 1.843 5.663 + -1.570 1.726 5.563 -3.272 0.790 7.212 -2.559 0.731 7.924 -3.680 + 0.915 7.510 -4.655 0.459 9.230 -3.443 0.399 9.918 -4.199 0.301 + 9.473 -2.119 0.011 10.609 -1.327 -0.215 11.598 -1.729 -0.069 10.549 + 0.080 -0.236 11.452 0.646 0.110 9.265 0.709 0.040 9.186 1.776 + 0.399 8.143 -0.099 0.633 7.246 0.487 0.496 8.221 -1.516 -1.034 + 4.824 -3.289 -0.824 4.181 -4.359 -2.140 5.561 -3.057 -2.241 5.966 + -2.138 -3.229 5.662 -4.058 -2.827 5.587 -5.099 -4.256 4.493 -3.828 + -4.644 4.434 -2.796 -5.170 4.642 -4.352 -3.808 3.139 -4.235 -2.875 + 2.826 -3.746 -4.653 2.492 -4.032 -3.512 2.925 -5.713 -4.403 3.177 + -6.297 -2.761 3.603 -6.077 -3.009 1.493 -5.988 -3.540 0.732 -5.438 + -3.100 1.308 -7.055 -1.604 1.261 -5.624 -1.428 1.567 -4.694 -1.375 + 0.220 -5.614 -0.974 1.752 -6.266 -3.945 7.044 -3.961 -3.775 7.779 + -2.962 -4.706 7.473 -5.005 -4.758 6.873 -5.836 -5.142 8.378 -4.895 + -2.761 9.129 -0.806 -2.984 8.518 -1.543 -1.771 9.271 -0.838 -3.150 + 10.042 -0.824 -3.246 8.595 0.431 -2.748 9.264 1.135 -4.784 8.588 + 0.524 -5.179 9.552 0.277 -5.230 7.833 -0.131 -5.094 8.359 1.931 + -6.046 8.096 2.047 -2.767 7.170 0.593 -2.449 6.527 -0.420 -2.740 + 6.582 1.831 -3.117 6.985 2.655 -2.444 5.180 1.975 -1.607 4.961 + 1.329 -1.876 4.956 3.414 -2.647 5.291 4.114 -1.600 3.898 3.659 + -0.714 5.829 3.745 -0.695 6.767 4.740 -1.502 6.969 5.469 0.582 + 7.360 4.744 0.855 7.983 5.477 1.408 6.899 3.723 2.665 7.202 + 3.318 3.209 8.018 3.707 3.250 6.434 2.296 4.304 6.600 2.107 + 2.517 5.450 1.682 3.002 4.854 0.875 1.230 5.080 2.064 0.762 + 4.162 1.699 0.588 5.831 3.115 -3.599 4.262 1.610 -4.760 4.698 + 1.618 -3.320 3.006 1.271 -2.344 2.763 1.051 -4.254 1.952 0.883 + -5.097 1.970 1.550 -4.752 2.202 -0.541 -3.925 2.524 -1.154 -5.549 + 1.064 -1.220 -6.386 0.687 -0.624 -5.978 1.343 -2.180 -4.878 0.231 + -1.437 -5.603 3.341 -0.527 -5.522 3.977 0.247 -3.640 0.601 1.092 + -2.417 0.495 1.149 -4.426 -0.454 1.209 -5.423 -0.295 1.143 -3.943 + -1.851 1.223 -2.866 -1.819 1.383 -4.734 -2.642 2.286 -4.793 -2.056 + 3.201 -5.747 -2.645 1.901 -4.204 -4.039 2.550 -4.825 -5.201 2.152 + -5.779 -5.282 1.643 -4.101 -6.247 2.647 -4.373 -7.200 2.559 -2.969 + -5.851 3.342 -1.965 -6.531 4.045 -1.968 -7.619 4.143 -0.911 -5.812 + 4.611 -0.150 -6.408 5.090 -0.943 -4.394 4.574 -0.238 -3.792 5.138 + -1.978 -3.771 3.929 -2.042 -2.706 3.960 -3.009 -4.457 3.307 -4.052 + -2.516 -0.204 -5.059 -2.362 -0.853 -3.031 -3.242 -0.636 -2.279 -3.372 + 0.079 -2.941 -3.783 -2.002 -3.948 -4.022 -2.332 -2.318 -2.682 -2.852 + -3.096 -1.929 -2.939 -1.436 -2.206 -2.380 -1.917 -3.053 -4.259 -1.089 + -3.716 -4.192 -2.766 -3.584 -4.724 -1.533 -1.768 -5.072 -0.515 -1.125 + -4.756 -2.277 -1.398 -5.988 -2.042 -5.032 -2.025 -0.894 -5.035 -1.572 + -2.559 -6.141 -2.552 -3.501 -6.117 -3.003 -1.791 -7.382 -2.742 -2.416 + -8.262 -2.989 -0.920 -7.261 -4.022 -0.229 -6.420 -3.902 -0.437 -8.221 + -4.286 -1.783 -6.866 -5.250 -2.885 -7.336 -5.433 -1.319 -5.979 -6.058 + -1.867 -5.824 -6.877 -0.327 -5.710 -5.980 -1.029 -7.903 -1.525 0.042 + -8.527 -1.681 -1.509 -7.652 -0.320 -2.399 -7.166 -0.264 -0.909 -7.951 + 0.975 -1.759 -8.031 1.638 -0.367 -8.895 0.994 0.163 -6.959 1.506 + 0.957 -7.270 2.374 0.228 -5.744 0.914 -0.468 -5.461 0.169 1.159 + -4.710 1.315 1.731 -4.950 2.218 2.143 -4.390 0.145 1.487 -4.247 + -0.725 2.682 -3.458 0.300 3.234 -5.502 -0.198 3.836 -5.090 -1.020 + 3.879 -5.712 0.682 2.564 -6.778 -0.765 2.208 -7.397 0.074 1.639 + -6.548 -1.303 3.445 -7.675 -1.599 3.649 -7.076 -2.495 4.382 -7.817 + -1.060 2.802 -8.953 -1.802 1.833 -8.867 -2.136 3.299 -9.505 -2.520 + 2.752 -9.461 -0.975 0.381 -3.407 1.529 -0.723 -3.120 0.966 1.009 + -2.465 2.273 1.957 -2.661 2.534 0.592 -1.057 2.200 -0.485 -1.147 + 2.275 1.081 -0.219 3.418 2.132 -0.382 3.653 0.890 0.836 3.317 + 0.532 -0.640 4.732 1.143 -1.281 5.731 2.210 -1.560 5.667 0.249 + -1.531 6.746 0.569 -1.873 7.645 -1.024 -1.077 6.422 -2.242 -1.110 + 7.116 -2.310 -1.520 8.102 -3.348 -0.497 6.526 -4.275 -0.513 7.029 + -3.252 0.123 5.273 -4.113 0.590 4.810 -1.995 0.138 4.623 -1.929 + 0.564 3.610 -0.845 -0.450 5.155 1.045 -0.411 0.863 2.136 -0.693 + 0.384 0.296 0.575 0.363 -0.661 0.699 0.762 0.557 1.230 -0.953 + 1.627 1.219 -1.164 -0.184 0.440 -2.055 0.191 -0.572 -1.885 -1.693 + 0.555 -2.065 -2.027 1.582 -1.943 -2.070 0.132 -2.987 -2.064 -0.115 + -1.295 0.214 0.830 -3.335 0.150 0.069 -3.980 0.066 2.665 -0.933 + -0.719 3.046 -0.077 0.479 3.519 -1.875 0.998 3.121 -2.628 -0.016 + 4.869 -2.127 -0.530 5.195 -1.229 1.137 5.793 -2.414 1.844 5.663 + -1.568 1.724 5.564 -3.270 0.790 7.212 -2.559 0.731 7.924 -3.680 + 0.915 7.510 -4.655 0.459 9.230 -3.443 0.399 9.918 -4.199 0.301 + 9.473 -2.120 0.011 10.609 -1.327 -0.215 11.598 -1.729 -0.069 10.549 + 0.080 -0.236 11.450 0.645 0.110 9.265 0.709 0.039 9.184 1.776 + 0.399 8.143 -0.099 0.634 7.246 0.487 0.497 8.221 -1.516 -1.034 + 4.825 -3.289 -0.824 4.180 -4.360 -2.140 5.561 -3.057 -2.241 5.966 + -2.138 -3.228 5.662 -4.058 -2.826 5.587 -5.100 -4.255 4.492 -3.828 + -4.643 4.433 -2.794 -5.168 4.642 -4.351 -3.808 3.139 -4.235 -2.874 + 2.825 -3.746 -4.653 2.493 -4.033 -3.512 2.925 -5.713 -4.403 3.178 + -6.298 -2.762 3.601 -6.076 -3.009 1.492 -5.988 -3.539 0.733 -5.440 + -3.099 1.308 -7.054 -1.604 1.261 -5.624 -1.428 1.569 -4.694 -1.375 + 0.217 -5.614 -0.973 1.751 -6.267 -3.946 7.044 -3.961 -3.775 7.779 + -2.962 -4.706 7.474 -5.005 -4.758 6.874 -5.837 -5.142 8.379 -4.896 + -2.761 9.128 -0.806 -2.983 8.519 -1.542 -1.773 9.272 -0.838 -3.151 + 10.039 -0.825 -3.246 8.595 0.431 -2.748 9.264 1.135 -4.785 8.588 + 0.523 -5.179 9.549 0.276 -5.230 7.832 -0.132 -5.094 8.359 1.931 + -6.046 8.095 2.048 -2.767 7.170 0.593 -2.449 6.527 -0.420 -2.741 + 6.582 1.832 -3.117 6.984 2.655 -2.445 5.180 1.975 -1.608 4.961 + 1.329 -1.876 4.957 3.414 -2.646 5.293 4.114 -1.600 3.896 3.660 + -0.714 5.829 3.745 -0.694 6.768 4.740 -1.502 6.969 5.470 0.583 + 7.359 4.745 0.856 7.982 5.478 1.407 6.899 3.723 2.665 7.203 + 3.318 3.207 8.017 3.705 3.250 6.434 2.297 4.304 6.598 2.107 + 2.517 5.451 1.682 3.004 4.853 0.873 1.230 5.080 2.064 0.763 + 4.161 1.700 0.588 5.831 3.115 -3.599 4.262 1.610 -4.760 4.698 + 1.618 -3.320 3.006 1.271 -2.343 2.764 1.049 -4.254 1.952 0.882 + -5.096 1.970 1.550 -4.752 2.203 -0.541 -3.927 2.525 -1.154 -5.548 + 1.063 -1.220 -6.386 0.686 -0.624 -5.978 1.343 -2.181 -4.877 0.230 + -1.437 -5.603 3.341 -0.527 -5.522 3.976 0.249 -3.640 0.601 1.092 + -2.417 0.495 1.148 -4.426 -0.453 1.210 -5.424 -0.295 1.144 -3.943 + -1.850 1.223 -2.867 -1.819 1.384 -4.734 -2.641 2.286 -4.794 -2.056 + 3.200 -5.745 -2.646 1.900 -4.204 -4.039 2.550 -4.825 -5.201 2.151 + -5.778 -5.282 1.642 -4.101 -6.247 2.646 -4.372 -7.200 2.558 -2.969 + -5.851 3.342 -1.965 -6.531 4.045 -1.968 -7.619 4.144 -0.911 -5.812 + 4.611 -0.151 -6.407 5.090 -0.943 -4.394 4.574 -0.239 -3.791 5.140 + -1.979 -3.771 3.929 -2.043 -2.707 3.961 -3.009 -4.457 3.308 -4.052 + -2.516 -0.204 -5.059 -2.362 -0.854 -3.031 -3.241 -0.636 -2.278 -3.373 + 0.079 -2.941 -3.783 -2.002 -3.948 -4.022 -2.332 -2.318 -2.682 -2.852 + -3.097 -1.930 -2.940 -1.435 -2.205 -2.378 -1.916 -3.053 -4.258 -1.092 + -3.713 -4.191 -2.766 -3.585 -4.723 -1.533 -1.768 -5.071 -0.514 -1.125 + -4.756 -2.277 -1.399 -5.988 -2.042 -5.032 -2.025 -0.894 -5.036 -1.572 + -2.559 -6.141 -2.552 -3.502 -6.117 -3.005 -1.791 -7.382 -2.742 -2.417 + -8.262 -2.989 -0.920 -7.261 -4.022 -0.228 -6.419 -3.902 -0.437 -8.221 + -4.285 -1.783 -6.866 -5.250 -2.885 -7.336 -5.433 -1.319 -5.979 -6.057 + -1.866 -5.824 -6.878 -0.326 -5.710 -5.980 -1.029 -7.903 -1.525 0.041 + -8.527 -1.681 -1.509 -7.653 -0.320 -2.400 -7.167 -0.265 -0.909 -7.951 + 0.976 -1.759 -8.031 1.638 -0.368 -8.894 0.995 0.163 -6.959 1.506 + 0.958 -7.269 2.375 0.229 -5.745 0.914 -0.468 -5.461 0.168 1.159 + -4.711 1.315 1.731 -4.951 2.220 2.143 -4.390 0.145 1.486 -4.248 + -0.724 2.679 -3.459 0.298 3.235 -5.502 -0.198 3.835 -5.089 -1.020 + 3.881 -5.712 0.684 2.564 -6.777 -0.765 2.208 -7.398 0.076 1.640 + -6.548 -1.303 3.445 -7.675 -1.599 3.649 -7.077 -2.495 4.382 -7.817 + -1.061 2.801 -8.953 -1.801 1.832 -8.866 -2.136 3.300 -9.506 -2.519 + 2.751 -9.459 -0.976 0.381 -3.408 1.529 -0.723 -3.120 0.966 1.010 + -2.466 2.273 1.959 -2.661 2.532 0.592 -1.058 2.200 -0.483 -1.148 + 2.275 1.080 -0.218 3.419 2.131 -0.381 3.653 0.890 0.836 3.317 + 0.532 -0.639 4.732 1.143 -1.281 5.731 2.211 -1.560 5.668 0.249 + -1.531 6.746 0.569 -1.872 7.645 -1.024 -1.077 6.421 -2.242 -1.111 + 7.115 -2.310 -1.520 8.101 -3.348 -0.497 6.526 -4.273 -0.513 7.028 + -3.252 0.122 5.273 -4.113 0.590 4.809 -1.994 0.138 4.623 -1.928 + 0.564 3.608 -0.845 -0.450 5.155 1.045 -0.411 0.862 2.136 -0.692 + 0.384 0.296 0.575 0.363 -0.663 0.698 0.763 0.557 1.230 -0.953 + 1.628 1.220 -1.165 -0.184 0.440 -2.055 0.190 -0.571 -1.885 -1.693 + 0.556 -2.065 -2.026 1.582 -1.944 -2.069 0.133 -2.988 -2.063 -0.114 + -1.296 0.214 0.829 -3.335 0.150 0.067 -3.979 0.067 2.665 -0.933 + -0.719 3.046 -0.078 0.479 3.519 -1.874 0.997 3.122 -2.628 -0.017 + 4.869 -2.126 -0.530 5.195 -1.229 1.137 5.793 -2.414 1.844 5.663 + -1.567 1.723 5.564 -3.269 0.790 7.212 -2.559 0.731 7.924 -3.680 + 0.915 7.510 -4.655 0.460 9.230 -3.443 0.399 9.918 -4.200 0.302 + 9.474 -2.120 0.011 10.609 -1.326 -0.216 11.598 -1.729 -0.069 10.549 + 0.080 -0.235 11.448 0.644 0.110 9.265 0.709 0.039 9.183 1.776 + 0.399 8.143 -0.099 0.635 7.245 0.486 0.497 8.221 -1.517 -1.035 + 4.825 -3.289 -0.825 4.179 -4.360 -2.139 5.561 -3.056 -2.241 5.967 + -2.138 -3.228 5.662 -4.058 -2.825 5.587 -5.101 -4.255 4.492 -3.828 + -4.642 4.433 -2.792 -5.165 4.641 -4.349 -3.808 3.139 -4.236 -2.872 + 2.824 -3.746 -4.653 2.493 -4.034 -3.512 2.925 -5.714 -4.402 3.179 + -6.298 -2.763 3.600 -6.076 -3.009 1.492 -5.988 -3.538 0.734 -5.441 + -3.099 1.309 -7.053 -1.604 1.260 -5.623 -1.428 1.570 -4.695 -1.375 + 0.215 -5.613 -0.973 1.750 -6.267 -3.946 7.044 -3.961 -3.775 7.779 + -2.962 -4.706 7.474 -5.005 -4.759 6.875 -5.839 -5.142 8.380 -4.897 + -2.761 9.128 -0.807 -2.982 8.519 -1.541 -1.774 9.273 -0.838 -3.152 + 10.037 -0.825 -3.246 8.595 0.430 -2.749 9.265 1.134 -4.785 8.587 + 0.523 -5.180 9.545 0.275 -5.229 7.831 -0.132 -5.094 8.359 1.931 + -6.046 8.094 2.048 -2.767 7.170 0.594 -2.449 6.526 -0.419 -2.741 + 6.583 1.832 -3.117 6.984 2.654 -2.445 5.180 1.975 -1.609 4.961 + 1.329 -1.875 4.958 3.414 -2.645 5.294 4.114 -1.600 3.893 3.662 + -0.714 5.829 3.745 -0.694 6.768 4.740 -1.503 6.968 5.472 0.583 + 7.359 4.745 0.858 7.980 5.479 1.407 6.899 3.723 2.666 7.203 + 3.317 3.206 8.017 3.704 3.250 6.434 2.297 4.303 6.596 2.108 + 2.517 5.452 1.682 3.007 4.852 0.871 1.230 5.080 2.064 0.765 + 4.160 1.700 0.589 5.831 3.115 -3.600 4.262 1.609 -4.760 4.698 + 1.618 -3.320 3.006 1.270 -2.343 2.766 1.047 -4.253 1.952 0.882 + -5.095 1.970 1.550 -4.752 2.203 -0.541 -3.928 2.525 -1.154 -5.548 + 1.063 -1.220 -6.385 0.685 -0.624 -5.978 1.342 -2.182 -4.877 0.229 + -1.437 -5.603 3.341 -0.527 -5.523 3.975 0.250 -3.639 0.602 1.092 + -2.416 0.495 1.148 -4.426 -0.453 1.210 -5.425 -0.294 1.145 -3.943 + -1.850 1.223 -2.867 -1.819 1.384 -4.734 -2.641 2.286 -4.795 -2.056 + 3.200 -5.744 -2.646 1.900 -4.203 -4.040 2.549 -4.824 -5.200 2.150 + -5.777 -5.282 1.642 -4.101 -6.246 2.646 -4.371 -7.199 2.557 -2.969 + -5.851 3.342 -1.965 -6.530 4.045 -1.967 -7.620 4.144 -0.910 -5.812 + 4.611 -0.151 -6.405 5.089 -0.944 -4.394 4.575 -0.239 -3.789 5.141 + -1.979 -3.771 3.929 -2.044 -2.708 3.962 -3.009 -4.457 3.308 -4.052 + -2.515 -0.203 -5.059 -2.362 -0.854 -3.031 -3.241 -0.637 -2.278 -3.374 + 0.078 -2.941 -3.783 -2.002 -3.948 -4.021 -2.332 -2.318 -2.682 -2.852 + -3.098 -1.931 -2.940 -1.435 -2.204 -2.377 -1.916 -3.053 -4.258 -1.095 + -3.710 -4.191 -2.766 -3.585 -4.723 -1.533 -1.768 -5.071 -0.514 -1.124 + -4.757 -2.277 -1.399 -5.989 -2.043 -5.032 -2.025 -0.894 -5.036 -1.572 + -2.559 -6.141 -2.552 -3.504 -6.116 -3.005 -1.791 -7.382 -2.741 -2.418 + -8.263 -2.988 -0.920 -7.261 -4.022 -0.228 -6.419 -3.901 -0.436 -8.221 + -4.285 -1.782 -6.866 -5.249 -2.884 -7.336 -5.434 -1.319 -5.978 -6.056 + -1.865 -5.824 -6.878 -0.324 -5.711 -5.980 -1.029 -7.903 -1.525 0.041 + -8.526 -1.681 -1.509 -7.653 -0.320 -2.400 -7.168 -0.265 -0.909 -7.951 + 0.976 -1.759 -8.030 1.637 -0.369 -8.893 0.995 0.162 -6.959 1.506 + 0.958 -7.268 2.376 0.229 -5.745 0.913 -0.469 -5.460 0.167 1.160 + -4.712 1.316 1.731 -4.952 2.221 2.143 -4.389 0.146 1.485 -4.250 + -0.722 2.676 -3.460 0.296 3.235 -5.501 -0.198 3.835 -5.089 -1.021 + 3.883 -5.713 0.685 2.564 -6.777 -0.765 2.208 -7.399 0.077 1.641 + -6.548 -1.303 3.445 -7.675 -1.599 3.649 -7.078 -2.496 4.381 -7.817 + -1.061 2.801 -8.953 -1.801 1.832 -8.865 -2.135 3.300 -9.506 -2.519 + 2.750 -9.458 -0.976 0.381 -3.408 1.529 -0.723 -3.120 0.965 1.010 + -2.466 2.273 1.960 -2.661 2.530 0.592 -1.059 2.200 -0.482 -1.149 + 2.275 1.080 -0.218 3.419 2.129 -0.381 3.652 0.889 0.835 3.317 + 0.532 -0.639 4.732 1.143 -1.281 5.731 2.212 -1.561 5.668 0.249 + -1.531 6.746 0.568 -1.870 7.646 -1.024 -1.077 6.421 -2.242 -1.111 + 7.115 -2.310 -1.519 8.100 -3.348 -0.497 6.525 -4.271 -0.514 7.027 + -3.252 0.122 5.273 -4.112 0.590 4.809 -1.994 0.138 4.623 -1.927 + 0.564 3.606 -0.845 -0.450 5.155 1.044 -0.411 0.862 2.137 -0.692 + 0.385 0.296 0.576 0.363 -0.664 0.697 0.763 0.558 1.230 -0.953 + 1.628 1.220 -1.165 -0.184 0.440 -2.055 0.190 -0.570 -1.884 -1.693 + 0.556 -2.065 -2.026 1.582 -1.945 -2.069 0.134 -2.988 -2.062 -0.112 + -1.297 0.214 0.828 -3.335 0.150 0.065 -3.979 0.067 2.665 -0.933 + -0.718 3.046 -0.078 0.479 3.520 -1.874 0.996 3.123 -2.627 -0.017 + 4.870 -2.126 -0.530 5.195 -1.230 1.137 5.793 -2.415 1.845 5.662 + -1.566 1.722 5.565 -3.267 0.790 7.212 -2.559 0.731 7.924 -3.680 + 0.914 7.510 -4.654 0.461 9.230 -3.443 0.399 9.918 -4.200 0.303 + 9.474 -2.120 0.012 10.609 -1.326 -0.216 11.597 -1.730 -0.068 10.549 + 0.081 -0.235 11.447 0.644 0.110 9.265 0.710 0.038 9.181 1.776 + 0.400 8.143 -0.099 0.636 7.245 0.485 0.498 8.221 -1.517 -1.035 + 4.825 -3.289 -0.825 4.179 -4.360 -2.139 5.562 -3.056 -2.241 5.967 + -2.137 -3.228 5.662 -4.057 -2.823 5.587 -5.102 -4.254 4.491 -3.827 + -4.640 4.432 -2.790 -5.163 4.641 -4.348 -3.808 3.139 -4.237 -2.871 + 2.823 -3.745 -4.653 2.494 -4.034 -3.511 2.925 -5.714 -4.402 3.179 + -6.299 -2.764 3.598 -6.075 -3.009 1.492 -5.988 -3.537 0.735 -5.443 + -3.098 1.309 -7.052 -1.605 1.260 -5.623 -1.427 1.571 -4.695 -1.376 + 0.212 -5.612 -0.972 1.749 -6.268 -3.946 7.044 -3.961 -3.775 7.779 + -2.961 -4.706 7.475 -5.005 -4.759 6.877 -5.841 -5.143 8.381 -4.898 + -2.761 9.127 -0.807 -2.981 8.520 -1.541 -1.776 9.274 -0.837 -3.153 + 10.035 -0.826 -3.246 8.595 0.430 -2.750 9.266 1.133 -4.786 8.586 + 0.522 -5.180 9.542 0.274 -5.229 7.830 -0.132 -5.094 8.359 1.931 + -6.045 8.093 2.049 -2.767 7.170 0.594 -2.450 6.526 -0.419 -2.741 + 6.583 1.833 -3.117 6.984 2.654 -2.445 5.180 1.975 -1.610 4.961 + 1.329 -1.875 4.958 3.414 -2.644 5.295 4.114 -1.600 3.891 3.663 + -0.714 5.830 3.745 -0.694 6.768 4.740 -1.503 6.968 5.473 0.583 + 7.359 4.745 0.859 7.979 5.480 1.407 6.900 3.722 2.667 7.204 + 3.317 3.204 8.016 3.703 3.250 6.434 2.298 4.303 6.595 2.109 + 2.517 5.452 1.683 3.009 4.851 0.869 1.229 5.079 2.064 0.766 + 4.158 1.701 0.589 5.832 3.114 -3.600 4.262 1.609 -4.760 4.698 + 1.618 -3.320 3.006 1.270 -2.342 2.767 1.045 -4.253 1.952 0.882 + -5.094 1.971 1.550 -4.752 2.203 -0.541 -3.930 2.525 -1.154 -5.548 + 1.062 -1.220 -6.385 0.684 -0.624 -5.978 1.342 -2.183 -4.876 0.229 + -1.436 -5.603 3.341 -0.526 -5.523 3.974 0.251 -3.639 0.602 1.092 + -2.416 0.495 1.148 -4.426 -0.452 1.211 -5.425 -0.294 1.145 -3.942 + -1.849 1.223 -2.868 -1.818 1.385 -4.735 -2.640 2.286 -4.796 -2.057 + 3.199 -5.742 -2.647 1.899 -4.203 -4.040 2.549 -4.824 -5.200 2.150 + -5.776 -5.283 1.641 -4.100 -6.246 2.645 -4.370 -7.199 2.556 -2.968 + -5.851 3.342 -1.966 -6.530 4.045 -1.967 -7.620 4.145 -0.910 -5.811 + 4.611 -0.151 -6.404 5.088 -0.944 -4.394 4.575 -0.240 -3.788 5.143 + -1.980 -3.771 3.930 -2.045 -2.709 3.963 -3.009 -4.457 3.308 -4.051 + -2.515 -0.203 -5.059 -2.362 -0.854 -3.031 -3.240 -0.637 -2.277 -3.376 + 0.078 -2.941 -3.784 -2.002 -3.947 -4.021 -2.333 -2.319 -2.682 -2.852 + -3.099 -1.932 -2.941 -1.434 -2.203 -2.375 -1.915 -3.053 -4.257 -1.097 + -3.706 -4.190 -2.766 -3.586 -4.722 -1.533 -1.768 -5.070 -0.514 -1.124 + -4.757 -2.276 -1.399 -5.989 -2.043 -5.032 -2.025 -0.894 -5.036 -1.572 + -2.559 -6.141 -2.552 -3.505 -6.115 -3.006 -1.791 -7.381 -2.741 -2.420 + -8.263 -2.988 -0.920 -7.261 -4.021 -0.227 -6.419 -3.900 -0.435 -8.221 + -4.284 -1.782 -6.866 -5.249 -2.884 -7.337 -5.434 -1.319 -5.977 -6.055 + -1.864 -5.825 -6.878 -0.323 -5.712 -5.980 -1.029 -7.903 -1.525 0.041 + -8.526 -1.681 -1.509 -7.653 -0.320 -2.401 -7.169 -0.265 -0.909 -7.951 + 0.977 -1.759 -8.030 1.637 -0.370 -8.893 0.995 0.162 -6.959 1.506 + 0.958 -7.267 2.376 0.229 -5.745 0.913 -0.469 -5.460 0.166 1.160 + -4.712 1.316 1.732 -4.953 2.223 2.143 -4.389 0.146 1.485 -4.251 + -0.721 2.673 -3.461 0.294 3.236 -5.501 -0.198 3.835 -5.088 -1.021 + 3.885 -5.713 0.686 2.565 -6.777 -0.765 2.208 -7.400 0.078 1.641 + -6.547 -1.303 3.445 -7.674 -1.599 3.648 -7.079 -2.497 4.380 -7.817 + -1.061 2.801 -8.953 -1.800 1.832 -8.865 -2.135 3.301 -9.506 -2.518 + 2.749 -9.456 -0.977 0.380 -3.409 1.529 -0.723 -3.120 0.965 1.011 + -2.467 2.272 1.961 -2.662 2.528 0.592 -1.060 2.200 -0.481 -1.150 + 2.274 1.079 -0.218 3.419 2.127 -0.381 3.652 0.889 0.834 3.317 + 0.532 -0.639 4.732 1.143 -1.281 5.731 2.213 -1.561 5.669 0.249 + -1.531 6.746 0.568 -1.869 7.646 -1.024 -1.078 6.420 -2.242 -1.112 + 7.115 -2.310 -1.519 8.099 -3.348 -0.497 6.525 -4.270 -0.514 7.026 + -3.252 0.122 5.272 -4.112 0.590 4.809 -1.994 0.138 4.623 -1.927 + 0.565 3.604 -0.844 -0.450 5.156 1.044 -0.412 0.862 2.137 -0.691 + 0.385 0.297 0.576 0.363 -0.664 0.697 0.764 0.558 1.231 -0.953 + 1.629 1.220 -1.165 -0.184 0.440 -2.054 0.189 -0.570 -1.883 -1.693 + 0.557 -2.066 -2.026 1.582 -1.945 -2.068 0.135 -2.988 -2.062 -0.111 + -1.297 0.214 0.828 -3.336 0.150 0.063 -3.978 0.068 2.665 -0.933 + -0.718 3.045 -0.078 0.479 3.521 -1.874 0.995 3.123 -2.627 -0.017 + 4.870 -2.126 -0.530 5.195 -1.230 1.137 5.794 -2.415 1.846 5.662 + -1.565 1.721 5.565 -3.265 0.790 7.213 -2.559 0.732 7.924 -3.680 + 0.914 7.510 -4.654 0.461 9.229 -3.443 0.399 9.917 -4.201 0.303 + 9.474 -2.120 0.012 10.609 -1.325 -0.216 11.597 -1.730 -0.068 10.549 + 0.081 -0.235 11.445 0.643 0.110 9.265 0.710 0.038 9.179 1.776 + 0.400 8.144 -0.099 0.637 7.244 0.485 0.498 8.221 -1.518 -1.035 + 4.825 -3.289 -0.826 4.178 -4.360 -2.139 5.562 -3.056 -2.241 5.968 + -2.137 -3.227 5.663 -4.057 -2.822 5.587 -5.102 -4.254 4.491 -3.827 + -4.639 4.431 -2.789 -5.161 4.640 -4.347 -3.807 3.140 -4.238 -2.870 + 2.822 -3.745 -4.653 2.495 -4.035 -3.511 2.926 -5.715 -4.401 3.180 + -6.300 -2.765 3.597 -6.075 -3.009 1.491 -5.988 -3.536 0.736 -5.444 + -3.098 1.309 -7.050 -1.605 1.259 -5.623 -1.427 1.572 -4.696 -1.376 + 0.210 -5.612 -0.972 1.748 -6.269 -3.946 7.044 -3.961 -3.775 7.779 + -2.961 -4.706 7.476 -5.005 -4.760 6.878 -5.842 -5.143 8.382 -4.899 + -2.761 9.127 -0.808 -2.980 8.520 -1.540 -1.777 9.274 -0.836 -3.155 + 10.032 -0.827 -3.246 8.595 0.429 -2.750 9.267 1.133 -4.786 8.585 + 0.521 -5.180 9.539 0.273 -5.229 7.829 -0.132 -5.094 8.358 1.930 + -6.044 8.092 2.049 -2.767 7.170 0.595 -2.450 6.526 -0.419 -2.741 + 6.583 1.833 -3.117 6.984 2.654 -2.445 5.180 1.975 -1.611 4.962 + 1.329 -1.875 4.959 3.414 -2.644 5.297 4.113 -1.600 3.888 3.664 + -0.714 5.830 3.745 -0.693 6.768 4.740 -1.504 6.967 5.475 0.584 + 7.359 4.745 0.860 7.978 5.481 1.406 6.900 3.722 2.667 7.205 + 3.316 3.203 8.016 3.702 3.250 6.435 2.298 4.303 6.593 2.109 + 2.517 5.453 1.683 3.011 4.850 0.867 1.229 5.079 2.065 0.768 + 4.157 1.702 0.590 5.832 3.114 -3.600 4.262 1.608 -4.760 4.699 + 1.617 -3.319 3.007 1.269 -2.341 2.769 1.043 -4.252 1.951 0.881 + -5.093 1.971 1.550 -4.752 2.203 -0.541 -3.932 2.525 -1.154 -5.548 + 1.061 -1.221 -6.385 0.684 -0.623 -5.978 1.342 -2.183 -4.875 0.228 + -1.436 -5.603 3.341 -0.526 -5.523 3.973 0.252 -3.638 0.602 1.092 + -2.416 0.495 1.147 -4.426 -0.452 1.211 -5.426 -0.293 1.146 -3.942 + -1.849 1.222 -2.869 -1.818 1.385 -4.735 -2.640 2.286 -4.797 -2.057 + 3.199 -5.741 -2.648 1.899 -4.203 -4.040 2.549 -4.824 -5.199 2.149 + -5.775 -5.283 1.641 -4.100 -6.246 2.645 -4.369 -7.199 2.554 -2.968 + -5.851 3.342 -1.966 -6.529 4.045 -1.966 -7.620 4.145 -0.910 -5.811 + 4.611 -0.152 -6.403 5.088 -0.944 -4.394 4.576 -0.240 -3.787 5.144 + -1.980 -3.771 3.930 -2.046 -2.710 3.964 -3.009 -4.456 3.309 -4.051 + -2.514 -0.203 -5.059 -2.361 -0.854 -3.031 -3.240 -0.637 -2.277 -3.377 + 0.077 -2.941 -3.784 -2.002 -3.947 -4.021 -2.333 -2.319 -2.681 -2.852 + -3.099 -1.932 -2.941 -1.433 -2.202 -2.374 -1.915 -3.053 -4.257 -1.100 + -3.703 -4.189 -2.766 -3.586 -4.722 -1.533 -1.768 -5.070 -0.514 -1.124 + -4.757 -2.276 -1.400 -5.989 -2.043 -5.032 -2.025 -0.894 -5.037 -1.571 + -2.559 -6.141 -2.553 -3.506 -6.115 -3.007 -1.791 -7.381 -2.741 -2.421 + -8.264 -2.988 -0.920 -7.261 -4.021 -0.226 -6.418 -3.900 -0.434 -8.221 + -4.283 -1.782 -6.866 -5.249 -2.884 -7.337 -5.435 -1.319 -5.977 -6.054 + -1.863 -5.825 -6.878 -0.322 -5.713 -5.980 -1.029 -7.903 -1.525 0.040 + -8.526 -1.681 -1.509 -7.654 -0.320 -2.402 -7.170 -0.266 -0.909 -7.951 + 0.977 -1.759 -8.029 1.637 -0.372 -8.892 0.995 0.162 -6.958 1.505 + 0.958 -7.267 2.377 0.230 -5.746 0.913 -0.469 -5.460 0.165 1.160 + -4.713 1.316 1.732 -4.953 2.224 2.142 -4.389 0.146 1.484 -4.252 + -0.719 2.670 -3.461 0.292 3.236 -5.501 -0.198 3.835 -5.088 -1.021 + 3.887 -5.714 0.687 2.565 -6.777 -0.765 2.208 -7.400 0.079 1.642 + -6.547 -1.303 3.445 -7.674 -1.599 3.648 -7.080 -2.498 4.379 -7.817 + -1.061 2.800 -8.953 -1.799 1.831 -8.864 -2.135 3.302 -9.506 -2.517 + 2.748 -9.455 -0.977 0.380 -3.410 1.529 -0.723 -3.119 0.965 1.011 + -2.468 2.272 1.962 -2.662 2.526 0.592 -1.060 2.200 -0.480 -1.151 + 2.274 1.079 -0.218 3.420 2.126 -0.380 3.651 0.889 0.833 3.317 + 0.532 -0.638 4.732 1.143 -1.281 5.731 2.213 -1.562 5.669 0.249 + -1.531 6.746 0.568 -1.868 7.646 -1.025 -1.078 6.420 -2.242 -1.112 + 7.114 -2.310 -1.519 8.099 -3.349 -0.498 6.524 -4.268 -0.514 7.026 + -3.251 0.122 5.272 -4.112 0.590 4.808 -1.994 0.139 4.623 -1.926 + 0.564 3.602 -0.844 -0.450 5.156 1.044 -0.412 0.862 2.137 -0.691 + 0.385 0.297 0.576 0.363 -0.665 0.696 0.764 0.559 1.231 -0.953 + 1.629 1.221 -1.166 -0.184 0.440 -2.054 0.188 -0.569 -1.883 -1.692 + 0.557 -2.066 -2.026 1.582 -1.946 -2.068 0.136 -2.989 -2.061 -0.109 + -1.298 0.214 0.827 -3.336 0.150 0.061 -3.977 0.068 2.665 -0.933 + -0.717 3.045 -0.078 0.479 3.521 -1.874 0.993 3.124 -2.627 -0.017 + 4.870 -2.126 -0.530 5.195 -1.231 1.137 5.794 -2.416 1.847 5.662 + -1.563 1.720 5.565 -3.264 0.790 7.213 -2.558 0.732 7.923 -3.680 + 0.914 7.509 -4.654 0.462 9.229 -3.443 0.399 9.917 -4.201 0.304 + 9.474 -2.120 0.012 10.609 -1.325 -0.216 11.596 -1.730 -0.068 10.548 + 0.081 -0.234 11.444 0.643 0.110 9.265 0.710 0.037 9.178 1.777 + 0.401 8.144 -0.099 0.638 7.244 0.484 0.498 8.220 -1.518 -1.035 + 4.825 -3.289 -0.826 4.178 -4.360 -2.138 5.562 -3.055 -2.241 5.968 + -2.137 -3.227 5.663 -4.057 -2.821 5.587 -5.103 -4.253 4.490 -3.827 + -4.638 4.430 -2.787 -5.159 4.640 -4.346 -3.807 3.140 -4.238 -2.868 + 2.821 -3.744 -4.654 2.495 -4.036 -3.511 2.926 -5.715 -4.401 3.180 + -6.300 -2.766 3.596 -6.075 -3.009 1.491 -5.989 -3.535 0.737 -5.446 + -3.097 1.309 -7.049 -1.605 1.259 -5.623 -1.427 1.573 -4.696 -1.377 + 0.208 -5.612 -0.972 1.747 -6.269 -3.947 7.045 -3.961 -3.775 7.779 + -2.961 -4.706 7.476 -5.005 -4.760 6.880 -5.844 -5.143 8.383 -4.900 + -2.761 9.127 -0.808 -2.979 8.520 -1.540 -1.778 9.275 -0.836 -3.156 + 10.030 -0.828 -3.246 8.595 0.429 -2.751 9.268 1.133 -4.787 8.584 + 0.521 -5.180 9.535 0.272 -5.229 7.828 -0.132 -5.094 8.358 1.930 + -6.044 8.091 2.050 -2.767 7.171 0.595 -2.450 6.525 -0.418 -2.742 + 6.583 1.834 -3.118 6.984 2.654 -2.445 5.180 1.975 -1.612 4.962 + 1.329 -1.875 4.959 3.414 -2.643 5.298 4.113 -1.600 3.886 3.666 + -0.714 5.830 3.745 -0.693 6.769 4.740 -1.504 6.967 5.476 0.584 + 7.358 4.745 0.861 7.977 5.482 1.405 6.900 3.722 2.668 7.205 + 3.316 3.201 8.015 3.701 3.250 6.435 2.299 4.303 6.591 2.110 + 2.516 5.454 1.683 3.013 4.849 0.865 1.229 5.079 2.065 0.770 + 4.156 1.702 0.591 5.832 3.114 -3.600 4.262 1.608 -4.760 4.699 + 1.617 -3.319 3.007 1.269 -2.341 2.771 1.041 -4.252 1.951 0.881 + -5.092 1.971 1.550 -4.751 2.203 -0.541 -3.933 2.526 -1.154 -5.548 + 1.061 -1.221 -6.385 0.683 -0.623 -5.978 1.342 -2.184 -4.875 0.228 + -1.436 -5.603 3.341 -0.525 -5.523 3.972 0.253 -3.638 0.602 1.092 + -2.416 0.495 1.147 -4.426 -0.451 1.211 -5.426 -0.293 1.147 -3.942 + -1.848 1.222 -2.869 -1.818 1.386 -4.735 -2.639 2.287 -4.798 -2.057 + 3.199 -5.739 -2.649 1.899 -4.203 -4.040 2.549 -4.823 -5.199 2.148 + -5.774 -5.283 1.640 -4.100 -6.246 2.644 -4.368 -7.199 2.553 -2.968 + -5.851 3.341 -1.966 -6.529 4.045 -1.966 -7.620 4.146 -0.910 -5.811 + 4.611 -0.152 -6.401 5.087 -0.944 -4.393 4.577 -0.241 -3.786 5.146 + -1.981 -3.771 3.931 -2.046 -2.710 3.965 -3.009 -4.456 3.309 -4.051 + -2.514 -0.203 -5.059 -2.361 -0.855 -3.031 -3.239 -0.637 -2.276 -3.378 + 0.077 -2.941 -3.784 -2.001 -3.947 -4.021 -2.334 -2.319 -2.681 -2.852 + -3.100 -1.933 -2.942 -1.433 -2.202 -2.372 -1.914 -3.053 -4.256 -1.103 + -3.700 -4.189 -2.766 -3.587 -4.721 -1.533 -1.768 -5.070 -0.514 -1.124 + -4.757 -2.276 -1.400 -5.990 -2.043 -5.031 -2.025 -0.895 -5.037 -1.571 + -2.560 -6.141 -2.553 -3.507 -6.114 -3.008 -1.791 -7.381 -2.741 -2.422 + -8.264 -2.987 -0.920 -7.262 -4.021 -0.226 -6.418 -3.899 -0.433 -8.220 + -4.282 -1.782 -6.866 -5.248 -2.884 -7.337 -5.435 -1.319 -5.976 -6.054 + -1.862 -5.825 -6.878 -0.321 -5.714 -5.981 -1.029 -7.903 -1.525 0.040 + -8.526 -1.681 -1.509 -7.654 -0.319 -2.402 -7.171 -0.266 -0.908 -7.951 + 0.977 -1.758 -8.028 1.637 -0.373 -8.892 0.996 0.162 -6.958 1.505 + 0.958 -7.266 2.378 0.230 -5.746 0.913 -0.470 -5.459 0.164 1.161 + -4.713 1.317 1.732 -4.954 2.226 2.142 -4.389 0.146 1.484 -4.254 + -0.718 2.668 -3.462 0.290 3.236 -5.500 -0.199 3.835 -5.087 -1.021 + 3.888 -5.714 0.689 2.565 -6.776 -0.766 2.208 -7.401 0.081 1.642 + -6.547 -1.303 3.445 -7.674 -1.599 3.647 -7.081 -2.498 4.379 -7.817 + -1.062 2.800 -8.953 -1.799 1.831 -8.863 -2.135 3.303 -9.506 -2.517 + 2.748 -9.453 -0.978 0.379 -3.410 1.529 -0.723 -3.119 0.965 1.012 + -2.469 2.272 1.963 -2.662 2.524 0.592 -1.061 2.201 -0.479 -1.152 + 2.273 1.079 -0.217 3.420 2.124 -0.380 3.650 0.889 0.833 3.317 + 0.532 -0.638 4.732 1.143 -1.281 5.731 2.214 -1.562 5.670 0.249 + -1.531 6.745 0.568 -1.866 7.647 -1.025 -1.078 6.419 -2.243 -1.113 + 7.114 -2.310 -1.518 8.098 -3.349 -0.498 6.524 -4.267 -0.514 7.025 + -3.251 0.122 5.272 -4.112 0.590 4.808 -1.994 0.139 4.623 -1.925 + 0.564 3.601 -0.844 -0.450 5.156 1.043 -0.412 0.862 2.138 -0.690 + 0.385 0.297 0.577 0.363 -0.666 0.696 0.765 0.559 1.231 -0.953 + 1.630 1.221 -1.166 -0.183 0.440 -2.054 0.187 -0.568 -1.882 -1.692 + 0.557 -2.066 -2.026 1.583 -1.947 -2.067 0.137 -2.989 -2.061 -0.108 + -1.299 0.214 0.826 -3.336 0.150 0.059 -3.975 0.068 2.666 -0.934 + -0.717 3.044 -0.078 0.478 3.522 -1.873 0.992 3.124 -2.627 -0.018 + 4.871 -2.126 -0.531 5.196 -1.231 1.137 5.794 -2.416 1.847 5.662 + -1.562 1.718 5.565 -3.262 0.790 7.213 -2.558 0.732 7.923 -3.680 + 0.915 7.509 -4.654 0.463 9.229 -3.443 0.399 9.917 -4.202 0.304 + 9.475 -2.120 0.013 10.609 -1.325 -0.216 11.596 -1.731 -0.067 10.548 + 0.081 -0.234 11.443 0.642 0.110 9.265 0.711 0.037 9.176 1.777 + 0.401 8.144 -0.099 0.639 7.243 0.483 0.499 8.220 -1.518 -1.035 + 4.825 -3.289 -0.827 4.177 -4.360 -2.138 5.563 -3.055 -2.241 5.969 + -2.136 -3.227 5.663 -4.057 -2.819 5.587 -5.104 -4.253 4.490 -3.826 + -4.637 4.430 -2.785 -5.156 4.640 -4.345 -3.807 3.140 -4.239 -2.867 + 2.820 -3.743 -4.654 2.495 -4.037 -3.511 2.926 -5.716 -4.400 3.181 + -6.301 -2.767 3.595 -6.074 -3.009 1.491 -5.989 -3.535 0.737 -5.447 + -3.097 1.309 -7.048 -1.605 1.258 -5.623 -1.427 1.574 -4.696 -1.378 + 0.207 -5.611 -0.972 1.746 -6.269 -3.947 7.045 -3.961 -3.776 7.779 + -2.961 -4.705 7.477 -5.006 -4.761 6.881 -5.845 -5.144 8.384 -4.901 + -2.761 9.126 -0.809 -2.979 8.521 -1.540 -1.780 9.276 -0.835 -3.158 + 10.028 -0.830 -3.245 8.595 0.428 -2.752 9.268 1.132 -4.787 8.584 + 0.520 -5.181 9.532 0.271 -5.229 7.827 -0.132 -5.094 8.358 1.930 + -6.043 8.090 2.050 -2.767 7.171 0.596 -2.451 6.525 -0.418 -2.742 + 6.584 1.834 -3.118 6.985 2.654 -2.445 5.180 1.975 -1.613 4.962 + 1.329 -1.875 4.960 3.414 -2.642 5.299 4.113 -1.600 3.884 3.667 + -0.714 5.830 3.745 -0.692 6.769 4.740 -1.504 6.966 5.477 0.584 + 7.358 4.745 0.862 7.975 5.483 1.405 6.900 3.722 2.669 7.206 + 3.315 3.200 8.015 3.700 3.251 6.435 2.299 4.302 6.590 2.110 + 2.516 5.454 1.683 3.015 4.848 0.864 1.229 5.079 2.065 0.771 + 4.155 1.703 0.591 5.833 3.114 -3.601 4.263 1.607 -4.760 4.699 + 1.617 -3.319 3.007 1.268 -2.340 2.773 1.040 -4.251 1.951 0.881 + -5.091 1.971 1.550 -4.751 2.203 -0.541 -3.935 2.526 -1.154 -5.547 + 1.060 -1.221 -6.384 0.682 -0.623 -5.978 1.342 -2.185 -4.874 0.227 + -1.435 -5.603 3.341 -0.525 -5.523 3.970 0.254 -3.637 0.603 1.092 + -2.415 0.496 1.147 -4.426 -0.450 1.212 -5.427 -0.293 1.148 -3.942 + -1.847 1.222 -2.870 -1.818 1.387 -4.735 -2.638 2.287 -4.799 -2.058 + 3.198 -5.738 -2.650 1.898 -4.203 -4.040 2.549 -4.823 -5.198 2.148 + -5.773 -5.283 1.640 -4.099 -6.245 2.644 -4.367 -7.199 2.552 -2.968 + -5.850 3.341 -1.966 -6.528 4.045 -1.966 -7.620 4.146 -0.909 -5.810 + 4.610 -0.152 -6.400 5.087 -0.944 -4.393 4.577 -0.241 -3.784 5.147 + -1.981 -3.770 3.931 -2.047 -2.711 3.966 -3.010 -4.456 3.310 -4.051 + -2.514 -0.203 -5.059 -2.361 -0.855 -3.031 -3.239 -0.637 -2.276 -3.380 + 0.076 -2.942 -3.784 -2.001 -3.947 -4.021 -2.334 -2.320 -2.681 -2.852 + -3.101 -1.934 -2.943 -1.433 -2.201 -2.371 -1.914 -3.053 -4.256 -1.105 + -3.697 -4.188 -2.765 -3.587 -4.720 -1.533 -1.768 -5.069 -0.513 -1.123 + -4.758 -2.276 -1.400 -5.990 -2.044 -5.031 -2.025 -0.895 -5.037 -1.571 + -2.560 -6.141 -2.553 -3.508 -6.114 -3.008 -1.791 -7.381 -2.740 -2.423 + -8.264 -2.987 -0.920 -7.262 -4.021 -0.225 -6.418 -3.899 -0.432 -8.220 + -4.281 -1.782 -6.867 -5.248 -2.883 -7.337 -5.436 -1.319 -5.976 -6.053 + -1.861 -5.825 -6.878 -0.321 -5.715 -5.981 -1.028 -7.903 -1.525 0.040 + -8.525 -1.682 -1.509 -7.654 -0.319 -2.403 -7.172 -0.267 -0.908 -7.951 + 0.978 -1.758 -8.028 1.637 -0.374 -8.892 0.996 0.162 -6.958 1.505 + 0.958 -7.265 2.378 0.231 -5.746 0.913 -0.470 -5.459 0.163 1.161 + -4.714 1.317 1.733 -4.955 2.227 2.142 -4.389 0.146 1.483 -4.255 + -0.716 2.665 -3.463 0.288 3.237 -5.500 -0.199 3.834 -5.086 -1.022 + 3.890 -5.714 0.690 2.566 -6.776 -0.766 2.208 -7.402 0.082 1.643 + -6.546 -1.304 3.445 -7.673 -1.599 3.647 -7.082 -2.499 4.378 -7.818 + -1.062 2.800 -8.953 -1.798 1.830 -8.862 -2.135 3.303 -9.505 -2.516 + 2.747 -9.452 -0.978 0.379 -3.411 1.529 -0.723 -3.119 0.964 1.012 + -2.469 2.272 1.964 -2.662 2.522 0.592 -1.062 2.201 -0.477 -1.153 + 2.273 1.078 -0.217 3.421 2.123 -0.379 3.649 0.889 0.832 3.316 + 0.532 -0.638 4.732 1.143 -1.281 5.731 2.215 -1.563 5.671 0.249 + -1.531 6.745 0.568 -1.864 7.647 -1.025 -1.079 6.419 -2.243 -1.113 + 7.114 -2.310 -1.518 8.097 -3.349 -0.498 6.524 -4.265 -0.514 7.024 + -3.251 0.122 5.272 -4.112 0.591 4.808 -1.994 0.139 4.624 -1.924 + 0.564 3.599 -0.844 -0.451 5.157 1.043 -0.412 0.862 2.138 -0.690 + 0.386 0.298 0.577 0.363 -0.666 0.695 0.765 0.560 1.231 -0.953 + 1.630 1.221 -1.166 -0.183 0.440 -2.054 0.186 -0.568 -1.882 -1.692 + 0.558 -2.066 -2.026 1.583 -1.948 -2.067 0.138 -2.989 -2.060 -0.106 + -1.299 0.214 0.825 -3.336 0.149 0.057 -3.974 0.069 2.666 -0.934 + -0.716 3.044 -0.078 0.478 3.522 -1.873 0.992 3.124 -2.627 -0.018 + 4.871 -2.125 -0.531 5.196 -1.232 1.137 5.794 -2.416 1.848 5.662 + -1.561 1.717 5.565 -3.261 0.790 7.213 -2.558 0.732 7.923 -3.680 + 0.915 7.509 -4.654 0.463 9.229 -3.443 0.399 9.916 -4.202 0.305 + 9.475 -2.120 0.013 10.609 -1.324 -0.217 11.595 -1.732 -0.067 10.548 + 0.082 -0.234 11.441 0.642 0.110 9.264 0.711 0.036 9.175 1.777 + 0.402 8.145 -0.099 0.639 7.243 0.482 0.499 8.220 -1.519 -1.035 + 4.825 -3.289 -0.827 4.176 -4.361 -2.138 5.563 -3.055 -2.241 5.969 + -2.136 -3.227 5.663 -4.057 -2.818 5.587 -5.104 -4.252 4.489 -3.826 + -4.635 4.429 -2.783 -5.154 4.640 -4.344 -3.807 3.140 -4.240 -2.866 + 2.820 -3.743 -4.654 2.496 -4.038 -3.511 2.926 -5.716 -4.400 3.181 + -6.302 -2.768 3.594 -6.074 -3.009 1.490 -5.989 -3.534 0.738 -5.449 + -3.096 1.309 -7.047 -1.605 1.258 -5.623 -1.427 1.576 -4.696 -1.378 + 0.205 -5.611 -0.971 1.745 -6.270 -3.947 7.045 -3.961 -3.776 7.779 + -2.960 -4.705 7.477 -5.006 -4.761 6.883 -5.847 -5.144 8.385 -4.902 + -2.761 9.126 -0.809 -2.978 8.521 -1.540 -1.781 9.277 -0.834 -3.159 + 10.026 -0.831 -3.245 8.595 0.428 -2.753 9.269 1.132 -4.788 8.583 + 0.520 -5.181 9.529 0.270 -5.228 7.826 -0.132 -5.094 8.358 1.930 + -6.042 8.089 2.050 -2.767 7.171 0.597 -2.451 6.524 -0.418 -2.742 + 6.584 1.835 -3.119 6.985 2.654 -2.445 5.180 1.975 -1.614 4.962 + 1.329 -1.875 4.960 3.414 -2.642 5.300 4.113 -1.600 3.881 3.668 + -0.714 5.831 3.745 -0.692 6.769 4.740 -1.504 6.966 5.479 0.584 + 7.358 4.746 0.863 7.974 5.484 1.404 6.900 3.721 2.669 7.206 + 3.315 3.199 8.014 3.699 3.251 6.435 2.300 4.302 6.588 2.111 + 2.516 5.455 1.683 3.016 4.848 0.862 1.229 5.079 2.065 0.773 + 4.154 1.703 0.592 5.833 3.113 -3.601 4.263 1.607 -4.760 4.699 + 1.617 -3.318 3.007 1.268 -2.340 2.774 1.038 -4.251 1.951 0.880 + -5.090 1.972 1.550 -4.751 2.203 -0.541 -3.936 2.526 -1.154 -5.547 + 1.059 -1.221 -6.384 0.681 -0.623 -5.977 1.342 -2.185 -4.873 0.226 + -1.435 -5.603 3.341 -0.525 -5.523 3.969 0.255 -3.636 0.603 1.092 + -2.415 0.496 1.146 -4.426 -0.450 1.212 -5.427 -0.292 1.149 -3.942 + -1.847 1.222 -2.870 -1.818 1.388 -4.735 -2.638 2.287 -4.800 -2.058 + 3.198 -5.736 -2.651 1.898 -4.203 -4.041 2.549 -4.822 -5.198 2.147 + -5.772 -5.283 1.639 -4.099 -6.245 2.643 -4.366 -7.199 2.551 -2.968 + -5.850 3.341 -1.967 -6.528 4.045 -1.965 -7.620 4.146 -0.909 -5.810 + 4.610 -0.152 -6.399 5.086 -0.944 -4.393 4.578 -0.241 -3.783 5.149 + -1.982 -3.770 3.931 -2.048 -2.712 3.967 -3.010 -4.456 3.310 -4.050 + -2.513 -0.203 -5.059 -2.361 -0.855 -3.031 -3.238 -0.637 -2.275 -3.381 + 0.075 -2.942 -3.784 -2.001 -3.946 -4.020 -2.335 -2.320 -2.681 -2.852 + -3.102 -1.935 -2.944 -1.432 -2.200 -2.369 -1.913 -3.053 -4.255 -1.107 + -3.694 -4.187 -2.765 -3.587 -4.720 -1.533 -1.767 -5.069 -0.513 -1.123 + -4.758 -2.276 -1.401 -5.991 -2.044 -5.031 -2.024 -0.895 -5.038 -1.571 + -2.560 -6.141 -2.553 -3.508 -6.113 -3.009 -1.791 -7.381 -2.740 -2.425 + -8.264 -2.987 -0.920 -7.262 -4.021 -0.225 -6.418 -3.898 -0.431 -8.220 + -4.280 -1.782 -6.867 -5.247 -2.883 -7.337 -5.436 -1.319 -5.975 -6.052 + -1.860 -5.825 -6.879 -0.320 -5.716 -5.981 -1.028 -7.903 -1.525 0.039 + -8.525 -1.682 -1.509 -7.655 -0.319 -2.404 -7.173 -0.267 -0.908 -7.951 + 0.978 -1.758 -8.027 1.637 -0.376 -8.891 0.996 0.162 -6.958 1.505 + 0.959 -7.264 2.379 0.231 -5.747 0.913 -0.470 -5.459 0.162 1.161 + -4.715 1.317 1.733 -4.956 2.229 2.141 -4.389 0.146 1.483 -4.257 + -0.715 2.662 -3.463 0.286 3.237 -5.500 -0.199 3.834 -5.086 -1.022 + 3.892 -5.715 0.691 2.566 -6.776 -0.766 2.208 -7.402 0.083 1.643 + -6.546 -1.304 3.444 -7.673 -1.600 3.647 -7.083 -2.500 4.377 -7.818 + -1.062 2.799 -8.953 -1.798 1.830 -8.861 -2.134 3.304 -9.505 -2.514 + 2.746 -9.451 -0.978 0.379 -3.411 1.530 -0.723 -3.119 0.964 1.013 + -2.470 2.272 1.966 -2.662 2.520 0.592 -1.063 2.201 -0.476 -1.153 + 2.273 1.078 -0.217 3.421 2.122 -0.379 3.648 0.889 0.831 3.316 + 0.532 -0.637 4.732 1.144 -1.282 5.731 2.215 -1.563 5.672 0.249 + -1.531 6.745 0.568 -1.863 7.648 -1.025 -1.079 6.418 -2.243 -1.114 + 7.113 -2.310 -1.518 8.096 -3.349 -0.498 6.523 -4.264 -0.515 7.023 + -3.251 0.121 5.271 -4.112 0.591 4.807 -1.993 0.139 4.624 -1.923 + 0.564 3.598 -0.844 -0.451 5.157 1.043 -0.413 0.862 2.138 -0.689 + 0.386 0.298 0.577 0.363 -0.666 0.694 0.766 0.560 1.231 -0.953 + 1.631 1.221 -1.166 -0.183 0.440 -2.053 0.185 -0.567 -1.881 -1.692 + 0.558 -2.066 -2.026 1.583 -1.948 -2.066 0.140 -2.990 -2.060 -0.105 + -1.300 0.214 0.825 -3.336 0.149 0.055 -3.973 0.069 2.666 -0.934 + -0.716 3.044 -0.078 0.478 3.523 -1.873 0.991 3.125 -2.626 -0.019 + 4.871 -2.125 -0.531 5.196 -1.232 1.136 5.794 -2.417 1.849 5.662 + -1.560 1.716 5.565 -3.259 0.790 7.213 -2.558 0.732 7.923 -3.680 + 0.915 7.509 -4.654 0.464 9.229 -3.443 0.399 9.916 -4.202 0.305 + 9.475 -2.121 0.014 10.609 -1.324 -0.217 11.595 -1.732 -0.067 10.548 + 0.082 -0.233 11.440 0.641 0.110 9.264 0.711 0.036 9.173 1.777 + 0.402 8.145 -0.099 0.640 7.242 0.480 0.500 8.220 -1.519 -1.035 + 4.826 -3.288 -0.828 4.176 -4.361 -2.137 5.563 -3.054 -2.241 5.969 + -2.136 -3.226 5.663 -4.056 -2.817 5.588 -5.105 -4.252 4.489 -3.826 + -4.633 4.429 -2.781 -5.152 4.640 -4.343 -3.806 3.140 -4.241 -2.865 + 2.819 -3.742 -4.654 2.496 -4.039 -3.511 2.926 -5.717 -4.400 3.181 + -6.303 -2.768 3.593 -6.073 -3.009 1.490 -5.989 -3.534 0.739 -5.450 + -3.096 1.309 -7.046 -1.605 1.257 -5.623 -1.426 1.577 -4.696 -1.379 + 0.204 -5.610 -0.971 1.744 -6.270 -3.947 7.045 -3.961 -3.776 7.778 + -2.960 -4.705 7.478 -5.006 -4.762 6.885 -5.848 -5.145 8.386 -4.903 + -2.761 9.125 -0.810 -2.977 8.521 -1.540 -1.782 9.277 -0.834 -3.160 + 10.024 -0.832 -3.245 8.595 0.427 -2.754 9.270 1.132 -4.788 8.582 + 0.519 -5.182 9.526 0.269 -5.228 7.824 -0.132 -5.094 8.358 1.930 + -6.041 8.088 2.051 -2.767 7.171 0.597 -2.451 6.524 -0.417 -2.742 + 6.584 1.835 -3.119 6.985 2.654 -2.445 5.180 1.976 -1.614 4.962 + 1.329 -1.875 4.961 3.414 -2.641 5.301 4.113 -1.600 3.879 3.669 + -0.714 5.831 3.746 -0.691 6.769 4.740 -1.505 6.965 5.480 0.585 + 7.358 4.746 0.864 7.973 5.485 1.404 6.900 3.721 2.670 7.207 + 3.314 3.197 8.014 3.698 3.251 6.436 2.300 4.301 6.586 2.111 + 2.516 5.455 1.683 3.018 4.847 0.861 1.229 5.079 2.065 0.775 + 4.153 1.703 0.593 5.833 3.113 -3.601 4.263 1.606 -4.760 4.699 + 1.617 -3.318 3.007 1.268 -2.340 2.776 1.036 -4.250 1.951 0.880 + -5.089 1.972 1.550 -4.751 2.204 -0.541 -3.938 2.526 -1.154 -5.547 + 1.059 -1.221 -6.384 0.680 -0.623 -5.977 1.342 -2.186 -4.872 0.226 + -1.434 -5.603 3.341 -0.524 -5.523 3.967 0.255 -3.636 0.603 1.092 + -2.415 0.496 1.146 -4.426 -0.449 1.213 -5.428 -0.292 1.149 -3.942 + -1.846 1.222 -2.871 -1.818 1.389 -4.735 -2.637 2.287 -4.801 -2.058 + 3.198 -5.735 -2.652 1.897 -4.203 -4.041 2.549 -4.822 -5.198 2.147 + -5.771 -5.283 1.639 -4.099 -6.245 2.643 -4.366 -7.199 2.550 -2.968 + -5.850 3.341 -1.967 -6.528 4.045 -1.965 -7.620 4.147 -0.909 -5.810 + 4.610 -0.152 -6.397 5.086 -0.944 -4.393 4.578 -0.242 -3.782 5.150 + -1.982 -3.770 3.932 -2.049 -2.713 3.968 -3.010 -4.456 3.310 -4.050 + -2.513 -0.203 -5.059 -2.360 -0.855 -3.031 -3.238 -0.637 -2.275 -3.382 + 0.074 -2.942 -3.784 -2.001 -3.946 -4.020 -2.336 -2.320 -2.681 -2.852 + -3.103 -1.935 -2.944 -1.432 -2.199 -2.368 -1.913 -3.053 -4.255 -1.109 + -3.692 -4.187 -2.765 -3.587 -4.719 -1.533 -1.767 -5.069 -0.513 -1.123 + -4.758 -2.276 -1.401 -5.991 -2.044 -5.031 -2.024 -0.895 -5.038 -1.571 + -2.560 -6.141 -2.554 -3.509 -6.113 -3.009 -1.791 -7.381 -2.740 -2.426 + -8.264 -2.986 -0.921 -7.262 -4.020 -0.224 -6.418 -3.897 -0.430 -8.220 + -4.279 -1.782 -6.867 -5.247 -2.883 -7.337 -5.437 -1.319 -5.975 -6.051 + -1.859 -5.825 -6.879 -0.320 -5.718 -5.981 -1.028 -7.903 -1.525 0.039 + -8.525 -1.682 -1.509 -7.655 -0.319 -2.404 -7.174 -0.268 -0.908 -7.951 + 0.979 -1.758 -8.026 1.637 -0.377 -8.891 0.996 0.161 -6.958 1.505 + 0.959 -7.264 2.379 0.231 -5.747 0.913 -0.470 -5.459 0.162 1.162 + -4.715 1.317 1.733 -4.957 2.230 2.141 -4.388 0.146 1.483 -4.258 + -0.714 2.659 -3.464 0.284 3.237 -5.499 -0.199 3.834 -5.085 -1.022 + 3.893 -5.715 0.691 2.566 -6.775 -0.766 2.209 -7.403 0.084 1.644 + -6.545 -1.304 3.444 -7.673 -1.600 3.646 -7.084 -2.500 4.377 -7.818 + -1.063 2.799 -8.953 -1.798 1.830 -8.860 -2.134 3.304 -9.505 -2.513 + 2.745 -9.449 -0.977 0.378 -3.412 1.530 -0.724 -3.119 0.964 1.013 + -2.471 2.272 1.967 -2.662 2.519 0.592 -1.063 2.201 -0.475 -1.154 + 2.272 1.077 -0.216 3.422 2.120 -0.378 3.647 0.889 0.831 3.316 + 0.532 -0.637 4.732 1.144 -1.282 5.730 2.215 -1.564 5.673 0.249 + -1.531 6.745 0.567 -1.862 7.648 -1.025 -1.079 6.418 -2.243 -1.114 + 7.113 -2.310 -1.518 8.096 -3.349 -0.499 6.523 -4.263 -0.515 7.023 + -3.251 0.121 5.271 -4.112 0.591 4.807 -1.993 0.139 4.624 -1.922 + 0.564 3.596 -0.843 -0.451 5.157 1.043 -0.413 0.861 2.139 -0.689 + 0.386 0.298 0.578 0.363 -0.666 0.693 0.766 0.560 1.231 -0.953 + 1.631 1.222 -1.166 -0.183 0.440 -2.053 0.184 -0.567 -1.881 -1.692 + 0.559 -2.067 -2.026 1.583 -1.949 -2.066 0.141 -2.990 -2.059 -0.103 + -1.300 0.214 0.824 -3.337 0.149 0.054 -3.972 0.070 2.666 -0.934 + -0.716 3.043 -0.078 0.478 3.523 -1.873 0.990 3.125 -2.626 -0.019 + 4.871 -2.125 -0.531 5.196 -1.233 1.136 5.795 -2.417 1.849 5.662 + -1.559 1.715 5.565 -3.258 0.789 7.214 -2.558 0.733 7.922 -3.680 + 0.915 7.509 -4.653 0.465 9.229 -3.443 0.399 9.915 -4.203 0.306 + 9.476 -2.121 0.014 10.609 -1.323 -0.217 11.594 -1.733 -0.066 10.548 + 0.082 -0.233 11.439 0.641 0.110 9.264 0.711 0.036 9.172 1.777 + 0.402 8.145 -0.099 0.641 7.242 0.479 0.500 8.219 -1.519 -1.035 + 4.826 -3.288 -0.828 4.175 -4.361 -2.137 5.563 -3.054 -2.242 5.970 + -2.135 -3.226 5.663 -4.056 -2.816 5.588 -5.105 -4.251 4.488 -3.825 + -4.632 4.428 -2.780 -5.151 4.640 -4.343 -3.806 3.140 -4.242 -2.865 + 2.819 -3.741 -4.654 2.497 -4.039 -3.511 2.927 -5.718 -4.399 3.182 + -6.304 -2.769 3.592 -6.073 -3.009 1.490 -5.989 -3.533 0.740 -5.452 + -3.095 1.309 -7.045 -1.605 1.257 -5.622 -1.426 1.578 -4.696 -1.380 + 0.203 -5.610 -0.971 1.743 -6.270 -3.947 7.045 -3.961 -3.776 7.778 + -2.960 -4.705 7.478 -5.006 -4.763 6.886 -5.849 -5.145 8.387 -4.905 + -2.761 9.125 -0.810 -2.977 8.521 -1.541 -1.783 9.278 -0.833 -3.162 + 10.022 -0.833 -3.245 8.594 0.427 -2.755 9.270 1.132 -4.788 8.581 + 0.519 -5.182 9.524 0.267 -5.228 7.823 -0.132 -5.094 8.358 1.929 + -6.040 8.087 2.051 -2.766 7.171 0.598 -2.451 6.523 -0.417 -2.743 + 6.584 1.836 -3.120 6.986 2.654 -2.445 5.180 1.976 -1.615 4.962 + 1.328 -1.875 4.961 3.414 -2.640 5.302 4.113 -1.600 3.877 3.670 + -0.714 5.831 3.746 -0.691 6.770 4.740 -1.505 6.965 5.481 0.585 + 7.357 4.746 0.866 7.972 5.486 1.403 6.900 3.721 2.671 7.207 + 3.313 3.196 8.014 3.698 3.251 6.436 2.301 4.301 6.584 2.112 + 2.516 5.455 1.683 3.020 4.846 0.860 1.229 5.078 2.066 0.776 + 4.152 1.704 0.593 5.834 3.113 -3.602 4.263 1.606 -4.760 4.699 + 1.616 -3.318 3.007 1.267 -2.340 2.778 1.035 -4.250 1.951 0.879 + -5.088 1.973 1.549 -4.751 2.204 -0.541 -3.939 2.526 -1.154 -5.547 + 1.058 -1.221 -6.383 0.679 -0.622 -5.977 1.342 -2.187 -4.872 0.225 + -1.434 -5.603 3.341 -0.524 -5.523 3.965 0.256 -3.635 0.603 1.092 + -2.415 0.496 1.146 -4.426 -0.449 1.213 -5.428 -0.292 1.150 -3.941 + -1.846 1.221 -2.872 -1.818 1.390 -4.735 -2.637 2.287 -4.801 -2.058 + 3.197 -5.733 -2.653 1.897 -4.203 -4.041 2.549 -4.821 -5.197 2.146 + -5.770 -5.283 1.638 -4.098 -6.244 2.643 -4.365 -7.199 2.548 -2.968 + -5.850 3.341 -1.967 -6.527 4.045 -1.965 -7.620 4.147 -0.908 -5.809 + 4.610 -0.152 -6.396 5.085 -0.944 -4.393 4.579 -0.242 -3.781 5.151 + -1.983 -3.770 3.932 -2.050 -2.714 3.968 -3.010 -4.455 3.311 -4.050 + -2.512 -0.202 -5.059 -2.360 -0.856 -3.031 -3.237 -0.638 -2.274 -3.384 + 0.073 -2.942 -3.784 -2.001 -3.946 -4.020 -2.336 -2.320 -2.681 -2.852 + -3.104 -1.936 -2.945 -1.432 -2.199 -2.366 -1.913 -3.053 -4.255 -1.111 + -3.689 -4.186 -2.765 -3.588 -4.719 -1.533 -1.767 -5.068 -0.513 -1.122 + -4.759 -2.276 -1.401 -5.991 -2.044 -5.031 -2.024 -0.895 -5.039 -1.571 + -2.561 -6.141 -2.554 -3.509 -6.112 -3.010 -1.791 -7.381 -2.740 -2.427 + -8.264 -2.986 -0.921 -7.262 -4.020 -0.223 -6.418 -3.897 -0.429 -8.219 + -4.278 -1.782 -6.867 -5.246 -2.883 -7.337 -5.437 -1.319 -5.974 -6.050 + -1.858 -5.825 -6.879 -0.319 -5.719 -5.981 -1.028 -7.903 -1.525 0.039 + -8.524 -1.682 -1.509 -7.655 -0.319 -2.405 -7.175 -0.269 -0.908 -7.951 + 0.979 -1.758 -8.025 1.638 -0.379 -8.891 0.996 0.161 -6.958 1.505 + 0.959 -7.263 2.380 0.232 -5.748 0.913 -0.470 -5.459 0.161 1.162 + -4.716 1.318 1.733 -4.957 2.231 2.141 -4.388 0.147 1.482 -4.259 + -0.712 2.656 -3.465 0.282 3.238 -5.499 -0.199 3.834 -5.085 -1.022 + 3.895 -5.715 0.692 2.567 -6.775 -0.766 2.209 -7.403 0.085 1.644 + -6.545 -1.304 3.444 -7.672 -1.600 3.646 -7.085 -2.501 4.376 -7.818 + -1.063 2.799 -8.953 -1.797 1.830 -8.860 -2.134 3.305 -9.505 -2.512 + 2.744 -9.448 -0.977 0.378 -3.412 1.530 -0.724 -3.119 0.964 1.014 + -2.471 2.272 1.968 -2.662 2.517 0.592 -1.064 2.201 -0.475 -1.155 + 2.272 1.077 -0.216 3.422 2.119 -0.378 3.645 0.889 0.830 3.316 + 0.532 -0.637 4.732 1.144 -1.282 5.730 2.215 -1.565 5.674 0.249 + -1.531 6.745 0.567 -1.860 7.649 -1.025 -1.080 6.417 -2.243 -1.115 + 7.112 -2.310 -1.518 8.095 -3.350 -0.499 6.522 -4.262 -0.515 7.022 + -3.251 0.121 5.271 -4.112 0.591 4.807 -1.993 0.139 4.624 -1.921 + 0.563 3.595 -0.843 -0.451 5.158 1.042 -0.413 0.861 2.139 -0.688 + 0.386 0.298 0.578 0.363 -0.666 0.693 0.766 0.561 1.231 -0.953 + 1.632 1.222 -1.167 -0.183 0.441 -2.053 0.183 -0.566 -1.881 -1.692 + 0.559 -2.067 -2.026 1.584 -1.949 -2.065 0.142 -2.990 -2.059 -0.102 + -1.300 0.214 0.823 -3.337 0.149 0.052 -3.971 0.070 2.666 -0.935 + -0.715 3.043 -0.078 0.478 3.524 -1.872 0.989 3.125 -2.626 -0.019 + 4.872 -2.125 -0.532 5.197 -1.233 1.136 5.795 -2.418 1.850 5.662 + -1.558 1.714 5.564 -3.257 0.789 7.214 -2.558 0.733 7.922 -3.680 + 0.915 7.508 -4.653 0.466 9.229 -3.443 0.399 9.915 -4.203 0.306 + 9.476 -2.121 0.014 10.609 -1.323 -0.217 11.594 -1.734 -0.066 10.547 + 0.083 -0.233 11.437 0.641 0.110 9.264 0.711 0.036 9.170 1.777 + 0.403 8.146 -0.099 0.642 7.241 0.478 0.501 8.219 -1.520 -1.035 + 4.826 -3.288 -0.828 4.175 -4.361 -2.137 5.564 -3.054 -2.242 5.970 + -2.135 -3.226 5.663 -4.056 -2.814 5.588 -5.105 -4.251 4.488 -3.825 + -4.630 4.428 -2.778 -5.149 4.640 -4.342 -3.806 3.141 -4.242 -2.864 + 2.818 -3.740 -4.654 2.497 -4.040 -3.511 2.927 -5.718 -4.399 3.182 + -6.304 -2.769 3.591 -6.073 -3.008 1.489 -5.989 -3.533 0.741 -5.453 + -3.095 1.309 -7.044 -1.605 1.256 -5.622 -1.426 1.579 -4.696 -1.381 + 0.202 -5.610 -0.971 1.742 -6.270 -3.948 7.045 -3.962 -3.776 7.778 + -2.960 -4.705 7.479 -5.006 -4.763 6.888 -5.850 -5.146 8.388 -4.906 + -2.761 9.125 -0.811 -2.976 8.521 -1.541 -1.784 9.278 -0.832 -3.163 + 10.020 -0.835 -3.245 8.594 0.426 -2.756 9.271 1.132 -4.789 8.580 + 0.518 -5.183 9.521 0.266 -5.228 7.822 -0.132 -5.094 8.357 1.929 + -6.039 8.087 2.051 -2.766 7.171 0.598 -2.452 6.523 -0.417 -2.743 + 6.584 1.836 -3.120 6.987 2.654 -2.445 5.180 1.976 -1.616 4.962 + 1.328 -1.874 4.962 3.414 -2.640 5.303 4.113 -1.600 3.876 3.671 + -0.714 5.832 3.746 -0.690 6.770 4.740 -1.505 6.964 5.481 0.585 + 7.357 4.746 0.867 7.971 5.487 1.403 6.900 3.720 2.672 7.208 + 3.313 3.195 8.014 3.697 3.251 6.436 2.302 4.301 6.582 2.112 + 2.516 5.456 1.683 3.021 4.846 0.859 1.229 5.078 2.066 0.778 + 4.151 1.704 0.594 5.834 3.113 -3.602 4.263 1.605 -4.760 4.699 + 1.616 -3.318 3.007 1.267 -2.339 2.780 1.033 -4.249 1.951 0.879 + -5.088 1.973 1.549 -4.751 2.204 -0.541 -3.940 2.526 -1.155 -5.546 + 1.057 -1.222 -6.383 0.679 -0.622 -5.976 1.342 -2.188 -4.871 0.225 + -1.434 -5.603 3.341 -0.524 -5.523 3.963 0.256 -3.635 0.604 1.092 + -2.414 0.496 1.145 -4.426 -0.448 1.214 -5.428 -0.292 1.151 -3.941 + -1.845 1.221 -2.873 -1.818 1.391 -4.736 -2.636 2.287 -4.802 -2.059 + 3.197 -5.732 -2.654 1.896 -4.202 -4.041 2.549 -4.821 -5.197 2.145 + -5.770 -5.283 1.637 -4.098 -6.244 2.642 -4.364 -7.199 2.547 -2.967 + -5.850 3.341 -1.967 -6.527 4.045 -1.964 -7.619 4.147 -0.908 -5.809 + 4.610 -0.152 -6.394 5.085 -0.944 -4.393 4.580 -0.243 -3.780 5.152 + -1.983 -3.770 3.933 -2.050 -2.714 3.969 -3.010 -4.455 3.311 -4.050 + -2.512 -0.202 -5.059 -2.360 -0.856 -3.031 -3.237 -0.638 -2.274 -3.385 + 0.072 -2.942 -3.784 -2.001 -3.946 -4.019 -2.337 -2.321 -2.681 -2.852 + -3.105 -1.936 -2.946 -1.432 -2.198 -2.364 -1.912 -3.053 -4.254 -1.113 + -3.686 -4.186 -2.764 -3.588 -4.718 -1.533 -1.767 -5.068 -0.513 -1.122 + -4.759 -2.276 -1.401 -5.992 -2.044 -5.031 -2.024 -0.896 -5.039 -1.570 + -2.561 -6.141 -2.554 -3.510 -6.112 -3.010 -1.791 -7.381 -2.740 -2.428 + -8.264 -2.985 -0.921 -7.262 -4.020 -0.222 -6.417 -3.896 -0.429 -8.219 + -4.277 -1.782 -6.867 -5.246 -2.883 -7.337 -5.438 -1.319 -5.973 -6.049 + -1.857 -5.825 -6.879 -0.319 -5.720 -5.981 -1.028 -7.903 -1.526 0.038 + -8.524 -1.682 -1.509 -7.655 -0.319 -2.405 -7.176 -0.269 -0.908 -7.951 + 0.979 -1.757 -8.025 1.638 -0.380 -8.891 0.996 0.161 -6.957 1.505 + 0.959 -7.262 2.381 0.232 -5.748 0.913 -0.469 -5.459 0.161 1.163 + -4.716 1.318 1.733 -4.958 2.232 2.140 -4.388 0.147 1.482 -4.261 + -0.711 2.653 -3.465 0.280 3.238 -5.499 -0.199 3.834 -5.084 -1.023 + 3.896 -5.716 0.693 2.567 -6.775 -0.766 2.209 -7.404 0.086 1.645 + -6.545 -1.304 3.444 -7.672 -1.600 3.645 -7.086 -2.502 4.375 -7.818 + -1.063 2.798 -8.954 -1.797 1.830 -8.859 -2.133 3.306 -9.504 -2.511 + 2.743 -9.448 -0.977 0.377 -3.413 1.530 -0.724 -3.119 0.964 1.014 + -2.472 2.272 1.969 -2.662 2.515 0.592 -1.065 2.202 -0.474 -1.155 + 2.272 1.077 -0.216 3.423 2.118 -0.377 3.644 0.889 0.830 3.315 + 0.532 -0.637 4.732 1.144 -1.282 5.730 2.215 -1.565 5.675 0.249 + -1.531 6.745 0.567 -1.858 7.650 -1.025 -1.080 6.417 -2.243 -1.115 + 7.112 -2.311 -1.518 8.095 -3.350 -0.499 6.522 -4.261 -0.515 7.021 + -3.251 0.121 5.271 -4.112 0.591 4.807 -1.993 0.140 4.624 -1.921 + 0.563 3.594 -0.843 -0.451 5.158 1.042 -0.413 0.861 2.139 -0.688 + 0.387 0.299 0.578 0.363 -0.666 0.692 0.767 0.561 1.232 -0.953 + 1.632 1.222 -1.167 -0.182 0.441 -2.053 0.182 -0.566 -1.880 -1.692 + 0.559 -2.067 -2.026 1.584 -1.950 -2.065 0.143 -2.991 -2.058 -0.100 + -1.300 0.214 0.823 -3.337 0.148 0.050 -3.969 0.070 2.666 -0.935 + -0.715 3.043 -0.078 0.477 3.524 -1.872 0.988 3.125 -2.627 -0.020 + 4.872 -2.125 -0.532 5.197 -1.233 1.136 5.795 -2.418 1.850 5.663 + -1.557 1.713 5.564 -3.256 0.789 7.214 -2.557 0.733 7.922 -3.680 + 0.915 7.508 -4.653 0.466 9.229 -3.444 0.399 9.914 -4.203 0.307 + 9.476 -2.121 0.015 10.609 -1.322 -0.217 11.594 -1.735 -0.066 10.547 + 0.083 -0.232 11.436 0.640 0.110 9.264 0.712 0.035 9.168 1.778 + 0.403 8.146 -0.099 0.643 7.241 0.476 0.501 8.219 -1.520 -1.036 + 4.826 -3.288 -0.829 4.174 -4.361 -2.136 5.564 -3.054 -2.242 5.971 + -2.135 -3.226 5.663 -4.056 -2.813 5.588 -5.105 -4.250 4.488 -3.824 + -4.628 4.428 -2.776 -5.147 4.640 -4.342 -3.806 3.141 -4.243 -2.863 + 2.818 -3.739 -4.654 2.497 -4.040 -3.511 2.927 -5.719 -4.398 3.182 + -6.305 -2.769 3.590 -6.072 -3.008 1.489 -5.989 -3.533 0.742 -5.454 + -3.095 1.309 -7.043 -1.605 1.255 -5.622 -1.426 1.581 -4.696 -1.382 + 0.201 -5.610 -0.971 1.741 -6.270 -3.948 7.045 -3.962 -3.776 7.778 + -2.959 -4.705 7.480 -5.006 -4.764 6.890 -5.851 -5.146 8.389 -4.907 + -2.761 9.124 -0.811 -2.976 8.521 -1.542 -1.785 9.278 -0.832 -3.165 + 10.018 -0.836 -3.245 8.594 0.426 -2.757 9.271 1.132 -4.789 8.579 + 0.518 -5.183 9.518 0.265 -5.228 7.821 -0.133 -5.095 8.357 1.929 + -6.038 8.086 2.051 -2.766 7.171 0.599 -2.452 6.523 -0.416 -2.743 + 6.584 1.837 -3.121 6.988 2.654 -2.446 5.180 1.976 -1.617 4.962 + 1.328 -1.874 4.962 3.414 -2.639 5.304 4.113 -1.601 3.874 3.672 + -0.714 5.832 3.746 -0.690 6.770 4.740 -1.505 6.963 5.482 0.586 + 7.357 4.746 0.868 7.970 5.488 1.402 6.899 3.720 2.672 7.208 + 3.312 3.194 8.014 3.696 3.251 6.436 2.302 4.300 6.580 2.112 + 2.516 5.456 1.683 3.023 4.846 0.859 1.228 5.078 2.066 0.780 + 4.150 1.704 0.595 5.834 3.112 -3.602 4.263 1.605 -4.760 4.699 + 1.616 -3.317 3.007 1.266 -2.339 2.781 1.031 -4.249 1.951 0.879 + -5.087 1.973 1.549 -4.751 2.204 -0.541 -3.941 2.526 -1.155 -5.546 + 1.057 -1.222 -6.382 0.678 -0.622 -5.976 1.343 -2.188 -4.871 0.224 + -1.433 -5.603 3.341 -0.523 -5.523 3.961 0.257 -3.634 0.604 1.092 + -2.414 0.496 1.145 -4.426 -0.447 1.214 -5.429 -0.291 1.152 -3.941 + -1.845 1.221 -2.873 -1.818 1.392 -4.736 -2.635 2.287 -4.803 -2.059 + 3.197 -5.731 -2.655 1.896 -4.202 -4.041 2.548 -4.820 -5.196 2.145 + -5.769 -5.283 1.636 -4.098 -6.244 2.642 -4.363 -7.199 2.546 -2.967 + -5.850 3.341 -1.968 -6.526 4.045 -1.964 -7.619 4.148 -0.908 -5.809 + 4.610 -0.152 -6.393 5.085 -0.944 -4.393 4.580 -0.243 -3.780 5.154 + -1.984 -3.770 3.933 -2.051 -2.715 3.970 -3.010 -4.455 3.311 -4.050 + -2.511 -0.202 -5.059 -2.359 -0.856 -3.031 -3.236 -0.638 -2.274 -3.386 + 0.070 -2.942 -3.784 -2.001 -3.946 -4.019 -2.338 -2.321 -2.680 -2.852 + -3.106 -1.937 -2.946 -1.431 -2.197 -2.363 -1.912 -3.053 -4.254 -1.114 + -3.684 -4.185 -2.764 -3.588 -4.718 -1.533 -1.767 -5.067 -0.512 -1.122 + -4.759 -2.275 -1.402 -5.992 -2.045 -5.030 -2.024 -0.896 -5.039 -1.570 + -2.561 -6.141 -2.554 -3.510 -6.111 -3.010 -1.791 -7.381 -2.740 -2.429 + -8.264 -2.984 -0.921 -7.262 -4.020 -0.221 -6.417 -3.896 -0.428 -8.218 + -4.276 -1.782 -6.867 -5.246 -2.882 -7.337 -5.438 -1.319 -5.973 -6.049 + -1.857 -5.825 -6.880 -0.318 -5.721 -5.981 -1.028 -7.903 -1.526 0.038 + -8.524 -1.682 -1.509 -7.656 -0.318 -2.406 -7.177 -0.270 -0.908 -7.950 + 0.980 -1.757 -8.024 1.638 -0.381 -8.890 0.996 0.161 -6.957 1.504 + 0.959 -7.261 2.381 0.233 -5.748 0.913 -0.469 -5.460 0.160 1.163 + -4.717 1.318 1.734 -4.959 2.234 2.140 -4.388 0.147 1.482 -4.262 + -0.710 2.651 -3.465 0.279 3.239 -5.499 -0.199 3.834 -5.084 -1.023 + 3.898 -5.716 0.694 2.567 -6.775 -0.766 2.210 -7.404 0.087 1.645 + -6.544 -1.305 3.444 -7.671 -1.600 3.645 -7.087 -2.502 4.375 -7.818 + -1.064 2.798 -8.954 -1.796 1.830 -8.858 -2.133 3.306 -9.504 -2.509 + 2.742 -9.447 -0.976 0.377 -3.413 1.530 -0.724 -3.118 0.963 1.014 + -2.473 2.272 1.970 -2.662 2.513 0.592 -1.066 2.202 -0.473 -1.156 + 2.272 1.076 -0.216 3.423 2.117 -0.376 3.642 0.888 0.829 3.315 + 0.532 -0.636 4.732 1.144 -1.282 5.730 2.215 -1.565 5.676 0.249 + -1.531 6.745 0.566 -1.857 7.650 -1.025 -1.080 6.416 -2.244 -1.115 + 7.112 -2.311 -1.518 8.094 -3.350 -0.499 6.521 -4.260 -0.515 7.021 + -3.251 0.121 5.270 -4.112 0.592 4.806 -1.993 0.140 4.624 -1.920 + 0.563 3.593 -0.843 -0.451 5.158 1.041 -0.414 0.861 2.140 -0.687 + 0.387 0.299 0.579 0.362 -0.666 0.691 0.767 0.562 1.232 -0.953 + 1.633 1.222 -1.167 -0.182 0.441 -2.052 0.181 -0.566 -1.880 -1.692 + 0.560 -2.067 -2.026 1.584 -1.950 -2.065 0.144 -2.991 -2.058 -0.099 + -1.301 0.214 0.822 -3.337 0.148 0.048 -3.968 0.071 2.666 -0.935 + -0.714 3.043 -0.078 0.477 3.525 -1.872 0.987 3.125 -2.627 -0.020 + 4.872 -2.124 -0.532 5.197 -1.234 1.136 5.795 -2.418 1.851 5.663 + -1.556 1.713 5.563 -3.256 0.789 7.214 -2.557 0.733 7.922 -3.680 + 0.915 7.508 -4.653 0.467 9.229 -3.444 0.400 9.914 -4.203 0.307 + 9.477 -2.121 0.015 10.609 -1.322 -0.217 11.593 -1.736 -0.065 10.547 + 0.083 -0.232 11.435 0.640 0.110 9.264 0.712 0.035 9.167 1.778 + 0.404 8.146 -0.099 0.643 7.240 0.475 0.501 8.219 -1.520 -1.036 + 4.826 -3.288 -0.829 4.173 -4.361 -2.136 5.564 -3.054 -2.242 5.971 + -2.135 -3.225 5.663 -4.056 -2.812 5.588 -5.106 -4.250 4.487 -3.824 + -4.626 4.427 -2.775 -5.145 4.640 -4.342 -3.805 3.141 -4.244 -2.863 + 2.818 -3.739 -4.654 2.497 -4.041 -3.511 2.927 -5.719 -4.398 3.183 + -6.306 -2.770 3.589 -6.072 -3.008 1.489 -5.989 -3.533 0.743 -5.456 + -3.094 1.309 -7.042 -1.605 1.255 -5.622 -1.425 1.582 -4.696 -1.383 + 0.200 -5.610 -0.971 1.739 -6.270 -3.948 7.045 -3.962 -3.777 7.778 + -2.959 -4.705 7.480 -5.006 -4.765 6.892 -5.852 -5.146 8.390 -4.909 + -2.761 9.124 -0.812 -2.976 8.521 -1.543 -1.785 9.279 -0.831 -3.166 + 10.016 -0.838 -3.245 8.594 0.425 -2.758 9.271 1.132 -4.790 8.578 + 0.517 -5.184 9.516 0.264 -5.228 7.820 -0.133 -5.095 8.357 1.929 + -6.037 8.085 2.051 -2.766 7.171 0.599 -2.452 6.522 -0.416 -2.743 + 6.585 1.837 -3.122 6.989 2.654 -2.446 5.180 1.976 -1.618 4.962 + 1.327 -1.874 4.963 3.414 -2.638 5.305 4.113 -1.601 3.872 3.672 + -0.714 5.832 3.746 -0.689 6.771 4.740 -1.504 6.963 5.483 0.586 + 7.357 4.746 0.870 7.969 5.489 1.401 6.899 3.720 2.673 7.209 + 3.311 3.193 8.015 3.696 3.251 6.437 2.303 4.300 6.579 2.112 + 2.516 5.456 1.683 3.024 4.845 0.858 1.228 5.078 2.066 0.782 + 4.149 1.704 0.595 5.835 3.112 -3.603 4.264 1.604 -4.760 4.699 + 1.616 -3.317 3.007 1.266 -2.339 2.783 1.030 -4.248 1.951 0.878 + -5.086 1.974 1.549 -4.751 2.204 -0.541 -3.942 2.525 -1.155 -5.546 + 1.056 -1.222 -6.382 0.677 -0.622 -5.976 1.343 -2.189 -4.870 0.223 + -1.433 -5.603 3.341 -0.523 -5.523 3.959 0.257 -3.633 0.604 1.092 + -2.414 0.496 1.145 -4.426 -0.447 1.214 -5.429 -0.291 1.152 -3.941 + -1.844 1.221 -2.874 -1.818 1.394 -4.736 -2.635 2.287 -4.804 -2.060 + 3.197 -5.729 -2.657 1.895 -4.202 -4.041 2.548 -4.820 -5.196 2.144 + -5.768 -5.283 1.635 -4.097 -6.244 2.641 -4.363 -7.199 2.544 -2.967 + -5.850 3.340 -1.968 -6.526 4.045 -1.964 -7.619 4.148 -0.908 -5.808 + 4.610 -0.152 -6.391 5.084 -0.944 -4.393 4.581 -0.243 -3.779 5.155 + -1.984 -3.769 3.933 -2.052 -2.716 3.971 -3.011 -4.455 3.312 -4.049 + -2.511 -0.202 -5.060 -2.359 -0.856 -3.031 -3.236 -0.638 -2.274 -3.388 + 0.069 -2.942 -3.784 -2.001 -3.946 -4.019 -2.339 -2.321 -2.680 -2.852 + -3.107 -1.938 -2.947 -1.431 -2.197 -2.361 -1.912 -3.052 -4.253 -1.116 + -3.682 -4.185 -2.764 -3.588 -4.717 -1.533 -1.767 -5.067 -0.512 -1.122 + -4.759 -2.275 -1.402 -5.992 -2.045 -5.030 -2.024 -0.896 -5.040 -1.570 + -2.562 -6.141 -2.555 -3.510 -6.111 -3.011 -1.791 -7.381 -2.740 -2.431 + -8.263 -2.984 -0.921 -7.262 -4.020 -0.221 -6.417 -3.896 -0.427 -8.218 + -4.275 -1.782 -6.868 -5.245 -2.882 -7.337 -5.439 -1.319 -5.972 -6.048 + -1.856 -5.825 -6.880 -0.318 -5.722 -5.981 -1.028 -7.903 -1.526 0.038 + -8.524 -1.682 -1.509 -7.656 -0.318 -2.406 -7.178 -0.271 -0.908 -7.950 + 0.980 -1.757 -8.023 1.638 -0.383 -8.890 0.996 0.160 -6.957 1.504 + 0.959 -7.261 2.382 0.233 -5.749 0.912 -0.468 -5.460 0.160 1.163 + -4.717 1.318 1.734 -4.959 2.235 2.140 -4.388 0.147 1.482 -4.264 + -0.709 2.648 -3.466 0.277 3.239 -5.498 -0.199 3.833 -5.083 -1.023 + 3.899 -5.716 0.694 2.567 -6.774 -0.766 2.210 -7.405 0.088 1.646 + -6.544 -1.305 3.444 -7.671 -1.600 3.645 -7.089 -2.503 4.374 -7.818 + -1.064 2.798 -8.954 -1.796 1.830 -8.857 -2.132 3.307 -9.504 -2.507 + 2.741 -9.446 -0.975 0.377 -3.414 1.530 -0.724 -3.118 0.963 1.015 + -2.473 2.271 1.971 -2.663 2.511 0.592 -1.066 2.202 -0.472 -1.156 + 2.271 1.076 -0.215 3.424 2.116 -0.376 3.641 0.888 0.829 3.315 + 0.532 -0.636 4.732 1.144 -1.282 5.730 2.215 -1.566 5.677 0.249 + -1.531 6.745 0.566 -1.856 7.650 -1.024 -1.081 6.415 -2.244 -1.116 + 7.111 -2.311 -1.518 8.093 -3.350 -0.500 6.520 -4.259 -0.515 7.020 + -3.250 0.120 5.270 -4.112 0.592 4.806 -1.993 0.140 4.624 -1.919 + 0.563 3.592 -0.843 -0.451 5.159 1.041 -0.414 0.861 2.140 -0.687 + 0.387 0.299 0.579 0.362 -0.665 0.690 0.767 0.562 1.232 -0.953 + 1.633 1.222 -1.167 -0.182 0.441 -2.052 0.180 -0.565 -1.879 -1.692 + 0.560 -2.067 -2.026 1.584 -1.951 -2.065 0.145 -2.992 -2.057 -0.097 + -1.301 0.214 0.821 -3.337 0.148 0.046 -3.966 0.071 2.666 -0.935 + -0.714 3.042 -0.078 0.477 3.525 -1.872 0.986 3.125 -2.627 -0.020 + 4.872 -2.124 -0.532 5.197 -1.234 1.136 5.796 -2.419 1.851 5.663 + -1.556 1.712 5.563 -3.255 0.789 7.214 -2.557 0.733 7.922 -3.680 + 0.915 7.507 -4.653 0.468 9.229 -3.444 0.400 9.913 -4.203 0.308 + 9.477 -2.121 0.016 10.609 -1.321 -0.216 11.593 -1.737 -0.065 10.547 + 0.084 -0.231 11.434 0.640 0.110 9.264 0.712 0.035 9.165 1.779 + 0.404 8.147 -0.099 0.644 7.240 0.473 0.502 8.218 -1.521 -1.036 + 4.826 -3.288 -0.830 4.173 -4.361 -2.135 5.564 -3.053 -2.243 5.971 + -2.134 -3.225 5.663 -4.055 -2.810 5.588 -5.106 -4.249 4.487 -3.824 + -4.624 4.427 -2.773 -5.143 4.641 -4.342 -3.805 3.141 -4.245 -2.863 + 2.817 -3.738 -4.654 2.497 -4.041 -3.510 2.928 -5.720 -4.398 3.183 + -6.307 -2.770 3.588 -6.072 -3.008 1.489 -5.989 -3.533 0.743 -5.457 + -3.094 1.308 -7.041 -1.605 1.254 -5.622 -1.425 1.583 -4.696 -1.384 + 0.199 -5.610 -0.971 1.738 -6.270 -3.948 7.045 -3.962 -3.777 7.778 + -2.959 -4.705 7.481 -5.006 -4.765 6.894 -5.853 -5.147 8.391 -4.910 + -2.761 9.124 -0.812 -2.975 8.521 -1.544 -1.786 9.279 -0.830 -3.168 + 10.014 -0.839 -3.245 8.594 0.425 -2.759 9.272 1.132 -4.790 8.578 + 0.517 -5.185 9.513 0.263 -5.227 7.819 -0.133 -5.095 8.357 1.929 + -6.035 8.085 2.051 -2.766 7.171 0.600 -2.452 6.522 -0.416 -2.743 + 6.585 1.837 -3.123 6.990 2.655 -2.446 5.180 1.976 -1.619 4.962 + 1.327 -1.874 4.963 3.414 -2.638 5.305 4.113 -1.601 3.871 3.673 + -0.714 5.833 3.746 -0.689 6.771 4.740 -1.504 6.962 5.483 0.586 + 7.356 4.747 0.871 7.968 5.490 1.400 6.899 3.720 2.674 7.209 + 3.311 3.192 8.015 3.696 3.251 6.437 2.303 4.300 6.577 2.112 + 2.516 5.457 1.682 3.026 4.845 0.857 1.228 5.078 2.067 0.783 + 4.148 1.705 0.596 5.835 3.112 -3.603 4.264 1.604 -4.760 4.699 + 1.615 -3.317 3.007 1.265 -2.339 2.785 1.028 -4.248 1.951 0.878 + -5.086 1.974 1.548 -4.750 2.205 -0.541 -3.943 2.525 -1.156 -5.546 + 1.055 -1.222 -6.382 0.676 -0.622 -5.976 1.343 -2.190 -4.870 0.223 + -1.433 -5.603 3.341 -0.522 -5.522 3.957 0.258 -3.633 0.604 1.092 + -2.414 0.496 1.144 -4.426 -0.446 1.215 -5.430 -0.291 1.153 -3.941 + -1.843 1.221 -2.875 -1.819 1.395 -4.736 -2.634 2.287 -4.805 -2.060 + 3.197 -5.728 -2.658 1.895 -4.202 -4.042 2.548 -4.820 -5.195 2.144 + -5.767 -5.283 1.635 -4.097 -6.243 2.641 -4.362 -7.199 2.543 -2.967 + -5.850 3.340 -1.968 -6.526 4.045 -1.964 -7.618 4.148 -0.907 -5.808 + 4.610 -0.152 -6.389 5.084 -0.944 -4.393 4.582 -0.244 -3.778 5.156 + -1.985 -3.769 3.934 -2.053 -2.716 3.972 -3.011 -4.454 3.312 -4.049 + -2.510 -0.201 -5.060 -2.359 -0.857 -3.031 -3.235 -0.638 -2.274 -3.389 + 0.067 -2.942 -3.784 -2.001 -3.946 -4.019 -2.340 -2.322 -2.680 -2.852 + -3.108 -1.939 -2.947 -1.432 -2.197 -2.359 -1.911 -3.052 -4.253 -1.117 + -3.679 -4.184 -2.763 -3.588 -4.717 -1.533 -1.767 -5.066 -0.512 -1.121 + -4.760 -2.275 -1.402 -5.993 -2.045 -5.030 -2.024 -0.896 -5.040 -1.570 + -2.562 -6.141 -2.555 -3.510 -6.110 -3.011 -1.791 -7.381 -2.740 -2.432 + -8.263 -2.983 -0.921 -7.262 -4.019 -0.220 -6.418 -3.895 -0.426 -8.217 + -4.274 -1.782 -6.868 -5.245 -2.882 -7.337 -5.439 -1.319 -5.972 -6.047 + -1.855 -5.825 -6.880 -0.318 -5.723 -5.981 -1.028 -7.903 -1.526 0.037 + -8.523 -1.683 -1.509 -7.656 -0.318 -2.407 -7.180 -0.272 -0.908 -7.950 + 0.981 -1.756 -8.022 1.639 -0.384 -8.890 0.996 0.160 -6.957 1.504 + 0.960 -7.260 2.382 0.233 -5.749 0.912 -0.468 -5.460 0.160 1.164 + -4.717 1.319 1.734 -4.960 2.236 2.139 -4.388 0.147 1.481 -4.265 + -0.708 2.645 -3.466 0.276 3.239 -5.498 -0.200 3.833 -5.083 -1.023 + 3.900 -5.716 0.695 2.568 -6.774 -0.766 2.211 -7.405 0.088 1.646 + -6.543 -1.305 3.444 -7.671 -1.600 3.644 -7.090 -2.504 4.373 -7.819 + -1.065 2.797 -8.954 -1.795 1.830 -8.856 -2.132 3.307 -9.504 -2.506 + 2.740 -9.446 -0.975 0.376 -3.414 1.530 -0.724 -3.118 0.963 1.015 + -2.474 2.271 1.972 -2.663 2.510 0.592 -1.067 2.202 -0.471 -1.157 + 2.271 1.076 -0.215 3.425 2.115 -0.375 3.639 0.888 0.828 3.314 + 0.532 -0.636 4.732 1.145 -1.282 5.730 2.215 -1.566 5.678 0.250 + -1.531 6.745 0.566 -1.854 7.651 -1.024 -1.081 6.415 -2.244 -1.116 + 7.111 -2.311 -1.518 8.093 -3.350 -0.500 6.520 -4.259 -0.514 7.020 + -3.250 0.120 5.270 -4.112 0.592 4.806 -1.992 0.140 4.624 -1.918 + 0.562 3.591 -0.843 -0.451 5.159 1.041 -0.414 0.861 2.141 -0.686 + 0.388 0.300 0.579 0.362 -0.665 0.690 0.767 0.563 1.232 -0.953 + 1.634 1.223 -1.167 -0.181 0.441 -2.052 0.179 -0.565 -1.879 -1.691 + 0.560 -2.068 -2.026 1.585 -1.951 -2.064 0.146 -2.992 -2.057 -0.095 + -1.301 0.213 0.821 -3.338 0.147 0.045 -3.964 0.071 2.666 -0.935 + -0.714 3.042 -0.078 0.477 3.526 -1.871 0.985 3.125 -2.627 -0.021 + 4.872 -2.124 -0.532 5.197 -1.234 1.136 5.796 -2.419 1.851 5.663 + -1.555 1.711 5.562 -3.255 0.789 7.215 -2.557 0.734 7.921 -3.680 + 0.915 7.507 -4.653 0.469 9.229 -3.444 0.400 9.912 -4.202 0.308 + 9.477 -2.121 0.016 10.609 -1.321 -0.216 11.592 -1.738 -0.064 10.546 + 0.084 -0.231 11.433 0.641 0.110 9.264 0.712 0.034 9.163 1.779 + 0.405 8.147 -0.099 0.644 7.239 0.471 0.502 8.218 -1.521 -1.036 + 4.827 -3.288 -0.830 4.172 -4.361 -2.135 5.565 -3.053 -2.243 5.972 + -2.134 -3.225 5.664 -4.055 -2.809 5.588 -5.106 -4.249 4.487 -3.823 + -4.622 4.427 -2.772 -5.142 4.641 -4.342 -3.805 3.141 -4.246 -2.862 + 2.817 -3.737 -4.654 2.497 -4.042 -3.510 2.928 -5.721 -4.397 3.183 + -6.308 -2.770 3.588 -6.072 -3.008 1.488 -5.990 -3.533 0.744 -5.458 + -3.094 1.308 -7.040 -1.605 1.253 -5.622 -1.424 1.585 -4.696 -1.385 + 0.199 -5.610 -0.971 1.737 -6.269 -3.949 7.045 -3.962 -3.777 7.777 + -2.959 -4.704 7.481 -5.006 -4.766 6.896 -5.854 -5.147 8.391 -4.912 + -2.761 9.123 -0.813 -2.975 8.520 -1.545 -1.787 9.279 -0.829 -3.169 + 10.012 -0.841 -3.245 8.594 0.424 -2.761 9.272 1.132 -4.791 8.577 + 0.516 -5.185 9.511 0.262 -5.227 7.818 -0.133 -5.095 8.357 1.928 + -6.034 8.084 2.051 -2.766 7.171 0.600 -2.453 6.521 -0.415 -2.744 + 6.585 1.838 -3.124 6.991 2.655 -2.446 5.180 1.976 -1.620 4.962 + 1.326 -1.874 4.964 3.414 -2.637 5.306 4.113 -1.601 3.869 3.674 + -0.714 5.833 3.746 -0.689 6.771 4.740 -1.504 6.961 5.484 0.586 + 7.356 4.747 0.873 7.967 5.491 1.400 6.899 3.719 2.675 7.210 + 3.310 3.191 8.016 3.695 3.252 6.437 2.304 4.300 6.575 2.112 + 2.516 5.457 1.682 3.027 4.845 0.857 1.228 5.077 2.067 0.785 + 4.147 1.705 0.597 5.836 3.111 -3.603 4.264 1.603 -4.760 4.700 + 1.615 -3.316 3.007 1.265 -2.340 2.787 1.027 -4.248 1.951 0.878 + -5.085 1.974 1.548 -4.750 2.205 -0.540 -3.944 2.525 -1.156 -5.545 + 1.055 -1.223 -6.381 0.676 -0.621 -5.975 1.343 -2.190 -4.869 0.222 + -1.432 -5.604 3.341 -0.522 -5.522 3.955 0.258 -3.632 0.605 1.092 + -2.413 0.496 1.144 -4.426 -0.446 1.215 -5.430 -0.290 1.154 -3.941 + -1.843 1.220 -2.876 -1.819 1.396 -4.736 -2.634 2.287 -4.805 -2.060 + 3.197 -5.727 -2.659 1.895 -4.202 -4.042 2.548 -4.819 -5.194 2.143 + -5.766 -5.283 1.634 -4.097 -6.243 2.641 -4.362 -7.199 2.542 -2.967 + -5.850 3.340 -1.969 -6.525 4.045 -1.964 -7.618 4.149 -0.907 -5.808 + 4.610 -0.151 -6.388 5.084 -0.944 -4.393 4.583 -0.244 -3.777 5.157 + -1.985 -3.769 3.934 -2.054 -2.717 3.973 -3.011 -4.454 3.312 -4.049 + -2.510 -0.201 -5.060 -2.358 -0.857 -3.031 -3.235 -0.638 -2.274 -3.390 + 0.065 -2.943 -3.784 -2.001 -3.946 -4.019 -2.341 -2.322 -2.680 -2.852 + -3.109 -1.939 -2.948 -1.432 -2.196 -2.358 -1.911 -3.052 -4.253 -1.118 + -3.677 -4.183 -2.763 -3.588 -4.716 -1.533 -1.767 -5.066 -0.512 -1.121 + -4.760 -2.275 -1.402 -5.993 -2.045 -5.030 -2.024 -0.896 -5.040 -1.570 + -2.562 -6.141 -2.555 -3.510 -6.110 -3.011 -1.791 -7.381 -2.739 -2.433 + -8.262 -2.982 -0.921 -7.262 -4.019 -0.219 -6.418 -3.895 -0.425 -8.216 + -4.273 -1.782 -6.868 -5.244 -2.882 -7.337 -5.440 -1.319 -5.971 -6.046 + -1.854 -5.824 -6.881 -0.318 -5.725 -5.982 -1.028 -7.903 -1.526 0.037 + -8.523 -1.683 -1.509 -7.656 -0.318 -2.407 -7.181 -0.272 -0.908 -7.950 + 0.981 -1.756 -8.021 1.639 -0.386 -8.890 0.996 0.160 -6.957 1.504 + 0.960 -7.259 2.383 0.233 -5.750 0.912 -0.467 -5.461 0.160 1.164 + -4.718 1.319 1.733 -4.961 2.237 2.139 -4.388 0.147 1.481 -4.266 + -0.707 2.642 -3.466 0.274 3.240 -5.498 -0.200 3.833 -5.082 -1.023 + 3.902 -5.716 0.695 2.568 -6.774 -0.767 2.211 -7.405 0.089 1.647 + -6.543 -1.306 3.444 -7.670 -1.600 3.644 -7.092 -2.505 4.372 -7.819 + -1.065 2.797 -8.954 -1.795 1.830 -8.855 -2.131 3.308 -9.503 -2.504 + 2.739 -9.445 -0.974 0.376 -3.415 1.530 -0.724 -3.118 0.963 1.016 + -2.475 2.271 1.974 -2.663 2.508 0.592 -1.068 2.202 -0.470 -1.157 + 2.271 1.076 -0.215 3.425 2.114 -0.374 3.637 0.888 0.828 3.314 + 0.531 -0.635 4.731 1.145 -1.282 5.730 2.214 -1.567 5.680 0.250 + -1.531 6.745 0.565 -1.853 7.652 -1.024 -1.081 6.414 -2.244 -1.117 + 7.111 -2.311 -1.518 8.092 -3.350 -0.500 6.519 -4.258 -0.514 7.020 + -3.250 0.120 5.269 -4.112 0.592 4.805 -1.992 0.140 4.623 -1.917 + 0.562 3.590 -0.843 -0.451 5.159 1.040 -0.414 0.861 2.141 -0.686 + 0.388 0.300 0.579 0.362 -0.664 0.689 0.767 0.563 1.232 -0.953 + 1.634 1.223 -1.168 -0.181 0.441 -2.052 0.177 -0.565 -1.879 -1.691 + 0.561 -2.068 -2.026 1.585 -1.952 -2.064 0.148 -2.993 -2.056 -0.093 + -1.301 0.213 0.820 -3.338 0.147 0.043 -3.962 0.072 2.666 -0.936 + -0.713 3.042 -0.078 0.477 3.526 -1.871 0.985 3.124 -2.627 -0.021 + 4.873 -2.124 -0.532 5.198 -1.234 1.136 5.796 -2.419 1.851 5.664 + -1.554 1.710 5.561 -3.254 0.789 7.215 -2.556 0.734 7.921 -3.680 + 0.915 7.507 -4.653 0.469 9.229 -3.444 0.400 9.912 -4.202 0.309 + 9.478 -2.121 0.016 10.609 -1.321 -0.216 11.592 -1.739 -0.064 10.546 + 0.084 -0.231 11.432 0.641 0.110 9.264 0.712 0.034 9.162 1.780 + 0.405 8.147 -0.099 0.645 7.239 0.469 0.503 8.218 -1.521 -1.036 + 4.827 -3.288 -0.831 4.172 -4.361 -2.135 5.565 -3.053 -2.244 5.972 + -2.134 -3.225 5.664 -4.055 -2.808 5.588 -5.105 -4.248 4.486 -3.823 + -4.621 4.426 -2.770 -5.141 4.642 -4.343 -3.804 3.141 -4.246 -2.862 + 2.817 -3.735 -4.654 2.497 -4.042 -3.510 2.928 -5.721 -4.397 3.183 + -6.309 -2.770 3.587 -6.071 -3.008 1.488 -5.990 -3.533 0.745 -5.459 + -3.093 1.308 -7.039 -1.605 1.253 -5.622 -1.423 1.586 -4.695 -1.386 + 0.199 -5.609 -0.972 1.735 -6.269 -3.949 7.045 -3.962 -3.777 7.777 + -2.959 -4.704 7.482 -5.006 -4.767 6.898 -5.854 -5.148 8.392 -4.913 + -2.761 9.123 -0.813 -2.975 8.520 -1.546 -1.787 9.280 -0.828 -3.171 + 10.011 -0.843 -3.245 8.594 0.423 -2.762 9.272 1.133 -4.791 8.576 + 0.516 -5.186 9.509 0.260 -5.227 7.817 -0.133 -5.095 8.357 1.928 + -6.032 8.083 2.052 -2.766 7.171 0.601 -2.453 6.521 -0.415 -2.744 + 6.585 1.838 -3.125 6.992 2.655 -2.446 5.180 1.977 -1.621 4.962 + 1.326 -1.874 4.964 3.414 -2.637 5.307 4.113 -1.602 3.868 3.674 + -0.714 5.833 3.746 -0.688 6.772 4.740 -1.503 6.961 5.484 0.586 + 7.356 4.747 0.875 7.966 5.492 1.399 6.899 3.719 2.676 7.211 + 3.309 3.190 8.016 3.695 3.252 6.438 2.305 4.299 6.573 2.112 + 2.516 5.457 1.682 3.028 4.845 0.857 1.228 5.077 2.067 0.787 + 4.147 1.705 0.598 5.836 3.111 -3.604 4.264 1.603 -4.760 4.700 + 1.615 -3.316 3.007 1.264 -2.340 2.789 1.026 -4.247 1.950 0.877 + -5.085 1.975 1.548 -4.750 2.205 -0.540 -3.945 2.525 -1.156 -5.545 + 1.054 -1.223 -6.381 0.675 -0.621 -5.975 1.344 -2.191 -4.869 0.222 + -1.432 -5.604 3.341 -0.522 -5.521 3.952 0.258 -3.632 0.605 1.092 + -2.413 0.496 1.144 -4.426 -0.445 1.216 -5.431 -0.290 1.154 -3.940 + -1.842 1.220 -2.876 -1.819 1.398 -4.736 -2.633 2.287 -4.806 -2.061 + 3.197 -5.726 -2.660 1.894 -4.202 -4.042 2.548 -4.819 -5.194 2.142 + -5.765 -5.283 1.633 -4.096 -6.243 2.640 -4.361 -7.199 2.541 -2.967 + -5.850 3.340 -1.969 -6.525 4.045 -1.963 -7.618 4.149 -0.907 -5.807 + 4.610 -0.151 -6.386 5.084 -0.944 -4.392 4.583 -0.244 -3.776 5.158 + -1.985 -3.769 3.935 -2.055 -2.717 3.974 -3.011 -4.454 3.312 -4.049 + -2.509 -0.201 -5.060 -2.358 -0.857 -3.031 -3.234 -0.638 -2.274 -3.392 + 0.063 -2.943 -3.784 -2.001 -3.946 -4.019 -2.342 -2.322 -2.680 -2.852 + -3.110 -1.940 -2.949 -1.432 -2.196 -2.356 -1.911 -3.052 -4.252 -1.118 + -3.676 -4.183 -2.762 -3.588 -4.716 -1.533 -1.767 -5.065 -0.511 -1.121 + -4.760 -2.275 -1.403 -5.993 -2.046 -5.030 -2.023 -0.897 -5.041 -1.570 + -2.562 -6.141 -2.555 -3.510 -6.109 -3.011 -1.791 -7.381 -2.739 -2.435 + -8.262 -2.981 -0.921 -7.263 -4.019 -0.218 -6.418 -3.894 -0.425 -8.216 + -4.272 -1.782 -6.868 -5.243 -2.881 -7.337 -5.440 -1.319 -5.971 -6.045 + -1.853 -5.824 -6.881 -0.318 -5.726 -5.982 -1.028 -7.902 -1.526 0.036 + -8.523 -1.683 -1.509 -7.657 -0.318 -2.408 -7.182 -0.273 -0.908 -7.950 + 0.981 -1.755 -8.020 1.639 -0.387 -8.890 0.996 0.160 -6.956 1.504 + 0.960 -7.259 2.384 0.234 -5.750 0.912 -0.466 -5.462 0.160 1.165 + -4.718 1.319 1.733 -4.962 2.238 2.138 -4.388 0.147 1.481 -4.267 + -0.705 2.640 -3.466 0.273 3.240 -5.497 -0.200 3.833 -5.082 -1.024 + 3.903 -5.716 0.695 2.568 -6.774 -0.767 2.212 -7.405 0.090 1.647 + -6.543 -1.306 3.443 -7.670 -1.600 3.643 -7.093 -2.506 4.372 -7.819 + -1.065 2.797 -8.954 -1.795 1.830 -8.855 -2.131 3.308 -9.503 -2.503 + 2.738 -9.445 -0.972 0.376 -3.415 1.530 -0.724 -3.118 0.962 1.016 + -2.476 2.271 1.975 -2.663 2.506 0.592 -1.069 2.203 -0.469 -1.157 + 2.270 1.075 -0.215 3.426 2.113 -0.374 3.635 0.887 0.828 3.313 + 0.531 -0.635 4.731 1.145 -1.282 5.730 2.214 -1.567 5.681 0.250 + -1.531 6.744 0.565 -1.851 7.652 -1.024 -1.082 6.414 -2.244 -1.117 + 7.110 -2.311 -1.519 8.092 -3.350 -0.500 6.519 -4.258 -0.514 7.019 + -3.250 0.120 5.269 -4.112 0.593 4.805 -1.992 0.141 4.623 -1.916 + 0.562 3.590 -0.843 -0.452 5.160 1.040 -0.415 0.861 2.141 -0.685 + 0.388 0.300 0.580 0.362 -0.663 0.688 0.767 0.563 1.232 -0.953 + 1.635 1.223 -1.168 -0.181 0.441 -2.051 0.176 -0.564 -1.878 -1.691 + 0.561 -2.068 -2.026 1.585 -1.952 -2.064 0.149 -2.993 -2.056 -0.092 + -1.301 0.213 0.819 -3.338 0.146 0.041 -3.960 0.072 2.666 -0.936 + -0.713 3.041 -0.078 0.477 3.527 -1.871 0.984 3.124 -2.628 -0.021 + 4.873 -2.124 -0.532 5.198 -1.235 1.136 5.796 -2.419 1.851 5.664 + -1.554 1.709 5.560 -3.254 0.788 7.215 -2.556 0.734 7.921 -3.680 + 0.915 7.506 -4.654 0.470 9.229 -3.444 0.401 9.911 -4.202 0.309 + 9.478 -2.121 0.017 10.609 -1.320 -0.216 11.591 -1.741 -0.063 10.546 + 0.085 -0.231 11.431 0.641 0.110 9.264 0.713 0.034 9.160 1.780 + 0.405 8.148 -0.099 0.646 7.238 0.467 0.503 8.217 -1.521 -1.036 + 4.827 -3.288 -0.831 4.171 -4.361 -2.134 5.565 -3.053 -2.244 5.973 + -2.134 -3.225 5.664 -4.055 -2.807 5.589 -5.105 -4.248 4.486 -3.822 + -4.619 4.426 -2.769 -5.139 4.642 -4.343 -3.804 3.141 -4.247 -2.862 + 2.816 -3.734 -4.654 2.497 -4.043 -3.510 2.928 -5.722 -4.396 3.184 + -6.310 -2.770 3.586 -6.071 -3.008 1.488 -5.990 -3.534 0.745 -5.460 + -3.093 1.307 -7.038 -1.605 1.252 -5.622 -1.423 1.587 -4.695 -1.388 + 0.199 -5.609 -0.972 1.734 -6.269 -3.949 7.045 -3.962 -3.777 7.777 + -2.958 -4.704 7.482 -5.006 -4.768 6.900 -5.855 -5.148 8.393 -4.915 + -2.761 9.122 -0.813 -2.975 8.520 -1.548 -1.787 9.280 -0.827 -3.173 + 10.009 -0.845 -3.245 8.593 0.423 -2.763 9.272 1.133 -4.792 8.575 + 0.515 -5.187 9.507 0.259 -5.226 7.816 -0.133 -5.095 8.356 1.928 + -6.030 8.083 2.052 -2.766 7.170 0.601 -2.453 6.521 -0.414 -2.744 + 6.585 1.839 -3.126 6.993 2.655 -2.446 5.180 1.977 -1.622 4.961 + 1.325 -1.874 4.965 3.414 -2.636 5.308 4.113 -1.602 3.867 3.674 + -0.714 5.833 3.746 -0.688 6.772 4.740 -1.503 6.960 5.484 0.587 + 7.356 4.747 0.876 7.965 5.493 1.398 6.899 3.719 2.676 7.211 + 3.309 3.189 8.017 3.695 3.252 6.438 2.305 4.299 6.571 2.112 + 2.516 5.457 1.682 3.029 4.845 0.857 1.228 5.077 2.067 0.788 + 4.146 1.705 0.598 5.836 3.111 -3.604 4.265 1.602 -4.760 4.700 + 1.615 -3.316 3.007 1.264 -2.340 2.790 1.024 -4.247 1.950 0.877 + -5.085 1.975 1.548 -4.750 2.205 -0.540 -3.946 2.525 -1.157 -5.545 + 1.053 -1.223 -6.380 0.674 -0.621 -5.975 1.344 -2.192 -4.868 0.221 + -1.432 -5.604 3.341 -0.521 -5.521 3.949 0.258 -3.631 0.605 1.092 + -2.413 0.496 1.143 -4.426 -0.444 1.216 -5.431 -0.289 1.155 -3.940 + -1.842 1.220 -2.877 -1.819 1.399 -4.736 -2.632 2.288 -4.807 -2.061 + 3.197 -5.725 -2.662 1.894 -4.202 -4.042 2.548 -4.818 -5.193 2.142 + -5.764 -5.282 1.632 -4.096 -6.243 2.640 -4.361 -7.199 2.539 -2.967 + -5.850 3.340 -1.969 -6.525 4.045 -1.963 -7.617 4.149 -0.907 -5.807 + 4.610 -0.151 -6.384 5.084 -0.944 -4.392 4.584 -0.245 -3.776 5.159 + -1.986 -3.769 3.935 -2.056 -2.717 3.975 -3.011 -4.453 3.313 -4.049 + -2.509 -0.200 -5.060 -2.358 -0.858 -3.031 -3.234 -0.638 -2.274 -3.393 + 0.061 -2.943 -3.784 -2.001 -3.946 -4.019 -2.343 -2.322 -2.679 -2.852 + -3.111 -1.941 -2.949 -1.433 -2.196 -2.354 -1.911 -3.052 -4.252 -1.119 + -3.674 -4.182 -2.762 -3.588 -4.715 -1.533 -1.767 -5.065 -0.511 -1.120 + -4.761 -2.275 -1.403 -5.994 -2.046 -5.030 -2.023 -0.897 -5.041 -1.569 + -2.563 -6.141 -2.556 -3.509 -6.109 -3.011 -1.791 -7.381 -2.739 -2.436 + -8.261 -2.980 -0.921 -7.263 -4.019 -0.217 -6.419 -3.894 -0.424 -8.215 + -4.271 -1.782 -6.868 -5.243 -2.881 -7.337 -5.441 -1.318 -5.970 -6.044 + -1.853 -5.824 -6.881 -0.319 -5.727 -5.982 -1.027 -7.903 -1.526 0.036 + -8.522 -1.683 -1.509 -7.657 -0.318 -2.408 -7.183 -0.274 -0.908 -7.950 + 0.982 -1.755 -8.020 1.640 -0.389 -8.890 0.995 0.159 -6.956 1.504 + 0.960 -7.258 2.384 0.234 -5.750 0.912 -0.465 -5.462 0.161 1.165 + -4.719 1.319 1.733 -4.962 2.239 2.138 -4.388 0.147 1.481 -4.268 + -0.704 2.637 -3.466 0.271 3.241 -5.497 -0.200 3.833 -5.081 -1.024 + 3.904 -5.716 0.695 2.568 -6.773 -0.767 2.213 -7.405 0.091 1.648 + -6.542 -1.307 3.443 -7.669 -1.600 3.643 -7.094 -2.507 4.371 -7.819 + -1.066 2.796 -8.954 -1.794 1.830 -8.854 -2.131 3.308 -9.502 -2.501 + 2.737 -9.445 -0.971 0.375 -3.416 1.530 -0.724 -3.118 0.962 1.017 + -2.476 2.270 1.976 -2.663 2.504 0.592 -1.070 2.203 -0.469 -1.158 + 2.270 1.075 -0.215 3.426 2.112 -0.373 3.633 0.887 0.828 3.312 + 0.531 -0.635 4.731 1.145 -1.282 5.730 2.213 -1.568 5.683 0.250 + -1.531 6.744 0.565 -1.850 7.653 -1.024 -1.082 6.413 -2.244 -1.118 + 7.110 -2.311 -1.519 8.091 -3.350 -0.501 6.518 -4.257 -0.514 7.019 + -3.250 0.120 5.269 -4.112 0.593 4.805 -1.992 0.141 4.623 -1.915 + 0.561 3.589 -0.842 -0.452 5.160 1.040 -0.415 0.861 2.142 -0.685 + 0.388 0.300 0.580 0.362 -0.662 0.687 0.767 0.564 1.232 -0.953 + 1.635 1.223 -1.168 -0.180 0.441 -2.051 0.175 -0.564 -1.878 -1.691 + 0.561 -2.068 -2.026 1.585 -1.953 -2.064 0.150 -2.994 -2.056 -0.090 + -1.300 0.213 0.819 -3.338 0.146 0.039 -3.958 0.072 2.666 -0.936 + -0.713 3.041 -0.078 0.476 3.527 -1.870 0.983 3.124 -2.628 -0.022 + 4.873 -2.124 -0.532 5.198 -1.235 1.136 5.797 -2.420 1.852 5.664 + -1.553 1.709 5.559 -3.254 0.788 7.216 -2.556 0.734 7.921 -3.680 + 0.915 7.506 -4.654 0.471 9.229 -3.445 0.401 9.910 -4.202 0.310 + 9.478 -2.121 0.017 10.609 -1.320 -0.216 11.591 -1.742 -0.063 10.545 + 0.085 -0.231 11.430 0.641 0.110 9.264 0.713 0.034 9.159 1.781 + 0.406 8.148 -0.099 0.646 7.238 0.465 0.504 8.217 -1.522 -1.036 + 4.827 -3.287 -0.831 4.170 -4.361 -2.134 5.565 -3.053 -2.244 5.973 + -2.133 -3.224 5.664 -4.055 -2.806 5.589 -5.105 -4.247 4.486 -3.822 + -4.617 4.426 -2.768 -5.138 4.643 -4.344 -3.804 3.141 -4.248 -2.862 + 2.816 -3.733 -4.654 2.497 -4.043 -3.510 2.928 -5.722 -4.396 3.184 + -6.310 -2.770 3.586 -6.071 -3.008 1.487 -5.990 -3.535 0.746 -5.461 + -3.093 1.307 -7.038 -1.605 1.252 -5.622 -1.422 1.589 -4.695 -1.389 + 0.199 -5.609 -0.972 1.732 -6.268 -3.950 7.045 -3.962 -3.777 7.777 + -2.958 -4.704 7.483 -5.006 -4.768 6.902 -5.856 -5.149 8.394 -4.916 + -2.761 9.122 -0.814 -2.975 8.519 -1.549 -1.788 9.280 -0.826 -3.175 + 10.008 -0.847 -3.245 8.593 0.422 -2.764 9.272 1.134 -4.792 8.574 + 0.515 -5.187 9.505 0.257 -5.226 7.815 -0.133 -5.095 8.356 1.928 + -6.029 8.082 2.052 -2.766 7.170 0.602 -2.453 6.520 -0.414 -2.744 + 6.586 1.839 -3.127 6.995 2.655 -2.446 5.180 1.977 -1.623 4.961 + 1.324 -1.874 4.965 3.414 -2.636 5.309 4.113 -1.603 3.867 3.675 + -0.714 5.834 3.746 -0.687 6.772 4.740 -1.502 6.959 5.484 0.587 + 7.356 4.747 0.878 7.964 5.494 1.397 6.899 3.719 2.677 7.212 + 3.308 3.188 8.018 3.695 3.252 6.438 2.306 4.299 6.569 2.112 + 2.516 5.457 1.682 3.030 4.845 0.857 1.228 5.077 2.068 0.790 + 4.146 1.705 0.599 5.837 3.110 -3.604 4.265 1.602 -4.760 4.700 + 1.615 -3.315 3.007 1.263 -2.341 2.792 1.023 -4.246 1.950 0.877 + -5.085 1.976 1.547 -4.750 2.206 -0.540 -3.947 2.525 -1.157 -5.545 + 1.052 -1.223 -6.380 0.674 -0.621 -5.974 1.344 -2.192 -4.868 0.220 + -1.431 -5.604 3.341 -0.521 -5.520 3.947 0.258 -3.630 0.606 1.092 + -2.413 0.497 1.143 -4.426 -0.444 1.216 -5.431 -0.289 1.155 -3.940 + -1.841 1.220 -2.878 -1.820 1.401 -4.736 -2.632 2.288 -4.807 -2.061 + 3.197 -5.724 -2.663 1.894 -4.202 -4.042 2.548 -4.818 -5.193 2.141 + -5.763 -5.282 1.631 -4.095 -6.242 2.639 -4.360 -7.199 2.538 -2.967 + -5.850 3.340 -1.969 -6.524 4.045 -1.963 -7.617 4.149 -0.906 -5.807 + 4.610 -0.150 -6.382 5.083 -0.944 -4.392 4.585 -0.245 -3.775 5.160 + -1.986 -3.768 3.936 -2.057 -2.717 3.975 -3.012 -4.453 3.313 -4.048 + -2.508 -0.200 -5.060 -2.357 -0.858 -3.031 -3.234 -0.638 -2.274 -3.395 + 0.059 -2.943 -3.785 -2.000 -3.946 -4.019 -2.345 -2.323 -2.679 -2.852 + -3.111 -1.941 -2.950 -1.433 -2.196 -2.353 -1.910 -3.052 -4.251 -1.119 + -3.672 -4.182 -2.761 -3.588 -4.715 -1.533 -1.768 -5.064 -0.511 -1.120 + -4.761 -2.275 -1.403 -5.994 -2.046 -5.030 -2.023 -0.897 -5.041 -1.569 + -2.563 -6.141 -2.556 -3.509 -6.108 -3.011 -1.790 -7.381 -2.739 -2.437 + -8.260 -2.979 -0.921 -7.263 -4.019 -0.216 -6.419 -3.893 -0.423 -8.214 + -4.270 -1.782 -6.868 -5.242 -2.881 -7.337 -5.441 -1.318 -5.969 -6.044 + -1.852 -5.824 -6.882 -0.319 -5.728 -5.982 -1.027 -7.903 -1.526 0.036 + -8.522 -1.683 -1.509 -7.657 -0.317 -2.408 -7.184 -0.275 -0.908 -7.950 + 0.982 -1.755 -8.019 1.640 -0.390 -8.890 0.995 0.159 -6.956 1.504 + 0.960 -7.257 2.385 0.234 -5.751 0.912 -0.464 -5.463 0.161 1.166 + -4.719 1.319 1.733 -4.963 2.239 2.138 -4.388 0.147 1.481 -4.270 + -0.703 2.634 -3.466 0.270 3.241 -5.496 -0.200 3.833 -5.081 -1.024 + 3.905 -5.717 0.695 2.569 -6.773 -0.767 2.214 -7.405 0.091 1.648 + -6.541 -1.307 3.443 -7.669 -1.600 3.642 -7.096 -2.508 4.370 -7.819 + -1.067 2.796 -8.954 -1.794 1.831 -8.853 -2.130 3.309 -9.502 -2.499 + 2.736 -9.445 -0.969 0.375 -3.416 1.530 -0.724 -3.118 0.962 1.017 + -2.477 2.270 1.977 -2.663 2.503 0.592 -1.070 2.203 -0.468 -1.158 + 2.269 1.075 -0.214 3.427 2.112 -0.373 3.631 0.887 0.828 3.312 + 0.531 -0.634 4.731 1.145 -1.282 5.730 2.212 -1.568 5.684 0.250 + -1.531 6.744 0.564 -1.849 7.653 -1.024 -1.082 6.413 -2.244 -1.118 + 7.109 -2.311 -1.519 8.091 -3.351 -0.501 6.518 -4.257 -0.514 7.019 + -3.250 0.119 5.269 -4.112 0.593 4.805 -1.992 0.141 4.623 -1.914 + 0.561 3.589 -0.842 -0.452 5.160 1.039 -0.415 0.861 2.142 -0.685 + 0.388 0.301 0.580 0.362 -0.661 0.686 0.767 0.564 1.232 -0.953 + 1.636 1.224 -1.168 -0.180 0.442 -2.051 0.174 -0.564 -1.878 -1.691 + 0.561 -2.068 -2.026 1.585 -1.953 -2.064 0.151 -2.994 -2.055 -0.088 + -1.300 0.213 0.818 -3.339 0.145 0.037 -3.956 0.073 2.667 -0.936 + -0.712 3.041 -0.078 0.476 3.528 -1.870 0.983 3.124 -2.628 -0.022 + 4.873 -2.124 -0.532 5.199 -1.235 1.136 5.797 -2.420 1.852 5.665 + -1.553 1.708 5.558 -3.254 0.788 7.216 -2.556 0.735 7.920 -3.680 + 0.915 7.506 -4.654 0.471 9.229 -3.445 0.401 9.910 -4.202 0.310 + 9.479 -2.121 0.017 10.609 -1.319 -0.215 11.590 -1.743 -0.063 10.545 + 0.085 -0.230 11.429 0.642 0.110 9.264 0.713 0.034 9.157 1.781 + 0.406 8.149 -0.099 0.647 7.237 0.463 0.504 8.217 -1.522 -1.036 + 4.827 -3.287 -0.832 4.170 -4.361 -2.134 5.566 -3.053 -2.245 5.974 + -2.133 -3.224 5.664 -4.055 -2.805 5.589 -5.104 -4.247 4.486 -3.821 + -4.615 4.426 -2.767 -5.137 4.644 -4.344 -3.803 3.141 -4.249 -2.862 + 2.816 -3.732 -4.654 2.497 -4.043 -3.510 2.929 -5.723 -4.395 3.184 + -6.311 -2.770 3.585 -6.071 -3.008 1.487 -5.990 -3.535 0.747 -5.462 + -3.093 1.307 -7.037 -1.605 1.251 -5.622 -1.421 1.590 -4.694 -1.390 + 0.199 -5.609 -0.972 1.730 -6.268 -3.950 7.046 -3.963 -3.777 7.777 + -2.958 -4.704 7.483 -5.006 -4.769 6.905 -5.856 -5.149 8.395 -4.918 + -2.761 9.122 -0.814 -2.975 8.519 -1.551 -1.788 9.280 -0.825 -3.177 + 10.006 -0.849 -3.245 8.593 0.422 -2.766 9.272 1.134 -4.793 8.573 + 0.515 -5.188 9.503 0.256 -5.226 7.814 -0.133 -5.095 8.356 1.928 + -6.027 8.082 2.052 -2.766 7.170 0.603 -2.454 6.520 -0.414 -2.744 + 6.586 1.839 -3.128 6.996 2.656 -2.446 5.180 1.977 -1.623 4.961 + 1.323 -1.873 4.965 3.414 -2.636 5.310 4.113 -1.603 3.866 3.675 + -0.715 5.834 3.747 -0.687 6.772 4.740 -1.501 6.958 5.485 0.587 + 7.355 4.747 0.880 7.963 5.495 1.396 6.899 3.718 2.678 7.212 + 3.307 3.188 8.019 3.695 3.252 6.439 2.307 4.299 6.567 2.111 + 2.516 5.458 1.682 3.031 4.846 0.858 1.228 5.077 2.068 0.792 + 4.145 1.705 0.600 5.837 3.110 -3.605 4.265 1.601 -4.760 4.700 + 1.614 -3.315 3.007 1.263 -2.341 2.794 1.021 -4.246 1.950 0.877 + -5.084 1.976 1.547 -4.750 2.206 -0.540 -3.947 2.524 -1.158 -5.545 + 1.052 -1.224 -6.379 0.673 -0.621 -5.974 1.345 -2.193 -4.868 0.220 + -1.431 -5.604 3.341 -0.521 -5.520 3.944 0.259 -3.630 0.606 1.092 + -2.412 0.497 1.143 -4.426 -0.443 1.217 -5.432 -0.289 1.156 -3.940 + -1.840 1.219 -2.879 -1.820 1.402 -4.736 -2.631 2.288 -4.808 -2.062 + 3.197 -5.723 -2.665 1.893 -4.202 -4.042 2.548 -4.817 -5.192 2.140 + -5.762 -5.282 1.629 -4.095 -6.242 2.639 -4.360 -7.199 2.537 -2.966 + -5.850 3.340 -1.970 -6.524 4.045 -1.963 -7.616 4.149 -0.906 -5.806 + 4.610 -0.150 -6.381 5.084 -0.944 -4.392 4.585 -0.246 -3.774 5.161 + -1.987 -3.768 3.936 -2.058 -2.717 3.976 -3.012 -4.453 3.313 -4.048 + -2.508 -0.200 -5.060 -2.357 -0.858 -3.031 -3.233 -0.639 -2.274 -3.396 + 0.057 -2.943 -3.785 -2.000 -3.946 -4.020 -2.346 -2.323 -2.679 -2.852 + -3.112 -1.942 -2.951 -1.434 -2.195 -2.352 -1.910 -3.052 -4.251 -1.119 + -3.670 -4.181 -2.761 -3.588 -4.714 -1.533 -1.768 -5.064 -0.511 -1.120 + -4.761 -2.275 -1.403 -5.994 -2.046 -5.029 -2.023 -0.897 -5.042 -1.569 + -2.563 -6.141 -2.556 -3.508 -6.108 -3.011 -1.790 -7.381 -2.739 -2.438 + -8.259 -2.978 -0.922 -7.263 -4.019 -0.216 -6.420 -3.893 -0.422 -8.214 + -4.269 -1.782 -6.868 -5.242 -2.881 -7.337 -5.442 -1.318 -5.969 -6.043 + -1.851 -5.823 -6.882 -0.320 -5.729 -5.982 -1.027 -7.903 -1.526 0.035 + -8.522 -1.683 -1.509 -7.657 -0.317 -2.408 -7.185 -0.276 -0.908 -7.950 + 0.983 -1.755 -8.018 1.640 -0.392 -8.891 0.995 0.159 -6.956 1.503 + 0.961 -7.256 2.385 0.235 -5.751 0.912 -0.463 -5.464 0.162 1.166 + -4.719 1.320 1.733 -4.964 2.240 2.137 -4.388 0.148 1.481 -4.270 + -0.702 2.632 -3.466 0.269 3.241 -5.496 -0.200 3.833 -5.080 -1.024 + 3.906 -5.717 0.695 2.569 -6.773 -0.767 2.215 -7.405 0.092 1.649 + -6.541 -1.308 3.443 -7.668 -1.600 3.642 -7.097 -2.509 4.369 -7.819 + -1.067 2.795 -8.955 -1.794 1.831 -8.852 -2.130 3.309 -9.501 -2.497 + 2.735 -9.445 -0.967 0.374 -3.417 1.530 -0.724 -3.118 0.962 1.018 + -2.478 2.270 1.978 -2.663 2.501 0.592 -1.071 2.203 -0.468 -1.158 + 2.269 1.074 -0.214 3.427 2.111 -0.372 3.629 0.887 0.828 3.311 + 0.531 -0.634 4.731 1.145 -1.283 5.730 2.211 -1.569 5.686 0.250 + -1.531 6.744 0.563 -1.847 7.654 -1.024 -1.083 6.412 -2.244 -1.118 + 7.109 -2.311 -1.519 8.090 -3.351 -0.501 6.517 -4.257 -0.514 7.019 + -3.250 0.119 5.268 -4.112 0.593 4.805 -1.992 0.141 4.623 -1.913 + 0.560 3.589 -0.842 -0.452 5.161 1.039 -0.415 0.861 2.143 -0.684 + 0.389 0.301 0.581 0.362 -0.660 0.686 0.766 0.565 1.233 -0.953 + 1.636 1.224 -1.168 -0.179 0.442 -2.051 0.172 -0.564 -1.877 -1.691 + 0.562 -2.069 -2.026 1.586 -1.954 -2.064 0.152 -2.995 -2.055 -0.086 + -1.300 0.213 0.817 -3.339 0.145 0.036 -3.954 0.073 2.667 -0.936 + -0.712 3.041 -0.078 0.476 3.528 -1.870 0.982 3.124 -2.628 -0.023 + 4.873 -2.124 -0.532 5.199 -1.235 1.136 5.797 -2.420 1.851 5.665 + -1.553 1.707 5.557 -3.254 0.788 7.216 -2.555 0.735 7.920 -3.681 + 0.914 7.505 -4.654 0.472 9.229 -3.445 0.402 9.909 -4.202 0.311 + 9.479 -2.121 0.018 10.609 -1.319 -0.215 11.589 -1.745 -0.062 10.545 + 0.085 -0.230 11.428 0.642 0.110 9.264 0.713 0.033 9.156 1.782 + 0.407 8.149 -0.099 0.647 7.237 0.461 0.504 8.216 -1.522 -1.037 + 4.828 -3.287 -0.832 4.169 -4.361 -2.133 5.566 -3.053 -2.245 5.974 + -2.133 -3.224 5.664 -4.054 -2.803 5.589 -5.104 -4.246 4.485 -3.821 + -4.612 4.426 -2.766 -5.136 4.645 -4.345 -3.803 3.141 -4.250 -2.863 + 2.815 -3.731 -4.654 2.497 -4.043 -3.510 2.929 -5.723 -4.395 3.184 + -6.312 -2.770 3.585 -6.071 -3.007 1.487 -5.990 -3.536 0.747 -5.463 + -3.093 1.306 -7.037 -1.605 1.250 -5.622 -1.420 1.591 -4.694 -1.391 + 0.199 -5.609 -0.973 1.729 -6.268 -3.950 7.046 -3.963 -3.778 7.776 + -2.958 -4.703 7.484 -5.005 -4.770 6.907 -5.857 -5.150 8.395 -4.920 + -2.761 9.121 -0.815 -2.975 8.518 -1.553 -1.788 9.280 -0.824 -3.179 + 10.005 -0.851 -3.245 8.593 0.422 -2.767 9.273 1.135 -4.793 8.572 + 0.514 -5.189 9.502 0.254 -5.226 7.813 -0.133 -5.095 8.356 1.927 + -6.025 8.081 2.052 -2.766 7.170 0.603 -2.454 6.520 -0.413 -2.744 + 6.586 1.840 -3.130 6.998 2.656 -2.446 5.180 1.977 -1.624 4.961 + 1.323 -1.873 4.966 3.414 -2.635 5.311 4.113 -1.604 3.866 3.675 + -0.715 5.834 3.747 -0.686 6.773 4.740 -1.500 6.958 5.485 0.587 + 7.355 4.747 0.881 7.962 5.495 1.395 6.898 3.718 2.679 7.213 + 3.306 3.187 8.020 3.695 3.252 6.439 2.307 4.299 6.565 2.111 + 2.516 5.458 1.681 3.032 4.846 0.859 1.227 5.076 2.068 0.793 + 4.145 1.705 0.601 5.837 3.110 -3.605 4.265 1.601 -4.760 4.700 + 1.614 -3.315 3.008 1.262 -2.341 2.796 1.020 -4.245 1.950 0.876 + -5.084 1.976 1.547 -4.750 2.206 -0.540 -3.948 2.524 -1.158 -5.544 + 1.051 -1.224 -6.379 0.673 -0.621 -5.973 1.345 -2.193 -4.867 0.219 + -1.431 -5.604 3.341 -0.520 -5.519 3.941 0.259 -3.629 0.606 1.092 + -2.412 0.497 1.142 -4.426 -0.443 1.217 -5.432 -0.288 1.156 -3.940 + -1.840 1.219 -2.879 -1.820 1.404 -4.736 -2.631 2.288 -4.809 -2.062 + 3.197 -5.722 -2.666 1.893 -4.202 -4.043 2.547 -4.817 -5.192 2.140 + -5.761 -5.282 1.628 -4.094 -6.242 2.639 -4.359 -7.199 2.536 -2.966 + -5.850 3.340 -1.970 -6.524 4.045 -1.963 -7.615 4.149 -0.906 -5.806 + 4.610 -0.149 -6.379 5.084 -0.944 -4.392 4.586 -0.246 -3.774 5.162 + -1.987 -3.768 3.936 -2.059 -2.717 3.977 -3.012 -4.452 3.313 -4.048 + -2.507 -0.199 -5.060 -2.357 -0.858 -3.031 -3.233 -0.639 -2.274 -3.397 + 0.055 -2.943 -3.785 -2.000 -3.947 -4.020 -2.347 -2.323 -2.679 -2.852 + -3.113 -1.942 -2.951 -1.435 -2.195 -2.350 -1.910 -3.051 -4.251 -1.119 + -3.669 -4.180 -2.760 -3.588 -4.714 -1.533 -1.768 -5.064 -0.511 -1.119 + -4.762 -2.275 -1.404 -5.995 -2.046 -5.029 -2.023 -0.898 -5.042 -1.569 + -2.564 -6.141 -2.557 -3.507 -6.108 -3.010 -1.790 -7.381 -2.739 -2.440 + -8.258 -2.977 -0.922 -7.262 -4.019 -0.215 -6.421 -3.892 -0.422 -8.213 + -4.268 -1.782 -6.869 -5.241 -2.881 -7.337 -5.442 -1.318 -5.968 -6.042 + -1.850 -5.823 -6.883 -0.320 -5.730 -5.982 -1.027 -7.903 -1.526 0.035 + -8.521 -1.684 -1.509 -7.658 -0.317 -2.409 -7.187 -0.276 -0.908 -7.950 + 0.983 -1.754 -8.017 1.641 -0.393 -8.891 0.994 0.158 -6.956 1.503 + 0.961 -7.256 2.386 0.235 -5.751 0.912 -0.461 -5.465 0.162 1.166 + -4.720 1.320 1.733 -4.965 2.241 2.137 -4.388 0.148 1.480 -4.271 + -0.702 2.629 -3.466 0.268 3.242 -5.496 -0.201 3.833 -5.080 -1.024 + 3.906 -5.717 0.695 2.569 -6.773 -0.766 2.215 -7.405 0.092 1.649 + -6.540 -1.308 3.443 -7.668 -1.600 3.641 -7.099 -2.510 4.369 -7.820 + -1.068 2.795 -8.955 -1.794 1.831 -8.852 -2.129 3.309 -9.501 -2.496 + 2.734 -9.445 -0.965 0.374 -3.417 1.530 -0.724 -3.118 0.961 1.018 + -2.479 2.270 1.979 -2.663 2.499 0.592 -1.072 2.204 -0.467 -1.159 + 2.268 1.074 -0.214 3.428 2.110 -0.372 3.626 0.886 0.828 3.310 + 0.530 -0.634 4.731 1.146 -1.283 5.730 2.210 -1.569 5.688 0.250 + -1.531 6.744 0.563 -1.846 7.654 -1.024 -1.083 6.412 -2.244 -1.119 + 7.108 -2.311 -1.520 8.090 -3.351 -0.502 6.517 -4.257 -0.514 7.019 + -3.249 0.119 5.268 -4.112 0.594 4.805 -1.992 0.142 4.623 -1.913 + 0.560 3.589 -0.842 -0.452 5.161 1.039 -0.416 0.861 2.143 -0.684 + 0.389 0.301 0.581 0.362 -0.659 0.685 0.766 0.565 1.233 -0.953 + 1.637 1.224 -1.168 -0.179 0.442 -2.050 0.171 -0.564 -1.877 -1.691 + 0.562 -2.069 -2.026 1.586 -1.954 -2.065 0.153 -2.995 -2.055 -0.084 + -1.299 0.213 0.817 -3.339 0.144 0.034 -3.952 0.073 2.667 -0.937 + -0.712 3.040 -0.078 0.476 3.529 -1.870 0.981 3.123 -2.629 -0.023 + 4.873 -2.123 -0.532 5.199 -1.236 1.136 5.797 -2.420 1.851 5.666 + -1.552 1.707 5.556 -3.254 0.788 7.217 -2.555 0.735 7.920 -3.681 + 0.914 7.505 -4.655 0.473 9.229 -3.445 0.402 9.908 -4.201 0.311 + 9.479 -2.120 0.018 10.609 -1.318 -0.215 11.589 -1.746 -0.062 10.544 + 0.086 -0.230 11.428 0.643 0.110 9.264 0.713 0.033 9.154 1.782 + 0.407 8.149 -0.099 0.647 7.237 0.458 0.505 8.216 -1.522 -1.037 + 4.828 -3.287 -0.833 4.169 -4.361 -2.133 5.566 -3.052 -2.246 5.975 + -2.133 -3.224 5.664 -4.054 -2.802 5.589 -5.103 -4.246 4.485 -3.820 + -4.610 4.426 -2.765 -5.135 4.645 -4.346 -3.803 3.141 -4.250 -2.863 + 2.815 -3.730 -4.654 2.497 -4.044 -3.510 2.929 -5.724 -4.394 3.184 + -6.313 -2.769 3.585 -6.071 -3.007 1.487 -5.990 -3.537 0.748 -5.464 + -3.093 1.306 -7.036 -1.605 1.250 -5.622 -1.419 1.592 -4.693 -1.393 + 0.200 -5.609 -0.973 1.727 -6.267 -3.950 7.046 -3.963 -3.778 7.776 + -2.957 -4.703 7.484 -5.005 -4.771 6.909 -5.857 -5.150 8.396 -4.921 + -2.761 9.121 -0.815 -2.975 8.518 -1.554 -1.787 9.281 -0.823 -3.181 + 10.003 -0.854 -3.245 8.593 0.421 -2.769 9.273 1.136 -4.793 8.571 + 0.514 -5.189 9.500 0.253 -5.225 7.811 -0.133 -5.095 8.356 1.927 + -6.023 8.080 2.052 -2.766 7.170 0.604 -2.454 6.519 -0.413 -2.745 + 6.586 1.840 -3.131 6.999 2.656 -2.446 5.179 1.978 -1.625 4.961 + 1.322 -1.873 4.966 3.414 -2.635 5.311 4.113 -1.605 3.866 3.675 + -0.715 5.834 3.747 -0.686 6.773 4.740 -1.499 6.957 5.485 0.587 + 7.355 4.748 0.883 7.961 5.496 1.394 6.898 3.718 2.679 7.213 + 3.306 3.187 8.021 3.695 3.252 6.439 2.308 4.298 6.563 2.110 + 2.516 5.458 1.681 3.033 4.846 0.859 1.227 5.076 2.069 0.795 + 4.145 1.705 0.601 5.838 3.109 -3.605 4.265 1.601 -4.761 4.700 + 1.614 -3.314 3.008 1.262 -2.342 2.798 1.019 -4.245 1.950 0.876 + -5.084 1.977 1.546 -4.750 2.206 -0.540 -3.948 2.524 -1.159 -5.544 + 1.050 -1.224 -6.378 0.672 -0.621 -5.973 1.346 -2.194 -4.867 0.219 + -1.430 -5.604 3.341 -0.520 -5.518 3.938 0.259 -3.628 0.606 1.092 + -2.412 0.497 1.142 -4.426 -0.442 1.217 -5.433 -0.288 1.157 -3.940 + -1.839 1.219 -2.880 -1.820 1.406 -4.736 -2.630 2.288 -4.809 -2.063 + 3.197 -5.721 -2.668 1.893 -4.202 -4.043 2.547 -4.816 -5.191 2.139 + -5.760 -5.281 1.627 -4.094 -6.242 2.638 -4.359 -7.199 2.535 -2.966 + -5.850 3.339 -1.970 -6.523 4.045 -1.963 -7.615 4.149 -0.906 -5.805 + 4.610 -0.148 -6.377 5.084 -0.944 -4.392 4.587 -0.246 -3.773 5.163 + -1.988 -3.768 3.937 -2.060 -2.717 3.978 -3.012 -4.452 3.314 -4.048 + -2.507 -0.199 -5.060 -2.356 -0.859 -3.031 -3.232 -0.639 -2.274 -3.398 + 0.052 -2.943 -3.785 -2.000 -3.947 -4.020 -2.348 -2.324 -2.678 -2.852 + -3.114 -1.943 -2.952 -1.436 -2.195 -2.349 -1.910 -3.051 -4.250 -1.119 + -3.668 -4.180 -2.759 -3.588 -4.714 -1.533 -1.768 -5.063 -0.510 -1.119 + -4.762 -2.274 -1.404 -5.995 -2.047 -5.029 -2.023 -0.898 -5.042 -1.569 + -2.564 -6.141 -2.557 -3.507 -6.107 -3.010 -1.790 -7.381 -2.739 -2.441 + -8.257 -2.976 -0.922 -7.262 -4.019 -0.214 -6.421 -3.891 -0.421 -8.212 + -4.267 -1.782 -6.869 -5.240 -2.880 -7.337 -5.443 -1.318 -5.968 -6.041 + -1.849 -5.823 -6.883 -0.321 -5.731 -5.982 -1.027 -7.903 -1.526 0.035 + -8.521 -1.684 -1.510 -7.658 -0.317 -2.409 -7.188 -0.277 -0.908 -7.949 + 0.983 -1.754 -8.016 1.641 -0.395 -8.891 0.994 0.158 -6.955 1.503 + 0.961 -7.255 2.387 0.235 -5.752 0.911 -0.460 -5.466 0.163 1.167 + -4.720 1.320 1.732 -4.966 2.242 2.137 -4.389 0.148 1.480 -4.272 + -0.701 2.627 -3.465 0.267 3.242 -5.495 -0.201 3.833 -5.079 -1.024 + 3.907 -5.717 0.694 2.569 -6.772 -0.766 2.216 -7.405 0.093 1.650 + -6.539 -1.309 3.443 -7.667 -1.600 3.641 -7.101 -2.511 4.368 -7.820 + -1.068 2.795 -8.955 -1.793 1.832 -8.851 -2.129 3.310 -9.501 -2.494 + 2.733 -9.445 -0.963 0.373 -3.417 1.530 -0.724 -3.118 0.961 1.019 + -2.479 2.269 1.980 -2.663 2.498 0.592 -1.073 2.204 -0.466 -1.159 + 2.268 1.074 -0.214 3.429 2.110 -0.371 3.624 0.886 0.828 3.310 + 0.530 -0.633 4.731 1.146 -1.283 5.730 2.209 -1.569 5.689 0.250 + -1.531 6.744 0.562 -1.845 7.655 -1.024 -1.084 6.411 -2.245 -1.119 + 7.108 -2.311 -1.520 8.089 -3.351 -0.502 6.516 -4.258 -0.513 7.019 + -3.249 0.119 5.268 -4.112 0.594 4.804 -1.991 0.142 4.623 -1.912 + 0.559 3.589 -0.842 -0.452 5.162 1.038 -0.416 0.861 2.144 -0.683 + 0.389 0.302 0.581 0.362 -0.657 0.684 0.766 0.565 1.233 -0.953 + 1.637 1.225 -1.169 -0.179 0.442 -2.050 0.170 -0.564 -1.877 -1.691 + 0.562 -2.069 -2.026 1.586 -1.954 -2.065 0.154 -2.996 -2.055 -0.082 + -1.299 0.213 0.816 -3.339 0.144 0.032 -3.950 0.073 2.667 -0.937 + -0.711 3.040 -0.078 0.476 3.529 -1.869 0.981 3.123 -2.629 -0.024 + 4.873 -2.123 -0.532 5.200 -1.236 1.136 5.797 -2.420 1.851 5.667 + -1.552 1.706 5.555 -3.255 0.788 7.217 -2.555 0.735 7.920 -3.681 + 0.914 7.505 -4.655 0.473 9.229 -3.445 0.402 9.907 -4.201 0.312 + 9.480 -2.120 0.018 10.610 -1.318 -0.215 11.588 -1.748 -0.061 10.544 + 0.086 -0.230 11.427 0.644 0.110 9.264 0.713 0.033 9.153 1.783 + 0.408 8.150 -0.099 0.648 7.236 0.456 0.505 8.216 -1.522 -1.037 + 4.828 -3.287 -0.833 4.168 -4.361 -2.133 5.566 -3.052 -2.246 5.975 + -2.132 -3.224 5.665 -4.054 -2.801 5.590 -5.102 -4.245 4.485 -3.820 + -4.608 4.426 -2.764 -5.135 4.646 -4.346 -3.802 3.141 -4.251 -2.863 + 2.815 -3.730 -4.654 2.497 -4.044 -3.510 2.929 -5.724 -4.394 3.183 + -6.314 -2.769 3.585 -6.071 -3.007 1.486 -5.991 -3.538 0.748 -5.464 + -3.092 1.305 -7.036 -1.605 1.249 -5.622 -1.418 1.594 -4.692 -1.394 + 0.201 -5.608 -0.973 1.725 -6.267 -3.951 7.046 -3.963 -3.778 7.776 + -2.957 -4.703 7.485 -5.005 -4.772 6.912 -5.857 -5.151 8.397 -4.923 + -2.761 9.121 -0.816 -2.975 8.517 -1.556 -1.787 9.281 -0.822 -3.183 + 10.002 -0.856 -3.244 8.592 0.421 -2.770 9.273 1.136 -4.794 8.571 + 0.514 -5.190 9.499 0.251 -5.225 7.810 -0.133 -5.095 8.356 1.927 + -6.022 8.080 2.052 -2.766 7.170 0.604 -2.455 6.519 -0.413 -2.745 + 6.586 1.840 -3.132 7.001 2.656 -2.446 5.179 1.978 -1.625 4.960 + 1.321 -1.873 4.966 3.414 -2.635 5.312 4.113 -1.605 3.866 3.675 + -0.715 5.835 3.747 -0.685 6.773 4.740 -1.498 6.956 5.485 0.587 + 7.355 4.748 0.885 7.960 5.497 1.393 6.898 3.717 2.680 7.214 + 3.305 3.186 8.022 3.695 3.252 6.440 2.309 4.298 6.561 2.110 + 2.516 5.458 1.681 3.033 4.847 0.860 1.227 5.076 2.069 0.796 + 4.145 1.704 0.602 5.838 3.109 -3.606 4.266 1.600 -4.761 4.700 + 1.614 -3.314 3.008 1.261 -2.342 2.800 1.018 -4.245 1.950 0.875 + -5.084 1.977 1.546 -4.750 2.207 -0.540 -3.948 2.524 -1.159 -5.544 + 1.050 -1.224 -6.378 0.672 -0.621 -5.972 1.346 -2.194 -4.867 0.218 + -1.430 -5.604 3.341 -0.520 -5.517 3.935 0.259 -3.628 0.607 1.092 + -2.411 0.497 1.142 -4.426 -0.441 1.218 -5.433 -0.288 1.157 -3.940 + -1.838 1.218 -2.881 -1.820 1.407 -4.736 -2.630 2.288 -4.810 -2.063 + 3.198 -5.720 -2.669 1.892 -4.202 -4.043 2.547 -4.816 -5.191 2.138 + -5.759 -5.281 1.626 -4.094 -6.241 2.638 -4.358 -7.199 2.534 -2.966 + -5.850 3.339 -1.970 -6.523 4.045 -1.963 -7.614 4.149 -0.906 -5.805 + 4.609 -0.147 -6.375 5.084 -0.944 -4.392 4.588 -0.247 -3.773 5.164 + -1.988 -3.767 3.937 -2.061 -2.717 3.979 -3.013 -4.452 3.314 -4.047 + -2.506 -0.199 -5.060 -2.356 -0.859 -3.031 -3.232 -0.639 -2.274 -3.400 + 0.050 -2.943 -3.785 -2.000 -3.947 -4.020 -2.350 -2.324 -2.678 -2.852 + -3.115 -1.943 -2.953 -1.437 -2.196 -2.347 -1.910 -3.051 -4.250 -1.119 + -3.667 -4.179 -2.758 -3.587 -4.713 -1.533 -1.768 -5.063 -0.510 -1.119 + -4.762 -2.274 -1.404 -5.995 -2.047 -5.029 -2.023 -0.898 -5.043 -1.569 + -2.565 -6.141 -2.557 -3.506 -6.107 -3.009 -1.790 -7.381 -2.739 -2.443 + -8.256 -2.974 -0.922 -7.262 -4.019 -0.213 -6.422 -3.891 -0.420 -8.212 + -4.266 -1.782 -6.869 -5.240 -2.880 -7.337 -5.443 -1.318 -5.967 -6.041 + -1.849 -5.823 -6.884 -0.322 -5.732 -5.983 -1.026 -7.903 -1.526 0.034 + -8.521 -1.684 -1.510 -7.658 -0.317 -2.409 -7.189 -0.278 -0.908 -7.949 + 0.984 -1.754 -8.014 1.642 -0.396 -8.891 0.994 0.158 -6.955 1.503 + 0.961 -7.254 2.387 0.235 -5.752 0.911 -0.459 -5.467 0.164 1.167 + -4.720 1.320 1.732 -4.966 2.242 2.136 -4.389 0.148 1.480 -4.273 + -0.700 2.625 -3.465 0.266 3.242 -5.495 -0.201 3.833 -5.078 -1.024 + 3.907 -5.718 0.694 2.570 -6.772 -0.766 2.217 -7.404 0.093 1.651 + -6.539 -1.309 3.443 -7.667 -1.600 3.640 -7.102 -2.512 4.368 -7.820 + -1.068 2.794 -8.955 -1.793 1.832 -8.850 -2.129 3.310 -9.500 -2.492 + 2.732 -9.445 -0.961 0.373 -3.418 1.530 -0.724 -3.118 0.961 1.019 + -2.480 2.269 1.982 -2.663 2.496 0.592 -1.074 2.204 -0.466 -1.159 + 2.268 1.073 -0.214 3.429 2.109 -0.370 3.621 0.886 0.829 3.309 + 0.530 -0.633 4.731 1.146 -1.283 5.730 2.208 -1.570 5.691 0.250 + -1.531 6.744 0.562 -1.844 7.656 -1.023 -1.084 6.411 -2.245 -1.119 + 7.108 -2.311 -1.521 8.089 -3.351 -0.502 6.516 -4.258 -0.513 7.019 + -3.249 0.119 5.267 -4.112 0.594 4.804 -1.991 0.142 4.622 -1.911 + 0.559 3.589 -0.842 -0.453 5.162 1.038 -0.416 0.861 2.144 -0.683 + 0.389 0.302 0.581 0.362 -0.656 0.683 0.765 0.566 1.233 -0.953 + 1.638 1.225 -1.169 -0.178 0.442 -2.050 0.169 -0.564 -1.877 -1.691 + 0.563 -2.069 -2.027 1.586 -1.955 -2.065 0.155 -2.997 -2.055 -0.080 + -1.298 0.213 0.816 -3.340 0.143 0.030 -3.947 0.074 2.667 -0.937 + -0.711 3.040 -0.078 0.476 3.530 -1.869 0.980 3.122 -2.630 -0.024 + 4.873 -2.123 -0.533 5.200 -1.236 1.136 5.798 -2.421 1.851 5.668 + -1.552 1.705 5.553 -3.255 0.787 7.217 -2.555 0.735 7.920 -3.681 + 0.914 7.504 -4.655 0.474 9.230 -3.445 0.402 9.906 -4.201 0.312 + 9.480 -2.120 0.019 10.610 -1.317 -0.215 11.587 -1.749 -0.061 10.544 + 0.086 -0.230 11.426 0.644 0.110 9.265 0.713 0.034 9.151 1.784 + 0.408 8.150 -0.099 0.648 7.236 0.453 0.506 8.215 -1.523 -1.037 + 4.828 -3.287 -0.833 4.168 -4.361 -2.132 5.566 -3.052 -2.247 5.976 + -2.132 -3.224 5.665 -4.054 -2.800 5.590 -5.101 -4.245 4.485 -3.819 + -4.606 4.425 -2.763 -5.134 4.647 -4.347 -3.802 3.141 -4.252 -2.864 + 2.815 -3.729 -4.654 2.497 -4.044 -3.510 2.929 -5.725 -4.393 3.183 + -6.314 -2.769 3.585 -6.070 -3.007 1.486 -5.991 -3.539 0.749 -5.465 + -3.093 1.305 -7.035 -1.605 1.249 -5.622 -1.417 1.595 -4.692 -1.395 + 0.202 -5.608 -0.974 1.723 -6.266 -3.951 7.046 -3.963 -3.778 7.776 + -2.957 -4.703 7.485 -5.005 -4.773 6.914 -5.858 -5.151 8.397 -4.925 + -2.761 9.120 -0.816 -2.976 8.517 -1.558 -1.787 9.281 -0.821 -3.185 + 10.001 -0.859 -3.244 8.592 0.420 -2.772 9.273 1.137 -4.794 8.570 + 0.513 -5.191 9.498 0.249 -5.225 7.809 -0.133 -5.095 8.355 1.927 + -6.020 8.079 2.052 -2.766 7.170 0.605 -2.455 6.519 -0.412 -2.745 + 6.587 1.840 -3.134 7.003 2.656 -2.446 5.179 1.978 -1.626 4.960 + 1.320 -1.873 4.967 3.414 -2.635 5.313 4.112 -1.606 3.866 3.675 + -0.715 5.835 3.747 -0.685 6.774 4.740 -1.497 6.955 5.484 0.588 + 7.355 4.748 0.886 7.959 5.498 1.392 6.898 3.717 2.681 7.214 + 3.304 3.186 8.024 3.695 3.253 6.440 2.309 4.298 6.559 2.109 + 2.516 5.458 1.681 3.034 4.848 0.861 1.227 5.076 2.069 0.798 + 4.145 1.704 0.603 5.839 3.109 -3.606 4.266 1.600 -4.761 4.700 + 1.614 -3.314 3.008 1.261 -2.342 2.802 1.017 -4.244 1.950 0.875 + -5.084 1.978 1.546 -4.750 2.207 -0.540 -3.949 2.523 -1.160 -5.544 + 1.049 -1.225 -6.378 0.671 -0.620 -5.971 1.347 -2.194 -4.866 0.218 + -1.430 -5.604 3.341 -0.519 -5.516 3.932 0.259 -3.627 0.607 1.092 + -2.411 0.497 1.141 -4.426 -0.441 1.218 -5.434 -0.287 1.158 -3.940 + -1.838 1.218 -2.881 -1.821 1.409 -4.736 -2.629 2.288 -4.810 -2.064 + 3.199 -5.720 -2.671 1.892 -4.202 -4.043 2.547 -4.815 -5.190 2.138 + -5.758 -5.281 1.625 -4.093 -6.241 2.638 -4.358 -7.199 2.533 -2.966 + -5.850 3.339 -1.971 -6.523 4.045 -1.963 -7.613 4.148 -0.906 -5.805 + 4.609 -0.146 -6.373 5.084 -0.944 -4.392 4.588 -0.247 -3.772 5.164 + -1.989 -3.767 3.938 -2.062 -2.717 3.980 -3.013 -4.451 3.314 -4.047 + -2.506 -0.199 -5.060 -2.355 -0.859 -3.031 -3.232 -0.639 -2.274 -3.401 + 0.047 -2.943 -3.785 -2.000 -3.947 -4.020 -2.351 -2.324 -2.678 -2.852 + -3.116 -1.944 -2.954 -1.438 -2.196 -2.346 -1.910 -3.051 -4.250 -1.118 + -3.666 -4.178 -2.757 -3.587 -4.713 -1.533 -1.768 -5.062 -0.510 -1.118 + -4.762 -2.274 -1.404 -5.996 -2.047 -5.029 -2.022 -0.898 -5.043 -1.568 + -2.565 -6.141 -2.558 -3.504 -6.106 -3.008 -1.790 -7.381 -2.739 -2.444 + -8.254 -2.973 -0.922 -7.262 -4.019 -0.212 -6.423 -3.890 -0.419 -8.211 + -4.265 -1.782 -6.869 -5.239 -2.880 -7.337 -5.443 -1.318 -5.966 -6.040 + -1.848 -5.822 -6.884 -0.323 -5.733 -5.983 -1.026 -7.903 -1.526 0.034 + -8.520 -1.684 -1.510 -7.658 -0.317 -2.409 -7.191 -0.279 -0.908 -7.949 + 0.984 -1.753 -8.013 1.642 -0.398 -8.892 0.993 0.158 -6.955 1.503 + 0.961 -7.254 2.388 0.236 -5.753 0.911 -0.457 -5.468 0.165 1.168 + -4.721 1.320 1.732 -4.967 2.243 2.136 -4.389 0.148 1.480 -4.274 + -0.699 2.623 -3.464 0.264 3.243 -5.495 -0.201 3.833 -5.078 -1.024 + 3.908 -5.718 0.694 2.570 -6.772 -0.766 2.218 -7.404 0.094 1.651 + -6.538 -1.310 3.443 -7.666 -1.600 3.640 -7.104 -2.513 4.367 -7.820 + -1.069 2.794 -8.955 -1.793 1.833 -8.849 -2.128 3.310 -9.500 -2.490 + 2.731 -9.445 -0.958 0.372 -3.418 1.530 -0.724 -3.118 0.961 1.019 + -2.481 2.269 1.983 -2.663 2.495 0.592 -1.074 2.204 -0.466 -1.159 + 2.267 1.073 -0.214 3.430 2.109 -0.370 3.619 0.886 0.829 3.308 + 0.530 -0.633 4.731 1.146 -1.283 5.730 2.207 -1.570 5.693 0.250 + -1.531 6.744 0.561 -1.843 7.656 -1.023 -1.084 6.410 -2.245 -1.120 + 7.107 -2.311 -1.521 8.088 -3.351 -0.503 6.515 -4.258 -0.513 7.019 + -3.249 0.119 5.267 -4.112 0.594 4.804 -1.991 0.142 4.622 -1.910 + 0.558 3.589 -0.842 -0.453 5.163 1.038 -0.416 0.861 2.145 -0.682 + 0.389 0.302 0.582 0.361 -0.654 0.683 0.765 0.566 1.233 -0.953 + 1.638 1.226 -1.169 -0.178 0.442 -2.049 0.167 -0.564 -1.876 -1.691 + 0.563 -2.070 -2.027 1.586 -1.955 -2.066 0.156 -2.997 -2.054 -0.079 + -1.298 0.212 0.815 -3.340 0.143 0.028 -3.945 0.074 2.667 -0.937 + -0.711 3.040 -0.078 0.475 3.530 -1.869 0.980 3.122 -2.630 -0.024 + 4.873 -2.123 -0.533 5.201 -1.236 1.136 5.798 -2.421 1.850 5.668 + -1.552 1.705 5.552 -3.256 0.787 7.218 -2.554 0.736 7.919 -3.681 + 0.915 7.504 -4.655 0.475 9.230 -3.445 0.402 9.906 -4.201 0.313 + 9.480 -2.120 0.019 10.610 -1.317 -0.215 11.586 -1.751 -0.060 10.543 + 0.087 -0.230 11.426 0.645 0.110 9.265 0.713 0.034 9.150 1.784 + 0.409 8.151 -0.099 0.648 7.236 0.451 0.506 8.215 -1.523 -1.037 + 4.828 -3.287 -0.834 4.167 -4.361 -2.132 5.566 -3.052 -2.247 5.976 + -2.132 -3.224 5.665 -4.054 -2.799 5.590 -5.100 -4.244 4.484 -3.819 + -4.603 4.425 -2.762 -5.133 4.648 -4.348 -3.801 3.141 -4.253 -2.864 + 2.814 -3.728 -4.654 2.497 -4.044 -3.510 2.929 -5.726 -4.393 3.183 + -6.315 -2.768 3.585 -6.070 -3.007 1.486 -5.991 -3.540 0.749 -5.466 + -3.093 1.304 -7.035 -1.605 1.248 -5.622 -1.416 1.596 -4.691 -1.397 + 0.203 -5.608 -0.974 1.721 -6.266 -3.951 7.046 -3.964 -3.778 7.776 + -2.957 -4.703 7.486 -5.005 -4.774 6.917 -5.858 -5.152 8.398 -4.927 + -2.761 9.120 -0.817 -2.976 8.516 -1.560 -1.786 9.281 -0.820 -3.187 + 10.000 -0.861 -3.244 8.592 0.420 -2.773 9.273 1.138 -4.795 8.569 + 0.513 -5.192 9.496 0.247 -5.224 7.808 -0.133 -5.095 8.355 1.926 + -6.018 8.079 2.052 -2.766 7.169 0.606 -2.455 6.518 -0.412 -2.745 + 6.587 1.841 -3.135 7.005 2.656 -2.446 5.179 1.978 -1.626 4.960 + 1.319 -1.873 4.967 3.414 -2.635 5.313 4.112 -1.607 3.866 3.675 + -0.715 5.835 3.747 -0.684 6.774 4.740 -1.496 6.954 5.484 0.588 + 7.354 4.748 0.888 7.958 5.499 1.391 6.898 3.717 2.681 7.215 + 3.304 3.185 8.025 3.695 3.253 6.440 2.310 4.297 6.558 2.109 + 2.516 5.458 1.680 3.034 4.848 0.863 1.227 5.076 2.070 0.799 + 4.144 1.704 0.604 5.839 3.109 -3.606 4.266 1.599 -4.761 4.700 + 1.613 -3.313 3.008 1.260 -2.343 2.804 1.016 -4.244 1.950 0.875 + -5.084 1.978 1.546 -4.750 2.207 -0.540 -3.949 2.523 -1.160 -5.543 + 1.048 -1.225 -6.377 0.671 -0.620 -5.971 1.348 -2.195 -4.866 0.217 + -1.430 -5.605 3.341 -0.519 -5.515 3.929 0.259 -3.626 0.607 1.092 + -2.411 0.497 1.141 -4.426 -0.440 1.219 -5.434 -0.286 1.158 -3.939 + -1.837 1.218 -2.882 -1.821 1.410 -4.736 -2.629 2.288 -4.811 -2.064 + 3.199 -5.719 -2.673 1.891 -4.202 -4.043 2.547 -4.815 -5.189 2.137 + -5.758 -5.280 1.623 -4.093 -6.241 2.637 -4.358 -7.200 2.532 -2.966 + -5.850 3.339 -1.971 -6.522 4.045 -1.963 -7.612 4.148 -0.906 -5.804 + 4.609 -0.145 -6.372 5.084 -0.943 -4.392 4.589 -0.247 -3.772 5.165 + -1.989 -3.767 3.938 -2.063 -2.717 3.981 -3.013 -4.451 3.314 -4.047 + -2.505 -0.198 -5.060 -2.355 -0.860 -3.031 -3.231 -0.639 -2.275 -3.402 + 0.044 -2.943 -3.785 -1.999 -3.947 -4.020 -2.352 -2.324 -2.678 -2.852 + -3.117 -1.944 -2.954 -1.439 -2.196 -2.344 -1.910 -3.050 -4.250 -1.117 + -3.665 -4.178 -2.756 -3.587 -4.712 -1.533 -1.769 -5.062 -0.510 -1.118 + -4.763 -2.274 -1.404 -5.996 -2.048 -5.029 -2.022 -0.899 -5.043 -1.568 + -2.565 -6.141 -2.558 -3.503 -6.106 -3.008 -1.790 -7.382 -2.739 -2.445 + -8.253 -2.972 -0.922 -7.262 -4.018 -0.211 -6.424 -3.889 -0.419 -8.210 + -4.264 -1.782 -6.869 -5.239 -2.880 -7.337 -5.444 -1.318 -5.966 -6.039 + -1.847 -5.822 -6.885 -0.324 -5.734 -5.983 -1.026 -7.903 -1.526 0.034 + -8.520 -1.684 -1.510 -7.659 -0.316 -2.409 -7.192 -0.280 -0.907 -7.949 + 0.985 -1.753 -8.012 1.643 -0.399 -8.892 0.993 0.157 -6.954 1.503 + 0.962 -7.253 2.388 0.236 -5.753 0.911 -0.456 -5.470 0.166 1.168 + -4.721 1.320 1.731 -4.968 2.243 2.136 -4.389 0.148 1.481 -4.275 + -0.698 2.621 -3.464 0.263 3.243 -5.494 -0.201 3.833 -5.077 -1.024 + 3.908 -5.718 0.693 2.570 -6.772 -0.766 2.219 -7.403 0.094 1.652 + -6.537 -1.310 3.443 -7.666 -1.601 3.639 -7.106 -2.515 4.366 -7.821 + -1.069 2.794 -8.955 -1.793 1.833 -8.848 -2.128 3.310 -9.499 -2.488 + 2.730 -9.445 -0.955 0.372 -3.418 1.530 -0.724 -3.118 0.961 1.020 + -2.481 2.269 1.984 -2.664 2.493 0.593 -1.075 2.204 -0.465 -1.159 + 2.267 1.073 -0.214 3.430 2.108 -0.369 3.616 0.886 0.829 3.307 + 0.529 -0.632 4.731 1.146 -1.284 5.730 2.206 -1.570 5.695 0.250 + -1.531 6.744 0.560 -1.842 7.657 -1.023 -1.085 6.410 -2.245 -1.120 + 7.107 -2.311 -1.522 8.088 -3.351 -0.503 6.515 -4.259 -0.513 7.019 + -3.249 0.118 5.267 -4.112 0.594 4.804 -1.991 0.143 4.622 -1.910 + 0.558 3.589 -0.842 -0.453 5.163 1.037 -0.416 0.861 2.145 -0.682 + 0.389 0.302 0.582 0.361 -0.652 0.682 0.764 0.566 1.233 -0.954 + 1.639 1.226 -1.169 -0.177 0.442 -2.049 0.166 -0.564 -1.876 -1.691 + 0.563 -2.070 -2.027 1.587 -1.956 -2.066 0.158 -2.998 -2.055 -0.077 + -1.297 0.212 0.814 -3.340 0.142 0.026 -3.942 0.074 2.668 -0.937 + -0.711 3.039 -0.078 0.475 3.531 -1.869 0.979 3.121 -2.631 -0.025 + 4.874 -2.123 -0.533 5.201 -1.236 1.136 5.798 -2.421 1.850 5.669 + -1.553 1.705 5.551 -3.257 0.787 7.218 -2.554 0.736 7.919 -3.681 + 0.915 7.504 -4.656 0.475 9.230 -3.446 0.403 9.905 -4.200 0.313 + 9.481 -2.120 0.019 10.610 -1.316 -0.214 11.585 -1.752 -0.060 10.543 + 0.087 -0.230 11.425 0.646 0.110 9.265 0.713 0.034 9.148 1.785 + 0.409 8.151 -0.098 0.649 7.235 0.448 0.507 8.215 -1.523 -1.037 + 4.829 -3.287 -0.834 4.167 -4.361 -2.131 5.567 -3.052 -2.248 5.977 + -2.131 -3.223 5.665 -4.054 -2.798 5.590 -5.099 -4.244 4.484 -3.818 + -4.601 4.425 -2.761 -5.133 4.650 -4.349 -3.801 3.141 -4.254 -2.865 + 2.814 -3.727 -4.654 2.496 -4.044 -3.510 2.929 -5.726 -4.392 3.183 + -6.316 -2.768 3.585 -6.070 -3.007 1.486 -5.991 -3.541 0.750 -5.466 + -3.093 1.304 -7.035 -1.605 1.248 -5.622 -1.415 1.598 -4.690 -1.398 + 0.204 -5.608 -0.974 1.719 -6.265 -3.951 7.046 -3.964 -3.779 7.775 + -2.957 -4.702 7.486 -5.005 -4.775 6.919 -5.858 -5.152 8.398 -4.929 + -2.761 9.120 -0.817 -2.977 8.515 -1.562 -1.786 9.281 -0.819 -3.189 + 9.999 -0.864 -3.244 8.592 0.419 -2.775 9.273 1.139 -4.795 8.568 + 0.513 -5.193 9.495 0.245 -5.224 7.807 -0.133 -5.095 8.355 1.926 + -6.016 8.078 2.052 -2.766 7.169 0.606 -2.455 6.518 -0.412 -2.745 + 6.587 1.841 -3.136 7.007 2.656 -2.446 5.179 1.979 -1.627 4.959 + 1.318 -1.873 4.967 3.415 -2.634 5.314 4.112 -1.608 3.867 3.675 + -0.715 5.835 3.747 -0.683 6.774 4.739 -1.495 6.954 5.484 0.588 + 7.354 4.748 0.890 7.957 5.500 1.390 6.898 3.717 2.682 7.215 + 3.303 3.185 8.027 3.695 3.253 6.441 2.311 4.297 6.556 2.108 + 2.516 5.458 1.680 3.034 4.849 0.864 1.226 5.076 2.070 0.801 + 4.144 1.703 0.604 5.839 3.108 -3.607 4.266 1.599 -4.761 4.700 + 1.613 -3.313 3.008 1.259 -2.343 2.806 1.015 -4.244 1.951 0.875 + -5.084 1.979 1.546 -4.750 2.208 -0.540 -3.949 2.522 -1.161 -5.543 + 1.048 -1.225 -6.377 0.670 -0.620 -5.970 1.348 -2.195 -4.866 0.217 + -1.430 -5.605 3.341 -0.519 -5.514 3.926 0.259 -3.626 0.607 1.092 + -2.411 0.497 1.141 -4.426 -0.440 1.219 -5.434 -0.286 1.159 -3.939 + -1.836 1.218 -2.883 -1.821 1.412 -4.735 -2.628 2.288 -4.811 -2.065 + 3.200 -5.719 -2.674 1.891 -4.202 -4.043 2.547 -4.814 -5.189 2.136 + -5.757 -5.280 1.622 -4.092 -6.241 2.637 -4.357 -7.200 2.531 -2.966 + -5.850 3.339 -1.971 -6.522 4.045 -1.963 -7.611 4.148 -0.905 -5.804 + 4.609 -0.144 -6.370 5.085 -0.943 -4.392 4.590 -0.248 -3.772 5.166 + -1.990 -3.766 3.939 -2.064 -2.717 3.982 -3.014 -4.451 3.314 -4.047 + -2.504 -0.198 -5.060 -2.355 -0.860 -3.031 -3.231 -0.639 -2.275 -3.404 + 0.041 -2.943 -3.785 -1.999 -3.947 -4.021 -2.354 -2.325 -2.677 -2.852 + -3.118 -1.945 -2.955 -1.440 -2.196 -2.343 -1.910 -3.050 -4.249 -1.116 + -3.665 -4.177 -2.755 -3.587 -4.712 -1.533 -1.769 -5.061 -0.509 -1.118 + -4.763 -2.274 -1.405 -5.996 -2.048 -5.029 -2.022 -0.899 -5.044 -1.568 + -2.566 -6.141 -2.558 -3.502 -6.106 -3.007 -1.790 -7.382 -2.739 -2.447 + -8.251 -2.971 -0.922 -7.262 -4.018 -0.211 -6.425 -3.889 -0.418 -8.209 + -4.263 -1.782 -6.869 -5.238 -2.879 -7.337 -5.444 -1.318 -5.965 -6.038 + -1.847 -5.822 -6.885 -0.325 -5.735 -5.983 -1.026 -7.903 -1.526 0.033 + -8.520 -1.684 -1.510 -7.659 -0.316 -2.410 -7.193 -0.281 -0.907 -7.949 + 0.985 -1.752 -8.011 1.644 -0.401 -8.893 0.992 0.157 -6.954 1.503 + 0.962 -7.252 2.389 0.236 -5.753 0.911 -0.454 -5.471 0.167 1.169 + -4.721 1.320 1.731 -4.969 2.244 2.135 -4.389 0.148 1.481 -4.275 + -0.698 2.619 -3.463 0.262 3.243 -5.494 -0.201 3.833 -5.077 -1.023 + 3.909 -5.718 0.693 2.570 -6.772 -0.766 2.220 -7.403 0.094 1.652 + -6.536 -1.311 3.443 -7.665 -1.601 3.638 -7.107 -2.516 4.366 -7.821 + -1.070 2.793 -8.955 -1.793 1.833 -8.847 -2.127 3.310 -9.499 -2.486 + 2.729 -9.446 -0.953 0.371 -3.418 1.530 -0.724 -3.118 0.961 1.020 + -2.482 2.268 1.985 -2.664 2.492 0.593 -1.076 2.205 -0.465 -1.159 + 2.266 1.072 -0.214 3.431 2.108 -0.368 3.613 0.885 0.830 3.306 + 0.529 -0.632 4.731 1.146 -1.284 5.730 2.205 -1.571 5.697 0.250 + -1.531 6.743 0.559 -1.841 7.658 -1.023 -1.085 6.409 -2.245 -1.120 + 7.106 -2.311 -1.522 8.087 -3.351 -0.503 6.514 -4.260 -0.512 7.019 + -3.248 0.118 5.267 -4.112 0.594 4.804 -1.991 0.143 4.622 -1.909 + 0.557 3.590 -0.842 -0.453 5.163 1.037 -0.416 0.861 2.145 -0.681 + 0.390 0.303 0.582 0.361 -0.650 0.682 0.764 0.567 1.233 -0.954 + 1.639 1.226 -1.170 -0.177 0.442 -2.049 0.164 -0.564 -1.876 -1.691 + 0.563 -2.070 -2.027 1.587 -1.956 -2.067 0.159 -2.999 -2.055 -0.075 + -1.297 0.212 0.814 -3.341 0.141 0.024 -3.940 0.075 2.668 -0.937 + -0.710 3.039 -0.078 0.475 3.531 -1.868 0.979 3.121 -2.631 -0.025 + 4.874 -2.123 -0.533 5.202 -1.236 1.136 5.798 -2.421 1.849 5.670 + -1.553 1.704 5.549 -3.258 0.787 7.219 -2.554 0.736 7.919 -3.681 + 0.915 7.503 -4.656 0.476 9.230 -3.446 0.403 9.904 -4.200 0.314 + 9.481 -2.120 0.020 10.610 -1.316 -0.214 11.583 -1.754 -0.059 10.542 + 0.087 -0.230 11.424 0.647 0.110 9.265 0.713 0.034 9.147 1.786 + 0.410 8.152 -0.098 0.649 7.235 0.446 0.507 8.214 -1.523 -1.037 + 4.829 -3.287 -0.835 4.167 -4.361 -2.131 5.567 -3.052 -2.249 5.977 + -2.131 -3.223 5.665 -4.054 -2.797 5.591 -5.098 -4.243 4.484 -3.817 + -4.598 4.425 -2.761 -5.133 4.651 -4.351 -3.801 3.141 -4.255 -2.866 + 2.814 -3.726 -4.654 2.496 -4.044 -3.509 2.930 -5.727 -4.392 3.182 + -6.317 -2.767 3.586 -6.070 -3.007 1.485 -5.991 -3.543 0.750 -5.466 + -3.093 1.303 -7.035 -1.605 1.247 -5.622 -1.413 1.599 -4.690 -1.400 + 0.206 -5.608 -0.975 1.717 -6.265 -3.952 7.046 -3.964 -3.779 7.775 + -2.956 -4.702 7.487 -5.005 -4.776 6.922 -5.858 -5.152 8.399 -4.930 + -2.761 9.120 -0.818 -2.977 8.514 -1.565 -1.785 9.282 -0.818 -3.192 + 9.998 -0.867 -3.244 8.591 0.419 -2.777 9.273 1.140 -4.795 8.567 + 0.512 -5.194 9.494 0.243 -5.224 7.805 -0.133 -5.095 8.355 1.926 + -6.014 8.077 2.052 -2.766 7.169 0.607 -2.456 6.518 -0.411 -2.746 + 6.587 1.841 -3.138 7.009 2.656 -2.446 5.179 1.979 -1.627 4.959 + 1.318 -1.873 4.968 3.415 -2.634 5.314 4.112 -1.609 3.867 3.675 + -0.715 5.836 3.747 -0.683 6.775 4.739 -1.494 6.953 5.484 0.588 + 7.354 4.749 0.892 7.957 5.500 1.389 6.897 3.716 2.683 7.216 + 3.302 3.185 8.029 3.696 3.253 6.441 2.311 4.297 6.554 2.107 + 2.516 5.458 1.680 3.035 4.850 0.866 1.226 5.075 2.070 0.802 + 4.144 1.703 0.605 5.840 3.108 -3.607 4.266 1.598 -4.761 4.700 + 1.613 -3.313 3.008 1.259 -2.344 2.808 1.014 -4.243 1.951 0.874 + -5.083 1.980 1.546 -4.750 2.208 -0.540 -3.949 2.522 -1.162 -5.543 + 1.047 -1.226 -6.376 0.670 -0.620 -5.969 1.349 -2.195 -4.866 0.217 + -1.429 -5.605 3.341 -0.518 -5.513 3.923 0.259 -3.625 0.608 1.092 + -2.410 0.498 1.141 -4.426 -0.439 1.219 -5.434 -0.285 1.159 -3.939 + -1.836 1.217 -2.883 -1.822 1.414 -4.735 -2.628 2.288 -4.812 -2.065 + 3.201 -5.719 -2.676 1.890 -4.202 -4.044 2.547 -4.814 -5.188 2.136 + -5.756 -5.279 1.621 -4.092 -6.241 2.636 -4.357 -7.200 2.530 -2.966 + -5.850 3.339 -1.971 -6.522 4.045 -1.963 -7.610 4.148 -0.905 -5.804 + 4.609 -0.143 -6.368 5.085 -0.943 -4.393 4.591 -0.248 -3.772 5.167 + -1.990 -3.766 3.939 -2.065 -2.716 3.983 -3.014 -4.450 3.314 -4.047 + -2.504 -0.198 -5.060 -2.354 -0.860 -3.031 -3.230 -0.639 -2.275 -3.405 + 0.038 -2.942 -3.786 -1.999 -3.947 -4.021 -2.355 -2.325 -2.677 -2.852 + -3.119 -1.945 -2.956 -1.441 -2.197 -2.342 -1.910 -3.050 -4.249 -1.115 + -3.665 -4.177 -2.754 -3.587 -4.711 -1.533 -1.769 -5.061 -0.509 -1.117 + -4.764 -2.274 -1.405 -5.997 -2.048 -5.029 -2.022 -0.899 -5.044 -1.568 + -2.566 -6.141 -2.559 -3.500 -6.105 -3.006 -1.790 -7.382 -2.739 -2.448 + -8.250 -2.969 -0.922 -7.262 -4.018 -0.210 -6.426 -3.888 -0.417 -8.208 + -4.262 -1.781 -6.870 -5.237 -2.879 -7.337 -5.445 -1.317 -5.965 -6.037 + -1.846 -5.821 -6.886 -0.326 -5.735 -5.984 -1.026 -7.903 -1.526 0.033 + -8.519 -1.684 -1.510 -7.659 -0.316 -2.410 -7.194 -0.282 -0.907 -7.949 + 0.985 -1.752 -8.010 1.644 -0.402 -8.893 0.992 0.157 -6.954 1.502 + 0.962 -7.252 2.389 0.236 -5.754 0.911 -0.452 -5.472 0.168 1.169 + -4.721 1.320 1.730 -4.969 2.244 2.135 -4.389 0.148 1.481 -4.276 + -0.697 2.617 -3.462 0.262 3.244 -5.493 -0.201 3.833 -5.077 -1.023 + 3.909 -5.719 0.692 2.571 -6.772 -0.766 2.222 -7.402 0.094 1.653 + -6.535 -1.311 3.443 -7.665 -1.601 3.638 -7.109 -2.517 4.365 -7.821 + -1.070 2.793 -8.956 -1.792 1.834 -8.846 -2.127 3.310 -9.499 -2.484 + 2.728 -9.446 -0.950 0.371 -3.419 1.531 -0.724 -3.118 0.960 1.021 + -2.483 2.268 1.986 -2.664 2.491 0.593 -1.077 2.205 -0.465 -1.158 + 2.266 1.072 -0.214 3.431 2.108 -0.368 3.610 0.885 0.830 3.305 + 0.529 -0.632 4.731 1.147 -1.284 5.730 2.203 -1.571 5.699 0.250 + -1.531 6.743 0.559 -1.840 7.658 -1.023 -1.086 6.409 -2.245 -1.121 + 7.106 -2.311 -1.523 8.087 -3.351 -0.504 6.514 -4.261 -0.512 7.019 + -3.248 0.118 5.266 -4.112 0.594 4.803 -1.991 0.143 4.621 -1.908 + 0.557 3.591 -0.842 -0.453 5.164 1.037 -0.416 0.861 2.146 -0.681 + 0.390 0.303 0.582 0.361 -0.648 0.681 0.763 0.567 1.233 -0.954 + 1.639 1.227 -1.170 -0.176 0.442 -2.049 0.162 -0.565 -1.876 -1.691 + 0.564 -2.070 -2.027 1.587 -1.956 -2.067 0.160 -3.000 -2.055 -0.074 + -1.296 0.212 0.813 -3.341 0.141 0.022 -3.938 0.075 2.668 -0.938 + -0.710 3.039 -0.078 0.475 3.532 -1.868 0.978 3.120 -2.632 -0.026 + 4.874 -2.123 -0.533 5.203 -1.236 1.136 5.799 -2.421 1.849 5.671 + -1.553 1.704 5.547 -3.259 0.787 7.219 -2.553 0.736 7.918 -3.681 + 0.915 7.503 -4.657 0.477 9.230 -3.446 0.403 9.903 -4.200 0.314 + 9.481 -2.120 0.020 10.610 -1.315 -0.214 11.582 -1.755 -0.059 10.542 + 0.087 -0.230 11.424 0.647 0.110 9.265 0.713 0.034 9.146 1.787 + 0.410 8.152 -0.098 0.649 7.235 0.443 0.508 8.214 -1.523 -1.037 + 4.829 -3.287 -0.835 4.166 -4.361 -2.131 5.567 -3.052 -2.249 5.978 + -2.130 -3.223 5.665 -4.053 -2.797 5.591 -5.097 -4.243 4.484 -3.817 + -4.595 4.425 -2.760 -5.132 4.652 -4.352 -3.800 3.141 -4.255 -2.867 + 2.814 -3.725 -4.654 2.496 -4.044 -3.509 2.930 -5.727 -4.391 3.182 + -6.317 -2.767 3.586 -6.070 -3.006 1.485 -5.991 -3.545 0.750 -5.467 + -3.093 1.303 -7.035 -1.605 1.246 -5.622 -1.412 1.600 -4.689 -1.402 + 0.208 -5.609 -0.975 1.715 -6.264 -3.952 7.047 -3.964 -3.779 7.775 + -2.956 -4.702 7.487 -5.005 -4.777 6.925 -5.858 -5.153 8.399 -4.932 + -2.761 9.119 -0.818 -2.977 8.513 -1.567 -1.785 9.282 -0.817 -3.194 + 9.998 -0.870 -3.244 8.591 0.419 -2.778 9.273 1.141 -4.796 8.566 + 0.512 -5.195 9.493 0.241 -5.223 7.804 -0.133 -5.095 8.355 1.926 + -6.012 8.077 2.052 -2.766 7.169 0.607 -2.456 6.517 -0.411 -2.746 + 6.587 1.842 -3.139 7.011 2.656 -2.446 5.179 1.979 -1.628 4.959 + 1.317 -1.872 4.968 3.415 -2.634 5.315 4.112 -1.609 3.868 3.674 + -0.715 5.836 3.747 -0.682 6.775 4.739 -1.492 6.952 5.483 0.588 + 7.354 4.749 0.894 7.956 5.501 1.388 6.897 3.716 2.683 7.216 + 3.301 3.185 8.031 3.696 3.253 6.441 2.312 4.297 6.552 2.107 + 2.516 5.458 1.679 3.035 4.851 0.868 1.226 5.075 2.071 0.804 + 4.145 1.702 0.606 5.840 3.108 -3.607 4.267 1.598 -4.761 4.700 + 1.613 -3.312 3.008 1.258 -2.345 2.809 1.013 -4.243 1.951 0.874 + -5.083 1.980 1.546 -4.750 2.208 -0.540 -3.949 2.522 -1.162 -5.543 + 1.046 -1.226 -6.376 0.670 -0.619 -5.969 1.349 -2.196 -4.866 0.216 + -1.429 -5.605 3.341 -0.518 -5.512 3.919 0.259 -3.624 0.608 1.092 + -2.410 0.498 1.140 -4.426 -0.439 1.220 -5.435 -0.285 1.160 -3.939 + -1.835 1.217 -2.884 -1.822 1.415 -4.735 -2.627 2.288 -4.812 -2.065 + 3.201 -5.719 -2.678 1.890 -4.202 -4.044 2.547 -4.813 -5.188 2.135 + -5.755 -5.279 1.619 -4.091 -6.241 2.636 -4.356 -7.200 2.530 -2.966 + -5.850 3.339 -1.971 -6.522 4.045 -1.963 -7.609 4.148 -0.905 -5.803 + 4.609 -0.142 -6.366 5.085 -0.943 -4.393 4.592 -0.248 -3.771 5.167 + -1.990 -3.766 3.940 -2.066 -2.716 3.983 -3.014 -4.450 3.315 -4.046 + -2.503 -0.197 -5.060 -2.354 -0.861 -3.030 -3.230 -0.639 -2.275 -3.406 + 0.035 -2.942 -3.786 -1.999 -3.947 -4.021 -2.357 -2.325 -2.677 -2.852 + -3.120 -1.946 -2.956 -1.443 -2.197 -2.341 -1.909 -3.050 -4.248 -1.114 + -3.665 -4.176 -2.753 -3.587 -4.711 -1.533 -1.769 -5.060 -0.509 -1.117 + -4.764 -2.274 -1.405 -5.997 -2.049 -5.029 -2.022 -0.899 -5.045 -1.568 + -2.567 -6.141 -2.559 -3.499 -6.105 -3.005 -1.790 -7.382 -2.739 -2.450 + -8.248 -2.968 -0.923 -7.262 -4.018 -0.209 -6.427 -3.887 -0.416 -8.207 + -4.261 -1.781 -6.870 -5.237 -2.879 -7.337 -5.445 -1.317 -5.964 -6.037 + -1.846 -5.821 -6.886 -0.327 -5.736 -5.984 -1.025 -7.903 -1.526 0.033 + -8.519 -1.684 -1.510 -7.659 -0.316 -2.410 -7.196 -0.283 -0.907 -7.949 + 0.986 -1.752 -8.009 1.645 -0.404 -8.894 0.991 0.156 -6.954 1.502 + 0.962 -7.251 2.390 0.236 -5.754 0.910 -0.451 -5.474 0.170 1.170 + -4.722 1.320 1.730 -4.970 2.244 2.135 -4.389 0.148 1.481 -4.277 + -0.697 2.615 -3.461 0.261 3.244 -5.493 -0.201 3.833 -5.076 -1.023 + 3.910 -5.719 0.691 2.571 -6.772 -0.765 2.223 -7.401 0.095 1.654 + -6.534 -1.312 3.443 -7.664 -1.601 3.637 -7.110 -2.519 4.365 -7.821 + -1.070 2.793 -8.956 -1.792 1.834 -8.845 -2.126 3.310 -9.499 -2.482 + 2.727 -9.446 -0.947 0.370 -3.419 1.531 -0.724 -3.117 0.960 1.021 + -2.484 2.268 1.987 -2.664 2.490 0.593 -1.077 2.205 -0.465 -1.158 + 2.265 1.072 -0.214 3.432 2.108 -0.367 3.607 0.885 0.831 3.305 + 0.528 -0.632 4.731 1.147 -1.284 5.730 2.202 -1.571 5.701 0.250 + -1.531 6.743 0.558 -1.839 7.659 -1.023 -1.086 6.409 -2.245 -1.121 + 7.105 -2.311 -1.524 8.087 -3.351 -0.504 6.513 -4.262 -0.511 7.020 + -3.248 0.118 5.266 -4.111 0.594 4.803 -1.991 0.144 4.621 -1.908 + 0.556 3.591 -0.842 -0.453 5.164 1.036 -0.417 0.861 2.146 -0.681 + 0.390 0.303 0.583 0.361 -0.646 0.681 0.762 0.567 1.233 -0.954 + 1.640 1.227 -1.170 -0.176 0.443 -2.048 0.161 -0.565 -1.876 -1.691 + 0.564 -2.071 -2.027 1.588 -1.957 -2.068 0.161 -3.001 -2.055 -0.072 + -1.296 0.212 0.813 -3.341 0.140 0.020 -3.935 0.075 2.668 -0.938 + -0.710 3.038 -0.078 0.475 3.532 -1.868 0.978 3.120 -2.632 -0.026 + 4.874 -2.123 -0.533 5.203 -1.236 1.136 5.799 -2.421 1.848 5.672 + -1.554 1.704 5.546 -3.261 0.786 7.219 -2.553 0.736 7.918 -3.681 + 0.915 7.502 -4.658 0.477 9.230 -3.446 0.403 9.902 -4.200 0.315 + 9.482 -2.119 0.021 10.610 -1.315 -0.213 11.581 -1.757 -0.059 10.541 + 0.088 -0.230 11.423 0.648 0.109 9.265 0.713 0.034 9.144 1.787 + 0.411 8.152 -0.098 0.649 7.234 0.441 0.508 8.213 -1.523 -1.037 + 4.829 -3.287 -0.836 4.166 -4.360 -2.130 5.567 -3.052 -2.250 5.978 + -2.130 -3.223 5.666 -4.053 -2.796 5.591 -5.095 -4.242 4.484 -3.816 + -4.592 4.425 -2.760 -5.132 4.653 -4.353 -3.800 3.140 -4.256 -2.868 + 2.814 -3.724 -4.654 2.495 -4.043 -3.509 2.930 -5.728 -4.391 3.181 + -6.318 -2.766 3.586 -6.070 -3.006 1.485 -5.992 -3.546 0.751 -5.467 + -3.093 1.302 -7.035 -1.605 1.246 -5.621 -1.411 1.602 -4.688 -1.403 + 0.210 -5.609 -0.976 1.713 -6.264 -3.952 7.047 -3.965 -3.779 7.775 + -2.956 -4.702 7.488 -5.005 -4.779 6.927 -5.858 -5.153 8.399 -4.934 + -2.761 9.119 -0.819 -2.978 8.512 -1.569 -1.784 9.282 -0.816 -3.196 + 9.997 -0.873 -3.244 8.591 0.418 -2.780 9.273 1.142 -4.796 8.565 + 0.512 -5.196 9.493 0.239 -5.223 7.803 -0.134 -5.095 8.355 1.925 + -6.011 8.076 2.052 -2.765 7.169 0.608 -2.456 6.517 -0.410 -2.746 + 6.587 1.842 -3.141 7.013 2.656 -2.445 5.179 1.979 -1.628 4.958 + 1.316 -1.872 4.968 3.415 -2.634 5.315 4.112 -1.610 3.869 3.674 + -0.715 5.836 3.747 -0.682 6.775 4.739 -1.491 6.951 5.483 0.588 + 7.354 4.749 0.896 7.955 5.502 1.387 6.897 3.716 2.684 7.216 + 3.301 3.185 8.033 3.697 3.253 6.442 2.313 4.296 6.550 2.106 + 2.516 5.458 1.679 3.035 4.852 0.870 1.226 5.075 2.071 0.805 + 4.145 1.702 0.607 5.841 3.107 -3.608 4.267 1.597 -4.761 4.700 + 1.613 -3.312 3.009 1.258 -2.345 2.811 1.012 -4.243 1.951 0.874 + -5.083 1.981 1.546 -4.750 2.208 -0.540 -3.948 2.521 -1.163 -5.542 + 1.046 -1.226 -6.375 0.670 -0.619 -5.968 1.350 -2.196 -4.866 0.216 + -1.429 -5.605 3.341 -0.518 -5.511 3.916 0.259 -3.624 0.608 1.092 + -2.410 0.498 1.140 -4.426 -0.438 1.220 -5.435 -0.284 1.160 -3.939 + -1.835 1.217 -2.884 -1.823 1.417 -4.735 -2.627 2.288 -4.813 -2.065 + 3.202 -5.719 -2.680 1.889 -4.202 -4.044 2.547 -4.812 -5.187 2.134 + -5.754 -5.278 1.618 -4.090 -6.240 2.636 -4.356 -7.201 2.529 -2.965 + -5.850 3.339 -1.972 -6.522 4.045 -1.963 -7.608 4.147 -0.905 -5.803 + 4.609 -0.141 -6.364 5.086 -0.943 -4.393 4.593 -0.248 -3.771 5.168 + -1.991 -3.766 3.940 -2.067 -2.715 3.984 -3.015 -4.450 3.315 -4.046 + -2.503 -0.197 -5.061 -2.353 -0.861 -3.030 -3.230 -0.639 -2.275 -3.408 + 0.032 -2.942 -3.786 -1.999 -3.946 -4.021 -2.358 -2.326 -2.676 -2.852 + -3.121 -1.946 -2.957 -1.445 -2.197 -2.339 -1.909 -3.049 -4.248 -1.112 + -3.665 -4.175 -2.752 -3.586 -4.710 -1.533 -1.770 -5.060 -0.509 -1.117 + -4.764 -2.274 -1.405 -5.997 -2.049 -5.029 -2.022 -0.900 -5.045 -1.567 + -2.567 -6.140 -2.559 -3.497 -6.105 -3.005 -1.790 -7.382 -2.739 -2.451 + -8.246 -2.966 -0.923 -7.262 -4.018 -0.209 -6.428 -3.886 -0.415 -8.206 + -4.259 -1.781 -6.870 -5.236 -2.879 -7.338 -5.446 -1.317 -5.964 -6.036 + -1.845 -5.820 -6.887 -0.328 -5.737 -5.984 -1.025 -7.903 -1.526 0.032 + -8.519 -1.684 -1.510 -7.660 -0.316 -2.410 -7.197 -0.284 -0.907 -7.949 + 0.986 -1.751 -8.007 1.646 -0.406 -8.895 0.991 0.156 -6.953 1.502 + 0.962 -7.250 2.391 0.236 -5.755 0.910 -0.449 -5.475 0.171 1.170 + -4.722 1.320 1.729 -4.971 2.244 2.134 -4.390 0.148 1.481 -4.278 + -0.696 2.613 -3.460 0.260 3.244 -5.492 -0.201 3.833 -5.076 -1.022 + 3.910 -5.719 0.690 2.571 -6.771 -0.765 2.224 -7.401 0.095 1.654 + -6.533 -1.313 3.443 -7.664 -1.601 3.637 -7.112 -2.520 4.365 -7.821 + -1.071 2.792 -8.956 -1.792 1.835 -8.844 -2.126 3.310 -9.498 -2.479 + 2.726 -9.446 -0.943 0.370 -3.419 1.531 -0.724 -3.117 0.960 1.022 + -2.484 2.267 1.989 -2.664 2.488 0.593 -1.078 2.205 -0.465 -1.158 + 2.264 1.072 -0.214 3.432 2.108 -0.366 3.604 0.885 0.831 3.304 + 0.528 -0.631 4.731 1.147 -1.285 5.729 2.200 -1.572 5.703 0.250 + -1.531 6.743 0.557 -1.838 7.660 -1.022 -1.086 6.408 -2.245 -1.121 + 7.105 -2.312 -1.524 8.086 -3.351 -0.504 6.512 -4.263 -0.511 7.020 + -3.248 0.118 5.266 -4.112 0.594 4.803 -1.991 0.144 4.621 -1.907 + 0.556 3.592 -0.842 -0.454 5.165 1.036 -0.417 0.861 2.147 -0.680 + 0.390 0.303 0.583 0.361 -0.644 0.680 0.761 0.568 1.233 -0.954 + 1.640 1.228 -1.170 -0.176 0.443 -2.048 0.159 -0.565 -1.876 -1.690 + 0.564 -2.071 -2.027 1.588 -1.957 -2.068 0.161 -3.001 -2.055 -0.070 + -1.295 0.212 0.812 -3.341 0.139 0.018 -3.932 0.075 2.669 -0.938 + -0.709 3.038 -0.078 0.475 3.532 -1.868 0.978 3.120 -2.633 -0.027 + 4.874 -2.123 -0.533 5.204 -1.236 1.136 5.799 -2.421 1.848 5.673 + -1.555 1.703 5.544 -3.262 0.786 7.220 -2.553 0.737 7.918 -3.682 + 0.916 7.502 -4.658 0.478 9.230 -3.446 0.403 9.901 -4.200 0.315 + 9.482 -2.119 0.021 10.610 -1.315 -0.213 11.579 -1.758 -0.058 10.541 + 0.088 -0.230 11.423 0.649 0.109 9.265 0.713 0.035 9.143 1.788 + 0.411 8.153 -0.098 0.650 7.234 0.438 0.508 8.213 -1.523 -1.037 + 4.829 -3.287 -0.836 4.165 -4.360 -2.130 5.567 -3.052 -2.251 5.979 + -2.130 -3.223 5.666 -4.053 -2.795 5.592 -5.094 -4.242 4.484 -3.815 + -4.590 4.425 -2.759 -5.132 4.654 -4.354 -3.799 3.140 -4.257 -2.869 + 2.814 -3.723 -4.654 2.495 -4.043 -3.509 2.930 -5.728 -4.390 3.181 + -6.319 -2.765 3.587 -6.070 -3.006 1.485 -5.992 -3.548 0.751 -5.467 + -3.093 1.301 -7.035 -1.605 1.245 -5.621 -1.410 1.603 -4.688 -1.405 + 0.212 -5.609 -0.976 1.711 -6.263 -3.952 7.047 -3.965 -3.779 7.775 + -2.956 -4.701 7.488 -5.005 -4.780 6.930 -5.858 -5.153 8.400 -4.936 + -2.761 9.119 -0.819 -2.979 8.511 -1.572 -1.784 9.282 -0.815 -3.199 + 9.996 -0.876 -3.244 8.591 0.418 -2.782 9.273 1.143 -4.796 8.564 + 0.512 -5.197 9.492 0.237 -5.223 7.801 -0.134 -5.095 8.354 1.925 + -6.009 8.076 2.052 -2.765 7.168 0.608 -2.456 6.517 -0.410 -2.746 + 6.587 1.842 -3.142 7.016 2.656 -2.445 5.179 1.980 -1.628 4.958 + 1.315 -1.872 4.969 3.415 -2.634 5.316 4.112 -1.612 3.870 3.673 + -0.715 5.836 3.748 -0.681 6.776 4.739 -1.489 6.950 5.482 0.589 + 7.353 4.749 0.898 7.954 5.503 1.386 6.897 3.715 2.685 7.217 + 3.300 3.185 8.035 3.697 3.254 6.442 2.313 4.296 6.548 2.105 + 2.516 5.458 1.679 3.035 4.853 0.872 1.226 5.075 2.071 0.807 + 4.145 1.702 0.608 5.841 3.107 -3.608 4.267 1.597 -4.761 4.700 + 1.612 -3.312 3.009 1.257 -2.346 2.813 1.012 -4.242 1.951 0.873 + -5.083 1.981 1.546 -4.750 2.209 -0.540 -3.948 2.521 -1.164 -5.542 + 1.045 -1.226 -6.375 0.669 -0.619 -5.967 1.350 -2.196 -4.866 0.215 + -1.429 -5.605 3.341 -0.517 -5.510 3.913 0.260 -3.623 0.608 1.092 + -2.410 0.498 1.140 -4.426 -0.437 1.220 -5.435 -0.284 1.161 -3.939 + -1.834 1.216 -2.884 -1.823 1.419 -4.735 -2.626 2.288 -4.813 -2.066 + 3.203 -5.719 -2.682 1.889 -4.202 -4.044 2.546 -4.812 -5.187 2.134 + -5.754 -5.277 1.617 -4.090 -6.240 2.635 -4.356 -7.201 2.528 -2.965 + -5.850 3.338 -1.972 -6.521 4.045 -1.963 -7.607 4.147 -0.905 -5.802 + 4.609 -0.139 -6.362 5.086 -0.943 -4.393 4.593 -0.249 -3.771 5.169 + -1.991 -3.765 3.941 -2.068 -2.714 3.985 -3.015 -4.449 3.315 -4.046 + -2.502 -0.197 -5.061 -2.353 -0.861 -3.030 -3.229 -0.640 -2.276 -3.409 + 0.029 -2.942 -3.786 -1.998 -3.946 -4.022 -2.360 -2.326 -2.676 -2.852 + -3.122 -1.946 -2.957 -1.446 -2.198 -2.338 -1.909 -3.049 -4.248 -1.110 + -3.665 -4.175 -2.751 -3.586 -4.710 -1.533 -1.770 -5.059 -0.509 -1.116 + -4.765 -2.274 -1.405 -5.998 -2.049 -5.029 -2.022 -0.900 -5.045 -1.567 + -2.567 -6.140 -2.560 -3.496 -6.105 -3.004 -1.790 -7.382 -2.739 -2.453 + -8.244 -2.965 -0.923 -7.262 -4.018 -0.208 -6.429 -3.886 -0.414 -8.205 + -4.258 -1.781 -6.870 -5.235 -2.879 -7.338 -5.446 -1.317 -5.963 -6.035 + -1.844 -5.820 -6.887 -0.330 -5.738 -5.985 -1.025 -7.903 -1.526 0.032 + -8.518 -1.685 -1.510 -7.660 -0.315 -2.410 -7.198 -0.285 -0.907 -7.949 + 0.987 -1.751 -8.006 1.647 -0.408 -8.896 0.990 0.156 -6.953 1.502 + 0.963 -7.250 2.391 0.237 -5.755 0.910 -0.447 -5.476 0.173 1.171 + -4.722 1.321 1.728 -4.972 2.244 2.134 -4.390 0.148 1.481 -4.279 + -0.696 2.611 -3.459 0.259 3.245 -5.492 -0.201 3.833 -5.075 -1.022 + 3.910 -5.719 0.689 2.571 -6.771 -0.765 2.225 -7.400 0.095 1.655 + -6.532 -1.314 3.443 -7.663 -1.601 3.636 -7.113 -2.521 4.364 -7.822 + -1.071 2.792 -8.956 -1.792 1.835 -8.843 -2.125 3.310 -9.498 -2.477 + 2.725 -9.447 -0.940 0.369 -3.419 1.531 -0.724 -3.117 0.960 1.022 + -2.485 2.267 1.990 -2.665 2.487 0.593 -1.079 2.206 -0.465 -1.158 + 2.264 1.071 -0.214 3.433 2.108 -0.365 3.601 0.884 0.832 3.303 + 0.528 -0.631 4.730 1.147 -1.285 5.729 2.199 -1.572 5.705 0.250 + -1.531 6.743 0.556 -1.837 7.660 -1.022 -1.087 6.408 -2.245 -1.121 + 7.104 -2.312 -1.525 8.086 -3.351 -0.505 6.512 -4.264 -0.511 7.021 + -3.248 0.118 5.265 -4.112 0.594 4.803 -1.991 0.144 4.621 -1.906 + 0.555 3.593 -0.842 -0.454 5.165 1.036 -0.417 0.861 2.147 -0.680 + 0.390 0.304 0.583 0.361 -0.642 0.679 0.760 0.568 1.233 -0.954 + 1.640 1.228 -1.170 -0.175 0.443 -2.048 0.157 -0.566 -1.876 -1.690 + 0.565 -2.071 -2.028 1.588 -1.957 -2.069 0.162 -3.002 -2.055 -0.069 + -1.295 0.212 0.812 -3.342 0.138 0.016 -3.930 0.076 2.669 -0.938 + -0.709 3.038 -0.078 0.474 3.533 -1.867 0.977 3.119 -2.633 -0.027 + 4.874 -2.123 -0.534 5.204 -1.236 1.136 5.799 -2.421 1.847 5.674 + -1.555 1.703 5.542 -3.264 0.786 7.220 -2.553 0.737 7.918 -3.682 + 0.916 7.502 -4.659 0.479 9.230 -3.446 0.403 9.900 -4.200 0.316 + 9.483 -2.119 0.021 10.610 -1.314 -0.213 11.578 -1.760 -0.058 10.540 + 0.088 -0.229 11.423 0.650 0.109 9.265 0.713 0.035 9.142 1.789 + 0.412 8.153 -0.098 0.650 7.234 0.436 0.509 8.213 -1.523 -1.037 + 4.829 -3.287 -0.836 4.165 -4.360 -2.130 5.567 -3.052 -2.252 5.979 + -2.129 -3.223 5.666 -4.053 -2.795 5.592 -5.092 -4.241 4.484 -3.815 + -4.587 4.426 -2.758 -5.132 4.656 -4.355 -3.799 3.140 -4.258 -2.870 + 2.814 -3.722 -4.654 2.495 -4.043 -3.509 2.930 -5.729 -4.390 3.181 + -6.319 -2.764 3.588 -6.070 -3.006 1.484 -5.992 -3.550 0.751 -5.467 + -3.093 1.300 -7.035 -1.604 1.245 -5.621 -1.408 1.604 -4.687 -1.407 + 0.214 -5.609 -0.977 1.709 -6.263 -3.953 7.047 -3.965 -3.779 7.774 + -2.956 -4.701 7.489 -5.004 -4.781 6.932 -5.858 -5.153 8.400 -4.938 + -2.761 9.118 -0.820 -2.979 8.510 -1.574 -1.783 9.282 -0.814 -3.201 + 9.996 -0.879 -3.244 8.591 0.418 -2.784 9.273 1.145 -4.797 8.563 + 0.512 -5.198 9.491 0.235 -5.222 7.800 -0.134 -5.095 8.354 1.925 + -6.007 8.075 2.051 -2.765 7.168 0.609 -2.457 6.516 -0.409 -2.746 + 6.588 1.842 -3.144 7.018 2.656 -2.445 5.178 1.980 -1.629 4.958 + 1.314 -1.872 4.969 3.415 -2.634 5.316 4.112 -1.613 3.872 3.672 + -0.715 5.837 3.748 -0.680 6.776 4.739 -1.488 6.949 5.482 0.589 + 7.353 4.749 0.900 7.953 5.504 1.385 6.897 3.715 2.685 7.217 + 3.299 3.185 8.037 3.698 3.254 6.442 2.314 4.296 6.546 2.104 + 2.517 5.458 1.678 3.035 4.854 0.874 1.225 5.075 2.072 0.808 + 4.145 1.701 0.608 5.842 3.107 -3.608 4.267 1.596 -4.761 4.700 + 1.612 -3.311 3.009 1.257 -2.346 2.815 1.011 -4.242 1.951 0.873 + -5.083 1.982 1.546 -4.751 2.209 -0.540 -3.948 2.520 -1.165 -5.542 + 1.044 -1.227 -6.374 0.669 -0.618 -5.966 1.351 -2.196 -4.866 0.215 + -1.429 -5.606 3.340 -0.517 -5.508 3.909 0.260 -3.622 0.609 1.092 + -2.409 0.498 1.139 -4.426 -0.437 1.221 -5.435 -0.284 1.162 -3.939 + -1.833 1.216 -2.885 -1.824 1.421 -4.735 -2.626 2.288 -4.813 -2.066 + 3.204 -5.719 -2.684 1.888 -4.202 -4.044 2.546 -4.811 -5.186 2.133 + -5.753 -5.277 1.615 -4.089 -6.240 2.635 -4.355 -7.201 2.527 -2.965 + -5.850 3.338 -1.972 -6.521 4.045 -1.963 -7.606 4.147 -0.905 -5.802 + 4.609 -0.138 -6.360 5.087 -0.943 -4.393 4.594 -0.249 -3.771 5.169 + -1.992 -3.765 3.941 -2.069 -2.714 3.986 -3.015 -4.449 3.315 -4.046 + -2.502 -0.196 -5.061 -2.353 -0.862 -3.030 -3.229 -0.640 -2.276 -3.410 + 0.026 -2.942 -3.786 -1.998 -3.946 -4.022 -2.362 -2.326 -2.676 -2.852 + -3.123 -1.947 -2.958 -1.448 -2.198 -2.337 -1.909 -3.049 -4.247 -1.108 + -3.665 -4.174 -2.750 -3.586 -4.710 -1.533 -1.770 -5.059 -0.509 -1.116 + -4.765 -2.274 -1.406 -5.998 -2.049 -5.029 -2.022 -0.900 -5.046 -1.567 + -2.568 -6.140 -2.560 -3.494 -6.104 -3.003 -1.790 -7.382 -2.739 -2.455 + -8.243 -2.963 -0.923 -7.262 -4.018 -0.207 -6.431 -3.885 -0.414 -8.203 + -4.257 -1.781 -6.870 -5.235 -2.879 -7.338 -5.447 -1.317 -5.963 -6.034 + -1.844 -5.819 -6.888 -0.331 -5.738 -5.985 -1.025 -7.903 -1.526 0.032 + -8.518 -1.685 -1.510 -7.660 -0.315 -2.410 -7.199 -0.286 -0.907 -7.949 + 0.987 -1.750 -8.005 1.647 -0.409 -8.897 0.990 0.155 -6.953 1.502 + 0.963 -7.249 2.392 0.237 -5.756 0.910 -0.445 -5.478 0.175 1.171 + -4.723 1.321 1.728 -4.973 2.245 2.134 -4.390 0.148 1.481 -4.279 + -0.695 2.610 -3.458 0.258 3.245 -5.491 -0.201 3.833 -5.075 -1.022 + 3.910 -5.719 0.688 2.571 -6.771 -0.765 2.226 -7.399 0.095 1.656 + -6.531 -1.314 3.443 -7.662 -1.601 3.635 -7.115 -2.523 4.364 -7.822 + -1.071 2.792 -8.956 -1.792 1.836 -8.842 -2.125 3.309 -9.498 -2.475 + 2.724 -9.447 -0.937 0.369 -3.420 1.531 -0.724 -3.118 0.960 1.023 + -2.486 2.266 1.991 -2.665 2.486 0.593 -1.080 2.206 -0.465 -1.158 + 2.263 1.071 -0.214 3.433 2.108 -0.364 3.598 0.884 0.833 3.302 + 0.527 -0.631 4.730 1.147 -1.285 5.729 2.198 -1.572 5.707 0.251 + -1.531 6.743 0.555 -1.836 7.661 -1.022 -1.087 6.407 -2.245 -1.122 + 7.104 -2.312 -1.525 8.086 -3.351 -0.505 6.511 -4.266 -0.510 7.022 + -3.247 0.117 5.265 -4.112 0.594 4.803 -1.990 0.145 4.620 -1.906 + 0.554 3.594 -0.842 -0.454 5.165 1.036 -0.417 0.861 2.148 -0.679 + 0.390 0.304 0.583 0.361 -0.640 0.679 0.759 0.568 1.233 -0.954 + 1.640 1.229 -1.171 -0.175 0.443 -2.047 0.156 -0.566 -1.876 -1.690 + 0.565 -2.071 -2.028 1.588 -1.958 -2.069 0.163 -3.003 -2.056 -0.067 + -1.294 0.211 0.811 -3.342 0.137 0.014 -3.927 0.076 2.669 -0.938 + -0.709 3.038 -0.078 0.474 3.533 -1.867 0.977 3.119 -2.634 -0.027 + 4.874 -2.122 -0.534 5.205 -1.236 1.137 5.800 -2.421 1.846 5.676 + -1.556 1.703 5.540 -3.266 0.786 7.221 -2.552 0.737 7.917 -3.682 + 0.916 7.501 -4.660 0.479 9.230 -3.447 0.403 9.899 -4.200 0.316 + 9.483 -2.119 0.022 10.611 -1.314 -0.212 11.577 -1.761 -0.057 10.540 + 0.088 -0.230 11.422 0.651 0.109 9.265 0.713 0.035 9.141 1.790 + 0.412 8.153 -0.098 0.650 7.234 0.433 0.509 8.212 -1.523 -1.037 + 4.830 -3.286 -0.837 4.165 -4.360 -2.130 5.568 -3.052 -2.253 5.980 + -2.129 -3.223 5.666 -4.053 -2.794 5.592 -5.090 -4.241 4.484 -3.814 + -4.584 4.426 -2.758 -5.132 4.657 -4.357 -3.799 3.140 -4.258 -2.872 + 2.815 -3.721 -4.654 2.494 -4.042 -3.509 2.930 -5.729 -4.389 3.180 + -6.320 -2.763 3.588 -6.070 -3.006 1.484 -5.992 -3.552 0.751 -5.467 + -3.094 1.300 -7.036 -1.604 1.244 -5.621 -1.407 1.605 -4.686 -1.408 + 0.216 -5.609 -0.977 1.707 -6.262 -3.953 7.047 -3.965 -3.779 7.774 + -2.955 -4.701 7.489 -5.004 -4.782 6.935 -5.857 -5.154 8.400 -4.940 + -2.761 9.118 -0.820 -2.980 8.509 -1.577 -1.782 9.282 -0.813 -3.204 + 9.996 -0.882 -3.244 8.590 0.417 -2.786 9.273 1.146 -4.797 8.563 + 0.512 -5.199 9.491 0.232 -5.222 7.798 -0.134 -5.095 8.354 1.924 + -6.005 8.074 2.051 -2.765 7.168 0.610 -2.457 6.516 -0.409 -2.747 + 6.588 1.843 -3.145 7.020 2.656 -2.445 5.178 1.980 -1.629 4.957 + 1.312 -1.872 4.969 3.415 -2.634 5.317 4.112 -1.614 3.873 3.671 + -0.715 5.837 3.748 -0.680 6.776 4.739 -1.487 6.948 5.481 0.589 + 7.353 4.749 0.902 7.952 5.504 1.384 6.896 3.715 2.686 7.218 + 3.298 3.185 8.039 3.699 3.254 6.443 2.315 4.296 6.545 2.103 + 2.517 5.457 1.678 3.035 4.856 0.877 1.225 5.075 2.072 0.810 + 4.145 1.701 0.609 5.842 3.106 -3.609 4.267 1.596 -4.761 4.700 + 1.612 -3.311 3.009 1.256 -2.347 2.816 1.010 -4.242 1.951 0.873 + -5.083 1.982 1.546 -4.751 2.209 -0.539 -3.947 2.520 -1.166 -5.542 + 1.044 -1.227 -6.374 0.669 -0.618 -5.965 1.351 -2.197 -4.866 0.214 + -1.428 -5.606 3.340 -0.517 -5.507 3.905 0.260 -3.622 0.609 1.092 + -2.409 0.498 1.139 -4.427 -0.436 1.221 -5.435 -0.283 1.162 -3.939 + -1.833 1.216 -2.885 -1.824 1.423 -4.735 -2.625 2.288 -4.814 -2.066 + 3.205 -5.719 -2.685 1.887 -4.202 -4.044 2.546 -4.811 -5.185 2.132 + -5.752 -5.276 1.614 -4.089 -6.240 2.635 -4.355 -7.202 2.526 -2.965 + -5.850 3.338 -1.972 -6.521 4.045 -1.963 -7.605 4.147 -0.905 -5.802 + 4.609 -0.137 -6.358 5.087 -0.942 -4.393 4.595 -0.249 -3.771 5.169 + -1.992 -3.765 3.942 -2.070 -2.713 3.987 -3.016 -4.448 3.315 -4.045 + -2.501 -0.196 -5.061 -2.352 -0.862 -3.030 -3.228 -0.640 -2.276 -3.412 + 0.023 -2.942 -3.786 -1.998 -3.946 -4.023 -2.364 -2.327 -2.675 -2.851 + -3.124 -1.947 -2.958 -1.450 -2.199 -2.336 -1.909 -3.048 -4.247 -1.106 + -3.666 -4.174 -2.748 -3.586 -4.709 -1.533 -1.770 -5.058 -0.508 -1.116 + -4.765 -2.273 -1.406 -5.998 -2.050 -5.029 -2.022 -0.901 -5.046 -1.567 + -2.568 -6.140 -2.560 -3.493 -6.104 -3.002 -1.790 -7.383 -2.739 -2.456 + -8.241 -2.962 -0.923 -7.262 -4.018 -0.207 -6.432 -3.884 -0.413 -8.202 + -4.255 -1.781 -6.871 -5.234 -2.878 -7.338 -5.447 -1.316 -5.962 -6.034 + -1.844 -5.819 -6.888 -0.332 -5.739 -5.985 -1.024 -7.903 -1.526 0.031 + -8.518 -1.685 -1.511 -7.660 -0.315 -2.410 -7.201 -0.287 -0.907 -7.949 + 0.987 -1.750 -8.003 1.648 -0.411 -8.898 0.989 0.155 -6.953 1.501 + 0.963 -7.248 2.392 0.237 -5.756 0.910 -0.442 -5.480 0.176 1.172 + -4.723 1.321 1.727 -4.974 2.245 2.134 -4.390 0.149 1.481 -4.280 + -0.695 2.608 -3.456 0.257 3.245 -5.491 -0.201 3.833 -5.075 -1.021 + 3.910 -5.720 0.687 2.572 -6.771 -0.764 2.227 -7.398 0.095 1.657 + -6.530 -1.315 3.443 -7.662 -1.601 3.634 -7.117 -2.525 4.364 -7.822 + -1.071 2.792 -8.956 -1.792 1.836 -8.841 -2.124 3.309 -9.498 -2.473 + 2.723 -9.448 -0.933 0.369 -3.420 1.531 -0.724 -3.118 0.959 1.023 + -2.486 2.266 1.992 -2.665 2.485 0.593 -1.081 2.206 -0.465 -1.158 + 2.262 1.071 -0.215 3.434 2.109 -0.363 3.594 0.884 0.833 3.301 + 0.527 -0.631 4.730 1.147 -1.286 5.729 2.196 -1.572 5.709 0.251 + -1.531 6.743 0.554 -1.836 7.661 -1.022 -1.087 6.407 -2.245 -1.122 + 7.104 -2.313 -1.526 8.086 -3.351 -0.505 6.511 -4.267 -0.510 7.022 + -3.247 0.117 5.265 -4.112 0.594 4.803 -1.990 0.145 4.620 -1.905 + 0.554 3.595 -0.842 -0.454 5.166 1.035 -0.417 0.861 2.148 -0.679 + 0.390 0.304 0.584 0.360 -0.638 0.678 0.758 0.569 1.233 -0.954 + 1.640 1.229 -1.171 -0.174 0.443 -2.047 0.154 -0.567 -1.876 -1.690 + 0.565 -2.072 -2.028 1.589 -1.958 -2.070 0.164 -3.004 -2.056 -0.066 + -1.293 0.211 0.811 -3.342 0.136 0.012 -3.924 0.076 2.669 -0.938 + -0.709 3.037 -0.078 0.474 3.533 -1.867 0.977 3.118 -2.634 -0.028 + 4.874 -2.122 -0.534 5.206 -1.236 1.137 5.800 -2.421 1.846 5.677 + -1.557 1.703 5.538 -3.267 0.786 7.221 -2.552 0.737 7.917 -3.682 + 0.916 7.501 -4.660 0.480 9.230 -3.447 0.403 9.898 -4.200 0.317 + 9.484 -2.119 0.022 10.611 -1.313 -0.211 11.575 -1.763 -0.057 10.539 + 0.089 -0.230 11.422 0.652 0.109 9.266 0.713 0.036 9.139 1.790 + 0.412 8.154 -0.098 0.650 7.234 0.430 0.510 8.212 -1.523 -1.037 + 4.830 -3.286 -0.837 4.164 -4.360 -2.129 5.568 -3.052 -2.254 5.980 + -2.129 -3.223 5.666 -4.053 -2.794 5.592 -5.088 -4.240 4.483 -3.813 + -4.581 4.426 -2.757 -5.132 4.659 -4.358 -3.798 3.140 -4.259 -2.873 + 2.815 -3.720 -4.653 2.494 -4.042 -3.509 2.930 -5.730 -4.389 3.180 + -6.321 -2.762 3.589 -6.070 -3.005 1.484 -5.992 -3.554 0.751 -5.468 + -3.094 1.299 -7.036 -1.604 1.244 -5.621 -1.406 1.607 -4.686 -1.410 + 0.218 -5.609 -0.977 1.705 -6.262 -3.953 7.047 -3.965 -3.780 7.774 + -2.955 -4.700 7.490 -5.004 -4.783 6.938 -5.857 -5.154 8.400 -4.942 + -2.761 9.118 -0.821 -2.980 8.508 -1.579 -1.781 9.282 -0.811 -3.206 + 9.995 -0.885 -3.244 8.590 0.417 -2.788 9.272 1.147 -4.797 8.562 + 0.511 -5.200 9.490 0.230 -5.222 7.797 -0.135 -5.095 8.354 1.924 + -6.003 8.074 2.051 -2.765 7.168 0.610 -2.457 6.516 -0.409 -2.747 + 6.588 1.843 -3.146 7.023 2.656 -2.445 5.178 1.981 -1.630 4.957 + 1.311 -1.872 4.969 3.415 -2.634 5.317 4.112 -1.615 3.875 3.670 + -0.716 5.837 3.748 -0.679 6.776 4.739 -1.485 6.947 5.480 0.589 + 7.353 4.750 0.903 7.951 5.505 1.383 6.896 3.714 2.687 7.218 + 3.297 3.185 8.041 3.700 3.254 6.443 2.315 4.296 6.543 2.102 + 2.517 5.457 1.677 3.035 4.857 0.879 1.225 5.075 2.072 0.811 + 4.145 1.700 0.610 5.842 3.106 -3.609 4.267 1.596 -4.761 4.700 + 1.612 -3.311 3.009 1.255 -2.347 2.818 1.009 -4.241 1.951 0.872 + -5.083 1.983 1.546 -4.751 2.209 -0.539 -3.946 2.519 -1.167 -5.541 + 1.043 -1.227 -6.373 0.669 -0.617 -5.964 1.352 -2.197 -4.866 0.214 + -1.428 -5.606 3.340 -0.516 -5.506 3.902 0.261 -3.621 0.609 1.092 + -2.409 0.498 1.139 -4.427 -0.436 1.221 -5.435 -0.283 1.162 -3.939 + -1.832 1.215 -2.886 -1.825 1.426 -4.734 -2.625 2.288 -4.814 -2.066 + 3.206 -5.720 -2.687 1.887 -4.201 -4.045 2.546 -4.810 -5.185 2.132 + -5.752 -5.275 1.613 -4.088 -6.240 2.634 -4.354 -7.202 2.526 -2.965 + -5.850 3.338 -1.972 -6.521 4.045 -1.963 -7.604 4.147 -0.904 -5.801 + 4.609 -0.135 -6.356 5.088 -0.942 -4.393 4.596 -0.249 -3.771 5.170 + -1.993 -3.764 3.942 -2.071 -2.712 3.988 -3.016 -4.448 3.316 -4.045 + -2.500 -0.196 -5.061 -2.352 -0.862 -3.030 -3.228 -0.640 -2.276 -3.413 + 0.020 -2.942 -3.786 -1.997 -3.945 -4.023 -2.365 -2.327 -2.675 -2.851 + -3.125 -1.947 -2.959 -1.452 -2.199 -2.335 -1.909 -3.048 -4.247 -1.103 + -3.667 -4.173 -2.747 -3.586 -4.709 -1.533 -1.771 -5.058 -0.508 -1.116 + -4.766 -2.273 -1.406 -5.999 -2.050 -5.029 -2.022 -0.901 -5.046 -1.566 + -2.569 -6.140 -2.561 -3.491 -6.104 -3.001 -1.790 -7.383 -2.739 -2.458 + -8.239 -2.960 -0.924 -7.262 -4.018 -0.206 -6.433 -3.883 -0.412 -8.201 + -4.254 -1.781 -6.871 -5.233 -2.878 -7.338 -5.448 -1.316 -5.961 -6.033 + -1.843 -5.819 -6.889 -0.333 -5.740 -5.986 -1.024 -7.903 -1.526 0.031 + -8.518 -1.685 -1.511 -7.660 -0.315 -2.410 -7.202 -0.289 -0.907 -7.949 + 0.988 -1.749 -8.002 1.649 -0.413 -8.899 0.989 0.155 -6.952 1.501 + 0.963 -7.248 2.393 0.237 -5.756 0.910 -0.440 -5.481 0.178 1.172 + -4.723 1.321 1.726 -4.974 2.245 2.134 -4.391 0.149 1.481 -4.281 + -0.695 2.607 -3.455 0.256 3.245 -5.490 -0.202 3.833 -5.074 -1.021 + 3.910 -5.720 0.685 2.572 -6.771 -0.764 2.229 -7.397 0.094 1.658 + -6.528 -1.316 3.443 -7.661 -1.601 3.634 -7.118 -2.526 4.364 -7.822 + -1.071 2.791 -8.956 -1.792 1.836 -8.840 -2.124 3.309 -9.498 -2.471 + 2.722 -9.448 -0.930 0.368 -3.420 1.531 -0.724 -3.118 0.959 1.023 + -2.487 2.266 1.993 -2.665 2.484 0.593 -1.081 2.206 -0.466 -1.157 + 2.261 1.070 -0.215 3.434 2.109 -0.362 3.591 0.884 0.834 3.300 + 0.527 -0.630 4.730 1.147 -1.286 5.729 2.194 -1.573 5.711 0.251 + -1.531 6.743 0.553 -1.835 7.662 -1.022 -1.088 6.407 -2.246 -1.122 + 7.103 -2.313 -1.527 8.086 -3.351 -0.506 6.510 -4.269 -0.510 7.023 + -3.247 0.117 5.265 -4.112 0.594 4.802 -1.990 0.145 4.620 -1.904 + 0.553 3.596 -0.842 -0.454 5.166 1.035 -0.417 0.862 2.149 -0.679 + 0.390 0.304 0.584 0.360 -0.636 0.678 0.757 0.569 1.233 -0.954 + 1.641 1.229 -1.171 -0.174 0.443 -2.047 0.152 -0.567 -1.876 -1.690 + 0.565 -2.072 -2.029 1.589 -1.958 -2.070 0.165 -3.005 -2.057 -0.064 + -1.293 0.211 0.810 -3.342 0.135 0.010 -3.922 0.076 2.669 -0.938 + -0.708 3.037 -0.078 0.474 3.534 -1.867 0.977 3.118 -2.635 -0.028 + 4.874 -2.122 -0.534 5.207 -1.235 1.137 5.800 -2.421 1.845 5.678 + -1.558 1.702 5.536 -3.269 0.786 7.221 -2.552 0.737 7.917 -3.682 + 0.916 7.501 -4.661 0.480 9.230 -3.447 0.404 9.897 -4.200 0.317 + 9.484 -2.118 0.022 10.611 -1.313 -0.211 11.574 -1.765 -0.056 10.538 + 0.089 -0.230 11.422 0.654 0.109 9.266 0.713 0.036 9.138 1.791 + 0.413 8.154 -0.098 0.651 7.233 0.427 0.510 8.211 -1.523 -1.038 + 4.830 -3.286 -0.838 4.164 -4.360 -2.129 5.568 -3.052 -2.255 5.981 + -2.128 -3.223 5.666 -4.052 -2.793 5.593 -5.086 -4.239 4.483 -3.813 + -4.578 4.426 -2.757 -5.132 4.660 -4.359 -3.798 3.140 -4.260 -2.875 + 2.815 -3.719 -4.653 2.494 -4.042 -3.509 2.931 -5.731 -4.388 3.179 + -6.322 -2.761 3.590 -6.070 -3.005 1.484 -5.992 -3.557 0.751 -5.468 + -3.094 1.298 -7.036 -1.604 1.243 -5.621 -1.405 1.608 -4.685 -1.411 + 0.220 -5.609 -0.978 1.703 -6.262 -3.953 7.048 -3.966 -3.780 7.774 + -2.955 -4.700 7.490 -5.004 -4.784 6.940 -5.856 -5.154 8.400 -4.944 + -2.761 9.117 -0.821 -2.981 8.507 -1.582 -1.780 9.282 -0.810 -3.209 + 9.995 -0.889 -3.244 8.590 0.417 -2.790 9.272 1.148 -4.798 8.561 + 0.511 -5.201 9.490 0.228 -5.221 7.795 -0.135 -5.095 8.354 1.924 + -6.002 8.073 2.051 -2.765 7.168 0.611 -2.458 6.515 -0.408 -2.747 + 6.588 1.843 -3.148 7.025 2.656 -2.445 5.178 1.981 -1.630 4.957 + 1.310 -1.872 4.970 3.415 -2.634 5.318 4.112 -1.616 3.877 3.669 + -0.716 5.838 3.748 -0.679 6.777 4.739 -1.483 6.946 5.480 0.589 + 7.353 4.750 0.906 7.951 5.506 1.382 6.896 3.714 2.687 7.219 + 3.297 3.186 8.043 3.701 3.254 6.443 2.316 4.296 6.542 2.100 + 2.517 5.457 1.677 3.035 4.858 0.881 1.225 5.075 2.073 0.813 + 4.145 1.700 0.611 5.843 3.106 -3.609 4.267 1.595 -4.761 4.700 + 1.611 -3.310 3.009 1.255 -2.348 2.819 1.008 -4.241 1.951 0.872 + -5.083 1.983 1.546 -4.751 2.210 -0.539 -3.946 2.519 -1.168 -5.541 + 1.042 -1.228 -6.373 0.669 -0.617 -5.963 1.353 -2.197 -4.865 0.213 + -1.428 -5.606 3.340 -0.516 -5.504 3.898 0.261 -3.620 0.609 1.092 + -2.408 0.498 1.138 -4.427 -0.435 1.222 -5.435 -0.283 1.163 -3.938 + -1.832 1.215 -2.886 -1.825 1.428 -4.734 -2.624 2.288 -4.814 -2.066 + 3.207 -5.720 -2.689 1.886 -4.201 -4.045 2.546 -4.810 -5.184 2.131 + -5.751 -5.274 1.611 -4.088 -6.240 2.634 -4.354 -7.203 2.525 -2.965 + -5.850 3.338 -1.973 -6.521 4.045 -1.963 -7.603 4.146 -0.904 -5.801 + 4.609 -0.134 -6.354 5.089 -0.942 -4.393 4.597 -0.250 -3.771 5.170 + -1.993 -3.764 3.943 -2.072 -2.711 3.989 -3.016 -4.448 3.316 -4.045 + -2.500 -0.195 -5.061 -2.351 -0.862 -3.030 -3.228 -0.640 -2.277 -3.414 + 0.017 -2.942 -3.786 -1.997 -3.945 -4.023 -2.367 -2.327 -2.675 -2.851 + -3.125 -1.947 -2.959 -1.454 -2.200 -2.333 -1.909 -3.047 -4.246 -1.101 + -3.668 -4.172 -2.746 -3.586 -4.708 -1.533 -1.771 -5.057 -0.508 -1.115 + -4.766 -2.273 -1.406 -5.999 -2.050 -5.029 -2.022 -0.901 -5.047 -1.566 + -2.569 -6.140 -2.561 -3.489 -6.103 -3.000 -1.790 -7.383 -2.739 -2.459 + -8.236 -2.959 -0.924 -7.262 -4.018 -0.205 -6.435 -3.883 -0.411 -8.200 + -4.252 -1.781 -6.871 -5.233 -2.878 -7.338 -5.448 -1.316 -5.961 -6.032 + -1.843 -5.818 -6.889 -0.335 -5.740 -5.986 -1.024 -7.903 -1.526 0.031 + -8.517 -1.685 -1.511 -7.661 -0.315 -2.410 -7.204 -0.290 -0.906 -7.949 + 0.988 -1.749 -8.001 1.650 -0.415 -8.900 0.988 0.155 -6.952 1.501 + 0.963 -7.247 2.393 0.237 -5.757 0.910 -0.438 -5.483 0.180 1.172 + -4.723 1.321 1.726 -4.975 2.245 2.133 -4.391 0.149 1.481 -4.282 + -0.695 2.605 -3.453 0.255 3.246 -5.490 -0.202 3.833 -5.074 -1.021 + 3.910 -5.720 0.684 2.572 -6.771 -0.764 2.230 -7.395 0.094 1.659 + -6.527 -1.316 3.443 -7.661 -1.601 3.633 -7.120 -2.528 4.364 -7.823 + -1.072 2.791 -8.957 -1.792 1.836 -8.839 -2.123 3.309 -9.498 -2.469 + 2.721 -9.448 -0.926 0.368 -3.420 1.531 -0.724 -3.118 0.959 1.024 + -2.488 2.265 1.994 -2.666 2.483 0.593 -1.082 2.207 -0.466 -1.157 + 2.261 1.070 -0.215 3.435 2.110 -0.361 3.587 0.883 0.835 3.299 + 0.526 -0.630 4.730 1.147 -1.286 5.729 2.193 -1.573 5.714 0.251 + -1.531 6.743 0.552 -1.834 7.662 -1.022 -1.088 6.406 -2.246 -1.122 + 7.103 -2.313 -1.527 8.085 -3.351 -0.506 6.510 -4.270 -0.510 7.024 + -3.247 0.117 5.264 -4.112 0.594 4.802 -1.990 0.145 4.619 -1.904 + 0.553 3.597 -0.842 -0.455 5.167 1.035 -0.417 0.862 2.149 -0.678 + 0.390 0.305 0.584 0.360 -0.634 0.677 0.756 0.569 1.233 -0.954 + 1.641 1.230 -1.172 -0.173 0.443 -2.047 0.150 -0.568 -1.876 -1.690 + 0.566 -2.072 -2.029 1.589 -1.958 -2.071 0.166 -3.006 -2.057 -0.063 + -1.292 0.211 0.810 -3.343 0.134 0.008 -3.919 0.077 2.669 -0.938 + -0.708 3.037 -0.078 0.474 3.534 -1.866 0.976 3.118 -2.635 -0.029 + 4.874 -2.122 -0.534 5.207 -1.235 1.137 5.800 -2.421 1.844 5.680 + -1.559 1.702 5.534 -3.271 0.785 7.222 -2.551 0.737 7.916 -3.682 + 0.916 7.500 -4.661 0.481 9.230 -3.447 0.404 9.896 -4.200 0.318 + 9.484 -2.118 0.023 10.611 -1.312 -0.210 11.572 -1.766 -0.056 10.538 + 0.089 -0.230 11.422 0.655 0.109 9.266 0.713 0.036 9.137 1.792 + 0.413 8.155 -0.098 0.651 7.233 0.425 0.511 8.211 -1.523 -1.038 + 4.830 -3.286 -0.838 4.163 -4.360 -2.129 5.568 -3.052 -2.256 5.982 + -2.128 -3.223 5.667 -4.052 -2.793 5.593 -5.084 -4.239 4.483 -3.812 + -4.574 4.426 -2.756 -5.132 4.662 -4.361 -3.797 3.139 -4.261 -2.877 + 2.815 -3.718 -4.653 2.493 -4.041 -3.509 2.931 -5.731 -4.388 3.179 + -6.322 -2.759 3.591 -6.070 -3.005 1.484 -5.992 -3.559 0.751 -5.468 + -3.095 1.297 -7.037 -1.604 1.243 -5.621 -1.403 1.609 -4.685 -1.413 + 0.222 -5.609 -0.978 1.701 -6.261 -3.954 7.048 -3.966 -3.780 7.773 + -2.955 -4.700 7.490 -5.004 -4.785 6.943 -5.856 -5.154 8.400 -4.946 + -2.761 9.117 -0.822 -2.982 8.506 -1.584 -1.779 9.282 -0.809 -3.211 + 9.995 -0.892 -3.244 8.590 0.416 -2.792 9.271 1.150 -4.798 8.560 + 0.511 -5.203 9.490 0.225 -5.221 7.794 -0.136 -5.095 8.354 1.923 + -6.000 8.072 2.050 -2.765 7.167 0.611 -2.458 6.515 -0.408 -2.747 + 6.588 1.843 -3.149 7.028 2.656 -2.445 5.178 1.981 -1.630 4.956 + 1.309 -1.871 4.970 3.415 -2.634 5.318 4.112 -1.617 3.879 3.668 + -0.716 5.838 3.748 -0.678 6.777 4.739 -1.482 6.946 5.479 0.589 + 7.352 4.750 0.908 7.950 5.506 1.381 6.896 3.714 2.688 7.219 + 3.296 3.186 8.046 3.702 3.255 6.444 2.317 4.296 6.540 2.099 + 2.517 5.457 1.676 3.035 4.860 0.884 1.225 5.074 2.073 0.814 + 4.145 1.699 0.612 5.843 3.106 -3.610 4.268 1.595 -4.761 4.700 + 1.611 -3.310 3.009 1.254 -2.348 2.821 1.008 -4.241 1.951 0.872 + -5.083 1.984 1.546 -4.751 2.210 -0.539 -3.945 2.518 -1.169 -5.541 + 1.042 -1.228 -6.372 0.669 -0.616 -5.962 1.353 -2.197 -4.865 0.213 + -1.427 -5.606 3.340 -0.516 -5.503 3.894 0.262 -3.620 0.610 1.092 + -2.408 0.498 1.138 -4.427 -0.434 1.222 -5.435 -0.283 1.163 -3.938 + -1.831 1.215 -2.886 -1.826 1.430 -4.734 -2.624 2.288 -4.814 -2.066 + 3.208 -5.721 -2.691 1.886 -4.201 -4.045 2.546 -4.809 -5.184 2.131 + -5.750 -5.273 1.610 -4.087 -6.240 2.633 -4.354 -7.203 2.524 -2.965 + -5.850 3.338 -1.973 -6.520 4.045 -1.963 -7.603 4.146 -0.904 -5.801 + 4.609 -0.132 -6.352 5.089 -0.942 -4.393 4.598 -0.250 -3.771 5.171 + -1.994 -3.764 3.943 -2.073 -2.710 3.990 -3.017 -4.447 3.316 -4.045 + -2.499 -0.195 -5.061 -2.351 -0.863 -3.030 -3.227 -0.640 -2.277 -3.416 + 0.013 -2.942 -3.786 -1.997 -3.944 -4.024 -2.369 -2.327 -2.674 -2.851 + -3.126 -1.948 -2.959 -1.456 -2.200 -2.332 -1.909 -3.047 -4.246 -1.098 + -3.669 -4.172 -2.745 -3.586 -4.708 -1.533 -1.771 -5.057 -0.508 -1.115 + -4.766 -2.273 -1.407 -5.999 -2.051 -5.029 -2.022 -0.901 -5.047 -1.566 + -2.570 -6.140 -2.561 -3.487 -6.103 -3.000 -1.790 -7.383 -2.739 -2.461 + -8.234 -2.958 -0.924 -7.262 -4.018 -0.204 -6.437 -3.882 -0.410 -8.199 + -4.251 -1.781 -6.871 -5.232 -2.878 -7.338 -5.449 -1.316 -5.960 -6.031 + -1.843 -5.818 -6.889 -0.336 -5.741 -5.987 -1.024 -7.903 -1.526 0.030 + -8.517 -1.685 -1.511 -7.661 -0.315 -2.410 -7.205 -0.291 -0.906 -7.949 + 0.988 -1.749 -7.999 1.651 -0.417 -8.901 0.988 0.154 -6.952 1.501 + 0.964 -7.246 2.394 0.237 -5.757 0.909 -0.435 -5.485 0.181 1.173 + -4.723 1.321 1.725 -4.976 2.245 2.133 -4.391 0.149 1.482 -4.282 + -0.695 2.604 -3.452 0.254 3.246 -5.489 -0.202 3.833 -5.073 -1.020 + 3.909 -5.720 0.683 2.572 -6.771 -0.763 2.231 -7.394 0.094 1.660 + -6.526 -1.317 3.443 -7.660 -1.601 3.633 -7.122 -2.529 4.363 -7.823 + -1.072 2.790 -8.957 -1.792 1.837 -8.838 -2.123 3.308 -9.498 -2.466 + 2.720 -9.449 -0.923 0.367 -3.420 1.531 -0.724 -3.118 0.959 1.024 + -2.489 2.265 1.995 -2.666 2.481 0.593 -1.083 2.207 -0.467 -1.157 + 2.260 1.070 -0.215 3.436 2.110 -0.360 3.584 0.883 0.836 3.298 + 0.526 -0.630 4.730 1.148 -1.287 5.729 2.191 -1.573 5.716 0.251 + -1.531 6.743 0.551 -1.833 7.663 -1.022 -1.089 6.406 -2.246 -1.122 + 7.102 -2.314 -1.528 8.085 -3.351 -0.506 6.509 -4.272 -0.509 7.025 + -3.246 0.117 5.264 -4.112 0.594 4.802 -1.990 0.146 4.619 -1.903 + 0.552 3.598 -0.842 -0.455 5.167 1.035 -0.417 0.862 2.149 -0.678 + 0.391 0.305 0.584 0.360 -0.631 0.677 0.755 0.570 1.233 -0.954 + 1.641 1.230 -1.172 -0.173 0.443 -2.046 0.148 -0.569 -1.876 -1.690 + 0.566 -2.072 -2.030 1.589 -1.959 -2.072 0.167 -3.007 -2.058 -0.061 + -1.291 0.211 0.809 -3.343 0.133 0.006 -3.916 0.077 2.670 -0.938 + -0.708 3.037 -0.078 0.473 3.534 -1.866 0.976 3.117 -2.636 -0.029 + 4.874 -2.122 -0.535 5.208 -1.235 1.137 5.800 -2.421 1.843 5.681 + -1.560 1.702 5.531 -3.273 0.785 7.222 -2.551 0.738 7.916 -3.683 + 0.916 7.500 -4.662 0.482 9.230 -3.447 0.404 9.895 -4.200 0.318 + 9.485 -2.118 0.023 10.611 -1.312 -0.209 11.571 -1.768 -0.055 10.537 + 0.089 -0.230 11.422 0.656 0.109 9.266 0.713 0.037 9.136 1.792 + 0.414 8.155 -0.098 0.651 7.233 0.422 0.511 8.210 -1.523 -1.038 + 4.830 -3.286 -0.838 4.163 -4.359 -2.128 5.568 -3.052 -2.257 5.982 + -2.127 -3.223 5.667 -4.052 -2.792 5.593 -5.082 -4.238 4.483 -3.811 + -4.571 4.426 -2.756 -5.132 4.663 -4.362 -3.796 3.139 -4.261 -2.878 + 2.816 -3.717 -4.653 2.493 -4.041 -3.509 2.931 -5.732 -4.388 3.178 + -6.323 -2.758 3.592 -6.071 -3.005 1.483 -5.993 -3.562 0.751 -5.468 + -3.095 1.296 -7.038 -1.604 1.242 -5.621 -1.402 1.610 -4.684 -1.414 + 0.224 -5.609 -0.979 1.699 -6.261 -3.954 7.048 -3.966 -3.780 7.773 + -2.955 -4.700 7.491 -5.004 -4.786 6.946 -5.855 -5.154 8.400 -4.948 + -2.761 9.117 -0.822 -2.983 8.504 -1.587 -1.777 9.282 -0.808 -3.214 + 9.995 -0.895 -3.244 8.589 0.416 -2.794 9.271 1.151 -4.798 8.559 + 0.511 -5.204 9.490 0.223 -5.221 7.792 -0.136 -5.095 8.354 1.923 + -5.999 8.072 2.050 -2.765 7.167 0.612 -2.458 6.515 -0.407 -2.747 + 6.588 1.843 -3.151 7.030 2.656 -2.444 5.178 1.982 -1.631 4.956 + 1.308 -1.871 4.970 3.415 -2.634 5.318 4.112 -1.619 3.881 3.667 + -0.716 5.838 3.748 -0.677 6.777 4.739 -1.480 6.945 5.478 0.590 + 7.352 4.750 0.910 7.949 5.507 1.380 6.895 3.713 2.688 7.219 + 3.295 3.187 8.048 3.703 3.255 6.444 2.318 4.296 6.538 2.098 + 2.517 5.457 1.676 3.035 4.861 0.887 1.225 5.074 2.073 0.815 + 4.146 1.699 0.612 5.844 3.105 -3.610 4.268 1.595 -4.761 4.700 + 1.611 -3.310 3.010 1.254 -2.348 2.823 1.007 -4.240 1.951 0.872 + -5.084 1.984 1.546 -4.751 2.210 -0.539 -3.944 2.518 -1.170 -5.541 + 1.041 -1.228 -6.371 0.669 -0.616 -5.961 1.354 -2.197 -4.865 0.212 + -1.427 -5.606 3.340 -0.515 -5.501 3.891 0.262 -3.619 0.610 1.092 + -2.408 0.499 1.138 -4.427 -0.434 1.222 -5.435 -0.283 1.164 -3.938 + -1.830 1.214 -2.887 -1.827 1.432 -4.734 -2.623 2.287 -4.814 -2.066 + 3.209 -5.721 -2.693 1.885 -4.202 -4.045 2.546 -4.809 -5.183 2.130 + -5.750 -5.272 1.608 -4.087 -6.240 2.633 -4.354 -7.204 2.524 -2.965 + -5.850 3.338 -1.973 -6.520 4.045 -1.963 -7.601 4.146 -0.904 -5.800 + 4.609 -0.131 -6.350 5.090 -0.942 -4.393 4.599 -0.250 -3.770 5.171 + -1.994 -3.763 3.944 -2.074 -2.709 3.990 -3.017 -4.447 3.316 -4.044 + -2.499 -0.195 -5.061 -2.351 -0.863 -3.030 -3.227 -0.640 -2.277 -3.417 + 0.010 -2.942 -3.786 -1.997 -3.944 -4.024 -2.371 -2.328 -2.674 -2.851 + -3.127 -1.948 -2.960 -1.458 -2.201 -2.331 -1.909 -3.046 -4.246 -1.095 + -3.670 -4.171 -2.744 -3.585 -4.707 -1.533 -1.772 -5.056 -0.508 -1.115 + -4.767 -2.273 -1.407 -6.000 -2.051 -5.029 -2.022 -0.902 -5.048 -1.566 + -2.570 -6.140 -2.562 -3.486 -6.103 -2.999 -1.790 -7.383 -2.739 -2.463 + -8.232 -2.956 -0.924 -7.262 -4.018 -0.204 -6.438 -3.881 -0.409 -8.197 + -4.249 -1.781 -6.871 -5.231 -2.878 -7.338 -5.449 -1.315 -5.960 -6.031 + -1.842 -5.817 -6.889 -0.338 -5.741 -5.988 -1.023 -7.904 -1.526 0.030 + -8.517 -1.685 -1.511 -7.661 -0.315 -2.411 -7.206 -0.292 -0.906 -7.949 + 0.989 -1.748 -7.998 1.653 -0.419 -8.902 0.987 0.154 -6.951 1.501 + 0.964 -7.246 2.394 0.238 -5.758 0.909 -0.433 -5.487 0.183 1.173 + -4.724 1.321 1.724 -4.977 2.244 2.133 -4.392 0.149 1.482 -4.283 + -0.694 2.602 -3.450 0.254 3.246 -5.489 -0.202 3.833 -5.073 -1.020 + 3.909 -5.720 0.681 2.572 -6.771 -0.763 2.233 -7.393 0.094 1.661 + -6.525 -1.318 3.443 -7.659 -1.601 3.632 -7.123 -2.531 4.363 -7.823 + -1.072 2.790 -8.957 -1.792 1.837 -8.837 -2.123 3.308 -9.498 -2.464 + 2.719 -9.449 -0.919 0.367 -3.420 1.531 -0.723 -3.118 0.959 1.025 + -2.489 2.264 1.996 -2.666 2.480 0.593 -1.083 2.207 -0.467 -1.156 + 2.259 1.069 -0.215 3.436 2.111 -0.359 3.580 0.883 0.836 3.297 + 0.526 -0.630 4.730 1.148 -1.287 5.728 2.190 -1.573 5.718 0.251 + -1.531 6.742 0.550 -1.832 7.663 -1.021 -1.089 6.405 -2.246 -1.122 + 7.102 -2.314 -1.529 8.085 -3.351 -0.507 6.508 -4.273 -0.509 7.025 + -3.246 0.117 5.264 -4.113 0.594 4.802 -1.990 0.146 4.619 -1.903 + 0.552 3.600 -0.842 -0.455 5.168 1.034 -0.418 0.862 2.150 -0.677 + 0.391 0.305 0.584 0.360 -0.629 0.677 0.754 0.570 1.234 -0.954 + 1.641 1.231 -1.172 -0.172 0.444 -2.046 0.147 -0.569 -1.876 -1.690 + 0.566 -2.073 -2.030 1.589 -1.959 -2.072 0.168 -3.008 -2.058 -0.060 + -1.290 0.211 0.809 -3.343 0.132 0.003 -3.913 0.077 2.670 -0.938 + -0.708 3.036 -0.078 0.473 3.535 -1.866 0.976 3.117 -2.637 -0.029 + 4.874 -2.122 -0.535 5.209 -1.235 1.137 5.801 -2.421 1.843 5.682 + -1.561 1.702 5.529 -3.275 0.785 7.223 -2.551 0.738 7.916 -3.683 + 0.916 7.499 -4.663 0.482 9.231 -3.447 0.404 9.894 -4.200 0.319 + 9.485 -2.118 0.023 10.611 -1.312 -0.208 11.569 -1.769 -0.055 10.537 + 0.089 -0.231 11.422 0.657 0.109 9.266 0.713 0.037 9.134 1.793 + 0.414 8.155 -0.097 0.651 7.232 0.419 0.512 8.210 -1.523 -1.038 + 4.830 -3.286 -0.839 4.163 -4.359 -2.128 5.569 -3.052 -2.258 5.983 + -2.127 -3.223 5.667 -4.052 -2.792 5.593 -5.080 -4.238 4.483 -3.811 + -4.568 4.427 -2.755 -5.132 4.665 -4.364 -3.796 3.139 -4.262 -2.880 + 2.816 -3.716 -4.652 2.493 -4.040 -3.509 2.931 -5.732 -4.387 3.177 + -6.324 -2.757 3.593 -6.071 -3.004 1.483 -5.993 -3.564 0.751 -5.467 + -3.096 1.295 -7.038 -1.603 1.242 -5.621 -1.401 1.610 -4.684 -1.416 + 0.227 -5.609 -0.979 1.697 -6.261 -3.954 7.048 -3.966 -3.780 7.773 + -2.955 -4.699 7.491 -5.004 -4.787 6.948 -5.855 -5.154 8.400 -4.950 + -2.761 9.117 -0.823 -2.983 8.503 -1.589 -1.776 9.282 -0.806 -3.216 + 9.995 -0.899 -3.245 8.589 0.416 -2.796 9.270 1.152 -4.799 8.558 + 0.511 -5.205 9.490 0.221 -5.220 7.791 -0.137 -5.095 8.354 1.923 + -5.997 8.071 2.050 -2.765 7.167 0.612 -2.458 6.515 -0.407 -2.748 + 6.588 1.844 -3.152 7.033 2.656 -2.444 5.178 1.982 -1.631 4.955 + 1.307 -1.871 4.971 3.415 -2.634 5.318 4.112 -1.620 3.883 3.665 + -0.716 5.838 3.748 -0.677 6.777 4.739 -1.478 6.944 5.477 0.590 + 7.352 4.750 0.912 7.948 5.508 1.379 6.895 3.713 2.689 7.220 + 3.294 3.187 8.050 3.704 3.255 6.445 2.318 4.296 6.537 2.096 + 2.518 5.457 1.675 3.035 4.863 0.890 1.225 5.074 2.074 0.816 + 4.146 1.698 0.613 5.844 3.105 -3.611 4.268 1.594 -4.761 4.700 + 1.611 -3.309 3.010 1.253 -2.349 2.824 1.006 -4.240 1.951 0.871 + -5.084 1.985 1.546 -4.751 2.210 -0.539 -3.943 2.517 -1.171 -5.540 + 1.040 -1.228 -6.371 0.669 -0.615 -5.960 1.355 -2.197 -4.865 0.212 + -1.427 -5.607 3.340 -0.515 -5.499 3.887 0.263 -3.618 0.610 1.092 + -2.407 0.499 1.137 -4.427 -0.433 1.223 -5.435 -0.282 1.164 -3.938 + -1.830 1.214 -2.887 -1.827 1.435 -4.733 -2.623 2.287 -4.814 -2.066 + 3.210 -5.722 -2.695 1.885 -4.202 -4.045 2.546 -4.808 -5.183 2.129 + -5.749 -5.271 1.607 -4.086 -6.239 2.633 -4.354 -7.204 2.523 -2.965 + -5.849 3.338 -1.973 -6.520 4.045 -1.963 -7.600 4.146 -0.904 -5.800 + 4.609 -0.129 -6.348 5.091 -0.942 -4.393 4.600 -0.250 -3.770 5.171 + -1.994 -3.763 3.944 -2.075 -2.708 3.991 -3.018 -4.447 3.316 -4.044 + -2.498 -0.194 -5.062 -2.350 -0.863 -3.030 -3.226 -0.640 -2.277 -3.418 + 0.007 -2.942 -3.786 -1.996 -3.944 -4.025 -2.372 -2.328 -2.674 -2.851 + -3.129 -1.948 -2.960 -1.461 -2.201 -2.330 -1.909 -3.046 -4.245 -1.092 + -3.671 -4.170 -2.742 -3.585 -4.707 -1.533 -1.772 -5.056 -0.507 -1.114 + -4.767 -2.273 -1.407 -6.000 -2.051 -5.029 -2.022 -0.902 -5.048 -1.565 + -2.571 -6.140 -2.562 -3.484 -6.102 -2.998 -1.790 -7.383 -2.739 -2.464 + -8.230 -2.954 -0.924 -7.262 -4.018 -0.203 -6.440 -3.881 -0.408 -8.196 + -4.248 -1.781 -6.871 -5.230 -2.878 -7.338 -5.450 -1.315 -5.959 -6.030 + -1.842 -5.817 -6.890 -0.339 -5.742 -5.988 -1.023 -7.904 -1.526 0.030 + -8.517 -1.685 -1.511 -7.661 -0.314 -2.411 -7.208 -0.293 -0.906 -7.948 + 0.989 -1.748 -7.997 1.654 -0.421 -8.904 0.986 0.154 -6.951 1.501 + 0.964 -7.245 2.395 0.238 -5.758 0.909 -0.431 -5.489 0.185 1.174 + -4.724 1.321 1.724 -4.978 2.244 2.133 -4.392 0.149 1.482 -4.284 + -0.694 2.601 -3.448 0.253 3.246 -5.488 -0.202 3.833 -5.072 -1.020 + 3.908 -5.720 0.680 2.572 -6.771 -0.763 2.234 -7.391 0.093 1.662 + -6.524 -1.319 3.443 -7.659 -1.601 3.631 -7.125 -2.532 4.363 -7.824 + -1.072 2.790 -8.957 -1.791 1.838 -8.836 -2.122 3.308 -9.498 -2.462 + 2.718 -9.449 -0.915 0.366 -3.420 1.532 -0.723 -3.118 0.959 1.025 + -2.490 2.264 1.997 -2.666 2.479 0.594 -1.084 2.207 -0.468 -1.156 + 2.258 1.069 -0.215 3.437 2.112 -0.358 3.577 0.882 0.837 3.296 + 0.525 -0.630 4.730 1.148 -1.287 5.728 2.189 -1.574 5.720 0.251 + -1.531 6.742 0.549 -1.832 7.664 -1.021 -1.089 6.405 -2.246 -1.123 + 7.101 -2.314 -1.530 8.085 -3.351 -0.507 6.508 -4.275 -0.509 7.026 + -3.246 0.117 5.264 -4.113 0.593 4.802 -1.990 0.146 4.618 -1.902 + 0.551 3.601 -0.842 -0.455 5.168 1.034 -0.418 0.862 2.150 -0.677 + 0.391 0.305 0.585 0.360 -0.627 0.676 0.753 0.570 1.234 -0.954 + 1.641 1.231 -1.173 -0.172 0.444 -2.046 0.145 -0.570 -1.876 -1.690 + 0.566 -2.073 -2.030 1.589 -1.959 -2.073 0.169 -3.009 -2.059 -0.058 + -1.290 0.211 0.809 -3.343 0.131 0.001 -3.910 0.077 2.670 -0.939 + -0.707 3.036 -0.078 0.473 3.535 -1.866 0.975 3.117 -2.637 -0.030 + 4.874 -2.122 -0.535 5.210 -1.235 1.137 5.801 -2.420 1.842 5.684 + -1.562 1.701 5.527 -3.278 0.785 7.223 -2.551 0.738 7.916 -3.683 + 0.916 7.499 -4.663 0.483 9.231 -3.448 0.404 9.893 -4.200 0.319 + 9.485 -2.117 0.024 10.611 -1.311 -0.207 11.568 -1.771 -0.055 10.536 + 0.089 -0.231 11.422 0.659 0.109 9.267 0.713 0.038 9.133 1.793 + 0.415 8.156 -0.097 0.652 7.232 0.416 0.512 8.210 -1.523 -1.038 + 4.830 -3.286 -0.839 4.162 -4.359 -2.128 5.569 -3.052 -2.259 5.983 + -2.126 -3.222 5.667 -4.052 -2.791 5.593 -5.078 -4.237 4.483 -3.810 + -4.565 4.427 -2.754 -5.132 4.667 -4.366 -3.795 3.139 -4.263 -2.882 + 2.817 -3.715 -4.652 2.492 -4.040 -3.509 2.931 -5.733 -4.387 3.177 + -6.324 -2.755 3.594 -6.071 -3.004 1.483 -5.993 -3.567 0.751 -5.467 + -3.096 1.294 -7.039 -1.603 1.241 -5.621 -1.399 1.611 -4.683 -1.418 + 0.229 -5.610 -0.979 1.694 -6.261 -3.954 7.048 -3.966 -3.780 7.773 + -2.955 -4.699 7.491 -5.004 -4.788 6.951 -5.855 -5.154 8.399 -4.952 + -2.761 9.116 -0.823 -2.984 8.502 -1.592 -1.775 9.281 -0.805 -3.219 + 9.995 -0.902 -3.245 8.589 0.416 -2.798 9.269 1.154 -4.799 8.557 + 0.511 -5.206 9.490 0.218 -5.220 7.789 -0.137 -5.095 8.353 1.922 + -5.996 8.071 2.049 -2.764 7.167 0.613 -2.459 6.514 -0.406 -2.748 + 6.589 1.844 -3.153 7.035 2.657 -2.444 5.178 1.982 -1.631 4.955 + 1.305 -1.871 4.971 3.415 -2.634 5.319 4.112 -1.621 3.886 3.664 + -0.716 5.839 3.748 -0.676 6.778 4.739 -1.477 6.943 5.476 0.590 + 7.352 4.751 0.914 7.947 5.508 1.378 6.895 3.713 2.690 7.220 + 3.294 3.188 8.052 3.706 3.255 6.445 2.319 4.297 6.535 2.095 + 2.518 5.457 1.675 3.035 4.864 0.893 1.224 5.074 2.074 0.817 + 4.146 1.698 0.614 5.845 3.105 -3.611 4.268 1.594 -4.761 4.700 + 1.611 -3.309 3.010 1.253 -2.349 2.826 1.005 -4.240 1.952 0.871 + -5.084 1.986 1.546 -4.752 2.211 -0.539 -3.943 2.517 -1.173 -5.540 + 1.040 -1.229 -6.370 0.670 -0.614 -5.959 1.356 -2.197 -4.864 0.211 + -1.426 -5.607 3.339 -0.515 -5.497 3.883 0.263 -3.618 0.610 1.092 + -2.407 0.499 1.137 -4.428 -0.433 1.223 -5.435 -0.282 1.164 -3.938 + -1.829 1.213 -2.887 -1.828 1.437 -4.733 -2.623 2.287 -4.815 -2.066 + 3.211 -5.722 -2.697 1.884 -4.202 -4.046 2.546 -4.807 -5.182 2.129 + -5.749 -5.270 1.605 -4.086 -6.239 2.632 -4.354 -7.205 2.522 -2.965 + -5.849 3.338 -1.973 -6.520 4.045 -1.964 -7.599 4.145 -0.904 -5.799 + 4.609 -0.128 -6.346 5.091 -0.941 -4.393 4.601 -0.250 -3.770 5.172 + -1.995 -3.762 3.945 -2.076 -2.706 3.992 -3.018 -4.446 3.316 -4.044 + -2.497 -0.194 -5.062 -2.350 -0.864 -3.030 -3.226 -0.640 -2.277 -3.420 + 0.003 -2.942 -3.786 -1.996 -3.944 -4.025 -2.374 -2.328 -2.674 -2.851 + -3.130 -1.948 -2.961 -1.463 -2.202 -2.329 -1.909 -3.045 -4.245 -1.089 + -3.672 -4.169 -2.741 -3.585 -4.706 -1.533 -1.772 -5.055 -0.507 -1.114 + -4.767 -2.273 -1.407 -6.000 -2.052 -5.029 -2.022 -0.902 -5.048 -1.565 + -2.571 -6.140 -2.562 -3.482 -6.102 -2.997 -1.790 -7.384 -2.739 -2.466 + -8.227 -2.953 -0.924 -7.262 -4.018 -0.203 -6.442 -3.880 -0.407 -8.195 + -4.246 -1.781 -6.871 -5.230 -2.878 -7.338 -5.450 -1.315 -5.959 -6.029 + -1.841 -5.817 -6.890 -0.340 -5.742 -5.989 -1.023 -7.904 -1.527 0.029 + -8.516 -1.685 -1.512 -7.662 -0.314 -2.411 -7.209 -0.294 -0.906 -7.948 + 0.990 -1.748 -7.995 1.655 -0.423 -8.905 0.985 0.153 -6.951 1.500 + 0.964 -7.244 2.395 0.238 -5.759 0.909 -0.428 -5.491 0.187 1.174 + -4.724 1.321 1.723 -4.978 2.244 2.132 -4.393 0.149 1.482 -4.284 + -0.694 2.600 -3.446 0.252 3.246 -5.488 -0.202 3.833 -5.072 -1.019 + 3.908 -5.720 0.678 2.572 -6.771 -0.762 2.236 -7.390 0.093 1.663 + -6.523 -1.320 3.443 -7.658 -1.601 3.631 -7.127 -2.534 4.364 -7.824 + -1.072 2.789 -8.957 -1.791 1.838 -8.835 -2.122 3.308 -9.498 -2.459 + 2.717 -9.450 -0.912 0.366 -3.420 1.532 -0.723 -3.118 0.958 1.025 + -2.491 2.264 1.998 -2.667 2.478 0.594 -1.085 2.208 -0.469 -1.155 + 2.257 1.069 -0.215 3.437 2.113 -0.357 3.573 0.882 0.838 3.295 + 0.525 -0.629 4.730 1.148 -1.287 5.728 2.187 -1.574 5.722 0.251 + -1.531 6.742 0.548 -1.831 7.664 -1.021 -1.090 6.405 -2.246 -1.123 + 7.101 -2.315 -1.530 8.085 -3.351 -0.507 6.507 -4.276 -0.509 7.027 + -3.245 0.116 5.263 -4.113 0.593 4.802 -1.990 0.146 4.618 -1.902 + 0.551 3.603 -0.842 -0.455 5.169 1.034 -0.418 0.862 2.151 -0.677 + 0.391 0.306 0.585 0.359 -0.625 0.676 0.752 0.571 1.234 -0.954 + 1.641 1.231 -1.173 -0.172 0.444 -2.046 0.143 -0.571 -1.876 -1.690 + 0.567 -2.073 -2.031 1.590 -1.959 -2.073 0.169 -3.010 -2.059 -0.057 + -1.289 0.211 0.808 -3.344 0.130 -0.001 -3.908 0.078 2.670 -0.939 + -0.707 3.036 -0.078 0.473 3.535 -1.866 0.975 3.116 -2.638 -0.030 + 4.874 -2.122 -0.535 5.211 -1.234 1.137 5.801 -2.420 1.841 5.685 + -1.563 1.701 5.524 -3.280 0.785 7.223 -2.550 0.738 7.915 -3.683 + 0.917 7.499 -4.664 0.483 9.231 -3.448 0.404 9.892 -4.200 0.320 + 9.486 -2.117 0.024 10.611 -1.311 -0.206 11.566 -1.772 -0.054 10.535 + 0.090 -0.231 11.422 0.660 0.109 9.267 0.713 0.039 9.132 1.794 + 0.415 8.156 -0.097 0.652 7.232 0.413 0.513 8.209 -1.523 -1.038 + 4.831 -3.286 -0.839 4.162 -4.359 -2.127 5.569 -3.052 -2.260 5.984 + -2.126 -3.222 5.668 -4.052 -2.791 5.594 -5.076 -4.236 4.483 -3.809 + -4.561 4.427 -2.754 -5.133 4.668 -4.368 -3.795 3.138 -4.263 -2.884 + 2.818 -3.714 -4.651 2.492 -4.040 -3.509 2.931 -5.734 -4.386 3.176 + -6.325 -2.754 3.595 -6.072 -3.004 1.483 -5.993 -3.569 0.751 -5.467 + -3.096 1.293 -7.040 -1.603 1.241 -5.621 -1.398 1.612 -4.683 -1.419 + 0.231 -5.610 -0.980 1.692 -6.260 -3.955 7.048 -3.967 -3.780 7.772 + -2.954 -4.699 7.492 -5.004 -4.789 6.954 -5.854 -5.154 8.399 -4.953 diff --git a/test/Test_VelFrc/trpzip2.vel.crd.save b/test/Test_VelFrc/trpzip2.vel.crd.save new file mode 100644 index 0000000000..54cd82938a --- /dev/null +++ b/test/Test_VelFrc/trpzip2.vel.crd.save @@ -0,0 +1,6601 @@ +Cpptraj Generated trajectory + 0.013 -0.419 0.051 0.401 -1.721 -0.657 0.745 1.075 -0.573 -0.546 + 0.126 1.264 -0.126 0.106 -0.304 0.817 1.206 -2.069 -0.037 -0.557 + -0.550 -0.904 0.574 -0.635 -0.245 -0.796 -0.632 -0.135 -0.176 0.108 + 0.959 0.056 0.288 0.017 0.158 0.004 -0.145 -0.311 0.182 -0.033 + -0.062 0.377 -0.587 -0.930 1.549 -0.318 0.191 -0.096 0.377 0.604 + 0.151 0.258 -0.091 0.071 0.641 1.415 0.019 -0.006 1.710 1.063 + 0.174 0.195 -0.196 -0.226 0.149 0.140 0.806 0.076 -0.382 0.350 + -0.145 0.147 0.443 -0.264 1.295 0.656 0.403 -0.153 -0.321 0.118 + -0.006 0.830 1.554 -0.617 0.025 -0.141 0.041 0.647 -0.230 1.387 + 0.100 0.297 0.050 -1.018 1.428 1.630 0.204 -0.235 -0.387 0.705 + -0.928 0.782 -0.285 -0.128 -0.123 0.054 -0.016 -0.235 -0.118 0.018 + -0.111 0.106 0.048 -0.157 -0.539 -0.233 -1.528 0.476 -0.120 -0.269 + 0.531 -0.556 0.050 0.073 -0.123 0.037 0.623 1.051 -0.239 0.029 + -0.208 0.009 -0.140 -0.736 -0.747 -0.138 -1.020 0.044 0.196 -0.037 + -0.007 0.079 0.107 0.433 -1.999 0.551 -0.792 0.026 0.181 -0.040 + 0.116 0.012 -0.202 0.115 0.344 0.189 0.195 0.925 0.553 -0.004 + 0.185 0.237 0.650 0.988 -1.357 -0.039 0.097 0.110 -0.997 1.064 + 0.173 -0.603 1.167 -0.961 0.159 0.224 0.081 0.150 -0.097 -0.408 + -0.591 -0.032 -0.423 0.115 0.298 -0.244 0.494 0.031 -0.307 0.167 + 0.269 -0.086 0.074 0.198 0.264 -0.286 0.688 0.395 0.014 0.105 + -0.124 0.160 -1.235 -0.151 -0.217 0.408 0.108 -1.384 0.514 0.787 + -0.060 -0.396 0.249 -0.464 0.271 0.708 0.112 -0.154 0.302 0.043 + 0.161 -0.312 0.179 0.058 0.035 0.096 0.173 -0.060 -1.727 -0.040 + 0.638 -0.316 0.098 -0.135 -1.166 -0.132 0.323 0.069 -0.094 0.151 + -0.442 -0.232 -0.152 -0.917 0.630 -0.777 -0.085 0.188 0.307 1.526 + -1.259 0.851 0.203 -0.115 0.507 0.040 0.308 0.030 0.102 0.104 + -0.092 0.110 -0.304 -0.057 -0.008 -0.083 -0.079 -0.142 -0.110 0.112 + -0.196 0.246 -0.107 1.298 -0.230 0.070 -0.054 0.074 0.213 1.893 + -0.199 -0.062 0.230 -0.201 0.217 -0.869 0.244 -0.475 -0.398 -0.070 + -0.278 -0.050 0.049 -0.099 0.156 -0.072 -0.233 -0.021 0.266 0.498 + 0.400 -0.517 -0.124 -0.274 -1.821 -0.092 -0.307 0.146 0.087 -0.012 + 0.068 -0.108 -0.044 -0.171 -0.025 0.128 -0.944 0.511 -0.227 0.082 + -0.088 -1.084 -0.002 -0.651 0.886 0.130 1.128 0.238 -0.073 0.245 + -0.007 0.376 0.189 0.053 -0.029 -0.287 0.672 0.184 0.784 -0.037 + -0.457 0.322 0.359 -0.180 -0.495 -0.193 0.084 0.031 -1.257 -0.440 + -0.190 0.371 1.397 -0.628 0.477 -0.025 0.170 -0.245 0.105 -0.063 + -0.025 0.659 -0.888 0.147 0.044 -0.176 -0.129 0.586 -1.172 -0.557 + -0.476 0.472 -0.245 -0.105 -0.210 -0.148 0.914 0.552 -0.045 0.133 + 0.224 -0.020 0.279 0.088 0.456 -0.709 -0.459 -0.482 0.569 1.340 + -0.223 -0.485 1.519 0.107 -0.516 -0.001 -0.215 0.304 -0.186 0.243 + -0.321 0.008 0.563 -0.274 -1.283 0.105 -0.377 -0.074 -0.366 -2.139 + 0.856 -0.316 0.010 -0.018 -0.235 -0.384 2.304 -0.344 0.959 0.412 + 0.296 0.020 0.128 0.124 0.083 0.063 -0.558 0.599 -0.761 -0.014 + -0.031 -0.074 0.848 1.216 -0.189 -0.195 -0.181 -0.230 -0.123 -0.260 + -0.282 -0.055 -0.052 0.357 0.225 -0.189 -0.144 -0.985 -0.431 -0.064 + -0.127 -0.004 -0.163 0.068 -0.024 -0.142 0.220 -0.027 0.077 -0.079 + -1.171 1.001 0.193 0.109 -0.216 -0.107 -0.296 -0.199 0.143 0.323 + 0.171 0.053 0.100 0.258 0.406 -0.723 -0.768 0.374 0.158 -0.062 + 0.121 -0.117 -0.195 -0.158 0.100 0.123 1.064 0.268 1.128 0.137 + 0.359 -0.125 0.107 0.514 -0.160 0.277 -0.643 0.022 -0.081 -0.362 + -0.174 0.001 -0.571 0.004 0.379 0.371 -1.029 0.109 -0.146 -0.023 + 0.234 -0.158 -0.012 -0.319 0.363 0.140 -0.302 0.482 -0.668 -0.029 + 0.347 0.062 -0.081 0.177 0.248 -0.221 0.049 0.135 -1.054 -0.526 + -0.794 1.304 0.775 -1.168 -0.034 -0.278 -0.341 -0.026 0.090 0.252 + -0.169 0.166 -0.016 0.370 -0.115 0.007 -0.199 -0.331 0.010 0.364 + -0.117 -0.272 0.271 -0.172 0.055 -0.909 0.134 1.488 0.157 0.176 + 0.141 -0.247 1.037 0.609 0.148 -0.309 0.158 -0.626 -0.392 0.633 + 0.193 -0.114 -0.236 0.379 1.040 0.849 0.172 0.310 -0.210 -0.084 + -0.137 -0.120 -0.241 -0.345 -0.226 0.115 0.325 0.409 0.156 -0.016 + 0.946 0.277 -0.147 -0.139 -0.175 -0.062 0.809 0.442 -0.382 0.263 + -0.593 -1.075 -1.048 -1.053 -0.974 0.547 0.104 0.202 -0.207 -0.078 + -0.095 -1.803 -0.732 0.267 -1.198 -0.042 -0.104 -0.091 0.287 0.767 + -0.193 0.924 0.351 -0.830 0.163 0.010 -0.025 0.517 -1.154 1.042 + 0.362 0.182 -0.657 -0.016 -0.440 -0.157 -0.523 0.224 0.251 -0.134 + 1.021 1.111 -0.692 -0.734 0.166 -0.166 0.000 0.082 -0.002 0.028 + 0.289 -0.235 0.354 -0.312 0.995 0.716 0.162 -0.014 0.192 0.713 + 0.007 -0.416 0.049 0.436 -1.702 -0.645 0.728 1.068 -0.615 -0.568 + 0.161 1.245 -0.117 0.101 -0.305 0.808 1.226 -2.063 -0.040 -0.551 + -0.552 -0.958 0.513 -0.601 -0.249 -0.805 -0.678 -0.136 -0.174 0.112 + 0.956 0.022 0.265 0.008 0.157 -0.001 -0.148 -0.313 0.182 -0.033 + -0.062 0.363 -0.621 -0.919 1.529 -0.318 0.188 -0.101 0.361 0.636 + 0.140 0.249 -0.097 0.064 0.652 1.429 0.006 -0.027 1.681 1.079 + 0.180 0.192 -0.210 -0.225 0.151 0.148 0.810 0.060 -0.403 0.349 + -0.147 0.149 0.449 -0.237 1.321 0.642 0.399 -0.147 -0.310 0.129 + -0.009 0.838 1.583 -0.624 0.028 -0.152 0.044 0.636 -0.267 1.381 + 0.106 0.290 0.050 -1.013 1.399 1.637 0.199 -0.240 -0.372 0.728 + -0.949 0.809 -0.285 -0.130 -0.127 0.049 -0.005 -0.219 -0.109 0.019 + -0.112 0.115 0.053 -0.171 -0.488 -0.214 -1.482 0.465 -0.120 -0.265 + 0.477 -0.562 -0.011 0.070 -0.125 0.040 0.592 1.004 -0.198 0.027 + -0.212 0.002 -0.137 -0.760 -0.776 -0.151 -1.057 0.045 0.219 -0.031 + -0.021 0.081 0.103 0.438 -1.992 0.527 -0.795 0.025 0.174 -0.038 + 0.115 0.015 -0.200 0.112 0.356 0.196 0.237 0.930 0.564 0.004 + 0.176 0.234 0.639 0.964 -1.358 -0.038 0.095 0.122 -1.019 1.036 + 0.225 -0.591 1.204 -0.963 0.154 0.219 0.070 0.142 -0.091 -0.399 + -0.615 -0.069 -0.388 0.120 0.281 -0.240 0.517 0.053 -0.292 0.174 + 0.270 -0.088 0.074 0.202 0.268 -0.252 0.724 0.396 0.014 0.106 + -0.123 0.160 -1.223 -0.132 -0.223 0.397 0.124 -1.348 0.547 0.769 + -0.058 -0.382 0.247 -0.446 0.304 0.742 0.101 -0.165 0.293 0.045 + 0.158 -0.303 0.189 0.072 0.042 0.101 0.175 -0.066 -1.746 -0.025 + 0.656 -0.306 0.090 -0.131 -1.164 -0.099 0.385 0.075 -0.092 0.148 + -0.452 -0.216 -0.160 -0.892 0.625 -0.749 -0.088 0.186 0.315 1.502 + -1.235 0.860 0.191 -0.112 0.525 0.040 0.306 0.038 0.101 0.112 + -0.087 0.103 -0.309 -0.065 -0.008 -0.070 -0.072 -0.148 -0.119 0.123 + -0.194 0.243 -0.109 1.295 -0.241 0.025 -0.050 0.079 0.222 1.887 + -0.224 -0.043 0.239 -0.200 0.220 -0.912 0.227 -0.485 -0.404 -0.068 + -0.262 -0.045 0.050 -0.094 0.155 -0.076 -0.233 -0.015 0.274 0.504 + 0.370 -0.553 -0.146 -0.269 -1.795 -0.089 -0.299 0.147 0.076 -0.017 + 0.072 -0.113 -0.035 -0.168 -0.028 0.151 -0.933 0.510 -0.232 0.076 + -0.091 -1.099 -0.025 -0.591 0.863 0.148 1.146 0.230 -0.082 0.246 + -0.013 0.370 0.191 0.051 -0.034 -0.285 0.639 0.172 0.798 -0.035 + -0.455 0.325 0.390 -0.156 -0.441 -0.205 0.082 0.038 -1.266 -0.449 + -0.153 0.330 1.416 -0.623 0.465 -0.041 0.166 -0.285 0.126 -0.069 + -0.051 0.668 -0.923 0.152 0.058 -0.175 -0.125 0.598 -1.187 -0.507 + -0.472 0.490 -0.239 -0.116 -0.205 -0.115 0.910 0.602 -0.055 0.136 + 0.222 -0.028 0.281 0.093 0.441 -0.675 -0.467 -0.468 0.562 1.309 + -0.206 -0.464 1.501 0.102 -0.516 -0.009 -0.215 0.303 -0.175 0.252 + -0.316 0.004 0.582 -0.275 -1.297 0.090 -0.384 -0.079 -0.351 -2.161 + 0.878 -0.316 0.009 -0.018 -0.277 -0.373 2.257 -0.357 0.932 0.398 + 0.297 0.020 0.135 0.124 0.087 0.069 -0.548 0.604 -0.699 -0.002 + -0.025 -0.073 0.848 1.205 -0.191 -0.185 -0.177 -0.239 -0.119 -0.263 + -0.290 -0.016 -0.087 0.334 0.231 -0.187 -0.151 -1.000 -0.426 0.003 + -0.128 -0.022 -0.162 0.049 0.007 -0.147 0.224 -0.022 0.080 -0.074 + -1.163 1.002 0.189 0.107 -0.220 -0.107 -0.303 -0.212 0.134 0.314 + 0.164 0.051 0.103 0.256 0.352 -0.671 -0.783 0.366 0.158 -0.060 + 0.123 -0.113 -0.193 -0.171 0.096 0.140 1.036 0.278 1.157 0.128 + 0.372 -0.129 0.115 0.537 -0.173 0.279 -0.629 0.008 -0.056 -0.318 + -0.183 -0.012 -0.575 0.022 0.394 0.381 -1.061 0.109 -0.149 -0.015 + 0.231 -0.153 -0.017 -0.320 0.362 0.134 -0.315 0.464 -0.643 -0.024 + 0.346 0.053 -0.084 0.168 0.275 -0.221 0.063 0.129 -1.075 -0.504 + -0.822 1.338 0.780 -1.159 -0.040 -0.274 -0.333 -0.032 0.087 0.242 + -0.141 0.159 0.020 0.374 -0.111 0.005 -0.193 -0.351 0.001 0.368 + -0.112 -0.273 0.274 -0.185 0.056 -0.923 0.097 1.491 0.157 0.164 + 0.145 -0.308 1.044 0.602 0.143 -0.310 0.142 -0.624 -0.427 0.640 + 0.181 -0.108 -0.226 0.377 1.012 0.830 0.159 0.317 -0.203 -0.095 + -0.131 -0.126 -0.239 -0.345 -0.221 0.128 0.342 0.398 0.182 0.005 + 0.964 0.286 -0.146 -0.131 -0.157 -0.081 0.827 0.437 -0.386 0.261 + -0.593 -1.054 -1.036 -1.134 -0.960 0.564 0.107 0.196 -0.212 -0.068 + -0.117 -1.831 -0.740 0.251 -1.206 -0.039 -0.110 -0.087 0.272 0.793 + -0.167 0.933 0.370 -0.827 0.157 0.015 -0.020 0.528 -1.153 1.066 + 0.337 0.185 -0.622 -0.011 -0.438 -0.161 -0.472 0.229 0.224 -0.076 + 1.012 1.109 -0.676 -0.737 0.171 -0.167 -0.004 0.084 0.004 0.022 + 0.283 -0.227 0.353 -0.310 0.985 0.692 0.170 -0.042 0.189 0.713 + -0.004 -0.410 0.047 0.477 -1.751 -0.616 0.742 1.027 -0.661 -0.564 + 0.131 1.262 -0.109 0.100 -0.301 0.867 1.210 -2.068 -0.048 -0.551 + -0.567 -0.956 0.517 -0.601 -0.271 -0.787 -0.738 -0.133 -0.179 0.114 + 0.949 -0.015 0.287 0.003 0.160 0.006 -0.149 -0.320 0.182 -0.041 + -0.061 0.367 -0.631 -0.885 1.554 -0.315 0.189 -0.100 0.362 0.627 + 0.141 0.244 -0.091 0.055 0.647 1.404 0.034 -0.053 1.671 1.090 + 0.184 0.189 -0.199 -0.219 0.149 0.145 0.789 0.029 -0.394 0.352 + -0.151 0.158 0.449 -0.257 1.300 0.649 0.407 -0.146 -0.299 0.132 + -0.005 0.815 1.605 -0.674 0.028 -0.154 0.040 0.614 -0.263 1.343 + 0.117 0.293 0.052 -1.004 1.414 1.637 0.211 -0.237 -0.354 0.725 + -0.949 0.843 -0.287 -0.135 -0.126 0.061 -0.004 -0.221 -0.113 0.032 + -0.113 0.111 0.043 -0.153 -0.473 -0.230 -1.495 0.482 -0.122 -0.272 + 0.507 -0.553 -0.005 0.079 -0.144 0.043 0.588 0.997 -0.192 0.032 + -0.220 0.006 -0.148 -0.783 -0.752 -0.141 -1.074 0.036 0.222 -0.033 + -0.042 0.094 0.097 0.430 -1.983 0.496 -0.784 0.017 0.171 -0.030 + 0.119 0.021 -0.201 0.116 0.346 0.203 0.212 0.909 0.577 -0.009 + 0.181 0.233 0.642 0.986 -1.368 -0.051 0.087 0.114 -1.003 1.025 + 0.209 -0.590 1.196 -0.991 0.154 0.211 0.059 0.125 -0.086 -0.412 + -0.581 -0.091 -0.402 0.116 0.288 -0.229 0.510 -0.000 -0.243 0.167 + 0.274 -0.092 0.074 0.199 0.271 -0.231 0.684 0.405 0.017 0.114 + -0.133 0.140 -1.207 -0.131 -0.235 0.401 0.135 -1.326 0.513 0.757 + -0.054 -0.383 0.243 -0.448 0.341 0.780 0.101 -0.159 0.301 0.051 + 0.156 -0.313 0.191 0.079 0.042 0.099 0.182 -0.065 -1.742 0.010 + 0.684 -0.307 0.090 -0.134 -1.154 -0.063 0.378 0.079 -0.102 0.157 + -0.473 -0.220 -0.143 -0.891 0.628 -0.744 -0.081 0.179 0.307 1.519 + -1.223 0.826 0.213 -0.145 0.511 0.029 0.306 0.040 0.100 0.119 + -0.090 0.094 -0.309 -0.067 -0.026 -0.063 -0.068 -0.149 -0.109 0.122 + -0.186 0.244 -0.106 1.308 -0.247 0.019 -0.045 0.067 0.224 1.899 + -0.241 -0.036 0.231 -0.204 0.215 -0.908 0.236 -0.498 -0.417 -0.089 + -0.248 -0.041 0.054 -0.086 0.150 -0.072 -0.236 -0.018 0.284 0.516 + 0.390 -0.533 -0.097 -0.229 -1.770 -0.061 -0.289 0.146 0.082 -0.010 + 0.076 -0.116 -0.028 -0.163 -0.040 0.142 -0.941 0.516 -0.231 0.072 + -0.078 -1.094 -0.014 -0.591 0.863 0.152 1.154 0.236 -0.085 0.250 + -0.008 0.372 0.198 0.058 -0.032 -0.291 0.649 0.159 0.744 -0.018 + -0.464 0.330 0.417 -0.120 -0.418 -0.213 0.077 0.049 -1.270 -0.527 + -0.164 0.333 1.423 -0.586 0.472 -0.027 0.182 -0.261 0.165 -0.063 + -0.091 0.677 -0.899 0.147 0.055 -0.183 -0.151 0.581 -1.171 -0.458 + -0.461 0.510 -0.247 -0.115 -0.189 -0.129 0.908 0.612 -0.065 0.113 + 0.235 -0.025 0.273 0.090 0.451 -0.699 -0.472 -0.456 0.561 1.294 + -0.198 -0.448 1.481 0.099 -0.499 -0.012 -0.214 0.304 -0.178 0.253 + -0.322 0.006 0.623 -0.269 -1.343 0.086 -0.385 -0.079 -0.310 -2.156 + 0.908 -0.316 0.015 -0.020 -0.287 -0.368 2.273 -0.374 0.901 0.419 + 0.291 0.018 0.139 0.117 0.075 0.064 -0.552 0.590 -0.696 0.006 + -0.025 -0.072 0.833 1.226 -0.123 -0.183 -0.184 -0.247 -0.114 -0.275 + -0.292 -0.041 -0.115 0.354 0.242 -0.191 -0.161 -1.030 -0.410 -0.017 + -0.131 -0.025 -0.167 0.045 -0.007 -0.151 0.217 -0.021 0.088 -0.093 + -1.142 0.979 0.189 0.105 -0.214 -0.106 -0.298 -0.211 0.134 0.319 + 0.170 0.052 0.112 0.256 0.368 -0.678 -0.862 0.357 0.158 -0.059 + 0.097 -0.106 -0.180 -0.174 0.104 0.144 1.057 0.230 1.128 0.130 + 0.381 -0.135 0.071 0.524 -0.182 0.260 -0.604 -0.026 -0.031 -0.343 + -0.208 -0.016 -0.574 0.020 0.420 0.400 -1.068 0.090 -0.140 -0.010 + 0.237 -0.150 -0.030 -0.309 0.369 0.121 -0.329 0.461 -0.662 -0.031 + 0.353 0.057 -0.095 0.214 0.245 -0.223 0.061 0.129 -1.083 -0.498 + -0.841 1.276 0.809 -1.122 -0.033 -0.278 -0.334 -0.032 0.095 0.236 + -0.176 0.208 -0.032 0.376 -0.115 -0.000 -0.216 -0.373 -0.033 0.370 + -0.114 -0.267 0.275 -0.169 0.068 -0.869 0.064 1.507 0.169 0.155 + 0.152 -0.340 1.042 0.584 0.127 -0.305 0.139 -0.618 -0.414 0.630 + 0.171 -0.102 -0.236 0.341 1.036 0.856 0.160 0.320 -0.205 -0.093 + -0.128 -0.132 -0.229 -0.339 -0.223 0.130 0.339 0.403 0.203 0.004 + 0.954 0.287 -0.141 -0.129 -0.191 -0.120 0.862 0.440 -0.391 0.275 + -0.580 -1.049 -1.048 -1.129 -0.919 0.509 0.112 0.197 -0.218 -0.090 + -0.133 -1.848 -0.772 0.278 -1.191 -0.046 -0.125 -0.083 0.271 0.801 + -0.181 0.958 0.407 -0.826 0.160 0.002 -0.011 0.512 -1.190 1.029 + 0.332 0.138 -0.608 -0.016 -0.430 -0.161 -0.466 0.227 0.228 -0.071 + 1.022 1.108 -0.699 -0.761 0.179 -0.159 -0.006 0.075 0.002 0.010 + 0.280 -0.233 0.358 -0.306 1.025 0.653 0.164 -0.030 0.228 0.716 + -0.006 -0.418 0.045 0.496 -1.757 -0.607 0.761 1.014 -0.665 -0.566 + 0.127 1.249 -0.088 0.114 -0.311 0.876 1.192 -2.032 -0.062 -0.563 + -0.564 -0.962 0.524 -0.601 -0.279 -0.796 -0.741 -0.135 -0.169 0.111 + 0.910 -0.018 0.289 -0.000 0.165 0.012 -0.153 -0.317 0.186 -0.045 + -0.068 0.358 -0.650 -0.876 1.556 -0.323 0.184 -0.097 0.398 0.617 + 0.135 0.253 -0.095 0.066 0.670 1.418 0.037 -0.018 1.669 1.082 + 0.185 0.190 -0.187 -0.229 0.146 0.137 0.803 0.041 -0.404 0.342 + -0.153 0.147 0.470 -0.292 1.283 0.651 0.405 -0.157 -0.299 0.131 + -0.012 0.824 1.595 -0.650 0.021 -0.156 0.057 0.584 -0.255 1.322 + 0.113 0.305 0.048 -1.007 1.412 1.623 0.217 -0.244 -0.358 0.749 + -0.953 0.846 -0.294 -0.140 -0.129 0.060 -0.005 -0.214 -0.110 0.029 + -0.105 0.103 0.048 -0.148 -0.440 -0.212 -1.504 0.491 -0.123 -0.265 + 0.525 -0.577 -0.007 0.068 -0.142 0.045 0.615 1.006 -0.181 0.031 + -0.219 0.008 -0.154 -0.755 -0.770 -0.129 -1.082 -0.027 0.227 0.016 + -0.013 0.093 0.101 0.427 -1.944 0.511 -0.817 0.008 0.168 -0.027 + 0.120 0.022 -0.209 0.116 0.341 0.211 0.267 0.922 0.559 -0.009 + 0.183 0.235 0.611 1.003 -1.360 -0.047 0.090 0.118 -1.007 1.016 + 0.194 -0.606 1.177 -0.973 0.162 0.231 0.054 0.113 -0.089 -0.403 + -0.555 -0.088 -0.405 0.122 0.282 -0.241 0.541 -0.003 -0.294 0.170 + 0.273 -0.092 0.064 0.195 0.270 -0.236 0.656 0.410 0.025 0.122 + -0.130 0.112 -1.222 -0.162 -0.228 0.396 0.132 -1.324 0.486 0.755 + -0.053 -0.392 0.233 -0.449 0.292 0.786 0.105 -0.152 0.302 0.045 + 0.161 -0.310 0.190 0.087 0.046 0.106 0.181 -0.062 -1.777 -0.000 + 0.675 -0.309 0.089 -0.132 -1.174 -0.050 0.389 0.068 -0.108 0.152 + -0.416 -0.198 -0.136 -0.883 0.632 -0.735 -0.079 0.169 0.301 1.532 + -1.172 0.814 0.227 -0.119 0.507 0.023 0.311 0.045 0.088 0.117 + -0.087 0.096 -0.305 -0.070 -0.014 -0.063 -0.058 -0.158 -0.122 0.121 + -0.185 0.240 -0.121 1.300 -0.228 0.030 -0.050 0.075 0.213 1.885 + -0.230 -0.019 0.226 -0.206 0.221 -0.884 0.224 -0.510 -0.396 -0.139 + -0.210 -0.044 0.065 -0.095 0.146 -0.073 -0.227 -0.001 0.277 0.525 + 0.372 -0.539 -0.068 -0.201 -1.771 -0.062 -0.290 0.144 0.090 -0.020 + 0.070 -0.119 -0.025 -0.161 -0.032 0.137 -0.966 0.538 -0.226 0.076 + -0.068 -1.109 -0.036 -0.550 0.847 0.150 1.158 0.228 -0.072 0.245 + -0.014 0.378 0.193 0.067 -0.039 -0.276 0.654 0.174 0.740 -0.012 + -0.471 0.327 0.391 -0.126 -0.397 -0.231 0.074 0.060 -1.282 -0.531 + -0.135 0.334 1.420 -0.595 0.470 -0.014 0.186 -0.243 0.163 -0.071 + -0.012 0.669 -0.873 0.144 0.056 -0.183 -0.149 0.551 -1.144 -0.478 + -0.482 0.495 -0.249 -0.124 -0.190 -0.133 0.939 0.609 -0.047 0.092 + 0.253 -0.027 0.264 0.085 0.398 -0.705 -0.461 -0.474 0.554 1.281 + -0.224 -0.454 1.469 0.103 -0.500 -0.008 -0.212 0.296 -0.183 0.257 + -0.323 -0.004 0.652 -0.248 -1.342 0.099 -0.376 -0.072 -0.300 -2.164 + 0.872 -0.322 0.011 -0.015 -0.297 -0.371 2.256 -0.364 0.907 0.449 + 0.296 0.032 0.150 0.105 0.077 0.078 -0.573 0.544 -0.694 0.008 + -0.021 -0.070 0.829 1.223 -0.099 -0.180 -0.178 -0.256 -0.111 -0.272 + -0.284 -0.051 -0.115 0.343 0.241 -0.179 -0.165 -1.030 -0.401 -0.002 + -0.127 -0.019 -0.162 -0.004 -0.024 -0.155 0.218 -0.019 0.073 -0.082 + -1.147 0.969 0.194 0.105 -0.209 -0.100 -0.293 -0.206 0.130 0.315 + 0.167 0.047 0.110 0.271 0.382 -0.706 -0.855 0.345 0.157 -0.068 + 0.135 -0.113 -0.196 -0.175 0.101 0.143 1.040 0.230 1.094 0.136 + 0.388 -0.128 0.083 0.537 -0.200 0.267 -0.647 -0.015 -0.037 -0.357 + -0.207 -0.006 -0.581 0.031 0.393 0.402 -1.073 0.089 -0.149 -0.008 + 0.237 -0.152 -0.029 -0.298 0.371 0.124 -0.352 0.452 -0.665 -0.040 + 0.346 0.053 -0.128 0.214 0.236 -0.231 0.064 0.130 -1.066 -0.449 + -0.803 1.272 0.822 -1.090 -0.034 -0.272 -0.344 -0.029 0.083 0.227 + -0.150 0.221 -0.036 0.377 -0.123 -0.002 -0.175 -0.390 -0.066 0.371 + -0.123 -0.270 0.280 -0.164 0.062 -0.833 0.082 1.511 0.150 0.155 + 0.155 -0.361 1.028 0.541 0.117 -0.311 0.139 -0.608 -0.391 0.617 + 0.169 -0.103 -0.236 0.330 1.039 0.839 0.165 0.327 -0.205 -0.095 + -0.129 -0.137 -0.230 -0.329 -0.230 0.127 0.342 0.405 0.184 0.044 + 0.934 0.290 -0.144 -0.118 -0.188 -0.119 0.833 0.438 -0.377 0.278 + -0.612 -1.088 -1.027 -1.092 -0.927 0.501 0.114 0.202 -0.213 -0.098 + -0.123 -1.882 -0.716 0.279 -1.214 -0.051 -0.133 -0.082 0.291 0.789 + -0.186 0.966 0.427 -0.824 0.147 -0.005 0.001 0.549 -1.137 1.044 + 0.311 0.144 -0.607 -0.020 -0.438 -0.155 -0.473 0.211 0.249 -0.071 + 1.001 1.092 -0.726 -0.764 0.146 -0.152 -0.007 0.068 0.002 0.023 + 0.268 -0.235 0.361 -0.306 1.007 0.669 0.097 -0.028 0.249 0.738 + -0.004 -0.420 0.037 0.480 -1.752 -0.596 0.758 1.044 -0.663 -0.572 + 0.142 1.242 -0.083 0.108 -0.306 0.884 1.192 -1.994 -0.061 -0.568 + -0.570 -0.912 0.530 -0.584 -0.302 -0.772 -0.763 -0.131 -0.175 0.108 + 0.875 -0.031 0.294 0.001 0.176 0.017 -0.155 -0.317 0.198 -0.041 + -0.087 0.368 -0.627 -0.849 1.530 -0.322 0.187 -0.089 0.398 0.584 + 0.110 0.262 -0.094 0.064 0.673 1.372 0.038 -0.040 1.642 1.061 + 0.179 0.191 -0.181 -0.223 0.147 0.137 0.808 0.034 -0.380 0.341 + -0.151 0.151 0.469 -0.324 1.276 0.662 0.417 -0.161 -0.300 0.130 + -0.019 0.813 1.609 -0.667 0.018 -0.156 0.049 0.616 -0.278 1.307 + 0.114 0.310 0.050 -0.972 1.416 1.523 0.210 -0.252 -0.344 0.771 + -0.985 0.839 -0.304 -0.135 -0.131 0.068 0.001 -0.205 -0.110 0.025 + -0.100 0.101 0.051 -0.137 -0.469 -0.222 -1.489 0.488 -0.112 -0.271 + 0.533 -0.543 0.013 0.067 -0.145 0.047 0.603 1.010 -0.195 0.034 + -0.217 0.001 -0.150 -0.770 -0.764 -0.119 -1.070 -0.015 0.249 0.025 + -0.041 0.102 0.097 0.426 -1.945 0.500 -0.788 0.003 0.172 -0.028 + 0.118 0.033 -0.216 0.117 0.345 0.204 0.250 0.940 0.560 -0.017 + 0.174 0.233 0.622 1.021 -1.355 -0.048 0.090 0.103 -0.986 0.971 + 0.190 -0.616 1.141 -0.962 0.174 0.236 0.049 0.106 -0.081 -0.400 + -0.536 -0.111 -0.422 0.121 0.286 -0.245 0.549 0.021 -0.294 0.151 + 0.259 -0.099 0.063 0.193 0.257 -0.265 0.697 0.385 0.022 0.118 + -0.130 0.116 -1.198 -0.102 -0.221 0.400 0.129 -1.309 0.510 0.730 + -0.045 -0.390 0.231 -0.407 0.226 0.764 0.115 -0.154 0.299 0.039 + 0.166 -0.322 0.188 0.081 0.044 0.108 0.196 -0.071 -1.767 -0.024 + 0.722 -0.296 0.080 -0.131 -1.177 -0.081 0.371 0.074 -0.100 0.160 + -0.358 -0.246 -0.163 -0.853 0.628 -0.719 -0.078 0.171 0.297 1.534 + -1.151 0.789 0.237 -0.123 0.489 0.023 0.314 0.042 0.080 0.103 + -0.082 0.092 -0.304 -0.064 -0.017 -0.046 -0.052 -0.156 -0.122 0.125 + -0.181 0.239 -0.115 1.255 -0.253 0.008 -0.046 0.077 0.209 1.851 + -0.233 -0.082 0.218 -0.216 0.215 -0.913 0.217 -0.501 -0.396 -0.152 + -0.220 -0.043 0.056 -0.101 0.142 -0.076 -0.220 -0.006 0.285 0.528 + 0.335 -0.491 -0.117 -0.178 -1.755 -0.091 -0.270 0.139 0.102 -0.018 + 0.062 -0.114 -0.025 -0.166 -0.031 0.093 -0.940 0.535 -0.218 0.072 + -0.062 -1.116 -0.032 -0.595 0.811 0.167 1.145 0.220 -0.088 0.232 + -0.017 0.390 0.200 0.066 -0.040 -0.286 0.646 0.218 0.746 -0.010 + -0.474 0.324 0.317 -0.116 -0.380 -0.237 0.082 0.056 -1.314 -0.524 + -0.107 0.358 1.438 -0.595 0.470 -0.022 0.185 -0.241 0.168 -0.063 + -0.005 0.675 -0.859 0.137 0.059 -0.168 -0.127 0.525 -1.135 -0.455 + -0.487 0.473 -0.248 -0.132 -0.188 -0.165 0.903 0.573 -0.028 0.112 + 0.255 -0.029 0.267 0.081 0.397 -0.694 -0.485 -0.430 0.557 1.243 + -0.249 -0.470 1.481 0.090 -0.497 -0.024 -0.213 0.306 -0.177 0.255 + -0.319 0.001 0.654 -0.269 -1.307 0.100 -0.378 -0.074 -0.331 -2.160 + 0.809 -0.318 0.022 -0.013 -0.302 -0.348 2.253 -0.377 0.941 0.485 + 0.298 0.037 0.152 0.108 0.077 0.064 -0.577 0.536 -0.727 0.010 + -0.029 -0.081 0.835 1.218 -0.076 -0.177 -0.183 -0.274 -0.106 -0.285 + -0.281 -0.053 -0.084 0.307 0.250 -0.181 -0.176 -1.066 -0.421 -0.055 + -0.119 -0.022 -0.168 0.007 -0.021 -0.144 0.232 -0.019 0.078 -0.096 + -1.181 0.933 0.197 0.092 -0.204 -0.099 -0.294 -0.204 0.135 0.317 + 0.165 0.046 0.115 0.280 0.391 -0.716 -0.869 0.344 0.155 -0.076 + 0.094 -0.082 -0.185 -0.180 0.103 0.150 1.035 0.236 1.097 0.132 + 0.392 -0.143 0.100 0.534 -0.176 0.270 -0.638 -0.047 -0.024 -0.372 + -0.180 -0.019 -0.584 0.030 0.423 0.409 -1.027 0.089 -0.148 -0.005 + 0.240 -0.151 -0.038 -0.295 0.368 0.130 -0.397 0.438 -0.674 -0.050 + 0.359 0.046 -0.122 0.194 0.246 -0.228 0.070 0.136 -1.049 -0.413 + -0.827 1.234 0.799 -1.068 -0.032 -0.272 -0.349 -0.038 0.092 0.222 + -0.181 0.249 -0.066 0.372 -0.113 0.005 -0.171 -0.401 -0.109 0.372 + -0.108 -0.277 0.290 -0.166 0.063 -0.835 0.127 1.527 0.146 0.146 + 0.158 -0.351 1.062 0.524 0.109 -0.316 0.130 -0.613 -0.451 0.588 + 0.174 -0.104 -0.235 0.323 1.062 0.825 0.159 0.333 -0.212 -0.087 + -0.128 -0.123 -0.231 -0.319 -0.238 0.118 0.340 0.407 0.154 0.080 + 0.953 0.286 -0.142 -0.123 -0.211 -0.100 0.833 0.428 -0.387 0.268 + -0.608 -1.093 -1.009 -1.115 -0.910 0.462 0.118 0.209 -0.202 -0.086 + -0.146 -1.882 -0.699 0.268 -1.178 -0.048 -0.132 -0.083 0.302 0.800 + -0.221 0.947 0.437 -0.809 0.150 0.008 0.004 0.545 -1.123 1.046 + 0.308 0.107 -0.651 -0.015 -0.437 -0.148 -0.457 0.223 0.211 -0.048 + 1.000 1.047 -0.719 -0.761 0.123 -0.138 -0.026 0.063 0.004 0.020 + 0.260 -0.243 0.360 -0.306 0.998 0.706 0.115 -0.043 0.260 0.713 + -0.011 -0.418 0.040 0.452 -1.731 -0.562 0.738 1.044 -0.643 -0.554 + 0.157 1.235 -0.089 0.106 -0.309 0.886 1.197 -2.017 -0.063 -0.574 + -0.569 -0.924 0.465 -0.543 -0.324 -0.804 -0.759 -0.125 -0.177 0.111 + 0.823 -0.001 0.287 0.001 0.181 0.014 -0.149 -0.307 0.189 -0.032 + -0.074 0.362 -0.648 -0.777 1.561 -0.319 0.189 -0.095 0.381 0.597 + 0.130 0.264 -0.103 0.082 0.692 1.342 0.028 -0.053 1.601 1.054 + 0.178 0.204 -0.175 -0.214 0.158 0.131 0.798 0.022 -0.383 0.347 + -0.157 0.153 0.494 -0.297 1.272 0.658 0.408 -0.156 -0.305 0.133 + -0.005 0.804 1.603 -0.642 0.023 -0.154 0.057 0.616 -0.312 1.298 + 0.127 0.308 0.049 -0.996 1.426 1.484 0.202 -0.236 -0.337 0.786 + -0.985 0.879 -0.295 -0.131 -0.142 0.073 0.006 -0.199 -0.108 0.029 + -0.110 0.100 0.055 -0.135 -0.449 -0.186 -1.493 0.483 -0.108 -0.269 + 0.535 -0.536 -0.034 0.061 -0.140 0.045 0.598 1.006 -0.197 0.030 + -0.212 -0.005 -0.181 -0.730 -0.763 -0.095 -1.088 -0.011 0.236 0.029 + -0.085 0.103 0.102 0.424 -1.875 0.509 -0.782 -0.001 0.181 -0.022 + 0.120 0.029 -0.208 0.119 0.332 0.199 0.245 0.904 0.592 -0.017 + 0.193 0.224 0.614 0.997 -1.334 -0.056 0.085 0.100 -0.950 0.964 + 0.225 -0.605 1.131 -0.936 0.173 0.237 0.043 0.103 -0.089 -0.408 + -0.538 -0.107 -0.408 0.116 0.282 -0.243 0.551 0.017 -0.313 0.137 + 0.257 -0.092 0.065 0.191 0.249 -0.264 0.689 0.367 0.022 0.118 + -0.123 0.106 -1.171 -0.080 -0.221 0.398 0.125 -1.295 0.519 0.732 + -0.043 -0.376 0.233 -0.418 0.217 0.704 0.111 -0.151 0.310 0.049 + 0.158 -0.310 0.190 0.075 0.035 0.108 0.194 -0.080 -1.755 -0.025 + 0.727 -0.294 0.082 -0.142 -1.142 -0.059 0.389 0.081 -0.111 0.162 + -0.341 -0.279 -0.159 -0.853 0.610 -0.702 -0.074 0.171 0.298 1.509 + -1.094 0.778 0.264 -0.069 0.494 0.019 0.325 0.051 0.075 0.097 + -0.077 0.090 -0.302 -0.058 -0.018 -0.043 -0.055 -0.156 -0.127 0.129 + -0.172 0.242 -0.114 1.246 -0.270 0.006 -0.057 0.077 0.208 1.857 + -0.205 -0.099 0.215 -0.214 0.218 -0.915 0.205 -0.511 -0.378 -0.131 + -0.158 -0.026 0.047 -0.096 0.132 -0.069 -0.227 -0.001 0.287 0.527 + 0.313 -0.498 -0.091 -0.169 -1.713 -0.048 -0.264 0.140 0.091 -0.025 + 0.068 -0.118 -0.019 -0.173 -0.022 0.059 -0.968 0.550 -0.213 0.088 + -0.060 -1.148 -0.054 -0.607 0.801 0.193 1.103 0.205 -0.094 0.229 + -0.017 0.396 0.196 0.076 -0.029 -0.283 0.663 0.228 0.713 -0.001 + -0.494 0.320 0.335 -0.154 -0.375 -0.233 0.083 0.041 -1.330 -0.578 + -0.078 0.350 1.429 -0.613 0.458 -0.021 0.192 -0.224 0.148 -0.087 + -0.003 0.677 -0.827 0.134 0.063 -0.180 -0.152 0.511 -1.138 -0.468 + -0.506 0.512 -0.254 -0.133 -0.188 -0.126 0.911 0.583 -0.099 0.131 + 0.242 -0.027 0.265 0.080 0.368 -0.704 -0.510 -0.458 0.548 1.208 + -0.255 -0.433 1.433 0.085 -0.493 -0.022 -0.213 0.306 -0.179 0.248 + -0.319 -0.006 0.692 -0.273 -1.333 0.098 -0.383 -0.066 -0.356 -2.166 + 0.807 -0.319 0.027 -0.016 -0.315 -0.377 2.223 -0.391 0.881 0.486 + 0.293 0.036 0.151 0.106 0.086 0.067 -0.537 0.536 -0.722 0.004 + -0.033 -0.083 0.880 1.201 -0.054 -0.183 -0.194 -0.281 -0.111 -0.292 + -0.286 -0.070 -0.089 0.309 0.254 -0.179 -0.169 -1.024 -0.426 -0.060 + -0.106 -0.016 -0.171 0.035 0.005 -0.210 0.227 -0.030 0.076 -0.078 + -1.155 0.888 0.192 0.096 -0.193 -0.097 -0.292 -0.200 0.140 0.328 + 0.156 0.051 0.114 0.265 0.338 -0.671 -0.871 0.337 0.141 -0.076 + 0.135 -0.102 -0.179 -0.179 0.107 0.138 0.988 0.278 1.086 0.130 + 0.389 -0.130 0.058 0.518 -0.156 0.255 -0.672 0.022 0.007 -0.378 + -0.175 -0.017 -0.591 0.046 0.442 0.453 -1.029 0.080 -0.134 -0.014 + 0.243 -0.152 -0.029 -0.281 0.364 0.125 -0.453 0.438 -0.643 -0.048 + 0.365 0.050 -0.149 0.179 0.246 -0.223 0.059 0.133 -1.031 -0.418 + -0.813 1.222 0.808 -1.056 -0.022 -0.278 -0.338 -0.026 0.102 0.219 + -0.178 0.203 -0.039 0.370 -0.108 0.009 -0.143 -0.399 -0.116 0.381 + -0.093 -0.283 0.294 -0.157 0.062 -0.844 0.149 1.528 0.156 0.150 + 0.175 -0.329 1.053 0.512 0.099 -0.323 0.136 -0.621 -0.437 0.580 + 0.164 -0.100 -0.231 0.307 1.088 0.815 0.159 0.330 -0.225 -0.075 + -0.122 -0.111 -0.229 -0.325 -0.239 0.124 0.340 0.405 0.226 0.065 + 0.939 0.290 -0.139 -0.122 -0.225 -0.093 0.803 0.438 -0.404 0.261 + -0.615 -1.113 -0.946 -1.100 -0.935 0.444 0.122 0.211 -0.194 -0.064 + -0.099 -1.899 -0.687 0.287 -1.155 -0.047 -0.127 -0.082 0.304 0.814 + -0.204 0.936 0.436 -0.795 0.142 0.001 0.006 0.511 -1.091 1.036 + 0.269 0.159 -0.629 -0.016 -0.434 -0.135 -0.447 0.180 0.220 -0.027 + 0.992 1.055 -0.707 -0.769 0.093 -0.139 -0.020 0.056 0.004 0.017 + 0.256 -0.250 0.361 -0.299 1.001 0.636 0.084 -0.064 0.287 0.708 + -0.013 -0.409 0.036 0.424 -1.728 -0.572 0.740 1.030 -0.645 -0.553 + 0.129 1.224 -0.089 0.103 -0.309 0.883 1.200 -1.999 -0.067 -0.582 + -0.568 -0.876 0.491 -0.539 -0.312 -0.825 -0.772 -0.123 -0.171 0.113 + 0.823 -0.002 0.263 0.006 0.189 0.020 -0.144 -0.302 0.189 -0.033 + -0.070 0.363 -0.602 -0.800 1.526 -0.309 0.187 -0.093 0.368 0.596 + 0.128 0.259 -0.093 0.080 0.699 1.345 -0.004 -0.027 1.569 1.039 + 0.183 0.204 -0.173 -0.209 0.145 0.136 0.800 0.019 -0.365 0.349 + -0.156 0.148 0.469 -0.316 1.259 0.657 0.402 -0.152 -0.311 0.140 + -0.002 0.793 1.602 -0.638 0.024 -0.159 0.061 0.609 -0.343 1.294 + 0.126 0.313 0.050 -0.980 1.411 1.445 0.209 -0.224 -0.336 0.779 + -0.948 0.908 -0.290 -0.125 -0.142 0.062 0.013 -0.204 -0.101 0.035 + -0.106 0.098 0.052 -0.136 -0.461 -0.181 -1.519 0.486 -0.095 -0.272 + 0.491 -0.543 0.004 0.054 -0.145 0.047 0.586 1.050 -0.177 0.038 + -0.198 -0.011 -0.196 -0.716 -0.754 -0.051 -1.129 -0.005 0.245 0.038 + -0.098 0.102 0.102 0.417 -1.842 0.523 -0.698 -0.001 0.181 -0.026 + 0.116 0.026 -0.211 0.123 0.332 0.206 0.248 0.893 0.576 -0.015 + 0.186 0.221 0.632 0.999 -1.356 -0.054 0.086 0.098 -0.978 0.953 + 0.215 -0.583 1.105 -0.918 0.175 0.240 0.046 0.097 -0.092 -0.413 + -0.494 -0.120 -0.400 0.122 0.290 -0.244 0.585 0.020 -0.318 0.130 + 0.256 -0.104 0.074 0.195 0.246 -0.233 0.734 0.378 0.031 0.117 + -0.126 0.086 -1.184 -0.106 -0.226 0.398 0.141 -1.290 0.511 0.733 + -0.035 -0.352 0.227 -0.429 0.186 0.680 0.097 -0.152 0.306 0.056 + 0.151 -0.310 0.187 0.072 0.031 0.112 0.190 -0.090 -1.773 -0.066 + 0.733 -0.295 0.075 -0.146 -1.167 -0.072 0.439 0.076 -0.115 0.158 + -0.298 -0.291 -0.173 -0.856 0.604 -0.668 -0.068 0.175 0.304 1.470 + -1.045 0.806 0.259 -0.080 0.514 0.035 0.322 0.055 0.075 0.088 + -0.061 0.091 -0.302 -0.066 -0.021 -0.042 -0.053 -0.153 -0.130 0.132 + -0.161 0.244 -0.117 1.174 -0.243 -0.014 -0.046 0.086 0.216 1.856 + -0.207 -0.099 0.215 -0.213 0.221 -0.868 0.225 -0.498 -0.376 -0.200 + -0.170 -0.024 0.043 -0.098 0.130 -0.086 -0.234 0.006 0.282 0.525 + 0.308 -0.490 -0.088 -0.116 -1.718 -0.028 -0.246 0.129 0.093 -0.020 + 0.069 -0.106 -0.013 -0.165 -0.026 0.044 -0.928 0.571 -0.215 0.084 + -0.063 -1.119 -0.028 -0.582 0.804 0.224 1.093 0.209 -0.096 0.232 + -0.024 0.389 0.193 0.078 -0.030 -0.294 0.645 0.201 0.734 -0.000 + -0.479 0.324 0.315 -0.185 -0.386 -0.243 0.088 0.044 -1.316 -0.596 + -0.043 0.304 1.391 -0.628 0.457 -0.023 0.199 -0.185 0.128 -0.079 + 0.021 0.670 -0.823 0.136 0.057 -0.178 -0.166 0.529 -1.124 -0.489 + -0.487 0.559 -0.262 -0.130 -0.190 -0.149 0.913 0.555 -0.110 0.068 + 0.222 -0.024 0.274 0.083 0.349 -0.689 -0.475 -0.403 0.529 1.156 + -0.228 -0.385 1.421 0.082 -0.496 -0.018 -0.214 0.305 -0.178 0.253 + -0.324 -0.008 0.719 -0.274 -1.320 0.083 -0.375 -0.065 -0.392 -2.138 + 0.811 -0.332 0.032 -0.018 -0.317 -0.353 2.198 -0.383 0.871 0.489 + 0.290 0.035 0.158 0.101 0.075 0.069 -0.532 0.514 -0.773 -0.001 + -0.040 -0.088 0.882 1.223 -0.033 -0.188 -0.183 -0.281 -0.104 -0.293 + -0.290 -0.068 -0.071 0.341 0.251 -0.178 -0.168 -0.978 -0.410 -0.060 + -0.105 -0.018 -0.166 0.063 -0.007 -0.170 0.231 -0.024 0.081 -0.089 + -1.130 0.883 0.182 0.094 -0.195 -0.086 -0.294 -0.202 0.145 0.324 + 0.151 0.056 0.119 0.277 0.288 -0.631 -0.860 0.342 0.143 -0.078 + 0.123 -0.085 -0.142 -0.185 0.115 0.137 0.927 0.259 1.068 0.118 + 0.383 -0.135 0.002 0.553 -0.146 0.310 -0.675 0.020 0.004 -0.361 + -0.183 -0.018 -0.597 0.047 0.459 0.471 -1.018 0.093 -0.140 -0.012 + 0.256 -0.155 -0.037 -0.284 0.368 0.132 -0.419 0.420 -0.610 -0.043 + 0.352 0.043 -0.169 0.160 0.223 -0.227 0.055 0.130 -0.993 -0.383 + -0.799 1.258 0.855 -1.006 -0.021 -0.266 -0.318 -0.025 0.093 0.214 + -0.146 0.222 -0.029 0.377 -0.105 0.008 -0.150 -0.436 -0.135 0.372 + -0.087 -0.297 0.303 -0.160 0.069 -0.881 0.144 1.513 0.145 0.152 + 0.156 -0.306 1.055 0.533 0.097 -0.328 0.140 -0.628 -0.420 0.628 + 0.158 -0.094 -0.226 0.311 1.064 0.838 0.154 0.327 -0.231 -0.074 + -0.129 -0.099 -0.236 -0.324 -0.239 0.123 0.350 0.397 0.221 0.055 + 0.899 0.295 -0.134 -0.118 -0.198 -0.115 0.737 0.438 -0.409 0.255 + -0.568 -1.069 -0.947 -1.100 -0.939 0.434 0.125 0.214 -0.193 -0.102 + -0.097 -1.907 -0.722 0.315 -1.124 -0.042 -0.121 -0.086 0.289 0.808 + -0.232 0.907 0.452 -0.778 0.139 0.005 -0.000 0.541 -1.073 1.007 + 0.233 0.151 -0.625 -0.018 -0.441 -0.134 -0.460 0.183 0.213 -0.008 + 0.964 1.068 -0.671 -0.745 0.086 -0.129 -0.019 0.059 0.004 0.015 + 0.255 -0.262 0.366 -0.289 0.981 0.625 0.089 -0.092 0.289 0.724 + -0.015 -0.410 0.024 0.417 -1.695 -0.566 0.707 1.023 -0.623 -0.536 + 0.110 1.188 -0.103 0.104 -0.308 0.859 1.220 -1.964 -0.068 -0.595 + -0.566 -0.868 0.448 -0.522 -0.339 -0.773 -0.751 -0.110 -0.182 0.122 + 0.764 0.008 0.253 0.003 0.186 0.029 -0.145 -0.301 0.200 -0.040 + -0.069 0.364 -0.577 -0.810 1.522 -0.326 0.192 -0.092 0.356 0.615 + 0.071 0.272 -0.080 0.079 0.645 1.372 0.030 -0.009 1.529 1.031 + 0.177 0.197 -0.169 -0.210 0.151 0.131 0.797 0.026 -0.330 0.362 + -0.159 0.152 0.471 -0.366 1.191 0.650 0.396 -0.157 -0.306 0.146 + 0.002 0.780 1.595 -0.630 0.017 -0.139 0.045 0.581 -0.331 1.302 + 0.122 0.315 0.055 -0.953 1.321 1.383 0.210 -0.227 -0.340 0.777 + -0.936 0.918 -0.278 -0.124 -0.137 0.048 0.005 -0.200 -0.089 0.038 + -0.105 0.096 0.046 -0.140 -0.515 -0.143 -1.504 0.478 -0.093 -0.264 + 0.489 -0.517 -0.029 0.047 -0.144 0.041 0.589 1.076 -0.199 0.039 + -0.192 -0.010 -0.227 -0.683 -0.722 -0.055 -1.133 0.016 0.227 0.026 + -0.084 0.098 0.106 0.413 -1.794 0.509 -0.663 0.005 0.175 -0.033 + 0.117 0.030 -0.220 0.135 0.339 0.206 0.279 0.859 0.564 -0.015 + 0.194 0.217 0.600 0.957 -1.332 -0.053 0.093 0.107 -0.970 0.945 + 0.197 -0.568 1.138 -0.917 0.182 0.238 0.036 0.094 -0.092 -0.425 + -0.466 -0.152 -0.396 0.124 0.290 -0.239 0.584 0.006 -0.326 0.130 + 0.261 -0.101 0.072 0.206 0.242 -0.239 0.690 0.413 0.031 0.119 + -0.125 0.108 -1.146 -0.084 -0.228 0.397 0.139 -1.295 0.536 0.773 + -0.049 -0.349 0.229 -0.455 0.163 0.676 0.087 -0.149 0.310 0.053 + 0.152 -0.311 0.185 0.081 0.031 0.117 0.189 -0.090 -1.795 -0.063 + 0.749 -0.291 0.078 -0.155 -1.160 -0.054 0.465 0.072 -0.108 0.161 + -0.302 -0.286 -0.162 -0.835 0.616 -0.628 -0.058 0.178 0.305 1.470 + -1.031 0.854 0.274 -0.084 0.557 0.043 0.324 0.064 0.067 0.092 + -0.058 0.103 -0.313 -0.063 -0.022 -0.042 -0.046 -0.156 -0.132 0.129 + -0.168 0.246 -0.106 1.113 -0.240 0.004 -0.039 0.094 0.223 1.822 + -0.271 -0.139 0.209 -0.217 0.216 -0.880 0.248 -0.482 -0.375 -0.234 + -0.155 -0.022 0.053 -0.092 0.124 -0.082 -0.237 0.010 0.269 0.520 + 0.300 -0.532 -0.079 -0.074 -1.694 -0.033 -0.264 0.124 0.087 -0.025 + 0.059 -0.105 -0.017 -0.166 -0.029 0.001 -0.911 0.581 -0.216 0.089 + -0.063 -1.110 -0.069 -0.540 0.799 0.187 1.145 0.222 -0.109 0.218 + -0.024 0.383 0.189 0.082 -0.036 -0.300 0.617 0.221 0.694 0.002 + -0.471 0.318 0.292 -0.147 -0.408 -0.248 0.097 0.053 -1.336 -0.608 + -0.033 0.273 1.393 -0.598 0.464 -0.035 0.200 -0.180 0.083 -0.139 + 0.048 0.626 -0.799 0.138 0.064 -0.172 -0.156 0.525 -1.095 -0.448 + -0.473 0.509 -0.259 -0.129 -0.188 -0.151 0.942 0.573 -0.129 0.053 + 0.235 -0.020 0.263 0.082 0.344 -0.689 -0.474 -0.390 0.480 1.120 + -0.190 -0.367 1.414 0.074 -0.487 -0.014 -0.207 0.312 -0.179 0.252 + -0.319 -0.011 0.651 -0.277 -1.298 0.085 -0.366 -0.064 -0.411 -2.131 + 0.792 -0.336 0.028 -0.011 -0.335 -0.328 2.182 -0.398 0.859 0.501 + 0.281 0.032 0.168 0.092 0.084 0.072 -0.506 0.530 -0.810 0.005 + -0.032 -0.094 0.895 1.212 -0.032 -0.165 -0.185 -0.281 -0.114 -0.296 + -0.287 -0.056 -0.055 0.373 0.247 -0.182 -0.166 -0.945 -0.396 -0.004 + -0.102 -0.015 -0.164 0.074 -0.010 -0.170 0.222 -0.032 0.084 -0.096 + -1.114 0.843 0.185 0.093 -0.193 -0.079 -0.304 -0.203 0.153 0.321 + 0.149 0.054 0.120 0.276 0.296 -0.670 -0.817 0.344 0.144 -0.078 + 0.132 -0.063 -0.109 -0.182 0.124 0.141 0.906 0.244 1.083 0.131 + 0.383 -0.137 0.009 0.540 -0.199 0.287 -0.660 0.018 0.005 -0.391 + -0.240 -0.010 -0.587 0.042 0.447 0.423 -0.994 0.089 -0.145 -0.011 + 0.269 -0.148 -0.034 -0.289 0.373 0.127 -0.403 0.486 -0.602 -0.041 + 0.359 0.044 -0.168 0.171 0.208 -0.222 0.054 0.130 -0.965 -0.370 + -0.732 1.242 0.853 -0.968 -0.018 -0.268 -0.315 -0.023 0.089 0.213 + -0.164 0.223 0.032 0.377 -0.098 0.005 -0.133 -0.422 -0.090 0.362 + -0.082 -0.292 0.315 -0.173 0.076 -0.856 0.105 1.492 0.144 0.147 + 0.159 -0.315 1.039 0.495 0.096 -0.319 0.134 -0.604 -0.444 0.614 + 0.155 -0.094 -0.227 0.326 1.024 0.814 0.155 0.321 -0.235 -0.086 + -0.127 -0.088 -0.237 -0.327 -0.233 0.131 0.352 0.399 0.242 0.080 + 0.896 0.299 -0.126 -0.117 -0.230 -0.094 0.681 0.436 -0.395 0.255 + -0.524 -1.066 -0.899 -1.080 -0.981 0.443 0.119 0.214 -0.203 -0.107 + -0.156 -1.875 -0.725 0.334 -1.127 -0.056 -0.123 -0.081 0.275 0.780 + -0.214 0.866 0.403 -0.744 0.135 0.002 -0.004 0.548 -1.061 0.978 + 0.268 0.126 -0.683 -0.020 -0.436 -0.134 -0.424 0.157 0.192 -0.009 + 0.911 1.083 -0.636 -0.781 0.083 -0.136 -0.015 0.044 0.003 0.025 + 0.247 -0.265 0.374 -0.294 0.952 0.615 0.082 -0.097 0.324 0.730 + -0.019 -0.402 0.030 0.443 -1.658 -0.547 0.728 1.031 -0.633 -0.542 + 0.115 1.170 -0.105 0.100 -0.311 0.861 1.172 -1.944 -0.061 -0.599 + -0.561 -0.815 0.451 -0.507 -0.327 -0.783 -0.715 -0.111 -0.173 0.119 + 0.756 -0.022 0.262 0.010 0.180 0.027 -0.149 -0.298 0.203 -0.045 + -0.070 0.361 -0.571 -0.823 1.538 -0.308 0.191 -0.085 0.345 0.599 + 0.083 0.269 -0.082 0.071 0.597 1.322 0.022 0.036 1.517 1.040 + 0.188 0.197 -0.166 -0.202 0.156 0.127 0.755 0.034 -0.282 0.373 + -0.149 0.143 0.422 -0.391 1.189 0.656 0.391 -0.158 -0.308 0.147 + -0.010 0.739 1.546 -0.677 0.018 -0.144 0.045 0.612 -0.321 1.343 + 0.115 0.312 0.061 -0.903 1.314 1.331 0.216 -0.230 -0.337 0.729 + -0.947 0.884 -0.280 -0.118 -0.132 0.054 0.011 -0.205 -0.105 0.034 + -0.105 0.073 0.036 -0.141 -0.471 -0.095 -1.483 0.491 -0.092 -0.263 + 0.493 -0.549 0.000 0.047 -0.136 0.032 0.543 1.057 -0.203 0.029 + -0.183 -0.016 -0.167 -0.725 -0.742 -0.065 -1.116 0.039 0.212 0.011 + -0.057 0.109 0.105 0.418 -1.788 0.535 -0.582 0.004 0.174 -0.031 + 0.115 0.030 -0.222 0.131 0.346 0.211 0.316 0.861 0.549 -0.013 + 0.211 0.214 0.615 0.939 -1.282 -0.040 0.101 0.098 -1.020 0.918 + 0.213 -0.557 1.098 -0.893 0.179 0.232 0.035 0.088 -0.099 -0.419 + -0.424 -0.157 -0.398 0.128 0.300 -0.250 0.599 -0.006 -0.346 0.129 + 0.263 -0.104 0.066 0.207 0.233 -0.255 0.666 0.401 0.037 0.103 + -0.114 0.059 -1.155 -0.081 -0.238 0.403 0.129 -1.267 0.550 0.801 + -0.063 -0.344 0.229 -0.524 0.138 0.676 0.084 -0.148 0.309 0.054 + 0.147 -0.312 0.191 0.082 0.029 0.109 0.179 -0.093 -1.755 -0.073 + 0.754 -0.283 0.078 -0.152 -1.154 -0.084 0.459 0.076 -0.115 0.173 + -0.328 -0.325 -0.171 -0.816 0.653 -0.651 -0.061 0.186 0.310 1.433 + -1.007 0.804 0.299 -0.100 0.540 0.038 0.323 0.061 0.066 0.094 + -0.068 0.101 -0.309 -0.057 -0.017 -0.049 -0.039 -0.144 -0.135 0.134 + -0.157 0.241 -0.101 1.074 -0.231 -0.026 -0.032 0.089 0.229 1.813 + -0.265 -0.147 0.199 -0.213 0.217 -0.852 0.264 -0.441 -0.319 -0.289 + -0.161 -0.006 0.044 -0.089 0.120 -0.092 -0.240 0.013 0.255 0.519 + 0.262 -0.537 -0.088 -0.059 -1.684 -0.055 -0.262 0.122 0.098 -0.032 + 0.058 -0.108 -0.006 -0.179 -0.024 -0.021 -0.877 0.546 -0.209 0.095 + -0.050 -1.102 -0.065 -0.568 0.752 0.176 1.137 0.232 -0.102 0.213 + -0.017 0.379 0.197 0.077 -0.025 -0.303 0.547 0.231 0.693 -0.006 + -0.481 0.320 0.298 -0.145 -0.409 -0.249 0.097 0.064 -1.290 -0.583 + -0.019 0.278 1.371 -0.609 0.456 -0.032 0.204 -0.159 0.045 -0.176 + 0.042 0.620 -0.730 0.131 0.056 -0.164 -0.152 0.482 -1.074 -0.456 + -0.484 0.504 -0.254 -0.124 -0.187 -0.130 0.932 0.576 -0.149 0.081 + 0.227 -0.028 0.257 0.088 0.333 -0.658 -0.489 -0.363 0.430 1.048 + -0.180 -0.392 1.358 0.080 -0.484 0.002 -0.206 0.306 -0.173 0.253 + -0.332 -0.019 0.682 -0.311 -1.290 0.083 -0.364 -0.066 -0.436 -2.058 + 0.781 -0.351 0.025 -0.001 -0.324 -0.317 2.190 -0.403 0.806 0.488 + 0.286 0.025 0.155 0.093 0.072 0.087 -0.545 0.553 -0.832 -0.011 + -0.030 -0.091 0.871 1.231 -0.045 -0.155 -0.178 -0.285 -0.111 -0.310 + -0.291 -0.067 -0.050 0.316 0.255 -0.195 -0.171 -0.948 -0.347 -0.004 + -0.099 -0.012 -0.159 0.043 -0.002 -0.167 0.218 -0.041 0.090 -0.070 + -1.027 0.844 0.190 0.087 -0.194 -0.078 -0.300 -0.197 0.156 0.322 + 0.150 0.059 0.112 0.274 0.254 -0.639 -0.823 0.339 0.146 -0.070 + 0.110 -0.061 -0.061 -0.177 0.127 0.142 0.910 0.212 1.072 0.131 + 0.379 -0.137 0.002 0.504 -0.216 0.281 -0.656 0.022 -0.001 -0.393 + -0.233 -0.017 -0.589 0.044 0.433 0.428 -0.948 0.096 -0.145 -0.015 + 0.274 -0.154 -0.033 -0.277 0.375 0.123 -0.384 0.484 -0.613 -0.035 + 0.360 0.046 -0.188 0.163 0.213 -0.225 0.055 0.117 -1.000 -0.348 + -0.723 1.235 0.870 -0.949 -0.027 -0.264 -0.320 -0.018 0.081 0.214 + -0.169 0.221 0.015 0.375 -0.102 0.000 -0.140 -0.462 -0.088 0.352 + -0.081 -0.293 0.319 -0.170 0.091 -0.845 0.043 1.506 0.146 0.144 + 0.158 -0.312 1.014 0.453 0.095 -0.316 0.136 -0.552 -0.462 0.601 + 0.153 -0.091 -0.227 0.349 0.990 0.823 0.154 0.316 -0.235 -0.084 + -0.126 -0.093 -0.233 -0.322 -0.237 0.137 0.353 0.390 0.255 0.117 + 0.902 0.299 -0.123 -0.101 -0.225 -0.078 0.642 0.439 -0.391 0.247 + -0.523 -1.088 -0.883 -1.032 -0.998 0.422 0.116 0.199 -0.223 -0.089 + -0.152 -1.833 -0.741 0.334 -1.141 -0.052 -0.129 -0.068 0.335 0.801 + -0.203 0.778 0.401 -0.756 0.130 0.008 0.003 0.551 -1.014 0.948 + 0.303 0.067 -0.714 -0.029 -0.433 -0.127 -0.394 0.159 0.128 0.053 + 0.845 1.114 -0.643 -0.773 0.041 -0.130 -0.004 0.038 0.008 0.026 + 0.249 -0.270 0.373 -0.300 0.978 0.583 0.099 -0.031 0.321 0.702 + -0.011 -0.402 0.032 0.483 -1.606 -0.532 0.754 1.022 -0.628 -0.518 + 0.116 1.176 -0.104 0.100 -0.319 0.825 1.131 -1.941 -0.071 -0.594 + -0.555 -0.818 0.369 -0.488 -0.357 -0.799 -0.699 -0.101 -0.165 0.127 + 0.688 -0.060 0.308 0.019 0.174 0.027 -0.160 -0.299 0.207 -0.048 + -0.073 0.362 -0.531 -0.815 1.522 -0.310 0.184 -0.081 0.394 0.591 + 0.100 0.268 -0.083 0.070 0.620 1.338 0.005 0.024 1.509 1.046 + 0.192 0.203 -0.164 -0.201 0.166 0.128 0.752 0.000 -0.288 0.364 + -0.138 0.144 0.415 -0.390 1.199 0.646 0.378 -0.164 -0.315 0.143 + -0.013 0.716 1.464 -0.695 0.017 -0.151 0.039 0.583 -0.326 1.360 + 0.113 0.309 0.073 -0.870 1.281 1.285 0.217 -0.231 -0.336 0.777 + -0.927 0.899 -0.271 -0.118 -0.130 0.068 0.015 -0.203 -0.100 0.030 + -0.111 0.079 0.035 -0.149 -0.451 -0.085 -1.492 0.494 -0.092 -0.265 + 0.526 -0.535 -0.050 0.042 -0.133 0.043 0.511 1.071 -0.219 0.035 + -0.176 -0.019 -0.126 -0.750 -0.734 -0.047 -1.124 0.007 0.188 0.021 + -0.052 0.109 0.102 0.409 -1.770 0.529 -0.523 0.016 0.173 -0.025 + 0.105 0.025 -0.210 0.138 0.345 0.214 0.317 0.831 0.556 -0.005 + 0.212 0.210 0.602 0.946 -1.279 -0.040 0.104 0.107 -1.004 0.866 + 0.175 -0.546 1.107 -0.837 0.187 0.220 0.025 0.092 -0.107 -0.425 + -0.401 -0.176 -0.378 0.122 0.297 -0.240 0.576 0.024 -0.342 0.132 + 0.251 -0.099 0.063 0.217 0.229 -0.200 0.644 0.404 0.031 0.113 + -0.119 -0.000 -1.136 -0.092 -0.234 0.395 0.125 -1.274 0.539 0.803 + -0.062 -0.329 0.217 -0.517 0.148 0.695 0.077 -0.152 0.301 0.057 + 0.151 -0.301 0.189 0.081 0.034 0.113 0.174 -0.090 -1.716 -0.097 + 0.784 -0.275 0.077 -0.171 -1.109 -0.067 0.445 0.077 -0.111 0.173 + -0.325 -0.330 -0.145 -0.769 0.650 -0.646 -0.059 0.190 0.321 1.434 + -0.980 0.797 0.289 -0.121 0.507 0.040 0.317 0.052 0.063 0.100 + -0.071 0.101 -0.305 -0.070 -0.032 -0.044 -0.041 -0.141 -0.128 0.128 + -0.157 0.232 -0.098 1.039 -0.252 -0.105 -0.043 0.098 0.235 1.817 + -0.272 -0.102 0.193 -0.213 0.203 -0.828 0.268 -0.406 -0.302 -0.338 + -0.214 0.001 0.039 -0.084 0.115 -0.096 -0.249 0.013 0.254 0.522 + 0.318 -0.555 -0.097 -0.047 -1.653 -0.026 -0.269 0.120 0.098 -0.024 + 0.066 -0.114 -0.004 -0.178 -0.018 -0.025 -0.836 0.580 -0.211 0.109 + -0.041 -1.103 -0.123 -0.500 0.741 0.144 1.153 0.221 -0.107 0.212 + -0.017 0.381 0.200 0.068 -0.022 -0.309 0.484 0.276 0.613 0.002 + -0.479 0.318 0.314 -0.155 -0.367 -0.246 0.093 0.072 -1.275 -0.583 + 0.023 0.308 1.364 -0.604 0.449 -0.022 0.210 -0.189 0.040 -0.212 + 0.076 0.621 -0.750 0.129 0.049 -0.164 -0.159 0.464 -1.075 -0.472 + -0.468 0.513 -0.254 -0.124 -0.172 -0.154 0.915 0.568 -0.164 0.063 + 0.170 -0.033 0.257 0.115 0.316 -0.653 -0.512 -0.332 0.407 0.994 + -0.194 -0.384 1.337 0.087 -0.476 -0.002 -0.211 0.304 -0.173 0.246 + -0.349 -0.006 0.712 -0.303 -1.274 0.080 -0.367 -0.069 -0.437 -2.088 + 0.775 -0.356 0.016 0.001 -0.301 -0.322 2.171 -0.390 0.825 0.453 + 0.281 0.022 0.145 0.091 0.079 0.100 -0.556 0.527 -0.832 -0.014 + -0.037 -0.087 0.875 1.191 0.001 -0.151 -0.172 -0.298 -0.103 -0.313 + -0.296 -0.086 -0.038 0.323 0.241 -0.211 -0.179 -0.884 -0.357 -0.008 + -0.096 -0.025 -0.156 0.011 -0.024 -0.142 0.224 -0.042 0.083 -0.119 + -1.018 0.798 0.195 0.094 -0.195 -0.080 -0.300 -0.202 0.151 0.321 + 0.142 0.068 0.125 0.265 0.272 -0.623 -0.807 0.338 0.152 -0.072 + 0.097 -0.081 -0.062 -0.172 0.121 0.134 0.896 0.243 1.072 0.120 + 0.380 -0.131 0.019 0.516 -0.171 0.273 -0.659 0.052 -0.021 -0.368 + -0.267 -0.023 -0.580 0.050 0.434 0.422 -0.965 0.094 -0.142 -0.018 + 0.266 -0.162 -0.027 -0.277 0.377 0.126 -0.421 0.473 -0.565 -0.037 + 0.357 0.047 -0.197 0.189 0.191 -0.225 0.069 0.109 -0.972 -0.323 + -0.682 1.215 0.873 -0.887 -0.023 -0.270 -0.315 -0.012 0.073 0.223 + -0.160 0.254 0.015 0.379 -0.108 -0.010 -0.153 -0.486 -0.149 0.347 + -0.069 -0.289 0.312 -0.155 0.092 -0.850 0.025 1.549 0.148 0.141 + 0.160 -0.285 1.005 0.432 0.090 -0.309 0.142 -0.545 -0.445 0.574 + 0.143 -0.094 -0.238 0.373 0.982 0.811 0.152 0.315 -0.242 -0.092 + -0.126 -0.106 -0.230 -0.336 -0.231 0.132 0.366 0.380 0.288 0.111 + 0.901 0.299 -0.112 -0.101 -0.206 -0.122 0.581 0.433 -0.388 0.248 + -0.521 -1.093 -0.854 -1.014 -1.006 0.460 0.105 0.204 -0.217 -0.048 + -0.178 -1.799 -0.753 0.320 -1.154 -0.054 -0.120 -0.073 0.351 0.802 + -0.258 0.746 0.390 -0.723 0.123 0.003 0.006 0.529 -0.977 0.882 + 0.302 0.054 -0.688 -0.024 -0.434 -0.124 -0.387 0.178 0.124 0.090 + 0.786 1.124 -0.624 -0.735 0.029 -0.131 -0.005 0.040 0.012 0.025 + 0.244 -0.262 0.369 -0.295 0.974 0.593 0.062 -0.010 0.284 0.708 + -0.007 -0.409 0.034 0.463 -1.563 -0.495 0.726 1.007 -0.617 -0.524 + 0.106 1.173 -0.100 0.102 -0.317 0.801 1.126 -1.938 -0.070 -0.590 + -0.546 -0.824 0.366 -0.509 -0.344 -0.748 -0.681 -0.089 -0.164 0.118 + 0.634 -0.102 0.301 0.003 0.187 0.023 -0.155 -0.303 0.209 -0.057 + -0.069 0.372 -0.556 -0.807 1.527 -0.311 0.188 -0.087 0.349 0.575 + 0.091 0.275 -0.078 0.065 0.607 1.329 0.019 -0.003 1.481 1.034 + 0.190 0.208 -0.161 -0.201 0.175 0.134 0.704 -0.001 -0.283 0.364 + -0.143 0.142 0.434 -0.414 1.182 0.639 0.378 -0.168 -0.310 0.151 + -0.015 0.662 1.411 -0.698 0.014 -0.144 0.043 0.617 -0.309 1.367 + 0.106 0.312 0.083 -0.892 1.213 1.260 0.230 -0.229 -0.334 0.748 + -0.914 0.908 -0.275 -0.111 -0.129 0.073 0.010 -0.196 -0.095 0.022 + -0.112 0.072 0.038 -0.161 -0.445 -0.090 -1.490 0.482 -0.092 -0.258 + 0.516 -0.536 -0.063 0.049 -0.140 0.048 0.457 1.034 -0.206 0.046 + -0.174 -0.028 -0.077 -0.726 -0.698 -0.039 -1.125 0.030 0.192 0.034 + -0.056 0.112 0.101 0.406 -1.729 0.571 -0.452 0.007 0.181 -0.029 + 0.106 0.011 -0.209 0.139 0.346 0.221 0.287 0.859 0.548 -0.001 + 0.221 0.214 0.612 0.949 -1.289 -0.045 0.113 0.111 -1.027 0.876 + 0.182 -0.548 1.073 -0.844 0.193 0.208 0.025 0.085 -0.106 -0.426 + -0.398 -0.194 -0.393 0.116 0.289 -0.238 0.545 0.056 -0.374 0.139 + 0.243 -0.097 0.069 0.227 0.227 -0.163 0.681 0.431 0.033 0.114 + -0.122 -0.024 -1.093 -0.124 -0.241 0.397 0.129 -1.262 0.516 0.810 + -0.065 -0.319 0.228 -0.533 0.118 0.740 0.080 -0.151 0.293 0.055 + 0.144 -0.307 0.190 0.081 0.025 0.126 0.176 -0.082 -1.646 -0.105 + 0.784 -0.275 0.067 -0.170 -1.072 -0.086 0.490 0.092 -0.101 0.166 + -0.342 -0.317 -0.140 -0.763 0.639 -0.583 -0.043 0.174 0.330 1.430 + -0.966 0.801 0.266 -0.126 0.489 0.039 0.302 0.068 0.066 0.093 + -0.079 0.112 -0.299 -0.066 -0.035 -0.044 -0.038 -0.126 -0.127 0.125 + -0.149 0.230 -0.096 1.044 -0.202 -0.156 -0.041 0.100 0.224 1.801 + -0.303 -0.086 0.204 -0.199 0.196 -0.844 0.255 -0.407 -0.281 -0.355 + -0.213 0.008 0.040 -0.070 0.114 -0.094 -0.254 0.012 0.244 0.524 + 0.323 -0.482 -0.084 -0.054 -1.637 -0.006 -0.275 0.119 0.093 -0.018 + 0.069 -0.106 -0.006 -0.175 -0.016 -0.018 -0.844 0.573 -0.206 0.091 + -0.034 -1.065 -0.127 -0.480 0.729 0.131 1.136 0.212 -0.111 0.203 + -0.019 0.387 0.209 0.072 -0.016 -0.306 0.463 0.263 0.636 0.011 + -0.469 0.309 0.347 -0.192 -0.366 -0.228 0.096 0.076 -1.281 -0.547 + 0.052 0.298 1.321 -0.602 0.456 -0.028 0.213 -0.194 0.014 -0.190 + 0.069 0.609 -0.687 0.129 0.063 -0.159 -0.180 0.446 -1.044 -0.445 + -0.493 0.468 -0.247 -0.121 -0.164 -0.198 0.913 0.541 -0.153 0.092 + 0.171 -0.036 0.239 0.113 0.311 -0.700 -0.525 -0.306 0.402 0.955 + -0.238 -0.337 1.296 0.092 -0.471 -0.004 -0.213 0.301 -0.179 0.252 + -0.345 -0.005 0.708 -0.343 -1.295 0.072 -0.370 -0.052 -0.405 -2.108 + 0.747 -0.354 0.020 -0.007 -0.303 -0.324 2.173 -0.368 0.778 0.453 + 0.275 0.026 0.146 0.099 0.085 0.087 -0.553 0.496 -0.811 -0.012 + -0.035 -0.082 0.881 1.179 0.024 -0.152 -0.167 -0.296 -0.096 -0.315 + -0.298 -0.041 -0.032 0.293 0.236 -0.209 -0.172 -0.865 -0.346 -0.036 + -0.093 -0.026 -0.159 -0.005 -0.015 -0.129 0.236 -0.046 0.084 -0.147 + -1.020 0.748 0.191 0.093 -0.172 -0.086 -0.294 -0.213 0.153 0.326 + 0.143 0.068 0.130 0.266 0.230 -0.598 -0.793 0.348 0.150 -0.081 + 0.126 -0.070 -0.115 -0.168 0.122 0.126 0.894 0.239 1.078 0.116 + 0.381 -0.127 0.050 0.538 -0.200 0.250 -0.662 0.024 -0.003 -0.423 + -0.277 -0.018 -0.582 0.049 0.422 0.441 -0.924 0.079 -0.140 -0.014 + 0.259 -0.160 -0.021 -0.281 0.383 0.129 -0.447 0.489 -0.515 -0.032 + 0.344 0.052 -0.216 0.139 0.172 -0.231 0.060 0.096 -0.935 -0.359 + -0.655 1.203 0.873 -0.860 -0.024 -0.274 -0.298 0.000 0.075 0.232 + -0.163 0.233 0.006 0.371 -0.106 -0.006 -0.194 -0.437 -0.182 0.357 + -0.071 -0.289 0.311 -0.153 0.098 -0.836 0.048 1.555 0.138 0.148 + 0.153 -0.258 0.993 0.397 0.076 -0.301 0.146 -0.539 -0.436 0.558 + 0.156 -0.088 -0.223 0.341 0.996 0.819 0.157 0.326 -0.243 -0.091 + -0.136 -0.106 -0.234 -0.336 -0.226 0.127 0.358 0.375 0.301 0.099 + 0.885 0.302 -0.116 -0.089 -0.245 -0.092 0.567 0.437 -0.387 0.245 + -0.486 -1.081 -0.817 -0.977 -0.998 0.482 0.095 0.197 -0.217 -0.028 + -0.211 -1.790 -0.741 0.390 -1.173 -0.055 -0.122 -0.086 0.346 0.793 + -0.274 0.701 0.360 -0.755 0.115 -0.002 0.014 0.553 -0.986 0.824 + 0.293 0.042 -0.732 -0.012 -0.425 -0.116 -0.417 0.150 0.090 0.152 + 0.772 1.099 -0.621 -0.750 0.040 -0.120 -0.010 0.036 0.011 0.026 + 0.250 -0.249 0.367 -0.289 0.977 0.594 0.047 -0.012 0.308 0.715 + -0.011 -0.401 0.035 0.468 -1.560 -0.485 0.690 0.999 -0.605 -0.517 + 0.089 1.129 -0.090 0.097 -0.314 0.797 1.101 -1.947 -0.074 -0.590 + -0.549 -0.802 0.304 -0.557 -0.345 -0.756 -0.680 -0.075 -0.163 0.113 + 0.624 -0.073 0.275 -0.004 0.193 0.032 -0.154 -0.296 0.219 -0.053 + -0.059 0.369 -0.548 -0.781 1.504 -0.307 0.180 -0.081 0.329 0.569 + 0.093 0.263 -0.063 0.067 0.570 1.336 0.024 0.027 1.478 1.019 + 0.185 0.214 -0.159 -0.198 0.161 0.129 0.688 -0.031 -0.207 0.360 + -0.131 0.132 0.453 -0.460 1.147 0.628 0.387 -0.153 -0.309 0.159 + -0.010 0.654 1.392 -0.729 0.018 -0.134 0.037 0.651 -0.324 1.377 + 0.098 0.319 0.084 -0.827 1.179 1.222 0.227 -0.238 -0.331 0.779 + -0.918 0.878 -0.276 -0.099 -0.123 0.066 -0.001 -0.185 -0.092 0.013 + -0.118 0.067 0.049 -0.161 -0.446 -0.089 -1.509 0.474 -0.070 -0.266 + 0.471 -0.559 -0.064 0.055 -0.151 0.042 0.378 1.008 -0.225 0.043 + -0.170 -0.038 -0.077 -0.742 -0.690 -0.024 -1.134 0.042 0.201 0.028 + -0.050 0.121 0.103 0.400 -1.681 0.584 -0.374 0.010 0.178 -0.022 + 0.097 0.010 -0.207 0.149 0.343 0.226 0.265 0.851 0.555 0.008 + 0.226 0.205 0.621 0.916 -1.322 -0.049 0.123 0.116 -1.005 0.899 + 0.166 -0.486 1.028 -0.834 0.189 0.214 0.037 0.084 -0.105 -0.427 + -0.361 -0.169 -0.418 0.109 0.282 -0.247 0.495 0.088 -0.396 0.137 + 0.243 -0.088 0.068 0.224 0.230 -0.137 0.654 0.449 0.044 0.129 + -0.115 -0.056 -1.037 -0.160 -0.249 0.397 0.113 -1.275 0.495 0.810 + -0.067 -0.310 0.237 -0.540 0.116 0.752 0.061 -0.147 0.309 0.055 + 0.143 -0.300 0.195 0.081 0.028 0.124 0.166 -0.087 -1.642 -0.069 + 0.774 -0.270 0.058 -0.164 -1.069 -0.097 0.539 0.091 -0.102 0.163 + -0.346 -0.286 -0.133 -0.686 0.619 -0.584 -0.033 0.180 0.331 1.371 + -0.923 0.820 0.299 -0.099 0.485 0.028 0.312 0.068 0.063 0.094 + -0.069 0.106 -0.293 -0.066 -0.035 -0.036 -0.029 -0.125 -0.130 0.124 + -0.147 0.234 -0.091 1.015 -0.196 -0.184 -0.034 0.113 0.223 1.748 + -0.345 -0.083 0.199 -0.196 0.196 -0.836 0.245 -0.404 -0.242 -0.283 + -0.265 0.008 0.045 -0.070 0.112 -0.089 -0.254 0.007 0.245 0.516 + 0.342 -0.493 -0.055 0.005 -1.594 -0.008 -0.266 0.120 0.100 -0.028 + 0.077 -0.119 -0.009 -0.175 -0.030 -0.039 -0.831 0.562 -0.207 0.087 + -0.029 -1.072 -0.121 -0.459 0.742 0.140 1.131 0.211 -0.114 0.200 + -0.028 0.391 0.202 0.083 -0.027 -0.319 0.455 0.306 0.577 0.014 + -0.459 0.307 0.349 -0.226 -0.334 -0.239 0.090 0.082 -1.266 -0.569 + 0.061 0.253 1.280 -0.640 0.454 -0.020 0.203 -0.190 0.014 -0.206 + 0.091 0.603 -0.644 0.124 0.064 -0.163 -0.200 0.439 -1.041 -0.423 + -0.474 0.449 -0.242 -0.125 -0.153 -0.222 0.914 0.561 -0.110 0.091 + 0.158 -0.027 0.237 0.134 0.326 -0.685 -0.560 -0.275 0.385 0.931 + -0.228 -0.284 1.243 0.097 -0.466 -0.001 -0.227 0.308 -0.178 0.244 + -0.347 -0.006 0.720 -0.322 -1.287 0.069 -0.364 -0.052 -0.404 -2.075 + 0.737 -0.356 0.040 -0.009 -0.310 -0.348 2.175 -0.323 0.780 0.484 + 0.265 0.023 0.146 0.081 0.092 0.080 -0.534 0.467 -0.807 -0.002 + -0.030 -0.075 0.853 1.220 0.044 -0.152 -0.166 -0.286 -0.092 -0.316 + -0.291 -0.002 -0.019 0.232 0.235 -0.211 -0.170 -0.784 -0.350 -0.036 + -0.099 -0.029 -0.160 0.004 -0.015 -0.169 0.244 -0.045 0.075 -0.143 + -0.981 0.727 0.179 0.080 -0.180 -0.085 -0.286 -0.203 0.148 0.321 + 0.150 0.079 0.137 0.274 0.167 -0.595 -0.803 0.353 0.144 -0.085 + 0.136 -0.045 -0.153 -0.167 0.125 0.126 0.905 0.205 1.081 0.126 + 0.391 -0.116 0.008 0.532 -0.198 0.249 -0.672 0.044 0.057 -0.407 + -0.297 -0.032 -0.578 0.056 0.417 0.423 -0.936 0.092 -0.131 -0.011 + 0.262 -0.157 -0.030 -0.277 0.382 0.135 -0.477 0.500 -0.503 -0.029 + 0.342 0.062 -0.191 0.172 0.201 -0.239 0.068 0.096 -0.922 -0.353 + -0.655 1.191 0.887 -0.781 -0.019 -0.261 -0.298 0.005 0.079 0.237 + -0.168 0.224 -0.004 0.374 -0.098 0.002 -0.228 -0.471 -0.197 0.353 + -0.049 -0.292 0.315 -0.153 0.100 -0.853 0.079 1.503 0.143 0.149 + 0.149 -0.261 0.962 0.357 0.069 -0.291 0.143 -0.562 -0.397 0.543 + 0.165 -0.088 -0.215 0.354 0.949 0.786 0.152 0.310 -0.240 -0.096 + -0.129 -0.098 -0.239 -0.346 -0.235 0.131 0.361 0.373 0.268 0.117 + 0.845 0.313 -0.120 -0.084 -0.229 -0.106 0.516 0.436 -0.379 0.246 + -0.454 -1.061 -0.766 -0.986 -0.976 0.496 0.085 0.183 -0.221 0.037 + -0.225 -1.803 -0.749 0.392 -1.191 -0.044 -0.108 -0.086 0.322 0.789 + -0.310 0.690 0.309 -0.779 0.102 -0.006 0.021 0.560 -0.966 0.808 + 0.288 0.047 -0.731 -0.014 -0.413 -0.112 -0.372 0.176 0.112 0.134 + 0.719 1.087 -0.568 -0.689 0.069 -0.123 -0.003 0.041 0.004 0.020 + 0.245 -0.244 0.369 -0.287 1.014 0.589 0.036 0.005 0.300 0.770 + -0.014 -0.395 0.022 0.520 -1.491 -0.433 0.684 1.034 -0.556 -0.523 + 0.037 1.117 -0.078 0.119 -0.307 0.792 1.093 -1.915 -0.077 -0.587 + -0.557 -0.798 0.259 -0.542 -0.350 -0.759 -0.648 -0.061 -0.170 0.106 + 0.542 -0.107 0.293 -0.016 0.197 0.039 -0.152 -0.294 0.218 -0.054 + -0.056 0.373 -0.481 -0.793 1.467 -0.299 0.190 -0.082 0.352 0.550 + 0.075 0.270 -0.053 0.062 0.549 1.313 0.011 0.031 1.403 0.972 + 0.187 0.224 -0.156 -0.193 0.163 0.139 0.710 -0.064 -0.194 0.362 + -0.133 0.134 0.400 -0.489 1.130 0.623 0.388 -0.153 -0.299 0.176 + -0.010 0.619 1.391 -0.733 0.012 -0.135 0.043 0.627 -0.345 1.395 + 0.104 0.317 0.080 -0.791 1.147 1.175 0.232 -0.235 -0.323 0.812 + -0.919 0.881 -0.278 -0.103 -0.107 0.066 -0.002 -0.184 -0.087 0.009 + -0.114 0.055 0.050 -0.169 -0.476 -0.067 -1.484 0.476 -0.068 -0.265 + 0.442 -0.536 -0.094 0.059 -0.156 0.049 0.344 1.037 -0.207 0.044 + -0.176 -0.026 -0.075 -0.726 -0.672 -0.015 -1.115 0.023 0.164 0.057 + -0.054 0.118 0.088 0.399 -1.667 0.582 -0.323 0.006 0.183 -0.023 + 0.099 0.005 -0.206 0.149 0.354 0.230 0.263 0.834 0.557 0.009 + 0.243 0.202 0.631 0.920 -1.276 -0.042 0.126 0.110 -1.000 0.850 + 0.160 -0.432 1.004 -0.785 0.188 0.210 0.030 0.092 -0.096 -0.407 + -0.392 -0.178 -0.402 0.112 0.287 -0.247 0.501 0.084 -0.355 0.135 + 0.231 -0.094 0.067 0.224 0.234 -0.094 0.589 0.458 0.046 0.127 + -0.126 -0.079 -1.011 -0.127 -0.248 0.386 0.110 -1.293 0.501 0.787 + -0.070 -0.309 0.238 -0.551 0.068 0.743 0.066 -0.159 0.315 0.057 + 0.137 -0.306 0.192 0.079 0.025 0.121 0.176 -0.086 -1.596 -0.057 + 0.758 -0.268 0.056 -0.176 -1.038 -0.070 0.542 0.077 -0.096 0.155 + -0.278 -0.335 -0.128 -0.657 0.600 -0.597 -0.036 0.177 0.329 1.312 + -0.875 0.825 0.330 -0.088 0.503 0.024 0.303 0.055 0.066 0.092 + -0.064 0.094 -0.299 -0.063 -0.040 -0.030 -0.026 -0.121 -0.126 0.124 + -0.141 0.223 -0.095 0.991 -0.170 -0.217 -0.038 0.111 0.228 1.719 + -0.405 -0.096 0.194 -0.196 0.205 -0.810 0.246 -0.408 -0.245 -0.349 + -0.293 0.007 0.051 -0.079 0.112 -0.079 -0.255 0.002 0.246 0.513 + 0.342 -0.548 -0.040 0.030 -1.570 0.006 -0.255 0.126 0.085 -0.030 + 0.082 -0.119 0.001 -0.187 -0.025 -0.019 -0.817 0.593 -0.205 0.086 + -0.022 -1.054 -0.161 -0.472 0.756 0.134 1.158 0.215 -0.125 0.196 + -0.036 0.395 0.207 0.078 -0.021 -0.319 0.463 0.327 0.536 0.026 + -0.458 0.312 0.361 -0.220 -0.308 -0.227 0.092 0.090 -1.252 -0.598 + 0.075 0.209 1.245 -0.656 0.450 -0.015 0.195 -0.183 0.014 -0.232 + 0.087 0.563 -0.614 0.124 0.069 -0.163 -0.178 0.414 -1.012 -0.432 + -0.433 0.438 -0.240 -0.131 -0.151 -0.219 0.916 0.538 -0.142 0.086 + 0.150 -0.030 0.239 0.149 0.354 -0.617 -0.549 -0.238 0.332 0.925 + -0.256 -0.231 1.174 0.097 -0.462 0.004 -0.223 0.310 -0.170 0.242 + -0.345 -0.009 0.753 -0.334 -1.259 0.075 -0.368 -0.060 -0.330 -2.030 + 0.756 -0.354 0.048 -0.008 -0.339 -0.370 2.220 -0.331 0.774 0.441 + 0.255 0.035 0.158 0.079 0.088 0.080 -0.499 0.453 -0.787 0.001 + -0.033 -0.069 0.861 1.201 0.048 -0.151 -0.166 -0.287 -0.099 -0.326 + -0.289 -0.022 -0.028 0.263 0.227 -0.213 -0.160 -0.702 -0.347 -0.020 + -0.092 -0.035 -0.159 0.034 -0.002 -0.166 0.245 -0.038 0.079 -0.160 + -1.000 0.684 0.175 0.088 -0.177 -0.089 -0.289 -0.198 0.147 0.319 + 0.146 0.081 0.139 0.283 0.143 -0.538 -0.812 0.364 0.134 -0.091 + 0.096 -0.033 -0.169 -0.171 0.118 0.119 0.917 0.193 1.048 0.116 + 0.387 -0.120 0.006 0.486 -0.237 0.257 -0.648 0.031 0.024 -0.355 + -0.340 -0.027 -0.582 0.065 0.435 0.412 -0.929 0.099 -0.129 -0.009 + 0.271 -0.146 -0.022 -0.266 0.378 0.139 -0.504 0.482 -0.466 -0.021 + 0.338 0.070 -0.206 0.192 0.236 -0.235 0.060 0.099 -0.912 -0.332 + -0.605 1.181 0.870 -0.725 -0.005 -0.254 -0.295 0.005 0.088 0.219 + -0.240 0.241 -0.014 0.381 -0.093 0.015 -0.240 -0.495 -0.225 0.345 + -0.040 -0.289 0.315 -0.146 0.098 -0.819 0.076 1.522 0.136 0.139 + 0.145 -0.222 0.945 0.346 0.061 -0.285 0.150 -0.569 -0.387 0.527 + 0.169 -0.079 -0.205 0.354 0.969 0.764 0.151 0.316 -0.223 -0.094 + -0.126 -0.089 -0.231 -0.337 -0.228 0.133 0.357 0.376 0.256 0.105 + 0.862 0.313 -0.123 -0.082 -0.232 -0.124 0.436 0.427 -0.376 0.243 + -0.441 -1.072 -0.745 -0.967 -0.983 0.483 0.078 0.194 -0.221 0.073 + -0.255 -1.775 -0.764 0.381 -1.165 -0.041 -0.096 -0.092 0.279 0.815 + -0.331 0.662 0.301 -0.768 0.097 -0.004 0.014 0.529 -0.971 0.785 + 0.282 0.051 -0.715 -0.011 -0.412 -0.098 -0.360 0.155 0.095 0.145 + 0.660 1.083 -0.553 -0.651 0.035 -0.118 -0.009 0.042 0.004 0.020 + 0.250 -0.245 0.381 -0.286 0.977 0.571 0.009 0.002 0.287 0.773 + -0.023 -0.393 0.027 0.562 -1.436 -0.392 0.651 1.021 -0.560 -0.519 + 0.059 1.066 -0.083 0.114 -0.309 0.805 1.096 -1.874 -0.082 -0.570 + -0.571 -0.775 0.240 -0.543 -0.321 -0.747 -0.639 -0.060 -0.168 0.102 + 0.498 -0.139 0.310 -0.018 0.203 0.038 -0.156 -0.303 0.221 -0.054 + -0.053 0.379 -0.466 -0.796 1.444 -0.293 0.180 -0.073 0.352 0.573 + 0.084 0.261 -0.038 0.058 0.547 1.289 0.048 0.039 1.370 0.992 + 0.200 0.220 -0.161 -0.182 0.167 0.140 0.667 -0.031 -0.145 0.378 + -0.132 0.128 0.357 -0.510 1.076 0.627 0.390 -0.155 -0.278 0.174 + -0.023 0.598 1.355 -0.757 0.009 -0.130 0.038 0.631 -0.373 1.390 + 0.085 0.327 0.085 -0.725 1.072 1.132 0.219 -0.231 -0.316 0.777 + -0.922 0.851 -0.261 -0.104 -0.106 0.075 0.005 -0.172 -0.084 0.005 + -0.122 0.056 0.056 -0.171 -0.396 -0.048 -1.478 0.481 -0.075 -0.256 + 0.458 -0.491 -0.067 0.052 -0.161 0.051 0.344 1.042 -0.203 0.057 + -0.183 -0.019 -0.075 -0.731 -0.663 -0.012 -1.125 -0.011 0.150 0.033 + -0.070 0.113 0.081 0.400 -1.649 0.599 -0.303 0.012 0.182 -0.029 + 0.097 0.012 -0.209 0.144 0.350 0.224 0.282 0.845 0.549 0.006 + 0.243 0.197 0.612 0.915 -1.248 -0.040 0.128 0.103 -1.027 0.857 + 0.137 -0.428 1.044 -0.775 0.182 0.201 0.030 0.084 -0.104 -0.406 + -0.368 -0.174 -0.423 0.117 0.287 -0.244 0.502 0.119 -0.355 0.126 + 0.234 -0.090 0.058 0.234 0.230 -0.100 0.604 0.438 0.047 0.136 + -0.119 -0.101 -0.951 -0.178 -0.243 0.384 0.104 -1.271 0.484 0.783 + -0.070 -0.304 0.229 -0.575 0.037 0.711 0.051 -0.152 0.317 0.057 + 0.142 -0.301 0.198 0.087 0.034 0.121 0.178 -0.090 -1.527 -0.074 + 0.763 -0.275 0.049 -0.174 -1.019 -0.069 0.565 0.075 -0.105 0.154 + -0.294 -0.318 -0.120 -0.649 0.600 -0.612 -0.014 0.171 0.320 1.253 + -0.795 0.844 0.283 -0.076 0.496 0.033 0.317 0.058 0.070 0.103 + -0.069 0.101 -0.293 -0.075 -0.048 -0.029 -0.033 -0.125 -0.132 0.112 + -0.152 0.227 -0.084 0.947 -0.186 -0.280 -0.047 0.130 0.231 1.708 + -0.435 -0.117 0.188 -0.186 0.206 -0.796 0.272 -0.399 -0.225 -0.368 + -0.300 0.004 0.047 -0.083 0.114 -0.073 -0.261 -0.002 0.251 0.506 + 0.318 -0.506 -0.018 0.092 -1.531 0.036 -0.263 0.131 0.081 -0.034 + 0.082 -0.103 0.006 -0.170 -0.032 -0.035 -0.786 0.575 -0.197 0.086 + -0.014 -1.030 -0.150 -0.498 0.728 0.123 1.141 0.218 -0.125 0.200 + -0.040 0.392 0.220 0.078 -0.024 -0.308 0.455 0.367 0.530 0.029 + -0.460 0.315 0.395 -0.217 -0.278 -0.230 0.104 0.080 -1.229 -0.572 + 0.068 0.154 1.250 -0.650 0.444 -0.022 0.195 -0.145 0.007 -0.244 + 0.097 0.529 -0.581 0.112 0.065 -0.161 -0.181 0.371 -1.016 -0.420 + -0.450 0.448 -0.235 -0.128 -0.156 -0.190 0.899 0.532 -0.159 0.079 + 0.151 -0.028 0.238 0.157 0.330 -0.617 -0.490 -0.207 0.273 0.844 + -0.278 -0.185 1.115 0.092 -0.458 -0.006 -0.223 0.290 -0.167 0.228 + -0.340 -0.006 0.758 -0.315 -1.257 0.069 -0.373 -0.058 -0.303 -1.967 + 0.718 -0.357 0.056 -0.008 -0.295 -0.376 2.194 -0.301 0.759 0.439 + 0.239 0.023 0.160 0.069 0.093 0.092 -0.472 0.439 -0.756 0.001 + -0.041 -0.066 0.837 1.216 0.059 -0.141 -0.166 -0.279 -0.088 -0.333 + -0.277 -0.008 -0.009 0.267 0.236 -0.216 -0.163 -0.660 -0.328 -0.010 + -0.080 -0.036 -0.155 0.044 0.012 -0.160 0.243 -0.043 0.091 -0.116 + -0.955 0.641 0.182 0.090 -0.177 -0.089 -0.282 -0.195 0.149 0.326 + 0.140 0.081 0.139 0.272 0.090 -0.503 -0.723 0.358 0.118 -0.086 + 0.118 -0.011 -0.146 -0.159 0.120 0.117 0.880 0.209 1.032 0.120 + 0.376 -0.126 0.019 0.471 -0.214 0.303 -0.609 0.053 0.035 -0.349 + -0.312 -0.041 -0.585 0.062 0.439 0.365 -0.940 0.101 -0.121 -0.022 + 0.275 -0.156 -0.029 -0.273 0.383 0.140 -0.500 0.465 -0.446 -0.022 + 0.333 0.085 -0.218 0.191 0.207 -0.241 0.055 0.090 -0.896 -0.329 + -0.565 1.147 0.854 -0.631 -0.001 -0.258 -0.292 0.010 0.102 0.214 + -0.228 0.201 0.038 0.368 -0.098 0.008 -0.196 -0.449 -0.237 0.349 + -0.045 -0.264 0.300 -0.139 0.099 -0.811 0.101 1.490 0.130 0.125 + 0.157 -0.206 0.931 0.295 0.049 -0.277 0.147 -0.580 -0.345 0.487 + 0.159 -0.069 -0.197 0.364 0.943 0.791 0.142 0.311 -0.214 -0.095 + -0.125 -0.077 -0.235 -0.328 -0.229 0.132 0.351 0.380 0.226 0.079 + 0.864 0.320 -0.117 -0.075 -0.185 -0.151 0.383 0.430 -0.376 0.241 + -0.430 -1.029 -0.680 -0.900 -0.993 0.456 0.079 0.186 -0.228 0.108 + -0.208 -1.777 -0.743 0.408 -1.141 -0.048 -0.094 -0.092 0.268 0.827 + -0.354 0.649 0.257 -0.764 0.094 -0.011 0.014 0.532 -0.952 0.776 + 0.296 0.046 -0.663 -0.024 -0.396 -0.091 -0.386 0.185 0.067 0.121 + 0.562 1.061 -0.538 -0.612 -0.020 -0.139 -0.014 0.054 -0.003 0.022 + 0.253 -0.241 0.384 -0.280 0.956 0.575 -0.015 0.024 0.262 0.762 + -0.015 -0.389 0.022 0.616 -1.445 -0.342 0.594 0.981 -0.562 -0.529 + 0.033 1.045 -0.083 0.123 -0.310 0.817 1.101 -1.863 -0.076 -0.562 + -0.565 -0.746 0.217 -0.530 -0.291 -0.753 -0.634 -0.052 -0.175 0.092 + 0.513 -0.134 0.299 -0.002 0.200 0.045 -0.149 -0.290 0.219 -0.058 + -0.059 0.375 -0.417 -0.804 1.434 -0.291 0.192 -0.083 0.360 0.544 + 0.123 0.263 -0.040 0.061 0.547 1.338 0.031 0.056 1.258 0.992 + 0.186 0.216 -0.167 -0.174 0.171 0.141 0.644 -0.028 -0.097 0.381 + -0.137 0.135 0.368 -0.560 0.979 0.617 0.383 -0.147 -0.263 0.177 + -0.033 0.575 1.315 -0.772 0.011 -0.129 0.035 0.597 -0.352 1.447 + 0.073 0.330 0.090 -0.708 1.010 1.101 0.213 -0.239 -0.312 0.808 + -0.904 0.817 -0.249 -0.099 -0.102 0.089 0.005 -0.174 -0.078 0.001 + -0.104 0.062 0.055 -0.175 -0.349 -0.030 -1.516 0.491 -0.080 -0.254 + 0.449 -0.456 -0.040 0.051 -0.154 0.039 0.308 1.053 -0.175 0.056 + -0.189 -0.009 -0.067 -0.758 -0.681 -0.022 -1.121 -0.055 0.130 0.011 + -0.061 0.108 0.074 0.404 -1.604 0.618 -0.257 0.013 0.185 -0.020 + 0.100 0.014 -0.215 0.142 0.342 0.228 0.300 0.816 0.548 0.008 + 0.238 0.191 0.605 0.912 -1.293 -0.045 0.131 0.117 -1.022 0.857 + 0.115 -0.424 1.054 -0.754 0.201 0.193 0.032 0.084 -0.097 -0.401 + -0.345 -0.178 -0.419 0.106 0.278 -0.235 0.539 0.136 -0.402 0.125 + 0.228 -0.089 0.058 0.227 0.233 -0.075 0.626 0.425 0.046 0.142 + -0.120 -0.066 -0.954 -0.194 -0.231 0.380 0.110 -1.257 0.521 0.755 + -0.072 -0.301 0.235 -0.558 0.008 0.693 0.055 -0.133 0.320 0.055 + 0.146 -0.305 0.192 0.093 0.038 0.116 0.177 -0.103 -1.474 -0.062 + 0.781 -0.259 0.042 -0.170 -1.015 -0.037 0.560 0.076 -0.107 0.148 + -0.270 -0.305 -0.118 -0.609 0.629 -0.637 -0.009 0.160 0.328 1.199 + -0.776 0.870 0.296 -0.094 0.492 0.034 0.321 0.048 0.083 0.100 + -0.069 0.101 -0.290 -0.075 -0.056 -0.024 -0.041 -0.126 -0.131 0.117 + -0.152 0.223 -0.079 0.939 -0.201 -0.351 -0.042 0.127 0.223 1.661 + -0.418 -0.115 0.183 -0.179 0.201 -0.756 0.316 -0.392 -0.225 -0.380 + -0.295 0.006 0.062 -0.092 0.116 -0.080 -0.257 -0.008 0.252 0.507 + 0.353 -0.523 0.025 0.158 -1.494 0.065 -0.262 0.138 0.084 -0.032 + 0.086 -0.106 0.011 -0.158 -0.028 -0.093 -0.777 0.557 -0.194 0.090 + -0.010 -1.042 -0.143 -0.451 0.747 0.166 1.114 0.197 -0.107 0.192 + -0.034 0.392 0.214 0.078 -0.032 -0.299 0.440 0.335 0.503 0.024 + -0.463 0.308 0.368 -0.237 -0.222 -0.222 0.101 0.067 -1.228 -0.561 + 0.058 0.074 1.182 -0.622 0.441 -0.024 0.198 -0.111 0.002 -0.217 + 0.140 0.553 -0.559 0.103 0.074 -0.171 -0.166 0.318 -1.002 -0.448 + -0.449 0.449 -0.229 -0.126 -0.151 -0.160 0.920 0.518 -0.163 0.062 + 0.148 -0.037 0.234 0.167 0.289 -0.609 -0.514 -0.175 0.234 0.805 + -0.264 -0.126 1.067 0.085 -0.459 -0.009 -0.239 0.298 -0.172 0.217 + -0.337 -0.008 0.774 -0.295 -1.254 0.077 -0.368 -0.053 -0.302 -1.974 + 0.706 -0.354 0.035 -0.015 -0.318 -0.373 2.171 -0.277 0.751 0.451 + 0.232 0.033 0.150 0.070 0.084 0.076 -0.476 0.490 -0.780 0.013 + -0.035 -0.073 0.825 1.181 0.094 -0.134 -0.164 -0.283 -0.104 -0.345 + -0.278 -0.021 0.020 0.250 0.235 -0.220 -0.164 -0.599 -0.335 -0.063 + -0.079 -0.031 -0.160 0.075 0.043 -0.162 0.241 -0.047 0.093 -0.119 + -0.916 0.586 0.179 0.092 -0.187 -0.096 -0.292 -0.195 0.150 0.318 + 0.140 0.075 0.132 0.259 0.055 -0.496 -0.712 0.362 0.122 -0.082 + 0.097 0.014 -0.128 -0.141 0.121 0.109 0.902 0.221 1.054 0.114 + 0.377 -0.132 0.005 0.492 -0.228 0.325 -0.591 0.059 0.042 -0.354 + -0.274 -0.050 -0.577 0.056 0.398 0.314 -0.961 0.111 -0.126 -0.027 + 0.262 -0.156 -0.021 -0.269 0.388 0.144 -0.496 0.506 -0.448 -0.035 + 0.339 0.080 -0.211 0.202 0.194 -0.247 0.054 0.086 -0.863 -0.344 + -0.490 1.124 0.887 -0.597 0.001 -0.259 -0.286 0.009 0.098 0.214 + -0.253 0.212 0.087 0.364 -0.093 0.018 -0.195 -0.468 -0.268 0.350 + -0.040 -0.262 0.303 -0.138 0.097 -0.772 0.088 1.470 0.131 0.119 + 0.152 -0.222 0.927 0.263 0.047 -0.279 0.146 -0.553 -0.341 0.462 + 0.162 -0.062 -0.202 0.384 0.942 0.750 0.142 0.300 -0.207 -0.099 + -0.114 -0.077 -0.229 -0.342 -0.230 0.135 0.353 0.372 0.218 0.070 + 0.835 0.334 -0.104 -0.077 -0.189 -0.139 0.333 0.438 -0.371 0.238 + -0.410 -1.043 -0.650 -0.826 -0.966 0.478 0.085 0.196 -0.215 0.109 + -0.237 -1.758 -0.683 0.461 -1.131 -0.055 -0.093 -0.098 0.262 0.807 + -0.352 0.654 0.207 -0.760 0.097 -0.016 0.017 0.548 -0.906 0.722 + 0.278 0.066 -0.633 -0.027 -0.376 -0.087 -0.360 0.185 0.059 0.111 + 0.501 1.097 -0.461 -0.579 -0.061 -0.137 -0.030 0.055 -0.007 0.028 + 0.250 -0.233 0.392 -0.282 0.930 0.560 -0.055 0.009 0.287 0.759 + -0.013 -0.391 0.018 0.639 -1.388 -0.292 0.563 0.988 -0.574 -0.526 + 0.010 0.991 -0.082 0.116 -0.310 0.784 1.089 -1.838 -0.087 -0.550 + -0.564 -0.766 0.180 -0.499 -0.282 -0.738 -0.666 -0.055 -0.169 0.085 + 0.442 -0.232 0.375 -0.007 0.206 0.050 -0.155 -0.285 0.226 -0.060 + -0.058 0.367 -0.389 -0.809 1.398 -0.293 0.197 -0.086 0.332 0.527 + 0.082 0.263 -0.036 0.071 0.559 1.330 0.022 0.045 1.176 0.977 + 0.186 0.218 -0.162 -0.161 0.155 0.132 0.612 -0.038 -0.025 0.383 + -0.128 0.113 0.331 -0.588 0.942 0.606 0.386 -0.157 -0.250 0.188 + -0.034 0.490 1.277 -0.804 0.013 -0.127 0.043 0.569 -0.349 1.490 + 0.066 0.341 0.093 -0.651 0.951 1.044 0.211 -0.241 -0.311 0.812 + -0.957 0.792 -0.242 -0.103 -0.102 0.089 0.004 -0.171 -0.069 -0.003 + -0.097 0.072 0.057 -0.176 -0.327 -0.038 -1.503 0.495 -0.092 -0.254 + 0.428 -0.445 0.012 0.052 -0.150 0.050 0.267 1.031 -0.191 0.052 + -0.188 -0.008 -0.080 -0.729 -0.649 -0.027 -1.127 -0.075 0.136 0.002 + -0.040 0.098 0.056 0.391 -1.590 0.574 -0.189 0.018 0.179 -0.020 + 0.093 0.019 -0.212 0.139 0.343 0.232 0.261 0.802 0.521 0.007 + 0.236 0.176 0.608 0.866 -1.319 -0.038 0.141 0.113 -1.027 0.793 + 0.107 -0.400 1.031 -0.749 0.190 0.182 0.034 0.076 -0.097 -0.412 + -0.308 -0.191 -0.412 0.105 0.278 -0.243 0.502 0.127 -0.410 0.125 + 0.221 -0.102 0.059 0.227 0.231 -0.036 0.597 0.407 0.054 0.131 + -0.107 -0.066 -0.933 -0.240 -0.235 0.381 0.107 -1.271 0.493 0.736 + -0.083 -0.288 0.239 -0.586 -0.011 0.725 0.061 -0.133 0.307 0.063 + 0.153 -0.306 0.193 0.095 0.044 0.116 0.183 -0.109 -1.420 -0.090 + 0.783 -0.253 0.041 -0.170 -0.970 -0.046 0.581 0.068 -0.111 0.143 + -0.293 -0.323 -0.128 -0.569 0.618 -0.603 -0.001 0.153 0.338 1.150 + -0.753 0.840 0.284 -0.126 0.476 0.027 0.318 0.055 0.097 0.086 + -0.068 0.096 -0.288 -0.072 -0.044 -0.020 -0.041 -0.123 -0.135 0.118 + -0.150 0.218 -0.070 0.873 -0.187 -0.342 -0.047 0.117 0.218 1.651 + -0.417 -0.100 0.178 -0.177 0.201 -0.765 0.298 -0.411 -0.198 -0.415 + -0.310 0.016 0.064 -0.083 0.114 -0.073 -0.259 -0.024 0.251 0.505 + 0.347 -0.520 0.036 0.205 -1.481 0.094 -0.247 0.125 0.081 -0.027 + 0.085 -0.099 0.014 -0.155 -0.028 -0.163 -0.748 0.543 -0.200 0.086 + -0.003 -1.034 -0.131 -0.465 0.742 0.187 1.147 0.181 -0.111 0.197 + -0.027 0.391 0.224 0.084 -0.031 -0.298 0.378 0.299 0.489 0.017 + -0.455 0.301 0.378 -0.236 -0.151 -0.222 0.107 0.073 -1.199 -0.571 + 0.103 0.020 1.149 -0.648 0.426 -0.017 0.189 -0.117 -0.011 -0.216 + 0.170 0.559 -0.504 0.104 0.066 -0.186 -0.191 0.274 -0.940 -0.460 + -0.400 0.455 -0.238 -0.131 -0.148 -0.147 0.905 0.526 -0.174 0.060 + 0.125 -0.025 0.243 0.182 0.238 -0.557 -0.501 -0.159 0.186 0.754 + -0.243 -0.026 0.940 0.087 -0.462 -0.003 -0.241 0.293 -0.172 0.212 + -0.332 -0.015 0.765 -0.241 -1.237 0.079 -0.372 -0.059 -0.258 -1.943 + 0.704 -0.352 0.041 -0.025 -0.331 -0.396 2.135 -0.258 0.700 0.424 + 0.229 0.023 0.143 0.059 0.079 0.067 -0.452 0.493 -0.788 0.015 + -0.042 -0.076 0.827 1.133 0.111 -0.122 -0.165 -0.276 -0.096 -0.338 + -0.270 -0.006 0.040 0.193 0.223 -0.218 -0.180 -0.545 -0.353 -0.074 + -0.079 -0.033 -0.151 0.117 0.007 -0.186 0.234 -0.049 0.098 -0.107 + -0.886 0.576 0.184 0.100 -0.185 -0.099 -0.295 -0.200 0.152 0.327 + 0.143 0.080 0.131 0.259 0.011 -0.452 -0.649 0.357 0.119 -0.073 + 0.085 0.040 -0.089 -0.142 0.112 0.110 0.884 0.258 1.041 0.107 + 0.359 -0.139 -0.003 0.500 -0.221 0.322 -0.609 0.108 0.022 -0.322 + -0.257 -0.038 -0.577 0.055 0.359 0.306 -0.914 0.101 -0.122 -0.025 + 0.261 -0.156 -0.030 -0.270 0.384 0.144 -0.467 0.474 -0.429 -0.036 + 0.333 0.070 -0.239 0.186 0.214 -0.255 0.058 0.072 -0.865 -0.334 + -0.424 1.069 0.954 -0.533 -0.015 -0.249 -0.279 0.003 0.093 0.206 + -0.259 0.222 0.081 0.368 -0.099 0.015 -0.164 -0.467 -0.266 0.356 + -0.039 -0.252 0.300 -0.138 0.098 -0.788 0.124 1.408 0.134 0.121 + 0.143 -0.228 0.892 0.226 0.052 -0.273 0.145 -0.543 -0.264 0.422 + 0.167 -0.051 -0.193 0.398 0.892 0.757 0.145 0.284 -0.212 -0.090 + -0.109 -0.072 -0.237 -0.347 -0.230 0.139 0.350 0.359 0.230 0.082 + 0.777 0.339 -0.104 -0.060 -0.218 -0.172 0.271 0.429 -0.374 0.222 + -0.418 -1.048 -0.611 -0.797 -0.974 0.512 0.084 0.204 -0.214 0.103 + -0.253 -1.715 -0.668 0.486 -1.117 -0.052 -0.082 -0.098 0.214 0.821 + -0.346 0.622 0.179 -0.709 0.095 -0.013 0.015 0.548 -0.869 0.662 + 0.265 0.052 -0.587 -0.038 -0.373 -0.074 -0.386 0.153 0.043 0.163 + 0.405 1.107 -0.408 -0.535 -0.064 -0.145 -0.020 0.057 -0.015 0.029 + 0.253 -0.231 0.402 -0.285 0.943 0.538 -0.042 0.021 0.302 0.713 + -0.019 -0.393 0.005 0.627 -1.352 -0.268 0.512 0.996 -0.516 -0.482 + -0.027 0.988 -0.083 0.115 -0.304 0.788 1.077 -1.790 -0.095 -0.545 + -0.568 -0.749 0.158 -0.465 -0.247 -0.751 -0.609 -0.053 -0.157 0.079 + 0.366 -0.215 0.377 -0.009 0.208 0.054 -0.148 -0.292 0.223 -0.063 + -0.044 0.369 -0.361 -0.800 1.397 -0.289 0.200 -0.079 0.319 0.511 + 0.071 0.249 -0.025 0.057 0.541 1.366 0.022 0.025 1.106 0.983 + 0.177 0.208 -0.151 -0.159 0.148 0.136 0.535 -0.036 0.038 0.374 + -0.123 0.121 0.356 -0.585 0.957 0.593 0.383 -0.147 -0.245 0.182 + -0.036 0.447 1.193 -0.822 0.014 -0.118 0.037 0.552 -0.301 1.463 + 0.053 0.346 0.095 -0.594 0.909 0.996 0.207 -0.251 -0.306 0.788 + -0.931 0.799 -0.216 -0.108 -0.098 0.087 0.008 -0.178 -0.061 -0.005 + -0.108 0.068 0.061 -0.181 -0.321 -0.049 -1.504 0.494 -0.099 -0.254 + 0.438 -0.474 -0.013 0.052 -0.158 0.031 0.257 1.002 -0.155 0.052 + -0.189 -0.026 -0.077 -0.731 -0.601 -0.035 -1.160 -0.060 0.121 -0.049 + -0.076 0.096 0.045 0.383 -1.551 0.600 -0.088 0.028 0.186 -0.012 + 0.091 0.022 -0.210 0.143 0.347 0.231 0.244 0.761 0.537 0.004 + 0.236 0.182 0.590 0.892 -1.322 -0.042 0.152 0.123 -1.007 0.762 + 0.094 -0.410 1.021 -0.715 0.184 0.168 0.023 0.064 -0.090 -0.411 + -0.255 -0.218 -0.385 0.116 0.284 -0.254 0.514 0.134 -0.402 0.120 + 0.216 -0.112 0.057 0.221 0.224 -0.057 0.586 0.406 0.044 0.144 + -0.092 -0.100 -0.875 -0.255 -0.232 0.370 0.103 -1.245 0.513 0.720 + -0.080 -0.292 0.230 -0.611 -0.039 0.753 0.061 -0.134 0.298 0.051 + 0.159 -0.315 0.181 0.100 0.044 0.111 0.179 -0.111 -1.358 -0.091 + 0.816 -0.241 0.052 -0.163 -0.920 -0.030 0.600 0.060 -0.105 0.147 + -0.289 -0.318 -0.120 -0.520 0.634 -0.577 0.004 0.152 0.336 1.123 + -0.693 0.842 0.285 -0.104 0.437 0.034 0.304 0.052 0.094 0.096 + -0.068 0.092 -0.295 -0.078 -0.040 -0.014 -0.046 -0.111 -0.139 0.122 + -0.133 0.214 -0.054 0.777 -0.166 -0.344 -0.060 0.124 0.221 1.613 + -0.437 -0.125 0.174 -0.188 0.201 -0.718 0.326 -0.374 -0.205 -0.415 + -0.280 0.012 0.068 -0.073 0.114 -0.078 -0.246 -0.017 0.256 0.513 + 0.351 -0.537 0.062 0.288 -1.452 0.078 -0.246 0.125 0.069 -0.034 + 0.088 -0.098 0.022 -0.167 -0.028 -0.175 -0.765 0.553 -0.193 0.077 + 0.003 -1.005 -0.099 -0.485 0.733 0.206 1.157 0.170 -0.115 0.169 + -0.023 0.394 0.224 0.094 -0.033 -0.292 0.345 0.281 0.438 0.009 + -0.462 0.318 0.380 -0.223 -0.157 -0.214 0.131 0.075 -1.181 -0.604 + 0.092 -0.037 1.112 -0.643 0.429 -0.024 0.189 -0.096 0.005 -0.257 + 0.233 0.540 -0.446 0.102 0.076 -0.180 -0.177 0.278 -0.860 -0.482 + -0.345 0.503 -0.224 -0.119 -0.144 -0.161 0.941 0.520 -0.160 0.035 + 0.103 -0.021 0.249 0.194 0.222 -0.573 -0.505 -0.170 0.215 0.730 + -0.224 -0.001 0.883 0.073 -0.447 0.011 -0.246 0.280 -0.164 0.214 + -0.335 -0.006 0.749 -0.269 -1.242 0.078 -0.379 -0.070 -0.237 -1.947 + 0.766 -0.351 0.048 -0.035 -0.337 -0.365 2.154 -0.226 0.695 0.440 + 0.223 0.020 0.142 0.054 0.074 0.066 -0.418 0.456 -0.780 0.011 + -0.038 -0.081 0.837 1.080 0.165 -0.121 -0.171 -0.281 -0.097 -0.338 + -0.272 -0.049 0.045 0.189 0.224 -0.210 -0.184 -0.499 -0.327 -0.104 + -0.075 -0.023 -0.146 0.113 0.017 -0.167 0.226 -0.058 0.101 -0.126 + -0.833 0.488 0.175 0.106 -0.186 -0.095 -0.280 -0.191 0.156 0.327 + 0.144 0.082 0.131 0.246 -0.041 -0.440 -0.627 0.342 0.109 -0.070 + 0.136 0.057 -0.041 -0.134 0.106 0.104 0.875 0.240 1.052 0.113 + 0.352 -0.134 0.022 0.490 -0.188 0.301 -0.589 0.154 0.056 -0.321 + -0.256 -0.037 -0.575 0.057 0.372 0.305 -0.868 0.096 -0.127 -0.036 + 0.252 -0.148 -0.031 -0.272 0.376 0.140 -0.476 0.534 -0.427 -0.045 + 0.340 0.068 -0.256 0.164 0.203 -0.263 0.060 0.063 -0.805 -0.352 + -0.406 1.031 0.938 -0.477 -0.014 -0.248 -0.285 0.007 0.106 0.212 + -0.265 0.215 0.122 0.374 -0.103 0.010 -0.184 -0.442 -0.281 0.356 + -0.051 -0.235 0.307 -0.148 0.107 -0.771 0.125 1.356 0.134 0.119 + 0.150 -0.231 0.881 0.206 0.044 -0.272 0.149 -0.576 -0.238 0.414 + 0.176 -0.045 -0.192 0.386 0.847 0.750 0.151 0.275 -0.206 -0.083 + -0.110 -0.078 -0.229 -0.350 -0.229 0.132 0.340 0.354 0.322 0.085 + 0.749 0.336 -0.080 -0.045 -0.204 -0.170 0.262 0.417 -0.364 0.221 + -0.429 -1.050 -0.584 -0.807 -0.958 0.551 0.082 0.191 -0.225 0.159 + -0.292 -1.703 -0.643 0.511 -1.118 -0.043 -0.083 -0.092 0.193 0.832 + -0.368 0.574 0.133 -0.672 0.109 -0.018 0.020 0.620 -0.863 0.630 + 0.266 0.064 -0.579 -0.051 -0.364 -0.065 -0.390 0.148 0.028 0.172 + 0.385 1.098 -0.376 -0.551 -0.063 -0.148 -0.011 0.060 -0.024 0.030 + 0.243 -0.237 0.413 -0.281 0.878 0.544 -0.053 -0.004 0.350 0.663 + -0.013 -0.394 -0.006 0.630 -1.322 -0.201 0.459 0.989 -0.513 -0.470 + -0.085 0.933 -0.091 0.113 -0.293 0.790 1.039 -1.746 -0.091 -0.535 + -0.568 -0.746 0.069 -0.411 -0.261 -0.781 -0.607 -0.047 -0.158 0.081 + 0.276 -0.264 0.338 -0.013 0.202 0.055 -0.158 -0.294 0.222 -0.068 + -0.035 0.375 -0.322 -0.798 1.353 -0.290 0.201 -0.081 0.288 0.505 + 0.104 0.247 -0.023 0.055 0.543 1.379 0.041 0.035 0.998 1.039 + 0.168 0.203 -0.161 -0.142 0.134 0.133 0.460 -0.022 0.114 0.394 + -0.116 0.116 0.344 -0.580 0.927 0.585 0.377 -0.151 -0.240 0.188 + -0.048 0.417 1.111 -0.859 0.003 -0.134 0.042 0.571 -0.274 1.448 + 0.046 0.336 0.092 -0.538 0.832 0.917 0.219 -0.249 -0.297 0.757 + -0.972 0.820 -0.211 -0.094 -0.100 0.084 0.015 -0.176 -0.051 -0.007 + -0.107 0.066 0.056 -0.175 -0.297 -0.054 -1.503 0.483 -0.098 -0.257 + 0.467 -0.459 -0.032 0.057 -0.160 0.037 0.240 0.978 -0.157 0.053 + -0.205 -0.021 -0.073 -0.726 -0.614 -0.062 -1.162 -0.086 0.172 -0.059 + -0.093 0.093 0.041 0.375 -1.515 0.633 -0.059 0.029 0.186 -0.011 + 0.097 0.022 -0.211 0.149 0.343 0.232 0.222 0.755 0.530 0.007 + 0.220 0.182 0.607 0.867 -1.252 -0.048 0.148 0.127 -1.011 0.730 + 0.105 -0.392 0.986 -0.734 0.187 0.172 0.026 0.058 -0.085 -0.412 + -0.191 -0.229 -0.360 0.110 0.276 -0.256 0.479 0.130 -0.402 0.126 + 0.211 -0.121 0.061 0.217 0.222 -0.046 0.591 0.400 0.040 0.146 + -0.086 -0.121 -0.836 -0.285 -0.226 0.370 0.100 -1.245 0.497 0.736 + -0.073 -0.286 0.230 -0.628 -0.088 0.768 0.051 -0.130 0.304 0.054 + 0.156 -0.307 0.181 0.108 0.039 0.099 0.166 -0.124 -1.303 -0.128 + 0.826 -0.250 0.055 -0.167 -0.874 -0.044 0.527 0.042 -0.087 0.146 + -0.309 -0.330 -0.129 -0.484 0.661 -0.549 0.009 0.144 0.335 1.079 + -0.637 0.841 0.273 -0.118 0.448 0.033 0.300 0.044 0.097 0.088 + -0.066 0.084 -0.301 -0.087 -0.044 -0.002 -0.043 -0.109 -0.138 0.125 + -0.128 0.207 -0.064 0.714 -0.182 -0.364 -0.053 0.120 0.220 1.555 + -0.475 -0.103 0.171 -0.202 0.187 -0.712 0.340 -0.381 -0.212 -0.444 + -0.237 0.014 0.072 -0.072 0.115 -0.072 -0.249 -0.029 0.242 0.505 + 0.325 -0.534 0.047 0.384 -1.462 0.083 -0.238 0.121 0.073 -0.041 + 0.090 -0.101 0.028 -0.171 -0.028 -0.172 -0.784 0.521 -0.189 0.083 + 0.011 -0.994 -0.105 -0.525 0.707 0.266 1.184 0.159 -0.097 0.172 + -0.025 0.379 0.227 0.091 -0.049 -0.284 0.315 0.308 0.362 0.011 + -0.462 0.313 0.408 -0.239 -0.153 -0.221 0.132 0.078 -1.170 -0.607 + 0.137 -0.067 1.097 -0.626 0.435 -0.023 0.189 -0.086 0.021 -0.225 + 0.230 0.507 -0.388 0.108 0.072 -0.183 -0.173 0.257 -0.830 -0.499 + -0.333 0.527 -0.232 -0.124 -0.143 -0.153 0.927 0.519 -0.139 0.044 + 0.050 -0.031 0.245 0.204 0.173 -0.551 -0.496 -0.178 0.185 0.698 + -0.212 0.018 0.802 0.075 -0.442 0.010 -0.249 0.278 -0.173 0.217 + -0.344 0.011 0.765 -0.262 -1.247 0.084 -0.377 -0.064 -0.227 -1.934 + 0.746 -0.348 0.049 -0.031 -0.340 -0.367 2.123 -0.240 0.680 0.458 + 0.222 0.007 0.126 0.049 0.068 0.057 -0.380 0.425 -0.781 -0.002 + -0.028 -0.093 0.816 1.059 0.203 -0.119 -0.170 -0.269 -0.091 -0.343 + -0.270 -0.023 0.087 0.200 0.215 -0.208 -0.182 -0.423 -0.287 -0.099 + -0.079 -0.028 -0.149 0.113 0.032 -0.190 0.225 -0.076 0.096 -0.074 + -0.811 0.468 0.178 0.096 -0.178 -0.103 -0.285 -0.190 0.143 0.336 + 0.140 0.088 0.125 0.238 -0.071 -0.453 -0.653 0.332 0.110 -0.064 + 0.175 0.061 -0.024 -0.118 0.110 0.104 0.875 0.237 1.031 0.103 + 0.345 -0.126 0.033 0.481 -0.145 0.310 -0.545 0.149 0.047 -0.344 + -0.226 -0.028 -0.577 0.063 0.389 0.278 -0.857 0.096 -0.121 -0.021 + 0.258 -0.144 -0.030 -0.264 0.375 0.140 -0.485 0.527 -0.403 -0.053 + 0.338 0.063 -0.225 0.176 0.239 -0.262 0.056 0.056 -0.814 -0.346 + -0.389 1.014 0.940 -0.427 -0.006 -0.262 -0.275 0.011 0.111 0.217 + -0.248 0.174 0.123 0.374 -0.098 0.007 -0.194 -0.439 -0.285 0.343 + -0.051 -0.233 0.319 -0.146 0.107 -0.753 0.118 1.340 0.132 0.114 + 0.165 -0.241 0.817 0.199 0.049 -0.253 0.161 -0.571 -0.234 0.383 + 0.178 -0.041 -0.178 0.424 0.804 0.779 0.154 0.278 -0.209 -0.079 + -0.107 -0.074 -0.230 -0.348 -0.236 0.124 0.331 0.353 0.320 0.050 + 0.695 0.339 -0.083 -0.048 -0.153 -0.141 0.225 0.412 -0.371 0.215 + -0.439 -1.060 -0.549 -0.728 -0.950 0.561 0.077 0.188 -0.225 0.171 + -0.298 -1.661 -0.639 0.532 -1.110 -0.047 -0.074 -0.088 0.200 0.797 + -0.366 0.508 0.152 -0.608 0.110 -0.026 0.025 0.681 -0.851 0.566 + 0.319 0.071 -0.551 -0.061 -0.357 -0.057 -0.366 0.167 0.002 0.174 + 0.317 1.082 -0.357 -0.564 -0.060 -0.157 -0.007 0.055 -0.025 0.025 + 0.238 -0.233 0.422 -0.265 0.878 0.547 -0.062 0.008 0.374 0.645 + -0.014 -0.390 -0.002 0.658 -1.291 -0.181 0.426 0.995 -0.487 -0.426 + -0.139 0.943 -0.091 0.106 -0.294 0.783 1.039 -1.732 -0.105 -0.521 + -0.559 -0.694 -0.007 -0.424 -0.262 -0.793 -0.603 -0.041 -0.159 0.079 + 0.239 -0.256 0.360 -0.008 0.198 0.063 -0.160 -0.306 0.223 -0.084 + -0.027 0.383 -0.279 -0.818 1.323 -0.289 0.199 -0.077 0.259 0.537 + 0.056 0.246 -0.019 0.044 0.555 1.359 0.041 -0.013 0.921 1.040 + 0.168 0.213 -0.161 -0.138 0.137 0.127 0.425 -0.066 0.169 0.387 + -0.101 0.119 0.336 -0.605 0.923 0.576 0.374 -0.153 -0.228 0.193 + -0.051 0.389 1.056 -0.839 -0.004 -0.110 0.044 0.547 -0.279 1.462 + 0.047 0.334 0.103 -0.501 0.770 0.873 0.205 -0.252 -0.305 0.741 + -0.979 0.819 -0.197 -0.087 -0.092 0.086 0.029 -0.189 -0.053 -0.015 + -0.121 0.066 0.054 -0.184 -0.266 -0.074 -1.455 0.477 -0.088 -0.250 + 0.464 -0.448 -0.007 0.063 -0.157 0.038 0.166 0.996 -0.180 0.057 + -0.203 -0.037 -0.038 -0.759 -0.628 -0.018 -1.171 -0.080 0.167 -0.058 + -0.100 0.077 0.043 0.362 -1.499 0.645 -0.008 0.036 0.193 -0.004 + 0.092 0.021 -0.208 0.154 0.331 0.231 0.225 0.752 0.547 -0.008 + 0.222 0.183 0.600 0.885 -1.264 -0.048 0.154 0.138 -0.976 0.770 + 0.065 -0.389 1.001 -0.712 0.193 0.168 0.034 0.054 -0.083 -0.424 + -0.176 -0.239 -0.310 0.109 0.268 -0.263 0.477 0.101 -0.420 0.114 + 0.204 -0.115 0.063 0.217 0.224 -0.010 0.535 0.410 0.042 0.150 + -0.091 -0.130 -0.818 -0.295 -0.221 0.363 0.089 -1.209 0.509 0.699 + -0.062 -0.269 0.234 -0.620 -0.091 0.751 0.041 -0.128 0.308 0.052 + 0.159 -0.303 0.172 0.111 0.035 0.094 0.166 -0.126 -1.226 -0.149 + 0.834 -0.262 0.044 -0.163 -0.835 -0.013 0.532 0.045 -0.090 0.139 + -0.336 -0.324 -0.140 -0.437 0.617 -0.529 0.015 0.133 0.339 0.983 + -0.601 0.819 0.281 -0.135 0.429 0.039 0.294 0.045 0.104 0.089 + -0.065 0.079 -0.301 -0.087 -0.041 0.019 -0.045 -0.104 -0.143 0.126 + -0.124 0.199 -0.063 0.675 -0.183 -0.371 -0.050 0.126 0.206 1.500 + -0.503 -0.123 0.167 -0.190 0.186 -0.687 0.354 -0.388 -0.230 -0.415 + -0.247 0.028 0.078 -0.077 0.117 -0.073 -0.243 -0.031 0.242 0.509 + 0.302 -0.521 0.020 0.396 -1.448 0.063 -0.229 0.113 0.069 -0.053 + 0.091 -0.104 0.018 -0.168 -0.027 -0.174 -0.781 0.486 -0.200 0.090 + 0.014 -0.975 -0.056 -0.550 0.680 0.306 1.191 0.159 -0.093 0.166 + -0.011 0.378 0.231 0.103 -0.053 -0.289 0.222 0.306 0.349 0.009 + -0.464 0.308 0.423 -0.233 -0.078 -0.231 0.138 0.077 -1.147 -0.602 + 0.069 -0.068 1.061 -0.577 0.437 -0.010 0.191 -0.047 0.024 -0.264 + 0.281 0.514 -0.324 0.102 0.073 -0.191 -0.170 0.249 -0.808 -0.466 + -0.282 0.505 -0.229 -0.111 -0.149 -0.180 0.883 0.485 -0.141 0.034 + 0.084 -0.030 0.241 0.209 0.156 -0.566 -0.492 -0.170 0.193 0.626 + -0.182 0.041 0.761 0.078 -0.444 0.008 -0.240 0.282 -0.161 0.208 + -0.349 0.017 0.757 -0.248 -1.222 0.081 -0.381 -0.058 -0.173 -1.874 + 0.686 -0.336 0.056 -0.041 -0.338 -0.374 2.146 -0.250 0.584 0.440 + 0.215 0.016 0.128 0.046 0.073 0.063 -0.308 0.382 -0.767 -0.003 + -0.028 -0.084 0.825 1.031 0.234 -0.110 -0.178 -0.264 -0.094 -0.339 + -0.270 -0.002 0.043 0.146 0.202 -0.184 -0.177 -0.359 -0.293 -0.104 + -0.075 -0.035 -0.156 0.127 -0.008 -0.228 0.219 -0.075 0.098 -0.037 + -0.787 0.398 0.176 0.094 -0.171 -0.107 -0.285 -0.179 0.139 0.341 + 0.133 0.095 0.124 0.227 -0.119 -0.491 -0.652 0.326 0.113 -0.060 + 0.176 0.112 -0.051 -0.116 0.106 0.090 0.862 0.249 1.026 0.103 + 0.348 -0.115 0.030 0.432 -0.220 0.332 -0.522 0.099 0.064 -0.304 + -0.212 -0.028 -0.576 0.060 0.396 0.218 -0.852 0.098 -0.124 -0.018 + 0.265 -0.146 -0.035 -0.250 0.386 0.142 -0.453 0.528 -0.340 -0.055 + 0.341 0.069 -0.237 0.173 0.239 -0.263 0.060 0.049 -0.749 -0.362 + -0.393 0.967 0.889 -0.349 -0.007 -0.256 -0.264 0.008 0.101 0.210 + -0.230 0.174 0.114 0.378 -0.104 0.016 -0.175 -0.399 -0.308 0.345 + -0.054 -0.229 0.307 -0.152 0.119 -0.751 0.156 1.298 0.131 0.120 + 0.171 -0.233 0.776 0.126 0.051 -0.260 0.164 -0.516 -0.217 0.384 + 0.186 -0.038 -0.180 0.450 0.755 0.758 0.158 0.265 -0.208 -0.083 + -0.105 -0.079 -0.227 -0.353 -0.230 0.123 0.331 0.350 0.319 0.056 + 0.646 0.331 -0.077 -0.039 -0.112 -0.138 0.174 0.409 -0.372 0.214 + -0.459 -1.048 -0.491 -0.693 -0.948 0.599 0.082 0.186 -0.234 0.197 + -0.301 -1.602 -0.594 0.524 -1.106 -0.042 -0.065 -0.082 0.181 0.823 + -0.391 0.456 0.138 -0.566 0.098 -0.037 0.030 0.697 -0.867 0.528 + 0.336 0.122 -0.474 -0.060 -0.357 -0.047 -0.348 0.162 -0.006 0.165 + 0.199 1.065 -0.337 -0.608 -0.098 -0.153 -0.009 0.036 -0.012 0.018 + 0.231 -0.223 0.428 -0.256 0.860 0.516 -0.128 0.035 0.347 0.664 + -0.014 -0.389 -0.013 0.679 -1.230 -0.145 0.397 0.928 -0.467 -0.397 + -0.183 0.923 -0.091 0.112 -0.292 0.747 1.057 -1.735 -0.112 -0.517 + -0.541 -0.686 -0.067 -0.393 -0.258 -0.771 -0.584 -0.039 -0.154 0.081 + 0.192 -0.278 0.341 -0.013 0.215 0.074 -0.158 -0.304 0.219 -0.084 + -0.019 0.389 -0.231 -0.839 1.221 -0.293 0.205 -0.080 0.225 0.539 + 0.051 0.252 -0.014 0.050 0.529 1.353 0.001 -0.013 0.866 1.059 + 0.158 0.199 -0.149 -0.124 0.122 0.121 0.439 -0.097 0.190 0.394 + -0.094 0.126 0.333 -0.655 0.866 0.572 0.359 -0.150 -0.221 0.195 + -0.058 0.346 0.962 -0.868 -0.002 -0.099 0.050 0.532 -0.286 1.485 + 0.050 0.341 0.102 -0.450 0.722 0.800 0.201 -0.245 -0.303 0.728 + -0.983 0.797 -0.186 -0.080 -0.085 0.099 0.034 -0.201 -0.050 -0.028 + -0.110 0.059 0.058 -0.182 -0.225 -0.062 -1.420 0.475 -0.066 -0.240 + 0.515 -0.406 0.005 0.063 -0.162 0.026 0.132 0.961 -0.200 0.056 + -0.212 -0.036 -0.033 -0.753 -0.570 -0.004 -1.142 -0.101 0.168 -0.042 + -0.093 0.083 0.043 0.349 -1.480 0.636 0.037 0.045 0.193 -0.013 + 0.084 0.026 -0.207 0.149 0.333 0.239 0.213 0.718 0.564 -0.003 + 0.234 0.183 0.573 0.888 -1.220 -0.057 0.170 0.137 -0.974 0.721 + 0.013 -0.328 0.969 -0.685 0.194 0.165 0.042 0.055 -0.076 -0.414 + -0.180 -0.250 -0.299 0.101 0.266 -0.275 0.473 0.117 -0.390 0.124 + 0.209 -0.111 0.045 0.221 0.214 0.049 0.503 0.466 0.044 0.154 + -0.091 -0.168 -0.770 -0.271 -0.211 0.347 0.114 -1.141 0.524 0.697 + -0.059 -0.267 0.219 -0.664 -0.148 0.782 0.039 -0.138 0.303 0.049 + 0.145 -0.301 0.175 0.107 0.030 0.092 0.159 -0.127 -1.108 -0.186 + 0.880 -0.264 0.042 -0.160 -0.776 -0.014 0.501 0.030 -0.074 0.130 + -0.341 -0.331 -0.125 -0.428 0.579 -0.508 0.031 0.126 0.333 0.902 + -0.567 0.835 0.298 -0.133 0.428 0.026 0.294 0.047 0.099 0.090 + -0.064 0.082 -0.306 -0.089 -0.055 0.021 -0.049 -0.093 -0.142 0.134 + -0.125 0.195 -0.059 0.593 -0.126 -0.419 -0.051 0.132 0.199 1.443 + -0.543 -0.139 0.169 -0.198 0.179 -0.663 0.387 -0.407 -0.228 -0.410 + -0.226 0.031 0.081 -0.068 0.120 -0.068 -0.234 -0.031 0.239 0.512 + 0.288 -0.491 0.006 0.403 -1.363 0.099 -0.229 0.111 0.066 -0.048 + 0.084 -0.108 0.022 -0.167 -0.026 -0.154 -0.782 0.462 -0.196 0.085 + 0.016 -0.914 -0.053 -0.558 0.642 0.325 1.169 0.150 -0.094 0.170 + -0.010 0.373 0.225 0.105 -0.062 -0.273 0.220 0.349 0.329 0.014 + -0.466 0.308 0.406 -0.292 -0.012 -0.222 0.135 0.068 -1.144 -0.578 + 0.076 -0.104 1.061 -0.583 0.430 -0.011 0.177 -0.026 0.014 -0.255 + 0.320 0.500 -0.312 0.111 0.084 -0.184 -0.173 0.197 -0.734 -0.467 + -0.289 0.480 -0.214 -0.110 -0.156 -0.189 0.940 0.467 -0.154 0.037 + 0.107 -0.033 0.235 0.216 0.110 -0.555 -0.457 -0.164 0.186 0.617 + -0.183 0.105 0.675 0.076 -0.443 -0.003 -0.238 0.284 -0.157 0.197 + -0.355 0.007 0.751 -0.240 -1.144 0.074 -0.379 -0.057 -0.190 -1.900 + 0.677 -0.340 0.066 -0.049 -0.324 -0.373 2.069 -0.223 0.530 0.389 + 0.206 0.009 0.144 0.051 0.079 0.058 -0.224 0.288 -0.784 -0.009 + -0.030 -0.080 0.845 0.982 0.275 -0.103 -0.181 -0.266 -0.090 -0.341 + -0.270 -0.032 0.070 0.123 0.190 -0.179 -0.179 -0.320 -0.229 -0.112 + -0.076 -0.042 -0.152 0.163 -0.010 -0.213 0.223 -0.075 0.112 -0.024 + -0.731 0.343 0.190 0.082 -0.159 -0.109 -0.287 -0.179 0.146 0.346 + 0.131 0.095 0.123 0.210 -0.151 -0.517 -0.649 0.330 0.125 -0.058 + 0.205 0.087 -0.039 -0.110 0.116 0.075 0.838 0.268 1.033 0.105 + 0.342 -0.112 0.086 0.422 -0.215 0.367 -0.502 0.094 0.097 -0.245 + -0.261 -0.040 -0.567 0.061 0.394 0.150 -0.841 0.097 -0.118 -0.018 + 0.265 -0.149 -0.033 -0.260 0.383 0.142 -0.497 0.539 -0.351 -0.056 + 0.333 0.084 -0.212 0.144 0.212 -0.252 0.078 0.049 -0.722 -0.339 + -0.370 0.923 0.873 -0.313 -0.011 -0.254 -0.248 0.013 0.094 0.211 + -0.281 0.155 0.119 0.376 -0.106 0.019 -0.165 -0.432 -0.286 0.339 + -0.044 -0.228 0.311 -0.143 0.124 -0.743 0.095 1.316 0.127 0.120 + 0.171 -0.222 0.737 0.108 0.060 -0.254 0.154 -0.503 -0.239 0.342 + 0.182 -0.030 -0.179 0.429 0.665 0.775 0.158 0.261 -0.209 -0.083 + -0.092 -0.082 -0.226 -0.359 -0.234 0.108 0.328 0.347 0.312 0.018 + 0.627 0.332 -0.075 -0.046 -0.092 -0.137 0.096 0.411 -0.379 0.205 + -0.452 -1.062 -0.461 -0.650 -0.982 0.612 0.078 0.191 -0.240 0.227 + -0.333 -1.556 -0.579 0.540 -1.087 -0.027 -0.065 -0.085 0.149 0.854 + -0.394 0.383 0.105 -0.532 0.079 -0.042 0.025 0.720 -0.813 0.505 + 0.332 0.098 -0.456 -0.066 -0.337 -0.039 -0.329 0.144 -0.034 0.190 + 0.176 1.031 -0.317 -0.620 -0.152 -0.146 -0.008 0.035 -0.016 0.017 + 0.228 -0.220 0.423 -0.246 0.852 0.516 -0.138 0.042 0.339 0.647 + -0.006 -0.379 -0.027 0.706 -1.164 -0.116 0.368 0.898 -0.450 -0.424 + -0.223 0.869 -0.080 0.113 -0.294 0.700 1.010 -1.743 -0.111 -0.523 + -0.544 -0.672 -0.080 -0.404 -0.234 -0.762 -0.571 -0.032 -0.149 0.081 + 0.137 -0.272 0.365 -0.012 0.212 0.068 -0.151 -0.315 0.214 -0.085 + -0.024 0.387 -0.247 -0.828 1.182 -0.295 0.195 -0.091 0.201 0.534 + 0.079 0.248 -0.012 0.052 0.535 1.334 0.029 -0.025 0.771 1.042 + 0.155 0.190 -0.155 -0.113 0.132 0.104 0.382 -0.077 0.227 0.392 + -0.095 0.131 0.308 -0.672 0.868 0.567 0.339 -0.155 -0.209 0.196 + -0.059 0.314 0.948 -0.887 0.002 -0.088 0.043 0.536 -0.278 1.467 + 0.041 0.356 0.105 -0.364 0.637 0.727 0.197 -0.233 -0.293 0.751 + -1.010 0.781 -0.178 -0.075 -0.088 0.117 0.036 -0.201 -0.042 -0.035 + -0.123 0.058 0.059 -0.179 -0.195 -0.070 -1.462 0.471 -0.060 -0.244 + 0.494 -0.410 0.018 0.070 -0.155 0.012 0.128 0.958 -0.168 0.050 + -0.213 -0.036 -0.077 -0.761 -0.525 -0.041 -1.118 -0.089 0.149 -0.072 + -0.094 0.082 0.033 0.344 -1.473 0.706 0.062 0.042 0.197 -0.014 + 0.080 0.037 -0.194 0.149 0.345 0.236 0.238 0.726 0.597 -0.003 + 0.231 0.174 0.582 0.898 -1.177 -0.063 0.174 0.133 -0.993 0.702 + -0.021 -0.251 0.929 -0.672 0.179 0.152 0.042 0.051 -0.079 -0.410 + -0.165 -0.255 -0.319 0.116 0.277 -0.271 0.501 0.165 -0.370 0.132 + 0.208 -0.117 0.038 0.215 0.216 0.062 0.437 0.476 0.050 0.161 + -0.081 -0.154 -0.723 -0.296 -0.217 0.333 0.117 -1.131 0.519 0.703 + -0.050 -0.256 0.218 -0.639 -0.186 0.761 0.034 -0.142 0.303 0.045 + 0.139 -0.277 0.171 0.113 0.033 0.078 0.162 -0.130 -0.999 -0.215 + 0.921 -0.268 0.042 -0.153 -0.747 0.033 0.522 0.011 -0.079 0.126 + -0.347 -0.308 -0.152 -0.413 0.619 -0.441 0.047 0.112 0.332 0.884 + -0.543 0.804 0.281 -0.106 0.465 0.024 0.299 0.035 0.097 0.082 + -0.083 0.082 -0.309 -0.090 -0.069 0.019 -0.046 -0.099 -0.145 0.135 + -0.121 0.175 -0.067 0.473 -0.142 -0.453 -0.041 0.144 0.200 1.373 + -0.578 -0.136 0.165 -0.185 0.173 -0.655 0.390 -0.439 -0.217 -0.428 + -0.231 0.029 0.084 -0.067 0.127 -0.062 -0.233 -0.037 0.236 0.511 + 0.301 -0.495 0.038 0.465 -1.367 0.071 -0.217 0.109 0.079 -0.043 + 0.078 -0.120 0.026 -0.177 -0.029 -0.182 -0.743 0.424 -0.194 0.092 + 0.020 -0.894 -0.018 -0.556 0.658 0.345 1.145 0.165 -0.104 0.167 + 0.004 0.378 0.222 0.117 -0.045 -0.260 0.155 0.374 0.259 0.020 + -0.456 0.317 0.393 -0.273 -0.009 -0.231 0.121 0.055 -1.147 -0.617 + 0.146 -0.070 1.024 -0.586 0.426 -0.007 0.168 -0.007 0.030 -0.274 + 0.385 0.462 -0.301 0.113 0.095 -0.177 -0.176 0.193 -0.691 -0.487 + -0.267 0.416 -0.210 -0.107 -0.156 -0.155 0.952 0.462 -0.169 0.032 + 0.101 -0.039 0.239 0.222 0.072 -0.543 -0.488 -0.132 0.124 0.577 + -0.195 0.151 0.604 0.064 -0.437 -0.006 -0.232 0.271 -0.148 0.201 + -0.354 0.012 0.765 -0.211 -1.145 0.073 -0.385 -0.058 -0.169 -1.860 + 0.682 -0.338 0.063 -0.046 -0.293 -0.366 2.044 -0.203 0.478 0.385 + 0.204 0.019 0.146 0.043 0.069 0.058 -0.185 0.295 -0.769 -0.001 + -0.020 -0.078 0.876 0.950 0.293 -0.091 -0.187 -0.259 -0.080 -0.342 + -0.278 -0.020 0.092 0.106 0.185 -0.180 -0.187 -0.256 -0.256 -0.141 + -0.061 -0.040 -0.145 0.124 0.008 -0.187 0.216 -0.082 0.124 -0.003 + -0.666 0.278 0.185 0.091 -0.163 -0.114 -0.284 -0.171 0.137 0.341 + 0.136 0.102 0.116 0.204 -0.199 -0.524 -0.637 0.331 0.123 -0.048 + 0.217 0.076 -0.057 -0.107 0.114 0.073 0.801 0.252 1.048 0.108 + 0.328 -0.118 0.042 0.444 -0.215 0.396 -0.517 0.100 0.106 -0.202 + -0.269 -0.040 -0.565 0.049 0.420 0.181 -0.842 0.095 -0.114 -0.024 + 0.265 -0.140 -0.032 -0.257 0.379 0.143 -0.505 0.534 -0.289 -0.062 + 0.331 0.059 -0.182 0.155 0.221 -0.247 0.072 0.035 -0.659 -0.337 + -0.328 0.872 0.882 -0.221 -0.021 -0.250 -0.242 0.014 0.098 0.211 + -0.316 0.173 0.102 0.374 -0.094 0.024 -0.152 -0.449 -0.241 0.338 + -0.022 -0.232 0.312 -0.145 0.127 -0.724 0.146 1.279 0.114 0.119 + 0.173 -0.206 0.669 0.093 0.048 -0.250 0.152 -0.464 -0.260 0.326 + 0.184 -0.022 -0.188 0.414 0.639 0.759 0.152 0.259 -0.210 -0.080 + -0.087 -0.079 -0.218 -0.348 -0.239 0.109 0.321 0.339 0.359 0.018 + 0.586 0.327 -0.082 -0.040 -0.080 -0.151 0.035 0.397 -0.387 0.208 + -0.426 -1.054 -0.390 -0.561 -0.944 0.610 0.083 0.197 -0.239 0.286 + -0.365 -1.543 -0.562 0.569 -1.038 -0.017 -0.055 -0.088 0.161 0.835 + -0.436 0.356 0.059 -0.518 0.079 -0.041 0.035 0.716 -0.789 0.426 + 0.336 0.069 -0.391 -0.065 -0.331 -0.030 -0.318 0.130 -0.078 0.231 + 0.088 0.983 -0.292 -0.590 -0.210 -0.143 -0.014 0.033 -0.014 0.023 + 0.231 -0.208 0.415 -0.245 0.881 0.472 -0.185 0.022 0.346 0.595 + -0.011 -0.377 -0.034 0.715 -1.123 -0.095 0.288 0.936 -0.405 -0.445 + -0.307 0.886 -0.054 0.104 -0.304 0.663 1.002 -1.696 -0.113 -0.527 + -0.540 -0.640 -0.180 -0.399 -0.210 -0.744 -0.589 -0.032 -0.140 0.084 + 0.107 -0.322 0.356 -0.004 0.201 0.072 -0.154 -0.305 0.214 -0.081 + -0.022 0.385 -0.239 -0.828 1.126 -0.294 0.195 -0.093 0.182 0.530 + 0.101 0.241 0.005 0.036 0.538 1.341 0.036 -0.029 0.647 1.032 + 0.153 0.188 -0.164 -0.099 0.142 0.107 0.340 -0.031 0.252 0.397 + -0.086 0.131 0.303 -0.656 0.791 0.548 0.323 -0.158 -0.192 0.198 + -0.052 0.265 0.931 -0.885 0.012 -0.096 0.051 0.569 -0.260 1.445 + 0.041 0.349 0.107 -0.335 0.596 0.639 0.195 -0.229 -0.283 0.716 + -1.059 0.766 -0.161 -0.082 -0.085 0.121 0.041 -0.197 -0.045 -0.016 + -0.128 0.046 0.063 -0.181 -0.143 -0.054 -1.461 0.455 -0.070 -0.234 + 0.497 -0.437 -0.000 0.080 -0.144 0.017 0.071 0.915 -0.116 0.058 + -0.206 -0.040 -0.068 -0.729 -0.506 -0.016 -1.074 -0.084 0.170 -0.049 + -0.108 0.077 0.033 0.329 -1.439 0.762 0.107 0.053 0.193 -0.011 + 0.074 0.032 -0.193 0.151 0.342 0.232 0.246 0.718 0.614 0.010 + 0.234 0.176 0.560 0.908 -1.174 -0.065 0.181 0.125 -0.974 0.648 + -0.012 -0.236 0.920 -0.653 0.175 0.147 0.035 0.056 -0.072 -0.412 + -0.132 -0.254 -0.308 0.113 0.281 -0.262 0.456 0.154 -0.363 0.130 + 0.198 -0.120 0.034 0.227 0.206 0.084 0.415 0.483 0.051 0.167 + -0.082 -0.143 -0.743 -0.300 -0.216 0.334 0.117 -1.122 0.533 0.719 + -0.055 -0.263 0.219 -0.642 -0.206 0.777 0.044 -0.127 0.300 0.040 + 0.145 -0.268 0.164 0.122 0.031 0.078 0.151 -0.131 -0.901 -0.239 + 0.968 -0.267 0.032 -0.154 -0.694 0.046 0.537 0.007 -0.085 0.114 + -0.368 -0.327 -0.155 -0.395 0.661 -0.403 0.062 0.099 0.328 0.773 + -0.521 0.763 0.264 -0.100 0.478 0.019 0.298 0.048 0.105 0.089 + -0.072 0.083 -0.322 -0.098 -0.080 0.025 -0.050 -0.104 -0.137 0.125 + -0.115 0.169 -0.062 0.405 -0.145 -0.470 -0.037 0.155 0.193 1.318 + -0.585 -0.137 0.171 -0.188 0.176 -0.630 0.388 -0.416 -0.238 -0.410 + -0.185 0.037 0.074 -0.065 0.131 -0.068 -0.233 -0.050 0.233 0.506 + 0.351 -0.493 -0.004 0.516 -1.327 0.083 -0.219 0.115 0.074 -0.058 + 0.081 -0.113 0.027 -0.190 -0.023 -0.169 -0.704 0.435 -0.188 0.081 + 0.028 -0.877 0.003 -0.612 0.641 0.323 1.139 0.174 -0.111 0.165 + 0.003 0.384 0.216 0.112 -0.043 -0.245 0.137 0.402 0.178 0.019 + -0.449 0.313 0.407 -0.289 0.013 -0.238 0.122 0.043 -1.179 -0.659 + 0.126 -0.091 0.974 -0.523 0.410 -0.001 0.157 -0.023 0.055 -0.331 + 0.440 0.428 -0.283 0.112 0.096 -0.184 -0.168 0.194 -0.620 -0.481 + -0.279 0.407 -0.214 -0.101 -0.144 -0.143 0.959 0.482 -0.163 -0.027 + 0.037 -0.038 0.236 0.219 0.053 -0.529 -0.452 -0.132 0.052 0.556 + -0.181 0.188 0.566 0.055 -0.433 0.003 -0.233 0.264 -0.166 0.189 + -0.339 0.010 0.776 -0.252 -1.117 0.081 -0.371 -0.050 -0.135 -1.844 + 0.614 -0.342 0.070 -0.044 -0.305 -0.333 2.009 -0.166 0.467 0.407 + 0.208 0.017 0.153 0.044 0.072 0.050 -0.109 0.274 -0.749 -0.014 + -0.015 -0.069 0.797 0.902 0.325 -0.098 -0.200 -0.264 -0.089 -0.340 + -0.278 -0.003 0.121 0.105 0.186 -0.171 -0.183 -0.192 -0.310 -0.156 + -0.062 -0.039 -0.145 0.145 0.035 -0.197 0.206 -0.081 0.134 -0.015 + -0.634 0.239 0.203 0.093 -0.167 -0.109 -0.286 -0.176 0.148 0.328 + 0.140 0.096 0.112 0.193 -0.282 -0.491 -0.612 0.331 0.131 -0.050 + 0.261 0.070 -0.040 -0.118 0.114 0.079 0.787 0.280 1.035 0.102 + 0.316 -0.112 0.033 0.421 -0.237 0.402 -0.478 0.122 0.142 -0.180 + -0.270 -0.046 -0.562 0.041 0.408 0.141 -0.845 0.102 -0.117 -0.033 + 0.270 -0.131 -0.031 -0.259 0.380 0.141 -0.496 0.524 -0.230 -0.066 + 0.332 0.065 -0.192 0.155 0.213 -0.238 0.093 0.019 -0.602 -0.313 + -0.289 0.816 0.875 -0.178 -0.027 -0.252 -0.232 0.018 0.094 0.208 + -0.352 0.132 0.119 0.364 -0.087 0.036 -0.157 -0.453 -0.231 0.334 + -0.024 -0.240 0.306 -0.137 0.128 -0.736 0.151 1.246 0.119 0.121 + 0.185 -0.189 0.607 0.131 0.049 -0.250 0.161 -0.496 -0.282 0.290 + 0.195 -0.012 -0.197 0.441 0.590 0.770 0.146 0.250 -0.222 -0.066 + -0.086 -0.084 -0.213 -0.349 -0.235 0.108 0.315 0.335 0.364 0.014 + 0.563 0.316 -0.088 -0.040 -0.072 -0.187 -0.019 0.405 -0.386 0.204 + -0.431 -1.071 -0.324 -0.482 -0.916 0.692 0.074 0.180 -0.231 0.308 + -0.326 -1.551 -0.518 0.552 -1.002 -0.012 -0.057 -0.073 0.143 0.847 + -0.420 0.311 0.058 -0.498 0.077 -0.045 0.042 0.742 -0.780 0.401 + 0.344 0.080 -0.290 -0.072 -0.334 -0.023 -0.317 0.116 -0.131 0.232 + -0.006 0.997 -0.238 -0.590 -0.242 -0.131 -0.015 0.031 -0.021 0.022 + 0.230 -0.192 0.410 -0.241 0.842 0.459 -0.287 0.025 0.358 0.548 + -0.020 -0.378 -0.050 0.713 -1.068 -0.035 0.223 0.889 -0.368 -0.420 + -0.342 0.864 -0.059 0.099 -0.309 0.662 0.990 -1.647 -0.116 -0.524 + -0.536 -0.630 -0.268 -0.417 -0.191 -0.739 -0.613 -0.025 -0.142 0.084 + 0.053 -0.328 0.383 -0.004 0.210 0.070 -0.158 -0.306 0.214 -0.085 + -0.021 0.382 -0.213 -0.868 1.015 -0.302 0.186 -0.082 0.176 0.544 + 0.100 0.236 0.028 0.039 0.535 1.355 0.094 0.003 0.622 1.078 + 0.147 0.173 -0.161 -0.088 0.134 0.103 0.319 -0.007 0.341 0.387 + -0.088 0.132 0.283 -0.719 0.779 0.531 0.322 -0.161 -0.183 0.197 + -0.044 0.225 0.881 -0.900 0.012 -0.093 0.057 0.603 -0.309 1.451 + 0.037 0.339 0.106 -0.205 0.580 0.580 0.191 -0.230 -0.275 0.751 + -1.060 0.786 -0.156 -0.076 -0.088 0.124 0.032 -0.200 -0.038 -0.015 + -0.133 0.049 0.067 -0.182 -0.118 -0.017 -1.456 0.460 -0.067 -0.240 + 0.513 -0.483 0.004 0.080 -0.136 0.026 0.017 0.908 -0.132 0.068 + -0.222 -0.049 -0.071 -0.730 -0.523 -0.044 -1.059 -0.110 0.189 -0.093 + -0.108 0.070 0.035 0.318 -1.456 0.750 0.183 0.041 0.188 -0.021 + 0.080 0.037 -0.186 0.144 0.341 0.230 0.187 0.723 0.631 0.007 + 0.230 0.157 0.566 0.843 -1.167 -0.069 0.175 0.127 -0.992 0.620 + -0.027 -0.175 0.894 -0.636 0.167 0.139 0.029 0.061 -0.072 -0.406 + -0.075 -0.230 -0.322 0.117 0.284 -0.278 0.474 0.194 -0.345 0.119 + 0.194 -0.121 0.026 0.218 0.193 0.077 0.406 0.503 0.055 0.162 + -0.085 -0.124 -0.754 -0.319 -0.210 0.334 0.112 -1.100 0.489 0.732 + -0.061 -0.263 0.223 -0.621 -0.227 0.758 0.052 -0.124 0.303 0.035 + 0.145 -0.263 0.164 0.119 0.031 0.079 0.153 -0.130 -0.842 -0.237 + 0.956 -0.277 0.023 -0.151 -0.656 0.071 0.521 0.014 -0.080 0.111 + -0.361 -0.306 -0.162 -0.334 0.678 -0.388 0.072 0.092 0.323 0.687 + -0.466 0.785 0.276 -0.134 0.458 0.017 0.296 0.036 0.114 0.091 + -0.079 0.088 -0.320 -0.098 -0.077 0.034 -0.053 -0.095 -0.124 0.120 + -0.108 0.165 -0.053 0.355 -0.154 -0.435 -0.028 0.157 0.201 1.281 + -0.625 -0.129 0.180 -0.178 0.171 -0.588 0.408 -0.389 -0.269 -0.416 + -0.213 0.040 0.079 -0.061 0.136 -0.076 -0.232 -0.063 0.225 0.502 + 0.338 -0.508 -0.014 0.583 -1.346 0.088 -0.205 0.101 0.079 -0.064 + 0.087 -0.106 0.028 -0.199 -0.022 -0.215 -0.693 0.433 -0.192 0.089 + 0.025 -0.884 0.011 -0.580 0.619 0.320 1.097 0.177 -0.122 0.161 + 0.005 0.382 0.208 0.107 -0.050 -0.243 0.121 0.450 0.107 0.015 + -0.445 0.302 0.446 -0.269 0.065 -0.241 0.128 0.049 -1.193 -0.679 + 0.148 -0.120 0.868 -0.509 0.414 0.000 0.167 0.003 0.050 -0.337 + 0.438 0.424 -0.232 0.114 0.100 -0.199 -0.144 0.132 -0.568 -0.496 + -0.213 0.382 -0.200 -0.079 -0.134 -0.176 0.968 0.451 -0.180 -0.026 + 0.033 -0.041 0.229 0.226 0.106 -0.453 -0.427 -0.109 -0.014 0.454 + -0.210 0.256 0.483 0.058 -0.433 0.014 -0.233 0.260 -0.168 0.185 + -0.335 0.021 0.751 -0.263 -1.087 0.074 -0.368 -0.058 -0.140 -1.800 + 0.595 -0.347 0.070 -0.045 -0.335 -0.310 2.027 -0.110 0.432 0.404 + 0.208 0.017 0.146 0.048 0.084 0.044 -0.040 0.239 -0.720 -0.004 + -0.007 -0.091 0.789 0.908 0.355 -0.100 -0.202 -0.259 -0.081 -0.329 + -0.267 -0.014 0.100 0.058 0.183 -0.180 -0.187 -0.093 -0.313 -0.178 + -0.066 -0.048 -0.137 0.156 -0.007 -0.215 0.207 -0.082 0.135 -0.007 + -0.585 0.181 0.199 0.098 -0.169 -0.092 -0.295 -0.174 0.138 0.320 + 0.140 0.102 0.113 0.177 -0.269 -0.524 -0.595 0.326 0.131 -0.053 + 0.281 0.021 -0.021 -0.123 0.102 0.082 0.776 0.326 1.021 0.091 + 0.312 -0.101 0.021 0.437 -0.206 0.367 -0.483 0.102 0.187 -0.168 + -0.249 -0.047 -0.555 0.041 0.437 0.129 -0.846 0.109 -0.107 -0.046 + 0.274 -0.128 -0.024 -0.254 0.370 0.144 -0.514 0.485 -0.197 -0.064 + 0.319 0.066 -0.198 0.111 0.242 -0.222 0.087 0.010 -0.555 -0.283 + -0.231 0.819 0.878 -0.106 -0.026 -0.247 -0.233 0.015 0.091 0.204 + -0.372 0.136 0.150 0.367 -0.081 0.027 -0.148 -0.428 -0.279 0.330 + -0.020 -0.248 0.302 -0.140 0.130 -0.770 0.163 1.229 0.128 0.134 + 0.186 -0.138 0.552 0.097 0.045 -0.248 0.170 -0.500 -0.240 0.242 + 0.195 -0.003 -0.198 0.456 0.543 0.783 0.154 0.257 -0.229 -0.069 + -0.075 -0.090 -0.212 -0.354 -0.243 0.106 0.314 0.341 0.397 0.028 + 0.514 0.310 -0.075 -0.038 -0.015 -0.172 -0.054 0.405 -0.390 0.201 + -0.418 -1.083 -0.279 -0.435 -0.903 0.677 0.081 0.173 -0.227 0.326 + -0.355 -1.543 -0.510 0.552 -0.956 -0.011 -0.056 -0.073 0.130 0.868 + -0.433 0.261 -0.033 -0.515 0.062 -0.051 0.032 0.764 -0.728 0.360 + 0.337 0.106 -0.222 -0.068 -0.326 -0.019 -0.278 0.096 -0.130 0.228 + -0.060 0.956 -0.228 -0.571 -0.269 -0.125 -0.005 0.032 -0.025 0.014 + 0.220 -0.185 0.399 -0.246 0.792 0.473 -0.327 0.067 0.402 0.492 + -0.023 -0.375 -0.066 0.754 -1.038 0.041 0.148 0.831 -0.306 -0.435 + -0.365 0.891 -0.050 0.093 -0.313 0.672 0.964 -1.581 -0.123 -0.524 + -0.533 -0.606 -0.334 -0.393 -0.156 -0.765 -0.596 -0.027 -0.143 0.080 + -0.033 -0.354 0.388 -0.000 0.203 0.070 -0.163 -0.305 0.212 -0.094 + -0.019 0.391 -0.235 -0.929 0.932 -0.303 0.181 -0.079 0.131 0.570 + 0.110 0.229 0.026 0.035 0.510 1.349 0.107 0.014 0.610 1.089 + 0.145 0.183 -0.173 -0.082 0.142 0.106 0.272 -0.041 0.359 0.382 + -0.084 0.129 0.272 -0.702 0.762 0.517 0.316 -0.165 -0.169 0.202 + -0.045 0.131 0.796 -0.890 0.021 -0.093 0.059 0.610 -0.320 1.421 + 0.035 0.338 0.108 -0.160 0.502 0.537 0.189 -0.225 -0.265 0.773 + -1.086 0.719 -0.137 -0.063 -0.092 0.120 0.029 -0.198 -0.041 -0.000 + -0.138 0.050 0.071 -0.180 -0.082 -0.011 -1.458 0.461 -0.069 -0.249 + 0.520 -0.491 0.021 0.066 -0.144 0.026 -0.016 0.893 -0.123 0.063 + -0.215 -0.044 -0.067 -0.712 -0.526 -0.024 -1.042 -0.124 0.152 -0.121 + -0.120 0.073 0.024 0.317 -1.427 0.782 0.255 0.044 0.189 -0.017 + 0.081 0.042 -0.191 0.127 0.335 0.246 0.224 0.764 0.609 0.007 + 0.213 0.155 0.586 0.806 -1.174 -0.063 0.191 0.136 -1.006 0.583 + -0.025 -0.086 0.892 -0.623 0.171 0.133 0.029 0.060 -0.055 -0.411 + -0.065 -0.224 -0.331 0.108 0.290 -0.263 0.517 0.232 -0.370 0.118 + 0.194 -0.107 0.029 0.217 0.194 0.092 0.410 0.499 0.061 0.157 + -0.090 -0.146 -0.761 -0.326 -0.198 0.325 0.107 -1.054 0.503 0.783 + -0.066 -0.260 0.227 -0.602 -0.224 0.713 0.055 -0.136 0.302 0.044 + 0.138 -0.261 0.164 0.122 0.035 0.062 0.155 -0.133 -0.795 -0.244 + 0.941 -0.278 0.030 -0.152 -0.621 0.106 0.497 0.010 -0.066 0.106 + -0.381 -0.311 -0.174 -0.313 0.695 -0.349 0.074 0.082 0.318 0.588 + -0.359 0.805 0.227 -0.147 0.436 0.021 0.295 0.041 0.104 0.095 + -0.092 0.086 -0.312 -0.099 -0.078 0.049 -0.054 -0.087 -0.131 0.123 + -0.105 0.163 -0.047 0.226 -0.149 -0.466 -0.014 0.148 0.198 1.250 + -0.619 -0.133 0.172 -0.176 0.172 -0.522 0.407 -0.366 -0.273 -0.406 + -0.159 0.038 0.071 -0.057 0.122 -0.064 -0.227 -0.069 0.234 0.511 + 0.299 -0.492 0.004 0.645 -1.282 0.060 -0.212 0.108 0.072 -0.065 + 0.087 -0.095 0.015 -0.209 -0.010 -0.215 -0.725 0.438 -0.193 0.090 + 0.030 -0.869 -0.019 -0.569 0.566 0.327 1.084 0.163 -0.128 0.166 + -0.000 0.383 0.218 0.109 -0.049 -0.238 0.074 0.424 0.041 0.010 + -0.445 0.303 0.428 -0.248 0.063 -0.239 0.129 0.044 -1.153 -0.729 + 0.168 -0.132 0.794 -0.532 0.400 0.002 0.160 -0.018 0.088 -0.366 + 0.500 0.419 -0.192 0.117 0.099 -0.200 -0.148 0.095 -0.510 -0.494 + -0.224 0.394 -0.198 -0.070 -0.136 -0.155 0.933 0.460 -0.174 -0.028 + 0.029 -0.041 0.227 0.230 0.096 -0.433 -0.446 -0.037 -0.068 0.390 + -0.211 0.321 0.402 0.054 -0.440 0.003 -0.230 0.254 -0.149 0.181 + -0.331 0.015 0.700 -0.279 -1.078 0.058 -0.366 -0.066 -0.134 -1.810 + 0.543 -0.333 0.066 -0.055 -0.341 -0.306 1.992 -0.123 0.393 0.408 + 0.202 0.027 0.150 0.034 0.083 0.035 0.017 0.199 -0.709 -0.008 + -0.002 -0.091 0.745 0.918 0.368 -0.106 -0.191 -0.263 -0.078 -0.335 + -0.260 -0.020 0.098 0.025 0.169 -0.172 -0.183 -0.049 -0.287 -0.186 + -0.056 -0.065 -0.134 0.124 -0.006 -0.204 0.202 -0.072 0.143 -0.000 + -0.579 0.130 0.190 0.103 -0.180 -0.083 -0.285 -0.174 0.136 0.313 + 0.138 0.112 0.112 0.171 -0.290 -0.551 -0.550 0.337 0.136 -0.052 + 0.267 0.016 -0.043 -0.107 0.091 0.087 0.772 0.336 1.024 0.085 + 0.306 -0.090 0.022 0.387 -0.183 0.382 -0.455 0.091 0.205 -0.131 + -0.246 -0.030 -0.553 0.044 0.424 0.136 -0.824 0.112 -0.090 -0.055 + 0.268 -0.122 -0.022 -0.263 0.369 0.149 -0.525 0.489 -0.173 -0.084 + 0.322 0.067 -0.208 0.072 0.251 -0.207 0.087 -0.001 -0.495 -0.287 + -0.200 0.739 0.866 -0.012 -0.015 -0.236 -0.244 0.023 0.086 0.195 + -0.403 0.104 0.162 0.348 -0.076 0.027 -0.117 -0.437 -0.283 0.335 + -0.026 -0.248 0.309 -0.134 0.138 -0.762 0.162 1.186 0.130 0.122 + 0.181 -0.129 0.471 0.083 0.046 -0.248 0.167 -0.493 -0.219 0.239 + 0.197 0.001 -0.206 0.461 0.507 0.723 0.156 0.261 -0.221 -0.076 + -0.069 -0.074 -0.215 -0.359 -0.246 0.113 0.308 0.336 0.424 0.048 + 0.471 0.301 -0.068 -0.020 -0.005 -0.174 -0.124 0.395 -0.394 0.199 + -0.424 -1.020 -0.252 -0.361 -0.947 0.740 0.075 0.186 -0.235 0.379 + -0.341 -1.538 -0.474 0.562 -0.940 -0.017 -0.057 -0.086 0.122 0.879 + -0.370 0.220 -0.065 -0.523 0.064 -0.056 0.031 0.798 -0.741 0.310 + 0.333 0.078 -0.167 -0.068 -0.305 -0.006 -0.293 0.086 -0.146 0.212 + -0.154 0.952 -0.190 -0.509 -0.292 -0.123 -0.006 0.032 -0.034 0.016 + 0.218 -0.183 0.402 -0.244 0.772 0.421 -0.385 0.079 0.405 0.484 + -0.020 -0.372 -0.068 0.761 -0.942 0.114 0.094 0.853 -0.275 -0.445 + -0.386 0.860 -0.048 0.084 -0.317 0.697 0.929 -1.601 -0.124 -0.514 + -0.525 -0.565 -0.401 -0.353 -0.167 -0.731 -0.560 -0.018 -0.139 0.077 + -0.097 -0.335 0.418 0.003 0.197 0.071 -0.167 -0.296 0.217 -0.097 + -0.021 0.377 -0.177 -0.883 0.857 -0.294 0.182 -0.083 0.106 0.592 + 0.145 0.227 0.034 0.028 0.485 1.341 0.106 0.026 0.545 1.067 + 0.136 0.187 -0.153 -0.065 0.145 0.105 0.219 -0.061 0.436 0.371 + -0.067 0.121 0.244 -0.728 0.698 0.504 0.310 -0.162 -0.155 0.206 + -0.055 0.088 0.717 -0.883 0.021 -0.090 0.068 0.616 -0.317 1.405 + 0.030 0.345 0.116 -0.109 0.472 0.440 0.187 -0.230 -0.242 0.752 + -1.106 0.694 -0.123 -0.070 -0.096 0.112 0.035 -0.194 -0.035 0.008 + -0.140 0.054 0.066 -0.177 -0.042 0.004 -1.490 0.449 -0.060 -0.242 + 0.500 -0.484 -0.023 0.074 -0.135 0.029 -0.090 0.883 -0.127 0.055 + -0.209 -0.041 -0.015 -0.671 -0.507 -0.062 -1.050 -0.127 0.168 -0.130 + -0.125 0.066 0.024 0.315 -1.457 0.741 0.326 0.045 0.190 -0.009 + 0.079 0.051 -0.187 0.136 0.350 0.240 0.206 0.750 0.564 0.015 + 0.212 0.148 0.527 0.759 -1.161 -0.072 0.197 0.133 -1.010 0.597 + -0.001 -0.055 0.894 -0.669 0.170 0.118 0.024 0.057 -0.053 -0.422 + -0.026 -0.236 -0.349 0.115 0.279 -0.263 0.500 0.277 -0.395 0.121 + 0.193 -0.097 0.026 0.223 0.180 0.099 0.387 0.528 0.069 0.154 + -0.088 -0.155 -0.739 -0.309 -0.196 0.317 0.115 -1.029 0.458 0.783 + -0.071 -0.255 0.231 -0.611 -0.239 0.726 0.053 -0.128 0.286 0.036 + 0.138 -0.273 0.162 0.120 0.034 0.050 0.147 -0.135 -0.704 -0.236 + 0.925 -0.287 0.031 -0.141 -0.566 0.132 0.508 -0.014 -0.067 0.105 + -0.384 -0.284 -0.164 -0.299 0.734 -0.332 0.083 0.089 0.325 0.513 + -0.236 0.779 0.222 -0.179 0.417 0.020 0.294 0.044 0.106 0.098 + -0.088 0.090 -0.309 -0.098 -0.085 0.066 -0.043 -0.088 -0.137 0.126 + -0.096 0.169 -0.052 0.153 -0.173 -0.493 -0.004 0.158 0.191 1.211 + -0.627 -0.199 0.171 -0.175 0.175 -0.503 0.398 -0.340 -0.217 -0.408 + -0.135 0.042 0.067 -0.040 0.117 -0.064 -0.220 -0.077 0.239 0.517 + 0.318 -0.476 0.052 0.710 -1.308 0.038 -0.219 0.110 0.066 -0.063 + 0.092 -0.093 0.014 -0.215 -0.019 -0.259 -0.725 0.419 -0.185 0.089 + 0.032 -0.840 -0.012 -0.613 0.519 0.324 1.007 0.168 -0.123 0.156 + -0.000 0.379 0.219 0.109 -0.041 -0.234 0.034 0.458 -0.012 0.000 + -0.445 0.306 0.475 -0.263 0.073 -0.227 0.138 0.038 -1.156 -0.711 + 0.164 -0.199 0.749 -0.521 0.399 -0.005 0.148 -0.025 0.099 -0.349 + 0.563 0.412 -0.163 0.119 0.096 -0.200 -0.138 0.114 -0.475 -0.527 + -0.202 0.418 -0.187 -0.066 -0.138 -0.158 0.936 0.465 -0.173 -0.045 + 0.012 -0.046 0.223 0.238 0.056 -0.413 -0.429 -0.023 -0.061 0.373 + -0.240 0.360 0.329 0.045 -0.431 -0.006 -0.230 0.245 -0.151 0.188 + -0.342 0.009 0.704 -0.291 -1.109 0.063 -0.362 -0.059 -0.065 -1.752 + 0.546 -0.330 0.078 -0.054 -0.396 -0.318 1.933 -0.151 0.325 0.387 + 0.192 0.025 0.147 0.024 0.071 0.029 0.096 0.227 -0.686 -0.010 + -0.007 -0.099 0.755 0.899 0.371 -0.106 -0.181 -0.254 -0.077 -0.340 + -0.251 -0.019 0.053 0.052 0.155 -0.164 -0.188 0.010 -0.308 -0.173 + -0.042 -0.068 -0.122 0.114 0.020 -0.177 0.204 -0.070 0.151 0.005 + -0.559 0.075 0.187 0.095 -0.180 -0.092 -0.288 -0.173 0.129 0.310 + 0.147 0.114 0.114 0.172 -0.354 -0.550 -0.511 0.352 0.127 -0.055 + 0.293 0.027 -0.027 -0.099 0.088 0.089 0.816 0.317 1.015 0.068 + 0.316 -0.091 0.059 0.409 -0.205 0.355 -0.386 0.105 0.171 -0.098 + -0.237 -0.026 -0.547 0.040 0.363 0.070 -0.858 0.115 -0.092 -0.061 + 0.271 -0.121 -0.025 -0.262 0.372 0.137 -0.513 0.501 -0.140 -0.085 + 0.323 0.064 -0.191 0.074 0.193 -0.212 0.089 -0.005 -0.444 -0.281 + -0.151 0.750 0.805 0.042 -0.013 -0.216 -0.234 0.016 0.078 0.177 + -0.388 0.083 0.168 0.357 -0.080 0.042 -0.148 -0.422 -0.258 0.334 + -0.024 -0.239 0.317 -0.136 0.135 -0.751 0.208 1.160 0.120 0.118 + 0.178 -0.101 0.468 0.059 0.045 -0.240 0.164 -0.492 -0.184 0.169 + 0.192 0.005 -0.213 0.494 0.455 0.670 0.155 0.255 -0.228 -0.068 + -0.056 -0.076 -0.215 -0.364 -0.233 0.116 0.311 0.329 0.387 0.051 + 0.456 0.299 -0.071 -0.010 0.028 -0.177 -0.189 0.383 -0.391 0.192 + -0.388 -0.989 -0.216 -0.254 -0.906 0.741 0.082 0.180 -0.235 0.443 + -0.356 -1.519 -0.462 0.597 -0.924 -0.016 -0.066 -0.081 0.138 0.848 + -0.384 0.152 -0.098 -0.499 0.065 -0.056 0.022 0.839 -0.728 0.265 + 0.337 0.059 -0.134 -0.076 -0.314 0.006 -0.328 0.056 -0.168 0.208 + -0.247 0.943 -0.168 -0.473 -0.327 -0.120 -0.029 0.026 -0.039 0.019 + 0.222 -0.175 0.399 -0.242 0.750 0.380 -0.414 0.061 0.412 0.469 + -0.037 -0.366 -0.064 0.765 -0.877 0.176 0.077 0.871 -0.291 -0.413 + -0.393 0.835 -0.055 0.077 -0.316 0.692 0.886 -1.554 -0.140 -0.511 + -0.520 -0.562 -0.426 -0.343 -0.123 -0.733 -0.536 -0.022 -0.135 0.072 + -0.206 -0.367 0.422 0.006 0.196 0.074 -0.170 -0.285 0.219 -0.103 + -0.014 0.371 -0.134 -0.893 0.806 -0.293 0.178 -0.080 0.101 0.623 + 0.141 0.223 0.041 0.029 0.450 1.348 0.086 0.053 0.444 1.071 + 0.137 0.185 -0.146 -0.053 0.145 0.101 0.136 -0.038 0.469 0.367 + -0.054 0.126 0.242 -0.774 0.679 0.490 0.301 -0.160 -0.147 0.210 + -0.072 0.035 0.667 -0.897 0.021 -0.078 0.053 0.597 -0.339 1.427 + 0.012 0.340 0.118 -0.073 0.489 0.376 0.190 -0.220 -0.246 0.770 + -1.127 0.700 -0.121 -0.076 -0.095 0.109 0.019 -0.196 -0.038 0.005 + -0.139 0.049 0.067 -0.187 -0.015 0.040 -1.482 0.443 -0.058 -0.233 + 0.536 -0.443 -0.032 0.084 -0.130 0.036 -0.150 0.833 -0.105 0.061 + -0.217 -0.037 -0.014 -0.656 -0.468 -0.054 -1.005 -0.129 0.137 -0.111 + -0.116 0.069 0.029 0.307 -1.384 0.764 0.396 0.045 0.198 0.007 + 0.086 0.048 -0.188 0.123 0.345 0.232 0.226 0.810 0.592 0.010 + 0.226 0.144 0.555 0.735 -1.174 -0.075 0.204 0.142 -0.968 0.577 + 0.002 0.006 0.848 -0.638 0.163 0.104 0.026 0.060 -0.053 -0.422 + 0.008 -0.220 -0.307 0.114 0.274 -0.258 0.479 0.315 -0.425 0.124 + 0.186 -0.100 0.019 0.222 0.178 0.139 0.295 0.526 0.070 0.157 + -0.090 -0.153 -0.727 -0.313 -0.177 0.299 0.121 -1.017 0.452 0.809 + -0.059 -0.252 0.235 -0.614 -0.250 0.717 0.048 -0.125 0.281 0.043 + 0.145 -0.271 0.153 0.126 0.040 0.040 0.141 -0.141 -0.636 -0.210 + 0.978 -0.281 0.035 -0.139 -0.496 0.145 0.450 -0.017 -0.058 0.105 + -0.366 -0.285 -0.141 -0.251 0.767 -0.285 0.087 0.080 0.329 0.445 + -0.121 0.725 0.218 -0.192 0.439 0.031 0.310 0.049 0.107 0.094 + -0.091 0.099 -0.307 -0.106 -0.079 0.072 -0.038 -0.098 -0.138 0.131 + -0.085 0.168 -0.040 0.040 -0.146 -0.535 -0.005 0.144 0.192 1.177 + -0.669 -0.220 0.166 -0.167 0.169 -0.514 0.418 -0.281 -0.221 -0.413 + -0.128 0.044 0.061 -0.044 0.121 -0.058 -0.216 -0.075 0.235 0.508 + 0.364 -0.500 0.059 0.781 -1.298 0.075 -0.209 0.113 0.063 -0.060 + 0.104 -0.085 0.012 -0.208 -0.024 -0.253 -0.734 0.439 -0.183 0.091 + 0.032 -0.829 -0.042 -0.587 0.509 0.329 0.975 0.161 -0.114 0.157 + -0.006 0.379 0.222 0.116 -0.039 -0.225 0.032 0.477 -0.074 0.004 + -0.443 0.298 0.500 -0.208 0.043 -0.226 0.143 0.055 -1.141 -0.719 + 0.196 -0.260 0.722 -0.517 0.403 0.005 0.138 -0.050 0.141 -0.341 + 0.613 0.388 -0.087 0.125 0.091 -0.202 -0.146 0.053 -0.481 -0.502 + -0.164 0.412 -0.183 -0.058 -0.144 -0.159 0.914 0.445 -0.156 -0.038 + -0.017 -0.053 0.218 0.243 0.064 -0.463 -0.405 -0.009 -0.083 0.339 + -0.215 0.429 0.211 0.055 -0.435 -0.012 -0.225 0.235 -0.149 0.189 + -0.339 0.008 0.701 -0.284 -1.123 0.069 -0.368 -0.065 -0.043 -1.758 + 0.518 -0.342 0.090 -0.045 -0.394 -0.327 1.938 -0.137 0.294 0.369 + 0.192 0.024 0.144 0.025 0.070 0.021 0.153 0.207 -0.665 -0.014 + -0.002 -0.089 0.725 0.874 0.365 -0.100 -0.177 -0.248 -0.061 -0.342 + -0.245 -0.038 0.029 0.016 0.144 -0.153 -0.190 0.063 -0.321 -0.190 + -0.026 -0.069 -0.120 0.136 -0.009 -0.166 0.210 -0.064 0.161 0.009 + -0.537 0.025 0.192 0.097 -0.174 -0.098 -0.288 -0.185 0.137 0.302 + 0.149 0.114 0.117 0.170 -0.382 -0.584 -0.455 0.349 0.122 -0.042 + 0.293 0.045 -0.054 -0.103 0.079 0.104 0.809 0.331 0.988 0.082 + 0.316 -0.090 0.035 0.414 -0.202 0.368 -0.394 0.082 0.122 -0.121 + -0.269 -0.033 -0.544 0.037 0.337 0.014 -0.811 0.119 -0.088 -0.051 + 0.263 -0.110 -0.040 -0.259 0.363 0.130 -0.525 0.528 -0.109 -0.083 + 0.326 0.068 -0.204 0.078 0.192 -0.193 0.089 -0.017 -0.379 -0.263 + -0.132 0.721 0.787 0.090 -0.030 -0.211 -0.215 0.017 0.071 0.175 + -0.361 0.077 0.161 0.358 -0.079 0.042 -0.083 -0.413 -0.262 0.329 + -0.008 -0.223 0.310 -0.138 0.140 -0.760 0.201 1.128 0.126 0.124 + 0.178 -0.118 0.403 0.028 0.050 -0.233 0.176 -0.503 -0.179 0.118 + 0.189 0.002 -0.207 0.461 0.438 0.683 0.164 0.263 -0.219 -0.056 + -0.059 -0.081 -0.218 -0.369 -0.235 0.114 0.307 0.323 0.368 0.033 + 0.422 0.290 -0.080 -0.002 0.073 -0.154 -0.221 0.375 -0.400 0.188 + -0.396 -0.988 -0.192 -0.146 -0.897 0.755 0.070 0.175 -0.240 0.456 + -0.355 -1.477 -0.430 0.625 -0.936 -0.006 -0.065 -0.085 0.175 0.839 + -0.398 0.117 -0.120 -0.491 0.066 -0.050 0.006 0.854 -0.677 0.233 + 0.324 0.069 -0.111 -0.078 -0.299 0.008 -0.297 0.063 -0.231 0.244 + -0.322 0.877 -0.120 -0.438 -0.333 -0.124 -0.025 0.027 -0.040 0.022 + 0.231 -0.170 0.402 -0.242 0.704 0.363 -0.493 0.057 0.398 0.460 + -0.041 -0.365 -0.071 0.835 -0.818 0.195 0.008 0.867 -0.294 -0.465 + -0.421 0.861 -0.058 0.063 -0.310 0.657 0.909 -1.456 -0.157 -0.494 + -0.520 -0.493 -0.526 -0.356 -0.104 -0.670 -0.524 -0.014 -0.131 0.066 + -0.286 -0.387 0.393 -0.008 0.186 0.072 -0.177 -0.275 0.219 -0.109 + -0.014 0.385 -0.137 -0.864 0.733 -0.279 0.169 -0.082 0.050 0.585 + 0.164 0.228 0.051 0.018 0.450 1.363 0.072 0.017 0.343 1.088 + 0.140 0.192 -0.137 -0.061 0.149 0.086 0.116 -0.013 0.552 0.372 + -0.056 0.136 0.188 -0.788 0.633 0.486 0.287 -0.155 -0.138 0.218 + -0.078 -0.001 0.647 -0.934 0.020 -0.073 0.062 0.524 -0.328 1.415 + 0.024 0.348 0.115 0.014 0.466 0.275 0.181 -0.214 -0.239 0.787 + -1.186 0.713 -0.110 -0.083 -0.099 0.096 0.016 -0.188 -0.040 0.004 + -0.135 0.045 0.073 -0.183 0.043 0.076 -1.498 0.423 -0.063 -0.237 + 0.523 -0.422 -0.023 0.090 -0.121 0.029 -0.180 0.788 -0.093 0.073 + -0.212 -0.037 -0.043 -0.621 -0.463 -0.023 -0.984 -0.155 0.147 -0.064 + -0.118 0.059 0.029 0.303 -1.337 0.806 0.425 0.049 0.197 0.011 + 0.077 0.038 -0.183 0.126 0.344 0.220 0.221 0.785 0.557 0.012 + 0.223 0.142 0.543 0.732 -1.159 -0.085 0.204 0.144 -0.986 0.577 + -0.053 0.059 0.809 -0.604 0.154 0.102 0.027 0.072 -0.042 -0.421 + 0.013 -0.208 -0.312 0.109 0.269 -0.262 0.494 0.313 -0.461 0.111 + 0.192 -0.093 0.015 0.226 0.181 0.084 0.253 0.520 0.075 0.162 + -0.081 -0.170 -0.702 -0.290 -0.160 0.294 0.121 -0.987 0.458 0.826 + -0.056 -0.259 0.228 -0.591 -0.268 0.711 0.050 -0.118 0.282 0.045 + 0.138 -0.255 0.159 0.127 0.031 0.035 0.128 -0.143 -0.602 -0.222 + 0.998 -0.271 0.025 -0.136 -0.466 0.153 0.469 -0.011 -0.067 0.100 + -0.380 -0.304 -0.149 -0.189 0.748 -0.276 0.091 0.071 0.330 0.390 + -0.040 0.739 0.183 -0.195 0.469 0.021 0.305 0.055 0.093 0.085 + -0.087 0.090 -0.311 -0.116 -0.076 0.081 -0.038 -0.092 -0.146 0.129 + -0.074 0.160 -0.049 -0.021 -0.100 -0.525 -0.001 0.134 0.198 1.138 + -0.674 -0.230 0.162 -0.157 0.166 -0.507 0.407 -0.285 -0.218 -0.438 + -0.187 0.036 0.053 -0.029 0.126 -0.056 -0.207 -0.077 0.235 0.512 + 0.396 -0.501 0.059 0.796 -1.262 0.114 -0.194 0.113 0.059 -0.067 + 0.109 -0.086 0.008 -0.203 -0.020 -0.267 -0.677 0.412 -0.175 0.080 + 0.030 -0.776 -0.007 -0.629 0.497 0.324 0.957 0.158 -0.102 0.161 + -0.002 0.389 0.227 0.115 -0.043 -0.216 -0.035 0.493 -0.166 0.023 + -0.447 0.284 0.479 -0.187 0.100 -0.229 0.139 0.060 -1.121 -0.721 + 0.217 -0.277 0.648 -0.552 0.387 0.009 0.143 -0.068 0.133 -0.359 + 0.617 0.367 -0.024 0.137 0.105 -0.205 -0.137 0.017 -0.405 -0.502 + -0.141 0.408 -0.180 -0.047 -0.148 -0.166 0.859 0.430 -0.178 -0.041 + -0.060 -0.039 0.224 0.243 0.029 -0.404 -0.403 0.027 -0.076 0.284 + -0.207 0.475 0.140 0.045 -0.437 -0.021 -0.221 0.226 -0.142 0.193 + -0.340 0.004 0.677 -0.282 -1.105 0.072 -0.363 -0.056 -0.006 -1.720 + 0.494 -0.346 0.101 -0.033 -0.355 -0.357 1.889 -0.128 0.210 0.381 + 0.191 0.032 0.138 0.042 0.071 0.017 0.199 0.217 -0.639 -0.022 + -0.006 -0.083 0.737 0.866 0.371 -0.093 -0.186 -0.253 -0.071 -0.333 + -0.253 -0.052 0.032 -0.006 0.142 -0.153 -0.196 0.135 -0.296 -0.242 + -0.026 -0.069 -0.121 0.132 -0.043 -0.180 0.207 -0.063 0.171 -0.013 + -0.511 -0.039 0.190 0.093 -0.164 -0.096 -0.284 -0.171 0.144 0.305 + 0.152 0.118 0.121 0.153 -0.429 -0.573 -0.424 0.339 0.120 -0.039 + 0.318 0.043 -0.042 -0.105 0.073 0.101 0.758 0.318 0.930 0.070 + 0.303 -0.085 0.042 0.398 -0.190 0.372 -0.356 0.083 0.162 -0.118 + -0.263 -0.032 -0.541 0.032 0.305 -0.037 -0.779 0.126 -0.083 -0.057 + 0.252 -0.108 -0.043 -0.253 0.350 0.127 -0.540 0.481 -0.089 -0.081 + 0.329 0.064 -0.220 0.072 0.142 -0.191 0.084 -0.038 -0.325 -0.261 + -0.132 0.706 0.785 0.153 -0.016 -0.209 -0.212 0.005 0.059 0.166 + -0.358 0.077 0.170 0.360 -0.071 0.037 -0.070 -0.450 -0.282 0.324 + -0.011 -0.230 0.303 -0.129 0.146 -0.736 0.173 1.080 0.128 0.123 + 0.168 -0.049 0.353 -0.009 0.050 -0.233 0.180 -0.504 -0.136 0.068 + 0.191 0.010 -0.215 0.506 0.422 0.681 0.166 0.252 -0.219 -0.063 + -0.072 -0.071 -0.218 -0.368 -0.239 0.115 0.296 0.317 0.367 0.006 + 0.408 0.288 -0.066 0.006 0.079 -0.116 -0.277 0.371 -0.381 0.179 + -0.401 -0.974 -0.133 -0.060 -0.869 0.768 0.056 0.172 -0.256 0.458 + -0.314 -1.430 -0.408 0.648 -0.934 0.002 -0.061 -0.103 0.175 0.830 + -0.401 0.091 -0.155 -0.442 0.061 -0.071 -0.001 0.901 -0.663 0.195 + 0.334 0.093 -0.062 -0.080 -0.287 0.025 -0.334 0.059 -0.281 0.279 + -0.438 0.858 -0.105 -0.416 -0.367 -0.111 -0.031 0.025 -0.046 0.022 + 0.229 -0.162 0.387 -0.247 0.675 0.361 -0.494 0.058 0.450 0.468 + -0.047 -0.362 -0.071 0.851 -0.749 0.207 0.000 0.890 -0.288 -0.479 + -0.428 0.846 -0.056 0.071 -0.304 0.606 0.900 -1.439 -0.169 -0.486 + -0.502 -0.466 -0.599 -0.309 -0.103 -0.620 -0.508 -0.022 -0.117 0.051 + -0.376 -0.392 0.402 -0.003 0.186 0.072 -0.171 -0.283 0.221 -0.108 + 0.003 0.379 -0.138 -0.893 0.647 -0.284 0.168 -0.078 0.022 0.604 + 0.118 0.224 0.063 0.018 0.462 1.364 0.021 0.029 0.232 1.109 + 0.140 0.196 -0.138 -0.046 0.160 0.089 0.040 -0.035 0.611 0.365 + -0.062 0.135 0.157 -0.798 0.584 0.461 0.279 -0.157 -0.127 0.212 + -0.066 -0.079 0.562 -0.960 0.020 -0.056 0.071 0.525 -0.350 1.442 + 0.014 0.348 0.119 0.105 0.425 0.207 0.185 -0.212 -0.236 0.780 + -1.205 0.731 -0.095 -0.070 -0.094 0.086 0.015 -0.200 -0.043 0.006 + -0.139 0.046 0.073 -0.181 0.080 0.079 -1.531 0.409 -0.063 -0.236 + 0.507 -0.381 -0.032 0.091 -0.129 0.023 -0.216 0.783 -0.079 0.073 + -0.210 -0.042 -0.088 -0.600 -0.430 -0.051 -0.955 -0.149 0.170 -0.056 + -0.143 0.051 0.021 0.296 -1.295 0.838 0.469 0.054 0.194 0.018 + 0.079 0.049 -0.191 0.132 0.344 0.212 0.207 0.787 0.572 0.022 + 0.214 0.144 0.473 0.699 -1.104 -0.083 0.210 0.150 -0.965 0.535 + -0.095 0.101 0.782 -0.576 0.146 0.079 0.033 0.078 -0.037 -0.421 + 0.074 -0.187 -0.283 0.122 0.280 -0.258 0.491 0.363 -0.489 0.119 + 0.182 -0.106 0.003 0.230 0.154 0.099 0.218 0.490 0.077 0.166 + -0.085 -0.205 -0.676 -0.290 -0.160 0.291 0.122 -0.932 0.509 0.818 + -0.053 -0.242 0.234 -0.591 -0.297 0.711 0.048 -0.114 0.275 0.053 + 0.143 -0.266 0.150 0.119 0.032 0.036 0.130 -0.136 -0.532 -0.246 + 1.023 -0.278 0.022 -0.129 -0.418 0.153 0.452 -0.018 -0.066 0.100 + -0.351 -0.314 -0.151 -0.158 0.737 -0.257 0.105 0.067 0.333 0.348 + 0.017 0.717 0.207 -0.172 0.505 0.017 0.308 0.064 0.105 0.083 + -0.087 0.086 -0.311 -0.125 -0.082 0.088 -0.033 -0.086 -0.139 0.132 + -0.068 0.157 -0.029 -0.052 -0.097 -0.531 -0.002 0.140 0.196 1.079 + -0.708 -0.215 0.156 -0.156 0.159 -0.481 0.388 -0.275 -0.212 -0.460 + -0.179 0.031 0.054 -0.024 0.126 -0.060 -0.207 -0.074 0.238 0.502 + 0.429 -0.533 0.037 0.850 -1.209 0.109 -0.186 0.117 0.062 -0.061 + 0.103 -0.082 0.018 -0.200 -0.020 -0.322 -0.662 0.383 -0.170 0.074 + 0.038 -0.754 -0.047 -0.595 0.463 0.342 0.928 0.152 -0.102 0.158 + 0.003 0.387 0.225 0.121 -0.041 -0.207 -0.095 0.487 -0.193 0.021 + -0.443 0.275 0.486 -0.192 0.121 -0.225 0.140 0.056 -1.079 -0.721 + 0.245 -0.368 0.621 -0.568 0.379 0.020 0.134 -0.062 0.130 -0.386 + 0.596 0.338 0.035 0.131 0.113 -0.208 -0.144 0.006 -0.410 -0.491 + -0.110 0.453 -0.186 -0.047 -0.153 -0.200 0.871 0.419 -0.179 -0.016 + -0.077 -0.035 0.220 0.261 -0.011 -0.374 -0.361 0.096 -0.108 0.270 + -0.220 0.529 0.067 0.043 -0.436 -0.018 -0.210 0.218 -0.139 0.186 + -0.339 0.001 0.681 -0.279 -1.116 0.066 -0.359 -0.062 0.000 -1.697 + 0.457 -0.339 0.114 -0.032 -0.359 -0.360 1.863 -0.104 0.178 0.394 + 0.189 0.025 0.133 0.032 0.069 0.012 0.262 0.216 -0.630 -0.012 + -0.002 -0.088 0.714 0.852 0.422 -0.103 -0.191 -0.250 -0.082 -0.326 + -0.242 -0.019 0.035 -0.056 0.133 -0.154 -0.192 0.166 -0.270 -0.247 + -0.020 -0.062 -0.118 0.113 -0.014 -0.234 0.199 -0.061 0.184 0.003 + -0.486 -0.105 0.192 0.093 -0.153 -0.111 -0.279 -0.175 0.149 0.309 + 0.157 0.125 0.123 0.136 -0.459 -0.604 -0.399 0.339 0.118 -0.048 + 0.324 0.042 -0.074 -0.098 0.081 0.107 0.739 0.366 0.929 0.071 + 0.310 -0.082 0.034 0.367 -0.223 0.370 -0.339 0.107 0.167 -0.127 + -0.288 -0.028 -0.531 0.026 0.298 -0.047 -0.813 0.135 -0.077 -0.059 + 0.240 -0.101 -0.048 -0.246 0.351 0.127 -0.564 0.454 -0.092 -0.083 + 0.324 0.069 -0.202 0.067 0.113 -0.182 0.081 -0.055 -0.268 -0.260 + -0.077 0.621 0.802 0.221 -0.012 -0.204 -0.203 0.001 0.053 0.156 + -0.352 0.081 0.175 0.365 -0.076 0.038 -0.056 -0.441 -0.294 0.319 + -0.009 -0.222 0.314 -0.142 0.141 -0.712 0.169 1.025 0.130 0.116 + 0.175 -0.052 0.266 -0.047 0.037 -0.235 0.188 -0.492 -0.158 0.058 + 0.193 0.012 -0.221 0.471 0.385 0.699 0.173 0.242 -0.224 -0.061 + -0.062 -0.058 -0.221 -0.365 -0.235 0.120 0.292 0.309 0.404 0.004 + 0.369 0.277 -0.061 0.011 0.127 -0.088 -0.377 0.368 -0.385 0.175 + -0.350 -0.958 -0.072 0.021 -0.864 0.821 0.044 0.175 -0.259 0.493 + -0.317 -1.404 -0.392 0.659 -0.933 0.002 -0.049 -0.110 0.176 0.814 + -0.434 0.024 -0.176 -0.410 0.051 -0.064 0.012 0.895 -0.609 0.126 + 0.390 0.133 -0.018 -0.075 -0.269 0.037 -0.312 0.049 -0.315 0.301 + -0.515 0.835 -0.075 -0.375 -0.369 -0.114 -0.042 0.036 -0.050 0.025 + 0.216 -0.164 0.374 -0.253 0.627 0.355 -0.477 0.051 0.496 0.450 + -0.042 -0.356 -0.078 0.879 -0.679 0.274 -0.051 0.879 -0.294 -0.431 + -0.468 0.835 -0.042 0.063 -0.312 0.575 0.872 -1.419 -0.177 -0.497 + -0.504 -0.447 -0.683 -0.332 -0.087 -0.612 -0.520 -0.015 -0.120 0.049 + -0.439 -0.414 0.417 -0.013 0.179 0.085 -0.178 -0.271 0.216 -0.105 + 0.001 0.386 -0.134 -0.889 0.606 -0.283 0.160 -0.086 0.018 0.592 + 0.118 0.218 0.065 0.020 0.452 1.342 0.031 0.027 0.165 1.104 + 0.134 0.197 -0.127 -0.040 0.157 0.079 0.031 -0.015 0.618 0.356 + -0.058 0.143 0.175 -0.846 0.536 0.443 0.280 -0.151 -0.113 0.201 + -0.071 -0.125 0.532 -1.005 0.019 -0.051 0.079 0.533 -0.359 1.406 + -0.006 0.356 0.123 0.183 0.365 0.149 0.192 -0.212 -0.229 0.785 + -1.191 0.691 -0.085 -0.074 -0.098 0.089 0.017 -0.205 -0.039 0.017 + -0.155 0.052 0.069 -0.188 0.127 0.087 -1.528 0.404 -0.067 -0.229 + 0.536 -0.352 -0.090 0.092 -0.124 0.019 -0.220 0.773 -0.036 0.074 + -0.226 -0.041 -0.088 -0.616 -0.392 -0.014 -0.943 -0.193 0.171 -0.070 + -0.125 0.044 0.024 0.294 -1.224 0.860 0.508 0.054 0.187 0.004 + 0.084 0.048 -0.193 0.131 0.342 0.207 0.238 0.792 0.522 0.017 + 0.211 0.150 0.470 0.650 -1.080 -0.086 0.219 0.154 -0.966 0.541 + -0.085 0.147 0.788 -0.557 0.151 0.084 0.045 0.081 -0.029 -0.418 + 0.083 -0.205 -0.314 0.117 0.272 -0.253 0.499 0.344 -0.458 0.127 + 0.179 -0.108 0.003 0.224 0.158 0.087 0.136 0.433 0.062 0.164 + -0.066 -0.259 -0.610 -0.292 -0.163 0.292 0.121 -0.907 0.516 0.804 + -0.063 -0.246 0.229 -0.577 -0.320 0.701 0.042 -0.117 0.274 0.050 + 0.138 -0.269 0.158 0.125 0.034 0.031 0.137 -0.141 -0.465 -0.243 + 1.060 -0.267 0.026 -0.131 -0.368 0.160 0.444 -0.025 -0.073 0.089 + -0.345 -0.285 -0.180 -0.125 0.765 -0.202 0.097 0.074 0.322 0.263 + 0.085 0.679 0.164 -0.203 0.500 0.024 0.300 0.057 0.103 0.080 + -0.091 0.084 -0.313 -0.126 -0.091 0.091 -0.040 -0.094 -0.141 0.140 + -0.063 0.148 -0.035 -0.115 -0.089 -0.579 0.010 0.137 0.191 1.044 + -0.733 -0.198 0.146 -0.157 0.159 -0.466 0.403 -0.294 -0.157 -0.483 + -0.184 0.035 0.048 -0.026 0.117 -0.058 -0.213 -0.077 0.252 0.490 + 0.415 -0.496 0.021 0.952 -1.156 0.153 -0.186 0.113 0.051 -0.053 + 0.095 -0.090 0.016 -0.206 -0.010 -0.347 -0.654 0.340 -0.160 0.070 + 0.040 -0.721 -0.025 -0.604 0.436 0.302 0.902 0.161 -0.098 0.154 + 0.004 0.386 0.236 0.132 -0.051 -0.205 -0.170 0.476 -0.254 0.023 + -0.453 0.287 0.482 -0.201 0.149 -0.226 0.149 0.049 -1.085 -0.750 + 0.286 -0.418 0.589 -0.633 0.374 0.022 0.129 -0.046 0.161 -0.414 + 0.591 0.325 0.098 0.128 0.107 -0.192 -0.193 0.023 -0.381 -0.480 + -0.110 0.433 -0.184 -0.046 -0.156 -0.213 0.868 0.418 -0.182 0.010 + -0.068 -0.039 0.229 0.276 -0.054 -0.369 -0.347 0.141 -0.090 0.240 + -0.195 0.554 -0.043 0.045 -0.438 -0.006 -0.200 0.215 -0.138 0.182 + -0.338 0.001 0.677 -0.278 -1.106 0.076 -0.367 -0.067 0.036 -1.691 + 0.458 -0.342 0.117 -0.027 -0.380 -0.393 1.831 -0.101 0.125 0.380 + 0.190 0.012 0.144 0.025 0.073 0.017 0.329 0.163 -0.642 -0.001 + -0.007 -0.089 0.697 0.858 0.423 -0.102 -0.190 -0.236 -0.076 -0.322 + -0.232 0.019 0.050 -0.099 0.125 -0.162 -0.198 0.199 -0.251 -0.287 + -0.012 -0.078 -0.111 0.132 -0.048 -0.257 0.196 -0.056 0.187 -0.023 + -0.435 -0.191 0.200 0.092 -0.138 -0.109 -0.268 -0.177 0.145 0.306 + 0.153 0.130 0.133 0.130 -0.516 -0.571 -0.406 0.331 0.118 -0.044 + 0.334 0.025 -0.064 -0.100 0.083 0.114 0.746 0.372 0.905 0.079 + 0.314 -0.079 0.039 0.379 -0.215 0.370 -0.355 0.100 0.203 -0.163 + -0.332 -0.022 -0.522 0.017 0.298 -0.089 -0.780 0.131 -0.072 -0.054 + 0.248 -0.101 -0.054 -0.228 0.348 0.122 -0.586 0.476 -0.063 -0.092 + 0.330 0.078 -0.208 0.030 0.088 -0.192 0.080 -0.063 -0.229 -0.282 + -0.017 0.557 0.796 0.258 -0.009 -0.207 -0.213 -0.000 0.052 0.155 + -0.329 0.071 0.195 0.365 -0.091 0.034 -0.039 -0.404 -0.295 0.321 + -0.015 -0.216 0.318 -0.132 0.135 -0.698 0.144 1.009 0.133 0.115 + 0.184 0.015 0.219 -0.086 0.045 -0.224 0.190 -0.507 -0.153 0.029 + 0.197 -0.000 -0.197 0.496 0.382 0.701 0.174 0.248 -0.227 -0.053 + -0.060 -0.060 -0.218 -0.361 -0.235 0.123 0.276 0.315 0.374 0.052 + 0.354 0.275 -0.065 0.031 0.172 -0.086 -0.419 0.364 -0.389 0.177 + -0.357 -0.949 -0.014 0.101 -0.846 0.818 0.042 0.188 -0.251 0.519 + -0.348 -1.360 -0.355 0.660 -0.877 0.001 -0.042 -0.103 0.187 0.863 + -0.430 0.008 -0.190 -0.373 0.058 -0.076 0.015 0.902 -0.547 0.087 + 0.357 0.142 0.048 -0.083 -0.265 0.040 -0.300 0.081 -0.329 0.268 + -0.582 0.803 -0.031 -0.342 -0.377 -0.105 -0.040 0.040 -0.054 0.022 + 0.206 -0.159 0.359 -0.247 0.614 0.330 -0.526 0.041 0.492 0.410 + -0.041 -0.355 -0.075 0.868 -0.639 0.306 -0.108 0.877 -0.317 -0.453 + -0.491 0.817 -0.044 0.052 -0.313 0.554 0.815 -1.398 -0.178 -0.491 + -0.503 -0.415 -0.707 -0.362 -0.055 -0.623 -0.487 -0.001 -0.111 0.049 + -0.453 -0.435 0.463 -0.007 0.167 0.082 -0.172 -0.264 0.213 -0.108 + 0.005 0.387 -0.104 -0.905 0.601 -0.276 0.166 -0.088 0.017 0.618 + 0.114 0.221 0.084 0.014 0.462 1.320 0.008 -0.015 0.127 1.128 + 0.130 0.183 -0.130 -0.048 0.144 0.066 -0.019 -0.020 0.685 0.353 + -0.062 0.152 0.108 -0.881 0.513 0.415 0.293 -0.155 -0.091 0.198 + -0.071 -0.170 0.505 -1.009 0.024 -0.045 0.079 0.502 -0.339 1.412 + -0.004 0.347 0.121 0.236 0.312 0.035 0.190 -0.218 -0.214 0.787 + -1.252 0.665 -0.065 -0.074 -0.099 0.088 0.013 -0.209 -0.043 0.017 + -0.144 0.059 0.071 -0.193 0.188 0.142 -1.491 0.393 -0.053 -0.219 + 0.538 -0.332 -0.128 0.098 -0.125 0.003 -0.289 0.732 -0.000 0.065 + -0.234 -0.049 -0.088 -0.630 -0.386 -0.008 -0.922 -0.190 0.128 -0.072 + -0.129 0.045 0.033 0.292 -1.148 0.898 0.582 0.061 0.192 0.009 + 0.094 0.049 -0.193 0.132 0.347 0.196 0.216 0.793 0.518 0.023 + 0.224 0.143 0.465 0.601 -1.073 -0.091 0.221 0.164 -0.925 0.543 + -0.101 0.177 0.782 -0.553 0.149 0.084 0.042 0.076 -0.016 -0.425 + 0.068 -0.175 -0.270 0.115 0.274 -0.255 0.512 0.340 -0.483 0.130 + 0.166 -0.110 0.008 0.228 0.150 0.086 0.116 0.482 0.065 0.157 + -0.063 -0.262 -0.622 -0.340 -0.156 0.299 0.131 -0.882 0.531 0.871 + -0.062 -0.235 0.244 -0.587 -0.335 0.652 0.059 -0.103 0.275 0.054 + 0.140 -0.254 0.153 0.127 0.036 0.024 0.140 -0.152 -0.437 -0.277 + 1.057 -0.262 0.031 -0.131 -0.315 0.180 0.493 -0.034 -0.080 0.100 + -0.347 -0.343 -0.203 -0.084 0.758 -0.159 0.104 0.063 0.319 0.190 + 0.158 0.646 0.107 -0.211 0.508 0.023 0.304 0.064 0.099 0.078 + -0.096 0.075 -0.317 -0.122 -0.101 0.105 -0.035 -0.097 -0.145 0.149 + -0.054 0.144 -0.025 -0.207 -0.085 -0.614 0.017 0.158 0.201 1.003 + -0.800 -0.199 0.135 -0.167 0.157 -0.421 0.391 -0.279 -0.180 -0.529 + -0.174 0.028 0.050 -0.020 0.121 -0.058 -0.217 -0.080 0.263 0.485 + 0.373 -0.500 0.016 0.995 -1.136 0.174 -0.188 0.107 0.047 -0.054 + 0.096 -0.092 0.013 -0.212 -0.007 -0.356 -0.639 0.325 -0.167 0.081 + 0.047 -0.639 -0.003 -0.602 0.428 0.336 0.868 0.157 -0.095 0.155 + 0.015 0.382 0.239 0.138 -0.056 -0.195 -0.193 0.489 -0.292 0.032 + -0.447 0.277 0.529 -0.214 0.139 -0.211 0.143 0.056 -1.121 -0.755 + 0.306 -0.456 0.570 -0.631 0.371 0.020 0.126 -0.055 0.191 -0.426 + 0.607 0.272 0.152 0.133 0.116 -0.196 -0.182 -0.017 -0.332 -0.468 + -0.112 0.433 -0.173 -0.030 -0.150 -0.192 0.863 0.381 -0.140 0.039 + -0.089 -0.034 0.218 0.295 -0.075 -0.327 -0.346 0.148 -0.114 0.216 + -0.193 0.616 -0.127 0.035 -0.442 -0.002 -0.186 0.220 -0.134 0.189 + -0.338 -0.008 0.666 -0.219 -1.059 0.071 -0.375 -0.056 0.042 -1.687 + 0.410 -0.342 0.131 -0.023 -0.430 -0.387 1.770 -0.112 0.110 0.388 + 0.189 0.009 0.139 0.021 0.078 0.021 0.329 0.097 -0.614 0.009 + -0.005 -0.085 0.675 0.862 0.429 -0.103 -0.194 -0.231 -0.076 -0.332 + -0.232 0.016 0.068 -0.146 0.104 -0.165 -0.205 0.256 -0.201 -0.300 + 0.002 -0.072 -0.096 0.134 -0.045 -0.307 0.186 -0.049 0.191 -0.013 + -0.426 -0.239 0.207 0.092 -0.129 -0.102 -0.264 -0.178 0.148 0.295 + 0.154 0.131 0.129 0.113 -0.544 -0.538 -0.385 0.324 0.120 -0.039 + 0.359 0.063 -0.000 -0.098 0.086 0.115 0.689 0.352 0.939 0.073 + 0.312 -0.080 0.042 0.349 -0.288 0.352 -0.308 0.090 0.164 -0.147 + -0.317 -0.015 -0.514 0.021 0.312 -0.110 -0.737 0.129 -0.072 -0.059 + 0.244 -0.109 -0.051 -0.228 0.348 0.123 -0.608 0.503 -0.073 -0.090 + 0.334 0.085 -0.171 0.004 0.073 -0.189 0.067 -0.061 -0.186 -0.268 + 0.014 0.502 0.774 0.274 -0.001 -0.184 -0.205 -0.000 0.052 0.151 + -0.319 0.062 0.177 0.363 -0.086 0.043 -0.040 -0.382 -0.312 0.323 + -0.010 -0.212 0.301 -0.136 0.132 -0.700 0.159 1.041 0.143 0.120 + 0.180 0.055 0.212 -0.097 0.042 -0.220 0.196 -0.495 -0.129 -0.062 + 0.200 -0.001 -0.194 0.523 0.340 0.698 0.183 0.232 -0.244 -0.052 + -0.057 -0.038 -0.225 -0.358 -0.236 0.126 0.283 0.300 0.356 0.026 + 0.347 0.271 -0.067 0.028 0.189 -0.106 -0.462 0.356 -0.385 0.177 + -0.366 -0.939 0.060 0.156 -0.856 0.849 0.037 0.180 -0.263 0.516 + -0.432 -1.295 -0.350 0.652 -0.858 -0.001 -0.028 -0.102 0.221 0.787 + -0.428 -0.044 -0.234 -0.361 0.058 -0.084 0.023 0.959 -0.526 0.080 + 0.332 0.164 0.071 -0.086 -0.257 0.039 -0.328 0.106 -0.364 0.236 + -0.678 0.771 -0.021 -0.324 -0.398 -0.102 -0.026 0.032 -0.051 0.030 + 0.196 -0.152 0.357 -0.236 0.574 0.311 -0.557 0.033 0.476 0.411 + -0.030 -0.356 -0.087 0.895 -0.586 0.392 -0.207 0.868 -0.300 -0.458 + -0.548 0.759 -0.052 0.045 -0.314 0.504 0.817 -1.330 -0.186 -0.482 + -0.497 -0.397 -0.785 -0.345 -0.021 -0.634 -0.456 -0.007 -0.106 0.040 + -0.511 -0.439 0.448 -0.010 0.159 0.081 -0.183 -0.270 0.210 -0.112 + 0.004 0.393 -0.105 -0.899 0.581 -0.279 0.157 -0.084 0.003 0.622 + 0.128 0.212 0.096 0.012 0.438 1.283 -0.007 0.002 0.061 1.125 + 0.127 0.188 -0.128 -0.039 0.143 0.067 -0.014 -0.010 0.704 0.347 + -0.058 0.151 0.124 -0.908 0.460 0.391 0.296 -0.158 -0.085 0.220 + -0.070 -0.213 0.400 -0.960 0.026 -0.038 0.096 0.524 -0.328 1.364 + -0.002 0.367 0.123 0.308 0.298 -0.058 0.189 -0.218 -0.208 0.748 + -1.275 0.606 -0.061 -0.067 -0.094 0.080 0.016 -0.208 -0.030 0.018 + -0.145 0.065 0.057 -0.191 0.213 0.166 -1.506 0.399 -0.038 -0.200 + 0.541 -0.326 -0.152 0.102 -0.115 0.009 -0.320 0.733 0.005 0.050 + -0.232 -0.047 -0.112 -0.590 -0.361 -0.026 -0.908 -0.180 0.108 -0.101 + -0.123 0.048 0.025 0.295 -1.105 0.913 0.661 0.063 0.188 0.009 + 0.094 0.037 -0.195 0.127 0.348 0.189 0.143 0.774 0.515 0.018 + 0.235 0.142 0.394 0.533 -1.009 -0.089 0.220 0.158 -0.958 0.519 + -0.099 0.192 0.779 -0.528 0.154 0.096 0.045 0.083 -0.003 -0.421 + 0.097 -0.179 -0.270 0.104 0.277 -0.261 0.551 0.344 -0.484 0.135 + 0.157 -0.100 0.006 0.221 0.146 0.098 0.057 0.486 0.065 0.157 + -0.066 -0.290 -0.587 -0.419 -0.140 0.288 0.131 -0.908 0.506 0.859 + -0.070 -0.224 0.254 -0.575 -0.386 0.639 0.061 -0.104 0.260 0.064 + 0.129 -0.248 0.144 0.129 0.022 0.021 0.147 -0.153 -0.403 -0.247 + 1.077 -0.257 0.022 -0.125 -0.275 0.180 0.504 -0.036 -0.079 0.098 + -0.324 -0.356 -0.208 -0.044 0.757 -0.099 0.110 0.048 0.321 0.083 + 0.245 0.618 0.089 -0.248 0.511 0.019 0.288 0.056 0.103 0.071 + -0.091 0.081 -0.310 -0.131 -0.096 0.104 -0.030 -0.085 -0.155 0.155 + -0.050 0.139 -0.025 -0.258 -0.078 -0.605 0.018 0.162 0.193 0.965 + -0.849 -0.204 0.133 -0.171 0.167 -0.394 0.399 -0.265 -0.138 -0.540 + -0.168 0.034 0.047 -0.022 0.116 -0.068 -0.207 -0.091 0.259 0.493 + 0.433 -0.510 0.042 1.098 -1.049 0.202 -0.178 0.108 0.031 -0.068 + 0.097 -0.085 0.017 -0.198 -0.001 -0.378 -0.609 0.329 -0.163 0.075 + 0.048 -0.633 0.035 -0.609 0.422 0.348 0.828 0.143 -0.094 0.149 + 0.024 0.380 0.258 0.157 -0.062 -0.181 -0.281 0.486 -0.375 0.030 + -0.446 0.270 0.483 -0.227 0.142 -0.213 0.140 0.049 -1.115 -0.798 + 0.321 -0.510 0.563 -0.624 0.364 0.019 0.122 -0.085 0.178 -0.426 + 0.647 0.289 0.204 0.124 0.127 -0.196 -0.190 -0.070 -0.303 -0.458 + -0.147 0.445 -0.168 -0.017 -0.130 -0.228 0.862 0.347 -0.174 0.038 + -0.124 -0.040 0.210 0.308 -0.091 -0.326 -0.345 0.138 -0.135 0.182 + -0.159 0.663 -0.193 0.018 -0.441 -0.012 -0.189 0.215 -0.128 0.181 + -0.337 -0.017 0.627 -0.200 -1.058 0.069 -0.372 -0.043 0.092 -1.640 + 0.392 -0.338 0.138 -0.016 -0.452 -0.399 1.748 -0.095 0.075 0.402 + 0.171 0.004 0.123 0.003 0.086 0.018 0.361 0.069 -0.615 0.006 + -0.011 -0.090 0.679 0.845 0.440 -0.091 -0.194 -0.236 -0.080 -0.323 + -0.228 0.012 0.051 -0.166 0.091 -0.167 -0.198 0.315 -0.186 -0.298 + 0.010 -0.071 -0.091 0.117 -0.052 -0.319 0.180 -0.034 0.190 0.018 + -0.388 -0.286 0.198 0.079 -0.108 -0.106 -0.262 -0.178 0.156 0.305 + 0.158 0.134 0.122 0.120 -0.586 -0.502 -0.412 0.309 0.113 -0.038 + 0.352 0.050 -0.028 -0.092 0.089 0.112 0.684 0.367 0.925 0.074 + 0.305 -0.072 0.025 0.356 -0.266 0.324 -0.282 0.085 0.203 -0.147 + -0.345 -0.019 -0.513 0.024 0.278 -0.156 -0.744 0.139 -0.064 -0.062 + 0.250 -0.106 -0.043 -0.217 0.337 0.123 -0.651 0.553 -0.084 -0.085 + 0.333 0.083 -0.165 -0.003 0.053 -0.194 0.076 -0.072 -0.140 -0.267 + 0.070 0.461 0.784 0.383 -0.003 -0.183 -0.197 -0.000 0.054 0.143 + -0.365 0.010 0.175 0.355 -0.088 0.040 0.020 -0.402 -0.305 0.335 + -0.003 -0.213 0.295 -0.124 0.132 -0.700 0.165 1.008 0.143 0.119 + 0.183 0.058 0.175 -0.159 0.039 -0.217 0.195 -0.502 -0.129 -0.081 + 0.206 0.008 -0.184 0.506 0.308 0.702 0.200 0.219 -0.242 -0.051 + -0.059 -0.042 -0.222 -0.352 -0.235 0.116 0.295 0.305 0.382 0.005 + 0.314 0.271 -0.049 0.030 0.190 -0.152 -0.499 0.355 -0.375 0.170 + -0.345 -0.918 0.069 0.184 -0.865 0.863 0.037 0.192 -0.261 0.515 + -0.421 -1.264 -0.321 0.648 -0.886 -0.009 -0.007 -0.105 0.165 0.761 + -0.401 -0.061 -0.286 -0.313 0.065 -0.086 0.024 0.905 -0.496 0.071 + 0.373 0.189 0.144 -0.086 -0.249 0.046 -0.312 0.123 -0.371 0.247 + -0.753 0.773 0.013 -0.307 -0.373 -0.107 -0.028 0.025 -0.050 0.030 + 0.183 -0.138 0.370 -0.220 0.566 0.252 -0.592 0.036 0.484 0.374 + -0.030 -0.350 -0.091 0.936 -0.568 0.468 -0.285 0.839 -0.302 -0.479 + -0.602 0.742 -0.047 0.054 -0.319 0.474 0.825 -1.327 -0.178 -0.486 + -0.497 -0.341 -0.830 -0.314 -0.014 -0.621 -0.421 0.009 -0.107 0.033 + -0.555 -0.481 0.482 -0.012 0.160 0.076 -0.185 -0.276 0.216 -0.113 + 0.005 0.408 -0.063 -0.934 0.558 -0.283 0.147 -0.075 -0.012 0.584 + 0.178 0.197 0.101 -0.008 0.427 1.281 0.013 0.007 -0.047 1.111 + 0.124 0.189 -0.124 -0.032 0.147 0.065 -0.035 -0.009 0.710 0.345 + -0.058 0.152 0.136 -0.972 0.453 0.378 0.292 -0.157 -0.068 0.231 + -0.077 -0.278 0.324 -0.963 0.023 -0.049 0.093 0.531 -0.351 1.369 + -0.020 0.375 0.121 0.312 0.231 -0.122 0.185 -0.208 -0.198 0.736 + -1.282 0.584 -0.048 -0.053 -0.082 0.069 0.015 -0.201 -0.028 0.014 + -0.147 0.056 0.046 -0.208 0.231 0.181 -1.488 0.390 -0.032 -0.202 + 0.503 -0.289 -0.147 0.094 -0.110 0.014 -0.331 0.724 0.031 0.055 + -0.239 -0.036 -0.132 -0.589 -0.382 -0.053 -0.932 -0.195 0.061 -0.111 + -0.109 0.048 0.014 0.281 -1.061 0.951 0.713 0.076 0.199 0.010 + 0.096 0.044 -0.202 0.125 0.354 0.191 0.135 0.728 0.517 0.028 + 0.235 0.139 0.359 0.482 -0.983 -0.089 0.218 0.169 -0.957 0.506 + -0.065 0.207 0.715 -0.483 0.150 0.096 0.030 0.094 0.001 -0.411 + 0.120 -0.188 -0.295 0.104 0.267 -0.259 0.556 0.357 -0.450 0.134 + 0.162 -0.098 -0.005 0.227 0.147 0.131 0.035 0.497 0.066 0.156 + -0.058 -0.311 -0.554 -0.384 -0.146 0.287 0.125 -0.902 0.492 0.884 + -0.074 -0.220 0.251 -0.560 -0.404 0.622 0.062 -0.093 0.256 0.066 + 0.131 -0.244 0.136 0.131 0.018 0.024 0.153 -0.150 -0.362 -0.230 + 1.058 -0.264 0.010 -0.124 -0.250 0.175 0.499 -0.044 -0.069 0.107 + -0.336 -0.442 -0.169 0.002 0.770 -0.066 0.127 0.047 0.322 -0.041 + 0.338 0.579 0.066 -0.261 0.490 0.020 0.273 0.057 0.103 0.076 + -0.095 0.080 -0.304 -0.136 -0.090 0.099 -0.024 -0.079 -0.156 0.148 + -0.042 0.129 -0.023 -0.387 -0.043 -0.634 0.028 0.168 0.189 0.913 + -0.852 -0.209 0.134 -0.172 0.171 -0.368 0.408 -0.275 -0.140 -0.567 + -0.166 0.036 0.040 -0.013 0.106 -0.077 -0.213 -0.097 0.250 0.504 + 0.471 -0.488 0.081 1.176 -1.018 0.206 -0.180 0.103 0.027 -0.059 + 0.098 -0.080 0.014 -0.199 0.006 -0.413 -0.615 0.338 -0.161 0.073 + 0.052 -0.608 -0.000 -0.644 0.391 0.299 0.815 0.127 -0.084 0.137 + 0.025 0.394 0.266 0.162 -0.066 -0.182 -0.312 0.450 -0.430 0.030 + -0.445 0.252 0.450 -0.217 0.173 -0.200 0.146 0.055 -1.074 -0.794 + 0.345 -0.571 0.516 -0.628 0.364 0.031 0.115 -0.059 0.168 -0.427 + 0.688 0.266 0.302 0.124 0.143 -0.186 -0.187 -0.082 -0.247 -0.458 + -0.141 0.415 -0.183 -0.015 -0.121 -0.230 0.810 0.330 -0.192 0.074 + -0.139 -0.044 0.208 0.318 -0.119 -0.329 -0.322 0.167 -0.158 0.114 + -0.155 0.678 -0.262 0.013 -0.432 -0.019 -0.174 0.223 -0.113 0.195 + -0.341 -0.017 0.637 -0.183 -1.030 0.066 -0.377 -0.024 0.128 -1.614 + 0.395 -0.338 0.140 -0.015 -0.462 -0.441 1.709 -0.053 0.037 0.409 + 0.172 0.010 0.120 -0.007 0.096 0.017 0.438 -0.002 -0.586 0.008 + -0.009 -0.078 0.627 0.854 0.446 -0.096 -0.185 -0.242 -0.088 -0.323 + -0.225 0.017 0.088 -0.174 0.088 -0.166 -0.198 0.403 -0.176 -0.301 + 0.007 -0.076 -0.086 0.094 -0.026 -0.300 0.169 -0.027 0.189 0.063 + -0.343 -0.343 0.181 0.082 -0.106 -0.102 -0.248 -0.172 0.155 0.296 + 0.163 0.137 0.123 0.114 -0.610 -0.501 -0.380 0.302 0.124 -0.038 + 0.334 0.029 -0.011 -0.101 0.091 0.112 0.655 0.383 0.915 0.084 + 0.303 -0.068 0.057 0.343 -0.290 0.308 -0.252 0.105 0.249 -0.100 + -0.345 -0.018 -0.509 0.021 0.275 -0.216 -0.723 0.148 -0.071 -0.070 + 0.244 -0.105 -0.034 -0.217 0.339 0.128 -0.646 0.553 -0.077 -0.087 + 0.328 0.071 -0.149 0.010 0.013 -0.190 0.090 -0.083 -0.103 -0.266 + 0.100 0.433 0.787 0.450 -0.000 -0.170 -0.184 -0.005 0.056 0.144 + -0.334 -0.025 0.191 0.356 -0.076 0.041 0.011 -0.387 -0.325 0.328 + -0.009 -0.209 0.293 -0.136 0.130 -0.697 0.222 0.969 0.132 0.116 + 0.177 0.065 0.100 -0.208 0.043 -0.212 0.202 -0.491 -0.124 -0.148 + 0.203 0.018 -0.185 0.532 0.320 0.695 0.196 0.210 -0.233 -0.061 + -0.053 -0.033 -0.219 -0.349 -0.236 0.123 0.293 0.303 0.368 -0.009 + 0.275 0.279 -0.032 0.042 0.211 -0.155 -0.541 0.358 -0.371 0.170 + -0.334 -0.902 0.148 0.248 -0.855 0.899 0.020 0.183 -0.263 0.509 + -0.437 -1.236 -0.298 0.675 -0.873 -0.006 -0.003 -0.098 0.186 0.774 + -0.370 -0.088 -0.374 -0.259 0.072 -0.082 0.020 0.897 -0.480 0.067 + 0.428 0.178 0.167 -0.088 -0.232 0.047 -0.294 0.144 -0.375 0.245 + -0.835 0.785 0.009 -0.260 -0.392 -0.093 -0.024 0.026 -0.052 0.024 + 0.182 -0.132 0.372 -0.212 0.548 0.229 -0.630 -0.003 0.491 0.384 + -0.025 -0.346 -0.083 0.959 -0.539 0.489 -0.360 0.791 -0.279 -0.451 + -0.674 0.694 -0.038 0.047 -0.315 0.433 0.797 -1.301 -0.184 -0.481 + -0.498 -0.354 -0.895 -0.300 -0.022 -0.628 -0.405 0.022 -0.109 0.029 + -0.585 -0.506 0.492 -0.018 0.158 0.070 -0.182 -0.272 0.217 -0.115 + 0.008 0.400 -0.050 -0.968 0.493 -0.273 0.140 -0.076 0.011 0.614 + 0.173 0.196 0.102 -0.007 0.456 1.275 0.020 0.021 -0.103 1.070 + 0.120 0.176 -0.118 -0.029 0.142 0.066 -0.083 0.013 0.745 0.341 + -0.061 0.139 0.133 -0.998 0.451 0.352 0.295 -0.163 -0.059 0.237 + -0.089 -0.316 0.239 -0.946 0.026 -0.054 0.098 0.488 -0.356 1.326 + -0.035 0.369 0.135 0.338 0.182 -0.197 0.184 -0.205 -0.187 0.720 + -1.277 0.594 -0.035 -0.056 -0.080 0.071 -0.002 -0.208 -0.016 0.009 + -0.141 0.062 0.051 -0.209 0.241 0.207 -1.449 0.375 -0.032 -0.191 + 0.552 -0.275 -0.171 0.081 -0.103 0.015 -0.343 0.733 0.025 0.064 + -0.244 -0.040 -0.135 -0.601 -0.428 -0.037 -0.882 -0.178 0.053 -0.157 + -0.041 0.053 0.016 0.274 -1.064 0.904 0.764 0.082 0.193 0.011 + 0.093 0.027 -0.194 0.122 0.352 0.187 0.118 0.720 0.467 0.036 + 0.242 0.134 0.306 0.459 -0.947 -0.098 0.215 0.160 -0.974 0.480 + -0.098 0.271 0.751 -0.459 0.152 0.101 0.024 0.094 0.017 -0.415 + 0.140 -0.198 -0.257 0.104 0.270 -0.258 0.548 0.329 -0.460 0.129 + 0.147 -0.087 -0.001 0.226 0.162 0.118 0.013 0.519 0.061 0.159 + -0.045 -0.284 -0.536 -0.397 -0.134 0.261 0.123 -0.873 0.554 0.880 + -0.075 -0.206 0.246 -0.537 -0.438 0.624 0.062 -0.102 0.260 0.071 + 0.133 -0.239 0.132 0.130 0.011 0.013 0.154 -0.162 -0.295 -0.242 + 1.074 -0.271 0.007 -0.122 -0.230 0.192 0.495 -0.044 -0.061 0.103 + -0.299 -0.431 -0.189 0.060 0.751 -0.042 0.125 0.041 0.322 -0.143 + 0.399 0.609 0.054 -0.286 0.480 0.021 0.264 0.056 0.108 0.085 + -0.099 0.087 -0.302 -0.141 -0.099 0.104 -0.025 -0.087 -0.155 0.143 + -0.032 0.126 -0.021 -0.445 -0.025 -0.696 0.043 0.179 0.195 0.874 + -0.852 -0.186 0.137 -0.164 0.172 -0.306 0.436 -0.255 -0.085 -0.565 + -0.152 0.024 0.037 -0.018 0.121 -0.081 -0.204 -0.102 0.244 0.511 + 0.455 -0.443 0.085 1.114 -1.018 0.226 -0.176 0.095 0.024 -0.059 + 0.102 -0.100 0.009 -0.191 0.009 -0.405 -0.578 0.309 -0.152 0.073 + 0.062 -0.606 -0.003 -0.669 0.379 0.320 0.779 0.124 -0.076 0.132 + 0.035 0.391 0.267 0.178 -0.064 -0.165 -0.337 0.469 -0.444 0.032 + -0.452 0.246 0.449 -0.262 0.225 -0.206 0.153 0.042 -1.120 -0.750 + 0.336 -0.596 0.450 -0.658 0.363 0.035 0.101 -0.123 0.197 -0.455 + 0.730 0.243 0.377 0.116 0.147 -0.185 -0.229 -0.087 -0.215 -0.417 + -0.145 0.407 -0.187 -0.011 -0.110 -0.239 0.793 0.299 -0.206 0.062 + -0.158 -0.043 0.207 0.329 -0.146 -0.322 -0.281 0.178 -0.186 0.062 + -0.168 0.693 -0.312 -0.004 -0.429 -0.018 -0.174 0.220 -0.119 0.197 + -0.346 -0.018 0.674 -0.192 -1.017 0.059 -0.384 -0.009 0.132 -1.601 + 0.385 -0.332 0.151 -0.015 -0.501 -0.426 1.644 -0.083 -0.016 0.403 + 0.168 0.019 0.120 -0.021 0.093 0.024 0.463 -0.025 -0.555 0.008 + -0.004 -0.086 0.621 0.830 0.432 -0.099 -0.185 -0.246 -0.095 -0.317 + -0.221 0.003 0.085 -0.165 0.080 -0.152 -0.211 0.494 -0.192 -0.334 + 0.012 -0.068 -0.090 0.090 -0.037 -0.258 0.171 -0.041 0.184 0.076 + -0.300 -0.396 0.187 0.075 -0.106 -0.098 -0.226 -0.163 0.149 0.303 + 0.170 0.140 0.133 0.113 -0.653 -0.516 -0.316 0.313 0.121 -0.042 + 0.345 0.034 -0.054 -0.088 0.086 0.113 0.658 0.368 0.900 0.083 + 0.299 -0.077 0.107 0.333 -0.291 0.347 -0.234 0.105 0.233 -0.076 + -0.328 -0.013 -0.495 0.013 0.266 -0.216 -0.727 0.157 -0.065 -0.071 + 0.243 -0.107 -0.033 -0.204 0.336 0.113 -0.645 0.571 -0.077 -0.079 + 0.328 0.083 -0.183 -0.017 -0.017 -0.183 0.081 -0.106 -0.062 -0.247 + 0.152 0.367 0.763 0.586 -0.005 -0.166 -0.177 -0.006 0.042 0.142 + -0.340 -0.016 0.198 0.353 -0.071 0.043 -0.041 -0.356 -0.375 0.325 + -0.000 -0.198 0.289 -0.145 0.144 -0.716 0.232 0.917 0.131 0.115 + 0.186 0.097 0.051 -0.222 0.058 -0.222 0.210 -0.495 -0.133 -0.177 + 0.197 0.023 -0.190 0.528 0.269 0.648 0.205 0.200 -0.240 -0.065 + -0.047 -0.036 -0.218 -0.343 -0.234 0.117 0.289 0.304 0.366 0.005 + 0.217 0.278 -0.027 0.053 0.232 -0.119 -0.586 0.342 -0.367 0.164 + -0.297 -0.901 0.200 0.300 -0.810 0.882 0.033 0.178 -0.261 0.548 + -0.418 -1.215 -0.276 0.691 -0.873 -0.002 0.006 -0.111 0.217 0.760 + -0.384 -0.138 -0.400 -0.248 0.069 -0.090 0.026 0.865 -0.484 0.043 + 0.421 0.192 0.180 -0.092 -0.218 0.054 -0.344 0.150 -0.366 0.250 + -0.891 0.762 0.024 -0.254 -0.420 -0.092 -0.026 0.033 -0.057 0.022 + 0.178 -0.132 0.364 -0.212 0.503 0.219 -0.634 -0.015 0.518 0.335 + -0.017 -0.336 -0.088 0.920 -0.507 0.484 -0.412 0.768 -0.297 -0.435 + -0.719 0.671 -0.037 0.033 -0.326 0.435 0.789 -1.308 -0.182 -0.476 + -0.487 -0.353 -0.978 -0.273 -0.005 -0.630 -0.351 0.024 -0.101 0.015 + -0.603 -0.548 0.537 -0.020 0.151 0.067 -0.180 -0.272 0.227 -0.118 + 0.018 0.409 -0.086 -1.008 0.471 -0.272 0.142 -0.064 -0.025 0.627 + 0.181 0.184 0.122 -0.008 0.414 1.239 -0.010 0.032 -0.221 1.065 + 0.118 0.164 -0.104 -0.018 0.150 0.069 -0.133 -0.039 0.772 0.341 + -0.070 0.134 0.131 -1.011 0.413 0.319 0.281 -0.159 -0.045 0.244 + -0.098 -0.341 0.206 -0.999 0.024 -0.046 0.104 0.452 -0.344 1.274 + -0.037 0.378 0.149 0.384 0.101 -0.265 0.188 -0.201 -0.168 0.676 + -1.255 0.571 -0.017 -0.045 -0.081 0.069 0.000 -0.206 -0.023 0.007 + -0.145 0.067 0.053 -0.207 0.218 0.235 -1.473 0.380 -0.034 -0.189 + 0.547 -0.313 -0.192 0.085 -0.107 0.006 -0.390 0.721 0.033 0.055 + -0.239 -0.038 -0.153 -0.647 -0.358 -0.062 -0.852 -0.178 0.040 -0.112 + -0.026 0.046 0.013 0.274 -1.009 0.925 0.748 0.083 0.179 0.018 + 0.089 0.037 -0.194 0.118 0.349 0.189 0.123 0.694 0.475 0.044 + 0.243 0.127 0.274 0.445 -0.909 -0.096 0.216 0.154 -0.951 0.491 + -0.079 0.300 0.730 -0.500 0.150 0.101 0.016 0.092 0.039 -0.413 + 0.168 -0.199 -0.228 0.104 0.259 -0.259 0.539 0.353 -0.491 0.123 + 0.146 -0.076 0.000 0.232 0.161 0.132 -0.070 0.495 0.079 0.161 + -0.040 -0.323 -0.523 -0.417 -0.128 0.254 0.125 -0.848 0.581 0.867 + -0.089 -0.203 0.248 -0.501 -0.463 0.563 0.065 -0.103 0.252 0.062 + 0.147 -0.232 0.126 0.131 0.016 0.008 0.158 -0.168 -0.233 -0.276 + 1.059 -0.261 0.012 -0.124 -0.205 0.195 0.493 -0.053 -0.052 0.101 + -0.323 -0.421 -0.185 0.061 0.776 -0.028 0.137 0.030 0.330 -0.194 + 0.490 0.599 0.048 -0.279 0.472 0.015 0.266 0.064 0.108 0.079 + -0.097 0.093 -0.300 -0.146 -0.094 0.103 -0.017 -0.085 -0.159 0.141 + -0.022 0.118 -0.021 -0.542 -0.036 -0.704 0.042 0.173 0.194 0.800 + -0.842 -0.173 0.133 -0.177 0.182 -0.274 0.450 -0.221 -0.095 -0.553 + -0.146 0.021 0.027 -0.019 0.123 -0.090 -0.210 -0.119 0.251 0.505 + 0.491 -0.439 0.078 1.178 -0.964 0.264 -0.180 0.094 0.021 -0.062 + 0.106 -0.103 0.011 -0.193 0.025 -0.430 -0.576 0.287 -0.148 0.076 + 0.064 -0.602 -0.005 -0.684 0.379 0.347 0.759 0.125 -0.071 0.117 + 0.040 0.389 0.261 0.164 -0.069 -0.153 -0.317 0.458 -0.465 0.036 + -0.441 0.237 0.432 -0.301 0.262 -0.204 0.139 0.035 -1.123 -0.749 + 0.371 -0.645 0.404 -0.692 0.349 0.026 0.096 -0.110 0.264 -0.484 + 0.788 0.260 0.389 0.112 0.140 -0.192 -0.189 -0.158 -0.191 -0.397 + -0.128 0.381 -0.189 -0.023 -0.116 -0.199 0.774 0.284 -0.205 0.047 + -0.137 -0.042 0.197 0.335 -0.135 -0.279 -0.309 0.257 -0.237 0.013 + -0.166 0.749 -0.350 -0.007 -0.433 -0.033 -0.161 0.226 -0.127 0.196 + -0.343 -0.026 0.678 -0.174 -1.019 0.063 -0.386 0.001 0.177 -1.535 + 0.401 -0.326 0.149 -0.010 -0.488 -0.413 1.588 -0.086 -0.101 0.369 + 0.158 0.019 0.105 -0.025 0.084 0.026 0.499 -0.061 -0.504 0.003 + -0.005 -0.088 0.590 0.835 0.404 -0.103 -0.188 -0.242 -0.083 -0.319 + -0.223 -0.012 0.145 -0.154 0.073 -0.142 -0.220 0.589 -0.163 -0.352 + 0.019 -0.074 -0.079 0.086 -0.030 -0.295 0.162 -0.039 0.192 0.098 + -0.197 -0.440 0.197 0.073 -0.099 -0.103 -0.230 -0.169 0.154 0.311 + 0.171 0.125 0.138 0.112 -0.696 -0.498 -0.259 0.311 0.120 -0.035 + 0.349 0.001 -0.040 -0.091 0.082 0.104 0.651 0.377 0.877 0.079 + 0.298 -0.076 0.125 0.307 -0.301 0.373 -0.228 0.132 0.245 -0.065 + -0.323 -0.016 -0.487 0.020 0.250 -0.257 -0.676 0.147 -0.054 -0.066 + 0.243 -0.106 -0.027 -0.203 0.322 0.121 -0.634 0.554 -0.106 -0.078 + 0.317 0.082 -0.152 -0.025 -0.002 -0.178 0.067 -0.112 -0.044 -0.236 + 0.210 0.330 0.762 0.631 -0.007 -0.148 -0.174 -0.002 0.027 0.136 + -0.335 -0.029 0.212 0.360 -0.067 0.036 -0.062 -0.326 -0.400 0.322 + -0.000 -0.198 0.292 -0.150 0.148 -0.695 0.226 0.858 0.126 0.120 + 0.184 0.116 0.016 -0.214 0.068 -0.228 0.209 -0.555 -0.091 -0.234 + 0.184 0.030 -0.188 0.497 0.223 0.602 0.212 0.196 -0.241 -0.073 + -0.043 -0.042 -0.217 -0.347 -0.228 0.123 0.296 0.299 0.386 -0.005 + 0.179 0.270 -0.014 0.051 0.271 -0.112 -0.677 0.317 -0.375 0.167 + -0.265 -0.886 0.252 0.355 -0.783 0.930 0.023 0.171 -0.266 0.576 + -0.391 -1.126 -0.282 0.742 -0.906 0.007 0.007 -0.123 0.221 0.743 + -0.376 -0.156 -0.440 -0.261 0.066 -0.098 0.032 0.839 -0.428 0.021 + 0.430 0.219 0.215 -0.096 -0.213 0.065 -0.344 0.158 -0.360 0.274 + -0.970 0.739 0.068 -0.211 -0.397 -0.092 -0.025 0.020 -0.069 0.018 + 0.176 -0.125 0.366 -0.202 0.446 0.241 -0.672 -0.027 0.530 0.358 + -0.029 -0.329 -0.099 0.933 -0.442 0.508 -0.456 0.758 -0.271 -0.403 + -0.752 0.640 -0.055 0.019 -0.334 0.439 0.797 -1.279 -0.190 -0.466 + -0.482 -0.321 -1.012 -0.284 -0.005 -0.535 -0.373 0.036 -0.097 -0.000 + -0.649 -0.592 0.517 -0.021 0.150 0.072 -0.182 -0.279 0.220 -0.111 + 0.017 0.414 -0.055 -0.972 0.411 -0.276 0.143 -0.057 -0.042 0.610 + 0.217 0.180 0.131 -0.012 0.420 1.252 0.008 0.038 -0.328 1.022 + 0.115 0.158 -0.109 -0.017 0.143 0.075 -0.196 -0.046 0.809 0.334 + -0.066 0.145 0.145 -1.012 0.385 0.290 0.271 -0.157 -0.031 0.248 + -0.105 -0.425 0.164 -1.031 0.014 -0.031 0.100 0.417 -0.390 1.232 + -0.052 0.384 0.157 0.421 0.001 -0.323 0.189 -0.188 -0.161 0.624 + -1.258 0.566 -0.013 -0.032 -0.081 0.054 0.004 -0.207 -0.014 0.018 + -0.148 0.058 0.051 -0.212 0.232 0.243 -1.470 0.384 -0.025 -0.168 + 0.563 -0.332 -0.186 0.089 -0.107 0.004 -0.402 0.721 0.061 0.057 + -0.236 -0.039 -0.147 -0.642 -0.334 -0.097 -0.840 -0.219 0.069 -0.145 + -0.023 0.049 0.003 0.265 -1.015 0.886 0.809 0.083 0.179 0.016 + 0.092 0.052 -0.199 0.114 0.345 0.182 0.128 0.689 0.486 0.045 + 0.249 0.138 0.260 0.413 -0.894 -0.109 0.213 0.146 -0.977 0.443 + -0.066 0.343 0.718 -0.464 0.152 0.094 0.020 0.111 0.053 -0.416 + 0.226 -0.188 -0.192 0.105 0.262 -0.256 0.582 0.349 -0.502 0.134 + 0.144 -0.070 -0.009 0.236 0.162 0.135 -0.089 0.483 0.077 0.158 + -0.049 -0.324 -0.460 -0.392 -0.131 0.229 0.122 -0.847 0.575 0.857 + -0.080 -0.206 0.245 -0.504 -0.480 0.582 0.064 -0.107 0.262 0.063 + 0.156 -0.235 0.127 0.120 0.015 0.004 0.151 -0.178 -0.168 -0.346 + 1.055 -0.252 0.018 -0.129 -0.167 0.189 0.480 -0.067 -0.055 0.099 + -0.315 -0.463 -0.187 0.104 0.720 0.025 0.147 0.024 0.327 -0.269 + 0.545 0.594 0.060 -0.295 0.443 0.019 0.259 0.067 0.107 0.078 + -0.098 0.094 -0.297 -0.154 -0.105 0.101 -0.016 -0.082 -0.167 0.142 + -0.020 0.121 -0.018 -0.606 -0.013 -0.702 0.051 0.170 0.188 0.686 + -0.926 -0.165 0.119 -0.189 0.169 -0.245 0.489 -0.194 -0.073 -0.549 + -0.125 0.037 0.017 -0.019 0.116 -0.105 -0.214 -0.113 0.250 0.497 + 0.504 -0.403 0.110 1.198 -0.986 0.330 -0.177 0.092 0.021 -0.066 + 0.105 -0.105 0.014 -0.191 0.028 -0.454 -0.582 0.232 -0.147 0.069 + 0.069 -0.573 0.005 -0.701 0.352 0.335 0.769 0.116 -0.067 0.119 + 0.044 0.386 0.256 0.174 -0.069 -0.139 -0.311 0.492 -0.488 0.036 + -0.438 0.235 0.429 -0.340 0.282 -0.205 0.122 0.041 -1.065 -0.732 + 0.381 -0.663 0.365 -0.692 0.344 0.028 0.077 -0.121 0.248 -0.452 + 0.764 0.224 0.444 0.114 0.146 -0.200 -0.211 -0.194 -0.150 -0.364 + -0.099 0.354 -0.184 -0.028 -0.113 -0.210 0.743 0.274 -0.253 0.038 + -0.137 -0.044 0.202 0.345 -0.162 -0.277 -0.310 0.325 -0.273 -0.013 + -0.183 0.784 -0.354 -0.003 -0.434 -0.033 -0.154 0.206 -0.132 0.199 + -0.339 -0.035 0.619 -0.148 -0.988 0.067 -0.395 0.001 0.183 -1.484 + 0.349 -0.304 0.154 -0.001 -0.541 -0.360 1.532 -0.062 -0.170 0.370 + 0.146 0.017 0.108 -0.016 0.085 0.031 0.525 -0.073 -0.480 0.007 + -0.017 -0.081 0.565 0.805 0.391 -0.106 -0.193 -0.227 -0.082 -0.329 + -0.237 0.020 0.162 -0.159 0.066 -0.145 -0.210 0.661 -0.159 -0.389 + 0.025 -0.072 -0.072 0.068 -0.041 -0.268 0.168 -0.047 0.209 0.101 + -0.177 -0.453 0.203 0.055 -0.098 -0.103 -0.225 -0.163 0.171 0.309 + 0.180 0.118 0.150 0.117 -0.765 -0.484 -0.218 0.293 0.108 -0.037 + 0.352 -0.008 -0.062 -0.095 0.085 0.090 0.602 0.416 0.831 0.081 + 0.310 -0.066 0.122 0.288 -0.287 0.400 -0.168 0.128 0.273 -0.012 + -0.265 -0.021 -0.486 0.020 0.269 -0.284 -0.638 0.155 -0.045 -0.073 + 0.247 -0.105 -0.036 -0.196 0.311 0.119 -0.674 0.559 -0.075 -0.078 + 0.328 0.077 -0.162 -0.044 -0.028 -0.169 0.063 -0.127 0.012 -0.251 + 0.282 0.290 0.752 0.642 0.010 -0.151 -0.158 0.005 0.029 0.138 + -0.304 -0.072 0.211 0.350 -0.067 0.031 -0.072 -0.336 -0.419 0.322 + 0.009 -0.188 0.288 -0.154 0.156 -0.677 0.218 0.827 0.127 0.118 + 0.191 0.151 0.002 -0.209 0.063 -0.221 0.211 -0.573 -0.145 -0.276 + 0.185 0.025 -0.175 0.489 0.168 0.586 0.212 0.189 -0.230 -0.071 + -0.044 -0.043 -0.221 -0.337 -0.231 0.124 0.301 0.302 0.382 -0.027 + 0.153 0.264 -0.012 0.063 0.298 -0.079 -0.678 0.314 -0.376 0.163 + -0.280 -0.898 0.330 0.404 -0.805 0.940 0.023 0.164 -0.282 0.634 + -0.380 -1.056 -0.302 0.755 -0.906 0.005 0.023 -0.125 0.212 0.712 + -0.355 -0.170 -0.514 -0.216 0.058 -0.117 0.036 0.863 -0.345 -0.002 + 0.424 0.222 0.216 -0.104 -0.199 0.079 -0.354 0.166 -0.364 0.292 + -0.989 0.762 0.078 -0.184 -0.412 -0.099 -0.023 0.024 -0.066 0.020 + 0.176 -0.119 0.369 -0.201 0.388 0.230 -0.687 -0.020 0.552 0.301 + -0.022 -0.330 -0.102 0.950 -0.358 0.540 -0.466 0.752 -0.268 -0.376 + -0.776 0.647 -0.048 0.013 -0.334 0.467 0.766 -1.193 -0.197 -0.461 + -0.475 -0.333 -1.053 -0.249 0.014 -0.523 -0.344 0.039 -0.089 -0.001 + -0.678 -0.608 0.521 -0.024 0.146 0.084 -0.174 -0.276 0.227 -0.106 + 0.025 0.415 -0.030 -0.949 0.339 -0.271 0.129 -0.062 -0.059 0.555 + 0.228 0.186 0.148 -0.012 0.426 1.195 -0.002 0.077 -0.422 1.064 + 0.107 0.158 -0.115 -0.008 0.151 0.070 -0.203 0.011 0.833 0.328 + -0.065 0.144 0.189 -1.026 0.357 0.277 0.276 -0.164 -0.011 0.257 + -0.109 -0.424 0.122 -1.049 0.027 -0.029 0.112 0.367 -0.398 1.187 + -0.060 0.376 0.155 0.481 -0.031 -0.382 0.177 -0.179 -0.152 0.629 + -1.221 0.564 -0.012 -0.026 -0.083 0.055 0.012 -0.221 -0.000 0.018 + -0.153 0.075 0.067 -0.214 0.264 0.258 -1.460 0.372 -0.020 -0.181 + 0.568 -0.290 -0.182 0.085 -0.101 0.007 -0.420 0.718 0.065 0.066 + -0.239 -0.042 -0.099 -0.642 -0.308 -0.068 -0.854 -0.215 0.040 -0.154 + -0.017 0.058 -0.009 0.262 -1.022 0.941 0.815 0.081 0.176 0.014 + 0.085 0.047 -0.194 0.108 0.351 0.171 0.132 0.663 0.459 0.050 + 0.252 0.128 0.242 0.406 -0.907 -0.116 0.216 0.129 -0.970 0.422 + -0.085 0.324 0.678 -0.440 0.151 0.101 0.016 0.113 0.058 -0.420 + 0.273 -0.182 -0.164 0.098 0.254 -0.253 0.573 0.367 -0.490 0.127 + 0.138 -0.068 -0.029 0.230 0.156 0.189 -0.094 0.494 0.081 0.171 + -0.052 -0.375 -0.412 -0.408 -0.139 0.226 0.112 -0.830 0.587 0.871 + -0.077 -0.193 0.245 -0.498 -0.481 0.605 0.069 -0.107 0.255 0.072 + 0.168 -0.228 0.127 0.115 0.007 -0.009 0.146 -0.187 -0.100 -0.353 + 1.006 -0.251 0.021 -0.123 -0.175 0.182 0.483 -0.061 -0.067 0.098 + -0.318 -0.487 -0.187 0.105 0.733 0.049 0.150 0.019 0.333 -0.349 + 0.615 0.577 0.040 -0.330 0.439 0.012 0.260 0.070 0.103 0.096 + -0.092 0.092 -0.298 -0.153 -0.096 0.097 -0.014 -0.076 -0.156 0.141 + -0.012 0.121 -0.024 -0.678 0.002 -0.702 0.030 0.183 0.179 0.662 + -0.928 -0.173 0.110 -0.180 0.163 -0.197 0.478 -0.162 -0.029 -0.501 + -0.183 0.043 0.005 -0.017 0.112 -0.107 -0.206 -0.106 0.241 0.488 + 0.499 -0.405 0.107 1.255 -0.922 0.341 -0.169 0.092 0.030 -0.069 + 0.102 -0.107 0.026 -0.196 0.027 -0.459 -0.556 0.220 -0.157 0.058 + 0.081 -0.537 0.028 -0.696 0.302 0.341 0.706 0.106 -0.062 0.111 + 0.054 0.382 0.257 0.182 -0.066 -0.120 -0.355 0.480 -0.545 0.040 + -0.422 0.223 0.415 -0.362 0.295 -0.193 0.122 0.038 -1.016 -0.722 + 0.408 -0.723 0.322 -0.675 0.345 0.023 0.069 -0.112 0.221 -0.426 + 0.827 0.207 0.504 0.133 0.147 -0.200 -0.225 -0.259 -0.142 -0.350 + -0.071 0.389 -0.180 -0.032 -0.109 -0.214 0.697 0.205 -0.288 0.031 + -0.154 -0.051 0.186 0.342 -0.176 -0.250 -0.346 0.371 -0.329 -0.029 + -0.182 0.837 -0.384 -0.006 -0.427 -0.043 -0.147 0.203 -0.130 0.198 + -0.338 -0.032 0.656 -0.167 -1.020 0.058 -0.404 0.002 0.216 -1.480 + 0.334 -0.302 0.159 0.012 -0.556 -0.315 1.466 -0.048 -0.203 0.375 + 0.147 0.011 0.106 -0.025 0.086 0.029 0.537 -0.111 -0.459 0.004 + -0.027 -0.087 0.547 0.795 0.404 -0.109 -0.184 -0.225 -0.087 -0.321 + -0.228 0.048 0.185 -0.194 0.062 -0.148 -0.204 0.732 -0.169 -0.386 + 0.034 -0.062 -0.071 0.067 -0.040 -0.297 0.163 -0.039 0.207 0.150 + -0.163 -0.490 0.199 0.057 -0.095 -0.105 -0.229 -0.155 0.162 0.312 + 0.185 0.128 0.148 0.109 -0.808 -0.466 -0.198 0.299 0.104 -0.046 + 0.374 -0.029 -0.040 -0.090 0.072 0.094 0.567 0.403 0.832 0.088 + 0.299 -0.077 0.182 0.305 -0.305 0.397 -0.177 0.126 0.272 0.048 + -0.277 -0.025 -0.475 0.010 0.274 -0.324 -0.646 0.159 -0.041 -0.073 + 0.250 -0.107 -0.033 -0.190 0.310 0.116 -0.702 0.542 -0.058 -0.058 + 0.332 0.084 -0.145 -0.024 -0.022 -0.161 0.061 -0.142 0.073 -0.246 + 0.358 0.230 0.784 0.712 0.019 -0.141 -0.143 -0.003 0.018 0.126 + -0.294 -0.069 0.234 0.345 -0.062 0.031 -0.077 -0.310 -0.393 0.310 + 0.012 -0.184 0.278 -0.154 0.169 -0.692 0.188 0.820 0.136 0.114 + 0.185 0.159 -0.023 -0.212 0.059 -0.214 0.219 -0.528 -0.141 -0.293 + 0.192 0.036 -0.161 0.502 0.148 0.545 0.208 0.167 -0.239 -0.076 + -0.048 -0.051 -0.219 -0.342 -0.232 0.127 0.300 0.296 0.402 -0.026 + 0.106 0.258 -0.004 0.075 0.332 -0.105 -0.712 0.295 -0.383 0.159 + -0.266 -0.882 0.383 0.460 -0.815 0.997 0.011 0.154 -0.277 0.704 + -0.367 -0.985 -0.258 0.779 -0.850 0.010 0.027 -0.124 0.213 0.739 + -0.347 -0.205 -0.562 -0.195 0.045 -0.129 0.048 0.884 -0.313 -0.039 + 0.447 0.204 0.215 -0.105 -0.188 0.092 -0.331 0.187 -0.374 0.259 + -1.065 0.734 0.074 -0.186 -0.423 -0.101 -0.026 0.014 -0.061 0.021 + 0.179 -0.114 0.375 -0.196 0.387 0.228 -0.711 -0.016 0.523 0.289 + -0.026 -0.326 -0.095 0.985 -0.278 0.583 -0.535 0.765 -0.227 -0.345 + -0.790 0.626 -0.051 0.010 -0.335 0.464 0.770 -1.118 -0.185 -0.462 + -0.463 -0.297 -1.128 -0.208 0.025 -0.541 -0.357 0.038 -0.083 -0.006 + -0.691 -0.613 0.505 -0.021 0.141 0.085 -0.174 -0.273 0.215 -0.122 + 0.029 0.413 0.007 -0.906 0.314 -0.270 0.123 -0.062 -0.121 0.557 + 0.271 0.172 0.148 -0.019 0.504 1.158 -0.007 0.073 -0.525 1.022 + 0.095 0.160 -0.120 0.009 0.147 0.070 -0.209 0.016 0.846 0.320 + -0.058 0.152 0.170 -1.053 0.296 0.264 0.268 -0.152 0.002 0.269 + -0.105 -0.494 0.062 -1.045 0.021 -0.023 0.108 0.315 -0.440 1.194 + -0.056 0.382 0.149 0.532 -0.098 -0.466 0.173 -0.175 -0.147 0.640 + -1.214 0.581 0.002 -0.018 -0.072 0.040 0.019 -0.221 -0.010 0.025 + -0.149 0.070 0.063 -0.213 0.278 0.291 -1.487 0.362 -0.022 -0.182 + 0.599 -0.304 -0.199 0.088 -0.102 0.006 -0.472 0.682 0.109 0.054 + -0.239 -0.045 -0.082 -0.657 -0.309 -0.051 -0.847 -0.227 0.069 -0.156 + -0.021 0.060 -0.014 0.249 -0.984 0.970 0.821 0.095 0.184 0.023 + 0.080 0.047 -0.186 0.100 0.348 0.171 0.121 0.626 0.475 0.058 + 0.258 0.128 0.211 0.389 -0.888 -0.112 0.213 0.119 -0.959 0.387 + -0.120 0.353 0.640 -0.467 0.148 0.091 0.021 0.126 0.069 -0.423 + 0.244 -0.200 -0.154 0.101 0.248 -0.248 0.539 0.369 -0.497 0.128 + 0.132 -0.068 -0.046 0.228 0.145 0.198 -0.077 0.473 0.088 0.159 + -0.049 -0.352 -0.403 -0.398 -0.142 0.222 0.112 -0.833 0.595 0.899 + -0.085 -0.182 0.260 -0.549 -0.485 0.589 0.060 -0.100 0.255 0.073 + 0.162 -0.219 0.118 0.110 0.010 -0.004 0.145 -0.183 -0.009 -0.364 + 1.025 -0.251 0.010 -0.124 -0.186 0.180 0.461 -0.058 -0.062 0.096 + -0.328 -0.511 -0.140 0.140 0.728 0.079 0.154 0.013 0.317 -0.407 + 0.685 0.598 0.043 -0.338 0.420 -0.002 0.257 0.074 0.099 0.104 + -0.090 0.100 -0.285 -0.159 -0.106 0.094 0.001 -0.070 -0.155 0.133 + -0.011 0.122 -0.031 -0.757 0.024 -0.711 0.030 0.184 0.185 0.633 + -0.947 -0.176 0.096 -0.174 0.162 -0.162 0.485 -0.141 0.047 -0.506 + -0.168 0.038 0.010 -0.015 0.114 -0.109 -0.208 -0.107 0.250 0.489 + 0.482 -0.408 0.107 1.249 -0.929 0.310 -0.170 0.085 0.039 -0.076 + 0.109 -0.102 0.024 -0.202 0.040 -0.463 -0.547 0.187 -0.143 0.064 + 0.078 -0.513 0.042 -0.719 0.273 0.357 0.644 0.107 -0.047 0.099 + 0.054 0.376 0.248 0.195 -0.062 -0.104 -0.363 0.423 -0.567 0.051 + -0.426 0.213 0.423 -0.348 0.311 -0.191 0.125 0.037 -1.005 -0.708 + 0.433 -0.763 0.274 -0.730 0.341 0.030 0.051 -0.086 0.242 -0.403 + 0.845 0.205 0.545 0.131 0.152 -0.198 -0.195 -0.298 -0.083 -0.310 + -0.033 0.415 -0.189 -0.032 -0.114 -0.237 0.636 0.189 -0.273 0.025 + -0.151 -0.054 0.178 0.342 -0.199 -0.257 -0.322 0.426 -0.344 -0.021 + -0.199 0.892 -0.447 -0.012 -0.425 -0.049 -0.148 0.195 -0.133 0.195 + -0.342 -0.024 0.628 -0.184 -1.051 0.050 -0.390 -0.000 0.259 -1.478 + 0.335 -0.295 0.168 0.011 -0.592 -0.298 1.429 -0.021 -0.251 0.382 + 0.144 0.006 0.095 -0.033 0.093 0.021 0.575 -0.093 -0.413 0.002 + -0.026 -0.086 0.534 0.817 0.346 -0.103 -0.185 -0.223 -0.091 -0.312 + -0.229 0.033 0.174 -0.241 0.060 -0.139 -0.214 0.788 -0.153 -0.420 + 0.035 -0.064 -0.084 0.073 -0.056 -0.315 0.159 -0.038 0.195 0.181 + -0.168 -0.504 0.194 0.055 -0.083 -0.101 -0.215 -0.151 0.167 0.314 + 0.183 0.135 0.154 0.105 -0.855 -0.447 -0.150 0.307 0.091 -0.035 + 0.377 0.006 -0.046 -0.079 0.069 0.100 0.572 0.423 0.830 0.090 + 0.300 -0.080 0.188 0.288 -0.317 0.383 -0.126 0.096 0.260 0.090 + -0.295 -0.032 -0.472 -0.001 0.201 -0.386 -0.669 0.169 -0.044 -0.075 + 0.253 -0.105 -0.023 -0.180 0.316 0.110 -0.704 0.530 -0.059 -0.070 + 0.332 0.072 -0.165 -0.023 -0.024 -0.168 0.050 -0.155 0.114 -0.270 + 0.376 0.157 0.816 0.786 0.004 -0.128 -0.143 0.003 0.006 0.120 + -0.275 -0.053 0.231 0.345 -0.065 0.037 -0.071 -0.320 -0.420 0.303 + 0.010 -0.180 0.272 -0.155 0.169 -0.659 0.209 0.765 0.143 0.117 + 0.187 0.162 -0.061 -0.229 0.057 -0.206 0.230 -0.545 -0.128 -0.308 + 0.188 0.044 -0.147 0.523 0.074 0.524 0.216 0.161 -0.237 -0.075 + -0.051 -0.041 -0.225 -0.341 -0.222 0.116 0.292 0.280 0.389 -0.025 + 0.122 0.259 0.005 0.081 0.359 -0.071 -0.701 0.284 -0.385 0.149 + -0.279 -0.846 0.423 0.525 -0.784 1.007 0.021 0.143 -0.280 0.697 + -0.408 -0.934 -0.252 0.788 -0.897 0.016 0.029 -0.133 0.184 0.699 + -0.329 -0.223 -0.621 -0.173 0.050 -0.122 0.031 0.863 -0.247 -0.088 + 0.481 0.223 0.191 -0.106 -0.199 0.097 -0.336 0.196 -0.422 0.287 + -1.182 0.713 0.113 -0.205 -0.471 -0.098 -0.039 0.015 -0.068 0.015 + 0.186 -0.118 0.372 -0.186 0.364 0.245 -0.747 -0.007 0.506 0.293 + -0.024 -0.318 -0.116 0.989 -0.231 0.628 -0.588 0.750 -0.213 -0.365 + -0.829 0.644 -0.061 0.004 -0.328 0.417 0.776 -1.051 -0.191 -0.456 + -0.465 -0.261 -1.198 -0.206 0.051 -0.507 -0.334 0.036 -0.084 0.001 + -0.728 -0.580 0.478 -0.020 0.146 0.089 -0.177 -0.275 0.207 -0.120 + 0.032 0.404 0.038 -0.959 0.239 -0.259 0.111 -0.057 -0.140 0.562 + 0.295 0.172 0.159 -0.015 0.498 1.181 -0.030 0.072 -0.603 0.990 + 0.091 0.160 -0.102 0.014 0.139 0.051 -0.245 0.021 0.858 0.312 + -0.067 0.147 0.186 -1.023 0.315 0.245 0.264 -0.162 0.018 0.270 + -0.110 -0.490 0.041 -1.068 0.028 -0.023 0.111 0.283 -0.430 1.165 + -0.063 0.377 0.151 0.573 -0.158 -0.550 0.164 -0.168 -0.133 0.614 + -1.223 0.552 0.016 -0.028 -0.084 0.036 0.024 -0.221 -0.013 0.019 + -0.149 0.064 0.066 -0.217 0.316 0.306 -1.493 0.351 -0.020 -0.179 + 0.667 -0.264 -0.219 0.087 -0.093 0.007 -0.482 0.693 0.112 0.053 + -0.244 -0.041 -0.084 -0.657 -0.303 -0.064 -0.837 -0.249 0.088 -0.162 + -0.015 0.062 -0.025 0.246 -0.964 0.945 0.870 0.113 0.176 0.028 + 0.072 0.041 -0.179 0.089 0.349 0.188 0.099 0.627 0.474 0.067 + 0.262 0.115 0.193 0.401 -0.829 -0.118 0.214 0.129 -0.926 0.318 + -0.156 0.360 0.587 -0.439 0.134 0.085 0.012 0.131 0.077 -0.424 + 0.226 -0.190 -0.123 0.084 0.256 -0.253 0.568 0.371 -0.521 0.123 + 0.127 -0.057 -0.052 0.233 0.141 0.186 -0.105 0.502 0.072 0.163 + -0.046 -0.363 -0.352 -0.388 -0.128 0.213 0.116 -0.826 0.615 0.923 + -0.094 -0.190 0.258 -0.539 -0.439 0.620 0.065 -0.090 0.246 0.073 + 0.166 -0.213 0.122 0.108 0.007 -0.011 0.148 -0.179 0.038 -0.376 + 1.027 -0.252 0.001 -0.125 -0.159 0.206 0.476 -0.049 -0.065 0.092 + -0.332 -0.528 -0.158 0.131 0.714 0.094 0.154 0.008 0.297 -0.457 + 0.742 0.602 0.050 -0.332 0.394 -0.012 0.247 0.071 0.098 0.101 + -0.078 0.100 -0.276 -0.147 -0.109 0.101 -0.009 -0.073 -0.156 0.129 + -0.000 0.109 -0.028 -0.802 0.053 -0.729 0.040 0.203 0.186 0.546 + -0.943 -0.169 0.082 -0.164 0.143 -0.134 0.521 -0.148 0.081 -0.459 + -0.130 0.038 0.011 -0.003 0.124 -0.114 -0.204 -0.109 0.247 0.486 + 0.461 -0.400 0.131 1.277 -0.884 0.300 -0.147 0.077 0.039 -0.074 + 0.101 -0.102 0.038 -0.195 0.041 -0.452 -0.562 0.152 -0.135 0.068 + 0.079 -0.522 0.028 -0.694 0.229 0.368 0.658 0.108 -0.036 0.102 + 0.066 0.378 0.257 0.193 -0.069 -0.101 -0.408 0.406 -0.592 0.060 + -0.429 0.211 0.393 -0.352 0.309 -0.187 0.126 0.037 -0.977 -0.757 + 0.439 -0.789 0.246 -0.732 0.328 0.038 0.046 -0.106 0.231 -0.456 + 0.947 0.171 0.600 0.136 0.159 -0.193 -0.215 -0.329 -0.034 -0.290 + -0.036 0.352 -0.175 -0.018 -0.121 -0.253 0.584 0.142 -0.292 0.003 + -0.174 -0.051 0.166 0.351 -0.197 -0.237 -0.323 0.472 -0.361 -0.058 + -0.199 0.919 -0.510 -0.027 -0.431 -0.044 -0.145 0.189 -0.135 0.196 + -0.347 -0.028 0.620 -0.195 -1.055 0.040 -0.379 0.000 0.263 -1.424 + 0.294 -0.296 0.168 0.016 -0.623 -0.274 1.376 -0.024 -0.300 0.346 + 0.148 0.017 0.086 -0.042 0.088 0.008 0.629 -0.067 -0.361 0.004 + -0.025 -0.081 0.500 0.807 0.352 -0.099 -0.188 -0.236 -0.079 -0.318 + -0.228 0.003 0.196 -0.220 0.053 -0.147 -0.221 0.832 -0.192 -0.429 + 0.030 -0.071 -0.089 0.116 -0.060 -0.276 0.150 -0.035 0.190 0.193 + -0.163 -0.555 0.202 0.052 -0.091 -0.102 -0.208 -0.143 0.170 0.309 + 0.183 0.142 0.166 0.101 -0.888 -0.431 -0.147 0.310 0.080 -0.033 + 0.383 0.053 -0.085 -0.081 0.068 0.096 0.510 0.463 0.834 0.084 + 0.296 -0.089 0.205 0.287 -0.283 0.331 -0.111 0.069 0.267 0.091 + -0.319 -0.047 -0.452 -0.012 0.174 -0.393 -0.598 0.172 -0.047 -0.096 + 0.259 -0.119 -0.012 -0.184 0.309 0.108 -0.727 0.570 -0.050 -0.077 + 0.324 0.076 -0.153 0.051 -0.017 -0.171 0.037 -0.175 0.169 -0.263 + 0.407 0.108 0.828 0.870 0.009 -0.120 -0.145 0.004 0.005 0.121 + -0.285 -0.059 0.244 0.332 -0.060 0.024 -0.073 -0.281 -0.425 0.302 + 0.011 -0.173 0.268 -0.147 0.172 -0.635 0.245 0.736 0.140 0.106 + 0.195 0.188 -0.115 -0.236 0.065 -0.200 0.237 -0.523 -0.132 -0.299 + 0.183 0.046 -0.129 0.499 0.044 0.498 0.207 0.147 -0.241 -0.086 + -0.038 -0.038 -0.221 -0.332 -0.215 0.112 0.291 0.274 0.385 -0.035 + 0.095 0.261 0.006 0.088 0.380 -0.122 -0.746 0.281 -0.374 0.147 + -0.288 -0.843 0.449 0.579 -0.791 1.023 0.018 0.145 -0.287 0.699 + -0.414 -0.913 -0.254 0.791 -0.915 0.026 0.046 -0.141 0.178 0.661 + -0.319 -0.255 -0.642 -0.110 0.053 -0.119 0.028 0.855 -0.215 -0.141 + 0.454 0.203 0.192 -0.118 -0.194 0.104 -0.343 0.173 -0.482 0.282 + -1.233 0.735 0.133 -0.171 -0.519 -0.099 -0.033 0.017 -0.074 0.023 + 0.180 -0.125 0.372 -0.170 0.301 0.255 -0.777 -0.006 0.509 0.282 + -0.005 -0.313 -0.126 0.991 -0.101 0.662 -0.644 0.770 -0.192 -0.369 + -0.852 0.616 -0.060 0.002 -0.321 0.422 0.773 -1.003 -0.198 -0.451 + -0.458 -0.224 -1.213 -0.217 0.101 -0.505 -0.360 0.044 -0.086 -0.011 + -0.751 -0.590 0.520 -0.020 0.133 0.100 -0.177 -0.268 0.201 -0.123 + 0.030 0.409 0.073 -0.966 0.183 -0.244 0.109 -0.059 -0.144 0.580 + 0.286 0.172 0.166 -0.000 0.489 1.185 0.007 0.085 -0.647 0.989 + 0.077 0.149 -0.104 0.029 0.142 0.051 -0.327 -0.004 0.875 0.298 + -0.061 0.143 0.205 -1.035 0.293 0.223 0.257 -0.157 0.023 0.259 + -0.119 -0.514 -0.010 -1.046 0.029 -0.017 0.116 0.299 -0.442 1.152 + -0.058 0.376 0.159 0.631 -0.200 -0.570 0.166 -0.173 -0.128 0.594 + -1.201 0.533 0.026 -0.013 -0.087 0.033 0.033 -0.225 -0.014 0.021 + -0.157 0.075 0.060 -0.216 0.354 0.298 -1.440 0.339 -0.028 -0.179 + 0.677 -0.243 -0.229 0.080 -0.091 -0.008 -0.549 0.633 0.140 0.053 + -0.251 -0.036 -0.082 -0.644 -0.295 -0.056 -0.833 -0.279 0.100 -0.209 + -0.002 0.064 -0.032 0.239 -0.905 0.915 0.906 0.118 0.171 0.039 + 0.064 0.039 -0.174 0.085 0.356 0.192 0.076 0.615 0.492 0.068 + 0.270 0.106 0.198 0.408 -0.789 -0.111 0.223 0.132 -0.907 0.274 + -0.155 0.349 0.540 -0.405 0.133 0.074 0.013 0.127 0.069 -0.429 + 0.254 -0.204 -0.123 0.085 0.264 -0.258 0.544 0.395 -0.550 0.119 + 0.123 -0.046 -0.048 0.238 0.121 0.181 -0.137 0.505 0.073 0.158 + -0.037 -0.390 -0.332 -0.434 -0.126 0.206 0.114 -0.754 0.641 0.938 + -0.095 -0.194 0.258 -0.529 -0.472 0.572 0.070 -0.082 0.249 0.071 + 0.160 -0.193 0.130 0.105 0.006 -0.011 0.145 -0.176 0.095 -0.409 + 1.039 -0.254 0.008 -0.119 -0.122 0.212 0.449 -0.056 -0.059 0.080 + -0.325 -0.514 -0.148 0.182 0.707 0.122 0.160 -0.005 0.296 -0.558 + 0.866 0.599 0.052 -0.299 0.350 -0.018 0.243 0.068 0.102 0.111 + -0.079 0.098 -0.260 -0.149 -0.099 0.105 -0.001 -0.067 -0.153 0.126 + -0.000 0.097 -0.034 -0.824 0.082 -0.768 0.043 0.212 0.184 0.490 + -0.976 -0.130 0.084 -0.157 0.137 -0.145 0.524 -0.129 0.112 -0.425 + -0.122 0.030 0.005 -0.003 0.129 -0.115 -0.200 -0.116 0.243 0.482 + 0.486 -0.371 0.127 1.313 -0.866 0.262 -0.145 0.077 0.049 -0.078 + 0.092 -0.104 0.030 -0.197 0.047 -0.439 -0.549 0.162 -0.132 0.071 + 0.081 -0.495 0.036 -0.681 0.236 0.431 0.681 0.099 -0.034 0.096 + 0.064 0.375 0.268 0.205 -0.070 -0.100 -0.416 0.376 -0.653 0.065 + -0.426 0.211 0.334 -0.395 0.310 -0.179 0.131 0.042 -0.940 -0.790 + 0.440 -0.828 0.228 -0.730 0.323 0.041 0.046 -0.127 0.253 -0.418 + 0.954 0.154 0.646 0.150 0.161 -0.192 -0.240 -0.334 -0.014 -0.274 + -0.048 0.353 -0.173 -0.002 -0.111 -0.257 0.594 0.117 -0.320 0.015 + -0.244 -0.042 0.164 0.356 -0.183 -0.234 -0.292 0.475 -0.358 -0.072 + -0.192 0.943 -0.580 -0.040 -0.421 -0.046 -0.134 0.188 -0.138 0.203 + -0.347 -0.029 0.635 -0.204 -1.087 0.039 -0.375 -0.002 0.330 -1.377 + 0.248 -0.305 0.181 0.011 -0.642 -0.272 1.343 0.015 -0.350 0.341 + 0.146 0.025 0.088 -0.043 0.084 0.014 0.652 -0.112 -0.326 0.005 + -0.025 -0.078 0.471 0.839 0.380 -0.094 -0.185 -0.228 -0.090 -0.316 + -0.201 0.009 0.197 -0.238 0.043 -0.141 -0.225 0.853 -0.152 -0.449 + 0.040 -0.071 -0.087 0.118 -0.077 -0.310 0.153 -0.028 0.178 0.210 + -0.122 -0.570 0.197 0.053 -0.089 -0.101 -0.190 -0.143 0.173 0.305 + 0.188 0.140 0.162 0.082 -0.901 -0.409 -0.155 0.310 0.078 -0.037 + 0.378 0.088 -0.118 -0.074 0.070 0.104 0.450 0.481 0.826 0.086 + 0.283 -0.096 0.174 0.276 -0.308 0.335 -0.053 0.095 0.233 0.101 + -0.334 -0.058 -0.441 -0.012 0.149 -0.390 -0.545 0.162 -0.037 -0.090 + 0.253 -0.120 -0.014 -0.179 0.298 0.113 -0.720 0.587 -0.029 -0.076 + 0.315 0.068 -0.158 0.025 -0.007 -0.177 0.047 -0.192 0.212 -0.245 + 0.437 0.061 0.782 0.894 0.005 -0.110 -0.135 0.007 0.012 0.108 + -0.245 -0.046 0.291 0.329 -0.058 0.023 -0.102 -0.247 -0.406 0.298 + 0.021 -0.172 0.265 -0.145 0.177 -0.650 0.269 0.676 0.138 0.091 + 0.204 0.186 -0.191 -0.257 0.072 -0.207 0.236 -0.561 -0.170 -0.276 + 0.189 0.048 -0.120 0.484 0.059 0.501 0.207 0.153 -0.240 -0.082 + -0.017 -0.029 -0.216 -0.333 -0.195 0.109 0.291 0.266 0.395 0.000 + 0.080 0.266 0.005 0.098 0.407 -0.056 -0.746 0.272 -0.369 0.156 + -0.272 -0.865 0.485 0.629 -0.787 1.038 0.022 0.141 -0.294 0.700 + -0.456 -0.887 -0.256 0.820 -0.870 0.026 0.051 -0.148 0.212 0.618 + -0.284 -0.337 -0.692 -0.058 0.053 -0.134 0.024 0.866 -0.178 -0.180 + 0.453 0.242 0.242 -0.117 -0.195 0.101 -0.336 0.226 -0.519 0.312 + -1.306 0.693 0.143 -0.160 -0.553 -0.103 -0.034 0.025 -0.056 0.018 + 0.171 -0.118 0.365 -0.159 0.312 0.277 -0.772 0.022 0.485 0.260 + -0.003 -0.309 -0.131 0.986 -0.058 0.665 -0.699 0.800 -0.165 -0.308 + -0.876 0.564 -0.043 -0.004 -0.316 0.400 0.732 -0.922 -0.196 -0.441 + -0.451 -0.213 -1.236 -0.224 0.096 -0.536 -0.341 0.051 -0.080 -0.015 + -0.786 -0.584 0.509 -0.019 0.132 0.113 -0.169 -0.268 0.202 -0.115 + 0.033 0.421 0.045 -1.011 0.161 -0.244 0.097 -0.066 -0.113 0.576 + 0.256 0.160 0.172 -0.000 0.471 1.164 -0.022 0.098 -0.715 1.023 + 0.075 0.154 -0.087 0.030 0.136 0.054 -0.338 -0.015 0.889 0.292 + -0.056 0.138 0.207 -1.011 0.283 0.213 0.242 -0.148 0.038 0.251 + -0.133 -0.541 -0.049 -1.069 0.020 -0.012 0.124 0.296 -0.461 1.097 + -0.072 0.379 0.161 0.658 -0.275 -0.645 0.160 -0.167 -0.122 0.562 + -1.212 0.523 0.039 0.000 -0.078 0.039 0.034 -0.235 -0.015 0.031 + -0.146 0.081 0.048 -0.221 0.351 0.311 -1.391 0.330 -0.017 -0.164 + 0.716 -0.237 -0.219 0.076 -0.084 -0.001 -0.583 0.587 0.149 0.061 + -0.251 -0.031 -0.065 -0.684 -0.327 -0.037 -0.775 -0.303 0.112 -0.223 + -0.043 0.067 -0.038 0.238 -0.841 0.943 0.968 0.128 0.176 0.041 + 0.060 0.039 -0.168 0.085 0.344 0.206 0.071 0.567 0.524 0.077 + 0.277 0.102 0.151 0.382 -0.762 -0.109 0.230 0.129 -0.890 0.237 + -0.147 0.423 0.541 -0.374 0.128 0.064 0.002 0.133 0.067 -0.417 + 0.279 -0.218 -0.099 0.094 0.267 -0.267 0.558 0.434 -0.603 0.120 + 0.122 -0.061 -0.052 0.241 0.112 0.198 -0.117 0.481 0.066 0.149 + -0.038 -0.399 -0.277 -0.471 -0.114 0.210 0.117 -0.716 0.690 0.956 + -0.098 -0.189 0.246 -0.519 -0.504 0.562 0.072 -0.064 0.245 0.076 + 0.157 -0.180 0.126 0.102 -0.004 -0.014 0.143 -0.178 0.124 -0.439 + 1.059 -0.231 -0.001 -0.111 -0.101 0.208 0.488 -0.068 -0.060 0.076 + -0.393 -0.544 -0.143 0.169 0.709 0.127 0.169 -0.009 0.295 -0.647 + 0.941 0.588 0.012 -0.307 0.339 -0.012 0.235 0.063 0.105 0.108 + -0.090 0.099 -0.268 -0.148 -0.106 0.106 -0.013 -0.069 -0.162 0.124 + -0.001 0.091 -0.039 -0.898 0.068 -0.748 0.031 0.209 0.182 0.455 + -0.974 -0.128 0.089 -0.142 0.141 -0.137 0.529 -0.082 0.104 -0.401 + -0.121 0.025 0.000 0.003 0.133 -0.111 -0.201 -0.128 0.243 0.482 + 0.506 -0.372 0.144 1.340 -0.871 0.234 -0.148 0.069 0.053 -0.089 + 0.095 -0.109 0.032 -0.198 0.055 -0.421 -0.555 0.146 -0.130 0.074 + 0.093 -0.477 0.016 -0.670 0.192 0.411 0.626 0.104 -0.032 0.093 + 0.065 0.372 0.262 0.213 -0.077 -0.095 -0.431 0.412 -0.714 0.064 + -0.426 0.214 0.347 -0.389 0.301 -0.171 0.127 0.029 -0.929 -0.796 + 0.450 -0.851 0.173 -0.725 0.308 0.053 0.038 -0.117 0.228 -0.416 + 0.978 0.108 0.673 0.159 0.171 -0.184 -0.295 -0.343 -0.004 -0.244 + -0.019 0.332 -0.177 0.006 -0.115 -0.245 0.552 0.094 -0.349 -0.015 + -0.264 -0.054 0.174 0.367 -0.218 -0.212 -0.310 0.520 -0.356 -0.064 + -0.176 1.023 -0.569 -0.045 -0.424 -0.034 -0.135 0.178 -0.131 0.197 + -0.340 -0.028 0.619 -0.186 -1.062 0.031 -0.372 -0.004 0.328 -1.353 + 0.230 -0.298 0.178 0.019 -0.651 -0.216 1.289 -0.008 -0.330 0.352 + 0.136 0.029 0.092 -0.042 0.093 0.002 0.644 -0.163 -0.325 0.014 + -0.026 -0.090 0.453 0.832 0.378 -0.091 -0.176 -0.215 -0.093 -0.304 + -0.207 -0.029 0.177 -0.270 0.034 -0.139 -0.221 0.914 -0.124 -0.496 + 0.037 -0.070 -0.085 0.126 -0.092 -0.285 0.142 -0.028 0.182 0.242 + -0.113 -0.663 0.195 0.052 -0.089 -0.094 -0.188 -0.141 0.168 0.307 + 0.182 0.148 0.156 0.088 -0.934 -0.377 -0.142 0.295 0.075 -0.026 + 0.384 0.061 -0.099 -0.058 0.068 0.099 0.382 0.486 0.795 0.085 + 0.279 -0.096 0.151 0.247 -0.279 0.341 -0.059 0.066 0.219 0.119 + -0.358 -0.051 -0.429 -0.007 0.130 -0.392 -0.490 0.152 -0.021 -0.087 + 0.257 -0.113 -0.018 -0.171 0.288 0.111 -0.715 0.627 -0.018 -0.082 + 0.321 0.064 -0.173 -0.008 -0.023 -0.174 0.055 -0.191 0.263 -0.234 + 0.494 0.010 0.783 0.899 0.005 -0.102 -0.124 -0.004 0.000 0.105 + -0.261 -0.011 0.270 0.336 -0.065 0.019 -0.069 -0.211 -0.404 0.302 + 0.019 -0.171 0.255 -0.140 0.181 -0.633 0.270 0.602 0.141 0.083 + 0.198 0.197 -0.215 -0.297 0.075 -0.209 0.237 -0.535 -0.219 -0.321 + 0.172 0.052 -0.121 0.482 0.056 0.474 0.208 0.153 -0.240 -0.071 + -0.020 -0.018 -0.216 -0.333 -0.197 0.110 0.286 0.255 0.420 -0.006 + 0.092 0.273 0.011 0.100 0.435 -0.066 -0.745 0.266 -0.358 0.139 + -0.234 -0.859 0.558 0.699 -0.778 1.105 0.027 0.143 -0.301 0.709 + -0.483 -0.845 -0.264 0.845 -0.857 0.017 0.054 -0.156 0.234 0.631 + -0.314 -0.371 -0.742 -0.040 0.048 -0.138 0.023 0.881 -0.186 -0.234 + 0.466 0.258 0.291 -0.120 -0.197 0.103 -0.345 0.227 -0.488 0.304 + -1.357 0.640 0.170 -0.159 -0.579 -0.105 -0.033 0.010 -0.058 0.012 + 0.174 -0.099 0.356 -0.148 0.262 0.287 -0.772 -0.003 0.511 0.266 + 0.010 -0.306 -0.134 0.976 -0.025 0.666 -0.733 0.800 -0.177 -0.276 + -0.953 0.512 -0.039 -0.015 -0.315 0.399 0.733 -0.891 -0.206 -0.427 + -0.449 -0.222 -1.251 -0.265 0.114 -0.521 -0.307 0.051 -0.083 -0.010 + -0.775 -0.622 0.514 -0.016 0.132 0.127 -0.155 -0.273 0.202 -0.124 + 0.048 0.420 0.062 -1.004 0.077 -0.239 0.084 -0.058 -0.182 0.548 + 0.280 0.152 0.180 -0.001 0.425 1.127 -0.003 0.109 -0.767 1.030 + 0.053 0.159 -0.085 0.031 0.131 0.052 -0.395 -0.003 0.942 0.288 + -0.055 0.134 0.194 -1.007 0.247 0.198 0.236 -0.147 0.051 0.246 + -0.140 -0.583 -0.088 -1.059 0.020 -0.014 0.142 0.274 -0.445 1.043 + -0.068 0.381 0.157 0.660 -0.389 -0.710 0.154 -0.157 -0.116 0.556 + -1.213 0.519 0.044 -0.014 -0.075 0.024 0.024 -0.238 -0.005 0.037 + -0.138 0.080 0.039 -0.217 0.344 0.323 -1.390 0.304 -0.016 -0.181 + 0.736 -0.264 -0.240 0.096 -0.070 -0.009 -0.667 0.618 0.178 0.064 + -0.253 -0.030 -0.051 -0.701 -0.346 -0.052 -0.781 -0.315 0.172 -0.241 + -0.028 0.068 -0.054 0.236 -0.817 0.907 1.008 0.138 0.160 0.045 + 0.064 0.026 -0.164 0.088 0.345 0.205 0.068 0.565 0.550 0.071 + 0.260 0.104 0.105 0.340 -0.743 -0.108 0.229 0.128 -0.869 0.244 + -0.158 0.463 0.514 -0.360 0.137 0.045 0.004 0.143 0.064 -0.423 + 0.270 -0.190 -0.099 0.100 0.272 -0.264 0.569 0.421 -0.604 0.128 + 0.123 -0.066 -0.048 0.240 0.100 0.182 -0.170 0.479 0.078 0.147 + -0.028 -0.417 -0.264 -0.495 -0.111 0.186 0.129 -0.627 0.648 0.923 + -0.109 -0.187 0.247 -0.509 -0.537 0.562 0.072 -0.056 0.248 0.074 + 0.155 -0.170 0.124 0.100 -0.022 -0.012 0.135 -0.178 0.159 -0.462 + 1.070 -0.220 -0.011 -0.098 -0.117 0.213 0.460 -0.060 -0.050 0.076 + -0.354 -0.554 -0.107 0.163 0.697 0.206 0.171 -0.003 0.295 -0.750 + 0.987 0.584 -0.029 -0.318 0.344 0.005 0.234 0.064 0.104 0.100 + -0.095 0.096 -0.268 -0.155 -0.114 0.116 -0.008 -0.067 -0.174 0.125 + 0.002 0.088 -0.032 -0.989 0.069 -0.750 0.023 0.208 0.184 0.439 + -0.963 -0.099 0.082 -0.146 0.131 -0.148 0.505 -0.057 0.120 -0.365 + -0.133 0.021 0.000 -0.002 0.142 -0.111 -0.203 -0.131 0.243 0.478 + 0.519 -0.376 0.104 1.309 -0.789 0.240 -0.124 0.067 0.038 -0.091 + 0.109 -0.105 0.039 -0.194 0.053 -0.467 -0.583 0.155 -0.123 0.069 + 0.112 -0.413 -0.022 -0.689 0.172 0.379 0.569 0.092 -0.016 0.094 + 0.058 0.370 0.269 0.210 -0.082 -0.102 -0.493 0.392 -0.794 0.073 + -0.417 0.212 0.332 -0.373 0.324 -0.164 0.129 0.045 -0.894 -0.818 + 0.452 -0.921 0.133 -0.800 0.299 0.072 0.032 -0.070 0.201 -0.446 + 1.019 0.078 0.694 0.150 0.172 -0.185 -0.287 -0.338 0.007 -0.275 + -0.011 0.310 -0.176 0.015 -0.109 -0.284 0.488 0.092 -0.337 -0.038 + -0.254 -0.052 0.165 0.371 -0.273 -0.187 -0.319 0.527 -0.378 -0.120 + -0.150 1.065 -0.539 -0.049 -0.422 -0.041 -0.139 0.181 -0.136 0.197 + -0.344 -0.030 0.645 -0.165 -1.043 0.037 -0.365 0.003 0.359 -1.300 + 0.206 -0.296 0.192 0.023 -0.688 -0.205 1.219 -0.020 -0.352 0.361 + 0.135 0.028 0.096 -0.042 0.090 -0.013 0.650 -0.153 -0.321 0.019 + -0.028 -0.094 0.456 0.836 0.349 -0.096 -0.181 -0.216 -0.084 -0.306 + -0.203 -0.030 0.231 -0.288 0.022 -0.140 -0.209 0.966 -0.110 -0.503 + 0.048 -0.068 -0.075 0.078 -0.064 -0.281 0.150 -0.015 0.183 0.240 + -0.093 -0.736 0.192 0.037 -0.083 -0.086 -0.180 -0.137 0.165 0.306 + 0.181 0.153 0.154 0.091 -0.936 -0.379 -0.122 0.287 0.073 -0.019 + 0.394 0.066 -0.080 -0.051 0.067 0.105 0.347 0.474 0.807 0.077 + 0.269 -0.098 0.114 0.224 -0.286 0.348 -0.025 0.110 0.247 0.100 + -0.338 -0.047 -0.436 -0.014 0.142 -0.438 -0.423 0.149 -0.015 -0.073 + 0.251 -0.116 -0.029 -0.165 0.284 0.111 -0.734 0.648 0.017 -0.085 + 0.321 0.063 -0.171 0.043 -0.014 -0.173 0.057 -0.190 0.313 -0.219 + 0.502 0.001 0.762 0.969 0.008 -0.110 -0.120 -0.007 -0.005 0.115 + -0.262 0.026 0.275 0.341 -0.080 0.020 -0.065 -0.234 -0.408 0.299 + 0.013 -0.169 0.254 -0.140 0.192 -0.616 0.260 0.578 0.143 0.076 + 0.206 0.235 -0.234 -0.304 0.075 -0.200 0.236 -0.509 -0.223 -0.361 + 0.168 0.048 -0.132 0.495 0.039 0.442 0.195 0.141 -0.250 -0.070 + -0.023 -0.027 -0.211 -0.337 -0.195 0.111 0.279 0.257 0.396 -0.003 + 0.080 0.261 0.011 0.108 0.462 -0.068 -0.762 0.259 -0.363 0.137 + -0.170 -0.855 0.634 0.715 -0.747 1.107 0.025 0.135 -0.303 0.723 + -0.515 -0.797 -0.264 0.848 -0.851 0.027 0.078 -0.153 0.260 0.634 + -0.314 -0.423 -0.743 -0.026 0.052 -0.147 0.030 0.896 -0.142 -0.281 + 0.464 0.252 0.317 -0.121 -0.193 0.109 -0.324 0.232 -0.528 0.272 + -1.434 0.656 0.201 -0.084 -0.568 -0.112 -0.028 0.011 -0.056 0.003 + 0.170 -0.102 0.359 -0.146 0.195 0.280 -0.798 0.024 0.525 0.234 + 0.006 -0.304 -0.137 0.982 0.012 0.686 -0.731 0.800 -0.153 -0.255 + -0.962 0.479 -0.029 -0.014 -0.314 0.389 0.716 -0.843 -0.229 -0.414 + -0.458 -0.207 -1.297 -0.299 0.092 -0.526 -0.285 0.056 -0.084 -0.019 + -0.814 -0.622 0.490 -0.011 0.128 0.132 -0.157 -0.281 0.189 -0.122 + 0.048 0.419 0.068 -0.995 0.052 -0.231 0.092 -0.052 -0.230 0.522 + 0.277 0.148 0.187 -0.000 0.429 1.119 0.032 0.106 -0.806 0.992 + 0.047 0.147 -0.079 0.028 0.126 0.051 -0.395 -0.035 0.944 0.272 + -0.045 0.146 0.161 -1.033 0.226 0.175 0.222 -0.136 0.072 0.258 + -0.148 -0.602 -0.137 -1.069 0.021 -0.008 0.153 0.300 -0.456 1.013 + -0.063 0.382 0.165 0.689 -0.426 -0.797 0.155 -0.155 -0.117 0.525 + -1.148 0.507 0.046 0.001 -0.083 0.014 0.029 -0.249 -0.009 0.042 + -0.135 0.069 0.027 -0.221 0.344 0.339 -1.404 0.309 -0.019 -0.183 + 0.756 -0.235 -0.220 0.108 -0.064 -0.025 -0.682 0.579 0.183 0.067 + -0.265 -0.028 -0.035 -0.658 -0.347 -0.060 -0.782 -0.368 0.217 -0.241 + 0.013 0.052 -0.048 0.227 -0.779 0.877 1.062 0.143 0.164 0.042 + 0.068 0.020 -0.156 0.077 0.346 0.199 0.103 0.577 0.547 0.068 + 0.277 0.083 0.038 0.302 -0.714 -0.114 0.236 0.132 -0.836 0.186 + -0.188 0.547 0.476 -0.311 0.126 0.046 -0.009 0.152 0.077 -0.421 + 0.284 -0.205 -0.095 0.100 0.269 -0.262 0.578 0.440 -0.668 0.119 + 0.112 -0.079 -0.043 0.256 0.095 0.224 -0.230 0.449 0.079 0.150 + -0.032 -0.457 -0.292 -0.485 -0.105 0.180 0.139 -0.571 0.675 0.911 + -0.116 -0.178 0.243 -0.533 -0.572 0.536 0.070 -0.044 0.242 0.088 + 0.163 -0.162 0.118 0.097 -0.035 -0.020 0.140 -0.166 0.168 -0.515 + 1.057 -0.209 -0.009 -0.095 -0.059 0.268 0.450 -0.075 -0.042 0.081 + -0.352 -0.545 -0.114 0.207 0.699 0.236 0.182 -0.005 0.291 -0.822 + 1.034 0.597 -0.018 -0.347 0.354 0.013 0.229 0.076 0.106 0.094 + -0.106 0.087 -0.263 -0.145 -0.124 0.121 -0.002 -0.057 -0.175 0.133 + 0.007 0.083 -0.040 -1.035 0.050 -0.800 0.011 0.213 0.181 0.429 + -0.950 -0.096 0.100 -0.132 0.134 -0.114 0.489 -0.015 0.145 -0.340 + -0.133 0.018 0.007 0.009 0.145 -0.101 -0.210 -0.124 0.234 0.463 + 0.537 -0.385 0.131 1.354 -0.729 0.257 -0.114 0.061 0.033 -0.084 + 0.117 -0.113 0.045 -0.184 0.057 -0.458 -0.561 0.137 -0.123 0.070 + 0.134 -0.388 -0.056 -0.670 0.155 0.412 0.520 0.072 -0.017 0.088 + 0.060 0.377 0.272 0.220 -0.097 -0.096 -0.509 0.419 -0.866 0.088 + -0.409 0.205 0.339 -0.396 0.326 -0.158 0.132 0.058 -0.917 -0.835 + 0.421 -0.953 0.118 -0.833 0.292 0.075 0.038 -0.084 0.190 -0.426 + 1.056 0.069 0.696 0.151 0.162 -0.186 -0.238 -0.368 0.040 -0.233 + 0.001 0.316 -0.161 0.023 -0.122 -0.237 0.439 0.094 -0.312 -0.046 + -0.306 -0.052 0.163 0.384 -0.240 -0.195 -0.282 0.580 -0.345 -0.170 + -0.163 1.094 -0.555 -0.067 -0.435 -0.030 -0.139 0.181 -0.141 0.194 + -0.342 -0.034 0.640 -0.180 -1.051 0.032 -0.366 0.009 0.395 -1.257 + 0.192 -0.289 0.204 0.028 -0.669 -0.172 1.186 -0.021 -0.376 0.353 + 0.128 0.045 0.092 -0.025 0.093 -0.017 0.651 -0.164 -0.322 0.020 + -0.022 -0.088 0.386 0.847 0.305 -0.083 -0.184 -0.232 -0.087 -0.321 + -0.197 -0.032 0.245 -0.288 0.011 -0.137 -0.204 0.989 -0.122 -0.498 + 0.061 -0.071 -0.074 0.063 -0.062 -0.271 0.156 0.003 0.173 0.254 + -0.029 -0.766 0.189 0.025 -0.073 -0.079 -0.178 -0.133 0.160 0.302 + 0.183 0.165 0.152 0.086 -0.911 -0.363 -0.090 0.290 0.067 -0.025 + 0.388 0.079 -0.083 -0.037 0.066 0.120 0.340 0.452 0.792 0.075 + 0.269 -0.107 0.120 0.235 -0.276 0.304 0.030 0.134 0.218 0.052 + -0.347 -0.042 -0.435 -0.016 0.114 -0.455 -0.397 0.151 -0.017 -0.069 + 0.256 -0.120 -0.032 -0.160 0.270 0.093 -0.747 0.647 0.045 -0.079 + 0.326 0.063 -0.182 0.061 -0.008 -0.166 0.052 -0.202 0.316 -0.218 + 0.510 -0.045 0.786 1.034 0.016 -0.104 -0.114 -0.000 -0.017 0.105 + -0.302 0.062 0.260 0.327 -0.077 0.016 -0.035 -0.198 -0.431 0.292 + 0.014 -0.157 0.256 -0.149 0.194 -0.580 0.297 0.533 0.134 0.078 + 0.214 0.225 -0.298 -0.314 0.075 -0.190 0.224 -0.513 -0.283 -0.371 + 0.175 0.044 -0.139 0.516 0.012 0.372 0.202 0.139 -0.261 -0.069 + -0.019 -0.023 -0.208 -0.333 -0.195 0.100 0.280 0.251 0.392 -0.025 + 0.107 0.253 0.008 0.117 0.465 -0.067 -0.812 0.266 -0.354 0.129 + -0.173 -0.863 0.686 0.721 -0.750 1.115 0.024 0.146 -0.314 0.726 + -0.559 -0.760 -0.294 0.855 -0.824 0.026 0.080 -0.146 0.239 0.615 + -0.287 -0.461 -0.737 0.009 0.041 -0.150 0.035 0.899 -0.110 -0.302 + 0.489 0.231 0.357 -0.121 -0.189 0.113 -0.296 0.220 -0.524 0.233 + -1.476 0.683 0.235 -0.063 -0.612 -0.115 -0.027 0.006 -0.058 -0.001 + 0.163 -0.094 0.367 -0.148 0.214 0.271 -0.872 0.024 0.520 0.202 + 0.007 -0.281 -0.141 0.971 0.036 0.702 -0.739 0.810 -0.160 -0.276 + -0.997 0.447 -0.041 -0.021 -0.306 0.396 0.666 -0.808 -0.223 -0.413 + -0.449 -0.215 -1.331 -0.292 0.094 -0.524 -0.256 0.065 -0.085 -0.032 + -0.809 -0.597 0.452 -0.012 0.120 0.132 -0.160 -0.273 0.181 -0.125 + 0.048 0.415 0.038 -1.005 -0.013 -0.231 0.079 -0.058 -0.241 0.477 + 0.304 0.139 0.190 -0.004 0.387 1.093 0.061 0.085 -0.830 1.053 + 0.039 0.135 -0.082 0.039 0.127 0.040 -0.414 0.022 0.953 0.270 + -0.055 0.140 0.193 -0.998 0.210 0.163 0.199 -0.138 0.078 0.257 + -0.153 -0.652 -0.194 -1.087 0.016 0.005 0.153 0.294 -0.487 1.035 + -0.066 0.375 0.174 0.737 -0.449 -0.869 0.151 -0.147 -0.111 0.537 + -1.169 0.444 0.065 -0.007 -0.092 0.001 0.028 -0.240 -0.011 0.048 + -0.143 0.075 0.031 -0.230 0.338 0.339 -1.410 0.301 -0.035 -0.176 + 0.818 -0.241 -0.188 0.109 -0.069 -0.036 -0.690 0.563 0.232 0.065 + -0.257 -0.036 -0.054 -0.657 -0.316 -0.076 -0.746 -0.402 0.200 -0.290 + 0.031 0.053 -0.041 0.224 -0.798 0.861 1.045 0.142 0.169 0.048 + 0.067 0.022 -0.170 0.073 0.345 0.202 0.080 0.582 0.497 0.070 + 0.278 0.077 -0.011 0.289 -0.680 -0.101 0.228 0.136 -0.829 0.150 + -0.190 0.591 0.450 -0.298 0.126 0.041 0.004 0.144 0.078 -0.415 + 0.302 -0.192 -0.116 0.098 0.268 -0.268 0.599 0.436 -0.679 0.118 + 0.111 -0.078 -0.045 0.267 0.101 0.252 -0.229 0.413 0.074 0.151 + -0.037 -0.474 -0.237 -0.451 -0.106 0.165 0.152 -0.527 0.663 0.904 + -0.126 -0.159 0.235 -0.574 -0.573 0.588 0.075 -0.042 0.224 0.086 + 0.155 -0.161 0.121 0.101 -0.024 -0.021 0.134 -0.161 0.224 -0.509 + 1.049 -0.206 -0.010 -0.089 -0.046 0.278 0.395 -0.069 -0.049 0.077 + -0.305 -0.546 -0.132 0.234 0.723 0.251 0.181 -0.005 0.291 -0.816 + 1.110 0.602 -0.045 -0.341 0.376 0.014 0.218 0.081 0.097 0.088 + -0.116 0.091 -0.253 -0.145 -0.128 0.120 -0.010 -0.052 -0.172 0.119 + 0.015 0.086 -0.039 -1.109 0.065 -0.789 0.006 0.207 0.186 0.405 + -0.945 -0.054 0.087 -0.121 0.144 -0.111 0.474 -0.009 0.163 -0.342 + -0.123 0.008 0.008 0.024 0.155 -0.091 -0.207 -0.120 0.224 0.464 + 0.559 -0.348 0.139 1.366 -0.718 0.232 -0.109 0.060 0.019 -0.082 + 0.113 -0.109 0.052 -0.198 0.049 -0.518 -0.575 0.116 -0.118 0.065 + 0.126 -0.377 -0.017 -0.667 0.109 0.411 0.478 0.058 -0.012 0.067 + 0.048 0.381 0.278 0.236 -0.106 -0.091 -0.519 0.441 -0.915 0.094 + -0.406 0.207 0.303 -0.418 0.341 -0.157 0.138 0.063 -0.896 -0.845 + 0.457 -0.994 0.017 -0.869 0.286 0.081 0.033 -0.097 0.207 -0.445 + 1.103 0.047 0.699 0.139 0.164 -0.179 -0.221 -0.392 0.058 -0.252 + 0.018 0.313 -0.150 0.026 -0.114 -0.236 0.424 0.068 -0.340 -0.079 + -0.323 -0.058 0.153 0.387 -0.259 -0.169 -0.273 0.568 -0.377 -0.198 + -0.191 1.105 -0.619 -0.073 -0.436 -0.026 -0.150 0.181 -0.126 0.195 + -0.353 -0.023 0.643 -0.172 -1.101 0.034 -0.368 0.012 0.451 -1.239 + 0.204 -0.300 0.201 0.035 -0.670 -0.154 1.113 -0.011 -0.422 0.358 + 0.125 0.051 0.092 -0.028 0.087 -0.010 0.681 -0.116 -0.312 0.019 + -0.014 -0.093 0.376 0.888 0.292 -0.090 -0.186 -0.228 -0.078 -0.327 + -0.198 -0.074 0.257 -0.332 0.011 -0.129 -0.201 1.018 -0.097 -0.502 + 0.056 -0.074 -0.069 0.021 -0.031 -0.297 0.148 -0.006 0.153 0.208 + 0.011 -0.823 0.187 0.037 -0.072 -0.085 -0.179 -0.126 0.165 0.295 + 0.184 0.172 0.159 0.087 -0.962 -0.384 -0.095 0.292 0.068 -0.019 + 0.418 0.082 -0.070 -0.022 0.065 0.115 0.252 0.458 0.769 0.065 + 0.271 -0.104 0.083 0.236 -0.276 0.288 0.062 0.168 0.233 0.076 + -0.292 -0.046 -0.417 -0.030 0.087 -0.457 -0.392 0.140 -0.011 -0.065 + 0.249 -0.119 -0.033 -0.156 0.254 0.086 -0.744 0.601 0.062 -0.088 + 0.327 0.060 -0.160 0.061 0.006 -0.168 0.070 -0.207 0.314 -0.213 + 0.523 -0.122 0.796 1.072 0.015 -0.084 -0.113 0.003 -0.006 0.103 + -0.276 0.088 0.303 0.338 -0.085 0.016 -0.050 -0.181 -0.460 0.301 + 0.027 -0.149 0.267 -0.142 0.185 -0.578 0.272 0.500 0.128 0.068 + 0.203 0.239 -0.333 -0.350 0.067 -0.182 0.227 -0.516 -0.305 -0.336 + 0.184 0.055 -0.150 0.501 -0.021 0.335 0.207 0.125 -0.255 -0.064 + -0.014 -0.002 -0.202 -0.327 -0.202 0.108 0.304 0.245 0.353 -0.019 + 0.098 0.243 0.011 0.115 0.499 -0.079 -0.840 0.252 -0.346 0.122 + -0.149 -0.823 0.723 0.778 -0.758 1.148 0.026 0.144 -0.318 0.739 + -0.544 -0.753 -0.281 0.844 -0.799 0.031 0.079 -0.154 0.227 0.582 + -0.267 -0.458 -0.751 0.036 0.044 -0.152 0.025 0.903 -0.063 -0.323 + 0.455 0.201 0.369 -0.112 -0.200 0.118 -0.307 0.239 -0.532 0.207 + -1.531 0.697 0.234 -0.037 -0.644 -0.108 -0.021 -0.003 -0.061 -0.013 + 0.155 -0.086 0.369 -0.142 0.163 0.280 -0.884 0.024 0.512 0.154 + 0.009 -0.273 -0.159 0.913 0.098 0.742 -0.753 0.766 -0.156 -0.292 + -0.988 0.453 -0.033 -0.024 -0.305 0.400 0.701 -0.771 -0.227 -0.417 + -0.444 -0.200 -1.382 -0.276 0.092 -0.504 -0.246 0.067 -0.084 -0.030 + -0.814 -0.642 0.415 -0.013 0.124 0.138 -0.163 -0.262 0.176 -0.134 + 0.046 0.407 0.051 -0.978 -0.013 -0.222 0.083 -0.057 -0.276 0.451 + 0.326 0.141 0.208 -0.006 0.372 1.077 0.065 0.041 -0.916 1.029 + 0.032 0.123 -0.084 0.042 0.127 0.034 -0.443 0.051 0.938 0.269 + -0.065 0.133 0.216 -1.008 0.181 0.155 0.189 -0.146 0.099 0.256 + -0.157 -0.673 -0.208 -1.126 0.008 0.006 0.153 0.288 -0.523 1.020 + -0.083 0.380 0.171 0.805 -0.478 -0.900 0.140 -0.148 -0.099 0.572 + -1.144 0.431 0.077 0.003 -0.094 -0.003 0.025 -0.235 -0.008 0.048 + -0.146 0.081 0.023 -0.235 0.361 0.373 -1.381 0.282 -0.034 -0.163 + 0.830 -0.231 -0.182 0.108 -0.064 -0.039 -0.678 0.514 0.224 0.072 + -0.258 -0.032 -0.064 -0.693 -0.301 -0.057 -0.707 -0.368 0.195 -0.238 + 0.051 0.040 -0.037 0.211 -0.801 0.840 1.042 0.149 0.176 0.052 + 0.062 0.025 -0.164 0.073 0.342 0.210 0.053 0.589 0.429 0.061 + 0.269 0.060 -0.064 0.270 -0.665 -0.104 0.233 0.123 -0.815 0.134 + -0.220 0.643 0.386 -0.279 0.113 0.031 0.011 0.155 0.093 -0.405 + 0.314 -0.187 -0.094 0.104 0.261 -0.272 0.616 0.447 -0.675 0.114 + 0.115 -0.085 -0.052 0.275 0.095 0.248 -0.218 0.375 0.089 0.155 + -0.036 -0.487 -0.176 -0.445 -0.101 0.165 0.153 -0.498 0.715 0.917 + -0.141 -0.148 0.245 -0.577 -0.623 0.551 0.079 -0.022 0.227 0.098 + 0.155 -0.132 0.118 0.096 -0.034 -0.025 0.138 -0.155 0.241 -0.504 + 1.033 -0.201 -0.004 -0.072 -0.038 0.265 0.393 -0.078 -0.045 0.066 + -0.279 -0.560 -0.131 0.250 0.691 0.266 0.170 -0.010 0.289 -0.877 + 1.182 0.540 -0.070 -0.364 0.385 0.005 0.216 0.093 0.099 0.087 + -0.128 0.083 -0.258 -0.144 -0.132 0.108 -0.003 -0.045 -0.181 0.122 + 0.018 0.085 -0.037 -1.190 0.100 -0.821 -0.002 0.216 0.185 0.347 + -0.964 -0.039 0.086 -0.109 0.162 -0.099 0.502 0.002 0.182 -0.326 + -0.105 0.007 -0.004 0.035 0.152 -0.089 -0.209 -0.114 0.234 0.468 + 0.576 -0.321 0.162 1.337 -0.737 0.191 -0.112 0.063 0.023 -0.091 + 0.116 -0.117 0.051 -0.203 0.048 -0.510 -0.578 0.080 -0.121 0.055 + 0.114 -0.360 0.017 -0.673 0.112 0.433 0.470 0.051 -0.010 0.059 + 0.055 0.383 0.284 0.242 -0.100 -0.089 -0.526 0.438 -0.921 0.099 + -0.396 0.217 0.296 -0.425 0.364 -0.147 0.139 0.072 -0.850 -0.849 + 0.484 -1.021 -0.047 -0.912 0.285 0.094 0.029 -0.085 0.220 -0.444 + 1.138 0.011 0.683 0.137 0.166 -0.172 -0.219 -0.436 0.059 -0.194 + 0.010 0.314 -0.141 0.029 -0.103 -0.231 0.372 0.065 -0.332 -0.146 + -0.344 -0.062 0.153 0.393 -0.285 -0.122 -0.248 0.615 -0.391 -0.237 + -0.210 1.131 -0.605 -0.084 -0.437 -0.039 -0.147 0.189 -0.128 0.203 + -0.353 -0.025 0.646 -0.167 -1.084 0.029 -0.364 0.010 0.493 -1.182 + 0.187 -0.290 0.212 0.038 -0.725 -0.144 1.051 -0.027 -0.449 0.357 + 0.122 0.061 0.081 -0.027 0.072 -0.026 0.673 -0.104 -0.295 0.031 + -0.020 -0.084 0.366 0.895 0.250 -0.086 -0.194 -0.235 -0.074 -0.336 + -0.185 -0.100 0.258 -0.361 0.008 -0.123 -0.187 1.042 -0.107 -0.528 + 0.047 -0.075 -0.083 -0.020 -0.033 -0.350 0.154 0.001 0.152 0.206 + 0.070 -0.853 0.187 0.023 -0.073 -0.076 -0.170 -0.120 0.161 0.290 + 0.181 0.173 0.148 0.080 -0.985 -0.371 -0.084 0.294 0.076 -0.021 + 0.439 0.099 -0.089 -0.025 0.063 0.114 0.214 0.435 0.783 0.055 + 0.273 -0.098 0.081 0.201 -0.312 0.298 0.098 0.141 0.184 0.090 + -0.366 -0.049 -0.407 -0.033 0.054 -0.497 -0.375 0.139 -0.007 -0.062 + 0.248 -0.130 -0.013 -0.161 0.257 0.085 -0.768 0.630 0.121 -0.096 + 0.327 0.062 -0.184 0.059 0.003 -0.167 0.067 -0.220 0.369 -0.204 + 0.559 -0.146 0.807 1.098 0.014 -0.086 -0.095 0.001 -0.008 0.103 + -0.266 0.085 0.316 0.336 -0.087 0.008 -0.030 -0.139 -0.451 0.307 + 0.021 -0.143 0.263 -0.135 0.186 -0.561 0.269 0.459 0.122 0.064 + 0.208 0.223 -0.407 -0.393 0.072 -0.177 0.223 -0.500 -0.268 -0.353 + 0.187 0.053 -0.142 0.513 -0.073 0.303 0.207 0.109 -0.253 -0.060 + -0.006 0.015 -0.209 -0.325 -0.189 0.111 0.298 0.241 0.356 -0.007 + 0.059 0.244 0.024 0.120 0.515 -0.068 -0.842 0.244 -0.339 0.121 + -0.154 -0.818 0.732 0.809 -0.714 1.182 0.020 0.145 -0.314 0.752 + -0.524 -0.712 -0.306 0.846 -0.771 0.028 0.093 -0.163 0.192 0.595 + -0.285 -0.476 -0.784 0.061 0.038 -0.157 0.024 0.876 0.033 -0.368 + 0.449 0.228 0.400 -0.107 -0.200 0.129 -0.308 0.225 -0.532 0.224 + -1.573 0.657 0.260 -0.085 -0.674 -0.109 -0.021 -0.002 -0.069 -0.008 + 0.137 -0.096 0.360 -0.131 0.167 0.262 -0.889 0.088 0.474 0.147 + 0.015 -0.274 -0.160 0.929 0.118 0.723 -0.788 0.707 -0.116 -0.314 + -1.004 0.404 -0.030 -0.023 -0.304 0.409 0.712 -0.756 -0.223 -0.414 + -0.446 -0.195 -1.457 -0.291 0.105 -0.523 -0.265 0.064 -0.087 -0.032 + -0.831 -0.599 0.385 0.003 0.129 0.152 -0.171 -0.265 0.181 -0.144 + 0.046 0.406 0.059 -0.931 -0.026 -0.204 0.083 -0.051 -0.306 0.430 + 0.299 0.135 0.218 -0.002 0.354 1.034 0.073 0.050 -0.995 1.034 + 0.037 0.112 -0.085 0.062 0.147 0.030 -0.469 0.040 0.967 0.261 + -0.074 0.134 0.207 -1.012 0.178 0.130 0.181 -0.146 0.110 0.259 + -0.159 -0.743 -0.233 -1.095 0.012 0.006 0.159 0.290 -0.559 0.989 + -0.091 0.385 0.168 0.871 -0.516 -0.926 0.135 -0.154 -0.101 0.539 + -1.117 0.415 0.088 0.017 -0.092 -0.009 0.035 -0.240 -0.009 0.055 + -0.152 0.083 0.018 -0.243 0.414 0.356 -1.374 0.270 -0.043 -0.149 + 0.825 -0.190 -0.150 0.115 -0.059 -0.028 -0.722 0.513 0.227 0.075 + -0.265 -0.032 -0.038 -0.668 -0.293 -0.025 -0.702 -0.346 0.243 -0.235 + 0.069 0.039 -0.037 0.202 -0.758 0.785 1.094 0.157 0.184 0.044 + 0.057 0.026 -0.158 0.079 0.335 0.211 0.026 0.586 0.413 0.059 + 0.282 0.053 -0.097 0.255 -0.659 -0.102 0.235 0.107 -0.792 0.098 + -0.263 0.673 0.348 -0.300 0.100 0.048 -0.001 0.159 0.103 -0.386 + 0.339 -0.250 -0.089 0.109 0.260 -0.258 0.609 0.447 -0.716 0.115 + 0.117 -0.082 -0.046 0.261 0.082 0.256 -0.233 0.368 0.105 0.148 + -0.042 -0.468 -0.114 -0.488 -0.106 0.149 0.154 -0.458 0.688 0.919 + -0.134 -0.143 0.250 -0.584 -0.622 0.551 0.083 -0.025 0.226 0.093 + 0.157 -0.124 0.099 0.085 -0.034 -0.021 0.140 -0.155 0.307 -0.509 + 0.995 -0.196 -0.004 -0.074 0.012 0.302 0.395 -0.073 -0.039 0.066 + -0.296 -0.547 -0.109 0.301 0.658 0.295 0.177 -0.024 0.290 -0.921 + 1.211 0.574 -0.074 -0.346 0.370 -0.002 0.206 0.103 0.088 0.094 + -0.127 0.082 -0.252 -0.147 -0.128 0.120 -0.008 -0.044 -0.175 0.125 + 0.014 0.080 -0.023 -1.182 0.159 -0.803 -0.005 0.213 0.192 0.324 + -0.972 -0.079 0.083 -0.121 0.173 -0.088 0.518 0.015 0.190 -0.321 + -0.076 0.009 0.002 0.048 0.150 -0.086 -0.208 -0.113 0.225 0.469 + 0.594 -0.319 0.181 1.322 -0.734 0.151 -0.108 0.060 0.017 -0.097 + 0.123 -0.122 0.053 -0.211 0.044 -0.530 -0.597 0.064 -0.112 0.047 + 0.128 -0.315 0.025 -0.666 0.075 0.428 0.472 0.035 -0.010 0.068 + 0.048 0.378 0.292 0.248 -0.106 -0.074 -0.528 0.494 -0.941 0.115 + -0.396 0.222 0.272 -0.421 0.402 -0.147 0.140 0.082 -0.852 -0.837 + 0.553 -1.073 -0.124 -0.927 0.274 0.097 0.044 -0.100 0.206 -0.424 + 1.153 -0.001 0.657 0.137 0.168 -0.172 -0.183 -0.443 0.053 -0.184 + -0.007 0.280 -0.143 0.032 -0.100 -0.242 0.364 0.034 -0.337 -0.160 + -0.362 -0.063 0.167 0.403 -0.289 -0.089 -0.249 0.652 -0.402 -0.272 + -0.235 1.140 -0.609 -0.092 -0.434 -0.033 -0.156 0.191 -0.119 0.201 + -0.353 -0.014 0.578 -0.105 -1.091 0.031 -0.373 0.000 0.545 -1.163 + 0.165 -0.286 0.216 0.048 -0.768 -0.119 0.979 -0.067 -0.501 0.317 + 0.112 0.059 0.083 -0.043 0.071 -0.015 0.691 -0.072 -0.268 0.026 + -0.017 -0.097 0.341 0.862 0.223 -0.091 -0.198 -0.233 -0.064 -0.328 + -0.183 -0.127 0.269 -0.401 0.011 -0.113 -0.184 1.074 -0.105 -0.542 + 0.030 -0.080 -0.086 -0.018 0.004 -0.342 0.149 -0.008 0.150 0.211 + 0.123 -0.932 0.182 0.017 -0.068 -0.080 -0.173 -0.115 0.167 0.276 + 0.175 0.178 0.149 0.074 -1.002 -0.315 -0.058 0.293 0.066 -0.015 + 0.454 0.077 -0.071 -0.022 0.052 0.120 0.198 0.463 0.781 0.055 + 0.272 -0.091 0.107 0.193 -0.341 0.330 0.148 0.135 0.228 0.129 + -0.353 -0.047 -0.407 -0.038 0.005 -0.512 -0.316 0.130 -0.000 -0.070 + 0.251 -0.129 -0.007 -0.141 0.270 0.089 -0.753 0.614 0.147 -0.096 + 0.311 0.055 -0.185 0.069 -0.001 -0.170 0.076 -0.234 0.361 -0.237 + 0.624 -0.211 0.779 1.155 0.014 -0.076 -0.084 0.004 -0.013 0.099 + -0.208 0.068 0.311 0.344 -0.086 0.001 -0.051 -0.141 -0.438 0.316 + 0.044 -0.143 0.272 -0.122 0.182 -0.591 0.207 0.405 0.132 0.058 + 0.204 0.203 -0.431 -0.450 0.075 -0.162 0.228 -0.550 -0.269 -0.373 + 0.188 0.057 -0.136 0.501 -0.106 0.298 0.203 0.098 -0.247 -0.063 + -0.011 0.023 -0.205 -0.326 -0.175 0.106 0.284 0.245 0.274 -0.010 + 0.019 0.246 0.025 0.123 0.516 -0.033 -0.823 0.251 -0.340 0.115 + -0.122 -0.808 0.742 0.854 -0.728 1.156 0.014 0.140 -0.317 0.752 + -0.531 -0.649 -0.293 0.870 -0.759 0.030 0.097 -0.172 0.236 0.599 + -0.277 -0.491 -0.814 0.092 0.040 -0.167 0.021 0.861 0.056 -0.418 + 0.411 0.222 0.426 -0.108 -0.202 0.128 -0.305 0.250 -0.519 0.200 + -1.596 0.613 0.280 -0.086 -0.695 -0.096 -0.019 -0.007 -0.070 -0.017 + 0.136 -0.082 0.359 -0.123 0.163 0.286 -0.925 0.101 0.503 0.151 + 0.017 -0.267 -0.162 0.951 0.166 0.727 -0.819 0.695 -0.108 -0.322 + -1.028 0.357 -0.029 -0.016 -0.295 0.378 0.686 -0.708 -0.234 -0.410 + -0.450 -0.172 -1.494 -0.309 0.143 -0.507 -0.219 0.053 -0.087 -0.032 + -0.823 -0.610 0.353 0.005 0.121 0.158 -0.181 -0.260 0.178 -0.143 + 0.045 0.397 0.052 -0.903 -0.017 -0.197 0.076 -0.037 -0.368 0.425 + 0.299 0.139 0.230 -0.000 0.415 0.987 0.068 0.043 -1.069 1.028 + 0.036 0.101 -0.078 0.064 0.151 0.017 -0.464 0.066 0.947 0.257 + -0.069 0.126 0.201 -0.974 0.175 0.120 0.170 -0.153 0.135 0.263 + -0.164 -0.781 -0.235 -1.066 0.017 0.008 0.171 0.274 -0.608 0.962 + -0.096 0.384 0.160 0.967 -0.532 -0.967 0.123 -0.151 -0.105 0.571 + -1.117 0.390 0.098 0.015 -0.085 -0.000 0.046 -0.241 -0.014 0.051 + -0.155 0.080 0.024 -0.237 0.436 0.384 -1.371 0.261 -0.042 -0.159 + 0.807 -0.163 -0.126 0.111 -0.057 -0.035 -0.731 0.493 0.261 0.078 + -0.271 -0.036 -0.050 -0.680 -0.254 -0.039 -0.715 -0.348 0.233 -0.229 + 0.083 0.037 -0.030 0.201 -0.719 0.704 1.102 0.156 0.180 0.041 + 0.055 0.015 -0.159 0.077 0.326 0.207 0.013 0.528 0.463 0.064 + 0.276 0.046 -0.129 0.260 -0.643 -0.091 0.238 0.107 -0.743 0.126 + -0.232 0.756 0.272 -0.322 0.088 0.038 -0.003 0.161 0.112 -0.389 + 0.346 -0.285 -0.075 0.108 0.245 -0.263 0.558 0.455 -0.740 0.101 + 0.105 -0.078 -0.040 0.268 0.073 0.219 -0.231 0.352 0.113 0.148 + -0.038 -0.455 -0.047 -0.512 -0.113 0.150 0.148 -0.416 0.654 0.881 + -0.136 -0.126 0.247 -0.585 -0.657 0.563 0.069 -0.016 0.221 0.093 + 0.156 -0.116 0.093 0.089 -0.037 -0.018 0.145 -0.151 0.324 -0.510 + 0.964 -0.203 -0.006 -0.070 0.075 0.323 0.317 -0.073 -0.035 0.056 + -0.295 -0.584 -0.105 0.343 0.669 0.358 0.188 -0.026 0.294 -1.002 + 1.259 0.576 -0.116 -0.346 0.370 -0.002 0.206 0.101 0.082 0.093 + -0.123 0.089 -0.246 -0.151 -0.132 0.128 0.001 -0.041 -0.174 0.112 + 0.020 0.068 -0.038 -1.195 0.167 -0.750 -0.016 0.212 0.193 0.260 + -0.976 -0.061 0.075 -0.120 0.171 -0.043 0.492 -0.011 0.203 -0.331 + -0.081 0.013 0.004 0.054 0.145 -0.085 -0.217 -0.109 0.225 0.469 + 0.553 -0.317 0.120 1.286 -0.712 0.124 -0.100 0.058 0.018 -0.100 + 0.120 -0.108 0.039 -0.212 0.047 -0.552 -0.587 0.065 -0.104 0.044 + 0.123 -0.276 0.049 -0.700 0.054 0.377 0.456 0.037 -0.015 0.053 + 0.055 0.373 0.285 0.254 -0.112 -0.070 -0.537 0.525 -0.945 0.109 + -0.401 0.224 0.290 -0.380 0.414 -0.140 0.133 0.087 -0.816 -0.825 + 0.578 -1.122 -0.195 -0.915 0.271 0.113 0.029 -0.124 0.210 -0.397 + 1.171 -0.056 0.691 0.146 0.163 -0.174 -0.211 -0.451 0.112 -0.184 + 0.009 0.278 -0.141 0.037 -0.092 -0.227 0.379 0.011 -0.351 -0.172 + -0.365 -0.064 0.160 0.404 -0.250 -0.061 -0.235 0.660 -0.432 -0.242 + -0.246 1.135 -0.606 -0.098 -0.430 -0.021 -0.155 0.178 -0.122 0.206 + -0.371 -0.018 0.584 -0.130 -1.105 0.025 -0.376 0.006 0.544 -1.154 + 0.166 -0.278 0.213 0.043 -0.769 -0.104 0.908 -0.140 -0.482 0.292 + 0.107 0.063 0.076 -0.042 0.074 -0.029 0.686 -0.037 -0.249 0.022 + -0.011 -0.086 0.342 0.860 0.207 -0.096 -0.195 -0.246 -0.054 -0.323 + -0.181 -0.128 0.232 -0.452 0.012 -0.120 -0.191 1.083 -0.116 -0.574 + 0.050 -0.080 -0.078 -0.018 0.051 -0.341 0.146 0.001 0.155 0.270 + 0.145 -0.991 0.184 0.009 -0.044 -0.095 -0.172 -0.122 0.159 0.261 + 0.172 0.177 0.158 0.075 -1.000 -0.335 -0.041 0.280 0.068 -0.028 + 0.421 0.034 -0.067 -0.017 0.053 0.111 0.168 0.457 0.745 0.054 + 0.261 -0.093 0.101 0.171 -0.388 0.329 0.178 0.131 0.244 0.145 + -0.353 -0.051 -0.408 -0.046 -0.041 -0.523 -0.265 0.129 0.003 -0.063 + 0.245 -0.131 -0.018 -0.133 0.259 0.086 -0.768 0.620 0.175 -0.102 + 0.314 0.043 -0.163 0.099 -0.003 -0.156 0.080 -0.234 0.330 -0.249 + 0.623 -0.262 0.779 1.189 0.015 -0.066 -0.076 0.003 -0.004 0.096 + -0.216 0.073 0.279 0.341 -0.088 -0.006 -0.064 -0.126 -0.451 0.310 + 0.057 -0.144 0.276 -0.115 0.184 -0.580 0.209 0.374 0.126 0.053 + 0.213 0.155 -0.470 -0.427 0.066 -0.163 0.224 -0.498 -0.309 -0.386 + 0.191 0.065 -0.149 0.493 -0.106 0.245 0.197 0.093 -0.247 -0.058 + -0.012 0.036 -0.199 -0.311 -0.174 0.108 0.281 0.242 0.252 -0.009 + -0.003 0.233 0.030 0.119 0.498 -0.002 -0.815 0.248 -0.329 0.111 + -0.113 -0.776 0.799 0.905 -0.739 1.174 0.019 0.146 -0.319 0.811 + -0.601 -0.537 -0.300 0.860 -0.716 0.046 0.092 -0.173 0.231 0.568 + -0.244 -0.483 -0.848 0.113 0.049 -0.186 0.014 0.874 0.101 -0.429 + 0.371 0.205 0.454 -0.093 -0.196 0.129 -0.281 0.286 -0.529 0.178 + -1.609 0.593 0.295 -0.098 -0.708 -0.102 -0.026 -0.007 -0.071 -0.014 + 0.135 -0.082 0.362 -0.114 0.129 0.292 -0.937 0.137 0.488 0.140 + 0.020 -0.261 -0.174 0.935 0.182 0.753 -0.847 0.642 -0.150 -0.274 + -1.073 0.338 -0.030 -0.011 -0.295 0.357 0.683 -0.705 -0.230 -0.414 + -0.443 -0.177 -1.538 -0.342 0.197 -0.478 -0.243 0.044 -0.067 -0.038 + -0.825 -0.673 0.364 0.007 0.107 0.172 -0.177 -0.260 0.170 -0.151 + 0.040 0.396 0.060 -0.901 -0.065 -0.189 0.071 -0.023 -0.324 0.404 + 0.330 0.136 0.238 0.010 0.440 0.979 0.073 0.035 -1.141 1.075 + 0.039 0.116 -0.075 0.083 0.153 0.019 -0.473 0.065 0.963 0.246 + -0.070 0.124 0.235 -0.992 0.186 0.103 0.182 -0.144 0.149 0.267 + -0.166 -0.755 -0.262 -1.093 0.015 0.016 0.171 0.223 -0.604 0.950 + -0.106 0.390 0.150 1.012 -0.593 -0.998 0.122 -0.144 -0.108 0.536 + -1.092 0.377 0.101 0.009 -0.087 -0.021 0.048 -0.238 -0.015 0.051 + -0.149 0.081 0.026 -0.234 0.415 0.416 -1.304 0.264 -0.048 -0.160 + 0.814 -0.136 -0.119 0.108 -0.058 -0.036 -0.774 0.439 0.254 0.065 + -0.270 -0.038 -0.066 -0.665 -0.239 -0.044 -0.693 -0.360 0.261 -0.240 + 0.121 0.030 -0.029 0.202 -0.683 0.622 1.117 0.163 0.191 0.034 + 0.058 0.013 -0.153 0.074 0.328 0.193 0.002 0.496 0.497 0.059 + 0.280 0.038 -0.116 0.296 -0.579 -0.086 0.246 0.095 -0.744 0.071 + -0.239 0.813 0.245 -0.348 0.079 0.029 0.003 0.162 0.120 -0.387 + 0.355 -0.239 -0.049 0.114 0.249 -0.264 0.542 0.424 -0.704 0.086 + 0.102 -0.081 -0.048 0.273 0.070 0.232 -0.234 0.307 0.121 0.157 + -0.037 -0.435 -0.022 -0.510 -0.104 0.153 0.146 -0.391 0.667 0.879 + -0.145 -0.113 0.242 -0.571 -0.697 0.585 0.063 -0.010 0.217 0.098 + 0.174 -0.102 0.095 0.090 -0.044 -0.025 0.145 -0.149 0.358 -0.525 + 0.920 -0.194 0.003 -0.062 0.113 0.328 0.303 -0.069 -0.025 0.052 + -0.284 -0.565 -0.095 0.356 0.675 0.384 0.192 -0.028 0.279 -1.061 + 1.335 0.542 -0.106 -0.350 0.412 0.010 0.200 0.113 0.088 0.108 + -0.127 0.083 -0.243 -0.149 -0.130 0.124 0.002 -0.038 -0.180 0.098 + 0.018 0.071 -0.041 -1.222 0.144 -0.736 -0.026 0.207 0.186 0.189 + -0.911 -0.031 0.065 -0.119 0.165 -0.036 0.514 0.001 0.174 -0.332 + -0.078 0.016 0.009 0.057 0.153 -0.073 -0.219 -0.112 0.225 0.469 + 0.563 -0.331 0.092 1.268 -0.676 0.125 -0.098 0.060 0.027 -0.107 + 0.124 -0.105 0.041 -0.218 0.046 -0.546 -0.502 0.059 -0.104 0.045 + 0.131 -0.276 0.106 -0.713 0.037 0.412 0.428 0.019 -0.006 0.050 + 0.059 0.373 0.286 0.256 -0.121 -0.073 -0.539 0.505 -0.958 0.106 + -0.395 0.220 0.293 -0.367 0.428 -0.144 0.128 0.083 -0.816 -0.803 + 0.568 -1.195 -0.201 -0.957 0.265 0.128 0.022 -0.142 0.207 -0.374 + 1.145 -0.091 0.662 0.145 0.178 -0.178 -0.182 -0.477 0.135 -0.158 + -0.024 0.263 -0.129 0.037 -0.085 -0.204 0.340 -0.024 -0.372 -0.169 + -0.353 -0.065 0.152 0.402 -0.212 -0.071 -0.196 0.668 -0.420 -0.240 + -0.239 1.111 -0.647 -0.103 -0.429 -0.027 -0.142 0.173 -0.114 0.208 + -0.368 -0.019 0.586 -0.105 -1.056 0.018 -0.381 0.019 0.573 -1.107 + 0.173 -0.276 0.209 0.048 -0.748 -0.179 0.812 -0.137 -0.529 0.314 + 0.099 0.073 0.069 -0.045 0.075 -0.022 0.679 -0.047 -0.170 0.021 + 0.000 -0.075 0.306 0.857 0.208 -0.088 -0.196 -0.252 -0.055 -0.323 + -0.175 -0.070 0.196 -0.431 0.004 -0.112 -0.201 1.159 -0.097 -0.567 + 0.046 -0.076 -0.085 0.003 0.062 -0.369 0.150 -0.013 0.147 0.282 + 0.138 -1.017 0.166 0.011 -0.044 -0.093 -0.183 -0.125 0.165 0.258 + 0.163 0.178 0.157 0.072 -0.995 -0.355 -0.045 0.275 0.068 -0.033 + 0.405 0.041 -0.060 -0.019 0.056 0.109 0.111 0.458 0.738 0.052 + 0.260 -0.101 0.089 0.162 -0.407 0.337 0.193 0.134 0.227 0.181 + -0.331 -0.042 -0.418 -0.042 -0.084 -0.542 -0.274 0.133 -0.002 -0.067 + 0.250 -0.139 -0.016 -0.131 0.249 0.089 -0.780 0.597 0.192 -0.110 + 0.307 0.049 -0.158 0.070 -0.014 -0.146 0.088 -0.237 0.377 -0.215 + 0.671 -0.322 0.775 1.244 0.020 -0.058 -0.076 0.017 -0.001 0.097 + -0.227 0.087 0.275 0.335 -0.085 -0.012 -0.036 -0.099 -0.418 0.308 + 0.053 -0.146 0.281 -0.110 0.185 -0.550 0.135 0.342 0.126 0.046 + 0.201 0.156 -0.523 -0.453 0.062 -0.149 0.228 -0.466 -0.280 -0.383 + 0.199 0.068 -0.141 0.439 -0.111 0.225 0.197 0.087 -0.252 -0.064 + -0.018 0.033 -0.201 -0.324 -0.167 0.110 0.274 0.246 0.288 0.032 + 0.003 0.233 0.026 0.123 0.510 0.017 -0.830 0.247 -0.326 0.108 + -0.066 -0.778 0.788 0.934 -0.686 1.179 0.010 0.149 -0.329 0.808 + -0.630 -0.501 -0.307 0.858 -0.694 0.054 0.081 -0.176 0.215 0.554 + -0.263 -0.511 -0.865 0.141 0.031 -0.189 0.004 0.878 0.125 -0.475 + 0.312 0.179 0.443 -0.095 -0.202 0.128 -0.280 0.388 -0.517 0.180 + -1.616 0.585 0.310 -0.125 -0.670 -0.096 -0.034 -0.009 -0.076 -0.018 + 0.127 -0.082 0.360 -0.115 0.032 0.332 -0.926 0.135 0.502 0.110 + 0.029 -0.258 -0.177 0.930 0.160 0.714 -0.872 0.655 -0.103 -0.321 + -1.088 0.284 -0.021 -0.013 -0.296 0.309 0.624 -0.673 -0.215 -0.407 + -0.435 -0.193 -1.550 -0.344 0.157 -0.497 -0.219 0.042 -0.063 -0.044 + -0.782 -0.672 0.394 0.002 0.102 0.200 -0.170 -0.258 0.176 -0.162 + 0.053 0.387 0.055 -0.873 -0.050 -0.186 0.059 -0.022 -0.333 0.375 + 0.306 0.132 0.241 0.003 0.413 0.962 0.060 0.063 -1.191 1.083 + 0.024 0.121 -0.081 0.093 0.142 0.018 -0.508 0.037 0.975 0.234 + -0.078 0.127 0.252 -0.970 0.163 0.092 0.170 -0.142 0.165 0.272 + -0.174 -0.794 -0.264 -1.095 0.014 0.017 0.167 0.139 -0.600 0.913 + -0.117 0.392 0.159 1.012 -0.638 -1.029 0.117 -0.144 -0.104 0.539 + -1.065 0.360 0.110 0.024 -0.094 -0.017 0.047 -0.239 -0.019 0.056 + -0.149 0.080 0.022 -0.238 0.437 0.454 -1.265 0.256 -0.047 -0.164 + 0.735 -0.107 -0.127 0.113 -0.054 -0.033 -0.808 0.410 0.231 0.078 + -0.275 -0.040 -0.058 -0.670 -0.227 -0.031 -0.702 -0.342 0.238 -0.305 + 0.189 0.035 -0.034 0.192 -0.647 0.611 1.121 0.177 0.180 0.023 + 0.056 0.013 -0.158 0.082 0.320 0.195 -0.012 0.422 0.517 0.065 + 0.269 0.036 -0.171 0.248 -0.574 -0.095 0.249 0.088 -0.770 0.039 + -0.194 0.795 0.196 -0.350 0.078 0.023 -0.004 0.165 0.122 -0.386 + 0.373 -0.252 -0.035 0.114 0.231 -0.264 0.550 0.457 -0.694 0.088 + 0.098 -0.085 -0.054 0.268 0.067 0.213 -0.257 0.311 0.130 0.157 + -0.032 -0.424 -0.010 -0.469 -0.103 0.139 0.154 -0.408 0.651 0.872 + -0.151 -0.118 0.228 -0.555 -0.706 0.571 0.065 -0.008 0.222 0.098 + 0.177 -0.093 0.086 0.092 -0.046 -0.035 0.154 -0.151 0.385 -0.535 + 0.915 -0.198 -0.007 -0.057 0.115 0.289 0.268 -0.080 -0.022 0.060 + -0.248 -0.582 -0.082 0.376 0.674 0.373 0.188 -0.024 0.282 -1.132 + 1.380 0.528 -0.114 -0.404 0.361 0.017 0.184 0.121 0.090 0.111 + -0.124 0.074 -0.235 -0.142 -0.134 0.121 0.004 -0.045 -0.179 0.095 + 0.016 0.060 -0.031 -1.235 0.160 -0.739 -0.027 0.194 0.185 0.125 + -0.839 -0.013 0.053 -0.121 0.159 0.043 0.510 0.035 0.233 -0.347 + -0.064 0.015 0.005 0.068 0.134 -0.070 -0.225 -0.104 0.228 0.460 + 0.569 -0.312 0.090 1.257 -0.671 0.139 -0.100 0.058 0.024 -0.112 + 0.140 -0.094 0.032 -0.219 0.052 -0.569 -0.486 0.050 -0.104 0.037 + 0.146 -0.267 0.095 -0.715 -0.015 0.438 0.420 0.013 0.010 0.042 + 0.056 0.377 0.284 0.263 -0.123 -0.074 -0.538 0.531 -0.970 0.102 + -0.385 0.210 0.234 -0.379 0.454 -0.152 0.129 0.081 -0.818 -0.809 + 0.599 -1.191 -0.201 -0.901 0.261 0.126 0.014 -0.136 0.208 -0.339 + 1.145 -0.139 0.691 0.146 0.183 -0.183 -0.147 -0.525 0.144 -0.153 + -0.059 0.202 -0.132 0.040 -0.075 -0.229 0.306 -0.022 -0.370 -0.175 + -0.337 -0.065 0.143 0.404 -0.240 -0.060 -0.192 0.686 -0.400 -0.218 + -0.277 1.124 -0.668 -0.119 -0.407 -0.022 -0.131 0.163 -0.110 0.219 + -0.356 -0.027 0.567 -0.122 -1.065 0.010 -0.379 0.020 0.535 -1.057 + 0.145 -0.267 0.204 0.056 -0.776 -0.123 0.758 -0.111 -0.551 0.357 + 0.102 0.066 0.049 -0.046 0.059 -0.017 0.670 -0.073 -0.117 0.024 + -0.002 -0.067 0.296 0.861 0.174 -0.083 -0.205 -0.257 -0.043 -0.317 + -0.163 -0.103 0.209 -0.461 -0.004 -0.120 -0.203 1.166 -0.130 -0.542 + 0.055 -0.077 -0.062 -0.024 0.062 -0.347 0.142 -0.017 0.153 0.306 + 0.182 -1.031 0.170 0.012 -0.035 -0.101 -0.183 -0.120 0.166 0.255 + 0.158 0.173 0.161 0.065 -0.983 -0.312 -0.036 0.272 0.059 -0.044 + 0.418 0.102 -0.108 -0.015 0.049 0.109 0.080 0.416 0.710 0.055 + 0.267 -0.100 0.121 0.178 -0.367 0.327 0.188 0.115 0.250 0.208 + -0.375 -0.041 -0.406 -0.058 -0.110 -0.579 -0.160 0.146 -0.009 -0.065 + 0.246 -0.139 -0.012 -0.120 0.257 0.095 -0.792 0.609 0.173 -0.105 + 0.301 0.054 -0.126 0.101 -0.049 -0.145 0.082 -0.245 0.370 -0.298 + 0.668 -0.340 0.720 1.243 0.026 -0.048 -0.072 0.025 -0.010 0.103 + -0.223 0.063 0.254 0.320 -0.084 -0.019 -0.016 -0.067 -0.401 0.309 + 0.058 -0.143 0.287 -0.107 0.186 -0.526 0.119 0.330 0.135 0.051 + 0.186 0.148 -0.510 -0.426 0.062 -0.155 0.222 -0.475 -0.300 -0.370 + 0.194 0.077 -0.128 0.475 -0.096 0.214 0.192 0.075 -0.242 -0.061 + -0.016 0.034 -0.209 -0.327 -0.158 0.123 0.264 0.227 0.259 0.033 + -0.010 0.224 0.026 0.129 0.539 0.010 -0.816 0.244 -0.330 0.105 + -0.032 -0.744 0.804 0.982 -0.669 1.161 -0.003 0.145 -0.332 0.825 + -0.647 -0.459 -0.314 0.839 -0.681 0.052 0.082 -0.186 0.213 0.563 + -0.221 -0.497 -0.886 0.115 0.037 -0.179 0.003 0.885 0.128 -0.523 + 0.317 0.186 0.462 -0.090 -0.206 0.133 -0.263 0.366 -0.555 0.138 + -1.652 0.566 0.331 -0.105 -0.683 -0.096 -0.021 -0.012 -0.072 -0.004 + 0.131 -0.071 0.370 -0.111 0.023 0.331 -1.003 0.081 0.499 0.039 + 0.032 -0.251 -0.181 0.870 0.152 0.722 -0.843 0.632 -0.050 -0.305 + -1.098 0.259 -0.004 -0.011 -0.298 0.306 0.616 -0.648 -0.212 -0.408 + -0.430 -0.187 -1.583 -0.320 0.132 -0.500 -0.231 0.042 -0.074 -0.042 + -0.732 -0.690 0.424 0.005 0.099 0.203 -0.164 -0.256 0.174 -0.170 + 0.056 0.389 0.051 -0.842 -0.102 -0.180 0.071 -0.017 -0.349 0.379 + 0.332 0.138 0.249 0.003 0.423 0.962 0.058 0.039 -1.230 1.111 + 0.004 0.120 -0.085 0.098 0.143 0.007 -0.530 -0.019 0.968 0.235 + -0.067 0.135 0.270 -0.962 0.189 0.063 0.164 -0.150 0.177 0.268 + -0.176 -0.851 -0.310 -1.061 0.015 0.022 0.165 0.120 -0.586 0.939 + -0.133 0.389 0.150 1.030 -0.667 -1.059 0.113 -0.151 -0.100 0.551 + -1.063 0.346 0.117 0.032 -0.104 -0.031 0.062 -0.231 -0.014 0.053 + -0.141 0.086 0.023 -0.230 0.421 0.442 -1.266 0.246 -0.043 -0.157 + 0.733 -0.081 -0.121 0.117 -0.050 -0.021 -0.811 0.382 0.210 0.085 + -0.289 -0.045 -0.006 -0.674 -0.215 0.005 -0.688 -0.324 0.264 -0.302 + 0.144 0.034 -0.044 0.183 -0.642 0.524 1.114 0.183 0.178 0.029 + 0.058 0.005 -0.149 0.076 0.323 0.197 -0.023 0.403 0.482 0.069 + 0.280 0.024 -0.226 0.198 -0.549 -0.101 0.239 0.088 -0.729 0.090 + -0.211 0.795 0.171 -0.334 0.082 0.020 0.000 0.159 0.134 -0.379 + 0.441 -0.221 -0.079 0.124 0.229 -0.266 0.522 0.496 -0.696 0.089 + 0.094 -0.092 -0.059 0.265 0.071 0.230 -0.287 0.256 0.140 0.155 + -0.030 -0.420 0.013 -0.432 -0.089 0.139 0.146 -0.394 0.644 0.855 + -0.157 -0.101 0.223 -0.542 -0.680 0.564 0.062 0.007 0.224 0.097 + 0.174 -0.072 0.083 0.094 -0.052 -0.035 0.155 -0.148 0.366 -0.520 + 0.894 -0.191 -0.018 -0.050 0.158 0.276 0.252 -0.084 -0.019 0.059 + -0.210 -0.531 -0.093 0.382 0.656 0.437 0.186 -0.012 0.290 -1.185 + 1.413 0.525 -0.081 -0.398 0.346 0.036 0.183 0.120 0.086 0.122 + -0.129 0.078 -0.235 -0.139 -0.128 0.123 0.009 -0.038 -0.178 0.096 + 0.018 0.055 -0.033 -1.235 0.155 -0.775 -0.026 0.190 0.179 0.087 + -0.817 -0.007 0.042 -0.112 0.158 0.076 0.491 0.079 0.255 -0.370 + -0.003 0.015 0.005 0.077 0.135 -0.067 -0.222 -0.101 0.230 0.460 + 0.602 -0.297 0.070 1.210 -0.632 0.135 -0.096 0.060 0.020 -0.119 + 0.143 -0.092 0.033 -0.218 0.047 -0.539 -0.482 0.097 -0.110 0.038 + 0.143 -0.281 0.120 -0.700 -0.091 0.438 0.380 -0.000 0.013 0.036 + 0.065 0.382 0.287 0.257 -0.139 -0.066 -0.532 0.526 -0.978 0.098 + -0.380 0.210 0.248 -0.377 0.469 -0.152 0.126 0.078 -0.771 -0.815 + 0.646 -1.185 -0.274 -0.894 0.264 0.139 0.008 -0.107 0.163 -0.271 + 1.219 -0.135 0.700 0.153 0.179 -0.190 -0.136 -0.573 0.254 -0.143 + -0.032 0.174 -0.141 0.041 -0.061 -0.230 0.298 -0.070 -0.373 -0.161 + -0.306 -0.074 0.137 0.400 -0.235 -0.050 -0.148 0.704 -0.350 -0.186 + -0.311 1.157 -0.685 -0.128 -0.411 -0.016 -0.133 0.166 -0.113 0.214 + -0.360 -0.029 0.532 -0.092 -1.008 0.002 -0.367 0.025 0.574 -1.056 + 0.115 -0.262 0.203 0.062 -0.799 -0.141 0.717 -0.129 -0.566 0.309 + 0.100 0.070 0.028 -0.056 0.054 -0.024 0.685 -0.053 -0.107 0.020 + 0.002 -0.058 0.282 0.856 0.182 -0.076 -0.202 -0.262 -0.035 -0.316 + -0.164 -0.073 0.200 -0.493 -0.015 -0.125 -0.204 1.172 -0.138 -0.532 + 0.053 -0.070 -0.060 -0.010 0.036 -0.340 0.144 -0.012 0.153 0.335 + 0.150 -1.070 0.168 0.009 -0.025 -0.100 -0.188 -0.108 0.160 0.255 + 0.157 0.187 0.166 0.055 -1.002 -0.282 -0.037 0.267 0.050 -0.050 + 0.405 0.130 -0.134 -0.013 0.055 0.103 0.112 0.387 0.669 0.049 + 0.260 -0.086 0.122 0.190 -0.401 0.306 0.217 0.111 0.290 0.206 + -0.385 -0.047 -0.409 -0.050 -0.107 -0.574 -0.114 0.146 -0.004 -0.055 + 0.243 -0.140 -0.015 -0.115 0.254 0.091 -0.791 0.641 0.211 -0.103 + 0.283 0.050 -0.057 0.098 -0.058 -0.134 0.073 -0.242 0.350 -0.288 + 0.718 -0.401 0.754 1.254 0.023 -0.034 -0.068 0.034 -0.012 0.080 + -0.237 0.029 0.294 0.339 -0.091 -0.015 -0.044 -0.073 -0.411 0.315 + 0.069 -0.133 0.285 -0.104 0.188 -0.530 0.129 0.293 0.134 0.049 + 0.185 0.160 -0.547 -0.443 0.055 -0.155 0.212 -0.479 -0.337 -0.337 + 0.195 0.088 -0.113 0.490 -0.111 0.181 0.194 0.065 -0.245 -0.055 + -0.018 0.042 -0.203 -0.329 -0.154 0.140 0.262 0.225 0.205 0.053 + -0.025 0.225 0.020 0.122 0.578 0.004 -0.820 0.242 -0.318 0.104 + -0.008 -0.734 0.865 1.045 -0.634 1.139 0.000 0.141 -0.339 0.842 + -0.655 -0.404 -0.275 0.795 -0.655 0.065 0.082 -0.186 0.266 0.547 + -0.256 -0.522 -0.904 0.173 0.029 -0.181 0.004 0.871 0.148 -0.521 + 0.378 0.151 0.461 -0.093 -0.211 0.134 -0.228 0.381 -0.550 0.164 + -1.675 0.537 0.322 -0.116 -0.709 -0.104 -0.014 -0.019 -0.072 -0.010 + 0.120 -0.063 0.363 -0.107 -0.016 0.358 -0.994 0.075 0.488 0.012 + 0.030 -0.252 -0.184 0.867 0.164 0.708 -0.869 0.617 -0.061 -0.325 + -1.141 0.249 0.007 -0.026 -0.293 0.261 0.582 -0.639 -0.229 -0.404 + -0.436 -0.159 -1.621 -0.333 0.112 -0.485 -0.250 0.047 -0.067 -0.031 + -0.713 -0.710 0.411 0.001 0.097 0.200 -0.168 -0.257 0.177 -0.160 + 0.061 0.387 0.026 -0.801 -0.092 -0.169 0.062 -0.014 -0.352 0.384 + 0.317 0.138 0.248 -0.010 0.425 0.953 -0.012 0.037 -1.270 1.107 + -0.005 0.114 -0.074 0.094 0.138 0.007 -0.531 -0.039 0.972 0.226 + -0.069 0.140 0.339 -0.925 0.167 0.044 0.154 -0.154 0.186 0.270 + -0.191 -0.839 -0.351 -1.059 0.013 0.023 0.164 0.098 -0.551 0.933 + -0.129 0.384 0.148 1.069 -0.733 -1.112 0.095 -0.142 -0.089 0.570 + -1.022 0.353 0.130 0.039 -0.093 -0.016 0.055 -0.222 -0.014 0.059 + -0.145 0.089 0.023 -0.239 0.432 0.411 -1.202 0.250 -0.045 -0.159 + 0.682 -0.023 -0.146 0.130 -0.043 -0.031 -0.858 0.323 0.203 0.080 + -0.285 -0.047 -0.023 -0.684 -0.147 0.001 -0.669 -0.310 0.271 -0.292 + 0.131 0.028 -0.035 0.194 -0.644 0.504 1.143 0.192 0.175 0.025 + 0.057 0.012 -0.145 0.088 0.322 0.209 -0.036 0.385 0.494 0.077 + 0.282 0.003 -0.248 0.221 -0.509 -0.100 0.242 0.100 -0.710 0.107 + -0.217 0.815 0.170 -0.359 0.085 0.020 -0.011 0.169 0.139 -0.380 + 0.499 -0.183 -0.143 0.123 0.232 -0.263 0.538 0.456 -0.701 0.091 + 0.096 -0.089 -0.055 0.263 0.068 0.260 -0.281 0.228 0.135 0.146 + -0.041 -0.434 0.091 -0.411 -0.084 0.142 0.155 -0.382 0.643 0.858 + -0.167 -0.093 0.222 -0.564 -0.676 0.564 0.058 0.017 0.222 0.107 + 0.166 -0.068 0.080 0.096 -0.051 -0.026 0.171 -0.146 0.350 -0.481 + 0.850 -0.195 -0.020 -0.045 0.158 0.218 0.205 -0.090 -0.020 0.060 + -0.235 -0.526 -0.134 0.429 0.651 0.442 0.194 -0.014 0.293 -1.236 + 1.485 0.541 -0.095 -0.385 0.301 0.035 0.183 0.111 0.082 0.126 + -0.126 0.077 -0.240 -0.139 -0.132 0.125 0.012 -0.038 -0.191 0.092 + 0.033 0.039 -0.036 -1.197 0.155 -0.768 -0.027 0.184 0.180 0.041 + -0.812 -0.013 0.029 -0.101 0.157 0.098 0.490 0.098 0.254 -0.347 + 0.045 0.026 -0.004 0.067 0.130 -0.059 -0.221 -0.095 0.225 0.452 + 0.592 -0.316 0.041 1.171 -0.631 0.086 -0.087 0.066 0.019 -0.126 + 0.134 -0.086 0.032 -0.219 0.041 -0.526 -0.452 0.035 -0.106 0.042 + 0.153 -0.266 0.161 -0.680 -0.091 0.398 0.328 0.002 0.013 0.040 + 0.073 0.390 0.285 0.263 -0.138 -0.062 -0.531 0.565 -0.971 0.094 + -0.392 0.211 0.223 -0.396 0.483 -0.146 0.121 0.073 -0.722 -0.795 + 0.699 -1.211 -0.255 -0.871 0.252 0.148 0.007 -0.131 0.200 -0.268 + 1.185 -0.125 0.678 0.163 0.171 -0.194 -0.140 -0.529 0.319 -0.140 + -0.013 0.121 -0.131 0.048 -0.058 -0.200 0.250 -0.073 -0.402 -0.111 + -0.251 -0.087 0.121 0.395 -0.192 -0.066 -0.143 0.703 -0.364 -0.145 + -0.323 1.162 -0.679 -0.139 -0.403 -0.015 -0.137 0.167 -0.112 0.228 + -0.353 -0.019 0.559 -0.118 -0.981 0.009 -0.382 0.027 0.593 -1.007 + 0.117 -0.250 0.199 0.071 -0.837 -0.139 0.664 -0.148 -0.588 0.294 + 0.100 0.079 0.024 -0.051 0.049 -0.020 0.690 -0.064 -0.092 0.014 + -0.005 -0.057 0.235 0.862 0.205 -0.076 -0.202 -0.272 -0.031 -0.317 + -0.145 -0.071 0.202 -0.493 -0.009 -0.119 -0.206 1.175 -0.136 -0.558 + 0.054 -0.063 -0.050 0.015 0.033 -0.295 0.140 -0.020 0.146 0.329 + 0.192 -1.095 0.172 -0.007 -0.010 -0.087 -0.183 -0.103 0.147 0.256 + 0.144 0.187 0.162 0.056 -0.969 -0.309 -0.008 0.255 0.057 -0.058 + 0.427 0.129 -0.131 -0.004 0.065 0.105 0.064 0.373 0.655 0.058 + 0.272 -0.085 0.123 0.204 -0.397 0.303 0.225 0.081 0.326 0.276 + -0.388 -0.047 -0.407 -0.058 -0.100 -0.595 -0.090 0.145 -0.012 -0.053 + 0.240 -0.134 -0.025 -0.110 0.260 0.086 -0.771 0.631 0.163 -0.100 + 0.291 0.049 -0.040 0.131 -0.072 -0.124 0.064 -0.263 0.345 -0.270 + 0.704 -0.410 0.745 1.261 0.021 -0.021 -0.056 0.044 -0.017 0.084 + -0.243 0.012 0.309 0.341 -0.078 -0.014 -0.082 -0.054 -0.374 0.320 + 0.080 -0.127 0.279 -0.103 0.201 -0.527 0.112 0.299 0.139 0.045 + 0.186 0.168 -0.575 -0.474 0.043 -0.153 0.224 -0.481 -0.384 -0.334 + 0.207 0.102 -0.115 0.500 -0.120 0.168 0.193 0.056 -0.251 -0.046 + -0.008 0.025 -0.205 -0.330 -0.160 0.141 0.265 0.225 0.186 0.069 + -0.013 0.222 0.026 0.117 0.573 -0.008 -0.799 0.244 -0.316 0.099 + 0.059 -0.729 0.888 1.076 -0.612 1.080 0.001 0.135 -0.333 0.857 + -0.636 -0.343 -0.232 0.800 -0.654 0.060 0.098 -0.199 0.286 0.538 + -0.256 -0.494 -0.907 0.166 0.034 -0.185 -0.005 0.908 0.185 -0.577 + 0.353 0.171 0.495 -0.083 -0.202 0.133 -0.239 0.429 -0.528 0.137 + -1.675 0.499 0.353 -0.172 -0.719 -0.102 -0.017 -0.021 -0.060 -0.009 + 0.127 -0.047 0.358 -0.105 -0.031 0.391 -1.030 0.066 0.496 -0.013 + 0.037 -0.254 -0.184 0.806 0.187 0.705 -0.927 0.602 -0.020 -0.333 + -1.136 0.221 0.024 -0.021 -0.298 0.259 0.582 -0.593 -0.230 -0.406 + -0.429 -0.139 -1.653 -0.344 0.106 -0.462 -0.243 0.044 -0.075 -0.045 + -0.629 -0.663 0.402 -0.005 0.088 0.212 -0.173 -0.255 0.185 -0.166 + 0.062 0.390 -0.002 -0.746 -0.096 -0.168 0.065 -0.020 -0.340 0.358 + 0.298 0.138 0.272 -0.018 0.453 0.936 -0.008 0.035 -1.297 1.102 + -0.010 0.117 -0.079 0.114 0.147 0.009 -0.562 -0.028 0.989 0.221 + -0.067 0.135 0.365 -0.903 0.210 0.038 0.147 -0.150 0.195 0.284 + -0.185 -0.836 -0.333 -1.010 0.017 0.032 0.170 0.087 -0.579 0.889 + -0.138 0.384 0.139 1.096 -0.759 -1.150 0.090 -0.127 -0.082 0.590 + -0.993 0.351 0.156 0.053 -0.086 -0.008 0.058 -0.215 -0.012 0.056 + -0.136 0.085 0.028 -0.225 0.457 0.418 -1.183 0.247 -0.064 -0.155 + 0.678 -0.030 -0.152 0.126 -0.040 -0.031 -0.915 0.352 0.215 0.069 + -0.288 -0.037 -0.043 -0.667 -0.123 0.009 -0.630 -0.352 0.276 -0.332 + 0.140 0.024 -0.037 0.186 -0.578 0.481 1.087 0.203 0.168 0.039 + 0.065 0.014 -0.151 0.088 0.319 0.216 -0.018 0.368 0.477 0.069 + 0.284 -0.002 -0.293 0.226 -0.469 -0.098 0.248 0.100 -0.682 0.117 + -0.232 0.886 0.137 -0.364 0.080 0.014 -0.019 0.169 0.148 -0.363 + 0.458 -0.163 -0.156 0.122 0.227 -0.256 0.514 0.412 -0.651 0.085 + 0.102 -0.091 -0.059 0.267 0.065 0.275 -0.261 0.276 0.128 0.157 + -0.033 -0.404 0.141 -0.409 -0.084 0.141 0.159 -0.312 0.647 0.889 + -0.169 -0.085 0.223 -0.567 -0.654 0.575 0.049 0.010 0.229 0.111 + 0.176 -0.047 0.068 0.095 -0.058 -0.036 0.179 -0.156 0.356 -0.510 + 0.793 -0.186 -0.021 -0.042 0.211 0.175 0.143 -0.098 -0.027 0.047 + -0.214 -0.492 -0.155 0.408 0.624 0.460 0.195 -0.005 0.288 -1.252 + 1.493 0.501 -0.113 -0.381 0.278 0.042 0.178 0.112 0.079 0.120 + -0.124 0.085 -0.241 -0.136 -0.131 0.127 0.018 -0.044 -0.191 0.094 + 0.035 0.047 -0.037 -1.183 0.146 -0.741 -0.032 0.173 0.173 0.033 + -0.802 0.004 0.023 -0.102 0.152 0.089 0.498 0.163 0.223 -0.363 + 0.044 0.027 -0.005 0.079 0.136 -0.059 -0.222 -0.095 0.233 0.456 + 0.603 -0.304 0.063 1.147 -0.622 0.054 -0.091 0.059 0.023 -0.132 + 0.126 -0.076 0.026 -0.219 0.044 -0.544 -0.443 -0.013 -0.087 0.042 + 0.152 -0.237 0.167 -0.667 -0.089 0.395 0.287 -0.005 0.015 0.035 + 0.080 0.381 0.274 0.266 -0.134 -0.055 -0.511 0.597 -1.007 0.091 + -0.395 0.200 0.230 -0.371 0.498 -0.145 0.122 0.063 -0.682 -0.769 + 0.723 -1.199 -0.309 -0.895 0.243 0.145 0.014 -0.135 0.193 -0.303 + 1.186 -0.158 0.663 0.174 0.178 -0.197 -0.164 -0.499 0.353 -0.118 + 0.027 0.064 -0.126 0.048 -0.055 -0.178 0.209 -0.097 -0.413 -0.121 + -0.234 -0.097 0.114 0.390 -0.177 -0.075 -0.154 0.647 -0.376 -0.135 + -0.323 1.144 -0.715 -0.151 -0.402 -0.017 -0.117 0.163 -0.115 0.244 + -0.355 -0.024 0.552 -0.141 -1.008 0.006 -0.382 0.038 0.623 -0.994 + 0.090 -0.251 0.205 0.087 -0.807 -0.104 0.617 -0.107 -0.548 0.305 + 0.092 0.093 0.019 -0.053 0.050 -0.026 0.707 -0.056 -0.063 0.018 + -0.006 -0.064 0.209 0.841 0.214 -0.072 -0.199 -0.274 -0.040 -0.309 + -0.154 -0.085 0.214 -0.489 -0.027 -0.107 -0.210 1.163 -0.157 -0.562 + 0.051 -0.064 -0.050 0.023 0.028 -0.295 0.124 -0.023 0.145 0.305 + 0.232 -1.097 0.174 0.002 -0.006 -0.102 -0.175 -0.099 0.154 0.249 + 0.145 0.176 0.168 0.051 -0.950 -0.290 0.042 0.252 0.048 -0.059 + 0.420 0.142 -0.118 0.003 0.063 0.105 0.018 0.374 0.650 0.063 + 0.270 -0.086 0.124 0.209 -0.433 0.323 0.211 0.062 0.354 0.314 + -0.382 -0.052 -0.403 -0.054 -0.098 -0.596 -0.069 0.159 -0.013 -0.049 + 0.246 -0.141 -0.023 -0.111 0.256 0.085 -0.766 0.624 0.192 -0.104 + 0.288 0.052 -0.050 0.102 -0.073 -0.123 0.070 -0.270 0.364 -0.251 + 0.703 -0.456 0.724 1.284 0.019 -0.015 -0.041 0.050 -0.009 0.072 + -0.244 -0.008 0.258 0.345 -0.088 -0.010 -0.084 -0.054 -0.364 0.316 + 0.091 -0.126 0.266 -0.088 0.196 -0.479 0.132 0.226 0.132 0.042 + 0.183 0.190 -0.576 -0.468 0.034 -0.152 0.201 -0.404 -0.356 -0.334 + 0.203 0.099 -0.104 0.500 -0.147 0.153 0.193 0.053 -0.250 -0.036 + 0.001 0.040 -0.206 -0.336 -0.151 0.139 0.256 0.230 0.157 0.070 + -0.023 0.208 0.040 0.108 0.594 -0.032 -0.790 0.251 -0.309 0.107 + 0.064 -0.715 0.899 1.099 -0.582 1.029 0.016 0.131 -0.338 0.827 + -0.621 -0.328 -0.215 0.787 -0.620 0.066 0.100 -0.207 0.296 0.524 + -0.266 -0.477 -0.916 0.190 0.026 -0.193 -0.009 0.912 0.216 -0.607 + 0.347 0.211 0.490 -0.082 -0.203 0.127 -0.214 0.489 -0.536 0.100 + -1.681 0.465 0.367 -0.176 -0.715 -0.110 -0.004 -0.025 -0.057 -0.020 + 0.113 -0.037 0.348 -0.095 -0.030 0.416 -1.050 0.065 0.479 -0.057 + 0.033 -0.248 -0.179 0.805 0.172 0.703 -0.953 0.557 -0.007 -0.362 + -1.191 0.154 0.027 -0.020 -0.294 0.249 0.580 -0.542 -0.236 -0.408 + -0.421 -0.124 -1.729 -0.376 0.091 -0.458 -0.233 0.036 -0.073 -0.046 + -0.610 -0.620 0.408 0.005 0.076 0.217 -0.176 -0.247 0.179 -0.168 + 0.074 0.395 -0.010 -0.685 -0.099 -0.160 0.063 -0.019 -0.363 0.358 + 0.283 0.135 0.283 -0.013 0.439 0.934 -0.068 0.040 -1.303 1.051 + -0.006 0.119 -0.065 0.117 0.148 0.004 -0.500 -0.044 0.958 0.217 + -0.068 0.137 0.371 -0.908 0.205 0.026 0.130 -0.152 0.216 0.283 + -0.184 -0.822 -0.337 -0.998 0.031 0.046 0.183 0.047 -0.612 0.867 + -0.127 0.390 0.138 1.081 -0.767 -1.165 0.085 -0.125 -0.079 0.590 + -0.989 0.376 0.167 0.048 -0.092 -0.019 0.063 -0.211 -0.002 0.062 + -0.141 0.083 0.025 -0.233 0.419 0.412 -1.173 0.249 -0.075 -0.155 + 0.704 -0.047 -0.160 0.129 -0.039 -0.031 -0.912 0.334 0.260 0.088 + -0.289 -0.047 -0.066 -0.691 -0.111 0.014 -0.607 -0.346 0.314 -0.350 + 0.171 0.019 -0.036 0.188 -0.580 0.428 1.063 0.211 0.162 0.055 + 0.070 0.007 -0.148 0.093 0.320 0.208 -0.074 0.364 0.461 0.063 + 0.284 -0.009 -0.261 0.164 -0.435 -0.100 0.263 0.108 -0.657 0.082 + -0.201 0.906 0.094 -0.341 0.098 -0.005 -0.033 0.179 0.149 -0.370 + 0.477 -0.129 -0.179 0.133 0.214 -0.249 0.511 0.406 -0.627 0.077 + 0.085 -0.082 -0.067 0.275 0.067 0.283 -0.277 0.299 0.114 0.161 + -0.034 -0.397 0.185 -0.408 -0.072 0.127 0.164 -0.303 0.639 0.908 + -0.179 -0.066 0.210 -0.586 -0.652 0.598 0.039 0.007 0.226 0.114 + 0.181 -0.031 0.060 0.087 -0.062 -0.043 0.179 -0.156 0.312 -0.539 + 0.706 -0.179 -0.024 -0.057 0.195 0.179 0.124 -0.105 -0.025 0.041 + -0.208 -0.502 -0.126 0.398 0.592 0.474 0.189 -0.001 0.283 -1.272 + 1.508 0.517 -0.086 -0.377 0.270 0.040 0.174 0.114 0.080 0.125 + -0.111 0.083 -0.232 -0.134 -0.137 0.130 0.010 -0.045 -0.188 0.097 + 0.026 0.039 -0.040 -1.177 0.155 -0.758 -0.031 0.164 0.180 -0.007 + -0.816 -0.003 0.017 -0.109 0.148 0.116 0.475 0.157 0.208 -0.342 + 0.042 0.040 -0.019 0.079 0.126 -0.060 -0.231 -0.091 0.233 0.448 + 0.603 -0.261 0.077 1.164 -0.609 0.036 -0.090 0.051 0.018 -0.135 + 0.129 -0.070 0.024 -0.218 0.049 -0.552 -0.451 -0.021 -0.081 0.055 + 0.142 -0.218 0.173 -0.635 -0.119 0.420 0.282 -0.004 0.020 0.033 + 0.076 0.383 0.280 0.266 -0.141 -0.064 -0.488 0.585 -1.013 0.093 + -0.389 0.206 0.208 -0.369 0.528 -0.142 0.138 0.064 -0.654 -0.813 + 0.705 -1.188 -0.352 -0.904 0.237 0.157 0.013 -0.145 0.192 -0.333 + 1.184 -0.181 0.654 0.167 0.181 -0.193 -0.180 -0.558 0.364 -0.093 + 0.059 0.053 -0.120 0.055 -0.048 -0.194 0.169 -0.142 -0.410 -0.087 + -0.221 -0.096 0.106 0.388 -0.197 -0.052 -0.120 0.593 -0.360 -0.126 + -0.354 1.108 -0.728 -0.159 -0.414 -0.021 -0.120 0.164 -0.113 0.250 + -0.361 -0.023 0.557 -0.137 -1.016 0.002 -0.391 0.042 0.676 -0.977 + 0.086 -0.234 0.207 0.093 -0.806 -0.043 0.540 -0.091 -0.553 0.258 + 0.081 0.106 0.028 -0.051 0.054 -0.021 0.694 -0.090 -0.069 0.012 + -0.018 -0.056 0.224 0.823 0.212 -0.074 -0.201 -0.272 -0.044 -0.309 + -0.157 -0.117 0.210 -0.516 -0.041 -0.105 -0.213 1.171 -0.166 -0.603 + 0.063 -0.061 -0.053 -0.015 0.044 -0.290 0.123 -0.006 0.145 0.292 + 0.243 -1.135 0.164 0.000 0.010 -0.087 -0.163 -0.095 0.152 0.243 + 0.142 0.170 0.169 0.039 -0.927 -0.242 0.064 0.239 0.047 -0.063 + 0.396 0.141 -0.085 -0.000 0.068 0.107 -0.004 0.396 0.628 0.064 + 0.262 -0.078 0.119 0.199 -0.426 0.312 0.227 0.065 0.335 0.330 + -0.410 -0.052 -0.395 -0.056 -0.101 -0.651 -0.027 0.161 -0.007 -0.045 + 0.245 -0.145 -0.018 -0.109 0.262 0.096 -0.748 0.551 0.202 -0.108 + 0.296 0.054 -0.051 0.096 -0.041 -0.106 0.071 -0.269 0.349 -0.280 + 0.727 -0.486 0.676 1.293 0.014 -0.011 -0.035 0.059 -0.023 0.053 + -0.219 -0.005 0.227 0.346 -0.076 -0.012 -0.082 -0.027 -0.315 0.320 + 0.095 -0.114 0.264 -0.089 0.185 -0.445 0.127 0.191 0.129 0.038 + 0.186 0.210 -0.617 -0.432 0.034 -0.142 0.189 -0.396 -0.380 -0.265 + 0.198 0.095 -0.097 0.484 -0.190 0.132 0.197 0.052 -0.247 -0.033 + -0.001 0.049 -0.212 -0.336 -0.144 0.133 0.252 0.223 0.120 0.102 + -0.001 0.199 0.047 0.103 0.630 -0.023 -0.738 0.252 -0.313 0.117 + 0.096 -0.715 0.910 1.138 -0.577 0.994 0.020 0.115 -0.339 0.883 + -0.620 -0.292 -0.192 0.801 -0.598 0.064 0.095 -0.215 0.312 0.457 + -0.250 -0.479 -0.889 0.168 0.026 -0.197 -0.017 0.893 0.237 -0.597 + 0.322 0.220 0.536 -0.075 -0.202 0.128 -0.201 0.508 -0.539 0.061 + -1.678 0.439 0.390 -0.177 -0.667 -0.112 0.011 -0.024 -0.048 -0.019 + 0.115 -0.041 0.332 -0.097 -0.037 0.427 -1.024 0.051 0.489 -0.024 + 0.031 -0.243 -0.168 0.789 0.188 0.686 -0.987 0.520 0.025 -0.383 + -1.213 0.125 0.032 -0.035 -0.289 0.213 0.583 -0.531 -0.239 -0.396 + -0.417 -0.116 -1.763 -0.361 0.148 -0.414 -0.207 0.035 -0.070 -0.050 + -0.533 -0.634 0.364 0.012 0.075 0.231 -0.166 -0.239 0.176 -0.171 + 0.066 0.386 -0.001 -0.674 -0.109 -0.149 0.055 -0.021 -0.398 0.326 + 0.261 0.128 0.286 -0.009 0.463 0.919 -0.080 0.046 -1.338 1.051 + -0.012 0.119 -0.046 0.128 0.142 0.011 -0.492 -0.070 0.894 0.209 + -0.082 0.131 0.349 -0.884 0.229 0.014 0.124 -0.151 0.233 0.285 + -0.195 -0.831 -0.395 -0.992 0.029 0.049 0.190 0.051 -0.641 0.811 + -0.125 0.394 0.147 1.085 -0.754 -1.180 0.079 -0.127 -0.082 0.606 + -0.915 0.375 0.186 0.055 -0.107 -0.005 0.068 -0.218 -0.005 0.069 + -0.143 0.087 0.019 -0.245 0.437 0.464 -1.184 0.251 -0.066 -0.168 + 0.690 -0.026 -0.153 0.120 -0.014 -0.038 -0.939 0.328 0.249 0.090 + -0.293 -0.057 -0.050 -0.664 -0.081 0.055 -0.611 -0.353 0.343 -0.406 + 0.100 0.021 -0.034 0.183 -0.544 0.388 1.044 0.208 0.154 0.046 + 0.079 -0.008 -0.140 0.093 0.321 0.216 -0.092 0.366 0.493 0.060 + 0.293 -0.016 -0.282 0.170 -0.345 -0.086 0.268 0.099 -0.671 0.027 + -0.207 0.903 0.096 -0.359 0.089 -0.012 -0.042 0.181 0.150 -0.369 + 0.470 -0.146 -0.171 0.132 0.204 -0.259 0.505 0.398 -0.649 0.073 + 0.079 -0.084 -0.060 0.272 0.068 0.303 -0.282 0.293 0.107 0.161 + -0.038 -0.380 0.233 -0.398 -0.072 0.130 0.179 -0.291 0.629 0.918 + -0.193 -0.060 0.196 -0.608 -0.633 0.591 0.047 0.017 0.220 0.105 + 0.184 -0.024 0.045 0.089 -0.054 -0.044 0.193 -0.152 0.304 -0.555 + 0.698 -0.173 -0.029 -0.043 0.261 0.188 0.123 -0.109 -0.020 0.046 + -0.214 -0.525 -0.152 0.386 0.613 0.504 0.192 -0.003 0.283 -1.319 + 1.535 0.517 -0.091 -0.393 0.260 0.042 0.165 0.128 0.086 0.133 + -0.116 0.093 -0.233 -0.149 -0.130 0.125 0.011 -0.034 -0.198 0.090 + 0.021 0.033 -0.045 -1.131 0.156 -0.765 -0.033 0.170 0.175 -0.074 + -0.764 -0.021 0.024 -0.105 0.145 0.112 0.454 0.164 0.216 -0.314 + 0.066 0.032 -0.026 0.079 0.126 -0.048 -0.237 -0.090 0.232 0.444 + 0.592 -0.264 0.044 1.158 -0.617 0.031 -0.080 0.047 0.020 -0.130 + 0.130 -0.069 0.027 -0.225 0.049 -0.542 -0.460 -0.048 -0.086 0.054 + 0.142 -0.199 0.205 -0.595 -0.155 0.411 0.302 -0.010 0.014 0.027 + 0.075 0.384 0.291 0.264 -0.153 -0.073 -0.513 0.557 -1.023 0.096 + -0.378 0.206 0.212 -0.400 0.510 -0.147 0.144 0.052 -0.640 -0.830 + 0.688 -1.199 -0.388 -0.910 0.227 0.156 0.003 -0.092 0.214 -0.341 + 1.187 -0.202 0.696 0.166 0.188 -0.188 -0.167 -0.612 0.401 -0.050 + 0.060 0.082 -0.114 0.065 -0.052 -0.235 0.117 -0.177 -0.447 -0.055 + -0.213 -0.111 0.085 0.389 -0.193 -0.029 -0.114 0.598 -0.371 -0.093 + -0.356 1.082 -0.736 -0.162 -0.402 -0.022 -0.120 0.151 -0.116 0.256 + -0.366 -0.017 0.547 -0.150 -1.026 -0.001 -0.379 0.042 0.694 -0.947 + 0.065 -0.235 0.214 0.108 -0.859 -0.019 0.504 -0.059 -0.531 0.232 + 0.074 0.099 0.030 -0.045 0.044 -0.015 0.649 -0.121 -0.028 0.006 + -0.025 -0.050 0.183 0.806 0.220 -0.078 -0.188 -0.275 -0.046 -0.296 + -0.150 -0.104 0.167 -0.520 -0.054 -0.091 -0.211 1.157 -0.079 -0.563 + 0.047 -0.060 -0.046 -0.029 0.011 -0.276 0.122 0.003 0.148 0.307 + 0.239 -1.167 0.167 -0.007 0.017 -0.089 -0.153 -0.083 0.148 0.242 + 0.145 0.181 0.160 0.036 -0.890 -0.290 0.071 0.231 0.052 -0.052 + 0.402 0.125 -0.077 0.007 0.080 0.109 -0.008 0.415 0.583 0.062 + 0.259 -0.072 0.118 0.147 -0.435 0.314 0.220 0.090 0.330 0.370 + -0.380 -0.051 -0.404 -0.059 -0.067 -0.672 -0.017 0.156 -0.005 -0.043 + 0.235 -0.153 -0.012 -0.102 0.264 0.095 -0.722 0.551 0.188 -0.113 + 0.303 0.064 -0.088 0.077 -0.076 -0.110 0.081 -0.261 0.371 -0.276 + 0.736 -0.534 0.663 1.269 0.013 -0.003 -0.035 0.048 -0.033 0.051 + -0.171 -0.015 0.217 0.348 -0.071 -0.006 -0.094 -0.024 -0.324 0.313 + 0.095 -0.096 0.253 -0.081 0.181 -0.403 0.112 0.115 0.123 0.037 + 0.188 0.196 -0.613 -0.461 0.022 -0.132 0.184 -0.399 -0.412 -0.234 + 0.208 0.087 -0.093 0.494 -0.201 0.111 0.204 0.044 -0.242 -0.042 + -0.001 0.055 -0.215 -0.326 -0.138 0.139 0.255 0.216 0.093 0.131 + 0.015 0.200 0.054 0.100 0.616 -0.032 -0.719 0.253 -0.304 0.119 + 0.101 -0.690 0.936 1.145 -0.518 0.978 0.008 0.106 -0.342 0.875 + -0.602 -0.241 -0.165 0.761 -0.567 0.072 0.094 -0.227 0.323 0.413 + -0.285 -0.499 -0.887 0.175 0.024 -0.204 -0.031 0.915 0.254 -0.597 + 0.309 0.171 0.513 -0.080 -0.199 0.126 -0.218 0.517 -0.527 0.022 + -1.661 0.436 0.393 -0.205 -0.660 -0.101 0.021 -0.030 -0.057 -0.027 + 0.117 -0.035 0.327 -0.095 -0.048 0.439 -1.048 0.032 0.489 -0.029 + 0.035 -0.255 -0.174 0.778 0.207 0.686 -0.941 0.517 0.010 -0.395 + -1.206 0.078 0.045 -0.040 -0.285 0.230 0.552 -0.546 -0.237 -0.403 + -0.407 -0.093 -1.820 -0.334 0.129 -0.436 -0.205 0.035 -0.069 -0.058 + -0.505 -0.609 0.354 0.013 0.074 0.226 -0.157 -0.233 0.170 -0.167 + 0.068 0.380 -0.021 -0.645 -0.106 -0.146 0.064 -0.021 -0.392 0.340 + 0.248 0.120 0.296 -0.009 0.442 0.904 -0.098 0.043 -1.386 1.039 + -0.017 0.118 -0.047 0.137 0.144 0.012 -0.521 -0.094 0.896 0.217 + -0.094 0.140 0.398 -0.850 0.268 -0.002 0.114 -0.151 0.248 0.276 + -0.205 -0.861 -0.389 -0.964 0.040 0.055 0.186 0.023 -0.678 0.744 + -0.126 0.389 0.142 1.093 -0.766 -1.176 0.068 -0.119 -0.061 0.620 + -0.933 0.348 0.198 0.058 -0.110 -0.009 0.073 -0.219 -0.003 0.071 + -0.148 0.086 0.024 -0.257 0.428 0.494 -1.166 0.245 -0.068 -0.161 + 0.712 0.013 -0.150 0.115 -0.003 -0.047 -0.931 0.305 0.252 0.106 + -0.292 -0.067 -0.034 -0.668 -0.091 0.081 -0.584 -0.319 0.348 -0.437 + 0.129 0.015 -0.036 0.175 -0.496 0.307 1.035 0.205 0.155 0.053 + 0.081 -0.000 -0.139 0.086 0.316 0.214 -0.105 0.354 0.535 0.059 + 0.299 -0.016 -0.345 0.179 -0.328 -0.097 0.263 0.104 -0.661 0.023 + -0.226 0.945 0.065 -0.301 0.081 -0.013 -0.035 0.182 0.159 -0.366 + 0.490 -0.127 -0.176 0.129 0.205 -0.261 0.475 0.365 -0.664 0.070 + 0.080 -0.080 -0.052 0.267 0.074 0.287 -0.291 0.275 0.102 0.157 + -0.031 -0.381 0.305 -0.385 -0.066 0.128 0.180 -0.282 0.632 0.924 + -0.180 -0.061 0.198 -0.637 -0.628 0.600 0.043 0.020 0.213 0.109 + 0.185 -0.023 0.042 0.077 -0.057 -0.052 0.197 -0.150 0.313 -0.571 + 0.607 -0.174 -0.043 -0.042 0.280 0.181 0.078 -0.111 -0.018 0.044 + -0.238 -0.496 -0.156 0.415 0.664 0.549 0.207 -0.012 0.277 -1.349 + 1.602 0.510 -0.122 -0.397 0.288 0.032 0.161 0.117 0.074 0.141 + -0.117 0.103 -0.232 -0.152 -0.129 0.126 0.013 -0.028 -0.203 0.083 + 0.012 0.027 -0.062 -1.084 0.174 -0.700 -0.019 0.177 0.164 -0.104 + -0.718 -0.024 0.026 -0.104 0.137 0.111 0.446 0.206 0.219 -0.314 + 0.047 0.021 -0.029 0.088 0.133 -0.047 -0.229 -0.081 0.233 0.440 + 0.586 -0.252 0.046 1.170 -0.627 0.039 -0.066 0.037 0.008 -0.115 + 0.125 -0.073 0.026 -0.231 0.052 -0.541 -0.508 -0.078 -0.071 0.060 + 0.154 -0.159 0.183 -0.609 -0.164 0.401 0.296 -0.015 0.006 0.020 + 0.078 0.386 0.289 0.260 -0.164 -0.066 -0.524 0.559 -0.959 0.105 + -0.376 0.202 0.231 -0.394 0.548 -0.148 0.150 0.040 -0.606 -0.844 + 0.701 -1.253 -0.403 -0.957 0.227 0.155 0.004 -0.116 0.241 -0.314 + 1.193 -0.205 0.690 0.174 0.183 -0.192 -0.111 -0.584 0.423 -0.021 + 0.030 0.097 -0.114 0.067 -0.044 -0.210 0.054 -0.198 -0.396 -0.032 + -0.194 -0.120 0.075 0.383 -0.183 -0.020 -0.108 0.615 -0.319 -0.059 + -0.377 1.087 -0.716 -0.169 -0.391 -0.018 -0.115 0.145 -0.111 0.254 + -0.371 -0.022 0.531 -0.141 -1.029 -0.010 -0.382 0.039 0.685 -0.931 + 0.078 -0.217 0.213 0.123 -0.871 -0.005 0.453 -0.010 -0.574 0.213 + 0.068 0.085 0.017 -0.033 0.041 -0.008 0.635 -0.103 -0.017 -0.006 + -0.017 -0.039 0.149 0.786 0.221 -0.072 -0.196 -0.273 -0.036 -0.289 + -0.157 -0.100 0.179 -0.516 -0.066 -0.098 -0.216 1.102 -0.075 -0.598 + 0.047 -0.061 -0.058 -0.038 0.054 -0.280 0.114 0.002 0.133 0.314 + 0.249 -1.178 0.163 0.007 0.030 -0.106 -0.156 -0.077 0.151 0.248 + 0.158 0.184 0.159 0.029 -0.882 -0.261 0.117 0.228 0.046 -0.047 + 0.427 0.121 -0.082 -0.000 0.087 0.105 -0.020 0.402 0.560 0.060 + 0.250 -0.070 0.121 0.179 -0.444 0.253 0.224 0.032 0.299 0.408 + -0.436 -0.047 -0.413 -0.059 -0.101 -0.673 0.001 0.155 0.001 -0.036 + 0.240 -0.162 -0.019 -0.091 0.265 0.094 -0.753 0.510 0.176 -0.111 + 0.299 0.067 -0.137 0.050 -0.085 -0.103 0.084 -0.257 0.444 -0.272 + 0.765 -0.512 0.565 1.300 0.005 0.008 -0.018 0.061 -0.041 0.050 + -0.157 -0.020 0.211 0.346 -0.063 -0.019 -0.113 -0.006 -0.305 0.305 + 0.103 -0.089 0.250 -0.070 0.185 -0.368 0.070 0.103 0.121 0.018 + 0.194 0.262 -0.623 -0.438 0.033 -0.134 0.191 -0.422 -0.454 -0.195 + 0.193 0.098 -0.091 0.471 -0.255 0.079 0.212 0.027 -0.247 -0.044 + 0.006 0.052 -0.214 -0.321 -0.131 0.136 0.249 0.216 0.082 0.121 + -0.009 0.201 0.047 0.096 0.646 -0.055 -0.682 0.245 -0.295 0.113 + 0.161 -0.658 0.944 1.129 -0.533 0.940 0.013 0.099 -0.331 0.842 + -0.580 -0.263 -0.170 0.711 -0.522 0.067 0.102 -0.227 0.318 0.384 + -0.294 -0.518 -0.859 0.142 0.025 -0.204 -0.029 0.955 0.321 -0.608 + 0.300 0.124 0.537 -0.083 -0.211 0.116 -0.169 0.549 -0.514 0.040 + -1.659 0.396 0.384 -0.228 -0.655 -0.103 0.020 -0.026 -0.063 -0.032 + 0.119 -0.026 0.317 -0.092 -0.046 0.487 -1.052 0.010 0.509 -0.073 + 0.040 -0.250 -0.177 0.796 0.176 0.656 -0.956 0.462 0.005 -0.371 + -1.192 0.066 0.045 -0.049 -0.271 0.182 0.517 -0.573 -0.245 -0.397 + -0.398 -0.060 -1.827 -0.336 0.103 -0.456 -0.192 0.045 -0.077 -0.057 + -0.423 -0.581 0.340 0.008 0.075 0.230 -0.159 -0.231 0.165 -0.160 + 0.071 0.370 0.019 -0.655 -0.153 -0.135 0.059 -0.020 -0.410 0.304 + 0.213 0.119 0.296 0.007 0.405 0.853 -0.174 0.004 -1.398 1.014 + -0.015 0.124 -0.049 0.146 0.154 0.003 -0.527 -0.126 0.886 0.206 + -0.093 0.141 0.452 -0.830 0.235 -0.021 0.100 -0.169 0.260 0.269 + -0.210 -0.904 -0.379 -0.946 0.035 0.059 0.208 0.009 -0.710 0.703 + -0.125 0.387 0.141 1.124 -0.802 -1.183 0.068 -0.113 -0.050 0.652 + -0.930 0.343 0.197 0.070 -0.111 -0.012 0.056 -0.228 -0.009 0.067 + -0.147 0.090 0.026 -0.252 0.365 0.558 -1.170 0.250 -0.064 -0.156 + 0.721 0.002 -0.162 0.106 0.003 -0.035 -0.947 0.321 0.260 0.114 + -0.288 -0.071 -0.017 -0.620 -0.098 0.119 -0.529 -0.332 0.333 -0.475 + 0.123 0.005 -0.028 0.171 -0.408 0.268 0.991 0.218 0.153 0.053 + 0.084 -0.000 -0.137 0.082 0.309 0.207 -0.144 0.318 0.541 0.058 + 0.300 -0.022 -0.323 0.179 -0.294 -0.100 0.272 0.101 -0.637 -0.010 + -0.229 0.932 0.023 -0.299 0.073 -0.018 -0.037 0.185 0.159 -0.371 + 0.509 -0.070 -0.174 0.125 0.203 -0.252 0.486 0.385 -0.649 0.071 + 0.076 -0.081 -0.051 0.262 0.066 0.288 -0.272 0.291 0.108 0.165 + -0.037 -0.378 0.335 -0.404 -0.058 0.123 0.184 -0.274 0.638 0.927 + -0.181 -0.037 0.197 -0.638 -0.616 0.584 0.041 0.013 0.196 0.106 + 0.182 -0.022 0.042 0.084 -0.066 -0.050 0.198 -0.143 0.294 -0.539 + 0.555 -0.163 -0.048 -0.037 0.236 0.191 0.075 -0.116 -0.011 0.031 + -0.218 -0.456 -0.127 0.420 0.655 0.542 0.218 -0.017 0.275 -1.349 + 1.624 0.536 -0.112 -0.372 0.238 0.027 0.152 0.118 0.084 0.144 + -0.109 0.108 -0.230 -0.150 -0.126 0.135 0.006 -0.032 -0.204 0.078 + 0.010 0.025 -0.064 -1.068 0.165 -0.703 -0.021 0.173 0.155 -0.175 + -0.642 -0.047 0.012 -0.096 0.137 0.082 0.432 0.165 0.219 -0.304 + 0.100 0.024 -0.037 0.099 0.127 -0.039 -0.226 -0.078 0.233 0.445 + 0.549 -0.243 0.040 1.130 -0.594 0.029 -0.073 0.034 0.007 -0.116 + 0.131 -0.067 0.027 -0.220 0.062 -0.541 -0.481 -0.058 -0.065 0.055 + 0.155 -0.139 0.169 -0.574 -0.208 0.431 0.252 -0.018 0.011 0.023 + 0.078 0.379 0.288 0.248 -0.162 -0.065 -0.530 0.536 -0.916 0.108 + -0.366 0.201 0.271 -0.426 0.590 -0.160 0.150 0.038 -0.566 -0.828 + 0.686 -1.266 -0.412 -1.006 0.211 0.160 0.001 -0.121 0.256 -0.278 + 1.183 -0.198 0.682 0.170 0.175 -0.189 -0.106 -0.581 0.501 -0.010 + 0.063 0.083 -0.118 0.063 -0.054 -0.246 -0.010 -0.169 -0.400 0.033 + -0.208 -0.120 0.064 0.391 -0.215 0.051 -0.081 0.597 -0.252 -0.021 + -0.419 1.099 -0.725 -0.169 -0.390 -0.020 -0.113 0.147 -0.109 0.249 + -0.376 -0.022 0.531 -0.156 -1.038 -0.019 -0.382 0.043 0.650 -0.898 + 0.061 -0.217 0.212 0.136 -0.836 0.027 0.392 0.010 -0.583 0.184 + 0.059 0.080 0.011 -0.035 0.036 -0.008 0.631 -0.118 0.019 -0.003 + -0.015 -0.044 0.152 0.774 0.246 -0.072 -0.208 -0.274 -0.043 -0.286 + -0.152 -0.134 0.185 -0.539 -0.075 -0.089 -0.209 1.128 -0.065 -0.608 + 0.039 -0.074 -0.065 -0.032 0.081 -0.260 0.117 -0.005 0.127 0.321 + 0.234 -1.133 0.151 0.004 0.036 -0.104 -0.142 -0.087 0.156 0.258 + 0.154 0.182 0.158 0.024 -0.862 -0.280 0.158 0.231 0.041 -0.044 + 0.480 0.168 -0.103 0.022 0.092 0.119 -0.033 0.433 0.527 0.045 + 0.241 -0.075 0.112 0.164 -0.485 0.255 0.236 -0.036 0.287 0.402 + -0.436 -0.043 -0.420 -0.061 -0.102 -0.710 0.026 0.158 0.006 -0.033 + 0.241 -0.172 -0.019 -0.094 0.253 0.084 -0.744 0.506 0.178 -0.120 + 0.287 0.059 -0.126 0.123 -0.113 -0.094 0.084 -0.252 0.402 -0.266 + 0.773 -0.521 0.566 1.278 0.002 0.005 -0.006 0.064 -0.039 0.034 + -0.170 -0.024 0.201 0.347 -0.074 -0.016 -0.075 -0.023 -0.288 0.308 + 0.109 -0.098 0.248 -0.070 0.181 -0.360 0.043 0.111 0.121 0.004 + 0.188 0.271 -0.627 -0.447 0.048 -0.133 0.190 -0.412 -0.486 -0.161 + 0.202 0.095 -0.085 0.488 -0.253 0.055 0.216 0.013 -0.240 -0.038 + 0.018 0.051 -0.208 -0.333 -0.130 0.141 0.246 0.206 0.098 0.145 + -0.005 0.196 0.037 0.096 0.691 -0.055 -0.670 0.239 -0.286 0.107 + 0.250 -0.616 0.941 1.124 -0.514 0.924 0.025 0.108 -0.333 0.815 + -0.551 -0.239 -0.149 0.687 -0.526 0.077 0.100 -0.212 0.298 0.380 + -0.274 -0.548 -0.881 0.217 0.031 -0.208 -0.031 0.943 0.342 -0.664 + 0.293 0.107 0.540 -0.076 -0.212 0.116 -0.152 0.549 -0.527 0.023 + -1.651 0.360 0.375 -0.269 -0.583 -0.105 0.016 -0.029 -0.062 -0.031 + 0.118 -0.024 0.302 -0.087 -0.071 0.525 -1.065 -0.029 0.487 -0.130 + 0.041 -0.249 -0.194 0.725 0.178 0.618 -0.935 0.455 0.031 -0.336 + -1.174 0.009 0.049 -0.046 -0.279 0.146 0.486 -0.572 -0.244 -0.389 + -0.394 -0.072 -1.812 -0.379 0.133 -0.464 -0.173 0.046 -0.072 -0.067 + -0.383 -0.593 0.354 0.008 0.070 0.232 -0.155 -0.222 0.175 -0.173 + 0.069 0.371 0.019 -0.608 -0.194 -0.131 0.058 -0.016 -0.434 0.275 + 0.221 0.123 0.291 0.007 0.403 0.832 -0.163 0.041 -1.381 0.956 + -0.011 0.129 -0.044 0.155 0.150 0.006 -0.537 -0.123 0.883 0.201 + -0.087 0.140 0.417 -0.851 0.266 -0.029 0.094 -0.165 0.267 0.273 + -0.217 -0.921 -0.360 -0.908 0.032 0.065 0.211 -0.003 -0.699 0.679 + -0.124 0.381 0.127 1.102 -0.794 -1.197 0.063 -0.103 -0.029 0.699 + -0.889 0.308 0.217 0.080 -0.104 -0.018 0.072 -0.233 -0.003 0.073 + -0.150 0.102 0.023 -0.254 0.374 0.568 -1.133 0.252 -0.058 -0.156 + 0.709 0.067 -0.167 0.102 0.003 -0.031 -0.930 0.281 0.243 0.109 + -0.294 -0.064 -0.015 -0.588 -0.090 0.099 -0.530 -0.341 0.302 -0.496 + 0.130 -0.003 -0.029 0.177 -0.349 0.234 0.967 0.218 0.149 0.057 + 0.087 0.005 -0.143 0.084 0.304 0.211 -0.166 0.359 0.527 0.053 + 0.304 -0.026 -0.331 0.177 -0.275 -0.107 0.278 0.099 -0.608 -0.071 + -0.228 0.935 -0.020 -0.308 0.059 -0.034 -0.031 0.184 0.155 -0.362 + 0.495 -0.065 -0.196 0.124 0.205 -0.261 0.504 0.366 -0.663 0.081 + 0.074 -0.085 -0.053 0.254 0.058 0.287 -0.249 0.286 0.118 0.163 + -0.030 -0.391 0.400 -0.407 -0.053 0.110 0.196 -0.264 0.622 0.929 + -0.181 -0.047 0.195 -0.558 -0.589 0.583 0.031 0.022 0.203 0.101 + 0.188 -0.011 0.038 0.101 -0.069 -0.042 0.203 -0.136 0.307 -0.554 + 0.446 -0.167 -0.040 -0.031 0.211 0.153 0.039 -0.120 0.001 0.032 + -0.196 -0.433 -0.146 0.412 0.680 0.564 0.213 -0.017 0.275 -1.373 + 1.617 0.525 -0.100 -0.407 0.236 0.019 0.156 0.132 0.084 0.142 + -0.114 0.104 -0.219 -0.155 -0.128 0.121 0.024 -0.040 -0.211 0.072 + 0.011 0.015 -0.074 -1.060 0.178 -0.685 -0.014 0.162 0.142 -0.249 + -0.619 -0.011 0.017 -0.102 0.133 0.133 0.366 0.173 0.246 -0.249 + 0.143 0.020 -0.047 0.110 0.112 -0.037 -0.225 -0.069 0.242 0.446 + 0.554 -0.216 0.026 1.093 -0.620 0.027 -0.068 0.033 -0.000 -0.115 + 0.141 -0.072 0.035 -0.205 0.073 -0.513 -0.472 -0.052 -0.062 0.051 + 0.153 -0.134 0.156 -0.558 -0.281 0.426 0.244 -0.028 0.029 0.024 + 0.094 0.381 0.291 0.243 -0.155 -0.067 -0.492 0.539 -0.898 0.098 + -0.384 0.199 0.277 -0.396 0.579 -0.154 0.138 0.041 -0.527 -0.880 + 0.689 -1.303 -0.433 -1.061 0.207 0.160 -0.008 -0.076 0.232 -0.293 + 1.130 -0.262 0.701 0.172 0.173 -0.194 -0.113 -0.600 0.507 0.034 + 0.050 0.066 -0.110 0.063 -0.056 -0.256 -0.045 -0.202 -0.432 0.012 + -0.205 -0.130 0.062 0.376 -0.184 0.076 -0.033 0.592 -0.211 -0.004 + -0.390 1.054 -0.736 -0.180 -0.380 -0.002 -0.115 0.152 -0.111 0.258 + -0.368 -0.030 0.541 -0.135 -1.063 -0.017 -0.388 0.050 0.694 -0.915 + 0.047 -0.215 0.210 0.137 -0.877 0.032 0.332 0.006 -0.590 0.166 + 0.056 0.084 0.005 -0.035 0.034 -0.022 0.595 -0.116 0.061 0.014 + -0.015 -0.039 0.136 0.801 0.259 -0.067 -0.199 -0.274 -0.041 -0.286 + -0.147 -0.134 0.224 -0.551 -0.074 -0.095 -0.215 1.129 -0.090 -0.577 + 0.038 -0.078 -0.071 -0.020 0.074 -0.241 0.106 -0.008 0.119 0.307 + 0.186 -1.136 0.139 0.004 0.043 -0.111 -0.149 -0.087 0.157 0.262 + 0.155 0.189 0.152 0.022 -0.910 -0.297 0.181 0.226 0.048 -0.038 + 0.495 0.207 -0.119 0.024 0.097 0.113 -0.057 0.423 0.499 0.042 + 0.238 -0.070 0.090 0.206 -0.454 0.208 0.245 -0.076 0.301 0.430 + -0.480 -0.041 -0.419 -0.061 -0.109 -0.767 0.102 0.160 0.011 -0.032 + 0.233 -0.163 -0.021 -0.104 0.252 0.091 -0.732 0.496 0.176 -0.125 + 0.264 0.058 -0.125 0.144 -0.130 -0.100 0.078 -0.251 0.371 -0.228 + 0.785 -0.544 0.537 1.248 0.010 0.012 0.005 0.063 -0.042 0.048 + -0.155 -0.032 0.180 0.340 -0.072 -0.016 -0.033 0.000 -0.254 0.299 + 0.114 -0.098 0.247 -0.076 0.180 -0.372 -0.001 0.093 0.120 0.006 + 0.186 0.304 -0.624 -0.449 0.043 -0.138 0.184 -0.408 -0.531 -0.134 + 0.202 0.103 -0.084 0.519 -0.235 0.059 0.214 0.005 -0.251 -0.046 + 0.026 0.055 -0.213 -0.324 -0.130 0.149 0.230 0.194 0.060 0.143 + -0.032 0.190 0.026 0.098 0.653 -0.036 -0.677 0.243 -0.284 0.106 + 0.247 -0.600 0.922 1.183 -0.492 0.918 0.018 0.107 -0.339 0.828 + -0.568 -0.151 -0.146 0.653 -0.524 0.074 0.105 -0.211 0.299 0.393 + -0.263 -0.532 -0.839 0.213 0.036 -0.212 -0.030 0.887 0.390 -0.660 + 0.298 0.089 0.544 -0.073 -0.209 0.125 -0.088 0.504 -0.511 -0.006 + -1.677 0.342 0.361 -0.291 -0.541 -0.104 0.007 -0.022 -0.064 -0.033 + 0.114 -0.025 0.309 -0.093 -0.084 0.538 -1.025 -0.066 0.529 -0.170 + 0.035 -0.249 -0.194 0.701 0.191 0.613 -0.927 0.454 0.014 -0.380 + -1.170 0.000 0.054 -0.046 -0.274 0.117 0.469 -0.546 -0.233 -0.389 + -0.378 -0.099 -1.853 -0.427 0.116 -0.497 -0.145 0.042 -0.072 -0.069 + -0.361 -0.593 0.360 0.022 0.082 0.230 -0.158 -0.216 0.172 -0.167 + 0.071 0.372 0.011 -0.588 -0.204 -0.116 0.056 -0.014 -0.449 0.246 + 0.211 0.116 0.297 0.005 0.431 0.836 -0.177 0.040 -1.392 0.965 + -0.012 0.125 -0.037 0.153 0.135 -0.003 -0.485 -0.125 0.868 0.195 + -0.086 0.133 0.464 -0.833 0.287 -0.053 0.083 -0.160 0.284 0.268 + -0.224 -0.889 -0.363 -0.886 0.040 0.069 0.208 -0.014 -0.727 0.638 + -0.130 0.366 0.121 1.135 -0.809 -1.212 0.045 -0.110 -0.007 0.697 + -0.853 0.294 0.220 0.095 -0.104 -0.029 0.069 -0.229 -0.012 0.061 + -0.145 0.092 0.012 -0.244 0.388 0.549 -1.121 0.258 -0.057 -0.159 + 0.683 0.041 -0.181 0.109 0.012 -0.020 -0.941 0.292 0.199 0.105 + -0.295 -0.074 -0.012 -0.562 -0.065 0.117 -0.507 -0.346 0.300 -0.497 + 0.103 -0.008 -0.025 0.176 -0.309 0.117 0.949 0.217 0.154 0.043 + 0.091 0.009 -0.150 0.082 0.296 0.202 -0.172 0.351 0.514 0.049 + 0.296 -0.023 -0.356 0.168 -0.238 -0.105 0.288 0.092 -0.611 -0.105 + -0.251 0.927 -0.067 -0.287 0.060 -0.050 -0.035 0.182 0.171 -0.363 + 0.478 -0.096 -0.208 0.123 0.209 -0.260 0.504 0.346 -0.651 0.089 + 0.057 -0.082 -0.060 0.253 0.056 0.282 -0.245 0.277 0.132 0.171 + -0.030 -0.386 0.397 -0.398 -0.057 0.103 0.203 -0.329 0.651 0.901 + -0.187 -0.033 0.203 -0.573 -0.609 0.583 0.032 0.020 0.204 0.101 + 0.198 0.000 0.038 0.096 -0.068 -0.043 0.208 -0.125 0.332 -0.520 + 0.398 -0.165 -0.037 -0.028 0.205 0.207 0.024 -0.120 0.010 0.025 + -0.210 -0.416 -0.196 0.449 0.691 0.616 0.217 -0.026 0.283 -1.372 + 1.613 0.526 -0.122 -0.413 0.230 0.003 0.154 0.135 0.082 0.133 + -0.116 0.107 -0.211 -0.162 -0.124 0.130 0.026 -0.048 -0.216 0.072 + -0.001 0.023 -0.074 -1.057 0.202 -0.689 -0.020 0.151 0.142 -0.292 + -0.584 -0.000 0.017 -0.106 0.135 0.166 0.368 0.219 0.241 -0.240 + 0.159 0.019 -0.035 0.122 0.108 -0.035 -0.222 -0.058 0.242 0.443 + 0.562 -0.212 0.029 1.025 -0.603 0.027 -0.065 0.032 -0.013 -0.127 + 0.149 -0.065 0.031 -0.200 0.075 -0.493 -0.484 -0.040 -0.055 0.041 + 0.151 -0.118 0.178 -0.538 -0.277 0.436 0.231 -0.027 0.039 0.029 + 0.101 0.379 0.296 0.243 -0.173 -0.069 -0.508 0.502 -0.891 0.108 + -0.377 0.188 0.290 -0.427 0.609 -0.145 0.134 0.035 -0.489 -0.822 + 0.655 -1.305 -0.439 -1.052 0.198 0.167 -0.015 -0.056 0.259 -0.264 + 1.137 -0.293 0.709 0.169 0.171 -0.191 -0.108 -0.585 0.535 0.051 + 0.046 0.057 -0.106 0.062 -0.048 -0.270 -0.065 -0.246 -0.414 -0.026 + -0.177 -0.124 0.055 0.371 -0.185 0.130 -0.031 0.586 -0.214 -0.039 + -0.391 1.054 -0.698 -0.181 -0.380 -0.005 -0.110 0.147 -0.117 0.262 + -0.367 -0.042 0.523 -0.127 -1.064 0.000 -0.383 0.041 0.669 -0.853 + 0.030 -0.218 0.212 0.147 -0.853 0.034 0.287 0.033 -0.520 0.159 + 0.046 0.093 0.003 -0.034 0.025 -0.018 0.592 -0.113 0.097 0.011 + -0.026 -0.033 0.134 0.776 0.238 -0.069 -0.192 -0.284 -0.044 -0.277 + -0.134 -0.131 0.189 -0.566 -0.089 -0.094 -0.210 1.080 -0.078 -0.563 + 0.045 -0.079 -0.078 0.039 0.080 -0.253 0.100 -0.005 0.108 0.310 + 0.184 -1.160 0.138 -0.013 0.048 -0.109 -0.158 -0.103 0.158 0.250 + 0.142 0.202 0.160 0.017 -0.856 -0.293 0.172 0.228 0.050 -0.037 + 0.462 0.220 -0.096 0.028 0.098 0.121 -0.112 0.391 0.456 0.036 + 0.236 -0.067 0.101 0.204 -0.440 0.230 0.289 -0.096 0.284 0.470 + -0.465 -0.042 -0.423 -0.061 -0.114 -0.786 0.156 0.173 0.012 -0.034 + 0.237 -0.168 -0.015 -0.099 0.243 0.088 -0.721 0.493 0.179 -0.128 + 0.255 0.054 -0.115 0.142 -0.160 -0.100 0.084 -0.250 0.408 -0.213 + 0.736 -0.557 0.501 1.202 0.004 0.017 -0.001 0.070 -0.057 0.032 + -0.161 -0.017 0.147 0.330 -0.066 -0.021 -0.043 0.016 -0.255 0.299 + 0.112 -0.102 0.236 -0.070 0.177 -0.343 -0.018 0.115 0.131 -0.003 + 0.179 0.318 -0.598 -0.501 0.026 -0.137 0.179 -0.365 -0.543 -0.121 + 0.204 0.109 -0.082 0.528 -0.217 0.034 0.210 -0.017 -0.254 -0.041 + 0.040 0.054 -0.209 -0.332 -0.119 0.145 0.228 0.185 0.038 0.146 + 0.014 0.190 0.033 0.101 0.679 0.011 -0.674 0.236 -0.283 0.107 + 0.250 -0.580 0.936 1.189 -0.455 0.922 0.024 0.103 -0.351 0.800 + -0.571 -0.113 -0.140 0.632 -0.528 0.066 0.114 -0.212 0.233 0.389 + -0.274 -0.537 -0.829 0.223 0.031 -0.214 -0.034 0.882 0.413 -0.679 + 0.299 0.070 0.559 -0.074 -0.210 0.125 -0.066 0.501 -0.473 -0.038 + -1.617 0.315 0.360 -0.323 -0.491 -0.101 0.000 -0.015 -0.065 -0.034 + 0.118 -0.022 0.310 -0.077 -0.141 0.511 -1.031 -0.058 0.504 -0.204 + 0.027 -0.233 -0.210 0.665 0.186 0.572 -0.912 0.441 0.027 -0.380 + -1.129 -0.023 0.066 -0.047 -0.283 0.054 0.491 -0.512 -0.239 -0.384 + -0.368 -0.078 -1.834 -0.473 0.148 -0.490 -0.117 0.033 -0.061 -0.071 + -0.309 -0.615 0.324 0.027 0.090 0.232 -0.161 -0.215 0.178 -0.155 + 0.065 0.357 0.031 -0.543 -0.191 -0.116 0.067 -0.009 -0.474 0.232 + 0.216 0.106 0.303 0.009 0.414 0.858 -0.156 0.048 -1.414 0.932 + -0.021 0.136 -0.030 0.164 0.127 -0.004 -0.441 -0.157 0.842 0.188 + -0.090 0.139 0.516 -0.834 0.335 -0.075 0.070 -0.176 0.287 0.263 + -0.224 -0.854 -0.386 -0.884 0.044 0.082 0.216 -0.058 -0.730 0.596 + -0.135 0.363 0.114 1.154 -0.778 -1.176 0.041 -0.107 0.002 0.695 + -0.824 0.273 0.225 0.104 -0.115 -0.031 0.064 -0.220 -0.012 0.073 + -0.143 0.095 0.013 -0.246 0.379 0.562 -1.115 0.253 -0.053 -0.151 + 0.679 0.041 -0.146 0.102 0.005 -0.028 -0.952 0.278 0.201 0.096 + -0.305 -0.082 -0.045 -0.517 -0.041 0.079 -0.473 -0.385 0.301 -0.466 + 0.113 -0.017 -0.022 0.183 -0.309 0.047 0.883 0.230 0.146 0.041 + 0.101 0.008 -0.151 0.079 0.297 0.201 -0.214 0.317 0.482 0.059 + 0.292 -0.018 -0.332 0.167 -0.198 -0.104 0.287 0.092 -0.605 -0.122 + -0.271 0.920 -0.066 -0.256 0.066 -0.054 -0.037 0.183 0.172 -0.367 + 0.522 -0.073 -0.249 0.130 0.215 -0.262 0.510 0.336 -0.669 0.087 + 0.050 -0.073 -0.062 0.258 0.054 0.236 -0.209 0.254 0.140 0.161 + -0.035 -0.384 0.408 -0.414 -0.070 0.103 0.201 -0.317 0.612 0.866 + -0.192 -0.026 0.203 -0.606 -0.622 0.551 0.032 0.027 0.211 0.112 + 0.200 0.009 0.023 0.111 -0.081 -0.040 0.213 -0.123 0.388 -0.524 + 0.318 -0.156 -0.034 -0.012 0.205 0.169 0.022 -0.117 0.019 0.014 + -0.179 -0.396 -0.181 0.454 0.628 0.636 0.230 -0.039 0.267 -1.372 + 1.622 0.508 -0.082 -0.358 0.219 0.001 0.145 0.146 0.085 0.131 + -0.128 0.096 -0.221 -0.172 -0.134 0.133 0.024 -0.050 -0.218 0.068 + -0.020 0.031 -0.082 -1.030 0.205 -0.669 -0.018 0.128 0.139 -0.291 + -0.597 -0.004 0.023 -0.098 0.132 0.203 0.321 0.241 0.256 -0.156 + 0.185 0.009 -0.036 0.128 0.094 -0.033 -0.224 -0.057 0.243 0.439 + 0.557 -0.188 0.012 0.948 -0.575 -0.004 -0.061 0.038 -0.030 -0.130 + 0.155 -0.066 0.023 -0.208 0.077 -0.489 -0.476 -0.033 -0.043 0.045 + 0.164 -0.104 0.217 -0.475 -0.330 0.433 0.255 -0.024 0.053 0.030 + 0.100 0.381 0.297 0.236 -0.182 -0.066 -0.513 0.487 -0.886 0.121 + -0.365 0.174 0.250 -0.455 0.631 -0.148 0.127 0.030 -0.490 -0.844 + 0.648 -1.285 -0.421 -1.069 0.192 0.168 -0.015 -0.086 0.266 -0.278 + 1.154 -0.296 0.717 0.163 0.173 -0.189 -0.132 -0.591 0.584 0.055 + 0.050 0.047 -0.109 0.074 -0.042 -0.236 -0.105 -0.278 -0.412 -0.016 + -0.223 -0.121 0.041 0.362 -0.187 0.175 -0.034 0.546 -0.209 -0.007 + -0.400 1.013 -0.654 -0.178 -0.373 -0.009 -0.110 0.161 -0.120 0.251 + -0.375 -0.040 0.494 -0.091 -1.039 0.005 -0.386 0.037 0.678 -0.811 + -0.003 -0.219 0.203 0.166 -0.867 0.078 0.237 0.024 -0.513 0.146 + 0.039 0.096 0.002 -0.030 0.010 -0.014 0.548 -0.149 0.160 0.004 + -0.015 -0.038 0.157 0.762 0.260 -0.076 -0.185 -0.280 -0.046 -0.279 + -0.152 -0.131 0.138 -0.535 -0.097 -0.107 -0.200 1.084 -0.109 -0.567 + 0.055 -0.071 -0.085 0.006 0.088 -0.247 0.092 -0.002 0.108 0.288 + 0.206 -1.209 0.129 -0.015 0.060 -0.117 -0.154 -0.099 0.154 0.263 + 0.147 0.193 0.162 0.000 -0.850 -0.257 0.195 0.225 0.056 -0.040 + 0.471 0.210 -0.045 0.031 0.092 0.106 -0.141 0.393 0.425 0.022 + 0.222 -0.072 0.096 0.221 -0.435 0.259 0.337 -0.115 0.315 0.549 + -0.474 -0.033 -0.423 -0.063 -0.081 -0.828 0.179 0.190 0.025 -0.023 + 0.229 -0.164 -0.019 -0.101 0.248 0.092 -0.711 0.493 0.197 -0.134 + 0.245 0.061 -0.116 0.133 -0.178 -0.095 0.101 -0.264 0.439 -0.168 + 0.691 -0.541 0.501 1.194 0.004 0.032 -0.005 0.067 -0.053 0.029 + -0.137 -0.007 0.187 0.316 -0.063 -0.029 -0.019 0.027 -0.230 0.290 + 0.121 -0.095 0.230 -0.074 0.183 -0.326 -0.065 0.068 0.136 -0.014 + 0.178 0.310 -0.626 -0.488 0.020 -0.130 0.173 -0.323 -0.549 -0.134 + 0.206 0.122 -0.079 0.511 -0.235 0.017 0.209 -0.029 -0.254 -0.043 + 0.040 0.061 -0.195 -0.335 -0.116 0.143 0.226 0.184 0.039 0.220 + -0.019 0.177 0.037 0.107 0.704 0.035 -0.631 0.236 -0.277 0.106 + 0.284 -0.582 0.923 1.194 -0.442 0.928 0.036 0.102 -0.361 0.802 + -0.506 -0.051 -0.167 0.595 -0.493 0.069 0.109 -0.217 0.242 0.395 + -0.269 -0.502 -0.819 0.214 0.038 -0.217 -0.021 0.833 0.465 -0.687 + 0.277 0.066 0.600 -0.065 -0.213 0.125 -0.020 0.495 -0.416 -0.043 + -1.554 0.299 0.305 -0.347 -0.525 -0.104 0.009 -0.015 -0.058 -0.029 + 0.127 -0.019 0.316 -0.089 -0.144 0.541 -1.024 -0.096 0.502 -0.247 + 0.024 -0.228 -0.221 0.659 0.174 0.507 -0.912 0.454 0.037 -0.423 + -1.153 -0.084 0.064 -0.040 -0.274 0.061 0.471 -0.477 -0.222 -0.379 + -0.360 -0.049 -1.831 -0.456 0.178 -0.476 -0.052 0.023 -0.069 -0.078 + -0.262 -0.606 0.280 0.033 0.079 0.231 -0.154 -0.216 0.189 -0.145 + 0.072 0.357 0.007 -0.547 -0.187 -0.109 0.048 -0.001 -0.481 0.225 + 0.217 0.096 0.304 0.001 0.404 0.836 -0.109 0.034 -1.402 0.897 + -0.032 0.143 -0.022 0.169 0.126 -0.011 -0.415 -0.128 0.851 0.188 + -0.100 0.128 0.541 -0.808 0.325 -0.090 0.067 -0.172 0.292 0.268 + -0.234 -0.836 -0.410 -0.802 0.042 0.082 0.218 -0.081 -0.718 0.569 + -0.126 0.359 0.112 1.171 -0.790 -1.155 0.021 -0.099 0.003 0.714 + -0.798 0.263 0.237 0.113 -0.107 -0.037 0.070 -0.224 -0.004 0.066 + -0.138 0.102 0.011 -0.254 0.389 0.608 -1.068 0.253 -0.055 -0.153 + 0.681 0.047 -0.144 0.099 -0.001 -0.025 -0.926 0.284 0.186 0.087 + -0.309 -0.083 -0.052 -0.495 -0.017 0.062 -0.481 -0.387 0.288 -0.452 + 0.124 -0.025 -0.025 0.183 -0.275 -0.067 0.872 0.234 0.138 0.033 + 0.114 0.014 -0.149 0.074 0.294 0.208 -0.259 0.277 0.479 0.054 + 0.302 -0.031 -0.357 0.143 -0.169 -0.104 0.278 0.078 -0.575 -0.150 + -0.300 0.903 -0.113 -0.295 0.065 -0.056 -0.044 0.181 0.175 -0.363 + 0.509 -0.105 -0.259 0.128 0.209 -0.265 0.506 0.305 -0.644 0.074 + 0.041 -0.070 -0.066 0.255 0.045 0.274 -0.200 0.281 0.131 0.169 + -0.037 -0.313 0.445 -0.407 -0.077 0.095 0.200 -0.261 0.613 0.835 + -0.196 -0.025 0.208 -0.567 -0.623 0.537 0.027 0.038 0.218 0.119 + 0.196 0.012 0.032 0.124 -0.085 -0.035 0.211 -0.122 0.362 -0.543 + 0.280 -0.156 -0.033 0.001 0.194 0.179 0.010 -0.104 0.015 0.016 + -0.183 -0.385 -0.194 0.411 0.584 0.645 0.247 -0.041 0.248 -1.408 + 1.642 0.467 -0.065 -0.316 0.220 -0.012 0.129 0.158 0.086 0.136 + -0.134 0.097 -0.206 -0.166 -0.119 0.139 0.021 -0.052 -0.209 0.071 + -0.031 0.028 -0.088 -1.029 0.230 -0.663 -0.010 0.123 0.140 -0.341 + -0.541 0.018 0.011 -0.087 0.117 0.226 0.285 0.252 0.258 -0.156 + 0.232 0.025 -0.046 0.140 0.096 -0.039 -0.226 -0.052 0.241 0.443 + 0.553 -0.170 0.016 0.903 -0.539 0.018 -0.055 0.033 -0.034 -0.139 + 0.155 -0.066 0.025 -0.208 0.072 -0.506 -0.453 -0.061 -0.033 0.036 + 0.163 -0.086 0.220 -0.482 -0.361 0.406 0.234 -0.030 0.058 0.020 + 0.100 0.373 0.290 0.235 -0.185 -0.065 -0.450 0.421 -0.831 0.119 + -0.370 0.170 0.230 -0.468 0.614 -0.155 0.139 0.026 -0.456 -0.874 + 0.656 -1.310 -0.442 -1.050 0.196 0.165 -0.029 -0.068 0.224 -0.236 + 1.124 -0.272 0.739 0.162 0.183 -0.175 -0.088 -0.570 0.596 0.109 + 0.046 0.043 -0.115 0.078 -0.052 -0.198 -0.155 -0.275 -0.389 -0.052 + -0.251 -0.133 0.029 0.351 -0.141 0.188 0.007 0.540 -0.193 0.052 + -0.421 1.042 -0.671 -0.188 -0.370 -0.001 -0.112 0.155 -0.126 0.247 + -0.364 -0.033 0.460 -0.060 -1.077 0.003 -0.375 0.042 0.658 -0.795 + -0.044 -0.213 0.189 0.163 -0.866 0.104 0.178 0.022 -0.541 0.113 + 0.036 0.109 0.005 -0.036 0.000 -0.016 0.576 -0.146 0.196 0.008 + -0.017 -0.040 0.151 0.757 0.254 -0.066 -0.183 -0.284 -0.044 -0.290 + -0.157 -0.095 0.173 -0.505 -0.097 -0.117 -0.209 1.064 -0.102 -0.579 + 0.053 -0.078 -0.080 0.026 0.033 -0.216 0.084 0.005 0.102 0.310 + 0.158 -1.210 0.132 -0.014 0.057 -0.125 -0.151 -0.098 0.159 0.265 + 0.148 0.186 0.157 -0.001 -0.819 -0.291 0.214 0.215 0.071 -0.055 + 0.426 0.213 -0.063 0.046 0.080 0.115 -0.182 0.417 0.428 0.024 + 0.220 -0.087 0.093 0.199 -0.432 0.249 0.321 -0.098 0.343 0.561 + -0.518 -0.027 -0.408 -0.071 -0.072 -0.868 0.204 0.184 0.021 -0.019 + 0.226 -0.167 -0.016 -0.094 0.251 0.090 -0.740 0.486 0.194 -0.142 + 0.247 0.056 -0.156 0.084 -0.190 -0.083 0.093 -0.264 0.451 -0.194 + 0.725 -0.552 0.478 1.220 -0.006 0.029 -0.009 0.063 -0.049 0.024 + -0.133 -0.010 0.193 0.327 -0.065 -0.025 -0.055 -0.002 -0.260 0.282 + 0.126 -0.102 0.216 -0.072 0.189 -0.348 -0.077 0.028 0.137 -0.011 + 0.171 0.264 -0.613 -0.487 0.007 -0.109 0.171 -0.302 -0.527 -0.101 + 0.203 0.127 -0.078 0.493 -0.238 -0.007 0.197 -0.039 -0.243 -0.048 + 0.034 0.064 -0.205 -0.328 -0.111 0.138 0.222 0.172 0.064 0.185 + -0.009 0.175 0.034 0.109 0.705 0.048 -0.668 0.234 -0.278 0.112 + 0.304 -0.591 0.925 1.152 -0.460 0.874 0.036 0.092 -0.362 0.791 + -0.508 0.003 -0.188 0.529 -0.503 0.059 0.111 -0.213 0.191 0.407 + -0.282 -0.515 -0.751 0.148 0.028 -0.214 -0.025 0.780 0.456 -0.734 + 0.263 0.024 0.605 -0.064 -0.211 0.120 -0.018 0.537 -0.368 -0.050 + -1.528 0.253 0.273 -0.341 -0.501 -0.116 0.016 -0.019 -0.048 -0.044 + 0.125 -0.009 0.310 -0.083 -0.123 0.541 -1.037 -0.086 0.492 -0.286 + 0.034 -0.231 -0.228 0.596 0.181 0.523 -0.910 0.436 0.054 -0.479 + -1.182 -0.134 0.061 -0.038 -0.268 0.013 0.456 -0.445 -0.217 -0.379 + -0.346 -0.062 -1.819 -0.462 0.173 -0.488 -0.050 0.023 -0.067 -0.089 + -0.216 -0.578 0.262 0.039 0.084 0.249 -0.165 -0.220 0.187 -0.141 + 0.082 0.350 -0.004 -0.489 -0.211 -0.111 0.041 0.013 -0.516 0.216 + 0.204 0.100 0.312 -0.008 0.437 0.797 -0.112 0.037 -1.367 0.870 + -0.014 0.138 -0.012 0.179 0.116 -0.015 -0.396 -0.157 0.859 0.181 + -0.100 0.117 0.528 -0.791 0.384 -0.097 0.068 -0.176 0.289 0.268 + -0.236 -0.793 -0.380 -0.785 0.045 0.090 0.230 -0.094 -0.749 0.512 + -0.125 0.356 0.118 1.161 -0.771 -1.163 0.013 -0.087 0.010 0.698 + -0.780 0.298 0.243 0.119 -0.109 -0.058 0.076 -0.218 -0.001 0.072 + -0.129 0.097 0.016 -0.251 0.376 0.596 -1.041 0.256 -0.052 -0.153 + 0.688 0.058 -0.144 0.090 0.011 -0.018 -0.937 0.265 0.206 0.085 + -0.315 -0.086 -0.039 -0.485 -0.040 0.063 -0.430 -0.392 0.303 -0.396 + 0.114 -0.029 -0.016 0.186 -0.242 -0.110 0.844 0.239 0.133 0.028 + 0.116 0.023 -0.151 0.064 0.290 0.218 -0.262 0.283 0.463 0.043 + 0.300 -0.042 -0.353 0.143 -0.106 -0.107 0.284 0.077 -0.531 -0.160 + -0.281 0.929 -0.163 -0.273 0.076 -0.060 -0.044 0.190 0.163 -0.364 + 0.468 -0.106 -0.255 0.134 0.194 -0.269 0.551 0.308 -0.626 0.075 + 0.031 -0.062 -0.076 0.255 0.030 0.247 -0.230 0.261 0.143 0.186 + -0.021 -0.286 0.466 -0.416 -0.075 0.084 0.206 -0.223 0.622 0.801 + -0.202 -0.011 0.204 -0.546 -0.598 0.504 0.029 0.051 0.215 0.127 + 0.192 0.002 0.029 0.125 -0.088 -0.040 0.216 -0.121 0.356 -0.573 + 0.216 -0.154 -0.043 0.012 0.222 0.162 0.015 -0.126 0.018 0.031 + -0.209 -0.393 -0.181 0.444 0.559 0.643 0.248 -0.035 0.246 -1.404 + 1.644 0.474 -0.029 -0.304 0.184 -0.024 0.120 0.162 0.085 0.144 + -0.136 0.099 -0.207 -0.177 -0.115 0.134 0.015 -0.058 -0.205 0.081 + -0.029 0.021 -0.082 -1.005 0.233 -0.643 -0.013 0.127 0.146 -0.354 + -0.488 0.030 0.015 -0.097 0.120 0.254 0.272 0.211 0.204 -0.111 + 0.204 0.027 -0.041 0.151 0.101 -0.041 -0.231 -0.039 0.242 0.444 + 0.594 -0.180 0.046 0.895 -0.515 0.043 -0.046 0.025 -0.033 -0.141 + 0.156 -0.053 0.014 -0.202 0.069 -0.478 -0.464 -0.091 -0.020 0.041 + 0.169 -0.058 0.256 -0.493 -0.419 0.375 0.246 -0.031 0.055 0.006 + 0.106 0.374 0.283 0.240 -0.192 -0.067 -0.427 0.412 -0.788 0.136 + -0.360 0.163 0.235 -0.412 0.664 -0.154 0.146 0.042 -0.437 -0.850 + 0.658 -1.282 -0.391 -1.014 0.190 0.166 -0.038 -0.077 0.248 -0.227 + 1.111 -0.301 0.707 0.152 0.173 -0.168 -0.075 -0.554 0.613 0.143 + 0.087 0.029 -0.108 0.083 -0.063 -0.201 -0.189 -0.292 -0.367 -0.066 + -0.233 -0.146 0.032 0.341 -0.113 0.246 0.011 0.530 -0.200 0.100 + -0.372 0.977 -0.690 -0.196 -0.348 -0.002 -0.101 0.153 -0.124 0.239 + -0.371 -0.038 0.480 -0.062 -1.069 0.008 -0.377 0.031 0.672 -0.772 + -0.076 -0.204 0.180 0.175 -0.902 0.091 0.122 -0.028 -0.523 0.078 + 0.021 0.113 -0.002 -0.044 -0.007 -0.024 0.550 -0.169 0.208 0.016 + -0.008 -0.029 0.137 0.710 0.247 -0.046 -0.179 -0.276 -0.057 -0.283 + -0.161 -0.102 0.171 -0.493 -0.100 -0.108 -0.227 1.019 -0.125 -0.575 + 0.068 -0.076 -0.076 -0.014 0.020 -0.180 0.075 0.007 0.102 0.315 + 0.155 -1.185 0.117 -0.030 0.075 -0.117 -0.144 -0.088 0.162 0.250 + 0.145 0.177 0.162 -0.009 -0.801 -0.307 0.210 0.225 0.076 -0.051 + 0.403 0.170 -0.050 0.052 0.067 0.118 -0.204 0.431 0.406 0.023 + 0.211 -0.090 0.059 0.179 -0.404 0.251 0.339 -0.114 0.333 0.568 + -0.478 -0.020 -0.393 -0.078 -0.081 -0.890 0.221 0.187 0.026 -0.021 + 0.226 -0.175 -0.011 -0.091 0.262 0.094 -0.730 0.418 0.175 -0.136 + 0.241 0.066 -0.179 0.065 -0.229 -0.072 0.094 -0.260 0.432 -0.187 + 0.756 -0.528 0.450 1.206 -0.004 0.032 -0.003 0.066 -0.045 0.023 + -0.155 0.033 0.157 0.322 -0.058 -0.034 -0.062 0.022 -0.259 0.283 + 0.130 -0.100 0.202 -0.065 0.181 -0.357 -0.112 0.024 0.144 -0.021 + 0.165 0.229 -0.691 -0.474 0.008 -0.101 0.163 -0.256 -0.582 -0.081 + 0.196 0.120 -0.078 0.509 -0.264 -0.033 0.205 -0.047 -0.240 -0.039 + 0.041 0.063 -0.215 -0.319 -0.107 0.139 0.218 0.174 0.061 0.183 + 0.043 0.171 0.041 0.109 0.709 0.041 -0.624 0.239 -0.290 0.119 + 0.354 -0.564 0.924 1.180 -0.467 0.830 0.042 0.096 -0.377 0.785 + -0.545 0.054 -0.159 0.513 -0.461 0.065 0.107 -0.201 0.225 0.375 + -0.278 -0.537 -0.703 0.129 0.014 -0.211 -0.029 0.768 0.396 -0.765 + 0.279 -0.014 0.567 -0.070 -0.212 0.116 0.008 0.561 -0.354 -0.074 + -1.458 0.280 0.268 -0.360 -0.468 -0.117 0.018 -0.022 -0.046 -0.046 + 0.124 0.002 0.301 -0.075 -0.115 0.551 -1.067 -0.058 0.496 -0.315 + 0.030 -0.233 -0.233 0.569 0.210 0.495 -0.926 0.403 0.078 -0.509 + -1.197 -0.186 0.056 -0.051 -0.270 -0.079 0.431 -0.419 -0.225 -0.381 + -0.340 -0.057 -1.792 -0.475 0.158 -0.448 -0.060 0.012 -0.064 -0.084 + -0.163 -0.580 0.267 0.034 0.076 0.263 -0.171 -0.231 0.181 -0.139 + 0.083 0.334 -0.042 -0.415 -0.153 -0.096 0.030 0.019 -0.509 0.255 + 0.183 0.088 0.312 -0.010 0.453 0.770 -0.139 0.042 -1.387 0.848 + -0.016 0.144 0.003 0.184 0.123 -0.008 -0.355 -0.194 0.796 0.170 + -0.104 0.112 0.517 -0.776 0.390 -0.116 0.063 -0.166 0.294 0.260 + -0.239 -0.779 -0.337 -0.781 0.048 0.089 0.225 -0.137 -0.738 0.447 + -0.121 0.343 0.107 1.170 -0.736 -1.147 -0.000 -0.085 0.026 0.699 + -0.736 0.300 0.245 0.116 -0.116 -0.059 0.084 -0.212 -0.007 0.073 + -0.118 0.095 0.020 -0.249 0.401 0.675 -1.046 0.245 -0.057 -0.164 + 0.690 0.071 -0.130 0.089 0.016 -0.015 -0.869 0.269 0.178 0.104 + -0.324 -0.084 -0.020 -0.489 -0.001 0.040 -0.403 -0.371 0.306 -0.399 + 0.126 -0.034 -0.015 0.188 -0.179 -0.155 0.819 0.245 0.129 0.014 + 0.111 0.020 -0.151 0.060 0.281 0.214 -0.238 0.254 0.445 0.051 + 0.292 -0.048 -0.389 0.121 -0.089 -0.100 0.288 0.076 -0.503 -0.170 + -0.303 0.931 -0.180 -0.242 0.078 -0.057 -0.044 0.183 0.158 -0.373 + 0.472 -0.096 -0.239 0.139 0.190 -0.269 0.549 0.313 -0.597 0.079 + 0.030 -0.064 -0.082 0.246 0.026 0.194 -0.203 0.291 0.140 0.189 + -0.020 -0.254 0.506 -0.431 -0.070 0.068 0.207 -0.232 0.611 0.817 + -0.207 0.002 0.215 -0.519 -0.559 0.489 0.028 0.057 0.214 0.130 + 0.197 0.014 0.034 0.113 -0.096 -0.038 0.215 -0.111 0.342 -0.591 + 0.175 -0.143 -0.056 0.020 0.196 0.171 -0.027 -0.130 0.020 0.037 + -0.231 -0.433 -0.165 0.406 0.505 0.665 0.253 -0.027 0.246 -1.423 + 1.660 0.438 -0.015 -0.279 0.208 -0.032 0.127 0.153 0.094 0.142 + -0.132 0.094 -0.197 -0.180 -0.117 0.148 0.019 -0.062 -0.205 0.077 + -0.038 0.024 -0.093 -0.947 0.259 -0.590 -0.010 0.115 0.141 -0.346 + -0.435 0.061 0.011 -0.091 0.125 0.303 0.242 0.177 0.245 -0.116 + 0.225 0.030 -0.046 0.148 0.090 -0.032 -0.241 -0.035 0.256 0.434 + 0.591 -0.178 0.053 0.865 -0.499 -0.002 -0.038 0.038 -0.023 -0.150 + 0.155 -0.045 0.021 -0.185 0.067 -0.501 -0.472 -0.113 -0.018 0.042 + 0.179 -0.064 0.284 -0.448 -0.442 0.387 0.179 -0.037 0.062 -0.003 + 0.104 0.373 0.295 0.240 -0.206 -0.069 -0.421 0.378 -0.799 0.144 + -0.352 0.167 0.170 -0.380 0.680 -0.159 0.135 0.047 -0.443 -0.806 + 0.708 -1.300 -0.381 -1.029 0.190 0.163 -0.045 -0.123 0.243 -0.249 + 1.112 -0.278 0.704 0.152 0.173 -0.155 -0.082 -0.542 0.613 0.211 + 0.120 -0.022 -0.118 0.085 -0.073 -0.221 -0.195 -0.318 -0.340 -0.023 + -0.210 -0.145 0.026 0.322 -0.128 0.253 -0.018 0.543 -0.191 0.112 + -0.396 0.944 -0.659 -0.188 -0.346 0.002 -0.103 0.146 -0.132 0.226 + -0.373 -0.036 0.488 -0.056 -1.041 0.003 -0.371 0.029 0.653 -0.739 + -0.091 -0.198 0.177 0.188 -0.886 0.111 0.038 -0.016 -0.502 0.103 + 0.016 0.123 -0.004 -0.041 -0.005 -0.031 0.565 -0.180 0.198 0.021 + 0.006 -0.025 0.093 0.750 0.262 -0.038 -0.178 -0.278 -0.062 -0.290 + -0.155 -0.110 0.174 -0.477 -0.084 -0.116 -0.223 1.010 -0.138 -0.553 + 0.061 -0.087 -0.078 0.011 0.037 -0.168 0.089 0.009 0.094 0.305 + 0.200 -1.133 0.113 -0.026 0.092 -0.118 -0.146 -0.081 0.164 0.243 + 0.135 0.175 0.165 -0.022 -0.741 -0.346 0.206 0.221 0.074 -0.046 + 0.385 0.202 -0.070 0.050 0.065 0.131 -0.175 0.452 0.387 0.027 + 0.209 -0.088 0.053 0.158 -0.431 0.275 0.363 -0.118 0.300 0.561 + -0.465 -0.017 -0.383 -0.081 -0.076 -0.899 0.282 0.188 0.027 -0.039 + 0.223 -0.184 -0.003 -0.091 0.276 0.093 -0.702 0.409 0.184 -0.140 + 0.219 0.076 -0.189 0.039 -0.228 -0.072 0.094 -0.258 0.408 -0.150 + 0.746 -0.539 0.404 1.185 -0.001 0.031 -0.009 0.071 -0.052 0.017 + -0.169 -0.010 0.131 0.322 -0.061 -0.032 -0.077 -0.041 -0.293 0.271 + 0.129 -0.093 0.207 -0.060 0.180 -0.299 -0.132 0.046 0.142 -0.028 + 0.156 0.213 -0.709 -0.432 0.009 -0.098 0.161 -0.246 -0.615 -0.086 + 0.197 0.127 -0.068 0.500 -0.290 -0.066 0.196 -0.065 -0.230 -0.031 + 0.043 0.062 -0.218 -0.323 -0.095 0.141 0.209 0.175 0.108 0.218 + 0.051 0.164 0.048 0.104 0.675 0.014 -0.599 0.239 -0.281 0.125 + 0.377 -0.515 0.890 1.174 -0.488 0.820 0.046 0.101 -0.363 0.801 + -0.505 0.097 -0.124 0.469 -0.439 0.068 0.094 -0.212 0.210 0.349 + -0.277 -0.515 -0.682 0.160 0.010 -0.213 -0.032 0.717 0.415 -0.798 + 0.273 -0.022 0.591 -0.064 -0.214 0.109 0.009 0.572 -0.302 -0.126 + -1.443 0.274 0.246 -0.387 -0.425 -0.119 0.022 -0.013 -0.049 -0.047 + 0.115 0.012 0.287 -0.079 -0.158 0.551 -1.013 -0.032 0.500 -0.343 + 0.033 -0.230 -0.235 0.558 0.226 0.499 -0.916 0.397 0.132 -0.519 + -1.253 -0.217 0.065 -0.068 -0.269 -0.107 0.435 -0.431 -0.225 -0.380 + -0.337 -0.103 -1.792 -0.477 0.124 -0.440 -0.039 0.012 -0.063 -0.092 + -0.058 -0.568 0.251 0.033 0.075 0.256 -0.160 -0.230 0.187 -0.136 + 0.080 0.328 -0.082 -0.357 -0.134 -0.080 0.032 0.021 -0.505 0.233 + 0.124 0.085 0.305 0.007 0.465 0.781 -0.110 0.045 -1.362 0.846 + -0.022 0.139 0.019 0.194 0.116 -0.011 -0.356 -0.195 0.796 0.169 + -0.100 0.106 0.557 -0.711 0.440 -0.138 0.060 -0.157 0.299 0.259 + -0.242 -0.754 -0.358 -0.737 0.054 0.084 0.225 -0.148 -0.747 0.447 + -0.119 0.338 0.091 1.169 -0.714 -1.128 -0.017 -0.074 0.035 0.716 + -0.717 0.316 0.254 0.126 -0.131 -0.058 0.082 -0.224 -0.006 0.078 + -0.122 0.097 0.027 -0.246 0.369 0.671 -1.005 0.238 -0.058 -0.168 + 0.668 0.067 -0.132 0.097 0.027 -0.009 -0.832 0.248 0.163 0.091 + -0.330 -0.090 0.017 -0.486 -0.030 0.036 -0.362 -0.416 0.306 -0.394 + 0.122 -0.024 -0.018 0.190 -0.167 -0.230 0.816 0.242 0.136 0.009 + 0.115 0.020 -0.151 0.057 0.274 0.218 -0.245 0.245 0.454 0.068 + 0.278 -0.050 -0.381 0.114 -0.042 -0.095 0.296 0.071 -0.509 -0.161 + -0.311 0.879 -0.205 -0.224 0.083 -0.059 -0.049 0.178 0.152 -0.375 + 0.471 -0.101 -0.201 0.135 0.180 -0.263 0.541 0.327 -0.590 0.087 + 0.029 -0.069 -0.089 0.251 0.014 0.207 -0.182 0.269 0.141 0.187 + -0.020 -0.232 0.518 -0.362 -0.071 0.071 0.212 -0.265 0.664 0.776 + -0.203 -0.001 0.205 -0.466 -0.565 0.513 0.009 0.061 0.210 0.132 + 0.203 0.011 0.031 0.115 -0.104 -0.034 0.224 -0.108 0.345 -0.555 + 0.072 -0.138 -0.067 0.013 0.212 0.188 -0.055 -0.134 0.013 0.032 + -0.243 -0.474 -0.159 0.371 0.493 0.703 0.254 -0.017 0.251 -1.439 + 1.665 0.459 0.002 -0.278 0.167 -0.035 0.114 0.141 0.096 0.148 + -0.138 0.090 -0.187 -0.180 -0.118 0.143 0.036 -0.064 -0.198 0.071 + -0.048 0.021 -0.104 -0.899 0.261 -0.541 -0.011 0.102 0.141 -0.416 + -0.397 0.048 0.018 -0.088 0.128 0.298 0.216 0.203 0.281 -0.096 + 0.222 0.019 -0.047 0.172 0.101 -0.033 -0.241 -0.029 0.264 0.427 + 0.581 -0.159 -0.004 0.855 -0.504 0.009 -0.032 0.036 -0.030 -0.151 + 0.160 -0.051 0.024 -0.189 0.064 -0.491 -0.508 -0.138 -0.010 0.049 + 0.194 -0.056 0.292 -0.336 -0.468 0.372 0.162 -0.049 0.064 -0.010 + 0.103 0.379 0.291 0.245 -0.204 -0.063 -0.388 0.329 -0.762 0.145 + -0.342 0.165 0.159 -0.381 0.756 -0.162 0.130 0.041 -0.438 -0.789 + 0.681 -1.339 -0.365 -1.069 0.196 0.157 -0.045 -0.135 0.275 -0.225 + 1.064 -0.283 0.687 0.168 0.166 -0.150 -0.090 -0.497 0.655 0.236 + 0.146 -0.037 -0.108 0.088 -0.073 -0.206 -0.226 -0.326 -0.336 -0.006 + -0.195 -0.157 0.021 0.311 -0.147 0.306 -0.009 0.537 -0.153 0.147 + -0.385 0.939 -0.605 -0.193 -0.342 -0.007 -0.090 0.144 -0.120 0.224 + -0.367 -0.040 0.448 -0.109 -1.033 0.010 -0.379 0.036 0.661 -0.697 + -0.116 -0.207 0.169 0.198 -0.868 0.113 -0.014 -0.040 -0.486 0.107 + 0.033 0.137 -0.008 -0.018 -0.013 -0.028 0.556 -0.197 0.207 0.028 + 0.015 -0.021 0.067 0.728 0.249 -0.038 -0.178 -0.273 -0.059 -0.290 + -0.155 -0.139 0.160 -0.455 -0.085 -0.129 -0.211 0.998 -0.139 -0.531 + 0.061 -0.094 -0.079 0.004 -0.011 -0.168 0.088 0.015 0.086 0.301 + 0.176 -1.102 0.124 -0.013 0.101 -0.133 -0.133 -0.080 0.158 0.240 + 0.139 0.171 0.169 -0.031 -0.692 -0.356 0.244 0.215 0.072 -0.038 + 0.373 0.216 -0.096 0.058 0.065 0.134 -0.166 0.429 0.366 0.016 + 0.206 -0.102 0.065 0.137 -0.433 0.308 0.400 -0.146 0.287 0.607 + -0.455 -0.021 -0.386 -0.081 -0.056 -0.906 0.309 0.185 0.040 -0.036 + 0.228 -0.193 -0.005 -0.092 0.276 0.094 -0.682 0.404 0.198 -0.144 + 0.209 0.090 -0.142 0.054 -0.220 -0.079 0.098 -0.267 0.411 -0.158 + 0.703 -0.580 0.304 1.103 -0.004 0.041 0.003 0.064 -0.051 0.018 + -0.121 -0.031 0.126 0.322 -0.062 -0.030 -0.061 -0.029 -0.280 0.276 + 0.126 -0.087 0.198 -0.059 0.190 -0.261 -0.132 0.018 0.148 -0.047 + 0.153 0.197 -0.742 -0.436 0.011 -0.098 0.156 -0.224 -0.655 -0.037 + 0.209 0.136 -0.053 0.498 -0.281 -0.090 0.199 -0.072 -0.232 -0.025 + 0.049 0.066 -0.217 -0.333 -0.089 0.151 0.206 0.174 0.060 0.212 + 0.070 0.164 0.051 0.115 0.636 0.044 -0.551 0.236 -0.280 0.135 + 0.432 -0.467 0.893 1.153 -0.425 0.796 0.047 0.103 -0.369 0.796 + -0.495 0.131 -0.081 0.450 -0.445 0.066 0.097 -0.232 0.183 0.389 + -0.298 -0.523 -0.670 0.154 0.021 -0.210 -0.026 0.670 0.441 -0.829 + 0.265 0.026 0.582 -0.056 -0.214 0.103 0.025 0.602 -0.268 -0.157 + -1.400 0.278 0.219 -0.396 -0.366 -0.115 0.014 -0.007 -0.053 -0.049 + 0.117 0.011 0.288 -0.075 -0.199 0.551 -0.980 -0.010 0.497 -0.391 + 0.032 -0.220 -0.225 0.537 0.244 0.430 -0.872 0.386 0.124 -0.551 + -1.257 -0.247 0.059 -0.059 -0.275 -0.122 0.424 -0.386 -0.225 -0.373 + -0.340 -0.093 -1.717 -0.479 0.139 -0.484 0.002 0.013 -0.066 -0.094 + -0.006 -0.511 0.229 0.048 0.066 0.257 -0.163 -0.229 0.179 -0.133 + 0.092 0.315 -0.100 -0.335 -0.133 -0.075 0.020 0.012 -0.516 0.178 + 0.084 0.079 0.297 0.009 0.438 0.767 -0.083 -0.007 -1.344 0.823 + -0.034 0.141 0.026 0.200 0.123 -0.002 -0.305 -0.184 0.794 0.174 + -0.096 0.086 0.548 -0.683 0.438 -0.155 0.061 -0.149 0.301 0.255 + -0.246 -0.767 -0.334 -0.726 0.058 0.089 0.220 -0.152 -0.777 0.419 + -0.112 0.344 0.094 1.141 -0.679 -1.088 -0.018 -0.082 0.038 0.778 + -0.690 0.294 0.267 0.127 -0.131 -0.075 0.078 -0.233 -0.011 0.067 + -0.124 0.107 0.040 -0.238 0.358 0.682 -0.966 0.241 -0.067 -0.176 + 0.626 0.086 -0.158 0.091 0.037 -0.008 -0.811 0.221 0.167 0.087 + -0.335 -0.087 0.048 -0.446 -0.018 0.016 -0.327 -0.379 0.295 -0.357 + 0.138 -0.016 -0.015 0.186 -0.132 -0.274 0.760 0.249 0.131 0.006 + 0.121 0.020 -0.146 0.047 0.284 0.225 -0.249 0.253 0.412 0.075 + 0.276 -0.060 -0.407 0.132 0.026 -0.085 0.303 0.071 -0.512 -0.167 + -0.290 0.876 -0.257 -0.244 0.078 -0.056 -0.046 0.181 0.176 -0.375 + 0.451 -0.059 -0.228 0.142 0.168 -0.260 0.470 0.293 -0.573 0.077 + 0.025 -0.084 -0.095 0.245 0.023 0.216 -0.152 0.288 0.147 0.183 + -0.028 -0.236 0.510 -0.325 -0.056 0.079 0.219 -0.259 0.627 0.801 + -0.210 0.018 0.205 -0.459 -0.521 0.527 -0.007 0.073 0.205 0.133 + 0.198 0.009 0.015 0.126 -0.106 -0.036 0.238 -0.094 0.321 -0.601 + 0.023 -0.117 -0.061 0.014 0.207 0.177 -0.090 -0.128 0.017 0.034 + -0.257 -0.475 -0.214 0.355 0.425 0.677 0.238 -0.009 0.252 -1.437 + 1.683 0.401 0.009 -0.320 0.228 -0.014 0.106 0.148 0.091 0.150 + -0.144 0.076 -0.191 -0.175 -0.119 0.144 0.033 -0.067 -0.187 0.073 + -0.059 0.017 -0.108 -0.818 0.315 -0.526 -0.010 0.084 0.145 -0.478 + -0.383 0.084 0.018 -0.082 0.126 0.321 0.188 0.219 0.319 -0.019 + 0.285 0.017 -0.043 0.167 0.094 -0.026 -0.239 -0.013 0.265 0.426 + 0.562 -0.176 -0.076 0.801 -0.465 -0.019 -0.018 0.038 -0.026 -0.149 + 0.150 -0.044 0.018 -0.195 0.060 -0.424 -0.471 -0.130 -0.001 0.038 + 0.195 -0.045 0.277 -0.327 -0.490 0.374 0.120 -0.053 0.067 -0.022 + 0.102 0.379 0.298 0.247 -0.213 -0.056 -0.353 0.275 -0.717 0.149 + -0.337 0.171 0.156 -0.378 0.737 -0.151 0.124 0.053 -0.384 -0.786 + 0.697 -1.395 -0.357 -1.056 0.182 0.160 -0.047 -0.135 0.289 -0.198 + 1.033 -0.249 0.708 0.153 0.166 -0.133 -0.037 -0.461 0.671 0.249 + 0.175 -0.097 -0.098 0.103 -0.065 -0.172 -0.274 -0.337 -0.332 -0.011 + -0.175 -0.158 0.010 0.310 -0.147 0.315 -0.011 0.500 -0.120 0.176 + -0.404 0.951 -0.602 -0.202 -0.330 -0.009 -0.086 0.134 -0.108 0.232 + -0.359 -0.043 0.502 -0.130 -0.995 0.014 -0.372 0.051 0.654 -0.690 + -0.180 -0.213 0.164 0.210 -0.884 0.138 -0.032 -0.033 -0.475 0.091 + 0.033 0.148 -0.008 -0.008 -0.021 -0.026 0.564 -0.212 0.234 0.023 + 0.013 -0.025 0.053 0.737 0.223 -0.025 -0.171 -0.270 -0.055 -0.288 + -0.159 -0.097 0.171 -0.459 -0.098 -0.118 -0.221 0.963 -0.162 -0.463 + 0.069 -0.094 -0.078 0.058 -0.013 -0.161 0.088 0.028 0.073 0.327 + 0.124 -1.076 0.127 -0.028 0.100 -0.134 -0.127 -0.070 0.163 0.239 + 0.131 0.175 0.165 -0.032 -0.581 -0.344 0.273 0.212 0.080 -0.041 + 0.350 0.196 -0.125 0.062 0.053 0.131 -0.219 0.411 0.342 -0.000 + 0.193 -0.102 0.096 0.108 -0.435 0.307 0.431 -0.157 0.273 0.613 + -0.436 -0.022 -0.385 -0.079 -0.027 -0.926 0.334 0.178 0.050 -0.052 + 0.226 -0.207 -0.019 -0.099 0.270 0.094 -0.652 0.374 0.180 -0.145 + 0.202 0.102 -0.118 0.056 -0.253 -0.071 0.098 -0.247 0.418 -0.124 + 0.692 -0.600 0.291 1.020 -0.009 0.041 0.009 0.069 -0.064 0.028 + -0.102 -0.012 0.116 0.326 -0.057 -0.032 -0.034 -0.081 -0.284 0.275 + 0.126 -0.095 0.199 -0.051 0.188 -0.241 -0.162 -0.017 0.147 -0.061 + 0.151 0.191 -0.732 -0.425 0.026 -0.084 0.153 -0.232 -0.724 -0.004 + 0.210 0.141 -0.041 0.532 -0.295 -0.144 0.204 -0.077 -0.218 -0.037 + 0.056 0.053 -0.215 -0.327 -0.095 0.157 0.195 0.172 0.056 0.236 + 0.042 0.157 0.048 0.108 0.660 0.039 -0.555 0.236 -0.274 0.142 + 0.492 -0.442 0.908 1.133 -0.369 0.746 0.055 0.095 -0.369 0.799 + -0.497 0.128 -0.059 0.411 -0.459 0.073 0.093 -0.236 0.202 0.382 + -0.291 -0.511 -0.713 0.191 0.017 -0.193 -0.027 0.606 0.420 -0.788 + 0.243 0.055 0.575 -0.055 -0.215 0.099 0.068 0.637 -0.259 -0.141 + -1.350 0.272 0.174 -0.341 -0.361 -0.116 0.031 -0.005 -0.059 -0.047 + 0.110 0.029 0.283 -0.075 -0.189 0.568 -0.966 -0.075 0.521 -0.387 + 0.022 -0.220 -0.221 0.522 0.273 0.345 -0.863 0.381 0.168 -0.609 + -1.207 -0.311 0.056 -0.069 -0.275 -0.142 0.430 -0.339 -0.224 -0.381 + -0.322 -0.094 -1.703 -0.499 0.145 -0.487 -0.040 0.013 -0.070 -0.095 + 0.031 -0.509 0.246 0.045 0.064 0.265 -0.165 -0.230 0.181 -0.124 + 0.091 0.313 -0.097 -0.262 -0.109 -0.063 0.015 0.006 -0.536 0.140 + 0.076 0.074 0.300 0.014 0.385 0.734 -0.095 -0.004 -1.347 0.772 + -0.042 0.147 0.032 0.198 0.126 0.004 -0.296 -0.202 0.769 0.186 + -0.093 0.080 0.522 -0.649 0.454 -0.173 0.047 -0.144 0.320 0.269 + -0.255 -0.807 -0.310 -0.692 0.050 0.089 0.225 -0.105 -0.799 0.374 + -0.115 0.335 0.076 1.132 -0.645 -1.054 -0.023 -0.084 0.049 0.757 + -0.639 0.332 0.276 0.137 -0.135 -0.088 0.082 -0.237 0.001 0.057 + -0.123 0.121 0.032 -0.234 0.329 0.702 -0.933 0.236 -0.059 -0.175 + 0.599 0.068 -0.117 0.088 0.037 0.004 -0.818 0.210 0.101 0.093 + -0.334 -0.094 0.066 -0.466 0.023 0.050 -0.308 -0.399 0.288 -0.342 + 0.152 -0.012 -0.019 0.190 -0.092 -0.317 0.720 0.255 0.138 -0.004 + 0.116 0.009 -0.152 0.045 0.287 0.213 -0.252 0.258 0.423 0.073 + 0.279 -0.069 -0.370 0.128 0.105 -0.078 0.301 0.073 -0.479 -0.169 + -0.274 0.848 -0.268 -0.256 0.073 -0.054 -0.042 0.181 0.183 -0.367 + 0.482 -0.058 -0.205 0.144 0.165 -0.254 0.500 0.278 -0.590 0.078 + 0.029 -0.083 -0.102 0.243 0.020 0.226 -0.115 0.272 0.151 0.183 + -0.018 -0.210 0.571 -0.355 -0.052 0.069 0.226 -0.262 0.641 0.767 + -0.207 0.036 0.218 -0.431 -0.488 0.511 -0.018 0.083 0.197 0.121 + 0.201 0.027 0.014 0.132 -0.117 -0.035 0.240 -0.093 0.277 -0.636 + -0.021 -0.103 -0.056 0.025 0.162 0.228 -0.108 -0.128 0.025 0.031 + -0.308 -0.448 -0.198 0.351 0.396 0.700 0.239 -0.011 0.256 -1.434 + 1.661 0.437 0.042 -0.330 0.256 -0.011 0.094 0.165 0.092 0.141 + -0.147 0.070 -0.188 -0.173 -0.111 0.138 0.039 -0.069 -0.188 0.070 + -0.065 0.011 -0.099 -0.760 0.315 -0.517 -0.012 0.086 0.140 -0.492 + -0.379 0.106 0.015 -0.086 0.127 0.333 0.199 0.246 0.353 0.016 + 0.330 0.014 -0.041 0.166 0.095 -0.033 -0.236 -0.013 0.266 0.429 + 0.564 -0.161 -0.061 0.710 -0.472 -0.014 -0.021 0.044 -0.028 -0.161 + 0.143 -0.045 0.018 -0.192 0.060 -0.399 -0.499 -0.147 0.013 0.034 + 0.196 -0.006 0.263 -0.289 -0.478 0.326 0.129 -0.057 0.066 -0.032 + 0.101 0.388 0.293 0.247 -0.209 -0.053 -0.318 0.267 -0.660 0.141 + -0.334 0.179 0.134 -0.403 0.796 -0.149 0.109 0.061 -0.358 -0.774 + 0.716 -1.381 -0.329 -1.065 0.188 0.155 -0.055 -0.117 0.308 -0.159 + 0.994 -0.223 0.670 0.149 0.161 -0.131 0.001 -0.434 0.629 0.295 + 0.154 -0.096 -0.087 0.110 -0.056 -0.190 -0.320 -0.344 -0.327 -0.020 + -0.121 -0.159 0.006 0.313 -0.168 0.327 0.021 0.464 -0.105 0.189 + -0.430 0.940 -0.524 -0.209 -0.324 -0.012 -0.079 0.127 -0.105 0.232 + -0.350 -0.042 0.523 -0.161 -0.942 0.016 -0.372 0.058 0.655 -0.616 + -0.198 -0.200 0.165 0.207 -0.851 0.127 -0.090 -0.055 -0.441 0.042 + 0.027 0.147 0.003 -0.011 -0.029 -0.028 0.518 -0.220 0.226 0.022 + 0.016 -0.024 0.046 0.699 0.218 -0.026 -0.170 -0.267 -0.054 -0.279 + -0.164 -0.076 0.183 -0.455 -0.091 -0.124 -0.227 0.918 -0.139 -0.452 + 0.068 -0.096 -0.079 0.067 -0.003 -0.154 0.093 0.044 0.068 0.325 + 0.077 -1.042 0.127 -0.029 0.113 -0.144 -0.124 -0.068 0.163 0.235 + 0.136 0.166 0.163 -0.049 -0.579 -0.324 0.263 0.220 0.081 -0.036 + 0.343 0.148 -0.113 0.067 0.043 0.124 -0.225 0.403 0.318 -0.002 + 0.194 -0.107 0.095 0.051 -0.437 0.295 0.458 -0.152 0.278 0.662 + -0.414 -0.034 -0.387 -0.084 -0.025 -0.927 0.355 0.186 0.040 -0.061 + 0.221 -0.202 -0.019 -0.098 0.279 0.090 -0.631 0.342 0.139 -0.154 + 0.194 0.098 -0.085 0.046 -0.259 -0.069 0.110 -0.242 0.400 -0.077 + 0.658 -0.602 0.246 0.939 -0.006 0.061 0.023 0.071 -0.066 0.027 + -0.072 0.001 0.119 0.329 -0.052 -0.033 -0.027 -0.056 -0.287 0.292 + 0.115 -0.092 0.186 -0.044 0.186 -0.208 -0.202 -0.054 0.140 -0.065 + 0.142 0.199 -0.751 -0.378 0.027 -0.068 0.135 -0.248 -0.751 -0.029 + 0.203 0.137 -0.037 0.498 -0.320 -0.197 0.191 -0.076 -0.200 -0.039 + 0.059 0.049 -0.226 -0.312 -0.096 0.153 0.185 0.167 0.031 0.229 + 0.055 0.147 0.042 0.120 0.659 0.084 -0.537 0.232 -0.272 0.148 + 0.494 -0.370 0.916 1.128 -0.312 0.735 0.051 0.095 -0.372 0.769 + -0.508 0.148 -0.037 0.395 -0.439 0.073 0.096 -0.249 0.186 0.360 + -0.293 -0.513 -0.696 0.229 0.019 -0.192 -0.023 0.592 0.452 -0.771 + 0.249 0.048 0.598 -0.059 -0.225 0.091 0.081 0.618 -0.255 -0.167 + -1.258 0.245 0.174 -0.394 -0.328 -0.115 0.022 -0.006 -0.062 -0.044 + 0.126 0.027 0.287 -0.070 -0.224 0.611 -0.910 -0.115 0.499 -0.429 + 0.011 -0.210 -0.223 0.472 0.255 0.340 -0.810 0.388 0.190 -0.590 + -1.171 -0.380 0.042 -0.065 -0.271 -0.217 0.428 -0.326 -0.233 -0.379 + -0.314 -0.131 -1.712 -0.524 0.137 -0.492 -0.039 0.002 -0.074 -0.091 + 0.096 -0.487 0.277 0.035 0.060 0.268 -0.161 -0.229 0.178 -0.120 + 0.109 0.302 -0.063 -0.166 -0.098 -0.047 -0.004 0.009 -0.490 0.113 + 0.064 0.068 0.290 0.018 0.398 0.711 -0.126 -0.028 -1.290 0.769 + -0.039 0.136 0.035 0.193 0.127 -0.005 -0.301 -0.229 0.787 0.178 + -0.104 0.087 0.517 -0.634 0.441 -0.198 0.046 -0.143 0.322 0.275 + -0.267 -0.790 -0.290 -0.647 0.048 0.099 0.224 -0.099 -0.831 0.322 + -0.102 0.331 0.092 1.105 -0.636 -1.032 -0.035 -0.082 0.047 0.752 + -0.609 0.322 0.294 0.134 -0.143 -0.096 0.084 -0.236 0.004 0.068 + -0.116 0.123 0.047 -0.230 0.352 0.773 -0.918 0.236 -0.062 -0.184 + 0.574 0.061 -0.114 0.084 0.047 0.002 -0.775 0.149 0.066 0.098 + -0.342 -0.090 0.050 -0.448 0.045 0.004 -0.256 -0.405 0.318 -0.310 + 0.155 -0.017 -0.014 0.186 -0.102 -0.418 0.668 0.258 0.126 -0.004 + 0.115 0.014 -0.155 0.043 0.287 0.205 -0.271 0.256 0.402 0.079 + 0.274 -0.083 -0.349 0.099 0.181 -0.083 0.305 0.066 -0.432 -0.150 + -0.277 0.806 -0.308 -0.250 0.066 -0.054 -0.044 0.186 0.175 -0.353 + 0.499 -0.055 -0.253 0.139 0.160 -0.248 0.491 0.260 -0.556 0.082 + 0.024 -0.080 -0.105 0.231 0.013 0.229 -0.139 0.272 0.138 0.171 + -0.029 -0.181 0.639 -0.307 -0.050 0.067 0.229 -0.232 0.644 0.721 + -0.224 0.048 0.225 -0.445 -0.514 0.529 -0.036 0.083 0.197 0.119 + 0.210 0.036 0.010 0.135 -0.120 -0.025 0.246 -0.086 0.277 -0.642 + -0.092 -0.101 -0.052 0.032 0.143 0.173 -0.146 -0.127 0.036 0.028 + -0.357 -0.425 -0.207 0.349 0.415 0.705 0.231 -0.007 0.247 -1.384 + 1.649 0.405 0.042 -0.315 0.289 -0.014 0.088 0.162 0.099 0.141 + -0.156 0.083 -0.178 -0.179 -0.116 0.132 0.039 -0.069 -0.184 0.071 + -0.079 0.010 -0.105 -0.687 0.301 -0.499 0.004 0.074 0.134 -0.501 + -0.350 0.079 0.012 -0.088 0.125 0.331 0.195 0.235 0.391 0.000 + 0.314 0.014 -0.044 0.169 0.087 -0.034 -0.239 -0.007 0.266 0.429 + 0.557 -0.124 -0.060 0.662 -0.447 -0.015 -0.007 0.050 -0.029 -0.162 + 0.142 -0.047 0.003 -0.187 0.064 -0.380 -0.482 -0.191 0.015 0.032 + 0.204 0.004 0.286 -0.232 -0.553 0.305 0.083 -0.062 0.061 -0.035 + 0.104 0.390 0.293 0.248 -0.207 -0.056 -0.279 0.227 -0.602 0.140 + -0.312 0.174 0.122 -0.379 0.764 -0.152 0.096 0.059 -0.329 -0.761 + 0.699 -1.395 -0.364 -1.073 0.185 0.142 -0.062 -0.115 0.297 -0.161 + 0.967 -0.204 0.626 0.144 0.153 -0.132 -0.014 -0.435 0.600 0.308 + 0.173 -0.083 -0.081 0.121 -0.048 -0.208 -0.362 -0.384 -0.334 -0.003 + -0.140 -0.156 0.000 0.303 -0.175 0.345 0.048 0.442 -0.075 0.236 + -0.443 0.903 -0.477 -0.197 -0.315 -0.004 -0.068 0.120 -0.109 0.227 + -0.350 -0.045 0.572 -0.128 -0.982 0.015 -0.378 0.050 0.634 -0.565 + -0.180 -0.195 0.156 0.209 -0.837 0.136 -0.139 -0.057 -0.412 0.041 + 0.015 0.148 0.003 0.001 -0.031 -0.025 0.468 -0.240 0.267 0.020 + 0.006 -0.032 0.006 0.675 0.204 -0.034 -0.170 -0.269 -0.049 -0.272 + -0.162 -0.031 0.144 -0.437 -0.091 -0.127 -0.231 0.913 -0.104 -0.414 + 0.065 -0.087 -0.085 0.080 -0.001 -0.176 0.084 0.040 0.062 0.371 + 0.085 -1.018 0.131 -0.030 0.114 -0.143 -0.130 -0.078 0.163 0.237 + 0.132 0.164 0.160 -0.046 -0.516 -0.336 0.257 0.211 0.078 -0.040 + 0.338 0.166 -0.106 0.073 0.044 0.111 -0.273 0.390 0.328 0.014 + 0.195 -0.098 0.091 0.059 -0.426 0.277 0.472 -0.174 0.303 0.687 + -0.405 -0.030 -0.385 -0.077 -0.031 -0.909 0.392 0.192 0.047 -0.064 + 0.220 -0.188 -0.009 -0.109 0.279 0.108 -0.646 0.341 0.109 -0.157 + 0.194 0.097 -0.079 0.044 -0.264 -0.062 0.103 -0.245 0.409 -0.065 + 0.608 -0.625 0.190 0.889 -0.014 0.071 0.017 0.070 -0.079 0.026 + -0.056 -0.011 0.127 0.336 -0.038 -0.036 -0.010 -0.055 -0.287 0.275 + 0.123 -0.074 0.184 -0.040 0.189 -0.182 -0.156 -0.115 0.150 -0.067 + 0.139 0.241 -0.750 -0.347 0.020 -0.060 0.130 -0.238 -0.759 0.006 + 0.207 0.139 -0.027 0.446 -0.257 -0.276 0.192 -0.075 -0.190 -0.043 + 0.047 0.051 -0.241 -0.317 -0.089 0.158 0.179 0.165 0.043 0.234 + 0.085 0.149 0.044 0.117 0.651 0.055 -0.483 0.239 -0.260 0.150 + 0.516 -0.368 0.900 1.163 -0.296 0.719 0.057 0.089 -0.370 0.729 + -0.475 0.169 -0.065 0.344 -0.416 0.066 0.102 -0.248 0.176 0.332 + -0.303 -0.498 -0.682 0.208 0.016 -0.182 -0.023 0.555 0.390 -0.786 + 0.226 0.060 0.574 -0.053 -0.228 0.082 0.119 0.565 -0.199 -0.134 + -1.199 0.269 0.172 -0.422 -0.286 -0.117 0.011 -0.016 -0.074 -0.058 + 0.134 0.024 0.283 -0.049 -0.213 0.612 -0.860 -0.134 0.503 -0.441 + 0.022 -0.215 -0.228 0.467 0.237 0.295 -0.763 0.407 0.248 -0.577 + -1.141 -0.449 0.042 -0.063 -0.273 -0.280 0.416 -0.288 -0.238 -0.381 + -0.317 -0.115 -1.685 -0.500 0.127 -0.480 -0.050 -0.006 -0.077 -0.100 + 0.170 -0.499 0.240 0.028 0.054 0.273 -0.158 -0.226 0.173 -0.124 + 0.107 0.279 -0.054 -0.123 -0.119 -0.055 -0.004 0.010 -0.522 0.085 + 0.026 0.068 0.282 0.021 0.410 0.724 -0.100 -0.013 -1.289 0.759 + -0.040 0.122 0.051 0.196 0.129 0.008 -0.241 -0.193 0.792 0.167 + -0.104 0.083 0.532 -0.631 0.497 -0.228 0.041 -0.137 0.330 0.269 + -0.263 -0.785 -0.268 -0.600 0.051 0.102 0.242 -0.129 -0.828 0.336 + -0.090 0.309 0.071 1.050 -0.561 -0.981 -0.039 -0.093 0.046 0.710 + -0.591 0.306 0.296 0.138 -0.146 -0.103 0.082 -0.229 -0.001 0.070 + -0.127 0.123 0.036 -0.235 0.328 0.785 -0.921 0.239 -0.061 -0.170 + 0.523 0.111 -0.071 0.079 0.039 -0.007 -0.790 0.121 0.063 0.108 + -0.344 -0.092 0.084 -0.437 0.060 0.023 -0.163 -0.379 0.349 -0.275 + 0.159 -0.018 -0.013 0.190 -0.082 -0.464 0.656 0.259 0.112 -0.004 + 0.114 0.021 -0.144 0.043 0.289 0.203 -0.271 0.234 0.388 0.081 + 0.281 -0.094 -0.338 0.105 0.217 -0.074 0.296 0.065 -0.455 -0.164 + -0.231 0.741 -0.350 -0.251 0.073 -0.072 -0.052 0.202 0.182 -0.351 + 0.450 -0.050 -0.249 0.143 0.146 -0.237 0.490 0.231 -0.537 0.082 + 0.023 -0.076 -0.128 0.223 0.009 0.240 -0.116 0.275 0.139 0.153 + -0.031 -0.188 0.646 -0.307 -0.057 0.075 0.244 -0.266 0.632 0.719 + -0.222 0.051 0.208 -0.440 -0.440 0.495 -0.035 0.089 0.198 0.129 + 0.195 0.040 0.002 0.139 -0.128 -0.015 0.234 -0.075 0.246 -0.632 + -0.151 -0.096 -0.045 0.032 0.166 0.159 -0.192 -0.134 0.035 0.030 + -0.374 -0.479 -0.259 0.356 0.422 0.726 0.224 -0.002 0.244 -1.374 + 1.632 0.397 0.085 -0.260 0.317 -0.010 0.086 0.164 0.094 0.139 + -0.149 0.087 -0.169 -0.182 -0.114 0.117 0.044 -0.068 -0.180 0.071 + -0.085 0.001 -0.102 -0.617 0.266 -0.438 0.006 0.071 0.133 -0.561 + -0.304 0.124 0.008 -0.090 0.119 0.324 0.163 0.265 0.432 0.041 + 0.367 0.014 -0.054 0.175 0.084 -0.034 -0.235 -0.013 0.273 0.420 + 0.532 -0.134 -0.075 0.597 -0.425 -0.049 0.009 0.055 -0.031 -0.171 + 0.142 -0.063 0.003 -0.178 0.068 -0.384 -0.468 -0.184 0.014 0.041 + 0.208 0.043 0.251 -0.182 -0.607 0.266 0.099 -0.070 0.060 -0.043 + 0.096 0.378 0.304 0.228 -0.202 -0.056 -0.248 0.218 -0.571 0.152 + -0.305 0.160 0.129 -0.402 0.762 -0.146 0.085 0.060 -0.296 -0.745 + 0.715 -1.414 -0.382 -1.020 0.182 0.160 -0.057 -0.105 0.295 -0.138 + 0.935 -0.218 0.637 0.150 0.141 -0.135 -0.013 -0.422 0.613 0.267 + 0.142 -0.036 -0.075 0.114 -0.045 -0.177 -0.414 -0.395 -0.375 -0.036 + -0.159 -0.163 -0.003 0.281 -0.174 0.358 0.083 0.425 -0.023 0.307 + -0.427 0.799 -0.375 -0.186 -0.296 0.003 -0.061 0.115 -0.114 0.235 + -0.347 -0.040 0.570 -0.106 -0.987 0.011 -0.385 0.057 0.582 -0.556 + -0.190 -0.202 0.163 0.218 -0.797 0.154 -0.238 -0.045 -0.387 -0.005 + 0.002 0.151 -0.015 0.007 -0.047 -0.029 0.448 -0.257 0.244 0.011 + -0.003 -0.034 -0.068 0.684 0.216 -0.028 -0.172 -0.275 -0.052 -0.272 + -0.173 -0.045 0.145 -0.451 -0.099 -0.115 -0.232 0.845 -0.130 -0.428 + 0.077 -0.079 -0.091 0.076 0.029 -0.170 0.091 0.045 0.044 0.398 + 0.051 -0.992 0.126 -0.021 0.118 -0.157 -0.136 -0.083 0.163 0.237 + 0.126 0.158 0.157 -0.047 -0.489 -0.308 0.262 0.222 0.069 -0.036 + 0.320 0.168 -0.147 0.080 0.051 0.118 -0.315 0.395 0.356 0.027 + 0.195 -0.102 0.080 0.069 -0.437 0.295 0.512 -0.220 0.267 0.727 + -0.362 -0.042 -0.380 -0.076 -0.053 -0.918 0.411 0.177 0.048 -0.073 + 0.213 -0.185 -0.010 -0.103 0.285 0.098 -0.618 0.318 0.138 -0.155 + 0.182 0.090 -0.092 0.046 -0.276 -0.065 0.107 -0.239 0.419 -0.062 + 0.581 -0.586 0.132 0.866 -0.021 0.077 0.039 0.074 -0.080 0.017 + -0.054 -0.062 0.112 0.335 -0.040 -0.038 -0.002 -0.069 -0.229 0.271 + 0.111 -0.076 0.178 -0.033 0.187 -0.138 -0.176 -0.159 0.155 -0.072 + 0.138 0.193 -0.768 -0.333 0.015 -0.051 0.135 -0.240 -0.779 0.010 + 0.207 0.149 -0.019 0.425 -0.275 -0.341 0.192 -0.093 -0.195 -0.045 + 0.057 0.048 -0.247 -0.310 -0.083 0.152 0.174 0.158 -0.002 0.231 + 0.123 0.147 0.053 0.116 0.646 0.071 -0.407 0.231 -0.255 0.170 + 0.525 -0.362 0.880 1.135 -0.244 0.658 0.083 0.080 -0.372 0.638 + -0.438 0.231 -0.042 0.301 -0.377 0.049 0.104 -0.260 0.208 0.294 + -0.312 -0.477 -0.634 0.251 0.015 -0.172 -0.030 0.453 0.434 -0.781 + 0.220 0.050 0.586 -0.047 -0.231 0.083 0.106 0.570 -0.199 -0.200 + -1.132 0.244 0.161 -0.423 -0.298 -0.105 0.012 -0.028 -0.079 -0.060 + 0.134 0.029 0.283 -0.050 -0.263 0.674 -0.815 -0.148 0.485 -0.473 + 0.017 -0.209 -0.225 0.460 0.214 0.248 -0.734 0.393 0.274 -0.597 + -1.138 -0.459 0.042 -0.055 -0.267 -0.310 0.399 -0.253 -0.226 -0.394 + -0.301 -0.141 -1.650 -0.509 0.100 -0.470 -0.041 -0.016 -0.079 -0.099 + 0.261 -0.481 0.240 0.024 0.051 0.275 -0.150 -0.225 0.178 -0.117 + 0.105 0.272 -0.110 -0.035 -0.118 -0.046 0.001 0.015 -0.517 0.107 + 0.026 0.066 0.275 0.019 0.438 0.646 -0.111 -0.013 -1.253 0.699 + -0.047 0.130 0.043 0.200 0.140 0.008 -0.215 -0.253 0.748 0.163 + -0.106 0.085 0.537 -0.625 0.437 -0.238 0.034 -0.135 0.340 0.267 + -0.272 -0.724 -0.275 -0.568 0.051 0.100 0.249 -0.136 -0.826 0.335 + -0.087 0.303 0.052 1.022 -0.497 -0.924 -0.046 -0.091 0.061 0.745 + -0.565 0.287 0.311 0.155 -0.136 -0.103 0.084 -0.234 -0.009 0.063 + -0.113 0.131 0.023 -0.230 0.293 0.804 -0.922 0.238 -0.056 -0.170 + 0.507 0.152 -0.055 0.082 0.052 0.001 -0.788 0.135 0.016 0.111 + -0.338 -0.095 0.126 -0.429 0.114 0.066 -0.106 -0.375 0.352 -0.259 + 0.175 -0.019 -0.018 0.187 -0.090 -0.503 0.600 0.268 0.122 -0.001 + 0.116 0.027 -0.142 0.034 0.292 0.190 -0.255 0.209 0.352 0.083 + 0.277 -0.095 -0.280 0.064 0.249 -0.073 0.295 0.072 -0.452 -0.187 + -0.222 0.744 -0.395 -0.238 0.075 -0.085 -0.061 0.199 0.195 -0.340 + 0.443 -0.052 -0.282 0.142 0.150 -0.229 0.481 0.219 -0.525 0.088 + 0.025 -0.072 -0.119 0.227 0.015 0.217 -0.071 0.262 0.137 0.152 + -0.049 -0.138 0.632 -0.298 -0.060 0.078 0.251 -0.250 0.620 0.736 + -0.226 0.062 0.212 -0.446 -0.476 0.470 -0.044 0.087 0.183 0.124 + 0.204 0.047 -0.006 0.144 -0.121 -0.020 0.244 -0.082 0.284 -0.639 + -0.212 -0.088 -0.046 0.040 0.151 0.129 -0.203 -0.139 0.044 0.030 + -0.355 -0.432 -0.289 0.345 0.411 0.719 0.206 -0.002 0.222 -1.292 + 1.636 0.345 0.080 -0.232 0.315 -0.006 0.077 0.172 0.088 0.145 + -0.146 0.076 -0.170 -0.178 -0.126 0.103 0.040 -0.085 -0.181 0.070 + -0.092 0.006 -0.109 -0.562 0.268 -0.383 0.012 0.062 0.138 -0.596 + -0.232 0.132 -0.002 -0.087 0.117 0.301 0.168 0.285 0.430 0.051 + 0.396 0.017 -0.056 0.177 0.094 -0.035 -0.233 -0.023 0.269 0.418 + 0.527 -0.135 -0.045 0.526 -0.419 -0.031 0.011 0.044 -0.034 -0.176 + 0.141 -0.073 0.006 -0.167 0.070 -0.370 -0.441 -0.186 0.017 0.038 + 0.201 0.053 0.304 -0.156 -0.618 0.249 0.141 -0.077 0.070 -0.068 + 0.082 0.379 0.303 0.215 -0.186 -0.060 -0.180 0.155 -0.560 0.161 + -0.302 0.161 0.180 -0.381 0.767 -0.149 0.077 0.061 -0.278 -0.724 + 0.726 -1.445 -0.383 -1.063 0.184 0.148 -0.043 -0.106 0.296 -0.159 + 0.925 -0.218 0.623 0.146 0.146 -0.112 -0.042 -0.390 0.617 0.278 + 0.159 -0.041 -0.078 0.124 -0.046 -0.171 -0.444 -0.383 -0.359 -0.009 + -0.155 -0.165 -0.001 0.272 -0.195 0.382 0.081 0.346 -0.003 0.295 + -0.393 0.775 -0.285 -0.193 -0.290 0.004 -0.063 0.102 -0.120 0.237 + -0.356 -0.048 0.578 -0.079 -0.981 0.013 -0.387 0.068 0.580 -0.535 + -0.189 -0.199 0.161 0.230 -0.763 0.169 -0.295 -0.046 -0.341 -0.027 + -0.007 0.149 -0.010 0.006 -0.049 -0.035 0.432 -0.250 0.286 0.029 + -0.003 -0.028 -0.085 0.695 0.197 -0.020 -0.172 -0.274 -0.061 -0.264 + -0.167 -0.025 0.162 -0.432 -0.096 -0.117 -0.234 0.759 -0.137 -0.420 + 0.071 -0.081 -0.095 0.093 0.046 -0.178 0.097 0.051 0.037 0.399 + 0.019 -0.929 0.118 -0.016 0.126 -0.158 -0.122 -0.081 0.164 0.235 + 0.122 0.154 0.152 -0.045 -0.423 -0.323 0.266 0.219 0.073 -0.030 + 0.289 0.122 -0.130 0.094 0.037 0.119 -0.330 0.381 0.295 0.036 + 0.202 -0.099 0.057 0.108 -0.396 0.272 0.500 -0.210 0.274 0.722 + -0.363 -0.031 -0.378 -0.083 -0.078 -0.949 0.458 0.179 0.049 -0.073 + 0.207 -0.187 -0.011 -0.117 0.281 0.104 -0.547 0.288 0.106 -0.162 + 0.163 0.102 -0.126 0.047 -0.244 -0.064 0.107 -0.228 0.366 -0.059 + 0.628 -0.590 0.105 0.822 -0.030 0.076 0.045 0.070 -0.093 -0.003 + 0.009 -0.069 0.106 0.334 -0.031 -0.044 0.050 -0.089 -0.229 0.255 + 0.114 -0.067 0.186 -0.022 0.192 -0.096 -0.224 -0.184 0.154 -0.084 + 0.140 0.153 -0.707 -0.285 0.019 -0.046 0.134 -0.215 -0.766 0.021 + 0.207 0.143 -0.005 0.454 -0.276 -0.385 0.192 -0.101 -0.196 -0.047 + 0.062 0.061 -0.238 -0.304 -0.079 0.150 0.170 0.162 -0.012 0.217 + 0.144 0.147 0.046 0.102 0.668 0.047 -0.364 0.239 -0.249 0.164 + 0.579 -0.360 0.885 1.085 -0.178 0.587 0.099 0.082 -0.369 0.614 + -0.425 0.256 -0.052 0.239 -0.401 0.058 0.088 -0.270 0.243 0.286 + -0.336 -0.468 -0.641 0.226 0.020 -0.166 -0.029 0.407 0.437 -0.784 + 0.192 0.033 0.609 -0.052 -0.242 0.077 0.122 0.565 -0.174 -0.252 + -1.018 0.239 0.158 -0.422 -0.253 -0.113 0.015 -0.035 -0.074 -0.060 + 0.126 0.032 0.286 -0.050 -0.257 0.754 -0.784 -0.169 0.512 -0.525 + 0.020 -0.211 -0.231 0.445 0.194 0.199 -0.686 0.378 0.294 -0.640 + -1.130 -0.501 0.046 -0.053 -0.266 -0.379 0.397 -0.244 -0.221 -0.398 + -0.289 -0.145 -1.629 -0.513 0.074 -0.509 -0.041 -0.022 -0.078 -0.099 + 0.332 -0.432 0.233 0.021 0.054 0.258 -0.143 -0.218 0.177 -0.114 + 0.108 0.262 -0.146 0.040 -0.090 -0.043 0.003 0.017 -0.477 0.104 + 0.020 0.064 0.269 0.008 0.385 0.654 -0.120 -0.019 -1.212 0.636 + -0.052 0.136 0.036 0.208 0.132 0.001 -0.187 -0.234 0.720 0.151 + -0.118 0.092 0.526 -0.619 0.448 -0.245 0.017 -0.135 0.358 0.270 + -0.272 -0.748 -0.254 -0.578 0.055 0.118 0.244 -0.163 -0.838 0.311 + -0.075 0.286 0.053 1.009 -0.437 -0.835 -0.053 -0.092 0.066 0.779 + -0.551 0.281 0.318 0.148 -0.125 -0.113 0.092 -0.242 -0.026 0.057 + -0.108 0.139 0.023 -0.232 0.264 0.827 -0.952 0.237 -0.056 -0.180 + 0.486 0.139 -0.034 0.078 0.066 0.011 -0.776 0.124 0.003 0.111 + -0.321 -0.090 0.134 -0.418 0.094 0.064 -0.098 -0.367 0.360 -0.278 + 0.169 -0.012 -0.007 0.191 -0.082 -0.575 0.523 0.279 0.120 -0.000 + 0.131 0.025 -0.146 0.027 0.292 0.198 -0.254 0.183 0.379 0.088 + 0.275 -0.097 -0.289 0.041 0.309 -0.072 0.288 0.072 -0.451 -0.139 + -0.180 0.764 -0.421 -0.222 0.071 -0.085 -0.053 0.197 0.211 -0.330 + 0.450 -0.037 -0.277 0.140 0.145 -0.235 0.445 0.129 -0.544 0.070 + 0.023 -0.081 -0.135 0.227 0.022 0.180 -0.065 0.255 0.136 0.143 + -0.043 -0.131 0.634 -0.281 -0.056 0.072 0.273 -0.222 0.623 0.780 + -0.230 0.062 0.202 -0.427 -0.432 0.471 -0.070 0.084 0.176 0.114 + 0.216 0.058 -0.004 0.135 -0.109 -0.016 0.250 -0.083 0.282 -0.666 + -0.271 -0.082 -0.040 0.040 0.153 0.100 -0.239 -0.140 0.050 0.012 + -0.315 -0.380 -0.316 0.316 0.411 0.713 0.221 -0.002 0.221 -1.280 + 1.557 0.334 0.091 -0.203 0.300 -0.005 0.066 0.185 0.095 0.142 + -0.148 0.078 -0.161 -0.182 -0.123 0.109 0.037 -0.077 -0.173 0.068 + -0.096 0.004 -0.108 -0.519 0.262 -0.341 0.002 0.053 0.130 -0.624 + -0.150 0.179 -0.001 -0.082 0.115 0.309 0.143 0.307 0.419 0.039 + 0.439 0.014 -0.056 0.179 0.108 -0.030 -0.242 -0.020 0.280 0.417 + 0.530 -0.123 -0.082 0.474 -0.460 -0.040 0.024 0.041 -0.039 -0.172 + 0.141 -0.075 0.004 -0.167 0.078 -0.352 -0.480 -0.193 0.027 0.036 + 0.190 0.049 0.287 -0.060 -0.653 0.231 0.165 -0.077 0.072 -0.068 + 0.078 0.379 0.307 0.213 -0.187 -0.052 -0.099 0.141 -0.475 0.161 + -0.299 0.152 0.171 -0.387 0.754 -0.137 0.080 0.058 -0.262 -0.661 + 0.712 -1.405 -0.373 -1.021 0.175 0.147 -0.053 -0.088 0.305 -0.131 + 0.884 -0.176 0.595 0.151 0.133 -0.100 -0.024 -0.365 0.634 0.286 + 0.153 -0.026 -0.068 0.134 -0.043 -0.206 -0.452 -0.393 -0.385 -0.042 + -0.138 -0.161 -0.007 0.263 -0.195 0.388 0.101 0.357 0.056 0.346 + -0.371 0.757 -0.181 -0.183 -0.286 0.008 -0.055 0.107 -0.119 0.235 + -0.365 -0.046 0.560 -0.072 -0.981 0.017 -0.385 0.080 0.596 -0.473 + -0.183 -0.182 0.150 0.246 -0.762 0.219 -0.370 -0.032 -0.324 -0.022 + 0.003 0.155 -0.027 0.019 -0.043 -0.037 0.370 -0.271 0.338 0.027 + -0.009 -0.037 -0.080 0.740 0.185 -0.025 -0.179 -0.271 -0.060 -0.247 + -0.174 0.023 0.164 -0.442 -0.098 -0.108 -0.235 0.726 -0.096 -0.415 + 0.070 -0.082 -0.112 0.050 0.044 -0.192 0.099 0.060 0.034 0.399 + -0.043 -0.836 0.111 -0.020 0.138 -0.155 -0.113 -0.081 0.171 0.239 + 0.119 0.158 0.149 -0.051 -0.339 -0.305 0.271 0.223 0.073 -0.029 + 0.284 0.125 -0.113 0.097 0.031 0.127 -0.357 0.321 0.251 0.033 + 0.207 -0.098 0.044 0.125 -0.357 0.280 0.522 -0.192 0.254 0.719 + -0.348 -0.031 -0.365 -0.091 -0.045 -0.943 0.500 0.183 0.039 -0.079 + 0.201 -0.179 -0.013 -0.105 0.273 0.104 -0.524 0.221 0.120 -0.165 + 0.150 0.110 -0.121 0.081 -0.245 -0.055 0.103 -0.223 0.340 -0.055 + 0.615 -0.574 0.127 0.768 -0.030 0.091 0.048 0.075 -0.096 -0.006 + 0.016 -0.073 0.088 0.353 -0.028 -0.043 0.026 -0.173 -0.209 0.250 + 0.116 -0.070 0.195 -0.016 0.194 -0.063 -0.234 -0.251 0.166 -0.088 + 0.136 0.154 -0.698 -0.256 0.015 -0.042 0.126 -0.226 -0.758 0.038 + 0.209 0.143 -0.004 0.420 -0.271 -0.433 0.186 -0.112 -0.187 -0.044 + 0.074 0.065 -0.239 -0.302 -0.074 0.167 0.155 0.155 -0.057 0.193 + 0.163 0.135 0.038 0.112 0.649 0.050 -0.330 0.241 -0.247 0.165 + 0.638 -0.362 0.883 1.027 -0.160 0.511 0.104 0.079 -0.370 0.603 + -0.371 0.280 -0.064 0.196 -0.412 0.064 0.101 -0.274 0.250 0.221 + -0.367 -0.416 -0.563 0.226 0.017 -0.162 -0.041 0.373 0.426 -0.784 + 0.188 0.019 0.602 -0.044 -0.255 0.075 0.069 0.572 -0.175 -0.282 + -0.916 0.208 0.135 -0.454 -0.222 -0.111 0.016 -0.030 -0.067 -0.053 + 0.129 0.039 0.284 -0.041 -0.269 0.786 -0.717 -0.187 0.484 -0.593 + 0.017 -0.206 -0.240 0.404 0.171 0.096 -0.614 0.395 0.332 -0.710 + -1.081 -0.520 0.051 -0.050 -0.263 -0.362 0.360 -0.195 -0.211 -0.402 + -0.287 -0.149 -1.592 -0.522 0.104 -0.513 -0.039 -0.023 -0.073 -0.102 + 0.323 -0.420 0.213 0.034 0.038 0.255 -0.140 -0.220 0.169 -0.103 + 0.105 0.259 -0.165 0.072 -0.044 -0.064 -0.006 0.013 -0.465 0.112 + -0.054 0.047 0.272 0.017 0.363 0.611 -0.096 -0.021 -1.147 0.583 + -0.035 0.138 0.037 0.218 0.124 0.001 -0.121 -0.247 0.679 0.142 + -0.120 0.089 0.509 -0.608 0.467 -0.259 0.007 -0.132 0.362 0.279 + -0.277 -0.706 -0.218 -0.511 0.052 0.114 0.252 -0.181 -0.837 0.263 + -0.060 0.273 0.030 1.003 -0.399 -0.802 -0.054 -0.098 0.083 0.779 + -0.592 0.262 0.322 0.148 -0.124 -0.125 0.086 -0.250 -0.024 0.053 + -0.115 0.126 0.022 -0.228 0.226 0.868 -0.902 0.240 -0.061 -0.184 + 0.473 0.148 -0.011 0.076 0.083 0.007 -0.767 0.110 -0.034 0.108 + -0.332 -0.090 0.139 -0.395 0.075 0.077 -0.042 -0.325 0.345 -0.285 + 0.169 -0.021 -0.009 0.189 -0.083 -0.641 0.491 0.292 0.123 -0.004 + 0.130 0.032 -0.150 0.033 0.290 0.193 -0.250 0.174 0.385 0.096 + 0.273 -0.094 -0.321 0.044 0.401 -0.065 0.293 0.071 -0.450 -0.160 + -0.163 0.762 -0.463 -0.184 0.062 -0.085 -0.054 0.198 0.202 -0.329 + 0.425 -0.004 -0.238 0.147 0.145 -0.221 0.416 0.054 -0.549 0.067 + 0.021 -0.080 -0.134 0.221 0.031 0.190 -0.046 0.223 0.141 0.156 + -0.041 -0.119 0.648 -0.280 -0.046 0.069 0.280 -0.210 0.569 0.739 + -0.232 0.072 0.193 -0.404 -0.435 0.434 -0.071 0.086 0.173 0.110 + 0.224 0.073 -0.006 0.132 -0.115 -0.024 0.251 -0.071 0.244 -0.681 + -0.308 -0.076 -0.034 0.041 0.141 0.121 -0.248 -0.128 0.068 0.003 + -0.372 -0.354 -0.329 0.212 0.441 0.754 0.219 -0.009 0.212 -1.218 + 1.477 0.307 0.090 -0.158 0.273 -0.003 0.055 0.197 0.097 0.138 + -0.146 0.079 -0.162 -0.181 -0.119 0.085 0.046 -0.092 -0.177 0.078 + -0.100 -0.001 -0.106 -0.456 0.295 -0.317 0.011 0.040 0.114 -0.634 + -0.098 0.155 -0.019 -0.088 0.122 0.306 0.139 0.297 0.449 0.074 + 0.477 0.021 -0.061 0.189 0.110 -0.030 -0.244 -0.016 0.284 0.409 + 0.485 -0.088 -0.117 0.423 -0.507 -0.035 0.029 0.046 -0.050 -0.177 + 0.134 -0.068 -0.000 -0.162 0.080 -0.342 -0.511 -0.202 0.036 0.043 + 0.190 0.065 0.300 -0.015 -0.688 0.201 0.142 -0.083 0.075 -0.075 + 0.081 0.374 0.305 0.197 -0.194 -0.044 -0.123 0.114 -0.423 0.165 + -0.277 0.147 0.152 -0.390 0.763 -0.138 0.079 0.077 -0.214 -0.681 + 0.710 -1.394 -0.348 -0.987 0.176 0.150 -0.055 -0.065 0.319 -0.147 + 0.852 -0.161 0.532 0.164 0.132 -0.093 -0.006 -0.359 0.636 0.270 + 0.177 -0.062 -0.065 0.149 -0.044 -0.201 -0.444 -0.319 -0.356 -0.053 + -0.132 -0.156 -0.009 0.250 -0.191 0.380 0.114 0.371 0.029 0.389 + -0.365 0.699 -0.075 -0.199 -0.276 0.001 -0.055 0.100 -0.128 0.227 + -0.363 -0.044 0.551 -0.065 -0.973 0.008 -0.372 0.079 0.563 -0.454 + -0.195 -0.180 0.160 0.232 -0.746 0.243 -0.409 -0.024 -0.323 -0.034 + 0.000 0.154 -0.020 0.030 -0.051 -0.037 0.320 -0.272 0.342 0.037 + -0.006 -0.039 -0.040 0.729 0.205 -0.020 -0.170 -0.268 -0.071 -0.233 + -0.173 -0.023 0.136 -0.410 -0.094 -0.114 -0.226 0.694 -0.077 -0.365 + 0.067 -0.091 -0.122 0.077 0.083 -0.136 0.086 0.066 0.023 0.396 + -0.073 -0.787 0.099 -0.025 0.148 -0.153 -0.108 -0.075 0.173 0.253 + 0.124 0.147 0.146 -0.052 -0.262 -0.316 0.248 0.227 0.068 -0.028 + 0.256 0.134 -0.112 0.108 0.033 0.132 -0.411 0.327 0.219 0.032 + 0.198 -0.094 0.033 0.132 -0.327 0.235 0.522 -0.147 0.268 0.713 + -0.310 -0.023 -0.351 -0.090 -0.055 -0.945 0.528 0.191 0.047 -0.092 + 0.202 -0.183 -0.018 -0.104 0.267 0.105 -0.495 0.188 0.092 -0.166 + 0.136 0.106 -0.120 0.081 -0.250 -0.055 0.107 -0.223 0.339 -0.038 + 0.606 -0.532 0.034 0.748 -0.028 0.088 0.060 0.086 -0.107 -0.020 + 0.018 -0.073 0.090 0.351 -0.030 -0.047 0.050 -0.197 -0.188 0.247 + 0.124 -0.063 0.185 -0.017 0.202 -0.091 -0.245 -0.288 0.174 -0.094 + 0.128 0.150 -0.705 -0.219 0.005 -0.038 0.116 -0.191 -0.737 0.045 + 0.202 0.153 -0.005 0.406 -0.265 -0.489 0.209 -0.108 -0.192 -0.047 + 0.077 0.066 -0.242 -0.300 -0.072 0.166 0.147 0.142 -0.083 0.184 + 0.173 0.125 0.048 0.109 0.641 0.034 -0.307 0.243 -0.244 0.175 + 0.687 -0.314 0.902 1.048 -0.136 0.448 0.115 0.087 -0.388 0.564 + -0.303 0.352 -0.037 0.230 -0.436 0.064 0.100 -0.280 0.244 0.196 + -0.383 -0.366 -0.556 0.210 0.019 -0.149 -0.045 0.344 0.436 -0.745 + 0.238 0.047 0.571 -0.044 -0.271 0.071 0.086 0.556 -0.094 -0.330 + -0.833 0.204 0.115 -0.484 -0.161 -0.108 0.020 -0.020 -0.070 -0.064 + 0.124 0.045 0.278 -0.038 -0.255 0.804 -0.680 -0.194 0.464 -0.564 + 0.018 -0.206 -0.226 0.366 0.126 0.023 -0.565 0.363 0.305 -0.694 + -1.061 -0.518 0.043 -0.057 -0.259 -0.421 0.317 -0.190 -0.211 -0.395 + -0.288 -0.177 -1.536 -0.541 0.081 -0.487 -0.040 -0.017 -0.072 -0.106 + 0.351 -0.428 0.176 0.029 0.040 0.254 -0.143 -0.217 0.174 -0.110 + 0.099 0.239 -0.174 0.155 0.012 -0.060 -0.012 0.012 -0.460 0.123 + -0.070 0.053 0.269 0.012 0.348 0.530 -0.076 -0.053 -1.090 0.569 + -0.026 0.140 0.040 0.223 0.138 0.003 -0.111 -0.285 0.608 0.140 + -0.120 0.079 0.570 -0.556 0.437 -0.270 0.000 -0.139 0.355 0.278 + -0.280 -0.696 -0.174 -0.461 0.057 0.124 0.254 -0.213 -0.857 0.217 + -0.052 0.250 0.022 0.945 -0.364 -0.743 -0.052 -0.085 0.091 0.786 + -0.574 0.206 0.321 0.162 -0.133 -0.130 0.091 -0.247 -0.017 0.053 + -0.114 0.133 0.024 -0.229 0.222 0.857 -0.884 0.240 -0.060 -0.188 + 0.445 0.146 -0.023 0.071 0.084 0.006 -0.764 0.055 -0.056 0.107 + -0.318 -0.087 0.117 -0.414 0.072 0.082 -0.013 -0.333 0.383 -0.310 + 0.181 -0.030 -0.008 0.193 -0.045 -0.690 0.428 0.299 0.127 -0.002 + 0.131 0.041 -0.154 0.027 0.300 0.200 -0.234 0.142 0.386 0.087 + 0.274 -0.093 -0.302 0.040 0.433 -0.069 0.292 0.054 -0.434 -0.165 + -0.157 0.700 -0.459 -0.226 0.059 -0.081 -0.044 0.205 0.200 -0.316 + 0.386 -0.026 -0.243 0.136 0.147 -0.214 0.443 -0.004 -0.584 0.072 + 0.028 -0.076 -0.127 0.207 0.040 0.192 0.001 0.203 0.156 0.156 + -0.039 -0.084 0.686 -0.279 -0.040 0.061 0.289 -0.181 0.538 0.702 + -0.229 0.076 0.184 -0.400 -0.411 0.418 -0.066 0.094 0.167 0.117 + 0.220 0.074 -0.010 0.137 -0.113 -0.022 0.247 -0.070 0.234 -0.677 + -0.357 -0.069 -0.021 0.037 0.123 0.119 -0.249 -0.132 0.082 0.005 + -0.414 -0.333 -0.333 0.181 0.401 0.766 0.223 -0.001 0.212 -1.161 + 1.424 0.300 0.112 -0.134 0.247 -0.006 0.052 0.198 0.106 0.141 + -0.144 0.069 -0.160 -0.172 -0.111 0.082 0.053 -0.087 -0.182 0.071 + -0.114 -0.004 -0.110 -0.411 0.255 -0.258 0.010 0.020 0.105 -0.611 + -0.040 0.185 -0.021 -0.086 0.124 0.325 0.117 0.278 0.460 0.132 + 0.515 0.015 -0.063 0.197 0.113 -0.022 -0.250 -0.009 0.280 0.406 + 0.452 -0.067 -0.134 0.371 -0.543 -0.040 0.026 0.030 -0.050 -0.181 + 0.136 -0.068 -0.010 -0.158 0.075 -0.293 -0.491 -0.257 0.026 0.052 + 0.197 0.069 0.327 0.048 -0.696 0.181 0.109 -0.088 0.082 -0.075 + 0.084 0.372 0.307 0.197 -0.189 -0.047 -0.111 0.115 -0.361 0.159 + -0.272 0.158 0.125 -0.375 0.698 -0.134 0.068 0.077 -0.222 -0.644 + 0.714 -1.386 -0.325 -0.925 0.176 0.155 -0.058 -0.066 0.318 -0.132 + 0.790 -0.141 0.505 0.161 0.128 -0.084 0.062 -0.302 0.573 0.304 + 0.171 -0.084 -0.075 0.166 -0.040 -0.165 -0.469 -0.314 -0.340 -0.054 + -0.155 -0.161 -0.018 0.239 -0.169 0.398 0.098 0.330 0.026 0.486 + -0.356 0.655 -0.003 -0.198 -0.273 0.009 -0.048 0.089 -0.131 0.229 + -0.363 -0.048 0.546 -0.048 -0.910 0.002 -0.376 0.086 0.505 -0.399 + -0.186 -0.190 0.148 0.238 -0.694 0.239 -0.509 -0.054 -0.347 -0.071 + -0.012 0.142 -0.035 0.041 -0.050 -0.024 0.236 -0.276 0.398 0.037 + -0.009 -0.044 -0.061 0.753 0.262 -0.024 -0.167 -0.270 -0.075 -0.237 + -0.172 -0.014 0.094 -0.361 -0.098 -0.119 -0.228 0.651 -0.051 -0.356 + 0.067 -0.080 -0.120 0.024 0.082 -0.169 0.094 0.070 0.016 0.426 + -0.088 -0.715 0.093 -0.032 0.160 -0.151 -0.124 -0.065 0.186 0.243 + 0.123 0.146 0.154 -0.046 -0.226 -0.377 0.213 0.226 0.055 -0.031 + 0.238 0.117 -0.124 0.109 0.049 0.130 -0.469 0.311 0.216 0.042 + 0.203 -0.090 0.036 0.136 -0.343 0.229 0.529 -0.137 0.285 0.733 + -0.244 -0.035 -0.340 -0.099 -0.071 -0.922 0.546 0.194 0.044 -0.099 + 0.200 -0.167 -0.032 -0.098 0.267 0.110 -0.449 0.199 0.052 -0.165 + 0.138 0.097 -0.132 0.090 -0.248 -0.047 0.109 -0.212 0.338 0.003 + 0.552 -0.499 -0.020 0.714 -0.043 0.085 0.073 0.082 -0.117 -0.034 + -0.005 -0.094 0.102 0.354 -0.032 -0.056 0.010 -0.221 -0.153 0.247 + 0.134 -0.058 0.182 -0.019 0.213 -0.058 -0.218 -0.336 0.173 -0.098 + 0.138 0.162 -0.691 -0.186 0.005 -0.036 0.121 -0.179 -0.765 0.086 + 0.209 0.158 0.010 0.389 -0.221 -0.564 0.216 -0.102 -0.187 -0.052 + 0.070 0.062 -0.244 -0.302 -0.067 0.171 0.143 0.127 -0.098 0.177 + 0.186 0.120 0.040 0.100 0.609 0.064 -0.280 0.250 -0.230 0.177 + 0.727 -0.296 0.897 0.993 -0.035 0.356 0.115 0.078 -0.395 0.509 + -0.309 0.347 -0.005 0.206 -0.397 0.058 0.096 -0.281 0.208 0.196 + -0.385 -0.339 -0.502 0.213 0.019 -0.152 -0.043 0.277 0.409 -0.706 + 0.232 0.046 0.532 -0.031 -0.288 0.075 0.104 0.577 -0.072 -0.337 + -0.735 0.169 0.114 -0.491 -0.124 -0.110 0.027 -0.034 -0.072 -0.071 + 0.125 0.047 0.268 -0.034 -0.282 0.839 -0.652 -0.224 0.468 -0.591 + 0.012 -0.198 -0.231 0.326 0.110 -0.033 -0.541 0.316 0.301 -0.693 + -1.007 -0.534 0.041 -0.059 -0.254 -0.453 0.306 -0.155 -0.217 -0.400 + -0.279 -0.216 -1.468 -0.550 0.101 -0.560 -0.074 -0.024 -0.065 -0.103 + 0.394 -0.425 0.163 0.030 0.019 0.257 -0.145 -0.213 0.178 -0.106 + 0.084 0.240 -0.213 0.209 0.027 -0.049 -0.020 0.024 -0.443 0.086 + -0.117 0.045 0.259 0.008 0.309 0.477 -0.076 -0.046 -1.059 0.561 + -0.027 0.144 0.037 0.227 0.127 0.002 -0.101 -0.297 0.552 0.135 + -0.115 0.071 0.583 -0.556 0.465 -0.280 0.008 -0.137 0.362 0.272 + -0.287 -0.670 -0.163 -0.416 0.061 0.129 0.270 -0.201 -0.895 0.208 + -0.049 0.222 0.012 0.885 -0.341 -0.659 -0.043 -0.082 0.099 0.853 + -0.537 0.166 0.328 0.164 -0.133 -0.142 0.085 -0.248 -0.014 0.053 + -0.109 0.127 0.031 -0.231 0.182 0.839 -0.848 0.235 -0.056 -0.186 + 0.440 0.150 -0.042 0.063 0.086 0.010 -0.726 0.037 -0.076 0.104 + -0.325 -0.087 0.144 -0.399 0.090 0.134 0.043 -0.391 0.355 -0.312 + 0.211 -0.036 -0.011 0.195 -0.019 -0.769 0.379 0.294 0.135 0.002 + 0.127 0.043 -0.148 0.005 0.292 0.210 -0.235 0.129 0.439 0.081 + 0.267 -0.093 -0.282 0.017 0.476 -0.061 0.291 0.058 -0.463 -0.122 + -0.214 0.687 -0.448 -0.233 0.056 -0.097 -0.053 0.218 0.215 -0.300 + 0.402 0.013 -0.231 0.137 0.146 -0.217 0.410 0.001 -0.599 0.068 + 0.024 -0.068 -0.131 0.208 0.031 0.187 0.007 0.156 0.151 0.156 + -0.040 -0.077 0.698 -0.283 -0.038 0.062 0.294 -0.201 0.539 0.664 + -0.232 0.085 0.189 -0.406 -0.397 0.412 -0.065 0.095 0.170 0.114 + 0.220 0.085 -0.016 0.146 -0.118 -0.015 0.249 -0.067 0.218 -0.676 + -0.433 -0.074 -0.031 0.028 0.088 0.148 -0.307 -0.126 0.082 0.001 + -0.426 -0.340 -0.334 0.159 0.390 0.766 0.205 0.007 0.214 -1.068 + 1.418 0.279 0.111 -0.121 0.240 -0.008 0.051 0.196 0.110 0.143 + -0.140 0.071 -0.149 -0.174 -0.101 0.080 0.063 -0.099 -0.183 0.070 + -0.132 -0.002 -0.117 -0.317 0.279 -0.251 0.026 0.011 0.096 -0.586 + -0.023 0.188 -0.029 -0.085 0.107 0.339 0.066 0.276 0.464 0.156 + 0.506 0.009 -0.072 0.217 0.105 -0.023 -0.249 -0.001 0.286 0.404 + 0.433 -0.025 -0.119 0.280 -0.541 -0.030 0.018 0.033 -0.047 -0.178 + 0.129 -0.076 -0.010 -0.141 0.084 -0.265 -0.497 -0.275 0.028 0.056 + 0.185 0.107 0.365 0.076 -0.713 0.144 0.101 -0.102 0.086 -0.070 + 0.093 0.372 0.304 0.186 -0.191 -0.052 -0.051 0.054 -0.336 0.166 + -0.258 0.151 0.122 -0.372 0.657 -0.148 0.060 0.075 -0.203 -0.668 + 0.705 -1.364 -0.326 -0.902 0.181 0.153 -0.068 -0.101 0.285 -0.115 + 0.788 -0.161 0.477 0.160 0.128 -0.065 0.064 -0.282 0.534 0.281 + 0.212 -0.088 -0.084 0.180 -0.036 -0.160 -0.472 -0.324 -0.305 -0.087 + -0.170 -0.152 -0.022 0.230 -0.133 0.417 0.127 0.271 0.101 0.514 + -0.402 0.626 0.010 -0.189 -0.267 0.021 -0.049 0.083 -0.119 0.221 + -0.353 -0.042 0.560 -0.048 -0.898 -0.015 -0.378 0.093 0.505 -0.406 + -0.153 -0.184 0.142 0.246 -0.645 0.273 -0.562 -0.062 -0.327 -0.075 + -0.029 0.128 -0.026 0.060 -0.044 -0.021 0.196 -0.259 0.394 0.035 + -0.015 -0.047 -0.083 0.722 0.265 -0.013 -0.152 -0.261 -0.081 -0.237 + -0.170 0.019 0.077 -0.315 -0.102 -0.127 -0.235 0.625 -0.070 -0.348 + 0.064 -0.080 -0.123 0.025 0.090 -0.133 0.087 0.079 0.022 0.426 + -0.107 -0.681 0.094 -0.037 0.159 -0.148 -0.120 -0.054 0.177 0.243 + 0.124 0.143 0.158 -0.048 -0.119 -0.376 0.166 0.218 0.057 -0.014 + 0.228 0.145 -0.100 0.121 0.050 0.124 -0.541 0.273 0.202 0.047 + 0.195 -0.092 0.030 0.140 -0.322 0.198 0.557 -0.130 0.276 0.761 + -0.179 -0.038 -0.334 -0.107 -0.094 -0.913 0.542 0.189 0.040 -0.110 + 0.193 -0.167 -0.034 -0.099 0.264 0.115 -0.469 0.131 0.039 -0.167 + 0.121 0.100 -0.099 0.094 -0.241 -0.047 0.112 -0.198 0.329 0.050 + 0.507 -0.496 -0.059 0.651 -0.042 0.092 0.082 0.091 -0.112 -0.040 + -0.010 -0.088 0.083 0.365 -0.024 -0.061 0.004 -0.266 -0.127 0.243 + 0.136 -0.043 0.185 -0.010 0.213 -0.066 -0.232 -0.394 0.177 -0.112 + 0.149 0.204 -0.671 -0.175 0.005 -0.029 0.119 -0.173 -0.798 0.104 + 0.212 0.166 0.005 0.365 -0.212 -0.594 0.213 -0.110 -0.176 -0.055 + 0.076 0.067 -0.243 -0.309 -0.061 0.170 0.137 0.121 -0.073 0.202 + 0.171 0.122 0.047 0.103 0.628 0.086 -0.190 0.247 -0.217 0.169 + 0.799 -0.208 0.870 0.964 -0.029 0.302 0.134 0.075 -0.392 0.429 + -0.261 0.363 -0.023 0.185 -0.364 0.056 0.102 -0.285 0.172 0.162 + -0.396 -0.286 -0.463 0.205 0.032 -0.151 -0.046 0.191 0.407 -0.682 + 0.223 0.029 0.533 -0.026 -0.297 0.077 0.117 0.597 -0.042 -0.400 + -0.619 0.151 0.080 -0.517 -0.118 -0.108 0.043 -0.034 -0.075 -0.070 + 0.117 0.048 0.275 -0.028 -0.273 0.840 -0.622 -0.235 0.505 -0.580 + 0.021 -0.182 -0.229 0.320 0.109 -0.094 -0.517 0.238 0.356 -0.682 + -1.014 -0.571 0.043 -0.061 -0.248 -0.482 0.309 -0.094 -0.216 -0.396 + -0.272 -0.255 -1.416 -0.548 0.118 -0.551 -0.080 -0.033 -0.064 -0.100 + 0.432 -0.410 0.146 0.029 0.014 0.258 -0.141 -0.209 0.182 -0.110 + 0.084 0.224 -0.223 0.242 0.016 -0.042 -0.009 0.033 -0.437 0.038 + -0.152 0.049 0.254 0.007 0.335 0.488 -0.068 -0.083 -1.006 0.517 + -0.021 0.158 0.045 0.231 0.144 -0.003 -0.075 -0.288 0.505 0.135 + -0.118 0.070 0.595 -0.526 0.474 -0.283 -0.006 -0.145 0.366 0.270 + -0.289 -0.633 -0.098 -0.360 0.053 0.129 0.268 -0.200 -0.875 0.177 + -0.058 0.216 0.002 0.817 -0.299 -0.575 -0.058 -0.078 0.114 0.849 + -0.525 0.151 0.326 0.165 -0.142 -0.150 0.084 -0.248 -0.016 0.049 + -0.119 0.135 0.032 -0.228 0.127 0.858 -0.851 0.239 -0.048 -0.181 + 0.418 0.181 -0.068 0.065 0.096 0.014 -0.678 -0.001 -0.098 0.107 + -0.334 -0.090 0.195 -0.405 0.111 0.163 0.064 -0.364 0.316 -0.303 + 0.189 -0.023 -0.006 0.197 0.022 -0.801 0.298 0.288 0.137 -0.001 + 0.119 0.048 -0.153 0.014 0.297 0.212 -0.246 0.099 0.421 0.093 + 0.278 -0.093 -0.305 0.032 0.513 -0.058 0.284 0.050 -0.435 -0.173 + -0.185 0.689 -0.483 -0.230 0.054 -0.086 -0.051 0.218 0.225 -0.294 + 0.410 0.032 -0.289 0.158 0.144 -0.209 0.396 -0.022 -0.609 0.069 + 0.023 -0.068 -0.126 0.203 0.025 0.147 0.052 0.162 0.153 0.166 + -0.038 -0.030 0.692 -0.275 -0.040 0.057 0.309 -0.202 0.504 0.651 + -0.226 0.087 0.184 -0.421 -0.399 0.440 -0.075 0.094 0.168 0.103 + 0.227 0.103 -0.014 0.152 -0.121 -0.011 0.243 -0.059 0.208 -0.649 + -0.492 -0.069 -0.022 0.027 0.048 0.133 -0.369 -0.130 0.077 -0.008 + -0.445 -0.309 -0.342 0.136 0.346 0.756 0.197 0.005 0.208 -1.003 + 1.334 0.257 0.112 -0.115 0.262 -0.009 0.029 0.194 0.102 0.142 + -0.139 0.059 -0.137 -0.184 -0.089 0.074 0.074 -0.104 -0.173 0.072 + -0.132 0.000 -0.124 -0.291 0.265 -0.261 0.034 0.014 0.077 -0.570 + -0.028 0.242 -0.029 -0.077 0.108 0.357 0.069 0.288 0.469 0.177 + 0.556 0.011 -0.088 0.225 0.098 -0.022 -0.246 0.007 0.282 0.404 + 0.391 0.001 -0.098 0.248 -0.561 -0.062 0.026 0.027 -0.043 -0.178 + 0.133 -0.074 -0.005 -0.137 0.073 -0.272 -0.492 -0.288 0.032 0.051 + 0.190 0.121 0.367 0.091 -0.674 0.116 0.086 -0.108 0.088 -0.069 + 0.093 0.363 0.297 0.182 -0.194 -0.056 0.012 0.009 -0.319 0.185 + -0.253 0.134 0.129 -0.334 0.654 -0.158 0.064 0.071 -0.176 -0.692 + 0.668 -1.405 -0.276 -0.904 0.189 0.145 -0.069 -0.104 0.296 -0.121 + 0.783 -0.146 0.438 0.157 0.129 -0.045 0.104 -0.251 0.479 0.224 + 0.183 -0.081 -0.075 0.186 -0.026 -0.206 -0.537 -0.306 -0.303 -0.076 + -0.163 -0.152 -0.014 0.230 -0.107 0.446 0.158 0.290 0.133 0.558 + -0.416 0.557 0.072 -0.198 -0.261 0.016 -0.049 0.073 -0.118 0.217 + -0.348 -0.055 0.544 -0.042 -0.936 -0.011 -0.376 0.090 0.479 -0.340 + -0.138 -0.180 0.142 0.244 -0.616 0.265 -0.621 -0.058 -0.326 -0.117 + -0.028 0.134 -0.019 0.071 -0.051 -0.021 0.173 -0.272 0.419 0.033 + -0.008 -0.045 -0.128 0.729 0.256 -0.004 -0.148 -0.259 -0.077 -0.242 + -0.175 -0.050 0.037 -0.298 -0.092 -0.134 -0.237 0.579 -0.028 -0.361 + 0.061 -0.086 -0.122 0.043 0.081 -0.149 0.083 0.084 0.011 0.448 + -0.099 -0.658 0.078 -0.050 0.157 -0.165 -0.113 -0.052 0.171 0.239 + 0.133 0.139 0.160 -0.045 -0.016 -0.354 0.194 0.212 0.064 -0.015 + 0.191 0.095 -0.113 0.123 0.050 0.133 -0.571 0.219 0.196 0.052 + 0.189 -0.093 0.008 0.112 -0.277 0.181 0.552 -0.136 0.241 0.755 + -0.190 -0.038 -0.331 -0.107 -0.129 -0.892 0.551 0.184 0.038 -0.121 + 0.195 -0.166 -0.024 -0.087 0.268 0.116 -0.458 0.057 0.008 -0.177 + 0.116 0.095 -0.085 0.134 -0.207 -0.037 0.102 -0.178 0.285 0.049 + 0.503 -0.491 -0.132 0.580 -0.058 0.093 0.086 0.104 -0.113 -0.036 + 0.004 -0.129 0.088 0.369 -0.018 -0.059 -0.000 -0.257 -0.098 0.250 + 0.141 -0.032 0.188 -0.015 0.224 -0.033 -0.261 -0.438 0.178 -0.120 + 0.159 0.179 -0.609 -0.150 0.007 -0.023 0.115 -0.171 -0.814 0.085 + 0.210 0.162 0.004 0.390 -0.274 -0.620 0.207 -0.111 -0.176 -0.068 + 0.079 0.061 -0.229 -0.303 -0.059 0.168 0.128 0.115 -0.088 0.190 + 0.095 0.119 0.044 0.105 0.617 0.045 -0.160 0.253 -0.200 0.182 + 0.812 -0.198 0.836 0.917 0.042 0.250 0.131 0.071 -0.400 0.383 + -0.258 0.369 -0.007 0.170 -0.310 0.046 0.109 -0.287 0.215 0.137 + -0.425 -0.296 -0.449 0.183 0.034 -0.158 -0.051 0.156 0.425 -0.698 + 0.237 -0.016 0.531 -0.030 -0.295 0.070 0.121 0.616 -0.027 -0.420 + -0.588 0.121 0.062 -0.541 -0.068 -0.110 0.039 -0.041 -0.079 -0.072 + 0.120 0.049 0.272 -0.014 -0.313 0.851 -0.581 -0.207 0.524 -0.585 + 0.023 -0.180 -0.235 0.245 0.060 -0.185 -0.522 0.241 0.335 -0.707 + -1.025 -0.649 0.038 -0.063 -0.255 -0.474 0.272 -0.054 -0.210 -0.414 + -0.260 -0.265 -1.358 -0.511 0.073 -0.526 -0.043 -0.029 -0.066 -0.093 + 0.501 -0.420 0.115 0.028 0.015 0.246 -0.137 -0.205 0.175 -0.118 + 0.097 0.225 -0.300 0.298 -0.011 -0.038 -0.018 0.048 -0.476 -0.011 + -0.156 0.064 0.244 0.005 0.330 0.466 -0.034 -0.062 -0.906 0.452 + -0.021 0.159 0.040 0.224 0.141 0.007 -0.054 -0.271 0.442 0.126 + -0.131 0.080 0.602 -0.496 0.442 -0.296 -0.015 -0.143 0.360 0.261 + -0.290 -0.603 -0.041 -0.358 0.053 0.127 0.273 -0.178 -0.863 0.140 + -0.051 0.191 -0.015 0.817 -0.260 -0.511 -0.066 -0.091 0.116 0.851 + -0.551 0.141 0.332 0.166 -0.135 -0.161 0.090 -0.241 -0.011 0.049 + -0.104 0.140 0.023 -0.233 0.128 0.877 -0.820 0.248 -0.045 -0.181 + 0.381 0.191 -0.043 0.062 0.100 0.009 -0.629 -0.025 -0.151 0.116 + -0.337 -0.095 0.225 -0.372 0.124 0.151 0.070 -0.387 0.274 -0.333 + 0.171 -0.011 -0.014 0.184 0.037 -0.837 0.269 0.288 0.134 -0.006 + 0.116 0.047 -0.156 0.020 0.303 0.209 -0.224 0.126 0.416 0.091 + 0.284 -0.101 -0.366 -0.020 0.528 -0.060 0.284 0.048 -0.458 -0.171 + -0.126 0.681 -0.541 -0.212 0.053 -0.091 -0.049 0.228 0.236 -0.301 + 0.461 0.008 -0.348 0.156 0.141 -0.211 0.364 -0.018 -0.604 0.055 + 0.035 -0.074 -0.123 0.189 0.021 0.160 0.102 0.168 0.141 0.168 + -0.037 -0.003 0.689 -0.180 -0.034 0.051 0.328 -0.201 0.462 0.607 + -0.224 0.089 0.194 -0.391 -0.388 0.428 -0.083 0.112 0.164 0.098 + 0.230 0.108 -0.017 0.151 -0.128 -0.005 0.232 -0.056 0.189 -0.627 + -0.587 -0.067 -0.032 0.026 0.017 0.153 -0.389 -0.143 0.078 -0.009 + -0.479 -0.318 -0.318 0.119 0.342 0.764 0.184 0.014 0.207 -0.887 + 1.292 0.268 0.121 -0.100 0.234 -0.016 0.024 0.207 0.107 0.145 + -0.143 0.064 -0.134 -0.183 -0.098 0.076 0.082 -0.101 -0.174 0.081 + -0.143 0.004 -0.124 -0.217 0.252 -0.230 0.023 0.015 0.066 -0.557 + 0.013 0.271 -0.025 -0.062 0.104 0.368 0.044 0.249 0.461 0.223 + 0.528 0.023 -0.079 0.228 0.102 -0.028 -0.242 0.015 0.280 0.406 + 0.378 0.054 -0.098 0.207 -0.598 -0.065 0.034 0.022 -0.048 -0.176 + 0.142 -0.068 -0.018 -0.136 0.075 -0.290 -0.520 -0.325 0.018 0.044 + 0.188 0.131 0.331 0.095 -0.692 0.122 0.033 -0.108 0.086 -0.060 + 0.090 0.357 0.298 0.178 -0.193 -0.056 0.084 -0.039 -0.283 0.183 + -0.247 0.125 0.148 -0.332 0.615 -0.168 0.053 0.067 -0.173 -0.727 + 0.622 -1.404 -0.256 -0.911 0.185 0.146 -0.060 -0.068 0.249 -0.095 + 0.765 -0.179 0.411 0.153 0.125 -0.042 0.139 -0.261 0.474 0.253 + 0.180 -0.101 -0.075 0.188 -0.028 -0.231 -0.579 -0.325 -0.315 -0.068 + -0.185 -0.152 -0.025 0.226 -0.031 0.401 0.157 0.305 0.145 0.609 + -0.459 0.490 0.160 -0.199 -0.258 0.027 -0.044 0.059 -0.112 0.225 + -0.342 -0.073 0.564 -0.046 -0.900 -0.021 -0.374 0.097 0.467 -0.302 + -0.139 -0.176 0.129 0.250 -0.607 0.315 -0.640 -0.083 -0.249 -0.147 + -0.033 0.146 -0.020 0.082 -0.044 -0.024 0.073 -0.261 0.462 0.040 + 0.003 -0.053 -0.136 0.763 0.269 0.000 -0.152 -0.258 -0.080 -0.238 + -0.179 -0.044 0.041 -0.284 -0.092 -0.135 -0.242 0.554 -0.042 -0.296 + 0.063 -0.091 -0.126 0.053 0.097 -0.116 0.076 0.088 0.007 0.438 + -0.124 -0.607 0.069 -0.054 0.167 -0.178 -0.124 -0.056 0.173 0.234 + 0.137 0.141 0.152 -0.044 0.055 -0.353 0.169 0.204 0.073 -0.003 + 0.204 0.081 -0.099 0.130 0.050 0.115 -0.576 0.183 0.220 0.060 + 0.178 -0.104 0.014 0.120 -0.265 0.177 0.554 -0.159 0.245 0.756 + -0.183 -0.043 -0.339 -0.110 -0.168 -0.915 0.681 0.185 0.030 -0.110 + 0.195 -0.154 -0.022 -0.084 0.269 0.133 -0.454 0.007 -0.010 -0.172 + 0.104 0.089 -0.090 0.139 -0.186 -0.022 0.113 -0.175 0.245 0.026 + 0.442 -0.496 -0.180 0.489 -0.061 0.095 0.090 0.108 -0.107 -0.026 + 0.026 -0.165 0.053 0.373 0.001 -0.056 0.022 -0.256 -0.044 0.259 + 0.155 -0.037 0.195 0.006 0.238 0.013 -0.236 -0.432 0.187 -0.116 + 0.152 0.180 -0.630 -0.164 0.004 -0.029 0.102 -0.113 -0.836 0.127 + 0.211 0.162 0.011 0.391 -0.282 -0.703 0.219 -0.108 -0.172 -0.071 + 0.084 0.051 -0.229 -0.297 -0.062 0.173 0.122 0.109 -0.109 0.210 + 0.109 0.118 0.050 0.098 0.655 0.095 -0.145 0.242 -0.183 0.178 + 0.867 -0.184 0.853 0.915 0.070 0.195 0.136 0.066 -0.394 0.314 + -0.195 0.390 -0.009 0.129 -0.282 0.041 0.107 -0.290 0.194 0.156 + -0.385 -0.219 -0.459 0.142 0.037 -0.162 -0.056 0.110 0.430 -0.669 + 0.242 -0.026 0.539 -0.037 -0.302 0.053 0.127 0.633 0.024 -0.434 + -0.508 0.091 0.030 -0.590 -0.052 -0.124 0.032 -0.036 -0.076 -0.068 + 0.121 0.055 0.271 -0.012 -0.340 0.859 -0.516 -0.199 0.493 -0.634 + 0.026 -0.178 -0.222 0.222 0.018 -0.275 -0.463 0.258 0.343 -0.705 + -0.969 -0.701 0.035 -0.059 -0.256 -0.517 0.251 -0.023 -0.211 -0.441 + -0.254 -0.274 -1.307 -0.578 0.066 -0.542 -0.016 -0.030 -0.073 -0.084 + 0.555 -0.412 0.073 0.025 0.014 0.255 -0.130 -0.191 0.168 -0.116 + 0.099 0.208 -0.366 0.370 0.028 -0.032 -0.025 0.057 -0.465 -0.055 + -0.178 0.069 0.241 0.009 0.309 0.428 -0.024 -0.092 -0.884 0.422 + -0.020 0.156 0.040 0.217 0.139 0.003 -0.015 -0.296 0.368 0.131 + -0.121 0.081 0.652 -0.483 0.463 -0.319 -0.023 -0.139 0.365 0.265 + -0.297 -0.574 0.013 -0.299 0.055 0.137 0.276 -0.146 -0.888 0.108 + -0.042 0.170 -0.030 0.771 -0.233 -0.447 -0.069 -0.094 0.122 0.837 + -0.533 0.123 0.341 0.172 -0.141 -0.171 0.086 -0.242 -0.015 0.051 + -0.107 0.142 0.025 -0.234 0.087 0.871 -0.816 0.245 -0.037 -0.181 + 0.361 0.184 -0.101 0.053 0.107 0.019 -0.603 -0.057 -0.152 0.112 + -0.337 -0.099 0.220 -0.398 0.108 0.118 0.106 -0.376 0.262 -0.307 + 0.191 -0.003 -0.014 0.194 0.090 -0.929 0.215 0.289 0.131 -0.003 + 0.126 0.050 -0.170 0.022 0.291 0.201 -0.214 0.147 0.386 0.097 + 0.293 -0.101 -0.384 -0.048 0.549 -0.052 0.297 0.053 -0.412 -0.178 + -0.109 0.644 -0.545 -0.203 0.048 -0.093 -0.055 0.214 0.249 -0.291 + 0.452 -0.006 -0.375 0.169 0.141 -0.201 0.342 0.007 -0.669 0.065 + 0.034 -0.074 -0.126 0.183 0.036 0.124 0.136 0.177 0.129 0.179 + -0.045 0.021 0.754 -0.159 -0.024 0.043 0.333 -0.213 0.436 0.570 + -0.227 0.098 0.203 -0.351 -0.355 0.432 -0.080 0.120 0.164 0.096 + 0.223 0.115 -0.020 0.148 -0.131 -0.010 0.229 -0.051 0.159 -0.627 + -0.613 -0.067 -0.034 0.023 0.026 0.147 -0.436 -0.140 0.076 -0.002 + -0.496 -0.286 -0.328 0.094 0.295 0.785 0.186 0.025 0.208 -0.796 + 1.242 0.268 0.148 -0.106 0.233 -0.013 0.010 0.213 0.105 0.143 + -0.146 0.055 -0.125 -0.182 -0.103 0.075 0.070 -0.107 -0.184 0.087 + -0.150 0.003 -0.125 -0.188 0.263 -0.215 0.030 0.004 0.064 -0.607 + 0.058 0.310 -0.027 -0.043 0.091 0.381 0.044 0.255 0.407 0.181 + 0.494 0.016 -0.080 0.221 0.110 -0.017 -0.241 0.020 0.280 0.406 + 0.416 0.054 -0.096 0.187 -0.605 -0.084 0.047 0.025 -0.047 -0.175 + 0.138 -0.076 -0.019 -0.120 0.075 -0.299 -0.546 -0.353 0.022 0.052 + 0.188 0.126 0.376 0.133 -0.689 0.112 0.016 -0.110 0.086 -0.056 + 0.081 0.354 0.293 0.170 -0.185 -0.049 0.173 -0.075 -0.226 0.192 + -0.243 0.126 0.078 -0.390 0.601 -0.174 0.033 0.059 -0.142 -0.716 + 0.588 -1.378 -0.220 -0.851 0.190 0.151 -0.059 -0.057 0.214 -0.091 + 0.757 -0.187 0.382 0.142 0.133 -0.042 0.177 -0.234 0.424 0.274 + 0.179 -0.093 -0.074 0.193 -0.027 -0.220 -0.605 -0.320 -0.356 -0.085 + -0.139 -0.157 -0.039 0.223 0.035 0.415 0.218 0.294 0.101 0.705 + -0.467 0.401 0.201 -0.195 -0.258 0.026 -0.037 0.066 -0.104 0.224 + -0.333 -0.072 0.563 -0.038 -0.889 -0.016 -0.374 0.102 0.419 -0.265 + -0.127 -0.174 0.130 0.256 -0.577 0.314 -0.685 -0.101 -0.234 -0.170 + -0.037 0.148 -0.029 0.073 -0.036 -0.020 -0.023 -0.216 0.514 0.038 + 0.003 -0.052 -0.150 0.718 0.252 0.026 -0.154 -0.260 -0.080 -0.217 + -0.187 -0.054 -0.009 -0.286 -0.092 -0.129 -0.251 0.478 0.004 -0.275 + 0.074 -0.094 -0.129 0.040 0.112 -0.123 0.066 0.086 0.003 0.437 + -0.115 -0.586 0.063 -0.047 0.170 -0.173 -0.120 -0.056 0.173 0.232 + 0.130 0.143 0.155 -0.045 0.097 -0.355 0.117 0.209 0.074 -0.004 + 0.228 0.127 -0.090 0.139 0.053 0.123 -0.560 0.142 0.253 0.068 + 0.173 -0.093 -0.028 0.114 -0.257 0.154 0.542 -0.178 0.243 0.791 + -0.092 -0.038 -0.331 -0.105 -0.178 -0.876 0.747 0.177 0.036 -0.101 + 0.198 -0.153 -0.019 -0.089 0.269 0.155 -0.469 -0.017 -0.067 -0.179 + 0.100 0.076 -0.041 0.089 -0.157 -0.014 0.109 -0.168 0.213 0.040 + 0.425 -0.473 -0.244 0.401 -0.073 0.104 0.108 0.106 -0.106 -0.023 + 0.050 -0.172 0.053 0.364 0.002 -0.065 0.050 -0.236 -0.015 0.258 + 0.164 -0.023 0.207 0.019 0.232 0.051 -0.204 -0.449 0.183 -0.119 + 0.138 0.212 -0.604 -0.108 -0.001 -0.032 0.096 -0.101 -0.813 0.131 + 0.211 0.168 0.016 0.387 -0.240 -0.737 0.216 -0.123 -0.173 -0.068 + 0.093 0.057 -0.226 -0.296 -0.052 0.190 0.121 0.095 -0.144 0.218 + 0.102 0.108 0.056 0.099 0.647 0.060 -0.094 0.232 -0.172 0.197 + 0.902 -0.214 0.799 0.893 0.123 0.102 0.151 0.052 -0.397 0.269 + -0.195 0.419 -0.032 0.115 -0.237 0.044 0.109 -0.288 0.174 0.137 + -0.372 -0.155 -0.443 0.112 0.038 -0.152 -0.056 0.064 0.441 -0.621 + 0.183 -0.061 0.494 -0.028 -0.304 0.043 0.169 0.641 0.102 -0.469 + -0.431 0.082 -0.031 -0.636 -0.004 -0.121 0.040 -0.039 -0.069 -0.081 + 0.123 0.073 0.275 -0.015 -0.362 0.901 -0.439 -0.193 0.458 -0.628 + 0.029 -0.187 -0.227 0.156 -0.049 -0.353 -0.441 0.225 0.363 -0.686 + -0.958 -0.711 0.025 -0.058 -0.253 -0.550 0.222 -0.006 -0.222 -0.429 + -0.237 -0.293 -1.308 -0.539 0.088 -0.502 -0.032 -0.017 -0.077 -0.087 + 0.601 -0.372 0.070 0.019 0.010 0.258 -0.133 -0.184 0.166 -0.105 + 0.095 0.200 -0.396 0.432 0.056 -0.027 -0.022 0.076 -0.462 -0.033 + -0.168 0.063 0.241 0.009 0.303 0.378 -0.026 -0.084 -0.840 0.385 + -0.012 0.149 0.046 0.219 0.154 -0.000 0.036 -0.331 0.333 0.128 + -0.112 0.072 0.727 -0.508 0.497 -0.339 -0.037 -0.132 0.367 0.263 + -0.313 -0.539 0.098 -0.252 0.063 0.147 0.280 -0.142 -0.896 0.099 + -0.034 0.150 -0.032 0.732 -0.164 -0.387 -0.059 -0.088 0.118 0.841 + -0.458 0.119 0.352 0.176 -0.152 -0.178 0.097 -0.240 -0.015 0.047 + -0.108 0.143 0.038 -0.231 0.029 0.859 -0.767 0.236 -0.037 -0.178 + 0.340 0.176 -0.120 0.062 0.092 0.017 -0.571 -0.040 -0.165 0.116 + -0.335 -0.102 0.220 -0.421 0.125 0.149 0.099 -0.354 0.281 -0.314 + 0.163 -0.004 -0.011 0.196 0.086 -0.958 0.171 0.295 0.124 0.005 + 0.124 0.051 -0.178 0.017 0.295 0.201 -0.202 0.133 0.346 0.084 + 0.302 -0.103 -0.345 -0.065 0.594 -0.044 0.298 0.056 -0.395 -0.195 + -0.101 0.623 -0.585 -0.194 0.033 -0.088 -0.046 0.214 0.251 -0.294 + 0.473 -0.030 -0.406 0.176 0.135 -0.191 0.342 0.017 -0.684 0.065 + 0.017 -0.078 -0.122 0.176 0.025 0.106 0.145 0.142 0.132 0.182 + -0.039 0.056 0.790 -0.152 -0.012 0.046 0.336 -0.187 0.408 0.563 + -0.232 0.086 0.198 -0.359 -0.318 0.424 -0.090 0.125 0.159 0.099 + 0.232 0.125 -0.022 0.157 -0.136 -0.011 0.226 -0.051 0.093 -0.633 + -0.681 -0.063 -0.023 0.026 0.020 0.128 -0.455 -0.146 0.082 -0.009 + -0.506 -0.318 -0.282 0.043 0.284 0.801 0.174 0.029 0.206 -0.741 + 1.179 0.289 0.157 -0.074 0.240 -0.006 0.005 0.215 0.106 0.146 + -0.142 0.055 -0.126 -0.178 -0.106 0.084 0.068 -0.103 -0.176 0.089 + -0.151 -0.000 -0.125 -0.144 0.278 -0.211 0.037 0.002 0.053 -0.596 + 0.118 0.297 -0.034 -0.036 0.080 0.386 0.025 0.225 0.385 0.254 + 0.500 0.016 -0.073 0.239 0.111 -0.017 -0.229 0.015 0.283 0.410 + 0.396 0.083 -0.154 0.168 -0.582 -0.062 0.058 0.027 -0.054 -0.176 + 0.158 -0.082 -0.015 -0.127 0.081 -0.270 -0.528 -0.391 0.018 0.053 + 0.189 0.173 0.382 0.107 -0.656 0.081 -0.013 -0.116 0.088 -0.056 + 0.083 0.354 0.297 0.171 -0.182 -0.053 0.239 -0.118 -0.142 0.193 + -0.230 0.116 0.055 -0.368 0.580 -0.174 0.021 0.057 -0.118 -0.681 + 0.586 -1.386 -0.161 -0.814 0.188 0.159 -0.070 -0.078 0.214 -0.088 + 0.747 -0.118 0.330 0.147 0.136 -0.041 0.193 -0.211 0.404 0.266 + 0.180 -0.127 -0.058 0.191 -0.024 -0.216 -0.620 -0.374 -0.361 -0.062 + -0.169 -0.154 -0.049 0.210 0.034 0.416 0.236 0.260 0.127 0.750 + -0.489 0.382 0.257 -0.195 -0.261 0.040 -0.040 0.059 -0.102 0.224 + -0.337 -0.080 0.581 -0.055 -0.874 -0.003 -0.375 0.112 0.402 -0.256 + -0.118 -0.156 0.125 0.260 -0.516 0.322 -0.721 -0.115 -0.238 -0.173 + -0.042 0.159 -0.039 0.070 -0.038 -0.016 -0.075 -0.237 0.549 0.051 + 0.010 -0.047 -0.167 0.716 0.235 0.030 -0.153 -0.276 -0.070 -0.214 + -0.185 -0.060 -0.028 -0.284 -0.078 -0.123 -0.267 0.435 0.022 -0.272 + 0.060 -0.108 -0.130 -0.016 0.114 -0.118 0.076 0.083 0.002 0.453 + -0.130 -0.535 0.068 -0.049 0.169 -0.171 -0.111 -0.059 0.184 0.231 + 0.135 0.145 0.144 -0.055 0.163 -0.353 0.084 0.215 0.074 -0.011 + 0.249 0.087 -0.066 0.141 0.064 0.123 -0.534 0.178 0.193 0.063 + 0.166 -0.094 -0.017 0.132 -0.245 0.155 0.560 -0.223 0.249 0.780 + -0.090 -0.033 -0.326 -0.112 -0.168 -0.884 0.805 0.175 0.036 -0.105 + 0.196 -0.143 -0.011 -0.083 0.263 0.149 -0.435 -0.034 -0.084 -0.183 + 0.101 0.067 -0.074 0.102 -0.137 -0.014 0.119 -0.168 0.172 0.085 + 0.427 -0.435 -0.292 0.336 -0.072 0.102 0.113 0.104 -0.109 -0.017 + 0.049 -0.172 0.049 0.362 -0.002 -0.067 0.078 -0.271 0.025 0.254 + 0.169 -0.009 0.191 0.021 0.229 0.059 -0.182 -0.497 0.192 -0.131 + 0.150 0.167 -0.560 -0.037 0.001 -0.022 0.091 -0.123 -0.795 0.186 + 0.216 0.170 0.024 0.339 -0.245 -0.786 0.217 -0.142 -0.158 -0.060 + 0.089 0.059 -0.225 -0.294 -0.043 0.192 0.126 0.092 -0.150 0.216 + 0.133 0.108 0.061 0.092 0.611 0.035 -0.062 0.233 -0.181 0.205 + 0.949 -0.175 0.801 0.860 0.166 0.068 0.152 0.041 -0.392 0.212 + -0.176 0.448 -0.029 0.073 -0.237 0.052 0.112 -0.289 0.178 0.152 + -0.399 -0.137 -0.429 0.112 0.044 -0.140 -0.059 0.013 0.406 -0.589 + 0.157 -0.095 0.473 -0.022 -0.298 0.032 0.200 0.627 0.063 -0.527 + -0.362 0.064 -0.049 -0.649 0.037 -0.116 0.036 -0.055 -0.075 -0.089 + 0.110 0.070 0.284 -0.010 -0.337 0.932 -0.434 -0.176 0.436 -0.664 + 0.023 -0.177 -0.228 0.169 -0.081 -0.424 -0.375 0.195 0.397 -0.749 + -0.919 -0.779 0.019 -0.056 -0.246 -0.551 0.170 0.071 -0.211 -0.431 + -0.225 -0.271 -1.253 -0.540 0.109 -0.491 -0.018 -0.019 -0.072 -0.092 + 0.641 -0.340 0.023 0.011 0.001 0.263 -0.119 -0.186 0.173 -0.098 + 0.099 0.195 -0.376 0.519 0.085 -0.023 -0.020 0.077 -0.462 -0.037 + -0.216 0.056 0.229 0.007 0.284 0.387 -0.003 -0.093 -0.801 0.353 + -0.008 0.152 0.048 0.221 0.156 0.012 0.089 -0.336 0.298 0.119 + -0.121 0.077 0.736 -0.516 0.488 -0.365 -0.044 -0.137 0.368 0.260 + -0.333 -0.520 0.162 -0.235 0.065 0.154 0.286 -0.134 -0.884 0.054 + -0.026 0.141 -0.043 0.677 -0.107 -0.338 -0.068 -0.087 0.128 0.823 + -0.403 0.121 0.351 0.181 -0.139 -0.181 0.101 -0.238 -0.021 0.049 + -0.104 0.147 0.044 -0.236 -0.009 0.854 -0.694 0.229 -0.039 -0.164 + 0.269 0.160 -0.139 0.058 0.094 0.021 -0.522 -0.050 -0.169 0.122 + -0.343 -0.111 0.179 -0.403 0.108 0.155 0.138 -0.287 0.247 -0.318 + 0.146 -0.010 -0.008 0.185 0.106 -1.033 0.183 0.298 0.120 -0.000 + 0.117 0.040 -0.177 0.012 0.299 0.204 -0.198 0.161 0.317 0.073 + 0.297 -0.103 -0.363 -0.060 0.597 -0.032 0.299 0.046 -0.394 -0.202 + -0.070 0.636 -0.587 -0.221 0.026 -0.093 -0.050 0.222 0.259 -0.296 + 0.465 -0.002 -0.431 0.188 0.124 -0.197 0.295 0.018 -0.654 0.058 + 0.009 -0.068 -0.133 0.185 0.028 0.118 0.167 0.144 0.121 0.171 + -0.033 0.068 0.814 -0.165 -0.005 0.032 0.341 -0.162 0.401 0.532 + -0.247 0.085 0.202 -0.411 -0.287 0.431 -0.099 0.126 0.160 0.093 + 0.235 0.128 -0.027 0.148 -0.143 -0.015 0.213 -0.047 0.077 -0.673 + -0.739 -0.048 -0.027 0.028 0.007 0.064 -0.491 -0.145 0.079 0.000 + -0.471 -0.354 -0.288 -0.010 0.211 0.831 0.155 0.035 0.196 -0.692 + 1.124 0.275 0.151 -0.051 0.257 -0.003 0.004 0.210 0.116 0.146 + -0.138 0.045 -0.116 -0.177 -0.106 0.066 0.060 -0.100 -0.176 0.085 + -0.148 -0.005 -0.127 -0.053 0.248 -0.204 0.031 0.005 0.040 -0.654 + 0.191 0.319 -0.042 -0.030 0.079 0.394 -0.019 0.210 0.389 0.291 + 0.477 0.018 -0.080 0.248 0.126 -0.020 -0.230 0.011 0.284 0.402 + 0.391 0.109 -0.161 0.120 -0.563 -0.046 0.063 0.016 -0.051 -0.172 + 0.156 -0.075 -0.030 -0.129 0.084 -0.253 -0.571 -0.363 0.018 0.047 + 0.186 0.197 0.406 0.152 -0.684 0.051 -0.034 -0.119 0.099 -0.069 + 0.081 0.349 0.293 0.156 -0.182 -0.049 0.294 -0.155 -0.088 0.197 + -0.222 0.112 0.012 -0.353 0.552 -0.184 0.011 0.056 -0.105 -0.698 + 0.558 -1.401 -0.132 -0.777 0.199 0.156 -0.066 -0.071 0.189 -0.093 + 0.663 -0.071 0.278 0.133 0.134 -0.037 0.245 -0.173 0.406 0.213 + 0.171 -0.173 -0.042 0.198 -0.023 -0.195 -0.692 -0.383 -0.375 -0.049 + -0.196 -0.160 -0.044 0.200 0.018 0.439 0.222 0.259 0.140 0.817 + -0.527 0.314 0.344 -0.196 -0.258 0.031 -0.031 0.049 -0.108 0.226 + -0.343 -0.090 0.585 -0.024 -0.859 -0.000 -0.384 0.105 0.407 -0.220 + -0.119 -0.157 0.117 0.271 -0.469 0.342 -0.790 -0.099 -0.218 -0.204 + -0.051 0.162 -0.050 0.070 -0.045 -0.017 -0.119 -0.209 0.579 0.037 + 0.001 -0.048 -0.158 0.727 0.232 0.036 -0.158 -0.266 -0.076 -0.216 + -0.191 -0.040 -0.053 -0.260 -0.058 -0.126 -0.267 0.382 0.046 -0.227 + 0.068 -0.113 -0.137 -0.009 0.103 -0.138 0.082 0.092 -0.014 0.428 + -0.123 -0.477 0.058 -0.053 0.172 -0.177 -0.123 -0.045 0.201 0.229 + 0.130 0.136 0.146 -0.057 0.227 -0.349 0.033 0.202 0.073 -0.017 + 0.248 0.109 -0.105 0.149 0.078 0.121 -0.576 0.144 0.179 0.059 + 0.156 -0.098 -0.014 0.092 -0.237 0.119 0.595 -0.211 0.270 0.837 + -0.082 -0.039 -0.325 -0.114 -0.191 -0.823 0.844 0.171 0.034 -0.111 + 0.187 -0.146 -0.011 -0.086 0.247 0.147 -0.414 -0.022 -0.084 -0.181 + 0.094 0.079 -0.059 0.107 -0.114 -0.011 0.118 -0.156 0.142 0.124 + 0.385 -0.412 -0.327 0.284 -0.073 0.119 0.120 0.099 -0.119 -0.024 + 0.042 -0.156 0.004 0.359 -0.007 -0.070 0.119 -0.271 0.031 0.252 + 0.168 -0.005 0.195 0.017 0.228 0.056 -0.210 -0.500 0.204 -0.131 + 0.159 0.158 -0.505 0.014 -0.002 -0.014 0.090 -0.147 -0.761 0.202 + 0.223 0.172 0.019 0.316 -0.257 -0.804 0.212 -0.161 -0.137 -0.071 + 0.088 0.049 -0.212 -0.298 -0.031 0.196 0.119 0.091 -0.188 0.199 + 0.162 0.099 0.054 0.084 0.623 0.063 -0.012 0.232 -0.168 0.203 + 0.916 -0.148 0.707 0.800 0.200 -0.024 0.142 0.043 -0.387 0.173 + -0.147 0.467 -0.004 0.006 -0.250 0.052 0.113 -0.285 0.206 0.128 + -0.419 -0.090 -0.396 0.139 0.043 -0.146 -0.059 -0.031 0.372 -0.543 + 0.157 -0.142 0.426 -0.013 -0.296 0.019 0.280 0.612 0.064 -0.523 + -0.298 0.058 -0.048 -0.679 0.123 -0.125 0.043 -0.054 -0.071 -0.099 + 0.108 0.073 0.281 0.004 -0.324 0.931 -0.411 -0.189 0.432 -0.743 + 0.016 -0.179 -0.237 0.122 -0.106 -0.513 -0.319 0.143 0.455 -0.768 + -0.868 -0.836 0.011 -0.062 -0.245 -0.549 0.129 0.105 -0.229 -0.426 + -0.220 -0.297 -1.164 -0.593 0.121 -0.514 -0.031 -0.021 -0.080 -0.087 + 0.696 -0.275 0.069 0.014 -0.019 0.276 -0.117 -0.180 0.192 -0.098 + 0.098 0.197 -0.417 0.537 0.100 -0.011 -0.020 0.087 -0.458 -0.052 + -0.236 0.064 0.220 0.012 0.268 0.408 -0.003 -0.131 -0.734 0.336 + -0.017 0.151 0.053 0.217 0.152 0.004 0.129 -0.338 0.294 0.104 + -0.117 0.091 0.773 -0.523 0.504 -0.376 -0.063 -0.134 0.377 0.258 + -0.343 -0.505 0.209 -0.178 0.057 0.149 0.288 -0.096 -0.897 0.038 + -0.010 0.119 -0.048 0.614 -0.089 -0.248 -0.071 -0.087 0.135 0.803 + -0.353 0.153 0.343 0.178 -0.148 -0.174 0.106 -0.236 -0.026 0.044 + -0.105 0.146 0.040 -0.229 -0.058 0.873 -0.677 0.222 -0.032 -0.163 + 0.224 0.156 -0.158 0.053 0.115 0.021 -0.465 -0.052 -0.166 0.117 + -0.344 -0.112 0.190 -0.349 0.087 0.123 0.097 -0.311 0.247 -0.281 + 0.140 -0.017 -0.009 0.177 0.170 -1.108 0.184 0.301 0.125 0.008 + 0.125 0.040 -0.177 0.004 0.293 0.204 -0.205 0.207 0.335 0.074 + 0.298 -0.109 -0.366 -0.086 0.637 -0.030 0.300 0.048 -0.372 -0.170 + -0.058 0.622 -0.610 -0.194 0.027 -0.075 -0.051 0.220 0.265 -0.304 + 0.429 -0.022 -0.431 0.198 0.116 -0.198 0.271 0.002 -0.630 0.074 + 0.007 -0.060 -0.143 0.189 0.016 0.089 0.189 0.130 0.124 0.169 + -0.029 0.107 0.821 -0.134 -0.003 0.038 0.346 -0.148 0.387 0.544 + -0.249 0.084 0.208 -0.434 -0.246 0.426 -0.100 0.128 0.146 0.111 + 0.233 0.139 -0.030 0.156 -0.147 -0.005 0.203 -0.049 0.039 -0.688 + -0.819 -0.039 -0.035 0.039 -0.015 -0.001 -0.498 -0.139 0.098 -0.001 + -0.486 -0.371 -0.304 -0.069 0.191 0.815 0.148 0.037 0.188 -0.553 + 1.068 0.277 0.181 -0.048 0.229 0.003 0.005 0.204 0.110 0.147 + -0.132 0.053 -0.120 -0.176 -0.096 0.073 0.055 -0.112 -0.181 0.082 + -0.153 -0.007 -0.128 -0.012 0.206 -0.136 0.035 0.013 0.048 -0.654 + 0.262 0.359 -0.051 -0.024 0.076 0.399 -0.072 0.233 0.409 0.282 + 0.453 0.019 -0.087 0.253 0.119 -0.023 -0.227 0.018 0.287 0.403 + 0.370 0.085 -0.193 0.033 -0.531 -0.049 0.074 0.012 -0.039 -0.176 + 0.158 -0.073 -0.031 -0.119 0.092 -0.226 -0.576 -0.374 0.023 0.045 + 0.185 0.182 0.418 0.147 -0.690 0.050 -0.084 -0.129 0.100 -0.065 + 0.083 0.351 0.296 0.153 -0.191 -0.042 0.335 -0.242 -0.039 0.197 + -0.214 0.100 -0.017 -0.353 0.526 -0.197 -0.002 0.049 -0.106 -0.638 + 0.561 -1.372 -0.128 -0.770 0.193 0.170 -0.082 -0.068 0.220 -0.093 + 0.623 -0.038 0.207 0.132 0.140 -0.028 0.276 -0.137 0.406 0.258 + 0.204 -0.206 -0.034 0.205 -0.039 -0.218 -0.652 -0.394 -0.401 -0.050 + -0.221 -0.168 -0.055 0.187 0.001 0.420 0.219 0.225 0.151 0.819 + -0.532 0.244 0.426 -0.183 -0.250 0.025 -0.031 0.045 -0.116 0.229 + -0.348 -0.108 0.571 -0.007 -0.865 0.015 -0.381 0.110 0.430 -0.198 + -0.191 -0.153 0.111 0.275 -0.467 0.316 -0.841 -0.102 -0.157 -0.243 + -0.061 0.167 -0.034 0.082 -0.030 -0.005 -0.188 -0.219 0.636 0.046 + -0.007 -0.051 -0.155 0.684 0.237 0.047 -0.174 -0.260 -0.071 -0.215 + -0.187 -0.009 -0.068 -0.235 -0.057 -0.120 -0.268 0.330 0.016 -0.203 + 0.070 -0.114 -0.144 -0.017 0.124 -0.121 0.069 0.102 -0.027 0.444 + -0.187 -0.445 0.054 -0.058 0.164 -0.174 -0.127 -0.040 0.200 0.219 + 0.133 0.135 0.150 -0.045 0.270 -0.368 0.051 0.207 0.067 -0.016 + 0.213 0.082 -0.105 0.164 0.083 0.116 -0.542 0.142 0.137 0.060 + 0.136 -0.103 -0.016 0.095 -0.232 0.087 0.548 -0.239 0.231 0.839 + -0.007 -0.041 -0.327 -0.122 -0.217 -0.837 0.884 0.164 0.033 -0.100 + 0.177 -0.144 -0.004 -0.083 0.249 0.146 -0.371 -0.034 -0.083 -0.185 + 0.097 0.081 -0.039 0.111 -0.120 0.014 0.110 -0.147 0.142 0.167 + 0.354 -0.402 -0.348 0.268 -0.068 0.138 0.116 0.109 -0.125 -0.023 + 0.016 -0.153 -0.054 0.352 -0.011 -0.078 0.119 -0.254 0.045 0.250 + 0.171 0.008 0.199 0.013 0.224 0.063 -0.219 -0.536 0.209 -0.137 + 0.162 0.151 -0.498 0.059 0.001 0.007 0.082 -0.166 -0.716 0.241 + 0.220 0.174 0.018 0.269 -0.263 -0.884 0.211 -0.172 -0.125 -0.070 + 0.096 0.049 -0.204 -0.290 -0.017 0.191 0.122 0.077 -0.198 0.206 + 0.135 0.104 0.066 0.082 0.589 0.028 0.032 0.244 -0.160 0.210 + 0.915 -0.166 0.682 0.755 0.223 -0.081 0.151 0.031 -0.392 0.109 + -0.151 0.477 -0.049 0.039 -0.234 0.063 0.104 -0.280 0.211 0.104 + -0.442 -0.040 -0.362 0.130 0.055 -0.139 -0.072 -0.066 0.355 -0.562 + 0.136 -0.158 0.412 -0.010 -0.307 0.034 0.286 0.667 0.130 -0.588 + -0.197 0.061 -0.080 -0.709 0.159 -0.130 0.039 -0.056 -0.074 -0.101 + 0.117 0.086 0.272 0.015 -0.349 0.967 -0.399 -0.219 0.430 -0.751 + 0.002 -0.168 -0.231 0.118 -0.143 -0.558 -0.213 0.126 0.484 -0.793 + -0.836 -0.872 0.027 -0.069 -0.252 -0.589 0.106 0.112 -0.232 -0.421 + -0.215 -0.299 -1.050 -0.625 0.126 -0.506 -0.044 -0.015 -0.085 -0.092 + 0.756 -0.270 0.072 0.019 -0.033 0.281 -0.124 -0.181 0.191 -0.098 + 0.094 0.186 -0.484 0.567 0.114 -0.007 -0.031 0.094 -0.440 -0.086 + -0.262 0.062 0.220 0.001 0.277 0.426 0.004 -0.152 -0.641 0.274 + -0.016 0.138 0.050 0.217 0.145 -0.004 0.178 -0.296 0.267 0.112 + -0.112 0.091 0.809 -0.509 0.494 -0.399 -0.066 -0.127 0.375 0.261 + -0.339 -0.456 0.286 -0.126 0.063 0.156 0.301 -0.101 -0.874 -0.016 + 0.002 0.121 -0.064 0.610 -0.040 -0.179 -0.072 -0.087 0.139 0.831 + -0.372 0.087 0.348 0.185 -0.146 -0.174 0.101 -0.236 -0.022 0.036 + -0.116 0.148 0.038 -0.234 -0.136 0.887 -0.720 0.220 -0.027 -0.155 + 0.186 0.164 -0.147 0.043 0.112 0.025 -0.420 -0.070 -0.170 0.112 + -0.351 -0.127 0.204 -0.333 0.074 0.130 0.119 -0.293 0.262 -0.258 + 0.148 -0.023 -0.009 0.174 0.210 -1.175 0.121 0.307 0.136 0.021 + 0.122 0.049 -0.167 0.003 0.291 0.188 -0.211 0.180 0.300 0.067 + 0.300 -0.115 -0.389 -0.079 0.682 -0.025 0.295 0.028 -0.325 -0.201 + -0.035 0.603 -0.585 -0.177 0.025 -0.075 -0.060 0.225 0.262 -0.300 + 0.428 0.017 -0.432 0.203 0.116 -0.200 0.259 0.016 -0.596 0.077 + -0.004 -0.056 -0.145 0.188 0.013 0.087 0.202 0.120 0.117 0.167 + -0.027 0.138 0.843 -0.109 0.015 0.026 0.343 -0.183 0.395 0.555 + -0.233 0.076 0.205 -0.422 -0.174 0.425 -0.115 0.150 0.132 0.114 + 0.242 0.147 -0.019 0.164 -0.148 -0.001 0.211 -0.048 0.007 -0.681 + -0.899 -0.025 -0.040 0.050 -0.003 -0.047 -0.500 -0.124 0.098 -0.003 + -0.484 -0.353 -0.346 -0.113 0.180 0.822 0.122 0.053 0.182 -0.455 + 1.000 0.319 0.207 -0.005 0.275 -0.003 -0.009 0.221 0.122 0.148 + -0.141 0.059 -0.116 -0.165 -0.101 0.070 0.053 -0.109 -0.177 0.085 + -0.147 -0.009 -0.134 0.052 0.190 -0.100 0.029 -0.006 0.043 -0.622 + 0.265 0.447 -0.056 -0.014 0.066 0.415 -0.141 0.263 0.365 0.276 + 0.432 0.018 -0.086 0.266 0.122 -0.025 -0.232 0.028 0.283 0.410 + 0.358 0.059 -0.182 -0.031 -0.552 -0.076 0.067 0.005 -0.032 -0.176 + 0.152 -0.087 -0.035 -0.124 0.081 -0.199 -0.579 -0.400 0.024 0.044 + 0.188 0.206 0.426 0.146 -0.710 0.016 -0.086 -0.135 0.104 -0.063 + 0.087 0.346 0.300 0.153 -0.196 -0.055 0.423 -0.286 0.018 0.205 + -0.199 0.090 -0.063 -0.340 0.500 -0.195 -0.004 0.051 -0.102 -0.590 + 0.556 -1.333 -0.095 -0.750 0.190 0.168 -0.080 -0.006 0.196 -0.131 + 0.579 -0.047 0.148 0.132 0.125 -0.024 0.302 -0.111 0.383 0.239 + 0.212 -0.231 -0.032 0.221 -0.038 -0.222 -0.692 -0.426 -0.409 -0.085 + -0.237 -0.176 -0.057 0.184 0.046 0.370 0.207 0.227 0.170 0.775 + -0.508 0.178 0.520 -0.187 -0.242 0.030 -0.040 0.038 -0.114 0.228 + -0.358 -0.108 0.580 0.004 -0.840 0.011 -0.377 0.109 0.408 -0.197 + -0.210 -0.154 0.097 0.283 -0.427 0.284 -0.922 -0.116 -0.124 -0.267 + -0.080 0.165 -0.044 0.075 -0.044 -0.011 -0.242 -0.205 0.708 0.036 + -0.003 -0.053 -0.185 0.709 0.256 0.045 -0.175 -0.263 -0.064 -0.214 + -0.186 -0.013 -0.075 -0.258 -0.058 -0.119 -0.278 0.274 0.011 -0.175 + 0.063 -0.102 -0.141 -0.056 0.136 -0.138 0.065 0.103 -0.040 0.430 + -0.173 -0.339 0.060 -0.062 0.171 -0.188 -0.127 -0.030 0.206 0.219 + 0.130 0.138 0.162 -0.033 0.330 -0.363 0.007 0.208 0.058 -0.023 + 0.272 0.053 -0.073 0.167 0.075 0.115 -0.547 0.140 0.154 0.044 + 0.133 -0.106 -0.001 0.093 -0.231 0.081 0.576 -0.254 0.182 0.868 + 0.040 -0.053 -0.322 -0.129 -0.205 -0.840 0.915 0.161 0.041 -0.101 + 0.167 -0.154 0.000 -0.078 0.254 0.145 -0.347 -0.065 -0.117 -0.185 + 0.094 0.076 -0.046 0.090 -0.122 0.005 0.123 -0.123 0.082 0.146 + 0.306 -0.352 -0.426 0.201 -0.059 0.148 0.111 0.104 -0.113 -0.029 + -0.002 -0.133 -0.112 0.340 0.000 -0.081 0.124 -0.282 0.064 0.256 + 0.163 0.010 0.194 0.018 0.230 0.103 -0.220 -0.556 0.216 -0.141 + 0.145 0.125 -0.464 0.102 -0.000 0.009 0.090 -0.139 -0.736 0.247 + 0.209 0.176 0.033 0.268 -0.222 -0.901 0.207 -0.166 -0.116 -0.069 + 0.094 0.051 -0.204 -0.283 -0.010 0.192 0.117 0.068 -0.221 0.216 + 0.119 0.100 0.066 0.101 0.577 0.082 0.086 0.250 -0.153 0.214 + 0.941 -0.135 0.688 0.658 0.257 -0.137 0.159 0.035 -0.398 0.063 + -0.125 0.568 -0.037 0.039 -0.222 0.057 0.108 -0.279 0.213 0.110 + -0.433 -0.014 -0.331 0.117 0.057 -0.130 -0.067 -0.131 0.331 -0.540 + 0.109 -0.122 0.424 -0.008 -0.313 0.028 0.333 0.655 0.132 -0.598 + -0.133 0.079 -0.088 -0.700 0.167 -0.138 0.046 -0.063 -0.076 -0.100 + 0.120 0.085 0.270 0.020 -0.371 0.991 -0.393 -0.238 0.428 -0.737 + -0.005 -0.172 -0.232 0.110 -0.130 -0.618 -0.197 0.071 0.483 -0.854 + -0.804 -0.911 0.035 -0.079 -0.252 -0.588 0.069 0.191 -0.228 -0.426 + -0.212 -0.308 -1.019 -0.664 0.154 -0.519 -0.040 -0.010 -0.094 -0.092 + 0.733 -0.257 0.080 0.023 -0.041 0.286 -0.116 -0.179 0.182 -0.096 + 0.098 0.177 -0.499 0.571 0.119 -0.003 -0.032 0.104 -0.413 -0.081 + -0.273 0.056 0.217 0.001 0.276 0.446 -0.011 -0.179 -0.554 0.234 + -0.019 0.118 0.056 0.226 0.144 -0.005 0.262 -0.328 0.169 0.098 + -0.100 0.084 0.819 -0.498 0.475 -0.418 -0.069 -0.127 0.377 0.265 + -0.339 -0.435 0.329 -0.112 0.059 0.154 0.302 -0.091 -0.894 -0.053 + -0.008 0.109 -0.065 0.601 0.009 -0.025 -0.073 -0.094 0.142 0.868 + -0.298 0.051 0.360 0.187 -0.141 -0.174 0.112 -0.235 -0.020 0.039 + -0.114 0.155 0.042 -0.240 -0.120 0.910 -0.718 0.212 -0.024 -0.151 + 0.165 0.201 -0.138 0.044 0.113 0.033 -0.406 -0.082 -0.162 0.112 + -0.355 -0.125 0.226 -0.327 0.072 0.173 0.154 -0.319 0.227 -0.267 + 0.173 -0.041 -0.009 0.173 0.216 -1.206 0.112 0.309 0.138 0.027 + 0.129 0.048 -0.155 0.000 0.294 0.198 -0.227 0.184 0.300 0.058 + 0.290 -0.119 -0.361 -0.107 0.713 -0.009 0.290 0.027 -0.346 -0.180 + -0.018 0.546 -0.611 -0.141 0.025 -0.073 -0.065 0.234 0.258 -0.299 + 0.441 0.049 -0.464 0.212 0.110 -0.197 0.268 0.016 -0.595 0.061 + 0.002 -0.048 -0.134 0.176 0.014 0.067 0.208 0.131 0.109 0.167 + -0.024 0.123 0.834 -0.064 0.025 0.025 0.343 -0.203 0.399 0.552 + -0.231 0.093 0.212 -0.437 -0.158 0.415 -0.122 0.152 0.129 0.110 + 0.242 0.146 -0.040 0.169 -0.139 0.000 0.211 -0.051 -0.004 -0.668 + -0.955 -0.024 -0.048 0.057 -0.004 -0.036 -0.512 -0.135 0.116 0.003 + -0.456 -0.346 -0.338 -0.166 0.149 0.815 0.111 0.055 0.171 -0.372 + 0.938 0.313 0.239 0.019 0.315 -0.000 -0.024 0.231 0.114 0.149 + -0.143 0.058 -0.110 -0.164 -0.113 0.064 0.063 -0.105 -0.169 0.073 + -0.148 0.006 -0.131 0.101 0.194 -0.044 0.032 -0.017 0.039 -0.605 + 0.315 0.501 -0.066 -0.001 0.061 0.416 -0.201 0.235 0.354 0.291 + 0.460 0.025 -0.073 0.266 0.123 -0.025 -0.224 0.034 0.281 0.409 + 0.427 0.071 -0.174 -0.091 -0.553 -0.057 0.078 0.003 -0.030 -0.173 + 0.166 -0.077 -0.033 -0.121 0.083 -0.178 -0.568 -0.396 0.029 0.051 + 0.190 0.186 0.441 0.134 -0.721 -0.011 -0.140 -0.135 0.106 -0.065 + 0.084 0.347 0.294 0.146 -0.188 -0.057 0.475 -0.315 0.075 0.217 + -0.190 0.093 -0.054 -0.368 0.445 -0.190 -0.014 0.054 -0.082 -0.565 + 0.553 -1.309 -0.074 -0.674 0.193 0.169 -0.073 -0.025 0.222 -0.130 + 0.538 -0.063 0.064 0.138 0.122 -0.019 0.337 -0.069 0.397 0.242 + 0.224 -0.199 -0.035 0.232 -0.033 -0.211 -0.689 -0.485 -0.375 -0.081 + -0.211 -0.184 -0.064 0.173 0.071 0.361 0.169 0.197 0.204 0.795 + -0.508 0.105 0.610 -0.188 -0.230 0.017 -0.033 0.032 -0.115 0.221 + -0.357 -0.117 0.567 -0.038 -0.833 0.011 -0.386 0.111 0.397 -0.200 + -0.180 -0.149 0.074 0.292 -0.421 0.239 -0.969 -0.125 -0.076 -0.277 + -0.074 0.162 -0.028 0.085 -0.050 -0.017 -0.271 -0.190 0.725 0.036 + -0.004 -0.050 -0.219 0.680 0.272 0.052 -0.189 -0.253 -0.063 -0.193 + -0.190 -0.017 -0.121 -0.284 -0.051 -0.127 -0.284 0.227 0.033 -0.140 + 0.070 -0.105 -0.150 -0.043 0.129 -0.122 0.067 0.102 -0.046 0.432 + -0.184 -0.292 0.066 -0.076 0.186 -0.181 -0.127 -0.035 0.203 0.224 + 0.120 0.128 0.147 -0.035 0.413 -0.425 -0.027 0.209 0.053 -0.022 + 0.230 0.099 -0.075 0.183 0.065 0.127 -0.595 0.099 0.175 0.033 + 0.141 -0.101 -0.013 0.101 -0.255 0.020 0.564 -0.301 0.147 0.901 + 0.063 -0.051 -0.320 -0.126 -0.207 -0.867 0.943 0.159 0.041 -0.110 + 0.168 -0.131 -0.004 -0.071 0.254 0.141 -0.306 -0.097 -0.123 -0.198 + 0.083 0.071 -0.013 0.152 -0.120 0.007 0.127 -0.115 0.058 0.181 + 0.241 -0.338 -0.429 0.154 -0.065 0.164 0.126 0.110 -0.102 -0.034 + -0.036 -0.153 -0.112 0.337 0.007 -0.076 0.149 -0.348 0.081 0.252 + 0.155 0.003 0.168 0.029 0.229 0.110 -0.264 -0.596 0.222 -0.143 + 0.151 0.109 -0.424 0.150 -0.013 0.002 0.076 -0.107 -0.772 0.245 + 0.201 0.189 0.034 0.254 -0.168 -0.982 0.201 -0.160 -0.110 -0.057 + 0.091 0.060 -0.204 -0.284 -0.002 0.176 0.108 0.072 -0.200 0.229 + 0.118 0.092 0.068 0.096 0.601 0.077 0.153 0.256 -0.136 0.222 + 0.919 -0.066 0.662 0.614 0.271 -0.222 0.153 0.022 -0.403 0.039 + -0.152 0.531 0.007 0.027 -0.178 0.056 0.109 -0.275 0.204 0.107 + -0.438 0.043 -0.327 0.084 0.052 -0.137 -0.063 -0.230 0.329 -0.484 + 0.125 -0.130 0.341 0.004 -0.306 0.030 0.326 0.663 0.170 -0.625 + -0.084 0.098 -0.102 -0.738 0.206 -0.130 0.055 -0.065 -0.073 -0.098 + 0.116 0.097 0.261 0.020 -0.364 1.036 -0.343 -0.265 0.370 -0.765 + -0.002 -0.174 -0.232 0.074 -0.150 -0.669 -0.138 0.082 0.496 -0.920 + -0.786 -0.941 0.018 -0.089 -0.249 -0.597 0.067 0.244 -0.235 -0.422 + -0.197 -0.323 -0.965 -0.685 0.159 -0.523 -0.011 -0.013 -0.091 -0.097 + 0.795 -0.278 0.027 0.033 -0.059 0.289 -0.114 -0.168 0.179 -0.093 + 0.097 0.178 -0.548 0.610 0.084 -0.010 -0.037 0.108 -0.455 -0.108 + -0.356 0.056 0.201 0.001 0.201 0.453 0.007 -0.208 -0.445 0.183 + -0.027 0.130 0.056 0.237 0.158 -0.003 0.323 -0.351 0.115 0.095 + -0.100 0.077 0.796 -0.486 0.457 -0.418 -0.066 -0.134 0.375 0.274 + -0.343 -0.397 0.366 -0.141 0.060 0.144 0.315 -0.104 -0.910 -0.073 + -0.001 0.098 -0.070 0.541 0.024 0.074 -0.055 -0.095 0.143 0.824 + -0.272 0.049 0.353 0.184 -0.145 -0.170 0.108 -0.228 -0.016 0.050 + -0.100 0.161 0.040 -0.247 -0.140 0.929 -0.664 0.207 -0.008 -0.151 + 0.121 0.208 -0.140 0.030 0.130 0.045 -0.390 -0.095 -0.192 0.099 + -0.356 -0.123 0.243 -0.320 0.089 0.188 0.152 -0.285 0.196 -0.287 + 0.202 -0.045 -0.011 0.167 0.234 -1.271 0.094 0.315 0.140 0.035 + 0.130 0.055 -0.154 0.002 0.283 0.191 -0.194 0.176 0.254 0.050 + 0.291 -0.121 -0.371 -0.111 0.721 -0.002 0.280 0.016 -0.337 -0.147 + 0.011 0.546 -0.677 -0.127 0.020 -0.081 -0.064 0.229 0.267 -0.310 + 0.435 0.077 -0.514 0.208 0.110 -0.193 0.248 -0.013 -0.560 0.061 + 0.016 -0.059 -0.127 0.163 0.006 0.088 0.222 0.098 0.105 0.172 + -0.024 0.137 0.849 -0.045 0.026 0.021 0.335 -0.191 0.381 0.515 + -0.232 0.107 0.206 -0.469 -0.100 0.420 -0.111 0.153 0.125 0.111 + 0.236 0.155 -0.037 0.169 -0.141 0.001 0.207 -0.055 0.004 -0.671 + -1.021 -0.020 -0.057 0.051 -0.023 -0.070 -0.514 -0.133 0.109 0.009 + -0.484 -0.291 -0.326 -0.209 0.113 0.780 0.103 0.070 0.173 -0.272 + 0.921 0.306 0.270 0.037 0.259 0.017 -0.038 0.232 0.115 0.140 + -0.144 0.054 -0.113 -0.158 -0.108 0.055 0.069 -0.117 -0.156 0.073 + -0.150 0.007 -0.143 0.170 0.199 0.034 0.022 -0.018 0.040 -0.625 + 0.372 0.507 -0.068 -0.006 0.051 0.422 -0.190 0.238 0.331 0.353 + 0.448 0.025 -0.063 0.278 0.118 -0.020 -0.227 0.039 0.283 0.399 + 0.422 0.111 -0.176 -0.139 -0.549 -0.037 0.079 -0.005 -0.025 -0.174 + 0.161 -0.075 -0.035 -0.117 0.080 -0.143 -0.585 -0.384 0.033 0.051 + 0.191 0.143 0.459 0.154 -0.767 -0.041 -0.127 -0.141 0.101 -0.063 + 0.084 0.338 0.292 0.141 -0.181 -0.069 0.488 -0.347 0.163 0.216 + -0.181 0.086 -0.074 -0.397 0.414 -0.202 -0.018 0.063 -0.067 -0.521 + 0.518 -1.283 -0.032 -0.643 0.189 0.175 -0.081 -0.032 0.247 -0.110 + 0.487 -0.076 0.012 0.133 0.121 -0.002 0.384 -0.044 0.371 0.235 + 0.266 -0.215 -0.029 0.237 -0.027 -0.237 -0.705 -0.478 -0.369 -0.045 + -0.229 -0.184 -0.057 0.161 0.066 0.352 0.185 0.190 0.224 0.799 + -0.497 0.093 0.736 -0.199 -0.227 0.014 -0.031 0.027 -0.115 0.217 + -0.351 -0.110 0.548 -0.064 -0.844 0.016 -0.400 0.110 0.345 -0.176 + -0.206 -0.143 0.061 0.288 -0.395 0.251 -1.041 -0.113 -0.040 -0.305 + -0.098 0.170 -0.036 0.082 -0.061 -0.013 -0.347 -0.252 0.727 0.030 + -0.012 -0.062 -0.232 0.657 0.287 0.050 -0.189 -0.257 -0.059 -0.184 + -0.200 -0.006 -0.132 -0.313 -0.045 -0.143 -0.275 0.126 0.052 -0.102 + 0.070 -0.097 -0.134 -0.047 0.133 -0.091 0.077 0.110 -0.060 0.463 + -0.199 -0.220 0.059 -0.087 0.188 -0.167 -0.120 -0.034 0.223 0.223 + 0.108 0.127 0.154 -0.037 0.484 -0.377 -0.056 0.201 0.048 -0.023 + 0.224 0.140 -0.073 0.187 0.067 0.119 -0.595 0.098 0.172 0.027 + 0.142 -0.099 -0.042 0.115 -0.241 0.016 0.572 -0.297 0.125 0.925 + 0.129 -0.046 -0.318 -0.121 -0.205 -0.898 0.947 0.157 0.057 -0.106 + 0.160 -0.122 -0.014 -0.082 0.256 0.147 -0.296 -0.093 -0.135 -0.200 + 0.069 0.058 -0.028 0.169 -0.109 0.005 0.124 -0.106 0.016 0.210 + 0.227 -0.345 -0.462 0.069 -0.076 0.154 0.118 0.113 -0.102 -0.045 + -0.053 -0.143 -0.145 0.335 0.022 -0.078 0.122 -0.397 0.087 0.265 + 0.152 0.011 0.164 0.028 0.235 0.088 -0.296 -0.658 0.216 -0.145 + 0.155 0.067 -0.440 0.193 -0.029 0.009 0.068 -0.094 -0.784 0.250 + 0.219 0.192 0.030 0.265 -0.168 -1.025 0.204 -0.165 -0.107 -0.041 + 0.100 0.049 -0.206 -0.275 0.005 0.168 0.100 0.072 -0.183 0.274 + 0.125 0.085 0.069 0.081 0.563 0.089 0.184 0.247 -0.133 0.228 + 0.959 -0.046 0.616 0.547 0.315 -0.281 0.158 0.017 -0.409 -0.020 + -0.176 0.504 0.042 0.006 -0.164 0.048 0.100 -0.282 0.221 0.082 + -0.431 0.066 -0.249 0.043 0.058 -0.139 -0.070 -0.282 0.305 -0.485 + 0.143 -0.185 0.278 0.004 -0.296 0.026 0.362 0.640 0.191 -0.613 + 0.016 0.083 -0.091 -0.759 0.167 -0.124 0.054 -0.080 -0.072 -0.108 + 0.111 0.094 0.262 0.021 -0.411 1.077 -0.305 -0.264 0.390 -0.781 + 0.009 -0.163 -0.237 0.036 -0.196 -0.717 -0.118 0.090 0.490 -0.931 + -0.761 -0.994 0.020 -0.102 -0.244 -0.650 0.085 0.276 -0.227 -0.427 + -0.197 -0.314 -0.919 -0.666 0.132 -0.586 -0.012 -0.014 -0.086 -0.100 + 0.774 -0.297 0.036 0.027 -0.063 0.293 -0.126 -0.159 0.175 -0.094 + 0.090 0.171 -0.581 0.640 0.079 -0.013 -0.041 0.105 -0.394 -0.075 + -0.355 0.056 0.188 0.023 0.141 0.423 -0.005 -0.223 -0.359 0.131 + -0.023 0.124 0.050 0.234 0.151 -0.008 0.326 -0.368 0.081 0.096 + -0.104 0.074 0.806 -0.453 0.433 -0.425 -0.067 -0.126 0.371 0.266 + -0.349 -0.362 0.411 -0.102 0.063 0.159 0.323 -0.107 -0.966 -0.137 + -0.000 0.082 -0.087 0.485 0.042 0.175 -0.056 -0.095 0.141 0.808 + -0.233 0.025 0.356 0.187 -0.157 -0.176 0.110 -0.225 -0.016 0.047 + -0.096 0.164 0.038 -0.251 -0.149 0.960 -0.656 0.198 -0.001 -0.154 + 0.117 0.231 -0.117 0.028 0.141 0.038 -0.359 -0.110 -0.222 0.110 + -0.345 -0.123 0.200 -0.287 0.055 0.211 0.237 -0.288 0.146 -0.306 + 0.213 -0.052 -0.005 0.165 0.252 -1.329 0.129 0.308 0.126 0.018 + 0.137 0.056 -0.156 -0.001 0.289 0.186 -0.173 0.177 0.243 0.049 + 0.305 -0.123 -0.358 -0.146 0.754 0.007 0.266 0.033 -0.322 -0.182 + 0.052 0.516 -0.723 -0.169 0.030 -0.082 -0.070 0.241 0.273 -0.315 + 0.425 0.113 -0.543 0.211 0.111 -0.188 0.233 -0.043 -0.576 0.067 + 0.004 -0.061 -0.116 0.162 0.004 0.064 0.231 0.001 0.104 0.182 + -0.020 0.233 0.861 -0.020 0.037 0.002 0.348 -0.216 0.338 0.477 + -0.228 0.105 0.219 -0.512 -0.092 0.423 -0.112 0.175 0.124 0.108 + 0.249 0.160 -0.027 0.161 -0.143 0.002 0.205 -0.056 -0.048 -0.631 + -1.053 -0.009 -0.071 0.069 -0.071 -0.092 -0.556 -0.143 0.111 0.014 + -0.460 -0.276 -0.345 -0.263 0.049 0.735 0.084 0.079 0.163 -0.171 + 0.872 0.315 0.314 0.035 0.248 0.022 -0.052 0.227 0.121 0.145 + -0.151 0.047 -0.102 -0.154 -0.122 0.058 0.078 -0.120 -0.166 0.074 + -0.167 0.015 -0.146 0.252 0.209 0.127 0.024 -0.017 0.042 -0.657 + 0.409 0.504 -0.065 -0.001 0.055 0.427 -0.233 0.236 0.349 0.306 + 0.414 0.031 -0.065 0.287 0.113 -0.016 -0.226 0.043 0.286 0.388 + 0.417 0.132 -0.175 -0.188 -0.528 -0.047 0.087 -0.006 -0.017 -0.175 + 0.162 -0.076 -0.031 -0.111 0.076 -0.118 -0.590 -0.369 0.030 0.052 + 0.194 0.155 0.483 0.157 -0.739 -0.054 -0.170 -0.147 0.104 -0.065 + 0.090 0.338 0.279 0.142 -0.178 -0.069 0.519 -0.403 0.249 0.222 + -0.179 0.081 -0.084 -0.386 0.401 -0.204 -0.019 0.056 -0.085 -0.502 + 0.499 -1.268 0.042 -0.611 0.178 0.176 -0.071 -0.040 0.258 -0.083 + 0.446 -0.102 -0.018 0.132 0.110 0.003 0.396 -0.009 0.324 0.226 + 0.277 -0.247 -0.033 0.234 -0.020 -0.237 -0.740 -0.509 -0.361 -0.084 + -0.297 -0.178 -0.067 0.151 0.082 0.356 0.169 0.171 0.217 0.846 + -0.436 0.048 0.818 -0.208 -0.208 0.034 -0.023 0.033 -0.111 0.216 + -0.351 -0.122 0.533 -0.042 -0.831 0.022 -0.398 0.110 0.323 -0.150 + -0.215 -0.150 0.048 0.282 -0.388 0.265 -1.040 -0.123 -0.014 -0.327 + -0.103 0.166 -0.033 0.092 -0.059 -0.017 -0.381 -0.222 0.773 0.029 + 0.000 -0.065 -0.250 0.631 0.290 0.049 -0.189 -0.238 -0.052 -0.174 + -0.206 0.020 -0.136 -0.304 -0.032 -0.160 -0.269 0.046 0.072 -0.098 + 0.069 -0.096 -0.130 -0.040 0.130 -0.083 0.070 0.121 -0.066 0.449 + -0.204 -0.144 0.050 -0.084 0.193 -0.172 -0.111 -0.019 0.228 0.226 + 0.095 0.122 0.150 -0.036 0.529 -0.385 -0.102 0.196 0.046 -0.023 + 0.240 0.202 -0.070 0.191 0.059 0.130 -0.610 0.028 0.140 0.029 + 0.140 -0.112 -0.029 0.113 -0.240 -0.020 0.567 -0.280 0.132 0.927 + 0.180 -0.053 -0.314 -0.117 -0.240 -0.922 1.012 0.146 0.073 -0.103 + 0.163 -0.128 -0.007 -0.078 0.255 0.148 -0.333 -0.097 -0.154 -0.195 + 0.059 0.046 -0.016 0.160 -0.119 0.002 0.123 -0.107 0.010 0.253 + 0.168 -0.331 -0.506 -0.018 -0.080 0.156 0.117 0.113 -0.111 -0.050 + -0.076 -0.148 -0.109 0.328 0.029 -0.064 0.175 -0.389 0.069 0.253 + 0.154 0.025 0.162 0.020 0.236 0.128 -0.325 -0.688 0.221 -0.157 + 0.154 0.047 -0.411 0.230 -0.024 0.018 0.064 -0.073 -0.800 0.239 + 0.214 0.194 0.036 0.225 -0.168 -1.090 0.213 -0.163 -0.095 -0.045 + 0.105 0.033 -0.206 -0.267 0.008 0.172 0.100 0.064 -0.174 0.227 + 0.102 0.074 0.073 0.076 0.555 0.058 0.212 0.241 -0.125 0.242 + 1.003 -0.040 0.551 0.498 0.398 -0.307 0.163 0.007 -0.413 -0.068 + -0.195 0.469 0.020 -0.009 -0.169 0.044 0.092 -0.286 0.253 0.022 + -0.426 0.054 -0.216 0.027 0.063 -0.126 -0.080 -0.323 0.289 -0.447 + 0.076 -0.198 0.295 0.001 -0.299 0.024 0.397 0.636 0.225 -0.608 + 0.120 0.071 -0.130 -0.793 0.176 -0.127 0.057 -0.082 -0.085 -0.105 + 0.111 0.089 0.255 0.028 -0.433 1.124 -0.279 -0.279 0.379 -0.802 + 0.010 -0.158 -0.249 -0.012 -0.236 -0.795 -0.042 0.136 0.476 -0.926 + -0.683 -1.071 0.038 -0.080 -0.230 -0.669 0.088 0.336 -0.222 -0.428 + -0.184 -0.334 -0.847 -0.718 0.137 -0.553 -0.016 -0.013 -0.087 -0.104 + 0.825 -0.303 0.024 0.041 -0.069 0.289 -0.139 -0.171 0.181 -0.090 + 0.089 0.167 -0.604 0.714 0.073 -0.020 -0.042 0.101 -0.369 -0.112 + -0.365 0.050 0.190 0.025 0.141 0.384 0.009 -0.277 -0.263 0.118 + -0.034 0.126 0.050 0.238 0.153 -0.010 0.353 -0.383 0.036 0.097 + -0.106 0.066 0.781 -0.489 0.428 -0.427 -0.069 -0.133 0.372 0.272 + -0.350 -0.324 0.484 -0.017 0.069 0.160 0.332 -0.081 -0.978 -0.164 + 0.002 0.069 -0.102 0.455 0.123 0.259 -0.067 -0.092 0.151 0.826 + -0.183 -0.000 0.361 0.183 -0.153 -0.172 0.104 -0.225 -0.012 0.041 + -0.097 0.173 0.041 -0.254 -0.165 0.956 -0.646 0.198 -0.001 -0.152 + 0.106 0.222 -0.128 0.025 0.135 0.040 -0.320 -0.119 -0.204 0.111 + -0.340 -0.131 0.197 -0.287 0.068 0.232 0.249 -0.252 0.140 -0.300 + 0.186 -0.062 -0.013 0.174 0.298 -1.352 0.096 0.321 0.127 0.011 + 0.129 0.056 -0.168 -0.008 0.281 0.178 -0.188 0.203 0.220 0.059 + 0.303 -0.130 -0.398 -0.109 0.776 0.010 0.262 0.031 -0.303 -0.235 + 0.088 0.461 -0.729 -0.185 0.025 -0.073 -0.072 0.239 0.276 -0.327 + 0.448 0.140 -0.549 0.212 0.106 -0.176 0.215 -0.043 -0.560 0.087 + 0.003 -0.056 -0.108 0.155 -0.001 0.057 0.271 -0.028 0.092 0.175 + -0.021 0.271 0.865 0.011 0.039 0.002 0.363 -0.197 0.356 0.461 + -0.227 0.116 0.219 -0.547 -0.057 0.439 -0.123 0.177 0.110 0.100 + 0.268 0.151 -0.025 0.163 -0.142 0.011 0.212 -0.054 -0.023 -0.643 + -1.117 -0.011 -0.067 0.059 -0.069 -0.089 -0.568 -0.142 0.117 0.015 + -0.461 -0.284 -0.349 -0.333 0.037 0.710 0.068 0.099 0.151 -0.071 + 0.776 0.310 0.333 0.063 0.205 0.019 -0.069 0.223 0.112 0.155 + -0.151 0.049 -0.100 -0.158 -0.117 0.060 0.082 -0.113 -0.170 0.073 + -0.172 0.016 -0.159 0.300 0.217 0.178 0.029 -0.022 0.033 -0.639 + 0.463 0.528 -0.069 0.003 0.058 0.402 -0.295 0.267 0.388 0.349 + 0.418 0.027 -0.073 0.296 0.106 -0.018 -0.223 0.050 0.287 0.396 + 0.382 0.137 -0.191 -0.231 -0.532 -0.065 0.090 0.003 -0.016 -0.172 + 0.154 -0.067 -0.043 -0.118 0.073 -0.128 -0.610 -0.420 0.022 0.055 + 0.192 0.148 0.481 0.194 -0.761 -0.061 -0.192 -0.144 0.107 -0.067 + 0.089 0.336 0.282 0.131 -0.191 -0.074 0.562 -0.413 0.277 0.219 + -0.174 0.074 -0.106 -0.399 0.380 -0.185 -0.018 0.055 -0.071 -0.437 + 0.449 -1.223 0.095 -0.570 0.183 0.172 -0.067 -0.042 0.315 -0.043 + 0.416 -0.105 -0.072 0.130 0.110 0.014 0.413 0.060 0.283 0.246 + 0.324 -0.203 -0.034 0.239 -0.031 -0.225 -0.772 -0.496 -0.343 -0.130 + -0.284 -0.183 -0.086 0.132 0.107 0.397 0.211 0.124 0.243 0.873 + -0.449 -0.023 0.905 -0.223 -0.203 0.030 -0.025 0.033 -0.109 0.218 + -0.350 -0.124 0.521 -0.055 -0.847 0.028 -0.390 0.099 0.288 -0.117 + -0.192 -0.146 0.043 0.275 -0.363 0.258 -1.101 -0.132 0.041 -0.332 + -0.113 0.163 -0.029 0.095 -0.070 -0.029 -0.410 -0.208 0.787 0.020 + 0.002 -0.062 -0.264 0.619 0.274 0.053 -0.189 -0.240 -0.044 -0.174 + -0.211 0.007 -0.128 -0.282 -0.025 -0.157 -0.270 -0.004 0.080 -0.093 + 0.079 -0.085 -0.135 -0.002 0.116 -0.102 0.067 0.129 -0.073 0.404 + -0.223 -0.089 0.037 -0.079 0.203 -0.174 -0.107 -0.001 0.230 0.223 + 0.089 0.123 0.139 -0.043 0.576 -0.395 -0.132 0.195 0.049 -0.025 + 0.239 0.220 -0.112 0.199 0.055 0.130 -0.606 0.003 0.151 0.040 + 0.143 -0.108 -0.036 0.080 -0.202 -0.072 0.536 -0.278 0.126 0.867 + 0.223 -0.054 -0.307 -0.121 -0.250 -0.865 1.042 0.143 0.088 -0.096 + 0.151 -0.127 -0.006 -0.078 0.247 0.135 -0.299 -0.162 -0.164 -0.201 + 0.054 0.051 -0.036 0.191 -0.103 0.006 0.109 -0.098 -0.043 0.245 + 0.133 -0.328 -0.526 -0.087 -0.091 0.167 0.127 0.102 -0.117 -0.049 + -0.045 -0.165 -0.090 0.323 0.029 -0.067 0.135 -0.407 0.076 0.255 + 0.158 0.041 0.176 0.022 0.239 0.089 -0.351 -0.707 0.222 -0.167 + 0.145 0.066 -0.401 0.263 -0.014 0.022 0.052 -0.066 -0.763 0.266 + 0.216 0.194 0.032 0.203 -0.208 -1.099 0.207 -0.161 -0.098 -0.040 + 0.092 0.044 -0.202 -0.263 0.018 0.177 0.086 0.062 -0.198 0.231 + 0.106 0.073 0.068 0.080 0.558 0.112 0.294 0.241 -0.118 0.245 + 1.086 -0.063 0.541 0.461 0.387 -0.310 0.169 0.002 -0.401 -0.086 + -0.169 0.453 0.015 -0.011 -0.122 0.038 0.077 -0.275 0.253 -0.017 + -0.417 0.088 -0.111 0.024 0.066 -0.128 -0.093 -0.354 0.300 -0.433 + 0.039 -0.206 0.246 0.006 -0.288 0.025 0.447 0.607 0.244 -0.641 + 0.195 0.071 -0.112 -0.858 0.160 -0.125 0.063 -0.092 -0.086 -0.101 + 0.120 0.095 0.248 0.042 -0.453 1.160 -0.203 -0.247 0.370 -0.831 + 0.011 -0.161 -0.250 -0.042 -0.246 -0.824 0.000 0.119 0.473 -0.963 + -0.669 -1.114 0.041 -0.095 -0.230 -0.701 0.094 0.321 -0.222 -0.441 + -0.168 -0.375 -0.778 -0.775 0.124 -0.570 0.001 -0.020 -0.088 -0.112 + 0.888 -0.300 0.033 0.043 -0.074 0.285 -0.133 -0.173 0.176 -0.083 + 0.080 0.166 -0.654 0.749 0.075 -0.009 -0.041 0.106 -0.352 -0.118 + -0.426 0.049 0.189 0.018 0.144 0.396 0.001 -0.306 -0.169 0.094 + -0.025 0.123 0.047 0.237 0.140 -0.009 0.408 -0.327 -0.016 0.081 + -0.102 0.071 0.765 -0.484 0.373 -0.440 -0.075 -0.128 0.374 0.264 + -0.345 -0.292 0.506 0.012 0.064 0.160 0.327 -0.132 -0.986 -0.203 + 0.015 0.051 -0.104 0.383 0.164 0.313 -0.071 -0.088 0.147 0.786 + -0.137 -0.041 0.368 0.193 -0.163 -0.167 0.112 -0.228 -0.019 0.026 + -0.106 0.182 0.048 -0.262 -0.192 0.918 -0.582 0.201 -0.002 -0.158 + 0.103 0.216 -0.143 0.018 0.135 0.036 -0.274 -0.116 -0.208 0.112 + -0.340 -0.139 0.205 -0.276 0.048 0.261 0.260 -0.222 0.136 -0.303 + 0.148 -0.062 -0.021 0.175 0.347 -1.382 0.063 0.319 0.135 -0.001 + 0.124 0.056 -0.157 0.001 0.280 0.173 -0.207 0.192 0.215 0.063 + 0.312 -0.136 -0.360 -0.101 0.783 0.019 0.266 0.020 -0.330 -0.236 + 0.129 0.417 -0.763 -0.201 0.023 -0.087 -0.065 0.240 0.290 -0.317 + 0.470 0.136 -0.561 0.211 0.105 -0.174 0.232 -0.073 -0.539 0.074 + 0.005 -0.064 -0.107 0.153 -0.010 0.060 0.334 -0.059 0.078 0.177 + -0.022 0.334 0.877 0.017 0.040 0.009 0.364 -0.152 0.305 0.417 + -0.220 0.125 0.219 -0.525 -0.032 0.438 -0.121 0.186 0.115 0.105 + 0.269 0.148 -0.029 0.174 -0.151 0.013 0.206 -0.057 -0.048 -0.644 + -1.126 0.005 -0.061 0.067 -0.050 -0.082 -0.595 -0.150 0.126 0.019 + -0.452 -0.302 -0.330 -0.393 0.015 0.694 0.067 0.117 0.161 0.012 + 0.658 0.303 0.360 0.052 0.187 0.011 -0.081 0.213 0.111 0.158 + -0.159 0.054 -0.103 -0.160 -0.107 0.050 0.068 -0.110 -0.168 0.082 + -0.176 0.009 -0.161 0.404 0.219 0.232 0.034 -0.015 0.022 -0.639 + 0.481 0.564 -0.066 0.005 0.049 0.422 -0.385 0.259 0.380 0.389 + 0.406 0.022 -0.082 0.304 0.106 -0.013 -0.225 0.045 0.283 0.384 + 0.396 0.158 -0.251 -0.296 -0.539 -0.102 0.087 -0.002 -0.013 -0.181 + 0.164 -0.062 -0.051 -0.116 0.086 -0.104 -0.583 -0.406 0.026 0.059 + 0.194 0.127 0.482 0.195 -0.760 -0.131 -0.208 -0.152 0.119 -0.077 + 0.098 0.337 0.282 0.116 -0.195 -0.071 0.603 -0.466 0.326 0.215 + -0.163 0.070 -0.119 -0.369 0.362 -0.175 -0.028 0.053 -0.057 -0.426 + 0.444 -1.186 0.119 -0.565 0.180 0.188 -0.051 -0.045 0.313 0.029 + 0.367 -0.138 -0.104 0.120 0.111 0.028 0.445 0.086 0.265 0.259 + 0.346 -0.240 -0.037 0.230 -0.034 -0.228 -0.814 -0.515 -0.316 -0.133 + -0.224 -0.171 -0.070 0.119 0.189 0.419 0.218 0.134 0.245 0.888 + -0.447 -0.003 0.979 -0.230 -0.181 0.023 -0.018 0.034 -0.109 0.215 + -0.355 -0.133 0.560 -0.057 -0.783 0.027 -0.391 0.105 0.305 -0.072 + -0.250 -0.146 0.013 0.271 -0.304 0.286 -1.130 -0.113 0.078 -0.360 + -0.126 0.153 -0.030 0.082 -0.082 -0.028 -0.454 -0.196 0.835 0.018 + 0.000 -0.056 -0.294 0.576 0.297 0.059 -0.199 -0.251 -0.035 -0.164 + -0.201 0.003 -0.182 -0.244 -0.009 -0.161 -0.265 -0.069 0.121 -0.071 + 0.082 -0.079 -0.127 0.034 0.134 -0.064 0.056 0.123 -0.076 0.367 + -0.224 -0.053 0.025 -0.079 0.203 -0.172 -0.090 0.002 0.218 0.223 + 0.086 0.132 0.124 -0.046 0.651 -0.402 -0.153 0.183 0.046 -0.019 + 0.243 0.189 -0.130 0.199 0.051 0.143 -0.609 -0.004 0.157 0.039 + 0.136 -0.114 -0.060 0.084 -0.206 -0.128 0.506 -0.284 0.120 0.891 + 0.227 -0.062 -0.300 -0.125 -0.273 -0.896 1.064 0.145 0.080 -0.097 + 0.142 -0.117 -0.003 -0.075 0.244 0.139 -0.312 -0.179 -0.149 -0.202 + 0.052 0.038 -0.046 0.210 -0.140 -0.005 0.113 -0.099 -0.063 0.331 + 0.128 -0.328 -0.573 -0.153 -0.087 0.167 0.134 0.108 -0.106 -0.050 + -0.026 -0.178 -0.110 0.328 0.037 -0.077 0.132 -0.399 0.112 0.237 + 0.165 0.056 0.170 0.029 0.235 0.094 -0.384 -0.669 0.230 -0.177 + 0.149 0.043 -0.386 0.268 -0.018 0.034 0.044 -0.034 -0.751 0.261 + 0.212 0.201 0.026 0.191 -0.202 -1.139 0.216 -0.176 -0.080 -0.036 + 0.096 0.045 -0.187 -0.250 0.032 0.174 0.083 0.044 -0.221 0.211 + 0.134 0.060 0.077 0.070 0.518 0.126 0.326 0.248 -0.111 0.259 + 1.081 -0.068 0.478 0.447 0.429 -0.357 0.173 -0.005 -0.401 -0.177 + -0.168 0.461 -0.041 -0.061 -0.086 0.026 0.074 -0.271 0.248 -0.074 + -0.399 0.129 -0.089 0.067 0.067 -0.135 -0.082 -0.428 0.290 -0.385 + 0.067 -0.234 0.238 0.003 -0.291 0.024 0.478 0.608 0.258 -0.626 + 0.323 0.082 -0.144 -0.866 0.201 -0.122 0.051 -0.098 -0.090 -0.098 + 0.111 0.107 0.249 0.056 -0.443 1.161 -0.184 -0.237 0.363 -0.845 + 0.008 -0.159 -0.247 -0.084 -0.274 -0.895 0.045 0.115 0.479 -0.980 + -0.626 -1.150 0.043 -0.108 -0.227 -0.724 0.100 0.349 -0.210 -0.442 + -0.154 -0.394 -0.762 -0.820 0.112 -0.576 0.019 -0.013 -0.081 -0.128 + 0.905 -0.305 0.036 0.038 -0.086 0.279 -0.128 -0.172 0.172 -0.096 + 0.074 0.160 -0.653 0.822 0.023 0.004 -0.042 0.098 -0.316 -0.079 + -0.452 0.041 0.174 0.013 0.119 0.373 -0.017 -0.327 -0.085 0.055 + -0.024 0.115 0.054 0.258 0.142 -0.006 0.464 -0.354 0.029 0.085 + -0.103 0.073 0.831 -0.454 0.367 -0.442 -0.084 -0.129 0.368 0.263 + -0.351 -0.227 0.568 0.041 0.059 0.156 0.329 -0.137 -0.973 -0.245 + 0.016 0.049 -0.115 0.334 0.231 0.347 -0.087 -0.091 0.150 0.765 + -0.106 -0.105 0.364 0.192 -0.160 -0.164 0.101 -0.240 -0.011 0.028 + -0.096 0.171 0.048 -0.259 -0.152 0.952 -0.556 0.190 -0.005 -0.167 + 0.087 0.236 -0.141 0.012 0.128 0.025 -0.231 -0.124 -0.240 0.108 + -0.344 -0.140 0.224 -0.235 0.051 0.264 0.257 -0.234 0.161 -0.224 + 0.117 -0.061 -0.016 0.165 0.395 -1.466 0.061 0.329 0.143 0.002 + 0.133 0.063 -0.152 0.001 0.279 0.176 -0.231 0.201 0.233 0.065 + 0.312 -0.137 -0.351 -0.085 0.761 0.025 0.264 0.011 -0.282 -0.226 + 0.204 0.373 -0.802 -0.220 0.032 -0.088 -0.071 0.243 0.294 -0.318 + 0.502 0.149 -0.575 0.214 0.111 -0.173 0.243 -0.083 -0.506 0.066 + 0.010 -0.062 -0.114 0.147 -0.018 0.044 0.344 -0.074 0.073 0.181 + -0.037 0.406 0.878 0.052 0.042 -0.001 0.380 -0.185 0.246 0.445 + -0.220 0.143 0.220 -0.542 -0.002 0.484 -0.126 0.184 0.106 0.100 + 0.273 0.143 -0.032 0.179 -0.143 0.024 0.193 -0.055 -0.082 -0.629 + -1.196 0.010 -0.073 0.074 -0.041 -0.079 -0.628 -0.143 0.128 0.024 + -0.412 -0.264 -0.340 -0.481 -0.030 0.682 0.058 0.126 0.164 0.107 + 0.577 0.330 0.412 0.063 0.201 0.002 -0.083 0.216 0.107 0.160 + -0.158 0.052 -0.102 -0.159 -0.118 0.045 0.057 -0.122 -0.171 0.086 + -0.180 0.019 -0.154 0.436 0.212 0.277 0.038 -0.025 0.028 -0.691 + 0.577 0.555 -0.063 0.017 0.031 0.407 -0.412 0.298 0.369 0.351 + 0.484 0.031 -0.078 0.291 0.107 -0.016 -0.231 0.050 0.284 0.377 + 0.388 0.140 -0.273 -0.353 -0.494 -0.121 0.100 -0.017 -0.011 -0.169 + 0.162 -0.055 -0.036 -0.109 0.085 -0.116 -0.622 -0.422 0.038 0.052 + 0.198 0.160 0.516 0.226 -0.757 -0.131 -0.155 -0.140 0.135 -0.079 + 0.099 0.347 0.280 0.113 -0.200 -0.071 0.612 -0.518 0.376 0.224 + -0.170 0.067 -0.133 -0.375 0.313 -0.168 -0.038 0.053 -0.051 -0.407 + 0.443 -1.114 0.190 -0.595 0.176 0.192 -0.056 -0.032 0.289 0.039 + 0.326 -0.155 -0.136 0.120 0.097 0.040 0.421 0.130 0.238 0.264 + 0.313 -0.266 -0.035 0.233 -0.039 -0.205 -0.836 -0.544 -0.303 -0.151 + -0.209 -0.166 -0.074 0.119 0.225 0.403 0.221 0.099 0.225 0.908 + -0.501 -0.030 1.067 -0.232 -0.172 0.030 -0.024 0.030 -0.107 0.226 + -0.355 -0.127 0.569 -0.033 -0.785 0.035 -0.389 0.105 0.273 -0.047 + -0.231 -0.140 0.013 0.274 -0.296 0.304 -1.191 -0.115 0.121 -0.394 + -0.133 0.146 -0.031 0.088 -0.094 -0.014 -0.469 -0.194 0.880 0.029 + -0.002 -0.061 -0.333 0.551 0.343 0.055 -0.202 -0.239 -0.037 -0.165 + -0.206 0.001 -0.200 -0.185 0.003 -0.154 -0.253 -0.121 0.120 -0.045 + 0.103 -0.074 -0.150 0.048 0.138 -0.072 0.059 0.123 -0.091 0.403 + -0.228 -0.001 0.028 -0.075 0.204 -0.168 -0.078 -0.004 0.225 0.220 + 0.077 0.151 0.121 -0.056 0.715 -0.379 -0.162 0.171 0.040 -0.014 + 0.247 0.181 -0.129 0.204 0.049 0.143 -0.617 0.001 0.127 0.042 + 0.144 -0.118 -0.044 0.067 -0.187 -0.135 0.510 -0.255 0.118 0.897 + 0.215 -0.065 -0.285 -0.133 -0.268 -0.899 1.111 0.142 0.089 -0.089 + 0.133 -0.114 0.011 -0.073 0.230 0.132 -0.300 -0.188 -0.175 -0.199 + 0.040 0.042 -0.055 0.261 -0.133 0.001 0.115 -0.090 -0.118 0.346 + 0.064 -0.327 -0.623 -0.228 -0.088 0.178 0.138 0.102 -0.109 -0.050 + -0.004 -0.161 -0.131 0.326 0.036 -0.084 0.129 -0.379 0.140 0.237 + 0.162 0.059 0.163 0.039 0.224 0.060 -0.411 -0.704 0.229 -0.178 + 0.140 0.025 -0.326 0.343 -0.013 0.041 0.048 0.020 -0.708 0.335 + 0.221 0.206 0.038 0.174 -0.203 -1.190 0.221 -0.166 -0.085 -0.029 + 0.089 0.049 -0.188 -0.236 0.041 0.182 0.092 0.045 -0.227 0.244 + 0.149 0.054 0.086 0.068 0.493 0.116 0.392 0.249 -0.106 0.265 + 1.116 -0.063 0.433 0.360 0.469 -0.391 0.188 -0.016 -0.399 -0.216 + -0.128 0.459 -0.051 -0.083 -0.055 0.025 0.065 -0.269 0.209 -0.093 + -0.359 0.137 -0.081 0.087 0.070 -0.134 -0.082 -0.486 0.241 -0.379 + 0.018 -0.226 0.224 0.006 -0.275 0.015 0.527 0.642 0.292 -0.628 + 0.428 0.014 -0.169 -0.868 0.212 -0.127 0.063 -0.104 -0.085 -0.091 + 0.111 0.107 0.255 0.050 -0.490 1.223 -0.178 -0.230 0.330 -0.864 + 0.003 -0.167 -0.240 -0.131 -0.258 -0.913 0.111 0.096 0.480 -1.013 + -0.608 -1.172 0.036 -0.109 -0.225 -0.756 0.091 0.380 -0.210 -0.437 + -0.152 -0.453 -0.711 -0.891 0.098 -0.583 -0.004 -0.023 -0.079 -0.124 + 0.863 -0.296 0.030 0.039 -0.086 0.283 -0.130 -0.169 0.179 -0.099 + 0.086 0.156 -0.631 0.892 -0.010 0.005 -0.040 0.104 -0.279 -0.120 + -0.388 0.052 0.173 0.014 0.127 0.342 -0.023 -0.333 0.021 0.011 + -0.016 0.122 0.056 0.261 0.146 -0.007 0.527 -0.396 -0.020 0.077 + -0.100 0.074 0.837 -0.426 0.375 -0.458 -0.089 -0.132 0.357 0.253 + -0.349 -0.193 0.615 0.013 0.058 0.156 0.329 -0.167 -0.976 -0.229 + 0.032 0.036 -0.126 0.254 0.295 0.418 -0.095 -0.092 0.151 0.754 + -0.078 -0.124 0.367 0.190 -0.152 -0.160 0.091 -0.230 -0.013 0.032 + -0.097 0.175 0.055 -0.262 -0.184 0.945 -0.528 0.193 0.000 -0.174 + 0.026 0.245 -0.137 0.003 0.133 0.017 -0.137 -0.152 -0.227 0.108 + -0.334 -0.133 0.197 -0.241 0.044 0.307 0.267 -0.209 0.176 -0.211 + 0.078 -0.059 -0.018 0.163 0.457 -1.486 0.022 0.325 0.139 0.006 + 0.134 0.064 -0.148 -0.005 0.287 0.178 -0.216 0.185 0.249 0.065 + 0.314 -0.144 -0.347 -0.108 0.791 0.009 0.262 0.011 -0.271 -0.209 + 0.218 0.327 -0.766 -0.205 0.026 -0.088 -0.063 0.253 0.286 -0.333 + 0.477 0.155 -0.589 0.215 0.104 -0.170 0.229 -0.086 -0.485 0.049 + 0.009 -0.063 -0.125 0.139 -0.016 0.047 0.392 -0.061 0.068 0.183 + -0.048 0.430 0.872 0.099 0.051 -0.004 0.373 -0.207 0.203 0.415 + -0.215 0.139 0.227 -0.538 0.040 0.447 -0.125 0.177 0.102 0.101 + 0.275 0.136 -0.032 0.188 -0.156 0.020 0.196 -0.048 -0.114 -0.625 + -1.280 0.005 -0.069 0.090 -0.027 -0.051 -0.655 -0.138 0.128 0.031 + -0.448 -0.260 -0.355 -0.521 -0.082 0.721 0.052 0.123 0.166 0.193 + 0.508 0.301 0.480 0.082 0.186 0.001 -0.090 0.220 0.101 0.160 + -0.154 0.056 -0.106 -0.154 -0.134 0.044 0.052 -0.117 -0.172 0.087 + -0.186 0.036 -0.149 0.490 0.196 0.308 0.040 -0.023 0.027 -0.695 + 0.649 0.605 -0.059 0.011 0.036 0.419 -0.424 0.313 0.369 0.365 + 0.479 0.038 -0.077 0.291 0.111 -0.014 -0.225 0.052 0.285 0.375 + 0.339 0.147 -0.289 -0.405 -0.460 -0.105 0.102 -0.016 -0.005 -0.173 + 0.168 -0.054 -0.036 -0.103 0.091 -0.071 -0.617 -0.443 0.030 0.047 + 0.194 0.199 0.504 0.250 -0.701 -0.161 -0.174 -0.144 0.134 -0.093 + 0.093 0.343 0.281 0.102 -0.201 -0.075 0.643 -0.536 0.435 0.224 + -0.159 0.065 -0.168 -0.370 0.287 -0.164 -0.054 0.045 -0.003 -0.393 + 0.394 -1.055 0.201 -0.536 0.179 0.197 -0.046 -0.035 0.289 0.074 + 0.273 -0.146 -0.182 0.117 0.083 0.046 0.455 0.162 0.186 0.282 + 0.389 -0.285 -0.033 0.244 -0.033 -0.257 -0.798 -0.577 -0.244 -0.142 + -0.212 -0.157 -0.073 0.107 0.216 0.421 0.225 0.087 0.191 0.966 + -0.527 -0.056 1.161 -0.220 -0.161 0.017 -0.019 0.025 -0.096 0.222 + -0.358 -0.134 0.590 -0.058 -0.775 0.045 -0.399 0.095 0.222 -0.017 + -0.180 -0.149 0.010 0.277 -0.260 0.339 -1.231 -0.070 0.147 -0.377 + -0.134 0.141 -0.035 0.087 -0.097 -0.022 -0.525 -0.180 0.901 0.020 + 0.006 -0.053 -0.337 0.514 0.327 0.071 -0.192 -0.237 -0.031 -0.163 + -0.207 -0.026 -0.244 -0.200 0.001 -0.160 -0.243 -0.175 0.146 0.005 + 0.112 -0.081 -0.153 0.004 0.095 -0.093 0.059 0.139 -0.101 0.375 + -0.252 0.069 0.021 -0.069 0.215 -0.164 -0.072 0.011 0.220 0.219 + 0.074 0.137 0.111 -0.051 0.762 -0.333 -0.205 0.174 0.030 -0.022 + 0.247 0.206 -0.120 0.205 0.049 0.146 -0.654 0.001 0.141 0.036 + 0.140 -0.116 -0.045 0.123 -0.182 -0.195 0.541 -0.304 0.061 0.918 + 0.214 -0.065 -0.283 -0.134 -0.272 -0.919 1.147 0.134 0.080 -0.080 + 0.142 -0.124 0.013 -0.070 0.230 0.126 -0.261 -0.221 -0.205 -0.206 + 0.035 0.036 -0.050 0.237 -0.082 -0.003 0.111 -0.085 -0.184 0.408 + -0.004 -0.272 -0.651 -0.295 -0.089 0.185 0.148 0.104 -0.122 -0.051 + 0.034 -0.178 -0.155 0.325 0.038 -0.075 0.073 -0.386 0.162 0.245 + 0.165 0.073 0.165 0.044 0.224 0.080 -0.446 -0.722 0.212 -0.183 + 0.137 0.056 -0.333 0.333 -0.017 0.042 0.044 0.039 -0.703 0.371 + 0.228 0.208 0.030 0.182 -0.193 -1.233 0.223 -0.172 -0.079 -0.032 + 0.096 0.053 -0.190 -0.222 0.044 0.175 0.090 0.030 -0.253 0.234 + 0.169 0.067 0.082 0.065 0.521 0.141 0.406 0.243 -0.090 0.270 + 1.123 -0.051 0.397 0.310 0.518 -0.430 0.192 -0.017 -0.398 -0.290 + -0.107 0.442 -0.031 -0.118 -0.046 0.021 0.062 -0.270 0.251 -0.122 + -0.359 0.146 -0.034 0.074 0.072 -0.132 -0.086 -0.546 0.248 -0.325 + -0.020 -0.233 0.165 0.021 -0.273 0.017 0.527 0.649 0.306 -0.696 + 0.547 0.036 -0.178 -0.886 0.221 -0.125 0.059 -0.110 -0.085 -0.095 + 0.107 0.115 0.247 0.054 -0.531 1.217 -0.144 -0.246 0.304 -0.877 + -0.004 -0.159 -0.244 -0.160 -0.305 -0.981 0.203 0.098 0.466 -1.050 + -0.574 -1.238 0.037 -0.113 -0.213 -0.732 0.066 0.408 -0.204 -0.433 + -0.150 -0.475 -0.640 -0.885 0.139 -0.600 0.004 -0.014 -0.078 -0.118 + 0.871 -0.313 -0.032 0.029 -0.084 0.290 -0.131 -0.162 0.174 -0.093 + 0.082 0.143 -0.647 0.885 0.030 0.011 -0.049 0.101 -0.252 -0.153 + -0.394 0.064 0.163 0.010 0.114 0.318 -0.014 -0.366 0.115 -0.009 + -0.033 0.118 0.055 0.274 0.159 -0.009 0.558 -0.431 -0.054 0.070 + -0.109 0.081 0.836 -0.465 0.434 -0.470 -0.079 -0.128 0.349 0.246 + -0.367 -0.152 0.702 0.049 0.066 0.159 0.327 -0.123 -0.945 -0.274 + 0.030 0.016 -0.146 0.242 0.345 0.548 -0.093 -0.086 0.159 0.733 + -0.077 -0.164 0.377 0.197 -0.152 -0.157 0.096 -0.226 -0.001 0.030 + -0.101 0.184 0.059 -0.276 -0.208 0.953 -0.517 0.180 0.007 -0.159 + 0.082 0.252 -0.100 -0.002 0.129 0.017 -0.116 -0.191 -0.259 0.108 + -0.342 -0.134 0.195 -0.206 0.076 0.310 0.267 -0.174 0.165 -0.193 + 0.072 -0.069 -0.019 0.154 0.486 -1.513 -0.013 0.328 0.136 0.014 + 0.129 0.057 -0.149 -0.019 0.282 0.170 -0.215 0.239 0.257 0.060 + 0.314 -0.151 -0.336 -0.111 0.769 0.020 0.255 0.014 -0.273 -0.221 + 0.288 0.265 -0.798 -0.222 0.023 -0.085 -0.066 0.254 0.280 -0.333 + 0.435 0.142 -0.644 0.226 0.107 -0.173 0.198 -0.077 -0.448 0.049 + 0.011 -0.063 -0.125 0.136 -0.016 0.012 0.426 -0.087 0.070 0.181 + -0.041 0.474 0.859 0.094 0.054 -0.010 0.390 -0.183 0.180 0.399 + -0.212 0.139 0.226 -0.533 0.100 0.427 -0.131 0.177 0.092 0.096 + 0.272 0.132 -0.036 0.189 -0.158 0.024 0.195 -0.044 -0.094 -0.620 + -1.307 0.003 -0.068 0.097 -0.018 -0.096 -0.677 -0.152 0.123 0.020 + -0.426 -0.223 -0.363 -0.540 -0.095 0.707 0.046 0.119 0.153 0.268 + 0.379 0.305 0.470 0.067 0.206 0.003 -0.099 0.227 0.103 0.159 + -0.154 0.057 -0.102 -0.160 -0.137 0.040 0.044 -0.119 -0.178 0.093 + -0.184 0.033 -0.152 0.532 0.157 0.379 0.038 -0.043 0.034 -0.705 + 0.666 0.604 -0.055 0.012 0.036 0.413 -0.451 0.356 0.381 0.374 + 0.489 0.031 -0.083 0.289 0.105 -0.023 -0.224 0.064 0.284 0.372 + 0.333 0.168 -0.253 -0.453 -0.450 -0.064 0.098 -0.024 0.012 -0.168 + 0.161 -0.061 -0.044 -0.115 0.097 -0.090 -0.630 -0.422 0.043 0.042 + 0.197 0.177 0.513 0.287 -0.708 -0.195 -0.187 -0.156 0.124 -0.065 + 0.093 0.333 0.277 0.098 -0.192 -0.079 0.701 -0.580 0.472 0.222 + -0.148 0.056 -0.172 -0.384 0.288 -0.158 -0.057 0.040 0.041 -0.401 + 0.365 -1.038 0.299 -0.534 0.175 0.201 -0.048 -0.021 0.247 0.058 + 0.261 -0.125 -0.170 0.113 0.080 0.063 0.497 0.194 0.126 0.258 + 0.434 -0.270 -0.025 0.254 -0.026 -0.294 -0.787 -0.621 -0.272 -0.116 + -0.225 -0.168 -0.073 0.097 0.236 0.458 0.207 0.086 0.186 0.977 + -0.527 -0.058 1.243 -0.225 -0.145 0.020 -0.012 0.017 -0.102 0.221 + -0.363 -0.144 0.568 -0.072 -0.711 0.036 -0.381 0.102 0.172 -0.001 + -0.197 -0.147 0.015 0.267 -0.205 0.313 -1.304 -0.099 0.144 -0.377 + -0.142 0.133 -0.047 0.084 -0.107 -0.029 -0.570 -0.172 0.895 0.021 + 0.007 -0.044 -0.345 0.522 0.344 0.086 -0.196 -0.230 -0.033 -0.153 + -0.201 -0.019 -0.263 -0.200 -0.000 -0.163 -0.246 -0.236 0.168 0.043 + 0.106 -0.085 -0.142 0.016 0.080 -0.073 0.059 0.153 -0.110 0.379 + -0.289 0.109 0.022 -0.084 0.215 -0.159 -0.066 0.014 0.216 0.218 + 0.068 0.129 0.106 -0.049 0.830 -0.307 -0.224 0.167 0.025 -0.023 + 0.243 0.207 -0.080 0.218 0.050 0.140 -0.695 0.002 0.108 0.040 + 0.142 -0.121 -0.037 0.141 -0.171 -0.217 0.524 -0.339 0.011 0.866 + 0.215 -0.065 -0.282 -0.142 -0.281 -0.934 1.191 0.128 0.097 -0.067 + 0.151 -0.132 0.015 -0.077 0.229 0.114 -0.278 -0.228 -0.233 -0.211 + 0.029 0.033 -0.045 0.227 -0.045 0.004 0.115 -0.069 -0.203 0.412 + -0.053 -0.227 -0.661 -0.365 -0.091 0.177 0.145 0.103 -0.125 -0.055 + 0.062 -0.174 -0.190 0.321 0.034 -0.072 0.105 -0.392 0.122 0.239 + 0.184 0.070 0.162 0.046 0.224 0.095 -0.517 -0.757 0.207 -0.190 + 0.137 0.052 -0.357 0.342 -0.038 0.046 0.044 0.060 -0.685 0.382 + 0.235 0.200 0.032 0.155 -0.156 -1.228 0.221 -0.175 -0.075 -0.041 + 0.087 0.040 -0.190 -0.221 0.051 0.183 0.092 0.015 -0.287 0.266 + 0.165 0.062 0.085 0.067 0.479 0.127 0.443 0.255 -0.085 0.290 + 1.208 -0.046 0.367 0.211 0.506 -0.485 0.189 -0.039 -0.399 -0.287 + -0.075 0.452 -0.005 -0.104 -0.003 0.026 0.065 -0.261 0.257 -0.147 + -0.362 0.177 0.057 0.091 0.076 -0.136 -0.076 -0.575 0.226 -0.273 + -0.007 -0.270 0.099 0.029 -0.267 0.017 0.573 0.658 0.336 -0.722 + 0.598 -0.013 -0.191 -0.930 0.237 -0.133 0.061 -0.114 -0.086 -0.097 + 0.105 0.124 0.247 0.048 -0.515 1.229 -0.098 -0.193 0.260 -0.893 + -0.011 -0.163 -0.238 -0.209 -0.336 -1.005 0.207 0.089 0.462 -1.061 + -0.516 -1.259 0.025 -0.110 -0.212 -0.763 0.075 0.436 -0.189 -0.429 + -0.140 -0.476 -0.586 -0.903 0.179 -0.576 0.008 -0.006 -0.078 -0.129 + 0.891 -0.304 -0.004 0.032 -0.089 0.281 -0.127 -0.168 0.170 -0.088 + 0.079 0.137 -0.663 0.925 0.026 0.011 -0.050 0.113 -0.212 -0.131 + -0.409 0.070 0.160 0.007 0.102 0.299 -0.054 -0.381 0.167 -0.061 + -0.048 0.121 0.048 0.286 0.160 -0.014 0.557 -0.410 -0.074 0.070 + -0.102 0.088 0.867 -0.474 0.439 -0.482 -0.083 -0.142 0.323 0.235 + -0.367 -0.145 0.790 0.106 0.067 0.168 0.332 -0.141 -0.950 -0.275 + 0.036 0.003 -0.153 0.191 0.392 0.675 -0.101 -0.088 0.156 0.726 + -0.049 -0.232 0.376 0.198 -0.150 -0.163 0.087 -0.228 -0.003 0.019 + -0.091 0.180 0.061 -0.277 -0.243 0.929 -0.509 0.177 0.005 -0.160 + 0.053 0.231 -0.069 -0.012 0.129 0.022 -0.047 -0.199 -0.306 0.126 + -0.329 -0.138 0.217 -0.185 0.110 0.343 0.288 -0.170 0.141 -0.213 + 0.095 -0.070 -0.021 0.151 0.486 -1.534 0.001 0.323 0.126 0.018 + 0.121 0.051 -0.148 -0.035 0.278 0.165 -0.143 0.272 0.271 0.072 + 0.316 -0.144 -0.314 -0.155 0.790 0.036 0.266 0.017 -0.260 -0.210 + 0.322 0.192 -0.839 -0.206 0.024 -0.087 -0.061 0.263 0.277 -0.327 + 0.445 0.171 -0.638 0.240 0.094 -0.179 0.187 -0.109 -0.428 0.054 + 0.014 -0.071 -0.122 0.130 -0.022 0.005 0.448 -0.092 0.070 0.177 + -0.041 0.536 0.855 0.108 0.066 -0.015 0.398 -0.174 0.130 0.415 + -0.219 0.138 0.237 -0.484 0.111 0.439 -0.133 0.171 0.086 0.094 + 0.280 0.140 -0.034 0.193 -0.156 0.028 0.198 -0.053 -0.099 -0.627 + -1.349 0.012 -0.054 0.104 0.023 -0.073 -0.685 -0.144 0.134 0.017 + -0.419 -0.213 -0.378 -0.534 -0.115 0.677 0.047 0.129 0.159 0.378 + 0.252 0.289 0.505 0.083 0.204 0.004 -0.111 0.235 0.094 0.163 + -0.159 0.058 -0.102 -0.164 -0.146 0.038 0.033 -0.122 -0.170 0.092 + -0.194 0.032 -0.164 0.593 0.170 0.376 0.035 -0.047 0.032 -0.710 + 0.718 0.600 -0.054 0.034 0.030 0.366 -0.448 0.351 0.410 0.400 + 0.532 0.024 -0.090 0.298 0.096 -0.026 -0.235 0.072 0.268 0.377 + 0.319 0.175 -0.248 -0.513 -0.422 -0.070 0.104 -0.013 0.001 -0.176 + 0.156 -0.054 -0.048 -0.106 0.090 -0.077 -0.595 -0.406 0.037 0.036 + 0.193 0.190 0.555 0.324 -0.719 -0.240 -0.197 -0.151 0.131 -0.074 + 0.105 0.341 0.286 0.090 -0.185 -0.077 0.746 -0.582 0.509 0.224 + -0.146 0.064 -0.197 -0.406 0.260 -0.164 -0.070 0.032 0.052 -0.427 + 0.380 -1.017 0.310 -0.513 0.172 0.201 -0.050 -0.004 0.250 0.082 + 0.224 -0.099 -0.262 0.109 0.082 0.074 0.506 0.254 0.123 0.286 + 0.464 -0.271 -0.014 0.261 -0.020 -0.297 -0.805 -0.638 -0.262 -0.075 + -0.189 -0.154 -0.073 0.086 0.220 0.493 0.215 0.085 0.162 0.996 + -0.527 -0.049 1.322 -0.236 -0.125 0.024 -0.007 0.017 -0.094 0.222 + -0.357 -0.144 0.596 -0.066 -0.672 0.035 -0.372 0.110 0.156 0.043 + -0.213 -0.147 -0.002 0.267 -0.146 0.322 -1.333 -0.143 0.179 -0.398 + -0.143 0.134 -0.041 0.087 -0.118 -0.036 -0.600 -0.142 0.918 0.022 + 0.003 -0.047 -0.343 0.520 0.310 0.089 -0.183 -0.240 -0.025 -0.155 + -0.213 -0.051 -0.274 -0.228 -0.005 -0.174 -0.243 -0.289 0.162 0.065 + 0.091 -0.093 -0.149 0.046 0.019 -0.093 0.063 0.157 -0.119 0.352 + -0.279 0.188 0.014 -0.075 0.208 -0.156 -0.065 0.030 0.214 0.204 + 0.063 0.128 0.113 -0.063 0.864 -0.252 -0.263 0.170 0.031 -0.010 + 0.217 0.216 -0.104 0.212 0.049 0.152 -0.718 -0.056 0.131 0.027 + 0.140 -0.120 -0.024 0.127 -0.169 -0.230 0.525 -0.351 -0.015 0.843 + 0.227 -0.072 -0.280 -0.138 -0.305 -0.963 1.196 0.134 0.104 -0.062 + 0.145 -0.142 0.010 -0.084 0.215 0.115 -0.273 -0.249 -0.246 -0.213 + 0.035 0.039 -0.092 0.232 -0.028 0.010 0.118 -0.060 -0.216 0.439 + -0.097 -0.191 -0.708 -0.469 -0.111 0.186 0.139 0.109 -0.129 -0.053 + 0.051 -0.210 -0.199 0.323 0.039 -0.080 0.086 -0.451 0.112 0.244 + 0.182 0.072 0.176 0.053 0.231 0.113 -0.569 -0.760 0.212 -0.199 + 0.142 0.029 -0.321 0.342 -0.043 0.038 0.033 0.056 -0.654 0.344 + 0.235 0.196 0.051 0.133 -0.121 -1.248 0.220 -0.179 -0.062 -0.049 + 0.086 0.037 -0.204 -0.215 0.045 0.165 0.089 0.022 -0.331 0.254 + 0.186 0.057 0.080 0.069 0.452 0.139 0.496 0.247 -0.086 0.298 + 1.275 -0.028 0.349 0.197 0.536 -0.515 0.186 -0.042 -0.393 -0.387 + -0.078 0.490 0.015 -0.126 0.014 0.018 0.069 -0.260 0.284 -0.160 + -0.324 0.231 0.123 0.085 0.088 -0.130 -0.075 -0.658 0.201 -0.218 + -0.023 -0.244 0.049 0.036 -0.271 0.012 0.604 0.666 0.337 -0.738 + 0.701 0.001 -0.171 -0.937 0.267 -0.134 0.072 -0.120 -0.090 -0.095 + 0.097 0.117 0.238 0.050 -0.498 1.256 -0.074 -0.179 0.210 -0.908 + -0.013 -0.163 -0.244 -0.214 -0.387 -1.053 0.226 0.088 0.469 -1.076 + -0.463 -1.319 0.027 -0.117 -0.210 -0.810 0.033 0.460 -0.192 -0.430 + -0.135 -0.492 -0.547 -0.926 0.166 -0.593 -0.051 -0.004 -0.090 -0.134 + 0.920 -0.292 -0.018 0.029 -0.088 0.282 -0.131 -0.170 0.178 -0.086 + 0.083 0.138 -0.661 0.958 0.033 0.012 -0.055 0.124 -0.196 -0.162 + -0.415 0.074 0.157 0.003 0.054 0.280 -0.020 -0.431 0.225 -0.113 + -0.046 0.118 0.047 0.285 0.160 -0.012 0.594 -0.444 -0.121 0.081 + -0.100 0.093 0.871 -0.463 0.469 -0.485 -0.089 -0.155 0.327 0.230 + -0.368 -0.135 0.797 0.145 0.074 0.160 0.332 -0.146 -0.951 -0.292 + 0.030 -0.009 -0.166 0.194 0.437 0.769 -0.102 -0.076 0.162 0.756 + 0.009 -0.225 0.389 0.193 -0.141 -0.162 0.085 -0.223 0.003 0.020 + -0.095 0.171 0.057 -0.270 -0.241 0.900 -0.479 0.179 0.016 -0.159 + 0.090 0.270 -0.078 -0.027 0.124 0.028 -0.002 -0.219 -0.307 0.120 + -0.339 -0.142 0.210 -0.172 0.114 0.340 0.281 -0.155 0.113 -0.205 + 0.089 -0.068 -0.027 0.155 0.492 -1.562 0.022 0.329 0.121 0.008 + 0.117 0.057 -0.150 -0.047 0.278 0.162 -0.155 0.267 0.269 0.075 + 0.311 -0.154 -0.281 -0.170 0.794 0.044 0.245 0.016 -0.224 -0.177 + 0.332 0.132 -0.842 -0.229 0.026 -0.091 -0.064 0.253 0.287 -0.330 + 0.410 0.216 -0.641 0.240 0.087 -0.178 0.199 -0.114 -0.423 0.050 + 0.010 -0.076 -0.121 0.131 -0.018 -0.015 0.465 -0.086 0.074 0.185 + -0.034 0.570 0.885 0.165 0.067 -0.009 0.399 -0.123 0.133 0.359 + -0.216 0.149 0.235 -0.491 0.163 0.408 -0.151 0.176 0.089 0.105 + 0.280 0.140 -0.039 0.186 -0.157 0.039 0.200 -0.048 -0.085 -0.631 + -1.386 0.027 -0.044 0.107 0.018 -0.074 -0.672 -0.157 0.133 0.019 + -0.496 -0.187 -0.335 -0.606 -0.141 0.667 0.039 0.133 0.165 0.461 + 0.186 0.311 0.517 0.088 0.231 0.002 -0.111 0.236 0.101 0.160 + -0.173 0.058 -0.098 -0.164 -0.152 0.022 0.033 -0.130 -0.170 0.091 + -0.201 0.035 -0.166 0.692 0.138 0.376 0.039 -0.036 0.023 -0.721 + 0.745 0.645 -0.058 0.039 0.021 0.359 -0.454 0.366 0.374 0.426 + 0.551 0.017 -0.098 0.306 0.097 -0.020 -0.235 0.082 0.274 0.381 + 0.323 0.166 -0.247 -0.512 -0.387 -0.134 0.110 -0.011 -0.007 -0.169 + 0.147 -0.062 -0.048 -0.109 0.093 -0.045 -0.610 -0.449 0.038 0.025 + 0.196 0.158 0.598 0.336 -0.734 -0.241 -0.202 -0.159 0.132 -0.083 + 0.095 0.340 0.283 0.089 -0.191 -0.077 0.806 -0.618 0.551 0.228 + -0.143 0.036 -0.230 -0.382 0.166 -0.154 -0.081 0.026 0.007 -0.385 + 0.334 -0.982 0.352 -0.452 0.168 0.206 -0.042 -0.016 0.228 0.114 + 0.190 -0.120 -0.344 0.115 0.067 0.075 0.534 0.305 0.125 0.310 + 0.474 -0.254 -0.019 0.272 -0.021 -0.337 -0.770 -0.622 -0.246 -0.093 + -0.154 -0.155 -0.078 0.078 0.224 0.530 0.224 0.069 0.154 1.008 + -0.516 -0.119 1.414 -0.235 -0.125 0.034 0.006 0.022 -0.082 0.215 + -0.350 -0.153 0.543 -0.066 -0.597 0.032 -0.371 0.121 0.078 0.029 + -0.258 -0.157 -0.011 0.272 -0.128 0.310 -1.400 -0.116 0.210 -0.412 + -0.143 0.133 -0.033 0.089 -0.123 -0.042 -0.636 -0.163 0.983 0.028 + 0.009 -0.046 -0.350 0.459 0.319 0.086 -0.190 -0.234 -0.033 -0.153 + -0.223 -0.077 -0.279 -0.204 -0.014 -0.170 -0.245 -0.368 0.146 0.132 + 0.091 -0.090 -0.135 0.071 0.020 -0.101 0.063 0.150 -0.123 0.310 + -0.255 0.248 0.009 -0.077 0.207 -0.152 -0.070 0.029 0.219 0.205 + 0.064 0.141 0.118 -0.067 0.901 -0.270 -0.330 0.168 0.020 -0.013 + 0.181 0.197 -0.087 0.210 0.043 0.154 -0.772 -0.071 0.108 0.036 + 0.133 -0.122 -0.044 0.124 -0.144 -0.220 0.488 -0.385 -0.019 0.829 + 0.236 -0.081 -0.270 -0.129 -0.332 -0.974 1.192 0.130 0.112 -0.067 + 0.144 -0.136 0.016 -0.093 0.204 0.115 -0.212 -0.260 -0.248 -0.214 + 0.035 0.046 -0.024 0.251 -0.002 0.014 0.109 -0.046 -0.216 0.422 + -0.167 -0.194 -0.767 -0.564 -0.107 0.188 0.140 0.107 -0.137 -0.064 + 0.088 -0.215 -0.256 0.319 0.043 -0.079 0.115 -0.455 0.098 0.248 + 0.198 0.078 0.175 0.065 0.226 0.137 -0.596 -0.759 0.205 -0.224 + 0.129 0.035 -0.274 0.381 -0.045 0.052 0.026 0.075 -0.678 0.366 + 0.237 0.193 0.053 0.088 -0.098 -1.211 0.214 -0.176 -0.052 -0.045 + 0.083 0.032 -0.210 -0.204 0.057 0.161 0.079 0.020 -0.336 0.261 + 0.175 0.059 0.082 0.073 0.435 0.163 0.617 0.253 -0.077 0.301 + 1.289 -0.027 0.301 0.173 0.538 -0.544 0.194 -0.059 -0.391 -0.426 + -0.027 0.501 0.006 -0.141 0.009 0.024 0.062 -0.264 0.262 -0.159 + -0.333 0.253 0.190 0.065 0.091 -0.119 -0.070 -0.724 0.139 -0.199 + -0.050 -0.259 0.051 0.042 -0.275 0.012 0.577 0.678 0.348 -0.782 + 0.768 -0.009 -0.200 -0.979 0.265 -0.122 0.060 -0.122 -0.090 -0.095 + 0.092 0.127 0.224 0.045 -0.503 1.260 -0.020 -0.160 0.194 -0.883 + -0.009 -0.152 -0.237 -0.214 -0.426 -1.088 0.276 0.103 0.482 -1.098 + -0.395 -1.366 0.021 -0.122 -0.185 -0.822 -0.014 0.486 -0.189 -0.440 + -0.114 -0.467 -0.495 -0.998 0.177 -0.619 -0.095 -0.002 -0.090 -0.135 + 0.916 -0.308 -0.020 0.030 -0.088 0.291 -0.131 -0.167 0.183 -0.085 + 0.081 0.129 -0.666 1.012 0.025 0.020 -0.056 0.125 -0.193 -0.180 + -0.402 0.073 0.158 0.012 0.035 0.259 0.013 -0.454 0.345 -0.153 + -0.046 0.122 0.051 0.284 0.156 -0.008 0.648 -0.419 -0.164 0.075 + -0.100 0.093 0.887 -0.433 0.451 -0.491 -0.093 -0.145 0.338 0.208 + -0.376 -0.095 0.870 0.178 0.072 0.164 0.333 -0.130 -0.942 -0.312 + 0.034 -0.007 -0.173 0.181 0.402 0.863 -0.097 -0.072 0.151 0.759 + 0.030 -0.217 0.397 0.201 -0.148 -0.169 0.087 -0.225 -0.003 0.001 + -0.105 0.171 0.062 -0.273 -0.268 0.858 -0.484 0.169 0.022 -0.160 + 0.104 0.282 -0.031 -0.024 0.127 0.025 0.039 -0.195 -0.330 0.134 + -0.331 -0.139 0.229 -0.128 0.148 0.329 0.280 -0.143 0.071 -0.234 + 0.086 -0.078 -0.032 0.174 0.537 -1.553 0.039 0.331 0.118 -0.001 + 0.129 0.064 -0.152 -0.055 0.283 0.150 -0.121 0.254 0.271 0.070 + 0.290 -0.161 -0.231 -0.204 0.800 0.051 0.242 0.002 -0.227 -0.157 + 0.364 0.074 -0.865 -0.259 0.022 -0.084 -0.050 0.250 0.275 -0.329 + 0.385 0.275 -0.681 0.250 0.068 -0.179 0.177 -0.127 -0.442 0.042 + 0.019 -0.067 -0.115 0.131 -0.008 -0.032 0.447 -0.102 0.081 0.190 + -0.024 0.573 0.891 0.186 0.069 -0.018 0.414 -0.117 0.109 0.326 + -0.213 0.157 0.237 -0.510 0.177 0.401 -0.150 0.175 0.082 0.116 + 0.274 0.150 -0.031 0.188 -0.170 0.039 0.192 -0.048 -0.090 -0.640 + -1.444 0.028 -0.043 0.116 0.024 -0.122 -0.722 -0.164 0.128 0.029 + -0.525 -0.228 -0.322 -0.673 -0.110 0.653 0.037 0.131 0.172 0.584 + 0.099 0.305 0.516 0.099 0.221 0.004 -0.116 0.244 0.100 0.163 + -0.169 0.045 -0.104 -0.163 -0.153 0.016 0.027 -0.131 -0.176 0.108 + -0.202 0.031 -0.161 0.715 0.150 0.332 0.022 -0.046 0.018 -0.713 + 0.760 0.659 -0.075 0.036 0.015 0.329 -0.505 0.337 0.384 0.488 + 0.598 0.025 -0.103 0.310 0.085 -0.017 -0.238 0.079 0.274 0.383 + 0.315 0.170 -0.264 -0.548 -0.372 -0.167 0.120 -0.020 0.001 -0.167 + 0.153 -0.061 -0.050 -0.121 0.094 -0.029 -0.626 -0.486 0.042 0.029 + 0.201 0.176 0.616 0.344 -0.799 -0.288 -0.236 -0.148 0.126 -0.087 + 0.101 0.342 0.284 0.088 -0.207 -0.084 0.842 -0.661 0.595 0.220 + -0.140 0.036 -0.212 -0.373 0.149 -0.137 -0.081 0.028 0.023 -0.413 + 0.288 -0.943 0.415 -0.421 0.164 0.211 -0.042 -0.008 0.229 0.142 + 0.204 -0.114 -0.381 0.115 0.062 0.085 0.544 0.310 0.116 0.317 + 0.467 -0.287 -0.019 0.270 -0.010 -0.323 -0.752 -0.617 -0.233 -0.082 + -0.192 -0.154 -0.069 0.070 0.204 0.513 0.242 -0.015 0.130 0.999 + -0.505 -0.147 1.429 -0.237 -0.117 0.036 0.018 0.022 -0.092 0.218 + -0.355 -0.167 0.572 -0.084 -0.602 0.035 -0.380 0.125 0.043 0.027 + -0.277 -0.145 -0.006 0.279 -0.084 0.357 -1.411 -0.119 0.243 -0.415 + -0.152 0.124 -0.040 0.087 -0.125 -0.038 -0.617 -0.145 0.954 0.031 + 0.006 -0.053 -0.403 0.464 0.318 0.088 -0.186 -0.222 -0.020 -0.146 + -0.223 -0.082 -0.278 -0.171 -0.016 -0.173 -0.247 -0.432 0.189 0.166 + 0.096 -0.082 -0.149 0.030 0.018 -0.120 0.061 0.139 -0.128 0.303 + -0.247 0.306 0.010 -0.084 0.210 -0.145 -0.078 0.025 0.213 0.200 + 0.064 0.142 0.115 -0.066 0.941 -0.257 -0.346 0.164 0.019 -0.011 + 0.153 0.192 -0.076 0.211 0.045 0.155 -0.836 -0.117 0.071 0.029 + 0.140 -0.119 -0.067 0.144 -0.180 -0.232 0.500 -0.414 -0.048 0.799 + 0.239 -0.079 -0.263 -0.125 -0.360 -1.005 1.202 0.119 0.104 -0.067 + 0.139 -0.143 0.017 -0.098 0.195 0.115 -0.194 -0.259 -0.253 -0.202 + 0.031 0.052 -0.056 0.321 0.030 0.014 0.110 -0.035 -0.257 0.449 + -0.238 -0.180 -0.830 -0.633 -0.094 0.196 0.139 0.107 -0.131 -0.064 + 0.121 -0.212 -0.269 0.321 0.038 -0.085 0.069 -0.482 0.094 0.244 + 0.198 0.081 0.183 0.061 0.215 0.150 -0.633 -0.755 0.205 -0.227 + 0.120 0.040 -0.265 0.408 -0.041 0.054 0.012 0.110 -0.674 0.411 + 0.239 0.192 0.043 0.102 -0.129 -1.234 0.221 -0.192 -0.037 -0.037 + 0.087 0.023 -0.210 -0.199 0.061 0.157 0.071 0.008 -0.391 0.279 + 0.217 0.056 0.079 0.072 0.403 0.153 0.655 0.270 -0.068 0.305 + 1.333 -0.008 0.273 0.168 0.555 -0.521 0.194 -0.065 -0.381 -0.459 + -0.012 0.511 0.006 -0.165 0.081 0.025 0.063 -0.273 0.266 -0.175 + -0.364 0.307 0.207 0.024 0.096 -0.123 -0.063 -0.788 0.149 -0.151 + -0.034 -0.283 0.009 0.046 -0.269 0.015 0.580 0.659 0.353 -0.799 + 0.844 -0.039 -0.238 -0.984 0.277 -0.123 0.067 -0.122 -0.077 -0.103 + 0.082 0.130 0.220 0.051 -0.553 1.280 0.041 -0.155 0.119 -0.858 + -0.023 -0.145 -0.236 -0.245 -0.449 -1.103 0.281 0.079 0.502 -1.143 + -0.354 -1.435 0.019 -0.116 -0.182 -0.795 0.001 0.484 -0.182 -0.434 + -0.101 -0.432 -0.426 -1.040 0.191 -0.603 -0.098 -0.005 -0.084 -0.140 + 0.936 -0.309 -0.028 0.033 -0.085 0.286 -0.135 -0.161 0.193 -0.090 + 0.075 0.125 -0.679 1.046 -0.003 0.027 -0.062 0.137 -0.218 -0.164 + -0.449 0.080 0.145 0.009 0.016 0.240 0.017 -0.460 0.414 -0.230 + -0.048 0.132 0.040 0.284 0.158 -0.023 0.652 -0.398 -0.181 0.080 + -0.099 0.089 0.923 -0.463 0.434 -0.506 -0.095 -0.144 0.340 0.206 + -0.371 -0.053 0.921 0.241 0.081 0.168 0.327 -0.095 -0.945 -0.380 + 0.033 -0.008 -0.176 0.152 0.435 0.909 -0.097 -0.069 0.160 0.744 + 0.061 -0.227 0.395 0.204 -0.158 -0.170 0.080 -0.215 -0.004 0.001 + -0.105 0.172 0.059 -0.274 -0.271 0.861 -0.407 0.167 0.020 -0.160 + 0.084 0.269 -0.014 -0.029 0.122 0.035 0.097 -0.199 -0.356 0.123 + -0.329 -0.138 0.271 -0.139 0.164 0.336 0.291 -0.139 0.077 -0.207 + 0.087 -0.073 -0.039 0.179 0.570 -1.575 0.079 0.328 0.120 -0.005 + 0.134 0.067 -0.154 -0.056 0.279 0.169 -0.113 0.252 0.249 0.070 + 0.301 -0.160 -0.239 -0.239 0.869 0.059 0.241 -0.004 -0.217 -0.117 + 0.390 0.060 -0.891 -0.277 0.013 -0.087 -0.041 0.254 0.281 -0.331 + 0.383 0.303 -0.653 0.258 0.070 -0.182 0.205 -0.135 -0.438 0.037 + 0.022 -0.050 -0.097 0.109 -0.010 -0.034 0.473 -0.113 0.078 0.193 + -0.023 0.580 0.920 0.203 0.070 -0.014 0.412 -0.115 0.089 0.326 + -0.214 0.150 0.233 -0.518 0.213 0.407 -0.158 0.176 0.089 0.121 + 0.270 0.155 -0.045 0.204 -0.158 0.035 0.207 -0.043 -0.098 -0.653 + -1.465 0.036 -0.035 0.123 0.052 -0.107 -0.749 -0.159 0.135 0.028 + -0.513 -0.183 -0.301 -0.722 -0.123 0.588 0.040 0.140 0.179 0.729 + 0.027 0.263 0.533 0.090 0.220 0.013 -0.130 0.246 0.097 0.164 + -0.180 0.043 -0.098 -0.161 -0.147 0.015 0.030 -0.124 -0.181 0.113 + -0.204 0.030 -0.164 0.729 0.149 0.344 0.009 -0.062 0.017 -0.750 + 0.818 0.682 -0.077 0.036 0.019 0.347 -0.507 0.356 0.406 0.548 + 0.630 0.031 -0.091 0.311 0.086 -0.015 -0.241 0.091 0.278 0.371 + 0.270 0.214 -0.259 -0.567 -0.372 -0.185 0.118 -0.022 -0.006 -0.167 + 0.151 -0.058 -0.056 -0.122 0.079 -0.023 -0.617 -0.471 0.049 0.027 + 0.195 0.229 0.598 0.378 -0.812 -0.353 -0.229 -0.144 0.131 -0.081 + 0.105 0.344 0.289 0.084 -0.203 -0.080 0.886 -0.688 0.671 0.221 + -0.132 0.036 -0.261 -0.401 0.094 -0.127 -0.097 0.023 0.025 -0.373 + 0.253 -0.929 0.456 -0.448 0.150 0.214 -0.051 0.020 0.220 0.183 + 0.171 -0.098 -0.424 0.099 0.059 0.090 0.523 0.364 0.087 0.348 + 0.497 -0.345 -0.011 0.271 -0.010 -0.334 -0.726 -0.632 -0.220 -0.095 + -0.193 -0.165 -0.067 0.069 0.229 0.482 0.238 -0.072 0.086 1.028 + -0.501 -0.139 1.508 -0.247 -0.104 0.035 0.024 0.017 -0.078 0.220 + -0.353 -0.173 0.591 -0.130 -0.606 0.041 -0.383 0.127 0.039 0.052 + -0.299 -0.147 -0.011 0.264 -0.027 0.385 -1.494 -0.096 0.272 -0.440 + -0.152 0.125 -0.037 0.079 -0.131 -0.045 -0.688 -0.121 0.970 0.031 + 0.001 -0.040 -0.386 0.448 0.313 0.080 -0.178 -0.211 -0.032 -0.132 + -0.234 -0.091 -0.296 -0.197 -0.016 -0.166 -0.255 -0.493 0.223 0.218 + 0.091 -0.090 -0.148 0.030 -0.007 -0.097 0.050 0.146 -0.127 0.288 + -0.246 0.365 0.015 -0.087 0.208 -0.130 -0.070 0.035 0.221 0.200 + 0.071 0.140 0.119 -0.063 0.933 -0.262 -0.421 0.177 0.015 -0.016 + 0.156 0.171 -0.091 0.216 0.062 0.145 -0.843 -0.145 0.028 0.036 + 0.128 -0.120 -0.118 0.163 -0.196 -0.270 0.483 -0.445 -0.066 0.758 + 0.263 -0.073 -0.253 -0.122 -0.390 -1.012 1.227 0.126 0.094 -0.062 + 0.135 -0.137 0.018 -0.096 0.184 0.124 -0.156 -0.222 -0.253 -0.208 + 0.034 0.052 -0.118 0.319 0.016 0.017 0.103 -0.020 -0.305 0.504 + -0.287 -0.173 -0.838 -0.695 -0.089 0.200 0.135 0.101 -0.129 -0.060 + 0.131 -0.189 -0.291 0.307 0.037 -0.083 0.071 -0.495 0.052 0.235 + 0.202 0.085 0.176 0.064 0.210 0.154 -0.636 -0.752 0.198 -0.251 + 0.128 0.052 -0.208 0.407 -0.044 0.067 0.003 0.072 -0.657 0.401 + 0.237 0.183 0.039 0.138 -0.187 -1.258 0.231 -0.195 -0.016 -0.036 + 0.091 0.032 -0.213 -0.196 0.071 0.161 0.084 0.011 -0.435 0.256 + 0.204 0.056 0.076 0.070 0.336 0.137 0.717 0.267 -0.059 0.310 + 1.360 0.043 0.279 0.187 0.608 -0.548 0.202 -0.064 -0.382 -0.492 + 0.019 0.507 0.024 -0.157 0.115 0.027 0.062 -0.264 0.265 -0.189 + -0.347 0.362 0.236 0.040 0.102 -0.121 -0.064 -0.865 0.125 -0.131 + -0.054 -0.337 -0.018 0.056 -0.269 0.015 0.630 0.616 0.304 -0.782 + 0.873 -0.019 -0.249 -1.002 0.268 -0.135 0.070 -0.117 -0.076 -0.108 + 0.090 0.130 0.220 0.049 -0.565 1.252 0.079 -0.109 0.144 -0.863 + -0.023 -0.144 -0.241 -0.266 -0.474 -1.136 0.313 0.035 0.511 -1.158 + -0.331 -1.435 0.021 -0.099 -0.169 -0.843 -0.036 0.520 -0.176 -0.431 + -0.101 -0.464 -0.358 -1.067 0.178 -0.685 -0.101 0.003 -0.085 -0.150 + 0.944 -0.288 -0.061 0.035 -0.082 0.296 -0.144 -0.159 0.195 -0.088 + 0.069 0.116 -0.701 1.076 0.008 0.036 -0.059 0.129 -0.219 -0.174 + -0.495 0.073 0.135 0.009 0.009 0.231 0.008 -0.478 0.469 -0.286 + -0.043 0.131 0.044 0.291 0.140 -0.026 0.658 -0.435 -0.218 0.071 + -0.094 0.086 0.935 -0.460 0.383 -0.515 -0.099 -0.144 0.334 0.196 + -0.365 -0.028 0.963 0.271 0.081 0.172 0.329 -0.083 -0.873 -0.422 + 0.042 -0.031 -0.180 0.075 0.494 1.009 -0.100 -0.063 0.162 0.711 + 0.045 -0.190 0.398 0.213 -0.157 -0.169 0.071 -0.212 -0.002 0.006 + -0.101 0.170 0.061 -0.270 -0.271 0.867 -0.386 0.161 0.032 -0.150 + 0.052 0.243 -0.010 -0.035 0.123 0.035 0.137 -0.183 -0.393 0.124 + -0.323 -0.146 0.262 -0.108 0.165 0.372 0.238 -0.139 0.023 -0.190 + 0.112 -0.076 -0.036 0.172 0.601 -1.625 0.071 0.322 0.122 -0.010 + 0.141 0.054 -0.157 -0.065 0.280 0.168 -0.077 0.242 0.232 0.064 + 0.304 -0.156 -0.212 -0.242 0.911 0.073 0.245 -0.006 -0.189 -0.111 + 0.386 -0.023 -0.878 -0.286 0.013 -0.070 -0.029 0.271 0.278 -0.320 + 0.365 0.331 -0.631 0.275 0.071 -0.186 0.192 -0.135 -0.443 0.040 + 0.026 -0.056 -0.101 0.111 -0.014 -0.037 0.524 -0.090 0.076 0.196 + -0.027 0.609 0.940 0.241 0.062 -0.015 0.424 -0.117 0.056 0.281 + -0.221 0.153 0.232 -0.536 0.300 0.411 -0.167 0.166 0.085 0.127 + 0.271 0.167 -0.063 0.210 -0.145 0.034 0.210 -0.040 -0.128 -0.643 + -1.473 0.033 -0.039 0.132 0.093 -0.137 -0.775 -0.158 0.148 0.034 + -0.458 -0.199 -0.236 -0.787 -0.190 0.613 0.031 0.163 0.189 0.846 + -0.022 0.305 0.530 0.081 0.232 0.010 -0.132 0.244 0.093 0.154 + -0.177 0.043 -0.109 -0.159 -0.145 0.011 0.027 -0.132 -0.188 0.112 + -0.211 0.039 -0.161 0.793 0.143 0.343 0.005 -0.075 0.006 -0.745 + 0.853 0.714 -0.092 0.039 0.021 0.366 -0.546 0.359 0.418 0.538 + 0.678 0.026 -0.093 0.319 0.089 -0.021 -0.241 0.101 0.275 0.373 + 0.267 0.228 -0.247 -0.634 -0.376 -0.190 0.116 -0.029 -0.009 -0.150 + 0.149 -0.056 -0.057 -0.118 0.083 -0.044 -0.629 -0.529 0.056 0.031 + 0.192 0.266 0.628 0.386 -0.813 -0.382 -0.232 -0.128 0.135 -0.083 + 0.108 0.329 0.292 0.085 -0.199 -0.074 0.924 -0.678 0.733 0.220 + -0.133 0.039 -0.287 -0.401 0.079 -0.118 -0.107 0.033 0.019 -0.388 + 0.207 -0.846 0.516 -0.464 0.137 0.228 -0.038 0.038 0.202 0.187 + 0.113 -0.058 -0.459 0.087 0.049 0.111 0.558 0.415 0.075 0.350 + 0.535 -0.326 -0.007 0.274 -0.006 -0.305 -0.721 -0.686 -0.184 -0.106 + -0.150 -0.162 -0.053 0.057 0.221 0.463 0.218 -0.111 0.084 1.027 + -0.518 -0.145 1.588 -0.240 -0.107 0.026 0.031 0.008 -0.091 0.223 + -0.349 -0.171 0.546 -0.120 -0.592 0.029 -0.373 0.120 -0.030 0.037 + -0.342 -0.152 -0.016 0.247 0.024 0.423 -1.529 -0.116 0.263 -0.427 + -0.148 0.132 -0.040 0.069 -0.141 -0.054 -0.697 -0.139 0.994 0.043 + 0.013 -0.039 -0.390 0.472 0.278 0.080 -0.181 -0.203 -0.040 -0.120 + -0.235 -0.096 -0.292 -0.178 -0.022 -0.158 -0.268 -0.584 0.191 0.269 + 0.102 -0.079 -0.147 -0.016 -0.024 -0.090 0.043 0.152 -0.142 0.274 + -0.269 0.395 0.011 -0.095 0.200 -0.132 -0.067 0.052 0.212 0.204 + 0.059 0.132 0.124 -0.057 0.963 -0.283 -0.399 0.166 0.024 -0.020 + 0.149 0.199 -0.107 0.219 0.059 0.138 -0.835 -0.202 0.028 0.034 + 0.129 -0.111 -0.142 0.143 -0.168 -0.272 0.464 -0.407 -0.111 0.750 + 0.264 -0.077 -0.250 -0.127 -0.388 -1.005 1.252 0.127 0.094 -0.048 + 0.130 -0.130 0.006 -0.097 0.173 0.120 -0.150 -0.174 -0.268 -0.209 + 0.029 0.056 -0.099 0.329 0.033 0.008 0.113 -0.014 -0.283 0.537 + -0.354 -0.128 -0.873 -0.740 -0.074 0.206 0.137 0.095 -0.136 -0.068 + 0.093 -0.172 -0.297 0.304 0.035 -0.087 0.066 -0.469 0.038 0.235 + 0.208 0.085 0.184 0.061 0.202 0.214 -0.659 -0.747 0.204 -0.273 + 0.116 0.063 -0.171 0.454 -0.038 0.067 -0.007 0.107 -0.641 0.355 + 0.235 0.183 0.034 0.129 -0.119 -1.284 0.234 -0.201 -0.012 -0.035 + 0.092 0.033 -0.207 -0.191 0.069 0.142 0.091 0.007 -0.453 0.269 + 0.203 0.045 0.077 0.064 0.304 0.147 0.777 0.279 -0.060 0.321 + 1.384 0.060 0.281 0.116 0.620 -0.608 0.218 -0.068 -0.375 -0.544 + 0.051 0.481 0.047 -0.188 0.174 0.029 0.055 -0.275 0.278 -0.195 + -0.351 0.424 0.259 -0.011 0.103 -0.116 -0.065 -0.892 0.107 -0.106 + -0.095 -0.357 -0.051 0.063 -0.268 0.024 0.622 0.624 0.325 -0.798 + 0.942 0.014 -0.249 -1.002 0.237 -0.132 0.080 -0.105 -0.067 -0.110 + 0.087 0.127 0.220 0.046 -0.547 1.277 0.076 -0.084 0.121 -0.897 + -0.017 -0.149 -0.243 -0.310 -0.492 -1.160 0.319 0.010 0.498 -1.175 + -0.260 -1.521 -0.002 -0.095 -0.172 -0.908 -0.107 0.561 -0.171 -0.438 + -0.096 -0.469 -0.323 -1.086 0.184 -0.729 -0.112 0.007 -0.079 -0.152 + 0.914 -0.274 -0.031 0.046 -0.092 0.275 -0.140 -0.162 0.207 -0.100 + 0.067 0.120 -0.709 1.111 -0.018 0.033 -0.055 0.139 -0.205 -0.179 + -0.498 0.068 0.132 0.015 0.031 0.238 0.006 -0.555 0.598 -0.328 + -0.042 0.137 0.055 0.293 0.139 -0.020 0.661 -0.484 -0.247 0.082 + -0.088 0.090 0.978 -0.427 0.372 -0.512 -0.094 -0.147 0.319 0.203 + -0.368 0.015 0.995 0.302 0.093 0.171 0.330 -0.101 -0.864 -0.461 + 0.045 -0.041 -0.185 0.027 0.531 1.068 -0.091 -0.065 0.165 0.704 + 0.054 -0.176 0.402 0.209 -0.146 -0.176 0.075 -0.213 -0.007 0.001 + -0.101 0.171 0.060 -0.275 -0.294 0.838 -0.411 0.155 0.032 -0.166 + 0.025 0.253 -0.004 -0.040 0.124 0.044 0.140 -0.201 -0.395 0.123 + -0.331 -0.137 0.254 -0.121 0.167 0.374 0.231 -0.133 0.015 -0.189 + 0.117 -0.081 -0.035 0.169 0.620 -1.685 0.111 0.324 0.121 -0.025 + 0.143 0.058 -0.151 -0.066 0.290 0.169 -0.061 0.211 0.285 0.059 + 0.296 -0.164 -0.228 -0.233 0.970 0.079 0.247 -0.020 -0.146 -0.105 + 0.417 -0.056 -0.932 -0.291 0.017 -0.067 -0.041 0.275 0.274 -0.319 + 0.351 0.326 -0.630 0.258 0.063 -0.179 0.211 -0.126 -0.397 0.028 + 0.031 -0.037 -0.103 0.099 -0.018 0.004 0.498 -0.088 0.069 0.195 + -0.026 0.607 0.988 0.237 0.061 -0.017 0.418 -0.130 0.068 0.257 + -0.224 0.158 0.223 -0.510 0.332 0.444 -0.173 0.174 0.092 0.128 + 0.269 0.163 -0.063 0.205 -0.144 0.049 0.203 -0.045 -0.121 -0.668 + -1.466 0.024 -0.040 0.137 0.090 -0.176 -0.818 -0.144 0.157 0.037 + -0.454 -0.189 -0.234 -0.821 -0.226 0.620 0.031 0.173 0.182 0.957 + -0.100 0.311 0.515 0.096 0.229 0.005 -0.135 0.234 0.090 0.150 + -0.179 0.039 -0.114 -0.162 -0.133 0.008 0.031 -0.130 -0.185 0.117 + -0.217 0.030 -0.157 0.798 0.174 0.377 -0.005 -0.082 0.005 -0.777 + 0.910 0.742 -0.089 0.025 0.022 0.349 -0.615 0.346 0.418 0.576 + 0.706 0.027 -0.090 0.329 0.082 -0.018 -0.250 0.108 0.273 0.373 + 0.233 0.196 -0.228 -0.604 -0.359 -0.161 0.109 -0.034 -0.001 -0.154 + 0.143 -0.051 -0.055 -0.112 0.072 -0.049 -0.634 -0.540 0.058 0.029 + 0.192 0.251 0.615 0.380 -0.867 -0.407 -0.280 -0.129 0.139 -0.091 + 0.110 0.326 0.278 0.079 -0.201 -0.076 0.993 -0.717 0.769 0.228 + -0.115 0.038 -0.334 -0.419 0.077 -0.114 -0.114 0.041 0.054 -0.366 + 0.193 -0.819 0.561 -0.425 0.136 0.239 -0.034 0.017 0.195 0.141 + 0.053 -0.093 -0.491 0.090 0.049 0.132 0.586 0.440 0.018 0.369 + 0.544 -0.326 0.005 0.280 -0.012 -0.309 -0.795 -0.717 -0.134 -0.093 + -0.096 -0.160 -0.063 0.048 0.182 0.430 0.241 -0.136 0.064 1.039 + -0.502 -0.149 1.608 -0.234 -0.098 0.037 0.036 -0.007 -0.087 0.221 + -0.349 -0.178 0.520 -0.095 -0.573 0.028 -0.374 0.121 -0.046 0.067 + -0.352 -0.153 -0.026 0.250 0.081 0.402 -1.588 -0.126 0.317 -0.431 + -0.147 0.127 -0.047 0.061 -0.142 -0.067 -0.722 -0.139 1.031 0.049 + 0.007 -0.052 -0.402 0.427 0.248 0.078 -0.179 -0.197 -0.053 -0.119 + -0.229 -0.136 -0.306 -0.127 -0.020 -0.153 -0.270 -0.638 0.155 0.304 + 0.108 -0.078 -0.144 -0.002 -0.020 -0.060 0.046 0.149 -0.140 0.307 + -0.274 0.444 0.014 -0.095 0.203 -0.133 -0.070 0.058 0.219 0.199 + 0.055 0.127 0.128 -0.056 1.042 -0.306 -0.455 0.163 0.037 -0.020 + 0.123 0.218 -0.142 0.226 0.055 0.128 -0.837 -0.224 0.030 0.042 + 0.118 -0.114 -0.137 0.137 -0.162 -0.250 0.426 -0.459 -0.119 0.761 + 0.259 -0.071 -0.253 -0.130 -0.415 -0.999 1.284 0.133 0.094 -0.043 + 0.130 -0.140 0.006 -0.082 0.173 0.123 -0.141 -0.170 -0.233 -0.192 + 0.021 0.056 -0.106 0.314 0.060 0.014 0.113 -0.004 -0.297 0.587 + -0.360 -0.108 -0.867 -0.785 -0.070 0.207 0.133 0.096 -0.133 -0.070 + 0.076 -0.172 -0.337 0.311 0.034 -0.080 0.035 -0.477 0.018 0.229 + 0.210 0.104 0.169 0.057 0.208 0.214 -0.685 -0.750 0.212 -0.287 + 0.111 0.008 -0.131 0.474 -0.032 0.066 -0.013 0.131 -0.608 0.319 + 0.238 0.182 0.043 0.143 -0.097 -1.297 0.217 -0.196 -0.013 -0.050 + 0.083 0.037 -0.201 -0.192 0.073 0.142 0.095 0.003 -0.463 0.237 + 0.190 0.034 0.080 0.073 0.259 0.134 0.828 0.288 -0.052 0.315 + 1.427 0.061 0.285 0.073 0.655 -0.610 0.221 -0.081 -0.372 -0.601 + 0.059 0.487 0.062 -0.176 0.190 0.031 0.068 -0.281 0.256 -0.214 + -0.360 0.461 0.284 -0.038 0.101 -0.102 -0.069 -0.975 0.097 -0.099 + -0.127 -0.376 -0.105 0.076 -0.250 0.022 0.626 0.608 0.322 -0.775 + 0.996 -0.020 -0.234 -1.008 0.218 -0.136 0.087 -0.104 -0.071 -0.118 + 0.079 0.136 0.215 0.055 -0.562 1.297 0.112 -0.130 0.088 -0.964 + -0.018 -0.145 -0.246 -0.294 -0.520 -1.178 0.386 0.008 0.547 -1.190 + -0.228 -1.541 0.001 -0.099 -0.164 -0.911 -0.128 0.622 -0.164 -0.435 + -0.082 -0.464 -0.314 -1.113 0.165 -0.738 -0.128 0.013 -0.065 -0.151 + 0.895 -0.301 -0.073 0.043 -0.091 0.275 -0.140 -0.163 0.206 -0.094 + 0.069 0.121 -0.738 1.166 -0.040 0.043 -0.056 0.136 -0.234 -0.171 + -0.520 0.058 0.141 0.008 0.045 0.259 0.016 -0.557 0.674 -0.344 + -0.045 0.134 0.049 0.281 0.134 -0.020 0.679 -0.465 -0.314 0.087 + -0.083 0.095 0.993 -0.421 0.383 -0.518 -0.100 -0.149 0.315 0.210 + -0.373 0.052 0.991 0.377 0.084 0.178 0.332 -0.102 -0.853 -0.470 + 0.056 -0.053 -0.184 0.017 0.551 1.058 -0.085 -0.060 0.162 0.688 + 0.076 -0.190 0.404 0.211 -0.145 -0.169 0.081 -0.196 -0.001 -0.000 + -0.100 0.156 0.065 -0.275 -0.289 0.808 -0.368 0.157 0.034 -0.152 + -0.040 0.279 -0.013 -0.047 0.130 0.038 0.213 -0.214 -0.439 0.125 + -0.331 -0.141 0.256 -0.095 0.188 0.426 0.285 -0.099 -0.036 -0.236 + 0.125 -0.088 -0.039 0.162 0.634 -1.718 0.158 0.331 0.120 -0.020 + 0.144 0.064 -0.146 -0.069 0.299 0.170 -0.075 0.165 0.272 0.048 + 0.291 -0.161 -0.191 -0.271 0.993 0.093 0.244 -0.012 -0.159 -0.077 + 0.421 -0.079 -0.894 -0.267 0.016 -0.076 -0.035 0.266 0.278 -0.299 + 0.322 0.354 -0.638 0.259 0.068 -0.182 0.209 -0.163 -0.382 0.036 + 0.029 -0.020 -0.096 0.097 -0.022 0.006 0.446 -0.102 0.064 0.181 + -0.021 0.640 0.982 0.241 0.083 -0.016 0.413 -0.163 0.055 0.197 + -0.225 0.165 0.237 -0.523 0.389 0.454 -0.160 0.175 0.091 0.120 + 0.275 0.176 -0.064 0.207 -0.141 0.044 0.192 -0.047 -0.098 -0.661 + -1.521 0.027 -0.040 0.125 0.148 -0.214 -0.861 -0.137 0.150 0.045 + -0.462 -0.170 -0.239 -0.877 -0.212 0.603 0.025 0.184 0.176 1.031 + -0.195 0.300 0.544 0.114 0.229 -0.002 -0.145 0.244 0.090 0.155 + -0.179 0.051 -0.118 -0.164 -0.137 0.001 0.027 -0.139 -0.184 0.124 + -0.220 0.025 -0.162 0.770 0.139 0.391 -0.006 -0.086 0.005 -0.751 + 0.932 0.728 -0.093 0.025 0.018 0.304 -0.625 0.377 0.430 0.563 + 0.696 0.025 -0.071 0.338 0.076 -0.023 -0.246 0.110 0.276 0.374 + 0.211 0.205 -0.194 -0.605 -0.334 -0.172 0.114 -0.042 0.009 -0.158 + 0.131 -0.047 -0.057 -0.110 0.075 -0.044 -0.679 -0.567 0.059 0.029 + 0.183 0.213 0.639 0.380 -0.883 -0.423 -0.251 -0.139 0.134 -0.090 + 0.108 0.322 0.276 0.085 -0.217 -0.073 1.028 -0.776 0.836 0.235 + -0.118 0.028 -0.353 -0.396 0.101 -0.123 -0.128 0.033 0.109 -0.386 + 0.175 -0.818 0.627 -0.426 0.135 0.244 -0.025 0.012 0.190 0.103 + 0.026 -0.087 -0.522 0.089 0.043 0.139 0.581 0.489 -0.027 0.392 + 0.539 -0.322 0.016 0.280 -0.011 -0.350 -0.788 -0.751 -0.144 -0.126 + -0.071 -0.157 -0.065 0.058 0.168 0.414 0.221 -0.135 0.042 1.043 + -0.463 -0.194 1.628 -0.236 -0.107 0.045 0.041 -0.014 -0.089 0.205 + -0.344 -0.177 0.535 -0.102 -0.564 0.024 -0.366 0.124 -0.083 0.109 + -0.370 -0.161 -0.033 0.252 0.094 0.436 -1.612 -0.126 0.302 -0.421 + -0.153 0.116 -0.045 0.048 -0.157 -0.071 -0.730 -0.113 1.055 0.056 + 0.009 -0.050 -0.426 0.416 0.229 0.073 -0.176 -0.203 -0.070 -0.107 + -0.225 -0.140 -0.320 -0.114 -0.021 -0.148 -0.262 -0.675 0.138 0.315 + 0.116 -0.084 -0.137 -0.010 -0.032 -0.061 0.045 0.149 -0.147 0.329 + -0.283 0.461 0.004 -0.108 0.206 -0.126 -0.070 0.054 0.212 0.205 + 0.056 0.123 0.123 -0.071 1.074 -0.307 -0.477 0.162 0.036 -0.026 + 0.115 0.237 -0.166 0.222 0.059 0.126 -0.868 -0.232 -0.005 0.036 + 0.126 -0.109 -0.146 0.113 -0.144 -0.234 0.417 -0.446 -0.170 0.759 + 0.301 -0.068 -0.242 -0.121 -0.420 -1.020 1.318 0.120 0.092 -0.039 + 0.136 -0.130 0.003 -0.089 0.162 0.119 -0.116 -0.187 -0.241 -0.194 + 0.017 0.048 -0.124 0.322 0.088 0.026 0.113 0.023 -0.326 0.595 + -0.379 -0.096 -0.942 -0.813 -0.079 0.206 0.144 0.082 -0.139 -0.080 + 0.056 -0.167 -0.326 0.294 0.024 -0.065 0.024 -0.507 0.011 0.239 + 0.215 0.103 0.170 0.062 0.219 0.245 -0.695 -0.730 0.219 -0.289 + 0.107 -0.045 -0.138 0.530 -0.034 0.081 -0.021 0.160 -0.622 0.332 + 0.233 0.197 0.044 0.113 -0.105 -1.312 0.221 -0.209 -0.004 -0.040 + 0.080 0.037 -0.195 -0.181 0.072 0.139 0.093 0.000 -0.507 0.217 + 0.170 0.034 0.081 0.077 0.252 0.101 0.910 0.282 -0.043 0.322 + 1.489 0.059 0.276 0.045 0.713 -0.650 0.236 -0.082 -0.364 -0.673 + 0.071 0.512 0.098 -0.168 0.199 0.040 0.063 -0.281 0.236 -0.235 + -0.339 0.493 0.317 -0.047 0.104 -0.099 -0.067 -1.022 0.041 -0.054 + -0.151 -0.404 -0.147 0.070 -0.262 0.016 0.612 0.607 0.307 -0.760 + 1.001 -0.042 -0.188 -1.004 0.183 -0.131 0.083 -0.103 -0.064 -0.114 + 0.083 0.139 0.203 0.054 -0.557 1.299 0.184 -0.126 0.038 -0.994 + -0.010 -0.137 -0.247 -0.295 -0.563 -1.189 0.429 0.005 0.560 -1.206 + -0.166 -1.588 -0.017 -0.111 -0.153 -0.958 -0.143 0.605 -0.161 -0.425 + -0.068 -0.529 -0.244 -1.096 0.197 -0.712 -0.177 0.012 -0.066 -0.148 + 0.856 -0.330 -0.093 0.050 -0.098 0.269 -0.132 -0.147 0.202 -0.092 + 0.069 0.113 -0.733 1.181 -0.019 0.067 -0.061 0.146 -0.197 -0.143 + -0.522 0.068 0.152 0.012 0.044 0.223 0.012 -0.563 0.769 -0.426 + -0.035 0.131 0.042 0.292 0.134 -0.007 0.708 -0.430 -0.338 0.086 + -0.082 0.087 0.948 -0.382 0.379 -0.518 -0.099 -0.153 0.312 0.206 + -0.369 0.073 1.036 0.436 0.091 0.177 0.343 -0.071 -0.836 -0.526 + 0.065 -0.050 -0.191 -0.032 0.605 1.119 -0.079 -0.065 0.172 0.733 + 0.034 -0.199 0.388 0.213 -0.144 -0.165 0.078 -0.194 -0.002 0.004 + -0.104 0.155 0.067 -0.276 -0.247 0.817 -0.385 0.147 0.043 -0.140 + -0.037 0.276 -0.005 -0.047 0.129 0.040 0.272 -0.239 -0.458 0.124 + -0.335 -0.138 0.255 -0.082 0.190 0.438 0.285 -0.092 0.001 -0.219 + 0.126 -0.092 -0.055 0.156 0.648 -1.738 0.157 0.340 0.111 -0.029 + 0.156 0.056 -0.145 -0.073 0.303 0.169 -0.063 0.136 0.246 0.046 + 0.293 -0.159 -0.180 -0.289 0.984 0.093 0.229 -0.005 -0.138 -0.074 + 0.435 -0.110 -0.941 -0.262 0.019 -0.091 -0.029 0.262 0.275 -0.296 + 0.321 0.388 -0.640 0.261 0.070 -0.180 0.196 -0.178 -0.344 0.029 + 0.023 -0.014 -0.100 0.093 -0.017 0.013 0.451 -0.104 0.066 0.176 + -0.013 0.619 0.985 0.285 0.079 -0.023 0.422 -0.107 0.004 0.210 + -0.222 0.169 0.234 -0.506 0.399 0.458 -0.178 0.165 0.081 0.120 + 0.275 0.166 -0.052 0.199 -0.135 0.039 0.191 -0.033 -0.102 -0.639 + -1.549 0.031 -0.026 0.133 0.147 -0.213 -0.881 -0.131 0.152 0.046 + -0.431 -0.144 -0.201 -0.967 -0.223 0.543 0.018 0.189 0.171 1.120 + -0.276 0.276 0.565 0.084 0.258 0.006 -0.132 0.242 0.085 0.155 + -0.176 0.058 -0.113 -0.164 -0.142 -0.002 0.024 -0.148 -0.180 0.129 + -0.226 0.027 -0.163 0.757 0.152 0.438 -0.009 -0.098 0.008 -0.774 + 0.972 0.708 -0.089 0.019 0.015 0.313 -0.641 0.382 0.467 0.600 + 0.723 0.030 -0.074 0.346 0.078 -0.019 -0.236 0.110 0.282 0.372 + 0.185 0.206 -0.218 -0.623 -0.314 -0.186 0.115 -0.049 0.000 -0.164 + 0.133 -0.051 -0.058 -0.103 0.077 -0.055 -0.694 -0.594 0.061 0.029 + 0.179 0.196 0.639 0.427 -0.867 -0.489 -0.243 -0.144 0.134 -0.083 + 0.108 0.320 0.268 0.090 -0.218 -0.075 1.070 -0.780 0.817 0.256 + -0.112 0.028 -0.327 -0.376 0.045 -0.115 -0.143 0.046 0.077 -0.356 + 0.135 -0.791 0.681 -0.459 0.129 0.252 -0.023 0.037 0.167 0.133 + -0.037 -0.102 -0.570 0.087 0.030 0.143 0.606 0.508 -0.043 0.421 + 0.528 -0.332 0.022 0.284 -0.005 -0.331 -0.801 -0.727 -0.107 -0.144 + -0.093 -0.163 -0.077 0.050 0.173 0.479 0.227 -0.123 0.014 1.061 + -0.462 -0.193 1.687 -0.222 -0.098 0.040 0.045 -0.014 -0.081 0.197 + -0.355 -0.186 0.516 -0.128 -0.589 0.041 -0.356 0.127 -0.086 0.124 + -0.368 -0.166 -0.047 0.249 0.141 0.489 -1.645 -0.135 0.321 -0.428 + -0.164 0.111 -0.037 0.053 -0.158 -0.082 -0.735 -0.110 1.091 0.062 + 0.003 -0.048 -0.458 0.437 0.247 0.067 -0.181 -0.197 -0.072 -0.106 + -0.230 -0.156 -0.308 -0.086 -0.028 -0.153 -0.270 -0.723 0.158 0.329 + 0.120 -0.069 -0.124 -0.078 -0.022 -0.083 0.041 0.149 -0.151 0.329 + -0.296 0.498 0.009 -0.107 0.215 -0.126 -0.065 0.058 0.221 0.195 + 0.048 0.114 0.112 -0.072 1.069 -0.269 -0.496 0.161 0.037 -0.024 + 0.092 0.218 -0.144 0.220 0.061 0.130 -0.894 -0.238 -0.039 0.038 + 0.132 -0.122 -0.194 0.101 -0.127 -0.278 0.428 -0.465 -0.214 0.762 + 0.348 -0.066 -0.243 -0.127 -0.440 -1.016 1.349 0.123 0.095 -0.049 + 0.131 -0.135 0.014 -0.094 0.155 0.114 -0.105 -0.152 -0.273 -0.197 + 0.021 0.045 -0.100 0.339 0.093 0.027 0.108 0.023 -0.329 0.646 + -0.431 -0.088 -0.996 -0.885 -0.085 0.200 0.149 0.081 -0.142 -0.077 + 0.054 -0.160 -0.327 0.304 0.029 -0.076 0.063 -0.533 0.020 0.236 + 0.204 0.104 0.168 0.060 0.217 0.349 -0.674 -0.771 0.217 -0.304 + 0.098 -0.084 -0.087 0.563 -0.043 0.081 -0.027 0.195 -0.589 0.355 + 0.220 0.199 0.050 0.113 -0.090 -1.327 0.215 -0.205 0.001 -0.033 + 0.074 0.038 -0.188 -0.184 0.070 0.150 0.095 -0.001 -0.480 0.267 + 0.173 0.040 0.089 0.066 0.229 0.075 0.966 0.285 -0.042 0.339 + 1.488 0.062 0.283 -0.011 0.734 -0.669 0.240 -0.090 -0.358 -0.745 + 0.104 0.462 0.118 -0.160 0.193 0.046 0.070 -0.284 0.194 -0.224 + -0.343 0.550 0.384 -0.048 0.104 -0.103 -0.067 -1.090 0.026 -0.042 + -0.195 -0.440 -0.212 0.076 -0.269 0.026 0.647 0.538 0.300 -0.774 + 1.047 -0.024 -0.200 -1.038 0.162 -0.128 0.081 -0.110 -0.056 -0.121 + 0.079 0.136 0.212 0.048 -0.522 1.261 0.204 -0.134 0.022 -1.010 + -0.014 -0.140 -0.249 -0.296 -0.579 -1.220 0.495 -0.009 0.624 -1.235 + -0.139 -1.592 -0.022 -0.110 -0.153 -0.989 -0.175 0.598 -0.160 -0.431 + -0.064 -0.527 -0.173 -1.124 0.168 -0.721 -0.253 0.009 -0.068 -0.154 + 0.844 -0.321 -0.099 0.048 -0.104 0.274 -0.134 -0.147 0.211 -0.097 + 0.069 0.108 -0.730 1.190 0.028 0.062 -0.055 0.159 -0.160 -0.150 + -0.538 0.075 0.148 0.005 0.046 0.203 -0.030 -0.573 0.851 -0.490 + -0.027 0.128 0.032 0.286 0.127 -0.013 0.755 -0.437 -0.353 0.087 + -0.078 0.098 0.972 -0.359 0.339 -0.515 -0.111 -0.160 0.300 0.198 + -0.374 0.113 1.062 0.484 0.093 0.177 0.339 0.018 -0.781 -0.572 + 0.075 -0.053 -0.204 0.012 0.644 1.181 -0.080 -0.060 0.177 0.699 + 0.059 -0.205 0.365 0.215 -0.142 -0.167 0.068 -0.194 -0.003 0.006 + -0.102 0.159 0.071 -0.266 -0.255 0.803 -0.415 0.139 0.043 -0.136 + -0.047 0.286 0.009 -0.051 0.123 0.049 0.327 -0.261 -0.475 0.121 + -0.326 -0.142 0.259 -0.015 0.210 0.424 0.320 -0.091 0.033 -0.252 + 0.117 -0.089 -0.055 0.151 0.652 -1.763 0.175 0.350 0.110 -0.028 + 0.172 0.047 -0.148 -0.076 0.302 0.175 -0.009 0.143 0.227 0.042 + 0.297 -0.160 -0.158 -0.296 1.079 0.103 0.228 -0.016 -0.154 -0.048 + 0.445 -0.191 -0.951 -0.257 0.015 -0.095 -0.033 0.262 0.275 -0.297 + 0.316 0.447 -0.687 0.253 0.075 -0.188 0.180 -0.221 -0.313 0.022 + 0.017 -0.009 -0.091 0.087 -0.023 0.026 0.437 -0.083 0.064 0.186 + -0.010 0.672 0.997 0.291 0.088 -0.023 0.427 -0.098 0.032 0.225 + -0.210 0.161 0.230 -0.479 0.446 0.421 -0.195 0.165 0.070 0.125 + 0.284 0.175 -0.058 0.200 -0.147 0.037 0.196 -0.044 -0.147 -0.662 + -1.537 0.030 -0.026 0.145 0.167 -0.238 -0.881 -0.133 0.156 0.037 + -0.429 -0.111 -0.185 -0.987 -0.228 0.534 0.001 0.198 0.162 1.171 + -0.361 0.305 0.563 0.044 0.238 0.018 -0.145 0.242 0.080 0.161 + -0.175 0.060 -0.110 -0.166 -0.151 -0.001 0.025 -0.140 -0.185 0.133 + -0.229 0.027 -0.159 0.803 0.164 0.439 -0.004 -0.087 0.006 -0.771 + 0.995 0.702 -0.092 0.014 0.001 0.323 -0.714 0.380 0.510 0.579 + 0.715 0.029 -0.075 0.343 0.065 -0.009 -0.244 0.111 0.279 0.375 + 0.192 0.208 -0.175 -0.648 -0.292 -0.212 0.123 -0.055 -0.017 -0.177 + 0.129 -0.060 -0.072 -0.106 0.080 -0.043 -0.642 -0.567 0.058 0.041 + 0.186 0.199 0.610 0.489 -0.902 -0.516 -0.284 -0.139 0.136 -0.090 + 0.103 0.319 0.271 0.078 -0.216 -0.067 1.118 -0.834 0.816 0.239 + -0.116 0.016 -0.327 -0.378 0.051 -0.111 -0.151 0.048 0.080 -0.355 + 0.117 -0.754 0.718 -0.456 0.119 0.260 -0.027 0.040 0.175 0.164 + -0.065 -0.087 -0.613 0.079 0.029 0.146 0.608 0.554 -0.093 0.438 + 0.509 -0.321 0.021 0.280 0.003 -0.301 -0.820 -0.714 -0.086 -0.157 + -0.085 -0.165 -0.080 0.035 0.147 0.454 0.215 -0.119 0.064 1.083 + -0.446 -0.172 1.723 -0.221 -0.089 0.049 0.058 -0.016 -0.080 0.193 + -0.356 -0.200 0.530 -0.135 -0.579 0.041 -0.359 0.120 -0.151 0.125 + -0.391 -0.157 -0.056 0.250 0.186 0.498 -1.665 -0.125 0.358 -0.444 + -0.170 0.102 -0.047 0.058 -0.144 -0.081 -0.765 -0.144 1.048 0.069 + -0.001 -0.051 -0.486 0.425 0.226 0.067 -0.190 -0.192 -0.073 -0.103 + -0.243 -0.185 -0.371 -0.073 -0.029 -0.151 -0.268 -0.746 0.120 0.375 + 0.118 -0.077 -0.123 -0.087 -0.049 -0.103 0.039 0.130 -0.147 0.324 + -0.294 0.564 0.014 -0.092 0.223 -0.122 -0.063 0.060 0.228 0.194 + 0.056 0.100 0.113 -0.079 1.076 -0.243 -0.501 0.158 0.033 -0.030 + 0.091 0.194 -0.133 0.214 0.062 0.124 -0.875 -0.235 -0.035 0.044 + 0.128 -0.128 -0.239 0.068 -0.113 -0.278 0.417 -0.502 -0.234 0.742 + 0.375 -0.063 -0.237 -0.127 -0.466 -1.011 1.373 0.117 0.104 -0.044 + 0.134 -0.132 0.006 -0.091 0.162 0.114 -0.128 -0.159 -0.306 -0.204 + 0.025 0.043 -0.077 0.333 0.063 0.036 0.105 0.042 -0.359 0.642 + -0.469 -0.112 -1.026 -0.955 -0.076 0.206 0.146 0.078 -0.141 -0.087 + 0.039 -0.177 -0.343 0.294 0.031 -0.081 0.042 -0.499 -0.010 0.237 + 0.190 0.112 0.167 0.061 0.195 0.381 -0.696 -0.764 0.229 -0.300 + 0.094 -0.120 -0.079 0.590 -0.042 0.092 -0.035 0.192 -0.576 0.343 + 0.219 0.197 0.039 0.108 -0.120 -1.324 0.213 -0.197 -0.009 -0.021 + 0.075 0.037 -0.191 -0.179 0.072 0.158 0.083 0.004 -0.469 0.282 + 0.198 0.042 0.097 0.074 0.242 0.118 0.972 0.283 -0.023 0.348 + 1.507 0.076 0.281 -0.061 0.779 -0.716 0.245 -0.095 -0.360 -0.780 + 0.158 0.467 0.134 -0.171 0.181 0.037 0.066 -0.293 0.172 -0.243 + -0.333 0.601 0.430 -0.053 0.094 -0.099 -0.071 -1.128 0.037 -0.007 + -0.191 -0.464 -0.235 0.090 -0.267 0.030 0.632 0.516 0.240 -0.782 + 1.081 -0.051 -0.222 -1.055 0.152 -0.122 0.088 -0.101 -0.049 -0.123 + 0.080 0.138 0.198 0.051 -0.484 1.295 0.191 -0.129 -0.021 -0.966 + -0.012 -0.147 -0.244 -0.318 -0.606 -1.260 0.518 -0.062 0.619 -1.234 + -0.098 -1.580 -0.030 -0.107 -0.144 -0.994 -0.196 0.627 -0.147 -0.428 + -0.050 -0.586 -0.100 -1.121 0.145 -0.718 -0.276 0.019 -0.063 -0.169 + 0.802 -0.278 -0.117 0.056 -0.104 0.269 -0.135 -0.143 0.220 -0.099 + 0.063 0.104 -0.706 1.198 0.063 0.089 -0.057 0.175 -0.191 -0.169 + -0.561 0.064 0.142 -0.003 0.012 0.183 -0.026 -0.560 0.924 -0.532 + -0.021 0.132 0.029 0.290 0.134 -0.012 0.820 -0.427 -0.345 0.094 + -0.085 0.089 0.996 -0.361 0.316 -0.518 -0.113 -0.164 0.294 0.192 + -0.383 0.152 1.086 0.518 0.107 0.182 0.344 0.020 -0.738 -0.646 + 0.083 -0.058 -0.222 0.018 0.681 1.212 -0.069 -0.066 0.173 0.643 + 0.058 -0.185 0.360 0.220 -0.134 -0.165 0.068 -0.194 -0.006 0.013 + -0.104 0.156 0.068 -0.271 -0.239 0.785 -0.394 0.153 0.056 -0.131 + -0.047 0.263 0.023 -0.062 0.120 0.043 0.343 -0.293 -0.520 0.116 + -0.328 -0.135 0.248 0.003 0.252 0.452 0.349 -0.019 0.074 -0.259 + 0.141 -0.090 -0.065 0.147 0.740 -1.811 0.232 0.335 0.104 -0.030 + 0.175 0.049 -0.151 -0.079 0.305 0.174 -0.014 0.126 0.217 0.050 + 0.298 -0.171 -0.178 -0.285 1.073 0.103 0.217 -0.029 -0.087 -0.029 + 0.488 -0.181 -0.958 -0.253 0.007 -0.093 -0.028 0.266 0.269 -0.290 + 0.331 0.497 -0.700 0.266 0.061 -0.187 0.112 -0.219 -0.336 0.015 + 0.022 -0.012 -0.086 0.070 -0.031 -0.033 0.453 -0.095 0.059 0.193 + -0.003 0.728 1.013 0.329 0.083 -0.015 0.438 -0.079 0.072 0.203 + -0.219 0.157 0.227 -0.447 0.488 0.448 -0.193 0.162 0.070 0.122 + 0.275 0.185 -0.062 0.202 -0.145 0.039 0.201 -0.046 -0.109 -0.657 + -1.588 0.029 -0.016 0.149 0.170 -0.197 -0.894 -0.127 0.165 0.037 + -0.456 -0.064 -0.165 -1.000 -0.254 0.540 -0.004 0.202 0.169 1.243 + -0.429 0.322 0.550 0.064 0.244 0.014 -0.146 0.244 0.084 0.161 + -0.177 0.058 -0.121 -0.169 -0.156 -0.007 0.024 -0.154 -0.178 0.131 + -0.236 0.030 -0.168 0.809 0.168 0.415 0.003 -0.085 0.001 -0.781 + 1.007 0.717 -0.093 0.017 0.008 0.337 -0.751 0.373 0.481 0.591 + 0.728 0.034 -0.077 0.344 0.057 -0.003 -0.241 0.114 0.265 0.364 + 0.198 0.197 -0.129 -0.690 -0.267 -0.259 0.115 -0.058 -0.026 -0.169 + 0.130 -0.063 -0.075 -0.099 0.082 -0.057 -0.667 -0.548 0.052 0.026 + 0.188 0.191 0.676 0.532 -0.928 -0.527 -0.284 -0.147 0.149 -0.094 + 0.091 0.311 0.272 0.085 -0.195 -0.060 1.167 -0.860 0.853 0.239 + -0.103 0.010 -0.323 -0.392 -0.020 -0.120 -0.161 0.046 0.084 -0.350 + 0.096 -0.737 0.767 -0.419 0.116 0.271 -0.025 -0.006 0.192 0.192 + -0.115 -0.067 -0.660 0.089 0.030 0.152 0.675 0.567 -0.114 0.490 + 0.519 -0.388 0.022 0.288 0.006 -0.327 -0.804 -0.761 -0.067 -0.149 + -0.074 -0.171 -0.078 0.036 0.149 0.491 0.220 -0.095 0.026 1.112 + -0.443 -0.161 1.746 -0.224 -0.076 0.047 0.070 -0.018 -0.093 0.195 + -0.370 -0.207 0.555 -0.145 -0.577 0.053 -0.360 0.129 -0.191 0.171 + -0.397 -0.157 -0.063 0.248 0.242 0.502 -1.668 -0.137 0.357 -0.452 + -0.167 0.104 -0.051 0.039 -0.143 -0.087 -0.759 -0.161 1.037 0.055 + -0.008 -0.048 -0.514 0.427 0.248 0.069 -0.184 -0.191 -0.060 -0.083 + -0.243 -0.144 -0.320 -0.069 -0.025 -0.161 -0.282 -0.732 0.092 0.410 + 0.124 -0.070 -0.114 -0.117 -0.053 -0.074 0.035 0.135 -0.164 0.302 + -0.265 0.564 -0.005 -0.095 0.230 -0.114 -0.064 0.063 0.224 0.201 + 0.058 0.111 0.115 -0.082 1.067 -0.217 -0.489 0.149 0.032 -0.032 + 0.063 0.183 -0.146 0.210 0.075 0.123 -0.870 -0.264 -0.037 0.038 + 0.138 -0.119 -0.180 0.053 -0.118 -0.290 0.422 -0.493 -0.286 0.701 + 0.344 -0.057 -0.230 -0.120 -0.520 -1.022 1.387 0.117 0.098 -0.055 + 0.146 -0.126 0.005 -0.093 0.148 0.120 -0.132 -0.175 -0.302 -0.206 + 0.024 0.045 -0.083 0.379 0.066 0.046 0.113 0.043 -0.392 0.650 + -0.463 -0.092 -1.061 -0.951 -0.083 0.200 0.151 0.075 -0.135 -0.087 + 0.080 -0.189 -0.288 0.306 0.035 -0.090 0.019 -0.471 0.007 0.250 + 0.183 0.112 0.168 0.043 0.182 0.392 -0.710 -0.761 0.228 -0.312 + 0.096 -0.099 -0.055 0.591 -0.036 0.100 -0.035 0.188 -0.603 0.327 + 0.223 0.199 0.037 0.107 -0.127 -1.368 0.225 -0.204 -0.004 -0.025 + 0.068 0.026 -0.183 -0.180 0.075 0.164 0.087 0.003 -0.482 0.254 + 0.227 0.042 0.091 0.076 0.253 0.099 1.006 0.281 -0.016 0.339 + 1.566 0.085 0.301 -0.050 0.767 -0.769 0.248 -0.108 -0.351 -0.832 + 0.187 0.433 0.133 -0.188 0.182 0.026 0.063 -0.280 0.207 -0.260 + -0.301 0.626 0.462 -0.085 0.094 -0.089 -0.064 -1.159 -0.010 0.001 + -0.187 -0.486 -0.248 0.088 -0.263 0.023 0.627 0.478 0.235 -0.784 + 1.093 -0.081 -0.197 -1.047 0.143 -0.115 0.075 -0.100 -0.049 -0.122 + 0.075 0.142 0.171 0.056 -0.532 1.307 0.226 -0.063 -0.042 -0.972 + -0.008 -0.149 -0.233 -0.367 -0.605 -1.276 0.560 -0.034 0.600 -1.235 + -0.009 -1.602 -0.037 -0.115 -0.133 -1.011 -0.249 0.658 -0.141 -0.437 + -0.039 -0.599 -0.053 -1.166 0.157 -0.730 -0.217 0.022 -0.062 -0.174 + 0.774 -0.275 -0.162 0.056 -0.107 0.263 -0.142 -0.143 0.223 -0.097 + 0.066 0.091 -0.679 1.208 0.091 0.088 -0.058 0.178 -0.190 -0.176 + -0.578 0.071 0.147 -0.000 0.004 0.157 -0.041 -0.556 0.965 -0.604 + -0.023 0.140 0.038 0.296 0.132 -0.019 0.786 -0.410 -0.370 0.095 + -0.083 0.096 0.997 -0.373 0.304 -0.526 -0.121 -0.163 0.291 0.191 + -0.381 0.208 1.119 0.556 0.112 0.194 0.351 0.050 -0.761 -0.664 + 0.091 -0.061 -0.234 -0.020 0.729 1.302 -0.072 -0.062 0.179 0.586 + 0.074 -0.234 0.366 0.231 -0.138 -0.169 0.074 -0.185 -0.000 0.014 + -0.105 0.163 0.074 -0.268 -0.192 0.780 -0.367 0.156 0.061 -0.121 + -0.071 0.216 0.027 -0.068 0.128 0.039 0.385 -0.272 -0.571 0.112 + -0.315 -0.145 0.276 0.056 0.279 0.478 0.310 -0.009 0.082 -0.274 + 0.171 -0.073 -0.082 0.141 0.768 -1.833 0.263 0.347 0.102 -0.026 + 0.169 0.054 -0.157 -0.088 0.300 0.176 -0.004 0.080 0.217 0.049 + 0.299 -0.181 -0.183 -0.283 1.120 0.118 0.221 -0.040 -0.072 -0.023 + 0.487 -0.197 -0.969 -0.313 -0.005 -0.092 -0.032 0.270 0.252 -0.298 + 0.270 0.502 -0.730 0.255 0.054 -0.191 0.069 -0.279 -0.365 0.012 + 0.031 -0.017 -0.089 0.068 -0.028 -0.077 0.485 -0.090 0.053 0.193 + 0.006 0.722 1.029 0.334 0.084 -0.017 0.445 -0.093 0.072 0.176 + -0.217 0.167 0.223 -0.491 0.513 0.404 -0.204 0.164 0.066 0.118 + 0.287 0.186 -0.058 0.213 -0.149 0.034 0.199 -0.040 -0.107 -0.643 + -1.598 0.031 -0.002 0.143 0.165 -0.245 -0.842 -0.120 0.165 0.051 + -0.498 -0.075 -0.195 -1.022 -0.271 0.518 -0.001 0.217 0.163 1.324 + -0.486 0.371 0.583 0.036 0.218 0.019 -0.157 0.248 0.088 0.159 + -0.169 0.067 -0.127 -0.164 -0.163 -0.003 0.038 -0.152 -0.181 0.132 + -0.237 0.030 -0.154 0.852 0.146 0.433 0.006 -0.092 -0.002 -0.790 + 1.077 0.713 -0.086 0.019 0.008 0.365 -0.780 0.338 0.487 0.613 + 0.739 0.038 -0.069 0.351 0.052 -0.000 -0.239 0.119 0.262 0.347 + 0.183 0.198 -0.132 -0.694 -0.241 -0.305 0.110 -0.054 -0.026 -0.168 + 0.138 -0.051 -0.082 -0.105 0.074 -0.104 -0.651 -0.560 0.049 0.021 + 0.185 0.200 0.671 0.539 -0.961 -0.602 -0.302 -0.153 0.144 -0.097 + 0.085 0.311 0.262 0.085 -0.198 -0.067 1.164 -0.900 0.872 0.237 + -0.095 0.004 -0.300 -0.364 -0.073 -0.112 -0.168 0.041 0.070 -0.369 + 0.053 -0.725 0.806 -0.374 0.105 0.264 -0.028 -0.044 0.212 0.204 + -0.187 -0.084 -0.721 0.075 0.031 0.163 0.674 0.564 -0.118 0.506 + 0.539 -0.369 0.020 0.295 0.002 -0.301 -0.836 -0.780 -0.039 -0.172 + -0.047 -0.171 -0.070 0.035 0.153 0.533 0.224 -0.055 0.024 1.149 + -0.446 -0.187 1.740 -0.227 -0.061 0.061 0.078 -0.019 -0.083 0.192 + -0.363 -0.202 0.560 -0.156 -0.561 0.050 -0.347 0.117 -0.267 0.173 + -0.415 -0.169 -0.069 0.252 0.296 0.556 -1.711 -0.123 0.353 -0.491 + -0.153 0.107 -0.043 0.045 -0.148 -0.084 -0.724 -0.142 1.045 0.046 + -0.010 -0.053 -0.530 0.374 0.241 0.080 -0.188 -0.181 -0.051 -0.074 + -0.244 -0.156 -0.342 -0.045 -0.022 -0.151 -0.290 -0.773 0.124 0.368 + 0.149 -0.065 -0.108 -0.099 -0.067 -0.056 0.019 0.137 -0.182 0.244 + -0.266 0.583 -0.005 -0.091 0.232 -0.122 -0.062 0.059 0.218 0.189 + 0.055 0.111 0.112 -0.078 1.083 -0.198 -0.466 0.145 0.039 -0.024 + 0.116 0.178 -0.215 0.214 0.078 0.126 -0.887 -0.308 -0.043 0.048 + 0.139 -0.119 -0.182 0.072 -0.094 -0.307 0.417 -0.526 -0.262 0.724 + 0.347 -0.062 -0.226 -0.111 -0.543 -1.038 1.378 0.114 0.089 -0.054 + 0.136 -0.133 -0.006 -0.098 0.145 0.108 -0.156 -0.148 -0.302 -0.212 + 0.026 0.041 -0.044 0.394 0.060 0.044 0.114 0.055 -0.366 0.682 + -0.424 -0.133 -1.109 -0.968 -0.085 0.191 0.146 0.072 -0.140 -0.088 + 0.044 -0.196 -0.276 0.293 0.048 -0.094 0.019 -0.430 0.023 0.260 + 0.175 0.103 0.162 0.040 0.182 0.390 -0.727 -0.753 0.231 -0.313 + 0.088 -0.094 -0.043 0.622 -0.054 0.108 -0.047 0.236 -0.590 0.329 + 0.229 0.195 0.046 0.128 -0.140 -1.360 0.239 -0.204 0.009 -0.016 + 0.070 0.017 -0.181 -0.176 0.081 0.151 0.080 -0.004 -0.500 0.270 + 0.184 0.040 0.102 0.070 0.244 0.083 0.995 0.290 -0.004 0.340 + 1.571 0.097 0.286 -0.077 0.790 -0.771 0.253 -0.108 -0.351 -0.869 + 0.248 0.416 0.136 -0.192 0.184 0.030 0.054 -0.288 0.194 -0.288 + -0.342 0.658 0.489 -0.091 0.106 -0.083 -0.070 -1.225 -0.031 0.007 + -0.184 -0.517 -0.293 0.102 -0.244 0.014 0.667 0.458 0.234 -0.763 + 1.121 -0.078 -0.171 -1.026 0.127 -0.124 0.080 -0.098 -0.044 -0.127 + 0.071 0.138 0.167 0.056 -0.538 1.313 0.227 0.003 -0.053 -0.962 + -0.020 -0.145 -0.233 -0.330 -0.583 -1.285 0.572 -0.053 0.599 -1.233 + -0.020 -1.646 -0.037 -0.119 -0.119 -1.012 -0.304 0.648 -0.144 -0.427 + -0.034 -0.583 -0.014 -1.153 0.201 -0.762 -0.238 0.015 -0.056 -0.179 + 0.708 -0.308 -0.165 0.058 -0.113 0.255 -0.138 -0.138 0.233 -0.097 + 0.071 0.092 -0.674 1.245 0.058 0.098 -0.068 0.180 -0.179 -0.239 + -0.599 0.078 0.137 -0.001 -0.011 0.148 -0.076 -0.614 1.032 -0.659 + -0.020 0.138 0.026 0.305 0.121 -0.031 0.833 -0.352 -0.391 0.083 + -0.075 0.100 1.031 -0.402 0.301 -0.537 -0.116 -0.161 0.275 0.184 + -0.375 0.237 1.105 0.539 0.116 0.196 0.351 0.092 -0.783 -0.679 + 0.088 -0.078 -0.241 -0.052 0.736 1.335 -0.068 -0.044 0.190 0.564 + 0.120 -0.272 0.361 0.215 -0.137 -0.177 0.072 -0.194 0.003 0.014 + -0.107 0.162 0.084 -0.273 -0.157 0.762 -0.375 0.151 0.072 -0.119 + -0.095 0.259 0.020 -0.078 0.126 0.034 0.364 -0.256 -0.587 0.107 + -0.312 -0.136 0.298 0.058 0.283 0.537 0.352 0.006 0.116 -0.223 + 0.152 -0.086 -0.088 0.131 0.820 -1.812 0.267 0.329 0.107 -0.036 + 0.173 0.051 -0.144 -0.088 0.294 0.175 0.004 0.034 0.194 0.046 + 0.303 -0.182 -0.133 -0.295 1.128 0.112 0.211 -0.049 -0.070 -0.001 + 0.545 -0.234 -0.965 -0.303 -0.010 -0.086 -0.030 0.280 0.252 -0.301 + 0.306 0.493 -0.718 0.260 0.057 -0.185 0.057 -0.273 -0.362 0.018 + 0.018 -0.020 -0.079 0.068 -0.032 -0.084 0.528 -0.121 0.054 0.194 + 0.014 0.725 1.027 0.331 0.084 -0.015 0.440 -0.079 0.078 0.170 + -0.204 0.166 0.231 -0.478 0.538 0.405 -0.207 0.157 0.053 0.107 + 0.291 0.197 -0.054 0.197 -0.140 0.029 0.194 -0.047 -0.087 -0.666 + -1.653 0.034 -0.006 0.148 0.134 -0.267 -0.840 -0.123 0.156 0.062 + -0.504 -0.065 -0.233 -1.053 -0.288 0.536 -0.004 0.229 0.158 1.419 + -0.546 0.367 0.586 0.031 0.219 0.019 -0.153 0.252 0.086 0.149 + -0.172 0.066 -0.125 -0.150 -0.168 -0.006 0.039 -0.161 -0.174 0.127 + -0.231 0.021 -0.155 0.871 0.165 0.446 0.000 -0.092 -0.002 -0.850 + 1.092 0.738 -0.095 0.014 0.006 0.340 -0.807 0.319 0.455 0.621 + 0.742 0.039 -0.069 0.352 0.049 0.015 -0.255 0.139 0.253 0.336 + 0.206 0.225 -0.109 -0.688 -0.230 -0.289 0.119 -0.042 -0.033 -0.166 + 0.139 -0.053 -0.081 -0.110 0.079 -0.135 -0.649 -0.560 0.040 0.032 + 0.180 0.176 0.650 0.593 -0.965 -0.647 -0.309 -0.157 0.152 -0.093 + 0.084 0.307 0.250 0.098 -0.213 -0.064 1.162 -0.914 0.854 0.238 + -0.089 0.006 -0.340 -0.402 -0.111 -0.110 -0.169 0.053 0.059 -0.362 + 0.040 -0.710 0.834 -0.380 0.091 0.273 -0.026 -0.014 0.250 0.169 + -0.197 -0.053 -0.727 0.062 0.034 0.164 0.687 0.683 -0.135 0.520 + 0.554 -0.434 0.023 0.299 -0.003 -0.321 -0.859 -0.756 -0.013 -0.148 + -0.043 -0.171 -0.074 0.032 0.168 0.541 0.209 -0.066 -0.003 1.132 + -0.461 -0.160 1.753 -0.233 -0.053 0.077 0.083 -0.015 -0.078 0.195 + -0.360 -0.204 0.556 -0.142 -0.567 0.049 -0.353 0.128 -0.362 0.210 + -0.386 -0.165 -0.078 0.253 0.376 0.540 -1.730 -0.155 0.376 -0.468 + -0.150 0.115 -0.047 0.052 -0.146 -0.071 -0.681 -0.123 1.065 0.054 + -0.012 -0.053 -0.539 0.361 0.252 0.087 -0.198 -0.174 -0.061 -0.065 + -0.246 -0.185 -0.363 -0.033 -0.024 -0.156 -0.298 -0.784 0.102 0.370 + 0.139 -0.064 -0.117 -0.102 -0.139 -0.051 0.017 0.126 -0.187 0.266 + -0.264 0.599 -0.013 -0.087 0.230 -0.117 -0.058 0.076 0.222 0.184 + 0.051 0.108 0.118 -0.085 1.081 -0.163 -0.475 0.152 0.029 -0.013 + 0.068 0.184 -0.219 0.222 0.081 0.124 -0.871 -0.321 -0.058 0.042 + 0.135 -0.126 -0.197 0.085 -0.064 -0.285 0.417 -0.478 -0.257 0.763 + 0.364 -0.064 -0.227 -0.115 -0.549 -1.032 1.369 0.125 0.094 -0.052 + 0.139 -0.139 -0.004 -0.098 0.152 0.100 -0.153 -0.188 -0.290 -0.199 + 0.003 0.042 -0.016 0.376 0.082 0.048 0.117 0.058 -0.346 0.641 + -0.500 -0.131 -1.151 -1.036 -0.082 0.194 0.145 0.084 -0.144 -0.078 + 0.060 -0.174 -0.290 0.288 0.048 -0.087 0.020 -0.414 0.020 0.253 + 0.185 0.103 0.152 0.059 0.184 0.393 -0.705 -0.747 0.228 -0.318 + 0.088 -0.064 0.008 0.671 -0.046 0.107 -0.065 0.275 -0.602 0.290 + 0.229 0.203 0.041 0.115 -0.150 -1.371 0.230 -0.200 0.028 -0.022 + 0.071 0.005 -0.187 -0.177 0.082 0.144 0.069 -0.010 -0.505 0.266 + 0.198 0.028 0.106 0.078 0.262 0.104 1.037 0.296 -0.015 0.339 + 1.563 0.089 0.265 -0.093 0.830 -0.830 0.249 -0.128 -0.355 -0.876 + 0.238 0.454 0.187 -0.188 0.173 0.023 0.052 -0.294 0.177 -0.336 + -0.367 0.724 0.534 -0.156 0.109 -0.085 -0.068 -1.257 -0.042 0.045 + -0.202 -0.510 -0.361 0.102 -0.241 0.013 0.653 0.407 0.225 -0.780 + 1.131 -0.099 -0.174 -1.026 0.113 -0.112 0.081 -0.100 -0.039 -0.123 + 0.077 0.132 0.176 0.055 -0.487 1.334 0.199 -0.017 -0.058 -0.929 + -0.018 -0.155 -0.225 -0.372 -0.583 -1.275 0.589 -0.060 0.625 -1.224 + 0.019 -1.674 -0.029 -0.129 -0.113 -0.994 -0.302 0.699 -0.144 -0.433 + -0.015 -0.576 0.037 -1.155 0.211 -0.783 -0.249 0.024 -0.060 -0.188 + 0.709 -0.317 -0.168 0.056 -0.106 0.248 -0.140 -0.120 0.232 -0.104 + 0.059 0.092 -0.649 1.249 0.072 0.109 -0.071 0.185 -0.120 -0.294 + -0.585 0.067 0.132 0.004 -0.030 0.124 -0.070 -0.611 1.120 -0.674 + -0.022 0.138 0.039 0.302 0.125 -0.024 0.855 -0.409 -0.444 0.086 + -0.076 0.087 1.025 -0.418 0.271 -0.555 -0.120 -0.161 0.265 0.191 + -0.373 0.238 1.139 0.570 0.114 0.199 0.344 0.097 -0.743 -0.701 + 0.089 -0.081 -0.240 -0.056 0.747 1.384 -0.058 -0.027 0.186 0.547 + 0.164 -0.269 0.363 0.230 -0.143 -0.186 0.076 -0.192 0.010 -0.006 + -0.099 0.166 0.087 -0.284 -0.114 0.753 -0.433 0.150 0.069 -0.112 + -0.082 0.283 -0.008 -0.089 0.121 0.032 0.369 -0.248 -0.594 0.106 + -0.304 -0.140 0.314 0.066 0.317 0.575 0.365 -0.008 0.123 -0.250 + 0.168 -0.092 -0.090 0.136 0.894 -1.807 0.303 0.326 0.104 -0.040 + 0.180 0.043 -0.142 -0.088 0.292 0.170 0.081 0.036 0.193 0.050 + 0.295 -0.178 -0.099 -0.306 1.202 0.117 0.206 -0.048 -0.040 0.019 + 0.575 -0.261 -0.987 -0.284 -0.025 -0.097 -0.021 0.290 0.258 -0.309 + 0.301 0.484 -0.741 0.265 0.056 -0.181 0.029 -0.290 -0.359 0.016 + 0.034 -0.022 -0.072 0.058 -0.034 -0.096 0.555 -0.125 0.057 0.189 + 0.007 0.772 1.007 0.329 0.078 -0.007 0.433 -0.065 0.069 0.180 + -0.190 0.175 0.237 -0.491 0.547 0.370 -0.210 0.164 0.051 0.104 + 0.291 0.191 -0.048 0.196 -0.147 0.037 0.198 -0.037 -0.109 -0.661 + -1.669 0.033 0.004 0.139 0.142 -0.262 -0.814 -0.129 0.167 0.066 + -0.516 -0.048 -0.230 -1.097 -0.291 0.503 -0.017 0.236 0.147 1.501 + -0.579 0.364 0.594 0.038 0.215 0.018 -0.160 0.243 0.082 0.158 + -0.166 0.067 -0.131 -0.155 -0.178 -0.003 0.032 -0.163 -0.174 0.129 + -0.224 0.026 -0.159 0.885 0.164 0.453 -0.009 -0.105 -0.010 -0.854 + 1.103 0.750 -0.086 0.022 0.014 0.313 -0.819 0.317 0.476 0.614 + 0.717 0.051 -0.066 0.353 0.064 0.007 -0.252 0.148 0.251 0.329 + 0.240 0.181 -0.109 -0.686 -0.217 -0.274 0.116 -0.043 -0.028 -0.166 + 0.129 -0.051 -0.086 -0.114 0.088 -0.131 -0.643 -0.557 0.043 0.042 + 0.179 0.153 0.704 0.626 -0.949 -0.698 -0.337 -0.141 0.149 -0.100 + 0.083 0.310 0.254 0.105 -0.209 -0.056 1.196 -0.920 0.866 0.239 + -0.086 -0.001 -0.374 -0.404 -0.160 -0.111 -0.187 0.060 0.030 -0.355 + 0.031 -0.665 0.856 -0.381 0.098 0.279 -0.023 -0.027 0.227 0.123 + -0.241 -0.061 -0.770 0.051 0.019 0.160 0.696 0.742 -0.174 0.536 + 0.578 -0.424 0.018 0.302 0.002 -0.343 -0.885 -0.775 0.008 -0.136 + -0.040 -0.172 -0.069 0.023 0.181 0.521 0.169 -0.079 -0.051 1.074 + -0.490 -0.175 1.755 -0.237 -0.045 0.084 0.088 -0.028 -0.081 0.198 + -0.367 -0.215 0.512 -0.141 -0.552 0.057 -0.359 0.139 -0.425 0.208 + -0.393 -0.157 -0.078 0.245 0.421 0.536 -1.741 -0.151 0.422 -0.513 + -0.152 0.104 -0.041 0.066 -0.143 -0.076 -0.695 -0.167 1.073 0.055 + -0.021 -0.040 -0.533 0.364 0.209 0.091 -0.196 -0.164 -0.057 -0.060 + -0.249 -0.146 -0.373 -0.012 -0.024 -0.161 -0.301 -0.801 0.082 0.363 + 0.145 -0.059 -0.111 -0.091 -0.162 -0.015 0.027 0.125 -0.206 0.275 + -0.253 0.666 -0.020 -0.085 0.238 -0.104 -0.053 0.086 0.230 0.188 + 0.053 0.106 0.121 -0.086 1.074 -0.167 -0.494 0.146 0.037 -0.011 + 0.049 0.147 -0.208 0.220 0.076 0.117 -0.878 -0.336 -0.094 0.047 + 0.130 -0.130 -0.177 0.093 -0.013 -0.312 0.484 -0.496 -0.256 0.774 + 0.413 -0.051 -0.222 -0.122 -0.550 -1.027 1.361 0.122 0.097 -0.042 + 0.140 -0.145 -0.001 -0.104 0.144 0.088 -0.156 -0.191 -0.276 -0.206 + -0.003 0.038 -0.003 0.380 0.111 0.060 0.114 0.066 -0.364 0.679 + -0.558 -0.168 -1.183 -1.095 -0.069 0.197 0.147 0.082 -0.152 -0.089 + 0.041 -0.171 -0.299 0.279 0.051 -0.097 0.015 -0.418 -0.019 0.264 + 0.184 0.112 0.161 0.059 0.185 0.429 -0.720 -0.761 0.238 -0.325 + 0.091 -0.116 0.040 0.702 -0.057 0.117 -0.061 0.296 -0.571 0.253 + 0.250 0.198 0.053 0.106 -0.141 -1.354 0.228 -0.200 0.037 -0.012 + 0.065 0.008 -0.176 -0.182 0.095 0.145 0.050 -0.010 -0.504 0.323 + 0.225 0.025 0.103 0.084 0.253 0.096 1.042 0.302 -0.016 0.334 + 1.571 0.081 0.291 -0.141 0.826 -0.894 0.259 -0.135 -0.346 -0.912 + 0.248 0.464 0.238 -0.182 0.195 0.010 0.052 -0.297 0.171 -0.384 + -0.366 0.733 0.572 -0.169 0.114 -0.072 -0.066 -1.286 -0.057 0.065 + -0.194 -0.502 -0.457 0.102 -0.241 0.008 0.645 0.376 0.225 -0.815 + 1.088 -0.121 -0.151 -1.035 0.135 -0.117 0.095 -0.095 -0.038 -0.121 + 0.070 0.138 0.167 0.062 -0.519 1.331 0.224 0.058 -0.084 -0.907 + -0.024 -0.155 -0.220 -0.385 -0.589 -1.294 0.620 -0.069 0.658 -1.213 + 0.040 -1.685 -0.029 -0.132 -0.098 -1.012 -0.303 0.734 -0.136 -0.428 + -0.005 -0.554 0.104 -1.164 0.182 -0.779 -0.246 0.016 -0.066 -0.201 + 0.695 -0.323 -0.178 0.048 -0.113 0.242 -0.136 -0.112 0.226 -0.098 + 0.068 0.101 -0.682 1.263 0.053 0.113 -0.079 0.190 -0.102 -0.261 + -0.589 0.060 0.120 0.002 -0.080 0.060 -0.063 -0.645 1.190 -0.691 + -0.020 0.131 0.039 0.305 0.116 -0.027 0.865 -0.418 -0.486 0.098 + -0.074 0.089 1.033 -0.444 0.235 -0.550 -0.115 -0.165 0.254 0.195 + -0.361 0.281 1.136 0.602 0.118 0.198 0.341 0.155 -0.719 -0.754 + 0.096 -0.079 -0.233 -0.095 0.757 1.462 -0.055 -0.036 0.193 0.549 + 0.216 -0.325 0.355 0.224 -0.133 -0.177 0.091 -0.182 0.003 -0.009 + -0.103 0.173 0.083 -0.275 -0.074 0.749 -0.395 0.139 0.059 -0.095 + -0.070 0.326 0.015 -0.094 0.126 0.032 0.399 -0.267 -0.599 0.110 + -0.305 -0.133 0.316 0.086 0.321 0.579 0.365 0.020 0.133 -0.244 + 0.160 -0.081 -0.087 0.136 0.925 -1.772 0.319 0.329 0.102 -0.051 + 0.184 0.044 -0.146 -0.095 0.279 0.178 0.062 0.017 0.156 0.039 + 0.294 -0.187 -0.101 -0.326 1.243 0.124 0.195 -0.064 -0.034 0.014 + 0.612 -0.294 -0.992 -0.258 -0.023 -0.099 -0.027 0.288 0.262 -0.291 + 0.263 0.480 -0.713 0.251 0.039 -0.185 0.005 -0.355 -0.356 0.019 + 0.025 -0.020 -0.075 0.046 -0.032 -0.111 0.540 -0.145 0.055 0.191 + 0.003 0.747 1.018 0.364 0.068 -0.007 0.424 -0.068 0.072 0.167 + -0.194 0.194 0.247 -0.498 0.584 0.366 -0.212 0.161 0.052 0.114 + 0.309 0.192 -0.053 0.189 -0.137 0.043 0.206 -0.045 -0.094 -0.674 + -1.691 0.036 -0.002 0.143 0.126 -0.231 -0.782 -0.120 0.153 0.069 + -0.486 -0.018 -0.240 -1.108 -0.293 0.516 -0.021 0.244 0.157 1.520 + -0.623 0.367 0.598 0.005 0.217 0.023 -0.166 0.227 0.094 0.158 + -0.173 0.069 -0.133 -0.160 -0.164 -0.006 0.032 -0.166 -0.178 0.122 + -0.222 0.015 -0.158 0.836 0.214 0.428 -0.002 -0.111 -0.015 -0.920 + 1.154 0.761 -0.086 0.037 0.028 0.298 -0.852 0.338 0.482 0.620 + 0.725 0.044 -0.066 0.347 0.063 0.004 -0.248 0.145 0.246 0.333 + 0.224 0.153 -0.067 -0.692 -0.234 -0.254 0.118 -0.040 -0.030 -0.168 + 0.131 -0.043 -0.089 -0.115 0.087 -0.113 -0.645 -0.501 0.039 0.039 + 0.180 0.119 0.717 0.641 -0.953 -0.708 -0.378 -0.139 0.157 -0.096 + 0.077 0.305 0.259 0.111 -0.209 -0.046 1.204 -0.928 0.887 0.243 + -0.078 -0.008 -0.343 -0.381 -0.200 -0.111 -0.197 0.059 -0.002 -0.346 + 0.012 -0.629 0.846 -0.357 0.090 0.283 -0.024 0.010 0.234 0.128 + -0.237 0.007 -0.796 0.051 0.019 0.166 0.724 0.788 -0.211 0.577 + 0.564 -0.430 0.027 0.307 -0.003 -0.340 -0.891 -0.821 0.032 -0.139 + -0.021 -0.183 -0.077 0.030 0.193 0.532 0.152 -0.098 -0.037 1.087 + -0.511 -0.209 1.777 -0.242 -0.037 0.089 0.093 -0.040 -0.083 0.199 + -0.380 -0.221 0.536 -0.127 -0.532 0.070 -0.358 0.162 -0.445 0.242 + -0.410 -0.159 -0.088 0.239 0.444 0.497 -1.795 -0.176 0.462 -0.567 + -0.163 0.104 -0.042 0.077 -0.154 -0.085 -0.695 -0.160 1.093 0.057 + -0.017 -0.040 -0.584 0.407 0.216 0.095 -0.203 -0.171 -0.059 -0.062 + -0.242 -0.160 -0.344 -0.007 -0.026 -0.162 -0.308 -0.788 0.088 0.415 + 0.149 -0.049 -0.111 -0.100 -0.145 -0.011 0.016 0.119 -0.202 0.249 + -0.234 0.734 -0.029 -0.078 0.244 -0.096 -0.061 0.091 0.224 0.191 + 0.051 0.098 0.110 -0.083 1.081 -0.148 -0.488 0.144 0.030 -0.012 + 0.054 0.155 -0.226 0.214 0.080 0.121 -0.915 -0.364 -0.124 0.051 + 0.127 -0.127 -0.156 0.100 -0.056 -0.308 0.462 -0.481 -0.264 0.765 + 0.454 -0.047 -0.226 -0.113 -0.570 -1.086 1.357 0.132 0.095 -0.036 + 0.129 -0.143 -0.004 -0.107 0.144 0.094 -0.195 -0.185 -0.279 -0.214 + -0.009 0.027 0.002 0.425 0.163 0.072 0.115 0.079 -0.396 0.746 + -0.548 -0.143 -1.202 -1.135 -0.075 0.205 0.149 0.083 -0.142 -0.085 + 0.045 -0.149 -0.301 0.267 0.054 -0.107 0.010 -0.377 -0.003 0.249 + 0.185 0.124 0.160 0.066 0.171 0.445 -0.776 -0.752 0.226 -0.316 + 0.092 -0.132 0.096 0.723 -0.059 0.121 -0.066 0.319 -0.567 0.263 + 0.243 0.204 0.047 0.131 -0.160 -1.397 0.236 -0.198 0.047 -0.003 + 0.058 0.007 -0.171 -0.178 0.107 0.139 0.055 -0.013 -0.502 0.325 + 0.142 0.035 0.109 0.092 0.174 0.127 1.083 0.296 -0.008 0.337 + 1.598 0.082 0.269 -0.148 0.824 -0.906 0.275 -0.146 -0.350 -0.937 + 0.272 0.457 0.259 -0.178 0.197 -0.004 0.047 -0.300 0.220 -0.369 + -0.360 0.760 0.596 -0.178 0.114 -0.071 -0.070 -1.289 -0.064 0.063 + -0.199 -0.538 -0.460 0.105 -0.232 0.003 0.650 0.335 0.185 -0.804 + 1.078 -0.133 -0.134 -1.058 0.144 -0.111 0.094 -0.078 -0.049 -0.134 + 0.065 0.141 0.170 0.063 -0.500 1.321 0.244 0.063 -0.079 -0.904 From 7a8db8ecd9ce3c996550253351653df4b46becc0 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 08:46:16 -0500 Subject: [PATCH 140/191] Netcdf4/hdf5 has a race condition, so force make -j1 --- configure | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 024b264360..9ed10c3a9b 100755 --- a/configure +++ b/configure @@ -756,8 +756,15 @@ EOF # Check if lib present but needs to be rebuilt CheckRebuild "NetCDF" "${LIB_FLAG[$LNETCDF]}" if [ "${LIB_STAT[$LHDF5]}" != 'off' ] ; then - # Get/compile netcdf4 with HDF5 - PREFIX=$CPPTRAJHOME CC=$CC CFLAGS=$CFLAGS LIBNAME='netcdf' \ + # Get/compile netcdf4 with HDF5 + # Some of the HDF5-related portions of NetCDF4 have race conditions, + # so override MAKE_COMMAND + if [ -z "$MAKE_COMMAND" ] ; then + echo "Setting MAKE_COMMAND to 'make -j1' to avoid NetCDF4/HDF5 race conditions." + else + echo "Overriding MAKE_COMMAND with 'make -j1' to avoid NetCDF4/HDF5 race conditions." + fi + PREFIX=$CPPTRAJHOME CC=$CC CFLAGS=$CFLAGS LIBNAME='netcdf' MAKE_COMMAND='make -j1' \ CPPFLAGS=${LIB_INCL[$LHDF5]} LDFLAGS="-L$CPPTRAJHOME/lib" \ SRCDIR=$NETCDF_SRCDIR SRCTAR=$NETCDF_SRCTAR URL=$NETCDF_URL ./get_library.sh $rebuild_netcdf $NETCDF4_OPTS netcdferr=$? From 7d40c7fcc9a1d28e0dc17d18c62ae41b71ba92ea Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 08:51:32 -0500 Subject: [PATCH 141/191] Add some debug lines --- configure | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configure b/configure index 9ed10c3a9b..9eb38338c7 100755 --- a/configure +++ b/configure @@ -548,6 +548,8 @@ TestProgram() { else COMPILE_ERROR_LINE=$COMPILELINE COMPILE_ERROR_MESSAGE=`cat $COMPERR` + #echo "DEBUG: Error: $COMPILE_ERROR_LINE" + #echo "DEBUG: Error: $COMPILE_ERROR_MESSAGE" rm $COMPERR $COMPOUT return 1 fi From 5c09765218a530775d98123075362840b95c0463 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 09:41:09 -0500 Subject: [PATCH 142/191] First check if netcdf library has hdf5 support; only try to test/build separate hdf5 if not. --- configure | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/configure b/configure index 9eb38338c7..5f75784be5 100755 --- a/configure +++ b/configure @@ -660,7 +660,8 @@ EOF fi } -TestNetcdf4Hdf5() { +TestHdf5() { + # First, check if NetCDF has HDF5 support baked in. cat > testp.cpp < #include "netcdf.h" @@ -677,14 +678,12 @@ void unused() { } int main() { printf("Testing\n"); printf("%s\n",nc_strerror(0)); return 0; } EOF - TestProgram " Checking NetCDF/HDF5" "$CXX" "$CXXFLAGS ${LIB_INCL[$LNETCDF]}" testp.cpp "${LIB_FLAG[$LNETCDF]}" - #if [ $? -eq 1 ] ; then - # WrnMsg "NetCDF library does not contain HDF5 support." - # LIB_STAT[$LHDF5]='off' - #fi -} - -TestHdf5() { + TestProgram silent " Checking NetCDF4/HDF5" "$CXX" "$CXXFLAGS ${LIB_INCL[$LNETCDF]}" testp.cpp "${LIB_FLAG[$LNETCDF]}" + if [ $? -eq 0 ] ; then + # HDF5 support is present. Just exit. + return 0 + fi + # Check for separate HDF5 cat > testp.cpp < #include "hdf5.h" @@ -788,10 +787,6 @@ EOF TestProgErr "NetCDF" fi fi - # Check netcdf4 if necessary - if [ "${LIB_STAT[$LHDF5]}" != 'off' ] ; then - TestNetcdf4Hdf5 - fi } TestPnetcdf() { From ca82f66ff6f547d37c14ca6e8179fc980a587f37 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 09:53:04 -0500 Subject: [PATCH 143/191] Add ifdefs for non-HDF5 compile --- src/NetcdfFile.cpp | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 9accdd8f37..6a6d2ae13f 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -302,8 +302,9 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { atomDID_ = NC::GetDimInfo( ncid_, NCATOM, ncatom_ ); if (atomDID_==-1) return 1; ncatom3_ = ncatom_ * 3; - +# ifdef HAS_HDF5 unsigned int needed_itmp_size = 0; +# endif bool has_coordinates = false; bool has_velocities = false; bool has_forces = false; @@ -401,10 +402,12 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { if (velocityVID_ != -1) { coordVID_ = velocityVID_; velocityVID_ = -1; +# ifdef HAS_HDF5 } else if (compressedVelVID_ != -1) { compressedPosVID_ = compressedVelVID_; compressedVelVID_ = -1; intCompressFac_[V_COORDS] = intCompressFac_[V_VEL]; +# endif } else { mprinterr("Error: Cannot use velocities as coordinates; no velocities present.\n"); return 1; @@ -414,10 +417,12 @@ int NetcdfFile::SetupCoordsVelo(bool useVelAsCoords, bool useFrcAsCoords) { if (frcVID_ != -1) { coordVID_ = frcVID_; frcVID_ = -1; +# ifdef HAS_HDF5 } else if (compressedFrcVID_ != -1) { compressedPosVID_ = compressedFrcVID_; compressedFrcVID_ = -1; intCompressFac_[V_COORDS] = intCompressFac_[V_FRC]; +# endif } else { mprinterr("Error: Cannot use forces as coordinates; no forces present.\n"); return 1; @@ -1292,8 +1297,12 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (set_atom_dim_array(dimensionID)) return 1; // Coord variable - unsigned int needed_itmp_size = 0; - if (coordInfo.HasCrd() && intCompressFac_[V_COORDS] == 0) { +# ifdef HAS_HDF5 + if (coordInfo.HasCrd() && intCompressFac_[V_COORDS] == 0) +# else + if (coordInfo.HasCrd()) +# endif + { // Regular coords if ( NC::CheckErr( nc_def_var( ncid_, NCCOORDS, dataType, NDIM, dimensionID, &coordVID_)) ) { mprinterr("Error: Defining coordinates variable.\n"); @@ -1307,7 +1316,12 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC_setFrameChunkSize(V_COORDS, coordVID_)) return 1; } // Velocity variable - if (coordInfo.HasVel() && intCompressFac_[V_VEL] == 0) { +# ifdef HAS_HDF5 + if (coordInfo.HasVel() && intCompressFac_[V_VEL] == 0) +# else + if (coordInfo.HasVel()) +# endif + { if ( NC::CheckErr( nc_def_var( ncid_, NCVELO, dataType, NDIM, dimensionID, &velocityVID_)) ) { mprinterr("Error: Defining velocities variable.\n"); return 1; @@ -1317,7 +1331,12 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC_setFrameChunkSize(V_VEL, velocityVID_)) return 1; } // Force variable - if (coordInfo.HasForce() && intCompressFac_[V_FRC] == 0) { +# ifdef HAS_HDF5 + if (coordInfo.HasForce() && intCompressFac_[V_FRC] == 0) +# else + if (coordInfo.HasForce()) +# endif + { if ( NC::CheckErr( nc_def_var( ncid_, NCFRC, dataType, NDIM, dimensionID, &frcVID_)) ) { mprinterr("Error: Defining forces variable\n"); return 1; @@ -1490,7 +1509,8 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC_setDeflate(V_BOXA, cellAngleVID_)) return 1; if (NC_setFrameChunkSize(V_BOXA, cellAngleVID_)) return 1; } - +# ifdef HAS_HDF5 + unsigned int needed_itmp_size = 0; // Integer-compressed coordinates if (coordInfo.HasCrd() && intCompressFac_[V_COORDS] > 0) { if (set_atom_dim_array(dimensionID)) return 1; @@ -1555,7 +1575,7 @@ int NetcdfFile::NC_create(NC_FMT_TYPE wtypeIn, std::string const& Name, NCTYPE t if (NC_setDeflate(V_FRC, compressedFrcVID_, ishuffle_)) return 1; if (NC_setFrameChunkSize(V_FRC, compressedFrcVID_)) return 1; } - +# endif /* HAS_HDF5 */ // Attributes if (NC::CheckErr(nc_put_att_text(ncid_,NC_GLOBAL,"title",title.size(),title.c_str())) ) { mprinterr("Error: Writing title.\n"); From f522b1d2ca709d64ad8beaf6ca92764280138dd2 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 09:54:11 -0500 Subject: [PATCH 144/191] Fix var name --- src/Traj_H5.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Traj_H5.cpp b/src/Traj_H5.cpp index cd40f01bdc..0556aff827 100644 --- a/src/Traj_H5.cpp +++ b/src/Traj_H5.cpp @@ -74,7 +74,7 @@ bool Traj_H5::ID_TrajFormat(CpptrajFile& fileIn) { if (nread > 7 && buf[0] == 0x89 && buf[1] == 0x48 && buf[2] == 0x44 && buf[3] == 0x46 && buf[4] == 0x0d && buf[5] == 0x0a && buf[6] == 0x1a && buf[7] == 0x0a) { - mprintf("Warning: File '%s' appears to be HDF5 but cpptraj was compiled without HDF5 support.\n", fname); + mprintf("Warning: File '%s' appears to be HDF5 but cpptraj was compiled without HDF5 support.\n", fileIn.Filename().full()); } # endif return false; From 9ef7e6dc5995d39c6a0c90aa2d0fe15495a4846e Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 09:55:53 -0500 Subject: [PATCH 145/191] Have compress and icompress be outside the ifdef but set to zero --- src/Traj_AmberNetcdf.cpp | 2 +- src/Traj_AmberNetcdf.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 47afbe87d7..811c21b0bb 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -25,9 +25,9 @@ Traj_AmberNetcdf::Traj_AmberNetcdf() : write_mdcrd_(false), write_mdvel_(false), write_mdfrc_(false), -# ifdef HAS_HDF5 compress_(0), icompress_(0), +# ifdef HAS_HDF5 fchunkSize_(0), ishuffle_(1), # endif diff --git a/src/Traj_AmberNetcdf.h b/src/Traj_AmberNetcdf.h index 3b64a51f4e..8ffc618435 100644 --- a/src/Traj_AmberNetcdf.h +++ b/src/Traj_AmberNetcdf.h @@ -45,9 +45,9 @@ class Traj_AmberNetcdf : public TrajectoryIO, private NetcdfFile { bool write_mdcrd_; ///< If true write out coordinates bool write_mdvel_; ///< If true write out velocities bool write_mdfrc_; ///< If true write out forces -# ifdef HAS_HDF5 int compress_; ///< HDF5 compression level int icompress_; ///< HDF5 integer compression level +# ifdef HAS_HDF5 int fchunkSize_; ///< HDF5 frame chunk size int ishuffle_; ///< HDF5 integer shuffle (1 = on, 0 = off) # endif From adca6301efd9fe7ed306bb6ecb9734dcd36662a2 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 10:21:55 -0500 Subject: [PATCH 146/191] Protect more netcdf4/hdf5 only routines --- src/NC_Routines.cpp | 73 +++++++++++++++++++++++++-------------------- src/NC_Routines.h | 6 ++-- src/NetcdfFile.cpp | 2 ++ src/Traj_H5MD.cpp | 2 +- 4 files changed, 48 insertions(+), 35 deletions(-) diff --git a/src/NC_Routines.cpp b/src/NC_Routines.cpp index 4041464556..ecac72d432 100644 --- a/src/NC_Routines.cpp +++ b/src/NC_Routines.cpp @@ -45,6 +45,7 @@ std::string NC::GetAttrText(int ncid, int vid, const char* attribute) { attrOut.assign( attrText ); delete[] attrText; } else if ( xtypep == NC_STRING ) { +# ifdef HAS_HDF5 if (attlen > 1) { mprinterr("Error: Variable attribute %s has %i strings, expected only 1.\n", attribute, attlen); @@ -57,6 +58,10 @@ std::string NC::GetAttrText(int ncid, int vid, const char* attribute) { } attrOut.assign( attrString ); nc_free_string(attlen, &attrString); +# else + mprinterr("Internal Error: Attribute type 'string' only supported with NetCDF4/HDF5.\n" + "Internal Error: Recompile with Netcdf4/HDF5 support.\n"); +# endif } else { mprinterr("Error: Attribute %s has unhandled type.\n", attribute); return attrOut; @@ -98,38 +103,6 @@ int NC::GetDimInfo(int ncid, const char* attribute, int& length) { return dimID; } -/** \return Array containing group names. Also set array with corresponding ncids. */ -std::vector NC::GetGroupNames(int ncid, std::vector& NcidArray) { - std::vector GroupNames; - int numgrps; - nc_inq_grps( ncid, &numgrps, NULL ); - if (numgrps < 1) - return GroupNames; - - //mprintf("DEBUG: Netcdf file contains %i groups.\n", numgrps); - GroupNames.reserve( numgrps ); - NcidArray.assign( numgrps, -1 ); - int* ncids = &NcidArray[0]; - nc_inq_grps( ncid, NULL, ncids ); - for (int ii = 0; ii < numgrps; ii++) { - //mprintf("\tncid %i", ncids[ii]); - size_t gnamelen; - nc_inq_grpname_len( ncids[ii], &gnamelen ); - char* gname = new char[ gnamelen+1 ]; - nc_inq_grpname( ncids[ii], gname ); - //mprintf(" %s\n", gname); - GroupNames.push_back( gname ); - delete[] gname; - } - return GroupNames; -} - -/** \return Array containing group names. */ -std::vector NC::GetGroupNames(int ncid) { - std::vector NcidArray; - return GetGroupNames(ncid, NcidArray); -} - // NC::Debug() void NC::Debug(int ncid) { int ndimsp, nvarsp, ngattsp,unlimdimidp; @@ -175,4 +148,40 @@ void NC::Debug(int ncid) { } mprintf("========== END NETCDF DEBUG ==========\n"); } + +// ----- NetCDF4/HDF5 routines ------------------------------------------------- +#ifdef HAS_HDF5 +/** \return Array containing group names. Also set array with corresponding ncids. */ +std::vector NC::GetGroupNames(int ncid, std::vector& NcidArray) { + std::vector GroupNames; + int numgrps; + nc_inq_grps( ncid, &numgrps, NULL ); + if (numgrps < 1) + return GroupNames; + + //mprintf("DEBUG: Netcdf file contains %i groups.\n", numgrps); + GroupNames.reserve( numgrps ); + NcidArray.assign( numgrps, -1 ); + int* ncids = &NcidArray[0]; + nc_inq_grps( ncid, NULL, ncids ); + for (int ii = 0; ii < numgrps; ii++) { + //mprintf("\tncid %i", ncids[ii]); + size_t gnamelen; + nc_inq_grpname_len( ncids[ii], &gnamelen ); + char* gname = new char[ gnamelen+1 ]; + nc_inq_grpname( ncids[ii], gname ); + //mprintf(" %s\n", gname); + GroupNames.push_back( gname ); + delete[] gname; + } + return GroupNames; +} + +/** \return Array containing group names. */ +std::vector NC::GetGroupNames(int ncid) { + std::vector NcidArray; + return GetGroupNames(ncid, NcidArray); +} +#endif /* HAS_HDF5 */ +// ----------------------------------------------------------------------------- #endif /* BINTRAJ */ diff --git a/src/NC_Routines.h b/src/NC_Routines.h index 6f00b82948..1f9943451d 100644 --- a/src/NC_Routines.h +++ b/src/NC_Routines.h @@ -14,12 +14,14 @@ namespace NC { int GetDimInfo(int, const char*, unsigned int&); // FIXME This version here for backwards compatibility. int GetDimInfo(int, const char*, int&); + /// Print debug info to STDOUT + void Debug(int); +# ifdef HAS_HDF5 /// \return Array of group names, set array with ncids std::vector GetGroupNames(int, std::vector&); /// \return Array of group names std::vector GetGroupNames(int); - /// Print debug info to STDOUT - void Debug(int); +# endif } #endif /* BINTRAJ */ #endif diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 6a6d2ae13f..1f0496697d 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -164,6 +164,7 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(int ncidIn) { // Check if this is an MDtraj h5 file attrText = NC::GetAttrText(ncidIn, "conventions"); if (attrText.empty()) { +# ifdef HAS_HDF5 // Check if this is an MDAnalysis h5md file bool is_h5md = false; std::vector GroupNames = NC::GetGroupNames( ncidIn ); @@ -180,6 +181,7 @@ NetcdfFile::NCTYPE NetcdfFile::GetNetcdfConventions(int ncidIn) { } if (!is_h5md) mprinterr("Error: Could not get conventions from NetCDF file.\n"); +# endif return NC_UNKNOWN; } //mprintf("DEBUG: This appears to be an HDF5 h5 file.\n"); diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp index 0918a77fce..8bf84b0345 100644 --- a/src/Traj_H5MD.cpp +++ b/src/Traj_H5MD.cpp @@ -81,7 +81,7 @@ bool Traj_H5MD::ID_TrajFormat(CpptrajFile& fileIn) { if (nread > 7 && buf[0] == 0x89 && buf[1] == 0x48 && buf[2] == 0x44 && buf[3] == 0x46 && buf[4] == 0x0d && buf[5] == 0x0a && buf[6] == 0x1a && buf[7] == 0x0a) { - mprintf("Warning: File '%s' appears to be HDF5 but cpptraj was compiled without HDF5 support.\n", fname); + mprintf("Warning: File '%s' appears to be HDF5 but cpptraj was compiled without HDF5 support.\n", fileIn.Filename().full()); } # endif return false; From 0ad0c676ced81ed7c935ec251959383ec0d91c8b Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 10:33:04 -0500 Subject: [PATCH 147/191] Dont test hdf5 without netcdf --- configure | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configure b/configure index 5f75784be5..dfd2199fd7 100755 --- a/configure +++ b/configure @@ -1533,7 +1533,9 @@ SetupLibraries() { fi if [ "${LIB_STAT[$LNETCDF]}" = 'off' -a "${LIB_STAT[$LHDF5]}" != 'off' ] ; then # HDF5 needs netcdf + echo "Warning: HDF5 depends on NetCDF; disabling HDF5." LIB_STAT[$LHDF5]='off' + LIB_TEST[$LHDF5]='no' fi } From a16773121960e202003fb526f49b03eb800f6fa1 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 10:33:21 -0500 Subject: [PATCH 148/191] NcFmtTypeStr_ needs to be present outside BINTRAJ --- src/NetcdfFile.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NetcdfFile.h b/src/NetcdfFile.h index c4a9c41656..63cd245981 100644 --- a/src/NetcdfFile.h +++ b/src/NetcdfFile.h @@ -102,8 +102,6 @@ class NetcdfFile { int ensembleSize_; std::string nctitle_; private: - /// Strings corresponding to NC_FMT_TYPE - static const char* NcFmtTypeStr_[]; static const char* ConventionsStr_[]; /// Descriptions of VidType. MUST MATCH VidType (except NVID). @@ -202,6 +200,8 @@ class NetcdfFile { int cell_angularVID_; ///< Box angles variable ID int RemdValuesVID_; ///< Replica values variable ID. # endif /* BINTRAJ */ + /// Strings corresponding to NC_FMT_TYPE + static const char* NcFmtTypeStr_[]; }; #ifdef BINTRAJ // ----- Inline Functions ------------------------------------------------------ From dc4f8be13c719a2a8f0f6d6909c2211361187867 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 10:39:28 -0500 Subject: [PATCH 149/191] Protect when no netcdf4/hdf5 --- src/Traj_H5.cpp | 4 ++++ src/Traj_H5MD.cpp | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Traj_H5.cpp b/src/Traj_H5.cpp index 0556aff827..d451d8c94b 100644 --- a/src/Traj_H5.cpp +++ b/src/Traj_H5.cpp @@ -341,6 +341,7 @@ int Traj_H5::setupTrajin(FileName const& fname, Topology* trajParm) /** Read specified trajectory frame. */ int Traj_H5::readFrame(int set, Frame& frameIn) { +# ifdef HAS_HDF5 start_[0] = set; start_[1] = 0; start_[2] = 0; @@ -421,6 +422,9 @@ int Traj_H5::readFrame(int set, Frame& frameIn) { } return 0; +# else /* HAS_HDF5 */ + return 1; +# endif } /** Read velocities from specified frame. */ diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp index 8bf84b0345..df5160e075 100644 --- a/src/Traj_H5MD.cpp +++ b/src/Traj_H5MD.cpp @@ -408,6 +408,7 @@ int Traj_H5MD::setupTrajin(FileName const& fname, Topology* trajParm) /** Read specified trajectory frame. */ int Traj_H5MD::readFrame(int set, Frame& frameIn) { +# ifdef HAS_HDF5 start_[0] = set; start_[1] = 0; start_[2] = 0; @@ -487,8 +488,10 @@ int Traj_H5MD::readFrame(int set, Frame& frameIn) { xyzabg[2] *= convert_h5_to_cpptraj_box_;*/ frameIn.ModifyBox().AssignFromUcell( ucell ); } - return 0; +# else /* HAS_HDF5 */ + return 1; +# endif } /** Read velocities from specified frame. */ From 41f7202e9cbabd1cd17ad3f5ab6bb561251be7e3 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 11:44:29 -0500 Subject: [PATCH 150/191] If netcdf was specified, make hdf5 failure an error unless -nohdf5 specified --- configure | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/configure b/configure index dfd2199fd7..a563e35289 100755 --- a/configure +++ b/configure @@ -683,6 +683,12 @@ EOF # HDF5 support is present. Just exit. return 0 fi + # If netcdf was specified, this means netcdf was built without hdf5 support + if [ "${LIB_STAT[$LNETCDF]}" = 'specified' ] ; then + ErrMsg "NetCDF in '${LIB_HOME[$LNETCDF]}' does not have HDF5 support." + ErrMsg "To use this NetCDF, disable HDF5 support with '-nohdf5'." + exit 1 + fi # Check for separate HDF5 cat > testp.cpp < From 73a9a06e7a0d08a69227567d59b77035417e2b94 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Fri, 11 Nov 2022 12:00:31 -0500 Subject: [PATCH 151/191] If forcing a netcdf build and hdf5 is enabled, tell netcdf how to link to existing hdf5 --- configure | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/configure b/configure index a563e35289..432912f2ef 100755 --- a/configure +++ b/configure @@ -680,7 +680,12 @@ int main() { printf("Testing\n"); printf("%s\n",nc_strerror(0)); return 0; } EOF TestProgram silent " Checking NetCDF4/HDF5" "$CXX" "$CXXFLAGS ${LIB_INCL[$LNETCDF]}" testp.cpp "${LIB_FLAG[$LNETCDF]}" if [ $? -eq 0 ] ; then - # HDF5 support is present. Just exit. + # HDF5 support is present. + # If we are going to build our own netcdf, it needs to know how to link + # HDF5. + if [ "${LIB_MAKE[$LNETCDF]}" = 'yes' ] ; then + LIB_FLAG[$LHDF5]="-lhdf5_hl -lhdf5 -ldl ${LIB_FLAG[$LZIP]}" + fi return 0 fi # If netcdf was specified, this means netcdf was built without hdf5 support From cd1b0647efce560b19095e60b040de45de4185ee Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Mon, 14 Nov 2022 11:16:14 -0500 Subject: [PATCH 152/191] Fix var name in MPI compile. Remove debug message --- src/NetcdfFile.cpp | 4 ++-- src/Traj_H5MD.cpp | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 1f0496697d..d0143edefc 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -1803,7 +1803,7 @@ void NetcdfFile::Broadcast(Parallel::Comm const& commIn) { nc_vars[29] = compressedPosVID_; nc_vars[30] = compressedVelVID_; nc_vars[31] = compressedFrcVID_; - nc_vars[32] = fchunksize_; + nc_vars[32] = fchunkSize_; nc_vars[33] = ishuffle_; commIn.MasterBcast( nc_vars, NCVARS_SIZE, MPI_INT ); } else { @@ -1842,7 +1842,7 @@ void NetcdfFile::Broadcast(Parallel::Comm const& commIn) { compressedPosVID_ = nc_vars[29]; compressedVelVID_ = nc_vars[30]; compressedFrcVID_ = nc_vars[31]; - fchunksize_ = nc_vars[32]; + fchunkSize_ = nc_vars[32]; ishuffle_ = nc_vars[33]; } if (!remDimType_.empty()) diff --git a/src/Traj_H5MD.cpp b/src/Traj_H5MD.cpp index df5160e075..809b3504bc 100644 --- a/src/Traj_H5MD.cpp +++ b/src/Traj_H5MD.cpp @@ -51,7 +51,6 @@ Traj_H5MD::~Traj_H5MD() { /** Identify trajectory format. File should be setup for READ */ bool Traj_H5MD::ID_TrajFormat(CpptrajFile& fileIn) { # ifdef HAS_HDF5 - mprintf("BING BONG\n"); int myNcid; if ( nc_open( fileIn.Filename().full(), NC_NOWRITE, &myNcid ) != NC_NOERR ) return false; From 4e2691e6777a5e93a69f966fc696f86c1aee1f5f Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 11:38:46 -0500 Subject: [PATCH 153/191] If initial pnetcdf check fails, see if pnetcdf was built with netcdf4 support --- configure | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 432912f2ef..a7baa248eb 100755 --- a/configure +++ b/configure @@ -808,7 +808,16 @@ void unused() {int ncid; ncmpi_open(MPI_COMM_WORLD, "foo.nc", NC_NOWRITE, MPI_IN int main() { printf("Testing\n"); printf("%s\n",ncmpi_strerror(0)); return 0; } EOF TestProgram silent " Checking Parallel NetCDF" "$CXX" "$CXXFLAGS ${LIB_INCL[$LPARANC]}" testp.cpp "${LIB_FLAG[$LPARANC]}" - if [ $? -ne 0 ] ; then + pnetcdfstat=$? + # Check if pnetcdf just needs netcdf support + if [ $pnetcdfstat -ne 0 -a "${LIB_STAT[$LPARANC]}" = 'specified' ] ; then + TestProgram silent " Checking Parallel NetCDF (link to NetCDF)" "$CXX" "$CXXFLAGS ${LIB_INCL[$LPARANC]} ${LIB_INCL[$LNETCDF]}" testp.cpp "${LIB_FLAG[$LPARANC]} ${LIB_FLAG[$LNETCDF]}" + pnetcdfstat=$? + # If above check worked, pnetcdf should be linked OK with netcdf flags + return 0 + #echo "DEBUG: Returned $?" + fi + if [ $pnetcdfstat -ne 0 ] ; then if [ "${LIB_STAT[$LPARANC]}" = 'optional' ] ; then WrnMsg "Parallel NetCDF test failed. CPPTRAJ will be built without parallel NetCDF." LIB_STAT[$LPARANC]='off' From ea739f70cf54f80ed48b001126062616e8a24005 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 13:48:02 -0500 Subject: [PATCH 154/191] Trap netcdf4 write with > 1 process, not yet supported. Will need to use the HDF5/netcdf4 parallel framework instead of pnetcdf for that. --- src/Traj_AmberNetcdf.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Traj_AmberNetcdf.cpp b/src/Traj_AmberNetcdf.cpp index 811c21b0bb..88cbe416ef 100644 --- a/src/Traj_AmberNetcdf.cpp +++ b/src/Traj_AmberNetcdf.cpp @@ -543,6 +543,12 @@ int Traj_AmberNetcdf::parallelSetupTrajout(FileName const& fname, Topology* traj Parallel::Comm const& commIn) { int err = 0; + if (ftype_ == NC_V4) { + if (commIn.Size() > 1) { + mprinterr("Error: NetCDF4/HDF5 write not yet supported for > 1 process.\n"); + return 1; + } + } if (commIn.Master()) { err = setupTrajout(fname, trajParm, cInfoIn, NframesToWrite, append); // NOTE: setupTrajout leaves file open. Should this change? From 416b139c14ff45f15348591baa7265881a064e54 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 13:50:04 -0500 Subject: [PATCH 155/191] Protect tests in parallel --- test/Test_NetcdfTraj/RunTest.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/test/Test_NetcdfTraj/RunTest.sh b/test/Test_NetcdfTraj/RunTest.sh index 4cb0310fdd..aa70700545 100755 --- a/test/Test_NetcdfTraj/RunTest.sh +++ b/test/Test_NetcdfTraj/RunTest.sh @@ -31,7 +31,7 @@ DoTest ../tz2.truncoct.crd trajectory_test.mdcrd # ----- NetCDF4/HDF5 tests ----------------------- UNITNAME='Convert mdcrd <-> NetCDF4/HDF5' -CheckFor hdf5 +CheckFor hdf5 maxthreads 1 if [ $? -eq 0 ] ; then cat > $INPUT < $INPUT < $INPUT < ptraj_netcdf.in < ptraj_netcdf.in < Date: Tue, 15 Nov 2022 14:13:40 -0500 Subject: [PATCH 156/191] Note that compareenergy is currently hidden --- src/Command.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Command.cpp b/src/Command.cpp index 4af9d1951f..850ddaf6c0 100644 --- a/src/Command.cpp +++ b/src/Command.cpp @@ -218,7 +218,7 @@ void Command::Init() { Command::AddCmd( new Exec_Clear(), Cmd::EXE, 1, "clear" ); Command::AddCmd( new Exec_ClusterMap(), Cmd::EXE, 1, "clustermap" ); // hidden Command::AddCmd( new Exec_CompareClusters(), Cmd::EXE, 1, "compareclusters" ); //hidden - Command::AddCmd( new Exec_CompareEnergy(), Cmd::EXE, 1, "compareenergy" ); + Command::AddCmd( new Exec_CompareEnergy(), Cmd::EXE, 1, "compareenergy" ); //hidden Command::AddCmd( new Exec_CreateDataFile(), Cmd::EXE, 1, "create" ); Command::AddCmd( new Exec_CreateSet(), Cmd::EXE, 1, "createset" ); Command::AddCmd( new Exec_DataFileCmd(), Cmd::EXE, 1, "datafile" ); From 123fd66617114ba3f09edafe0482830c664bb157 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 14:23:40 -0500 Subject: [PATCH 157/191] Add bond energy template --- src/Energy/Ene_Bond.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/Energy/Ene_Bond.h diff --git a/src/Energy/Ene_Bond.h b/src/Energy/Ene_Bond.h new file mode 100644 index 0000000000..1a9e85e689 --- /dev/null +++ b/src/Energy/Ene_Bond.h @@ -0,0 +1,20 @@ +#ifndef INC_ENERGY_ENE_BOND_H +#define INC_ENERGY_ENE_BOND_H +namespace Cpptraj { +namespace Energy { +/// \return Energy of the bond between xyz1 and xyz2 +template +T Ene_Bond(T const* xyz1, T const* xyz2, T const& req, T const& rk) +{ + T x = xyz1[0] - xyz2[0]; + T y = xyz1[1] - xyz2[1]; + T z = xyz1[2] - xyz2[2]; + T r2 = (x*x + y*y + z*z); + T r = sqrt(r2); + T rdiff = r - req; + T ene = rk * (rdiff * rdiff); + return ene; +} +} +} +#endif From 12f0c6d6816f00fe512da165ad559657aa4c699b Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 14:26:22 -0500 Subject: [PATCH 158/191] Use Ene_Bond --- src/Energy.cpp | 6 ++---- src/cpptrajdepend | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Energy.cpp b/src/Energy.cpp index ebcf35ea95..936414ecd0 100644 --- a/src/Energy.cpp +++ b/src/Energy.cpp @@ -8,6 +8,7 @@ #include "CharMask.h" #include "ExclusionArray.h" #include "Energy/Ene_Angle.h" +#include "Energy/Ene_Bond.h" const double Energy_Amber::QFAC = Constants::ELECTOAMBER * Constants::ELECTOAMBER; @@ -41,10 +42,7 @@ double Energy_Amber::CalcBondEnergy(Frame const& fIn, BondArray const& Bonds, continue; } BondParmType const& bp = BPA[bpidx]; - double r2 = DIST2_NoImage( fIn.XYZ(b->A1()), fIn.XYZ(b->A2()) ); - double r = sqrt(r2); - double rdiff = r - bp.Req(); - double ene = bp.Rk() * (rdiff * rdiff); + double ene = Cpptraj::Energy::Ene_Bond( fIn.XYZ(b->A1()), fIn.XYZ(b->A2()), bp.Req(), bp.Rk() ); Ebond += ene; // mprintf("EBOND %4li %4i -- %4i: k= %12.5f x0= %12.5f r= %12.5f E= %12.5f\n", // b - Bonds.begin(), b->A1()+1, b->A2()+1, bp.Rk(), bp.Req(), r, ene); diff --git a/src/cpptrajdepend b/src/cpptrajdepend index 3aa9152135..fbe5e9f6e4 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -257,7 +257,7 @@ DataSet_unsignedInt.o : DataSet_unsignedInt.cpp AssociatedData.h CpptrajFile.h D Deprecated.o : Deprecated.cpp CpptrajStdio.h Deprecated.h DispatchObject.h DihedralSearch.o : DihedralSearch.cpp ArgList.h Atom.h AtomMask.h AtomType.h Box.h Constants.h CoordinateInfo.h CpptrajStdio.h DihedralSearch.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h TypeNameHolder.h Unit.h Vec3.h DistRoutines.o : DistRoutines.cpp Box.h DistRoutines.h ImageOption.h Matrix_3x3.h Parallel.h Vec3.h -Energy.o : Energy.cpp Atom.h AtomMask.h AtomType.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajStdio.h DistRoutines.h Energy.h Energy/Ene_Angle.h ExclusionArray.h FileName.h Frame.h ImageOption.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h TorsionRoutines.h TypeNameHolder.h Unit.h Vec3.h +Energy.o : Energy.cpp Atom.h AtomMask.h AtomType.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajStdio.h DistRoutines.h Energy.h Energy/Ene_Angle.h Energy/Ene_Bond.h ExclusionArray.h FileName.h Frame.h ImageOption.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h TorsionRoutines.h TypeNameHolder.h Unit.h Vec3.h EnergyArray.o : EnergyArray.cpp CpptrajFile.h CpptrajStdio.h EnergyArray.h FileIO.h FileName.h Parallel.h Energy_Sander.o : Energy_Sander.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajStdio.h Energy_Sander.h FileName.h FileTypes.h File_TempName.h Frame.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ParmFile.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h TypeNameHolder.h Unit.h Vec3.h EnsembleIn.o : EnsembleIn.cpp Atom.h AtomMask.h Box.h CoordinateInfo.h CpptrajStdio.h EnsembleIn.h FileName.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h Timer.h TrajFrameCounter.h Unit.h Vec3.h From f0004da3ac0b6ca7978f70e1e3649901a608390c Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 14:38:00 -0500 Subject: [PATCH 159/191] Start adding test for compareenergy even though command is hidden --- test/Test_CompareEnergy/RunTest.sh | 23 +++++++++++++ .../Test_CompareEnergy/compare.bonds.dat.save | 32 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100755 test/Test_CompareEnergy/RunTest.sh create mode 100644 test/Test_CompareEnergy/compare.bonds.dat.save diff --git a/test/Test_CompareEnergy/RunTest.sh b/test/Test_CompareEnergy/RunTest.sh new file mode 100755 index 0000000000..aacd76d685 --- /dev/null +++ b/test/Test_CompareEnergy/RunTest.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +. ../MasterTest.sh + +CleanFiles compare.in compare.bonds.dat + +TESTNAME='Compare energy tests' +Requires maxthreads 1 + +INPUT='-i compare.in' + +cat > compare.in < = -0.000008 +#Bond ene RMSE = 0.000135 +#Bond = -0.000016 +#Bond len RMSE = 0.000630 From 0640919d502241a332742453577bf3cc565ba070 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 14:42:16 -0500 Subject: [PATCH 160/191] Test angles and dihedrals --- test/Test_CompareEnergy/RunTest.sh | 7 +- .../compare.angles.dat.save | 49 ++++++++++++ test/Test_CompareEnergy/compare.dih.dat.save | 74 +++++++++++++++++++ 3 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 test/Test_CompareEnergy/compare.angles.dat.save create mode 100644 test/Test_CompareEnergy/compare.dih.dat.save diff --git a/test/Test_CompareEnergy/RunTest.sh b/test/Test_CompareEnergy/RunTest.sh index aacd76d685..c68d4cb616 100755 --- a/test/Test_CompareEnergy/RunTest.sh +++ b/test/Test_CompareEnergy/RunTest.sh @@ -2,7 +2,7 @@ . ../MasterTest.sh -CleanFiles compare.in compare.bonds.dat +CleanFiles compare.in compare.bonds.dat compare.angles.dat compare.dih.dat TESTNAME='Compare energy tests' Requires maxthreads 1 @@ -17,7 +17,12 @@ loadcrd ../tz2.nc 1 1 name CRD1 loadcrd ../tz2.nc 2 2 name CRD2 compareenergy crd0 CRD1 crd1 CRD2 bondout compare.bonds.dat mask1 :2 mask2 :2 +compareenergy crd0 CRD1 crd1 CRD2 angleout compare.angles.dat mask1 :2 mask2 :2 mask3 :2 +compareenergy crd0 CRD1 crd1 CRD2 dihedralout compare.dih.dat mask1 :2 mask2 :2 mask3 :2 mask4 :2 EOF RunCpptraj "$TESTNAME" +DoTest compare.bonds.dat.save compare.bonds.dat +DoTest compare.angles.dat.save compare.angles.dat +DoTest compare.dih.dat.save compare.dih.dat EndTest diff --git a/test/Test_CompareEnergy/compare.angles.dat.save b/test/Test_CompareEnergy/compare.angles.dat.save new file mode 100644 index 0000000000..a7490af7f0 --- /dev/null +++ b/test/Test_CompareEnergy/compare.angles.dat.save @@ -0,0 +1,49 @@ +#Name0 Name1 Name2 Ene0 Ene1 Edelta R0 R1 Rdelta +TRP_2@CZ3 TRP_2@CE3 TRP_2@CD2 0.0009 0.0015 0.0006 0.0000 0.0000 0.0000 +TRP_2@CH2 TRP_2@CZ3 TRP_2@CE3 0.0136 0.0029 -0.0107 0.0000 0.0000 0.0000 +TRP_2@CZ2 TRP_2@CE2 TRP_2@CD2 0.0030 0.2113 0.2083 0.0000 0.0000 0.0000 +TRP_2@CZ2 TRP_2@CH2 TRP_2@CZ3 0.0232 0.0090 -0.0142 0.0000 0.0000 0.0000 +TRP_2@CE2 TRP_2@CZ2 TRP_2@CH2 0.1629 0.0002 -0.1627 0.0000 0.0000 0.0000 +TRP_2@CE2 TRP_2@CD2 TRP_2@CE3 0.0518 0.2747 0.2229 0.0000 0.0000 0.0000 +TRP_2@NE1 TRP_2@CE2 TRP_2@CZ2 0.5621 0.0000 -0.5620 0.0000 0.0000 0.0000 +TRP_2@NE1 TRP_2@CE2 TRP_2@CD2 0.1207 0.2370 0.1163 0.0000 0.0000 0.0000 +TRP_2@CD1 TRP_2@CG TRP_2@CD2 0.2334 0.1386 -0.0948 0.0000 0.0000 0.0000 +TRP_2@CD1 TRP_2@NE1 TRP_2@CE2 0.0375 0.5993 0.5618 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@CD1 TRP_2@NE1 0.1426 0.5544 0.4117 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@CD2 TRP_2@CE2 0.8945 0.0406 -0.8538 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@CD2 TRP_2@CE3 0.3452 0.2022 -0.1430 0.0000 0.0000 0.0000 +TRP_2@CB TRP_2@CA TRP_2@C 0.1473 0.0044 -0.1428 0.0000 0.0000 0.0000 +TRP_2@CB TRP_2@CG TRP_2@CD1 0.0666 0.0116 -0.0550 0.0000 0.0000 0.0000 +TRP_2@CB TRP_2@CG TRP_2@CD2 0.0658 0.0769 0.0111 0.0000 0.0000 0.0000 +TRP_2@CA TRP_2@CB TRP_2@CG 0.0001 0.3229 0.3228 0.0000 0.0000 0.0000 +TRP_2@CA TRP_2@C TRP_2@O 0.2557 0.3393 0.0836 0.0000 0.0000 0.0000 +TRP_2@N TRP_2@CA TRP_2@CB 0.7268 0.0623 -0.6645 0.0000 0.0000 0.0000 +TRP_2@N TRP_2@CA TRP_2@C 0.6731 0.9104 0.2373 0.0000 0.0000 0.0000 +TRP_2@HE3 TRP_2@CE3 TRP_2@CD2 0.0814 0.0537 -0.0277 0.0000 0.0000 0.0000 +TRP_2@HZ3 TRP_2@CZ3 TRP_2@CE3 0.1308 0.0177 -0.1131 0.0000 0.0000 0.0000 +TRP_2@CZ3 TRP_2@CE3 TRP_2@HE3 0.0935 0.2482 0.1547 0.0000 0.0000 0.0000 +TRP_2@HH2 TRP_2@CH2 TRP_2@CZ3 0.0158 0.2721 0.2563 0.0000 0.0000 0.0000 +TRP_2@CH2 TRP_2@CZ3 TRP_2@HZ3 0.2849 0.0102 -0.2747 0.0000 0.0000 0.0000 +TRP_2@HZ2 TRP_2@CZ2 TRP_2@CH2 0.0957 0.3558 0.2601 0.0000 0.0000 0.0000 +TRP_2@CZ2 TRP_2@CH2 TRP_2@HH2 0.0610 0.3536 0.2926 0.0000 0.0000 0.0000 +TRP_2@CE2 TRP_2@CZ2 TRP_2@HZ2 0.3656 0.3529 -0.0127 0.0000 0.0000 0.0000 +TRP_2@HE1 TRP_2@NE1 TRP_2@CE2 0.0841 0.1259 0.0418 0.0000 0.0000 0.0000 +TRP_2@HD1 TRP_2@CD1 TRP_2@NE1 0.3404 0.0680 -0.2724 0.0000 0.0000 0.0000 +TRP_2@CD1 TRP_2@NE1 TRP_2@HE1 0.0919 0.4121 0.3202 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@CD1 TRP_2@HD1 0.3720 0.1219 -0.2501 0.0000 0.0000 0.0000 +TRP_2@HB3 TRP_2@CB TRP_2@CG 0.0043 0.0647 0.0604 0.0000 0.0000 0.0000 +TRP_2@HB2 TRP_2@CB TRP_2@HB3 0.3124 0.1294 -0.1830 0.0000 0.0000 0.0000 +TRP_2@HB2 TRP_2@CB TRP_2@CG 0.0506 0.3175 0.2670 0.0000 0.0000 0.0000 +TRP_2@HA TRP_2@CA TRP_2@CB 0.2584 0.0150 -0.2434 0.0000 0.0000 0.0000 +TRP_2@HA TRP_2@CA TRP_2@C 1.3760 0.5409 -0.8351 0.0000 0.0000 0.0000 +TRP_2@CA TRP_2@CB TRP_2@HB2 0.0060 0.0591 0.0531 0.0000 0.0000 0.0000 +TRP_2@CA TRP_2@CB TRP_2@HB3 0.3162 0.0102 -0.3061 0.0000 0.0000 0.0000 +TRP_2@H TRP_2@N TRP_2@CA 0.3189 0.1994 -0.1195 0.0000 0.0000 0.0000 +TRP_2@N TRP_2@CA TRP_2@HA 0.0124 0.1027 0.0903 0.0000 0.0000 0.0000 +#Angle E0 = 9.199298 +#Angle E1 = 7.830600 +#Angle = -0.033383 +#Angle ene RMSE = 0.307728 +#Angle = 0.000000 +#Angle len RMSE = 0.000000 +#Name0 Name1 Name2 Name3 Ene0 Ene1 Edelta R0 R1 Rdelta diff --git a/test/Test_CompareEnergy/compare.dih.dat.save b/test/Test_CompareEnergy/compare.dih.dat.save new file mode 100644 index 0000000000..ca36cf9bac --- /dev/null +++ b/test/Test_CompareEnergy/compare.dih.dat.save @@ -0,0 +1,74 @@ +TRP_2@CH2 TRP_2@CZ2 TRP_2@CE2 TRP_2@CD2 0.0788 0.0262 -0.0526 0.0000 0.0000 0.0000 +TRP_2@CH2 TRP_2@CZ3 TRP_2@CE3 TRP_2@CD2 0.0018 0.2113 0.2095 0.0000 0.0000 0.0000 +TRP_2@CZ2 TRP_2@CE2 TRP_2@CD2 TRP_2@CE3 0.0341 0.0076 -0.0265 0.0000 0.0000 0.0000 +TRP_2@CZ2 TRP_2@CH2 TRP_2@CZ3 TRP_2@CE3 0.0162 0.0419 0.0257 0.0000 0.0000 0.0000 +TRP_2@CE2 TRP_2@CZ2 TRP_2@CH2 TRP_2@CZ3 0.0567 0.0118 -0.0449 0.0000 0.0000 0.0000 +TRP_2@CE2 TRP_2@CD2 TRP_2@CE3 TRP_2@CZ3 0.0057 0.1600 0.1543 0.0000 0.0000 0.0000 +TRP_2@NE1 TRP_2@CD1 TRP_2@CG TRP_2@CD2 0.4542 0.0048 -0.4494 0.0000 0.0000 0.0000 +TRP_2@NE1 TRP_2@CE2 TRP_2@CZ2 TRP_2@CH2 0.4369 0.0989 -0.3381 0.0000 0.0000 0.0000 +TRP_2@NE1 TRP_2@CE2 TRP_2@CD2 TRP_2@CE3 0.2705 0.0004 -0.2701 0.0000 0.0000 0.0000 +TRP_2@CD1 TRP_2@CG TRP_2@CD2 TRP_2@CE2 0.4048 0.0520 -0.3527 0.0000 0.0000 0.0000 +TRP_2@CD1 TRP_2@CG TRP_2@CD2 TRP_2@CE3 0.0570 0.0228 -0.0341 0.0000 0.0000 0.0000 +TRP_2@CD1 TRP_2@NE1 TRP_2@CE2 TRP_2@CZ2 0.0005 0.0438 0.0434 0.0000 0.0000 0.0000 +TRP_2@CD1 TRP_2@NE1 TRP_2@CE2 TRP_2@CD2 0.2572 0.0896 -0.1676 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@CB TRP_2@CA TRP_2@C 0.0000 0.0131 0.0131 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@CD1 TRP_2@NE1 TRP_2@CE2 0.0125 0.0278 0.0153 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@CD2 TRP_2@CE2 TRP_2@NE1 0.8224 0.2073 -0.6151 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@CD2 TRP_2@CE2 TRP_2@CZ2 0.0482 0.1221 0.0739 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@CD2 TRP_2@CE3 TRP_2@CZ3 0.3336 0.0418 -0.2919 0.0000 0.0000 0.0000 +TRP_2@CB TRP_2@CA TRP_2@C TRP_2@O 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@CB TRP_2@CG TRP_2@CD1 TRP_2@NE1 0.2998 0.0065 -0.2933 0.0000 0.0000 0.0000 +TRP_2@CB TRP_2@CG TRP_2@CD2 TRP_2@CE2 0.3273 0.0217 -0.3056 0.0000 0.0000 0.0000 +TRP_2@CB TRP_2@CG TRP_2@CD2 TRP_2@CE3 0.0293 0.0537 0.0244 0.0000 0.0000 0.0000 +TRP_2@CA TRP_2@CB TRP_2@CG TRP_2@CD1 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@CA TRP_2@CB TRP_2@CG TRP_2@CD2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@N TRP_2@CA TRP_2@CB TRP_2@CG 0.0308 0.0004 -0.0304 0.0000 0.0000 0.0000 +TRP_2@N TRP_2@CA TRP_2@C TRP_2@O 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@CD1 TRP_2@CD2 TRP_2@CG TRP_2@CB 0.0030 0.0043 0.0013 0.0000 0.0000 0.0000 +TRP_2@HZ3 TRP_2@CZ3 TRP_2@CE3 TRP_2@HE3 0.4065 0.3204 -0.0861 0.0000 0.0000 0.0000 +TRP_2@HZ3 TRP_2@CZ3 TRP_2@CE3 TRP_2@CD2 0.3064 0.0955 -0.2109 0.0000 0.0000 0.0000 +TRP_2@HH2 TRP_2@CH2 TRP_2@CZ3 TRP_2@HZ3 0.2000 0.0009 -0.1991 0.0000 0.0000 0.0000 +TRP_2@HH2 TRP_2@CH2 TRP_2@CZ3 TRP_2@CE3 0.0005 0.0141 0.0135 0.0000 0.0000 0.0000 +TRP_2@CH2 TRP_2@CZ3 TRP_2@CE3 TRP_2@HE3 0.0167 0.1734 0.1567 0.0000 0.0000 0.0000 +TRP_2@HZ2 TRP_2@CZ2 TRP_2@CE2 TRP_2@CD2 0.0231 0.0002 -0.0230 0.0000 0.0000 0.0000 +TRP_2@HZ2 TRP_2@CZ2 TRP_2@CH2 TRP_2@HH2 0.0006 0.0004 -0.0002 0.0000 0.0000 0.0000 +TRP_2@HZ2 TRP_2@CZ2 TRP_2@CH2 TRP_2@CZ3 0.0146 0.0033 -0.0113 0.0000 0.0000 0.0000 +TRP_2@CZ2 TRP_2@CH2 TRP_2@CZ3 TRP_2@HZ3 0.3539 0.0031 -0.3507 0.0000 0.0000 0.0000 +TRP_2@CE2 TRP_2@CZ2 TRP_2@CH2 TRP_2@HH2 0.0087 0.0346 0.0259 0.0000 0.0000 0.0000 +TRP_2@CE2 TRP_2@CD2 TRP_2@CE3 TRP_2@HE3 0.0241 0.2733 0.2492 0.0000 0.0000 0.0000 +TRP_2@HE1 TRP_2@NE1 TRP_2@CE2 TRP_2@CZ2 0.0590 0.1199 0.0609 0.0000 0.0000 0.0000 +TRP_2@HE1 TRP_2@NE1 TRP_2@CE2 TRP_2@CD2 0.0846 0.1892 0.1046 0.0000 0.0000 0.0000 +TRP_2@NE1 TRP_2@CE2 TRP_2@CZ2 TRP_2@HZ2 0.6167 0.0279 -0.5888 0.0000 0.0000 0.0000 +TRP_2@HD1 TRP_2@CD1 TRP_2@CG TRP_2@CD2 0.1367 0.2051 0.0684 0.0000 0.0000 0.0000 +TRP_2@HD1 TRP_2@CD1 TRP_2@NE1 TRP_2@HE1 0.1572 0.0148 -0.1424 0.0000 0.0000 0.0000 +TRP_2@HD1 TRP_2@CD1 TRP_2@NE1 TRP_2@CE2 0.3601 0.0002 -0.3599 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@CD1 TRP_2@NE1 TRP_2@HE1 0.0102 0.0917 0.0815 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@CD2 TRP_2@CE3 TRP_2@HE3 0.2493 1.2059 0.9566 0.0000 0.0000 0.0000 +TRP_2@HB3 TRP_2@CB TRP_2@CA TRP_2@C 0.0007 0.0013 0.0006 0.0000 0.0000 0.0000 +TRP_2@HB3 TRP_2@CB TRP_2@CG TRP_2@CD1 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@HB3 TRP_2@CB TRP_2@CG TRP_2@CD2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@HB2 TRP_2@CB TRP_2@CA TRP_2@C 0.0095 0.0113 0.0018 0.0000 0.0000 0.0000 +TRP_2@HB2 TRP_2@CB TRP_2@CG TRP_2@CD1 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@HB2 TRP_2@CB TRP_2@CG TRP_2@CD2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@CB TRP_2@CG TRP_2@CD1 TRP_2@HD1 0.2470 0.0922 -0.1549 0.0000 0.0000 0.0000 +TRP_2@HA TRP_2@CA TRP_2@CB TRP_2@HB2 0.0103 0.0004 -0.0098 0.0000 0.0000 0.0000 +TRP_2@HA TRP_2@CA TRP_2@CB TRP_2@HB3 0.0485 0.0025 -0.0460 0.0000 0.0000 0.0000 +TRP_2@HA TRP_2@CA TRP_2@CB TRP_2@CG 0.0408 0.0008 -0.0399 0.0000 0.0000 0.0000 +TRP_2@HA TRP_2@CA TRP_2@C TRP_2@O 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@H TRP_2@N TRP_2@CA TRP_2@HA 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@H TRP_2@N TRP_2@CA TRP_2@CB 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@H TRP_2@N TRP_2@CA TRP_2@C 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 +TRP_2@N TRP_2@CA TRP_2@CB TRP_2@HB2 0.0054 0.0008 -0.0046 0.0000 0.0000 0.0000 +TRP_2@N TRP_2@CA TRP_2@CB TRP_2@HB3 0.0377 0.0097 -0.0280 0.0000 0.0000 0.0000 +TRP_2@CZ3 TRP_2@CD2 TRP_2@CE3 TRP_2@HE3 0.0020 0.2596 0.2576 0.0000 0.0000 0.0000 +TRP_2@CH2 TRP_2@CE3 TRP_2@CZ3 TRP_2@HZ3 0.0794 0.0070 -0.0724 0.0000 0.0000 0.0000 +TRP_2@CZ2 TRP_2@CZ3 TRP_2@CH2 TRP_2@HH2 0.0069 0.0023 -0.0046 0.0000 0.0000 0.0000 +TRP_2@CE2 TRP_2@CH2 TRP_2@CZ2 TRP_2@HZ2 0.0042 0.0084 0.0042 0.0000 0.0000 0.0000 +TRP_2@CD1 TRP_2@CE2 TRP_2@NE1 TRP_2@HE1 0.0322 0.0126 -0.0196 0.0000 0.0000 0.0000 +TRP_2@CG TRP_2@NE1 TRP_2@CD1 TRP_2@HD1 0.1789 0.0243 -0.1546 0.0000 0.0000 0.0000 +#Dihedral E0 = 7.713854 +#Dihedral E1 = 4.477089 +#Dihedral = -0.047599 +#Dihedral ene RMSE = 0.214669 +#Dihedral = 0.000000 +#Dihedral len RMSE = 0.000000 From 69df6b8dab168f0a839b02b97d52b718e557314a Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 14:49:13 -0500 Subject: [PATCH 161/191] Move to energy dir --- src/{EnergyKernel_Harmonic.h => Energy/Kernel_Harmonic.h} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{EnergyKernel_Harmonic.h => Energy/Kernel_Harmonic.h} (100%) diff --git a/src/EnergyKernel_Harmonic.h b/src/Energy/Kernel_Harmonic.h similarity index 100% rename from src/EnergyKernel_Harmonic.h rename to src/Energy/Kernel_Harmonic.h From 7ee3a1ef80c0593aae2ec36b7f308c21e71e7c3f Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 14:52:15 -0500 Subject: [PATCH 162/191] Point to the moved file --- src/Energy/Kernel_Harmonic.h | 9 +++++++-- src/Exec_CompareEnergy.cpp | 6 +++--- src/cpptrajdepend | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/Energy/Kernel_Harmonic.h b/src/Energy/Kernel_Harmonic.h index 69e54607a6..649abeece8 100644 --- a/src/Energy/Kernel_Harmonic.h +++ b/src/Energy/Kernel_Harmonic.h @@ -1,8 +1,13 @@ #ifndef INC_ENERGYKERNEL_HARMONIC_H #define INC_ENERGYKERNEL_HARMONIC_H -template T EnergyKernel_Harmonic(T r, T Rk, T Req) { +namespace Cpptraj { +namespace Energy { +/// \return Hooke's law type energy +template T Kernel_Harmonic(T r, T Rk, T Req) { T rdiff = r - Req; T ene = Rk * (rdiff * rdiff); return ene; -}; +} +} +} #endif diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index 16423c47bc..f325a83454 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -4,7 +4,7 @@ #include "CpptrajStdio.h" #include "DataSet_double.h" #include "EnergyKernel_Fourier.h" -#include "EnergyKernel_Harmonic.h" +#include "Energy/Kernel_Harmonic.h" #include "TorsionRoutines.h" /** CONSRUCTOR */ @@ -131,7 +131,7 @@ static inline double EBONDFXN(Frame const& frame0, double r20 = Distance2Kernel( frame0.XYZ(b0.A1()), frame0.XYZ(b0.A2()) ); r0 = sqrt(r20); - double ene = EnergyKernel_Harmonic( r0, bp0.Rk(), bp0.Req() ); + double ene = Cpptraj::Energy::Kernel_Harmonic( r0, bp0.Rk(), bp0.Req() ); return ene; } @@ -219,7 +219,7 @@ static inline double EANGFXN(Frame const& frame0, double theta = CalcAngle( frame0.XYZ(b0.A1()), frame0.XYZ(b0.A2()), frame0.XYZ(b0.A3()) ); - double ene = EnergyKernel_Harmonic( theta, bp0.Tk(), bp0.Teq() ); + double ene = Cpptraj::Energy::Kernel_Harmonic( theta, bp0.Tk(), bp0.Teq() ); return ene; } diff --git a/src/cpptrajdepend b/src/cpptrajdepend index fbe5e9f6e4..f89896e85d 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -282,7 +282,7 @@ Exec_ClusterMap.o : Exec_ClusterMap.cpp Action.h ActionList.h ActionState.h Anal Exec_CombineCoords.o : Exec_CombineCoords.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CombineCoords.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_Commands.o : Exec_Commands.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Commands.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareClusters.o : Exec_CompareClusters.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareClusters.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h -Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h EnergyKernel_Fourier.h EnergyKernel_Harmonic.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TorsionRoutines.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h +Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h Energy/Kernel_Harmonic.h EnergyKernel_Fourier.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TorsionRoutines.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareTop.o : Exec_CompareTop.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareTop.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdAction.o : Exec_CrdAction.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Cmd.h CmdList.h Command.h CompactFrameArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdAction.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdOut.o : Exec_CrdOut.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdOut.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h From 67d799b0c93a603633f5d45ea6cab35c531e0095 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 14:54:32 -0500 Subject: [PATCH 163/191] Use harmonic kernel --- src/Energy/Ene_Bond.h | 4 ++-- src/cpptrajdepend | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Energy/Ene_Bond.h b/src/Energy/Ene_Bond.h index 1a9e85e689..1100eb20ca 100644 --- a/src/Energy/Ene_Bond.h +++ b/src/Energy/Ene_Bond.h @@ -1,5 +1,6 @@ #ifndef INC_ENERGY_ENE_BOND_H #define INC_ENERGY_ENE_BOND_H +#include "Kernel_Harmonic.h" namespace Cpptraj { namespace Energy { /// \return Energy of the bond between xyz1 and xyz2 @@ -11,8 +12,7 @@ T Ene_Bond(T const* xyz1, T const* xyz2, T const& req, T const& rk) T z = xyz1[2] - xyz2[2]; T r2 = (x*x + y*y + z*z); T r = sqrt(r2); - T rdiff = r - req; - T ene = rk * (rdiff * rdiff); + T ene = Kernel_Harmonic( r, rk, req ); return ene; } } diff --git a/src/cpptrajdepend b/src/cpptrajdepend index f89896e85d..ae2bd8f923 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -257,7 +257,7 @@ DataSet_unsignedInt.o : DataSet_unsignedInt.cpp AssociatedData.h CpptrajFile.h D Deprecated.o : Deprecated.cpp CpptrajStdio.h Deprecated.h DispatchObject.h DihedralSearch.o : DihedralSearch.cpp ArgList.h Atom.h AtomMask.h AtomType.h Box.h Constants.h CoordinateInfo.h CpptrajStdio.h DihedralSearch.h FileName.h Frame.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h StringRoutines.h SymbolExporting.h Topology.h TypeNameHolder.h Unit.h Vec3.h DistRoutines.o : DistRoutines.cpp Box.h DistRoutines.h ImageOption.h Matrix_3x3.h Parallel.h Vec3.h -Energy.o : Energy.cpp Atom.h AtomMask.h AtomType.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajStdio.h DistRoutines.h Energy.h Energy/Ene_Angle.h Energy/Ene_Bond.h ExclusionArray.h FileName.h Frame.h ImageOption.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h TorsionRoutines.h TypeNameHolder.h Unit.h Vec3.h +Energy.o : Energy.cpp Atom.h AtomMask.h AtomType.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajStdio.h DistRoutines.h Energy.h Energy/Ene_Angle.h Energy/Ene_Bond.h Energy/Kernel_Harmonic.h ExclusionArray.h FileName.h Frame.h ImageOption.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h TorsionRoutines.h TypeNameHolder.h Unit.h Vec3.h EnergyArray.o : EnergyArray.cpp CpptrajFile.h CpptrajStdio.h EnergyArray.h FileIO.h FileName.h Parallel.h Energy_Sander.o : Energy_Sander.cpp ArgList.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajStdio.h Energy_Sander.h FileName.h FileTypes.h File_TempName.h Frame.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ParmFile.h Range.h ReplicaDimArray.h Residue.h Segment.h SymbolExporting.h Topology.h TypeNameHolder.h Unit.h Vec3.h EnsembleIn.o : EnsembleIn.cpp Atom.h AtomMask.h Box.h CoordinateInfo.h CpptrajStdio.h EnsembleIn.h FileName.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h Molecule.h NameType.h Parallel.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h Timer.h TrajFrameCounter.h Unit.h Vec3.h From abd1364ab8e80799aa125b300760872490fdfb90 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 14:55:06 -0500 Subject: [PATCH 164/191] Move to subdir --- src/{EnergyKernel_Fourier.h => Energy/Kernel_Fourier.h} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/{EnergyKernel_Fourier.h => Energy/Kernel_Fourier.h} (100%) diff --git a/src/EnergyKernel_Fourier.h b/src/Energy/Kernel_Fourier.h similarity index 100% rename from src/EnergyKernel_Fourier.h rename to src/Energy/Kernel_Fourier.h From cc3973860bb6e51649a0a3b6b1ce000df74e921c Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 14:56:27 -0500 Subject: [PATCH 165/191] Use moved kernel --- src/Energy/Kernel_Fourier.h | 6 +++++- src/Exec_CompareEnergy.cpp | 4 ++-- src/cpptrajdepend | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Energy/Kernel_Fourier.h b/src/Energy/Kernel_Fourier.h index 822fdb7bbc..5d807815c2 100644 --- a/src/Energy/Kernel_Fourier.h +++ b/src/Energy/Kernel_Fourier.h @@ -1,7 +1,11 @@ #ifndef INC_ENERGYKERNEL_FOURIER_H #define INC_ENERGYKERNEL_FOURIER_H -template T EnergyKernel_Fourier(T phi, T Pk, T Pn, T Phase) { +namespace Cpptraj { +namespace Energy { +template T Kernel_Fourier(T phi, T Pk, T Pn, T Phase) { T ene = Pk * (1 + cos(Pn * phi - Phase)); return ene; } +} +} #endif diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index f325a83454..a2c957c95d 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -3,7 +3,7 @@ #include "Exec_CompareEnergy.h" #include "CpptrajStdio.h" #include "DataSet_double.h" -#include "EnergyKernel_Fourier.h" +#include "Energy/Kernel_Fourier.h" #include "Energy/Kernel_Harmonic.h" #include "TorsionRoutines.h" @@ -309,7 +309,7 @@ static inline double EDIHFXN(Frame const& frame0, frame0.XYZ(b0.A2()), frame0.XYZ(b0.A3()), frame0.XYZ(b0.A4()) ); - double ene = EnergyKernel_Fourier( theta, bp0.Pk(), bp0.Pn(), bp0.Phase() ); + double ene = Cpptraj::Energy::Kernel_Fourier( theta, bp0.Pk(), bp0.Pn(), bp0.Phase() ); return ene; } diff --git a/src/cpptrajdepend b/src/cpptrajdepend index ae2bd8f923..1570aabe4c 100644 --- a/src/cpptrajdepend +++ b/src/cpptrajdepend @@ -282,7 +282,7 @@ Exec_ClusterMap.o : Exec_ClusterMap.cpp Action.h ActionList.h ActionState.h Anal Exec_CombineCoords.o : Exec_CombineCoords.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CombineCoords.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_Commands.o : Exec_Commands.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_Commands.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareClusters.o : Exec_CompareClusters.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareClusters.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h -Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h Energy/Kernel_Harmonic.h EnergyKernel_Fourier.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TorsionRoutines.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h +Exec_CompareEnergy.o : Exec_CompareEnergy.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h CharMask.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_1D.h DataSet_Coords.h DataSet_Coords_REF.h DataSet_double.h Dimension.h DispatchObject.h Energy/Kernel_Fourier.h Energy/Kernel_Harmonic.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareEnergy.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OnlineVarT.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TorsionRoutines.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CompareTop.o : Exec_CompareTop.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CompareTop.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdAction.o : Exec_CrdAction.cpp Action.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Cmd.h CmdList.h Command.h CompactFrameArray.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_CRD.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdAction.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h Trajin.h TrajinList.h TrajoutList.h TypeNameHolder.h Unit.h Vec3.h Exec_CrdOut.o : Exec_CrdOut.cpp Action.h ActionFrameCounter.h ActionList.h ActionState.h Analysis.h AnalysisList.h AnalysisState.h ArgList.h AssociatedData.h Atom.h AtomMask.h AtomType.h BaseIOtype.h Box.h Constants.h CoordinateInfo.h CpptrajFile.h CpptrajState.h CpptrajStdio.h DataFile.h DataFileList.h DataSet.h DataSetList.h DataSet_Coords.h DataSet_Coords_REF.h Dimension.h DispatchObject.h EnsembleIn.h EnsembleOutList.h Exec.h Exec_CrdOut.h FileIO.h FileName.h FileTypes.h Frame.h FramePtrArray.h InputTrajCommon.h MaskToken.h Matrix_3x3.h MetaData.h Molecule.h NameType.h OutputTrajCommon.h Parallel.h ParameterHolders.h ParameterSet.h ParameterTypes.h ProgressBar.h Range.h ReferenceFrame.h ReplicaDimArray.h ReplicaInfo.h Residue.h Segment.h SymbolExporting.h TextFormat.h Timer.h Topology.h TrajFrameCounter.h TrajectoryFile.h Trajin.h TrajinList.h TrajoutList.h Trajout_Single.h TypeNameHolder.h Unit.h Vec3.h From 2c4b02aa20d891ee5450be32c40579113a5a1218 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Tue, 15 Nov 2022 14:59:22 -0500 Subject: [PATCH 166/191] Enable the compareenergy test --- test/Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/Makefile b/test/Makefile index ba6266e4ef..c6192864c2 100644 --- a/test/Makefile +++ b/test/Makefile @@ -506,6 +506,9 @@ test.keep: test.hremd: @-cd Test_Ensemble_HREMD && ./RunTest.sh $(OPT) +test.compareenergy: + @-cd Test_CompareEnergy && ./RunTest.sh $(OPT) + # Every test target should go here. COMPLETETESTS=test.general \ test.strip \ @@ -665,7 +668,8 @@ COMPLETETESTS=test.general \ test.ljc \ test.hmassrepartition \ test.prepareforleap \ - test.keep + test.keep \ + test.compareenergy test.all: $(MAKE) test.complete summary From 0345619193486630f9afea30e8fdfb339abcacd2 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 09:13:44 -0500 Subject: [PATCH 167/191] Add amber ene read test --- test/Test_ReadData/RunTest.sh | 11 ++++++++++- test/Test_ReadData/run0.dat.save | 6 ++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 test/Test_ReadData/run0.dat.save diff --git a/test/Test_ReadData/RunTest.sh b/test/Test_ReadData/RunTest.sh index 6559ac3335..9d8655c5a2 100755 --- a/test/Test_ReadData/RunTest.sh +++ b/test/Test_ReadData/RunTest.sh @@ -6,7 +6,7 @@ CleanFiles vector.in v6and7.dat rex-d.dat MD.ene.dat out.dx out.dat \ truncoct.dat out?.dx append.dx append.dat temp.dat \ truncsparse.dat temp2.dat truncoct.dat.save sparse.dat \ xyz.dat v7and6.dat matrix.dat cpptraj.matrix.dat \ - square.matrix.dat + square.matrix.dat run0.dat TESTNAME='Read data tests' @@ -166,6 +166,15 @@ EOF RunCpptraj "$UNITNAME" DoTest ../Test_Matrix/mtest.dat.13.save square.matrix.dat +# Amber energy file read +UNITNAME='Read Amber energy file' +cat > vector.in < Date: Wed, 16 Nov 2022 12:38:59 -0500 Subject: [PATCH 168/191] Add h5md keyword and extension --- doc/cpptraj.bib | 7 +++++++ src/TrajectoryFile.cpp | 1 + 2 files changed, 8 insertions(+) diff --git a/doc/cpptraj.bib b/doc/cpptraj.bib index d595801630..412af4f063 100644 --- a/doc/cpptraj.bib +++ b/doc/cpptraj.bib @@ -437,3 +437,10 @@ @article{Roe2022 issue = {13}, year = {2022} } + +@article{Roe2022a, +author = {Roe, Daniel R. and Brooks, Bernard R.}, +journal = {Protein Science}, +title = {{ Quantifying the Effects of Lossy Compression on Energies Calculated from Molecular Dynamics Trajectories}}, +year = {2022} +} diff --git a/src/TrajectoryFile.cpp b/src/TrajectoryFile.cpp index e3716438ed..c221804e95 100644 --- a/src/TrajectoryFile.cpp +++ b/src/TrajectoryFile.cpp @@ -121,6 +121,7 @@ const FileTypes::KeyToken TrajectoryFile::TF_KeyArray[] = { { XYZ, "xyz", ".xyz" }, { DTR, "dtr", ".dtr" }, { H5, "h5", ".h5" }, + { H5MD, "h5md", ".h5md" }, { UNKNOWN_TRAJ, 0, 0 } }; From eb6a0771abd03186d80e1e19f3b2d2682615e041 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 12:45:24 -0500 Subject: [PATCH 169/191] Add new hdf5 and netcdf options --- doc/cpptraj.lyx | 104 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 99 insertions(+), 5 deletions(-) diff --git a/doc/cpptraj.lyx b/doc/cpptraj.lyx index 8dddcca27d..89128c8fff 100644 --- a/doc/cpptraj.lyx +++ b/doc/cpptraj.lyx @@ -15099,7 +15099,7 @@ Cpptraj currently understands the following trajectory file formats: \begin_layout Standard \align center \begin_inset Tabular - + @@ -15920,7 +15920,7 @@ Read Only - + \begin_inset Text \begin_layout Plain Layout @@ -15929,7 +15929,7 @@ LMOD Conflib \end_inset - + \begin_inset Text \begin_layout Plain Layout @@ -15938,7 +15938,7 @@ conflib \end_inset - + \begin_inset Text \begin_layout Plain Layout @@ -15947,13 +15947,89 @@ conflib \end_inset - + \begin_inset Text \begin_layout Plain Layout Read Only, Detection by extension \end_layout +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +MDTraj H5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +h5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +.h5 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Read Only +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +MDAnalysis H5MD +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +h5md +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +.h5md +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Read Only +\end_layout + \end_inset @@ -17628,6 +17704,24 @@ mdfrc Write only force information in trajectory. mdcrd Write coordinates to trajectory (only required with mdvel/mdfrc). \end_layout +\begin_layout Description +hdf5 Create file as NetCDF4/HDF5 instead of NetCDF4 (classic). +\end_layout + +\begin_layout Description +compress Use compression in NetCDF4/HDF5 file. +\end_layout + +\begin_layout Description +icompress Use lossy compression in NetCDF4/HDF5 file via conversion to integers. +\begin_inset CommandInset citation +LatexCommand citep +key "Roe2022a" +literal "true" + +\end_inset +\end_layout + \end_deeper \begin_layout Subsubsection From 85aa2a6d5969194c3b01e581405b8a68cd4f4620 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 12:48:06 -0500 Subject: [PATCH 170/191] Add amber energy file to table --- doc/cpptraj.lyx | 51 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/doc/cpptraj.lyx b/doc/cpptraj.lyx index 89128c8fff..42c29924d8 100644 --- a/doc/cpptraj.lyx +++ b/doc/cpptraj.lyx @@ -2883,7 +2883,7 @@ status open \begin_layout Plain Layout \align center \begin_inset Tabular - + @@ -3280,6 +3280,53 @@ Energy information, Read Only \begin_inset Text +\begin_layout Plain Layout +Amber Energy File +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +.ene +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +amberene +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +- +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Read Only +\end_layout + +\end_inset + + + + +\begin_inset Text + \begin_layout Plain Layout Amber Evecs \end_layout @@ -17720,6 +17767,8 @@ key "Roe2022a" literal "true" \end_inset + + \end_layout \end_deeper From 871a7954b0316c427d5bf526280c5ace2184d7d0 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 12:50:09 -0500 Subject: [PATCH 171/191] Add name keyword to timecorr --- doc/cpptraj.lyx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/cpptraj.lyx b/doc/cpptraj.lyx index 42c29924d8..56dd976dff 100644 --- a/doc/cpptraj.lyx +++ b/doc/cpptraj.lyx @@ -50358,7 +50358,7 @@ timecorr \end_layout \begin_layout LyX-Code -timecorr vec1 [vec2 ] out +timecorr vec1 [vec2 ] out [name ] \end_layout \begin_layout LyX-Code @@ -50409,6 +50409,14 @@ out Name of file to write output to. \end_layout +\begin_layout Description +[name +\begin_inset space ~ +\end_inset + +] Name of output vector data sets. +\end_layout + \begin_layout Description \series bold From eb252d36ed5c63e593460c88e2d9810d6bb29651 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 12:55:03 -0500 Subject: [PATCH 172/191] Update loadcrd; fix up loadtraj --- doc/cpptraj.lyx | 76 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/doc/cpptraj.lyx b/doc/cpptraj.lyx index 56dd976dff..acfcff526e 100644 --- a/doc/cpptraj.lyx +++ b/doc/cpptraj.lyx @@ -6895,6 +6895,68 @@ loadcrd loadcrd [parm | parmindex<#>] [] [name ] \end_layout +\begin_layout LyX-Code + [prec {single|double} +\end_layout + +\begin_deeper +\begin_layout Description + Trajectory file to load. +\end_layout + +\begin_layout Description +[parm +\begin_inset space ~ +\end_inset + +] Topology filename/tag to associate with trajectory (default + first topology). +\end_layout + +\begin_layout Description +[parmindex +\begin_inset space ~ +\end_inset + +<#>] Index of Topology to associate with trajectory (default 0, first topology). +\end_layout + +\begin_layout Description +[] Additional 'trajin' args; see +\begin_inset CommandInset ref +LatexCommand vref +reference "subsec:cpptraj_trajin" +plural "false" +caps "false" +noprefix "false" + +\end_inset + +. +\end_layout + +\begin_layout Description +[name +\begin_inset space ~ +\end_inset + +] Name of the COORDS set. +\end_layout + +\begin_layout Description +[prec +\begin_inset space ~ +\end_inset + +{single|double}] Load as either a single-precision COORDS set (the default) + or a double-precision FRAMES set (which will use much more memory). +\end_layout + +\end_deeper \begin_layout Standard Immediately load trajectory as a COORDS data set named (default base name of ). @@ -6923,6 +6985,20 @@ loadtraj loadtraj name [] \end_layout +\begin_deeper +\begin_layout Description +name +\begin_inset space ~ +\end_inset + + Name of the TRAJ set. +\end_layout + +\begin_layout Description +[] If specified, trajectory to add to the TRAJ set. +\end_layout + +\end_deeper \begin_layout Standard This command functions in two ways. If is not provided, all currently loaded input trajectories From ec663bdcd5f3a1b5a9c0221f566c3863b8dfd399 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 12:56:25 -0500 Subject: [PATCH 173/191] Fix typo in help --- src/Exec_Change.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Exec_Change.cpp b/src/Exec_Change.cpp index ccf999f58b..7da6f0956a 100644 --- a/src/Exec_Change.cpp +++ b/src/Exec_Change.cpp @@ -16,7 +16,7 @@ void Exec_Change::Help() const "\t atomname from to |\n" "\t addbond [req ] |\n" "\t removebonds [] [out ]}\n" - "\t bondparm [] {setrk|scalerk|setreq|scalereq} \n" + "\t bondparm [] {setrk|scalerk|setreq|scalereq} \n" " Change specified parts of topology or topology of a COORDS data set.\n", DataSetList::TopArgs); } From 5083dd073b382169416653fcd5e0a6460500de1d Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 12:58:42 -0500 Subject: [PATCH 174/191] Add change bondparm entry --- doc/cpptraj.lyx | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/doc/cpptraj.lyx b/doc/cpptraj.lyx index acfcff526e..b56b9f6c59 100644 --- a/doc/cpptraj.lyx +++ b/doc/cpptraj.lyx @@ -13340,7 +13340,12 @@ change [parm | parmindex <#> | <#> | \end_layout \begin_layout LyX-Code - removebonds [] [out ] } + removebonds [] [out ] | +\end_layout + +\begin_layout LyX-Code + bondparm [] {setrk|scalerk|setreq|scalereq} + } \end_layout \begin_deeper @@ -13591,6 +13596,45 @@ removebonds name> '. \end_layout +\end_deeper +\begin_layout Description +bondparm +\begin_inset space ~ +\end_inset + + +\begin_inset space ~ +\end_inset + +[] +\begin_inset space ~ +\end_inset + +{setrk|scalerk|setreq|scalereq} +\begin_inset space ~ +\end_inset + + Modify bond parameters in bonds selected by (and + if specified) by specified . +\end_layout + +\begin_deeper +\begin_layout Description +setrk Set bond force constants to . +\end_layout + +\begin_layout Description +scalerk Scale bond force constants by . +\end_layout + +\begin_layout Description +setreq Set bond equilibrium lengths to . +\end_layout + +\begin_layout Description +scalereq Scale bond equilibirum lengths by . +\end_layout + \end_deeper \end_deeper \begin_layout Standard From 5b1b8f83b3817019ff70429fd9057dfba772d503 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 12:59:41 -0500 Subject: [PATCH 175/191] Add note about dataset cat only working for scalar 1d and string sets. --- doc/cpptraj.lyx | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/cpptraj.lyx b/doc/cpptraj.lyx index b56b9f6c59..26792e6641 100644 --- a/doc/cpptraj.lyx +++ b/doc/cpptraj.lyx @@ -9473,6 +9473,7 @@ cat ... Concatenate two or more data sets into a new data set (optionally named ). + Only works for scalar 1D and string sets. \end_layout \begin_layout Description From d7b311591753b2d49d4704a5661267acdce32fa3 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 13:18:33 -0500 Subject: [PATCH 176/191] Fix potential memory issue and error in ArrayToRangeExpression --- src/StringRoutines.cpp | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/StringRoutines.cpp b/src/StringRoutines.cpp index d8d1649e74..8ef96147c0 100644 --- a/src/StringRoutines.cpp +++ b/src/StringRoutines.cpp @@ -400,17 +400,22 @@ std::string ArrayToRangeExpression(std::vector const& arrayIn, int offsetIn unsigned int idx = 0; while (idx < arrayIn.size()) { unsigned int kdx = idx + 1; - int delta = arrayIn[kdx] - arrayIn[kdx-1]; - while (delta == 1) { - kdx++; - if (kdx == arrayIn.size()) break; - delta = arrayIn[kdx] - arrayIn[kdx-1]; - } - //mprintf("DEBUG: idx= %u kdx= %u array[i]= %i array[k-1]= %i delta= %i\n", - // idx, kdx, arrayIn[idx], arrayIn[kdx-1], delta); - if (delta <= 0) { - mprinterr("Internal Error: ArrayToRangeExpression() requires arrays in increasing order.\n"); - return std::string(""); + if (kdx < arrayIn.size()) { + int delta = arrayIn[kdx] - arrayIn[kdx-1]; + while (delta == 1) { + kdx++; + if (kdx == arrayIn.size()) break; + delta = arrayIn[kdx] - arrayIn[kdx-1]; + } + //mprintf("DEBUG: idx= %u kdx= %u array[i]= %i array[k-1]= %i delta= %i\n", + // idx, kdx, arrayIn[idx], arrayIn[kdx-1], delta); + if (delta <= 0) { + mprinterr("Internal Error: ArrayToRangeExpression() requires arrays in increasing order.\n"); + mprinterr("Internal Error: idx = %u kdx = %u delta = %i\n", idx, kdx, delta); + for (unsigned int ii = 0; ii < arrayIn.size(); ii++) + mprinterr("Internal Error:\t\t[%8u] %8i\n", ii, arrayIn[ii]); + return std::string(""); + } } if (commaGroup > 0) out.append(","); From f6ee6b96839b74e7117f594cf42b6698290dbc60 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 13:19:14 -0500 Subject: [PATCH 177/191] Shorten output so it fits on the page --- doc/cpptraj.lyx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/doc/cpptraj.lyx b/doc/cpptraj.lyx index 26792e6641..13a6701796 100644 --- a/doc/cpptraj.lyx +++ b/doc/cpptraj.lyx @@ -2549,7 +2549,11 @@ set { | \begin_inset space ~ \end_inset -{atoms|residues|molecules|atomnums|resnums|oresnums|molnums} +{atoms|residues|molecules|atomnums|resnums +\end_layout + +\begin_layout Description +|oresnums|molnums} \begin_inset space ~ \end_inset @@ -2660,7 +2664,7 @@ The following input will put a range of residues selected by :LYS: \end_layout \begin_layout LyX-Code -> set SELECTED1 = resnums inmask :LYS +> set SELECTED1 = resnums inmask :1-183&:LYS \end_layout \begin_layout LyX-Code @@ -2668,8 +2672,7 @@ The following input will put a range of residues selected by :LYS: \end_layout \begin_layout LyX-Code - Variable 'SELECTED1' set to '7-8,18,26,44,49,71,79,128,135,151,163,183,193,204- -205,217-218' + Variable 'SELECTED1' set to '7-8,18,26,44,49,71,79,128,135,151,163,183' \end_layout \begin_layout Subsection From d69d7e989572695034917f88833933497e246aa5 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 13:22:18 -0500 Subject: [PATCH 178/191] Minor version bump for addition of NetCDF4/HDF5 support. --- src/Version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Version.h b/src/Version.h index 87b5fb72e0..748564599b 100644 --- a/src/Version.h +++ b/src/Version.h @@ -12,7 +12,7 @@ * Whenever a number that precedes is incremented, all subsequent * numbers should be reset to 0. */ -#define CPPTRAJ_INTERNAL_VERSION "V6.15.2" +#define CPPTRAJ_INTERNAL_VERSION "V6.16.0" /// PYTRAJ relies on this #define CPPTRAJ_VERSION_STRING CPPTRAJ_INTERNAL_VERSION #endif From e87485d7261b6d2ece356c15d3c5cd6b43cac7f3 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 14:10:38 -0500 Subject: [PATCH 179/191] Add missing test file --- test/Test_ReadData/run0.ene | 60 +++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 test/Test_ReadData/run0.ene diff --git a/test/Test_ReadData/run0.ene b/test/Test_ReadData/run0.ene new file mode 100644 index 0000000000..ee7d8caa0b --- /dev/null +++ b/test/Test_ReadData/run0.ene @@ -0,0 +1,60 @@ +L0 Nsteps time(ps) Etot EKinetic +L1 Temp T_solute T_solv Pres_scal_solu +L2 Pres_scal_solv BoxX BoxY BoxZ +L3 volume pres_X pres_Y pres_Z +L4 Pressure EKCoM_x EKCoM_y EKCoM_z +L5 EKComTot VIRIAL_x VIRIAL_y VIRIAL_z +L6 VIRIAL_tot E_pot E_vdw E_el +L7 E_hbon E_bon E_angle E_dih +L8 E_14vdw E_14el E_const E_pol +L9 AV_permMoment AV_indMoment AV_totMoment Density dV/dlambda +L0 100 0.1000000000E+00 -.1535001235E+03 0.1424392559E+03 +L1 0.2546311528E+03 0.2546311528E+03 -.2959393794E+09 0.1000000000E+01 +L2 0.1000000000E+01 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L3 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L4 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L5 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L6 0.0000000000E+00 -.2959393794E+03 -.4804822201E+02 -.7878415073E+03 +L7 0.0000000000E+00 0.2864211004E+02 0.7524618017E+02 0.8064634707E+02 +L8 0.4141649750E+02 0.7146127357E+03 0.0000000000E+00 0.0000000000E+00 +L9 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L0 200 0.2000000000E+00 -.1356630416E+03 0.1398434309E+03 +L1 0.2499907333E+03 0.2499907333E+03 -.2755064725E+09 0.1000000000E+01 +L2 0.1000000000E+01 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L3 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L4 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L5 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L6 0.0000000000E+00 -.2755064725E+03 -.4766885565E+02 -.7849579627E+03 +L7 0.0000000000E+00 0.4282844979E+02 0.8332679252E+02 0.7937280462E+02 +L8 0.4144580777E+02 0.7098845132E+03 0.0000000000E+00 0.0000000000E+00 +L9 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L0 300 0.3000000000E+00 -.1209564581E+03 0.1464017323E+03 +L1 0.2617146632E+03 0.2617146632E+03 -.2673581904E+09 0.1000000000E+01 +L2 0.1000000000E+01 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L3 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L4 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L5 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L6 0.0000000000E+00 -.2673581904E+03 -.4417891246E+02 -.7883927179E+03 +L7 0.0000000000E+00 0.4890797956E+02 0.8193657081E+02 0.7761267551E+02 +L8 0.4224477620E+02 0.7084509165E+03 0.0000000000E+00 0.0000000000E+00 +L9 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L0 400 0.4000000000E+00 -.1100360707E+03 0.1549653998E+03 +L1 0.2770234803E+03 0.2770234803E+03 -.2650014705E+09 0.1000000000E+01 +L2 0.1000000000E+01 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L3 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L4 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L5 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L6 0.0000000000E+00 -.2650014705E+03 -.4872905318E+02 -.8072017288E+03 +L7 0.0000000000E+00 0.3869099376E+02 0.8627094312E+02 0.9078540246E+02 +L8 0.4230733602E+02 0.7189030728E+03 0.0000000000E+00 0.0000000000E+00 +L9 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L0 500 0.5000000000E+00 -.8821157514E+02 0.1712300601E+03 +L1 0.3060989566E+03 0.3060989566E+03 -.2594416352E+09 0.1000000000E+01 +L2 0.1000000000E+01 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L3 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L4 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L5 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 +L6 0.0000000000E+00 -.2594416352E+03 -.4848232269E+02 -.8000931030E+03 +L7 0.0000000000E+00 0.4795460050E+02 0.8261075980E+02 0.9366326430E+02 +L8 0.4389667156E+02 0.7026387260E+03 0.0000000000E+00 0.0000000000E+00 +L9 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 0.0000000000E+00 From aca1df49f2a237f352bcba408673faddd62224cf Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 14:13:27 -0500 Subject: [PATCH 180/191] Pull in netcdf explicitly for cmake. Have configure builds use --buildlibs --- .github/workflows/merge-gate.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/merge-gate.yml b/.github/workflows/merge-gate.yml index cd0eb2be0c..85a986d19a 100644 --- a/.github/workflows/merge-gate.yml +++ b/.github/workflows/merge-gate.yml @@ -63,16 +63,6 @@ jobs: mkdir -p include && mv AmberTools/src/sander/sander.h include mv lib include $HOME - curl -OL ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.6.1.tar.gz - tar -zxf netcdf-4.6.1.tar.gz - cd netcdf-4.6.1 - ./configure --disable-netcdf-4 --disable-dap --disable-doxygen --prefix=$HOME - make -j2 - make install - cd .. - export PATH=$HOME/bin:$PATH - export LD_LIBRARY_PATH=$HOME/lib:${LD_LIBRARY_PATH} - if [ $USE_OPENMP = "yes" ]; then export OPT="openmp" export OMP_NUM_THREADS=4 @@ -105,6 +95,16 @@ jobs: fi if [ "$USE_CMAKE" = "1" ]; then + curl -OL ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.6.1.tar.gz + tar -zxf netcdf-4.6.1.tar.gz + cd netcdf-4.6.1 + ./configure --disable-netcdf-4 --disable-dap --disable-doxygen --prefix=$HOME + make -j2 + make install + cd .. + export PATH=$HOME/bin:$PATH + export LD_LIBRARY_PATH=$HOME/lib:${LD_LIBRARY_PATH} + mkdir build install installdir=$(pwd) cd build @@ -117,7 +117,7 @@ jobs: export PATH=$installdir/bin:$PATH else export LD_LIBRARY_PATH=$HOME/lib:${LD_LIBRARY_PATH} - ./configure --with-netcdf=$HOME ${BUILD_FLAGS} ${COMPILER} + ./configure --buildlibs ${BUILD_FLAGS} ${COMPILER} make -j2 install fi cd test && make $TEST_TYPE From 03ef0a2ad58197642bb12770ca0406ef9d6d2b8d Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 14:21:10 -0500 Subject: [PATCH 181/191] Update estimate; quantization is using rounding --- src/NetcdfFile.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index d0143edefc..751a205f9c 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -939,16 +939,13 @@ int NetcdfFile::SetupCompression(int deflateLevelIn, int icompressIn, int ishuff if (icompressIn > 0) { mprintf("\tSetting NetCDF integer compression for supported variables to %i\n", icompressIn); // Warn about low precision powers - if (icompressIn < 1) { - mprinterr("Error: Integer compression power < 1 not allowed.\n"); - return 1; - } else if (icompressIn < 4) { + if (icompressIn < 4) { mprintf("Warning: Using extremely low precision for integer compression.\n" - "Warning: Energy error will be on the order of 2E-%i kcal/mol/atom\n", icompressIn); + "Warning: Energy error will be on the order of 1E-%i kcal/mol/atom\n", icompressIn); mprintf("Warning: Consider using integer power >= 4.\n"); } else mprintf("Warning: Using lossy compression.\n" - "Warning: Energy error will be on the order of 2E-%i kcal/mol/atom\n", icompressIn); + "Warning: Energy error will be on the order of 1E-%i kcal/mol/atom\n", icompressIn); // Calculate integer compression factors for supported variables err += (calcCompressFactor( intCompressFac_[V_COORDS], icompressIn, "coordinates" )); err += (calcCompressFactor( intCompressFac_[V_VEL], icompressIn, "velocities" )); From 63253eae4a89f536411d72d1beec230af8bd2821 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 14:23:17 -0500 Subject: [PATCH 182/191] Fix formatting error --- src/NetcdfFile.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NetcdfFile.cpp b/src/NetcdfFile.cpp index 751a205f9c..d26508c9c9 100644 --- a/src/NetcdfFile.cpp +++ b/src/NetcdfFile.cpp @@ -995,8 +995,8 @@ const // Loop over dimension chunk sizes for (unsigned int dim = 0; dim != dimids.size(); dim++) { if (tgtDimId == -1 || tgtDimId == dimids[dim]) { - mprintf("DEBUG: '%s' dim %u chunk size = %zu new size= %i\n", - vidDesc_[vtype], dim, chunkSizes[dim], chunkSizes[dim]*chunkFac); + mprintf("DEBUG: '%s' dim %u chunk size = %zu new size= %zu\n", + vidDesc_[vtype], dim, chunkSizes[dim], chunkSizes[dim]*(size_t)chunkFac); // Set new chunk size chunkSizes[dim] *= chunkFac; } From 9578cc64c7e08235e670ac20e43da9f9cc87e66f Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 14:26:50 -0500 Subject: [PATCH 183/191] Protect against z_off_t being unsigned - flagged by LGTM --- src/FileIO_Gzip.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/FileIO_Gzip.cpp b/src/FileIO_Gzip.cpp index b9d2d66e41..e2cc686124 100644 --- a/src/FileIO_Gzip.cpp +++ b/src/FileIO_Gzip.cpp @@ -108,7 +108,7 @@ int FileIO_Gzip::Seek(off_t offset) { //if (origin == SEEK_END) return 1; zipOffset = (z_off_t)offset; - z_off_t uncompressed_pos = gzseek(fp_, zipOffset, SEEK_SET) < 0; + long int uncompressed_pos = gzseek(fp_, zipOffset, SEEK_SET) < 0; if (uncompressed_pos < 0) { mprinterr("Internal Error: FileIO_Gzip::Seek failed, offset = %li\n", (long int)offset); return 1; From e063981e00b73605de63b5c79a10f86e21d9418b Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 14:27:49 -0500 Subject: [PATCH 184/191] Fix arg format --- src/NC_Routines.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NC_Routines.cpp b/src/NC_Routines.cpp index ecac72d432..27a33fd206 100644 --- a/src/NC_Routines.cpp +++ b/src/NC_Routines.cpp @@ -47,7 +47,7 @@ std::string NC::GetAttrText(int ncid, int vid, const char* attribute) { } else if ( xtypep == NC_STRING ) { # ifdef HAS_HDF5 if (attlen > 1) { - mprinterr("Error: Variable attribute %s has %i strings, expected only 1.\n", + mprinterr("Error: Variable attribute %s has %zu strings, expected only 1.\n", attribute, attlen); return attrOut; } From 9e610ade5ed32218ed9889514ce9761f589bfc58 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 14:48:59 -0500 Subject: [PATCH 185/191] Add 'source' command --- .github/workflows/merge-gate.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/merge-gate.yml b/.github/workflows/merge-gate.yml index 85a986d19a..54e51a8117 100644 --- a/.github/workflows/merge-gate.yml +++ b/.github/workflows/merge-gate.yml @@ -118,6 +118,7 @@ jobs: else export LD_LIBRARY_PATH=$HOME/lib:${LD_LIBRARY_PATH} ./configure --buildlibs ${BUILD_FLAGS} ${COMPILER} + source cpptraj.sh make -j2 install fi cd test && make $TEST_TYPE From 95b7855b265a66376dff7aeced8e98319529934b Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 16:03:11 -0500 Subject: [PATCH 186/191] Add -nohdf5 flag --- devtools/ci/appveyor/build.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devtools/ci/appveyor/build.bat b/devtools/ci/appveyor/build.bat index d7f351b7d2..2a8053b823 100644 --- a/devtools/ci/appveyor/build.bat +++ b/devtools/ci/appveyor/build.bat @@ -30,7 +30,7 @@ if %BUILD_TYPE% equ cmake-mingw ( ) if %BUILD_TYPE% equ configure-mingw ( - sh -lc "./configure --with-netcdf=/mingw64/ --with-blas=/mingw64/ -openblas --with-bzlib=/mingw64/ --with-zlib=/mingw64 --with-arpack=/mingw64 --with-readline=/mingw64/ -nofftw3 -shared -windows gnu" || exit /b + sh -lc "./configure -nohdf5 --with-netcdf=/mingw64/ --with-blas=/mingw64/ -openblas --with-bzlib=/mingw64/ --with-zlib=/mingw64 --with-arpack=/mingw64 --with-readline=/mingw64/ -nofftw3 -shared -windows gnu" || exit /b make libcpptraj -j2 || exit /b make install -j2 || exit /b ) From 662b48fceec892f0f508957cf5a3303624289224 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Wed, 16 Nov 2022 16:17:55 -0500 Subject: [PATCH 187/191] Try to fix appveyor build fail with cmake/VS --- src/Traj_H5.h | 1 + src/Traj_H5MD.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/Traj_H5.h b/src/Traj_H5.h index 91ded16971..7834e629bd 100644 --- a/src/Traj_H5.h +++ b/src/Traj_H5.h @@ -1,6 +1,7 @@ #ifndef INC_TRAJ_H5_H #define INC_TRAJ_H5_H #include "TrajectoryIO.h" +#include //namespace H5 { // class H5File; //} diff --git a/src/Traj_H5MD.h b/src/Traj_H5MD.h index f434e95960..a5047156d4 100644 --- a/src/Traj_H5MD.h +++ b/src/Traj_H5MD.h @@ -1,6 +1,7 @@ #ifndef INC_TRAJ_H5MD_H #define INC_TRAJ_H5MD_H #include "TrajectoryIO.h" +#include //namespace H5 { // class H5File; //} From 5386f7405d0903062893d9d10960bf30ad16b3b0 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 17 Nov 2022 08:36:21 -0500 Subject: [PATCH 188/191] Try to use previous VS 2019 image to see if it fixes any of the issues. See https://www.appveyor.com/updates/ 'Visual Studio 2019 image update on November 5, 2022' --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 314325d1ef..922b1182a1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,7 +1,7 @@ platform: - x64 -image: Visual Studio 2019 +image: Previous Visual Studio 2019 clone_folder: c:\projects\cpptraj From 1297a69ceeaa6f5ae51790f90e23d96c9ffc5c19 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 17 Nov 2022 09:03:32 -0500 Subject: [PATCH 189/191] Add missing include algorithm for std::max --- src/DataIO_AmberEne.cpp | 1 + src/Exec_CompareEnergy.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/DataIO_AmberEne.cpp b/src/DataIO_AmberEne.cpp index ba0ed0a102..149c8ba64d 100644 --- a/src/DataIO_AmberEne.cpp +++ b/src/DataIO_AmberEne.cpp @@ -2,6 +2,7 @@ #include "BufferedLine.h" #include "CpptrajStdio.h" #include // atoi, atof +#include // std::max /// CONSTRUCTOR DataIO_AmberEne::DataIO_AmberEne() diff --git a/src/Exec_CompareEnergy.cpp b/src/Exec_CompareEnergy.cpp index a2c957c95d..5040fb092f 100644 --- a/src/Exec_CompareEnergy.cpp +++ b/src/Exec_CompareEnergy.cpp @@ -1,5 +1,6 @@ #include #include // sprintf +#include // std::max #include "Exec_CompareEnergy.h" #include "CpptrajStdio.h" #include "DataSet_double.h" From 3018f544fbe82122a9110c6a1bd329c893445446 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 17 Nov 2022 09:20:32 -0500 Subject: [PATCH 190/191] Change back to z_off_t. Problem was the extra <0. Check should work now. --- src/FileIO_Gzip.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/FileIO_Gzip.cpp b/src/FileIO_Gzip.cpp index e2cc686124..da10d1f245 100644 --- a/src/FileIO_Gzip.cpp +++ b/src/FileIO_Gzip.cpp @@ -108,7 +108,7 @@ int FileIO_Gzip::Seek(off_t offset) { //if (origin == SEEK_END) return 1; zipOffset = (z_off_t)offset; - long int uncompressed_pos = gzseek(fp_, zipOffset, SEEK_SET) < 0; + z_off_t uncompressed_pos = gzseek(fp_, zipOffset, SEEK_SET); if (uncompressed_pos < 0) { mprinterr("Internal Error: FileIO_Gzip::Seek failed, offset = %li\n", (long int)offset); return 1; From 569c940860b893fc6c5430b32de0b28cb62b2869 Mon Sep 17 00:00:00 2001 From: "Daniel R. Roe" Date: Thu, 17 Nov 2022 09:24:27 -0500 Subject: [PATCH 191/191] Fix mkl fftw now that default for fftw is enabled --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index a7baa248eb..5ae28cb40a 100755 --- a/configure +++ b/configure @@ -2025,7 +2025,7 @@ SetupMKL() { LIB_FLAG[$LLAPACK]='' # If no FFTW, try using MKL if [ "$MKL_FFTW" != 'no' ] ; then - if [ "${LIB_STAT[$LFFTW3]}" = 'off' -o "${LIB_STAT[$LFFTW3]}" = 'optional' ] ; then + if [ "${LIB_STAT[$LFFTW3]}" = 'off' -o "${LIB_STAT[$LFFTW3]}" = 'optional' -o "${LIB_STAT[$LFFTW3]}" = 'enabled' ] ; then MKL_FFTW='yes' LIB_STAT[$LFFTW3]='enabled' LIB_FLAG[$LFFTW3]=''