[med-svn] [clearcut] 10/12: New upstream version 1.0.9

Andreas Tille tille at debian.org
Tue Nov 14 07:36:46 UTC 2017


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository clearcut.

commit c372271dea43e2bc02d8570922b10edee80be875
Author: Andreas Tille <tille at debian.org>
Date:   Tue Nov 14 08:35:06 2017 +0100

    New upstream version 1.0.9
---
 LICENSE                             |   35 +
 Makefile                            |  133 +++
 README                              |  154 +++
 TODO                                |   36 +
 clearcut.c                          | 2158 +++++++++++++++++++++++++++++++++++
 clearcut.h                          |  281 +++++
 cmdargs.c                           |  526 +++++++++
 cmdargs.h                           |  113 ++
 common.h                            |  141 +++
 dayhoff.h                           |  100 ++
 debian/changelog                    |   11 -
 debian/clearcut.1                   |   82 --
 debian/compat                       |    1 -
 debian/control                      |   21 -
 debian/copyright                    |   69 --
 debian/docs                         |    1 -
 debian/examples                     |    1 -
 debian/install                      |    1 -
 debian/manpages                     |    1 -
 debian/patches/hardening.patch      |   15 -
 debian/patches/mothur_trivial_patch |   15 -
 debian/patches/series               |    2 -
 debian/rules                        |   14 -
 debian/source/format                |    1 -
 debian/upstream/metadata            |   11 -
 debian/watch                        |    2 -
 dist.c                              |  668 +++++++++++
 dist.h                              |  125 ++
 dmat.c                              |  869 ++++++++++++++
 dmat.h                              |   91 ++
 examples/alignment1.dist            |   10 +
 examples/lower_diag.dist            |    6 +
 examples/symmetric.dist             |    6 +
 examples/treezilla.dist             |  501 ++++++++
 examples/upper_diag.dist            |    6 +
 fasta.c                             |  755 ++++++++++++
 fasta.h                             |   89 ++
 getopt_long.c                       | 2096 ++++++++++++++++++++++++++++++++++
 getopt_long.h                       |   52 +
 prng.c                              |  221 ++++
 prng.h                              |   90 ++
 41 files changed, 9262 insertions(+), 248 deletions(-)

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..6eb6eca
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,35 @@
+
+Unless otherwise noted, the files in the Clearcut distribution are 
+subject to the following license:
+
+
+Copyright (c) 2004,  Luke Sheneman
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without 
+modification, are permitted provided that the following conditions 
+are met:
+
+  + Redistributions of source code must retain the above copyright 
+    notice, this list of conditions and the following disclaimer. 
+  + Redistributions in binary form must reproduce the above copyright 
+    notice, this list of conditions and the following disclaimer in 
+    the documentation and/or other materials provided with the 
+    distribution. 
+  + The names of its contributors may not be used to endorse or promote 
+    products derived  from this software without specific prior 
+    written permission. 
+
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+POSSIBILITY OF SUCH DAMAGE.  
+
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..d8f8d1a
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,133 @@
+#
+# Makefile 
+#
+# $Id: Makefile,v 1.3 2007/11/27 18:33:59 sheneman Exp $
+#
+#
+#*****************************************************************************
+#
+# Copyright (c) 2004,  Luke Sheneman
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without 
+# modification, are permitted provided that the following conditions 
+# are met:
+# 
+#  + Redistributions of source code must retain the above copyright 
+#    notice, this list of conditions and the following disclaimer. 
+#  + Redistributions in binary form must reproduce the above copyright 
+#    notice, this list of conditions and the following disclaimer in 
+#    the documentation and/or other materials provided with the 
+#    distribution. 
+#  + The names of its contributors may not be used to endorse or promote 
+#    products derived from this software without specific prior 
+#    written permission. 
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+# POSSIBILITY OF SUCH DAMAGE.  
+#
+#*****************************************************************************
+#
+# AUTHOR:
+# 
+#   Luke Sheneman
+#   sheneman at cs.uidaho.edu
+#
+#*****************************************************************************
+
+
+# Specify your compiler here
+CC	= gcc
+#CC	= cc
+
+
+# Uncomment the following line to use the GNU getopt_long() instead
+#  of the built-in getopt_long()
+
+#OPTFLAG = -DUSE_GNU
+
+
+############################# THE CFLAGS ####################################
+#
+# NOTE: The optimal selection of compiler flags is important.
+#       Clearcut was written and developed on a Pentium 4 Linux
+#       Computer.  As such, compiler optimization flags for 
+#       recent versions of GCC on the Pentium 4 platform have been
+#       well tested and do make a significant impact on overall 
+#       performance.  
+#  
+#       Several alternative sets of compiler options are listed below.
+#       Customize the compiler flags (CFLAGS) to match your target system.
+#
+
+
+######################## ALL ARCHITECTURES ##################################
+
+# DEFAULT GCC OPTIMIZATION CONFIGURATION (ALL ARCHITECTURES)
+CFLAGS = -O3 -Wall -funroll-loops -fomit-frame-pointer
+
+# BASIC OPTIMIZATION
+#CFLAGS = -O3
+
+######################## INTEL PENTIUM OPTIMIZATIONS ########################
+
+# PENTIUM 4 w/SSE GCC OPTIMIZATIONS.  REQUIRES GCC >= 3.2
+#CFLAGS = -O3 -funroll-loops -march=pentium4 -mcpu=pentium4 -mfpmath=sse -ffast-math -momit-leaf-frame-pointer
+
+# GENERIC i686 OPTIMIZATIONS GCC OPTIMIZATIONS
+#CFLAGS = -O3 -funroll-loops -march=i686 -mcpu=i686 -fomit-frame-pointer
+
+# GENERIC Intel C Compiler (ICC) Optimizations
+#CFLAGS = -O3 -axP -xP -unroll100 -IPF_fp_fast -IPF_fltacc+ -ip
+
+#############################################################################
+
+
+######################### POWER PC OPTIMIZATIONS ############################
+
+# MAC OS X POWER PC OPTIMIZATIONS
+#CFLAGS = -O3 -funroll-loops -fomit-frame-pointer -mcpu=powerpc -mabi=altivec -mtune=powerpc -maltivec
+
+#############################################################################
+
+
+# DEBUGGING COMPILER FLAGS
+#CFLAGS	= -g3 
+
+
+INCDIRS = -I /usr/local/include
+DEPEND  = makedepend
+
+# *** THE LINK FLAGS ***
+#LINKFLAGS = -O3
+LIBS = -lm
+
+SRCS    = clearcut.c dist.c dmat.c fasta.c cmdargs.c prng.c getopt_long.c
+OBJS	= clearcut.o dist.o dmat.o fasta.o cmdargs.o prng.o getopt_long.o
+HDRS    = clearcut.h dist.h dmat.h fasta.h cmdargs.h common.h dayhoff.h getopt_long.h prng.h
+
+all: clearcut
+
+clean:
+	rm -f *.o a.out *.a clearcut
+
+.c.o:   $(SRCS) $(HDRS)
+	$(CC) -c $(INCDIRS) $(CFLAGS) $(OPTFLAG) $(DEFS) $<
+
+clearcut: $(OBJS) $(LIBOBJS)
+	 $(CC) $(LINKFLAGS) -o $@ $(OBJS) $(LIBDIRS) $(LIBS)
+
+
+
+
+
+
diff --git a/README b/README
new file mode 100644
index 0000000..924eec0
--- /dev/null
+++ b/README
@@ -0,0 +1,154 @@
+$Id: README,v 1.3 2006/09/01 04:55:39 sheneman Exp $
+
+******************************************************************************
+
+                       Clearcut :: Relaxed Neighbor Joining
+
+                             (Version 1.0.9, Feb. 2009)
+
+******************************************************************************
+
+INTRODUCTION:
+-------------
+
+Clearcut is the reference implementation for the Relaxed Neighbor Joining (RNJ)
+algorithm by J. Evans, L. Sheneman, and J. Foster from the Initiative
+for Bioinformatics and Evolutionary Studies (IBEST) at the University of 
+Idaho.
+
+Details of RNJ are published here:
+
+  Evans, J., L. Sheneman, and J.A. Foster (2006) Relaxed Neighbor-Joining: 
+  A Fast Distance-Based Phylogenetic Tree Construction Method, 
+  J. Mol. Evol., 62, 785-792
+
+Relaxed Neighbor-Joining (RNJ) is a fast approximation to the 
+Neighbor Joining algorithm originally described in:
+
+  Saitou, N. and M. Nei (1987), The Neighbor-Joining method: A new method
+  for reconstructing phylogenetic trees., Mol. Biol. Evol.  4:406-425
+
+and revised in:
+
+  Studier, J. and K. Keppler (1988), A note on the neighbor-joining
+  algorithm of Saitou and Nei., Mol. Biol. Evol.  5:729-731
+
+
+Whereas traditional Neighbor-Joining has a cubic time complexity with
+respect to the number of input sequences,  Relaxed Neighbor-Joining has 
+a drastically reduced, sub-cubic time complexity for the average case.  
+In addition to being significantly (and asymptotically) 
+more efficient, Relaxed Neighbor-Joining shares some nice theoretical
+properties with Traditional Neighbor-Joining.  In particular, if distances
+are truly additive (self-consistent), RNJ will reconstruct the true tree
+that is consistent with those additive distances.  
+
+For non-additive distances, RNJ will sample the space of similar trees 
+more thoroughly than traditional NJ by greedily joining nodes which
+represent a locally (as opposed to globally) minimum distance between 
+nodes. This results in sampling more trees than it is possible to explore 
+through NJ alone.  Additionally, it has been empirically shown that 
+for non-additive distances, RNJ is capable of reconstructing trees which 
+are nearly qualitatively indistinct from trees built via the conventional 
+Neighbor-Joining algorithm.
+
+******************************************************************************
+
+
+INSTALLING CLEARCUT:
+--------------------
+
+Clearcut was developed and tested primarily under Redhat Linux 7.2 and 
+Redhat Enterprise Linux 3 on the Pentium 3 and Pentium 4 architectures.
+However, Clearcut should compile and run easily on other UNIX and
+UNIX-like operating systems.  For example, clearcut builds cleanly on 
+the Sun Solaris 9 and Apple OS X platforms.
+
+Good compiler optimization can result in an approximate 2X overall speedup 
+for Clearcut.  Compiler optimizations for GCC under Linux on the 
+Pentium 4 architecture have been thoroughly explored.  The Makefile
+included in this distribution has several possible sets of compiler 
+flags available.  Uncomment the appropriate set of compiler flags
+for your particular architecture and compiler combination.  The
+default CFLAGS is set to basic level 3 optimization with gcc, but significant
+additional compiler optimizations are most likely available/desirable.
+
+
+To build Clearcut:
+
+  + Unzip and extract the distribution.
+  + Edit "Makefile" and select the appropriate optimization flags
+  + Type "make" to compile and link clearcut
+  + Type "make install" to install clearcut on your system
+
+
+******************************************************************************
+
+
+RUNNING CLEARCUT:
+-----------------
+	
+Clearcut has a variety of possible command-line arguments.  To see the 
+available arguments, type:  
+
+ $> clearcut --help
+
+Clearcut is capable of reading either a pre-computed distance matrix in
+approximate PHYLIP format, or it can input an alignment in FASTA format.
+In addition to fully symmetric distance matrices, clearcut can parse 
+upper and lower diagonal half-matrices.
+
+Clearcut can build a distance matrix from a Multiple Sequence Alignment (MSA)
+of either DNA or Protein sequences.  When building a distance matrix, 
+percent pairwise differences can be corrected for multiple hits using either
+the Jukes-Cantor or Kimura correction methods as described in:
+
+    Kimura, M. (1980), A simple method for estimating evolutionary
+    rates of base substitutions through comparative studies of
+    nucleotide sequences.  J. Mol. Evol., 16, 111-120
+
+    Kimura, M. (1983), The Neutral Theory of Molecular Evolution.
+    p. 75., Cambridge University Press, Cambridge, England
+
+    Jukes, T.H. (1969), Evolution of protein molecules.  In H.N. Munro (Ed.),
+    Mammalian Protein Metabolism, Volume III, Chapter 24, pp. 21-132. 
+    New York: Academic Press
+	
+
+By default, Clearcut will perform joins in a random fashion in order to 
+minimize systematic algorithmic bias.  This option can be disabled using
+the --norandom runtime option.
+
+By default, Clearcut uses Relaxed Neighbor-Joining, although Traditional
+Neighbor-Joining can be invoked with the --neighbor runtime option.
+	
+
+******************************************************************************
+
+
+AUTHOR/MAINTAINER:
+------------------
+
+
+Clearcut is maintained by:  Luke Sheneman
+                            sheneman at hungry.com
+                            http://bioinformatics.hungry.com
+
+
+Please contact the maintainer with questions, bug reports, and feedback!!
+
+
+
+******************************************************************************
+
+LICENSE:
+--------
+
+Clearcut is distributed under the BSD license, which is described in 
+the LICENSE file that is bundled with this program.
+
+******************************************************************************
+
+
+
+
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..bf764fa
--- /dev/null
+++ b/TODO
@@ -0,0 +1,36 @@
+
+                       TODO for Clearcut
+
+                    Version 1.0.4 -- Nov 2004
+
+                         Luke Sheneman
+                     sheneman at cs.uidaho.edu
+                           11/15/04
+
+----------------------------------------------------------------------
+
+SHORT TERM:
+-----------
+
+1) Add flag to allow matrix output in different formats (upper/lower)
+
+2) Add bootstrapping functionality
+
+3) Retroactively comment code further (in progress)
+
+4) Fix problem where 2nd taxon in dmat can't start with +,-,.
+
+5) Add regression test suite
+
+
+
+LONG TERM:
+----------
+
+1) Combine distance matrix and multiple alignment parser into a
+   single state machine.  This would allow clearcut to autodetect
+   the type of input and the user would not have to specify.
+
+----------------------------------------------------------------------
+
+** See LICENSE file for licensing details for Clearcut.
diff --git a/clearcut.c b/clearcut.c
new file mode 100644
index 0000000..1f5e0b2
--- /dev/null
+++ b/clearcut.c
@@ -0,0 +1,2158 @@
+/*
+ * clearcut.c
+ *
+ * $Id: clearcut.c,v 1.2 2006/08/25 03:58:45 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * An implementation of the Relaxed Neighbor-Joining algorithm 
+ *  of Evans, J., Sheneman, L., and Foster, J.
+ *
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+
+
+#include <stdio.h>
+#include <string.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <math.h>
+#include <time.h>
+#include <sys/time.h>
+#include <float.h>
+
+#include "dist.h"
+#include "dmat.h"
+#include "fasta.h"
+#include "cmdargs.h"
+#include "common.h"
+#include "clearcut.h"
+#include "prng.h"
+
+
+
+/*
+ * main() - 
+ *
+ * The entry point to the program.
+ *
+ */
+int
+main(int argc,
+     char *argv[]) {
+
+  DMAT *dmat;         /* The working distance matrix */
+  DMAT *dmat_backup = NULL;/* A backup distance matrix    */
+  NJ_TREE *tree;      /* The phylogenetic tree       */
+  NJ_ARGS *nj_args;   /* Structure for holding command-line arguments */
+  long int i;
+
+  /* some variables for tracking time */
+  struct timeval tv;
+  unsigned long long startUs, endUs;
+  
+
+  /* check and parse supplied command-line arguments */
+  nj_args = NJ_handle_args(argc, argv);
+  if(!nj_args) {
+    fprintf(stderr, "Clearcut: Error processing command-line arguments.\n");
+    exit(-1);
+  }
+
+  /* for verbose reporting, print the random number seed to stdout */
+  if(nj_args->verbose_flag) {
+    printf("PRNG SEED: %d\n", nj_args->seed);
+  }
+
+  /* Initialize Mersenne Twister PRNG */
+  init_genrand(nj_args->seed);
+
+
+  switch(nj_args->input_mode) {
+
+    /* If the input type is a distance matrix */
+  case NJ_INPUT_MODE_DISTANCE:
+
+    /* parse the distance matrix */
+    dmat = NJ_parse_distance_matrix(nj_args);
+    if(!dmat) {
+      exit(-1);
+    }
+
+    break;
+
+    /* If the input type is a multiple sequence alignment */
+  case NJ_INPUT_MODE_ALIGNED_SEQUENCES:
+
+    /* build a distance matrix from a multiple sequence alignment */
+    dmat = NJ_build_distance_matrix(nj_args);
+    if(!dmat) {
+      fprintf(stderr, "Clearcut: Failed to build distance matrix from alignment.\n");
+      exit(-1);
+    }
+    
+    break;
+
+  default:
+
+    fprintf(stderr, "Clearcut: Could not determine how to process input\n");
+    exit(-1);
+  }
+
+  /*
+   * Output the computed distance matrix,
+   *  if the user specified one.
+   */
+  if(nj_args->matrixout) {
+    NJ_output_matrix(nj_args, dmat);
+  }
+  
+  /* 
+   * If we are going to generate multiple trees from
+   * the same distance matrix, we need to make a backup 
+   * of the original distance matrix.
+   */
+  if(nj_args->ntrees > 1) {
+    dmat_backup = NJ_dup_dmat(dmat);
+  }
+  
+  /* process n trees */
+  for(i=0;i<nj_args->ntrees;i++) {
+    
+    /* 
+     * If the user has specified matrix shuffling, we need 
+     * to randomize the distance matrix
+     */
+    if(nj_args->shuffle) {
+      NJ_shuffle_distance_matrix(dmat);
+    }
+
+    /* RECORD THE PRECISE TIME OF THE START OF THE NEIGHBOR-JOINING */
+    gettimeofday(&tv, NULL);
+    startUs = ((unsigned long long) tv.tv_sec * 1000000ULL)
+      + ((unsigned long long) tv.tv_usec);
+
+    
+    /* 
+     * Invoke either the Relaxed Neighbor-Joining algorithm (default)
+     * or the "traditional" Neighbor-Joining algorithm 
+     */
+    if(nj_args->neighbor) {
+      tree = NJ_neighbor_joining(nj_args, dmat);
+    } else {
+      tree = NJ_relaxed_nj(nj_args, dmat);
+    }
+  
+    if(!tree) {
+      fprintf(stderr, "Clearcut: Failed to construct tree.\n");
+      exit(0);
+    }
+
+    /* RECORD THE PRECISE TIME OF THE END OF THE NEIGHBOR-JOINING */
+    gettimeofday(&tv, NULL);
+    endUs = ((unsigned long long) tv.tv_sec * 1000000ULL)
+      + ((unsigned long long) tv.tv_usec);
+
+    /* print the time taken to perform the neighbor join */
+    if(nj_args->verbose_flag) {
+      if(nj_args->neighbor) {
+	fprintf(stderr, "NJ tree built in %llu.%06llu secs\n",
+		(endUs - startUs) / 1000000ULL,
+		(endUs - startUs) % 1000000ULL);
+      } else { 
+	fprintf(stderr, "RNJ tree built in %llu.%06llu secs\n",
+		(endUs - startUs) / 1000000ULL,
+		(endUs - startUs) % 1000000ULL);
+      }
+    }
+
+    /* Output the neighbor joining tree here */
+    NJ_output_tree(nj_args, tree, dmat, i);
+    
+    NJ_free_tree(tree);  /* Free the tree */
+    NJ_free_dmat(dmat);  /* Free the working distance matrix */
+
+    /* 
+     * If we need to do another iteration, lets re-initialize 
+     * our working distance matrix.
+     */
+    if(nj_args->ntrees > 1 && i<(nj_args->ntrees-1) ) {
+      dmat = NJ_dup_dmat(dmat_backup);
+    }
+  }
+  
+  /* Free the backup distance matrix */
+  if(nj_args->ntrees > 1) {
+    NJ_free_dmat(dmat_backup);
+  }
+
+  /* If verbosity, describe where the tree output is */
+  if(nj_args->verbose_flag) {
+    if(nj_args->neighbor) {
+      printf("NJ tree(s) in %s\n", nj_args->outfilename);
+    } else {
+      printf("Relaxed NJ tree(s) in %s\n", nj_args->outfilename);
+    }
+  }
+
+  exit(0);
+}
+
+
+
+
+
+/*
+ * NJ_find_hmin() - Find minimum transformed values along horizontal
+ * 
+ * 
+ * INPUTS:
+ * -------
+ *      dmat -- The distance matrix
+ *         a -- The index of the specific taxon in the distance matrix
+ *
+ * RETURNS:
+ * --------
+ *   <float> -- The value of the selected minimum
+ *       min -- Used to transport the index of the minima out 
+ *              of the function (by reference)
+ * hmincount -- Return the number of minima along the horizontal
+ *              (by reference)
+ *
+ *
+ * DESCRIPTION:
+ * ------------
+ *
+ * A fast, inline function to find the smallest transformed value 
+ * along the "horizontal" portion of an entry in a distance matrix.
+ *
+ * Distance matrices are stored internally as continguously-allocated
+ * upper-diagonal structures.  With the exception of the taxa at
+ * row 0 of this upper-diagonal matrix, all taxa have both a horizontal
+ * and vertical component in the distance matrix.  This function
+ * scans the horizonal portion of the entry in the distance matrix
+ * for the specified taxon and finds the minimum transformed value
+ * along that horizontal component.
+ *
+ * Since multiple minima can exist along the horizontal portion
+ * of the entry, I consider all minima and break ties
+ * stochastically to help avoid systematic bias.
+ *
+ * Just searching along the horizontal portion of a row is very fast
+ * since the data is stored linearly and contiguously in memory and 
+ * cache locality is exploited in the distance matrix representation. 
+ *
+ * Look at nj.h for more information on how the distance matrix 
+ * is architected.
+ * 
+ */
+static inline
+float
+NJ_find_hmin(DMAT *dmat,
+	     long int a,
+	     long int *min,
+	     long int *hmincount) {
+
+  long int i;     /* index variable for looping                    */
+  int size;       /* current size of distance matrix               */
+  int mindex = 0; /* holds the current index to the chosen minimum */
+  float curval;   /* used to hold current transformed values       */
+  float hmin;     /* the value of the transformed minimum          */
+
+  float *ptr, *r2, *val;  /* pointers used to reduce dereferencing in inner loop */
+
+  /* values used for stochastic selection among multiple minima */
+  float p, x;  
+  long int smallcnt;
+
+  /* initialize the min to something large */
+  hmin = (float)HUGE_VAL;
+
+  /* setup some pointers to limit dereferencing later */
+  r2       = dmat->r2;
+  val      = dmat->val;
+  size     = dmat->size;
+
+  /* initialize values associated with minima tie breaking */
+  p        = 1.0;
+  smallcnt = 0;
+  
+  
+  ptr = &(val[NJ_MAP(a, a+1, size)]);   /* at the start of the horiz. part */
+  for(i=a+1;i<size;i++) {
+
+    curval = *(ptr++) - (r2[a] + r2[i]);  /* compute transformed distance */
+    
+    if(NJ_FLT_EQ(curval, hmin)) {  /* approx. equal */
+      
+      smallcnt++;
+
+      p = 1.0/(float)smallcnt;
+      x = genrand_real2();
+      
+      /* select this minimum in a way which is proportional to 
+	 the number of minima found along the row so far */
+      if( x < p ) {
+	mindex = i;
+      }
+
+    } else if (curval < hmin) {
+
+      smallcnt = 1;
+      hmin = curval;
+      mindex = i;
+    }
+  }
+  
+  /* save off the the minimum index to be returned via reference */
+  *min = mindex;
+  
+  /* save off the number of minima */
+  *hmincount = smallcnt;
+  
+  /* return the value of the smallest tranformed distance */
+  return(hmin);
+}
+
+
+
+
+
+
+
+
+/*
+ * NJ_find_vmin() - Find minimum transformed distance along vertical
+ *
+ * 
+ * INPUTS:
+ * -------
+ *      dmat -- The distance matrix
+ *         a -- The index of the specific taxon in the distance matrix
+ *
+ *
+ * RETURNS:
+ * --------
+ *   <float> -- The value of the selected minimum
+ *       min -- Used to transport the index of the minima out 
+ *              of the function (by reference)
+ * vmincount -- The number of minima along the vertical
+ *              return by reference.
+ *
+ * DESCRIPTION:
+ * ------------
+ *
+ * A fast, inline function to find the smallest transformed value 
+ * along the "vertical" portion of an entry in a distance matrix.
+ *
+ * Distance matrices are stored internally as continguously-allocated
+ * upper-diagonal matrices.  With the exception of the taxa at
+ * row 0 of this upper-diagonal matrix, all taxa have both a horizontal
+ * and vertical component in the distance matrix.  This function
+ * scans the vertical portion of the entry in the distance matrix
+ * for the specified taxon and finds the minimum transformed value
+ * along that vertical component.
+ *
+ * Since multiple minima can exist along the vertical portion
+ * of the entry, I consider all minima and break ties
+ * stochastically to help avoid systematic bias.
+ *
+ * Due to cache locality reasons, searching along the vertical
+ * component is going to be considerably slower than searching
+ * along the horizontal.
+ *
+ * Look at nj.h for more information on how the distance matrix 
+ * is architected.
+ * 
+ */
+static inline
+float
+NJ_find_vmin(DMAT *dmat,
+	     long int a,
+	     long int *min,
+	     long int *vmincount) {
+
+  long int i;         /* index variable used for looping */
+  long int size;      /* track the size of the matrix    */
+  long int mindex = 0;/* track the index to the minimum  */
+  float curval;       /* track value of current transformed distance  */
+  float vmin;         /* the index to the smallest "vertical" minimum */
+
+  /* pointers which are used to reduce pointer dereferencing in inner loop */
+  float *ptr, *r2, *val;
+
+  /* values used in stochastically breaking ties */
+  float p, x;
+  long int smallcnt;
+
+  /* initialize the vertical min to something really big */
+  vmin = (float)HUGE_VAL;
+
+  /* save off some values to limit dereferencing later */
+  r2       = dmat->r2;
+  val      = dmat->val;
+  size     = dmat->size;
+
+  p        = 1.0;
+  smallcnt = 0;
+
+  /* start on the first row and work down */
+  ptr = &(val[NJ_MAP(0, a, size)]);  
+  for(i=0;i<a;i++) {
+
+    curval = *ptr - (r2[i] + r2[a]);  /* compute transformed distance */
+    
+    if(NJ_FLT_EQ(curval, vmin)) {  /* approx. equal */
+      
+      smallcnt++;
+
+      p = 1.0/(float)smallcnt;
+      x = genrand_real2();
+
+      /* break ties stochastically to avoid systematic bias */
+      if( x < p ) {
+	mindex = i;
+      }
+
+    } else if (curval < vmin) {
+
+      smallcnt = 1;
+      vmin = curval;
+      mindex = i;
+    }
+
+    /* increment our working pointer to the next row down */
+    ptr += size-i-1;
+  }
+
+  /* pass back the index to the minimum found so far (by reference) */
+  *min = mindex;
+  
+  /* pass back the number of minima along the vertical */
+  *vmincount = smallcnt;
+
+  /* return the value of the smallest transformed distance */
+  return(vmin);
+}
+
+
+
+
+/*
+ * NJ_permute() - Generate random permutation using the provably unbiased
+ *                Fisher-Yates Shuffle.
+ *
+ * INPUTS:
+ * -------
+ *   perm -- A pointer to the array of long ints which will be filled.
+ *   size -- the length of the permutation vector 
+ *
+ *
+ * OUTPUTS:
+ * -------
+ *   NONE
+ *
+ *
+ * DESCRIPTION:
+ * ------------
+ *
+ * Return a permuted list of numbers from 0 through size.
+ * This is accomplished by initializing the permutation 
+ * as an ordered list of integers and then iterating 
+ * through and swapping two values selected according to the
+ * Fisher-Yates method.
+ *
+ * This unbiased method for random permutation generation is 
+ * discussed in:
+ *
+ *     Donald E. Knuth, The Art of Computer Programming, 
+ *     Addison-Wesley, Volumes 1, 2, and 3, 3rd edition, 1998
+ *
+ */
+static inline
+void
+NJ_permute(long int *perm,
+	   long int size) {
+  
+  long int i;     /* index used for looping */
+  long int swap;  /* we swap values to generate permutation */
+  long int tmp;   /* used for swapping values */
+
+
+  /* check to see if vector of long ints is valid */
+  if(!perm) {
+    fprintf(stderr, "Clearcut: NULL permutation pointer in NJ_permute()\n");
+    exit(-1);
+  }
+  
+  /* init permutation as an ordered list of integers */
+  for(i=0;i<size;i++) {
+    perm[i] = i;
+  }
+
+  /* 
+   * Iterate across the array from i = 0 to size -1, swapping ith element
+   * with a randomly chosen element from a changing range of possible values
+   */
+  for(i=0;i<size;i++) {
+
+    /* choose which element we will swap with */
+    swap = i + NJ_genrand_int31_top(size-i);
+
+    /* swap elements here */
+    if(i != swap) {
+      tmp        = perm[swap];
+      perm[swap] = perm[i];
+      perm[i]    = tmp;
+    }
+  }
+  
+  return;
+}
+
+
+
+
+
+/*
+ * NJ_compute_r() - Compute post-join changes to r-vector.  In this
+ *                  case, we decrement all of the accumulated distances
+ *                  in the r-vector for the two nodes that were
+ *                  recently joined (i.e.  x, y)
+ *
+ * INPUTS:
+ * -------
+ *   dmat -- The distance matrix 
+ *      a -- The index of one of the taxa that were joined
+ *      b -- The index of the other taxa that was joined
+ *
+ * RETURNS:
+ * --------
+ *   NONE
+ * 
+ * DESCRIPTION:
+ * ------------
+ *   
+ * This vector of floats is used as a summary of overall distances from
+ * each entry in the distance matrix to every other entry.  These values
+ * are then used when computing the transformed distances from which
+ * decisions concerning joining are made.
+ *
+ * For speed, we don't recompute r from scratch.  Instead, we decrement
+ * all entries in r by the appropriate amount.  That is, r[i] -= dist(i, a)
+ * and r[i] -= dist(i, b).
+ *
+ * As a speed optimization, I process the rows altogether for cache locality
+ * purposes, and then process columns.
+ *
+ * The processing of the scaled r matrix (r2) is handled on-the-fly elsewhere.
+ *  
+ */
+static inline
+void
+NJ_compute_r(DMAT *dmat,
+	     long int a,
+	     long int b) {
+  
+  long int i;         /* a variable used in indexing */
+  float *ptrx, *ptry; /* pointers into the distance matrix */
+  
+  /* some variables to limit pointer dereferencing in loop */
+  long int size; 
+  float *r, *val;
+  
+  /* to limit pointer dereferencing */
+  size = dmat->size;
+  val  = dmat->val;
+  r    = dmat->r+a+1;
+
+  /* 
+   * Loop through the rows and decrement the stored r values 
+   * by the distances stored in the rows and columns of the distance 
+   * matrix which are being removed post-join.
+   *
+   * We do the rows altogether in order to benefit from cache locality.
+   */
+  ptrx = &(val[NJ_MAP(a, a+1, size)]); 
+  ptry = &(val[NJ_MAP(b, b+1, size)]); 
+
+  for(i=a+1;i<size;i++) {
+    *r -= *(ptrx++);  
+
+    if(i>b) {
+      *r -= *(ptry++); 
+    }
+
+    r++;
+  }
+
+  /* Similar to the above loop, we now do the columns */
+  ptrx = &(val[NJ_MAP(0, a, size)]);  
+  ptry = &(val[NJ_MAP(0, b, size)]);  
+  r = dmat->r;
+  for(i=0;i<b;i++) {
+    if(i<a) {
+      *r -= *ptrx;
+      ptrx += size-i-1;
+    }
+
+    *r -= *ptry;
+    ptry += size-i-1;
+    r++;
+  }
+
+  return;
+}
+
+
+
+
+
+/*
+ * NJ_check_additivity() - Check to make sure that addivity preserved by join
+ *
+ *
+ * INPUTS:
+ * -------
+ *    dmat -- distance matrix
+ *       a -- index into dmat for one of the rows to be joined
+ *       b -- index into dmat for another row to be joined
+ *
+ * OUTPUTS:
+ * --------
+ *     int    1 if join adheres to additivity constraint
+ *            0 if join does breaks additivity
+ *
+ * DESCRIPTION:
+ * ------------
+ *
+ * Here we perform the check to make sure that by joining a and b we do not 
+ * also break consistency (i.e. preserves additivity) with the distances between 
+ * the taxa in the new clade and other nodes in the tree.  This is done quite
+ * efficiently by looking up the untransformed distance between node b and 
+ * some other "target" taxa in the distance matrix (which is not a nor b) and 
+ * comparing that distance to the distance computed by finding the distance 
+ * from node a to the proposed internal node "x" which joins (a,b).  
+ *
+ * If dist(x,b) + dist (b, target) == dist(b, target) then additivity is 
+ * preserved, otherwise, additivity is not preserved.  If we are in 
+ * additivity mode, this join should be rejected.
+ *
+ */
+static inline
+int
+NJ_check_additivity(DMAT *dmat,
+		    long int a,
+		    long int b) {
+
+  float a2clade, b2clade;
+  float clade_dist;
+  long int target;
+
+
+  /* determine target taxon here */
+  if(b == dmat->size-1) {
+    /* if we can't do a row here, lets do a column */
+    if(a==0) {
+      if(b==1) {
+	target = 2;
+      } else {
+	target = 1;
+      }
+    } else {
+      target = 0;
+    }
+  } else {
+    target = b+1;
+  }
+
+
+  /* distance between a and the root of clade (a,b) */
+  a2clade = 
+    ( (dmat->val[NJ_MAP(a, b, dmat->size)]) + 
+      (dmat->r2[a] - dmat->r2[b]) ) / 2.0;  
+  
+  /* distance between b and the root of clade (a,b) */
+  b2clade = 
+    ( (dmat->val[NJ_MAP(a, b, dmat->size)]) + 
+      (dmat->r2[b] - dmat->r2[a]) ) / 2.0;  
+
+  /* distance between the clade (a,b) and the target taxon */
+  if(b<target) {
+
+    /* compute the distance from the clade root to the target */
+    clade_dist = 
+      ( (dmat->val[NJ_MAP(a, target, dmat->size)] - a2clade) +
+	(dmat->val[NJ_MAP(b, target, dmat->size)] - b2clade) ) / 2.0;
+    
+    /* 
+     * Check to see that distance from clade root to target + distance from 
+     *  b to clade root are equal to the distance from b to the target 
+     */
+    if(NJ_FLT_EQ(dmat->val[NJ_MAP(b, target, dmat->size)], 
+		 (clade_dist + b2clade))) {
+      return(1);  /* join is legitimate   */
+    } else {
+      return(0);  /* join is illigitimate */
+    }
+    
+  } else {
+
+    /* compute the distance from the clade root to the target */
+    clade_dist = 
+      ( (dmat->val[NJ_MAP(target, a, dmat->size)] - a2clade) +
+	(dmat->val[NJ_MAP(target, b, dmat->size)] - b2clade) ) / 2.0;
+
+    /* 
+     * Check to see that distance from clade root to target + distance from 
+     *  b to clade root are equal to the distance from b to the target 
+     */
+    if(NJ_FLT_EQ(dmat->val[NJ_MAP(target, b, dmat->size)], 
+		 (clade_dist + b2clade))) {
+      return(1);  /* join is legitimate   */
+    } else {
+      return(0);  /* join is illegitimate */
+    }
+  }
+}
+
+
+
+
+
+
+
+/*
+ * NJ_check() - Check to see if two taxa can be joined
+
+ *
+ * INPUTS:
+ * -------
+ * nj_args    -- Pointer to the data structure holding command-line args
+ *    dmat    -- distance matrix
+ *       a    -- index into dmat for one of the rows to be joined
+ *       b    -- index into dmat for another row to be joined
+ *     min    -- the minimum value found
+ * additivity -- a flag (0 = not additive mode, 1 = additive mode)
+ *
+ * OUTPUTS:
+ * --------
+ *     int    1 if join is okay
+ *            0 if join is not okay
+ *
+ * DESCRIPTION:
+ * ------------
+ *
+ * This function ultimately takes two rows and makes sure that the 
+ * intersection of those two rows, which has a transformed distance of
+ * "min", is actually the smallest (or equal to the smallest) 
+ * transformed distance for both rows (a, b).  If so, it returns
+ * 1, else it returns 0.  
+ *
+ * Basically, we want to join two rows only if the minimum 
+ * transformed distance on either row is at the intersection of
+ * those two rows.
+ *
+ */
+static inline
+int 
+NJ_check(NJ_ARGS *nj_args,
+	 DMAT *dmat,
+	 long int a,
+	 long int b,
+	 float min,
+	 int additivity) {
+
+
+  long int i, size;
+  float *ptr, *val, *r2;
+  
+
+  /* some aliases for speed and readability reasons */
+  val  = dmat->val;
+  r2   = dmat->r2;
+  size = dmat->size;
+
+
+  /* now determine if joining a, b will result in broken distances */
+  if(additivity) {
+    if(!NJ_check_additivity(dmat, a, b)) {
+      return(0);
+    }
+  }
+
+  /* scan the horizontal of row b, punt if anything < min */
+  ptr = &(val[NJ_MAP(b, b+1, size)]);  
+  for(i=b+1;i<size;i++) {
+    if( NJ_FLT_LT( (*ptr - (r2[b] + r2[i])), min) ) {
+      return(0);
+    }
+    ptr++;
+  }
+
+  /* scan the vertical component of row a, punt if anything < min */
+  if(nj_args->norandom) {  /* if we are doing random joins, we checked this */
+    ptr = val + a;
+    for(i=0;i<a;i++) {
+      if( NJ_FLT_LT( (*ptr - (r2[i] + r2[a])), min) ) {
+	return(0);
+      }
+      ptr += size-i-1;
+    }
+  }
+
+  /* scan the vertical component of row b, punt if anything < min */
+  ptr = val + b;
+  for(i=0;i<b;i++) {
+    if( NJ_FLT_LT( (*ptr - (r2[i] + r2[b])), min) && i!=a) {
+      return(0);
+    }
+    ptr += size-i-1;
+  }
+
+  return(1);
+}
+
+
+
+
+
+
+
+/*
+ * NJ_collapse() - Collapse the distance matrix by removing 
+ *                 rows a and b from the distance matrix and
+ *                 replacing them with a single new row which 
+ *                 represents the internal node joining a and b
+ *
+ *
+ * INPUTS:
+ * -------
+ *   dmat -- A pointer to the distance matrix
+ * vertex -- A pointer to the vertex vector (vector of tree nodes)
+ *           which is used in constructing the tree
+ *      a -- An index to a row in the distance matrix from which we
+ *           joined.  This row will be collapsed.
+ *      b -- An index to a row in the distance matrix from which we
+ *           joined.  This row will be collapsed.
+ *
+ * RETURNS:
+ * --------
+ *   NONE
+ *
+ *
+ * DESCRIPTION:
+ * ------------
+ *
+ * This function collapses the distance matrix in a way which optimizes
+ * cache locality and ultimately gives us a speed improvement due to
+ * cache.   At this point, we've decided to join rows a and b from
+ * the distance matrix.  We will remove rows a and b from the distance  
+ * matrix and replace them with a new row which represents the internal
+ * node which joins rows a and b together. 
+ * 
+ * We always keep the matrix as compact as possible in order to 
+ * get good performance from our cache in subsequent operations.  Cache
+ * is the key to good performance here.  
+ * 
+ * Key Steps:
+ * ----------
+ * 
+ *  1)  Fill the "a" row with the new distances of the internal node
+ *      joining a and b to all other rows.  
+ *  2)  Copy row 0 into what was row b
+ *  3)  Increment the pointer to the start of the distance matrix
+ *      by one row.
+ *  4)  Decrement the size of the matrix by one row.
+ *  5)  Do roughly the same thing to the r vector in order to
+ *      keep it in sync with the distance matrix.
+ *  6)  Compute the scaled r vector (r2) based on the updated
+ *      r vector
+ *
+ * This keeps the distance matrix as compact as possible in memory, and
+ * is a relatively fast operation. 
+ *
+ * This function requires that a < b
+ *
+ */
+static inline
+void
+NJ_collapse(DMAT *dmat,
+	    NJ_VERTEX *vertex,
+	    long int a,
+	    long int b) {
+
+
+  long int i;     /* index used for looping */
+  long int size;  /* size of dmat --> reduce pointer dereferencing */
+  float a2clade;  /* distance from a to the new node that joins a and b */
+  float b2clade;  /* distance from b to the new node that joins a and b */
+  float cval;     /* stores distance information during loop */
+  float *vptr;    /* pointer to elements in first row of dist matrix */
+  float *ptra;    /* pointer to elements in row a of distance matrix */
+  float *ptrb;    /* pointer to elements in row b of distance matrix */
+
+  float *val, *r, *r2;  /* simply used to limit pointer dereferencing */
+
+
+  /* We must assume that a < b */
+  if(a >= b) {
+    fprintf(stderr, "Clearcut: (a<b) constraint check failed in NJ_collapse()\n");
+    exit(0);
+  }
+
+  /* some shortcuts to help limit dereferencing */
+  val  = dmat->val;
+  r    = dmat->r;
+  r2   = dmat->r2;
+  size = dmat->size;
+
+  /* compute the distance from the clade components (a, b) to the new node */
+  a2clade = 
+    ( (val[NJ_MAP(a, b, size)]) + (dmat->r2[a] - dmat->r2[b]) ) / 2.0;  
+  b2clade = 
+    ( (val[NJ_MAP(a, b, size)]) + (dmat->r2[b] - dmat->r2[a]) ) / 2.0;  
+
+
+  r[a] = 0.0;  /* we are removing row a, so clear dist. in r */
+
+  /* 
+   * Fill the horizontal part of the "a" row and finish computing r and r2 
+   * we handle the horizontal component first to maximize cache locality
+   */
+  ptra = &(val[NJ_MAP(a,   a+1, size)]);   /* start ptra at the horiz. of a  */
+  ptrb = &(val[NJ_MAP(a+1, b,   size)]);   /* start ptrb at comparable place */
+  for(i=a+1;i<size;i++) {
+
+    /* 
+     * Compute distance from new internal node to others in 
+     * the distance matrix.
+     */
+    cval = 
+      ( (*ptra - a2clade) +
+	(*ptrb - b2clade) ) / 2.0;
+
+    /* incr.  row b pointer differently depending on where i is in loop */
+    if(i<b) {
+      ptrb += size-i-1;  /* traverse vertically  by incrementing by row */
+    } else {
+      ptrb++;            /* traverse horiz. by incrementing by column   */
+    }
+
+    /* assign the newly computed distance and increment a ptr by a column */
+    *(ptra++) = cval;  
+
+    /* accumulate the distance onto the r vector */
+    r[a] += cval;
+    r[i] += cval;
+    
+    /* scale r2 on the fly here */
+    r2[i] = r[i]/(float)(size-3);
+  }
+
+  /* fill the vertical part of the "a" column and finish computing r and r2 */ 
+  ptra = val + a;  /* start at the top of the columb for "a" */
+  ptrb = val + b;  /* start at the top of the columb for "b" */
+  for(i=0;i<a;i++) {
+
+    /* 
+     * Compute distance from new internal node to others in 
+     * the distance matrix.
+     */
+    cval = 
+      ( (*ptra - a2clade) + 
+	(*ptrb - b2clade) ) / 2.0;
+    
+    /* assign the newly computed distance and increment a ptr by a column */
+    *ptra = cval;
+
+    /* accumulate the distance onto the r vector */
+    r[a] += cval;
+    r[i] += cval;
+
+    /* scale r2 on the fly here */
+    r2[i] = r[i]/(float)(size-3);
+
+    /* here, always increment by an entire row */
+    ptra += size-i-1;
+    ptrb += size-i-1;
+  }
+
+
+  /* scale r2 on the fly here */
+  r2[a] = r[a]/(float)(size-3);
+
+
+
+  /* 
+   * Copy row 0 into row b.  Again, the code is structured into two 
+   * loops to maximize cache locality for writes along the horizontal
+   * component of row b.
+   */
+  vptr = val;
+  ptrb = val + b;
+  for(i=0;i<b;i++) {
+    *ptrb = *(vptr++);
+    ptrb += size-i-1;
+  }
+  vptr++;  /* skip over the diagonal */
+  ptrb = &(val[NJ_MAP(b, b+1, size)]); 
+  for(i=b+1;i<size;i++) {
+    *(ptrb++) = *(vptr++);
+  }
+
+  /* 
+   * Collapse r here by copying contents of r[0] into r[b] and
+   * incrementing pointer to the beginning of r by one row
+   */
+  r[b]    = r[0];
+  dmat->r = r+1;
+
+
+  /* 
+   * Collapse r2 here by copying contents of r2[0] into r2[b] and
+   * incrementing pointer to the beginning of r2 by one row
+   */
+  r2[b]    = r2[0];
+  dmat->r2 = r2+1;
+
+  /* increment dmat pointer to next row */
+  dmat->val += size;
+  
+  /* decrement the total size of the distance matrix by one row */
+  dmat->size--;
+
+  return;
+}
+
+
+
+
+
+
+
+
+
+/*
+ * NJ_neighbor_joining() - Perform a traditional Neighbor-Joining
+ *
+ *
+ * INPUTS:
+ * -------
+ *  nj_args -- A pointer to a structure containing the command-line arguments
+ *     dmat -- A pointer to the distance matrix
+ *
+ * RETURNS:
+ * --------
+ *   NJ_TREE * -- A pointer to the Neighbor-Joining tree.
+ *
+ * DESCRIPTION:
+ * ------------
+ *
+ * This function performs a traditional Neighbor-Joining operation in which
+ * the distance matrix is exhaustively searched for the global minimum 
+ * transformed distance.  The two nodes which intersect at the global
+ * minimum transformed distance are then joined and the distance
+ * matrix is collapsed.  This process continues until there are only
+ * two nodes left, at which point those nodes are joined.
+ *
+ */
+NJ_TREE *
+NJ_neighbor_joining(NJ_ARGS *nj_args,
+		    DMAT *dmat) {
+
+  
+  NJ_TREE   *tree = NULL;
+  NJ_VERTEX *vertex = NULL;
+
+  long int a, b;
+  float min;
+    
+
+  /* initialize the r and r2 vectors */
+  NJ_init_r(dmat);
+
+  /* allocate and initialize our vertex vector used for tree construction */
+  vertex = NJ_init_vertex(dmat);
+  if(!vertex) {
+    fprintf(stderr, "Clearcut:  Could not initialize vertex in NJ_neighbor_joining()\n");
+    return(NULL);
+  }
+  
+  /* we iterate until the working distance matrix has only 2 entries */
+  while(vertex->nactive > 2) {
+ 
+    /* 
+     * Find the global minimum transformed distance from the distance matrix
+     */
+    min = NJ_min_transform(dmat, &a, &b);
+
+    /* 
+     * Build the tree by removing nodes a and b from the vertex array
+     * and inserting a new internal node which joins a and b.  Collapse
+     * the vertex array similarly to how the distance matrix and r and r2 
+     * are compacted. 
+     */
+    NJ_decompose(dmat, vertex, a, b, 0);
+
+    /* decrement the r and r2 vectors by the distances corresponding to a, b */
+    NJ_compute_r(dmat, a, b);
+
+    /* compact the distance matrix and the r and r2 vectors */
+    NJ_collapse(dmat, vertex, a, b);
+  }
+  
+  /* Properly join the last two nodes on the vertex list */
+  tree = NJ_decompose(dmat, vertex, 0, 1, NJ_LAST);
+
+  /* return the computed tree to the calling function */
+  return(tree);
+}
+
+
+
+
+
+
+
+
+/*
+ * NJ_relaxed_nj() -  Construct a tree using the Relaxed Neighbor-Joining
+ *
+ * INPUTS:
+ * -------
+ *   nj_args -- A pointer to a data structure containing the command-line args
+ *      dmat -- A pointer to the distance matrix
+ *
+ * RETURNS:
+ * --------
+ *
+ *   NJ_TREE * -- A pointer to a Relaxed Neighbor-Joining tree
+ *
+ * DESCRIPTION:
+ * ------------
+ *
+ * This function implements the Relaxed Neighbor-Joining algorithm of
+ *  Evans, J., Sheneman, L., and Foster, J. 
+ *
+ * Relaxed Neighbor-Joining works by choosing a local minimum transformed
+ * distance when determining when to join two nodes.  (Traditional 
+ * Neighbor-Joining chooses a global minimum transformed distance).
+ *
+ * The algorithm shares the property with traditional NJ that if the 
+ * input distances are additive (self-consistent), then the algorithm
+ * will manage to construct the true tree consistent with the additive
+ * distances.  Additivity state is tracked and every proposed join is checked
+ * to make sure it maintains additivity constraints.  If no 
+ * additivity-preserving join is possible in a single pass, then the distance 
+ * matrix is non-additive, and additivity checking is abandoned.  
+ *
+ * The algorithm will either attempt joins randomly, or it will perform joins
+ * in a particular order.  The default behavior is to perform joins randomly,
+ * but this can be switched off with a command-line switch.
+ *
+ * For randomized joins, all attempts are made to alleviate systematic bias
+ * for the choice of rows to joins.  All tie breaking is done in a way which
+ * is virtually free of bias.
+ *
+ * To perform randomized joins, a random permutation is constructed which 
+ * specifies the order in which to attempt joins.  I iterate through the 
+ * random permutation, and for each row in the random permutation, I find
+ * the minimum transformed distance for that row.  If there are multiple 
+ * minima, I break ties evenly.  For the row which intersects our 
+ * randomly chosen row at the chosen minimum, if we are are still in 
+ * additivity mode, I check to see if joining the two rows will break
+ * our additivity constraints.  If not, I check to see if there exists 
+ * a transformed distance which is smaller than the minimum found on the 
+ * original row.  If there is, then we proceed through the random permutation
+ * trying additional rows in the random order specified in the permutation.
+ * If there is no smaller minimum transformed distance on either of the
+ * two rows, then we join them, collapse the distance matrix, and compute
+ * a new random permutation. 
+ *
+ * If the entire random permutation is traversed and no joins are possible
+ * due to additivity constraints, then the distance matrix is not
+ * additive, and additivity constraint-checking is disabled.
+ *
+ */
+NJ_TREE *
+NJ_relaxed_nj(NJ_ARGS *nj_args,
+	      DMAT *dmat) {
+
+  
+  NJ_TREE *tree;
+  NJ_VERTEX *vertex;
+  long int a, b, t, bh, bv, i;
+  float hmin, vmin, hvmin;
+  float p, q, x;
+  int join_flag;
+  int additivity_mode;
+  long int hmincount, vmincount;
+  long int *permutation = NULL;
+
+
+
+  /* initialize the r and r2 vectors */
+  NJ_init_r(dmat);
+
+  additivity_mode = 1;
+
+  /* allocate the permutation vector, if we are in randomize mode */
+  if(!nj_args->norandom) {
+    permutation = (long int *)calloc(dmat->size, sizeof(long int));
+    if(!permutation) {
+      fprintf(stderr, "Clearcut:  Memory allocation error in NJ_relaxed_nj()\n");
+      return(NULL);
+    }
+  }
+
+  /* allocate and initialize our vertex vector used for tree construction */
+  vertex = NJ_init_vertex(dmat);
+  
+  /* loop until there are only 2 nodes left to join */
+  while(vertex->nactive > 2) {
+
+    switch(nj_args->norandom) {
+
+      /* RANDOMIZED JOINS */
+    case 0:
+
+      join_flag = 0;
+
+      NJ_permute(permutation, dmat->size-1);
+      for(i=0;i<dmat->size-1 && (vertex->nactive>2) ;i++) {
+
+	a = permutation[i];
+
+	/* find min trans dist along horiz. of row a */
+	hmin = NJ_find_hmin(dmat, a, &bh, &hmincount);   
+	if(a) {
+	  /* find min trans dist along vert. of row a */
+	  vmin = NJ_find_vmin(dmat, a, &bv, &vmincount); 
+	} else {
+	  vmin = hmin;
+	  bv = bh;
+	  vmincount = 0;
+	}
+	
+	if(NJ_FLT_EQ(hmin, vmin)) {
+
+	  /* 
+	   * The minima along the vertical and horizontal are 
+	   * the same.  Compute the proportion of minima along
+	   * the horizonal (p) and the proportion of minima 
+	   * along the vertical (q).
+	   * 
+	   * If the same minima exist along the horizonal and
+	   * vertical, we break the tie in a way which is
+	   * non-biased.  That is, we break the tie based on the
+	   * proportion of horiz. minima versus vertical minima.
+	   * 
+	   */
+	  p = (float)hmincount / ((float)hmincount + (float)vmincount);
+	  q = 1.0 - p;
+	  x = genrand_real2();
+	  
+	  if(x < p) {
+	    hvmin = hmin;
+	    b     = bh;
+	  } else {
+	    hvmin = vmin;
+	    b     = bv;
+	  }
+	} else if(NJ_FLT_LT(hmin, vmin) ) {
+	  hvmin   = hmin;
+	  b       = bh;
+	} else {
+	  hvmin   = vmin;
+	  b       = bv;
+	}
+	
+	if(NJ_check(nj_args, dmat, a, b, hvmin, additivity_mode)) {
+
+	  /* swap a and b, if necessary, to make sure a < b */
+	  if(b < a) {
+	    t = a;
+	    a = b;
+	    b = t;
+	  }
+
+	  join_flag = 1;
+	
+	  /* join taxa from rows a and b */
+	  NJ_decompose(dmat, vertex, a, b, 0);
+
+	  /* collapse matrix */
+	  NJ_compute_r(dmat, a, b);
+	  NJ_collapse(dmat, vertex, a, b);
+	  
+	  NJ_permute(permutation, dmat->size-1);
+	}
+      }
+      
+      /* turn off additivity if go through an entire cycle without joining */
+      if(!join_flag) {
+	additivity_mode = 0;
+      }
+      
+      break;
+
+
+
+      /* DETERMINISTIC JOINS */
+    case 1:
+      
+      join_flag = 0;
+
+      for(a=0;a<dmat->size-1 && (vertex->nactive > 2) ;) {
+      
+	/* find the min along the horizontal of row a */
+	hmin = NJ_find_hmin(dmat, a, &b, &hmincount);
+      
+	if(NJ_check(nj_args, dmat, a, b, hmin, additivity_mode)) {
+	
+	  join_flag = 1;
+	
+	  /* join taxa from rows a and b */
+	  NJ_decompose(dmat, vertex, a, b, 0);
+
+	  /* collapse matrix */
+	  NJ_compute_r(dmat, a, b);
+	  NJ_collapse(dmat, vertex, a, b);
+
+	  if(a) { 
+	    a--; 
+	  }
+	
+	} else {
+	  a++;
+	}
+      }
+    
+      /* turn off additivity if go through an entire cycle without joining */
+      if(!join_flag) {
+	additivity_mode = 0;
+      }
+
+      break;
+    }
+ 
+  }  /* WHILE */
+
+  /* Join the last two nodes on the vertex list */
+  tree = NJ_decompose(dmat, vertex, 0, 1, NJ_LAST);
+  
+  if(nj_args->verbose_flag) {
+    if(additivity_mode) {
+      printf("Tree is additive\n");
+    } else {
+      printf("Tree is not additive\n");
+    }
+  }
+  
+  if(vertex) {
+    NJ_free_vertex(vertex);
+  }
+  
+  if(!nj_args->norandom && permutation) {
+    free(permutation);
+  }
+  
+  return(tree);
+}
+
+
+
+
+
+
+/* 
+ * NJ_print_distance_matrix() - 
+ *
+ * Print a distance matrix
+ *
+ */
+void
+NJ_print_distance_matrix(DMAT *dmat) {
+
+  long int i, j;
+
+  printf("ntaxa: %ld\n", dmat->ntaxa);
+  printf(" size: %ld\n", dmat->size);
+  
+  for(i=0;i<dmat->size;i++) {
+
+    for(j=0;j<dmat->size;j++) {
+      if(j>i) {
+	printf("    %0.4f", dmat->val[NJ_MAP(i, j, dmat->size)]);  
+      } else {
+	printf("         -");
+      }
+    }
+
+
+    if(dmat->r && dmat->r2) {
+      printf("\t\t%0.4f", dmat->r[i]);    
+      printf("\t%0.4f", dmat->r2[i]);
+
+
+    
+      printf("\n");
+
+      for(j=0;j<dmat->size;j++) {
+	if(j>i) {
+	  printf("   %0.4f", dmat->val[NJ_MAP(i, j, dmat->size)] - (dmat->r2[i] + dmat->r2[j])); 
+	} else {
+	  printf("          ");
+	}
+      }
+      
+      printf("\n\n");
+    }
+  }
+  
+  printf("\n");
+  
+  return;
+}
+
+
+
+
+
+
+
+/*
+ * NJ_output_tree() - 
+ * 
+ * A wrapper for the function that really prints the tree,
+ * basically to get a newline in there conveniently.  :-)
+ *
+ * Print n trees, as specified in command-args
+ *  using "count" variable from 0 to (n-1)
+ *
+ */
+void
+NJ_output_tree(NJ_ARGS *nj_args,
+	       NJ_TREE *tree,
+	       DMAT *dmat,
+	       long int count) {
+
+  FILE *fp;
+
+  if(nj_args->stdout_flag) {
+    fp = stdout;
+  } else {
+
+    if(count == 0) {
+      fp = fopen(nj_args->outfilename, "w");  /* open for writing   */
+    } else {
+      fp = fopen(nj_args->outfilename, "a");  /* open for appending */
+    }
+
+    if(!fp) {
+      fprintf(stderr, "Clearcut: Failed to open outfile %s\n", nj_args->outfilename);
+      exit(-1);
+    }
+  }
+
+  NJ_output_tree2(fp, nj_args, tree, tree, dmat);
+  fprintf(fp, " ;\n");
+  
+  if(!nj_args->stdout_flag) {
+    fclose(fp);
+  }
+
+  return;
+}
+
+
+
+
+
+/*
+ * NJ_output_tree2() - 
+ * 
+ *
+ */
+void
+NJ_output_tree2(FILE *fp,
+		NJ_ARGS *nj_args,
+		NJ_TREE *tree,
+		NJ_TREE *root,
+		DMAT *dmat) {
+  
+  if(!tree) {
+    return;
+  }
+	
+  if(tree->taxa_index != NJ_INTERNAL_NODE) {
+
+    if(nj_args->expblen) {
+      fprintf(fp, "%s:%e", 
+	      dmat->taxaname[tree->taxa_index],
+	      tree->dist);
+    } else {
+      fprintf(fp, "%s:%f", 
+	      dmat->taxaname[tree->taxa_index],
+	      tree->dist);
+    }
+    
+  } else {
+    
+
+    if(tree->left && tree->right) {
+      fprintf(fp, "(");
+    }
+    if(tree->left) {
+      NJ_output_tree2(fp, nj_args, tree->left, root, dmat);
+    }
+
+    if(tree->left && tree->right) {
+      fprintf(fp, ",");
+    }
+    if(tree->right) {
+      NJ_output_tree2(fp, nj_args, tree->right, root, dmat);
+    }
+
+    if(tree != root->left) { 
+      if(tree->left && tree->right) {
+	if(tree != root) {
+	  if(nj_args->expblen) {
+	    fprintf(fp, "):%e", tree->dist);
+	  } else {
+	    fprintf(fp, "):%f", tree->dist);
+	  }
+	} else {
+	  fprintf(fp, ")");
+	}
+      }
+    } else {
+      fprintf(fp, ")");
+    }
+  }
+
+  return;
+}
+
+
+
+
+
+
+
+/*
+ * NJ_init_r()
+ *
+ * This function computes the r column in our matrix
+ *
+ */
+void
+NJ_init_r(DMAT *dmat) {
+
+  long int i, j, size;
+  long int index;
+  float *r, *r2, *val;
+  long int size1;
+  float size2;
+  
+  r     = dmat->r;
+  r2    = dmat->r2;
+  val   = dmat->val;
+  size  = dmat->size;
+  size1 = size-1;
+  size2 = (float)(size-2);
+
+  index = 0;
+  for(i=0;i<size1;i++) {
+    index++;
+    for(j=i+1;j<size;j++) {
+      r[i] += val[index];
+      r[j] += val[index];
+      index++;
+    }
+
+    r2[i] = r[i]/size2;
+  }
+  
+  return;
+}
+
+
+
+
+
+
+
+
+
+
+
+/*
+ * NJ_init_vertex() - 
+ *
+ * Construct a vertex, which we will use to construct our tree 
+ * in a true bottom-up approach.  The vertex construct is 
+ * basically the center node in the initial star topology.
+ *
+ */
+NJ_VERTEX *
+NJ_init_vertex(DMAT *dmat) {
+  
+  long int i;
+  NJ_VERTEX *vertex;
+  
+  /* allocate the vertex here */
+  vertex = (NJ_VERTEX *)calloc(1, sizeof(NJ_VERTEX));
+  
+  /* allocate the nodes in the vertex */
+  vertex->nodes        = (NJ_TREE **)calloc(dmat->ntaxa, sizeof(NJ_TREE *));
+  vertex->nodes_handle = vertex->nodes;
+  
+  /* initialize our size and active variables */
+  vertex->nactive = dmat->ntaxa;
+  vertex->size    = dmat->ntaxa;
+  
+  /* initialize the nodes themselves */
+  for(i=0;i<dmat->ntaxa;i++) {
+    
+    vertex->nodes[i] = (NJ_TREE *)calloc(1, sizeof(NJ_TREE));
+
+    vertex->nodes[i]->left  = NULL;
+    vertex->nodes[i]->right = NULL;
+    
+    vertex->nodes[i]->taxa_index = i;
+  }
+
+  return(vertex);
+}
+
+
+
+
+
+/*
+ * NJ_decompose() - 
+ *
+ * This function decomposes the star by creating new internal nodes
+ * and joining two existing tree nodes to it
+ *
+ */
+NJ_TREE *
+NJ_decompose(DMAT *dmat,
+	     NJ_VERTEX *vertex,
+	     long int x,
+	     long int y,
+	     int last_flag) {
+
+  NJ_TREE *new_node;
+  float x2clade, y2clade;
+
+  /* compute the distance from the clade components to the new node */
+  if(last_flag) {
+    x2clade = 
+      (dmat->val[NJ_MAP(x, y, dmat->size)]);  
+  } else {
+    x2clade = 
+      (dmat->val[NJ_MAP(x, y, dmat->size)])/2 +   
+      ((dmat->r2[x] - dmat->r2[y])/2);
+  }
+
+  vertex->nodes[x]->dist = x2clade;
+
+  if(last_flag) {
+    y2clade = 
+      (dmat->val[NJ_MAP(x, y, dmat->size)]);  
+  } else {
+    y2clade = 
+      (dmat->val[NJ_MAP(x, y, dmat->size)])/2 +  
+      ((dmat->r2[y] - dmat->r2[x])/2);
+  }
+
+  vertex->nodes[y]->dist = y2clade;
+
+  /* allocate new node to connect two sub-clades */
+  new_node = (NJ_TREE *)calloc(1, sizeof(NJ_TREE));
+
+  new_node->left  = vertex->nodes[x];
+  new_node->right = vertex->nodes[y];
+  new_node->taxa_index = NJ_INTERNAL_NODE;  /* this is not a terminal node, no taxa index */
+  
+  if(last_flag) {
+    return(new_node);
+  }
+
+  vertex->nodes[x] = new_node;
+  vertex->nodes[y] = vertex->nodes[0];
+  
+  vertex->nodes = &(vertex->nodes[1]);
+  
+  vertex->nactive--;
+
+  return(new_node);
+}
+
+
+
+/*
+ * NJ_print_vertex() - 
+ *
+ * For debugging, print the contents of the vertex
+ *
+ */
+void
+NJ_print_vertex(NJ_VERTEX *vertex) {
+
+  long int i;
+
+  printf("Number of active nodes: %ld\n", vertex->nactive);
+
+  for(i=0;i<vertex->nactive;i++) {
+    printf("%ld ", vertex->nodes[i]->taxa_index);
+  }
+  printf("\n");
+
+  return;
+}
+
+
+
+
+
+
+
+
+
+/*
+ * NJ_print_r() - 
+ *
+ */
+void
+NJ_print_r(DMAT *dmat) {
+  
+  long int i;
+  
+  printf("\n");
+  for(i=0;i<dmat->size;i++) {
+    printf("r[%ld] = %0.2f\n", i, dmat->r[i]);
+  }
+  printf("\n");
+
+  return;
+}
+
+
+
+
+
+/*
+ * NJ_print_taxanames() -
+ *
+ * Print taxa names here
+ *
+ */
+void
+NJ_print_taxanames(DMAT *dmat) {
+  
+  long int i;
+  
+  printf("Number of taxa: %ld\n", dmat->ntaxa);
+  
+  for(i=0;i<dmat->ntaxa;i++) {
+    printf("%ld) %s\n", i, dmat->taxaname[i]);
+  }
+  
+  printf("\n");
+
+  return;
+}
+
+
+
+
+/* 
+ * NJ_shuffle_distance_matrix() - 
+ *
+ * Randomize a distance matrix here
+ *
+ */
+void
+NJ_shuffle_distance_matrix(DMAT *dmat) {
+
+  
+  long int *perm      = NULL;
+  char **tmp_taxaname = NULL;
+  float *tmp_val      = NULL;
+  long int i, j;
+
+  
+  /* alloc the random permutation and a new matrix to hold the shuffled vals */
+  perm         = (long int *)calloc(dmat->size, sizeof(long int));
+  tmp_taxaname = (char **)calloc(dmat->size, sizeof(char *));
+  tmp_val      = (float *)calloc(NJ_NCELLS(dmat->ntaxa), sizeof(float));
+  if(!tmp_taxaname || !perm || !tmp_val) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_shuffle_distance_matrix()\n");
+    exit(-1);
+  }
+
+  /* compute a permutation which will describe how to shuffle the matrix */
+  NJ_permute(perm, dmat->size);
+
+  for(i=0;i<dmat->size;i++) {
+    for(j=i+1;j<dmat->size;j++) {
+
+      if(perm[j] < perm[i]) {
+	tmp_val[NJ_MAP(i, j, dmat->size)] = dmat->val[NJ_MAP(perm[j], perm[i], dmat->size)];
+      } else {
+	tmp_val[NJ_MAP(i, j, dmat->size)] = dmat->val[NJ_MAP(perm[i], perm[j], dmat->size)];
+      }
+
+    }
+    
+    tmp_taxaname[i] = dmat->taxaname[perm[i]];
+  }
+
+  /* free our random permutation */
+  if(perm) {
+    free(perm);
+  }
+  
+  /* free the old value matrix */
+  if(dmat->val) {
+    free(dmat->val);
+  }
+
+  /* re-assign the value matrix pointers */
+  dmat->val = tmp_val;
+  dmat->valhandle = dmat->val;
+  
+  /* 
+   * Free our old taxaname with its particular ordering
+   * and re-assign to the new.
+   */
+  if(dmat->taxaname) {
+    free(dmat->taxaname);
+  }
+  dmat->taxaname = tmp_taxaname;
+
+  return;
+}
+
+
+
+/*
+ * NJ_free_tree() - 
+ *
+ * Free a given NJ tree
+ */
+void
+NJ_free_tree(NJ_TREE *node) {
+
+  if(!node) {
+    return;
+  }
+  
+  if(node->left) {
+    NJ_free_tree(node->left);
+  }
+  
+  if(node->right) {
+    NJ_free_tree(node->right);
+  }
+  
+  free(node);
+
+  return;
+}
+
+
+
+
+
+
+
+
+
+/*
+ * NJ_print_permutation()
+ *
+ * Print a permutation
+ *
+ */
+void
+NJ_print_permutation(long int *perm,
+		     long int size) {
+  
+  long int i;
+  
+  for(i=0;i<size-1;i++) {
+    printf("%ld,", perm[i]);
+  }
+  printf("%ld\n", perm[size-1]);
+  
+  return;
+}
+
+
+
+
+/*
+ * NJ_dup_dmat() - 
+ * 
+ * Duplicate a distance matrix
+ *
+ */
+DMAT *
+NJ_dup_dmat(DMAT *src) {
+  
+  long int i;
+  DMAT *dest;
+  
+  /* allocate the resulting distance matrix */
+  dest = (DMAT *)calloc(1, sizeof(DMAT));
+  if(!dest) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_dup_dmat()\n");
+    goto XIT_BAD;
+  }
+
+  dest->ntaxa = src->ntaxa;
+  dest->size  = src->size;
+  
+  /* allocate space for array of pointers to taxanames */
+  dest->taxaname = (char **)calloc(dest->ntaxa, sizeof(char *));
+  if(!dest->taxaname) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_dup_dmat()\n");
+    goto XIT_BAD;
+  }
+
+  /* allocate space for the taxanames themselves */
+  for(i=0;i<src->ntaxa;i++) {
+    dest->taxaname[i] = (char *)calloc(strlen(src->taxaname[i])+1, sizeof(char));
+    if(!dest->taxaname[i]) {
+      fprintf(stderr, "Clearcut: Memory allocation error in NJ_dup_dmat()\n");
+      goto XIT_BAD;
+    }
+  }
+  
+  /* allocate space for the distance values */
+  dest->val = (float *)calloc(NJ_NCELLS(src->ntaxa), sizeof(float));
+  if(!dest->val) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_dup_dmat()\n");
+    goto XIT_BAD;
+  }
+  
+  /* allocate space for the r and r2 vectors */
+  dest->r  = (float *)calloc(src->ntaxa, sizeof(float));
+  dest->r2 = (float *)calloc(src->ntaxa, sizeof(float));
+  
+  /* copy titles */
+  for(i=0;i<src->ntaxa;i++) {
+    strcpy(dest->taxaname[i], src->taxaname[i]);
+  }
+  
+  /* copy values */
+  memcpy(dest->val, src->valhandle, NJ_NCELLS(src->ntaxa)*sizeof(float));
+  
+  /* copy r and r2 */
+  memcpy(dest->r,  src->rhandle,  src->ntaxa*sizeof(float));
+  memcpy(dest->r2, src->r2handle, src->ntaxa*sizeof(float));
+  
+  /* track some memory addresses */
+  dest->valhandle = dest->val;
+  dest->rhandle   = dest->r;
+  dest->r2handle  = dest->r2;
+  
+  return(dest);
+  
+ XIT_BAD:
+  
+  /* free what we may have allocated */
+  NJ_free_dmat(dest);
+  
+  return(NULL);
+}
+
+
+
+
+/*
+ * NJ_free_dmat() - 
+ */
+void
+NJ_free_dmat(DMAT *dmat) {
+  
+  long int i;
+  
+  if(dmat) {
+    
+    if(dmat->taxaname) {
+
+      for(i=0;i<dmat->ntaxa;i++) {
+	if(dmat->taxaname[i]) {
+	  free(dmat->taxaname[i]);
+	}
+      }
+
+      free(dmat->taxaname);
+    }
+
+    if(dmat->valhandle) {
+      free(dmat->valhandle);
+    }
+
+    if(dmat->rhandle) {
+      free(dmat->rhandle);
+    }
+
+    if(dmat->r2handle) {
+      free(dmat->r2handle);
+    }
+
+    free(dmat);
+  }
+  
+  return;
+}
+
+
+
+
+
+/*
+ * NJ_free_vertex() - 
+ *
+ * Free the vertex data structure 
+ *
+ */
+void
+NJ_free_vertex(NJ_VERTEX *vertex) {
+  
+  if(vertex) {
+    if(vertex->nodes_handle) {
+      free(vertex->nodes_handle);
+    }
+    free(vertex);
+  }
+
+  return;
+}
+
+
+
+
+
+
+
+
+
+/*
+ *
+ * NJ_min_transform() - Find the smallest transformed value to identify 
+ *                      which nodes to join.
+ *
+ * INPUTS:
+ * -------
+ *  dmat  -- The distance matrix
+ *
+ * RETURNS:
+ * --------
+ * <float> -- The minimimum transformed distance
+ *   ret_i -- The row of the smallest transformed distance (by reference)
+ *   ret_j -- The col of the smallest transformed distance (by reference)
+ *
+ *
+ * DESCRIPTION:
+ * ------------
+ *
+ * Used only with traditional Neighbor-Joining, this function checks the entire
+ * working distance matrix and identifies the smallest transformed distance.
+ * This requires traversing the entire diagonal matrix, which is itself a 
+ * O(N^2) operation.
+ *
+ */
+float
+NJ_min_transform(DMAT *dmat,
+		 long int *ret_i,
+		 long int *ret_j) {
+
+  long int i, j;   /* indices used for looping        */
+  long int tmp_i = 0;/* to limit pointer dereferencing  */
+  long int tmp_j = 0;/* to limit pointer dereferencing  */
+  float smallest;  /* track the smallest trans. dist  */
+  float curval;    /* the current trans. dist in loop */
+
+  float *ptr;      /* pointer into distance matrix    */
+  float *r2;       /* pointer to r2 matrix for computing transformed dists */
+  
+  smallest = (float)HUGE_VAL;
+
+  /* track these here to limit pointer dereferencing in inner loop */
+  ptr = dmat->val;
+  r2  = dmat->r2;
+
+  /* for every row */
+  for(i=0;i<dmat->size;i++) {
+    ptr++;  /* skip diagonal */
+    for(j=i+1;j<dmat->size;j++) {   /* for every column */
+
+      /* find transformed distance in matrix at i, j */
+      curval = *(ptr++) - (r2[i] + r2[j]);
+
+      /* if the transformed distanance is less than the known minimum */
+      if(curval < smallest) {
+
+	smallest = curval;
+	tmp_i = i;
+	tmp_j = j;
+      }
+    }
+  }
+  
+  /* pass back (by reference) the coords of the min. transformed distance */
+  *ret_i = tmp_i;
+  *ret_j = tmp_j;
+  
+  return(smallest);  /* return the min transformed distance */
+}
+
+
+
+
+
diff --git a/clearcut.h b/clearcut.h
new file mode 100644
index 0000000..0f3ae6a
--- /dev/null
+++ b/clearcut.h
@@ -0,0 +1,281 @@
+/*
+ * clearcut.h
+ *
+ * $Id: clearcut.h,v 1.4 2007/11/27 18:33:59 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ *
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+
+#ifndef _INC_CLEARCUT_H_
+#define _INC_CLEARCUT_H_ 1
+
+#include "common.h"
+#include "cmdargs.h"
+
+
+#define NJ_VERSION "1.0.9"
+
+
+#define NJ_INTERNAL_NODE -1
+#define NJ_LAST 101
+
+#define NJ_INPUT_MODE_UNKNOWN             0
+#define NJ_INPUT_MODE_DISTANCE            100
+#define NJ_INPUT_MODE_UNALIGNED_SEQUENCES 101
+#define NJ_INPUT_MODE_ALIGNED_SEQUENCES   102
+
+#define NJ_MODEL_NONE    100
+#define NJ_MODEL_JUKES   101
+#define NJ_MODEL_KIMURA  102
+
+
+
+
+/*
+ * DMAT - Distance Matrix
+ *
+ * This is arguably the most important structure in the
+ * program.  This is the distance matrix, and it is used 
+ * by many functions throughout the application.
+ *
+ * The matrix is architected as a contiguously allocated
+ * upper-diagonal matrix of floats which include the 
+ * diagonal.  
+ *
+ * Example:
+ *
+ *      0    1    2    3    4    5
+ *   0 0.0  1.0  0.3  0.2  0.1  0.3
+ *   1      0.0  0.3  0.2  0.1  0.8
+ *   2           0.0  0.1  0.3  0.5 
+ *   3                0.0  0.2  0.1
+ *   4                     0.0  0.2
+ *   5                          0.0
+ *
+ * The distance matrix shrinks with every join operation,
+ * so I track the original and working size of the matrix 
+ * inside the matrix.
+ *
+ * One fast optimization to shrink the distance matrix
+ * involves incrementing the "val" pointer.  Thus, in 
+ * addition to tracking the pointer to the distances,
+ * I also track the original pointer to that I can 
+ * free the memory associated with the working distance
+ * matrix.
+ *
+ * This also applies to the r and r2 vectors which are
+ * used to compute the transformed distances in the 
+ * matrix.
+ * 
+ */
+
+typedef struct _STRUCT_DMAT {
+
+  long int ntaxa;   /* the original size of the distance matrix */
+  long int size;    /* the current/effective size of the distance matrix */
+
+  char **taxaname;  /* a pointer to an array of taxa name strings */
+
+  float *val;       /* the distances */
+  float *valhandle; /* to track the orig. pointer to free memory */
+
+  float *r, *r2;    /* r and r2 vectors (used to compute transformed dists) */
+  float *rhandle, *r2handle;  /* track orig. pointers to free memory */
+
+} DMAT;
+
+
+
+/*
+ * NJ_TREE - The Tree Data Structure 
+ *
+ *
+ * The tree is represented internally as a rooted 
+ * binary tree.  Each internal node has a left and a right child.
+ * 
+ * Additionally, I track the distance between the current node
+ * and that node's parent (i.e. the branch length).  
+ * 
+ * Finally, I track the index of the taxa for leaf nodes.
+ *
+ */
+typedef struct _STRUCT_NJ_TREE {
+  
+  struct _STRUCT_NJ_TREE *left;  /* left child  */
+  struct _STRUCT_NJ_TREE *right; /* right child */
+  
+  float dist;  /* branch length.  i.e. dist from node to parent */
+  
+  long int taxa_index; /* for terminal nodes, track the taxon index */
+
+} NJ_TREE;
+
+
+
+/*
+ * NJ_VERTEX
+ *
+ * This structure is used for building trees.  It is a vector 
+ * which, represents the center of the star when building the RNJ/NJ
+ * tree through star-decomposition.
+ *
+ * It contains a vector of tree (node) pointers.  These pointers
+ * get joined together by a new internal node, and the new internal
+ * node is placed back into the vector of nodes (which is now smaller).
+ *
+ * To keep this vector in sync. with the shrinking matrix, parts of
+ * the vector are shuffled around, and so a pointer to the originally
+ * allocated vector is stored such that it can be freed from memory
+ * later.
+ *
+ * The original and working sizes of the vector are also tracked.
+ *
+ */
+typedef struct _STRUCT_NJ_VERTEX {
+  
+  NJ_TREE **nodes;
+  NJ_TREE **nodes_handle;  /* original memory handle for freeing */
+
+  long int nactive;  /* number of active nodes in the list */
+  long int size;     /* the total size of the vertex */
+
+} NJ_VERTEX;
+
+
+
+
+
+
+/* some function prototypes */
+
+/* core function for performing Relaxed Neighbor Joining */
+NJ_TREE *
+NJ_relaxed_nj(NJ_ARGS *nj_args, DMAT *dmat);
+
+/* function for performing traditional Neighbor-Joining */
+NJ_TREE *
+NJ_neighbor_joining(NJ_ARGS *nj_args, DMAT *dmat);
+
+/* print the distance matrix (for debugging) */
+void
+NJ_print_distance_matrix(DMAT *dmat);
+
+/* output the computed tree to stdout or to the specified file */
+void
+NJ_output_tree(NJ_ARGS *nj_args,
+	       NJ_TREE *tree,
+	       DMAT *dmat,
+	       long int count);
+
+/* the recursive function for outputting trees */
+void
+NJ_output_tree2(FILE *fp,
+		NJ_ARGS *nj_args,
+		NJ_TREE *tree,
+		NJ_TREE *root,
+		DMAT *dmat);
+
+/* initialize vertex */
+NJ_VERTEX *
+NJ_init_vertex(DMAT *dmat);
+
+/* used to decompose the star topology and build the tree */
+NJ_TREE *
+NJ_decompose(DMAT *dmat,
+	     NJ_VERTEX *vertex,
+	     long int x, 
+	     long int y,
+	     int last_flag);
+
+/* print the vertex vector (for debugging) */
+void
+NJ_print_vertex(NJ_VERTEX *vertex);
+
+/* print taxa names (for debugging) */
+void
+NJ_print_taxanames(DMAT *dmat);
+
+/* initialize r-vector prior to RNJ/NJ */
+void
+NJ_init_r(DMAT *dmat);
+
+/* print the r-vector (for debugging) */
+void
+NJ_print_r(DMAT *dmat);
+
+/* shuffle the distance matrix, usually after reading in input */
+void
+NJ_shuffle_distance_matrix(DMAT *dmat);
+
+/* free memory from the tree */
+void
+NJ_free_tree(NJ_TREE *node);
+
+/* print permutations (for debugging) */
+void
+NJ_print_permutation(long int *perm,
+		     long int size);
+
+/* duplicate a distance matrix for multiple iterations */
+DMAT *
+NJ_dup_dmat(DMAT *src);
+
+/* free the distance matrix */
+void
+NJ_free_dmat(DMAT *dmat);
+
+/* free the vertex vector */
+void
+NJ_free_vertex(NJ_VERTEX *vertex);
+
+/* for computing the global minimum transformed distance in traditional NJ */
+float
+NJ_min_transform(DMAT *dmat,
+		 long int *ret_i,
+		 long int *ret_j);
+
+#endif /* _INC_CLEARCUT_H_ */
+
+
+
+
+
+
diff --git a/cmdargs.c b/cmdargs.c
new file mode 100644
index 0000000..2ebd80b
--- /dev/null
+++ b/cmdargs.c
@@ -0,0 +1,526 @@
+/*
+ * cmdargs.c
+ *
+ * $Id: cmdargs.c,v 1.2 2006/08/25 03:58:45 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+
+
+#ifdef USE_GNU
+#include <getopt.h>
+#else
+#include "getopt_long.h"
+#endif /* USE_GNU*/
+
+
+#include "clearcut.h"
+#include "cmdargs.h"
+
+
+/*
+ * NJ_handle_args() - 
+ *
+ */
+NJ_ARGS *
+NJ_handle_args(int argc,
+	       char *argv[]) {
+  
+  static NJ_ARGS nj_args;
+  int option_index, c;
+
+  struct option NJ_long_options[] = {
+
+    /* These options don't set a flag */
+    {"in",        required_argument, NULL, 'i'},
+    {"out",       required_argument, NULL, 'o'},
+    {"seed",      required_argument, NULL, 's'},
+    {"matrixout", required_argument, NULL, 'm'},
+    {"ntrees",    required_argument, NULL, 'n'},
+
+    /* These options set a flag */
+    {"verbose",      no_argument, &(nj_args.verbose_flag),  1},
+    {"quiet",        no_argument, &(nj_args.quiet_flag),    1},
+    {"distance",     no_argument, &(nj_args.input_mode),    NJ_INPUT_MODE_DISTANCE}, 
+    {"alignment",    no_argument, &(nj_args.input_mode),    NJ_INPUT_MODE_ALIGNED_SEQUENCES},
+    {"help",         no_argument, &(nj_args.help),          1},
+    {"version",      no_argument, &(nj_args.version),       1},
+    {"norandom",     no_argument, &(nj_args.norandom),      1},
+    {"shuffle",      no_argument, &(nj_args.shuffle),       1},
+    {"stdin",        no_argument, &(nj_args.stdin_flag),    1},
+    {"stdout",       no_argument, &(nj_args.stdout_flag),   1},
+    {"dna",          no_argument, &(nj_args.dna_flag),      1},
+    {"DNA",          no_argument, &(nj_args.dna_flag),      1},
+    {"protein",      no_argument, &(nj_args.protein_flag),  1},
+    {"neighbor",     no_argument, &(nj_args.neighbor),      1},
+    {"expblen",      no_argument, &(nj_args.expblen),       1},
+    {"expdist",      no_argument, &(nj_args.expdist),       1}, 
+
+    {"jukes",        no_argument, &(nj_args.jukes_flag),    1},
+    {"kimura",       no_argument, &(nj_args.kimura_flag),   1},
+    
+    {0, 0, 0, 0}
+
+  };
+  
+  /* initializes options to their default */
+  nj_args.infilename       = NULL;
+  nj_args.outfilename      = NULL;
+  nj_args.matrixout        = NULL;
+  nj_args.seed             = time(0);
+  nj_args.verbose_flag     = 0;
+  nj_args.quiet_flag       = 0;
+  nj_args.input_mode       = NJ_INPUT_MODE_DISTANCE;
+  nj_args.help             = 0;
+  nj_args.version          = 0;
+  nj_args.norandom         = 0;
+  nj_args.shuffle          = 0;
+  nj_args.stdin_flag       = 0;
+  nj_args.stdout_flag      = 0;
+  nj_args.dna_flag         = 0;
+  nj_args.protein_flag     = 0;
+  nj_args.correction_model = NJ_MODEL_NONE;
+  nj_args.jukes_flag       = 0;
+  nj_args.kimura_flag      = 0;
+  nj_args.neighbor         = 0;
+  nj_args.ntrees           = 1;
+  nj_args.expblen          = 0;
+  nj_args.expdist          = 0;
+
+  while(1) {
+    c = getopt_long(argc,
+		    argv,
+		    "i:o:s:m:n:vqduahVSIOrDPjkNeE",
+		    NJ_long_options,
+		    &option_index);
+    
+    if(c == -1) {
+      break;
+    }
+
+    switch(c) {
+
+    case 0:
+      if(NJ_long_options[option_index].flag) {
+	break;
+      }
+
+      printf("option %s", NJ_long_options[option_index].name);
+      if(optarg) {
+	printf(" with arg %s", optarg);
+      }
+      printf("\n");
+      break;
+
+    case 'i':
+      nj_args.infilename = optarg;
+      break;
+
+    case 'o':
+      nj_args.outfilename = optarg;
+      break;
+
+    case 's':
+      nj_args.seed = atoi(optarg);
+      break;
+
+    case 'm':
+      nj_args.matrixout = optarg;
+      break;
+
+    case 'n':
+      nj_args.ntrees = atoi(optarg);
+      break;
+
+    case 'v':
+      nj_args.verbose_flag = 1;
+      break; 
+
+    case 'q':
+      nj_args.quiet_flag = 1;
+      break;
+
+    case 'd':
+      nj_args.input_mode = NJ_INPUT_MODE_DISTANCE;
+      break;
+
+    case 'a':
+      nj_args.input_mode = NJ_INPUT_MODE_ALIGNED_SEQUENCES;
+      break;
+
+    case 'h':
+      nj_args.help = 1;
+      break;
+
+    case 'V':
+      nj_args.version = 1;
+      break;
+
+    case 'S':
+      nj_args.shuffle = 1;
+      break;
+      
+    case 'I':
+      nj_args.stdin_flag = 1;
+      break;
+
+    case 'O':
+      nj_args.stdin_flag = 1;
+      break;
+
+    case 'r':
+      nj_args.norandom = 1;
+      break;
+
+    case 'D':
+      nj_args.dna_flag = 1;
+      break;
+
+    case 'P':
+      nj_args.protein_flag = 1;
+      break;
+
+    case 'j':
+      nj_args.jukes_flag = 1;
+      break;
+
+    case 'k':
+      nj_args.kimura_flag = 1;
+      break;
+
+    case 'N':
+      nj_args.neighbor = 1;
+      break;
+
+    case 'e':
+      nj_args.expblen = 1;
+      break;
+
+    case 'E':
+      nj_args.expdist = 1;
+      break;
+
+   default:
+     NJ_usage();
+     exit(-1);
+    }
+  }
+  
+  if(optind < argc) {
+    fprintf(stderr, "Clearcut: Unknown command-line argument:\n  --> %s\n", argv[optind]);
+    NJ_usage();
+    exit(-1);
+  }
+  
+  if(nj_args.version) {
+    printf("Clearcut Version: %s\n", NJ_VERSION);
+    exit(0);
+  }
+  
+  if(nj_args.help) {
+    NJ_usage();
+    exit(0);
+  }
+  
+  /* if stdin & explicit filename are specified for input */
+  if(nj_args.stdin_flag) {
+    if(nj_args.infilename) {
+      fprintf(stderr, "Clearcut:  Ambiguous input source specified.  Specify input filename OR stdin.\n");
+      NJ_usage();
+      exit(-1);
+    }
+  }
+
+  /* if stdout & explicit filename are specified for output */
+  if(nj_args.stdout_flag) {
+    if(nj_args.outfilename) {
+      fprintf(stderr, "Clearcut:  Ambiguous output specified.  Specify output filename OR stdout.\n");
+      NJ_usage();
+      exit(-1);
+    }
+  }
+
+  /* if user did not specify stdin or filename, default to stdin */
+  if(!nj_args.stdin_flag) {
+    if(!nj_args.infilename) {
+
+      fprintf(stderr, "Clearcut: No input file specified.  Using stdin.\n");
+      nj_args.stdin_flag = 1;
+    }
+  }
+  
+  /* if user did not specify stdout or filename, default to stdout */
+  if(!nj_args.stdout_flag) {
+    if(!nj_args.outfilename) {
+      
+      fprintf(stderr, "Clearcut: No output file specified.  Using stdout.\n");
+      nj_args.stdout_flag = 1;
+    }
+  }
+  
+  /* User must specify distance matrix or alignment */
+  if(nj_args.input_mode == NJ_INPUT_MODE_UNKNOWN) {
+    fprintf(stderr, "Clearcut: Must specify input type (--distance | --alignment)\n");
+    NJ_usage();
+    exit(-1);
+  }
+
+  /* do not allow protein or DNA options for distance matrix input */
+  if(nj_args.input_mode == NJ_INPUT_MODE_DISTANCE) {
+    if(nj_args.dna_flag || nj_args.protein_flag) {
+      fprintf(stderr, "Clearcut:  Ambiguous arguments.  (--protein | --DNA) do not apply to distance \n");
+      NJ_usage();
+      exit(-1);
+    }
+  }
+  
+  /* make sure different filenames were specified for input and output */
+  if(!nj_args.stdin_flag && !nj_args.stdout_flag) {
+
+    if(!strcmp(nj_args.infilename, nj_args.outfilename)) {
+      fprintf(stderr, "Clearcut: Input filename and output filename must be unique.\n");
+      NJ_usage();
+      exit(-1);
+    }
+  }
+
+  /* make sure that user specifies DNA or Protein if dealing with alignment input */
+  if(nj_args.input_mode == NJ_INPUT_MODE_ALIGNED_SEQUENCES) {
+    if(!nj_args.dna_flag && !nj_args.protein_flag) {
+      fprintf(stderr, "Clearcut: Must specify protein or DNA for alignment input.\n");
+      NJ_usage();
+      exit(-1);
+    }
+  }
+
+  /* make sure that user does not specify both protein and DNA when dealing with alignment input */
+  if(nj_args.input_mode == NJ_INPUT_MODE_ALIGNED_SEQUENCES) {
+    if(nj_args.dna_flag && nj_args.protein_flag) {
+      fprintf(stderr, "Clearcut: Specifying protein and DNA sequences are mutually exclusive options\n");
+      NJ_usage();
+      exit(-1);
+    }
+  }
+
+  /* make sure verbose and quiet were not specified together */
+  if(nj_args.verbose_flag && nj_args.quiet_flag) {
+    fprintf(stderr, "Clearcut: Verbose and Quiet mode are mutually exclusive.\n");
+    NJ_usage();
+    exit(-1);
+  }
+  
+  /* make sure that a correction model was specified only when providing an alignment */
+  if(nj_args.input_mode == NJ_INPUT_MODE_DISTANCE) {
+    if(nj_args.jukes_flag || nj_args.kimura_flag) {
+      fprintf(stderr, "Clearcut:  Only specify correction model for alignment input.\n");
+      NJ_usage();
+      exit(-1);
+    }
+  } else {
+    if(nj_args.jukes_flag && nj_args.kimura_flag) {
+      fprintf(stderr, "Clearcut:  Only specify one correction model\n");
+      NJ_usage();
+      exit(-1);
+    } else {
+      if(nj_args.jukes_flag && !nj_args.kimura_flag) {
+	nj_args.correction_model = NJ_MODEL_JUKES;
+      } else if(nj_args.kimura_flag && !nj_args.jukes_flag) {
+	nj_args.correction_model = NJ_MODEL_KIMURA;
+      } else {
+	nj_args.correction_model = NJ_MODEL_NONE;  /* DEFAULT */
+      }
+    }
+  }
+  
+  /* make sure that the number of output trees is reasonable */
+  if(nj_args.ntrees <= 0) {
+    fprintf(stderr, "Clearcut: Number of output trees must be a positive integer.\n");
+    NJ_usage();
+    exit(-1);
+  }
+  
+  /* 
+   * make sure that if exponential distances are specified, 
+   * we are dealing with alignment input
+   */
+  if(nj_args.expdist && nj_args.input_mode != NJ_INPUT_MODE_ALIGNED_SEQUENCES) {
+    fprintf(stderr, "Clearcut: Exponential notation for distance matrix output requires that input be an alignment\n");
+    NJ_usage();
+    exit(-1);
+  }
+  
+  return(&nj_args);
+}
+
+
+
+
+
+/*
+ * NJ_print_args() - 
+ *
+ */
+void
+NJ_print_args(NJ_ARGS *nj_args) {
+  
+  char input_mode[32];
+  
+  switch (nj_args->input_mode) {
+  case NJ_INPUT_MODE_DISTANCE:
+    sprintf(input_mode, "Distance Matrix");
+    break;
+  case NJ_INPUT_MODE_UNALIGNED_SEQUENCES:
+    sprintf(input_mode, "Unaligned Sequences");
+    break;
+  case NJ_INPUT_MODE_ALIGNED_SEQUENCES:
+    sprintf(input_mode, "Aligned Sequences");
+    break;
+  default:
+    sprintf(input_mode, "UNKNOWN");
+    break;
+  }
+
+  printf("\n***  Command Line Arguments ***\n");
+  
+  printf("Input Mode: %s\n", input_mode);
+  
+  if(nj_args->stdin_flag) {
+    printf("Input from STDIN\n");
+  } else {
+    printf("Input File: %s\n", nj_args->infilename);
+  }
+
+  if(nj_args->stdout_flag) {
+    printf("Output from STDOUT\n");
+  } else {
+    printf("Output File: %s\n", nj_args->outfilename);
+  }
+  
+  if(nj_args->input_mode != NJ_INPUT_MODE_DISTANCE) {
+    if(nj_args->aligned_flag) {
+      printf("Input Sequences Aligned: YES\n");
+    } else {
+      printf("Input Sequences Aligned:  NO\n");
+    }
+  }
+  
+  if(nj_args->verbose_flag) {
+    printf("Verbose Mode: ON\n");
+  } else {
+    printf("Verbose Mode: OFF\n");
+  }
+  
+  if(nj_args->quiet_flag) {
+    printf("Quiet Mode: ON\n");
+  } else {
+    printf("Quiet Mode: OFF\n");
+  }
+  
+  if(nj_args->seed) {
+    printf("Random Seed: %d\n", nj_args->seed);
+  }
+  
+  printf("\n*******\n");
+  
+  return;
+}
+
+
+
+
+/*
+ * NJ_usage() -
+ *
+ * Print a usage message
+ *
+ */
+void
+NJ_usage(void) {
+  
+  printf("Usage: clearcut --in=<infilename> --out=<outfilename> [options]...\n");
+  printf("GENERAL OPTIONS:\n");
+  printf("  -h, --help         Display this information.\n");
+  printf("  -V, --version      Print the version of this program.\n");
+  printf("  -v, --verbose      More output. (Default: OFF)\n");
+  printf("  -q, --quiet        Silent operation. (Default: ON)\n");
+  printf("  -s, --seed=<seed>  Explicitly set the PRNG seed to a specific value.\n");
+  printf("  -r, --norandom     Attempt joins deterministically.  (Default: OFF)\n");
+  printf("  -S, --shuffle      Randomly shuffle the distance matrix.  (Default: OFF)\n");
+  printf("  -N, --neighbor     Use traditional Neighbor-Joining algorithm. (Default: OFF)\n");
+
+  printf("\n");
+  printf("INPUT OPTIONS:\n");
+  printf("  -I, --stdin        Read input from STDIN.\n");
+  printf("  -d, --distance     Input file is a distance matrix. (Default: ON)\n");
+  printf("  -a, --alignment    Input file is a set of aligned sequences. (Default: OFF)\n");
+  printf("  -D, --DNA          Input alignment are DNA sequences.\n");
+  printf("  -P, --protein      Input alignment are protein sequences.\n");
+
+  printf("\n");
+  printf("CORRECTION MODEL FOR COMPUTING DISTANCE MATRIX (Default: NO Correction):\n");
+  printf("  -j, --jukes        Use Jukes-Cantor correction for computing distance matrix.\n");
+  printf("  -k, --kimura       Use Kimura correction for distance matrix.\n");
+  
+  printf("\n");
+  printf("OUTPUT OPTIONS:\n");
+  printf("  -O, --stdout           Output tree to STDOUT.\n");
+  printf("  -m, --matrixout=<file> Output distance matrix to specified file.\n");
+  printf("  -n, --ntrees=<n>       Output n trees.  (Default: 1)\n");
+  printf("  -e, --expblen          Exponential notation for branch lengths. (Default: OFF)\n");
+  printf("  -E, --expdist          Exponential notation in distance output. (Default: OFF)\n");
+  
+  printf("\n");
+  printf("EXAMPLES:\n");
+  printf("  Compute tree by supplying distance matrix via stdin:\n");
+  printf("  clearcut --distance < distances.txt > treefile.tre\n");
+  printf("\n");
+  printf("  Compute tree by supplying an alignment of DNA sequences from a file:\n");
+  printf("  clearcut --alignment --DNA --in=alignment.txt --out=treefile.tre\n");
+  
+  return;
+}
+
+
+
diff --git a/cmdargs.h b/cmdargs.h
new file mode 100644
index 0000000..5711aa3
--- /dev/null
+++ b/cmdargs.h
@@ -0,0 +1,113 @@
+/*
+ * njdist.h
+ *
+ * $Id: cmdargs.h,v 1.1 2006/08/25 03:26:44 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+
+#ifndef _INC_NJ_CMDARGS_H_
+#define _INC_NJ_CMDARGS_H_ 1
+
+#include "clearcut.h"
+
+
+/* some datatypes */
+typedef struct _STRUCT_NJ_ARGS {
+
+  char *infilename;   /* the name of the input file                  */
+  char *outfilename;  /* the name of the output tree                 */
+  char *matrixout;    /* the name of the distance matrix output file */
+
+  int input_mode;  
+  int aligned_flag;
+  
+  int verbose_flag;
+  int quiet_flag;
+
+  int stdin_flag;
+  int stdout_flag;
+  
+  int help;
+  int version;
+
+  int norandom;
+  int shuffle;
+  
+  int dna_flag;
+  int protein_flag;
+  
+  int seed;
+
+  /* correction models for distance */
+  int correction_model;
+  int jukes_flag;
+  int kimura_flag;
+  
+  /* flag for using traditional neighbor-joining */
+  int neighbor;
+  
+  /* number of trees to output */
+  int ntrees;
+  
+  /* exponential notation output */
+  int expblen;  /* exp notation for tree branch lengths */
+  int expdist;  /* exp notation for distances in matrix output */
+  
+} NJ_ARGS;
+
+
+
+/* some function prototypes */
+
+NJ_ARGS *
+NJ_handle_args(int argc,
+	       char *argv[]);
+
+void
+NJ_print_args(NJ_ARGS *nj_args);
+
+void
+NJ_usage(void);
+
+
+#endif /* _INC_NJ_CMDARGS_H_ */
+
diff --git a/common.h b/common.h
new file mode 100644
index 0000000..bf498ab
--- /dev/null
+++ b/common.h
@@ -0,0 +1,141 @@
+/*
+ * common.h
+ *
+ * $Id: common.h,v 1.2 2006/08/25 03:58:45 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * A header file filled with common definitions and simple inline functions
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+
+#ifndef _INC_NJ_COMMON_H_
+#define _INC_NJ_COMMON_H_ 1
+
+#include <math.h>
+#include <float.h>
+
+
+#define NJ_AMBIGUITY_CHAR    63  /* ? character */
+
+
+/*
+ * this macro defines the number of cells in the diagonal matrix 
+ * based on the number of taxa involved
+ *
+ */
+#define NJ_NCELLS(a)       ( ((a)*(a+1))/2 )
+
+
+
+
+/*
+ * NJ_MAP() - 
+ *
+ * Thus function maps i, j coordinates to the correct offset into 
+ * the distance matrix
+ *
+ */
+static inline
+long int 
+NJ_MAP(long int i,
+       long int j,
+       long int ntaxa) {
+  
+  return((i*(2*ntaxa-i-1))/2 + j);
+}
+
+
+static inline
+int
+NJ_FLT_EQ(float x,
+	  float y) {
+  
+  if(fabs(x - y)<FLT_EPSILON) {
+    return(1);
+  } else {
+    return(0);
+  }
+}
+
+
+
+static inline
+int
+NJ_FLT_LT(float x,
+	  float y) {
+  
+  if(NJ_FLT_EQ(x, y)) {
+    return(0);
+  } else {
+    if(x < y) {
+      return(1);
+    } else {
+      return(0);
+    }
+  }
+}
+
+
+static inline
+int
+NJ_FLT_GT(float x,
+	  float y) {
+  
+  if(NJ_FLT_EQ(x, y)) {
+    return(0);
+  } else {
+    if(x > y) {
+      return(1);
+    } else {
+      return(0);
+    }
+  }
+}
+
+
+
+
+#endif /* _INC_NJ_COMMON_H_ */
+
+
+
diff --git a/dayhoff.h b/dayhoff.h
new file mode 100644
index 0000000..4ee68d7
--- /dev/null
+++ b/dayhoff.h
@@ -0,0 +1,100 @@
+/*
+ * dayhoff.h
+ *
+ * $Id: dayhoff.h,v 1.1 2006/08/25 03:26:44 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+
+#ifndef _INC_NJ_DAYHOFF_H_
+#define _INC_NJ_DAYHOFF_H_ 1
+
+/*
+ * As sequence divergence increases, we need to correct for multiple hits
+ * when using Kimura distance correction method for amino acid sequences.
+ *
+ * This matrix of values represents the estimated "Accepted Point Mutations"
+ * or PAMs for a range of amino acid sequence divergence, starting at 75% 
+ * up through 93% (in 0.1% increments).
+ *
+ * This model is derived from Dayhoff (1978).
+ *
+ * This Dayhoff matrix and the shortcut methods for dealing with Kimura
+ * correction at high sequence divergence (> 75%) are derived from similar 
+ * work in Clustal W:
+ *
+ *     Thompson, J.D., Higgins, D.G., Gibson, T.J., "CLUSTAL W:
+ *     improving the sensitivity of progressive multiple sequence
+ *     alignment through sequence weighting, position-specific gap
+ *     penalties and weight matrix choice.", 
+ *     Nucleic Acids Research, 22:4673-4680, 1994
+ *
+ */
+
+
+int NJ_dayhoff[]={
+  195,    196,    197,    198,    199,    200,    200,    201,    202,  203,
+  204,    205,    206,    207,    208,    209,    209,    210,    211,  212,
+  213,    214,    215,    216,    217,    218,    219,    220,    221,  222,
+  223,    224,    226,    227,    228,    229,    230,    231,    232,  233,
+  234,    236,    237,    238,    239,    240,    241,    243,    244,  245,
+  246,    248,    249,    250,    252,    253,    254,    255,    257,  258,
+  260,    261,    262,    264,    265,    267,    268,    270,    271,  273,
+  274,    276,    277,    279,    281,    282,    284,    285,    287,  289,
+  291,    292,    294,    296,    298,    299,    301,    303,    305,  307,
+  309,    311,    313,    315,    317,    319,    321,    323,    325,  328,
+  330,    332,    335,    337,    339,    342,    344,    347,    349,  352,
+  354,    357,    360,    362,    365,    368,    371,    374,    377,  380,
+  383,    386,    389,    393,    396,    399,    403,    407,    410,  414,
+  418,    422,    426,    430,    434,    438,    442,    447,    451,  456,
+  461,    466,    471,    476,    482,    487,    493,    498,    504,  511,
+  517,    524,    531,    538,    545,    553,    560,    569,    577,  586,
+  595,    605,    615,    626,    637,    649,    661,    675,    688,  703,
+  719,    736,    754,    775,    796,    819,    845,    874,    907,  945,
+  988 
+};
+
+
+
+#endif /* _INC_NJ_DAYHOFF_H_ */
+
+
+
diff --git a/debian/changelog b/debian/changelog
deleted file mode 100644
index 65b9900..0000000
--- a/debian/changelog
+++ /dev/null
@@ -1,11 +0,0 @@
-clearcut (1.0.9-1) unstable; urgency=medium
-
-  * Initial upload to Debian (Closes: #740298)
-
- -- Andreas Tille <tille at debian.org>  Thu, 27 Feb 2014 17:11:16 +0000
-
-clearcut (1.0.9-0biolinux1) precise; urgency=low
-
-  * New package to support QIIME
-
- -- Tim Booth <tbooth at ceh.ac.uk>  Fri, 21 Feb 2014 18:52:48 +0000
diff --git a/debian/clearcut.1 b/debian/clearcut.1
deleted file mode 100644
index b5d88cc..0000000
--- a/debian/clearcut.1
+++ /dev/null
@@ -1,82 +0,0 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.4.
-.TH CLEARCUT "1" "February 2014" "Clearcut Version: 1.0.9" "User Commands"
-.SH NAME
-Clearcut \- Relaxed Neighbor Joining
-.SH SYNOPSIS
-.B clearcut
-\-\-in=<infilename> \-\-out=<outfilename> [\fIoptions\fR]...
-.SH DESCRIPTION
-.SS ""
-.SS "GENERAL OPTIONS:"
-.TP
-\fB\-h\fR, \fB\-\-help\fR
-Display this information.
-.TP
-\fB\-V\fR, \fB\-\-version\fR
-Print the version of this program.
-.TP
-\fB\-v\fR, \fB\-\-verbose\fR
-More output. (Default: OFF)
-.TP
-\fB\-q\fR, \fB\-\-quiet\fR
-Silent operation. (Default: ON)
-.TP
-\fB\-s\fR, \fB\-\-seed=\fR<seed>
-Explicitly set the PRNG seed to a specific value.
-.TP
-\fB\-r\fR, \fB\-\-norandom\fR
-Attempt joins deterministically.  (Default: OFF)
-.TP
-\fB\-S\fR, \fB\-\-shuffle\fR
-Randomly shuffle the distance matrix.  (Default: OFF)
-.TP
-\fB\-N\fR, \fB\-\-neighbor\fR
-Use traditional Neighbor\-Joining algorithm. (Default: OFF)
-.SS "INPUT OPTIONS:"
-.TP
-\fB\-I\fR, \fB\-\-stdin\fR
-Read input from STDIN.
-.TP
-\fB\-d\fR, \fB\-\-distance\fR
-Input file is a distance matrix. (Default: ON)
-.TP
-\fB\-a\fR, \fB\-\-alignment\fR
-Input file is a set of aligned sequences. (Default: OFF)
-.TP
-\fB\-D\fR, \fB\-\-DNA\fR
-Input alignment are DNA sequences.
-.TP
-\fB\-P\fR, \fB\-\-protein\fR
-Input alignment are protein sequences.
-.SS "CORRECTION MODEL FOR COMPUTING DISTANCE MATRIX (Default: NO Correction):"
-.TP
-\fB\-j\fR, \fB\-\-jukes\fR
-Use Jukes\-Cantor correction for computing distance matrix.
-.TP
-\fB\-k\fR, \fB\-\-kimura\fR
-Use Kimura correction for distance matrix.
-.SS "OUTPUT OPTIONS:"
-.TP
-\fB\-O\fR, \fB\-\-stdout\fR
-Output tree to STDOUT.
-.HP
-\fB\-m\fR, \fB\-\-matrixout=\fR<file> Output distance matrix to specified file.
-.TP
-\fB\-n\fR, \fB\-\-ntrees=\fR<n>
-Output n trees.  (Default: 1)
-.TP
-\fB\-e\fR, \fB\-\-expblen\fR
-Exponential notation for branch lengths. (Default: OFF)
-.TP
-\fB\-E\fR, \fB\-\-expdist\fR
-Exponential notation in distance output. (Default: OFF)
-.SS "EXAMPLES:"
-Compute tree by supplying distance matrix via stdin:
-
-.IP
-clearcut \fB\-\-distance\fR < distances.txt > treefile.tre
-.TP
-Compute tree by supplying an alignment of DNA sequences from a file:
-
-.IP
-clearcut \fB\-\-alignment\fR \fB\-\-DNA\fR \fB\-\-in\fR=\fIalignment\fR.txt \fB\-\-out\fR=\fItreefile\fR.tre
diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index ec63514..0000000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-9
diff --git a/debian/control b/debian/control
deleted file mode 100644
index c654a09..0000000
--- a/debian/control
+++ /dev/null
@@ -1,21 +0,0 @@
-Source: clearcut
-Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.org>
-Uploaders: Tim Booth <tbooth at ceh.ac.uk>,
-           Andreas Tille <tille at debian.org>
-Section: science
-Priority: optional
-Build-Depends: debhelper (>= 9)
-Standards-Version: 3.9.5
-Vcs-Browser: http://anonscm.debian.org/viewvc/debian-med/trunk/packages/clearcut/trunk/
-Vcs-Svn: svn://anonscm.debian.org/debian-med/trunk/packages/clearcut/trunk/
-Homepage: http://bioinformatics.hungry.com/clearcut/
-
-Package: clearcut
-Architecture: any
-Depends: ${shlibs:Depends},
-         ${misc:Depends}
-Description: extremely efficient phylogenetic tree reconstruction
- Clearcut is the reference implementation for the Relaxed Neighbor Joining (RNJ)
- algorithm by J. Evans, L. Sheneman, and J. Foster from the Initiative
- for Bioinformatics and Evolutionary Studies (IBEST) at the University of 
- Idaho.
diff --git a/debian/copyright b/debian/copyright
deleted file mode 100644
index c0719a8..0000000
--- a/debian/copyright
+++ /dev/null
@@ -1,69 +0,0 @@
-Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: Clearcut
-Upstream-Contact:  Luke Sheneman
-Source: http://bioinformatics.hungry.com/clearcut/
-
-Files: *
-Copyright: Copyright (c) 2004,  Luke Sheneman
-License: BSDlike
-
-Files: getopt_long.*
-Copyright: (c) 2004 Koji Arai
-License: getopt
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation files
- (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge,
- publish, distribute, sublicense, and/or sell copies of the Software,
- and to permit persons to whom the Software is furnished to do so,
- subject to the following conditions:
- .
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
- .
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-
-Files: prng.*
-Copyright: (C) 1997-2002, Makoto Matsumoto <m-mat at math.sci.hiroshima-u.ac.jp>
-   and Takuji Nishimura, All rights reserved.                          
-License: BSDlike
-
-License: BSDlike
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- .
-   1. Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
- .
-   2. Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
- .
-   3. The names of its contributors may not be used to endorse or promote 
-      products derived from this software without specific prior written 
-      permission.
- .
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Files: debian/*
-Copyright: © 2014 Tim Booth <tbooth at ceh.ac.uk>
-License: BSDlike
-
diff --git a/debian/docs b/debian/docs
deleted file mode 100644
index e845566..0000000
--- a/debian/docs
+++ /dev/null
@@ -1 +0,0 @@
-README
diff --git a/debian/examples b/debian/examples
deleted file mode 100644
index e39721e..0000000
--- a/debian/examples
+++ /dev/null
@@ -1 +0,0 @@
-examples/*
diff --git a/debian/install b/debian/install
deleted file mode 100644
index 0628419..0000000
--- a/debian/install
+++ /dev/null
@@ -1 +0,0 @@
-clearcut /usr/bin
diff --git a/debian/manpages b/debian/manpages
deleted file mode 100644
index 0f65186..0000000
--- a/debian/manpages
+++ /dev/null
@@ -1 +0,0 @@
-debian/*.1
diff --git a/debian/patches/hardening.patch b/debian/patches/hardening.patch
deleted file mode 100644
index af5ad2d..0000000
--- a/debian/patches/hardening.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Author: Andreas Tille <tille at debian.org>
-Last-Update: Thu, 27 Feb 2014 17:11:16 +0000
-Description: Propagate hardening options
-
---- a/Makefile
-+++ b/Makefile
-@@ -124,7 +124,7 @@ clean:
- 	$(CC) -c $(INCDIRS) $(CFLAGS) $(OPTFLAG) $(DEFS) $<
- 
- clearcut: $(OBJS) $(LIBOBJS)
--	 $(CC) $(LINKFLAGS) -o $@ $(OBJS) $(LIBDIRS) $(LIBS)
-+	 $(CC) $(LINKFLAGS) -o $@ $(OBJS) $(LIBDIRS) $(LIBS) $(LDFLAGS)
- 
- 
- 
diff --git a/debian/patches/mothur_trivial_patch b/debian/patches/mothur_trivial_patch
deleted file mode 100644
index 3581c51..0000000
--- a/debian/patches/mothur_trivial_patch
+++ /dev/null
@@ -1,15 +0,0 @@
-The source posted on the Mothur page at http://www.mothur.org/wiki/Download_Clearcut
-is identical to the upstream bar this one change.
-I have not investigated why, but I assume it's there for a reason and
-QIIME says it wants the Mothur version.
---- a/clearcut.c
-+++ b/clearcut.c
-@@ -1494,7 +1494,7 @@
-   }
- 
-   NJ_output_tree2(fp, nj_args, tree, tree, dmat);
--  fprintf(fp, " ;\n");
-+  fprintf(fp, ";\n");
-   
-   if(!nj_args->stdout_flag) {
-     fclose(fp);
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644
index 020684b..0000000
--- a/debian/patches/series
+++ /dev/null
@@ -1,2 +0,0 @@
-mothur_trivial_patch
-hardening.patch
diff --git a/debian/rules b/debian/rules
deleted file mode 100755
index 1a13fef..0000000
--- a/debian/rules
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/make -f
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-%:
-	dh $@
-
-override_dh_compress:
-	dh_compress -X.dist
-
-# Note a manpage was generated using:
-#  help2man -N ./clearcut > debian/clearcut.1
-#  But this was then manually edited, so it is not rebuilt automatically.
diff --git a/debian/source/format b/debian/source/format
deleted file mode 100644
index 163aaf8..0000000
--- a/debian/source/format
+++ /dev/null
@@ -1 +0,0 @@
-3.0 (quilt)
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
deleted file mode 100644
index 2511e05..0000000
--- a/debian/upstream/metadata
+++ /dev/null
@@ -1,11 +0,0 @@
-Reference:
-  Author: Jason Evans and Luke Sheneman and James A. Foster 
-  Title: "Relaxed Neighbor-Joining: A Fast Distance-Based Phylogenetic Tree Construction Method"
-  Journal: J. Mol. Evol.
-  Year: 2006
-  Volume: 62
-  Number: 6
-  Pages: 785-792
-  DOI: 10.1007/s00239-005-0176-2
-  PMID: 16752216
-  URL: http://link.springer.com/article/10.1007%2Fs00239-005-0176-2
diff --git a/debian/watch b/debian/watch
deleted file mode 100644
index 01bfcf4..0000000
--- a/debian/watch
+++ /dev/null
@@ -1,2 +0,0 @@
-version=3
-http://bioinformatics.hungry.com/clearcut/clearcut-([0-9.]+).tar.gz
diff --git a/dist.c b/dist.c
new file mode 100644
index 0000000..fd712c1
--- /dev/null
+++ b/dist.c
@@ -0,0 +1,668 @@
+/*
+ * dist.c
+ *
+ * $Id: dist.c,v 1.3 2007/11/27 18:33:59 sheneman Exp $
+ *
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * Compute a distance matrix given a set of sequences
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <string.h>
+#include <ctype.h>
+
+#include "common.h"
+#include "dayhoff.h"
+#include "fasta.h"
+#include "dist.h"
+
+
+
+
+/*
+ * NJ_build_distance_matrix() - 
+ *
+ * Given a filename for an alignment, read the alignment
+ * into memory and then compute the distance matrix
+ * using the appropriate correction model
+ */
+DMAT *
+NJ_build_distance_matrix(NJ_ARGS *nj_args) {
+  
+  DMAT *dmat;
+  NJ_alignment *alignment;
+
+  /* Read an alignment in FASTA format */
+  alignment = 
+    NJ_read_fasta(nj_args);
+  
+  if(!alignment) {
+    return(NULL);
+  }
+
+  /* 
+   * Given a global multiple sequence alignment (MSA) and
+   * a specified distance correction model, compute a 
+   * corrected distance matrix
+   *
+   * From proteins, we may want to allow users to specify
+   * a substitution matrix (feature)
+   */
+  dmat = 
+    NJ_compute_dmat(nj_args,
+		    alignment);
+
+  // NJ_print_taxanames(dmat);
+
+  if(!dmat) {
+    fprintf(stderr, "Clearcut: Error computing distance matrix\n");
+  }
+  
+  /* now free the memory associated with the alignment */
+  NJ_free_alignment(alignment);
+
+  return(dmat);
+}
+
+
+
+
+
+/* 
+ * NJ_compute_dmat() - 
+ *
+ * Given an alignment and a correction model, compute the 
+ * distance matrix and return it
+ *
+ */
+DMAT *
+NJ_compute_dmat(NJ_ARGS *nj_args,
+		NJ_alignment *alignment) {
+
+  DMAT *dmat;
+  long int i;
+  
+  
+  /* allocate distance matrix here */
+  dmat = (DMAT *)calloc(1, sizeof(DMAT));
+  if(!dmat) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_compute_dmat()\n");
+    return(NULL);
+  }
+  
+  dmat->ntaxa = alignment->nseq;
+  dmat->size  = alignment->nseq;
+
+  /* allocate memory to hold the taxa names */
+  dmat->taxaname = (char **)calloc(alignment->nseq, sizeof(char *));
+  if(!dmat->taxaname) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_compute_dmat()\n");
+    return(NULL);
+  }
+  
+  /* copy sequence titles */
+  for(i=0;i<alignment->nseq;i++) {
+    dmat->taxaname[i] = (char *)calloc(strlen(alignment->titles[i])+1, sizeof(char));
+    if(!dmat->taxaname[i]) {
+      fprintf(stderr, "Clearcut: Memory allocation error in NJ_compute_dmat()\n");
+      return(NULL);
+    }
+
+    strncpy(dmat->taxaname[i], alignment->titles[i], strlen(alignment->titles[i]));
+  }
+
+  /* allocate val matrix in dmat */
+  dmat->val = (float *)calloc(dmat->ntaxa*dmat->ntaxa, sizeof(float));
+  if(!dmat->val) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_compute_dmat()\n");
+    return(NULL);
+  }
+
+  /* now lets allocate space for the r and r2 columns */
+  dmat->r  = (float *)calloc(dmat->ntaxa, sizeof(float));
+  dmat->r2 = (float *)calloc(dmat->ntaxa, sizeof(float));
+
+  /* track some memory addresses */
+  dmat->rhandle   = dmat->r;
+  dmat->r2handle  = dmat->r2;
+  dmat->valhandle = dmat->val;
+  
+  /* apply model correction to matrix */
+  switch(nj_args->correction_model) {
+
+  case NJ_MODEL_JUKES:
+    
+    if(nj_args->dna_flag) {
+      NJ_DNA_jc_correction(dmat, alignment);
+    } else if(nj_args->protein_flag) {
+      NJ_PROTEIN_jc_correction(dmat, alignment);
+    } else {
+      fprintf(stderr, "Clearcut: Need to know sequence type for Jukes-Cantor model correction.\n");
+      return(NULL);
+    }
+
+    break;
+
+  case NJ_MODEL_KIMURA:
+
+    if(nj_args->dna_flag) {
+      NJ_DNA_k2p_correction(dmat, alignment);
+    } else if(nj_args->protein_flag) {
+      NJ_PROTEIN_kimura_correction(dmat, alignment);
+    } else {
+      fprintf(stderr, "Clearcut: Need to know sequence type for Kimura model correction.\n");
+      return(NULL);
+    }
+
+    break;
+
+  case NJ_MODEL_NONE:
+
+    NJ_no_correction(dmat, alignment);
+
+    break;
+
+  default:
+    fprintf(stderr, "Clearcut: Invalid distance correction model.\n");
+    return(NULL);
+  }
+  
+  return(dmat);
+}
+
+
+
+
+
+/*
+ * NJ_no_correction() - 
+ *
+ * Compute the distance matrix without correction 
+ * (straight percent ID)
+ *
+ * Resolve ambiguities in sequence data by skipping
+ * those nucleotides/residues
+ * 
+ */
+void
+NJ_no_correction(DMAT *dmat,
+		 NJ_alignment *alignment) {
+
+  long int i, j;
+  float pdiff;
+
+  /* compute pairwise percent identity */
+  for(i=0;i<dmat->size;i++) {
+    for(j=i+1;j<dmat->size;j++) {
+      pdiff = 1.0 - NJ_pw_percentid(alignment, i, j);      
+      dmat->val[NJ_MAP(i, j, dmat->size)] = pdiff;
+    }
+  }
+  
+  return;
+}
+
+
+
+
+/*
+ * NJ_DNA_jc_correction() - 
+ *
+ * Compute the distance matrix with jukes-cantor correction
+ * and assign high distance if sequence divergence exceeds
+ * 0.75
+ *
+ *   Jukes, T.H. (1969), Evolution of protein molecules.  In H.N. Munro (Ed.),
+ *   Mammalian Protein Metabolism, Volume III, Chapter 24, pp. 21-132. 
+ *   New York: Academic Press
+ *
+ */
+void
+NJ_DNA_jc_correction(DMAT *dmat,
+		     NJ_alignment *alignment) {
+  
+  long int i, j;
+  long int k;
+  float d, cutoff, dist;
+  long int residues;
+
+  cutoff = 0.75;
+  
+  for(i=0;i<dmat->size;i++) {
+    for(j=i+1;j<dmat->size;j++) {
+      
+      k = NJ_pw_differences(alignment, i, j, &residues);
+      d = 1.0 - NJ_pw_percentid(alignment, i, j);      
+      
+      if(d > cutoff) {
+	dist = NJ_BIGDIST;
+      } else {
+	dist = (-0.75) * log(1.0 - (4.0/3.0)*d);
+      }
+      
+      if(fabs(dist) < FLT_EPSILON) {
+	dmat->val[NJ_MAP(i, j, dmat->size)] = 0.0;
+      } else {
+	dmat->val[NJ_MAP(i, j, dmat->size)] = dist;
+      }
+    }
+  }
+
+
+  
+  return;
+}
+
+
+
+
+
+
+/*
+ * NJ_PROTEIN_jc_correction() - 
+ *
+ * This function performs modified jukes/cantor correction on
+ * a protein alignment 
+ *
+ *   Jukes, T.H. (1969), Evolution of protein molecules.  In H.N. Munro (Ed.),
+ *   Mammalian Protein Metabolism, Volume III, Chapter 24, pp. 21-132. 
+ *   New York: Academic Press
+ *
+ */
+void
+NJ_PROTEIN_jc_correction(DMAT *dmat,
+			 NJ_alignment *alignment) {
+  
+  long int i, j;
+  long int residues;
+  long int diff;
+  float dist, x;
+  
+
+  for(i=0;i<dmat->size;i++) {
+    for(j=i+1;j<dmat->size;j++) {
+
+      diff = NJ_pw_differences(alignment, i, j, &residues);
+      
+      if(!diff || !residues) {
+	dist = 0.0;
+      } else {
+
+	dist = (float)diff/(float)residues;
+	x = ((20.0/19.0)*dist);
+
+	if(NJ_FLT_GT(x, 1.0)) {
+	  dist = NJ_BIGDIST;
+	} else {
+	  dist = -(19.0/20.0) * log(1.0 - x);
+	}
+      }
+      
+      dmat->val[NJ_MAP(i, j, dmat->size)] = dist;
+    }
+  }
+  
+  return;
+}
+
+
+
+
+
+
+/*
+ * NJ_DNA_k2p_correction() -  
+ *
+ * Correct a distance matrix using k2p correction using
+ * cutoffs to avoid problems with logarithms.
+ *
+ * dist = -0.5ln(1-2P-Q) - 0.25ln(1-2Q)
+ *
+ * But due to the logarithms, this is only valid when
+ *
+ * (2P+Q <= 1)  &&  
+ * (2Q <= 1)
+ *
+ * So assign arbitary distances when these constraints are
+ * not strictly followed.
+ *
+ *   Kimura, M. (1980), A simple method for estimating evolutionary
+ *   rates of base substitutions through comparative studies of
+ *   nucleotide sequences.  J. Mol. Evol., 16, 111-120
+ *
+ */
+void
+NJ_DNA_k2p_correction(DMAT *dmat,
+		      NJ_alignment *alignment) {
+
+  long int i, j;
+  float P;  /* proportion of transitions   */
+  float Q;  /* proportion of transversions */
+  long int nucleotides;
+  long int transitions, transversions;
+  float dist;
+  float log_x = 0.0;  /* the params for the first log  */
+  float log_y = 0.0;  /* the params for the second log */
+
+  int blowup;   /* a flag to specify if we have a log blowup */
+
+  
+  for(i=0;i<dmat->size;i++) {
+    for(j=i+1;j<dmat->size;j++) {
+
+      blowup = 0;
+
+      /* count the number of transitions and transversions */
+      NJ_DNA_count_tt(alignment, i, j, &transitions, &transversions, &nucleotides);
+
+      if(!nucleotides) {   /* sequences have no non-ambiguous overlap in alignment */
+	P = 0.0;
+	Q = 0.0;
+      } else {
+	P = (float)transitions   / (float)nucleotides;
+	Q = (float)transversions / (float)nucleotides;
+      }
+
+      /* the first log blows up if 2*P+Q = 1.0 */
+      if(NJ_FLT_EQ((2.0 * P + Q), 1.0)) {
+	blowup = 1;
+      } else {
+	if( NJ_FLT_LT(1.0 - 2.0*P - Q, 0.0) ) {
+	  blowup = 1;
+	} else {
+	  log_x = log(1.0 - 2.0*P - Q);
+	}
+      }
+
+      /* the second log blows up if 2*Q >= 1.0 */
+      if( NJ_FLT_EQ((2.0 * Q), 1.0) ||
+	  NJ_FLT_GT((2.0 * Q), 1.0) ) {
+	blowup = 1;
+      } else {
+	log_y = log(1.0 - 2.0*Q);
+      }
+      
+      /* if our logarithms blow up, we just set the distance to the max */
+      if(blowup) {
+	dist = NJ_BIGDIST;
+      } else {
+	dist = (-0.5)*log_x - 0.25*log_y;
+      }
+      
+      if(fabs(dist) < FLT_EPSILON) {
+	dmat->val[NJ_MAP(i, j, dmat->size)] = 0.0;
+      } else {
+	dmat->val[NJ_MAP(i, j, dmat->size)] = dist;
+      }
+    }
+  }
+  
+  return;
+}
+
+
+
+
+/*
+ * NJ_PROTEIN_kimura_correction() - 
+ *
+ * Perform Kimura correction for distances derived from protein
+ * alignments.
+ *
+ *   Kimura, M. (1983), The Neutral Theory of Molecular Evolution.
+ *   p. 75., Cambridge University Press, Cambridge, England
+ *
+ */
+void
+NJ_PROTEIN_kimura_correction(DMAT *dmat,
+			     NJ_alignment *alignment) {
+
+  long int i, j;
+  long int residues;
+  long int diff;
+  float dist;
+  
+
+  printf("NJ_PROTEIN_kimura_correction()\n");
+
+  for(i=0;i<dmat->size;i++) {
+    for(j=i+1;j<dmat->size;j++) {
+      diff = NJ_pw_differences(alignment, i, j, &residues);
+      
+      if(!diff || !residues) {
+	dist = 0.0;
+      } else {
+	dist = (float)diff/(float)residues;
+      }
+      
+      if(NJ_FLT_LT(dist, 0.75)) {
+	if(NJ_FLT_GT(dist, 0.0) ) {
+	  dist = -log(1.0 - dist - (dist * dist/5.0) );
+	}
+      } else {
+	if(NJ_FLT_GT(dist, 0.93) ) {
+	  dist = 10.0; 
+	} else {
+	  dist = (float)NJ_dayhoff[ (int)((dist*1000.0)-750.0) ] / 100.0 ;
+	}
+      }
+      
+      dmat->val[NJ_MAP(i, j, dmat->size)] = dist;
+    }
+  }
+  
+  return;
+}
+
+
+
+
+
+/*
+ * NJ_DNA_count_tt() - 
+ *
+ * Count the number of transitions and transversions
+ * between two aligned DNA sequences
+ *
+ * This routine automatically skips ambiguities when
+ * counting transitions and transversions.
+ *
+ */
+void
+NJ_DNA_count_tt(NJ_alignment *alignment,
+		long int x,
+		long int y,
+		long int *transitions,
+		long int *transversions,
+		long int *residues) {
+
+  long int tmp_transitions   = 0;
+  long int tmp_transversions = 0;
+  long int tmp_residues      = 0;
+  char a, b;
+  long int i;
+
+  for(i=0;i<alignment->length;i++) {
+
+    a = toupper(alignment->data[x*alignment->length+i]);
+    b = toupper(alignment->data[y*alignment->length+i]);
+    
+    if( (a == 'A' && b == 'T') ||
+	(a == 'T' && b == 'A') ||
+	(a == 'A' && b == 'C') ||
+	(a == 'C' && b == 'A') ||
+	(a == 'T' && b == 'G') ||
+	(a == 'G' && b == 'T') ||
+	(a == 'C' && b == 'G') ||
+	(a == 'G' && b == 'C') ) {
+      tmp_transversions++;
+    }
+	
+    if( (a == 'C' && b == 'T') ||
+	(a == 'T' && b == 'C') ||
+	(a == 'G' && b == 'A') ||
+	(a == 'A' && b == 'G') ) {
+      tmp_transitions++;
+    }
+
+    /* count the number of residues */
+    if(a != NJ_AMBIGUITY_CHAR &&
+       b != NJ_AMBIGUITY_CHAR ) {
+      tmp_residues++;
+    }
+
+  }
+  
+  *transitions   = tmp_transitions;
+  *transversions = tmp_transversions;
+  
+  if(residues) {
+    *residues = tmp_residues;
+  }
+  
+  return;
+}
+
+
+
+
+
+/*
+ * NJ_pw_percentid() - 
+ *
+ * Given an alignment and a specification
+ * for two rows, compute the pairwise
+ * percent identity between the two
+ *
+ */
+float
+NJ_pw_percentid(NJ_alignment *alignment,
+		long int x,
+		long int y) {
+  
+  float pid;
+  long int i;
+  long int residues;
+  long int same;
+  char c1, c2;
+
+  residues = 0;
+  same     = 0;
+  for(i=0;i<alignment->length;i++) {
+
+    c1 = alignment->data[x*alignment->length+i];
+    c2 = alignment->data[y*alignment->length+i];
+    
+    if( c1 != NJ_AMBIGUITY_CHAR ||
+        c2 != NJ_AMBIGUITY_CHAR ) {
+      
+      residues++;
+
+      if(c1 == c2) {
+	same++;
+      }
+    }
+
+  }
+
+  pid = (float)same/(float)residues;
+  
+  return(pid);
+}
+
+
+
+/*
+ * NJ_pw_differences() - 
+ *
+ * Given an alignment and a specification
+ * for two rows in the alignment, compute the
+ * number of differences between the two sequences
+ *
+ * With respect to ambiguity codes, we will want to 
+ * disregard those sites entirely in our count.
+ *
+ */
+long int
+NJ_pw_differences(NJ_alignment *alignment,
+		  long int x,
+		  long int y,
+		  long int *residues) {
+
+  long int i;
+  long int diff;
+  char c1, c2;
+  long int tmp_residues;
+  
+  diff         = 0;
+  tmp_residues = 0;
+  for(i=0;i<alignment->length;i++) {
+
+    c1 = alignment->data[x*alignment->length+i];
+    c2 = alignment->data[y*alignment->length+i];
+    
+    if( c1 != NJ_AMBIGUITY_CHAR ||
+        c2 != NJ_AMBIGUITY_CHAR ) {
+      
+      tmp_residues++;
+
+      if(c1 != c2) {
+	diff++;
+      }
+    }
+
+  }
+
+  *residues = tmp_residues;
+
+  return(diff);
+}
+
+
+
+
+
+
diff --git a/dist.h b/dist.h
new file mode 100644
index 0000000..ab69289
--- /dev/null
+++ b/dist.h
@@ -0,0 +1,125 @@
+/*
+ * dist.h
+ *
+ * $Id: dist.h,v 1.1 2006/08/25 03:26:44 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * Compute a distance matrix given a set of sequences
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+
+#ifndef _INC_DIST_H_
+#define _INC_DIST_H_ 1
+
+#include "fasta.h"
+#include "clearcut.h"
+
+
+
+/* 
+ * An arbitrarily large distance to represent distances
+ * which are too great to accurately correct.
+ */
+#define NJ_BIGDIST 10.0  
+
+
+
+/* some function prototypes */
+DMAT *
+NJ_build_distance_matrix(NJ_ARGS *nj_args);
+
+DMAT *
+NJ_compute_dmat(NJ_ARGS *nj_args,
+		NJ_alignment *alignment);
+
+
+float
+NJ_pw_percentid(NJ_alignment *alignment,
+		long int x,
+		long int y);
+
+long int
+NJ_pw_differences(NJ_alignment *alignment,
+		  long int x,
+		  long int y,
+		  long int *residues);
+
+void
+NJ_no_correction(DMAT *dmat,
+		 NJ_alignment *alignment);
+
+void
+NJ_DNA_jc_correction(DMAT *dmat,
+		     NJ_alignment *alignment);
+
+void
+NJ_PROTEIN_jc_correction(DMAT *dmat,
+			 NJ_alignment *alignment);
+
+void
+NJ_DNA_k2p_correction(DMAT *dmat,
+		      NJ_alignment *alignment);
+
+void
+NJ_PROTEIN_kimura_correction(DMAT *dmat,
+			     NJ_alignment *alignment);
+
+void
+NJ_DNA_count_tt(NJ_alignment *alignment,
+		long int x,
+		long int y,
+		long int *transitions,
+		long int *transversions,
+		long int *residues);
+
+
+#endif /* _INC_DIST_H_ */
+
+
+
+
+
+
+
+
+
diff --git a/dmat.c b/dmat.c
new file mode 100644
index 0000000..bd8c3eb
--- /dev/null
+++ b/dmat.c
@@ -0,0 +1,869 @@
+/*
+ * dmat.c
+ *
+ * $Id: dmat.c,v 1.3 2006/09/01 04:55:39 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * Distance matrix parser
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <float.h>
+#include <errno.h>
+#include <string.h>
+
+
+
+#include "common.h"
+#include "clearcut.h"
+
+#include "dmat.h"
+
+
+
+
+
+/*
+ *
+ * NJ_is_alpha() - determine if character is an alphabetic character
+ *
+ * INPUT:
+ * ------
+ *  c -- character to test
+ *
+ * RETURN:
+ * -------
+ *   int -- 1 if character is alphabetic (A-Z || a-z)
+ *          0 if character is NOT alphabetic
+ *
+ */
+static inline
+int 
+NJ_is_alpha(char c) {
+
+  if( (c >= 'A' && c <= 'Z') ||
+      (c >= 'a' && c <= 'z') ) {
+    return(1);
+  } else {
+    return(0);
+  }
+}
+
+
+
+/*
+ *
+ * NJ_is_whitespace() - determine if character is a whitespace character
+ *
+ * INPUT:
+ * ------
+ *  c -- character to test
+ *
+ * RETURN:
+ * -------
+ *   int -- 1 if character is whitespace (space, tab, CR, LF)
+ *          0 if character is NOT whitespace
+ *
+ */
+static inline
+int
+NJ_is_whitespace(char c) {
+
+  if( c == ' '  ||   /* space           */
+      c == '\n' ||   /* newline         */
+      c == '\r' ||   /* carriage-return */
+      c == '\v' ||   /* vertical tab    */
+      c == '\f' ||   /* form feed       */
+      c == '\t' ) {  /* horizontal tab  */
+    return(1);
+  } else {
+    return(0);
+  }
+
+}
+
+
+
+
+/*
+ *
+ * NJ_is_number() - determine if character is a number
+ *
+ * INPUT:
+ * ------
+ *  c -- character to test
+ *
+ * RETURN:
+ * -------
+ *   int -- 1 if character is a number (0-9)
+ *          0 if character is NOT a number
+ *
+ */
+static inline
+int
+NJ_is_number(char c) {
+  if(c >= '0' && c <= '9') {
+    return(1);
+  } else {
+    return(0);
+  }
+}
+
+
+
+/*
+ * NJ_is_distance() - check if string is a properly formatted distance value
+ *
+ */
+static inline
+int
+NJ_is_distance(char *token) {
+  
+  int i;
+  char c;
+  int exponent_state;
+  int expsign_state;
+  int dpoint_state;
+
+  /* if token is NULL return failure */
+  if(!token) {
+    return(0);
+  }
+  
+  exponent_state = 0;
+  expsign_state  = 0;
+  dpoint_state   = 0;
+  
+  /* The first character must be a number, a decimal point or a sign */
+  c = token[0];
+  if(!NJ_is_number(c) &&
+     c != '.'         &&
+     c != '-'         &&
+     c != '+' )  {
+    
+    goto BAD;
+  } 
+  
+  /* 
+   * if the first character is not a number, and string is only one 
+   * character long, then we return failure.
+   */
+  if(strlen(token) == 1) {
+    if(!NJ_is_number(c)) {
+      goto BAD;
+    }
+  }
+  
+  for(i=0;i<strlen(token);i++) {
+
+    c = token[i];
+    
+    /* make sure that all chars in dist string are in list of valid chars */
+    if(!NJ_is_number(c) &&
+       c != '.'         &&
+       c != '-'         &&
+       c != '+'         &&
+       c != 'e'         &&
+       c != 'E'         ) {
+
+      goto BAD;
+    }
+
+    /* not the first char and we are not in exponent state but read (+,-) */
+    if(i>0 && !exponent_state) {
+      if(c == '-' || 
+	 c == '+') {
+	goto BAD;
+      }
+    }
+
+    /* if we are in the exponent state, and we've already seen a sign */
+    if(exponent_state && expsign_state) {
+      if(c == '-' ||
+	 c == '+') {
+	goto BAD;
+      }
+    }
+    
+    /* if we are in the exponent state and we see a decimal point */
+    if(exponent_state) {
+      if(c == '.') {
+	goto BAD;
+      }
+    }
+    
+    /* if we are in the exponent state and see another e or E */
+    if(exponent_state) {
+      if(c == 'e' ||
+	 c == 'E') {
+	goto BAD;
+      }
+    }
+    
+    /* if we are dpoint_state and see another decimal point */
+    if(dpoint_state) {
+      if(c == '.') {
+	goto BAD;
+      }
+    }
+    
+    
+    /* enter the exponent state if we need to */
+    if(!exponent_state) {
+      if(c == 'e' ||
+	 c == 'E') {
+	exponent_state = 1;
+      }
+    }
+
+    /* enter the expsign_state if we need to */
+    if(exponent_state && !expsign_state) {
+      if(c == '-' ||
+	 c == '+') {
+	expsign_state = 1;
+      }
+    }
+
+    /* if not in dpoint state and we see a dpoint */
+    if(!dpoint_state) {
+      if(c == '.') {
+	dpoint_state = 1;
+      }
+    }
+
+  }
+  
+  /* the token must end in a number char */
+  if(!NJ_is_number(token[strlen(token)-1])) {
+    goto BAD;
+  }
+  
+  /* token is a valid numerical distance */
+  return(1);
+  
+ BAD:
+
+  /* token is invalid distance format */
+  return(0);
+}
+
+
+
+
+/*
+ * NJ_is_label() - 
+ *
+ * Simply, if token is not a valid number, then it is a name
+ *
+ */
+static inline
+int
+NJ_is_label(char *token) {
+  if(NJ_is_distance(token)) {
+    return(0);
+  } else {
+    return(1);
+  }
+}
+
+
+
+/*
+ * NJ_get_token() - get a token from an input stream 
+ *
+ */
+static inline
+int
+NJ_get_token(FILE *fp,
+	     NJ_DIST_TOKEN *token) {
+
+  char c;
+  int index;
+
+  c = fgetc(fp);
+  if(feof(fp)) {
+    token->type = NJ_EOF_STATE;
+    return(token->type);
+  }
+
+  if(NJ_is_whitespace(c)) {
+    token->buf[0] = c;
+    token->buf[1] = '\0';
+    token->type   = NJ_WS_STATE;
+
+    return NJ_WS_STATE;
+  } 
+
+  index = 0;
+  while(!NJ_is_whitespace(c)) {
+
+    /* reallocate our buffer if necessary */
+    if(index >= token->bufsize) {
+      token->bufsize *= 2;
+      token->buf = (char *)realloc(token->buf, token->bufsize*sizeof(char));
+      if(!token->buf) {
+	fprintf(stderr, "Clearcut: Memory allocation error in NJ_get_token()\n");
+	exit(-1);
+      }
+    }
+
+    token->buf[index++] = c;
+    
+    c = fgetc(fp);
+    if(feof(fp)) {
+      token->type = NJ_EOF_STATE;
+      break;
+    }
+  }
+  
+  token->buf[index] = '\0';
+  
+  if(token->type != NJ_EOF_STATE) {
+
+    if(NJ_is_distance(token->buf)) {
+      token->type = NJ_FLOAT_STATE;
+    } else {
+      token->type = NJ_NAME_STATE;
+    }
+
+  }
+  
+  return(token->type);
+}
+
+
+
+
+ 
+
+/* 
+ * NJ_parse_distance_matrix() -- Takes a filename and returns a distance matrix
+ *
+ *
+ * INPUT:
+ * ------
+ *   nj_args -- a pointer to a structure containing the command-line arguments
+ *
+ * OUTPUT:
+ * -------
+ *   <DMAT *> -- NULL  (failure)
+ *            -- A pointer to a populated distance matrix
+ *
+ * DESCRIPTION:
+ * ------------
+ *   This function implements a simple state machine to parse a distance matrix
+ *   in approximate PHYLIP format.  This function auto-detects whether the 
+ *   distance matrix is in upper, lower, or fully-symmetric format and handles
+ *   it accordingly.  For full/symmetric matrices, values must be symmetric 
+ *   around the diagonal, which is required to be zeroes.  Names and values must
+ *   be separated by whitespace (space, tab, newlines, etc.).  Taxon labels can
+ *   include numbers, but must start with non-numerical symbols.
+ *
+ *
+ *   *** UPPER FORMAT EXAMPLE ***
+ * 
+ *   4
+ *   seq1 0.2 0.3 0.1
+ *   seq2     0.2 0.3
+ *   seq3         0.1
+ *   seq4
+ * 
+ *   *** LOWER FORMAT EXAMPLE ***
+ *
+ *   4
+ *   seq1
+ *   seq2 0.3
+ *   seq3 0.2 0.4
+ *   seq4 0.3 0.1 0.3
+ *
+ *   *** SYMMETRIC (FULL) EXAMPLE ***
+ *  
+ *   4
+ *   seq1 0.0 0.3 0.5 0.3
+ *   seq2 0.3 0.0 0.1 0.2
+ *   seq3 0.5 0.1 0.0 0.9
+ *   seq4 0.3 0.2 0.9 0.0
+ *
+ *  Values in the distance matrix can be positive or negative, integers or
+ *  real values.  Values can also be parsed in exponential notation form.
+ * 
+ */
+DMAT *
+NJ_parse_distance_matrix(NJ_ARGS *nj_args) {
+  
+  DMAT *dmat           = NULL;
+  FILE *fp            = NULL;
+  NJ_DIST_TOKEN *token = NULL;
+
+  int state, dmat_type;
+  int row;
+  int fltcnt;
+  int x, y, i;
+  int numvalread;
+  int expectedvalues = -1;
+  float val;
+  int first_state = 0;
+
+
+  /* allocate our distance matrix and token structure */
+  dmat = (DMAT *)calloc(1, sizeof(DMAT));
+  token = (NJ_DIST_TOKEN *)calloc(1, sizeof(NJ_DIST_TOKEN));
+  if(token) {
+    token->bufsize = NJ_INITIAL_BUFSIZE;
+    token->buf     = (char *)calloc(token->bufsize, sizeof(char));
+  }
+  if(!dmat || !token || !token->buf) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_parse_distance_matrix()\n");
+    goto XIT_BAD;
+  }
+  
+  /* open distance matrix file here */
+  if(nj_args->stdin_flag) {
+    fp = stdin;
+  } else {
+    fp = fopen(nj_args->infilename, "r");
+    if(!fp) {
+      fprintf(stderr, "Clearcut: Could not open distance matrix: %s\n", nj_args->infilename);
+      perror("Clearcut");
+      goto XIT_BAD;
+    }
+  }
+
+  /* get the number of taxa in this file */
+  fscanf(fp, "%ld\n", &dmat->ntaxa);
+  if(dmat->ntaxa < 2) {
+    fprintf(stderr, "Clearcut: Invalid number of taxa in distance matrix\n");
+
+    goto XIT_BAD;
+  }
+
+  /* set our initial working size according to the # of taxa */
+  dmat->size = dmat->ntaxa;
+
+  /* allocate space for the distance matrix values here */
+  dmat->val = 
+    (float *)calloc(NJ_NCELLS(dmat->ntaxa), sizeof(float));
+  if(!dmat->val) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_parse_distance_matrix()\n");
+    goto XIT_BAD;
+  }
+
+  /*  taxa names */
+  dmat->taxaname = (char **)calloc(dmat->ntaxa, sizeof(char *));
+  if(!dmat->taxaname) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_parse_distance_matrix()\n");
+    goto XIT_BAD;
+  }
+
+  /* set the initial state of our state machine */
+  dmat_type   = NJ_PARSE_UNKNOWN;
+  row         = -1;
+  fltcnt      = 0;
+  numvalread  = 0;
+
+
+  /* read the input one character at a time to drive simple state machine */
+  state = NJ_get_token(fp, token);
+  while(state != NJ_EOF_STATE) {
+    
+    switch(state) {
+
+    case NJ_NAME_STATE:
+      
+      if(first_state == 0) {
+	first_state = 1;
+      }
+
+      row++;
+
+      if(row > 0 && dmat_type == NJ_PARSE_UNKNOWN) {
+
+	if(fltcnt == dmat->ntaxa) {
+
+	  dmat_type = NJ_PARSE_SYMMETRIC;
+	  expectedvalues = dmat->ntaxa * dmat->ntaxa;
+
+	} else if (fltcnt == dmat->ntaxa-1) {
+
+	  dmat_type = NJ_PARSE_UPPER;
+	  expectedvalues = ((dmat->ntaxa) * (dmat->ntaxa-1)) / 2;
+
+	  /* shift everything in first row by one char */
+	  for(i=dmat->ntaxa-2;i>=0;i--) {
+	    dmat->val[i+1] = dmat->val[i];
+	  }
+
+	} else if (fltcnt == 0) {
+
+	  dmat_type = NJ_PARSE_LOWER;
+	  expectedvalues = ((dmat->ntaxa) * (dmat->ntaxa-1)) / 2;
+
+	} else {
+	  goto XIT_BAD;
+	}
+      }
+      
+      if(row >= dmat->ntaxa) {
+	goto XIT_BAD;
+      }
+      
+      /* allocate space for this taxon label */
+      dmat->taxaname[row] = (char *)calloc(strlen(token->buf)+1, sizeof(char));
+      if(!dmat->taxaname[row]) {
+	fprintf(stderr, "Clearcut: Memory allocation error in NJ_parse_distance_matrix()\n");
+	goto XIT_BAD;
+      }
+      
+      strcpy(dmat->taxaname[row], token->buf); 
+      
+      fltcnt = 0;
+
+      break;
+
+
+    case NJ_FLOAT_STATE:
+
+      if(first_state == 0) {
+	goto XIT_BAD;
+      }
+
+      val = atof(token->buf);
+      if(errno) {
+	fprintf(stderr, "Clearcut: Distance value out-of-range.\n");
+	goto XIT_BAD;
+      }
+      
+      x = row;
+      y = fltcnt;
+
+      switch(dmat_type) {
+
+      case NJ_PARSE_UNKNOWN:
+
+	dmat->val[NJ_MAP(x, y, dmat->size)] = val;
+
+	break;
+
+      case NJ_PARSE_SYMMETRIC:
+	
+	if(fltcnt >= dmat->ntaxa) {
+	  fprintf(stderr, "Clearcut: Incorrect number of distance values on row.\n");
+	  goto XIT_BAD;
+	}
+
+	if(x < y) {
+	  dmat->val[NJ_MAP(x, y, dmat->size)] = val;
+	} else if(x > y) {
+	  if(!NJ_FLT_EQ(val, dmat->val[NJ_MAP(y, x, dmat->size)])) {
+	    fprintf(stderr, "Clearcut: Full matrices must be symmetric.\n");
+	    goto XIT_BAD;
+	  }
+	} else {
+	  if(!NJ_FLT_EQ(val, 0.0)) {
+	    fprintf(stderr, "Clearcut: Values along the diagonal in a symmetric matrix must be zero.\n");
+	    goto XIT_BAD;
+
+            }
+	}
+
+	break;
+	
+      case NJ_PARSE_UPPER:
+
+	if(fltcnt > dmat->ntaxa-row) {
+	  fprintf(stderr, "Clearcut: Incorrect number of distance values on row.\n");
+	  goto XIT_BAD;
+	}
+	
+	dmat->val[NJ_MAP(x, x+y+1, dmat->size)] = val;
+	
+	break;
+
+      case NJ_PARSE_LOWER:
+	
+	if(fltcnt > row-1) {
+	  fprintf(stderr, "Clearcut: Incorrect number of distance values on row.\n");
+	  goto XIT_BAD;
+	}
+
+	dmat->val[NJ_MAP(y, x, dmat->size)] = val;
+	
+	break;
+	
+      default:
+	
+	goto XIT_BAD;
+	
+	break;
+      }
+
+      fltcnt++;
+      numvalread++;
+      
+      break;
+
+    case NJ_WS_STATE:
+
+      break;
+
+    case NJ_EOF_STATE:
+
+      if(first_state == 0) {
+	goto XIT_BAD;
+      }
+
+      break;
+
+    default:
+
+      fprintf(stderr, "Clearcut: Unknown state in distance matrix parser.\n");
+      break;
+
+    }
+
+    /* get next token from stream */
+    state = NJ_get_token(fp, token);
+  }
+
+
+  /* 
+   * At the end, if we have not read the number of values that we predicted
+   * we would need, then there was a problem and we need to punt.
+   */
+  if(numvalread != expectedvalues) {
+    fprintf(stderr, "Clearcut: Incorrect number of values in the distance matrix.\n");
+    goto XIT_BAD;
+  }
+  
+  /* special check to make sure first value read is 0.0 */
+  if(dmat_type == NJ_PARSE_SYMMETRIC) {
+    if(!NJ_FLT_EQ(dmat->val[NJ_MAP(0, 0, dmat->size)], 0.0)) {
+      fprintf(stderr, "Clearcut: Values along the diagonal in a symmetric matrix must be zero.\n");
+      goto XIT_BAD;
+    }
+  }
+
+  
+  /* now lets allocate space for the r and r2 columns */
+  dmat->r  = (float *)calloc(dmat->ntaxa, sizeof(float));
+  dmat->r2 = (float *)calloc(dmat->ntaxa, sizeof(float));
+  if(!dmat->r || !dmat->r2) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_parse_distance_matrix()\n");
+    goto XIT_BAD;
+  }
+  
+  /* track some memory addresses */
+  dmat->rhandle   = dmat->r;
+  dmat->r2handle  = dmat->r2;
+  dmat->valhandle = dmat->val;
+
+  /* close matrix file here */
+  if(!nj_args->stdin_flag) {
+    fclose(fp);
+  }
+  
+  if(token) {
+    if(token->buf) {
+      free(token->buf);
+    }
+    free(token);
+  }
+
+  return(dmat);
+
+
+
+  /* clean up our partial progress */
+ XIT_BAD:
+
+  if(fp) {
+    fprintf(stderr, "Clearcut: Syntax error in distance matrix at offset %ld.\n", ftell(fp));
+  }
+
+  /* close matrix file here */
+  if(!nj_args->stdin_flag) {
+    if(fp) {
+      fclose(fp);
+    }
+  }
+
+  /* if we have a valid dmat (partial or complete), we need to free it */
+  if(dmat) {
+    NJ_free_dmat(dmat);
+  }
+  
+  if(token) {
+    if(token->buf) {
+      free(token->buf);
+    }
+    free(token);
+  }
+  
+  return(NULL);
+}
+
+
+
+
+
+
+
+/*
+ * NJ_output_matrix() - Output a distance matrix to the specified file 
+ *
+ *
+ * INPUTS:
+ * -------
+ *  nj_args -- a pointer to a data structure holding the command-line args
+ *     dmat -- a pointer to a distance matrix
+ *
+ *
+ * RETURNS:
+ * --------
+ *   NOTHING
+ *
+ *
+ * DESCRIPTION:
+ * ------------
+ *   If the appropriate flag was specified in the command-line, this function
+ *   now outputs the parsed or computed distance matrix to a file.  This 
+ *   can be useful if generating a distance matrix was the primary goal of 
+ *   running the program, or if one wanted to debug and/or verify the
+ *   correctness of the program.
+ *
+ *   Currently this function outputs full/symmetric matrices only.
+ *
+ */
+void
+NJ_output_matrix(NJ_ARGS *nj_args,
+		 DMAT *dmat) {
+  
+  FILE *fp = NULL;
+  long int i, j;
+
+
+  
+  /* if we haven't specieid matrixout, return immediately */
+  if(!nj_args->matrixout) {
+    return;
+  }
+  
+  /* open the specified matrix file for writing */
+  fp = fopen(nj_args->matrixout, "w");
+  if(!fp) {
+    fprintf(stderr, "Clearcut: Could not open matrix file %s for output.\n", nj_args->matrixout);
+    return;
+  }
+
+  /* output the number of taxa in the matrix */
+  fprintf(fp, "   %ld\n", dmat->size);
+
+  fprintf(fp, "%s\n", dmat->taxaname[0]); // print the first taxon name outside of the main loop
+
+  for(i=1;i<dmat->size;i++) {
+    
+    /* output taxaname */
+    fprintf(fp, "%s\t", dmat->taxaname[i]);
+
+    for(j=0;j<i;j++) {
+      if(nj_args->expdist) {  /* exponential notation (or not) */
+	fprintf(fp, "%e ", dmat->val[NJ_MAP(j,i,dmat->size)]);  
+      } else {
+	fprintf(fp, "%f ", dmat->val[NJ_MAP(j,i,dmat->size)]);
+      }
+    }
+    
+    fprintf(fp, "\n");
+  }
+
+#ifdef FULL_SYMMETRIC_MATRIX 
+
+  /* output the number of taxa in the matrix */
+  fprintf(fp, "   %ld\n", dmat->size);
+  for(i=0;i<dmat->size;i++) {
+    
+    /* output taxaname */
+    fprintf(fp, "%s\t", dmat->taxaname[i]);
+
+    for(j=0;j<dmat->size;j++) {
+      if(i>j) {
+	if(nj_args->expdist) {  /* exponential notation (or not) */
+	  fprintf(fp, "%e ", dmat->val[NJ_MAP(j,i,dmat->size)]);  
+	} else {
+	  fprintf(fp, "%f ", dmat->val[NJ_MAP(j,i,dmat->size)]);
+	}
+      } else if(i<j) {
+	if(nj_args->expdist) {  /* exponential notation (or not) */
+	  fprintf(fp, "%e ", dmat->val[NJ_MAP(i,j,dmat->size)]);
+	} else {
+	  fprintf(fp, "%f ", dmat->val[NJ_MAP(i,j,dmat->size)]);
+	}
+      } else {
+	if(nj_args->expdist) {  /* exponential notation (or not) */
+	  fprintf(fp, "%e ", 0.0);
+	} else {
+	  fprintf(fp, "%f ", 0.0);
+	}
+      }
+    }
+    
+    fprintf(fp, "\n");
+  }
+
+#endif // FULL_SYMMETRIC_MATRIX
+  
+  /* close the file here */
+  if(fp) {
+    fclose(fp);
+  }
+  
+  return;
+}
+
+
+
+
+
diff --git a/dmat.h b/dmat.h
new file mode 100644
index 0000000..d58f152
--- /dev/null
+++ b/dmat.h
@@ -0,0 +1,91 @@
+/*
+ * dmat.h
+ *
+ * $Id: dmat.h,v 1.2 2006/08/25 03:58:45 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * Distance matrix parser header file
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ */
+
+
+#ifndef _INC_DMAT_H_
+#define _INC_DMAT_H_ 1
+
+#include "clearcut.h"
+
+
+#define NJ_INITIAL_BUFSIZE 32
+
+#define NJ_NAME_STATE  100
+#define NJ_FLOAT_STATE 101
+#define NJ_WS_STATE    102
+#define NJ_EOF_STATE   103
+
+#define NJ_PARSE_SYMMETRIC 100
+#define NJ_PARSE_LOWER     101
+#define NJ_PARSE_UPPER     102
+#define NJ_PARSE_UNKNOWN   103
+
+
+/* some data structures */
+typedef struct _NJ_DIST_TOKEN_STRUCT {
+  
+  char *buf;
+  long int bufsize;
+  int type;
+
+} NJ_DIST_TOKEN;
+
+
+
+/* some function prototypes */
+
+DMAT *
+NJ_parse_distance_matrix(NJ_ARGS *nj_args);
+
+void
+NJ_output_matrix(NJ_ARGS *nj_args,
+		 DMAT *dmat);
+
+
+#endif /* _INC_DMAT_H_ */
+
diff --git a/examples/alignment1.dist b/examples/alignment1.dist
new file mode 100644
index 0000000..5094484
--- /dev/null
+++ b/examples/alignment1.dist
@@ -0,0 +1,10 @@
+> seq_0
+AGTAA---ATCGCTATATATGC-TATATCGCGC---ATATATCGCT-ATCTCTCT
+> seq_1
+G--AAAAAATCGCTAGA---GCCTATA----CCTATATATATCGCTTATCTTCTT
+> seq_2
+GAAAAAAAATCGCTAGAA--GCCTATATTTTCCTATATATATCGCTTATCTCTCT
+> seq_3
+TGTAAATATATATATATTTTTCTCTAG-----------------ATT-CTCCTCT 
+> seq_4
+TGTAAATATATATATATTTTTCTCTAG-----------------ATT-CTCCTCT 
diff --git a/examples/lower_diag.dist b/examples/lower_diag.dist
new file mode 100644
index 0000000..58dc0b8
--- /dev/null
+++ b/examples/lower_diag.dist
@@ -0,0 +1,6 @@
+    5
+Alpha
+Beta       1.000
+Gamma      2.000 2.000
+Delta      3.000 3.000 3.000
+Epsilon    3.000 3.000 3.000 1.000
diff --git a/examples/symmetric.dist b/examples/symmetric.dist
new file mode 100644
index 0000000..03f2c66
--- /dev/null
+++ b/examples/symmetric.dist
@@ -0,0 +1,6 @@
+    5
+Alpha      0.000 1.000 2.000 3.000 3.000
+Beta       1.000 0.000 2.000 3.000 3.000
+Gamma      2.000 2.000 0.000 3.000 3.000
+Delta      3.000 3.000 3.000 0.000 1.000
+Epsilon    3.000 3.000 3.000 1.000 0.000
diff --git a/examples/treezilla.dist b/examples/treezilla.dist
new file mode 100644
index 0000000..b196792
--- /dev/null
+++ b/examples/treezilla.dist
@@ -0,0 +1,501 @@
+500
+Nicotiana  
+Galphimia  0.09442  
+Oenothera  0.09222  0.08277  
+Victoria   0.09335  0.09472  0.09296  
+Cypirapea  0.09271  0.08565  0.09662  0.08340  
+Barclaya   0.09581  0.09468  0.09199  0.01187  0.07994  
+Petunia    0.02622  0.09460  0.09604  0.10279  0.10044  0.10521  
+Lycopersi  0.01288  0.09519  0.09448  0.09835  0.09509  0.09996  0.03206  
+Convolvul  0.06520  0.09775  0.09559  0.09883  0.09822  0.10049  0.06481  0.06602  
+Ipomoea    0.06255  0.09341  0.09431  0.10010  0.10245  0.10086  0.06370  0.06337  0.02877  
+Borago     0.08518  0.10558  0.10121  0.11290  0.10298  0.11369  0.08442  0.08527  0.09867  0.10049  
+Heliotrop  0.08075  0.10246  0.09428  0.09599  0.10289  0.09675  0.08139  0.07856  0.08865  0.08673  0.06729  
+Hydrophyl  0.07296  0.09943  0.09075  0.09468  0.09658  0.09714  0.07716  0.07372  0.08116  0.07996  0.06867  0.03777  
+Eriodicty  0.06593  0.09101  0.08066  0.09063  0.09274  0.09146  0.06924  0.06810  0.07591  0.07394  0.05963  0.03402  0.02507  
+Digitalis  0.06872  0.08946  0.08428  0.09083  0.10123  0.09246  0.06989  0.07019  0.08114  0.07846  0.08838  0.07403  0.07013  0.05950  
+Buddleja   0.05656  0.08059  0.08046  0.08194  0.09261  0.08355  0.05986  0.06113  0.07274  0.07391  0.07788  0.06486  0.06410  0.04906  0.02943  
+Callitric  0.08530  0.09799  0.08982  0.10182  0.11356  0.10343  0.08151  0.08989  0.09180  0.08762  0.10144  0.08385  0.07925  0.07102  0.03702  0.04306  
+Jasminum   0.07439  0.09084  0.08858  0.09323  0.09722  0.09315  0.07787  0.07514  0.08629  0.08803  0.09053  0.08141  0.08011  0.06736  0.05153  0.04217  0.06709  
+Adoxa      0.07523  0.07381  0.08136  0.08796  0.07724  0.08705  0.07645  0.07670  0.07522  0.07782  0.08618  0.07634  0.07163  0.06675  0.07024  0.06186  0.07556  0.07595  
+Lamiumpur  0.06459  0.09290  0.08969  0.09972  0.10650  0.10443  0.07419  0.07117  0.08148  0.08352  0.09232  0.08175  0.07033  0.06133  0.05222  0.04393  0.07119  0.07375  0.08211  
+Streptoca  0.07076  0.09198  0.08357  0.09429  0.10003  0.09320  0.07052  0.07461  0.08723  0.08149  0.08697  0.07231  0.07302  0.05944  0.04491  0.02816  0.05257  0.05545  0.07008  0.05940  
+Catalpa    0.05779  0.07976  0.07963  0.08069  0.09156  0.08138  0.06270  0.06239  0.07418  0.07457  0.08077  0.06922  0.06839  0.05480  0.03039  0.01369  0.04647  0.04403  0.06320  0.04433  0.03446  
+Sesamum    0.06283  0.08648  0.08264  0.09008  0.09757  0.09077  0.06409  0.06520  0.07489  0.07219  0.08314  0.07061  0.06900  0.05599  0.02826  0.01921  0.04152  0.04730  0.06753  0.04476  0.03321  0.02240  
+Utricular  0.06650  0.09387  0.08224  0.10346  0.10256  0.10261  0.07689  0.07245  0.09109  0.09057  0.08964  0.08538  0.08367  0.07184  0.05308  0.04201  0.06550  0.05806  0.07481  0.06413  0.05508  0.04311  0.04294  
+Byblis     0.07180  0.09510  0.09382  0.10594  0.10507  0.10668  0.07868  0.07791  0.08780  0.08964  0.08626  0.07994  0.07635  0.06732  0.04993  0.04313  0.06324  0.05965  0.07842  0.06572  0.06057  0.04412  0.04791  0.06321  
+Pinguicul  0.07368  0.09657  0.08712  0.09416  0.09428  0.09662  0.07349  0.07802  0.08643  0.08744  0.09223  0.08234  0.07153  0.06016  0.05009  0.03396  0.06345  0.06152  0.07522  0.06029  0.04875  0.04107  0.04134  0.05296  0.05669  
+Pterost    0.06902  0.06170  0.06754  0.06915  0.07422  0.07084  0.07640  0.07343  0.07717  0.07824  0.08046  0.07210  0.07044  0.06255  0.06976  0.05524  0.07901  0.07261  0.05013  0.08057  0.06732  0.05649  0.06787  0.07696  0.07786  0.07191  
+Vahlia     0.06247  0.07912  0.07771  0.08638  0.08715  0.08800  0.06329  0.06397  0.06853  0.06812  0.07798  0.06667  0.06170  0.05377  0.05084  0.04292  0.05906  0.05444  0.05954  0.07135  0.05649  0.04634  0.04817  0.07160  0.06874  0.05736  0.05737  
+Antirrhin  0.06809  0.08766  0.08080  0.08860  0.09297  0.08665  0.06629  0.07265  0.07840  0.07573  0.08274  0.07272  0.07029  0.05673  0.02492  0.02652  0.04095  0.05356  0.06885  0.05802  0.03823  0.02979  0.02699  0.04836  0.05047  0.04082  0.06689  0.04918  
+Verbena    0.07308  0.08660  0.08813  0.09538  0.10231  0.09792  0.07292  0.07617  0.07729  0.07773  0.08851  0.07169  0.07309  0.06253  0.04292  0.03623  0.05292  0.05640  0.07167  0.05895  0.05101  0.03501  0.03836  0.06072  0.05746  0.06023  0.07274  0.06040  0.04698  
+Teucrium   0.06827  0.08175  0.08477  0.08546  0.09321  0.08803  0.07102  0.07439  0.07328  0.07217  0.08744  0.08042  0.07503  0.06221  0.04247  0.02807  0.05545  0.05443  0.07352  0.03704  0.04286  0.03137  0.03319  0.05571  0.05463  0.04324  0.06540  0.05612  0.03885  0.04779  
+Prostanth  0.07036  0.08783  0.08734  0.09271  0.10304  0.09337  0.07502  0.07502  0.07690  0.07728  0.09287  0.08264  0.08190  0.06893  0.04747  0.03596  0.06132  0.05808  0.08337  0.04901  0.05093  0.03783  0.03724  0.05848  0.05716  0.05585  0.07413  0.05781  0.04305  0.05362  0.03080  
+Clerodend  0.07699  0.09277  0.09364  0.09360  0.09377  0.09527  0.07844  0.08158  0.07980  0.07866  0.08944  0.08546  0.08077  0.06724  0.04904  0.03782  0.06364  0.06104  0.08008  0.04913  0.04580  0.04119  0.04080  0.05916  0.06326  0.05282  0.07672  0.06206  0.04547  0.05448  0.02811  0.04298  
+Salvia     0.07972  0.09265  0.09324  0.09941  0.10599  0.09842  0.07739  0.08263  0.08064  0.07868  0.09552  0.08410  0.07898  0.06832  0.04884  0.04012  0.05992  0.06320  0.07842  0.05061  0.04970  0.03964  0.03534  0.06600  0.06288  0.05960  0.07872  0.06194  0.04778  0.04835  0.04256  0.04911  0.04844  
+Ligustrum  0.06657  0.07630  0.08156  0.08026  0.09048  0.08006  0.06701  0.07040  0.07520  0.07485  0.08109  0.06503  0.06435  0.05307  0.04244  0.02797  0.05221  0.04086  0.05988  0.06275  0.04122  0.02977  0.03691  0.04858  0.05296  0.04776  0.05544  0.04388  0.03876  0.04843  0.04414  0.05143  0.05007  0.05476  
+Scutellar  0.06798  0.08312  0.08369  0.09520  0.09600  0.09764  0.07063  0.07164  0.07636  0.07754  0.08839  0.07225  0.07444  0.06374  0.04630  0.03119  0.05174  0.05707  0.07098  0.04185  0.04214  0.03294  0.03485  0.05455  0.05427  0.05858  0.06686  0.06016  0.04271  0.04631  0.02757  0.03698  0.04264  0.04567  0.04119  
+Physosteg  0.07833  0.08955  0.09038  0.09446  0.10224  0.09701  0.08133  0.08291  0.07956  0.07617  0.09526  0.08145  0.07983  0.06705  0.04744  0.03997  0.06194  0.06614  0.07614  0.03850  0.04945  0.03953  0.04068  0.05733  0.06311  0.06024  0.07347  0.07111  0.04922  0.05208  0.03261  0.04363  0.04386  0.04307  0.05520  0.03722  
+Callicarp  0.06720  0.08678  0.08369  0.09309  0.10253  0.09378  0.07077  0.07029  0.07675  0.07261  0.08488  0.07258  0.07251  0.06196  0.04078  0.02723  0.05376  0.05503  0.06880  0.04480  0.03889  0.02667  0.02461  0.05476  0.06160  0.05286  0.06986  0.05442  0.03796  0.04085  0.03041  0.03529  0.03868  0.03634  0.04322  0.03356  0.03628  
+Pogostemo  0.08083  0.09441  0.09222  0.09855  0.10757  0.10022  0.08543  0.08393  0.08441  0.08402  0.09633  0.08552  0.08682  0.06876  0.04983  0.04086  0.06748  0.06406  0.08471  0.04740  0.05422  0.04197  0.04156  0.06496  0.06972  0.06112  0.07682  0.06904  0.05397  0.05224  0.03953  0.04530  0.05083  0.05151  0.05768  0.04268  0.03631  0.04095  
+Symphoric  0.08200  0.07353  0.08331  0.08682  0.08600  0.08766  0.08027  0.08435  0.07853  0.08194  0.09042  0.07357  0.06993  0.06462  0.07295  0.06600  0.08126  0.07811  0.04418  0.07636  0.07426  0.06737  0.07107  0.07505  0.08437  0.07832  0.05254  0.06244  0.07006  0.07209  0.07472  0.08382  0.07836  0.07855  0.06387  0.06959  0.07281  0.07302  0.08299  
+Valeriana  0.08798  0.08870  0.08781  0.09464  0.09099  0.09453  0.08435  0.08945  0.08939  0.09120  0.10188  0.09047  0.08727  0.07878  0.07443  0.07378  0.08668  0.08512  0.05590  0.09066  0.08055  0.07294  0.07587  0.07948  0.08896  0.08512  0.06169  0.06892  0.07554  0.09110  0.07798  0.08708  0.08599  0.08978  0.07031  0.07884  0.08350  0.08303  0.08760  0.05152  
+Dipsacus   0.07969  0.07752  0.08447  0.08570  0.08060  0.08735  0.08537  0.08189  0.07766  0.08027  0.09472  0.07652  0.07180  0.06757  0.06751  0.05978  0.07653  0.07323  0.04749  0.07985  0.06950  0.06107  0.06930  0.07732  0.07944  0.07394  0.05242  0.06113  0.06829  0.07259  0.07147  0.08284  0.08180  0.08000  0.05773  0.06969  0.07408  0.07203  0.08345  0.04044  0.04812  
+Boopis     0.07744  0.07593  0.07924  0.09154  0.08594  0.08881  0.08565  0.08344  0.08679  0.08472  0.08949  0.08089  0.07951  0.07302  0.07581  0.06336  0.07852  0.08197  0.05276  0.08317  0.07043  0.06479  0.07007  0.07685  0.08807  0.07721  0.05498  0.06562  0.06339  0.07761  0.07394  0.08125  0.08168  0.08663  0.05728  0.07516  0.08147  0.06977  0.08654  0.06168  0.06981  0.06044	 
+Menyanthe  0.06862  0.07533  0.07212  0.08024  0.08553  0.08191  0.06989  0.07095  0.07736  0.07471  0.08622  0.06942  0.06795  0.05965  0.05286  0.04452  0.06803  0.05874  0.04606  0.06869  0.05712  0.04718  0.05220  0.06206  0.07271  0.06270  0.04911  0.04744  0.04925  0.06193  0.05996  0.06513  0.07038  0.07046  0.05222  0.05477  0.06642  0.05221  0.06663  0.05086  0.05873  0.05303	 0.03885  
+Villarsia  0.08143  0.07982  0.07819  0.08824  0.09270  0.09170  0.08369  0.08300  0.09015  0.08974  0.08843  0.07843  0.07394  0.06644  0.06943  0.06109  0.07627  0.07757  0.05508  0.08253  0.06853  0.06465  0.06676  0.07483  0.07599  0.07324  0.06060  0.06737  0.06739  0.07622  0.07363  0.08113  0.07940  0.08100  0.05746  0.06615  0.07692  0.07334  0.08402  0.06146  0.07002  0.06357	 0.04514  0.03925  
+Lobelia    0.09331  0.09046  0.09623  0.09442  0.09526  0.09616  0.09714  0.09552  0.10334  0.10501  0.11108  0.09054  0.09183  0.08698  0.09124  0.07822  0.10107  0.08975  0.07256  0.09262  0.08897  0.08124  0.08804  0.08853  0.09939  0.08755  0.07486  0.07926  0.08609  0.09345  0.08771  0.09786  0.10272  0.10755  0.07379  0.08923  0.10019  0.09134  0.10364  0.07045  0.08762  0.07052	 0.06228  0.06078  0.07445  
+Gentiana   0.07458  0.09342  0.09485  0.09495  0.10439  0.09931  0.07887  0.08066  0.08560  0.08974  0.09520  0.07919  0.07611  0.06780  0.07081  0.05882  0.08008  0.07824  0.07998  0.07567  0.07080  0.06088  0.06758  0.07951  0.07965  0.07158  0.06659  0.06029  0.06592  0.07547  0.06681  0.07107  0.07563  0.07789  0.06582  0.06903  0.07692  0.06647  0.07870  0.07204  0.07904  0.07032	 0.07630  0.06188  0.07692  0.09203  
+Cornuskou  0.07732  0.07949  0.08284  0.08731  0.08587  0.08646  0.08007  0.08023  0.08343  0.08373  0.09209  0.08603  0.07866  0.07089  0.07154  0.06767  0.08373  0.08165  0.05645  0.08270  0.07060  0.06902  0.07420  0.07949  0.08465  0.08235  0.05713  0.05932  0.06935  0.07827  0.07575  0.08017  0.08222  0.08126  0.06706  0.07309  0.08356  0.07233  0.09150  0.05510  0.07150  0.05872	 0.06675  0.05857  0.06922  0.08187  0.07371  
+Hedera     0.06680  0.07901  0.08600  0.08428  0.08368  0.08255  0.07227  0.07042  0.08360  0.08389  0.09603  0.08241  0.07829  0.07270  0.07403  0.06409  0.07778  0.07971  0.04461  0.08611  0.07387  0.06316  0.06752  0.07395  0.08115  0.07899  0.05173  0.06120  0.06962  0.07771  0.07588  0.07867  0.08243  0.08294  0.06136  0.06754  0.08069  0.06952  0.08478  0.04942  0.06681  0.05553	 0.05522  0.04677  0.06041  0.07422  0.07624  0.05446  
+Coriandru  0.07547  0.08083  0.08599  0.08959  0.08813  0.08856  0.07992  0.08238  0.08670  0.08620  0.10007  0.08773  0.08378  0.07240  0.07469  0.06711  0.08255  0.07924  0.05354  0.08630  0.07145  0.06811  0.06739  0.06937  0.08090  0.07770  0.06049  0.06658  0.07039  0.07934  0.07515  0.08198  0.08180  0.08647  0.06350  0.06977  0.07853  0.07486  0.08650  0.05845  0.07700  0.06207	 0.05536  0.05877  0.06327  0.08392  0.07953  0.05460  0.03964	
+Viburnum   0.07240  0.06450  0.07778  0.07994  0.07047  0.07902  0.07357  0.07459  0.07213  0.07399  0.08831  0.07328  0.06807  0.06176  0.06455  0.05575  0.07546  0.07024  0.02657  0.07238  0.06544  0.05704  0.05975  0.06938  0.07401  0.06881  0.04579  0.05011  0.05969  0.06628  0.06439  0.07249  0.06938  0.06981  0.05297  0.06156  0.06776  0.06193  0.07553  0.03500  0.05447  0.03959	 0.04810  0.03846  0.05200  0.06675  0.07003  0.04707  0.03525	0.04501  
+Sambucus   0.05642  0.06813  0.07464  0.08034  0.07805  0.07933  0.06497  0.05989  0.06207  0.06515  0.07513  0.06644  0.06513  0.05907  0.05826  0.05045  0.07180  0.06135  0.01782  0.07253  0.05859  0.04896  0.05316  0.07062  0.06857  0.06608  0.04713  0.05105  0.05671  0.05979  0.06263  0.06688  0.06949  0.06604  0.05050  0.05873  0.06412  0.05481  0.07123  0.03669  0.04938  0.04453	 0.04424  0.03238  0.04873  0.06223  0.06863  0.04652  0.03063	0.04061  0.01604  
+Exacum     0.07540  0.08746  0.09433  0.09095  0.09745  0.09447  0.07601  0.07997  0.08115  0.08380  0.09459  0.08607  0.08070  0.07094  0.06713  0.05360  0.07788  0.07005  0.07932  0.06700  0.07012  0.05559  0.06070  0.07660  0.07519  0.06713  0.06371  0.06123  0.06370  0.06951  0.06312  0.07280  0.06890  0.06966  0.06283  0.06539  0.07097  0.06814  0.07727  0.07368  0.08067  0.06815	 0.06898  0.06346  0.07851  0.09286  0.04606  0.07458  0.07482	0.07408  0.06787  0.06823  
+Apocynum   0.07178  0.09064  0.09371  0.09659  0.10083  0.09924  0.06922  0.07484  0.07901  0.07786  0.09162  0.08390  0.07711  0.06659  0.07259  0.06198  0.08253  0.07548  0.07118  0.07124  0.06715  0.06481  0.06386  0.08374  0.08329  0.07411  0.06615  0.06061  0.06909  0.07186  0.07155  0.07745  0.07731  0.07742  0.06670  0.07311  0.07181  0.06746  0.07509  0.07074  0.08534  0.07361	 0.07950  0.06426  0.08164  0.09384  0.06501  0.07243  0.07650	0.07422  0.06278  0.05899  0.05903  
+Asclepias  0.07586  0.09560  0.09791  0.10066  0.10529  0.10333  0.07177  0.07894  0.08162  0.08044  0.09657  0.08729  0.07967  0.07066  0.07894  0.06676  0.08438  0.07886  0.07533  0.07523  0.07199  0.06811  0.06715  0.08702  0.08847  0.07742  0.07024  0.06397  0.07391  0.07669  0.07561  0.08005  0.08218  0.08080  0.07001  0.07949  0.07816  0.07225  0.08223  0.07339  0.08881  0.07624	 0.08213  0.06762  0.08726  0.09818  0.06607  0.07582  0.08069	0.07844  0.06690  0.06275  0.06231  0.00913  
+Gelsemium  0.06075  0.07817  0.08342  0.08210  0.08685  0.08384  0.06418  0.06155  0.07094  0.07290  0.07763  0.06758  0.06528  0.05777  0.06679  0.05012  0.07610  0.06297  0.06237  0.06642  0.06288  0.05366  0.05879  0.06974  0.07007  0.06843  0.05182  0.05094  0.06335  0.06535  0.05811  0.06702  0.06550  0.07249  0.05178  0.06044  0.06760  0.06169  0.07243  0.05881  0.07280  0.06021	 0.06402  0.05092  0.06833  0.08199  0.05467  0.05894  0.06459	0.06616  0.05393  0.04813  0.04411  0.047 [...]
+Spigelia   0.06621  0.09122  0.08675  0.09606  0.10026  0.10115  0.07686  0.06875  0.07963  0.07747  0.08535  0.07791  0.07041  0.06556  0.06322  0.05998  0.07560  0.06795  0.06835  0.08152  0.06844  0.06372  0.06356  0.07878  0.07375  0.07291  0.06955  0.06049  0.06031  0.06935  0.06970  0.07743  0.07652  0.07380  0.06287  0.07048  0.07878  0.06784  0.07990  0.07313  0.07915  0.06965	 0.07006  0.05668  0.07734  0.09112  0.06729  0.07274  0.06975	0.06950  0.06132  0.06238  0.06442  0.061 [...]
+Pentas     0.10500  0.11878  0.11188  0.12346  0.12304  0.12509  0.10978  0.10649  0.11460  0.11397  0.11734  0.11897  0.10132  0.09932  0.10135  0.10201  0.10669  0.10716  0.10584  0.10286  0.10918  0.09669  0.09283  0.10009  0.10904  0.09911  0.10305  0.09175  0.09839  0.10276  0.10346  0.10982  0.10830  0.10678  0.09549  0.10020  0.10655  0.10297  0.11380  0.10591  0.11372  0.09740	 0.10404  0.10141  0.10899  0.11876  0.10036  0.10315  0.10407	0.10724  0.09488  0.08858  0.09530  0.096 [...]
+Acuba      0.05767  0.06511  0.07516  0.07866  0.07926  0.08111  0.06609  0.06076  0.06786  0.06915  0.07782  0.06260  0.06074  0.05546  0.05474  0.04647  0.06822  0.06139  0.03852  0.07091  0.06075  0.04998  0.05715  0.07199  0.07216  0.06679  0.04477  0.04998  0.05711  0.05294  0.05795  0.06374  0.06585  0.06699  0.04664  0.05686  0.06649  0.05957  0.06759  0.04338  0.06123  0.04624	 0.05180  0.03925  0.05690  0.06829  0.06775  0.05115  0.04251	0.05437  0.03097  0.03342  0.06318  0.065 [...]
+Nyssa      0.07261  0.06244  0.07335  0.07723  0.07886  0.07802  0.07421  0.07483  0.06859  0.07052  0.08642  0.07354  0.06970  0.06541  0.06031  0.05199  0.07046  0.06970  0.04648  0.07489  0.06569  0.05402  0.05826  0.06684  0.07333  0.07115  0.04285  0.04720  0.06064  0.06115  0.05990  0.06548  0.06738  0.06923  0.05223  0.06240  0.06956  0.05981  0.07442  0.05010  0.06166  0.05459	 0.05724  0.04824  0.06584  0.07492  0.06948  0.04617  0.04809	0.05730  0.03630  0.03838  0.06506  0.071 [...]
+Cornuscan  0.07979  0.08352  0.08642  0.08642  0.08895  0.08552  0.08079  0.08346  0.08153  0.08189  0.09634  0.08336  0.07915  0.07269  0.07122  0.06720  0.08192  0.08206  0.06031  0.08536  0.07174  0.06939  0.07154  0.07992  0.08778  0.08059  0.06100  0.06028  0.06522  0.08177  0.07609  0.07629  0.08046  0.08162  0.06442  0.07344  0.08177  0.07432  0.09050  0.05683  0.06746  0.06262	 0.06863  0.05656  0.07108  0.08603  0.07701  0.03816  0.05688	0.06501  0.04726  0.04864  0.07417  0.076 [...]
+Cornuswal  0.07124  0.07275  0.06984  0.08076  0.07757  0.07985  0.07437  0.07273  0.07248  0.07663  0.08344  0.07357  0.06328  0.05823  0.06550  0.05971  0.07744  0.07203  0.05385  0.07262  0.06800  0.06327  0.06372  0.07395  0.07580  0.07055  0.04949  0.05240  0.06454  0.07422  0.06542  0.06719  0.07666  0.07298  0.05835  0.06753  0.07651  0.06827  0.08290  0.05237  0.06542  0.05836	 0.05956  0.04982  0.06432  0.07789  0.06568  0.03305  0.05038	0.06115  0.04222  0.04528  0.06511  0.069 [...]
+Diplopana  0.06134  0.05539  0.06589  0.07455  0.07285  0.07532  0.06583  0.06658  0.06593  0.06637  0.07959  0.07020  0.06584  0.05700  0.05627  0.04754  0.06632  0.06357  0.04424  0.06961  0.05983  0.04795  0.05389  0.06438  0.06742  0.06731  0.03923  0.04212  0.05480  0.05843  0.05643  0.06039  0.06483  0.06527  0.05008  0.05757  0.06472  0.05783  0.06966  0.04693  0.05819  0.04957	 0.04971  0.04123  0.05615  0.06722  0.06275  0.04095  0.04433	0.05271  0.03239  0.03759  0.05994  0.063 [...]
+Helwingia  0.06605  0.06825  0.07625  0.07961  0.07738  0.07956  0.07277  0.06753  0.07168  0.07049  0.08417  0.06969  0.06316  0.05885  0.06174  0.05200  0.07434  0.06608  0.04064  0.07409  0.06017  0.05242  0.05753  0.07102  0.07486  0.06461  0.04503  0.05301  0.05526  0.07035  0.06149  0.06789  0.07047  0.07283  0.04759  0.05945  0.06959  0.05826  0.07441  0.04621  0.05441  0.04802	 0.05261  0.03830  0.05592  0.06534  0.06640  0.05194  0.04224	0.05725  0.03414  0.03675  0.06968  0.071 [...]
+Davidia    0.06537  0.06099  0.06972  0.07364  0.07268  0.07618  0.07130  0.06758  0.06709  0.06899  0.07731  0.06744  0.06462  0.05814  0.05885  0.04973  0.07201  0.06461  0.04356  0.07227  0.06337  0.05017  0.05981  0.07097  0.07182  0.06825  0.03631  0.04357  0.06066  0.06193  0.06070  0.06166  0.06741  0.07360  0.04995  0.06018  0.07109  0.06058  0.07213  0.05006  0.06093  0.05239	 0.05346  0.04133  0.06047  0.06903  0.06334  0.04321  0.04443	0.05731  0.03556  0.03827  0.06123  0.066 [...]
+Alangium   0.07911  0.06828  0.08424  0.08911  0.08196  0.08826  0.08006  0.08059  0.07699  0.07578  0.08791  0.08035  0.07264  0.06981  0.07267  0.06186  0.08345  0.08062  0.05382  0.08440  0.07326  0.06551  0.06838  0.08302  0.08620  0.07336  0.05156  0.05374  0.06904  0.07564  0.06832  0.07388  0.07651  0.07436  0.06138  0.07268  0.07408  0.06817  0.08123  0.05544  0.06895  0.06265	 0.06413  0.05275  0.06802  0.08232  0.07398  0.04767  0.05030	0.06353  0.04147  0.04595  0.07263  0.075 [...]
+Camptoth   0.06679  0.05954  0.06826  0.06946  0.07345  0.07025  0.07059  0.07046  0.06936  0.07355  0.08262  0.07198  0.06679  0.05813  0.05594  0.04440  0.06589  0.06099  0.04573  0.06647  0.05872  0.04556  0.05283  0.06329  0.06877  0.06533  0.03849  0.04285  0.05450  0.06040  0.05456  0.06093  0.06436  0.06558  0.04615  0.05724  0.06883  0.05596  0.06986  0.05082  0.05802  0.05094	 0.05424  0.04668  0.06200  0.06830  0.06491  0.04393  0.04590	0.05419  0.03920  0.04348  0.06128  0.069 [...]
+Boykinia   0.07478  0.06679  0.07044  0.07509  0.08193  0.07676  0.08223  0.07920  0.07712  0.08123  0.08802  0.07959  0.07332  0.06899  0.06900  0.06353  0.07823  0.07842  0.05079  0.08232  0.07498  0.06637  0.07386  0.07941  0.07940  0.07693  0.02687  0.06028  0.06834  0.07573  0.07459  0.08105  0.08665  0.08303  0.06151  0.06898  0.08258  0.07668  0.08674  0.05784  0.06818  0.05383	 0.05715  0.05291  0.06515  0.07559  0.07414  0.05705  0.05535	0.06195  0.04719  0.05229  0.07126  0.078 [...]
+Tetracarp  0.08206  0.07331  0.06826  0.08700  0.08347  0.08869  0.08661  0.08502  0.08861  0.08812  0.08955  0.08647  0.08201  0.07478  0.07263  0.06738  0.07974  0.08276  0.06240  0.08224  0.07734  0.07103  0.07554  0.07933  0.08315  0.08200  0.05011  0.06899  0.06991  0.07499  0.07613  0.08333  0.08437  0.08595  0.07070  0.07268  0.07958  0.07828  0.08904  0.06547  0.07833  0.06837	 0.06468  0.06282  0.07200  0.08591  0.08183  0.06588  0.06847	0.07513  0.05736  0.06330  0.07435  0.088 [...]
+Gunnera    0.07044  0.07043  0.07553  0.07100  0.07814  0.07345  0.07495  0.07340  0.07547  0.07807  0.08730  0.07878  0.07116  0.06541  0.06902  0.06196  0.07810  0.07770  0.05376  0.07668  0.07491  0.06483  0.07080  0.07373  0.08014  0.07335  0.04139  0.05882  0.06831  0.07639  0.06298  0.07477  0.07583  0.07944  0.06525  0.07268  0.07792  0.07435  0.08283  0.05854  0.06604  0.05752	 0.06184  0.06045  0.06964  0.07930  0.06723  0.05786  0.05613	0.06342  0.05017  0.05394  0.06660  0.072 [...]
+Phyllonom  0.06895  0.06391  0.07916  0.08653  0.07668  0.08648  0.07642  0.07189  0.07086  0.07508  0.08646  0.07424  0.06897  0.06321  0.06973  0.05504  0.07815  0.07189  0.04500  0.07748  0.06637  0.05702  0.05988  0.07460  0.07791  0.07042  0.04938  0.05737  0.06294  0.07111  0.06004  0.06718  0.06824  0.07574  0.05219  0.05943  0.06657  0.05979  0.07142  0.05003  0.06528  0.05310	 0.05179  0.04592  0.05973  0.06681  0.06786  0.05489  0.04445	0.05406  0.03704  0.03858  0.06888  0.071 [...]
+Griselin   0.06030  0.06829  0.07849  0.07899  0.07883  0.07806  0.06696  0.06250  0.06777  0.06816  0.08183  0.06508  0.06469  0.05823  0.06326  0.04970  0.06969  0.06540  0.03709  0.06919  0.05711  0.05093  0.05215  0.06605  0.07486  0.06614  0.04432  0.05304  0.05911  0.06883  0.06144  0.06627  0.06894  0.07002  0.04684  0.05805  0.06650  0.05826  0.06823  0.04393  0.05590  0.04811	 0.04209  0.03443  0.05048  0.06399  0.06562  0.05058  0.02550	0.03715  0.03055  0.02816  0.06508  0.064 [...]
+Corokia    0.07691  0.08352  0.08279  0.09512  0.09269  0.09584  0.08293  0.07476  0.08161  0.08422  0.09106  0.07575  0.06900  0.06909  0.07194  0.05956  0.08191  0.07626  0.05452  0.08169  0.07022  0.06166  0.06065  0.07652  0.08621  0.07479  0.05955  0.06318  0.06601  0.07949  0.07148  0.07633  0.08045  0.07870  0.05675  0.06974  0.07951  0.06437  0.08136  0.05546  0.06675  0.06118	 0.04663  0.03518  0.05352  0.06984  0.07320  0.06529  0.04738	0.06187  0.04871  0.04530  0.07112  0.072 [...]
+Apiumgrav  0.07278  0.08237  0.08233  0.09456  0.08542  0.09360  0.08030  0.07724  0.08244  0.08270  0.09569  0.08662  0.07720  0.06690  0.07355  0.06408  0.07742  0.07570  0.05372  0.08897  0.06933  0.06548  0.06678  0.07207  0.08428  0.07574  0.06031  0.06621  0.06896  0.08029  0.07292  0.08016  0.07815  0.08849  0.06280  0.07136  0.07719  0.07428  0.08524  0.06069  0.06976  0.06123	 0.05350  0.05558  0.06332  0.08325  0.07863  0.06301  0.04132	0.01644  0.04637  0.04387  0.07263  0.078 [...]
+Saniculgr  0.07135  0.07802  0.08606  0.09161  0.08848  0.09066  0.07589  0.07286  0.07636  0.07595  0.08995  0.07452  0.07295  0.06562  0.07070  0.06195  0.07528  0.07511  0.04127  0.08192  0.06729  0.06331  0.06465  0.07341  0.08506  0.07580  0.05591  0.05891  0.06766  0.07364  0.07390  0.07887  0.07917  0.08204  0.05913  0.06993  0.07438  0.06910  0.08069  0.04600  0.05736  0.05393	 0.05285  0.04416  0.06042  0.07521  0.07506  0.06101  0.03026	0.03844  0.03832  0.02923  0.07136  0.069 [...]
+Araliaspi  0.06327  0.07002  0.08011  0.08412  0.08024  0.08136  0.06799  0.06561  0.07034  0.07461  0.08613  0.07152  0.06722  0.06033  0.06412  0.05380  0.07163  0.06706  0.03513  0.07407  0.06366  0.05512  0.05721  0.06878  0.07702  0.06869  0.04814  0.05643  0.06024  0.06998  0.06572  0.07132  0.07403  0.07193  0.05248  0.05609  0.07075  0.06323  0.07408  0.03861  0.05024  0.04746	 0.04665  0.03694  0.05075  0.06535  0.06518  0.04840  0.01753	0.03742  0.02662  0.02555  0.06694  0.068 [...]
+Justicodo  0.07582  0.09013  0.09144  0.09649  0.09487  0.09553  0.07782  0.07873  0.08327  0.08122  0.09723  0.09190  0.08584  0.07023  0.05081  0.03763  0.06256  0.06080  0.07954  0.06530  0.05470  0.04023  0.03894  0.06414  0.06415  0.05508  0.07478  0.06387  0.04296  0.05785  0.04313  0.05415  0.05343  0.05675  0.05060  0.05348  0.05626  0.04670  0.05877  0.08189  0.09084  0.07896	 0.08332  0.07001  0.08131  0.09624  0.07818  0.08313  0.08477	0.08303  0.07240  0.07236  0.07150  0.077 [...]
+Aphelandr  0.06867  0.09013  0.09219  0.09994  0.10173  0.10231  0.07124  0.07443  0.08332  0.08283  0.09052  0.08145  0.07368  0.06163  0.04293  0.03463  0.05808  0.06152  0.07667  0.06058  0.04942  0.03646  0.03585  0.06058  0.06037  0.05007  0.06898  0.05662  0.04228  0.05334  0.04157  0.05186  0.05049  0.05317  0.04769  0.05419  0.05635  0.04900  0.05952  0.07742  0.08512  0.07466	 0.08124  0.06405  0.07608  0.09624  0.07297  0.08025  0.08043	0.07548  0.06525  0.06483  0.07005  0.066 [...]
+Thunbergi  0.07582  0.09800  0.09074  0.10151  0.10554  0.10052  0.07636  0.08015  0.09231  0.08720  0.09338  0.08361  0.07940  0.06450  0.04651  0.03453  0.05800  0.06080  0.08384  0.06231  0.04932  0.03865  0.03728  0.05817  0.05882  0.05222  0.08134  0.06244  0.04443  0.05552  0.04830  0.05407  0.05337  0.05460  0.05139  0.05418  0.05926  0.04888  0.06165  0.08409  0.09299  0.08399	 0.08872  0.06923  0.08201  0.10134  0.07661  0.08530  0.08476	0.08071  0.07526  0.07231  0.07524  0.076 [...]
+Nelsonia   0.07082  0.09514  0.08854  0.09751  0.10253  0.09822  0.07129  0.07514  0.08404  0.08134  0.09054  0.07921  0.07439  0.06163  0.02933  0.02784  0.04451  0.05579  0.07236  0.05390  0.04029  0.02882  0.02441  0.04618  0.05132  0.04435  0.07479  0.05442  0.02786  0.04058  0.04091  0.04813  0.04822  0.04166  0.04162  0.04195  0.04585  0.03766  0.05198  0.07438  0.08226  0.07106	 0.07586  0.05732  0.06936  0.09767  0.06919  0.07370  0.07398	0.07082  0.06092  0.05714  0.06402  0.064 [...]
+Barleria   0.06867  0.09800  0.08929  0.10190  0.10114  0.09929  0.07202  0.07372  0.08260  0.07915  0.09667  0.08526  0.07725  0.06520  0.04008  0.03543  0.05362  0.06295  0.07737  0.05951  0.04639  0.03799  0.02898  0.05717  0.06191  0.05079  0.07480  0.06023  0.03249  0.05272  0.04395  0.05124  0.05055  0.04812  0.05071  0.04841  0.05420  0.04074  0.05659  0.07970  0.08655  0.07824	 0.07804  0.06339  0.07920  0.09764  0.07602  0.07947  0.07541	0.07312  0.06522  0.06491  0.07087  0.069 [...]
+Ruttya     0.07511  0.09514  0.09513  0.10499  0.10190  0.10403  0.07421  0.07800  0.08402  0.08050  0.09877  0.09195  0.08298  0.06880  0.04938  0.03983  0.06253  0.06366  0.08241  0.06300  0.05467  0.04170  0.03739  0.06240  0.06278  0.05222  0.07845  0.06466  0.04448  0.05782  0.04538  0.05260  0.05194  0.05244  0.05285  0.05349  0.05780  0.04666  0.06169  0.08338  0.09156  0.08399	 0.08717  0.07302  0.08203  0.10133  0.08190  0.08749  0.08622	0.08605  0.07456  0.07332  0.07677  0.081 [...]
+Proboscid  0.06009  0.08083  0.07767  0.08730  0.09251  0.08801  0.06327  0.06441  0.07428  0.07234  0.07931  0.06420  0.06295  0.05088  0.02648  0.01208  0.04154  0.04149  0.06233  0.04465  0.02969  0.01675  0.01752  0.03847  0.04140  0.03720  0.05956  0.04428  0.02413  0.03612  0.03178  0.03896  0.03994  0.03807  0.02656  0.03614  0.03914  0.02714  0.04524  0.06539  0.07368  0.06173	 0.06684  0.04531  0.06190  0.08249  0.06097  0.06792  0.06463	0.06558  0.05519  0.05128  0.05579  0.064 [...]
+Lepidagat  0.07654  0.10086  0.09658  0.10850  0.10421  0.10754  0.07785  0.08087  0.08862  0.08436  0.10179  0.08816  0.08369  0.07167  0.04223  0.03986  0.05726  0.06509  0.08383  0.06625  0.04932  0.04250  0.03350  0.06153  0.06349  0.05722  0.08133  0.06317  0.03922  0.05561  0.04768  0.05345  0.05047  0.05531  0.05289  0.05490  0.05563  0.04442  0.06257  0.08494  0.09299  0.08399	 0.08639  0.07310  0.08213  0.10560  0.08344  0.08818  0.08550	0.08376  0.07383  0.07341  0.08058  0.078 [...]
+Ruellia    0.07368  0.09800  0.09796  0.10189  0.10328  0.10433  0.07490  0.07944  0.08860  0.08053  0.09723  0.08592  0.08155  0.06736  0.04651  0.04064  0.06258  0.06867  0.07810  0.06620  0.05092  0.04326  0.03666  0.06745  0.06787  0.05722  0.07694  0.06240  0.04376  0.05338  0.05296  0.05645  0.06026  0.05316  0.05141  0.05565  0.05633  0.04593  0.06404  0.08649  0.08941  0.08112	 0.08417  0.06777  0.07608  0.09984  0.07896  0.08387  0.08404	0.08229  0.07096  0.06553  0.07678  0.073 [...]
+Acanthus   0.07082  0.08798  0.09294  0.09987  0.10025  0.10149  0.07420  0.07514  0.08328  0.08125  0.09191  0.08518  0.07940  0.06664  0.04723  0.03462  0.06028  0.06509  0.07738  0.06206  0.04937  0.03796  0.03809  0.06241  0.06199  0.05365  0.06901  0.05955  0.04525  0.05482  0.04158  0.05190  0.05343  0.05459  0.05219  0.05419  0.05556  0.05121  0.05947  0.07511  0.08655  0.07466	 0.07886  0.06176  0.07380  0.09551  0.07145  0.07951  0.07685	0.07461  0.06379  0.06228  0.06700  0.069 [...]
+Harpogoph  0.06080  0.08369  0.07913  0.08912  0.09409  0.08808  0.06546  0.06442  0.07280  0.06936  0.07858  0.06498  0.06223  0.05016  0.02863  0.01438  0.04535  0.04506  0.06519  0.04461  0.03203  0.01599  0.01301  0.04187  0.04525  0.03791  0.06320  0.04502  0.02795  0.03389  0.02959  0.03669  0.03773  0.03520  0.03187  0.03618  0.03843  0.02341  0.04001  0.06844  0.07654  0.06604	 0.07057  0.04759  0.06568  0.08900  0.06400  0.07081  0.06678	0.06941  0.05590  0.04967  0.06032  0.064 [...]
+Hypoestes  0.07797  0.09871  0.09364  0.10606  0.10422  0.10592  0.07858  0.08230  0.09084  0.08732  0.10109  0.09571  0.08655  0.07237  0.04796  0.04437  0.06484  0.06724  0.08311  0.07048  0.05771  0.04702  0.04274  0.06951  0.07106  0.05794  0.08206  0.06605  0.04599  0.06166  0.05077  0.05959  0.05650  0.06032  0.05589  0.05784  0.06312  0.04896  0.06482  0.08568  0.08870  0.08111	 0.08697  0.07230  0.08283  0.10420  0.08343  0.08458  0.08622	0.08674  0.07314  0.07505  0.07828  0.079 [...]
+Montinia   0.06318  0.09511  0.08715  0.09552  0.10256  0.09628  0.06915  0.06465  0.07467  0.07040  0.08567  0.07962  0.07260  0.06394  0.06176  0.05887  0.07593  0.07116  0.07046  0.07583  0.06488  0.05939  0.06302  0.06736  0.07786  0.07041  0.07262  0.06391  0.06139  0.06579  0.06463  0.07487  0.07359  0.07284  0.05914  0.06459  0.06808  0.06595  0.07285  0.07321  0.08273  0.07353	 0.07319  0.06508  0.07811  0.09911  0.08542  0.07467  0.06922	0.06881  0.06612  0.06232  0.08104  0.075 [...]
+Ilexcrena  0.07511  0.06581  0.08422  0.08902  0.07819  0.08982  0.07858  0.07514  0.08036  0.07765  0.09055  0.08146  0.07654  0.06807  0.07228  0.06029  0.08140  0.07368  0.04872  0.08119  0.07377  0.05925  0.06659  0.07547  0.07940  0.07368  0.05011  0.05734  0.07103  0.07454  0.06592  0.07185  0.07317  0.08258  0.05518  0.07014  0.07605  0.06945  0.07782  0.05162  0.07010  0.05600	 0.05700  0.04976  0.06105  0.07235  0.07454  0.05492  0.05029	0.05479  0.04014  0.04027  0.07314  0.071 [...]
+Eucommia   0.07725  0.07511  0.08783  0.09158  0.08582  0.09153  0.08143  0.07943  0.08165  0.08117  0.09330  0.08198  0.08083  0.07239  0.08088  0.06914  0.08875  0.08011  0.06307  0.08646  0.07656  0.06902  0.07723  0.08844  0.08549  0.08584  0.05296  0.06458  0.07612  0.07883  0.07783  0.08151  0.08356  0.08402  0.06633  0.07667  0.08029  0.07755  0.08513  0.06121  0.08011  0.06247	 0.06844  0.06912  0.07884  0.08470  0.07812  0.06871  0.06612	0.07146  0.05953  0.05797  0.07519  0.073 [...]
+Berzelia   0.06652  0.06295  0.06536  0.08046  0.07120  0.07701  0.06840  0.06871  0.07056  0.07243  0.08521  0.06945  0.06438  0.05732  0.06226  0.05348  0.07164  0.06009  0.04156  0.07040  0.06239  0.05548  0.05734  0.06409  0.06956  0.06581  0.04429  0.04791  0.05584  0.06098  0.06355  0.06795  0.07238  0.07253  0.04995  0.05781  0.07073  0.06263  0.07775  0.04260  0.06581  0.05027	 0.04883  0.04150  0.05656  0.06584  0.07002  0.04908  0.04091	0.04499  0.02937  0.03250  0.06558  0.062 [...]
+Campanula  0.08953  0.09382  0.09232  0.10687  0.09946  0.10343  0.09689  0.09456  0.09923  0.10021  0.11087  0.09724  0.09883  0.08829  0.09462  0.07979  0.09730  0.08736  0.07533  0.10550  0.09047  0.08195  0.08815  0.09072  0.09296  0.09312  0.07778  0.07921  0.08386  0.09334  0.09075  0.09767  0.10257  0.10714  0.07699  0.09050  0.10004  0.09506  0.10418  0.08039  0.09453  0.07474	 0.05719  0.06555  0.07827  0.06015  0.09262  0.08612  0.07840	0.08240  0.07179  0.06476  0.09426  0.093 [...]
+Scaevola   0.08080  0.08587  0.08343  0.09060  0.08558  0.08966  0.08805  0.08732  0.08788  0.09036  0.09948  0.08734  0.08866  0.08309  0.07863  0.06531  0.07984  0.08586  0.06871  0.09442  0.07358  0.06804  0.07402  0.08536  0.09283  0.08144  0.06744  0.06734  0.07004  0.08274  0.07397  0.08247  0.07981  0.08751  0.05946  0.07921  0.08798  0.07451  0.08755  0.07432  0.08092  0.07176	 0.03866  0.05017  0.05468  0.08114  0.08290  0.07730  0.06828	0.07051  0.06370  0.05751  0.07680  0.086 [...]
+Dimorphot  0.08441  0.08655  0.08566  0.09937  0.09108  0.09591  0.08805  0.09088  0.09234  0.09174  0.09706  0.09332  0.08870  0.08528  0.08444  0.07595  0.09261  0.08941  0.06448  0.08794  0.07973  0.07587  0.07953  0.08220  0.09442  0.08155  0.06970  0.07405  0.07473  0.09172  0.08022  0.08468  0.08660  0.09408  0.07019  0.08242  0.08865  0.08287  0.09048  0.07198  0.07797  0.07610	 0.04285  0.05193  0.05714  0.08396  0.08955  0.07448  0.06396	0.06931  0.06379  0.05797  0.08208  0.089 [...]
+Tagetes    0.08298  0.08369  0.08495  0.09737  0.09794  0.09725  0.08369  0.08802  0.09465  0.09332  0.09184  0.08509  0.08369  0.07667  0.07728  0.07000  0.08289  0.08584  0.06521  0.08623  0.07598  0.07131  0.06960  0.07686  0.09066  0.07654  0.06607  0.06171  0.06873  0.08574  0.07562  0.08095  0.08286  0.08618  0.06419  0.07804  0.08567  0.07686  0.08670  0.07048  0.07296  0.07395	 0.03761  0.04818  0.05340  0.07890  0.08052  0.07443  0.06321	0.06855  0.05949  0.05704  0.07907  0.082 [...]
+Felicia    0.08226  0.08298  0.08202  0.09825  0.09553  0.09643  0.08294  0.08803  0.09017  0.08582  0.09565  0.08588  0.08298  0.07810  0.07657  0.07155  0.08519  0.08512  0.06590  0.08610  0.07369  0.07133  0.07346  0.07520  0.08610  0.07725  0.06607  0.06533  0.06801  0.08355  0.07421  0.08028  0.08214  0.08402  0.06497  0.07517  0.08498  0.07462  0.08905  0.07050  0.07296  0.07249	 0.04354  0.05054  0.05646  0.07959  0.08129  0.07224  0.06607	0.07005  0.05876  0.05449  0.07988  0.080 [...]
+Chromolae  0.08441  0.08727  0.08639  0.10234  0.09870  0.10137  0.08805  0.08945  0.09928  0.08963  0.09427  0.08820  0.08727  0.08096  0.08086  0.07385  0.08602  0.08870  0.07021  0.09279  0.08138  0.07593  0.07199  0.08031  0.08993  0.08011  0.07335  0.06972  0.07033  0.08435  0.08105  0.08109  0.08523  0.09047  0.07180  0.08168  0.08878  0.08149  0.08829  0.07742  0.08011  0.08039	 0.04573  0.05507  0.05952  0.08537  0.08820  0.07948  0.06607	0.07465  0.06666  0.06325  0.08746  0.089 [...]
+Achillea   0.08441  0.08941  0.08493  0.09926  0.09792  0.09913  0.08369  0.08945  0.09387  0.08806  0.09648  0.09040  0.08369  0.08025  0.08087  0.07306  0.08447  0.08584  0.06520  0.08362  0.07370  0.07287  0.07427  0.08038  0.08766  0.07725  0.07188  0.06970  0.07031  0.08508  0.07343  0.08025  0.08142  0.08402  0.06572  0.07737  0.08048  0.07617  0.08682  0.07652  0.07940  0.07824	 0.04358  0.05500  0.05642  0.08610  0.09037  0.07873  0.06967	0.06929  0.06450  0.05881  0.08441  0.085 [...]
+Gerbera    0.07940  0.08441  0.08275  0.09147  0.09186  0.09141  0.08435  0.08301  0.08711  0.08358  0.09181  0.08435  0.07868  0.07525  0.07371  0.06620  0.08363  0.08155  0.05733  0.08723  0.07519  0.06903  0.06889  0.07540  0.08385  0.07582  0.06316  0.06533  0.06489  0.08426  0.07260  0.07940  0.07987  0.08762  0.06191  0.07448  0.08119  0.07010  0.08448  0.05991  0.06724  0.06533	 0.03608  0.03838  0.05417  0.07311  0.07753  0.06939  0.04958	0.06400  0.05017  0.04604  0.07683  0.080 [...]
+Cacosmia   0.07940  0.07582  0.07912  0.09071  0.09033  0.08895  0.07784  0.08445  0.08640  0.08437  0.09119  0.08216  0.07725  0.07022  0.07514  0.06482  0.07766  0.07868  0.05804  0.08368  0.07224  0.06683  0.06816  0.07266  0.08228  0.07296  0.06097  0.05514  0.06652  0.08359  0.07120  0.07569  0.07847  0.08330  0.05825  0.07519  0.08279  0.07319  0.08384  0.06144  0.06438  0.06390	 0.03529  0.04372  0.05199  0.07091  0.07689  0.06864  0.05174	0.06245  0.05161  0.04860  0.07392  0.073 [...]
+Vernonia   0.08441  0.08441  0.08422  0.09659  0.09337  0.09653  0.08295  0.08803  0.09395  0.08813  0.09716  0.08892  0.08441  0.07882  0.08087  0.07231  0.08825  0.08798  0.06448  0.09287  0.07981  0.07438  0.07428  0.07685  0.08609  0.08298  0.06823  0.06748  0.07331  0.08810  0.07724  0.08179  0.08673  0.09048  0.07028  0.07877  0.08502  0.07692  0.08833  0.07054  0.07082  0.07393	 0.04055  0.04523  0.05802  0.07959  0.08361  0.07804  0.06035	0.06934  0.05949  0.05020  0.08067  0.080 [...]
+Tragopogo  0.08441  0.08655  0.08131  0.09472  0.09022  0.09292  0.08439  0.08874  0.09163  0.08729  0.09487  0.08662  0.07797  0.07305  0.07586  0.06998  0.08363  0.08369  0.06234  0.08794  0.07595  0.07284  0.07192  0.07421  0.08826  0.07439  0.06680  0.06243  0.06798  0.08876  0.07711  0.08249  0.08364  0.08762  0.06496  0.08239  0.08417  0.07686  0.08824  0.06823  0.06867  0.07108	 0.03759  0.04518  0.05344  0.07454  0.08058  0.07586  0.06107	0.06628  0.05949  0.05441  0.07836  0.080 [...]
+Eupatoriu  0.07940  0.08011  0.08132  0.09327  0.09184  0.09315  0.08223  0.08445  0.09090  0.08807  0.08504  0.08059  0.07940  0.07309  0.07370  0.06549  0.08216  0.08155  0.06162  0.08458  0.07144  0.06676  0.06426  0.07436  0.08766  0.07439  0.06318  0.06099  0.06571  0.08276  0.07339  0.07866  0.08137  0.08474  0.05966  0.07516  0.08494  0.07311  0.08370  0.06596  0.07368  0.07036	 0.03611  0.04669  0.05189  0.07673  0.08205  0.07157  0.06033	0.06551  0.05734  0.05204  0.07909  0.082 [...]
+Piptocarp  0.07868  0.07725  0.08135  0.09490  0.09042  0.09393  0.08007  0.08230  0.08942  0.08515  0.09261  0.08364  0.08011  0.07524  0.07729  0.06777  0.08218  0.08226  0.05947  0.09043  0.07599  0.06983  0.07119  0.07269  0.08318  0.08011  0.06320  0.06247  0.06800  0.08358  0.07342  0.07567  0.08218  0.08617  0.06498  0.07229  0.08277  0.07392  0.08455  0.06448  0.06438  0.06748	 0.03603  0.03994  0.05424  0.07090  0.07984  0.07082  0.05316	0.06626  0.05304  0.04778  0.07840  0.080 [...]
+Cichorium  0.07797  0.08011  0.07914  0.09316  0.09179  0.09135  0.07712  0.08230  0.09316  0.08353  0.09036  0.07908  0.07368  0.06808  0.07228  0.06401  0.07838  0.07797  0.06019  0.08292  0.06688  0.06682  0.06583  0.07095  0.08304  0.07153  0.06463  0.05954  0.06347  0.08125  0.07110  0.07792  0.07687  0.08187  0.05742  0.07448  0.07967  0.07162  0.08375  0.06599  0.06795  0.06749	 0.03233  0.04222  0.04743  0.07019  0.07910  0.07082  0.05747	0.05863  0.05591  0.05372  0.07686  0.079 [...]
+Senecio    0.08441  0.08369  0.08349  0.09393  0.09184  0.09386  0.08296  0.09160  0.08938  0.08510  0.09271  0.08666  0.08083  0.07596  0.08230  0.07306  0.08520  0.08798  0.06090  0.08870  0.07602  0.07364  0.07273  0.07954  0.09070  0.07868  0.06463  0.06389  0.07031  0.08205  0.07426  0.07953  0.08222  0.08761  0.06422  0.07953  0.08350  0.07396  0.08760  0.07053  0.06938  0.07035	 0.03981  0.04901  0.05648  0.07670  0.08283  0.07589  0.06538	0.07083  0.05948  0.05044  0.08139  0.079 [...]
+Carthamnu  0.07809  0.07667  0.07848  0.09328  0.08790  0.09062  0.08154  0.08386  0.08726  0.08521  0.08595  0.07996  0.07666  0.07321  0.07525  0.06405  0.08077  0.08024  0.05599  0.08150  0.07228  0.06613  0.06739  0.07273  0.08529  0.07521  0.06252  0.06248  0.06349  0.07987  0.07192  0.07873  0.07921  0.08201  0.05975  0.07387  0.08131  0.07020  0.08386  0.05849  0.06593  0.06472	 0.03320  0.03841  0.05196  0.07106  0.07465  0.06807  0.05178	0.06180  0.04953  0.04762  0.07468  0.078 [...]
+Nuphar     0.09414  0.09636  0.09710  0.01187  0.08424  0.00848  0.10432  0.09829  0.09952  0.10080  0.11102  0.09416  0.09632  0.09068  0.09072  0.08083  0.10342  0.09317  0.08878  0.10351  0.09137  0.08144  0.09076  0.10432  0.10667  0.09490  0.07082  0.08630  0.08665  0.09610  0.08615  0.09328  0.09340  0.10017  0.07828  0.09675  0.09700  0.09200  0.10022  0.08760  0.09792  0.08735	 0.09068  0.08191  0.09347  0.09616  0.09657  0.08730  0.08429	0.09046  0.08242  0.08108  0.09265  0.096 [...]
+Nymphaea   0.08992  0.09384  0.09198  0.00848  0.08166  0.00933  0.10102  0.09490  0.09786  0.09913  0.11019  0.09236  0.09380  0.08978  0.08996  0.07918  0.10085  0.09231  0.08454  0.10072  0.09057  0.07699  0.08820  0.10176  0.10418  0.09496  0.06659  0.08551  0.08584  0.09624  0.08632  0.09079  0.09445  0.09764  0.07568  0.09169  0.09257  0.08941  0.09578  0.08678  0.09286  0.08316	 0.08795  0.07744  0.08902  0.09363  0.09394  0.08646  0.08002	0.08776  0.07819  0.07669  0.09181  0.095 [...]
+Brasenia   0.10801  0.09800  0.10523  0.02284  0.09348  0.02104  0.10839  0.11095  0.10590  0.10688  0.11985  0.10682  0.10587  0.10537  0.09590  0.09168  0.10841  0.10730  0.09173  0.10851  0.10407  0.09183  0.09627  0.10109  0.10889  0.10300  0.07692  0.09069  0.09585  0.09925  0.09606  0.10134  0.10249  0.10560  0.08899  0.10330  0.10221  0.09721  0.10874  0.09163  0.11016  0.09262	 0.10058  0.09557  0.10157  0.11010  0.10839  0.09108  0.09343	0.09744  0.07958  0.08130  0.10236  0.102 [...]
+Cabomba    0.09908  0.10568  0.10066  0.03053  0.09213  0.02884  0.10846  0.10326  0.10524  0.10464  0.11658  0.09793  0.09641  0.09668  0.09075  0.08376  0.10184  0.09573  0.09289  0.10247  0.09619  0.08247  0.09011  0.09832  0.10589  0.09414  0.08026  0.09046  0.08774  0.09361  0.08916  0.09637  0.09280  0.10277  0.08485  0.10040  0.09817  0.09483  0.10323  0.09233  0.10066  0.09000	 0.09412  0.08751  0.09914  0.09872  0.09861  0.09236  0.09282	0.09427  0.08749  0.08681  0.09287  0.102 [...]
+Ceratophy  0.10443  0.09657  0.09154  0.08393  0.07991  0.07966  0.10336  0.10522  0.10311  0.10032  0.11634  0.10563  0.10372  0.09888  0.09948  0.09649  0.10571  0.10730  0.08240  0.11229  0.10125  0.09733  0.10038  0.10035  0.11131  0.10801  0.07483  0.08424  0.09681  0.09951  0.09932  0.09947  0.10574  0.10413  0.09606  0.09905  0.10699  0.09975  0.10969  0.09037  0.09657  0.08685	 0.09292  0.08606  0.09957  0.10346  0.11159  0.08746  0.08763	0.09459  0.07885  0.07557  0.10568  0.108 [...]
+Canella-A  0.10372  0.10014  0.09803  0.08167  0.07899  0.07823  0.10336  0.10522  0.10919  0.10715  0.12318  0.10492  0.10658  0.10027  0.09805  0.09124  0.10946  0.10587  0.08740  0.10567  0.09973  0.08974  0.09577  0.09948  0.10895  0.09585  0.07263  0.08424  0.09530  0.10029  0.09710  0.09945  0.10346  0.09765  0.08925  0.09691  0.10400  0.09748  0.10286  0.09348  0.10014  0.08902	 0.09290  0.08984  0.10486  0.11141  0.10634  0.09613  0.08762	0.09526  0.07959  0.07997  0.10568  0.104 [...]
+Canella-B  0.12303  0.11874  0.11912  0.10191  0.10279  0.10105  0.12304  0.12597  0.12902  0.12611  0.14145  0.12761  0.12518  0.11960  0.11665  0.10951  0.12850  0.12732  0.10672  0.12616  0.11885  0.10958  0.11572  0.12266  0.12795  0.11302  0.09228  0.10388  0.11284  0.11778  0.11461  0.11566  0.12322  0.11914  0.10904  0.11644  0.12220  0.11646  0.12488  0.11109  0.12232  0.10623	 0.10776  0.10808  0.11931  0.12803  0.12381  0.11193  0.10985	0.11134  0.09967  0.10077  0.12390  0.122 [...]
+Magnsalic  0.09156  0.08083  0.08273  0.06527  0.06441  0.06192  0.08875  0.09234  0.08552  0.08800  0.10544  0.09413  0.08870  0.08170  0.08660  0.08120  0.09640  0.09227  0.06952  0.09685  0.08732  0.08424  0.08473  0.08725  0.09685  0.08655  0.05952  0.06748  0.08146  0.08644  0.08466  0.08992  0.09411  0.08692  0.07846  0.09175  0.09013  0.08361  0.09958  0.07194  0.09227  0.07611	 0.08112  0.07223  0.08649  0.09197  0.09018  0.07305  0.06899	0.07691  0.05806  0.05882  0.08502  0.084 [...]
+Michelia   0.09084  0.08226  0.08491  0.06613  0.06522  0.06277  0.08947  0.09162  0.08701  0.08949  0.10693  0.09561  0.09156  0.08457  0.08803  0.08117  0.09941  0.09371  0.06952  0.09851  0.08655  0.08421  0.08551  0.08815  0.09764  0.08798  0.05951  0.06892  0.08296  0.08792  0.08614  0.09142  0.09559  0.08692  0.07843  0.09174  0.09161  0.08358  0.10107  0.07496  0.09371  0.07611	 0.08113  0.07220  0.08798  0.09198  0.09241  0.07525  0.06900	0.07843  0.05949  0.05797  0.08651  0.085 [...]
+Manglieti  0.09156  0.08226  0.08418  0.06863  0.06437  0.06528  0.09020  0.09234  0.08552  0.08951  0.10696  0.09564  0.09156  0.08457  0.08803  0.08120  0.09944  0.09371  0.06952  0.09847  0.08658  0.08424  0.08554  0.08889  0.09835  0.08798  0.05951  0.06893  0.08298  0.08795  0.08616  0.09145  0.09562  0.08620  0.07846  0.09174  0.09164  0.08361  0.10110  0.07346  0.09371  0.07610	 0.08112  0.07222  0.08800  0.09197  0.09244  0.07525  0.06899	0.07997  0.05877  0.05707  0.08654  0.085 [...]
+Magnhypol  0.09013  0.08298  0.08346  0.06520  0.06440  0.06185  0.08876  0.09234  0.08930  0.09177  0.10773  0.09488  0.09084  0.08241  0.08587  0.07896  0.09719  0.09156  0.06880  0.09594  0.08431  0.08274  0.08404  0.08720  0.09608  0.08584  0.05734  0.06821  0.08073  0.09021  0.08616  0.09225  0.09640  0.08763  0.07621  0.09103  0.09242  0.08588  0.10112  0.07575  0.09156  0.07465	 0.07887  0.07147  0.08576  0.08979  0.09097  0.07378  0.06971	0.07843  0.06164  0.06139  0.08507  0.086 [...]
+Liriodtul  0.09657  0.09585  0.08930  0.06848  0.06283  0.06513  0.08949  0.09877  0.10378  0.10316  0.12135  0.10697  0.10086  0.09315  0.09733  0.08654  0.10930  0.09728  0.08814  0.10578  0.09651  0.08730  0.09789  0.08532  0.09377  0.09442  0.06097  0.07694  0.09136  0.10156  0.09306  0.09548  0.10550  0.09836  0.08679  0.09825  0.10303  0.09726  0.11175  0.09475  0.10300  0.09045	 0.09458  0.09042  0.10162  0.10060  0.10459  0.09108  0.08622	0.09905  0.08099  0.07257  0.09946  0.104 [...]
+Liriodchi  0.09657  0.09442  0.08640  0.06681  0.06358  0.06346  0.09020  0.09948  0.10144  0.10004  0.11747  0.10539  0.10157  0.09244  0.09662  0.08497  0.10621  0.09728  0.08527  0.10750  0.09341  0.08725  0.09473  0.08543  0.09456  0.09371  0.05878  0.07476  0.08978  0.09919  0.09298  0.09540  0.10541  0.09764  0.08522  0.10042  0.10142  0.09716  0.11014  0.09165  0.10157  0.08829	 0.09236  0.08884  0.09701  0.10061  0.10301  0.08965  0.08335	0.09442  0.07885  0.06733  0.09636  0.101 [...]
+Eupomatia  0.09514  0.08798  0.08995  0.07466  0.07062  0.07130  0.09818  0.09663  0.09236  0.09413  0.11689  0.10166  0.09657  0.09245  0.08946  0.08574  0.10323  0.09514  0.07812  0.10291  0.09115  0.08729  0.09169  0.08896  0.09912  0.09013  0.06816  0.07757  0.08600  0.09399  0.09011  0.09298  0.10249  0.09052  0.08454  0.08962  0.09546  0.09275  0.10491  0.08252  0.10157  0.07898	 0.08854  0.08284  0.09110  0.09989  0.10000  0.07957  0.08121	0.08305  0.06736  0.06665  0.09410  0.094 [...]
+Degeneria  0.08512  0.08083  0.08277  0.06444  0.05903  0.06107  0.08514  0.08589  0.08404  0.08427  0.10317  0.09034  0.08727  0.08170  0.08374  0.07595  0.09416  0.08941  0.07238  0.09527  0.08281  0.07895  0.08097  0.08304  0.09157  0.08441  0.05665  0.06679  0.07619  0.08415  0.08011  0.08613  0.08807  0.08190  0.07243  0.08524  0.08864  0.08060  0.09808  0.07573  0.09442  0.07538	 0.07882  0.07604  0.08500  0.09556  0.08795  0.07519  0.06970	0.07999  0.06164  0.06243  0.08278  0.088 [...]
+Amborella  0.10944  0.09514  0.10523  0.05991  0.08294  0.05900  0.10983  0.11167  0.10910  0.11163  0.11783  0.11087  0.10873  0.10606  0.10305  0.09418  0.11245  0.11159  0.08671  0.11343  0.10047  0.09807  0.10429  0.10194  0.10966  0.10443  0.07403  0.09432  0.09757  0.10329  0.09928  0.10089  0.10577  0.10702  0.09374  0.10408  0.10398  0.10125  0.11203  0.09333  0.10944  0.08472	 0.09764  0.08975  0.09876  0.10350  0.10932  0.09253  0.08549	0.09380  0.07885  0.07800  0.10562  0.108 [...]
+Knema      0.09514  0.07868  0.08781  0.07031  0.06213  0.06519  0.09676  0.09591  0.09004  0.09474  0.10764  0.09699  0.09585  0.08959  0.09376  0.08114  0.10313  0.08941  0.07311  0.10112  0.08727  0.08196  0.09010  0.09169  0.09460  0.09156  0.05949  0.07474  0.08747  0.09312  0.08459  0.08909  0.08956  0.08550  0.07842  0.08881  0.09157  0.08732  0.10029  0.07714  0.09442  0.07754	 0.08418  0.08197  0.08720  0.09561  0.09392  0.07526  0.07547	0.07922  0.06523  0.06489  0.09026  0.094 [...]
+Talauma    0.09227  0.08155  0.08418  0.06612  0.06522  0.06277  0.08947  0.09305  0.08625  0.08873  0.10844  0.09712  0.09156  0.08314  0.08803  0.08268  0.09941  0.09371  0.06952  0.09683  0.08808  0.08574  0.08550  0.08731  0.09764  0.08798  0.06096  0.06892  0.08295  0.08792  0.08614  0.09142  0.09559  0.08692  0.07995  0.09174  0.09011  0.08510  0.09957  0.07345  0.09227  0.07687	 0.08112  0.07221  0.08648  0.09198  0.09318  0.07594  0.06899	0.07691  0.05806  0.05801  0.08651  0.085 [...]
+Talasinga  0.09371  0.08155  0.08492  0.06873  0.06514  0.06538  0.09166  0.09448  0.08854  0.08953  0.11073  0.09939  0.09371  0.08672  0.08875  0.08496  0.10017  0.09585  0.07024  0.10101  0.09038  0.08652  0.08783  0.09071  0.09985  0.09013  0.06170  0.07111  0.08442  0.08869  0.08845  0.09373  0.09713  0.08908  0.08222  0.09321  0.09465  0.08738  0.10336  0.07575  0.09299  0.07683	 0.08253  0.07449  0.08875  0.09414  0.09470  0.07523  0.06827	0.07920  0.05878  0.05973  0.08878  0.086 [...]
+Drimys     0.09013  0.08298  0.08058  0.06598  0.06443  0.06173  0.09314  0.09234  0.08788  0.08735  0.10785  0.09269  0.09084  0.08665  0.08445  0.08205  0.09877  0.09084  0.07237  0.09689  0.08438  0.08204  0.08643  0.08642  0.09910  0.08584  0.06100  0.07550  0.08384  0.09029  0.08547  0.09237  0.09725  0.08835  0.08159  0.09180  0.09174  0.08522  0.09817  0.08268  0.08655  0.07394	 0.08112  0.07384  0.08886  0.09340  0.09486  0.07952  0.07688	0.08234  0.06738  0.06502  0.09270  0.096 [...]
+Belliolum  0.09585  0.08941  0.08933  0.07283  0.07141  0.06856  0.09754  0.09591  0.09546  0.09719  0.11468  0.10101  0.09800  0.09459  0.08947  0.08584  0.10103  0.09442  0.07882  0.10432  0.09125  0.08888  0.09181  0.09246  0.10295  0.09442  0.06830  0.08352  0.08985  0.09256  0.09007  0.09859  0.10105  0.09266  0.08690  0.09327  0.09554  0.09055  0.10049  0.08954  0.09299  0.08184	 0.08933  0.08143  0.09265  0.10281  0.10167  0.08822  0.08047	0.09225  0.07240  0.07111  0.09875  0.100 [...]
+Tasmannia  0.08798  0.07868  0.08059  0.06862  0.06446  0.06436  0.08950  0.09019  0.08709  0.08509  0.10480  0.09342  0.08941  0.08600  0.08230  0.07979  0.09499  0.09084  0.06951  0.09610  0.08209  0.08050  0.08412  0.08906  0.09684  0.08655  0.06101  0.07115  0.08075  0.08652  0.08096  0.09009  0.09421  0.08476  0.08005  0.08674  0.08796  0.08296  0.09665  0.07963  0.08369  0.07251	 0.07954  0.07155  0.08583  0.09268  0.09181  0.07592  0.07113	0.08002  0.06308  0.06248  0.08889  0.092 [...]
+Cinnamomu  0.09657  0.08298  0.09370  0.06437  0.06377  0.06098  0.09462  0.09735  0.09376  0.09922  0.11286  0.10530  0.10014  0.09389  0.09662  0.08715  0.10304  0.09728  0.07311  0.10627  0.09713  0.09099  0.09618  0.09692  0.10078  0.09156  0.05957  0.07627  0.09269  0.09310  0.08994  0.09668  0.10084  0.09484  0.08518  0.09538  0.10058  0.09561  0.10558  0.07784  0.09371  0.07754	 0.08647  0.08341  0.09316  0.08838  0.09615  0.07954  0.06758	0.08755  0.06520  0.06740  0.09401  0.092 [...]
+Persea     0.09585  0.09514  0.09725  0.06599  0.06665  0.06262  0.09091  0.09664  0.09916  0.10085  0.11979  0.10994  0.10300  0.09746  0.10091  0.09101  0.10695  0.10372  0.08599  0.10951  0.09949  0.09257  0.10012  0.09743  0.10214  0.09657  0.06386  0.07765  0.09657  0.09775  0.09302  0.09982  0.10395  0.09913  0.08983  0.10046  0.10294  0.09949  0.11020  0.09163  0.09657  0.08758	 0.09615  0.09334  0.10081  0.09917  0.10156  0.09177  0.08192	0.10059  0.07810  0.07245  0.10166  0.100 [...]
+Hernandia  0.10014  0.08512  0.08779  0.07291  0.07058  0.07120  0.09966  0.10021  0.09543  0.09414  0.10783  0.10323  0.10014  0.09388  0.09302  0.08429  0.10105  0.09514  0.08097  0.10374  0.08968  0.08278  0.09173  0.09585  0.09683  0.09084  0.06529  0.07545  0.08382  0.09030  0.08323  0.08773  0.08967  0.08908  0.08081  0.09034  0.09476  0.08976  0.09895  0.07427  0.09514  0.07682	 0.09080  0.08437  0.09713  0.10064  0.09861  0.07878  0.08120	0.08686  0.07022  0.07167  0.09492  0.092 [...]
+Idiosperm  0.09166  0.08378  0.09603  0.06355  0.06082  0.06189  0.09549  0.09459  0.09476  0.09648  0.10939  0.10333  0.09952  0.09111  0.09313  0.08288  0.09954  0.09669  0.07961  0.10471  0.09282  0.08362  0.09104  0.09441  0.10393  0.09309  0.06187  0.07642  0.08766  0.09261  0.08638  0.09175  0.09433  0.09278  0.08240  0.09335  0.09335  0.09135  0.09981  0.08723  0.09454  0.07691	 0.08945  0.08595  0.09644  0.09858  0.09642  0.08324  0.07844	0.09003  0.06960  0.07190  0.09199  0.094 [...]
+Calycchin  0.09943  0.08298  0.09653  0.06850  0.06673  0.06604  0.09604  0.10093  0.09917  0.10162  0.11372  0.10613  0.10157  0.09388  0.09519  0.09022  0.10388  0.09800  0.07737  0.10867  0.09568  0.08878  0.10010  0.10011  0.10596  0.09585  0.06169  0.08128  0.08977  0.09995  0.09371  0.09602  0.09942  0.09914  0.08452  0.09904  0.09766  0.10023  0.10493  0.08400  0.09227  0.07754	 0.09018  0.08727  0.10005  0.09919  0.10002  0.08242  0.07906	0.09213  0.06879  0.07335  0.09709  0.094 [...]
+Chimonant  0.09800  0.08298  0.09581  0.06599  0.06368  0.06435  0.09604  0.10022  0.09764  0.10159  0.11221  0.10463  0.10229  0.09245  0.09589  0.08797  0.10464  0.09800  0.07594  0.10534  0.09568  0.08804  0.09780  0.09673  0.10295  0.09442  0.06170  0.07984  0.08901  0.09919  0.09294  0.09526  0.10015  0.09770  0.08374  0.09685  0.09841  0.09946  0.10567  0.08324  0.09371  0.07681	 0.08709  0.08577  0.09854  0.09701  0.09775  0.07952  0.07763	0.08984  0.06736  0.07339  0.09483  0.096 [...]
+Hedycarya  0.09442  0.08226  0.08636  0.06593  0.06660  0.06505  0.09458  0.09878  0.09469  0.09561  0.11003  0.09865  0.09728  0.09029  0.09303  0.08507  0.09644  0.09514  0.07238  0.10360  0.09195  0.08658  0.09098  0.09402  0.10211  0.09442  0.05878  0.07328  0.08830  0.09478  0.08851  0.09615  0.09948  0.09409  0.08309  0.09324  0.09624  0.09425  0.10421  0.07728  0.09084  0.07394	 0.08555  0.08133  0.08959  0.09628  0.09713  0.07657  0.07472	0.08234  0.06664  0.06911  0.09269  0.095 [...]
+Annona     0.11087  0.09442  0.10235  0.08690  0.08340  0.08697  0.11496  0.11380  0.11022  0.10955  0.12706  0.11636  0.11302  0.10537  0.10663  0.10123  0.12398  0.11016  0.09390  0.11861  0.10983  0.10295  0.10912  0.10676  0.11864  0.10443  0.08058  0.09508  0.10616  0.11543  0.10177  0.10944  0.10894  0.10564  0.09708  0.10756  0.11012  0.10896  0.11665  0.09891  0.10944  0.09543	 0.09909  0.09756  0.10501  0.11229  0.11248  0.09698  0.09635	0.10569  0.08598  0.08488  0.10733  0.112 [...]
+Gyrocarpu  0.10157  0.08083  0.09655  0.07364  0.06515  0.07279  0.10041  0.10236  0.09384  0.10011  0.11530  0.10842  0.10515  0.09675  0.09733  0.08651  0.10166  0.09442  0.07669  0.10295  0.09798  0.08960  0.09249  0.10267  0.10058  0.09442  0.06679  0.07839  0.09132  0.09400  0.08621  0.09454  0.09569  0.09483  0.08305  0.09111  0.09772  0.09348  0.10270  0.08170  0.09800  0.08184	 0.09241  0.08807  0.09631  0.09493  0.10005  0.08025  0.07907	0.08763  0.06878  0.07247  0.09414  0.095 [...]
+Asimina    0.10587  0.09299  0.09653  0.08118  0.07505  0.08128  0.10549  0.10952  0.10431  0.10222  0.12204  0.10829  0.10372  0.10034  0.10233  0.09843  0.11366  0.10944  0.08815  0.11266  0.10547  0.09857  0.10390  0.10157  0.11183  0.09728  0.07549  0.08924  0.09879  0.10739  0.09748  0.10818  0.10535  0.10203  0.09569  0.10327  0.10509  0.10467  0.11459  0.08836  0.10372  0.09043	 0.09373  0.09021  0.09917  0.10647  0.10367  0.09111  0.08699	0.09970  0.07881  0.08155  0.10000  0.104 [...]
+Cananga    0.09222  0.08313  0.09076  0.07693  0.07281  0.07356  0.09828  0.09604  0.09711  0.09247  0.11085  0.09634  0.09677  0.08784  0.09311  0.08442  0.10219  0.09528  0.08247  0.10601  0.09171  0.08573  0.09076  0.09486  0.10371  0.09074  0.06805  0.07783  0.08639  0.09627  0.08718  0.09607  0.09022  0.08877  0.08151  0.09238  0.09865  0.09174  0.10230  0.08413  0.09816  0.08485	 0.08494  0.08295  0.09254  0.09340  0.09459  0.08558  0.08354	0.09212  0.07043  0.07760  0.08849  0.092 [...]
+Galbulimi  0.09371  0.08083  0.08715  0.06779  0.06744  0.06271  0.09607  0.09735  0.09835  0.09699  0.11303  0.10458  0.09657  0.09174  0.09304  0.08640  0.10314  0.09657  0.07812  0.10025  0.09411  0.08797  0.09154  0.08716  0.10061  0.09227  0.06392  0.07916  0.08746  0.09310  0.08836  0.09063  0.09630  0.08693  0.08442  0.09101  0.09160  0.08883  0.10254  0.08018  0.09800  0.08400	 0.08786  0.08502  0.09398  0.09993  0.09619  0.08099  0.07690	0.08756  0.06808  0.06909  0.09778  0.098 [...]
+Asarum     0.09603  0.08888  0.09381  0.06605  0.07370  0.06600  0.09695  0.09969  0.09566  0.09893  0.11489  0.10345  0.10318  0.09403  0.09680  0.08905  0.10195  0.09891  0.07611  0.10295  0.09601  0.09059  0.09582  0.09246  0.09923  0.09746  0.06619  0.08219  0.09081  0.09811  0.08723  0.09570  0.10056  0.09715  0.08633  0.09633  0.09502  0.09451  0.10227  0.07904  0.09534  0.08272	 0.09100  0.08835  0.10045  0.10004  0.09897  0.08250  0.08065	0.08477  0.06966  0.06945  0.09896  0.095 [...]
+Saururus   0.10730  0.09156  0.10449  0.07286  0.06675  0.07456  0.10326  0.10950  0.10070  0.10316  0.11750  0.11291  0.10515  0.10027  0.10664  0.10312  0.11448  0.10658  0.08599  0.11207  0.10717  0.10098  0.10705  0.10454  0.10825  0.10515  0.07908  0.09139  0.10341  0.10532  0.10059  0.10525  0.10322  0.10774  0.10045  0.10553  0.10598  0.10707  0.10797  0.09310  0.10587  0.08899	 0.09829  0.09784  0.10460  0.10498  0.10689  0.09470  0.08408	0.09216  0.08170  0.08206  0.09872  0.107 [...]
+Schisandr  0.10086  0.08369  0.09578  0.05655  0.07138  0.05484  0.10257  0.10377  0.09906  0.10152  0.11285  0.10379  0.10157  0.09890  0.09804  0.09022  0.10312  0.10014  0.08098  0.10952  0.09642  0.09026  0.09781  0.09775  0.10444  0.10086  0.06823  0.08344  0.09502  0.09918  0.09372  0.10054  0.10611  0.10055  0.08519  0.09896  0.10212  0.09940  0.10785  0.08393  0.10300  0.08255	 0.09237  0.08801  0.09471  0.10210  0.09698  0.08314  0.07834	0.08598  0.07094  0.07171  0.09934  0.100 [...]
+Illicium   0.10515  0.08512  0.10230  0.06352  0.07062  0.06181  0.10691  0.10807  0.09840  0.10237  0.11456  0.10917  0.10515  0.09961  0.10305  0.09483  0.10625  0.10443  0.08456  0.11022  0.10410  0.09642  0.09945  0.10546  0.10596  0.10515  0.07183  0.08341  0.09816  0.10004  0.09152  0.09607  0.10249  0.10197  0.08979  0.09972  0.10375  0.09726  0.10799  0.09162  0.10658  0.08688	 0.09682  0.09111  0.10006  0.10643  0.10007  0.08819  0.08121	0.09059  0.07239  0.07347  0.09942  0.102 [...]
+Austrobai  0.10229  0.08798  0.10090  0.06105  0.07440  0.06263  0.10475  0.10520  0.10138  0.10457  0.11821  0.10908  0.11016  0.10319  0.10591  0.09174  0.10688  0.10730  0.08600  0.11495  0.10254  0.09486  0.10092  0.09952  0.11127  0.10658  0.06971  0.08638  0.09655  0.10300  0.09450  0.10288  0.10697  0.10845  0.08818  0.10409  0.10823  0.10398  0.11173  0.09011  0.10372  0.08829	 0.09687  0.08873  0.09929  0.10349  0.10081  0.08748  0.08192	0.08982  0.07741  0.07783  0.10010  0.102 [...]
+Piper      0.11230  0.11087  0.11253  0.09177  0.08130  0.09255  0.11278  0.11667  0.11890  0.12272  0.12211  0.11667  0.11946  0.10964  0.11521  0.10465  0.12589  0.11445  0.10032  0.11500  0.11408  0.10785  0.11396  0.10787  0.11208  0.11445  0.09438  0.10091  0.11028  0.11589  0.10894  0.10988  0.11609  0.11484  0.11102  0.10768  0.11356  0.11390  0.11632  0.11210  0.12732  0.10625	 0.11269  0.10766  0.11141  0.11871  0.11817  0.11136  0.10418	0.11049  0.09892  0.09827  0.11152  0.120 [...]
+Lactoris   0.09573  0.08885  0.08684  0.08312  0.08873  0.08397  0.09742  0.09996  0.09261  0.09123  0.11307  0.09798  0.09382  0.08993  0.08734  0.08727  0.09273  0.09237  0.07419  0.09983  0.09058  0.08965  0.09267  0.10179  0.09925  0.09069  0.07087  0.07781  0.08668  0.09437  0.08631  0.09351  0.09080  0.09603  0.08482  0.09258  0.09446  0.09375  0.10372  0.08126  0.08881  0.08153	 0.08213  0.07202  0.08455  0.09115  0.09309  0.08045  0.07827	0.08326  0.06954  0.07236  0.09200  0.094 [...]
+Peperomia  0.11731  0.11516  0.11541  0.09780  0.09204  0.09941  0.11787  0.12168  0.12867  0.13027  0.12209  0.12581  0.12089  0.11106  0.11879  0.10924  0.12974  0.11874  0.10175  0.12156  0.11411  0.11321  0.11940  0.11207  0.11429  0.11373  0.09872  0.10815  0.11336  0.11825  0.11201  0.11678  0.11987  0.11773  0.11411  0.11128  0.11964  0.11844  0.12164  0.11670  0.12876  0.11199	 0.11853  0.11147  0.11221  0.12304  0.12350  0.11062  0.10994	0.11277  0.10178  0.10261  0.12061  0.123 [...]
+Houttuyni  0.09151  0.08808  0.09648  0.07464  0.07315  0.07634  0.09658  0.09749  0.09243  0.09630  0.10817  0.10237  0.09909  0.09176  0.09424  0.09262  0.10795  0.09833  0.08275  0.09619  0.10134  0.09142  0.09704  0.11029  0.10264  0.10352  0.06833  0.08461  0.09479  0.09792  0.09158  0.09151  0.09244  0.09945  0.09462  0.09948  0.09602  0.09727  0.10091  0.09002  0.09557  0.08838	 0.09330  0.08255  0.09608  0.09707  0.09383  0.08565  0.08171	0.09311  0.07545  0.07936  0.09165  0.097 [...]
+Aristoloc  0.10378  0.09304  0.10104  0.07977  0.07687  0.07789  0.10271  0.10743  0.10597  0.10757  0.11673  0.11140  0.10449  0.09674  0.10528  0.09403  0.11147  0.10521  0.08676  0.10619  0.10563  0.09639  0.10165  0.09614  0.10529  0.09877  0.07270  0.09013  0.10037  0.10375  0.09456  0.09382  0.10548  0.09774  0.09136  0.09833  0.09918  0.10328  0.10263  0.09161  0.10234  0.09270	 0.09085  0.09339  0.09557  0.10790  0.10609  0.09549  0.08627	0.08985  0.07744  0.07799  0.10616  0.107 [...]
+Saruma     0.09585  0.08655  0.09070  0.06241  0.07270  0.06236  0.09382  0.09807  0.09392  0.09644  0.11085  0.09867  0.09800  0.08886  0.09303  0.08431  0.09874  0.09442  0.07309  0.10034  0.08970  0.08582  0.09100  0.09132  0.09822  0.09156  0.06240  0.07548  0.08607  0.09486  0.08398  0.09313  0.09579  0.09409  0.08007  0.09396  0.09405  0.09203  0.09901  0.07653  0.08941  0.07968	 0.08784  0.08588  0.09719  0.09622  0.09341  0.07875  0.07832	0.08153  0.06664  0.06665  0.09496  0.092 [...]
+Hedyosmum  0.09943  0.08941  0.09142  0.07227  0.06823  0.07152  0.09748  0.09948  0.09784  0.09734  0.10806  0.09890  0.09514  0.08957  0.09160  0.08447  0.09740  0.09371  0.07452  0.09770  0.09058  0.08443  0.08896  0.09434  0.09751  0.08727  0.06093  0.08052  0.08627  0.09121  0.08418  0.09330  0.09818  0.09337  0.08175  0.08813  0.09421  0.09146  0.09610  0.07973  0.09371  0.07682	 0.08566  0.08076  0.08975  0.09916  0.09501  0.07946  0.07974	0.08549  0.06807  0.06664  0.09211  0.093 [...]
+Chloranth  0.09442  0.07940  0.08784  0.06255  0.06359  0.06084  0.09463  0.09448  0.09237  0.09555  0.10922  0.09560  0.09442  0.08600  0.09161  0.08124  0.09860  0.09227  0.07095  0.09927  0.09036  0.08200  0.08940  0.09240  0.09759  0.09227  0.05446  0.07550  0.09051  0.09318  0.08688  0.09380  0.09713  0.09338  0.07770  0.08746  0.09315  0.09040  0.09582  0.07801  0.09156  0.07326	 0.08711  0.08125  0.08952  0.09406  0.09472  0.07881  0.07473	0.08531  0.06666  0.06573  0.09185  0.093 [...]
+Sarcandra  0.09143  0.08002  0.09375  0.06750  0.07356  0.06752  0.09749  0.09451  0.09556  0.09496  0.10531  0.09488  0.09600  0.09163  0.08778  0.07893  0.09578  0.09141  0.07339  0.10308  0.08942  0.07950  0.08527  0.09576  0.10295  0.09374  0.05822  0.07780  0.08805  0.09325  0.08642  0.09695  0.09744  0.09331  0.07596  0.09098  0.09405  0.08956  0.09689  0.08108  0.08984  0.07583	 0.08191  0.07500  0.08459  0.09329  0.09464  0.08249  0.07285	0.08329  0.06736  0.06748  0.08935  0.095 [...]
+Sabia      0.08584  0.07940  0.08425  0.07953  0.09206  0.07779  0.08584  0.08660  0.08186  0.08290  0.09953  0.08972  0.08870  0.08027  0.08659  0.07075  0.08964  0.08798  0.06450  0.09344  0.08058  0.07449  0.08046  0.08671  0.09459  0.08512  0.05517  0.06971  0.07702  0.08276  0.07490  0.08013  0.08667  0.08907  0.07030  0.08454  0.08647  0.07698  0.08830  0.06680  0.08727  0.07035	 0.07605  0.06329  0.07607  0.08909  0.08509  0.07295  0.06822	0.06863  0.05880  0.05226  0.08592  0.083 [...]
+Akebia     0.08155  0.08298  0.07690  0.07806  0.08336  0.08134  0.08215  0.08660  0.08404  0.08131  0.10018  0.08959  0.08655  0.07740  0.07871  0.06992  0.08285  0.08584  0.06664  0.08785  0.07598  0.07135  0.07415  0.07807  0.09292  0.08155  0.05442  0.06817  0.07243  0.07969  0.07637  0.07540  0.08058  0.08327  0.06717  0.07808  0.08419  0.07611  0.08903  0.06977  0.08798  0.07179	 0.07663  0.07150  0.07228  0.09482  0.08203  0.07229  0.06610	0.07234  0.06166  0.06319  0.08206  0.079 [...]
+Euptelea   0.07725  0.07511  0.07691  0.06702  0.07570  0.06524  0.08067  0.07874  0.07578  0.07908  0.09423  0.08360  0.08369  0.07453  0.07585  0.06245  0.08365  0.08298  0.05518  0.08512  0.06992  0.06380  0.06963  0.07614  0.08468  0.07725  0.04933  0.06166  0.06871  0.07825  0.07111  0.07239  0.07988  0.07967  0.05890  0.07158  0.07595  0.06860  0.08379  0.06217  0.08226  0.06316	 0.06685  0.06176  0.06549  0.08690  0.07901  0.06655  0.05892	0.06176  0.04876  0.04696  0.08134  0.078 [...]
+Mahonia    0.09035  0.08249  0.08079  0.08429  0.07606  0.08163  0.08970  0.09184  0.08660  0.08759  0.09896  0.09068  0.08750  0.07899  0.08180  0.07548  0.08694  0.08682  0.06472  0.09552  0.08007  0.07691  0.07754  0.08421  0.09103  0.08175  0.06045  0.06994  0.07801  0.08448  0.07895  0.08121  0.08616  0.08569  0.07345  0.08052  0.08744  0.08085  0.09004  0.07462  0.08540  0.06337	 0.07747  0.07174  0.07919  0.09143  0.08754  0.07545  0.06631	0.07492  0.06043  0.05921  0.08538  0.090 [...]
+Caulophyl  0.08028  0.09026  0.07923  0.08567  0.08061  0.08567  0.09226  0.08199  0.08243  0.08558  0.09834  0.08778  0.08864  0.08039  0.07876  0.07160  0.08979  0.08364  0.06546  0.09597  0.08126  0.07295  0.08087  0.09064  0.09312  0.08281  0.06389  0.07494  0.07642  0.08520  0.08526  0.08160  0.08715  0.08823  0.07266  0.08133  0.09329  0.08362  0.09898  0.07381  0.07744  0.06682	 0.07766  0.06713  0.07532  0.08738  0.09007  0.07094  0.06875	0.07470  0.06420  0.06681  0.08876  0.095 [...]
+Ranunculu  0.08892  0.09555  0.08710  0.09330  0.08433  0.09245  0.09671  0.09651  0.08904  0.09311  0.09854  0.09172  0.09571  0.08396  0.07963  0.07814  0.08550  0.08882  0.07412  0.10076  0.08514  0.08046  0.08458  0.09319  0.09584  0.08986  0.07420  0.07515  0.07670  0.08723  0.08288  0.08473  0.09095  0.09436  0.07751  0.08309  0.08993  0.08838  0.09482  0.08496  0.08352  0.08141	 0.08311  0.07283  0.07829  0.09531  0.09123  0.08212  0.07997	0.07479  0.07120  0.07330  0.09352  0.097 [...]
+Caltha     0.09227  0.08941  0.09139  0.08700  0.08322  0.08355  0.09593  0.09661  0.09396  0.09269  0.10560  0.09501  0.09728  0.08521  0.08443  0.07758  0.08750  0.09156  0.06521  0.10097  0.07989  0.08134  0.08729  0.08433  0.09202  0.08798  0.06744  0.07904  0.07556  0.08810  0.08548  0.08549  0.09124  0.09045  0.07335  0.08162  0.09482  0.08603  0.09893  0.07894  0.08798  0.07250	 0.07946  0.07161  0.07237  0.10061  0.08360  0.07151  0.07111	0.06865  0.06379  0.06564  0.08896  0.092 [...]
+Xanthorhi  0.09657  0.09585  0.08850  0.08809  0.08576  0.08629  0.09308  0.09806  0.09626  0.09652  0.10346  0.09278  0.09442  0.08455  0.08872  0.08215  0.09508  0.09299  0.07165  0.10163  0.08675  0.08820  0.09037  0.08892  0.09365  0.09227  0.06892  0.07834  0.08543  0.09421  0.09394  0.08942  0.10192  0.09978  0.08168  0.08959  0.09719  0.09367  0.10283  0.08352  0.08870  0.07897	 0.09071  0.08225  0.08224  0.10277  0.09647  0.08016  0.08047	0.07850  0.06953  0.06846  0.09654  0.098 [...]
+Dicentra   0.07887  0.08285  0.07363  0.07888  0.08778  0.07634  0.08478  0.08573  0.08664  0.08600  0.09498  0.08997  0.08387  0.07048  0.07396  0.06959  0.08677  0.08308  0.06851  0.08242  0.07811  0.07000  0.07778  0.08460  0.08824  0.07482  0.05233  0.07277  0.06968  0.08456  0.07116  0.08121  0.07661  0.08259  0.06882  0.07574  0.07930  0.08049  0.08495  0.07343  0.07798  0.06815	 0.07107  0.06773  0.07233  0.08433  0.07980  0.07627  0.06914	0.07699  0.06293  0.06710  0.07938  0.084 [...]
+Sanguinar  0.07725  0.07225  0.07398  0.06351  0.07112  0.06264  0.07997  0.08016  0.07735  0.08064  0.09194  0.08743  0.07868  0.07018  0.07514  0.06703  0.08666  0.08226  0.05446  0.08203  0.07603  0.06913  0.07350  0.07295  0.08312  0.07582  0.04644  0.06456  0.07401  0.08354  0.07190  0.07475  0.08064  0.07968  0.06497  0.07377  0.07972  0.07695  0.08304  0.06072  0.08011  0.06102	 0.06986  0.06703  0.06174  0.08394  0.08434  0.06505  0.06108	0.06477  0.04732  0.04709  0.08363  0.078 [...]
+Papaver    0.08125  0.09456  0.08034  0.08651  0.09124  0.08821  0.08735  0.08384  0.09215  0.08974  0.10046  0.09265  0.08383  0.07789  0.08072  0.07943  0.08780  0.09567  0.07509  0.08922  0.08087  0.07988  0.08241  0.08889  0.09343  0.08415  0.06657  0.07872  0.06979  0.08818  0.08132  0.08255  0.08205  0.08936  0.07955  0.08003  0.08830  0.08408  0.09593  0.07585  0.08126  0.07900	 0.08048  0.07214  0.07488  0.09450  0.08873  0.07787  0.07578	0.08319  0.07292  0.07444  0.08646  0.087 [...]
+Cocculus   0.08941  0.08083  0.07693  0.08294  0.08113  0.08123  0.09163  0.08661  0.08634  0.08583  0.10246  0.09037  0.09084  0.08026  0.07728  0.07295  0.08967  0.08011  0.06449  0.09354  0.07748  0.07438  0.07720  0.08635  0.08995  0.08298  0.05950  0.06892  0.07612  0.07742  0.07930  0.08151  0.08501  0.08112  0.06794  0.07731  0.08414  0.07984  0.08968  0.07203  0.08941  0.07107	 0.07650  0.07379  0.07901  0.09193  0.09099  0.06579  0.07113	0.07384  0.05807  0.06159  0.08653  0.083 [...]
+Trochoden  0.07797  0.07439  0.07840  0.07282  0.08185  0.07360  0.07858  0.07946  0.07291  0.08151  0.09520  0.08385  0.08083  0.07379  0.07800  0.06566  0.08532  0.07868  0.05731  0.08413  0.07914  0.06771  0.07358  0.07781  0.08762  0.07368  0.03995  0.06024  0.07483  0.08064  0.06895  0.07642  0.08451  0.08542  0.06362  0.07232  0.08210  0.07555  0.08542  0.06317  0.07582  0.06031	 0.07132  0.06112  0.07543  0.08247  0.08215  0.06863  0.06030	0.06939  0.05160  0.05648  0.08151  0.080 [...]
+Sargentod  0.10014  0.08298  0.09002  0.11102  0.09724  0.11182  0.10115  0.10164  0.11065  0.11003  0.10796  0.10256  0.10515  0.10174  0.09589  0.09265  0.10560  0.10587  0.08310  0.10120  0.10113  0.09414  0.09413  0.10244  0.10580  0.10229  0.07477  0.08347  0.08842  0.09871  0.09467  0.09703  0.10258  0.10197  0.09067  0.09538  0.10236  0.09285  0.11102  0.08731  0.10014  0.09547	 0.08777  0.08297  0.09645  0.10560  0.10469  0.09246  0.08477	0.09451  0.07669  0.07518  0.10404  0.102 [...]
+Coriaria   0.07940  0.06152  0.06894  0.08711  0.08266  0.09050  0.08079  0.08303  0.08349  0.08524  0.09436  0.08908  0.08011  0.07307  0.07729  0.06938  0.08371  0.08226  0.06018  0.07864  0.07914  0.07144  0.07657  0.08031  0.08461  0.07582  0.05227  0.06096  0.07405  0.08058  0.06893  0.08177  0.07840  0.08545  0.06885  0.07589  0.08879  0.08075  0.08761  0.06306  0.07940  0.06530	 0.06757  0.06637  0.07085  0.08172  0.07616  0.06713  0.06752	0.07164  0.05303  0.05890  0.07767  0.074 [...]
+Nelumbo    0.06364  0.06857  0.06354  0.06192  0.06625  0.05852  0.07140  0.06877  0.06928  0.07330  0.08445  0.07391  0.06788  0.05878  0.06210  0.05246  0.07684  0.06616  0.04979  0.07387  0.06463  0.05464  0.06428  0.07090  0.07216  0.06382  0.03703  0.05252  0.05536  0.07208  0.05675  0.06319  0.06579  0.07072  0.05526  0.06634  0.07208  0.06439  0.07420  0.05356  0.06015  0.05354	 0.05744  0.05059  0.06052  0.07227  0.06279  0.05410  0.05117	0.05958  0.04668  0.04895  0.06684  0.067 [...]
+Cercidiph  0.06666  0.06307  0.06760  0.06520  0.07430  0.06774  0.06635  0.07101  0.07144  0.07481  0.08612  0.07560  0.07026  0.06320  0.06095  0.05584  0.07180  0.07312  0.04379  0.07300  0.07087  0.05713  0.06289  0.06931  0.07258  0.06882  0.02836  0.04943  0.06051  0.06785  0.06219  0.07187  0.07327  0.07702  0.05378  0.06161  0.07539  0.06728  0.08019  0.04949  0.06308  0.04892	 0.05497  0.04910  0.05966  0.07466  0.06640  0.04701  0.04606	0.05575  0.03662  0.04272  0.06419  0.067 [...]
+Tetracent  0.07511  0.07153  0.07765  0.06957  0.07877  0.07034  0.07784  0.07802  0.07741  0.08146  0.09133  0.08153  0.07868  0.07093  0.07370  0.06186  0.08227  0.07582  0.05445  0.08018  0.07529  0.06236  0.06974  0.06929  0.08457  0.07153  0.04212  0.05804  0.07027  0.07682  0.06435  0.07487  0.07841  0.08258  0.06055  0.06723  0.07526  0.07171  0.08081  0.05700  0.07225  0.05672	 0.06683  0.05729  0.07237  0.07812  0.07832  0.06356  0.05599	0.06557  0.04587  0.04784  0.07767  0.077 [...]
+Platanus   0.07797  0.07082  0.07327  0.06763  0.06894  0.06337  0.07783  0.08088  0.08263  0.08214  0.09655  0.08369  0.07940  0.07018  0.07371  0.06251  0.08290  0.07940  0.05446  0.07861  0.07224  0.06537  0.07119  0.07121  0.08091  0.07153  0.04499  0.06385  0.06719  0.07525  0.06580  0.07094  0.07537  0.07253  0.06501  0.07232  0.07522  0.07167  0.07851  0.05844  0.07368  0.06030	 0.06460  0.06331  0.06854  0.08104  0.07911  0.05996  0.05677	0.06172  0.04801  0.04961  0.07765  0.077 [...]
+Daphniphy  0.07439  0.06652  0.07401  0.07123  0.07258  0.07378  0.07493  0.07731  0.06977  0.07393  0.08903  0.07693  0.07582  0.07094  0.07229  0.06175  0.08071  0.07868  0.05016  0.08531  0.07223  0.06383  0.06969  0.07526  0.08226  0.07511  0.03340  0.05730  0.06723  0.07154  0.06964  0.07555  0.07994  0.07828  0.05895  0.07159  0.07829  0.06944  0.08387  0.05243  0.07368  0.05312	 0.06088  0.05501  0.06707  0.07816  0.07229  0.05422  0.05170	0.06100  0.04086  0.04266  0.07161  0.071 [...]
+Altingia   0.07296  0.05937  0.06966  0.06870  0.07103  0.07209  0.07347  0.07874  0.07656  0.08292  0.08973  0.08143  0.07582  0.06807  0.06941  0.05951  0.08062  0.07725  0.04873  0.07874  0.07450  0.06232  0.06810  0.07438  0.07619  0.07010  0.02977  0.05731  0.06721  0.07450  0.06506  0.07633  0.07992  0.08043  0.06121  0.06942  0.07900  0.07318  0.08307  0.05389  0.06652  0.05456	 0.05563  0.05347  0.06627  0.07525  0.07304  0.05202  0.05242	0.06019  0.04015  0.04597  0.06933  0.071 [...]
+Liquidori  0.07366  0.05890  0.06810  0.06773  0.07178  0.07040  0.07424  0.07816  0.07742  0.08251  0.08712  0.08008  0.07515  0.06793  0.06786  0.05833  0.07612  0.07585  0.04636  0.07881  0.07287  0.06120  0.06806  0.07353  0.07481  0.07150  0.02622  0.05462  0.06632  0.07451  0.06552  0.07482  0.07854  0.07990  0.06080  0.06932  0.07753  0.07325  0.08260  0.05001  0.06399  0.05315	 0.05353  0.05201  0.06446  0.07516  0.07211  0.04983  0.05315	0.05967  0.04056  0.04394  0.06840  0.070 [...]
+Rhodoleia  0.07010  0.05651  0.06239  0.06338  0.06495  0.06593  0.07204  0.07444  0.07587  0.07844  0.08600  0.07394  0.06724  0.06090  0.06727  0.05500  0.07540  0.07296  0.04514  0.07611  0.06846  0.06006  0.06662  0.07177  0.07396  0.06652  0.02252  0.05006  0.06497  0.07079  0.06434  0.07104  0.07768  0.07827  0.05673  0.06652  0.07828  0.07094  0.07931  0.05244  0.06581  0.04739	 0.05038  0.04978  0.05801  0.06729  0.06708  0.04837  0.05242	0.05792  0.03941  0.04605  0.06337  0.068 [...]
+Hamamelis  0.06726  0.05797  0.06824  0.06694  0.06733  0.06948  0.06988  0.06946  0.06911  0.07245  0.08451  0.07549  0.06942  0.06236  0.06659  0.05730  0.07840  0.07085  0.04444  0.07627  0.07147  0.05930  0.06355  0.07182  0.07477  0.06870  0.02544  0.04935  0.06346  0.06778  0.06360  0.07104  0.07390  0.07543  0.05825  0.06581  0.07450  0.06643  0.07702  0.04788  0.06655  0.05026	 0.05336  0.04601  0.06103  0.07017  0.06780  0.05275  0.04812	0.05791  0.03225  0.03745  0.06560  0.063 [...]
+Celtis     0.09084  0.06509  0.07770  0.09871  0.09192  0.09702  0.09025  0.09304  0.08577  0.08833  0.09973  0.09067  0.08083  0.07806  0.08659  0.08222  0.09589  0.09156  0.06949  0.09447  0.08522  0.08059  0.08507  0.08862  0.09371  0.08655  0.06245  0.06899  0.08322  0.08672  0.08259  0.09026  0.08528  0.08618  0.07646  0.08525  0.09266  0.08237  0.09897  0.06305  0.09156  0.07105	 0.07653  0.07174  0.07998  0.09041  0.08971  0.07650  0.07324	0.07776  0.05875  0.05973  0.08908  0.086 [...]
+Myrica     0.08798  0.06509  0.07188  0.09221  0.08343  0.08879  0.08877  0.09162  0.09020  0.09344  0.09805  0.09045  0.08727  0.08168  0.09160  0.07758  0.09801  0.08941  0.06592  0.09780  0.08441  0.07976  0.08259  0.08805  0.09302  0.08798  0.05299  0.07042  0.08463  0.08737  0.08477  0.08855  0.09275  0.09479  0.07406  0.08312  0.09557  0.08598  0.09967  0.06982  0.08870  0.06819	 0.07058  0.07160  0.07686  0.07815  0.08885  0.07301  0.07038	0.08003  0.06237  0.06240  0.09047  0.086 [...]
+Betula     0.09084  0.06080  0.07043  0.08962  0.08126  0.08618  0.08949  0.09448  0.08948  0.08975  0.10117  0.09276  0.08727  0.07954  0.08301  0.07460  0.08893  0.08870  0.06664  0.09034  0.08446  0.07603  0.07806  0.08471  0.08699  0.08441  0.05663  0.07260  0.07938  0.07831  0.07876  0.08480  0.08903  0.08977  0.07487  0.08385  0.08810  0.08077  0.09369  0.06829  0.08870  0.07178	 0.06830  0.06789  0.07311  0.08031  0.09114  0.07010  0.06750	0.07472  0.06091  0.06244  0.09050  0.086 [...]
+Carya      0.08655  0.05794  0.07116  0.08790  0.08190  0.08445  0.08659  0.08876  0.08569  0.08895  0.09881  0.09198  0.08512  0.07595  0.08659  0.07456  0.09346  0.08655  0.06950  0.08878  0.08669  0.07600  0.07950  0.08470  0.08847  0.08441  0.05155  0.06823  0.08155  0.08205  0.07643  0.08015  0.08592  0.09049  0.07334  0.08022  0.09103  0.08221  0.09211  0.06754  0.08870  0.07034	 0.07290  0.07158  0.07685  0.08322  0.08658  0.07083  0.07037	0.07696  0.06094  0.06495  0.08742  0.084 [...]
+Casuarina  0.09299  0.06438  0.07915  0.09625  0.09038  0.09454  0.09461  0.09663  0.10159  0.09802  0.10340  0.09654  0.08941  0.08670  0.09518  0.08666  0.10100  0.10014  0.07308  0.09776  0.09282  0.08663  0.09037  0.09226  0.09299  0.09800  0.06318  0.07770  0.09222  0.08964  0.09391  0.09477  0.09808  0.09623  0.08092  0.09035  0.09488  0.09133  0.10350  0.07591  0.09585  0.07680	 0.07202  0.07618  0.07764  0.08534  0.09492  0.07441  0.07182	0.08310  0.06521  0.06668  0.09804  0.090 [...]
+Chrysolep  0.09514  0.06724  0.08059  0.09953  0.09097  0.09693  0.09460  0.09878  0.09927  0.10095  0.11239  0.10622  0.09871  0.08958  0.09519  0.08506  0.10087  0.09514  0.07452  0.09534  0.09576  0.08736  0.09107  0.09465  0.09665  0.09442  0.06171  0.07913  0.08683  0.09254  0.08771  0.09844  0.09950  0.10055  0.08310  0.08752  0.10004  0.09502  0.10039  0.07810  0.09585  0.08112	 0.07588  0.08058  0.08808  0.08826  0.10015  0.08093  0.07612	0.08540  0.07241  0.07765  0.09801  0.095 [...]
+Trigonoba  0.09514  0.06867  0.08277  0.09532  0.08791  0.09274  0.09459  0.09878  0.09929  0.10100  0.11319  0.10779  0.10086  0.08886  0.09734  0.08660  0.10245  0.09585  0.07166  0.09863  0.09808  0.08820  0.09345  0.09633  0.09741  0.09371  0.06244  0.08130  0.08913  0.09483  0.08856  0.10001  0.09879  0.10271  0.08466  0.09041  0.10158  0.09581  0.10269  0.07517  0.09514  0.08040	 0.07744  0.08211  0.08810  0.08609  0.10243  0.08092  0.07612	0.08544  0.07098  0.07344  0.09879  0.096 [...]
+NothofBal  0.09424  0.07301  0.08255  0.09903  0.09498  0.09384  0.10153  0.09796  0.09373  0.09778  0.10785  0.10001  0.09571  0.08486  0.09279  0.08294  0.09841  0.08911  0.07596  0.09815  0.09470  0.08369  0.08828  0.09405  0.09381  0.08982  0.06794  0.07959  0.08553  0.09525  0.08265  0.09122  0.09706  0.09891  0.07556  0.08859  0.09992  0.09319  0.09875  0.08286  0.08898  0.07979	 0.07681  0.08074  0.08540  0.09005  0.09595  0.08102  0.07984	0.08485  0.07016  0.07176  0.09544  0.096 [...]
+NothoDom   0.08941  0.06795  0.07177  0.09460  0.09237  0.08940  0.09237  0.09305  0.08486  0.09188  0.10708  0.09569  0.08941  0.08026  0.08803  0.07902  0.09641  0.08584  0.06736  0.08944  0.08970  0.08050  0.08498  0.08545  0.08674  0.08369  0.06020  0.07251  0.08303  0.08950  0.07792  0.08542  0.09344  0.09482  0.07325  0.08247  0.09173  0.08822  0.09358  0.07129  0.08441  0.07111	 0.07451  0.07528  0.07833  0.08317  0.09035  0.07220  0.07469	0.07778  0.06238  0.06302  0.09344  0.089 [...]
+FagusAm    0.08133  0.06165  0.07194  0.09406  0.08568  0.08978  0.08452  0.08294  0.07925  0.08625  0.09245  0.08753  0.08371  0.07520  0.07599  0.07108  0.08513  0.08054  0.06008  0.08738  0.08194  0.07066  0.07503  0.08642  0.08690  0.07979  0.05629  0.06869  0.07140  0.07756  0.07461  0.08149  0.08529  0.08711  0.07545  0.07839  0.08834  0.07945  0.08784  0.06391  0.08044  0.06889	 0.06671  0.06282  0.07442  0.08084  0.08409  0.06953  0.06342	0.07214  0.05470  0.05820  0.08426  0.078 [...]
+Humulus    0.09156  0.07225  0.07979  0.09704  0.09114  0.09535  0.09388  0.09590  0.09031  0.08908  0.10358  0.08992  0.08226  0.07807  0.08801  0.08150  0.09745  0.09227  0.07162  0.09360  0.08979  0.08134  0.08813  0.08942  0.08763  0.08369  0.06675  0.07544  0.07871  0.08451  0.08261  0.08882  0.08684  0.09120  0.07647  0.08891  0.09347  0.08541  0.09827  0.06769  0.09084  0.07028	 0.07646  0.07857  0.08455  0.08893  0.08905  0.07716  0.07826	0.07925  0.06447  0.07180  0.08760  0.088 [...]
+Boehmeria  0.09442  0.07010  0.08568  0.09877  0.09194  0.09791  0.09316  0.09733  0.09697  0.09947  0.10716  0.10104  0.09299  0.09025  0.09447  0.08811  0.10403  0.09299  0.07666  0.10052  0.09883  0.08885  0.09261  0.09467  0.09819  0.09371  0.07115  0.08203  0.09672  0.08813  0.08632  0.09852  0.09727  0.10343  0.08614  0.09314  0.10081  0.09585  0.10415  0.07580  0.10300  0.07967	 0.08416  0.08594  0.08887  0.08756  0.09490  0.08448  0.08261	0.08383  0.07311  0.07338  0.09427  0.092 [...]
+Pachysand  0.07590  0.06886  0.07754  0.07257  0.08037  0.07168  0.08127  0.08055  0.07760  0.07872  0.09291  0.08335  0.07829  0.07378  0.07521  0.06750  0.08901  0.07812  0.05973  0.08152  0.07294  0.06790  0.07284  0.07717  0.09267  0.07292  0.04905  0.06274  0.06940  0.08020  0.06542  0.07750  0.07481  0.07766  0.06613  0.07366  0.07778  0.07247  0.08609  0.06305  0.07267  0.05839	 0.06462  0.05879  0.07152  0.07979  0.07520  0.06660  0.06212	0.07067  0.04755  0.05474  0.07784  0.077 [...]
+Ficustrig  0.08201  0.07214  0.07435  0.10010  0.09201  0.10002  0.08338  0.08665  0.08411  0.08509  0.09831  0.10049  0.09520  0.08354  0.08115  0.07470  0.10035  0.08078  0.07975  0.08629  0.09420  0.07502  0.08253  0.08483  0.08989  0.07555  0.06959  0.07399  0.07916  0.08242  0.07009  0.07803  0.08661  0.09434  0.07251  0.08006  0.08908  0.08381  0.08698  0.08203  0.09230  0.08384	 0.07529  0.07581  0.08573  0.08541  0.09118  0.08766  0.08615	0.08711  0.07566  0.07659  0.08596  0.086 [...]
+Trema      0.09227  0.06438  0.08279  0.09458  0.08658  0.09288  0.09755  0.09733  0.09258  0.09433  0.10421  0.09893  0.09013  0.08450  0.09446  0.08298  0.10189  0.09442  0.07738  0.09691  0.09359  0.08366  0.09045  0.08602  0.09594  0.08941  0.06318  0.07697  0.09001  0.08972  0.08332  0.09329  0.09360  0.09769  0.08176  0.08811  0.09641  0.09293  0.10051  0.07367  0.09800  0.07392	 0.08180  0.08229  0.08750  0.09113  0.09575  0.08300  0.08113	0.08087  0.06808  0.07163  0.08985  0.093 [...]
+Photinia   0.08273  0.07407  0.07771  0.10141  0.09964  0.10218  0.08444  0.08425  0.08484  0.08818  0.09876  0.09500  0.09076  0.08427  0.09006  0.08262  0.10350  0.09296  0.06898  0.09771  0.08958  0.08325  0.08246  0.09482  0.09533  0.08710  0.06391  0.07625  0.08293  0.09031  0.08388  0.09108  0.09044  0.09029  0.08059  0.08584  0.09642  0.08358  0.09979  0.07397  0.08707  0.07713	 0.07691  0.07280  0.08732  0.08809  0.09085  0.07393  0.07213	0.08282  0.06318  0.06501  0.09110  0.089 [...]
+Geum       0.08783  0.07987  0.08134  0.10581  0.10193  0.10744  0.09170  0.08935  0.09017  0.09652  0.09662  0.09962  0.09440  0.08794  0.08934  0.08344  0.09894  0.09152  0.07406  0.09597  0.09121  0.08718  0.08636  0.09640  0.09680  0.09002  0.07190  0.07988  0.08608  0.09412  0.08769  0.09726  0.09276  0.09323  0.08602  0.08949  0.09714  0.08973  0.10288  0.08086  0.08782  0.08515	 0.07767  0.07588  0.08427  0.09468  0.09094  0.08205  0.07651	0.08744  0.07047  0.07086  0.09195  0.092 [...]
+Prunus     0.08055  0.06463  0.07480  0.09824  0.09430  0.09819  0.08516  0.08207  0.08017  0.08507  0.09563  0.09266  0.08785  0.07991  0.08062  0.07647  0.09354  0.08643  0.06389  0.08677  0.08420  0.07708  0.07533  0.08719  0.08779  0.08419  0.06100  0.06972  0.07526  0.08489  0.07926  0.08182  0.08583  0.08446  0.07523  0.08069  0.08798  0.08124  0.09286  0.06931  0.08126  0.07205	 0.07239  0.06817  0.07889  0.08517  0.08321  0.06591  0.06776	0.07350  0.05737  0.06162  0.08342  0.082 [...]
+Morus      0.09112  0.07825  0.08504  0.10668  0.09955  0.10413  0.09382  0.09357  0.09086  0.08579  0.10488  0.09522  0.08856  0.08531  0.08464  0.08086  0.10276  0.09031  0.07959  0.09412  0.09067  0.08025  0.08272  0.09240  0.09225  0.08027  0.07465  0.07813  0.08198  0.08608  0.08001  0.08841  0.08619  0.09230  0.07553  0.08900  0.09254  0.08637  0.09921  0.07292  0.09457  0.08116	 0.08283  0.07259  0.09092  0.08585  0.09195  0.08517  0.07696	0.08202  0.06893  0.07234  0.08821  0.088 [...]
+Clavija    0.08655  0.07725  0.08490  0.09835  0.09105  0.09820  0.08223  0.08874  0.08712  0.08743  0.09428  0.08439  0.08369  0.07808  0.08088  0.06848  0.08742  0.08441  0.06663  0.09037  0.07520  0.06525  0.07040  0.08483  0.08768  0.08512  0.05953  0.06532  0.06944  0.07298  0.07801  0.07944  0.08293  0.08113  0.06418  0.07375  0.07825  0.07242  0.08535  0.06375  0.07797  0.06389	 0.07061  0.06632  0.07608  0.08540  0.08434  0.06938  0.07041	0.07385  0.05878  0.06154  0.08514  0.083 [...]
+Anagallis  0.09084  0.08584  0.09002  0.10816  0.09499  0.10977  0.09026  0.09233  0.10095  0.10490  0.10724  0.09660  0.09442  0.08381  0.09517  0.08151  0.10122  0.09299  0.07593  0.09665  0.08985  0.08136  0.08668  0.09219  0.09448  0.08941  0.07914  0.08129  0.08402  0.08676  0.08950  0.09112  0.09291  0.09549  0.08555  0.09107  0.09272  0.08995  0.09530  0.07524  0.09299  0.07395	 0.08026  0.07854  0.08149  0.09329  0.09357  0.08445  0.08186	0.08234  0.07309  0.07772  0.08836  0.091 [...]
+Symplocus  0.07797  0.06938  0.08497  0.09667  0.08734  0.09746  0.07496  0.07873  0.08274  0.07778  0.09366  0.08533  0.07654  0.07447  0.07300  0.06787  0.08151  0.08441  0.06233  0.08277  0.07459  0.06389  0.07051  0.07695  0.08316  0.07797  0.05665  0.06027  0.07034  0.07311  0.07194  0.07571  0.07621  0.07971  0.06664  0.07737  0.08060  0.07329  0.08464  0.06085  0.07582  0.06314	 0.06680  0.06269  0.07774  0.08317  0.08066  0.06138  0.06101	0.06791  0.05231  0.05483  0.07622  0.076 [...]
+Styrax     0.07797  0.07439  0.08130  0.08962  0.08044  0.09041  0.07424  0.08016  0.07745  0.08375  0.09440  0.08231  0.07439  0.07306  0.07371  0.06638  0.08757  0.07940  0.05587  0.08192  0.07302  0.06535  0.07048  0.07523  0.07787  0.07511  0.05230  0.05805  0.06806  0.07464  0.07652  0.07493  0.08148  0.07610  0.06508  0.07445  0.08059  0.07253  0.08765  0.05705  0.07439  0.06031	 0.06593  0.05816  0.07316  0.08095  0.07539  0.05847  0.06178	0.06854  0.04728  0.05386  0.07847  0.077 [...]
+Manilkara  0.07082  0.06295  0.07984  0.08486  0.07204  0.08647  0.07422  0.07299  0.07884  0.07762  0.08824  0.08147  0.07368  0.06447  0.06870  0.05878  0.08218  0.07439  0.05373  0.07634  0.06916  0.05772  0.06427  0.07028  0.07330  0.07296  0.04648  0.05803  0.06344  0.06623  0.06741  0.07028  0.07164  0.07324  0.06122  0.06868  0.07073  0.06791  0.07778  0.05390  0.06581  0.05311	 0.06153  0.05427  0.06702  0.07883  0.06929  0.04910  0.05387	0.05782  0.04228  0.04868  0.06934  0.068 [...]
+Chrysophy  0.07082  0.06509  0.07985  0.08572  0.07358  0.08733  0.07276  0.07300  0.07811  0.07840  0.08597  0.08072  0.07296  0.06303  0.06656  0.05652  0.08067  0.07368  0.05301  0.07627  0.06766  0.05546  0.06200  0.07025  0.07105  0.06938  0.04646  0.05586  0.06195  0.06472  0.06590  0.06723  0.06938  0.07109  0.05747  0.06868  0.07300  0.06565  0.07704  0.05544  0.06938  0.05383	 0.06002  0.05356  0.06479  0.07955  0.06855  0.05128  0.05315	0.05632  0.04300  0.04701  0.06936  0.065 [...]
+Camellia   0.06867  0.06295  0.07479  0.08324  0.07821  0.08318  0.06766  0.07229  0.06902  0.07315  0.08826  0.07619  0.06581  0.06159  0.06727  0.05875  0.07613  0.07654  0.04872  0.07545  0.06614  0.05774  0.06048  0.06945  0.07488  0.07082  0.04501  0.05080  0.06194  0.06696  0.06738  0.06718  0.07237  0.07396  0.05821  0.06797  0.07301  0.06414  0.08081  0.05241  0.06795  0.05240	 0.05854  0.05053  0.06558  0.07668  0.06778  0.05202  0.04955	0.05789  0.03798  0.04104  0.06783  0.065 [...]
+Impatiens  0.08441  0.07797  0.08566  0.08826  0.09041  0.08480  0.08221  0.09089  0.08403  0.08504  0.10389  0.09329  0.08584  0.07811  0.08089  0.07289  0.08506  0.08512  0.06879  0.08639  0.08350  0.07207  0.07792  0.08146  0.08693  0.07797  0.05806  0.07039  0.07690  0.08108  0.07332  0.08529  0.08806  0.08618  0.06939  0.08097  0.08633  0.08211  0.08965  0.07269  0.08727  0.07251	 0.07289  0.07223  0.07749  0.08606  0.09020  0.07084  0.06898	0.07305  0.06023  0.06139  0.08652  0.082 [...]
+Diospyros  0.07225  0.06366  0.07332  0.08801  0.07665  0.08711  0.07059  0.07444  0.07962  0.07693  0.08603  0.07774  0.06867  0.06374  0.06727  0.06105  0.07923  0.07511  0.05230  0.07618  0.06540  0.05927  0.06201  0.07272  0.07937  0.07225  0.05085  0.05732  0.06044  0.06553  0.06591  0.07109  0.07089  0.07611  0.05974  0.07013  0.07305  0.06343  0.08160  0.05094  0.07153  0.05670	 0.05926  0.05508  0.06413  0.07595  0.06256  0.05054  0.05603	0.05637  0.04372  0.04613  0.06711  0.062 [...]
+Ardisia    0.08298  0.08727  0.08856  0.09744  0.09040  0.09985  0.08222  0.08588  0.09327  0.09499  0.09503  0.09123  0.08584  0.07807  0.09016  0.07687  0.09355  0.08798  0.07666  0.09362  0.08362  0.07446  0.08039  0.08874  0.09073  0.08369  0.07113  0.07038  0.07559  0.08286  0.08182  0.08101  0.09128  0.09262  0.08091  0.08745  0.08959  0.08381  0.09443  0.07137  0.08798  0.07395	 0.07665  0.06788  0.08287  0.09326  0.08442  0.08087  0.07613	0.07775  0.07024  0.06908  0.08671  0.089 [...]
+Cassiope   0.09013  0.08083  0.09295  0.09916  0.09043  0.09829  0.09243  0.09160  0.09175  0.09721  0.10714  0.09653  0.08941  0.08164  0.08516  0.07689  0.08977  0.09227  0.06878  0.09191  0.08671  0.07751  0.08186  0.08217  0.08994  0.08655  0.06680  0.07623  0.07862  0.08283  0.08480  0.08711  0.09201  0.09694  0.07489  0.08602  0.09407  0.08456  0.09441  0.06907  0.08512  0.07104	 0.07810  0.07316  0.07913  0.09038  0.08895  0.07149  0.07395	0.07692  0.06523  0.06326  0.08746  0.086 [...]
+Chamaedap  0.08655  0.08655  0.09730  0.09996  0.09582  0.10158  0.09171  0.08946  0.09782  0.09581  0.10416  0.09883  0.09084  0.08165  0.08805  0.07919  0.09809  0.09299  0.07021  0.09436  0.08827  0.07984  0.08744  0.08223  0.09146  0.09227  0.06461  0.08059  0.08391  0.09039  0.08946  0.09328  0.09584  0.09837  0.08018  0.08603  0.09414  0.08763  0.09898  0.07517  0.09013  0.07537	 0.07951  0.07166  0.08218  0.09182  0.08893  0.07153  0.07255	0.07390  0.06523  0.06169  0.08977  0.086 [...]
+Gaultheri  0.09285  0.08286  0.09707  0.10054  0.09182  0.10260  0.09545  0.09524  0.09739  0.10191  0.10425  0.09604  0.09124  0.08506  0.09076  0.08370  0.09945  0.09830  0.07496  0.09622  0.09096  0.08276  0.09286  0.09030  0.09627  0.09849  0.06596  0.08409  0.08566  0.09342  0.09242  0.09674  0.09945  0.10357  0.08380  0.09097  0.09660  0.09208  0.10054  0.08044  0.09344  0.07907	 0.08074  0.07521  0.08266  0.09444  0.09145  0.07072  0.07737	0.08008  0.06789  0.06523  0.09264  0.087 [...]
+Pentachon  0.09800  0.09585  0.11111  0.10761  0.10724  0.11099  0.10117  0.09876  0.10920  0.11160  0.11096  0.10712  0.09871  0.09167  0.09949  0.09278  0.10493  0.10730  0.08526  0.10586  0.10200  0.09580  0.10130  0.08810  0.10199  0.10229  0.08060  0.08931  0.09304  0.09948  0.10081  0.10477  0.10643  0.10772  0.09232  0.10050  0.10618  0.10198  0.11032  0.09032  0.10372  0.08755	 0.08788  0.08827  0.09351  0.10415  0.10103  0.08811  0.08620	0.08848  0.07886  0.07962  0.10032  0.099 [...]
+Daboecia   0.09227  0.08727  0.09802  0.10500  0.09955  0.10665  0.09680  0.09518  0.09249  0.09651  0.10564  0.09728  0.09156  0.08451  0.08805  0.08366  0.09731  0.09371  0.07810  0.09773  0.09127  0.08434  0.09123  0.08568  0.09669  0.09728  0.06752  0.08494  0.08387  0.08662  0.09170  0.09479  0.09659  0.09909  0.08166  0.08893  0.09484  0.09211  0.09971  0.07589  0.09227  0.07824	 0.08259  0.07543  0.08066  0.09835  0.09198  0.07803  0.07902	0.07847  0.06953  0.06845  0.09126  0.088 [...]
+Pyrola     0.08584  0.08584  0.10313  0.10604  0.10200  0.10601  0.09096  0.08946  0.09475  0.09346  0.10937  0.10100  0.09013  0.08523  0.08876  0.08209  0.09425  0.09442  0.07809  0.09339  0.09129  0.07752  0.08805  0.08387  0.09525  0.09371  0.07478  0.07771  0.08313  0.08658  0.08854  0.09317  0.09727  0.10054  0.08160  0.09040  0.09482  0.08532  0.10120  0.08132  0.09728  0.08253	 0.08247  0.07996  0.09349  0.09620  0.09491  0.07731  0.08044	0.08236  0.07239  0.06851  0.09722  0.092 [...]
+Befaria    0.08870  0.08512  0.10021  0.10161  0.09278  0.09900  0.09170  0.09231  0.09482  0.09577  0.10796  0.10032  0.09156  0.08666  0.08660  0.08220  0.09583  0.09585  0.06949  0.09934  0.09129  0.08135  0.09046  0.08643  0.09377  0.09084  0.06825  0.07987  0.08694  0.08888  0.09096  0.09712  0.09734  0.09908  0.08171  0.08893  0.09563  0.09063  0.10201  0.07366  0.08512  0.07106	 0.08248  0.07847  0.08371  0.09614  0.09424  0.06860  0.07755	0.08153  0.06737  0.06430  0.09354  0.089 [...]
+Arbutus    0.08083  0.08011  0.08860  0.09155  0.09193  0.09229  0.08515  0.08373  0.08798  0.09045  0.09878  0.09349  0.08369  0.07734  0.07873  0.07082  0.08664  0.08298  0.06448  0.08854  0.08058  0.06992  0.07964  0.07375  0.08612  0.08369  0.06027  0.07116  0.07319  0.08050  0.07872  0.08316  0.08513  0.09121  0.06802  0.07736  0.08721  0.07922  0.09206  0.06838  0.08155  0.06243	 0.07125  0.06714  0.07841  0.08386  0.08284  0.06573  0.06677	0.07015  0.05805  0.05558  0.08443  0.079 [...]
+Epacris    0.09514  0.08655  0.09948  0.10162  0.09039  0.10159  0.09680  0.09805  0.10080  0.10174  0.10486  0.10177  0.09227  0.08522  0.09091  0.08742  0.09658  0.09943  0.07667  0.10351  0.09510  0.08744  0.09435  0.08820  0.09672  0.09585  0.07188  0.08422  0.08464  0.08884  0.09539  0.10008  0.10109  0.10270  0.08543  0.09328  0.10084  0.09663  0.10649  0.07890  0.09084  0.07824	 0.08038  0.07993  0.08590  0.09765  0.09342  0.08019  0.08188	0.08234  0.07169  0.07275  0.09198  0.094 [...]
+Clethra    0.07225  0.07010  0.07619  0.08549  0.08037  0.08543  0.07130  0.07514  0.07581  0.07766  0.09123  0.08221  0.07225  0.06661  0.07371  0.06551  0.07992  0.07940  0.05015  0.07976  0.07368  0.06453  0.06734  0.07341  0.07775  0.07511  0.04864  0.05584  0.06568  0.07224  0.07342  0.06947  0.07687  0.07971  0.06122  0.07084  0.07975  0.06940  0.08526  0.05159  0.07010  0.05744	 0.06156  0.05427  0.06705  0.07880  0.07378  0.05054  0.05603	0.06243  0.04228  0.04433  0.07762  0.075 [...]
+Ceratiola  0.09299  0.08655  0.10238  0.10342  0.10121  0.10248  0.09458  0.09661  0.10159  0.09950  0.11173  0.10557  0.09585  0.09024  0.09304  0.08596  0.09886  0.09585  0.07809  0.09676  0.09209  0.08515  0.08973  0.08234  0.09746  0.09371  0.07768  0.08349  0.08923  0.09491  0.09247  0.09859  0.09507  0.09549  0.08622  0.09401  0.09789  0.08914  0.10278  0.07897  0.09371  0.08328	 0.08773  0.08376  0.08971  0.09911  0.09949  0.07732  0.08044	0.08532  0.07240  0.06950  0.09880  0.093 [...]
+Actinidia  0.07940  0.07010  0.08276  0.09419  0.08270  0.09331  0.07785  0.08015  0.07810  0.08072  0.09284  0.08526  0.07439  0.07018  0.07515  0.06705  0.08448  0.08226  0.05660  0.08288  0.07302  0.06460  0.07048  0.07621  0.08087  0.07725  0.05373  0.06167  0.06802  0.06928  0.07264  0.07788  0.08068  0.07827  0.06503  0.07520  0.07904  0.06795  0.08459  0.05545  0.07225  0.05742	 0.06384  0.05730  0.06934  0.08099  0.07155  0.05272  0.05888	0.06175  0.04517  0.05046  0.07612  0.070 [...]
+Erica      0.09728  0.09514  0.10240  0.11429  0.10895  0.11165  0.10407  0.10307  0.10849  0.10783  0.11925  0.11470  0.10515  0.09812  0.09662  0.09059  0.10195  0.10587  0.08812  0.10739  0.09748  0.08902  0.09358  0.08921  0.10213  0.10086  0.08133  0.08713  0.09459  0.09652  0.09862  0.10413  0.10120  0.10482  0.09235  0.10341  0.10702  0.09598  0.10894  0.08510  0.09943  0.08830	 0.09301  0.09438  0.10258  0.10988  0.10413  0.08598  0.09335	0.09455  0.08386  0.07805  0.10114  0.100 [...]
+Rhododend  0.08798  0.07725  0.09440  0.09764  0.09123  0.09672  0.08586  0.09233  0.09248  0.09193  0.10263  0.09275  0.08870  0.08025  0.08230  0.07612  0.08825  0.09013  0.06663  0.09435  0.08520  0.07674  0.08121  0.07885  0.08844  0.08655  0.06388  0.07405  0.07860  0.07981  0.08407  0.08938  0.08899  0.09190  0.07563  0.08678  0.08956  0.08155  0.09290  0.06757  0.08298  0.07179	 0.07806  0.07241  0.07990  0.09259  0.08967  0.06792  0.07325	0.07844  0.06165  0.05914  0.08744  0.083 [...]
+Cyrilla    0.07940  0.07368  0.08566  0.09505  0.08737  0.09585  0.07930  0.08159  0.08181  0.08589  0.09873  0.08514  0.07511  0.07163  0.07229  0.06845  0.07907  0.08512  0.05805  0.08723  0.07592  0.06905  0.07034  0.08043  0.08466  0.08226  0.05370  0.06095  0.06636  0.07441  0.07790  0.07852  0.08436  0.08618  0.06644  0.07587  0.08495  0.07311  0.08977  0.05685  0.07725  0.05958	 0.06388  0.05646  0.06850  0.08248  0.07520  0.05854  0.05747	0.06473  0.04589  0.05199  0.07905  0.073 [...]
+Enkianthu  0.08155  0.07654  0.08639  0.09394  0.08735  0.09226  0.08368  0.08517  0.08713  0.08965  0.09195  0.08745  0.08011  0.07021  0.07801  0.06548  0.08439  0.08226  0.05875  0.08707  0.07215  0.06528  0.07493  0.08043  0.08389  0.08011  0.05370  0.06240  0.06713  0.07742  0.07327  0.07854  0.08284  0.09048  0.06196  0.07518  0.08566  0.07614  0.09125  0.06068  0.07582  0.06174	 0.06677  0.05874  0.07153  0.07954  0.07974  0.05561  0.06249	0.06699  0.05161  0.05296  0.08135  0.080 [...]
+Vaccinium  0.09442  0.08441  0.09803  0.10411  0.09505  0.10493  0.09825  0.09732  0.09706  0.10182  0.10489  0.10033  0.09227  0.08523  0.08805  0.08595  0.09884  0.09514  0.07523  0.09763  0.09358  0.08663  0.09353  0.08645  0.09522  0.09371  0.07188  0.08349  0.08690  0.09188  0.09473  0.10016  0.09959  0.10267  0.08397  0.09182  0.10012  0.09590  0.10425  0.07892  0.09084  0.07824	 0.08021  0.07694  0.08370  0.09616  0.09424  0.07440  0.07759	0.08152  0.06951  0.06934  0.09579  0.088 [...]
+Sarraceni  0.07868  0.06652  0.07988  0.08792  0.07951  0.08622  0.07714  0.08303  0.08343  0.08671  0.09359  0.08747  0.07725  0.06875  0.08087  0.06782  0.08595  0.08226  0.06378  0.08611  0.07682  0.06769  0.07739  0.08019  0.08453  0.07868  0.05082  0.06387  0.07179  0.07755  0.06960  0.07709  0.08147  0.08404  0.06731  0.07737  0.08282  0.07473  0.08463  0.06682  0.08011  0.06675	 0.06920  0.06634  0.07461  0.08314  0.07463  0.05994  0.06749	0.06410  0.05591  0.05880  0.07847  0.076 [...]
+Heliampho  0.06942  0.07535  0.08676  0.08887  0.08277  0.08715  0.07923  0.07549  0.08101  0.08451  0.09168  0.08437  0.07774  0.06951  0.07778  0.06445  0.08688  0.08068  0.06860  0.08638  0.07797  0.06408  0.07467  0.08040  0.08476  0.07623  0.05510  0.06708  0.06556  0.07878  0.07121  0.07772  0.08302  0.08705  0.06709  0.07784  0.08596  0.07902  0.08634  0.07039  0.07831  0.07028	 0.07238  0.06448  0.07330  0.08620  0.07541  0.06085  0.06510	0.06133  0.06110  0.06067  0.07730  0.076 [...]
+Diapensia  0.08369  0.07940  0.08488  0.08648  0.08792  0.08476  0.08580  0.08660  0.08250  0.08505  0.09564  0.08811  0.08011  0.07305  0.08016  0.07596  0.08891  0.08941  0.05733  0.08625  0.07820  0.07590  0.08260  0.08660  0.08744  0.08298  0.05735  0.06962  0.07549  0.08421  0.07946  0.08539  0.08964  0.08977  0.07549  0.08316  0.07892  0.07916  0.08676  0.06068  0.07582  0.05529	 0.06239  0.06247  0.06921  0.07671  0.07829  0.06073  0.06249	0.06623  0.05377  0.05368  0.08363  0.076 [...]
+Fouquieri  0.06780  0.05868  0.07430  0.07637  0.07742  0.07625  0.06829  0.06937  0.06972  0.07089  0.08390  0.07315  0.06932  0.05952  0.06932  0.05581  0.07779  0.06923  0.05202  0.07392  0.06699  0.05476  0.06141  0.07186  0.07187  0.06861  0.04527  0.04971  0.06136  0.06415  0.06600  0.06655  0.07412  0.07487  0.05065  0.06528  0.07541  0.06503  0.07493  0.05155  0.06847  0.05065	 0.05782  0.05434  0.06561  0.06982  0.06863  0.05307  0.05498	0.05723  0.03982  0.04518  0.06945  0.065 [...]
+Polemoniu  0.07310  0.06851  0.07739  0.08544  0.08555  0.08540  0.07522  0.07695  0.07653  0.08145  0.08541  0.07994  0.07460  0.06484  0.07534  0.06561  0.08610  0.07676  0.05127  0.07472  0.07460  0.06464  0.07447  0.07749  0.07986  0.07615  0.05058  0.06193  0.06817  0.07849  0.07133  0.07958  0.08016  0.08472  0.06349  0.06985  0.08296  0.07562  0.08553  0.05915  0.07073  0.05744	 0.05699  0.05584  0.06863  0.07363  0.06938  0.05996  0.05879	0.06330  0.04963  0.04961  0.07549  0.073 [...]
+Dillenia   0.09514  0.07439  0.08347  0.08034  0.08042  0.07950  0.09094  0.09591  0.08858  0.08657  0.10477  0.09190  0.08655  0.07951  0.08517  0.07746  0.09636  0.08512  0.06736  0.09378  0.08887  0.07965  0.07871  0.08306  0.08688  0.08655  0.05372  0.06894  0.07998  0.08422  0.07567  0.08077  0.08663  0.08545  0.07773  0.08605  0.09023  0.08445  0.09504  0.06666  0.08512  0.07251	 0.07962  0.07151  0.08578  0.09336  0.08651  0.06582  0.07185	0.07916  0.05880  0.06043  0.08506  0.084 [...]
+Avena      0.12456  0.12299  0.12537  0.12373  0.10210  0.12363  0.12987  0.12467  0.13406  0.13409  0.12787  0.13225  0.12759  0.12239  0.12694  0.11900  0.13270  0.12689  0.12000  0.12322  0.12106  0.11913  0.12206  0.12568  0.13478  0.11715  0.12159  0.12153  0.11642  0.12702  0.12133  0.11982  0.12019  0.13025  0.12254  0.11840  0.12295  0.12726  0.12586  0.12260  0.13035  0.12635	 0.12369  0.12214  0.12376  0.13050  0.12329  0.12264  0.12716	0.12899  0.11940  0.11655  0.12690  0.128 [...]
+Triticum   0.13385  0.13321  0.13177  0.12963  0.10734  0.12776  0.13755  0.13322  0.14126  0.14047  0.13522  0.13575  0.12954  0.12521  0.13026  0.12429  0.13457  0.13462  0.12594  0.12968  0.12555  0.12372  0.12649  0.12902  0.13923  0.12436  0.13032  0.12809  0.12174  0.13134  0.12809  0.12761  0.12613  0.13212  0.12476  0.12419  0.12657  0.12920  0.13167  0.12879  0.13234  0.13062	 0.12907  0.12587  0.12888  0.13985  0.12940  0.13143  0.12926	0.13420  0.12382  0.11816  0.13358  0.135 [...]
+Cenchrus   0.13679  0.13683  0.13395  0.13817  0.11342  0.13809  0.14265  0.13762  0.14206  0.14438  0.13926  0.13969  0.13827  0.12963  0.12809  0.12592  0.13464  0.13608  0.13251  0.13288  0.12949  0.12999  0.13051  0.13411  0.13696  0.12730  0.13105  0.13173  0.11951  0.12988  0.13130  0.13158  0.13164  0.13359  0.12632  0.12867  0.13208  0.13621  0.13641  0.13508  0.14253  0.13500	 0.13126  0.13449  0.13593  0.14492  0.13566  0.13661  0.14239	0.14047  0.13187  0.12693  0.13599  0.139 [...]
+Neurachne  0.13461  0.13538  0.13541  0.13904  0.11121  0.13980  0.14047  0.13544  0.13973  0.14130  0.13535  0.13433  0.13609  0.12817  0.13028  0.12668  0.13618  0.13826  0.13105  0.13035  0.13104  0.12923  0.13049  0.13406  0.13549  0.12875  0.13032  0.12955  0.12107  0.13141  0.13131  0.13157  0.13163  0.13285  0.13016  0.12867  0.12901  0.13390  0.13718  0.13044  0.14253  0.13281	 0.13360  0.13296  0.13440  0.14419  0.13488  0.13662  0.14022	0.14047  0.12968  0.12520  0.13673  0.139 [...]
+Oryza      0.13591  0.13734  0.13569  0.12648  0.10275  0.12723  0.13390  0.13672  0.14176  0.14411  0.14059  0.14110  0.13734  0.13756  0.13381  0.12901  0.14280  0.13734  0.13756  0.13544  0.13406  0.12777  0.13201  0.13685  0.13926  0.13090  0.12924  0.12411  0.12648  0.13131  0.12671  0.12784  0.12702  0.13430  0.13242  0.13086  0.13197  0.13460  0.13853  0.13661  0.14449  0.13640	 0.13812  0.13586  0.14179  0.14619  0.13496  0.13799  0.14800	0.14489  0.13478  0.11836  0.13889  0.139 [...]
+Aegilops   0.14235  0.14020  0.13501  0.13207  0.10886  0.13021  0.13900  0.14028  0.14555  0.14329  0.13978  0.14252  0.13734  0.13178  0.13452  0.12819  0.14124  0.13948  0.13326  0.13628  0.12943  0.12769  0.13115  0.13155  0.14145  0.12947  0.13285  0.12993  0.12563  0.13505  0.13115  0.13081  0.12992  0.13716  0.12936  0.12933  0.13037  0.13374  0.13391  0.13651  0.13519  0.13715	 0.13352  0.13049  0.13343  0.14544  0.13490  0.13793  0.13937	0.14332  0.13188  0.12159  0.13733  0.139 [...]
+Commelina  0.11580  0.11154  0.10777  0.10788  0.07886  0.10782  0.11748  0.11198  0.11864  0.12043  0.12830  0.11287  0.11437  0.11587  0.11299  0.11419  0.11944  0.12066  0.10918  0.12165  0.11473  0.11053  0.11347  0.12248  0.12088  0.11511  0.10768  0.11489  0.10986  0.11429  0.11218  0.11768  0.11546  0.11793  0.11443  0.11238  0.11343  0.11361  0.11811  0.11885  0.11336  0.11044	 0.11188  0.11093  0.11760  0.12065  0.11699  0.12021  0.11765	0.11733  0.10862  0.10922  0.11501  0.125 [...]
+Lomandra   0.10790  0.09412  0.10794  0.09605  0.05677  0.09599  0.11255  0.10952  0.10695  0.11028  0.11331  0.11546  0.11316  0.10334  0.10497  0.10371  0.12074  0.10935  0.09710  0.11155  0.11115  0.10426  0.10635  0.11359  0.11363  0.11091  0.08824  0.10102  0.10329  0.10219  0.09950  0.10299  0.10244  0.10282  0.10561  0.10147  0.10770  0.10393  0.10740  0.10167  0.11518  0.09593	 0.10686  0.10295  0.11487  0.11669  0.10827  0.09885  0.10211	0.10815  0.09116  0.09592  0.10060  0.109 [...]
+Bambusa    0.12551  0.12184  0.13019  0.12674  0.09852  0.12413  0.13316  0.12561  0.13413  0.13339  0.13122  0.13173  0.13021  0.12939  0.12954  0.12289  0.13769  0.12712  0.11977  0.12675  0.12429  0.12134  0.12512  0.13376  0.13901  0.12622  0.12053  0.12243  0.12021  0.12461  0.12203  0.12541  0.11687  0.12669  0.12244  0.12081  0.12229  0.12565  0.12766  0.12138  0.13470  0.12158	 0.12246  0.12389  0.13113  0.13255  0.13265  0.12357  0.12847	0.13099  0.11738  0.11254  0.12824  0.127 [...]
+Pandanus   0.10244  0.09886  0.10105  0.08139  0.04767  0.08127  0.10357  0.10252  0.11008  0.11025  0.12001  0.11620  0.10817  0.10183  0.10537  0.09882  0.11858  0.10961  0.09829  0.11405  0.10510  0.09740  0.10809  0.10198  0.10771  0.10532  0.08004  0.09165  0.10219  0.10863  0.09939  0.09798  0.10880  0.10637  0.09994  0.10135  0.10708  0.10507  0.11203  0.10408  0.10958  0.09777	 0.10599  0.09665  0.10862  0.11741  0.10033  0.10132  0.09929	0.10376  0.08904  0.08679  0.10273  0.110 [...]
+Scilla     0.09814  0.09064  0.09505  0.08326  0.04651  0.08150  0.10624  0.09915  0.10177  0.10533  0.10891  0.11064  0.10399  0.09502  0.09613  0.09574  0.11554  0.09746  0.09113  0.10091  0.10189  0.09455  0.10118  0.10420  0.10649  0.10321  0.08181  0.09306  0.09532  0.09564  0.09595  0.09445  0.09433  0.09758  0.09771  0.09855  0.10076  0.09921  0.10027  0.09326  0.10672  0.09341	 0.09577  0.09381  0.10674  0.10117  0.10535  0.08619  0.09741	0.09854  0.08417  0.08974  0.09906  0.104 [...]
+Hemerocal  0.10227  0.09826  0.10379  0.08835  0.05765  0.08576  0.10838  0.10161  0.10560  0.10732  0.11506  0.11029  0.10530  0.10005  0.10240  0.10160  0.11699  0.11129  0.09297  0.10576  0.10987  0.10298  0.10826  0.10623  0.11169  0.10530  0.08468  0.10063  0.09879  0.10641  0.09887  0.10146  0.10341  0.10553  0.10514  0.10184  0.10553  0.10342  0.10982  0.09080  0.11112  0.09783	 0.09943  0.09124  0.10404  0.10799  0.10863  0.09626  0.09339	0.10762  0.08470  0.08862  0.10495  0.105 [...]
+Tradesca   0.12884  0.11452  0.10532  0.10922  0.07140  0.10659  0.12237  0.13035  0.12565  0.12575  0.13489  0.12792  0.12597  0.11969  0.12248  0.12110  0.12887  0.13098  0.10754  0.13342  0.12767  0.12523  0.12466  0.12479  0.12505  0.11595  0.10465  0.10972  0.11703  0.12643  0.11948  0.12284  0.12289  0.12576  0.12380  0.12372  0.12408  0.12971  0.13059  0.11289  0.11524  0.11857	 0.12074  0.11142  0.11896  0.12746  0.12641  0.12081  0.11864	0.11805  0.10900  0.10103  0.12279  0.130 [...]
+Juncus     0.11230  0.10372  0.10816  0.10300  0.07810  0.10461  0.11211  0.11094  0.11549  0.11864  0.12636  0.11564  0.11302  0.10528  0.11020  0.10734  0.12254  0.11660  0.09739  0.11610  0.11433  0.10807  0.10978  0.10387  0.11641  0.11516  0.09440  0.10089  0.10537  0.10435  0.10400  0.10888  0.10742  0.11195  0.11216  0.10985  0.10874  0.10895  0.11819  0.10884  0.11302  0.10549	 0.10403  0.10137  0.11110  0.11060  0.11402  0.10895  0.10839	0.11140  0.09820  0.09524  0.11264  0.114 [...]
+Oxychloe   0.12346  0.12268  0.12564  0.12225  0.09196  0.12127  0.12666  0.12210  0.12643  0.12576  0.12890  0.12261  0.11542  0.11114  0.12126  0.11726  0.12898  0.12489  0.11689  0.12168  0.12453  0.11891  0.11690  0.12443  0.12560  0.12049  0.11038  0.11547  0.11382  0.11881  0.11168  0.12058  0.11674  0.12374  0.12147  0.11954  0.12410  0.12510  0.12840  0.12325  0.13062  0.11790	 0.12336  0.11892  0.12267  0.12613  0.12549  0.12512  0.12536	0.12391  0.11916  0.11648  0.12122  0.128 [...]
+Prionium   0.10200  0.10408  0.10636  0.09854  0.06291  0.10095  0.11025  0.10427  0.10592  0.10912  0.11526  0.10897  0.10340  0.09830  0.10853  0.09753  0.11693  0.11069  0.09171  0.10594  0.10150  0.09750  0.09921  0.10536  0.10701  0.10420  0.08887  0.09979  0.10328  0.09830  0.09573  0.10148  0.09931  0.10515  0.10249  0.09920  0.09975  0.09613  0.10785  0.10658  0.11054  0.09558	 0.10617  0.10069  0.10831  0.11329  0.10507  0.10133  0.10295	0.10241  0.09325  0.09117  0.10383  0.103 [...]
+Elegia     0.11874  0.11373  0.10736  0.09326  0.07361  0.09398  0.12080  0.12097  0.12188  0.12798  0.13705  0.12188  0.11660  0.11174  0.12309  0.11512  0.13108  0.12375  0.11106  0.12745  0.12383  0.11840  0.12322  0.11499  0.12719  0.12160  0.09508  0.11320  0.12077  0.12037  0.11806  0.11835  0.11909  0.12139  0.11622  0.12072  0.12330  0.12212  0.12762  0.11436  0.12089  0.11631	 0.11486  0.11595  0.11812  0.12881  0.11962  0.11637  0.11782	0.11873  0.10678  0.09937  0.12200  0.126 [...]
+Zebrina    0.11893  0.10613  0.10703  0.11181  0.07139  0.10923  0.12053  0.11829  0.11600  0.11854  0.12168  0.11584  0.11826  0.11450  0.11837  0.11354  0.12097  0.12200  0.09721  0.12542  0.12040  0.11434  0.11569  0.12554  0.12434  0.11225  0.10097  0.10992  0.11097  0.11765  0.11344  0.11836  0.11642  0.11933  0.11315  0.11648  0.11834  0.11709  0.12366  0.09921  0.10832  0.10942	 0.11225  0.10187  0.11220  0.11886  0.11485  0.11105  0.10501	0.11016  0.10024  0.09764  0.11528  0.120 [...]
+Flagellar  0.11087  0.10944  0.10019  0.08900  0.06221  0.08892  0.11355  0.11023  0.11825  0.12061  0.12369  0.11303  0.11087  0.10602  0.10879  0.10852  0.12370  0.11874  0.10317  0.11899  0.10726  0.10792  0.11414  0.11314  0.11967  0.10944  0.08353  0.09876  0.10814  0.11149  0.10459  0.11238  0.11021  0.11130  0.11034  0.10918  0.11294  0.10946  0.12172  0.10700  0.11302  0.10410	 0.10202  0.10179  0.11301  0.11721  0.11453  0.10625  0.10993	0.11355  0.09964  0.08658  0.11389  0.116 [...]
+Cyperus    0.12687  0.12503  0.12451  0.12674  0.10084  0.12746  0.12990  0.12853  0.13028  0.12873  0.13264  0.12518  0.12075  0.11402  0.12691  0.12447  0.13432  0.13357  0.12511  0.13188  0.13055  0.12431  0.12597  0.13326  0.13384  0.12305  0.11379  0.11682  0.11931  0.12294  0.11927  0.12789  0.12634  0.12781  0.12646  0.12886  0.13248  0.13274  0.13230  0.12976  0.13118  0.12171	 0.12510  0.12372  0.12779  0.12964  0.13132  0.13021  0.13104	0.13246  0.12448  0.12188  0.12694  0.128 [...]
+Carex      0.12375  0.12732  0.12049  0.11631  0.08576  0.11701  0.12085  0.12312  0.12371  0.12612  0.13011  0.12310  0.11660  0.11319  0.12165  0.11780  0.13308  0.12804  0.11745  0.12619  0.12643  0.12015  0.11976  0.12091  0.12480  0.11946  0.10455  0.10816  0.11589  0.12086  0.11230  0.11882  0.11946  0.12704  0.12343  0.12062  0.12377  0.12552  0.12949  0.12230  0.12732  0.11917	 0.12370  0.11564  0.12231  0.12435  0.12227  0.12627  0.12425	0.12662  0.11898  0.11053  0.12242  0.131 [...]
+Xanthorrh  0.11087  0.10658  0.10155  0.08790  0.04825  0.08618  0.11278  0.11308  0.10758  0.11303  0.12212  0.12350  0.11731  0.10957  0.10664  0.10619  0.12218  0.11445  0.10318  0.11480  0.11175  0.10788  0.11482  0.10783  0.11198  0.11302  0.08489  0.09575  0.10203  0.10993  0.10298  0.10380  0.10713  0.10844  0.11107  0.10626  0.10989  0.11091  0.11188  0.10462  0.11302  0.10125	 0.10361  0.10098  0.10999  0.12007  0.11000  0.10040  0.10348	0.10520  0.09390  0.09081  0.10858  0.116 [...]
+Pontederi  0.11361  0.10275  0.10887  0.09866  0.06682  0.09846  0.11448  0.11288  0.11069  0.11427  0.11305  0.10523  0.10698  0.10270  0.10153  0.10151  0.11270  0.10956  0.09794  0.10902  0.10268  0.10041  0.10102  0.11190  0.10811  0.10954  0.09638  0.10533  0.10205  0.10158  0.09945  0.10424  0.10351  0.09596  0.10260  0.10189  0.10079  0.10423  0.10542  0.10274  0.10795  0.10334	 0.10674  0.09990  0.10150  0.11748  0.11136  0.10869  0.10478	0.10897  0.09305  0.09248  0.10411  0.105 [...]
+Lachnocau  0.12230  0.11767  0.12769  0.11393  0.09202  0.11294  0.12773  0.12313  0.12700  0.12706  0.14050  0.12977  0.13060  0.12385  0.12246  0.12368  0.13114  0.12913  0.11392  0.13477  0.13046  0.12115  0.12593  0.12297  0.13473  0.12840  0.10799  0.12074  0.12097  0.12859  0.12204  0.12874  0.12649  0.12652  0.12644  0.12213  0.12925  0.12878  0.13231  0.11786  0.11463  0.11345	 0.11808  0.11579  0.12609  0.12909  0.12586  0.12028  0.12272	0.12521  0.10643  0.11640  0.12374  0.129 [...]
+Ravenala   0.10419  0.10765  0.10438  0.09839  0.05840  0.09928  0.10597  0.10597  0.10566  0.10684  0.12113  0.11558  0.10780  0.10437  0.11049  0.10136  0.11973  0.11458  0.09994  0.11596  0.10581  0.10114  0.10523  0.10607  0.11763  0.09849  0.08898  0.09658  0.09917  0.11042  0.10019  0.09973  0.10441  0.10866  0.10436  0.10385  0.10391  0.10235  0.10970  0.10090  0.10926  0.10637	 0.10596  0.09493  0.10754  0.12141  0.11005  0.10121  0.10058	0.10535  0.09255  0.09309  0.11053  0.110 [...]
+Hedychium  0.10585  0.10039  0.10892  0.09738  0.06060  0.09986  0.10820  0.10821  0.11270  0.11603  0.12306  0.11244  0.10885  0.10958  0.10521  0.10222  0.11846  0.11261  0.09586  0.11193  0.10970  0.10033  0.10733  0.11102  0.11741  0.10590  0.08690  0.09967  0.10268  0.10632  0.09883  0.10710  0.10737  0.10835  0.10172  0.10009  0.10463  0.10329  0.11237  0.10032  0.10869  0.09617	 0.10076  0.09432  0.10787  0.11166  0.10356  0.09910  0.09783	0.10431  0.09144  0.09604  0.10229  0.107 [...]
+Maranta    0.10386  0.09305  0.09929  0.09922  0.05303  0.09744  0.10846  0.10397  0.10901  0.10594  0.12019  0.11115  0.10382  0.10454  0.10550  0.09776  0.10920  0.10611  0.08924  0.11131  0.09789  0.09424  0.10111  0.10710  0.11159  0.10392  0.08181  0.09384  0.09416  0.10340  0.09910  0.10256  0.09966  0.10244  0.09485  0.09727  0.10022  0.09797  0.10951  0.09667  0.09986  0.08882	 0.09462  0.09064  0.10018  0.11038  0.09910  0.09549  0.09423	0.09895  0.08558  0.08856  0.09944  0.100 [...]
+Campelia   0.11128  0.11043  0.10449  0.11450  0.07641  0.11272  0.11661  0.11137  0.11495  0.11434  0.12330  0.11660  0.11661  0.11427  0.11665  0.11344  0.12241  0.11966  0.09931  0.12084  0.11955  0.10955  0.11626  0.12171  0.12554  0.11276  0.10149  0.11356  0.11235  0.11921  0.11175  0.12059  0.12097  0.12332  0.10959  0.11618  0.11900  0.11772  0.12590  0.10838  0.11040  0.10920	 0.10894  0.10720  0.11185  0.11762  0.12126  0.11371  0.10864	0.11093  0.10302  0.09733  0.11752  0.122 [...]
+Musa       0.09970  0.10715  0.11176  0.09967  0.06666  0.10047  0.10879  0.10278  0.11465  0.11237  0.12507  0.11934  0.11474  0.11034  0.11405  0.10508  0.12021  0.11853  0.09595  0.11660  0.10927  0.10268  0.11174  0.11304  0.12224  0.11551  0.08610  0.10570  0.10606  0.11377  0.10652  0.10887  0.11302  0.11802  0.10524  0.10431  0.10738  0.11005  0.11668  0.10498  0.11324  0.10303	 0.10159  0.09801  0.10663  0.11572  0.11209  0.10518  0.09942	0.10370  0.09228  0.09381  0.11319  0.110 [...]
+Strelitzi  0.10955  0.11687  0.11617  0.10320  0.07669  0.10306  0.11540  0.11473  0.12164  0.12092  0.12786  0.12463  0.12195  0.11536  0.11908  0.10933  0.12500  0.12126  0.10444  0.12000  0.11429  0.10550  0.11742  0.11444  0.12348  0.11241  0.09792  0.11322  0.10594  0.12016  0.11003  0.11243  0.11581  0.12087  0.11127  0.11001  0.11319  0.11575  0.12212  0.10995  0.11455  0.10981	 0.11271  0.10402  0.11554  0.12633  0.11683  0.11050  0.11068	0.11135  0.10227  0.10107  0.11481  0.119 [...]
+Phenakosp  0.11717  0.11718  0.12680  0.11624  0.08666  0.11198  0.12466  0.12244  0.13074  0.13154  0.13852  0.12823  0.12226  0.12230  0.12833  0.12435  0.13950  0.13126  0.11190  0.12931  0.12780  0.12131  0.12801  0.12216  0.12772  0.12830  0.10682  0.12166  0.11706  0.12994  0.12887  0.12677  0.12783  0.12920  0.12241  0.12291  0.12666  0.12687  0.13491  0.12109  0.12515  0.11815	 0.11920  0.11817  0.12602  0.13043  0.12819  0.11448  0.11383	0.12014  0.10697  0.10825  0.12845  0.126 [...]
+Orchidant  0.09692  0.10581  0.11184  0.10472  0.06506  0.10295  0.10141  0.09846  0.11649  0.11188  0.12036  0.12100  0.11700  0.10953  0.11114  0.10302  0.11973  0.11632  0.09454  0.11726  0.10639  0.09911  0.10958  0.11009  0.11757  0.11554  0.09164  0.10732  0.10182  0.11165  0.10685  0.11088  0.11200  0.11278  0.10653  0.10242  0.10609  0.10643  0.11607  0.10677  0.11532  0.10229	 0.10157  0.09832  0.11004  0.11833  0.10975  0.09708  0.09274	0.09869  0.09317  0.09244  0.10862  0.112 [...]
+Heliconia  0.09908  0.10651  0.10895  0.09999  0.06745  0.10074  0.10135  0.10525  0.11353  0.10962  0.12633  0.11820  0.11116  0.10814  0.11201  0.10463  0.11758  0.12031  0.10050  0.11119  0.10484  0.10216  0.10720  0.10445  0.11646  0.11039  0.09063  0.10427  0.10007  0.11190  0.10607  0.10447  0.10711  0.10600  0.10558  0.10586  0.10301  0.10408  0.11472  0.10775  0.11043  0.10534	 0.10247  0.09834  0.10706  0.12426  0.11020  0.10291  0.09789	0.10156  0.09531  0.09336  0.10887  0.109 [...]
+Costus     0.10136  0.11392  0.11629  0.09762  0.07454  0.09839  0.11262  0.10667  0.11564  0.11181  0.12970  0.12568  0.11696  0.11324  0.11480  0.10848  0.12285  0.11991  0.10191  0.11764  0.11333  0.10541  0.11596  0.11068  0.11556  0.11032  0.09609  0.11241  0.10567  0.11155  0.10989  0.11321  0.11488  0.11642  0.11048  0.10985  0.10686  0.11108  0.11915  0.10828  0.11677  0.10596	 0.10767  0.10462  0.11399  0.12418  0.11610  0.10295  0.10312	0.10720  0.09907  0.09442  0.11337  0.111 [...]
+Tapeinoch  0.10634  0.11871  0.12107  0.10750  0.08368  0.10997  0.11524  0.11085  0.12073  0.11768  0.13270  0.12616  0.11883  0.11513  0.11735  0.10974  0.12564  0.12628  0.10703  0.11486  0.11315  0.10661  0.11559  0.11766  0.12385  0.11214  0.10039  0.11363  0.10749  0.11596  0.10952  0.11752  0.11757  0.11683  0.11640  0.11342  0.11274  0.11308  0.12038  0.11339  0.11575  0.11024	 0.11451  0.10829  0.11757  0.12704  0.11264  0.10861  0.11117	0.11663  0.10539  0.10397  0.11759  0.112 [...]
+Zingiber   0.10674  0.11634  0.12235  0.11558  0.08549  0.11805  0.10758  0.11128  0.12450  0.12461  0.13488  0.12901  0.12451  0.12079  0.11792  0.11430  0.12788  0.12528  0.10742  0.12011  0.12006  0.11521  0.11873  0.11216  0.13248  0.11851  0.10229  0.11707  0.11304  0.12294  0.11339  0.11894  0.12061  0.12411  0.12019  0.11602  0.11662  0.11616  0.12497  0.11096  0.11920  0.11286	 0.11347  0.10660  0.11986  0.12669  0.11407  0.11139  0.10556	0.11167  0.10307  0.10603  0.11833  0.116 [...]
+Globba     0.10279  0.11413  0.12007  0.10482  0.07901  0.10649  0.10584  0.10895  0.12278  0.12282  0.13058  0.12183  0.11778  0.11254  0.11494  0.10353  0.12435  0.12095  0.10512  0.12051  0.11334  0.10418  0.11413  0.10828  0.12399  0.11255  0.09600  0.11030  0.10767  0.11698  0.10975  0.11224  0.11788  0.11948  0.10851  0.10652  0.11211  0.10933  0.11999  0.10896  0.11494  0.10607	 0.10572  0.10054  0.11395  0.12259  0.10981  0.10513  0.09653	0.10541  0.09846  0.09917  0.10850  0.118 [...]
+Riedelea   0.10656  0.10859  0.11400  0.10237  0.07268  0.10316  0.11267  0.10816  0.11910  0.11915  0.12934  0.12206  0.11469  0.11472  0.11188  0.10701  0.12471  0.12076  0.10107  0.11431  0.11194  0.10608  0.11129  0.11043  0.12274  0.11037  0.09207  0.10787  0.10730  0.11506  0.10588  0.11089  0.11420  0.11622  0.10874  0.10710  0.11005  0.10874  0.11942  0.10741  0.11545  0.10512	 0.10068  0.09905  0.10705  0.11632  0.11474  0.10431  0.10465	0.11187  0.09836  0.09726  0.11514  0.116 [...]
+Calathea   0.10514  0.10522  0.10963  0.10776  0.06615  0.10596  0.10813  0.10743  0.11946  0.11720  0.12202  0.11714  0.11477  0.10889  0.11344  0.10707  0.12063  0.11997  0.10518  0.12134  0.11278  0.10480  0.11363  0.11654  0.12202  0.11260  0.09268  0.10742  0.10281  0.11416  0.10920  0.10687  0.11438  0.11507  0.10981  0.10856  0.11008  0.11041  0.11606  0.10521  0.11325  0.10541	 0.10635  0.10251  0.11030  0.11764  0.11011  0.10694  0.10787	0.10913  0.09868  0.10347  0.11194  0.114 [...]
+Stegolepi  0.10515  0.10157  0.09721  0.08781  0.04755  0.08684  0.10624  0.10665  0.11158  0.11475  0.11775  0.11319  0.10801  0.09955  0.11092  0.10038  0.12237  0.10587  0.10100  0.11058  0.10507  0.10042  0.10503  0.09388  0.10591  0.10515  0.08495  0.09286  0.10292  0.10265  0.10243  0.09884  0.10504  0.10338  0.09916  0.09977  0.10561  0.10279  0.11431  0.10339  0.11302  0.10265	 0.10493  0.09746  0.10640  0.11572  0.10787  0.10113  0.10484	0.10523  0.09177  0.08333  0.10651  0.110 [...]
+Tillandsi  0.11159  0.10229  0.10160  0.08771  0.04448  0.08591  0.11061  0.11166  0.11003  0.11174  0.11624  0.11543  0.11016  0.10528  0.11306  0.10410  0.12457  0.11159  0.10029  0.11729  0.10582  0.10418  0.10735  0.10074  0.11046  0.10443  0.08059  0.09508  0.10216  0.10639  0.09864  0.10262  0.10579  0.10913  0.10745  0.10338  0.10859  0.10808  0.11430  0.10636  0.11016  0.10050	 0.10046  0.09586  0.10783  0.11283  0.11011  0.10258  0.10413	0.10825  0.09319  0.08836  0.10496  0.117 [...]
+Philydrum  0.10606  0.09899  0.09894  0.09751  0.05835  0.09750  0.11306  0.10879  0.10911  0.11318  0.12363  0.11265  0.10867  0.10179  0.10631  0.10365  0.11584  0.11219  0.09964  0.11081  0.10992  0.10322  0.10167  0.11064  0.10961  0.10528  0.08916  0.09970  0.09855  0.10630  0.10102  0.10191  0.10557  0.10538  0.10646  0.10547  0.10442  0.10377  0.11416  0.10229  0.10961  0.10040	 0.10005  0.09542  0.10750  0.10748  0.10590  0.10257  0.10563	0.10892  0.09301  0.09969  0.10090  0.109 [...]
+Ananas     0.10548  0.09461  0.10045  0.09025  0.04754  0.08679  0.10990  0.10410  0.10512  0.10525  0.11350  0.11042  0.10477  0.09898  0.10697  0.10050  0.11835  0.10913  0.09679  0.11028  0.10305  0.09979  0.10220  0.10083  0.10976  0.10326  0.08371  0.09094  0.09704  0.10289  0.09569  0.09985  0.10075  0.10142  0.10010  0.09775  0.10591  0.10147  0.11092  0.10274  0.10978  0.09627	 0.09616  0.09525  0.10513  0.11109  0.10729  0.09767  0.09558	0.10007  0.08737  0.08928  0.10141  0.113 [...]
+Puya       0.10765  0.09753  0.10482  0.09201  0.04680  0.08856  0.11063  0.10773  0.10660  0.10834  0.11123  0.11197  0.10768  0.10189  0.10915  0.10200  0.11912  0.11059  0.09607  0.11207  0.10613  0.10131  0.10380  0.10426  0.11278  0.10690  0.08663  0.09530  0.09936  0.10366  0.09726  0.10294  0.10230  0.10142  0.10316  0.10070  0.10670  0.10304  0.11248  0.10196  0.10760  0.09627	 0.09771  0.09755  0.10590  0.11331  0.10955  0.09842  0.09925	0.10239  0.08956  0.09095  0.10291  0.116 [...]
+Chamaedor  0.09703  0.09014  0.09088  0.08731  0.04250  0.08392  0.10549  0.09710  0.09872  0.09719  0.11073  0.09838  0.09861  0.09370  0.09885  0.09418  0.11390  0.10288  0.08493  0.10344  0.09761  0.09203  0.09685  0.10173  0.10550  0.09881  0.07745  0.09103  0.09018  0.09677  0.09364  0.09362  0.09440  0.09810  0.09710  0.09325  0.09502  0.09263  0.10440  0.09378  0.10187  0.08975	 0.09184  0.08890  0.10489  0.10170  0.10607  0.09119  0.09070	0.09387  0.08112  0.08236  0.09683  0.105 [...]
+Drymophlo  0.10186  0.08662  0.09608  0.08537  0.04144  0.08366  0.10771  0.10194  0.10198  0.10064  0.11050  0.10507  0.10115  0.09608  0.10262  0.09512  0.11374  0.10842  0.08590  0.10604  0.09763  0.09439  0.09907  0.09936  0.11055  0.10110  0.07571  0.09314  0.09476  0.10136  0.09489  0.09819  0.09843  0.10000  0.09855  0.09415  0.09593  0.09537  0.10707  0.09424  0.10179  0.08827	 0.09235  0.08913  0.10441  0.10597  0.10571  0.09035  0.08979	0.09392  0.08087  0.08158  0.09756  0.108 [...]
+Nypa       0.10769  0.09170  0.09609  0.08870  0.04379  0.08698  0.11208  0.10777  0.10735  0.10449  0.11674  0.11202  0.10698  0.09974  0.10481  0.09896  0.11455  0.11206  0.09100  0.11021  0.10232  0.09985  0.10068  0.10545  0.11283  0.10620  0.08008  0.09823  0.09709  0.10366  0.09646  0.10134  0.10075  0.10657  0.10320  0.10005  0.10056  0.10002  0.11096  0.09579  0.10544  0.09194	 0.09701  0.09606  0.10595  0.11039  0.10958  0.09550  0.09347	0.09469  0.08305  0.08933  0.10140  0.110 [...]
+Serenoa    0.10279  0.08605  0.09336  0.08440  0.03834  0.08096  0.10866  0.10433  0.10143  0.10158  0.11230  0.10834  0.10281  0.09555  0.10431  0.09609  0.11552  0.10793  0.08896  0.10548  0.10093  0.09460  0.09929  0.10018  0.11053  0.10132  0.07294  0.09259  0.09417  0.10077  0.09355  0.09744  0.09790  0.09944  0.09799  0.09508  0.09767  0.09864  0.10733  0.09285  0.10269  0.08846	 0.09103  0.09162  0.10309  0.10619  0.10591  0.09199  0.09069	0.09408  0.07954  0.08498  0.09623  0.107 [...]
+Sparganiu  0.09088  0.09533  0.09931  0.08040  0.05390  0.07946  0.09707  0.09172  0.09939  0.09797  0.10885  0.10701  0.10079  0.09627  0.09940  0.09363  0.11166  0.10533  0.08852  0.10425  0.09780  0.09251  0.09943  0.10019  0.10635  0.09787  0.08327  0.09241  0.09011  0.09857  0.08877  0.09283  0.09726  0.09799  0.09789  0.09493  0.09689  0.09709  0.10459  0.09250  0.10216  0.09188	 0.09456  0.08967  0.09780  0.10649  0.09826  0.09179  0.09416	0.09561  0.08334  0.08579  0.09147  0.097 [...]
+Typha      0.10208  0.09852  0.09085  0.08217  0.05296  0.08039  0.10061  0.10502  0.10669  0.10613  0.11439  0.10829  0.10419  0.09639  0.10498  0.09922  0.11602  0.10565  0.09070  0.10971  0.10167  0.09772  0.10313  0.09848  0.10835  0.10277  0.08289  0.09159  0.09654  0.09851  0.09904  0.09848  0.10548  0.10101  0.10411  0.10025  0.10070  0.10168  0.11172  0.09537  0.10571  0.09811	 0.09423  0.08948  0.09999  0.10546  0.10832  0.09873  0.09902	0.10186  0.08573  0.07729  0.10537  0.110 [...]
+Anigozant  0.11874  0.10443  0.09942  0.10216  0.05360  0.09699  0.12009  0.11882  0.11756  0.11842  0.12451  0.12596  0.11946  0.11316  0.11807  0.11388  0.12530  0.11660  0.09885  0.12389  0.11643  0.11251  0.11727  0.11532  0.12098  0.11302  0.08714  0.10018  0.10447  0.12067  0.11223  0.11253  0.11179  0.11776  0.11342  0.11274  0.11533  0.11861  0.12106  0.10099  0.10801  0.10266	 0.09739  0.10043  0.10708  0.11280  0.12367  0.10763  0.10342	0.11130  0.09533  0.09595  0.11249  0.124 [...]
+Pleea      0.10014  0.09728  0.09145  0.07789  0.05449  0.07863  0.09970  0.10236  0.10016  0.10114  0.11333  0.11091  0.10229  0.09740  0.10377  0.09656  0.11251  0.10587  0.08740  0.11065  0.09897  0.09432  0.10041  0.10091  0.10663  0.09371  0.07042  0.07908  0.09232  0.10184  0.09100  0.09408  0.10122  0.09837  0.09686  0.10121  0.10330  0.10201  0.10672  0.09191  0.09943  0.08685	 0.09301  0.09207  0.10107  0.10922  0.09957  0.09173  0.09121	0.09684  0.07955  0.07967  0.09891  0.102 [...]
+Bowiea     0.11087  0.10372  0.10304  0.08693  0.05366  0.08347  0.11207  0.11237  0.11148  0.11842  0.11774  0.11914  0.11159  0.10600  0.10806  0.10704  0.12454  0.11373  0.09815  0.11233  0.11262  0.10642  0.11338  0.10680  0.11193  0.11302  0.09146  0.10304  0.10286  0.10857  0.10537  0.10322  0.10799  0.10627  0.10964  0.10772  0.11227  0.10951  0.11199  0.10549  0.11373  0.10047	 0.10503  0.10562  0.11158  0.11501  0.11086  0.09968  0.10201	0.10294  0.09390  0.08998  0.11245  0.114 [...]
+Curculigo  0.11373  0.10372  0.10236  0.08330  0.04291  0.08066  0.11141  0.11309  0.11304  0.11544  0.12001  0.11239  0.10801  0.10169  0.10950  0.10557  0.11931  0.11302  0.09170  0.11630  0.11194  0.10649  0.10655  0.10374  0.11490  0.10801  0.08137  0.09945  0.10065  0.10938  0.10685  0.10942  0.11102  0.11057  0.10746  0.10634  0.10631  0.10581  0.11582  0.10108  0.11588  0.09909	 0.10049  0.09288  0.10709  0.11648  0.11462  0.10188  0.09838	0.10371  0.08532  0.08343  0.11097  0.113 [...]
+Hypoxis    0.11016  0.10086  0.09882  0.08542  0.04298  0.08279  0.10851  0.11165  0.10920  0.11088  0.12301  0.11764  0.10873  0.10097  0.10877  0.10630  0.11926  0.11373  0.09243  0.11819  0.11192  0.10651  0.11112  0.10704  0.11287  0.10730  0.08069  0.09883  0.09990  0.11081  0.10683  0.10869  0.10801  0.10916  0.10669  0.10777  0.10550  0.10955  0.11428  0.10024  0.10372  0.09552	 0.10134  0.09509  0.10629  0.11288  0.11459  0.09971  0.10057	0.10219  0.08745  0.08759  0.10944  0.111 [...]
+Aletris    0.11874  0.11445  0.11112  0.09729  0.06214  0.09463  0.11647  0.12168  0.11907  0.12069  0.13273  0.12291  0.12303  0.11673  0.12239  0.11309  0.13211  0.12375  0.10890  0.12384  0.12102  0.11406  0.12035  0.11462  0.12562  0.11731  0.09300  0.10894  0.11276  0.12143  0.11214  0.11326  0.12085  0.11992  0.11419  0.11575  0.11306  0.11635  0.12186  0.11155  0.11803  0.10839	 0.11340  0.10413  0.12064  0.12235  0.11534  0.11487  0.11062	0.11592  0.10035  0.09946  0.11773  0.121 [...]
+Sansevier  0.10412  0.09781  0.10563  0.09370  0.05539  0.09111  0.11178  0.10117  0.10766  0.11099  0.11565  0.11783  0.11244  0.10415  0.10501  0.10360  0.12311  0.10861  0.09637  0.10904  0.11028  0.10340  0.11034  0.11267  0.11559  0.10946  0.08729  0.10475  0.10475  0.10444  0.10252  0.10513  0.10545  0.10814  0.10395  0.10370  0.10913  0.10705  0.10967  0.10395  0.11595  0.09738	 0.10549  0.10361  0.11244  0.11458  0.11298  0.09726  0.10206	0.10887  0.09032  0.09326  0.10693  0.110 [...]
+Kniphofia  0.11803  0.11087  0.10735  0.09886  0.06348  0.09882  0.11711  0.11809  0.11294  0.11765  0.12153  0.12512  0.12303  0.11386  0.11093  0.11001  0.12456  0.11946  0.10245  0.12045  0.11865  0.11398  0.11722  0.11085  0.11642  0.11516  0.09504  0.09865  0.10816  0.11535  0.11056  0.10997  0.11246  0.11345  0.11416  0.11057  0.11601  0.11550  0.11722  0.10541  0.11803  0.10772	 0.10443  0.09805  0.11080  0.11933  0.11379  0.10468  0.10557	0.11058  0.09605  0.09339  0.11544  0.123 [...]
+Danae      0.11159  0.09871  0.09788  0.09200  0.04975  0.08766  0.11276  0.11164  0.10849  0.11090  0.11545  0.12062  0.11445  0.10384  0.10235  0.10178  0.11777  0.10515  0.09958  0.11085  0.10499  0.10110  0.10727  0.10584  0.10655  0.10730  0.08558  0.09934  0.09681  0.10332  0.09775  0.09633  0.10042  0.10555  0.10138  0.10263  0.10400  0.10345  0.10520  0.10697  0.11230  0.10120	 0.10513  0.10260  0.11085  0.11864  0.11010  0.10033  0.10629	0.10752  0.09244  0.08985  0.10719  0.112 [...]
+Clivia     0.09771  0.08848  0.09769  0.08392  0.04368  0.08135  0.10606  0.10006  0.09992  0.10248  0.10785  0.10536  0.10376  0.09475  0.10009  0.09351  0.11044  0.10222  0.08543  0.10241  0.09689  0.09246  0.10165  0.10444  0.10762  0.10151  0.07944  0.09304  0.09465  0.09910  0.09320  0.09573  0.09616  0.09715  0.09624  0.09341  0.09666  0.09611  0.09875  0.09317  0.10275  0.08876	 0.09155  0.08875  0.09996  0.10499  0.10285  0.08796  0.08964	0.09550  0.07722  0.08140  0.09600  0.100 [...]
+Chlorophy  0.11283  0.10881  0.11360  0.09668  0.06828  0.09584  0.11748  0.11295  0.11609  0.11939  0.12604  0.12215  0.11660  0.11204  0.10994  0.11279  0.12507  0.11806  0.10805  0.11463  0.11956  0.11341  0.11731  0.11024  0.12356  0.11358  0.09606  0.11117  0.10757  0.11365  0.11177  0.11366  0.10991  0.11309  0.10993  0.11331  0.11435  0.11466  0.11650  0.11018  0.12237  0.10912	 0.11444  0.11047  0.11686  0.12173  0.12052  0.11070  0.11084	0.11894  0.10135  0.10199  0.11526  0.117 [...]
+Neuwiedia  0.10443  0.10229  0.10596  0.09444  0.02913  0.09099  0.10772  0.10736  0.11239  0.11328  0.12082  0.12074  0.11159  0.10885  0.11235  0.10639  0.12691  0.11016  0.09814  0.11816  0.11422  0.10499  0.10890  0.10737  0.11419  0.10730  0.08785  0.09653  0.10372  0.11322  0.10465  0.10567  0.10280  0.11202  0.10374  0.10993  0.11166  0.11112  0.11891  0.10563  0.10873  0.10048	 0.10203  0.09896  0.10867  0.11499  0.10865  0.10178  0.10341	0.10529  0.09173  0.08743  0.11105  0.116 [...]
+Oncidium   0.10443  0.10730  0.11176  0.09401  0.02762  0.09391  0.10626  0.10736  0.10920  0.11387  0.11999  0.12213  0.11516  0.11174  0.11307  0.10853  0.12749  0.11516  0.09743  0.12071  0.11715  0.10715  0.11029  0.10962  0.11353  0.11016  0.09078  0.09725  0.10661  0.11611  0.10916  0.11016  0.10645  0.11415  0.10810  0.11206  0.11530  0.11479  0.11954  0.10708  0.11016  0.10409	 0.10872  0.10183  0.11004  0.11572  0.11455  0.10549  0.10703	0.10897  0.09390  0.08837  0.11389  0.117 [...]
+Nolinalin  0.09879  0.08775  0.09319  0.08657  0.03984  0.08226  0.10344  0.09888  0.10130  0.10312  0.10751  0.10675  0.10182  0.09485  0.09579  0.09464  0.11117  0.09953  0.08470  0.10443  0.09891  0.09345  0.09884  0.10290  0.10420  0.09950  0.07779  0.09325  0.09255  0.09715  0.09499  0.09790  0.09655  0.09884  0.09409  0.09357  0.09950  0.09891  0.10161  0.09489  0.10555  0.08963	 0.09086  0.09147  0.09952  0.10310  0.10180  0.08642  0.08973	0.09516  0.07935  0.08624  0.09562  0.103 [...]
+Dioscorea  0.11516  0.10014  0.09945  0.09659  0.06138  0.09482  0.11573  0.11453  0.11829  0.11682  0.12820  0.12129  0.11588  0.10814  0.11521  0.10999  0.12675  0.11946  0.10390  0.12048  0.11409  0.11249  0.11793  0.11051  0.11660  0.11087  0.08931  0.10090  0.11115  0.11900  0.10979  0.11006  0.11318  0.11635  0.11034  0.11141  0.11143  0.11249  0.11947  0.10689  0.11373  0.10050	 0.10810  0.10479  0.11450  0.11943  0.11752  0.10338  0.10921	0.11355  0.09462  0.09863  0.11537  0.122 [...]
+Spathiphy  0.11159  0.09800  0.09873  0.08553  0.06223  0.08646  0.11062  0.11237  0.10470  0.10261  0.12158  0.11158  0.10730  0.09955  0.10734  0.09803  0.11776  0.11159  0.09456  0.11158  0.10426  0.09728  0.10572  0.10531  0.11576  0.10300  0.08131  0.08854  0.09759  0.10480  0.09555  0.09951  0.10573  0.10412  0.09980  0.10336  0.10777  0.10120  0.10740  0.10477  0.10658  0.09546	 0.09878  0.08905  0.10555  0.11284  0.10551  0.09971  0.10344	0.10670  0.08746  0.08488  0.10564  0.106 [...]
+Acorus     0.10524  0.09736  0.10070  0.08340  0.07345  0.08171  0.11246  0.10929  0.10819  0.10918  0.12526  0.11117  0.10304  0.09995  0.10373  0.10058  0.10896  0.10365  0.08921  0.10261  0.10475  0.09863  0.10559  0.10369  0.10870  0.10303  0.08166  0.09498  0.10020  0.10389  0.09689  0.09910  0.10838  0.10240  0.10082  0.10328  0.10063  0.10166  0.10928  0.10275  0.10352  0.09451	 0.09689  0.09486  0.10810  0.11237  0.10370  0.09691  0.09303	0.10105  0.08331  0.08442  0.10246  0.107 [...]
+Gymnostac  0.10191  0.09105  0.10271  0.08460  0.05607  0.08038  0.10705  0.10563  0.09655  0.09831  0.11201  0.10962  0.10194  0.09685  0.10415  0.09429  0.10910  0.10703  0.08302  0.11144  0.09914  0.09511  0.10217  0.10367  0.11203  0.09898  0.07649  0.08665  0.09703  0.10128  0.09411  0.09975  0.10304  0.09859  0.09312  0.10079  0.10128  0.09992  0.10629  0.09031  0.10112  0.08026	 0.09092  0.09059  0.09824  0.10313  0.10257  0.08449  0.08551	0.09080  0.07359  0.08133  0.10440  0.103 [...]
+Pistia     0.11093  0.10614  0.10708  0.10167  0.08437  0.10420  0.11407  0.11100  0.11514  0.11944  0.12378  0.12041  0.11715  0.10943  0.11507  0.10760  0.11924  0.12029  0.10356  0.11562  0.11210  0.10896  0.11298  0.11189  0.12509  0.10787  0.09531  0.10305  0.10645  0.11167  0.10475  0.11088  0.11614  0.11208  0.11191  0.11220  0.11252  0.11440  0.11635  0.10640  0.11154  0.10416	 0.10183  0.09446  0.10595  0.11620  0.11033  0.10891  0.10814	0.10883  0.09616  0.09939  0.10996  0.108 [...]
+Lemna      0.11014  0.10243  0.11092  0.10447  0.07936  0.10622  0.11018  0.11103  0.11971  0.11577  0.11550  0.11617  0.11235  0.10555  0.11170  0.10834  0.12221  0.11919  0.10008  0.11774  0.11099  0.11053  0.11598  0.12102  0.11938  0.11394  0.09333  0.09938  0.10715  0.10993  0.10560  0.10990  0.11016  0.10655  0.10870  0.11127  0.11626  0.11417  0.11352  0.10954  0.11068  0.10503	 0.10845  0.10111  0.10912  0.12147  0.11366  0.10497  0.10533	0.11123  0.09645  0.10145  0.11404  0.113 [...]
+Tacca      0.11660  0.10157  0.10022  0.09838  0.05833  0.09402  0.11722  0.12168  0.11758  0.11766  0.12596  0.12059  0.11516  0.10599  0.11235  0.10778  0.12302  0.11874  0.10174  0.11799  0.10804  0.10719  0.11337  0.11218  0.11279  0.11016  0.08715  0.09949  0.10741  0.11605  0.10758  0.10865  0.11476  0.11202  0.10663  0.11209  0.11149  0.10874  0.11876  0.11152  0.11373  0.10050	 0.10353  0.09956  0.11680  0.12012  0.11529  0.10338  0.10920	0.11357  0.09463  0.09701  0.11391  0.116 [...]
+Smilax     0.11016  0.10443  0.10163  0.09545  0.05904  0.09450  0.10917  0.11022  0.10687  0.10558  0.12296  0.11302  0.11016  0.10742  0.10663  0.10475  0.12145  0.11016  0.09960  0.11488  0.10806  0.10645  0.10876  0.10694  0.11199  0.11230  0.08716  0.09295  0.10514  0.11230  0.10232  0.10547  0.10868  0.10558  0.10279  0.10340  0.10621  0.10722  0.11346  0.10550  0.10944  0.09692	 0.11252  0.10181  0.11230  0.11649  0.10699  0.10628  0.10635	0.10900  0.09319  0.09086  0.10862  0.113 [...]
+Calochort  0.11016  0.10014  0.09579  0.09163  0.04839  0.08739  0.10696  0.11095  0.10832  0.11080  0.12146  0.11454  0.11016  0.10458  0.10735  0.10093  0.11233  0.11087  0.09529  0.11001  0.10801  0.10333  0.10489  0.10555  0.11129  0.10587  0.08423  0.09509  0.10204  0.10697  0.09548  0.10165  0.10488  0.10339  0.10048  0.09980  0.10013  0.10419  0.10658  0.10318  0.10515  0.09549	 0.10422  0.10255  0.11224  0.11937  0.11221  0.10265  0.10275	0.10890  0.08889  0.08920  0.11082  0.116 [...]
+Colchicum  0.12160  0.12089  0.10887  0.10475  0.06221  0.10132  0.12080  0.12311  0.12512  0.12977  0.13139  0.12901  0.12303  0.11961  0.12024  0.11461  0.12758  0.12232  0.11250  0.12729  0.12258  0.11789  0.12189  0.11523  0.12406  0.11445  0.10091  0.11103  0.11580  0.12371  0.11527  0.11556  0.11861  0.12281  0.11727  0.11786  0.11911  0.11944  0.12638  0.11916  0.11588  0.10840	 0.11330  0.11324  0.11993  0.12524  0.12212  0.12215  0.11855	0.12429  0.10751  0.10781  0.11473  0.128 [...]
+Burchardi  0.11731  0.12017  0.10952  0.09761  0.06138  0.09418  0.12222  0.11953  0.12670  0.12912  0.13156  0.12833  0.12303  0.11745  0.12095  0.11168  0.12464  0.11946  0.10533  0.12453  0.11732  0.11341  0.12126  0.11490  0.12023  0.11516  0.09286  0.11100  0.11664  0.12303  0.11306  0.11872  0.11720  0.12281  0.11357  0.11430  0.11997  0.11875  0.12495  0.11772  0.11373  0.10624	 0.11106  0.11179  0.11851  0.12233  0.11697  0.11417  0.11064	0.11828  0.10679  0.10352  0.11109  0.127 [...]
+Lilium     0.11016  0.10300  0.10381  0.09475  0.05365  0.09217  0.10844  0.11094  0.11298  0.11164  0.12155  0.11763  0.10944  0.10743  0.10448  0.10177  0.11317  0.11230  0.09672  0.10741  0.10807  0.10267  0.10268  0.10698  0.11195  0.10944  0.08788  0.09291  0.10213  0.11156  0.09784  0.10325  0.10569  0.10345  0.09908  0.10414  0.09721  0.10274  0.10818  0.10629  0.10443  0.09117	 0.10284  0.10112  0.11234  0.11867  0.10703  0.10478  0.10776	0.11207  0.08817  0.08822  0.10261  0.113 [...]
+Alstroeme  0.11946  0.12017  0.10880  0.09769  0.05826  0.09669  0.12009  0.12024  0.12430  0.13046  0.12593  0.12214  0.11660  0.11316  0.11592  0.10850  0.12449  0.11588  0.10604  0.12485  0.11408  0.10868  0.11565  0.11524  0.11568  0.11516  0.09434  0.10740  0.11039  0.11759  0.10915  0.11164  0.11023  0.11562  0.10736  0.10917  0.11150  0.11253  0.12178  0.11227  0.11159  0.10768	 0.11259  0.11087  0.11833  0.12309  0.11374  0.10914  0.11350	0.11892  0.10247  0.09658  0.11391  0.119 [...]
+Veratrum   0.11056  0.10750  0.10625  0.09873  0.05425  0.09515  0.11177  0.11286  0.11604  0.11404  0.12774  0.12002  0.11716  0.11286  0.10844  0.10940  0.12165  0.11490  0.09967  0.11789  0.11200  0.10732  0.11288  0.10822  0.11480  0.11648  0.09277  0.10396  0.10300  0.11477  0.10475  0.10636  0.11266  0.11021  0.10827  0.10959  0.10566  0.10969  0.11593  0.10860  0.10751  0.10135	 0.10447  0.10350  0.11175  0.12351  0.10872  0.10719  0.11090	0.11153  0.09828  0.09169  0.11108  0.121 [...]
+Aloe       0.10742  0.09963  0.10665  0.09033  0.06283  0.08936  0.11202  0.10826  0.10620  0.11200  0.11579  0.11159  0.11416  0.10589  0.10528  0.10297  0.11600  0.11112  0.09060  0.11458  0.11206  0.10279  0.10812  0.11030  0.11590  0.11271  0.08766  0.09747  0.10261  0.10627  0.10359  0.10696  0.10891  0.10461  0.10575  0.10399  0.10617  0.10729  0.10592  0.09701  0.10943  0.09925	 0.10015  0.09584  0.10464  0.11090  0.10834  0.09766  0.09631	0.10265  0.08613  0.08568  0.10548  0.109 [...]
+Haworthia  0.10599  0.09818  0.10520  0.09202  0.05902  0.09023  0.11058  0.10533  0.10393  0.10971  0.11427  0.11012  0.11198  0.10294  0.10384  0.10069  0.11530  0.10818  0.08913  0.11111  0.10973  0.10207  0.10655  0.10862  0.11288  0.11051  0.08619  0.09451  0.09947  0.10396  0.10363  0.10464  0.10578  0.10163  0.10263  0.10024  0.10545  0.10574  0.10595  0.09632  0.10948  0.09626	 0.09776  0.09435  0.10316  0.10868  0.10603  0.09469  0.09334	0.10028  0.08317  0.08573  0.10318  0.107 [...]
+Iris       0.09973  0.09889  0.10425  0.08637  0.04754  0.08374  0.10501  0.10132  0.10364  0.10222  0.10924  0.10902  0.10276  0.09753  0.10586  0.09893  0.11488  0.11098  0.08610  0.10914  0.10150  0.09792  0.10319  0.10804  0.10911  0.10507  0.08094  0.09665  0.09853  0.10285  0.10183  0.10589  0.10555  0.10455  0.09766  0.10389  0.10131  0.09997  0.10891  0.09464  0.10775  0.08940	 0.09131  0.09422  0.10288  0.10997  0.11055  0.09084  0.09166	0.09840  0.08098  0.08232  0.10057  0.103 [...]
+Anomathec  0.11087  0.10515  0.10521  0.09140  0.05144  0.09052  0.10916  0.11095  0.10468  0.10641  0.11706  0.11918  0.11516  0.10886  0.11022  0.10787  0.12159  0.11731  0.09672  0.12159  0.11115  0.10647  0.11271  0.10885  0.11654  0.11588  0.08058  0.10088  0.10750  0.10861  0.10845  0.10943  0.11183  0.11560  0.10362  0.11207  0.10780  0.10883  0.11578  0.10098  0.10944  0.09835	 0.10268  0.09813  0.10405  0.11428  0.11160  0.10044  0.10056	0.10673  0.09247  0.08490  0.10798  0.114 [...]
+Medeola    0.10293  0.09826  0.10521  0.09146  0.05834  0.09227  0.10531  0.10076  0.10388  0.10648  0.11755  0.10930  0.10372  0.10145  0.10385  0.09904  0.11276  0.10899  0.08767  0.10331  0.10815  0.09965  0.10411  0.11313  0.11749  0.10524  0.08624  0.09075  0.10425  0.10548  0.09645  0.10540  0.10336  0.10250  0.09935  0.10031  0.09983  0.10335  0.10358  0.09464  0.09895  0.08720	 0.10660  0.09982  0.11102  0.10952  0.10351  0.09777  0.09564	0.10832  0.08166  0.08818  0.10146  0.104 [...]
+Cyanastru  0.10028  0.10369  0.10983  0.09437  0.04527  0.09172  0.11008  0.10214  0.09940  0.10445  0.11726  0.11194  0.10904  0.09938  0.10862  0.10221  0.12185  0.10833  0.09547  0.10933  0.10764  0.10089  0.10690  0.11018  0.11372  0.10747  0.08587  0.09920  0.10640  0.10851  0.09963  0.10354  0.10055  0.11199  0.10334  0.10432  0.10766  0.10600  0.10628  0.10520  0.11338  0.09365	 0.10043  0.09826  0.11236  0.10707  0.10428  0.09772  0.09970	0.10555  0.08972  0.09260  0.10135  0.104 [...]
+Chamaelir  0.10944  0.09871  0.10310  0.08454  0.04308  0.08029  0.10993  0.11166  0.11145  0.11460  0.12517  0.12060  0.11445  0.10671  0.11164  0.10774  0.12672  0.11588  0.10032  0.11600  0.11565  0.10719  0.11491  0.10709  0.11738  0.10944  0.08498  0.09511  0.10662  0.11603  0.10298  0.10397  0.10641  0.11349  0.10659  0.10846  0.10920  0.11099  0.11949  0.10687  0.11016  0.09763	 0.10291  0.10178  0.10996  0.11580  0.11224  0.10552  0.10348	0.11206  0.09173  0.09076  0.11162  0.118 [...]
+Vellozia   0.09845  0.09770  0.09701  0.09009  0.05755  0.09090  0.09725  0.09852  0.09957  0.10056  0.11047  0.10735  0.10208  0.09494  0.09273  0.09368  0.11122  0.10425  0.08627  0.10373  0.10141  0.09296  0.09831  0.10129  0.10267  0.09342  0.07267  0.08448  0.09172  0.09972  0.08960  0.09044  0.09607  0.09808  0.09324  0.09224  0.09666  0.09916  0.10232  0.09358  0.09846  0.09156	 0.09860  0.09152  0.10201  0.11050  0.09894  0.09282  0.09297	0.09698  0.08344  0.08339  0.09906  0.104 [...]
+Freycinet  0.10801  0.10300  0.10383  0.08888  0.05222  0.08877  0.10631  0.10735  0.11231  0.11249  0.12234  0.11695  0.10873  0.10669  0.10662  0.10258  0.11935  0.11087  0.10102  0.11633  0.10812  0.10348  0.10887  0.10333  0.10675  0.10944  0.08430  0.09371  0.10448  0.10862  0.10315  0.10183  0.11105  0.10698  0.10371  0.10267  0.10785  0.10657  0.11730  0.10787  0.11373  0.10193	 0.10653  0.09820  0.10862  0.11865  0.10784  0.10405  0.10198	0.10834  0.09319  0.09100  0.10648  0.111 [...]
+Sphaerade  0.09943  0.09657  0.09581  0.08110  0.04220  0.07683  0.10045  0.10021  0.10390  0.10410  0.11085  0.10780  0.10443  0.09746  0.10305  0.09795  0.11770  0.10658  0.09171  0.10999  0.10193  0.09807  0.10571  0.10680  0.10521  0.10157  0.07842  0.08858  0.09907  0.10550  0.09704  0.09862  0.10342  0.10485  0.09527  0.09906  0.10549  0.10119  0.11197  0.10243  0.10873  0.09547	 0.09826  0.09503  0.10549  0.11215  0.10473  0.09686  0.09483	0.10445  0.08601  0.08483  0.10111  0.106 [...]
+Sagittari  0.12712  0.12770  0.13168  0.12672  0.10436  0.12420  0.13242  0.12797  0.13443  0.13359  0.12857  0.12768  0.12628  0.11572  0.12873  0.12464  0.13851  0.13239  0.12551  0.13492  0.13238  0.12460  0.12939  0.13986  0.14168  0.13392  0.12099  0.12172  0.12119  0.12708  0.12696  0.12483  0.12984  0.13505  0.12750  0.12845  0.12786  0.13058  0.12843  0.12598  0.13445  0.12583	 0.12553  0.12227  0.12782  0.13545  0.12908  0.13433  0.13135	0.13265  0.12184  0.11704  0.13190  0.127 [...]
+Alisma     0.10425  0.10990  0.10757  0.10517  0.08448  0.10687  0.10940  0.10527  0.10946  0.11239  0.11017  0.11153  0.10166  0.09487  0.10192  0.10548  0.11838  0.11514  0.10367  0.10753  0.11530  0.10431  0.10762  0.11715  0.11625  0.10262  0.09265  0.09712  0.09966  0.10706  0.10484  0.10324  0.10637  0.10711  0.10577  0.10822  0.10999  0.10930  0.11227  0.11303  0.10838  0.10453	 0.10904  0.10441  0.11356  0.11790  0.11022  0.11364  0.11050	0.11867  0.10152  0.10440  0.11086  0.110 [...]
+Sagittlat  0.12093  0.11995  0.12014  0.11959  0.09635  0.11705  0.12692  0.12114  0.12612  0.12708  0.12601  0.12655  0.11924  0.10660  0.12118  0.12033  0.13504  0.12944  0.11634  0.12458  0.12937  0.12122  0.12499  0.13762  0.13126  0.12792  0.11196  0.11734  0.11651  0.12201  0.11880  0.11615  0.12042  0.12894  0.12256  0.12246  0.12394  0.12607  0.12364  0.12459  0.12759  0.12124	 0.11973  0.11767  0.12034  0.12357  0.12691  0.12719  0.12400	0.12851  0.11326  0.11584  0.12847  0.124 [...]
+Potamoget  0.10651  0.10802  0.11245  0.10941  0.08806  0.11026  0.11512  0.11248  0.12005  0.12382  0.12638  0.12685  0.11931  0.11256  0.11106  0.10810  0.11646  0.11849  0.09855  0.11112  0.11543  0.10870  0.11191  0.11620  0.11451  0.11111  0.10111  0.10302  0.10331  0.11425  0.10396  0.10776  0.11011  0.11467  0.11118  0.11061  0.11812  0.11382  0.12027  0.10929  0.10488  0.10267	 0.10168  0.10349  0.10809  0.11246  0.11736  0.10506  0.11216	0.11229  0.09308  0.10162  0.11797  0.122 [...]
+Dianthus   0.09510  0.09222  0.08932  0.10319  0.10169  0.10232  0.10119  0.09734  0.09926  0.09717  0.10025  0.09401  0.09438  0.08355  0.08718  0.08333  0.09728  0.09584  0.08208  0.09018  0.09571  0.08481  0.08790  0.09043  0.09745  0.09293  0.07988  0.08787  0.07978  0.09403  0.08068  0.08627  0.09119  0.09688  0.08672  0.07706  0.08482  0.08962  0.08971  0.08223  0.09143  0.08444	 0.08522  0.07797  0.08106  0.10503  0.08937  0.08786  0.08676	0.08595  0.07265  0.07841  0.08798  0.095 [...]
+Basella    0.10168  0.09512  0.09513  0.10544  0.11394  0.10876  0.10553  0.10103  0.10553  0.10186  0.10186  0.09954  0.10164  0.09157  0.08865  0.08111  0.09964  0.09730  0.08719  0.09845  0.09970  0.08489  0.08878  0.09970  0.10203  0.09872  0.08424  0.09150  0.08599  0.09102  0.08617  0.09103  0.09664  0.09688  0.08301  0.08883  0.09106  0.08821  0.09675  0.08859  0.10233  0.09168	 0.09514  0.08116  0.08350  0.10577  0.10086  0.09156  0.09183	0.09845  0.08356  0.08038  0.09494  0.099 [...]
+Mollugo    0.11041  0.10309  0.10530  0.10717  0.11389  0.10970  0.11210  0.11193  0.11077  0.10708  0.10568  0.10704  0.10673  0.09888  0.10025  0.09176  0.10340  0.10528  0.09664  0.11103  0.10426  0.09562  0.09651  0.10711  0.10953  0.10529  0.08642  0.09150  0.09360  0.09863  0.09442  0.10013  0.10113  0.10347  0.09669  0.09831  0.09935  0.10112  0.10507  0.09919  0.10887  0.09751	 0.10281  0.09096  0.09331  0.11678  0.10540  0.10108  0.10063	0.10687  0.09304  0.09119  0.10174  0.101 [...]
+Phytolacc  0.10242  0.10237  0.09877  0.11218  0.11614  0.11553  0.10700  0.10175  0.11008  0.10562  0.10882  0.10710  0.10672  0.10029  0.10023  0.09101  0.10723  0.10165  0.09083  0.10436  0.10578  0.09102  0.09960  0.10546  0.11100  0.10527  0.08787  0.09441  0.09900  0.09786  0.09677  0.10089  0.10033  0.10709  0.09367  0.09685  0.10011  0.09732  0.10272  0.09771  0.10959  0.09967	 0.09973  0.08949  0.09564  0.11083  0.10616  0.09890  0.09698	0.10455  0.08792  0.08949  0.10178  0.103 [...]
+Trianthem  0.11112  0.10672  0.10458  0.12347  0.11402  0.12260  0.11502  0.11700  0.11934  0.11487  0.11415  0.11635  0.11324  0.10536  0.10459  0.10183  0.11273  0.10310  0.10386  0.11005  0.10979  0.10266  0.10741  0.11153  0.11032  0.11472  0.09804  0.09949  0.10220  0.10795  0.10233  0.10727  0.10664  0.10928  0.10143  0.10419  0.10412  0.10891  0.11139  0.10241  0.11248  0.10768	 0.10123  0.09725  0.09729  0.12040  0.10938  0.10107  0.10430	0.10535  0.09376  0.09818  0.10804  0.107 [...]
+Portulaca  0.10170  0.10380  0.10022  0.10637  0.10702  0.10723  0.10555  0.10103  0.10560  0.10267  0.10581  0.09879  0.09945  0.08937  0.08717  0.07970  0.09669  0.09585  0.09225  0.09663  0.09517  0.08344  0.08731  0.09878  0.10128  0.09220  0.08715  0.08860  0.08456  0.09193  0.08467  0.09189  0.09287  0.09618  0.08386  0.08886  0.09116  0.09061  0.09688  0.09560  0.10162  0.09315	 0.09576  0.08204  0.08361  0.11307  0.09570  0.09082  0.09475	0.09766  0.08430  0.08646  0.09201  0.099 [...]
+Mirabilus  0.10604  0.10163  0.10022  0.11558  0.11302  0.11727  0.10920  0.10828  0.11944  0.11495  0.10730  0.11105  0.11251  0.10684  0.10098  0.09807  0.11433  0.11109  0.10245  0.11212  0.10981  0.09965  0.10673  0.10971  0.11473  0.11107  0.09223  0.10167  0.10301  0.10804  0.09935  0.10650  0.10670  0.11366  0.09996  0.10272  0.10646  0.10599  0.11001  0.10550  0.11394  0.10694	 0.10803  0.09880  0.09887  0.11743  0.11245  0.10693  0.10649	0.11009  0.09593  0.09221  0.10964  0.109 [...]
+Rivina     0.10896  0.10745  0.10312  0.11980  0.11163  0.12147  0.10993  0.11047  0.11949  0.11038  0.10810  0.11260  0.10817  0.10175  0.10023  0.09419  0.11044  0.10238  0.09737  0.11197  0.09972  0.09650  0.10126  0.11312  0.11179  0.10601  0.09368  0.09731  0.09683  0.10343  0.09466  0.10575  0.09668  0.10564  0.09762  0.09902  0.10185  0.10053  0.10601  0.09869  0.10743  0.10481	 0.10200  0.09039  0.09885  0.11595  0.11169  0.09890  0.10425	0.10692  0.09084  0.08972  0.10348  0.101 [...]
+Alluaudia  0.09659  0.09294  0.08715  0.10133  0.10177  0.10127  0.09898  0.09810  0.09706  0.09423  0.09801  0.09645  0.09221  0.08358  0.08574  0.07805  0.09506  0.09367  0.08647  0.09339  0.09507  0.07950  0.08409  0.09549  0.09828  0.09003  0.07698  0.08569  0.08142  0.08799  0.07926  0.08565  0.08821  0.09471  0.08146  0.08148  0.08649  0.08592  0.09142  0.08401  0.09581  0.08661	 0.09057  0.07735  0.08044  0.10503  0.09326  0.08717  0.08894	0.09376  0.07632  0.07954  0.08807  0.090 [...]
+Stegonosp  0.08720  0.08493  0.08424  0.09795  0.09938  0.10046  0.09243  0.09017  0.09629  0.09267  0.09658  0.09190  0.08930  0.08068  0.07920  0.07197  0.08818  0.09003  0.07918  0.09240  0.08892  0.07643  0.08098  0.09287  0.09143  0.08715  0.06826  0.07407  0.07526  0.08494  0.07842  0.08174  0.09048  0.09036  0.07532  0.07785  0.08416  0.08206  0.08982  0.07861  0.09073  0.07858	 0.07842  0.06890  0.07281  0.09469  0.08564  0.07906  0.07873	0.08523  0.06902  0.07092  0.08349  0.087 [...]
+Atriplex   0.10873  0.10014  0.09221  0.10818  0.10566  0.10814  0.10918  0.10878  0.11449  0.11161  0.11019  0.10780  0.10443  0.10031  0.09518  0.09493  0.09806  0.10372  0.08883  0.10764  0.10035  0.09645  0.10026  0.09952  0.10128  0.09514  0.08494  0.09073  0.09068  0.10475  0.09241  0.09941  0.10640  0.10698  0.09371  0.09321  0.10317  0.09964  0.11104  0.09641  0.10300  0.09044	 0.09750  0.09050  0.09197  0.11067  0.10247  0.09168  0.09697	0.10525  0.08599  0.08539  0.10253  0.108 [...]
+Amaranthu  0.11803  0.11302  0.10673  0.11657  0.11254  0.11569  0.11428  0.11881  0.12433  0.12142  0.11254  0.11534  0.10801  0.10245  0.10304  0.10556  0.10723  0.11159  0.10173  0.11591  0.11107  0.10638  0.10497  0.10881  0.10805  0.11016  0.09728  0.09728  0.09758  0.11387  0.10913  0.10482  0.11103  0.11128  0.10363  0.10765  0.11305  0.11330  0.12021  0.11003  0.11302  0.10552	 0.10932  0.10488  0.10560  0.12225  0.11913  0.10391  0.10558	0.11211  0.10105  0.09996  0.11545  0.115 [...]
+Spinacia   0.10157  0.10229  0.09369  0.10836  0.10784  0.10580  0.10048  0.10379  0.10609  0.10476  0.10339  0.10248  0.10157  0.09458  0.09304  0.08806  0.09196  0.10014  0.08454  0.09923  0.09577  0.08958  0.09331  0.09276  0.09748  0.09943  0.08425  0.08641  0.08833  0.09711  0.09237  0.09091  0.10254  0.10194  0.08914  0.08884  0.09555  0.09278  0.10189  0.09555  0.10372  0.09764	 0.09511  0.08817  0.09041  0.11210  0.10389  0.09167  0.09050	0.09687  0.08238  0.08023  0.10394  0.103 [...]
+Plumbago   0.12160  0.11016  0.11166  0.11127  0.12055  0.11367  0.11853  0.12238  0.12355  0.12061  0.12848  0.11916  0.11946  0.11179  0.11809  0.10324  0.11923  0.11516  0.09961  0.11816  0.10808  0.10343  0.10592  0.12036  0.11993  0.11445  0.09209  0.10517  0.11046  0.11607  0.10613  0.11537  0.12081  0.11205  0.10667  0.11141  0.11525  0.11030  0.11871  0.10545  0.11087  0.10416	 0.10743  0.09951  0.10855  0.11443  0.10853  0.10331  0.10700	0.11154  0.09960  0.09744  0.10867  0.105 [...]
+Rheum      0.11302  0.10515  0.10010  0.09611  0.11467  0.10026  0.10984  0.11381  0.11818  0.11600  0.11930  0.11299  0.11731  0.10752  0.10520  0.09714  0.11460  0.10658  0.09530  0.11235  0.09958  0.09798  0.10110  0.11022  0.11256  0.10587  0.08634  0.09869  0.10351  0.10997  0.10370  0.11376  0.11087  0.10629  0.10279  0.10918  0.11139  0.10488  0.11557  0.10238  0.10372  0.10261	 0.10351  0.09411  0.10695  0.11439  0.10621  0.10042  0.10271	0.10986  0.09388  0.09402  0.10631  0.107 [...]
+Nepenthes  0.09084  0.08011  0.08346  0.08462  0.08488  0.08711  0.09389  0.09519  0.09715  0.09510  0.10351  0.09359  0.09156  0.08311  0.09375  0.07920  0.10115  0.09371  0.07235  0.08829  0.08752  0.08060  0.08357  0.09392  0.09280  0.08655  0.06316  0.07985  0.08623  0.09126  0.07733  0.08646  0.08988  0.09047  0.07873  0.08532  0.09123  0.08387  0.09460  0.07979  0.09013  0.07749	 0.07792  0.07849  0.08524  0.09402  0.08449  0.07508  0.07900	0.08390  0.06735  0.07104  0.08606  0.086 [...]
+D.filifor  0.11230  0.10587  0.10303  0.10560  0.11383  0.10808  0.11205  0.11594  0.12065  0.12075  0.12317  0.11399  0.11373  0.10890  0.10307  0.09807  0.11103  0.10443  0.09171  0.10751  0.10887  0.09741  0.10273  0.09981  0.10792  0.10801  0.09072  0.09432  0.10522  0.11016  0.10308  0.10781  0.11028  0.10845  0.09391  0.10124  0.11382  0.10956  0.11729  0.10254  0.10587  0.10189	 0.10263  0.09360  0.09885  0.11363  0.10640  0.09746  0.09481	0.10153  0.08955  0.08984  0.10349  0.106 [...]
+D.petiola  0.09761  0.09594  0.10517  0.09537  0.10729  0.09784  0.10142  0.09996  0.10724  0.10584  0.11206  0.11040  0.10589  0.10376  0.09544  0.08971  0.10267  0.09907  0.09596  0.09656  0.10273  0.09021  0.09292  0.10009  0.10068  0.10594  0.08545  0.09222  0.09806  0.10011  0.09413  0.09749  0.10275  0.09487  0.09085  0.09720  0.10246  0.10032  0.10450  0.09898  0.09372  0.09545	 0.10243  0.09290  0.09777  0.11403  0.10140  0.09620  0.09260	0.09887  0.08852  0.08597  0.09775  0.097 [...]
+D.spathul  0.10944  0.10014  0.10310  0.09815  0.11005  0.10145  0.10991  0.11165  0.11906  0.12220  0.12535  0.11543  0.11445  0.10748  0.10451  0.09650  0.11021  0.10515  0.09315  0.10834  0.10883  0.09508  0.10266  0.10321  0.10950  0.10801  0.08787  0.09366  0.10664  0.10933  0.10303  0.10547  0.11175  0.10977  0.09460  0.09831  0.11526  0.10949  0.11725  0.10163  0.10515  0.10266	 0.10504  0.09198  0.09648  0.11297  0.10254  0.09820  0.09839	0.10444  0.08883  0.08702  0.10420  0.105 [...]
+Dionaea    0.11016  0.10014  0.10596  0.10385  0.10703  0.10553  0.11203  0.11237  0.10908  0.11150  0.11624  0.11303  0.10587  0.10098  0.10378  0.10092  0.11084  0.10443  0.09387  0.10765  0.10644  0.09877  0.10020  0.11164  0.10716  0.10372  0.09073  0.09362  0.10203  0.10622  0.10066  0.11144  0.10712  0.10481  0.10052  0.10116  0.11061  0.10866  0.11259  0.09547  0.10157  0.10044	 0.10510  0.10097  0.10618  0.11732  0.10393  0.09459  0.10128	0.10057  0.09244  0.09533  0.10104  0.101 [...]
+Trigonia   0.09607  0.05880  0.07999  0.10246  0.08816  0.10149  0.09987  0.09756  0.09949  0.09659  0.10947  0.10266  0.10035  0.09189  0.09540  0.08521  0.10125  0.09320  0.07901  0.10148  0.08835  0.08517  0.08734  0.09323  0.09752  0.09247  0.06397  0.07923  0.09152  0.08974  0.08872  0.09406  0.08984  0.09647  0.07868  0.08981  0.09567  0.09142  0.10208  0.07598  0.09321  0.07626	 0.07613  0.08148  0.08902  0.09502  0.09354  0.07173  0.08212	0.07864  0.06684  0.07180  0.08683  0.094 [...]
+Pisum      0.10515  0.08226  0.09442  0.11299  0.10646  0.11124  0.10264  0.10736  0.11236  0.10948  0.11118  0.11025  0.10730  0.10170  0.09805  0.09511  0.10576  0.10873  0.08882  0.09913  0.10128  0.09733  0.09670  0.09889  0.10360  0.10157  0.08715  0.08786  0.08478  0.09965  0.09479  0.10193  0.10053  0.09981  0.09391  0.09619  0.10030  0.09755  0.10444  0.09425  0.10014  0.09689	 0.09357  0.08997  0.09745  0.11137  0.10266  0.09599  0.09123	0.09765  0.08529  0.08823  0.09975  0.099 [...]
+Medicago   0.10515  0.09227  0.09801  0.11926  0.10277  0.11752  0.10188  0.10593  0.11374  0.11392  0.11257  0.11168  0.10944  0.10531  0.11022  0.10481  0.11930  0.11588  0.09240  0.10414  0.10804  0.10483  0.10345  0.11346  0.11424  0.11373  0.09075  0.08927  0.09836  0.11013  0.10383  0.10789  0.11328  0.11201  0.10437  0.10771  0.11150  0.10501  0.11641  0.09564  0.10944  0.10336	 0.09816  0.10035  0.10630  0.11499  0.10852  0.10037  0.09627	0.09908  0.09102  0.08731  0.10713  0.102 [...]
+Bauhinia   0.08691  0.07202  0.08191  0.10400  0.09355  0.10045  0.08399  0.09093  0.08430  0.08507  0.10384  0.09684  0.09634  0.08783  0.08086  0.07899  0.08993  0.08178  0.07123  0.09601  0.09264  0.07555  0.08370  0.08366  0.08878  0.08375  0.06601  0.07407  0.07508  0.08189  0.08320  0.08768  0.09189  0.09406  0.08102  0.08391  0.09375  0.08904  0.09318  0.07573  0.09070  0.07633	 0.07125  0.06920  0.08285  0.08154  0.08915  0.07577  0.07645	0.08006  0.06509  0.06911  0.07921  0.086 [...]
+Albizzia   0.08637  0.08865  0.08189  0.10309  0.10552  0.09774  0.09312  0.08959  0.08969  0.08638  0.09996  0.10148  0.09412  0.08135  0.08559  0.07750  0.09706  0.08960  0.07774  0.10675  0.09217  0.07654  0.08609  0.08796  0.08020  0.08428  0.06769  0.08215  0.07894  0.07963  0.07501  0.08841  0.07760  0.10048  0.07807  0.08645  0.09538  0.09036  0.08986  0.07615  0.08820  0.08213	 0.07863  0.07818  0.09157  0.08096  0.09415  0.08292  0.07928	0.08614  0.07341  0.07369  0.09363  0.087 [...]
+Cephalot   0.08071  0.06252  0.07636  0.09494  0.08826  0.09666  0.08525  0.08223  0.08567  0.08903  0.08977  0.08664  0.08359  0.07563  0.08000  0.07051  0.09213  0.07998  0.07197  0.08750  0.07973  0.07036  0.07635  0.08735  0.09313  0.08068  0.05744  0.07199  0.07309  0.08272  0.07626  0.08657  0.08676  0.09263  0.07002  0.08008  0.08962  0.08063  0.09227  0.06715  0.07627  0.06629	 0.06781  0.06752  0.07745  0.08303  0.08338  0.07040  0.07296	0.07281  0.06254  0.06857  0.08206  0.078 [...]
+Erythroxy  0.09800  0.06295  0.08560  0.10078  0.08796  0.09824  0.09966  0.09948  0.09775  0.09639  0.10697  0.10243  0.09442  0.09455  0.09518  0.09177  0.10548  0.09943  0.08096  0.10048  0.09949  0.09255  0.08944  0.09822  0.10039  0.09585  0.06674  0.08123  0.09350  0.09181  0.08923  0.09763  0.09789  0.10126  0.08750  0.09177  0.10300  0.09345  0.10709  0.07361  0.09657  0.07681	 0.08106  0.08210  0.09185  0.09692  0.09935  0.07585  0.08402	0.08607  0.06882  0.07515  0.09637  0.099 [...]
+Rheinward  0.09871  0.06135  0.08304  0.09966  0.09188  0.09710  0.10097  0.10175  0.10082  0.10408  0.10334  0.09853  0.09576  0.08912  0.09359  0.08498  0.09859  0.08976  0.07924  0.10565  0.09619  0.08481  0.09289  0.10250  0.10213  0.09199  0.06583  0.08443  0.08456  0.09604  0.08781  0.09433  0.09550  0.09910  0.07742  0.09076  0.09996  0.09550  0.09958  0.07443  0.08438  0.08543	 0.07969  0.07470  0.08273  0.09686  0.09268  0.08300  0.08251	0.09089  0.07479  0.07397  0.08902  0.093 [...]
+Humiria    0.07582  0.03791  0.06970  0.08215  0.07427  0.08210  0.08224  0.07802  0.08489  0.08059  0.09573  0.08592  0.08441  0.07524  0.07658  0.06175  0.08592  0.07511  0.06162  0.08058  0.07370  0.05998  0.06799  0.07930  0.08233  0.07725  0.04427  0.06315  0.07323  0.06923  0.06730  0.07329  0.07761  0.08331  0.06196  0.06866  0.07971  0.07162  0.08000  0.05990  0.08226  0.06245	 0.06320  0.05648  0.06775  0.07597  0.08054  0.06359  0.06249	0.06477  0.05018  0.04942  0.07761  0.076 [...]
+Ochna      0.08512  0.05651  0.07912  0.09136  0.08490  0.08792  0.09022  0.08589  0.08952  0.08823  0.10039  0.09203  0.09156  0.08454  0.08372  0.07613  0.09204  0.08298  0.06519  0.08436  0.08366  0.07903  0.08039  0.08617  0.09067  0.08512  0.05953  0.06823  0.07712  0.08742  0.07728  0.08029  0.08298  0.09192  0.07107  0.07518  0.08510  0.07775  0.08839  0.07065  0.08727  0.07105	 0.06832  0.06788  0.07768  0.08244  0.08968  0.07368  0.07038	0.07318  0.05948  0.06077  0.09127  0.082 [...]
+Paeonia    0.09442  0.09156  0.08778  0.10058  0.09858  0.10397  0.09306  0.09877  0.09545  0.09792  0.10549  0.09037  0.08870  0.08886  0.08874  0.08279  0.09193  0.09299  0.06951  0.09640  0.08811  0.08503  0.08875  0.09712  0.09431  0.09156  0.05946  0.07326  0.08761  0.09031  0.08550  0.09536  0.09723  0.09839  0.08308  0.08747  0.09399  0.08750  0.09807  0.07044  0.08369  0.07179	 0.07672  0.07302  0.08277  0.09190  0.08429  0.07730  0.07690	0.08233  0.06309  0.06783  0.08661  0.087 [...]
+Rhamnus    0.08870  0.06223  0.07984  0.10078  0.08732  0.09744  0.08875  0.09090  0.08481  0.08882  0.09941  0.09795  0.09299  0.08743  0.09446  0.08347  0.10390  0.09514  0.07238  0.09809  0.09568  0.08725  0.09095  0.09554  0.09746  0.09084  0.06241  0.07619  0.08903  0.09022  0.08543  0.09603  0.09486  0.09624  0.08372  0.09394  0.09917  0.08818  0.10329  0.06969  0.09442  0.07681	 0.07674  0.07526  0.08425  0.09118  0.09247  0.07590  0.07402	0.07842  0.06238  0.06545  0.08730  0.089 [...]
+Krameria   0.08870  0.07582  0.08564  0.10121  0.09497  0.09862  0.09171  0.09232  0.09777  0.09568  0.10183  0.09724  0.09514  0.09025  0.09162  0.08590  0.10337  0.09371  0.08168  0.09954  0.09652  0.08732  0.09188  0.09223  0.09824  0.09371  0.06604  0.08419  0.09147  0.09345  0.08479  0.09868  0.09580  0.09551  0.07784  0.08819  0.09560  0.08980  0.10045  0.07657  0.09800  0.08541	 0.08188  0.08440  0.08437  0.09550  0.09114  0.08523  0.08621	0.08610  0.07813  0.07492  0.09201  0.095 [...]
+Qualea     0.08441  0.06724  0.06534  0.09711  0.08737  0.09874  0.09241  0.08875  0.08801  0.08749  0.10187  0.09959  0.09657  0.08525  0.08874  0.07769  0.09886  0.09013  0.07809  0.09340  0.08295  0.07831  0.08271  0.09309  0.09296  0.08655  0.05954  0.07765  0.08394  0.07768  0.07732  0.08643  0.08301  0.09045  0.07563  0.08242  0.08966  0.08384  0.09377  0.08048  0.09299  0.07680	 0.07956  0.08374  0.08672  0.09334  0.09495  0.07368  0.08260	0.08232  0.07168  0.07445  0.08750  0.090 [...]
+Securidac  0.09514  0.07225  0.07982  0.10072  0.08880  0.09812  0.09459  0.09735  0.09465  0.09482  0.10918  0.10467  0.10515  0.09387  0.09733  0.08724  0.10693  0.09156  0.08742  0.10449  0.10030  0.08651  0.08717  0.09565  0.09588  0.09514  0.07184  0.08124  0.08607  0.09623  0.08471  0.08764  0.09490  0.09911  0.08751  0.09754  0.10069  0.09419  0.10183  0.08635  0.09442  0.09189	 0.08420  0.08125  0.09327  0.10274  0.09398  0.08598  0.09343	0.08603  0.07744  0.07313  0.08880  0.090 [...]
+Polygala   0.10658  0.07511  0.09067  0.10881  0.09264  0.10372  0.10986  0.11024  0.10685  0.10621  0.11461  0.10849  0.10944  0.10175  0.10305  0.09333  0.11002  0.10014  0.09099  0.11123  0.10640  0.09262  0.09493  0.10415  0.10343  0.10086  0.07762  0.09429  0.09369  0.09635  0.09385  0.10160  0.10251  0.10557  0.09286  0.10338  0.10755  0.09954  0.11021  0.08790  0.10300  0.08827	 0.09025  0.09266  0.10161  0.10491  0.10463  0.08594  0.09700	0.09295  0.08244  0.08167  0.09720  0.098 [...]
+Platythec  0.08441  0.07082  0.07691  0.09396  0.09419  0.09649  0.08802  0.08805  0.09239  0.09262  0.09724  0.08210  0.08584  0.07739  0.08445  0.07676  0.09571  0.08512  0.07524  0.08865  0.08285  0.07746  0.08177  0.08973  0.09219  0.08870  0.05732  0.07764  0.08001  0.08878  0.08174  0.09002  0.09268  0.09407  0.07623  0.08168  0.09173  0.08370  0.09659  0.07275  0.08941  0.07322	 0.07431  0.07455  0.08431  0.08464  0.08577  0.07015  0.07759	0.07764  0.06668  0.07343  0.08736  0.077 [...]
+Leitneria  0.09728  0.08226  0.08271  0.09925  0.09550  0.09923  0.10106  0.10164  0.09768  0.10014  0.10174  0.10620  0.10086  0.08957  0.09732  0.08882  0.10631  0.09800  0.08742  0.09914  0.09889  0.09038  0.09629  0.09864  0.09734  0.09156  0.07112  0.08562  0.09211  0.09557  0.09004  0.09377  0.10248  0.10410  0.08158  0.08963  0.09926  0.09652  0.09969  0.08573  0.10443  0.08332	 0.08791  0.08886  0.08885  0.09988  0.10088  0.08601  0.08832	0.08838  0.07886  0.08038  0.09492  0.092 [...]
+Bursera    0.08870  0.07439  0.07688  0.09221  0.09333  0.09045  0.09165  0.08946  0.08946  0.08972  0.09584  0.09573  0.08870  0.08169  0.08945  0.08289  0.09279  0.09227  0.08455  0.09597  0.09056  0.08210  0.08655  0.08984  0.09513  0.08798  0.06457  0.07543  0.08089  0.08891  0.08330  0.08787  0.09432  0.09045  0.07640  0.08894  0.09486  0.09060  0.09295  0.08193  0.09728  0.08398	 0.08045  0.08364  0.08439  0.09979  0.09570  0.08020  0.08187	0.08161  0.07603  0.07446  0.09126  0.087 [...]
+Acer       0.09728  0.07797  0.08055  0.09390  0.09178  0.09137  0.09892  0.10092  0.09093  0.09420  0.10335  0.10547  0.09442  0.08956  0.09017  0.08512  0.09425  0.09371  0.08741  0.10167  0.09356  0.08432  0.09031  0.09394  0.09661  0.08727  0.06825  0.07908  0.08610  0.09188  0.08778  0.09550  0.09502  0.09620  0.08239  0.09325  0.09856  0.09432  0.09589  0.08121  0.10086  0.08328	 0.08708  0.08892  0.09191  0.10201  0.09493  0.08455  0.08766	0.09069  0.07671  0.08282  0.09345  0.089 [...]
+Schinus    0.08727  0.07368  0.07404  0.08804  0.09269  0.08631  0.08806  0.09017  0.09025  0.08897  0.09898  0.09583  0.08655  0.08096  0.08086  0.07467  0.08686  0.08369  0.07809  0.09155  0.08454  0.07529  0.08040  0.08475  0.08689  0.08226  0.06100  0.07042  0.07718  0.07616  0.07953  0.08410  0.08754  0.08974  0.07267  0.08241  0.09192  0.08384  0.08999  0.07676  0.09585  0.07826	 0.07802  0.07695  0.08143  0.09403  0.08898  0.07514  0.07901	0.07927  0.06953  0.07374  0.08526  0.082 [...]
+Cupaniops  0.09156  0.07010  0.08060  0.09234  0.09268  0.09228  0.09243  0.09519  0.09252  0.09577  0.10041  0.10025  0.09728  0.08956  0.08874  0.07916  0.09129  0.09871  0.08311  0.09761  0.08979  0.07829  0.08580  0.08806  0.09443  0.08727  0.06244  0.07985  0.08694  0.08668  0.08481  0.08948  0.09359  0.09692  0.07791  0.08894  0.09564  0.08684  0.09297  0.08426  0.09514  0.08183	 0.07955  0.08066  0.08670  0.10127  0.09271  0.07949  0.08189	0.08617  0.07670  0.07702  0.09200  0.086 [...]
+Ailanthus  0.09514  0.07296  0.07697  0.09647  0.09109  0.09557  0.09678  0.09734  0.09543  0.09260  0.10021  0.10393  0.09657  0.08742  0.09160  0.08731  0.09874  0.09657  0.08456  0.09922  0.09349  0.08733  0.09254  0.09426  0.08995  0.08941  0.06534  0.08349  0.08759  0.09179  0.08549  0.09304  0.09795  0.10050  0.07859  0.08959  0.09924  0.09575  0.10042  0.08261  0.09728  0.08255	 0.08354  0.08732  0.08430  0.10200  0.10237  0.08382  0.08331	0.08761  0.07599  0.07439  0.09643  0.094 [...]
+Vitis      0.08298  0.06366  0.07407  0.07966  0.07814  0.08051  0.08151  0.08660  0.08195  0.08076  0.09666  0.08981  0.08441  0.07667  0.07729  0.06935  0.08296  0.08441  0.05661  0.08780  0.07762  0.06996  0.07285  0.08195  0.09061  0.07797  0.04646  0.06606  0.07262  0.07462  0.07423  0.08102  0.07699  0.07902  0.06810  0.08023  0.07834  0.07706  0.08542  0.06074  0.07654  0.06750	 0.06472  0.06413  0.07013  0.08613  0.08291  0.06646  0.06535	0.06639  0.04732  0.04780  0.07923  0.074 [...]
+Viola      0.10711  0.07415  0.09540  0.09939  0.10631  0.09644  0.10341  0.11033  0.10824  0.11007  0.11365  0.11016  0.11031  0.09779  0.10480  0.09456  0.10725  0.09778  0.08775  0.10694  0.10107  0.09308  0.09779  0.10077  0.09867  0.10094  0.07874  0.08581  0.09739  0.09550  0.09527  0.09675  0.09958  0.10251  0.09008  0.09614  0.10398  0.10034  0.10587  0.08652  0.09125  0.09501	 0.08737  0.08916  0.09061  0.10954  0.10707  0.09314  0.08856	0.09496  0.08285  0.07633  0.10087  0.107 [...]
+Euphorbia  0.08870  0.04793  0.08269  0.09651  0.09105  0.09647  0.08801  0.08875  0.09471  0.09643  0.10255  0.09944  0.09657  0.08814  0.08444  0.07756  0.09420  0.08655  0.07022  0.09125  0.08510  0.07669  0.08180  0.09284  0.09423  0.09299  0.06384  0.07687  0.08230  0.08429  0.08547  0.08933  0.09421  0.09552  0.07854  0.08528  0.09327  0.08824  0.09435  0.07198  0.08584  0.07465	 0.07443  0.06925  0.08354  0.08752  0.09565  0.07513  0.07327	0.07922  0.06309  0.06720  0.09498  0.089 [...]
+Drypetes   0.10880  0.08161  0.10464  0.10765  0.10650  0.10926  0.11507  0.10959  0.10999  0.11013  0.11770  0.11466  0.11380  0.10751  0.10745  0.09572  0.11312  0.11166  0.09679  0.11609  0.10501  0.09958  0.10419  0.11354  0.11182  0.10880  0.07554  0.09589  0.10284  0.10698  0.09760  0.10860  0.10416  0.11713  0.09454  0.10707  0.11374  0.10413  0.11710  0.09185  0.11095  0.09482	 0.08939  0.09354  0.09874  0.10570  0.10856  0.09114  0.09705	0.09526  0.08751  0.08605  0.10486  0.096 [...]
+Euonymus   0.09084  0.07153  0.08054  0.10154  0.09252  0.09984  0.09240  0.08948  0.08488  0.09043  0.10559  0.09570  0.09585  0.08957  0.09161  0.07753  0.09571  0.09084  0.07453  0.09364  0.08589  0.07821  0.08190  0.09299  0.10043  0.09728  0.06385  0.07909  0.08990  0.08210  0.08256  0.08931  0.09122  0.09480  0.07702  0.08675  0.09329  0.08376  0.09438  0.07653  0.09227  0.07749	 0.07978  0.07910  0.08809  0.09266  0.09635  0.07447  0.07902	0.08080  0.07026  0.06891  0.09422  0.092 [...]
+Decumaria  0.06867  0.06295  0.07042  0.07889  0.08043  0.07967  0.07059  0.07372  0.07660  0.07167  0.08752  0.07548  0.07010  0.06305  0.06154  0.05726  0.07395  0.07225  0.04083  0.07702  0.06465  0.05699  0.06123  0.06681  0.07326  0.07225  0.04214  0.04935  0.06196  0.06628  0.06739  0.07259  0.07467  0.07467  0.05672  0.06580  0.07454  0.06264  0.08158  0.04866  0.06581  0.04809	 0.05175  0.04600  0.05582  0.07305  0.07083  0.04115  0.04453	0.05023  0.03440  0.03842  0.06788  0.068 [...]
+Poncirus   0.10300  0.08584  0.09077  0.10452  0.09664  0.10617  0.11128  0.10522  0.10066  0.10088  0.11298  0.11218  0.10873  0.09889  0.10163  0.09328  0.10552  0.10443  0.09029  0.10644  0.10191  0.09036  0.09864  0.10292  0.10139  0.10515  0.07842  0.09585  0.09817  0.09707  0.09308  0.10290  0.10702  0.10625  0.09130  0.09542  0.10604  0.10106  0.10571  0.09091  0.10730  0.08979	 0.08715  0.09106  0.09477  0.10496  0.10761  0.09043  0.08836	0.09296  0.08175  0.07949  0.10167  0.105 [...]
+Guaicum    0.10801  0.09013  0.09881  0.10230  0.10796  0.10477  0.10775  0.11093  0.10711  0.10338  0.11777  0.11177  0.10730  0.10459  0.09732  0.09816  0.10653  0.10801  0.09383  0.10313  0.10287  0.09809  0.09810  0.10073  0.10816  0.10587  0.08282  0.09080  0.09614  0.09885  0.09777  0.10564  0.10646  0.10123  0.09610  0.10410  0.10703  0.10277  0.11112  0.10261  0.10801  0.09688	 0.09358  0.09524  0.10038  0.10701  0.10636  0.09457  0.09840	0.09609  0.08745  0.08322  0.10193  0.103 [...]
+Passiflor  0.10324  0.06595  0.08945  0.10275  0.10675  0.10013  0.10209  0.10616  0.10249  0.10649  0.11565  0.10197  0.10321  0.09407  0.09751  0.08900  0.10046  0.09531  0.08761  0.10316  0.09066  0.08978  0.08661  0.10044  0.10305  0.10320  0.07491  0.08506  0.09229  0.08975  0.09102  0.09183  0.09896  0.09783  0.08552  0.09263  0.09720  0.09145  0.09834  0.08358  0.10033  0.08779	 0.08029  0.08227  0.09135  0.10000  0.09958  0.08617  0.08202	0.08241  0.07602  0.07539  0.09440  0.088 [...]
+Acridocar  0.08441  0.02432  0.07839  0.08817  0.08357  0.08984  0.08729  0.08947  0.09241  0.09184  0.10545  0.09790  0.09371  0.08456  0.09018  0.08054  0.09945  0.08798  0.07524  0.08806  0.09269  0.08122  0.08251  0.09248  0.09529  0.09084  0.05805  0.07475  0.08755  0.08800  0.08250  0.08550  0.09269  0.09120  0.07324  0.08240  0.09171  0.08669  0.09129  0.07198  0.08941  0.07609	 0.06838  0.07451  0.07602  0.08973  0.09183  0.07589  0.07040	0.07844  0.06308  0.06663  0.08889  0.089 [...]
+Thryallis  0.09084  0.02718  0.08492  0.09230  0.09110  0.09310  0.09093  0.09162  0.09536  0.09478  0.10693  0.10008  0.09871  0.08958  0.09017  0.08197  0.09935  0.09084  0.07095  0.08816  0.09187  0.08268  0.08702  0.09745  0.09670  0.09728  0.06022  0.07837  0.09050  0.08792  0.08316  0.08769  0.09335  0.09049  0.07845  0.08311  0.09163  0.08511  0.09498  0.07187  0.09013  0.07681	 0.07298  0.07439  0.08193  0.08831  0.09322  0.07594  0.07041	0.07995  0.06239  0.06211  0.09256  0.089 [...]
+Mascagnia  0.08655  0.02718  0.08059  0.09237  0.08268  0.09152  0.08803  0.08732  0.09167  0.08808  0.10402  0.09866  0.09299  0.08527  0.08802  0.07901  0.09641  0.08798  0.07452  0.08467  0.08740  0.07818  0.08176  0.09484  0.09594  0.09013  0.06170  0.07331  0.08229  0.08423  0.07413  0.08241  0.08587  0.08690  0.07699  0.07951  0.08945  0.08216  0.08979  0.07276  0.08941  0.07608	 0.07220  0.07527  0.08127  0.08900  0.09333  0.07444  0.07542	0.07695  0.06309  0.06569  0.08810  0.087 [...]
+Dicella    0.09084  0.02790  0.08566  0.09481  0.09185  0.09561  0.08803  0.09018  0.09692  0.09334  0.10998  0.10088  0.09800  0.08958  0.08945  0.08126  0.09715  0.09156  0.07668  0.09055  0.09041  0.08273  0.08556  0.09733  0.09970  0.09514  0.06387  0.07547  0.08604  0.08725  0.08168  0.08699  0.09040  0.09049  0.07848  0.08239  0.09397  0.08592  0.09582  0.07195  0.09084  0.07896	 0.07526  0.07598  0.08351  0.09047  0.09405  0.07879  0.07688	0.08228  0.06454  0.06808  0.09186  0.089 [...]
+Byrsonima  0.09013  0.02790  0.07985  0.09309  0.08735  0.09138  0.08877  0.09233  0.09395  0.09116  0.10101  0.09567  0.09442  0.08527  0.09017  0.08132  0.09725  0.09227  0.07309  0.09222  0.08892  0.08199  0.08639  0.08982  0.09224  0.09013  0.05805  0.07402  0.08157  0.08431  0.07949  0.08707  0.08971  0.09120  0.07778  0.08311  0.09028  0.08446  0.09435  0.06820  0.08941  0.07608	 0.06991  0.07229  0.08058  0.08465  0.08733  0.07298  0.07471	0.07695  0.06166  0.06570  0.08816  0.085 [...]
+Sedum      0.08501  0.08565  0.08361  0.08683  0.09045  0.08846  0.08213  0.08508  0.08974  0.09006  0.08833  0.08593  0.08431  0.08137  0.07842  0.07508  0.08229  0.09314  0.06788  0.09060  0.08368  0.07798  0.08040  0.09045  0.09387  0.08581  0.06283  0.06503  0.07851  0.08603  0.08251  0.09045  0.08772  0.08604  0.07692  0.08303  0.08986  0.08548  0.09326  0.07616  0.08114  0.07554	 0.07739  0.07270  0.07586  0.09482  0.08646  0.07370  0.07778	0.08209  0.06724  0.06601  0.08282  0.086 [...]
+Spirea     0.08564  0.07116  0.07625  0.09903  0.09887  0.09981  0.08879  0.08425  0.08162  0.08730  0.09868  0.09110  0.08784  0.08136  0.08135  0.07875  0.09270  0.08641  0.06825  0.09186  0.08727  0.07785  0.08087  0.08899  0.08626  0.08492  0.06391  0.06899  0.07983  0.08482  0.08225  0.08789  0.08807  0.08374  0.07670  0.08364  0.09095  0.08275  0.09585  0.06925  0.08706  0.07349	 0.07852  0.07045  0.07955  0.09031  0.08314  0.07108  0.06923	0.07890  0.06030  0.06235  0.08261  0.087 [...]
+Octomeles  0.07930  0.05950  0.06495  0.08784  0.08892  0.09033  0.08164  0.08164  0.07963  0.07988  0.08621  0.08056  0.07705  0.06579  0.07562  0.06545  0.08149  0.07248  0.06251  0.08463  0.07574  0.06580  0.06744  0.08639  0.07949  0.07326  0.04905  0.05733  0.07123  0.07334  0.06812  0.07306  0.07668  0.07953  0.06483  0.07484  0.08284  0.07431  0.08240  0.06484  0.07911  0.06876	 0.06899  0.06052  0.07176  0.08397  0.07237  0.06777  0.06660	0.07666  0.05423  0.05895  0.07335  0.075 [...]
+Tetramele  0.08798  0.06080  0.06753  0.09309  0.09033  0.09387  0.08586  0.09162  0.08877  0.08597  0.09732  0.08977  0.08512  0.07738  0.08229  0.07460  0.08748  0.08298  0.06377  0.09117  0.08214  0.07521  0.07348  0.08804  0.08240  0.08226  0.05445  0.06679  0.07555  0.08132  0.07274  0.07948  0.08142  0.08186  0.07106  0.07807  0.08505  0.07924  0.09062  0.06683  0.08584  0.07393	 0.07052  0.06636  0.07386  0.08752  0.08512  0.07440  0.07038	0.07773  0.05447  0.06066  0.08443  0.085 [...]
+Dcannabin  0.08298  0.06581  0.07111  0.08876  0.08794  0.08960  0.08149  0.08589  0.08647  0.08670  0.09137  0.08528  0.08083  0.06949  0.07944  0.07088  0.08522  0.08155  0.06519  0.08699  0.07911  0.07297  0.07434  0.08719  0.08611  0.07511  0.05225  0.06313  0.07257  0.08287  0.07346  0.08104  0.08071  0.08689  0.06806  0.07663  0.08805  0.08077  0.08763  0.06455  0.08155  0.06821	 0.06453  0.06638  0.07238  0.08459  0.08064  0.06787  0.06606	0.07162  0.06092  0.06404  0.07769  0.078 [...]
+Datglomer  0.07992  0.05987  0.06846  0.08442  0.08385  0.08526  0.07909  0.08444  0.08492  0.08677  0.08999  0.08382  0.07928  0.06896  0.07707  0.06716  0.08232  0.07774  0.06297  0.08361  0.07692  0.06925  0.07218  0.08206  0.08153  0.07409  0.04733  0.06312  0.07041  0.07997  0.06902  0.07729  0.07859  0.08471  0.06509  0.07042  0.08444  0.07713  0.08548  0.06148  0.08066  0.06318	 0.06135  0.06267  0.06866  0.07835  0.07766  0.06492  0.06295	0.06710  0.05774  0.06068  0.07550  0.077 [...]
+Luffa      0.09371  0.07582  0.08273  0.09700  0.09635  0.10036  0.09097  0.09591  0.09559  0.08978  0.10040  0.09739  0.09299  0.08453  0.08229  0.08144  0.09206  0.09084  0.07952  0.09103  0.08369  0.07980  0.07965  0.09312  0.09302  0.08155  0.06170  0.07331  0.08089  0.08819  0.07951  0.09098  0.08370  0.08975  0.07714  0.08677  0.08736  0.08608  0.09296  0.08205  0.08584  0.07752	 0.07502  0.08075  0.08374  0.09908  0.09046  0.08089  0.08188	0.08764  0.07454  0.07776  0.08521  0.087 [...]
+Cucurbita  0.09585  0.07725  0.08706  0.10054  0.09790  0.10215  0.09239  0.09949  0.09477  0.08967  0.10334  0.09883  0.09371  0.08526  0.08658  0.08063  0.09125  0.08727  0.08239  0.09100  0.08289  0.07975  0.07656  0.09144  0.09229  0.08226  0.06749  0.07259  0.08085  0.08963  0.07946  0.08708  0.08516  0.08473  0.07332  0.08458  0.08427  0.08451  0.09064  0.08579  0.09227  0.08040	 0.07806  0.08295  0.08743  0.10127  0.09114  0.08380  0.08402	0.08916  0.07668  0.08103  0.08515  0.089 [...]
+Cucumis    0.09585  0.07582  0.08420  0.09463  0.09640  0.09625  0.09318  0.09877  0.09491  0.08910  0.10350  0.09669  0.09156  0.08667  0.08801  0.08227  0.08987  0.08798  0.07951  0.08848  0.08224  0.08060  0.07819  0.09059  0.09608  0.08441  0.06462  0.07407  0.08172  0.08826  0.07961  0.08497  0.08377  0.08615  0.07345  0.08386  0.08665  0.08388  0.09149  0.08362  0.09156  0.07895	 0.07194  0.08234  0.08530  0.09761  0.09428  0.08087  0.08115	0.08763  0.07310  0.08047  0.08678  0.090 [...]
+Begonia    0.08617  0.07239  0.07939  0.10038  0.09895  0.10119  0.08931  0.08777  0.09496  0.09523  0.09192  0.08864  0.08770  0.07870  0.08478  0.07667  0.08878  0.09069  0.07694  0.09345  0.08474  0.07791  0.08138  0.09243  0.09387  0.08317  0.05740  0.07551  0.07938  0.09026  0.08185  0.09173  0.08887  0.09480  0.07608  0.08487  0.09660  0.08728  0.09546  0.07711  0.08594  0.08169	 0.07623  0.06791  0.07513  0.09097  0.08510  0.07553  0.07736	0.08323  0.07329  0.07457  0.08781  0.087 [...]
+Lambertia  0.08642  0.08133  0.08351  0.08208  0.08425  0.08119  0.08950  0.08866  0.08157  0.08569  0.10171  0.08952  0.08569  0.07921  0.08428  0.07414  0.08875  0.08930  0.06687  0.09102  0.08645  0.07713  0.08236  0.09018  0.09765  0.08568  0.05664  0.07262  0.08132  0.08175  0.07980  0.08853  0.08725  0.08455  0.07212  0.08148  0.08626  0.08428  0.08968  0.06242  0.07911  0.06918	 0.07716  0.07421  0.08333  0.09476  0.08322  0.07546  0.06928	0.07272  0.06255  0.06415  0.07951  0.087 [...]
+Crassula   0.09599  0.09074  0.08429  0.10209  0.10046  0.10702  0.09466  0.09754  0.10693  0.10551  0.09916  0.09896  0.09312  0.09158  0.09241  0.09052  0.09388  0.10271  0.08399  0.10361  0.09456  0.09047  0.09216  0.09975  0.10598  0.09679  0.07826  0.08194  0.09094  0.08983  0.09181  0.09820  0.09774  0.09553  0.09163  0.09555  0.09825  0.09222  0.10093  0.09087  0.09508  0.08574	 0.09360  0.08890  0.09360  0.10750  0.09326  0.09297  0.09915	0.09768  0.08633  0.08470  0.09364  0.094 [...]
+Liccania   0.09097  0.06436  0.09033  0.10181  0.09366  0.10252  0.09920  0.09477  0.09809  0.10295  0.11223  0.10438  0.09917  0.09331  0.09405  0.08168  0.10603  0.08955  0.08209  0.09488  0.09591  0.08318  0.08634  0.10124  0.10151  0.09095  0.07252  0.08431  0.09299  0.09113  0.08773  0.09641  0.09761  0.10091  0.07801  0.08815  0.09730  0.09283  0.10011  0.08221  0.09155  0.07934	 0.08008  0.07940  0.08568  0.09582  0.09546  0.08516  0.08380	0.08751  0.07177  0.07518  0.08728  0.096 [...]
+Bauera     0.08931  0.06244  0.07407  0.10416  0.09577  0.10417  0.09169  0.09082  0.08698  0.08955  0.09027  0.08492  0.08423  0.07707  0.08355  0.07562  0.09568  0.08786  0.07266  0.09259  0.08492  0.07555  0.07686  0.09320  0.09227  0.09001  0.06173  0.07771  0.07819  0.08023  0.07752  0.08780  0.08800  0.09034  0.07437  0.08145  0.09011  0.08119  0.09044  0.07238  0.08853  0.08157	 0.07630  0.07038  0.08183  0.08959  0.08313  0.07697  0.07654	0.07964  0.06541  0.07097  0.07799  0.080 [...]
+Escalloni  0.06313  0.06972  0.07335  0.08065  0.07574  0.07885  0.07128  0.06461  0.06844  0.06959  0.08400  0.06342  0.06318  0.05381  0.05523  0.04801  0.06497  0.06680  0.03923  0.06853  0.06009  0.05159  0.05512  0.06613  0.07022  0.06679  0.04430  0.05229  0.05359  0.06557  0.05904  0.06922  0.06882  0.07068  0.04827  0.05651  0.06404  0.06196  0.06968  0.04384  0.05078  0.04442	 0.04815  0.03822  0.04885  0.06838  0.06546  0.05059  0.03937	0.04871  0.03200  0.03666  0.06489  0.065 [...]
+Ceratopet  0.08276  0.06027  0.06609  0.09581  0.09116  0.09500  0.08731  0.08718  0.08776  0.08571  0.09099  0.08336  0.08204  0.07342  0.07847  0.06955  0.08883  0.08060  0.06903  0.08503  0.07799  0.07095  0.07222  0.08804  0.09076  0.08275  0.05374  0.07117  0.07134  0.07871  0.07295  0.08553  0.08499  0.08451  0.06750  0.07559  0.08329  0.07506  0.08896  0.06780  0.08346  0.07211	 0.06632  0.06736  0.07575  0.08665  0.08398  0.07260  0.06924	0.07351  0.06035  0.06840  0.07878  0.076 [...]
+Eucryphia  0.07563  0.05634  0.06761  0.08961  0.08670  0.08874  0.08244  0.07942  0.08129  0.08318  0.08614  0.07971  0.08014  0.07129  0.07285  0.06410  0.08542  0.07276  0.06817  0.08115  0.07740  0.06545  0.07005  0.08652  0.08639  0.07860  0.05047  0.06895  0.06988  0.07586  0.06922  0.08030  0.08076  0.08186  0.06278  0.07124  0.08364  0.07375  0.08171  0.06602  0.08069  0.06831	 0.06696  0.06415  0.07751  0.08256  0.07714  0.07044  0.07061	0.07588  0.06083  0.07189  0.07195  0.074 [...]
+Pittospor  0.06823  0.07625  0.08497  0.08553  0.08033  0.08463  0.07346  0.07043  0.07304  0.07647  0.08546  0.07413  0.07262  0.06473  0.07194  0.06020  0.07870  0.07260  0.04217  0.08140  0.07008  0.06159  0.06440  0.07248  0.08083  0.07553  0.05301  0.06245  0.06735  0.07323  0.07128  0.07455  0.07187  0.07580  0.05823  0.06608  0.07552  0.06731  0.08039  0.04075  0.06021  0.05538	 0.05361  0.04500  0.05804  0.07500  0.07310  0.05648  0.02843	0.04416  0.03418  0.02862  0.07409  0.072 [...]
+Lepuropet  0.09584  0.07116  0.08642  0.10272  0.09019  0.10012  0.10483  0.09662  0.09321  0.09722  0.10337  0.09948  0.09657  0.09017  0.09446  0.08873  0.10409  0.09367  0.08138  0.10358  0.10112  0.08562  0.09568  0.10465  0.10118  0.10382  0.07625  0.08932  0.09599  0.09187  0.09070  0.09794  0.09657  0.10131  0.08291  0.09537  0.09862  0.09431  0.10052  0.08394  0.08926  0.08007	 0.08866  0.08879  0.09179  0.09479  0.10319  0.08648  0.09111	0.09291  0.07852  0.08009  0.10112  0.100 [...]
+Crossosom  0.07477  0.06317  0.06754  0.08432  0.08498  0.08179  0.08222  0.07918  0.07539  0.08183  0.09241  0.08565  0.07624  0.06831  0.07700  0.06489  0.08106  0.07987  0.05374  0.08182  0.07553  0.06471  0.07301  0.08360  0.08686  0.07694  0.04357  0.06681  0.06815  0.07253  0.06973  0.08000  0.08182  0.08378  0.06438  0.07191  0.08008  0.07799  0.08425  0.05000  0.06310  0.05899	 0.06111  0.05726  0.06876  0.07493  0.07240  0.06152  0.05686	0.06190  0.05014  0.05357  0.07336  0.074 [...]
+Ribes      0.07689  0.06791  0.06440  0.08437  0.08208  0.08269  0.07918  0.07771  0.07469  0.07430  0.08523  0.07574  0.07031  0.06737  0.06811  0.06791  0.07821  0.07687  0.05382  0.08768  0.07486  0.07081  0.07313  0.08121  0.08331  0.07397  0.03623  0.06208  0.06355  0.07257  0.07526  0.08164  0.07982  0.08082  0.06658  0.07475  0.08025  0.07514  0.08992  0.05486  0.06636  0.05993	 0.05821  0.05081  0.06252  0.07992  0.07541  0.05817  0.05551	0.05909  0.04500  0.04957  0.07108  0.071 [...]
+Myriophyl  0.09007  0.08783  0.07843  0.08946  0.09570  0.09447  0.09243  0.09230  0.09640  0.09586  0.10344  0.09421  0.09000  0.08353  0.07770  0.07739  0.08518  0.09002  0.07185  0.08977  0.08670  0.08108  0.08257  0.09208  0.08919  0.08274  0.06100  0.07407  0.07537  0.08349  0.08156  0.08881  0.09284  0.09251  0.08230  0.07930  0.09265  0.08675  0.09910  0.07635  0.08416  0.07711	 0.07989  0.07517  0.08051  0.09392  0.09110  0.07388  0.07939	0.08760  0.06969  0.06929  0.08127  0.093 [...]
+Greyia     0.07552  0.06462  0.06028  0.07594  0.07582  0.07683  0.08074  0.07849  0.07402  0.07591  0.08587  0.07508  0.06971  0.06618  0.07410  0.06203  0.08049  0.07842  0.05158  0.07752  0.06883  0.06183  0.06782  0.08189  0.08382  0.07262  0.04285  0.06391  0.06535  0.07043  0.06696  0.07875  0.07673  0.08090  0.06073  0.07410  0.07654  0.07063  0.08297  0.05316  0.06893  0.05533	 0.05728  0.05444  0.06129  0.07713  0.07724  0.06375  0.06048	0.06123  0.04944  0.04868  0.06827  0.072 [...]
+Cornusflo  0.07360  0.06822  0.07386  0.07751  0.08014  0.07730  0.07380  0.07441  0.07476  0.07668  0.08744  0.07579  0.06294  0.06368  0.06532  0.06051  0.07755  0.07358  0.05449  0.07630  0.06654  0.06257  0.06481  0.06973  0.07858  0.07217  0.05081  0.05294  0.06085  0.07436  0.06790  0.07037  0.07613  0.07470  0.05685  0.06799  0.07666  0.06610  0.08388  0.05307  0.06211  0.05467	 0.05485  0.05141  0.06515  0.07348  0.06649  0.03172  0.04985	0.06127  0.04061  0.04019  0.06520  0.066 [...]
+Francoa    0.07551  0.06753  0.06463  0.07935  0.07886  0.08023  0.07930  0.07848  0.07092  0.07664  0.08736  0.07734  0.06971  0.06616  0.07265  0.06432  0.08045  0.07697  0.05011  0.07749  0.07185  0.06485  0.07088  0.08361  0.08160  0.07188  0.04430  0.06100  0.06762  0.07268  0.06770  0.08104  0.07976  0.08088  0.06147  0.07263  0.07877  0.07442  0.08519  0.05232  0.06820  0.05749	 0.05878  0.05437  0.06353  0.07639  0.07489  0.06079  0.06121	0.06271  0.04869  0.04860  0.06747  0.072 [...]
+Itea       0.07627  0.06752  0.07117  0.07751  0.07418  0.07754  0.08370  0.08068  0.07867  0.08363  0.08586  0.08279  0.07915  0.07055  0.07847  0.06668  0.09048  0.07988  0.05666  0.08825  0.07734  0.06726  0.07720  0.08958  0.08765  0.08134  0.02179  0.06536  0.07459  0.08122  0.07465  0.08340  0.08597  0.08456  0.06694  0.07566  0.08347  0.07986  0.08533  0.06015  0.06821  0.06262	 0.06110  0.05519  0.06902  0.07857  0.07350  0.06006  0.05902	0.06981  0.05158  0.05469  0.07369  0.076 [...]
+Carpenter  0.06461  0.06172  0.06972  0.07714  0.07967  0.07790  0.06986  0.06969  0.07241  0.07126  0.08101  0.07197  0.06752  0.05958  0.05958  0.05274  0.07126  0.07116  0.04139  0.07251  0.06176  0.05555  0.06068  0.06506  0.07403  0.07043  0.03994  0.05084  0.05832  0.06880  0.06454  0.07093  0.07354  0.07142  0.05298  0.06093  0.07111  0.06209  0.07901  0.04697  0.05586  0.04949	 0.05118  0.04283  0.05279  0.07054  0.06785  0.04175  0.04299	0.05264  0.03485  0.03751  0.06580  0.070 [...]
+Brexia     0.08205  0.06754  0.07625  0.09572  0.08579  0.09403  0.09024  0.08357  0.08080  0.08337  0.09480  0.09025  0.09004  0.08146  0.08864  0.07560  0.09483  0.08859  0.07484  0.09187  0.08563  0.07550  0.08081  0.09374  0.09676  0.09292  0.06463  0.07771  0.08208  0.07951  0.07986  0.08700  0.08570  0.09477  0.07585  0.08436  0.08932  0.08343  0.09119  0.07686  0.08925  0.07642	 0.07726  0.07715  0.08248  0.09110  0.09228  0.07848  0.07875	0.08275  0.07125  0.06970  0.08948  0.093 [...]
+Parnassia  0.09223  0.06970  0.08279  0.09626  0.08796  0.09368  0.09972  0.09586  0.09011  0.09261  0.10111  0.09642  0.09512  0.08583  0.09009  0.08033  0.09718  0.08786  0.07773  0.09842  0.09343  0.08026  0.08869  0.09622  0.09744  0.09438  0.06826  0.08206  0.08754  0.08572  0.08608  0.09327  0.09272  0.09693  0.07754  0.09170  0.09552  0.08898  0.09749  0.07925  0.08853  0.07717	 0.08109  0.08112  0.08873  0.09110  0.09785  0.08353  0.08383	0.08750  0.07561  0.07925  0.09348  0.098 [...]
+Penthorum  0.07555  0.07766  0.07480  0.08606  0.09034  0.09106  0.07715  0.07846  0.08407  0.08363  0.08740  0.08203  0.07332  0.07118  0.06901  0.06365  0.07604  0.07697  0.05733  0.08560  0.07125  0.06801  0.07177  0.07919  0.08165  0.07623  0.04575  0.06100  0.06465  0.07509  0.07313  0.07883  0.07984  0.08304  0.06544  0.07123  0.07739  0.07451  0.08839  0.06634  0.07546  0.06839	 0.06397  0.05833  0.06755  0.08288  0.07809  0.06879  0.06482	0.07440  0.05882  0.05997  0.07440  0.077 [...]
+Heuchera   0.07407  0.06898  0.07190  0.08031  0.08426  0.08199  0.07932  0.07848  0.07402  0.08201  0.08805  0.07657  0.06970  0.06613  0.06974  0.06354  0.07898  0.07915  0.04936  0.08496  0.07496  0.06638  0.07386  0.08121  0.08318  0.07841  0.02977  0.06028  0.06759  0.07725  0.07535  0.08259  0.08510  0.08160  0.06380  0.06972  0.08181  0.07669  0.08901  0.05400  0.06458  0.05460	 0.05791  0.04983  0.06592  0.07705  0.07184  0.05930  0.05245	0.06117  0.04649  0.04967  0.07278  0.074 [...]
+Kalanchoe  0.07793  0.08454  0.07944  0.08196  0.09134  0.08613  0.07800  0.08177  0.09352  0.09057  0.09438  0.08712  0.08323  0.08026  0.07424  0.07287  0.08421  0.08694  0.06488  0.08629  0.08084  0.07483  0.07824  0.08301  0.08483  0.08028  0.05818  0.07029  0.07392  0.08165  0.07883  0.08464  0.08902  0.08579  0.07229  0.07811  0.08557  0.08346  0.09314  0.07470  0.08152  0.07422	 0.07619  0.07280  0.07360  0.09258  0.08449  0.07172  0.07515	0.07524  0.06429  0.06347  0.07674  0.081 [...]
+Chrysobal  0.08844  0.06498  0.08850  0.09758  0.09063  0.09829  0.09532  0.09154  0.09481  0.10060  0.11245  0.10201  0.09757  0.09160  0.09163  0.07878  0.10133  0.08473  0.08008  0.09124  0.09336  0.07925  0.08349  0.09773  0.09849  0.09071  0.06957  0.08232  0.09112  0.08610  0.08490  0.09229  0.09428  0.09711  0.07499  0.08401  0.09478  0.08861  0.09446  0.08086  0.09056  0.07650	 0.07880  0.07725  0.08367  0.09421  0.09370  0.08403  0.08119	0.08485  0.06880  0.07173  0.08288  0.092 [...]
+Garrya     0.05812  0.06321  0.07121  0.07540  0.07435  0.07697  0.06405  0.06179  0.06552  0.06670  0.07651  0.06208  0.05596  0.05090  0.05016  0.04515  0.06209  0.05958  0.03702  0.06318  0.05721  0.04787  0.05364  0.06511  0.06590  0.06319  0.04360  0.04578  0.05144  0.05354  0.05306  0.05941  0.06284  0.06559  0.04383  0.05289  0.06042  0.05679  0.06674  0.04165  0.05516  0.04220	 0.04883  0.04140  0.05134  0.06685  0.06414  0.04829  0.04299	0.04722  0.03267  0.03603  0.05816  0.062 [...]
+Deutzia    0.06461  0.06970  0.08134  0.08671  0.08503  0.08915  0.06910  0.06827  0.07162  0.06894  0.08259  0.07506  0.06970  0.06250  0.05958  0.05429  0.06973  0.07116  0.04938  0.07238  0.06259  0.05633  0.05671  0.06947  0.07259  0.07262  0.05447  0.04866  0.05604  0.06498  0.06150  0.06711  0.06897  0.06703  0.05453  0.06020  0.07035  0.05981  0.07753  0.05473  0.06240  0.05459	 0.05484  0.04974  0.05896  0.07933  0.07015  0.04912  0.04663	0.05492  0.03923  0.04620  0.06576  0.067 [...]
+Phoradend  0.10454  0.08642  0.09804  0.10245  0.09893  0.10325  0.10696  0.10825  0.10328  0.10656  0.11945  0.11336  0.10019  0.10099  0.09806  0.08810  0.10198  0.09946  0.08206  0.10553  0.10045  0.08802  0.09810  0.10532  0.10361  0.09800  0.06972  0.08497  0.09678  0.10943  0.09314  0.10342  0.10353  0.10781  0.09072  0.09836  0.10867  0.10053  0.11059  0.08561  0.09360  0.08591	 0.09209  0.08429  0.09264  0.10057  0.09946  0.09012  0.08673	0.09829  0.07995  0.08819  0.09662  0.100 [...]
+Hydrangm   0.06751  0.06318  0.07044  0.07644  0.08197  0.07718  0.07203  0.07262  0.06930  0.06967  0.08477  0.07421  0.06752  0.06177  0.06321  0.05729  0.07654  0.07260  0.04721  0.07255  0.06559  0.05936  0.06065  0.06708  0.07485  0.07334  0.04503  0.04938  0.06367  0.07102  0.06147  0.07006  0.07039  0.07068  0.05677  0.06534  0.07026  0.06280  0.07592  0.05075  0.06311  0.05605	 0.05800  0.04813  0.05887  0.07422  0.06937  0.04400  0.04518	0.05494  0.03486  0.03932  0.06803  0.068 [...]
+Osyris     0.08282  0.06248  0.07121  0.07965  0.08201  0.07702  0.08665  0.08578  0.08248  0.08349  0.08800  0.08801  0.08063  0.07418  0.07707  0.06580  0.08422  0.07773  0.06320  0.08012  0.07648  0.06562  0.07241  0.08072  0.08781  0.07844  0.05015  0.06467  0.07293  0.07954  0.06536  0.07864  0.07434  0.08237  0.06294  0.07343  0.08103  0.07131  0.08059  0.06624  0.07475  0.07064	 0.06715  0.06584  0.07575  0.08376  0.08250  0.06455  0.06493	0.07360  0.05524  0.06067  0.07431  0.079 [...]
+Schoepfia  0.09726  0.08134  0.09223  0.09553  0.09806  0.09381  0.10044  0.09950  0.09920  0.10469  0.11006  0.10393  0.09438  0.08721  0.08864  0.08402  0.09864  0.08858  0.07846  0.09610  0.09401  0.08707  0.09165  0.09924  0.09751  0.09365  0.07044  0.08424  0.09043  0.09621  0.08671  0.09851  0.08723  0.09546  0.08200  0.09023  0.09923  0.09338  0.09886  0.08684  0.08778  0.08446	 0.08398  0.08401  0.09007  0.10435  0.09464  0.08135  0.08678	0.09129  0.07632  0.08345  0.08877  0.094 [...]
+Dudleya    0.07874  0.08080  0.08326  0.08362  0.08978  0.08525  0.08181  0.08107  0.08874  0.09061  0.09118  0.08476  0.08782  0.08335  0.07730  0.07290  0.08503  0.08848  0.06266  0.09166  0.08248  0.07325  0.07985  0.08457  0.08938  0.08559  0.05670  0.07032  0.07715  0.08327  0.08042  0.08620  0.09142  0.08964  0.07235  0.07813  0.08719  0.08348  0.09232  0.07400  0.08079  0.07126	 0.07621  0.07207  0.07613  0.09338  0.08219  0.07248  0.07440	0.07695  0.06504  0.06345  0.07843  0.085 [...]
+Saxifrag   0.07552  0.06897  0.07190  0.07587  0.08263  0.08006  0.08004  0.07993  0.07173  0.07896  0.08496  0.07660  0.07043  0.06832  0.06901  0.06509  0.07591  0.08060  0.04863  0.08314  0.07652  0.06640  0.07466  0.08361  0.08467  0.07986  0.03123  0.06100  0.06837  0.07574  0.07606  0.08181  0.08584  0.08453  0.06381  0.07338  0.08101  0.07747  0.08901  0.05477  0.06675  0.05603	 0.05565  0.05441  0.06513  0.07486  0.07259  0.06074  0.05681	0.06275  0.05011  0.05129  0.07504  0.079 [...]
+Philadel   0.07330  0.06609  0.07480  0.08234  0.08354  0.08477  0.07786  0.07696  0.07241  0.07509  0.08786  0.07806  0.07333  0.06829  0.06612  0.06112  0.07813  0.07697  0.05011  0.07917  0.07179  0.06322  0.06610  0.07024  0.07936  0.07550  0.04866  0.05664  0.06368  0.07109  0.06766  0.07325  0.07661  0.07577  0.06216  0.06459  0.07797  0.06671  0.08438  0.05002  0.06457  0.05677	 0.06102  0.04746  0.06043  0.07789  0.07395  0.04984  0.04808	0.06036  0.03630  0.04182  0.07112  0.074 [...]
+Roridula   0.07262  0.07187  0.08206  0.08611  0.08273  0.08945  0.07787  0.07774  0.08324  0.08658  0.08963  0.08345  0.07476  0.06679  0.07118  0.06278  0.08279  0.07841  0.06022  0.08144  0.07652  0.06177  0.07087  0.07946  0.07790  0.07476  0.05229  0.06536  0.06759  0.07343  0.07308  0.07952  0.08206  0.08376  0.06304  0.07560  0.08186  0.07593  0.08295  0.06397  0.07036  0.06110	 0.06557  0.06128  0.07044  0.08217  0.07034  0.06218  0.06119	0.06730  0.05372  0.05727  0.06897  0.072 [...]
+Bombax     0.09091  0.07087  0.07116  0.09835  0.08423  0.09574  0.09246  0.09527  0.09552  0.09043  0.09888  0.09801  0.08877  0.08170  0.08163  0.07533  0.08900  0.08375  0.07027  0.09512  0.08059  0.07446  0.07954  0.08201  0.08463  0.07945  0.05665  0.07262  0.07784  0.07835  0.07797  0.08475  0.08520  0.08765  0.07104  0.08102  0.08581  0.08074  0.09215  0.06759  0.08733  0.07398	 0.07370  0.07464  0.07760  0.09627  0.09121  0.07298  0.07616	0.07246  0.06383  0.06664  0.08673  0.087 [...]
+Tilia      0.09156  0.07010  0.07252  0.09917  0.08797  0.09748  0.09383  0.09449  0.09082  0.09257  0.09415  0.09256  0.08798  0.07950  0.08087  0.07215  0.08806  0.08155  0.06807  0.09197  0.08198  0.07281  0.07866  0.08549  0.08829  0.08083  0.05586  0.07616  0.07607  0.07966  0.07622  0.08684  0.09107  0.08901  0.07086  0.07588  0.08936  0.07909  0.09269  0.06820  0.08870  0.07466	 0.07134  0.06618  0.07514  0.09406  0.08573  0.07515  0.07398	0.07462  0.06020  0.06225  0.08354  0.089 [...]
+Theobroma  0.08446  0.07150  0.06796  0.09264  0.08496  0.09078  0.08666  0.08889  0.08791  0.08502  0.09432  0.09048  0.08806  0.07944  0.08157  0.07121  0.08748  0.08378  0.06942  0.08685  0.07820  0.07267  0.07468  0.07772  0.08379  0.07789  0.05618  0.07168  0.07297  0.07889  0.07232  0.08000  0.08199  0.08408  0.07150  0.07431  0.07730  0.07518  0.09141  0.06654  0.08320  0.07319	 0.06872  0.07131  0.07356  0.09358  0.08827  0.07208  0.07473	0.06995  0.06357  0.06194  0.08435  0.086 [...]
+Gossrobin  0.08870  0.07868  0.08125  0.09656  0.09034  0.09741  0.09094  0.09235  0.09089  0.09183  0.09422  0.09644  0.08941  0.07734  0.08229  0.07304  0.09346  0.08655  0.08025  0.09174  0.08130  0.07440  0.08029  0.08302  0.08690  0.08155  0.06241  0.07403  0.07777  0.08127  0.07338  0.08312  0.08135  0.08471  0.07023  0.08241  0.08497  0.07991  0.09133  0.07511  0.09084  0.08184	 0.08346  0.07904  0.08201  0.10057  0.08884  0.08162  0.08476	0.08382  0.07313  0.07104  0.08738  0.091 [...]
+Thespesia  0.09084  0.07940  0.07980  0.09920  0.08735  0.09665  0.09312  0.09521  0.09160  0.09259  0.09714  0.09636  0.08870  0.08236  0.08372  0.07746  0.09188  0.09013  0.07452  0.09273  0.08427  0.07660  0.08098  0.08129  0.08841  0.08298  0.06460  0.07837  0.07766  0.08347  0.07787  0.08606  0.08582  0.08829  0.07541  0.08095  0.08641  0.08136  0.09421  0.06826  0.08941  0.07753	 0.08039  0.07754  0.07974  0.09768  0.08953  0.07730  0.07616	0.07771  0.06525  0.06840  0.08958  0.089 [...]
+Shoreazel  0.09707  0.08270  0.08318  0.10802  0.09747  0.10709  0.10088  0.10000  0.10528  0.10169  0.10024  0.10475  0.09997  0.08933  0.08918  0.08571  0.09945  0.09202  0.07918  0.09803  0.08952  0.08413  0.08704  0.09257  0.09028  0.09200  0.07585  0.07880  0.08903  0.08728  0.08464  0.09543  0.09113  0.09020  0.07844  0.08865  0.09476  0.08815  0.09433  0.08403  0.09704  0.08799	 0.08527  0.09107  0.09177  0.10660  0.10688  0.08417  0.08439	0.08584  0.07417  0.07568  0.09946  0.096 [...]
+Shoreasti  0.09728  0.08298  0.07908  0.10905  0.09852  0.10900  0.09890  0.09877  0.10010  0.09887  0.09671  0.10037  0.09657  0.08885  0.08803  0.08522  0.09666  0.09156  0.07595  0.09573  0.08757  0.08370  0.08511  0.09117  0.08979  0.09299  0.07400  0.07763  0.08553  0.08454  0.08417  0.09183  0.09065  0.08830  0.07869  0.08753  0.09126  0.08468  0.09385  0.07904  0.09442  0.08757	 0.08490  0.08606  0.08829  0.10416  0.10409  0.08303  0.08188	0.08473  0.07096  0.07354  0.09813  0.095 [...]
+Quisquali  0.08870  0.07082  0.06025  0.09726  0.09416  0.09968  0.09242  0.09376  0.09183  0.09134  0.09679  0.09591  0.09227  0.08454  0.08516  0.07548  0.09213  0.08941  0.07738  0.09180  0.08761  0.07765  0.08356  0.08874  0.08907  0.08584  0.06097  0.07764  0.07948  0.07772  0.07962  0.08495  0.08612  0.09190  0.07573  0.08461  0.09050  0.08545  0.09538  0.07604  0.09084  0.07680	 0.08183  0.08306  0.08076  0.09915  0.09280  0.07874  0.08545	0.08546  0.07024  0.07708  0.08680  0.090 [...]
+Lythrum    0.09196  0.08258  0.05838  0.09911  0.10001  0.09977  0.09286  0.09418  0.09463  0.08885  0.10564  0.09947  0.09411  0.08631  0.08411  0.08048  0.09573  0.09839  0.08195  0.08772  0.08731  0.07880  0.07861  0.08635  0.09109  0.08836  0.07146  0.08095  0.08375  0.07970  0.08383  0.08077  0.09265  0.08429  0.07926  0.08354  0.08494  0.08206  0.08818  0.07807  0.09481  0.08795	 0.08648  0.08359  0.08583  0.10601  0.10237  0.08990  0.08505	0.08430  0.07621  0.07585  0.10019  0.096 [...]
+Mouriri    0.09694  0.08043  0.06558  0.11056  0.10691  0.11218  0.10372  0.09986  0.10205  0.09922  0.10685  0.10147  0.09692  0.08917  0.08908  0.08252  0.09245  0.09622  0.08269  0.09469  0.08410  0.08320  0.08848  0.09005  0.09856  0.08471  0.07649  0.08377  0.08505  0.08781  0.08443  0.09295  0.09168  0.09871  0.08278  0.08922  0.09531  0.08343  0.09569  0.08463  0.09839  0.08643	 0.08282  0.08482  0.09309  0.10009  0.09610  0.08705  0.09302	0.09108  0.07988  0.08514  0.09622  0.091 [...]
+Heteropyx  0.08342  0.05892  0.05252  0.08599  0.08158  0.08845  0.08559  0.08777  0.08319  0.08874  0.08947  0.08718  0.08555  0.07346  0.07699  0.06438  0.08487  0.08123  0.06695  0.08154  0.07724  0.06647  0.07388  0.08329  0.08496  0.07403  0.05028  0.06923  0.07062  0.07040  0.06999  0.07681  0.08033  0.08657  0.06462  0.07701  0.08396  0.07665  0.08659  0.06645  0.08054  0.06997	 0.06632  0.06898  0.06894  0.08292  0.08406  0.07122  0.07363	0.07045  0.06261  0.06887  0.07582  0.083 [...]
+Terminali  0.08635  0.07052  0.05451  0.09095  0.08554  0.09164  0.08717  0.09074  0.09222  0.09020  0.09488  0.08487  0.08488  0.07701  0.07984  0.07182  0.08642  0.08782  0.06911  0.08743  0.07945  0.07322  0.07912  0.08647  0.08364  0.08127  0.05531  0.07664  0.07121  0.07793  0.07527  0.07986  0.08263  0.08593  0.07208  0.07850  0.08248  0.08038  0.09207  0.07398  0.08496  0.07501	 0.07230  0.07575  0.07188  0.09324  0.09025  0.07557  0.08019	0.07801  0.06691  0.07067  0.08403  0.089 [...]
+Osbeckia   0.10408  0.08753  0.06749  0.10547  0.10460  0.10875  0.10292  0.10487  0.10082  0.10033  0.10568  0.09720  0.09752  0.08834  0.08966  0.08271  0.08958  0.09968  0.08826  0.09788  0.08737  0.08417  0.07947  0.09103  0.10243  0.08813  0.08134  0.08574  0.07684  0.08583  0.08167  0.08859  0.09047  0.10004  0.08069  0.08678  0.09560  0.08597  0.09676  0.08788  0.09536  0.09203	 0.08784  0.08429  0.08427  0.10516  0.10017  0.09577  0.09433	0.09053  0.08399  0.08650  0.09348  0.095 [...]
+Ludwigia2  0.08885  0.07161  0.04289  0.08824  0.09131  0.09152  0.08822  0.09393  0.09118  0.08991  0.09534  0.08769  0.08669  0.07608  0.07882  0.07026  0.08163  0.08810  0.07393  0.08609  0.07932  0.07083  0.07293  0.08494  0.08706  0.07951  0.06328  0.07414  0.06973  0.07555  0.07593  0.08044  0.08618  0.08554  0.07197  0.07963  0.08223  0.08096  0.08478  0.07232  0.08738  0.07840	 0.07798  0.07559  0.07476  0.09488  0.09135  0.08246  0.08127	0.07860  0.07096  0.07222  0.08688  0.087 [...]
+Trapa      0.09103  0.08168  0.05892  0.09831  0.09668  0.09979  0.09771  0.09468  0.09432  0.09302  0.10518  0.09834  0.09675  0.08687  0.08963  0.07636  0.09532  0.09245  0.07893  0.09247  0.08548  0.07320  0.07987  0.08912  0.09241  0.08385  0.06981  0.07636  0.08342  0.08389  0.08134  0.08205  0.09306  0.09060  0.07587  0.07898  0.08687  0.08255  0.09019  0.08151  0.09388  0.08128	 0.08338  0.07869  0.08013  0.10295  0.09972  0.08102  0.08056	0.07790  0.07395  0.07224  0.09454  0.091 [...]
+Punica     0.08560  0.06328  0.04743  0.08445  0.08392  0.08517  0.08929  0.09069  0.08856  0.08651  0.09486  0.08806  0.08628  0.07561  0.07986  0.07130  0.09024  0.08271  0.07135  0.08568  0.07957  0.06963  0.07782  0.08360  0.08205  0.07551  0.05548  0.07297  0.07530  0.07658  0.07397  0.07539  0.08197  0.08445  0.06851  0.07562  0.08030  0.07672  0.08362  0.06656  0.08200  0.07005	 0.07455  0.07437  0.07353  0.08949  0.08719  0.07121  0.07585	0.07431  0.06335  0.06729  0.08574  0.085 [...]
+Clarkia    0.09666  0.07806  0.01963  0.09562  0.09361  0.09466  0.09981  0.09887  0.10100  0.10272  0.10367  0.09598  0.09451  0.08103  0.09312  0.08085  0.09833  0.09165  0.08320  0.09091  0.08921  0.08000  0.08754  0.08555  0.09084  0.08591  0.06470  0.08068  0.08260  0.09062  0.08356  0.08435  0.09531  0.09989  0.08115  0.08539  0.09510  0.08779  0.09316  0.08140  0.09381  0.08338	 0.08185  0.07711  0.08156  0.09491  0.09210  0.08389  0.08916	0.08553  0.07821  0.07983  0.09371  0.096 [...]
+Epilobium  0.08859  0.08204  0.03413  0.09378  0.09579  0.09283  0.09606  0.09229  0.10092  0.10491  0.10179  0.09793  0.09511  0.08504  0.09226  0.08191  0.09356  0.09077  0.08718  0.09088  0.08808  0.07722  0.08877  0.08277  0.09752  0.09149  0.06899  0.07771  0.08683  0.09182  0.08542  0.09030  0.09508  0.09760  0.08608  0.08507  0.09098  0.09048  0.09511  0.08846  0.09144  0.08591	 0.08394  0.08113  0.08573  0.09769  0.09554  0.08866  0.08966	0.09215  0.08285  0.08541  0.09427  0.099 [...]
+Hauya      0.08381  0.06303  0.03272  0.08482  0.08439  0.08728  0.08601  0.08818  0.08744  0.08841  0.09906  0.09296  0.08954  0.07747  0.08097  0.06874  0.08846  0.08379  0.07172  0.08182  0.08083  0.06860  0.07447  0.07879  0.08250  0.07592  0.05673  0.06687  0.07651  0.07698  0.07277  0.07351  0.08387  0.08196  0.07054  0.07382  0.08067  0.07791  0.08174  0.07455  0.08593  0.07400	 0.07210  0.07029  0.07475  0.08986  0.09063  0.07595  0.07692	0.07935  0.06388  0.06868  0.08539  0.085 [...]
+Circaea    0.08906  0.07686  0.03646  0.08686  0.09464  0.09015  0.09208  0.09271  0.09357  0.09457  0.10305  0.09158  0.09045  0.08343  0.07975  0.07340  0.08782  0.08618  0.07625  0.08533  0.08167  0.07095  0.07617  0.07842  0.08733  0.08402  0.07000  0.07724  0.07894  0.07641  0.07530  0.07984  0.08333  0.08435  0.07366  0.07682  0.08011  0.07279  0.08344  0.07848  0.09265  0.07860	 0.07835  0.07498  0.07944  0.09594  0.09827  0.08344  0.08076	0.08491  0.07047  0.06977  0.09606  0.090 [...]
+Lopezia2   0.09208  0.07267  0.03726  0.09192  0.09395  0.09606  0.09224  0.09646  0.09704  0.09799  0.10107  0.09649  0.09420  0.08142  0.08349  0.07748  0.09349  0.08848  0.07421  0.08608  0.08511  0.07815  0.08486  0.08421  0.08748  0.08416  0.06791  0.07669  0.07998  0.08425  0.07933  0.08623  0.08964  0.09098  0.08006  0.08290  0.08871  0.08671  0.09133  0.08109  0.08996  0.08377	 0.07767  0.07601  0.07445  0.09684  0.09643  0.08431  0.08596	0.08297  0.07354  0.07773  0.09194  0.095 [...]
+Viviania   0.09376  0.07072  0.08192  0.09617  0.08650  0.09532  0.09608  0.09670  0.09181  0.09889  0.10353  0.09360  0.08653  0.08088  0.08804  0.08212  0.09506  0.08944  0.06071  0.08743  0.09038  0.08041  0.08968  0.08671  0.09215  0.08798  0.06219  0.07828  0.08539  0.08362  0.08025  0.09721  0.09366  0.08893  0.07709  0.08303  0.09340  0.09142  0.09603  0.06129  0.07576  0.06444	 0.07028  0.07383  0.07680  0.08679  0.08900  0.07573  0.07462	0.07836  0.06000  0.06130  0.08527  0.091 [...]
+Pelargoni  0.09112  0.08607  0.08165  0.09142  0.10151  0.09667  0.09808  0.08971  0.10037  0.10291  0.10599  0.09672  0.09256  0.08389  0.09121  0.08572  0.09659  0.09708  0.07661  0.09941  0.09174  0.08585  0.09428  0.09869  0.10790  0.09335  0.05883  0.08387  0.09070  0.09659  0.09539  0.10439  0.10215  0.09968  0.08530  0.09363  0.10347  0.09522  0.10465  0.07644  0.08607  0.07829	 0.07731  0.07655  0.08580  0.08783  0.08890  0.07959  0.08291	0.08394  0.07443  0.07504  0.08897  0.093 [...]
+Geranium   0.09598  0.09313  0.08868  0.10240  0.10716  0.10407  0.10196  0.09677  0.10231  0.10547  0.11229  0.10016  0.09821  0.09254  0.09246  0.08876  0.09871  0.09897  0.08751  0.10150  0.09576  0.08880  0.09252  0.09930  0.10887  0.09601  0.07416  0.08724  0.09133  0.09788  0.09522  0.10396  0.10638  0.10218  0.08813  0.09776  0.10764  0.09960  0.11032  0.08481  0.09164  0.08191	 0.08206  0.08356  0.08875  0.09574  0.08949  0.09120  0.09418	0.09065  0.08539  0.08014  0.09717  0.099 [...]
+Monsonia   0.09428  0.09362  0.08994  0.10415  0.10637  0.10674  0.10311  0.09436  0.09896  0.10145  0.10606  0.09986  0.09728  0.08857  0.09436  0.09052  0.10602  0.09948  0.08422  0.09793  0.09701  0.09142  0.09524  0.09853  0.10958  0.10087  0.07169  0.08844  0.09400  0.10360  0.09806  0.10424  0.10542  0.10566  0.09315  0.09902  0.10672  0.10080  0.10864  0.08043  0.09281  0.08654	 0.08476  0.08368  0.09134  0.09550  0.09116  0.08279  0.09330	0.08797  0.08209  0.07906  0.09448  0.092 [...]
+Wendtiagr  0.10324  0.08894  0.09152  0.10673  0.10130  0.10498  0.10646  0.10619  0.10717  0.11187  0.12269  0.10886  0.10613  0.09977  0.10406  0.09666  0.10964  0.10332  0.08619  0.10176  0.10102  0.09596  0.10141  0.09915  0.10673  0.09600  0.07692  0.09595  0.09842  0.10425  0.09405  0.10956  0.10667  0.11170  0.09466  0.10296  0.10872  0.10446  0.11140  0.08284  0.08886  0.08199	 0.08342  0.09138  0.09963  0.09283  0.10196  0.09338  0.09365	0.09402  0.08401  0.09066  0.09750  0.103 [...]
+Hypseocha  0.08812  0.08022  0.07681  0.08337  0.08480  0.08500  0.09183  0.09181  0.09023  0.09119  0.10127  0.09820  0.09756  0.08606  0.09251  0.07740  0.09505  0.08887  0.07372  0.08802  0.08945  0.07655  0.08185  0.08437  0.08998  0.08301  0.05545  0.07761  0.08147  0.08427  0.07853  0.08630  0.08824  0.09361  0.07534  0.08391  0.09497  0.08828  0.09455  0.07175  0.09400  0.07754	 0.07281  0.07672  0.07662  0.08188  0.08904  0.08179  0.07553	0.07771  0.07083  0.06538  0.08131  0.083 [...]
+Oxalisdil  0.09703  0.07762  0.08023  0.10091  0.09244  0.10180  0.09291  0.10065  0.09370  0.09545  0.10081  0.09845  0.09267  0.08705  0.08912  0.08407  0.09859  0.08911  0.08351  0.09870  0.09326  0.08473  0.08991  0.09839  0.09795  0.09487  0.06420  0.07512  0.08577  0.09236  0.08593  0.08985  0.09475  0.09014  0.08661  0.09291  0.09834  0.09481  0.10171  0.07783  0.08913  0.08729	 0.08807  0.07884  0.09318  0.09734  0.09172  0.08493  0.09241	0.09561  0.07778  0.07540  0.09099  0.089 [...]
+Averrhoa   0.07481  0.05762  0.06833  0.08162  0.08009  0.08332  0.07920  0.07936  0.08185  0.08288  0.08742  0.07814  0.07699  0.06746  0.07640  0.06546  0.08369  0.07338  0.06521  0.07806  0.07317  0.06500  0.06962  0.09022  0.08613  0.07782  0.04580  0.06465  0.07115  0.07326  0.06872  0.08020  0.08123  0.08104  0.06727  0.07313  0.08418  0.07421  0.08295  0.06365  0.07786  0.06458	 0.06599  0.06155  0.07493  0.07537  0.07413  0.06730  0.06914	0.07315  0.05476  0.05957  0.07340  0.072 [...]
+Moringa    0.08083  0.05722  0.07117  0.08284  0.07963  0.08197  0.08150  0.08518  0.08498  0.08674  0.09213  0.09278  0.08512  0.07594  0.08373  0.07616  0.09352  0.08870  0.06448  0.08759  0.08368  0.07602  0.08120  0.08706  0.08695  0.08298  0.04866  0.06899  0.08013  0.08289  0.07343  0.08251  0.08299  0.08905  0.07642  0.08316  0.08582  0.08380  0.09219  0.06226  0.08011  0.06890	 0.06834  0.07313  0.07764  0.08246  0.08970  0.06861  0.06967	0.07016  0.05805  0.05898  0.08528  0.082 [...]
+Bretschne  0.08441  0.06152  0.07263  0.08472  0.08501  0.08892  0.08512  0.08732  0.09025  0.08898  0.09665  0.08901  0.08083  0.07667  0.08517  0.07462  0.09054  0.09084  0.06807  0.08592  0.08446  0.07526  0.08199  0.08823  0.08696  0.08441  0.04720  0.07188  0.07940  0.07911  0.07724  0.08553  0.08449  0.08976  0.07559  0.08317  0.08357  0.08080  0.09293  0.06454  0.08512  0.07106	 0.06904  0.06939  0.07537  0.08536  0.08742  0.07226  0.06751	0.07244  0.05662  0.06076  0.08147  0.083 [...]
+Stanleya   0.09558  0.08976  0.09035  0.10210  0.10485  0.09942  0.08911  0.09857  0.10044  0.10368  0.10530  0.10527  0.09625  0.08915  0.09267  0.08679  0.09840  0.09632  0.09281  0.09809  0.09619  0.08985  0.09283  0.09425  0.09646  0.09623  0.07923  0.07253  0.09081  0.09286  0.08717  0.08961  0.09839  0.09450  0.08477  0.09638  0.09818  0.09691  0.10240  0.09367  0.09853  0.09299	 0.08872  0.08836  0.09597  0.10384  0.10066  0.09958  0.09611	0.09719  0.08486  0.07858  0.09608  0.101 [...]
+Cleome     0.09371  0.07725  0.08495  0.09073  0.09656  0.08893  0.09244  0.09735  0.10012  0.10024  0.10414  0.10251  0.09442  0.08957  0.09517  0.08520  0.10260  0.09084  0.08597  0.09899  0.09285  0.08742  0.09343  0.09235  0.09302  0.09299  0.06606  0.07912  0.08853  0.09041  0.08558  0.08715  0.09507  0.09551  0.08243  0.09107  0.09487  0.09364  0.10128  0.08272  0.09728  0.08828	 0.07655  0.08142  0.08585  0.09907  0.09951  0.08960  0.08906	0.08692  0.07816  0.07273  0.09051  0.094 [...]
+Setchella  0.09897  0.08199  0.09749  0.10521  0.09015  0.10339  0.10569  0.10347  0.10746  0.10830  0.10662  0.11207  0.10560  0.09608  0.10038  0.09260  0.10906  0.10483  0.09100  0.10271  0.10137  0.09380  0.09892  0.10539  0.10347  0.09886  0.07840  0.08928  0.09686  0.10116  0.09074  0.09794  0.10061  0.10505  0.09527  0.10046  0.09962  0.09975  0.10623  0.09175  0.10190  0.09484	 0.09149  0.09426  0.09886  0.10982  0.10274  0.08415  0.09708	0.09264  0.08565  0.08409  0.09741  0.098 [...]
+Capparis   0.09156  0.08011  0.08861  0.09252  0.09423  0.09072  0.09101  0.09592  0.09937  0.10103  0.10027  0.10102  0.09084  0.08521  0.08873  0.08069  0.09659  0.08798  0.08741  0.09813  0.09210  0.08288  0.08883  0.08882  0.09226  0.08941  0.06973  0.07261  0.08700  0.08817  0.08411  0.08792  0.09359  0.09551  0.08019  0.09036  0.09342  0.09064  0.09911  0.08281  0.09084  0.08039	 0.08258  0.08142  0.08813  0.10196  0.09499  0.09248  0.09193	0.08998  0.07885  0.07171  0.08752  0.093 [...]
+Tropaeolu  0.08011  0.06509  0.06610  0.08545  0.08424  0.08796  0.08151  0.08517  0.08950  0.08972  0.09818  0.09050  0.08441  0.07595  0.08230  0.07314  0.08754  0.08870  0.06807  0.08264  0.08065  0.07452  0.08044  0.08550  0.08620  0.08011  0.04865  0.07116  0.07637  0.08437  0.07728  0.08480  0.08825  0.09120  0.07563  0.07883  0.08584  0.08230  0.09069  0.06678  0.08512  0.07106	 0.06836  0.06861  0.07387  0.08460  0.08895  0.07079  0.07180	0.06939  0.06236  0.06251  0.08450  0.083 [...]
+Reseda     0.09371  0.08083  0.08567  0.09849  0.09734  0.09673  0.08952  0.09305  0.10546  0.10259  0.10647  0.09735  0.08584  0.08379  0.09160  0.08752  0.10118  0.09585  0.08883  0.10060  0.09138  0.09048  0.09198  0.09467  0.09751  0.09299  0.07185  0.07696  0.09009  0.08902  0.09325  0.09716  0.10119  0.09693  0.08630  0.09687  0.09720  0.09672  0.10511  0.08435  0.09514  0.08828	 0.08771  0.08756  0.08898  0.09906  0.09958  0.09246  0.09266	0.09531  0.08242  0.07870  0.09737  0.094 [...]
+Tovaria    0.08655  0.07368  0.08136  0.08910  0.08655  0.08813  0.08663  0.09090  0.09255  0.09725  0.09662  0.09652  0.08870  0.08096  0.08730  0.07993  0.09429  0.08870  0.07953  0.09397  0.08751  0.08287  0.08804  0.08797  0.08923  0.08727  0.06247  0.06971  0.08245  0.08518  0.08028  0.09029  0.09205  0.09408  0.07866  0.08962  0.09416  0.09062  0.09754  0.08276  0.09084  0.08108	 0.07886  0.07841  0.07984  0.09693  0.09199  0.08596  0.08834	0.08539  0.07310  0.06839  0.08526  0.089 [...]
+Koeberlin  0.09478  0.08557  0.09225  0.10849  0.09939  0.10562  0.09583  0.10018  0.10650  0.10734  0.10858  0.10504  0.10322  0.09558  0.09932  0.09053  0.10830  0.10552  0.09577  0.10719  0.09995  0.09442  0.10104  0.10209  0.09972  0.09470  0.07457  0.09010  0.09404  0.09774  0.09434  0.09610  0.10031  0.10667  0.09568  0.10043  0.10422  0.10115  0.10939  0.09599  0.10306  0.09587	 0.07925  0.08328  0.08621  0.10199  0.09945  0.10111  0.09895	0.09931  0.08942  0.08488  0.09216  0.099 [...]
+Carica     0.08460  0.06524  0.07785  0.08897  0.09128  0.08892  0.08241  0.08466  0.09045  0.09139  0.09442  0.08914  0.08244  0.07685  0.08608  0.07775  0.09516  0.08529  0.07327  0.09209  0.08461  0.07919  0.08131  0.09248  0.08933  0.08531  0.05602  0.06619  0.08099  0.08525  0.07879  0.08258  0.08465  0.08926  0.07727  0.08836  0.08972  0.08841  0.09532  0.07149  0.08678  0.08132	 0.07762  0.07627  0.08006  0.09064  0.09363  0.07755  0.07275	0.07631  0.06614  0.06497  0.08842  0.084 [...]
+Akania     0.08226  0.06223  0.06972  0.08306  0.08351  0.08725  0.08294  0.08518  0.08725  0.08602  0.09442  0.08604  0.07797  0.07452  0.07944  0.07316  0.08382  0.09084  0.06305  0.08505  0.08070  0.07377  0.07817  0.08476  0.08547  0.08298  0.04648  0.06898  0.07562  0.07616  0.07578  0.08406  0.08376  0.08760  0.07413  0.07738  0.08287  0.07857  0.09297  0.06006  0.08155  0.06747	 0.06751  0.06492  0.07015  0.08608  0.08519  0.06718  0.06248	0.06711  0.05447  0.05579  0.08225  0.081 [...]
+Brassica   0.10157  0.09585  0.09663  0.10775  0.11047  0.10511  0.09539  0.10450  0.10614  0.10097  0.11313  0.11004  0.10157  0.09888  0.09732  0.09423  0.10182  0.10157  0.09243  0.10559  0.09971  0.09727  0.09570  0.10014  0.09916  0.09943  0.08354  0.07989  0.09457  0.09564  0.09471  0.09552  0.10562  0.10198  0.09149  0.10192  0.10088  0.10119  0.11184  0.09334  0.10086  0.09690	 0.09304  0.09189  0.09787  0.10846  0.10695  0.10188  0.09984	0.09986  0.08889  0.07951  0.10102  0.102 [...]
+Limnanthe  0.09649  0.08281  0.09051  0.10054  0.09263  0.09539  0.10037  0.10015  0.10525  0.10476  0.10712  0.10704  0.09644  0.09016  0.09792  0.09182  0.10403  0.10366  0.09096  0.10548  0.10035  0.09180  0.09876  0.09294  0.10052  0.09571  0.06869  0.08177  0.09210  0.09935  0.09381  0.09624  0.10485  0.10406  0.09591  0.10186  0.10158  0.10261  0.10726  0.09254  0.10084  0.09183	 0.09095  0.08883  0.09560  0.10848  0.10017  0.09386  0.09481	0.09818  0.08577  0.08199  0.09645  0.103 [...]
+Floerkea   0.09371  0.08011  0.08705  0.09952  0.08812  0.09520  0.09678  0.09734  0.10085  0.09951  0.10264  0.10252  0.09227  0.08671  0.09517  0.08895  0.09880  0.10014  0.08670  0.10407  0.09739  0.09049  0.09660  0.09034  0.09607  0.09514  0.06750  0.07762  0.08850  0.09570  0.09013  0.09404  0.10192  0.10198  0.09147  0.09833  0.10019  0.10044  0.10659  0.08877  0.09657  0.08613	 0.08492  0.08292  0.08966  0.10349  0.09875  0.09102  0.09197	0.09463  0.08243  0.07857  0.09356  0.100 [...]
+Batis      0.09728  0.09084  0.10092  0.10851  0.10269  0.10420  0.09899  0.09949  0.10629  0.10416  0.11479  0.11238  0.10515  0.10031  0.10522  0.09801  0.11692  0.10801  0.09815  0.10727  0.10424  0.09803  0.10191  0.11094  0.10660  0.10515  0.08130  0.09291  0.10440  0.10254  0.09785  0.10106  0.10649  0.10987  0.09981  0.10556  0.10851  0.10124  0.10888  0.10554  0.10873  0.10333	 0.09832  0.09430  0.10251  0.11355  0.11159  0.10408  0.10272	0.10595  0.09390  0.08808  0.10341  0.097 [...]
+Cycas      0.12518  0.12017  0.13352  0.10823  0.11533  0.11070  0.12942  0.12741  0.13035  0.13791  0.14034  0.14095  0.13376  0.12969  0.12667  0.11375  0.13421  0.13019  0.11752  0.12497  0.12925  0.12005  0.11859  0.12343  0.12612  0.12303  0.11108  0.10886  0.12546  0.12201  0.11743  0.12145  0.12600  0.12783  0.11789  0.11932  0.12120  0.12531  0.12474  0.11681  0.13019  0.11922	 0.11794  0.11685  0.11679  0.12441  0.12808  0.12065  0.10774	0.11509  0.10894  0.11342  0.11993  0.120 [...]
+Bowenia    0.13233  0.11803  0.12978  0.10827  0.10933  0.11072  0.13004  0.13241  0.12882  0.13497  0.13427  0.13503  0.12947  0.12754  0.12378  0.11003  0.13048  0.12876  0.11035  0.12733  0.12322  0.11707  0.11871  0.11599  0.12537  0.12017  0.10660  0.10728  0.11945  0.11755  0.11507  0.12213  0.12147  0.12568  0.11112  0.11775  0.11673  0.12083  0.12178  0.10700  0.12518  0.11348	 0.11489  0.10937  0.11307  0.11862  0.12133  0.11989  0.10989	0.11284  0.10177  0.10246  0.11321  0.118 [...]
+Zamia      0.13376  0.12375  0.13415  0.11254  0.11313  0.11419  0.13365  0.13527  0.13647  0.14106  0.14346  0.14336  0.13734  0.13321  0.13023  0.11762  0.13809  0.13877  0.11751  0.13167  0.13165  0.12243  0.12486  0.12191  0.13362  0.12661  0.11528  0.11454  0.12556  0.12665  0.12276  0.12685  0.12685  0.13358  0.12023  0.12865  0.12282  0.12922  0.12940  0.11383  0.12947  0.11634	 0.12004  0.11772  0.11913  0.12440  0.12968  0.12423  0.11349	0.11593  0.11108  0.11344  0.12157  0.125 [...]
+Chigua     0.13305  0.12518  0.13416  0.11344  0.11472  0.11507  0.13295  0.13456  0.13639  0.14173  0.14034  0.14176  0.13734  0.13393  0.13166  0.11605  0.13956  0.13948  0.11680  0.13336  0.13005  0.12236  0.12635  0.12036  0.13366  0.12804  0.11315  0.11383  0.12703  0.12811  0.12424  0.12755  0.12830  0.13501  0.11939  0.12720  0.12428  0.12915  0.13085  0.11454  0.13090  0.11562	 0.11925  0.11690  0.12057  0.12370  0.13036  0.12430  0.11206	0.11662  0.11180  0.11083  0.12150  0.127 [...]
+Dioon      0.13162  0.12017  0.13056  0.10478  0.10931  0.10641  0.13081  0.13313  0.13336  0.13948  0.14259  0.14179  0.13305  0.12963  0.12450  0.11381  0.13651  0.13305  0.11393  0.12997  0.12702  0.12084  0.12172  0.11763  0.12607  0.12017  0.10736  0.10662  0.12248  0.12659  0.11815  0.12449  0.12526  0.12926  0.11715  0.12355  0.11976  0.12612  0.12931  0.11079  0.12375  0.11059	 0.11700  0.11314  0.11607  0.11934  0.12509  0.12063  0.10990	0.11281  0.10535  0.10732  0.11546  0.121 [...]
+Stangeria  0.13376  0.12232  0.13056  0.11348  0.11399  0.11423  0.13302  0.13527  0.13638  0.14171  0.13953  0.14327  0.13448  0.13179  0.12808  0.11753  0.13576  0.13448  0.11393  0.12999  0.12852  0.12232  0.12396  0.12113  0.12836  0.12446  0.10882  0.11024  0.12543  0.12353  0.12041  0.12677  0.12594  0.13069  0.11712  0.12571  0.12047  0.12834  0.13152  0.11149  0.12446  0.11059	 0.11549  0.11462  0.11378  0.12226  0.12806  0.12064  0.11062	0.11267  0.10463  0.10736  0.11843  0.121 [...]
+Encephala  0.13019  0.11874  0.12837  0.10646  0.10546  0.10809  0.12860  0.13169  0.13260  0.13794  0.13803  0.13799  0.13019  0.12820  0.12593  0.11304  0.13425  0.13090  0.11178  0.12917  0.12624  0.12007  0.12094  0.11588  0.12680  0.12160  0.10661  0.10514  0.12170  0.12280  0.11737  0.12369  0.12447  0.12926  0.11410  0.12136  0.11898  0.12534  0.12703  0.10620  0.12446  0.10988	 0.11628  0.11162  0.11304  0.11645  0.12585  0.11845  0.10703	0.10822  0.10320  0.10471  0.11545  0.119 [...]
+Sciadopit  0.12931  0.11908  0.14322  0.12112  0.12175  0.12449  0.13407  0.12546  0.12868  0.13612  0.13358  0.13665  0.13243  0.12937  0.12470  0.11694  0.14107  0.12926  0.12466  0.13116  0.12978  0.12093  0.12140  0.13027  0.13334  0.12770  0.12319  0.11769  0.12483  0.12029  0.12258  0.12542  0.12801  0.12896  0.12063  0.12507  0.12683  0.12550  0.13145  0.12667  0.12668  0.11879	 0.13027  0.11871  0.13094  0.13461  0.12835  0.13052  0.12349	0.13427  0.11679  0.11741  0.12452  0.130 [...]
+Ginkgobil  0.12016  0.11618  0.13095  0.10183  0.10565  0.10181  0.12403  0.12171  0.13038  0.13529  0.13595  0.13022  0.12398  0.12180  0.11417  0.10676  0.12561  0.12245  0.11327  0.12351  0.11818  0.11124  0.11279  0.11739  0.12568  0.11486  0.10796  0.10626  0.11281  0.11488  0.11143  0.11816  0.11756  0.11978  0.11442  0.11220  0.11973  0.11761  0.12358  0.11896  0.12392  0.11440	 0.11427  0.10773  0.11745  0.11774  0.12262  0.11580  0.10684	0.11211  0.10415  0.11096  0.11247  0.116 [...]
+Taxusbrev  0.13573  0.13338  0.14722  0.11970  0.12158  0.12304  0.14263  0.13582  0.13798  0.14122  0.14107  0.13776  0.13349  0.13434  0.13364  0.12648  0.14847  0.13879  0.12740  0.13965  0.13190  0.13051  0.13055  0.13108  0.13896  0.13198  0.12135  0.12809  0.13426  0.13309  0.12812  0.13712  0.13492  0.13776  0.13179  0.13269  0.13377  0.13096  0.13445  0.13287  0.13786  0.12695	 0.13714  0.12419  0.13463  0.13807  0.13258  0.12871  0.12254	0.12735  0.12142  0.11941  0.12830  0.129 [...]
+Cephalota  0.13823  0.13193  0.14815  0.12399  0.12409  0.12559  0.14209  0.13605  0.14299  0.14538  0.13887  0.13553  0.13368  0.13143  0.13295  0.12510  0.14954  0.13438  0.12902  0.14179  0.13126  0.12911  0.12979  0.13475  0.13764  0.13669  0.11996  0.12899  0.13368  0.12924  0.13054  0.13818  0.13430  0.13560  0.12878  0.12969  0.13472  0.13028  0.13620  0.13620  0.14253  0.13237	 0.14200  0.12599  0.13807  0.14212  0.13368  0.13423  0.12353	0.13305  0.12378  0.12300  0.13086  0.133 [...]
+Athrotaxi  0.13280  0.12437  0.14497  0.11847  0.11859  0.12181  0.13215  0.13060  0.12760  0.13087  0.12925  0.13158  0.13128  0.12839  0.12538  0.11551  0.13585  0.12903  0.11617  0.13508  0.12479  0.12016  0.11762  0.12912  0.13365  0.12754  0.11541  0.12211  0.12319  0.11876  0.11931  0.12523  0.12061  0.13096  0.11750  0.12128  0.12267  0.12224  0.12174  0.12095  0.12671  0.12174	 0.12598  0.11077  0.12278  0.13291  0.12642  0.12881  0.11281	0.12020  0.11320  0.11007  0.12274  0.125 [...]
+Taxodium   0.13083  0.11960  0.13547  0.11572  0.11584  0.11903  0.13319  0.12870  0.12729  0.12898  0.12821  0.12808  0.12422  0.12128  0.12060  0.11542  0.13465  0.12498  0.11518  0.12446  0.11894  0.11934  0.11673  0.12131  0.12641  0.11900  0.11447  0.11738  0.12062  0.11629  0.11609  0.12340  0.11967  0.12458  0.11738  0.11498  0.12094  0.11808  0.12156  0.11847  0.12853  0.12072	 0.12167  0.11075  0.12104  0.13241  0.12533  0.12537  0.11481	0.12138  0.11000  0.10895  0.12414  0.124 [...]
+Callitris  0.15550  0.14431  0.16309  0.14614  0.13433  0.14771  0.16012  0.15190  0.15654  0.15728  0.14861  0.14699  0.14973  0.14826  0.14832  0.14212  0.16137  0.15044  0.13921  0.15842  0.14836  0.14568  0.14639  0.14793  0.15143  0.14667  0.13924  0.14585  0.14751  0.14779  0.14785  0.15265  0.14971  0.14860  0.14341  0.14216  0.15083  0.14885  0.14689  0.14607  0.14798  0.14178	 0.14377  0.13600  0.14779  0.15061  0.14571  0.15033  0.14043	0.14613  0.13627  0.13520  0.14778  0.147 [...]
+Widdringt  0.14431  0.13372  0.15338  0.13348  0.13233  0.13765  0.15042  0.14366  0.14206  0.14131  0.14441  0.14380  0.14076  0.14000  0.13772  0.13180  0.14947  0.14371  0.13397  0.14453  0.13948  0.13680  0.13350  0.13846  0.14383  0.13316  0.13242  0.13682  0.13627  0.13413  0.13113  0.14298  0.13678  0.14104  0.13459  0.13673  0.13730  0.13843  0.13648  0.13324  0.13756  0.13276	 0.13810  0.12638  0.13500  0.14523  0.13755  0.14345  0.13129	0.13467  0.12802  0.12660  0.13648  0.132 [...]
+Metasequo  0.13909  0.12861  0.14447  0.12449  0.12356  0.12948  0.14441  0.13695  0.13591  0.13833  0.13756  0.13745  0.13395  0.13252  0.12959  0.12399  0.14403  0.13249  0.12272  0.13849  0.13242  0.12879  0.12714  0.13259  0.13777  0.13098  0.12197  0.12637  0.13244  0.12886  0.12550  0.13599  0.13067  0.13514  0.12758  0.12553  0.13035  0.12908  0.12943  0.12949  0.13529  0.12602	 0.13272  0.11936  0.13043  0.13399  0.13079  0.13149  0.12234	0.12775  0.12054  0.12081  0.12806  0.128 [...]
+Abies      0.13165  0.12159  0.14048  0.12358  0.12187  0.12437  0.13755  0.13246  0.13574  0.13657  0.13422  0.13418  0.12521  0.12675  0.13034  0.11953  0.14432  0.13319  0.12020  0.13020  0.12687  0.12597  0.12625  0.13488  0.13834  0.12733  0.11572  0.11935  0.12543  0.12194  0.12332  0.13287  0.13058  0.13147  0.12379  0.12492  0.12723  0.12678  0.13390  0.11952  0.13384  0.12267	 0.11918  0.11434  0.11965  0.12663  0.12932  0.12792  0.11175	0.11863  0.11366  0.11938  0.12354  0.125 [...]
+Pseudolar  0.13673  0.12594  0.14049  0.12792  0.12728  0.12870  0.14119  0.13901  0.13653  0.13742  0.14130  0.14041  0.13174  0.13184  0.12813  0.12039  0.13676  0.13536  0.12235  0.13168  0.12622  0.12372  0.12399  0.13655  0.13537  0.12732  0.11644  0.11860  0.12475  0.12125  0.12112  0.13457  0.12994  0.12706  0.12465  0.12495  0.12504  0.12763  0.13169  0.12268  0.13237  0.12191	 0.12216  0.11751  0.11972  0.13393  0.12641  0.12936  0.11610	0.11789  0.11437  0.11957  0.11980  0.123 [...]
+Pseudotsu  0.14378  0.13019  0.14222  0.12525  0.12555  0.12772  0.14254  0.14458  0.14468  0.14621  0.14716  0.14624  0.14020  0.14039  0.13884  0.13033  0.14933  0.14306  0.12754  0.14156  0.13914  0.13443  0.13628  0.13887  0.14280  0.13662  0.11754  0.12190  0.13532  0.13489  0.13183  0.13909  0.13809  0.14363  0.13218  0.13151  0.13706  0.13667  0.14215  0.12967  0.14092  0.12998	 0.12834  0.12141  0.12735  0.13522  0.13404  0.13731  0.11781	0.12566  0.12041  0.12363  0.13500  0.132 [...]
+Sequoiade  0.14521  0.13162  0.14447  0.12265  0.11951  0.12601  0.14186  0.14387  0.13719  0.14101  0.13973  0.13882  0.13376  0.13251  0.13167  0.12742  0.14344  0.13948  0.12107  0.14062  0.13391  0.13375  0.12951  0.13226  0.13386  0.13162  0.11760  0.12197  0.13088  0.13124  0.12812  0.13541  0.13140  0.13858  0.12854  0.12936  0.13264  0.13297  0.13392  0.12447  0.13519  0.12563	 0.13412  0.12526  0.13270  0.13743  0.13117  0.13221  0.12140	0.12571  0.11826  0.11891  0.12908  0.130 [...]
+Tsuga      0.14163  0.12876  0.14082  0.13050  0.12493  0.12966  0.14112  0.14244  0.13942  0.14172  0.14347  0.14477  0.13734  0.13609  0.13883  0.12588  0.14488  0.14378  0.12323  0.13735  0.13311  0.12989  0.13326  0.13652  0.13385  0.13591  0.11686  0.12194  0.13159  0.12813  0.12885  0.13762  0.13436  0.13571  0.13149  0.13082  0.13105  0.13292  0.13762  0.12138  0.13662  0.12422	 0.12817  0.12299  0.12515  0.13600  0.13487  0.13298  0.12140	0.12724  0.11899  0.11867  0.13053  0.131 [...]
+Podocarpu  0.14449  0.13734  0.14221  0.13037  0.12634  0.13116  0.14980  0.14601  0.15376  0.15372  0.15850  0.15529  0.14664  0.14827  0.13954  0.13028  0.15010  0.14449  0.13111  0.14812  0.14065  0.13743  0.13706  0.13973  0.14507  0.13591  0.12404  0.12984  0.13752  0.14012  0.13024  0.14062  0.13651  0.14360  0.13674  0.13731  0.14156  0.13891  0.14662  0.13498  0.14235  0.12994	 0.13950  0.13043  0.13940  0.14837  0.14309  0.14449  0.13434	0.13864  0.12757  0.13140  0.13796  0.139 [...]
+Keteleeri  0.14378  0.12947  0.14442  0.12684  0.12873  0.12763  0.14402  0.14601  0.14538  0.14688  0.14555  0.14769  0.13877  0.13896  0.14027  0.12804  0.15005  0.14235  0.12468  0.14082  0.13379  0.13214  0.13393  0.13471  0.13836  0.13662  0.11906  0.12339  0.13527  0.13182  0.13331  0.14056  0.13881  0.14004  0.12991  0.13297  0.13398  0.13586  0.14284  0.12731  0.14378  0.12783	 0.12378  0.12662  0.12583  0.13170  0.13629  0.13444  0.11781	0.12259  0.12042  0.11853  0.13118  0.132 [...]
+Cedrus     0.13519  0.12661  0.13649  0.12374  0.12188  0.12705  0.13607  0.13741  0.14086  0.14396  0.15016  0.14473  0.13591  0.13466  0.13238  0.12204  0.14331  0.13662  0.12395  0.13336  0.13077  0.12682  0.12781  0.13215  0.13761  0.12876  0.11764  0.11763  0.12771  0.12733  0.12504  0.13075  0.13204  0.13285  0.12768  0.12429  0.12877  0.12836  0.13379  0.12359  0.13734  0.12351	 0.12603  0.11913  0.12208  0.13311  0.13104  0.12788  0.11566	0.12107  0.11396  0.11681  0.12670  0.127 [...]
+Larix      0.14646  0.13208  0.14707  0.12907  0.12750  0.12988  0.14450  0.14726  0.14423  0.14591  0.14686  0.14746  0.14143  0.14304  0.14005  0.12997  0.15055  0.14428  0.12798  0.14737  0.13806  0.13411  0.13669  0.13946  0.14401  0.13708  0.11864  0.12521  0.13650  0.13453  0.13301  0.14025  0.13929  0.14411  0.13260  0.13123  0.13823  0.13786  0.14182  0.13006  0.14212  0.13043	 0.13173  0.12631  0.13302  0.13866  0.14049  0.14001  0.12182	0.12757  0.12445  0.12654  0.13843  0.134 [...]
+Picea_pun  0.14306  0.12732  0.14363  0.12858  0.12170  0.12937  0.14039  0.14315  0.14165  0.14245  0.14711  0.15003  0.14020  0.13967  0.13884  0.12885  0.15087  0.14163  0.12610  0.14163  0.13764  0.13217  0.13320  0.14045  0.14125  0.13305  0.11759  0.12114  0.13304  0.13340  0.12951  0.13601  0.13807  0.14074  0.13223  0.13442  0.13329  0.13515  0.14137  0.12666  0.13519  0.12853	 0.12898  0.12368  0.12740  0.13527  0.13559  0.13437  0.12212	0.12491  0.11897  0.12273  0.13123  0.131 [...]
+Pinus_gri  0.14735  0.13591  0.14953  0.12850  0.12787  0.12931  0.14403  0.14743  0.14464  0.14766  0.15392  0.14771  0.14020  0.14182  0.14241  0.13559  0.15384  0.14878  0.13256  0.14266  0.14445  0.14126  0.14163  0.14297  0.14508  0.14092  0.12631  0.12414  0.13985  0.13863  0.13938  0.14375  0.14337  0.14364  0.13973  0.14017  0.14003  0.14195  0.14665  0.13339  0.14521  0.13429	 0.13507  0.13270  0.13260  0.14105  0.13934  0.13799  0.12715	0.13174  0.12614  0.13032  0.13723  0.139 [...]
+Pinus_rad  0.13877  0.13519  0.14810  0.12857  0.12491  0.12938  0.14115  0.14028  0.14543  0.14397  0.15550  0.14702  0.13877  0.14039  0.14241  0.13414  0.15013  0.14735  0.12681  0.14324  0.14145  0.13825  0.13861  0.13966  0.14365  0.13877  0.12343  0.12489  0.13987  0.13566  0.13491  0.14305  0.14415  0.14434  0.13677  0.13586  0.13782  0.13972  0.14667  0.13195  0.14163  0.12997	 0.12749  0.13048  0.12963  0.13671  0.13712  0.13941  0.12284	0.12794  0.12255  0.12459  0.13503  0.134 [...]
+Gnetum     0.15578  0.15035  0.16333  0.15825  0.15195  0.16155  0.16186  0.15587  0.16241  0.16148  0.15899  0.16198  0.16179  0.16117  0.16125  0.15402  0.16478  0.16712  0.15353  0.15364  0.16045  0.15404  0.15521  0.16654  0.16200  0.15656  0.14742  0.15494  0.15714  0.15809  0.14765  0.15112  0.16003  0.15779  0.15538  0.15589  0.15475  0.15357  0.15628  0.15252  0.16239  0.15843	 0.15092  0.15178  0.15499  0.16298  0.15064  0.16115  0.15259	0.16165  0.14983  0.14524  0.15656  0.155 [...]
+Ephedra    0.15451  0.15594  0.15389  0.15937  0.15104  0.16097  0.15940  0.15820  0.15403  0.15172  0.15272  0.15552  0.15021  0.15257  0.15314  0.14490  0.15569  0.15665  0.14467  0.14530  0.15454  0.14435  0.14118  0.14913  0.14443  0.14950  0.13357  0.14300  0.14534  0.14720  0.13733  0.14557  0.13978  0.14209  0.14681  0.14239  0.14106  0.14288  0.14304  0.14511  0.15737  0.14427	 0.14977  0.14503  0.15021  0.15542  0.14567  0.16170  0.15085	0.15084  0.14190  0.13685  0.14729  0.148 [...]
+Welwitsch  0.16166  0.14878  0.14951  0.14670  0.14169  0.14822  0.16445  0.16463  0.15851  0.15992  0.15414  0.15542  0.15451  0.15686  0.15173  0.14331  0.15634  0.15165  0.14614  0.15448  0.15221  0.14441  0.14565  0.14597  0.14448  0.14878  0.13576  0.14087  0.14533  0.14939  0.14033  0.14470  0.14430  0.14862  0.14372  0.14388  0.14323  0.14737  0.15134  0.14349  0.15236  0.14499	 0.14304  0.14647  0.14711  0.15907  0.14260  0.14665  0.14222	0.14256  0.13906  0.13419  0.14345  0.148 [...]
diff --git a/examples/upper_diag.dist b/examples/upper_diag.dist
new file mode 100644
index 0000000..6a88051
--- /dev/null
+++ b/examples/upper_diag.dist
@@ -0,0 +1,6 @@
+    5
+Alpha      1.000 2.000 3.000 3.000
+Beta             2.000 3.000 3.000
+Gamma                  3.000 3.000
+Delta                        1.000
+Epsilon
diff --git a/fasta.c b/fasta.c
new file mode 100644
index 0000000..ead168b
--- /dev/null
+++ b/fasta.c
@@ -0,0 +1,755 @@
+/*
+ * fasta.c
+ *
+ * $Id: fasta.c,v 1.4 2007/11/27 18:33:59 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * Functions for parsing FASTA formatted alignment files
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#include "clearcut.h"
+#include "common.h"
+#include "fasta.h"
+
+
+#define NJ_NUM_DNA_AMBIGUITY_SYMS 14
+static const char NJ_dna_ambiguity_syms[NJ_NUM_DNA_AMBIGUITY_SYMS] = 
+{
+  'M', 'R', 'W', 'S', 'Y', 'K',
+  'V', 'H', 'D', 'B', 'X', 'N',
+  '-', '.'
+};
+
+
+#define NJ_NUM_PROTEIN_AMBIGUITY_SYMS 6
+static const char NJ_protein_ambiguity_syms[NJ_NUM_PROTEIN_AMBIGUITY_SYMS] =
+{
+  'X', 'B', 'Z', '*', '-', '.'
+};
+
+#define NJ_NUM_DNA_SYMS 5
+static const char NJ_dna_syms[NJ_NUM_DNA_SYMS] = 
+{
+  'A', 'G', 'C', 'T', 'U'
+};
+
+
+#define NJ_NUM_PROTEIN_SYMS 20
+static const char NJ_protein_syms[NJ_NUM_PROTEIN_SYMS] = 
+{
+  'A', 'R', 'N', 'D', 'C', 'Q', 'E', 'G', 'H', 'I', 
+  'L', 'K', 'M', 'F', 'P', 'S', 'T', 'W', 'Y', 'V'
+};
+
+
+
+
+
+/*
+ * NJ_is_whitespace() - Check to see if character is whitespace
+ *
+ * INPUTS:
+ * -------
+ *     c -- character to check
+ *
+ * RETURNS:
+ * --------
+ *    int -- 0 if not whitespace
+ *           1 if whitespace
+ */
+static inline
+int
+NJ_is_whitespace(char c) {
+  if( c == ' '  ||   /* space           */
+      c == '\n' ||   /* newline         */
+      c == '\r' ||   /* carriage-return */
+      c == '\v' ||   /* vertical tab    */
+      c == '\f' ||   /* form feed       */
+      c == '\t' ) {  /* horizontal tab  */
+    return(1);
+  } else {
+    return(0);
+  }
+}
+
+
+
+
+
+/*
+ * NJ_is_dna() - 
+ *
+ * Determines if the given symbol is DNA
+ *
+ * RETURNS: 1 if DNA
+ *          0 if not DNA
+ *
+ */
+static inline
+int
+NJ_is_dna(char c) {
+
+  int i;
+  char up_c;
+  
+  up_c = toupper(c);
+  
+  for(i=0;i<NJ_NUM_DNA_SYMS;i++) {
+    if(up_c == NJ_dna_syms[i]) {
+      return(1);
+    }
+  }
+
+  return(0);
+}
+
+
+
+
+
+/*
+ * NJ_is_dna_ambiguity() - 
+ *
+ * Determines if the given symbol is a 
+ * DNA ambiguity code
+ *
+ * RETURNS: 1 if DNA Ambiguity Code
+ *          0 if not DNA Ambiguity Code
+ *
+ */
+static inline
+int
+NJ_is_dna_ambiguity(char c) {
+  
+  int i;
+  char up_c;
+  
+  up_c = toupper(c);
+  
+  for(i=0;i<NJ_NUM_DNA_AMBIGUITY_SYMS;i++) {
+    if(up_c == NJ_dna_ambiguity_syms[i]) {
+      return(1);
+    }
+  }
+  
+  return(0);
+}
+
+
+
+/*
+ * NJ_is_protein() - 
+ *
+ * Determines if supplied symbol is amino acid symbol
+ *
+ * RETURNS: 1 if amino acid
+ *          0 if not amino acid
+ *
+ */
+static inline
+int
+NJ_is_protein(char c) {
+
+  int i;
+  char up_c;
+  
+  up_c = toupper(c);
+  
+  for(i=0;i<NJ_NUM_PROTEIN_SYMS;i++) {
+    if(up_c == NJ_protein_syms[i]) {
+      return(1);
+    }
+  }
+  
+  return(0);
+}
+
+
+
+
+/*
+ * NJ_is_protein_ambiguity() - 
+ *
+ * Determines if supplied symbol is amino acid ambiguity symbol
+ *
+ * RETURNS: 1 if amino acid ambiguity symbol
+ *          0 if not amino acid ambiguity symbol
+ *
+ */
+static inline
+int 
+NJ_is_protein_ambiguity(char c) {
+
+  int i;
+  char up_c;
+  
+  up_c = toupper(c);
+
+  for(i=0;i<NJ_NUM_PROTEIN_AMBIGUITY_SYMS;i++) {
+    if(up_c == NJ_protein_ambiguity_syms[i]) {
+      return(1);
+    }
+  }
+  
+  return(0);
+}
+
+
+
+
+
+
+/*
+ * NJ_read_fasta() - A function for inputing FASTA sequences into an alignment
+ *                   data structure
+ *
+ *
+ * INPUTS:
+ * -------
+ *   nj_args -- A pointer to a data structure containing command-line args
+ *
+ * RETURNS:
+ * --------
+ *   NJ_alignment * -- A pointer to a multiple sequence alignment
+ *
+ * DESCRIPTION:
+ * ------------
+ *
+ * 
+ * This function implements a state machine parser for parsing FASTA-formatted
+ * multiple sequence alignment files.  
+ * 
+ * Example Input:
+ *
+ *   > sequence1
+ *   ATAGATATAGATTAGAATAT----TATAGATAT----ATATAT-TTT-
+ *   > sequence2 
+ *   --ATAGATA---ATATATATATTTT--GTCTCATAGT---ATATGCTT
+ *   > sequence3
+ *   TTATAGATA---ATATATATATTTTAAGTCTCATAGT-A-ATATGC--
+ * 
+ * This function will parse alignments for DNA or protein, and will do
+ * so mindful of ambiguity codes for these kinds of sequences.  All 
+ * ambiguity codes are ignored by this program for the purposes of 
+ * computing a distance matrix from a multiple alignment.  By design, 
+ * this program does not auto-detect DNA vs. Protein, and requires that 
+ * the user explictly specify that on the command-line.
+ *
+ * Gaps can be represented either with the '-' or '.' characters.
+ * 
+ * Newlines and other whitespace are allowed to be interspersed 
+ * throughout the sequences.
+ *
+ * Taxon labels are required to be unique, and they must start with 
+ * an alphabetic character (not a number, etc.).  The parser will read
+ * the first token after the > character in the description line up until the
+ * first whitespace and use that for the taxon label.
+ *
+ * For example, in the line "> taxon1 is homo sapien", the taxon label will be 
+ * "taxon1"
+ *
+ */
+NJ_alignment *
+NJ_read_fasta(NJ_ARGS *nj_args) {
+
+  FILE *fp  = NULL;
+  char *buf = NULL;
+  char *ptr = NULL;
+  NJ_alignment *alignment = NULL;
+
+  char c;
+  int state;
+  long int index, x, seq;
+  long int i;
+  long int bufsize, nseqs = NJ_INITIAL_NSEQS;
+  int first_sequence_flag;
+
+
+  
+
+  /* 
+   * In this function, we implement a FASTA alignment parser which
+   * reads in an alignment character-by-character, maintaining state
+   * information which guides the parser.
+   *
+   * The program reads either DNA or Protein alignments.  All title lines
+   * and sequences can be arbitrarily long.  Gaps can be represented by 
+   * "-" or "." characters.  
+   *
+   * Ambiguity codes are also handled.
+   * 
+   */
+
+  /* 
+   * We can't handle reading fasta input unless the user explicity 
+   * specifies the input type...just to be sure.
+   */
+  if( (!nj_args->dna_flag && !nj_args->protein_flag) ||
+      (nj_args->dna_flag  &&  nj_args->protein_flag) ) {
+    fprintf(stderr, "Clearcut: Explicitly specify protein or DNA\n");
+    goto XIT_BAD;
+  }
+
+  /* open specified fasta file here */
+  if(nj_args->stdin_flag) {
+    fp = stdin;
+  } else {
+    fp = fopen(nj_args->infilename, "r");
+    if(!fp) {
+      fprintf(stderr, "Clearcut: Failed to open input FASTA file: %s\n", nj_args->infilename);
+      perror("Clearcut");
+      goto XIT_BAD;
+    }
+  }
+
+  /* allocate the initial buffer */
+  bufsize = NJ_INITIAL_BUFFER_SIZE;
+  buf = (char *)calloc(bufsize, sizeof(char));
+  
+  /* allocate the alignment container here */
+  alignment = (NJ_alignment *)calloc(1, sizeof(NJ_alignment));
+  
+  /* allocate initial title array */
+  //  printf("allocating initial title array\n");
+  alignment->titles = (char **)calloc(NJ_INITIAL_NSEQS, sizeof(char *));
+
+  /* make sure that we successfully allocated memory */
+  if(!buf || !alignment || !alignment->titles) {
+    fprintf(stderr, "Clearcut: Memory allocation error in NJ_read_fasta()\n");
+    goto XIT_BAD;
+  }
+
+  /* a flag */
+  first_sequence_flag = 1;  
+  
+  index  = 0;  /* tracks the position in buffer     */
+  x      = 0;  /* tracks the position on sequence   */
+  seq    = 0;  /* tracks the active sequence        */
+
+  /* intitial state of state machine */
+  state  = NJ_FASTA_MODE_UNKNOWN;
+
+  while(1) {
+    
+    /* get the next character */
+    c = fgetc(fp);
+    if(feof(fp)) {
+
+      if(state == NJ_FASTA_MODE_SEQUENCE) {
+	buf[index+1] = '\0';
+
+	/* copy buf to alignment */
+	for(i=1;i<=alignment->length;i++) {
+	  alignment->data[seq*alignment->length+i-1] = buf[i];
+	}
+      }
+
+      break;
+    }
+
+    /* make sure our dynamic buffer is big enough */
+    if(index >= bufsize) {
+      bufsize *= 2;
+      buf = (char *)realloc(buf, bufsize);
+      if(!buf) {
+	fprintf(stderr, "Clearcut: Memory allocation error in NJ_read_fasta()\n");
+	goto XIT_BAD;
+      }
+    }
+
+    switch(state) {
+      
+    case NJ_FASTA_MODE_UNKNOWN:
+      
+      if(!NJ_is_whitespace(c)) {
+	if(c == '>') {
+	  state = NJ_FASTA_MODE_TITLE;
+	  buf[0] = '>';
+	} else {
+	  goto XIT_BAD;
+	}
+      }
+
+      break;
+
+    case NJ_FASTA_MODE_TITLE:
+
+      if( c == '\n' ||
+	  c == '\r' ) {
+
+	buf[index] = '\0';
+	state = NJ_FASTA_MODE_SEQUENCE;
+	index = 0;
+	x     = -1;
+
+	/* make sure we've allocated enough space for titles and sequences */
+	if(seq == nseqs) {
+
+	  //	  printf("realloc().  seq = %d, nseqs = %d\n", seq, nseqs);
+
+	  nseqs *= 2;
+
+	  alignment->titles = (char **)realloc(alignment->titles, nseqs*sizeof(char *));
+	  if(!alignment->titles) {
+	    fprintf(stderr, "Clearcut:  Memory allocation error in NJ_read_fasta()\n");
+	    goto XIT_BAD;
+	  }
+
+	  alignment->data = (char *)realloc(alignment->data, alignment->length*nseqs*sizeof(char));
+	  if(!alignment->data) {
+	    fprintf(stderr, "Clearcut: Allocation error in NJ_read_fasta()\n");
+	    goto XIT_BAD;
+	  }
+	}
+
+	// printf("Allocating %d bytes for title %d: %s\n", (int)strlen(buf), (int)seq, buf);
+
+	alignment->titles[seq] = (char *)calloc(strlen(buf), sizeof(char));
+	if(!alignment->titles[seq]) {
+	  fprintf(stderr, "Clearcut:  Memory allocation error in NJ_read_fasta()\n");
+	  goto XIT_BAD;
+	}
+
+	/* lets forward to the first non-space (space/tab) character after the '>' */
+
+	if(first_sequence_flag) {
+	  ptr = buf;
+	} else {
+	  ptr = &buf[1];
+	}
+	while(*ptr == '\t' || *ptr == ' ') {
+	  ptr++;
+	}
+	sscanf(ptr, "%s", alignment->titles[seq]);  /* get the first word and use as the title */
+
+	alignment->nseq++;
+      }
+	
+      buf[index++] = c;
+
+      break;
+
+
+    case NJ_FASTA_MODE_SEQUENCE:
+
+      if(c == '>') {
+
+	if(first_sequence_flag) {
+	  first_sequence_flag = 0;
+
+	  /* allocate our alignment data section here */
+	  alignment->length = index-1;
+
+	  nseqs = NJ_INITIAL_NSEQS;
+	  alignment->data = (char *)calloc(alignment->length*nseqs, sizeof(char));
+	  if(!alignment->data) {
+	    fprintf(stderr, "Clearcut: Allocation error in NJ_read_fasta()\n");
+	    goto XIT_BAD;
+	  }
+	} 
+	
+	if(!first_sequence_flag) {
+	  if(index-1 < alignment->length) {
+	    fprintf(stderr, "Clearcut: Sequences must be of uniform length in alignment at sequence %ld\n", seq);
+	    goto XIT_BAD;
+	  }
+	}
+
+	/* re-allocate if necessary */
+	/*
+	if(seq >= nseqs) {
+	  nseqs *= 2;
+	  alignment->data = (char *)realloc(alignment->data, alignment->length*nseqs*sizeof(char));
+	  if(!alignment->data) {
+	    fprintf(stderr, "Clearcut: Allocation error in NJ_read_fasta()\n");
+	    goto XIT_BAD;
+	  }
+	}
+	*/
+
+	/* copy buf to alignment */
+	for(i=1;i<=alignment->length;i++) {
+	  alignment->data[seq*alignment->length+i-1] = buf[i];
+	}
+	  
+	state = NJ_FASTA_MODE_TITLE;
+	index = 1;
+	x     = 1;
+	  
+	buf[0] = c;
+	
+	seq++;
+
+      } else {
+	  
+	if(NJ_is_whitespace(c)) {
+	  break;
+	}
+		
+	if(!first_sequence_flag) {
+	  if(index-1 >= alignment->length) {
+	    fprintf(stderr, "Clearcut: Sequences must be of uniform length in alignment at sequence %ld\n", seq);
+	    goto XIT_BAD;
+	  }
+	}
+
+
+	/* 
+	 * Here we check to make sure that the symbol read is appropriate
+	 * for the type of data the user specified.  (dna or protein).
+	 * We also handle ambiguity codes by converting them to a specific
+	 * assigned ambiguity code character.  Ambiguity codes are ignored
+	 * when computing distances
+	 */
+
+	if(nj_args->dna_flag) {
+	  if(NJ_is_dna(c)) {
+	    buf[index++] = toupper(c);
+	  } else {
+	    if(NJ_is_dna_ambiguity(c)) {
+	      buf[index++] = NJ_AMBIGUITY_CHAR;
+	    } else {
+	      fprintf(stderr, "Clearcut: Unknown symbol '%c' in nucleotide sequence %ld.\n", c, seq);
+	      goto XIT_BAD;
+	    }
+	  }
+	} else if(nj_args->protein_flag) {
+	  if(NJ_is_protein(c)) {
+	    buf[index++] = toupper(c);
+	  } else {
+	    if(NJ_is_protein_ambiguity(c)) {
+	      buf[index++] = NJ_AMBIGUITY_CHAR;
+	    } else {
+	      fprintf(stderr, "Clearcut: Unknown symbol '%c' in protein sequence %ld.\n", c, seq);
+	      goto XIT_BAD;
+	    }
+	  }
+	}
+
+      }
+
+      break;
+	
+    default:
+      goto XIT_BAD;
+	
+      break;
+
+    }
+  }
+  
+  if(index-1 != alignment->length) {
+    fprintf(stderr, "Clearcut: Sequences must be of uniform length in alignment at sequence %ld\n", seq);
+    goto XIT_BAD;
+  }
+  
+  /* check for duplicate taxon labels */
+  if(!NJ_taxaname_unique(alignment)) {
+    goto XIT_BAD;
+  }
+  
+  return(alignment);
+
+  
+ XIT_BAD:
+
+  if(fp) {
+    fprintf(stderr, "Clearcut: Fatal error parsing FASTA file at file offset %ld.\n", ftell(fp));
+  }
+  
+  if(buf) {
+    free(buf);
+  }
+  
+  NJ_free_alignment(alignment);
+
+  return(NULL);
+}
+
+
+
+
+/*
+ * NJ_print_alignment() - Print multiple sequence alignment (for debugging)
+ *
+ * INPUTS:
+ * -------
+ *    alignment -- A pointer to the alignment
+ *
+ * RETURNS:
+ * --------
+ *    NONE
+ *
+ */
+void
+NJ_print_alignment(NJ_alignment *alignment) {
+  
+  long int i, j;
+  
+  printf("nseq = %ld, length = %ld\n", alignment->nseq, alignment->length);
+  
+  for(i=0;i<alignment->nseq;i++) {
+    
+    printf("> %s\n", alignment->titles[i]);
+
+    for(j=0;j<alignment->length;j++) {
+      printf("%c", alignment->data[i*alignment->length+j]);
+    }
+
+    printf("\n");
+  }
+
+  return;
+}
+
+
+
+
+
+
+
+/*
+ *
+ * NJ_free_alignment() - Free all of the memory allocated for the
+ *                       multiple sequence alignment 
+ *
+ * INPUTS:
+ * -------
+ *   alignment -- A pointer to the multiple sequence alignment
+ *
+ * RETURNS:
+ * --------
+ *    NONE
+ *
+ */
+void
+NJ_free_alignment(NJ_alignment *alignment) {
+  
+  long int i;
+  
+  if(alignment) {
+
+    /* free the allocated titles */
+    if(alignment->titles) {
+      for(i=0;i<alignment->nseq;i++) {
+
+	if(alignment->titles[i]) {
+	  free(alignment->titles[i]);
+	}
+      }
+      
+      free(alignment->titles);
+    }
+
+    /* free the alignment data */
+    if(alignment->data) {
+      free(alignment->data);
+    }
+
+    /* free the alignment itself */
+    free(alignment);
+  }
+
+  return;
+}
+
+
+
+
+/*
+ * NJ_taxaname_unique() - Check to see if taxanames are unique in alignment
+ *
+ * INPUTS:
+ * -------
+ *  alignment -- a pointer to a multiple sequence alignment
+ *
+ * OUTPUTS:
+ * --------
+ *  int -- 0 if all taxanames in alignment are unique
+ *         1 if all taxanames in alignment are NOT unique
+ *
+ *
+ * DESCRIPTION:
+ * ------------
+ *
+ * Check to see if the taxanames in the alignment are unique.  It
+ * will be impossible to make sense of the final tree if the taxon
+ * labels are not unqiue.
+ *
+ */
+int
+NJ_taxaname_unique(NJ_alignment *alignment) {
+  
+  long int i, j;
+  
+  for(i=0;i<alignment->nseq;i++) {
+    for(j=i+1;j<alignment->nseq;j++) {
+        if(!strcmp(alignment->titles[i], 
+		 alignment->titles[j])) {
+	fprintf(stderr, "Clearcut: Taxa %ld and %ld (%s) do not have unique taxon labels.\n", 
+		i, j, alignment->titles[i]);
+	return(0);
+      }
+    }
+  }
+  
+  return(1);
+}
+
+
+void
+NJ_print_titles(NJ_alignment *alignment) {
+
+  int i;
+
+  for(i=0;i<alignment->nseq;i++) {
+    printf("%d: %s\n", i, alignment->titles[i]);
+  }
+
+  return;
+}
diff --git a/fasta.h b/fasta.h
new file mode 100644
index 0000000..aface37
--- /dev/null
+++ b/fasta.h
@@ -0,0 +1,89 @@
+/*
+ * fasta.h
+ *
+ * $Id: fasta.h,v 1.3 2007/11/27 18:33:59 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+
+#ifndef _INC_NJ_FASTA_H_
+#define _INC_NJ_FASTA_H_ 1
+
+#include "clearcut.h"
+
+#define NJ_INITIAL_BUFFER_SIZE   512
+#define NJ_INITIAL_NSEQS         64
+
+#define NJ_FASTA_MODE_TITLE      100
+#define NJ_FASTA_MODE_SEQUENCE   101
+#define NJ_FASTA_MODE_NEWLINE    102
+#define NJ_FASTA_MODE_UNKNOWN    103
+
+
+typedef struct _STRUCT_NJ_ALIGNMENT {
+
+  long int nseq;
+  long int length;
+  
+  char **titles;
+  
+  char *data;
+
+} NJ_alignment;
+
+
+NJ_alignment *
+NJ_read_fasta(NJ_ARGS *nj_args);
+
+void
+NJ_print_alignment(NJ_alignment *alignment);
+
+void
+NJ_free_alignment(NJ_alignment *alignment);
+
+int
+NJ_taxaname_unique(NJ_alignment *alignment);
+
+#endif /* _INC_NJ_FASTA_H_ */
+
+
+
+
diff --git a/getopt_long.c b/getopt_long.c
new file mode 100644
index 0000000..1756a2e
--- /dev/null
+++ b/getopt_long.c
@@ -0,0 +1,2096 @@
+/*
+  This getopt_long() is compatible with GNU's, however, added original
+  extention (short 1 byte option).
+
+
+  Copyright (c) 2004 Koji Arai
+
+  Permission is hereby granted, free of charge, to any person
+  obtaining a copy of this software and associated documentation files
+  (the "Software"), to deal in the Software without restriction,
+  including without limitation the rights to use, copy, modify, merge,
+  publish, distribute, sublicense, and/or sell copies of the Software,
+  and to permit persons to whom the Software is furnished to do so,
+  subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be
+  included in all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+  SOFTWARE.
+
+
+  Compilation for Test:
+
+      GNU:
+      cc -DUSE_GNU -DDEBUG getopt_long.c -o test_getopt_long_gnu
+
+      not GNU:
+      cc -I. -DDEBUG getopt_long.c -o test_getopt_long
+
+      ./test_getopt_long
+      ./test_getopt_long_gnu
+
+  BUGS:
+    * not implemented any features for getopt() and getopt_long().
+*/
+
+#include <assert.h>
+#include <stdio.h>
+#include <string.h>
+
+#if DEBUG
+static int
+puts_argv(char **argv)
+{
+    int i;
+
+    for (i = 0; argv[i]; i++) {
+        if (i) printf(" ");
+
+        printf("%s", argv[i]);
+    }
+    printf("\n");
+
+    return 0;
+}
+#endif
+
+#ifndef USE_GNU
+#include <stdio.h>
+#include "getopt_long.h"
+
+char *optarg;
+int optind;
+
+int opterr;
+int optopt;
+
+/*
+  return value 0: no option (include '-')
+               1: short option like '-x'
+               2: long option like '--xxx' and just '--'
+*/
+static int
+is_option(char *arg)
+{
+    if (arg[0] == '-') {
+        switch (arg[1]) {
+        case 0:                 /* just "-" */
+            return 0;
+        case '-':               /* long option (include just "--")*/
+            return 2;
+        default:                /* short option */
+            return 1;
+        }
+    }
+    return 0;
+}
+
+static int
+insert_argv(char **argv, int src, int dest)
+{
+    int i;
+    char *tmp = argv[src];
+
+    if (src > dest) {
+        for (i = src; i > dest; i--)
+            argv[i] = argv[i-1];
+    }
+    if (src < dest) {
+        for (i = src; i < dest; i++)
+            argv[i] = argv[i+1];
+    }
+
+    argv[dest] = tmp;
+
+    return 0;
+}
+
+static int
+search_longopt(char *arg, struct option *longopts)
+{
+    int i, found = -1;
+    int len;
+    for (len = 0; arg[len] && arg[len] != '='; len++)
+        ;
+
+    for (i = 0; longopts[i].name; i++) {
+        if (strncmp(arg, longopts[i].name, len) == 0) {
+            if (found != -1)
+                return -1;      /* found some candidate */
+            found = i;
+        }
+    }
+    return found;
+}
+
+/*
+ * implemented my extention feature.
+ * optional 1 byte argument with [...]
+ *   e.g.) shortopts = "a[0123]b"
+ *          accepts "-a0 -a1b" (same as "-a0 -a1 -b")
+ */
+static int
+has_argument_short(char *arg, const char *shortopts)
+{
+    int i;
+    int open_bracket = 0;
+    for (i = 0; shortopts[i]; i++) {
+        switch (shortopts[i]) {
+        case '[':
+            open_bracket++;
+            continue;
+        case ']':
+            if (open_bracket <= 0) {
+                fprintf(stderr, "getopt_long() -- unbalanced bracket in short options");
+                return -1;
+            }
+            open_bracket--;
+            continue;
+        }
+        if (open_bracket) continue;
+        if (*arg != shortopts[i]) continue;
+
+        switch (shortopts[i+1]) {
+        case ':':
+            if (shortopts[i+2] != ':') {
+                if (arg[1])
+                    return 1; /* following string is argument */
+                else
+                    return 2; /* next argv is argument */
+            }
+            else {
+                /* '::' means optional argument (GNU extention) */
+                if (arg[1])
+                    return 1;
+                else
+                    return 0; /* no argument */
+            }
+        case '[':
+            if (arg[1] == '\0')
+                return 0;   /* no argument */
+            /* my extention */
+            for (i++; shortopts[i] && shortopts[i] != ']'; i++) {
+                if (arg[1] == shortopts[i])
+                    return 3; /* has 1 byte argument */
+            }
+            if (!shortopts[i]) {
+                fprintf(stderr, "getopt_long() -- unbalanced bracket in short options");
+                return -1;
+            }
+            break;
+        default:
+            return 0;   /* no argument */
+        }
+    }
+    /* Invalid option */
+    return -1;
+}
+
+static int
+has_argument_long(char *arg, struct option *longopts)
+{
+    int i;
+
+    i = search_longopt(arg, longopts);
+    if (i == -1) {
+        /* Invalid option */
+        return -1;
+    }
+    else {
+        int len = strlen(arg);
+        char *p = strchr(arg, '=');
+        if (p) {
+            len = p - arg;
+        }
+
+        switch (longopts[i].has_arg) {
+        case no_argument:
+            return 0;
+        case required_argument:
+            if (arg[len] == '=')
+                return 1;
+            else
+                return 2;
+        case optional_argument:
+            if (arg[len] == '=')
+                return 1;
+            else
+                return 0;
+        default:
+            assert(0);
+        }
+    }
+}
+
+/*
+  -1: no option
+   0: no argument
+   1: has argument in this argv
+   2: has argument in next argv
+   3: has 1 byte argument in this argv
+*/
+static int
+has_argument(char *arg,
+             const char *shortopts,
+             struct option *longopts)
+{
+    int i, n;
+
+    switch (is_option(arg)) {
+    case 0:                     /* no option */
+        return -1;
+    case 1:
+        /* short option */
+        n = -1;
+        for (i = 1; arg[i]; i++) {
+            n = has_argument_short(arg+i, shortopts);
+            if (n == 0 && arg[i+1]) continue;
+            if (n == 3 && arg[i+2]) { i++; continue; }
+            break;
+        }
+        return n;
+    case 2:
+        /* long option */
+        return has_argument_long(arg+2, longopts);
+        break;
+    default:
+        assert(0);
+    }
+}
+
+int
+getopt_long(int argc, char **argv,
+            const char *shortopts,
+            struct option *longopts,
+            int *indexptr)
+{
+    char *opt;
+    int i;
+    static int shortoptind;
+    static int no_optind = 0;
+    
+    if (optind == 0) {            /* skip first argument (command name) */
+        optind++;
+        no_optind = 0;
+        shortoptind = 0;
+    }
+
+    optarg = 0;
+
+    if (no_optind && !shortoptind) {
+        while (!is_option(argv[no_optind]))
+            insert_argv(argv, no_optind, optind-1);
+
+        if (has_argument(argv[no_optind], shortopts, longopts) == 2)
+            no_optind += 2;
+        else
+            no_optind++;
+
+        if (argv[optind] && strcmp(argv[optind], "--") == 0) {
+            while (!is_option(argv[no_optind]))
+                insert_argv(argv, no_optind, optind);
+            optind = no_optind;
+            no_optind = 0;
+        }
+    }
+
+    if (optind >= argc)
+        goto end_of_option;
+
+ retry:
+    /*
+    puts_argv(&argv[optind]);
+    */
+    opt = argv[optind];
+
+    if (shortoptind == 0 && is_option(opt) == 1) {
+        shortoptind++;
+    }
+
+    if (shortoptind) {
+        /* short option */
+        char *p = &opt[shortoptind];
+
+        if (*p == '\0')
+            assert(0);
+
+        switch (has_argument_short(p, shortopts)) {
+        case 0:
+            /* no argument */
+            optarg = 0;
+
+            shortoptind++;
+            if (opt[shortoptind] == '\0')
+                optind++, shortoptind = 0;
+            return *p;
+        case 1:
+            /* following character is argument */
+            optind++, shortoptind = 0;
+            optarg = &p[1];
+            return *p;
+        case 2:
+            /* next argv is argument */
+            optind++, shortoptind = 0;
+            optarg = argv[optind++];
+            return *p;
+        case 3:
+            /* has 1 byte argument */
+            optarg = &p[1];
+            if (p[2] == 0)
+                optind++, shortoptind = 0;
+            else
+                shortoptind += 2;
+            return *p;
+        default:
+            /* Invalid option */
+            if (opterr)
+                fprintf(stderr,
+                        "%s: invalid option -- %c\n",
+                        argv[0],
+                        *p);
+
+            optind++, shortoptind = 0;
+            optopt = *p;
+            return '?';
+        }
+    }
+    else if (opt[0] == '-' && opt[1] == '-') {
+        /* long option */
+
+        if (opt[2] == '\0') {
+            /* end of command line switch */
+            optind++;
+            return -1;
+        }
+
+        opt += 2;
+
+        i = search_longopt(opt, longopts);
+        if (i == -1) {
+            optind++;
+            optopt = 0;
+            return '?';
+        }
+        else {
+            int len = strlen(opt);
+            char *p = strchr(opt, '=');
+            if (p) {
+                len = p - opt;
+            }
+
+            switch (longopts[i].has_arg) {
+            case no_argument:
+                break;
+            case required_argument:
+                if (opt[len] == '=')
+                    optarg = opt + len + 1;
+                else {
+                    optind++;
+                    optarg = argv[optind];
+                    if (optarg == 0) {
+                        if (opterr)
+                            fprintf(stderr,
+                                    "%s: option `--%s' requires an argument\n",
+                                    argv[0],
+                                    opt);
+
+                        optopt = 0;
+                        return '?'; /* no argument */
+                    }
+                }
+                break;
+            case optional_argument:
+                if (opt[len] == '=')
+                    optarg = opt + len + 1;
+                else {
+                    optarg = 0;
+                }
+                break;
+            default:
+                break;
+            }
+
+            *indexptr = i;
+            optind++;
+            if (longopts[i].flag) {
+                *longopts[i].flag = longopts[i].val;
+                return 0;
+            }
+            else {
+                return longopts[i].val;
+            }
+        }
+
+        optind++;
+        optopt = 0;
+        return '?';
+    }
+
+    /* not option */
+    if (no_optind == 0)
+        no_optind = optind;
+
+    for (i = optind; argv[i]; i++) {
+        if (is_option(argv[i])) {
+            optind = i;
+            goto retry;
+        }
+    }
+
+ end_of_option:
+    if (no_optind) {
+        optind = no_optind;
+        no_optind = 0;
+    }
+
+    return -1;
+}
+#endif /* USE_GNU */
+
+#if DEBUG
+
+#include <stdio.h>
+#include <assert.h>
+#include <stdlib.h>
+
+#if USE_GNU
+#include <getopt.h>  /* use GNU getopt_long() */
+#endif
+
+static int verbose_flag;
+static int option_index;
+int argc;
+char *argv[50];
+char **p;
+int c;
+static struct option long_options[] = {
+    {"verbose", no_argument, &verbose_flag, 1},
+    {"brief", no_argument, &verbose_flag, 0},
+    {"add", required_argument, 0, 'a'},
+    {"append", no_argument, 0, 0},
+    {"delete", required_argument, 0, 0},
+    {"create", optional_argument, 0, 0},
+    {"change", optional_argument, 0, 0},
+    {0, 0, 0, 0}
+};
+
+int
+call_getopt_long(int argc, char **argv,
+                 const char *shortopts,
+                 struct option *longopts,
+                 int *indexptr)
+{
+    int c;
+    c = getopt_long(argc, argv, shortopts, longopts, indexptr);
+    puts_argv(argv);
+    printf("ret=%d(%c) option_index=%d ", c, c, option_index);
+    printf("optind=%d optarg=[%s] opterr=%d optopt=%d(%c)\n",
+           optind, optarg, opterr, optopt, optopt);
+    if (c == 0) {
+        struct option *opt;
+        opt = &longopts[*indexptr];
+        printf("long option: --%s has_arg=%d\n", opt->name, opt->has_arg);
+        if (opt->flag)
+            printf("           flag=[%8p] val=%d\n", opt->flag, *opt->flag);
+    }
+
+    return c;
+}
+
+void
+test1()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "-a";
+    argc++; *p++ = "-bcd";
+    argc++; *p++ = "-d";
+    argc++; *p++ = "-e";
+    argc++; *p++ = "-f";
+    argc++; *p++ = "-g";
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 'a');
+    assert(option_index == 0);
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 'b');
+    assert(option_index == 0);
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 'c');
+    assert(option_index == 0);
+    assert(optind == 3);
+    assert(optarg == &argv[2][3]);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 'd');
+    assert(option_index == 0);
+    assert(optind == 5);
+    assert(optarg == argv[4]);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == '?');
+    assert(option_index == 0);
+    assert(optind == 6);
+    assert(optarg == 0);
+    assert(optopt == 'f');
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == '?');
+    assert(option_index == 0);
+    assert(optind == 7);
+    assert(optarg == 0);
+    assert(optopt == 'g');
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == -1);
+    assert(option_index == 0);
+    assert(optind == 7);
+    assert(optarg == 0);
+    assert(optopt == 'g');      /* no changed */
+}
+
+void
+test2()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "--verbose";
+    argc++; *p++ = "--brief";
+    argc++; *p++ = "--add";
+    argc++; *p++ = "add_argument";
+    argc++; *p++ = "--add=add_argument";
+    argc++; *p++ = "--append";
+    argc++; *p++ = "--delete=del_argument";
+    argc++; *p++ = "--create=cre_argument";
+    argc++; *p++ = "--create";
+    argc++; *p++ = "files...";
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 0);
+    assert(option_index == 0);
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 'g');      /* no changed */
+    assert(strcmp(long_options[option_index].name, "verbose") == 0);
+    assert(*long_options[option_index].flag == 1);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 0);
+    assert(option_index == 1);
+    assert(optind == 3);
+    assert(optarg == 0);
+    assert(optopt == 'g');      /* no changed */
+    assert(strcmp(long_options[option_index].name, "brief") == 0);
+    assert(*long_options[option_index].flag == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 'a');
+    assert(option_index == 2);
+    assert(optind == 5);
+    assert(optarg == argv[4]);
+    assert(optopt == 'g');      /* no changed */
+    assert(strcmp(long_options[option_index].name, "add") == 0);
+    assert(long_options[option_index].flag == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 'a');
+    assert(option_index == 2);
+    assert(optind == 6);
+    assert(optarg == argv[5]+6);
+    assert(optopt == 'g');      /* no changed */
+    assert(strcmp(long_options[option_index].name, "add") == 0);
+    assert(long_options[option_index].flag == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 0);
+    assert(option_index == 3);
+    assert(optind == 7);
+    assert(optarg == 0);
+    assert(optopt == 'g');      /* no changed */
+    assert(strcmp(long_options[option_index].name, "append") == 0);
+    assert(long_options[option_index].flag == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 0);
+    assert(option_index == 4);
+    assert(optind == 8);
+    assert(optarg == argv[7]+9);
+    assert(optopt == 'g');      /* no changed */
+    assert(strcmp(long_options[option_index].name, "delete") == 0);
+    assert(long_options[option_index].flag == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 0);
+    assert(option_index == 5);
+    assert(optind == 9);
+    assert(optarg == argv[8]+9);
+    assert(optopt == 'g');      /* no changed */
+    assert(strcmp(long_options[option_index].name, "create") == 0);
+    assert(long_options[option_index].flag == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == 0);
+    assert(option_index == 5);
+    assert(optind == 10);
+    assert(optarg == 0);
+    assert(optopt == 'g');      /* no changed */
+    assert(strcmp(long_options[option_index].name, "create") == 0);
+    assert(long_options[option_index].flag == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == -1);
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 10);
+    assert(optarg == 0);
+    assert(optopt == 'g');      /* no changed */
+    assert(strcmp(argv[optind], "files...") == 0);
+
+}
+
+void
+test3()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "--delete";  /* required argument has no argument */
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == '?');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 2);        /* changed */
+    assert(optarg == 0);
+    assert(optopt == 0);       /* changed */
+    assert(argv[optind] == 0);
+
+    /* */
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "--file";  /* not option */
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    assert(c == '?');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+    assert(argv[optind] == 0);
+}
+
+void
+test4()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "-a";
+    argc++; *p++ = "a1";
+    argc++; *p++ = "a2";
+    argc++; *p++ = "-b";
+    argc++; *p++ = "b";
+    argc++; *p++ = "-efg";      /* some options in a argument */
+    argc++; *p++ = "g";
+    argc++; *p++ = "-c";
+    argc++; *p++ = "c";
+    argc++; *p++ = "d";
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:efg:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "a1") == 0);
+    assert(strcmp(*p++, "a2") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(strcmp(*p++, "b") == 0);
+    assert(strcmp(*p++, "-efg") == 0);
+    assert(strcmp(*p++, "g") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'a');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:efg:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "a1") == 0);
+    assert(strcmp(*p++, "a2") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(strcmp(*p++, "b") == 0);
+    assert(strcmp(*p++, "-efg") == 0);
+    assert(strcmp(*p++, "g") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'b');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 5);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:efg:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(strcmp(*p++, "a1") == 0);
+    assert(strcmp(*p++, "a2") == 0);
+    assert(strcmp(*p++, "b") == 0);
+    assert(strcmp(*p++, "-efg") == 0);
+    assert(strcmp(*p++, "g") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'e');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 6);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:efg:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(strcmp(*p++, "a1") == 0);
+    assert(strcmp(*p++, "a2") == 0);
+    assert(strcmp(*p++, "b") == 0);
+    assert(strcmp(*p++, "-efg") == 0);
+    assert(strcmp(*p++, "g") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'f');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 6);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:efg:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(strcmp(*p++, "a1") == 0);
+    assert(strcmp(*p++, "a2") == 0);
+    assert(strcmp(*p++, "b") == 0);
+    assert(strcmp(*p++, "-efg") == 0);
+    assert(strcmp(*p++, "g") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'g');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 8);
+    assert(optarg == argv[7]);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:efg:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(strcmp(*p++, "-efg") == 0);
+    assert(strcmp(*p++, "g") == 0);
+    assert(strcmp(*p++, "a1") == 0);
+    assert(strcmp(*p++, "a2") == 0);
+    assert(strcmp(*p++, "b") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'c');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 10);
+    assert(optarg == argv[9]);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:efg:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(strcmp(*p++, "-efg") == 0);
+    assert(strcmp(*p++, "g") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "a1") == 0);
+    assert(strcmp(*p++, "a2") == 0);
+    assert(strcmp(*p++, "b") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 7);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+}
+
+void
+test5()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "-a";
+    argc++; *p++ = "-";
+    argc++; *p++ = "-b";
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(*p == 0);
+
+    assert(c == 'a');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(*p == 0);
+
+    assert(c == 'b');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 4);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 3);
+    assert(optarg == 0);
+    assert(optopt == 0);
+}
+
+void
+test6()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "-a";
+    argc++; *p++ = "-";
+    argc++; *p++ = "-";
+    argc++; *p++ = "-b";
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(*p == 0);
+
+    assert(c == 'a');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(*p == 0);
+
+    assert(c == 'b');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 5);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-b") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 3);
+    assert(optarg == 0);
+    assert(optopt == 0);
+}
+
+void
+test7()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "-a";
+    argc++; *p++ = "-";
+    argc++; *p++ = "-";
+    argc++; *p++ = "-c";
+    argc++; *p++ = "c";
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(*p == 0);
+
+    assert(c == 'a');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(*p == 0);
+
+    assert(c == 'c');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 6);
+    assert(optarg == argv[5]);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 4);
+    assert(optarg == 0);
+    assert(optopt == 0);
+}
+
+void
+test8()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "-a";
+    argc++; *p++ = "-c";
+    argc++; *p++ = "c";
+    argc++; *p++ = "--";
+    argc++; *p++ = "-d";
+    argc++; *p++ = "d";
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'a');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'c');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 4);
+    assert(optarg == argv[3]);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 5);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'd');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 7);
+    assert(optarg == argv[6]);
+    assert(optopt == 0);
+}
+
+void
+test9()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "-a";
+    argc++; *p++ = "-";
+    argc++; *p++ = "-";
+    argc++; *p++ = "-c";
+    argc++; *p++ = "c";
+    argc++; *p++ = "--";
+    argc++; *p++ = "-d";
+    argc++; *p++ = "d";
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'a');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'c');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 6);
+    assert(optarg == argv[5]);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 5);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc:d:", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "c") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'd');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 9);
+    assert(optarg == argv[8]);
+    assert(optopt == 0);
+}
+
+void
+test10()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "-a";
+    argc++; *p++ = "-cc";
+    argc++; *p++ = "-d";
+    argc++; *p++ = "d";
+    argc++; *p++ = "-c";        /* no argument */
+    argc++; *p++ = "-d";        /* at last */
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-cc") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'a');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-cc") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'c');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 3);
+    assert(optarg == argv[2]+2);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-cc") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'd');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 4);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-cc") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'c');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 6);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-cc") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'd');
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 7);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-cc") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "-c") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 5);  /* no changed */
+    assert(optind == 6);
+    assert(optarg == 0);
+    assert(optopt == 0);
+}
+
+void
+test11()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "--verbose";
+    argc++; *p++ = "--create=c";
+    argc++; *p++ = "--change";
+    argc++; *p++ = "d";
+    argc++; *p++ = "--create";  /* no argument */
+    argc++; *p++ = "--change";  /* at last */
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 0);
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 5);
+    assert(optind == 3);
+    assert(optarg == argv[2]+9);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 6);
+    assert(optind == 4);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 5);
+    assert(optind == 6);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 6);
+    assert(optind == 7);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 6);
+    assert(optind == 6);
+    assert(optarg == 0);
+    assert(optopt == 0);
+}
+
+void
+test12()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "--verbose";
+    argc++; *p++ = "--create=c";
+    argc++; *p++ = "files...";
+    argc++; *p++ = "--delete";  /* required argument */
+    argc++; *p++ = "d";
+    argc++; *p++ = "--create";  /* no argument */
+    argc++; *p++ = "--change";  /* at last */
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(strcmp(*p++, "--delete") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 0);
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(strcmp(*p++, "--delete") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 5);
+    assert(optind == 3);
+    assert(optarg == argv[2]+9);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(strcmp(*p++, "--delete") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 4);
+    assert(optind == 6);
+    assert(optarg == argv[5]);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "--delete") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 5);
+    assert(optind == 7);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "--delete") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 6);
+    assert(optind == 8);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "--delete") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--create") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 6);
+    assert(optind == 7);
+    assert(optarg == 0);
+    assert(optopt == 0);
+}
+
+void
+test13()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "--verbose";
+    argc++; *p++ = "--create=c";
+    argc++; *p++ = "files...";
+    argc++; *p++ = "--delete";
+    argc++; *p++ = "d";
+    argc++; *p++ = "--";        /* option terminator */
+    argc++; *p++ = "--change";
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(strcmp(*p++, "--delete") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 0);
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(strcmp(*p++, "--delete") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 5);
+    assert(optind == 3);
+    assert(optarg == argv[2]+9);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(strcmp(*p++, "--delete") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == 0);
+    assert(option_index == 4);
+    assert(optind == 6);
+    assert(optarg == argv[5]);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc::d::", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "--verbose") == 0);
+    assert(strcmp(*p++, "--create=c") == 0);
+    assert(strcmp(*p++, "--delete") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "--") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(strcmp(*p++, "--change") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 4);
+    assert(optind == 6);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+}
+
+void
+test14()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "-o5";
+    argc++; *p++ = "files...";
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "o[567]", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-o5") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(*p == 0);
+
+    assert(c == 'o');
+    assert(option_index == 4);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == argv[1]+2);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc[cde]d[fgh]", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-o5") == 0);
+    assert(strcmp(*p++, "files...") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 4);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+}
+
+void
+test15()
+{
+    optind = 0;
+    argc = 0;
+    p = argv;
+
+    argc++; *p++ = "command_name";
+    argc++; *p++ = "-a";
+    argc++; *p++ = "-ccd";
+    argc++; *p++ = "-ce";
+    argc++; *p++ = "-d";
+    argc++; *p++ = "d";
+    argc++; *p++ = "-cdd";
+    argc++; *p++ = "-d";
+    *p = 0;
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc[cde]d[fgh]", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-ccd") == 0);
+    assert(strcmp(*p++, "-ce") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-cdd") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'a');
+    assert(option_index == 4);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc[cde]d[fgh]", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-ccd") == 0);
+    assert(strcmp(*p++, "-ce") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-cdd") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'c');
+    assert(option_index == 4);  /* no changed */
+    assert(optind == 2);
+    assert(optarg == argv[2]+2);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc[cde]d[fgh]", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-ccd") == 0);
+    assert(strcmp(*p++, "-ce") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-cdd") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'd');
+    assert(option_index == 4);  /* no changed */
+    assert(optind == 3);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc[cde]d[fgh]", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-ccd") == 0);
+    assert(strcmp(*p++, "-ce") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-cdd") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'c');
+    assert(option_index == 4);  /* no changed */
+    assert(optind == 4);
+    assert(optarg == argv[3]+2);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc[cde]d[fgh]", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-ccd") == 0);
+    assert(strcmp(*p++, "-ce") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-cdd") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'd');
+    assert(option_index == 4);  /* no changed */
+    assert(optind == 5);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc[cde]d[fgh]", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-ccd") == 0);
+    assert(strcmp(*p++, "-ce") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-cdd") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'c');
+    assert(option_index == 4);  /* no changed */
+    assert(optind == 6);
+    assert(optarg == argv[6]+2);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc[cde]d[fgh]", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-ccd") == 0);
+    assert(strcmp(*p++, "-ce") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-cdd") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'd');
+    assert(option_index == 4);  /* no changed */
+    assert(optind == 7);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc[cde]d[fgh]", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-ccd") == 0);
+    assert(strcmp(*p++, "-ce") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "-cdd") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(*p == 0);
+
+    assert(c == 'd');
+    assert(option_index == 4);  /* no changed */
+    assert(optind == 8);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+
+    /*************************/
+    c = call_getopt_long(argc, argv, "abc[cde]d[fgh]", long_options, &option_index);
+
+    p = argv;
+    assert(strcmp(*p++, "command_name") == 0);
+    assert(strcmp(*p++, "-a") == 0);
+    assert(strcmp(*p++, "-ccd") == 0);
+    assert(strcmp(*p++, "-ce") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "-cdd") == 0);
+    assert(strcmp(*p++, "-d") == 0);
+    assert(strcmp(*p++, "d") == 0);
+    assert(*p == 0);
+
+    assert(c == -1);
+    assert(option_index == 4);  /* no changed */
+    assert(optind == 7);
+    assert(optarg == 0);
+    assert(optopt == 0);
+
+
+}
+
+int
+main()
+{
+    opterr = 0;
+    optopt = 0;
+
+    test1();
+    test2();
+    test3();
+    test4();
+    test5();
+    test6();
+    test7();
+    test8();
+    test9();
+    test10();
+    test11();
+    test12();
+    test13();
+#ifndef USE_GNU
+    test14();
+    test15();
+#endif
+
+    return 0;
+}
+#endif
diff --git a/getopt_long.h b/getopt_long.h
new file mode 100644
index 0000000..a1a9add
--- /dev/null
+++ b/getopt_long.h
@@ -0,0 +1,52 @@
+/*
+  This getopt_long() is compatible with GNU's, however, added original
+  extention (short 1 byte option).
+
+
+  Copyright (c) 2004 Koji Arai
+
+  Permission is hereby granted, free of charge, to any person
+  obtaining a copy of this software and associated documentation files
+  (the "Software"), to deal in the Software without restriction,
+  including without limitation the rights to use, copy, modify, merge,
+  publish, distribute, sublicense, and/or sell copies of the Software,
+  and to permit persons to whom the Software is furnished to do so,
+  subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be
+  included in all copies or substantial portions of the Software.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+  ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+  SOFTWARE.
+*/
+
+#ifndef _GETOPT_H
+
+struct option {
+    const char *name;
+    int has_arg;
+
+    /* values of has_arg */
+#define no_argument             0
+#define required_argument       1
+#define optional_argument       2
+
+    int *flag;
+    int val;
+};
+
+extern char *optarg;
+extern int optind;
+
+int getopt_long(int argc, char **argv,
+                const char *shortopts,
+                struct option *longopts,
+                int *indexptr);
+
+#endif /* _GETOPT_H */
diff --git a/prng.c b/prng.c
new file mode 100644
index 0000000..212f888
--- /dev/null
+++ b/prng.c
@@ -0,0 +1,221 @@
+/* 
+   A C-program for MT19937, with initialization improved 2002/1/26.
+   Coded by Takuji Nishimura and Makoto Matsumoto.
+
+   Before using, initialize the state by using init_genrand(seed)  
+   or init_by_array(init_key, key_length).
+
+   Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
+   All rights reserved.                          
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions
+   are met:
+
+     1. Redistributions of source code must retain the above copyright
+        notice, this list of conditions and the following disclaimer.
+
+     2. Redistributions in binary form must reproduce the above copyright
+        notice, this list of conditions and the following disclaimer in the
+        documentation and/or other materials provided with the distribution.
+
+     3. The names of its contributors may not be used to endorse or promote 
+        products derived from this software without specific prior written 
+        permission.
+
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+   Any feedback is very welcome.
+   http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html
+   email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space)
+*/
+
+#include <stdio.h>
+
+#include "prng.h"
+
+/* Period parameters */  
+#define N 624
+#define M 397
+#define MATRIX_A 0x9908b0dfUL   /* constant vector a */
+#define UPPER_MASK 0x80000000UL /* most significant w-r bits */
+#define LOWER_MASK 0x7fffffffUL /* least significant r bits */
+
+#define NJ_RAND_MAX 0x7fffffffUL
+
+
+static unsigned long mt[N]; /* the array for the state vector  */
+static int mti=N+1; /* mti==N+1 means mt[N] is not initialized */
+
+/* initializes mt[N] with a seed */
+void init_genrand(unsigned long s)
+{
+    mt[0]= s & 0xffffffffUL;
+    for (mti=1; mti<N; mti++) {
+        mt[mti] = 
+	    (1812433253UL * (mt[mti-1] ^ (mt[mti-1] >> 30)) + mti); 
+        /* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */
+        /* In the previous versions, MSBs of the seed affect   */
+        /* only MSBs of the array mt[].                        */
+        /* 2002/01/09 modified by Makoto Matsumoto             */
+        mt[mti] &= 0xffffffffUL;
+        /* for >32 bit machines */
+    }
+}
+
+/* initialize by an array with array-length */
+/* init_key is the array for initializing keys */
+/* key_length is its length */
+/* slight change for C++, 2004/2/26 */
+void init_by_array(unsigned long init_key[], int key_length)
+{
+    int i, j, k;
+    init_genrand(19650218UL);
+    i=1; j=0;
+    k = (N>key_length ? N : key_length);
+    for (; k; k--) {
+        mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1664525UL))
+          + init_key[j] + j; /* non linear */
+        mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */
+        i++; j++;
+        if (i>=N) { mt[0] = mt[N-1]; i=1; }
+        if (j>=key_length) j=0;
+    }
+    for (k=N-1; k; k--) {
+        mt[i] = (mt[i] ^ ((mt[i-1] ^ (mt[i-1] >> 30)) * 1566083941UL))
+          - i; /* non linear */
+        mt[i] &= 0xffffffffUL; /* for WORDSIZE > 32 machines */
+        i++;
+        if (i>=N) { mt[0] = mt[N-1]; i=1; }
+    }
+
+    mt[0] = 0x80000000UL; /* MSB is 1; assuring non-zero initial array */ 
+}
+
+/* generates a random number on [0,0xffffffff]-interval */
+unsigned long genrand_int32(void)
+{
+    unsigned long y;
+    static unsigned long mag01[2]={0x0UL, MATRIX_A};
+    /* mag01[x] = x * MATRIX_A  for x=0,1 */
+
+    if (mti >= N) { /* generate N words at one time */
+        int kk;
+
+        if (mti == N+1)   /* if init_genrand() has not been called, */
+            init_genrand(5489UL); /* a default initial seed is used */
+
+        for (kk=0;kk<N-M;kk++) {
+            y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);
+            mt[kk] = mt[kk+M] ^ (y >> 1) ^ mag01[y & 0x1UL];
+        }
+        for (;kk<N-1;kk++) {
+            y = (mt[kk]&UPPER_MASK)|(mt[kk+1]&LOWER_MASK);
+            mt[kk] = mt[kk+(M-N)] ^ (y >> 1) ^ mag01[y & 0x1UL];
+        }
+        y = (mt[N-1]&UPPER_MASK)|(mt[0]&LOWER_MASK);
+        mt[N-1] = mt[M-1] ^ (y >> 1) ^ mag01[y & 0x1UL];
+
+        mti = 0;
+    }
+  
+    y = mt[mti++];
+
+    /* Tempering */
+    y ^= (y >> 11);
+    y ^= (y << 7) & 0x9d2c5680UL;
+    y ^= (y << 15) & 0xefc60000UL;
+    y ^= (y >> 18);
+
+    return y;
+}
+
+/* generates a random number on [0,0x7fffffff]-interval */
+long int genrand_int31(void)
+{
+    return (long)(genrand_int32()>>1);
+}
+
+/* These real versions are due to Isaku Wada, 2002/01/09 added */
+
+/* generates a random number on [0,1]-real-interval */
+double genrand_real1(void)
+{
+    return genrand_int32()*(1.0/4294967295.0); 
+    /* divided by 2^32-1 */ 
+}
+
+/* generates a random number on [0,1)-real-interval */
+double genrand_real2(void)
+{
+    return genrand_int32()*(1.0/4294967296.0); 
+    /* divided by 2^32 */
+}
+
+/* generates a random number on (0,1)-real-interval */
+double genrand_real3(void)
+{
+    return (((double)genrand_int32()) + 0.5)*(1.0/4294967296.0); 
+    /* divided by 2^32 */
+}
+
+/* generates a random number on [0,1) with 53-bit resolution*/
+double genrand_res53(void) 
+{ 
+    unsigned long a=genrand_int32()>>5, b=genrand_int32()>>6; 
+    return(a*67108864.0+b)*(1.0/9007199254740992.0); 
+} 
+
+
+
+
+/*
+ * NJ_genrand_int31_top() - Returns an int in the range 0..top
+ *
+ * This function attempts to remove bias in selecting random 
+ * integers in a range.
+ *
+ */
+long int
+NJ_genrand_int31_top(long int top) {
+
+  long int overflow;
+  long int r;
+  long int retval;
+
+  if(top <= 0) {
+    return(0); 
+  } else {
+    overflow = (NJ_RAND_MAX / top) * top;
+  }
+  
+  while(1) {
+    r = genrand_int31();
+    if(r < overflow) {
+      break;
+    }
+  }
+  
+  retval = r % top;
+  
+  return(retval);
+}
+
+
+
+
+
+
+
+
diff --git a/prng.h b/prng.h
new file mode 100644
index 0000000..947d7ce
--- /dev/null
+++ b/prng.h
@@ -0,0 +1,90 @@
+/*
+ * prng.h
+ *
+ * $Id: prng.h,v 1.1 2006/08/25 03:26:44 sheneman Exp $
+ *
+ *****************************************************************************
+ *
+ * Copyright (c) 2004,  Luke Sheneman
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions 
+ * are met:
+ * 
+ *  + Redistributions of source code must retain the above copyright 
+ *    notice, this list of conditions and the following disclaimer. 
+ *  + Redistributions in binary form must reproduce the above copyright 
+ *    notice, this list of conditions and the following disclaimer in 
+ *    the documentation and/or other materials provided with the 
+ *    distribution. 
+ *  + The names of its contributors may not be used to endorse or promote 
+ *    products derived  from this software without specific prior 
+ *    written permission. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.  
+ *
+ *****************************************************************************
+ *
+ * Some function prototypes for the Mersenne Twister PRNG
+ *
+ *****************************************************************************
+ *
+ * AUTHOR:
+ * 
+ *   Luke Sheneman
+ *   sheneman at cs.uidaho.edu
+ *
+ */
+
+
+#ifndef _INC_PRNG_H_
+#define _INC_PRNG_H_ 1
+
+#define NJ_RAND_MAX 0x7fffffffUL
+
+
+/* some function prototypes */
+void
+init_genrand(unsigned long s);
+
+void 
+init_by_array(unsigned long init_key[],
+	      int key_length);
+
+unsigned long 
+genrand_int32(void);
+
+long int 
+genrand_int31(void);
+
+double 
+genrand_real1(void);
+
+double
+genrand_real2(void);
+
+double
+genrand_real3(void);
+
+double
+genrand_res53(void);
+
+long int
+NJ_genrand_int31_top(long int top);
+
+#endif /* _INC_PRNG_H_ */
+
+
+
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/clearcut.git



More information about the debian-med-commit mailing list