[med-svn] [trnascan-se] 01/02: Imported Upstream version 1.3.1

Afif Elghraoui afif-guest at moszumanska.debian.org
Fri Oct 30 08:20:22 UTC 2015


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

afif-guest pushed a commit to branch master
in repository trnascan-se.

commit d1d7e236a7f05bf496da0f1d28d54551ddcaa577
Author: Afif Elghraoui <afif at ghraoui.name>
Date:   Thu Oct 29 23:34:12 2015 -0700

    Imported Upstream version 1.3.1
---
 Archaea-BHB-noncan.cm     |  167 ++
 COPYING                   |   54 +
 Cove/COPYING              |   28 +
 Cove/DEMO                 |  105 +
 Cove/Demos/7SL-euk.cm     | 4114 ++++++++++++++++++++++++++++++++++++
 Cove/Demos/7SL-euk.fa     |  251 +++
 Cove/Demos/K11H3frag.fa   |   11 +
 Cove/Demos/TRNA2.cm       | 1154 ++++++++++
 Cove/Demos/fig5.fa        |   10 +
 Cove/Demos/fig5.slx       |    5 +
 Cove/Demos/sim100.fa      |  200 ++
 Cove/Demos/sim100.slx     |  100 +
 Cove/Demos/sim65.fa       |  200 ++
 Cove/Demos/sim65.slx      |  100 +
 Cove/Demos/test100.fa     |  200 ++
 Cove/Demos/test100.slx    |  100 +
 Cove/Demos/trna1415.slx   | 1415 +++++++++++++
 Cove/Demos/yeast-phe.fa   |    2 +
 Cove/Guide.tex            |  206 ++
 Demo/C28G1.fa             |  549 +++++
 Demo/DQ6060.fa            |    3 +
 Demo/F22B7.fa             |  806 +++++++
 Demo/F59C12.fa            |  581 +++++
 Demo/Sprz-sub.fa          | 3039 ++++++++++++++++++++++++++
 Dsignal                   |    8 +
 ESELC.cm                  | 1042 +++++++++
 ESELCinf-c.cm             |  384 ++++
 FILES                     |  169 ++
 GNULICENSE                |  339 +++
 INSTALL                   |   50 +
 MANUAL                    | 1147 ++++++++++
 Makefile                  |  294 +++
 Manual.ps                 | 5143 +++++++++++++++++++++++++++++++++++++++++++++
 PSELC.cm                  | 1154 ++++++++++
 PSELCinf-c.cm             |  406 ++++
 README                    |  102 +
 Release.history           |  405 ++++
 TPCsignal                 |   15 +
 TRNA2-arch.cm             | 1202 +++++++++++
 TRNA2-archns.cm           | 1506 +++++++++++++
 TRNA2-bact.cm             | 1202 +++++++++++
 TRNA2-bactns.cm           | 1506 +++++++++++++
 TRNA2-euk.cm              | 1154 ++++++++++
 TRNA2-eukns.cm            | 1458 +++++++++++++
 TRNA2.cm                  | 1154 ++++++++++
 TRNA2ns.cm                | 1458 +++++++++++++
 TRNAinf-arch-3h-nc.cm     |  242 +++
 TRNAinf-arch-5h-nc.cm     |  165 ++
 TRNAinf-arch-c.cm         |  415 ++++
 TRNAinf-arch-ns-c.cm      |  416 ++++
 TRNAinf-bact-c.cm         |  415 ++++
 TRNAinf-bact-ns-c.cm      |  416 ++++
 TRNAinf-c.cm              |  403 ++++
 TRNAinf-euk-c.cm          |  403 ++++
 TRNAinf-euk-ns-c.cm       |  404 ++++
 TRNAinf-ns-c.cm           |  404 ++++
 align.c                   |  471 +++++
 align_main.c              |  243 +++
 alignio.c                 |  431 ++++
 build_main.c              |  374 ++++
 checkversion.pl           |   13 +
 dbmalloc.h                |  543 +++++
 dbviterbi.c               |  473 +++++
 debug.c                   |  215 ++
 emit.c                    |  568 +++++
 emit_main.c               |  181 ++
 eufind_const.h            |   51 +
 eufind_main.c             |  294 +++
 fast-dbviterbi.c          |  485 +++++
 fasta2gsi.pl              |  120 ++
 fastmodelmaker.c          |  604 ++++++
 funcs.h                   |  209 ++
 gcode.cilnuc              |    6 +
 gcode.echdmito            |    6 +
 gcode.invmito             |    7 +
 gcode.othmito             |    4 +
 gcode.vertmito            |    7 +
 gcode.ystmito             |    7 +
 getopt.c                  |  219 ++
 gnuregex.c                | 4933 +++++++++++++++++++++++++++++++++++++++++++
 gnuregex.h                |  490 +++++
 instman.pl                |   23 +
 interleaved.c             |  509 +++++
 iupac.c                   |  197 ++
 konings.c                 |  324 +++
 lengthdist.c              |  200 ++
 maspar.h                  |   10 +
 maxmodelmaker.c           | 1904 +++++++++++++++++
 misc.c                    |  196 ++
 model.c                   |  771 +++++++
 modelmaking.c             |  462 ++++
 mp-dbviterbi.m            |  784 +++++++
 mpcovels_main.c           |  366 ++++
 mpviterbi.m               |  405 ++++
 msf.c                     |  164 ++
 pavesi.c                  |  508 +++++
 prior.c                   |  404 ++++
 prior.h                   |  385 ++++
 probify.c                 |  225 ++
 reformat_main.c           |  189 ++
 revcomp.c                 |   61 +
 revcomp_main.c            |   90 +
 save.c                    |  315 +++
 scan_main.c               |  306 +++
 score_main.c              |  209 ++
 scorestack.c              |  250 +++
 selex.c                   |  793 +++++++
 seqstat_main.c            |  131 ++
 shuffle_main.c            |  100 +
 smallviterbi.c            |  786 +++++++
 sqerror.c                 |   73 +
 sqfuncs.h                 |  212 ++
 sqio.c                    | 1721 +++++++++++++++
 squid.h                   |  376 ++++
 sre_ctype.c               |   36 +
 sre_math.c                |  472 +++++
 sre_string.c              |  236 +++
 sstofa.pl                 |   62 +
 stack.c                   |  101 +
 structcheck_main.c        |  408 ++++
 structs.c                 |  332 +++
 structs.h                 |  242 +++
 tRNAscan-SE.man           |  504 +++++
 tRNAscan-SE.src           | 1031 +++++++++
 tRNAscanSE/CM.pm          | 2561 ++++++++++++++++++++++
 tRNAscanSE/Constants.pm   |  105 +
 tRNAscanSE/Eufind.pm      |  261 +++
 tRNAscanSE/GeneticCode.pm |  291 +++
 tRNAscanSE/LogFile.pm     |   87 +
 tRNAscanSE/Options.pm     |  668 ++++++
 tRNAscanSE/SS.pm          |  197 ++
 tRNAscanSE/ScanResult.pm  |  657 ++++++
 tRNAscanSE/Sequence.pm    |  763 +++++++
 tRNAscanSE/Stats.pm       |  430 ++++
 tRNAscanSE/Tscan.pm       |  393 ++++
 tRNAscanSE/Utils.pm       |  175 ++
 testrun.ref               |    8 +
 trace.c                   |  603 ++++++
 train_main.c              |  409 ++++
 trnascan.c                | 2079 ++++++++++++++++++
 types.c                   |  113 +
 version.h                 |   17 +
 viterbi.c                 |  623 ++++++
 143 files changed, 76648 insertions(+)

diff --git a/Archaea-BHB-noncan.cm b/Archaea-BHB-noncan.cm
new file mode 100644
index 0000000..78eebdf
--- /dev/null
+++ b/Archaea-BHB-noncan.cm
@@ -0,0 +1,167 @@
+INFERNAL-1 [1.0]
+NAME     Archaea-NC-Intron
+STATES   124
+NODES    28
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     148
+EFFNSEQ  148.000
+CLEN     40
+BCOM     cmbuild --rf --enone -F Archaea-BHB-noncan.cm Archaea-BHB-noncan.sto
+BDATE    Wed Aug  5 18:38:10 2009
+NULL     0.000  0.000  0.000  0.000 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     6 -13.180 -13.120  -0.001 -11.896 -12.176 -12.571 
+    IL     1     1 2     1     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    1 ]
+    MP     3     2 3     7     6 -13.180 -13.120  -0.001 -11.896 -12.176 -12.571 -0.553  0.180 -0.805 -1.580  0.039 -0.132  1.032 -0.961  1.087  0.350 -0.302 -3.122 -0.376  0.222  0.847 -0.473 
+    ML     4     2 3     7     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR     5     2 3     7     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D     6     2 3     7     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL     7     7 5     7     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR     8     8 6     8     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    2 ]
+    MP     9     8 6    13     6 -13.180 -13.120  -0.001 -11.896 -12.176 -12.571 -0.679  0.345 -1.278  0.217 -1.335  0.610  0.158 -2.094 -0.942  1.328  0.852 -0.808 -0.468  0.384  0.241 -0.638 
+    ML    10     8 6    13     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    11     8 6    13     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    12     8 6    13     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    13    13 5    13     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    14    14 6    14     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    3 ]
+    MP    15    14 6    19     6 -13.180 -13.120  -0.001 -11.896 -12.176 -12.571 -3.085 -0.094  0.388  0.575 -4.100 -1.284  0.323 -0.315  0.485  1.652  0.861  0.534 -1.310 -0.940 -0.533 -2.306 
+    ML    16    14 6    19     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    17    14 6    19     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    18    14 6    19     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    19    19 5    19     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    20    20 6    20     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    4 ]
+    MP    21    20 6    25     6 -13.180 -13.120  -0.001 -11.896 -12.176 -12.571 -1.627  1.032  0.144  0.574 -0.502  0.326  0.474 -1.619 -0.731  1.846 -0.268 -0.507 -2.731 -2.115  0.115 -2.573 
+    ML    22    20 6    25     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    23    20 6    25     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    24    20 6    25     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    25    25 5    25     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    26    26 6    26     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    5 ]
+    MP    27    26 6    31     4 -12.154  -6.639  -0.016  -9.853                 -4.149 -2.051  0.059 -2.692 -0.481 -0.348  1.371 -0.318 -1.425  2.266 -0.515  0.197 -1.021 -0.781 -0.408 -0.402 
+    ML    28    26 6    31     4  -2.408  -4.532  -1.293  -1.473                  0.660 -0.612 -0.293 -0.076 
+    MR    29    26 6    31     4  -4.102 -12.528  -0.390  -2.485                  0.660 -0.612 -0.293 -0.076 
+     D    30    26 6    31     4 -12.737 -14.007  -2.036  -0.404                 
+    IL    31    31 5    31     4  -2.817  -4.319  -0.613  -2.698                  0.000  0.000  0.000  0.000 
+    IR    32    32 6    32     3  -3.062  -0.226  -5.301                          0.000  0.000  0.000  0.000 
+				[ MATR    6 ]
+    MR    33    32 6    35     3 -13.564  -0.001 -11.882                         -0.041 -0.728  0.409  0.133 
+     D    34    32 6    35     3  -6.390  -1.568  -0.620                         
+    IR    35    35 3    35     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR    7 ]
+    MR    36    35 3    38     3 -13.564  -0.001 -11.882                          0.773 -1.034  0.652 -2.111 
+     D    37    35 3    38     3  -6.390  -1.568  -0.620                         
+    IR    38    38 3    38     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR    8 ]
+    MR    39    38 3    41     5 -12.207  -0.001 -12.022 -12.234 -13.126          1.907 -3.509 -3.041 -4.637 
+     D    40    38 3    41     5  -5.352  -0.707  -2.978  -4.409  -2.404         
+    IR    41    41 3    41     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    9 ]
+    MP    42    41 3    46     6 -13.180 -13.120  -0.001 -11.896 -12.176 -12.571 -4.303 -2.311 -0.025 -0.706 -4.219 -1.631  2.474 -4.243 -2.815  1.438 -4.589  1.376  0.264 -1.749  0.162 -4.067 
+    ML    43    41 3    46     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    44    41 3    46     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    45    41 3    46     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    46    46 5    46     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    47    47 6    47     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   10 ]
+    MP    48    47 6    52     6 -13.180 -13.120  -0.001 -11.896 -12.176 -12.571 -6.894 -3.183 -7.771  0.944 -8.050 -7.689  2.211 -7.339 -7.035  2.653 -2.529 -1.595  0.838 -7.036 -0.516 -6.190 
+    ML    49    47 6    52     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    50    47 6    52     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    51    47 6    52     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    52    52 5    52     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    53    53 6    53     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   11 ]
+    MP    54    53 6    58     6 -13.180 -13.120  -0.001 -11.896 -12.176 -12.571 -7.157 -6.147 -8.101  0.723 -8.763 -7.957  1.793 -7.599 -7.277  3.124 -6.961 -0.665 -0.023 -7.318 -1.411 -3.113 
+    ML    55    53 6    58     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    56    53 6    58     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    57    53 6    58     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    58    58 5    58     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    59    59 6    59     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   12 ]
+    MP    60    59 6    64     4 -12.357 -12.564  -0.001 -10.978                 -6.403 -7.081 -0.862 -0.921 -6.146 -2.492  2.202 -7.461 -1.224  2.604 -7.540 -5.329 -1.275 -6.909  1.647 -6.316 
+    ML    61    59 6    64     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    62    59 6    64     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    63    59 6    64     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    64    64 5    64     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    65    65 6    65     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   13 ]
+    ML    66    65 6    68     3 -13.269  -0.001 -11.923                          0.690 -0.282  0.156 -1.154 
+     D    67    65 6    68     3  -6.174  -1.687  -0.566                         
+    IL    68    68 3    68     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   14 ]
+    ML    69    68 3    71     3 -13.269  -0.001 -11.923                         -0.439  0.123  0.805 -1.229 
+     D    70    68 3    71     3  -6.174  -1.687  -0.566                         
+    IL    71    71 3    71     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   15 ]
+    ML    72    71 3    74     5 -12.207  -0.047  -6.886  -7.136  -5.962          1.545 -2.377 -1.607 -0.833 
+     D    73    71 3    74     5  -4.959  -0.803  -4.221  -2.596  -2.508         
+    IL    74    74 3    74     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   16 ]
+    MP    75    74 3    79     6 -13.136 -13.076  -0.060 -11.852  -5.374  -5.957 -11.758 -10.096 -11.268 -2.214 -8.937 -12.516  2.537 -10.139 -12.707  2.974 -11.780 -1.382  0.621 -12.752 -2.356 -8.766 
+    ML    76    74 3    79     6  -7.725  -8.071  -2.786  -2.480  -7.921  -0.592  1.593 -1.856 -1.723 -1.306 
+    MR    77    74 3    79     6  -8.189  -6.918  -2.827  -6.897  -0.304  -5.110  1.532 -1.693 -1.530 -1.142 
+     D    78    74 3    79     6 -11.481 -10.179  -5.976  -6.659  -6.676  -0.054 
+    IL    79    79 5    79     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    80    80 6    80     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   17 ]
+    MP    81    80 6    85     6 -13.078 -13.017  -0.176 -11.793  -5.650  -3.410 -6.750 -5.892 -2.749  0.736 -1.367 -7.583  1.586 -7.223 -3.149  3.082 -6.660 -1.920  0.457 -6.909 -0.988 -6.076 
+    ML    82    80 6    85     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    83    80 6    85     6  -9.755  -8.484  -0.495  -8.462  -1.869  -6.675 -0.920 -1.582  0.789  0.496 
+     D    84    80 6    85     6 -12.642 -11.340  -7.137  -7.819  -7.837  -0.024 
+    IL    85    85 5    85     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    86    86 6    86     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   18 ]
+    MP    87    86 6    91     6 -12.944 -12.883  -0.328 -11.659  -6.872  -2.366 -3.574 -3.158 -2.975  1.051 -7.669 -7.356  2.093 -2.601 -2.084  2.718 -6.456 -0.740  0.602 -6.710 -2.354 -5.916 
+    ML    88    86 6    91     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    89    86 6    91     6  -9.540  -8.269  -0.177  -8.247  -3.381  -6.460  0.375  0.213 -0.189 -0.586 
+     D    90    86 6    91     6 -14.258 -12.956  -8.753  -9.436  -9.453  -0.008 
+    IL    91    91 5    91     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    92    92 6    92     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   19 ]
+    MP    93    92 6    97     6 -12.670 -12.610  -0.354 -11.386  -6.521  -2.281 -6.550 -2.506 -7.481  0.718 -8.079 -7.352  2.827 -2.550 -6.675  2.376 -6.366 -0.382 -0.569 -6.707 -2.291 -5.871 
+    ML    94    92 6    97     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    95    92 6    97     6  -8.230  -6.959  -2.868  -6.937  -0.295  -5.151  1.550 -1.738 -1.583 -1.187 
+     D    96    92 6    97     6 -15.439 -14.137  -9.934 -10.616 -10.634  -0.003 
+    IL    97    97 5    97     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    98    98 6    98     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   20 ]
+    MP    99    98 6   103     4 -11.450 -11.657  -0.895  -1.115                 -5.905 -5.479 -2.092  0.063 -5.605 -6.755  2.924 -6.315 -2.962  2.213 -6.075 -0.726  0.130 -6.037 -0.914 -5.097 
+    ML   100    98 6   103     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   101    98 6   103     4  -6.893  -5.922  -0.258  -2.850                  0.633 -1.416  0.599 -0.836 
+     D   102    98 6   103     4 -11.437 -11.119  -9.134  -0.004                 
+    IL   103   103 5   103     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   104   104 6   104     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   21 ]
+    ML   105   104 6   107     3 -11.550  -0.002 -10.204                         -1.502  0.882  0.329 -0.868 
+     D   106   104 6   107     3 -14.171  -0.004  -8.562                         
+    IL   107   107 3   107     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   22 ]
+    ML   108   107 3   110     3 -13.269  -0.011  -7.094                          0.051  0.101  0.211 -0.445 
+     D   109   107 3   110     3  -6.174  -1.687  -0.566                         
+    IL   110   110 3   110     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   23 ]
+    ML   111   110 3   113     3  -0.900  -2.036  -2.183                         -0.109  0.249  0.323 -0.660 
+     D   112   110 3   113     3  -8.015  -0.308  -2.406                         
+    IL   113   113 3   113     3  -0.249  -2.656 -12.425                          0.000  0.000  0.000  0.000 
+				[ MATL   24 ]
+    ML   114   113 3   116     3 -12.913  -0.001 -11.567                          0.106 -0.048 -0.126  0.056 
+     D   115   113 3   116     3 -12.510  -0.012  -6.902                         
+    IL   116   116 3   116     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   25 ]
+    ML   117   116 3   119     3 -13.269  -1.720  -0.522                          0.226 -0.054  0.162 -0.417 
+     D   118   116 3   119     3  -6.174  -1.687  -0.566                         
+    IL   119   119 3   119     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   26 ]
+    ML   120   119 3   122     2       *   0.000                                 -1.563  0.297  0.962 -1.042 
+     D   121   119 3   122     2       *   0.000                                 
+    IL   122   122 3   122     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    27 ]
+     E   123   122 3    -1     0                                                 
+//
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..b2346c9
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,54 @@
+tRNAscan-SE -- a program for finding transfer RNAs
+
+Copyright (C) 1996 Todd M.J. Lowe & Sean R. Eddy
+
+This set of programs is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program, in the file GNULICENSE; if not, write to the Free
+Software Foundation, Inc., 675 Mass. Ave, Cambridge, MA 02139 USA.
+
+This distribution includes source code originally derived from other
+sources.  In particular, modified source code from the program
+trnascan 1.3 (Fichant & Burks, 1991) is included under the conditions
+of the following notice:
+
+ Copyright, 1991, The Regents of the University of California.
+ This software was produced by the Los Alamos National Laboratory,
+ which is operated by the University of California for the United
+ States Department of Energy under contract W-7405-ENG-36.  The
+ U. S. Government is licensed to use, reproduce, and distribute
+ this software.  Permission is granted to the public to copy and
+ use this software without charge, provided that this Notice and
+ any statement of authorship are reproduced on all copies.
+ Neither the Government nor the University makes any warranty,
+ express or implied, or assumes any liability or responsibility
+ for the use of this software.
+
+Also, the complete COVE package (Covariance models of RNA sequence and
+structure, Eddy & Durbin, 1994) is included under the terms of the GNU
+General Public License as published by the Free Software Foundation;
+either version 2 of the License, or (at your option) any later
+version.  Please see accompanying files from the COVE package
+for more information.
+
+
+References
+
+1. Fichant, G.A. and Burks, C. (1991) "Identifying potential tRNA
+genes in genomic DNA sequences", J. Mol. Biol., 220, 659-671.
+
+2. Eddy, S.R. and Durbin, R. (1994) "RNA sequence analysis using
+covariance models", Nucl. Acids Res., 22, 2079-2088.
+
+
+
+
diff --git a/Cove/COPYING b/Cove/COPYING
new file mode 100644
index 0000000..0cc480b
--- /dev/null
+++ b/Cove/COPYING
@@ -0,0 +1,28 @@
+cove -- programs to apply covariance models to RNA sequence analysis
+
+Copyright (C) 1993,1994 Sean R. Eddy
+
+This set of programs is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as
+published by the Free Software Foundation; either version 2 of the
+License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program, in the file GNULICENSE; if not, write to the Free
+Software Foundation, Inc., 675 Mass. Ave, Cambridge, MA 02139 USA.
+
+This distribution may include source code originally derived from
+other sources.  In particular, my general sequence library includes
+source code that derives from Henry Spencer (regexp() functions), and
+Don Gilbert (sequence i/o functions).  Borrowed code is annotated and
+credited in the source files whenever it appears. The copying policies
+of my benefactors are compatible with the GNU Public License under
+which this package is distributed.
+
+
+
diff --git a/Cove/DEMO b/Cove/DEMO
new file mode 100644
index 0000000..7324bb5
--- /dev/null
+++ b/Cove/DEMO
@@ -0,0 +1,105 @@
+
+Demonstrations of the covariance model programs
+-----------------------------------------------
+
+As an introduction to how the software works, this file contains
+instructions on how to reproduce the results in our paper.  (Note
+that this version of the code is newer, somewhat less buggy, and
+faster than the version used for our original experiments. There may
+be minor differences between the results we report in our paper and
+the results you get from these demos.)
+
+For more details, refer to S.R. Eddy and R. Durbin, "RNA Sequence
+Analysis Using Covariance Models", NAR 22:2079-2088, 1994.
+
+The directory Demos/ contains the data files:
+
+   TRNA2.cm        - A very good tRNA model
+   7SL-euk.cm      - A model of 7SL signal recognition particle RNA
+   7SL-euk.fa      - 37 eukaryotic 7SL RNAs (includes some fragments)	
+   trna1415.slx    - Steinberg/Sprinzl trusted tRNA alignment
+   sim65.slx       - alignment of 100 dissimilar tRNAs
+   sim100.slx      - alignment of 100 randomly chosen tRNAs
+   test100.fa      - 100 unaligned, randomly chosen independent test tRNAs
+   sim65.fa        - unaligned SIM65 sequences
+   sim100.fa       - unaligned SIM100 sequences
+   fig5.slx        - Trusted alignment of 5 tRNAs, from our figure 5
+   fig5.fa         - unaligned tRNA sequences of fig5.slx
+   yeast-phe.fa    - S. cerevisiae tRNA-Phe sequence	
+   K11H3frag.fa    - fragment of C. elegans cosmid K11H3, which contains 2 tRNA genes
+
+## Constructing a model from trusted alignments:
+
+> covet -a sim100.slx A100.cm sim100.fa
+> covet -a sim65.slx A65.cm sim65.fa
+     
+  Produces models A100 and A65. Uses trusted alignments (sim100.slx,
+  sim65.slx) to construct the initial models; then uses sim100.fa or
+  sim65.fa as training sequences.
+  Takes about fifteen minutes per model on an R4000 Indigo.
+ 
+## Constructing a model from unaligned sequences:
+
+> covet U100.cm sim100.fa
+> covet U65.cm sim65.fa
+
+  Produces models U100 and U65 from unaligned training sequences in sim100.fa
+  and sim65.fa.
+  Takes about an hour per model on an R4000 Indigo.
+
+## Multiple RNA sequence alignment using a trained model:
+
+> covea A100.cm fig5.fa
+> covea U100.cm fig5.fa
+
+  Produces a multiple sequence alignment of the 5 sequences in fig5.fa
+  and prints it to the screen. Compare to the trusted alignment
+  (fig5.slx) or our preprint's Figure 5.
+  Takes about ten seconds.
+   
+
+## Scoring example sequences using a trained model:
+
+> coves A100.cm fig5.fa
+
+  Calculates and prints alignment scores (in bits) for the 5 sequences in
+  fig5.fa.
+  Takes about ten seconds.
+
+## Structure prediction of individual sequences using a trained model:
+ 
+> coves -s A100.cm yeast-phe.fa
+> coves -m A100.cm yeast-phe.fa
+
+  Aligns the model A100.cm to yeast tRNA-Phe, and prints out the alignment
+  score. The -s option to coves prints out a secondary structure representation
+  for the sequence as well. This representation uses ">" and "<" characters
+  to represent pairwise assignments. The -m option to coves produces a
+  "mountain" representation of the structure. Both of these representations
+  are described in a paper by Danielle Konings (Konings and Hogeweg,
+  J. Mol. Biol. 207:597-614, 1989).  Covariance models typically
+  overpredict pairs; the predicted pairs are a superset of the
+  secondary structure pairings. [One of the major weaknesses in the package at the 
+  moment is a lack of graphical secondary structure display and a lack of 
+  automatic classification of predicted pairs as secondary structure vs. tertiary 
+  structure or overprediction.]
+  Takes about ten seconds.	
+	
+## Searching a database for new tRNAs:
+
+> covels -c A100.cm K11H3frag.fa
+
+  Searches a 500 bp fragment of the C. elegans cosmid K11H3 for tRNAs,
+  on both strands (the -c option asks for both strands to be searched).
+  This fragment contains two predicted tRNA genes.
+  Takes about two minutes.
+
+> covels -c -w 150 TRNA2.cm K11H3frag.fa
+
+  Same as above, except using a model trained on 1315 different tRNA
+  sequences. This model is known to recognize all known cytoplasmic 
+  eukaryotic tRNAs with scores > 20 bits. The -w option allows tRNAs
+  up to 150 nt in length. Using covels with this model is the most 
+  sensitive means I know of for detecting tRNAs in genomic sequence. 
+
+
diff --git a/Cove/Demos/7SL-euk.cm b/Cove/Demos/7SL-euk.cm
new file mode 100644
index 0000000..09ac558
--- /dev/null
+++ b/Cove/Demos/7SL-euk.cm
@@ -0,0 +1,4114 @@
+### cove V2
+257 	nodes
+### node 0 type 6
+1  -1
+0.51220 0.00000 0.00000 0.39024 0.07317 0.02439 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.42857 0.00000 0.00000 0.14286 0.28571 0.14286 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.28571 0.28571 0.28571 0.14286 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 3
+2  -1
+0.72000 0.00000 0.00000 0.24000 0.00000 0.04000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05556 0.00000 0.00000 0.88889 0.00000 0.05556 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.05263 0.05263 0.05263 0.84211 # MATR
+### node 2 type 3
+3  -1
+0.94737 0.00000 0.00000 0.00000 0.00000 0.05263 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.95455 0.00000 0.00000 0.00000 0.00000 0.04545 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.00000 0.50000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.04167 0.08333 0.04167 0.83333 # MATR
+### node 3 type 0
+4  36
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 4 type 4
+5  -1
+0.07317 0.73171 0.02439 0.17073 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 5 type 1
+6  -1
+0.37500 0.12500 0.12500 0.12500 0.12500 0.12500 
+0.02857 0.85714 0.02857 0.02857 0.02857 0.02857 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.08333 0.16667 0.08333 0.50000 0.08333 0.08333 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.02222 0.02222 0.08889 # MATP
+0.02222 0.06667 0.04444 0.02222 # MATP
+0.02222 0.44444 0.02222 0.02222 # MATP
+0.02222 0.11111 0.02222 0.02222 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.10000 0.50000 0.20000 0.20000 # MATR
+### node 6 type 1
+7  -1
+0.37500 0.12500 0.12500 0.12500 0.12500 0.12500 
+0.05556 0.83333 0.02778 0.02778 0.02778 0.02778 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.09091 0.09091 0.09091 0.54545 0.09091 0.09091 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.02174 0.02174 0.56522 0.02174 # MATP
+0.04348 0.04348 0.02174 0.02174 # MATP
+0.06522 0.02174 0.02174 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.22222 0.11111 0.55556 0.11111 # MATR
+### node 7 type 1
+8  -1
+0.57143 0.00000 0.14286 0.00000 0.14286 0.14286 
+0.12121 0.00000 0.69697 0.00000 0.15152 0.03030 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.66667 0.00000 0.11111 0.00000 0.11111 0.11111 
+0.12500 0.00000 0.62500 0.00000 0.12500 0.12500 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.37500 0.25000 0.12500 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.02222 0.02222 0.02222 # MATP
+0.02222 0.02222 0.64444 0.02222 # MATP
+0.02222 0.02222 0.02222 0.02222 # MATP
+0.02222 0.02222 0.04444 0.02222 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.11111 0.11111 0.66667 0.11111 # MATR
+### node 8 type 2
+9  -1
+0.92308 0.00000 0.00000 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.96429 0.00000 0.00000 0.00000 0.03571 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03333 0.03333 0.90000 0.03333 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 9 type 0
+10  23
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 10 type 4
+11  -1
+0.17073 0.75610 0.02439 0.04878 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 11 type 1
+12  -1
+0.58333 0.08333 0.08333 0.08333 0.08333 0.08333 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.04348 0.02174 0.30435 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.36957 0.02174 0.02174 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.20000 0.20000 0.20000 0.40000 # MATR
+### node 12 type 1
+13  -1
+0.58333 0.08333 0.08333 0.08333 0.08333 0.08333 
+0.02703 0.86486 0.02703 0.02703 0.02703 0.02703 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02128 0.04255 0.02128 0.06383 # MATP
+0.02128 0.02128 0.02128 0.02128 # MATP
+0.02128 0.59574 0.02128 0.04255 # MATP
+0.02128 0.02128 0.02128 0.02128 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 13 type 1
+14  -1
+0.58333 0.08333 0.08333 0.08333 0.08333 0.08333 
+0.02703 0.86486 0.02703 0.02703 0.02703 0.02703 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02128 0.02128 0.04255 0.04255 # MATP
+0.02128 0.02128 0.51064 0.02128 # MATP
+0.02128 0.04255 0.02128 0.02128 # MATP
+0.06383 0.02128 0.06383 0.04255 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 14 type 1
+15  -1
+0.58333 0.08333 0.08333 0.08333 0.08333 0.08333 
+0.05405 0.81081 0.02703 0.05405 0.02703 0.02703 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02128 0.02128 0.02128 0.06383 # MATP
+0.02128 0.02128 0.14894 0.02128 # MATP
+0.02128 0.10638 0.02128 0.08511 # MATP
+0.29787 0.02128 0.04255 0.06383 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 15 type 1
+16  -1
+0.63636 0.00000 0.18182 0.00000 0.09091 0.09091 
+0.12121 0.00000 0.72727 0.00000 0.12121 0.03030 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.20000 0.00000 0.40000 0.00000 0.20000 0.20000 
+0.14286 0.00000 0.57143 0.00000 0.14286 0.14286 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.14286 0.14286 0.14286 0.57143 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.02222 0.02222 0.04444 # MATP
+0.04444 0.02222 0.35556 0.02222 # MATP
+0.06667 0.02222 0.02222 0.04444 # MATP
+0.04444 0.02222 0.13333 0.08889 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.20000 0.20000 0.40000 0.20000 # MATR
+### node 16 type 2
+17  -1
+0.71429 0.07143 0.07143 0.07143 0.07143 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.87879 0.03030 0.03030 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.31250 0.09375 0.28125 0.31250 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 17 type 1
+18  -1
+0.76923 0.00000 0.07692 0.00000 0.07692 0.07692 
+0.03125 0.00000 0.90625 0.00000 0.03125 0.03125 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02273 0.02273 0.02273 0.04545 # MATP
+0.02273 0.02273 0.02273 0.02273 # MATP
+0.25000 0.20455 0.04545 0.18182 # MATP
+0.02273 0.02273 0.04545 0.02273 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 18 type 2
+19  -1
+0.41667 0.00000 0.50000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03226 0.00000 0.93548 0.00000 0.03226 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03125 0.21875 0.03125 0.71875 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 19 type 2
+20  -1
+0.71429 0.00000 0.14286 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.94444 0.00000 0.02778 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.56757 0.10811 0.21622 0.10811 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 20 type 2
+21  -1
+0.71429 0.00000 0.14286 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.88889 0.00000 0.02778 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.37838 0.02703 0.56757 0.02703 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.77778 0.00000 0.11111 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11765 0.00000 0.85294 0.00000 0.02941 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02857 0.85714 0.02857 0.08571 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+-1  -1
+0.90909 0.00000 0.00000 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.96667 0.00000 0.00000 0.00000 0.03333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09375 0.06250 0.78125 0.06250 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 5
+24  -1
+0.07500 0.00000 0.90000 0.00000 0.02500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 2
+25  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02564 0.02564 0.02564 0.92308 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 2
+26  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10256 0.02564 0.82051 0.05128 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 2
+27  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02564 0.05128 0.02564 0.89744 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 2
+28  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.82051 0.05128 0.07692 0.05128 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 28 type 2
+29  -1
+0.42857 0.14286 0.14286 0.14286 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.80000 0.02500 0.02500 0.05000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.33333 0.16667 0.16667 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.40000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.76923 0.02564 0.15385 0.05128 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 29 type 1
+30  -1
+0.54545 0.09091 0.09091 0.09091 0.09091 0.09091 
+0.02632 0.86842 0.02632 0.02632 0.02632 0.02632 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02083 0.02083 0.02083 0.02083 # MATP
+0.02083 0.02083 0.45833 0.02083 # MATP
+0.02083 0.02083 0.02083 0.02083 # MATP
+0.18750 0.02083 0.08333 0.02083 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 30 type 1
+31  -1
+0.54545 0.09091 0.09091 0.09091 0.09091 0.09091 
+0.02632 0.86842 0.02632 0.02632 0.02632 0.02632 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02083 0.02083 0.02083 0.02083 # MATP
+0.02083 0.02083 0.52083 0.02083 # MATP
+0.02083 0.06250 0.02083 0.02083 # MATP
+0.08333 0.02083 0.08333 0.02083 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 31 type 1
+32  -1
+0.54545 0.09091 0.09091 0.09091 0.09091 0.09091 
+0.05263 0.84211 0.02632 0.02632 0.02632 0.02632 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02083 0.02083 0.02083 0.02083 # MATP
+0.02083 0.02083 0.60417 0.02083 # MATP
+0.02083 0.02083 0.02083 0.06250 # MATP
+0.02083 0.02083 0.06250 0.02083 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 32 type 1
+33  -1
+0.30000 0.00000 0.30000 0.00000 0.30000 0.10000 
+0.02857 0.00000 0.62857 0.00000 0.31429 0.02857 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.04000 0.00000 0.04000 0.00000 0.40000 0.52000 
+0.02941 0.00000 0.38235 0.00000 0.00000 0.58824 
+0.36000 0.20000 0.36000 0.08000 # INSL
+0.02857 0.42857 0.11429 0.42857 # INSR
+0.02128 0.04255 0.02128 0.27660 # MATP
+0.02128 0.02128 0.19149 0.02128 # MATP
+0.02128 0.21277 0.02128 0.04255 # MATP
+0.02128 0.02128 0.02128 0.02128 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 33 type 2
+34  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05263 0.00000 0.92105 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.53846 0.23077 0.02564 0.20513 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 34 type 2
+35  -1
+0.50000 0.00000 0.33333 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.59459 0.00000 0.37838 0.00000 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05263 0.07895 0.57895 0.28947 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 35 type 2
+-1  -1
+0.96000 0.00000 0.00000 0.00000 0.04000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.93750 0.00000 0.00000 0.00000 0.06250 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.50000 0.05556 0.16667 0.27778 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 36 type 5
+37  -1
+0.35000 0.00000 0.62500 0.00000 0.02500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 37 type 2
+38  -1
+0.75000 0.00000 0.18750 0.00000 0.06250 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03704 0.00000 0.92593 0.00000 0.03704 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.82143 0.07143 0.03571 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.85714 0.00000 0.07143 0.00000 0.07143 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10345 0.00000 0.86207 0.00000 0.03448 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.03333 0.03333 0.76667 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+40  -1
+0.25000 0.00000 0.68750 0.00000 0.06250 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03704 0.00000 0.92593 0.00000 0.03704 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.14286 0.28571 0.50000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 2
+41  -1
+0.37500 0.25000 0.12500 0.12500 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02564 0.58974 0.33333 0.02564 0.02564 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.50000 0.02632 0.15789 0.31579 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 1
+42  -1
+0.12500 0.25000 0.12500 0.25000 0.12500 0.12500 
+0.03448 0.82759 0.03448 0.03448 0.03448 0.03448 
+0.05556 0.05556 0.72222 0.05556 0.05556 0.05556 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02564 0.02564 0.02564 0.30769 # MATP
+0.02564 0.02564 0.02564 0.02564 # MATP
+0.02564 0.15385 0.02564 0.12821 # MATP
+0.02564 0.02564 0.02564 0.10256 # MATP
+0.62500 0.06250 0.12500 0.18750 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 42 type 1
+43  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.03333 0.83333 0.03333 0.03333 0.03333 0.03333 
+0.05556 0.11111 0.66667 0.05556 0.05556 0.05556 
+0.14286 0.14286 0.14286 0.28571 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02500 0.07500 0.02500 0.17500 # MATP
+0.02500 0.02500 0.02500 0.02500 # MATP
+0.02500 0.27500 0.02500 0.15000 # MATP
+0.02500 0.02500 0.02500 0.05000 # MATP
+0.56250 0.06250 0.25000 0.12500 # MATL
+0.20000 0.40000 0.20000 0.20000 # MATR
+### node 43 type 1
+44  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.03226 0.83871 0.03226 0.03226 0.03226 0.03226 
+0.11765 0.11765 0.58824 0.05882 0.05882 0.05882 
+0.14286 0.14286 0.14286 0.28571 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02439 0.02439 0.02439 0.12195 # MATP
+0.02439 0.02439 0.02439 0.02439 # MATP
+0.02439 0.26829 0.02439 0.26829 # MATP
+0.02439 0.02439 0.02439 0.04878 # MATP
+0.13333 0.26667 0.53333 0.06667 # MATL
+0.20000 0.20000 0.20000 0.40000 # MATR
+### node 44 type 1
+45  -1
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.03125 0.84375 0.03125 0.03125 0.03125 0.03125 
+0.06667 0.13333 0.60000 0.06667 0.06667 0.06667 
+0.14286 0.14286 0.14286 0.28571 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02381 0.04762 0.02381 0.14286 # MATP
+0.04762 0.02381 0.04762 0.02381 # MATP
+0.02381 0.02381 0.04762 0.16667 # MATP
+0.28571 0.02381 0.02381 0.02381 # MATP
+0.38462 0.07692 0.23077 0.30769 # MATL
+0.40000 0.20000 0.20000 0.20000 # MATR
+### node 45 type 1
+46  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.03030 0.84848 0.03030 0.03030 0.03030 0.03030 
+0.06667 0.20000 0.53333 0.06667 0.06667 0.06667 
+0.14286 0.14286 0.14286 0.28571 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02326 0.02326 0.04651 0.09302 # MATP
+0.02326 0.02326 0.13953 0.02326 # MATP
+0.02326 0.34884 0.02326 0.02326 # MATP
+0.09302 0.02326 0.04651 0.02326 # MATP
+0.30769 0.15385 0.15385 0.38462 # MATL
+0.20000 0.40000 0.20000 0.20000 # MATR
+### node 46 type 1
+47  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.02857 0.85714 0.02857 0.02857 0.02857 0.02857 
+0.07692 0.07692 0.61538 0.07692 0.07692 0.07692 
+0.14286 0.14286 0.14286 0.28571 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.06667 0.02222 0.13333 # MATP
+0.02222 0.04444 0.06667 0.02222 # MATP
+0.02222 0.33333 0.02222 0.02222 # MATP
+0.04444 0.04444 0.02222 0.08889 # MATP
+0.18182 0.09091 0.54545 0.18182 # MATL
+0.20000 0.40000 0.20000 0.20000 # MATR
+### node 47 type 1
+48  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.02857 0.85714 0.02857 0.02857 0.02857 0.02857 
+0.07692 0.07692 0.61538 0.07692 0.07692 0.07692 
+0.14286 0.14286 0.14286 0.28571 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.04444 0.02222 0.02222 # MATP
+0.04444 0.02222 0.06667 0.02222 # MATP
+0.02222 0.22222 0.02222 0.04444 # MATP
+0.35556 0.02222 0.02222 0.02222 # MATP
+0.18182 0.09091 0.54545 0.18182 # MATL
+0.40000 0.20000 0.20000 0.20000 # MATR
+### node 48 type 1
+49  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.60606 0.00000 0.03030 0.03030 
+0.18182 0.00000 0.63636 0.00000 0.09091 0.09091 
+0.40000 0.00000 0.20000 0.00000 0.20000 0.20000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.02222 0.02222 0.02222 # MATP
+0.04444 0.02222 0.02222 0.02222 # MATP
+0.02222 0.46667 0.04444 0.02222 # MATP
+0.15556 0.02222 0.04444 0.02222 # MATP
+0.18182 0.09091 0.27273 0.45455 # MATL
+0.20000 0.40000 0.20000 0.20000 # MATR
+### node 49 type 2
+50  -1
+0.13333 0.00000 0.80000 0.00000 0.06667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03571 0.00000 0.92857 0.00000 0.03571 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.31034 0.27586 0.03448 0.37931 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 50 type 2
+51  -1
+0.50000 0.00000 0.25000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02564 0.00000 0.94872 0.00000 0.02564 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05000 0.07500 0.77500 0.10000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 51 type 2
+52  -1
+0.50000 0.00000 0.25000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02564 0.00000 0.94872 0.00000 0.02564 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20000 0.02500 0.65000 0.12500 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 52 type 2
+53  -1
+0.25000 0.00000 0.00000 0.50000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.23077 0.00000 0.00000 0.74359 0.02564 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.72500 0.02500 0.07500 0.17500 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 53 type 3
+54  -1
+0.72727 0.00000 0.00000 0.18182 0.00000 0.09091 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09375 0.00000 0.00000 0.87500 0.00000 0.03125 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.03030 0.90909 0.03030 0.03030 # MATR
+### node 54 type 3
+55  -1
+0.66667 0.00000 0.00000 0.25000 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03226 0.00000 0.00000 0.93548 0.00000 0.03226 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.90625 0.03125 0.03125 0.03125 # MATR
+### node 55 type 3
+56  -1
+0.08333 0.08333 0.66667 0.08333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05714 0.85714 0.02857 0.02857 0.00000 0.02857 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.20588 0.02941 0.67647 0.08824 # MATR
+### node 56 type 1
+57  -1
+0.14286 0.14286 0.14286 0.28571 0.14286 0.14286 
+0.02857 0.85714 0.02857 0.02857 0.02857 0.02857 
+0.07692 0.07692 0.61538 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.02222 0.02222 0.02222 # MATP
+0.11111 0.04444 0.13333 0.02222 # MATP
+0.02222 0.04444 0.02222 0.02222 # MATP
+0.40000 0.02222 0.04444 0.02222 # MATP
+0.18182 0.09091 0.36364 0.36364 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 57 type 1
+58  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.02857 0.85714 0.02857 0.02857 0.02857 0.02857 
+0.07692 0.07692 0.61538 0.07692 0.07692 0.07692 
+0.14286 0.14286 0.14286 0.28571 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.06667 0.02222 0.06667 # MATP
+0.02222 0.02222 0.13333 0.02222 # MATP
+0.02222 0.17778 0.04444 0.04444 # MATP
+0.13333 0.11111 0.06667 0.02222 # MATP
+0.18182 0.18182 0.27273 0.36364 # MATL
+0.20000 0.40000 0.20000 0.20000 # MATR
+### node 58 type 1
+59  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.02857 0.85714 0.02857 0.02857 0.02857 0.02857 
+0.07692 0.07692 0.61538 0.07692 0.07692 0.07692 
+0.14286 0.14286 0.14286 0.28571 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.02222 0.02222 0.02222 # MATP
+0.04444 0.02222 0.20000 0.02222 # MATP
+0.02222 0.15556 0.02222 0.06667 # MATP
+0.08889 0.13333 0.02222 0.11111 # MATP
+0.18182 0.18182 0.18182 0.45455 # MATL
+0.20000 0.20000 0.40000 0.20000 # MATR
+### node 59 type 1
+60  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.02857 0.77143 0.11429 0.02857 0.02857 0.02857 
+0.07692 0.07692 0.61538 0.07692 0.07692 0.07692 
+0.14286 0.14286 0.14286 0.28571 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04444 0.02222 0.02222 0.02222 # MATP
+0.02222 0.02222 0.17778 0.02222 # MATP
+0.04444 0.02222 0.06667 0.04444 # MATP
+0.37778 0.02222 0.02222 0.04444 # MATP
+0.09091 0.36364 0.18182 0.36364 # MATL
+0.40000 0.20000 0.20000 0.20000 # MATR
+### node 60 type 1
+61  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.13333 0.00000 0.46667 0.00000 0.03333 0.36667 
+0.14286 0.00000 0.71429 0.00000 0.07143 0.07143 
+0.20000 0.00000 0.20000 0.00000 0.20000 0.40000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.50000 0.00000 0.42857 0.00000 0.00000 0.07143 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.26667 0.26667 0.06667 0.40000 # INSR
+0.04762 0.02381 0.04762 0.02381 # MATP
+0.02381 0.02381 0.04762 0.02381 # MATP
+0.16667 0.07143 0.04762 0.02381 # MATP
+0.30952 0.02381 0.02381 0.07143 # MATP
+0.28571 0.07143 0.28571 0.35714 # MATL
+0.20000 0.40000 0.20000 0.20000 # MATR
+### node 61 type 2
+62  -1
+0.76923 0.00000 0.15385 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06667 0.00000 0.63333 0.00000 0.30000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09091 0.00000 0.81818 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.41667 0.16667 0.25000 0.16667 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.12903 0.06452 0.22581 0.58065 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 62 type 2
+63  -1
+0.15385 0.00000 0.76923 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.86667 0.00000 0.03333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09677 0.12903 0.67742 0.09677 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 63 type 2
+64  -1
+0.33333 0.00000 0.50000 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02703 0.00000 0.94595 0.00000 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.36842 0.18421 0.26316 0.18421 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 64 type 2
+65  -1
+0.50000 0.00000 0.25000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05128 0.00000 0.92308 0.00000 0.02564 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02500 0.12500 0.67500 0.17500 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 65 type 2
+66  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07895 0.00000 0.89474 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.35897 0.20513 0.07692 0.35897 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 66 type 2
+67  -1
+0.42857 0.00000 0.42857 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.94444 0.00000 0.02778 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05405 0.45946 0.16216 0.32432 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 67 type 2
+68  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15385 0.30769 0.38462 0.15385 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 68 type 2
+69  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.30769 0.10256 0.46154 0.12821 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 69 type 2
+70  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.34211 0.00000 0.63158 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.17949 0.33333 0.25641 0.23077 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 70 type 2
+71  -1
+0.88235 0.00000 0.05882 0.00000 0.05882 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.23077 0.00000 0.73077 0.00000 0.03846 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.22222 0.11111 0.44444 0.22222 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 71 type 2
+72  -1
+0.90909 0.00000 0.04545 0.00000 0.04545 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.23810 0.00000 0.42857 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11111 0.00000 0.77778 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.30000 0.20000 0.30000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.50000 0.13636 0.13636 0.22727 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 72 type 2
+73  -1
+0.15385 0.00000 0.80769 0.00000 0.03846 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05882 0.00000 0.88235 0.00000 0.05882 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11111 0.16667 0.66667 0.05556 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 73 type 2
+74  -1
+0.50000 0.00000 0.33333 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02703 0.00000 0.94595 0.00000 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07895 0.23684 0.18421 0.50000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 74 type 2
+75  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15385 0.25641 0.10256 0.48718 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 75 type 2
+76  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20513 0.48718 0.17949 0.12821 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 76 type 2
+77  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07692 0.10256 0.28205 0.53846 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 77 type 2
+78  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05128 0.15385 0.58974 0.20513 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 78 type 2
+79  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07692 0.10256 0.66667 0.15385 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 79 type 2
+80  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05263 0.00000 0.92105 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10256 0.07692 0.71795 0.10256 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 80 type 2
+81  -1
+0.66667 0.00000 0.16667 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.18919 0.00000 0.78378 0.00000 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.13158 0.52632 0.13158 0.21053 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 81 type 2
+82  -1
+0.25000 0.00000 0.66667 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03226 0.00000 0.58065 0.00000 0.38710 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.14286 0.00000 0.78571 0.00000 0.07143 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.26667 0.20000 0.33333 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06250 0.43750 0.12500 0.37500 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 82 type 2
+83  -1
+0.66667 0.00000 0.16667 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02703 0.00000 0.94595 0.00000 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02632 0.31579 0.07895 0.57895 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 83 type 2
+84  -1
+0.50000 0.00000 0.00000 0.33333 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.45946 0.00000 0.00000 0.40541 0.13514 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.38462 0.00000 0.00000 0.07692 0.53846 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.28571 0.28571 0.28571 0.14286 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05263 0.02632 0.89474 0.02632 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 84 type 3
+85  -1
+0.84000 0.00000 0.00000 0.12000 0.00000 0.04000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05556 0.00000 0.00000 0.88889 0.00000 0.05556 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.05263 0.10526 0.05263 0.78947 # MATR
+### node 85 type 3
+86  -1
+0.91304 0.00000 0.00000 0.04348 0.00000 0.04348 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.00000 0.75000 0.00000 0.05000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.04762 0.80952 0.04762 0.09524 # MATR
+### node 86 type 3
+87  -1
+0.73077 0.00000 0.00000 0.23077 0.00000 0.03846 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05882 0.00000 0.00000 0.88235 0.00000 0.05882 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.38889 0.11111 0.05556 0.44444 # MATR
+### node 87 type 3
+88  -1
+0.42857 0.00000 0.00000 0.52381 0.00000 0.04762 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.04545 0.00000 0.00000 0.90909 0.00000 0.04545 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.21739 0.60870 0.08696 0.08696 # MATR
+### node 88 type 3
+89  -1
+0.72727 0.00000 0.00000 0.18182 0.00000 0.09091 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03125 0.00000 0.00000 0.93750 0.00000 0.03125 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.21212 0.15152 0.12121 0.51515 # MATR
+### node 89 type 3
+90  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06061 0.00000 0.00000 0.90909 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.29412 0.41176 0.11765 0.17647 # MATR
+### node 90 type 3
+91  -1
+0.81818 0.00000 0.00000 0.09091 0.00000 0.09091 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.37500 0.00000 0.00000 0.59375 0.00000 0.03125 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.09091 0.51515 0.03030 0.36364 # MATR
+### node 91 type 3
+92  -1
+0.90909 0.00000 0.00000 0.04545 0.00000 0.04545 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.61905 0.00000 0.04762 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.50000 0.18182 0.09091 0.22727 # MATR
+### node 92 type 3
+93  -1
+0.35714 0.00000 0.00000 0.60714 0.00000 0.03571 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.80000 0.00000 0.00000 0.13333 0.00000 0.06667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.37500 0.25000 0.12500 0.25000 # MATR
+### node 93 type 3
+94  -1
+0.91304 0.00000 0.00000 0.04348 0.00000 0.04348 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05000 0.00000 0.00000 0.90000 0.00000 0.05000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.09524 0.19048 0.57143 0.14286 # MATR
+### node 94 type 3
+95  -1
+0.34783 0.00000 0.00000 0.60870 0.00000 0.04348 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05000 0.00000 0.00000 0.90000 0.00000 0.05000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.52381 0.04762 0.33333 0.09524 # MATR
+### node 95 type 3
+96  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.11765 0.26471 0.44118 0.17647 # MATR
+### node 96 type 3
+97  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.35294 0.14706 0.26471 0.23529 # MATR
+### node 97 type 3
+98  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.24242 0.00000 0.00000 0.72727 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.20588 0.47059 0.20588 0.11765 # MATR
+### node 98 type 3
+99  -1
+0.47059 0.00000 0.00000 0.47059 0.00000 0.05882 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03846 0.00000 0.00000 0.92308 0.00000 0.03846 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.29630 0.11111 0.29630 0.29630 # MATR
+### node 99 type 3
+100  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06061 0.00000 0.00000 0.90909 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.14706 0.47059 0.08824 0.29412 # MATR
+### node 100 type 3
+101  -1
+0.72727 0.00000 0.00000 0.18182 0.00000 0.09091 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09375 0.00000 0.00000 0.87500 0.00000 0.03125 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.09091 0.63636 0.15152 0.12121 # MATR
+### node 101 type 3
+102  -1
+0.66667 0.00000 0.00000 0.25000 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06452 0.00000 0.00000 0.90323 0.00000 0.03226 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.06250 0.34375 0.43750 0.15625 # MATR
+### node 102 type 3
+103  -1
+0.72727 0.00000 0.00000 0.18182 0.00000 0.09091 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03125 0.00000 0.00000 0.93750 0.00000 0.03125 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.06061 0.18182 0.60606 0.15152 # MATR
+### node 103 type 3
+104  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.50000 0.08824 0.29412 0.11765 # MATR
+### node 104 type 3
+105  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12121 0.00000 0.00000 0.84848 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.20588 0.44118 0.08824 0.26471 # MATR
+### node 105 type 3
+106  -1
+0.53846 0.00000 0.00000 0.38462 0.00000 0.07692 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.00000 0.86667 0.00000 0.03333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.29032 0.22581 0.06452 0.41935 # MATR
+### node 106 type 3
+107  -1
+0.81818 0.00000 0.00000 0.09091 0.00000 0.09091 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03125 0.00000 0.00000 0.93750 0.00000 0.03125 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.18182 0.27273 0.09091 0.45455 # MATR
+### node 107 type 3
+108  -1
+0.81818 0.00000 0.00000 0.09091 0.00000 0.09091 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03125 0.00000 0.00000 0.93750 0.00000 0.03125 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.27273 0.45455 0.12121 0.15152 # MATR
+### node 108 type 3
+109  -1
+0.81818 0.00000 0.00000 0.09091 0.00000 0.09091 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.00000 0.84375 0.00000 0.03125 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.69697 0.06061 0.15152 0.09091 # MATR
+### node 109 type 3
+110  -1
+0.12500 0.25000 0.37500 0.18750 0.00000 0.06250 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03226 0.80645 0.03226 0.09677 0.00000 0.03226 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.10000 0.73333 0.10000 0.06667 # MATR
+### node 110 type 1
+111  -1
+0.28571 0.14286 0.14286 0.14286 0.14286 0.14286 
+0.03030 0.84848 0.03030 0.03030 0.03030 0.03030 
+0.18182 0.09091 0.45455 0.09091 0.09091 0.09091 
+0.10000 0.30000 0.10000 0.30000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02326 0.04651 0.02326 0.02326 # MATP
+0.02326 0.02326 0.13953 0.02326 # MATP
+0.02326 0.34884 0.02326 0.09302 # MATP
+0.04651 0.02326 0.09302 0.02326 # MATP
+0.11111 0.33333 0.22222 0.33333 # MATL
+0.37500 0.37500 0.12500 0.12500 # MATR
+### node 111 type 1
+112  -1
+0.37500 0.12500 0.12500 0.12500 0.12500 0.12500 
+0.02857 0.85714 0.02857 0.02857 0.02857 0.02857 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.12500 0.12500 0.12500 0.37500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.06667 0.02222 0.02222 0.17778 # MATP
+0.02222 0.04444 0.02222 0.02222 # MATP
+0.04444 0.31111 0.02222 0.06667 # MATP
+0.04444 0.02222 0.06667 0.02222 # MATP
+0.37500 0.12500 0.37500 0.12500 # MATL
+0.16667 0.16667 0.33333 0.33333 # MATR
+### node 112 type 1
+113  -1
+0.37500 0.12500 0.12500 0.12500 0.12500 0.12500 
+0.02857 0.85714 0.02857 0.02857 0.02857 0.02857 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.12500 0.12500 0.12500 0.37500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.02222 0.02222 0.02222 # MATP
+0.06667 0.02222 0.28889 0.02222 # MATP
+0.02222 0.17778 0.02222 0.02222 # MATP
+0.04444 0.02222 0.15556 0.04444 # MATP
+0.12500 0.50000 0.25000 0.12500 # MATL
+0.16667 0.33333 0.33333 0.16667 # MATR
+### node 113 type 1
+114  -1
+0.37500 0.12500 0.12500 0.12500 0.12500 0.12500 
+0.02857 0.85714 0.02857 0.02857 0.02857 0.02857 
+0.20000 0.10000 0.40000 0.10000 0.10000 0.10000 
+0.12500 0.12500 0.12500 0.37500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.02222 0.02222 0.08889 # MATP
+0.04444 0.02222 0.15556 0.02222 # MATP
+0.02222 0.02222 0.02222 0.02222 # MATP
+0.31111 0.02222 0.11111 0.06667 # MATP
+0.25000 0.25000 0.12500 0.37500 # MATL
+0.33333 0.16667 0.33333 0.16667 # MATR
+### node 114 type 1
+115  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.11429 0.51429 0.25714 0.05714 0.02857 0.02857 
+0.11111 0.11111 0.44444 0.11111 0.11111 0.11111 
+0.12500 0.12500 0.12500 0.37500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.02222 0.02222 0.02222 # MATP
+0.02222 0.02222 0.28889 0.02222 # MATP
+0.04444 0.20000 0.02222 0.04444 # MATP
+0.15556 0.02222 0.04444 0.02222 # MATP
+0.28571 0.14286 0.28571 0.28571 # MATL
+0.33333 0.16667 0.16667 0.33333 # MATR
+### node 115 type 1
+116  -1
+0.40000 0.00000 0.40000 0.00000 0.10000 0.10000 
+0.33333 0.00000 0.57143 0.00000 0.04762 0.04762 
+0.20000 0.00000 0.66667 0.00000 0.06667 0.06667 
+0.57143 0.00000 0.14286 0.00000 0.14286 0.14286 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03030 0.03030 0.03030 0.21212 # MATP
+0.03030 0.03030 0.03030 0.03030 # MATP
+0.03030 0.24242 0.03030 0.15152 # MATP
+0.03030 0.03030 0.03030 0.03030 # MATP
+0.20000 0.40000 0.33333 0.06667 # MATL
+0.14286 0.28571 0.28571 0.28571 # MATR
+### node 116 type 2
+117  -1
+0.64706 0.00000 0.29412 0.00000 0.05882 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.88462 0.00000 0.03846 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.14815 0.18519 0.48148 0.18519 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 117 type 2
+118  -1
+0.57143 0.00000 0.35714 0.00000 0.07143 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.55172 0.00000 0.41379 0.00000 0.03448 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03333 0.33333 0.16667 0.46667 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 118 type 2
+119  -1
+0.28000 0.00000 0.68000 0.00000 0.04000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05556 0.00000 0.88889 0.00000 0.05556 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.36842 0.05263 0.52632 0.05263 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 119 type 2
+120  -1
+0.77778 0.00000 0.11111 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02941 0.00000 0.94118 0.00000 0.02941 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02857 0.11429 0.08571 0.77143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 120 type 2
+121  -1
+0.55556 0.00000 0.00000 0.33333 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.44118 0.00000 0.00000 0.52941 0.02941 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.31429 0.05714 0.42857 0.20000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 121 type 3
+122  -1
+0.38095 0.00000 0.00000 0.57143 0.00000 0.04762 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.81818 0.00000 0.00000 0.13636 0.00000 0.04545 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.17391 0.17391 0.08696 0.56522 # MATR
+### node 122 type 3
+123  -1
+0.25926 0.00000 0.00000 0.70370 0.00000 0.03704 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.00000 0.81250 0.00000 0.06250 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.17647 0.41176 0.11765 0.29412 # MATR
+### node 123 type 3
+124  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.02941 0.32353 0.26471 0.38235 # MATR
+### node 124 type 3
+125  -1
+0.50000 0.08333 0.25000 0.08333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02857 0.85714 0.02857 0.05714 0.00000 0.02857 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.35294 0.29412 0.20588 0.14706 # MATR
+### node 125 type 1
+126  -1
+0.66667 0.00000 0.11111 0.00000 0.11111 0.11111 
+0.09091 0.00000 0.84848 0.00000 0.03030 0.03030 
+0.16667 0.00000 0.50000 0.00000 0.16667 0.16667 
+0.40000 0.00000 0.20000 0.00000 0.20000 0.20000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.02222 0.04444 0.08889 # MATP
+0.02222 0.04444 0.06667 0.04444 # MATP
+0.02222 0.08889 0.02222 0.02222 # MATP
+0.26667 0.02222 0.02222 0.17778 # MATP
+0.33333 0.16667 0.16667 0.33333 # MATL
+0.40000 0.20000 0.20000 0.20000 # MATR
+### node 126 type 2
+127  -1
+0.81818 0.00000 0.09091 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03125 0.00000 0.93750 0.00000 0.03125 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.06061 0.78788 0.06061 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 127 type 2
+128  -1
+0.81818 0.00000 0.09091 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03125 0.00000 0.93750 0.00000 0.03125 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15152 0.63636 0.06061 0.15152 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 128 type 2
+129  -1
+0.81818 0.00000 0.09091 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.34375 0.00000 0.62500 0.00000 0.03125 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06061 0.51515 0.06061 0.36364 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 129 type 2
+130  -1
+0.90476 0.00000 0.04762 0.00000 0.04762 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09091 0.00000 0.86364 0.00000 0.04545 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.21739 0.13043 0.26087 0.39130 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 130 type 2
+131  -1
+0.90909 0.00000 0.04545 0.00000 0.04545 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09524 0.00000 0.85714 0.00000 0.04762 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.13636 0.45455 0.13636 0.27273 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 131 type 2
+132  -1
+0.78261 0.00000 0.17391 0.00000 0.04348 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05000 0.00000 0.90000 0.00000 0.05000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09524 0.04762 0.14286 0.71429 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 132 type 2
+133  -1
+0.30000 0.00000 0.65000 0.00000 0.05000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.17391 0.00000 0.78261 0.00000 0.04348 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.08333 0.37500 0.37500 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 133 type 2
+134  -1
+0.54545 0.00000 0.36364 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03125 0.00000 0.93750 0.00000 0.03125 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.18182 0.12121 0.54545 0.15152 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 134 type 2
+135  -1
+0.50000 0.00000 0.00000 0.37500 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.65714 0.00000 0.00000 0.31429 0.02857 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.30556 0.52778 0.11111 0.05556 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 135 type 3
+136  -1
+0.28571 0.00000 0.00000 0.67857 0.00000 0.03571 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.00000 0.73333 0.00000 0.06667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.37500 0.12500 0.31250 0.18750 # MATR
+### node 136 type 3
+137  -1
+0.83333 0.00000 0.00000 0.08333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03226 0.00000 0.00000 0.93548 0.00000 0.03226 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.28125 0.46875 0.03125 0.21875 # MATR
+### node 137 type 3
+138  -1
+0.83333 0.00000 0.00000 0.08333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.35484 0.00000 0.00000 0.61290 0.00000 0.03226 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.12500 0.06250 0.78125 0.03125 # MATR
+### node 138 type 3
+139  -1
+0.90909 0.00000 0.00000 0.04545 0.00000 0.04545 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.04762 0.00000 0.00000 0.90476 0.00000 0.04762 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.09091 0.09091 0.04545 0.77273 # MATR
+### node 139 type 3
+140  -1
+0.16667 0.54167 0.20833 0.04167 0.00000 0.04167 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.04348 0.82609 0.04348 0.04348 0.00000 0.04348 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.04545 0.54545 0.36364 0.04545 # MATR
+### node 140 type 1
+141  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.02174 0.02174 0.21739 0.02174 # MATP
+0.02174 0.06522 0.02174 0.02174 # MATP
+0.10870 0.02174 0.21739 0.13043 # MATP
+0.12500 0.25000 0.12500 0.50000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 141 type 1
+142  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.06522 # MATP
+0.02174 0.04348 0.10870 0.02174 # MATP
+0.02174 0.39130 0.04348 0.06522 # MATP
+0.08696 0.02174 0.02174 0.02174 # MATP
+0.12500 0.25000 0.50000 0.12500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 142 type 1
+143  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.41304 0.02174 0.19565 # MATP
+0.06522 0.02174 0.04348 0.02174 # MATP
+0.12500 0.12500 0.62500 0.12500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 143 type 1
+144  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.02174 0.04348 0.02174 # MATP
+0.02174 0.02174 0.28261 0.02174 # MATP
+0.02174 0.19565 0.04348 0.04348 # MATP
+0.06522 0.02174 0.10870 0.02174 # MATP
+0.12500 0.50000 0.25000 0.12500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 144 type 1
+145  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.83333 0.02778 0.02778 0.02778 0.05556 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.33333 0.16667 0.16667 0.00000 0.16667 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.40000 0.20000 0.20000 0.20000 # INSR
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.04348 0.02174 0.32609 0.02174 # MATP
+0.02174 0.15217 0.02174 0.06522 # MATP
+0.13043 0.02174 0.04348 0.02174 # MATP
+0.12500 0.37500 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 145 type 1
+146  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.02174 0.10870 0.02174 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.26087 0.02174 0.34783 0.02174 # MATP
+0.12500 0.50000 0.12500 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 146 type 1
+147  -1
+0.57143 0.00000 0.14286 0.00000 0.14286 0.14286 
+0.02941 0.00000 0.91176 0.00000 0.02941 0.02941 
+0.12500 0.00000 0.62500 0.00000 0.12500 0.12500 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.58696 0.02174 0.08696 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.12500 0.12500 0.62500 0.12500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 147 type 2
+148  -1
+0.66667 0.00000 0.00000 0.16667 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.13514 0.00000 0.00000 0.83784 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05263 0.63158 0.02632 0.28947 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 148 type 3
+149  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.67647 0.02941 0.26471 0.02941 # MATR
+### node 149 type 3
+150  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.61765 0.26471 0.05882 0.05882 # MATR
+### node 150 type 3
+151  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.02941 0.05882 0.05882 0.85294 # MATR
+### node 151 type 3
+152  -1
+0.33333 0.08333 0.41667 0.08333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02857 0.88571 0.02857 0.02857 0.00000 0.02857 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.88235 0.02941 0.05882 0.02941 # MATR
+### node 152 type 1
+153  -1
+0.57143 0.00000 0.14286 0.00000 0.14286 0.14286 
+0.02941 0.00000 0.91176 0.00000 0.02941 0.02941 
+0.12500 0.00000 0.62500 0.00000 0.12500 0.12500 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.02174 0.63043 0.02174 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.06522 0.02174 0.02174 0.02174 # MATP
+0.12500 0.50000 0.12500 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 153 type 2
+154  -1
+0.66667 0.00000 0.16667 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05405 0.00000 0.91892 0.00000 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02632 0.89474 0.02632 0.05263 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 154 type 2
+155  -1
+0.57143 0.00000 0.00000 0.28571 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.13889 0.00000 0.00000 0.83333 0.02778 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.27027 0.02703 0.56757 0.13514 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 155 type 3
+156  -1
+0.33333 0.08333 0.41667 0.08333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02857 0.88571 0.02857 0.02857 0.00000 0.02857 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.02941 0.02941 0.88235 0.05882 # MATR
+### node 156 type 1
+157  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.04348 0.02174 0.15217 0.02174 # MATP
+0.06522 0.04348 0.02174 0.02174 # MATP
+0.41304 0.02174 0.06522 0.02174 # MATP
+0.12500 0.25000 0.12500 0.50000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 157 type 1
+158  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.15217 # MATP
+0.02174 0.02174 0.17391 0.02174 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.32609 0.02174 0.04348 0.06522 # MATP
+0.25000 0.12500 0.12500 0.50000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 158 type 1
+159  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.02174 0.63043 0.02174 # MATP
+0.02174 0.04348 0.02174 0.02174 # MATP
+0.02174 0.04348 0.02174 0.02174 # MATP
+0.12500 0.62500 0.12500 0.12500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 159 type 1
+160  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.04348 0.02174 # MATP
+0.02174 0.02174 0.50000 0.02174 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.15217 0.02174 0.02174 0.04348 # MATP
+0.12500 0.50000 0.12500 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 160 type 1
+161  -1
+0.57143 0.00000 0.14286 0.00000 0.14286 0.14286 
+0.02941 0.00000 0.91176 0.00000 0.02941 0.02941 
+0.12500 0.00000 0.62500 0.00000 0.12500 0.12500 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.58696 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.06522 0.02174 0.04348 # MATP
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.62500 0.12500 0.12500 0.12500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 161 type 2
+162  -1
+0.66667 0.00000 0.16667 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02703 0.00000 0.94595 0.00000 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.86842 0.05263 0.05263 0.02632 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 162 type 2
+163  -1
+0.66667 0.00000 0.00000 0.16667 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.13514 0.00000 0.00000 0.83784 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.13158 0.05263 0.76316 0.05263 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 163 type 3
+164  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.02941 0.02941 0.91176 0.02941 # MATR
+### node 164 type 3
+165  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.41176 0.05882 0.47059 0.05882 # MATR
+### node 165 type 3
+166  -1
+0.33333 0.08333 0.41667 0.08333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02857 0.88571 0.02857 0.02857 0.00000 0.02857 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.02941 0.79412 0.02941 0.14706 # MATR
+### node 166 type 1
+167  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.02174 0.23913 0.02174 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.30435 0.04348 0.04348 0.13043 # MATP
+0.12500 0.37500 0.12500 0.37500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 167 type 1
+168  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.08696 # MATP
+0.02174 0.02174 0.13043 0.02174 # MATP
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.39130 0.02174 0.06522 0.06522 # MATP
+0.12500 0.50000 0.12500 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 168 type 1
+169  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.77778 0.02778 0.02778 0.11111 0.02778 
+0.10000 0.10000 0.40000 0.10000 0.20000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.10000 0.40000 0.20000 0.10000 0.10000 0.10000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.37500 0.25000 0.12500 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.02174 0.02174 0.21739 0.04348 # MATP
+0.02174 0.36957 0.02174 0.06522 # MATP
+0.04348 0.02174 0.02174 0.02174 # MATP
+0.12500 0.25000 0.50000 0.12500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 169 type 1
+170  -1
+0.57143 0.00000 0.14286 0.00000 0.14286 0.14286 
+0.02941 0.00000 0.91176 0.00000 0.02941 0.02941 
+0.12500 0.00000 0.62500 0.00000 0.12500 0.12500 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.08696 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.28261 0.04348 0.21739 # MATP
+0.06522 0.02174 0.08696 0.02174 # MATP
+0.25000 0.12500 0.50000 0.12500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 170 type 2
+171  -1
+0.66667 0.00000 0.00000 0.16667 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.13514 0.00000 0.00000 0.83784 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05263 0.05263 0.52632 0.36842 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 171 type 3
+172  -1
+0.33333 0.08333 0.41667 0.08333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02857 0.88571 0.02857 0.02857 0.00000 0.02857 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.08824 0.41176 0.11765 0.38235 # MATR
+### node 172 type 1
+173  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.10000 0.10000 0.50000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.04348 0.02174 0.41304 # MATP
+0.02174 0.02174 0.13043 0.06522 # MATP
+0.04348 0.02174 0.02174 0.02174 # MATP
+0.02174 0.04348 0.04348 0.04348 # MATP
+0.50000 0.25000 0.12500 0.12500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 173 type 1
+174  -1
+0.57143 0.00000 0.14286 0.00000 0.14286 0.14286 
+0.32353 0.00000 0.61765 0.00000 0.02941 0.02941 
+0.37500 0.00000 0.37500 0.00000 0.12500 0.12500 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.15217 # MATP
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.02174 0.45652 0.06522 0.02174 # MATP
+0.02174 0.04348 0.02174 0.02174 # MATP
+0.25000 0.12500 0.50000 0.12500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 174 type 2
+175  -1
+0.22222 0.00000 0.72222 0.00000 0.05556 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12000 0.00000 0.76000 0.00000 0.12000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11111 0.00000 0.33333 0.00000 0.55556 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.10000 0.30000 0.50000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03846 0.03846 0.19231 0.73077 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 175 type 2
+176  -1
+0.50000 0.00000 0.37500 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02857 0.00000 0.94286 0.00000 0.02857 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11111 0.05556 0.36111 0.47222 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 176 type 2
+177  -1
+0.66667 0.00000 0.00000 0.16667 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.13514 0.00000 0.00000 0.83784 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05263 0.23684 0.52632 0.18421 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 177 type 3
+178  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06061 0.00000 0.00000 0.90909 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.08824 0.11765 0.76471 0.02941 # MATR
+### node 178 type 3
+179  -1
+0.90000 0.00000 0.00000 0.00000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.96774 0.00000 0.00000 0.00000 0.00000 0.03226 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.00000 0.50000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.06061 0.75758 0.15152 0.03030 # MATR
+### node 179 type 0
+180  210
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 180 type 4
+181  -1
+0.09756 0.82927 0.04878 0.02439 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 181 type 1
+182  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02564 0.87179 0.02564 0.02564 0.02564 0.02564 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02041 0.02041 0.02041 0.22449 # MATP
+0.02041 0.02041 0.18367 0.02041 # MATP
+0.02041 0.18367 0.04082 0.14286 # MATP
+0.02041 0.02041 0.02041 0.02041 # MATP
+0.20000 0.40000 0.20000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 182 type 1
+183  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02564 0.84615 0.05128 0.02564 0.02564 0.02564 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02041 0.02041 0.02041 0.18367 # MATP
+0.02041 0.02041 0.18367 0.02041 # MATP
+0.02041 0.14286 0.04082 0.02041 # MATP
+0.16327 0.02041 0.08163 0.02041 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 183 type 1
+184  -1
+0.57143 0.00000 0.14286 0.00000 0.14286 0.14286 
+0.02778 0.00000 0.91667 0.00000 0.02778 0.02778 
+0.16667 0.00000 0.50000 0.00000 0.16667 0.16667 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02083 0.02083 0.02083 0.04167 # MATP
+0.02083 0.04167 0.14583 0.02083 # MATP
+0.02083 0.14583 0.02083 0.10417 # MATP
+0.10417 0.02083 0.22917 0.02083 # MATP
+0.16667 0.33333 0.33333 0.16667 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 184 type 2
+185  -1
+0.66667 0.00000 0.16667 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.13514 0.00000 0.83784 0.00000 0.02703 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.31579 0.23684 0.23684 0.21053 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 185 type 2
+186  -1
+0.50000 0.00000 0.40000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.66667 0.00000 0.30303 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02941 0.23529 0.26471 0.47059 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 186 type 2
+187  -1
+0.17857 0.00000 0.00000 0.78571 0.03571 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.13333 0.00000 0.00000 0.80000 0.06667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.50000 0.18750 0.06250 0.25000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 187 type 3
+188  -1
+0.40000 0.20000 0.20000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02703 0.89189 0.02703 0.02703 0.00000 0.02703 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.19444 0.25000 0.38889 0.16667 # MATR
+### node 188 type 1
+189  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02564 0.87179 0.02564 0.02564 0.02564 0.02564 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02041 0.02041 0.02041 0.02041 # MATP
+0.02041 0.02041 0.02041 0.02041 # MATP
+0.20408 0.16327 0.04082 0.18367 # MATP
+0.08163 0.02041 0.04082 0.10204 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 189 type 1
+190  -1
+0.44444 0.11111 0.11111 0.11111 0.11111 0.11111 
+0.02564 0.87179 0.02564 0.02564 0.02564 0.02564 
+0.28571 0.14286 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02041 0.04082 0.02041 0.04082 # MATP
+0.08163 0.02041 0.02041 0.02041 # MATP
+0.02041 0.42857 0.08163 0.04082 # MATP
+0.04082 0.02041 0.08163 0.02041 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 190 type 1
+191  -1
+0.50000 0.10000 0.10000 0.10000 0.10000 0.10000 
+0.02564 0.87179 0.02564 0.02564 0.02564 0.02564 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02041 0.02041 0.02041 0.12245 # MATP
+0.02041 0.02041 0.02041 0.02041 # MATP
+0.02041 0.12245 0.02041 0.16327 # MATP
+0.02041 0.24490 0.06122 0.08163 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 191 type 1
+192  -1
+0.62500 0.00000 0.12500 0.00000 0.12500 0.12500 
+0.21622 0.00000 0.72973 0.00000 0.02703 0.02703 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02041 0.02041 0.10204 0.04082 # MATP
+0.06122 0.02041 0.02041 0.02041 # MATP
+0.20408 0.20408 0.04082 0.10204 # MATP
+0.06122 0.02041 0.02041 0.04082 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 192 type 2
+193  -1
+0.35714 0.00000 0.57143 0.00000 0.07143 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10345 0.00000 0.86207 0.00000 0.03448 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.23333 0.03333 0.56667 0.16667 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 193 type 2
+194  -1
+0.55556 0.00000 0.33333 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02941 0.00000 0.94118 0.00000 0.02941 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05714 0.71429 0.05714 0.17143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 194 type 2
+195  -1
+0.71429 0.00000 0.14286 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.94444 0.00000 0.02778 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08108 0.45946 0.10811 0.35135 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 195 type 2
+196  -1
+0.71429 0.00000 0.14286 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.94444 0.00000 0.02778 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10811 0.18919 0.08108 0.62162 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 196 type 2
+197  -1
+0.71429 0.00000 0.00000 0.14286 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.00000 0.94444 0.02778 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16216 0.29730 0.29730 0.24324 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 197 type 3
+198  -1
+0.71429 0.00000 0.00000 0.14286 0.00000 0.14286 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.00000 0.88889 0.00000 0.02778 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.05405 0.45946 0.13514 0.35135 # MATR
+### node 198 type 3
+199  -1
+0.66667 0.00000 0.00000 0.22222 0.00000 0.11111 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.23529 0.00000 0.00000 0.73529 0.00000 0.02941 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.02857 0.31429 0.31429 0.34286 # MATR
+### node 199 type 3
+200  -1
+0.33333 0.00000 0.00000 0.60000 0.00000 0.06667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03571 0.00000 0.00000 0.92857 0.00000 0.03571 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.24138 0.06897 0.48276 0.20690 # MATR
+### node 200 type 3
+201  -1
+0.71429 0.00000 0.00000 0.14286 0.00000 0.14286 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.00000 0.94444 0.00000 0.02778 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.05405 0.10811 0.75676 0.08108 # MATR
+### node 201 type 3
+202  -1
+0.71429 0.00000 0.00000 0.14286 0.00000 0.14286 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.00000 0.94444 0.00000 0.02778 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.10811 0.13514 0.48649 0.27027 # MATR
+### node 202 type 3
+203  -1
+0.55556 0.11111 0.11111 0.11111 0.00000 0.11111 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.84211 0.07895 0.02632 0.00000 0.02632 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.02703 0.10811 0.35135 0.51351 # MATR
+### node 203 type 1
+204  -1
+0.50000 0.10000 0.10000 0.10000 0.10000 0.10000 
+0.02703 0.86486 0.02703 0.02703 0.02703 0.02703 
+0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.06383 0.02128 0.02128 0.19149 # MATP
+0.02128 0.02128 0.17021 0.02128 # MATP
+0.02128 0.14894 0.02128 0.12766 # MATP
+0.04255 0.02128 0.06383 0.02128 # MATP
+0.16667 0.16667 0.16667 0.50000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 204 type 1
+205  -1
+0.50000 0.10000 0.10000 0.10000 0.10000 0.10000 
+0.02564 0.87179 0.02564 0.02564 0.02564 0.02564 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02041 0.02041 0.02041 0.04082 # MATP
+0.02041 0.02041 0.14286 0.02041 # MATP
+0.02041 0.44898 0.04082 0.06122 # MATP
+0.06122 0.02041 0.02041 0.02041 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 205 type 1
+206  -1
+0.62500 0.00000 0.12500 0.00000 0.12500 0.12500 
+0.02703 0.00000 0.91892 0.00000 0.02703 0.02703 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02041 0.02041 0.02041 0.14286 # MATP
+0.02041 0.02041 0.40816 0.02041 # MATP
+0.02041 0.14286 0.02041 0.02041 # MATP
+0.06122 0.02041 0.02041 0.02041 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 206 type 2
+207  -1
+0.71429 0.00000 0.14286 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.94444 0.00000 0.02778 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02703 0.02703 0.91892 0.02703 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 207 type 2
+208  -1
+0.71429 0.00000 0.14286 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.94444 0.00000 0.02778 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.45946 0.02703 0.29730 0.21622 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 208 type 2
+209  -1
+0.71429 0.00000 0.14286 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.94444 0.00000 0.02778 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.91892 0.02703 0.02703 0.02703 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 209 type 2
+-1  -1
+0.83333 0.00000 0.00000 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.97143 0.00000 0.00000 0.00000 0.02857 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.40541 0.02703 0.54054 0.02703 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 210 type 5
+211  -1
+0.15000 0.00000 0.82500 0.00000 0.02500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 211 type 2
+212  -1
+0.85714 0.00000 0.00000 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.76471 0.00000 0.00000 0.00000 0.23529 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.18182 0.27273 0.27273 0.27273 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.30556 0.30556 0.27778 0.11111 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 212 type 0
+213  219
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 213 type 4
+214  -1
+0.14634 0.75610 0.07317 0.02439 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 214 type 1
+215  -1
+0.54545 0.09091 0.09091 0.09091 0.09091 0.09091 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.37500 0.12500 0.12500 0.12500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.04348 0.45652 0.04348 # MATP
+0.02174 0.04348 0.02174 0.02174 # MATP
+0.10870 0.02174 0.06522 0.04348 # MATP
+0.16667 0.50000 0.16667 0.16667 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 215 type 1
+216  -1
+0.72727 0.00000 0.09091 0.00000 0.09091 0.09091 
+0.08824 0.00000 0.85294 0.00000 0.02941 0.02941 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.06522 # MATP
+0.17391 0.02174 0.17391 0.02174 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.23913 0.02174 0.10870 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 216 type 2
+217  -1
+0.66667 0.00000 0.25000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03226 0.00000 0.93548 0.00000 0.03226 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.34375 0.03125 0.03125 0.59375 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 217 type 2
+218  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.24242 0.00000 0.72727 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.61765 0.02941 0.32353 0.02941 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 218 type 2
+-1  -1
+0.93750 0.00000 0.00000 0.00000 0.06250 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.96000 0.00000 0.00000 0.00000 0.04000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.77778 0.07407 0.07407 0.07407 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 219 type 5
+220  -1
+0.22500 0.00000 0.75000 0.00000 0.02500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 220 type 2
+221  -1
+0.61538 0.15385 0.07692 0.07692 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02941 0.88235 0.02941 0.02941 0.02941 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.24242 0.21212 0.09091 0.45455 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 221 type 1
+222  -1
+0.61538 0.07692 0.07692 0.07692 0.07692 0.07692 
+0.02778 0.83333 0.05556 0.02778 0.02778 0.02778 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.06522 0.02174 0.02174 # MATP
+0.02174 0.52174 0.04348 0.04348 # MATP
+0.02174 0.02174 0.08696 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 222 type 1
+223  -1
+0.61538 0.07692 0.07692 0.07692 0.07692 0.07692 
+0.02857 0.85714 0.02857 0.02857 0.02857 0.02857 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02222 0.02222 0.02222 0.06667 # MATP
+0.02222 0.02222 0.02222 0.02222 # MATP
+0.02222 0.55556 0.02222 0.02222 # MATP
+0.02222 0.04444 0.06667 0.02222 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 223 type 1
+224  -1
+0.61538 0.07692 0.07692 0.07692 0.07692 0.07692 
+0.02778 0.75000 0.02778 0.02778 0.02778 0.13889 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.11111 0.55556 0.11111 0.11111 0.00000 0.11111 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.12500 0.62500 0.12500 0.12500 # INSR
+0.02174 0.02174 0.02174 0.19565 # MATP
+0.02174 0.02174 0.26087 0.02174 # MATP
+0.02174 0.06522 0.02174 0.21739 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 224 type 1
+225  -1
+0.61538 0.07692 0.07692 0.07692 0.07692 0.07692 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.30435 # MATP
+0.02174 0.02174 0.06522 0.02174 # MATP
+0.02174 0.28261 0.02174 0.06522 # MATP
+0.04348 0.02174 0.02174 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 225 type 1
+226  -1
+0.72727 0.00000 0.09091 0.00000 0.09091 0.09091 
+0.02941 0.00000 0.91176 0.00000 0.02941 0.02941 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.02174 0.02174 0.04348 0.02174 # MATP
+0.02174 0.45652 0.02174 0.02174 # MATP
+0.17391 0.02174 0.04348 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 226 type 2
+227  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.93939 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05882 0.02941 0.88235 0.02941 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 227 type 2
+228  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.93939 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.44118 0.32353 0.14706 0.08824 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 228 type 2
+229  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.93939 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.85294 0.02941 0.08824 0.02941 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 229 type 2
+230  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.93939 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.32353 0.41176 0.02941 0.23529 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 230 type 2
+231  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.93939 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08824 0.41176 0.23529 0.26471 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 231 type 2
+232  -1
+0.70000 0.00000 0.00000 0.20000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12121 0.00000 0.00000 0.84848 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11765 0.02941 0.82353 0.02941 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 232 type 3
+233  -1
+0.58333 0.00000 0.00000 0.33333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03226 0.00000 0.00000 0.93548 0.00000 0.03226 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.84375 0.09375 0.03125 0.03125 # MATR
+### node 233 type 3
+234  -1
+0.77778 0.00000 0.00000 0.11111 0.00000 0.11111 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02941 0.00000 0.00000 0.94118 0.00000 0.02941 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.37143 0.40000 0.05714 0.17143 # MATR
+### node 234 type 3
+235  -1
+0.77778 0.00000 0.00000 0.11111 0.00000 0.11111 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02941 0.00000 0.00000 0.94118 0.00000 0.02941 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.40000 0.25714 0.05714 0.28571 # MATR
+### node 235 type 3
+236  -1
+0.63636 0.09091 0.09091 0.09091 0.00000 0.09091 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05556 0.86111 0.02778 0.02778 0.00000 0.02778 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.68571 0.25714 0.02857 0.02857 # MATR
+### node 236 type 1
+237  -1
+0.61538 0.07692 0.07692 0.07692 0.07692 0.07692 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.02174 0.02174 0.50000 0.02174 # MATP
+0.02174 0.06522 0.02174 0.13043 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 237 type 1
+238  -1
+0.72727 0.00000 0.09091 0.00000 0.09091 0.09091 
+0.02941 0.00000 0.91176 0.00000 0.02941 0.02941 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.04348 # MATP
+0.02174 0.02174 0.17391 0.02174 # MATP
+0.02174 0.43478 0.02174 0.02174 # MATP
+0.08696 0.02174 0.02174 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 238 type 2
+239  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.93939 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02941 0.20588 0.05882 0.70588 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 239 type 2
+240  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.93939 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08824 0.35294 0.47059 0.08824 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 240 type 2
+241  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.93939 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.91176 0.02941 0.02941 0.02941 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 241 type 2
+242  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.93939 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02941 0.02941 0.91176 0.02941 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 242 type 2
+243  -1
+0.80000 0.00000 0.00000 0.10000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02941 0.02941 0.85294 0.08824 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 243 type 3
+244  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.02941 0.05882 0.88235 0.02941 # MATR
+### node 244 type 3
+245  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.88235 0.02941 0.02941 0.05882 # MATR
+### node 245 type 3
+246  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.02941 0.91176 0.02941 0.02941 # MATR
+### node 246 type 3
+247  -1
+0.80000 0.00000 0.00000 0.10000 0.00000 0.10000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.00000 0.93939 0.00000 0.03030 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.08824 0.02941 0.85294 0.02941 # MATR
+### node 247 type 3
+248  -1
+0.66667 0.08333 0.08333 0.08333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02857 0.88571 0.02857 0.02857 0.00000 0.02857 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.88235 0.02941 0.02941 0.05882 # MATR
+### node 248 type 1
+249  -1
+0.61538 0.07692 0.07692 0.07692 0.07692 0.07692 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.02174 0.47826 0.02174 # MATP
+0.02174 0.08696 0.02174 0.02174 # MATP
+0.04348 0.02174 0.13043 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 249 type 1
+250  -1
+0.61538 0.07692 0.07692 0.07692 0.07692 0.07692 
+0.02778 0.86111 0.02778 0.02778 0.02778 0.02778 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.02174 0.15217 0.02174 # MATP
+0.02174 0.08696 0.02174 0.02174 # MATP
+0.47826 0.02174 0.02174 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 250 type 1
+251  -1
+0.72727 0.00000 0.09091 0.00000 0.09091 0.09091 
+0.02941 0.00000 0.91176 0.00000 0.02941 0.02941 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02174 0.02174 0.02174 0.06522 # MATP
+0.02174 0.02174 0.02174 0.02174 # MATP
+0.02174 0.58696 0.02174 0.04348 # MATP
+0.04348 0.02174 0.02174 0.02174 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 251 type 2
+252  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.93939 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02941 0.02941 0.88235 0.05882 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 252 type 2
+253  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03030 0.00000 0.93939 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.23529 0.55882 0.02941 0.17647 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 253 type 2
+254  -1
+0.80000 0.00000 0.10000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.39394 0.00000 0.57576 0.00000 0.03030 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.35294 0.02941 0.05882 0.55882 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 254 type 2
+255  -1
+0.90909 0.00000 0.04545 0.00000 0.04545 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.04762 0.00000 0.90476 0.00000 0.04762 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04545 0.04545 0.04545 0.86364 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 255 type 2
+256  -1
+0.36364 0.00000 0.59091 0.00000 0.04545 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.04762 0.00000 0.90476 0.00000 0.04762 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04545 0.86364 0.04545 0.04545 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 256 type 2
+-1  -1
+0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.96875 0.00000 0.00000 0.00000 0.03125 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.91176 0.02941 0.02941 0.02941 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/Cove/Demos/7SL-euk.fa b/Cove/Demos/7SL-euk.fa
new file mode 100644
index 0000000..44435b6
--- /dev/null
+++ b/Cove/Demos/7SL-euk.fa
@@ -0,0 +1,251 @@
+> ZEA.M._A  
+NCCgAGCUCuguagcgaGAGCUuguaaCCCGagCGGGGGCauuaAGGUGG
+UGugaaUGCUUugcGAuggcuUUCUGggcccugGGCUCGuugUgacacug
+gcCGGCUUGcCcaUCCCAagUUGGuAGuguCUGguGGGGgcucuAGCgaa
+aGCUuuggguCUCUgCAGaCcuggaGcGGCAGgaauggCGuaaggCUGgc
+uucaCAGagcagCGaucaCUGCCgaCUcCCAAcggUGGGAgGauaaCGaA
+GCCGcugcAcuuUGAGCCuaacucaggcuCAGAAccUCacuAAGCAaacC
+ACCAUCUuu
+> ZEA.M._B  
+NCCgAGCUCuguagcgaGAGCUuguaaCCCGagCGGGGGCauuaAGGUGG
+cGcggaUGCUuugcGAugguuUCUGggccugGGCUCGuugUgacucuagc
+CGGCUUGcCcaUCCCAagUUGGuAGuguCUGacGGGGcucuAGCgaaaGC
+UuuggguCUCUgCAGaCcuacaGcGGCAGgaauggCGuaaggCUGgcuuc
+aCAGagcagCGaucaCUcGCCcaCUuCCAAcggUGGGAgGauaaCAAGCC
+GcugcAcuuUGAGCCcaacacagaccCAGAuccUCucuuAGCAaacCaCC
+AUCUuu
+> ZEA.M._C  
+NCCgAGCUCuguagcgaGAGCUuguaaCCCGagCGGGGGCauuaAGGUGG
+UGuggaUGCUUgguaccguGUCUuugccugGGUUCAuggugUgccuuugu
+UGGCCUGcCcgUUCCAagUUGGuAGuggCCGuuGGAAgcuugGGCguagG
+CCcugggcUUCCuUGGaCcuauaGuGGCAGgaacggCGugaggCUGucuu
+caCAGagcagCGaucaCUGCCggCUaUUAAcggUGGAAgGauaaCAGGCC
+AcugcAgcaUGGGCUcgcuuaaggccUAGACuucauacuaAAGCAgacCA
+CCAUUUuu
+> ZEA.M._D  
+NCCgAGCUCuguagcgaGAGCUuguaaCCCGagCGGGGGCauuaAGGUGG
+UGcggaUuCUUugcGAuggcuUUCUGggcccgGGCUCGcuaugUgccuuu
+ggcCGGCCUGcCcgUCCCAagUUGGuAGuggCUGgcGGAGgcuuuAGCgg
+aaGCUuugguCUCUcCAGaCcugaaGuGGCAGgaauggCGugaggCUGgc
+uucaCAGagcagCGaucaCUcGCCcgCUuCCAAcggUGGGAgGauaaCAG
+GCCGcugcAcuuCGAGCCcaacucaggccCAGAGccUCacuAAGcAgacC
+ACCAUCUu
+> ZEA.M._E  
+NCCgAGCUCuguagcgaGAGCUuguaaCCCGagCGGGGGCauuaAGGUGG
+UGcggaUUCUUugcGAuggcuUUCUGggcccgGGCUCGcuaugUgccuuu
+ggcCGGCCUGcCcgUCCCAagUUGGuAGuggCUGgcGGAGgcuuuAGCgg
+aaGCUuugguCUCUcCAGaCcugaaGuGGCAGgaauggCGugaggCUGgc
+uucaCAGagcagCGaucaCUcGCCggCUuCCAAcggUGGGAgGauaaCGG
+GCCGcugcAcuuCGAGCCcaacucaggccCAGAGccUCacuAAGCAgacC
+ACCAUCUuu
+> ZEA.M._F  
+NCCgAGCUCuguagcgaGAGCUuguaaCCUaagcGGGGGCauuaAGGUGG
+UGuggaUGUUUccuGAcggaUUCUGggccugGGCUUGuaugUgccacugg
+cCGGCCUGcCcgUUCCAagUUGGuuGuggCUGguGGGGcucgGGCgaagG
+CCugggcCUCUuUAGaCcugaaGcGGCAGgcauggCGugaggCUGgcuuc
+aCAGagcagCGaucaCUcGCCcgCuuCCAAcggUGGGAgGauaaCAGGCC
+GcugcAuugCAAGCCcaacucggucCAGAGccUCauuAAACAgacCACCA
+UCUuu
+> ZEA.M._G  
+NCCgAGCUCuguagcgaGAGCUuguaaCCCGagCGGGGGCauuaAGGUGG
+UGcggaUuCUUugcGAuggcuUUCUGggcccgGGCUCGcuaugUgccuuu
+ggcCGGCCUGcCcgUCCCAagUUGGuAGuggCUGgcGGAGgcuuuAGCgg
+aaGCUuugguCUCUcCAGaCcugaaGuGGCAGgaauggCGugaggCUGgc
+uucaCAGagcagCGaucaCUGCCcgCUuCCAAcggUGGGAgGauaaCGGG
+CCGcugcAcuuCGAGCCcaacucaggccCAGAGccUCacuAAGcAgacCA
+CCAUCUuu
+> ZEA.M._H  
+NCCgAGCuCuguagcgaGuGCUuguaaCCCGagCGGGGGCaauaagguag
+uguggaugucaauuguggugcaugugccugGGUCUAgugCuacaaacugU
+GGacCAcCcaUUCCAagUUGcGuaGuggGUUucGGAUgccuuGGCgaaaG
+CUuugcAUCCcAACaCUaaAGuGGCGGacauugCGugaggCUGgcuucaU
+AGagcagCGaguaCCGCCcgCcaCCAGcggUGGAAgGauaaUGagUCGcu
+auGcuaUAGGCCcaau
+> TRI.A._A  
+NCCgAGCUCaguugcgaGAGCUuguaaCCCGagUGGGGGCauuaaaguGa
+UGugaacGCUGuugUAgcgCUGCGggccugGUCUGGgugUgcuacugcUG
+GCCCGcCcgUUCCAagUUGcGuAGuggACCgccUGGGgcuuauGCgaaaG
+CuggguCUCAcGGUcCAuaaUGuGGCAGgcacagCGugaggCUGgcuuca
+CAGagcagCGacaaCUGCCcgCUuCCAAcggUGGAAgGauaaUGGGCCGc
+ugcAcucCUAGGCcaauugggccuCGCAGccUAcucCAGCagacCAcC
+> TRI.A._B  
+NCCgAGCUaguugcgggAGCUugucaCCCAugUGGGGGCauugAGGcGGU
+GuggaUGCUuggUGcgguuUGuuggccugGGCUUGugaugUaaccuugcU
+GGCCUGcCcgUUCCAagUUGGuAGugggCUgGGuGgcuggGGCgaaaGCU
+ucgccUuCUcAGgcCUuaAGuGGCAGgcaccaCGuuaggCUGguuucaCA
+GagcagCGacaaCUGCCgCUuCCAAcggUGGAAgGauaaCAGGCCGcugc
+AgcaUGGGCCcgcucugggccuccUAcccCGccauAGCAgacCACCaUCU
+uu
+> TRI.A._C  
+ggUGGUCUGcCcgUUCCAagUUGaGuAGuggACCgcuUGGGgccuauGCg
+aaaGUugggcCUCAcGGUcCAuaaUGuGGCAGgcaccgCGugaggCUGgc
+uucaCAGagcagCGacaaCUGCCcgCUuCCAAcggUGGAAgGauaaCGGG
+CCGcugcacuccuaggccgcuugggccucguagccuacuccagcgaccac
+cauc
+> ARA.THA.  
+GUCgAGCUAaguaacaaUAGCUuguaaCCCAugUGGGGACauuaAGAUGG
+UGggaCAcUGgUUcgguUccUCggaucgGUUCUGaugugGgcauguuucU
+GAGCUGcCcaGUCCAagCUGUgAGuaAUUaguGUugaguugAGCgaagGC
+UuggcucauGCaGGUucUagaGucGGAGGguaaugCGugaggCUGgcuuc
+aCAGagcagCGacuaCUUCCcgCUuACAGcagUGGACgGaucaCGGUUUA
+gcguCgcuCAGAACcacuauggccuGcuGGuccGAucucaUAUGaacCAC
+CAUUUu
+> HUM.JAP.  
+GGCCUaGcaacgUGGGCCuguaaCCCAagUGGGggcauguGGGAGAUGgg
+acuuuggGUcagcccauuggaucgGGUCCAguguuAgcugcuugcUGGUC
+UGcCcaUUCCAagCCGAgAGuugGGCuguGUGaucugGGCgaagGCUggg
+gucgCACaGCUcCUaaAGaGGAGGgcaaugCGugaggCUGguuucaCAGa
+gcagCGaccaCCUCCcgCUcUCGGcagUGGAAgGauaaCGGGUCGgugcU
+acuUGGGCCaccauggucacugcaugcACucuuaaucagacCAUCUCUUu
+u
+> HUM.L._A  
+GCCGGUCUuaGcaacgUGGGCCuguaaCCCAagUGGGGGCauguGGGAAA
+UGggacuuuggGUcaacCUAGuggaucgGGUCCAguguuAgcugcuuacU
+GGUCUGcCcaUUCCAagCCGGgAGuugggcugaGUGaccugGgCgaagGg
+CuggguugCGCacgucCUagAGuGGAGGgcaaugCGugaggCUGgcuuca
+CAGagcagCGacuaCCUCCcgCUcUCGGcagUGGAAgGauaaCGGGCCGg
+ugcUaccUGGGUCcaccaugcuucaCUAGgcugACucuuaauaggacCAU
+UUCUUuu
+> HUM.L._B  
+GGCCUuaGcaacgUGGGCCuguaaCCCAagUGGGggcauguGGGAAAUGg
+aacauuggGUcagcCCAGuggaucgGGuCCAguguuAgcugcuuacUGGU
+CUGcCcaUUCCAagCCGGgAGuugGGCugaGUGaccugGGCgaagGCCug
+gguugCGCaGCUcCUagAGuGGAGGgcaaugCGugaggCUGguuucaCAG
+agcagCGacuaCCUCCcgCUcCCGGcagUGGAAgGauaaCGGGCCGgugc
+UacuUGGuCCaccauguucaCUGGuccugACucuuaaucggacCAUUUCC
+Uuu
+> HUM.L._C  
+GGuCUuaGcaacuUGGuCCuguaaCCCAagUGGGggcauguGGGAAAUGg
+aacuuuggGUcaacCCAGugguncgGGncCAgugcuagcugcuuacCcGg
+CUGcCcaUUCCAagCCGGgAGgugGGcugaGgGaccugGGCgaagGCUnn
+nggngCgCaCUccUagAcuGGAGGgcaaugCGugaggCUGgcuucaCAGa
+gcagCGacuaCCUCCcgCUcUCGGcagUGGAAgGauaaCGGgCcGgugcg
+ccuUGagCCaacacuguucaaCUGGgcugACucuuaauaggacCAUUUCU
+Uuu
+> LYC.ESC.  
+GgCgAGCUUaGuaacgUGGGCUuguaaUCCAagUGGAGaCaucaAaGUGG
+UUgaaUAUUGgGCuuuaCCAgaagguugGGCUUGgugGgcuuaguucUGG
+CCUGcCcugUCCAagCACAgAGuugGAUCucGAGGCCCAaAUgaaaAUaU
+GGGCUUCuuGAuUCCUaaAGuGGGGCggaccgCAugaggCUGgcuucaCA
+GagcagUGaacGCUCCcgCUcUGUGcagUGGAagGauaaUGGGUCGgugu
+CuuauCAAGUUcaguaacgccuaaUGGguuGCucCAAUAaacAACCACcU
+uu
+> CIN.HYB.  
+ACCgGGCUugGuaacgCuAGUCuauaaCUCAagUGAGGGUaucaAAGUGG
+GUugaaCUuUgaGCuuggcUUAGcuaguugGGUCUGuagaCaccgcaccU
+GGCUUGcCcgUUCCAagUCGAgAGuggGUUCAUGUUuCCUGAGCgaagGC
+UCGGGuGAUGUGAGCuuUagaAucGGGGGgcaaugCGuuaggCUGguuuc
+aCAGagcugCGaaaaCCUCUacCUcUCGAcugUGGAAgGauuaCAAGCCG
+gaguGucuUAGGCUcauauaaccagcCUGGcuaGCccaAcAGgacACCCA
+UUU
+> PER.AME.  
+GaUCcGuaacgCGAgCuuauaaCUCGagCGGGggcuauaaagguggugug
+gaacgagcugacucgaccugccggguugggccagggacugcggugcuggc
+ucgcccguuccaagucggguagugGGCCAuGuGGCUUGGGCgaagGCCUG
+GGUUuCuUGGCC
+> COL.BLU.  
+CCgaaCCucAuuaccUuGGccuguuacCCCAaguUGGGGGucuuuaaggu
+uauuugaukuukggccuaugcuacckgcckggcucugguccugcuuauuc
+uggcccgcccguuccaagccgggaguugGCCcauGuGGUUUAUGCgaagG
+UAUAGGCUuCgguGGUucc
+> CRY.MOR.  
+aaagugguuggacuuugucuuggancagnugguuggguncgcccgcgcag
+cacccggcccgnncauuncaagccgagaggccggnnang
+> GYN.AUR.  
+ACCgGGCuugGcaacgCuuGCCuauaaCUCAagUGAGGGUaagaaaaagg
+guuggaauugaaaggg
+> BEN.HIS.  
+GCCgAGCUCaGcagugUGAGCUugcaaYUCGaaCGGGGGCaucaaggugg
+uuggagguuggacagnacacagagcagggcauuucgagacaca
+> YAR.L._A  
+CUUagcuguaaUGGCauuuuGUCGGAGugguaAAUCGUcuucUUGUuguG
+cgUUCgagucuUGggcucugCAcuugGCCAUUUGGUUGuCcuUuCCGaaU
+UCUGCgguugaUGGGcgUCUCgGuCUGAguaaUCGGcUuuGAGAuuUCCG
+uUCuaaGAuUAACUgggaaaCUucaguGGAgcaaUCCagcagAGauccAG
+UUGccGUGGGuAuggCGGuGgGaucgCAACCAAGUGGUauaUGuUAugGA
+AgaUauuuACGAucACGAUU
+> YAR.L._B  
+agcuguaaUGGCauuuuGUCGgagugguaAaUCGccuucUUGUuguGCgU
+UCgaguucUGgacucugCAcuggGCUACUUUGUUGuCcuUuCCGaaUUCU
+GCgguugaUGGGcgUCUCgGuCUGAguaaUCGGcUuuGAGAuuUCCGuUC
+uaaGAuUAACUgggauaCUucaguGGAgcaaUCCagcagAGauccAGUUG
+ccGUGGGuAuggCGGuGgGauagCAACAAAGUGGUauaUGuUAugGAAgG
+UauuuGCAAucaCGAcUcuc
+> SCH.POM.  
+cGCuguaaugGCuUGGUCgaaGUGUUUAgUACUcCCAauagUGCAUguuC
+gGUGgucucggguucgAGUCUCGcUuUCGauccCUCGAucuGCCAcgUcU
+guuCGAAGAguagUCUUCGugGcAacUGGCaGUuaaACcguGUAguaccG
+AUggaggUUGgaaaCAAugcacAUCacUACcgggucUUGGGcagugCGAu
+AgcgaUGGGAUUcaccuuCGCaGgauGUGCAUGGaAGUAUAAACACaacG
+GUCGuu
+> TET.THE.  
+GCCagGGUAgcaaUACCugugucuauauguGGCauaaacAAUguaGGUUg
+UGAUAGaUAgGAUaugaGAguuugaugaGACAGUUugcuaaGAGUGUGcC
+cgCUCCAaaCAAUGAGuUGCUauGGUGguaaCCUAguaaUAGGacucCAC
+CagGGCAUUaaaGAgcUAAGgaaacgCCucaggCUGgcaaCAGaacagGG
+aaaaCUUGccgCUUGUUGuggUGGAAgGauaaCAUACUCauuAACUGUCa
+aacuaaUCgGUUcUACUAUCAaAGCCagacAUU
+> TET.ROS.  
+GCCagGGUAgcaaUGCCugugaccucguguGGCauaaacAaUguaGGUUa
+GAAUAGuCAgAGUaugaGAguuugaugaGACAGUUugcuaaGAGUGUGcC
+cgUUCCAaaCAGUGAGuUGCUauGGUGgaaaCCUAguaaUAGGacuuCAC
+CagGGCAUUaaaGAgcUGAGgaaccgCCucaggCUGgcaaCAGaacagGG
+aaaaCUUGccgCUUAUUGuggUGGAAgGauaaCAUACUCauuAACUGUCa
+agcuaaUCgGUUcUGCUAUUCuGAUCagacAcU
+> TRY.BRU.  
+AGCcgGAGCGcauUGCUCuguaaCCUucgGGGGCUgaucCCGCUuaGCGG
+gGACGuCUuGGacaaGCGggggUUCUGuUGCguugaCUUGGUGuUcugCu
+ugguuGCGUGucGGUGuuGAGGucGCCaCUguagAGaGGCguUCUCgCGC
+CgUUaaAGUgGGGggaacGGGucaggCCGgugaCGGagcagCCCacCUUG
+cgCACGUucccguucGagAagcaCACCGAGgaGCAucuCAGGAcuuugCG
+CcCCaAGUGUCgUCGCgaGGCGG
+> XEN.LAE.  
+GCCgGGCGCuGuggcgUGUGCCuguaaUCCAgcuacuUGGAGGCuuGGGC
+UGUcggaUCGCUugaGUcCAGGaguuCUGggcugCACUGaGCUAUgucga
+uCGGGUGuCcgCACUAaguUCGGUAuCAAUauGGUGuuCCuGGGggagCC
+UcGGauCACCagGUUGcUCuaaGGaGGGGUgaaccGGCccaggUCGgaaa
+CGGagcagGUCaaaACCCCcgUGCCGAucagUAGUGgGaucgCGCCUGug
+aAUAGCCGGUGcagaaCAGCCUGaACaacacAGCGAgacACAGUUCu
+> DRO.MEL.  
+GACugGAAGgUuggcaGCUUCuguaaCUCAcgcuucugUGAGGUCuGAUU
+GUGggaUGGCCugaGGcUGGGaucuaCUGcguagcggacCAGcUCAUguu
+gaCGGaACGuCcgCACUAagCUUGCCAuCAAUauGGGUgcCAUGGAggag
+UCCGUGgcAUUCagGUUGgCUaaGGaGGGAUgaaccgGGccaggGGUgaa
+aACCagcagCCaagaGUUCCcgUGGUAGGcagUAGUGgGauagCGUaCCG
+gaGUGGaCUGccguuauCAGCCCAaCCgauauGGUUGgacCACAAUCuuu
+> RAT.RAT.  
+GCCgGGCGcgGuggcgCaCGCCuguagUCCCagcuacucGGGAGGCuGAG
+GacaGaggaUCGCUugaGUcCAGGaguuCUGggcugUAGUGcGCUAUgcc
+gauCGGGUGuCcgCACUAaguUCGGCAuCAAUauGGUGacCUCCCGggag
+CGGGGGacCACCagGUUGCCuaaGGaGGGGUgaaccGGCccaggUCGgaa
+aCGGagcagGUCaaaACUCCcgUGCUGAucagUAGUGgGaucgCGCCUGu
+gaAUAGCCACUGcacucCAGCCUGgGCaacauAGCGAgacCccgUCUCuu
+> MUS.M.B1  
+gaGCCgGGUGUgGuggcgCACACCuuuaaUCCCagcacucGGGAGGCaGA
+GGCAGGcggaUUUCUgaGUucgaggccagccuggucuacaaagugagcuc
+caggacagccaggGCuacacAGAGAaacCCUGUCUC
+> MUS.MUS.  
+GCCuguagUUCCagcuacucGGGAGGCugagacaggaggaucgcuugagu
+ccaagaguucugggcuguagugcgcuaugccgaucggguguccgcacuaa
+guucggcaaCAAUauGGUGacCUCCCGggagCGGGGGacCACCaaGUUGc
+> CAN.SPE.  
+GCCgGGCGCgGuggcgCGCGCCuguagUCCCagcuacucGGGAGGCuGAG
+GCaGGaggaUCGCUugaGCcCAGGaguuCUGggcugCAGUGcGCUAUgcc
+gauCGGGUGuCcgCACUAaguUCGGCAuCAAUauGGUGacCUCCCGggag
+CGGGGGacCACCagGUUGCCuaaGGaGGGGUgaaccGGCccaggUCGgaa
+aCGGagcagGUCaaaACUCCcgUGCUGAucagUAGUGgGaucgCGCCUGu
+gaAUAGCCACUGcacucCAGCCUGuGCaacauAGCGAgacCCcGUCUCu
+> HOM.S._A  
+GCCgGGCGCgGuggcgCGUGCCuguagUCCCagcuacucGGGAGGCuGAG
+GCuGGaggaUCGCUugaGUcCAGGaguuCUGggcugUAGUGcGCUAUgcc
+gauCGGGUGuCcgCACUAaguUCGGCAuCAAUauGGUGacCUCCCGggag
+CGGGGGacCACCagGUUGCCuaaGGaGGGGUgaaccGGCccaggUCGgaa
+aCGGagcagGUCaaaACUCCcgUGCUGAucagUAGUGgGaucgCGCCUGu
+gaAUAGCCACUGcacucCAGCCUGuGCaacauAGCGAgacCCcGUCUCuu
+> HOM.S._B  
+GCCgGGCGCgGuggcgCGUGCCuguagUCCCagcuacucGGGAGGCuGAG
+GUGGGaggaUCGCUugaGCcCAGGaguuCUGggcugUAGUGcGCUAUgcc
+gaugGGGUGuCcgCACUAaguUCGGCAuCAAUauGGUGacCUCCCGggag
+CGGGGGacCACCagGUUGCCuaaGGaGGGGUgaaccGGCccaggUCGgaa
+aCGGagcagGUCaaaACUCCcgUGCUGAucagUAGUGgGaucgCGCCUgu
+gaAUAGCCACUGcacucCAGCCUGaGCaacauAGCGAgacCCCGUCUCu
diff --git a/Cove/Demos/K11H3frag.fa b/Cove/Demos/K11H3frag.fa
new file mode 100644
index 0000000..7e62aaa
--- /dev/null
+++ b/Cove/Demos/K11H3frag.fa
@@ -0,0 +1,11 @@
+>K11H3/930125 : fragment from 29971 to 29472 of original 33000 length, 500 bases, 9599 checksum.
+GTGCAGTCATGTCCGAGTGGTTAAGGAGATTGACTAGAAATCAATTGGGC
+TTTGCCCGCGTAGGTTCGAATCCTGCTGACTGCGAACGTTTTTGTTCTTT
+TTCTATTTTCTATCGATTATTTGTTCAAGATATAATCGAATTTTTTTGAT
+ATATAGGCTGTATTATCTTAGGTTCAAAAATGCAAGGCACAATTTTTCTT
+TTAATGGTTTTTTAAGTTAGAAAAAGTATTTCGGATTTTGTTTTCTATTT
+CTCTTCTACCCATACAGTACTTTGAACTAGATGTAGATTATCGTCAATCA
+CTGAGTCTCTAATATACTTCCATTACTGACAATTCTCTATTTTACTTTCC
+ATCTTGCAAGCAGGCACATGACCCCGCGTCCGCTTTCTCTATTCCTCTTT
+CGTCGAGTATTCGGCACGCAGTCATGTCCGAGTGGTTAAGGAGTTTGACT
+CGAAATCAAATGGGCTCTGCCCGCGTAGGTTCGAATCCTGCTGACTGCGA
diff --git a/Cove/Demos/TRNA2.cm b/Cove/Demos/TRNA2.cm
new file mode 100644
index 0000000..d2e9548
--- /dev/null
+++ b/Cove/Demos/TRNA2.cm
@@ -0,0 +1,1154 @@
+### cove V2
+72 	nodes
+### node 0 type 6
+1  -1
+0.00846 0.00000 0.00000 0.80479 0.02326 0.16350 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.00000 0.50000 0.02778 0.44444 
+0.00137 0.00000 0.00000 0.33789 0.00000 0.66074 
+0.05556 0.02778 0.86111 0.05556 # INSL
+0.33060 0.66530 0.00137 0.00273 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 3
+2  -1
+0.06250 0.56250 0.06250 0.25000 0.00000 0.06250 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.99503 0.00071 0.00213 0.00000 0.00142 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.33333 0.16667 0.16667 0.00000 0.16667 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.20000 0.40000 0.20000 0.20000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.56676 0.06605 0.22443 0.14276 # MATR
+### node 2 type 1
+3  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00071 0.99647 0.00071 0.00071 0.00071 0.00071 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.09091 0.54545 0.09091 0.09091 0.09091 0.09091 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00281 0.00561 0.00351 0.14727 # MATP
+0.00771 0.00281 0.07433 0.00210 # MATP
+0.00070 0.57153 0.00070 0.08555 # MATP
+0.08555 0.00070 0.00210 0.00701 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.11111 0.33333 0.11111 0.44444 # MATR
+### node 3 type 1
+4  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00070 0.00070 0.00070 0.12159 # MATP
+0.00349 0.00140 0.32565 0.00280 # MATP
+0.00140 0.37596 0.00210 0.03774 # MATP
+0.11461 0.00070 0.00839 0.00210 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 4 type 1
+5  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00349 0.00210 0.00140 0.16771 # MATP
+0.00280 0.00140 0.27533 0.00210 # MATP
+0.00070 0.29979 0.00210 0.05451 # MATP
+0.16841 0.00140 0.01328 0.00349 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 5 type 1
+6  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99507 0.00070 0.00141 0.00141 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.20000 0.20000 0.20000 0.40000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00839 0.00280 0.00140 0.18728 # MATP
+0.00559 0.00489 0.20685 0.00210 # MATP
+0.00210 0.29769 0.00140 0.05031 # MATP
+0.17750 0.00070 0.04892 0.00210 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 6 type 1
+7  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00280 0.00629 0.00420 0.27832 # MATP
+0.00490 0.00490 0.23007 0.00280 # MATP
+0.00210 0.20280 0.00210 0.04895 # MATP
+0.16014 0.00140 0.04266 0.00559 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.20000 0.40000 0.20000 0.20000 # MATR
+### node 7 type 1
+8  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99507 0.00141 0.00070 0.00141 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.20000 0.20000 0.40000 0.20000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00140 0.00140 0.00210 0.19497 # MATP
+0.00419 0.00140 0.19846 0.00349 # MATP
+0.00070 0.19427 0.00070 0.02935 # MATP
+0.28302 0.00210 0.05870 0.02376 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 8 type 1
+9  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00212 0.00000 0.99365 0.00000 0.00071 0.00353 
+0.20000 0.00000 0.40000 0.00000 0.20000 0.20000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.14286 0.00000 0.71429 0.00000 0.00000 0.14286 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.12500 0.37500 0.12500 0.37500 # INSR
+0.00070 0.00280 0.00070 0.36014 # MATP
+0.00070 0.00070 0.02867 0.00070 # MATP
+0.00140 0.35245 0.00070 0.03916 # MATP
+0.20699 0.00070 0.00140 0.00210 # MATP
+0.20000 0.20000 0.20000 0.40000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 9 type 2
+10  -1
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00636 0.00000 0.98799 0.00000 0.00565 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09091 0.09091 0.63636 0.18182 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04799 0.00423 0.01764 0.93013 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 10 type 2
+11  -1
+0.90000 0.00000 0.00000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99290 0.00000 0.00000 0.00000 0.00710 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.90909 0.00000 0.00000 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.38462 0.30769 0.15385 0.15385 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.64352 0.03402 0.30191 0.02055 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 11 type 0
+12  25
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 12 type 4
+13  -1
+0.00070 0.99789 0.00070 0.00070 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 13 type 1
+14  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00140 0.00140 0.00419 0.06988 # MATP
+0.00140 0.00140 0.03494 0.00140 # MATP
+0.00210 0.72746 0.00210 0.12229 # MATP
+0.02446 0.00070 0.00280 0.00210 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 14 type 1
+15  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00070 0.00140 0.00140 0.02935 # MATP
+0.00140 0.00070 0.59399 0.00070 # MATP
+0.00070 0.05311 0.00140 0.00210 # MATP
+0.29140 0.00349 0.01677 0.00140 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 15 type 1
+16  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00419 0.00419 0.00070 0.09154 # MATP
+0.00769 0.00140 0.19147 0.00070 # MATP
+0.00210 0.16422 0.00070 0.00349 # MATP
+0.50943 0.00140 0.01607 0.00070 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 16 type 1
+17  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00352 0.00000 0.99507 0.00000 0.00070 0.00070 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.09574 0.00349 0.00769 0.03634 # MATP
+0.01048 0.00349 0.34172 0.00210 # MATP
+0.12788 0.00978 0.00489 0.02096 # MATP
+0.18169 0.00419 0.10273 0.04682 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 17 type 2
+18  -1
+0.71429 0.00000 0.14286 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00707 0.00000 0.99222 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.94770 0.00495 0.01979 0.02756 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 18 type 2
+19  -1
+0.87500 0.00000 0.06250 0.00000 0.06250 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11886 0.00000 0.88043 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.35562 0.01991 0.56899 0.05548 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 19 type 2
+20  -1
+0.98901 0.00000 0.00549 0.00000 0.00549 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.55609 0.00000 0.44310 0.00000 0.00081 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10887 0.21290 0.03871 0.63952 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 20 type 2
+21  -1
+0.06552 0.00000 0.93333 0.00000 0.00115 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00544 0.00000 0.75318 0.00000 0.24138 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00725 0.00000 0.96377 0.00000 0.02899 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09353 0.25180 0.02158 0.63309 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07790 0.23551 0.01630 0.67029 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.96721 0.00000 0.01639 0.00000 0.01639 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00074 0.00000 0.99853 0.00000 0.00074 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09111 0.03086 0.83248 0.04555 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+23  -1
+0.96721 0.00000 0.01639 0.00000 0.01639 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.13750 0.00000 0.86176 0.00000 0.00074 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05217 0.03527 0.83174 0.08082 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 2
+24  -1
+0.01215 0.00000 0.96761 0.00000 0.02024 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00341 0.00000 0.50681 0.00000 0.48978 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00789 0.00000 0.75526 0.00000 0.23684 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16689 0.16032 0.06965 0.60315 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09702 0.10298 0.04426 0.75574 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 2
+-1  -1
+0.91667 0.00000 0.00000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99929 0.00000 0.00000 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.87722 0.01490 0.06388 0.04400 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 5
+26  -1
+0.00212 0.00000 0.99718 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 2
+27  -1
+0.75000 0.00000 0.00000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99505 0.00000 0.00000 0.00000 0.00495 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.87500 0.00000 0.00000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.20000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.45730 0.03529 0.41637 0.09104 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 0
+28  41
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 28 type 4
+29  -1
+0.00070 0.99648 0.00211 0.00070 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 29 type 1
+30  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99436 0.00070 0.00070 0.00141 0.00211 
+0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.14286 0.42857 0.14286 0.14286 0.00000 0.14286 
+0.20000 0.20000 0.20000 0.40000 # INSL
+0.16667 0.50000 0.16667 0.16667 # INSR
+0.01190 0.00420 0.00210 0.14206 # MATP
+0.01470 0.00910 0.30861 0.01260 # MATP
+0.00560 0.06018 0.00070 0.06578 # MATP
+0.29531 0.00700 0.04759 0.01260 # MATP
+0.16667 0.33333 0.33333 0.16667 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 30 type 1
+31  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00070 0.00070 0.00070 0.16073 # MATP
+0.00070 0.00140 0.34871 0.00419 # MATP
+0.00070 0.08456 0.00070 0.02166 # MATP
+0.32984 0.00070 0.03215 0.01188 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 31 type 1
+32  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99578 0.00070 0.00141 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00210 0.00839 0.00070 0.23690 # MATP
+0.00280 0.00140 0.13697 0.00070 # MATP
+0.00070 0.35989 0.00140 0.00769 # MATP
+0.23201 0.00140 0.00349 0.00349 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 32 type 1
+33  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00140 0.00280 0.00070 0.09161 # MATP
+0.00140 0.00070 0.20909 0.00140 # MATP
+0.00070 0.59720 0.00070 0.05734 # MATP
+0.01608 0.00140 0.01049 0.00699 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.20000 0.20000 0.20000 0.40000 # MATR
+### node 33 type 1
+34  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00070 0.00000 0.99789 0.00000 0.00070 0.00070 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00210 0.00419 0.00210 0.34591 # MATP
+0.00140 0.00070 0.24948 0.00140 # MATP
+0.00140 0.19846 0.00280 0.01188 # MATP
+0.11950 0.00489 0.04333 0.01048 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 34 type 2
+35  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99718 0.00000 0.00212 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.50000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02114 0.60395 0.00634 0.36857 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 35 type 2
+36  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00070 0.02607 0.00070 0.97252 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 36 type 2
+37  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05144 0.18323 0.33756 0.42777 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 37 type 2
+38  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.30444 0.19662 0.20789 0.29105 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.25793 0.24172 0.20648 0.29387 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+40  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.97179 0.00000 0.02750 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.05485 0.00000 0.94374 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.31180 0.18680 0.21910 0.28230 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.78365 0.00141 0.21071 0.00423 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99929 0.00000 0.00000 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.67935 0.17970 0.02467 0.11628 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 5
+42  -1
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 42 type 2
+43  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.14104 0.00000 0.85825 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.48273 0.13531 0.12333 0.25863 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 43 type 2
+44  -1
+0.99502 0.00000 0.00000 0.00000 0.00498 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99754 0.00000 0.00000 0.00000 0.00246 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.75000 0.00000 0.00000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.50000 0.16667 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.28033 0.02787 0.52295 0.16885 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 44 type 0
+45  57
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 45 type 4
+46  -1
+0.84144 0.15081 0.00705 0.00070 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 46 type 1
+47  -1
+0.99583 0.00083 0.00083 0.00083 0.00083 0.00083 
+0.00457 0.97717 0.00457 0.00457 0.00457 0.00457 
+0.60000 0.06667 0.13333 0.06667 0.06667 0.06667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00437 0.00873 0.01310 0.13974 # MATP
+0.00437 0.00437 0.10044 0.00437 # MATP
+0.00437 0.54148 0.02620 0.05240 # MATP
+0.07424 0.00873 0.00873 0.00437 # MATP
+0.07692 0.15385 0.23077 0.53846 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 47 type 1
+48  -1
+0.99586 0.00083 0.00083 0.00083 0.00083 0.00083 
+0.03653 0.94521 0.00457 0.00457 0.00457 0.00457 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00437 0.00873 0.00437 0.13100 # MATP
+0.01747 0.00437 0.23581 0.00437 # MATP
+0.00437 0.24454 0.00873 0.02183 # MATP
+0.27948 0.00437 0.01310 0.01310 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 48 type 1
+49  -1
+0.99588 0.00082 0.00082 0.00082 0.00082 0.00082 
+0.30660 0.65566 0.00472 0.00472 0.01415 0.01415 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 
+0.14286 0.42857 0.14286 0.14286 0.00000 0.14286 
+0.16667 0.33333 0.16667 0.33333 # INSL
+0.16667 0.16667 0.16667 0.50000 # INSR
+0.00901 0.00450 0.00450 0.22072 # MATP
+0.02252 0.01351 0.31982 0.00901 # MATP
+0.00450 0.14414 0.00901 0.02252 # MATP
+0.15766 0.00450 0.04505 0.00901 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 49 type 1
+50  -1
+0.99609 0.00078 0.00078 0.00078 0.00078 0.00078 
+0.45946 0.51351 0.00676 0.00676 0.00676 0.00676 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01266 0.00633 0.00633 0.07595 # MATP
+0.01899 0.00633 0.34177 0.00633 # MATP
+0.00633 0.17089 0.00633 0.05063 # MATP
+0.18987 0.01899 0.06962 0.01266 # MATP
+0.20000 0.20000 0.20000 0.40000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 50 type 1
+51  -1
+0.99628 0.00074 0.00074 0.00074 0.00074 0.00074 
+0.32099 0.62963 0.01235 0.01235 0.01235 0.01235 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01099 0.01099 0.01099 0.20879 # MATP
+0.03297 0.01099 0.06593 0.01099 # MATP
+0.01099 0.16484 0.01099 0.10989 # MATP
+0.23077 0.02198 0.07692 0.01099 # MATP
+0.40000 0.20000 0.20000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 51 type 1
+52  -1
+0.99635 0.00073 0.00073 0.00073 0.00073 0.00073 
+0.59649 0.33333 0.01754 0.01754 0.01754 0.01754 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01493 0.01493 0.01493 0.23881 # MATP
+0.01493 0.01493 0.16418 0.01493 # MATP
+0.02985 0.11940 0.07463 0.01493 # MATP
+0.10448 0.01493 0.10448 0.04478 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 52 type 1
+53  -1
+0.85796 0.00000 0.12134 0.00000 0.00071 0.01999 
+0.04545 0.00000 0.45455 0.00000 0.04545 0.45455 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.02564 0.00000 0.94872 0.00000 0.00000 0.02564 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.52500 0.07500 0.12500 0.27500 # INSR
+0.02941 0.02941 0.02941 0.02941 # MATP
+0.02941 0.02941 0.20588 0.02941 # MATP
+0.05882 0.02941 0.02941 0.05882 # MATP
+0.20588 0.02941 0.11765 0.05882 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 53 type 2
+54  -1
+0.99834 0.00000 0.00083 0.00000 0.00083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00922 0.00000 0.98618 0.00000 0.00461 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.21101 0.09174 0.24312 0.45413 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 54 type 2
+55  -1
+0.99834 0.00000 0.00083 0.00000 0.00083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06019 0.00000 0.93519 0.00000 0.00463 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.27650 0.16590 0.05530 0.50230 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 55 type 2
+56  -1
+0.99836 0.00000 0.00082 0.00000 0.00082 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.37745 0.00000 0.60294 0.00000 0.01961 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.50000 0.00000 0.37500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.44444 0.11111 0.11111 0.33333 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.45854 0.09756 0.04878 0.39512 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 56 type 2
+-1  -1
+0.99923 0.00000 0.00000 0.00000 0.00077 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99213 0.00000 0.00000 0.00000 0.00787 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.36434 0.11628 0.27132 0.24806 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 57 type 5
+58  -1
+0.04866 0.00000 0.95063 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 58 type 2
+59  -1
+0.01408 0.00000 0.95775 0.00000 0.02817 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00148 0.00000 0.45259 0.00000 0.54593 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00133 0.00000 0.98400 0.00000 0.01467 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06525 0.07989 0.05060 0.80426 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.31384 0.02147 0.53442 0.13027 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 59 type 2
+60  -1
+0.16667 0.33333 0.16667 0.16667 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00070 0.99718 0.00070 0.00070 0.00070 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05642 0.57546 0.02186 0.34626 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 60 type 1
+61  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99296 0.00070 0.00070 0.00070 0.00422 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.10000 0.60000 0.10000 0.10000 0.00000 0.10000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.11111 0.66667 0.11111 0.11111 # INSR
+0.00699 0.00280 0.00210 0.27044 # MATP
+0.00280 0.00070 0.15164 0.00140 # MATP
+0.00070 0.36758 0.00140 0.12159 # MATP
+0.04682 0.00559 0.01398 0.00349 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 61 type 1
+62  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00070 0.00280 0.00070 0.17191 # MATP
+0.00210 0.00210 0.32075 0.00140 # MATP
+0.00070 0.14885 0.00070 0.05311 # MATP
+0.24319 0.00349 0.03354 0.01398 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 62 type 1
+63  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00493 0.98733 0.00070 0.00070 0.00493 0.00141 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.08333 0.58333 0.08333 0.08333 0.08333 0.08333 
+0.16667 0.33333 0.16667 0.16667 0.00000 0.16667 
+0.40000 0.10000 0.10000 0.40000 # INSL
+0.20000 0.40000 0.20000 0.20000 # INSR
+0.00070 0.00839 0.00070 0.27813 # MATP
+0.00070 0.00070 0.14116 0.00140 # MATP
+0.00140 0.36618 0.00210 0.02516 # MATP
+0.14046 0.00070 0.02236 0.00978 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 63 type 1
+64  -1
+0.58333 0.08333 0.08333 0.08333 0.08333 0.08333 
+0.04382 0.95194 0.00141 0.00141 0.00071 0.00071 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00070 0.01053 0.00070 0.16561 # MATP
+0.00211 0.00140 0.01614 0.00211 # MATP
+0.00211 0.73684 0.00070 0.01193 # MATP
+0.04000 0.00140 0.00632 0.00140 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 64 type 1
+65  -1
+0.36620 0.00000 0.60563 0.00000 0.01408 0.01408 
+0.02519 0.00000 0.97333 0.00000 0.00074 0.00074 
+0.20000 0.00000 0.40000 0.00000 0.20000 0.20000 
+0.20000 0.00000 0.40000 0.00000 0.20000 0.20000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00073 0.00954 0.00073 0.04479 # MATP
+0.00954 0.00367 0.00367 0.00220 # MATP
+0.00073 0.89574 0.00147 0.00808 # MATP
+0.01101 0.00220 0.00367 0.00220 # MATP
+0.20000 0.40000 0.20000 0.20000 # MATL
+0.20000 0.40000 0.20000 0.20000 # MATR
+### node 65 type 2
+66  -1
+0.04918 0.00000 0.93443 0.00000 0.01639 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00147 0.00000 0.99706 0.00000 0.00147 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.20000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05878 0.03159 0.01323 0.89640 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 66 type 2
+67  -1
+0.16667 0.00000 0.66667 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.99788 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03955 0.02401 0.04802 0.88842 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 67 type 2
+68  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.99788 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10085 0.80889 0.01763 0.07264 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 68 type 2
+69  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00635 0.00000 0.98941 0.00000 0.00423 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.22222 0.44444 0.22222 0.11111 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.42666 0.02962 0.50000 0.04372 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 69 type 2
+70  -1
+0.81818 0.00000 0.09091 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03404 0.00000 0.96525 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.91850 0.02268 0.01701 0.04181 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 70 type 2
+71  -1
+0.93103 0.00000 0.05172 0.00000 0.01724 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06310 0.00000 0.92517 0.00000 0.01174 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05000 0.00000 0.80000 0.00000 0.15000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.42857 0.23810 0.14286 0.19048 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.46114 0.08284 0.21334 0.24267 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 71 type 2
+-1  -1
+0.99286 0.00000 0.00000 0.00000 0.00714 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99922 0.00000 0.00000 0.00000 0.00078 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05308 0.13973 0.01015 0.79703 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/Cove/Demos/fig5.fa b/Cove/Demos/fig5.fa
new file mode 100644
index 0000000..554d4d1
--- /dev/null
+++ b/Cove/Demos/fig5.fa
@@ -0,0 +1,10 @@
+> DF6280
+GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUCUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCACCA
+> DF6280G
+GCGGATTTAGCTCAGTTGGGAGAGCGCCAGACTGAAGAAATACTTCGGTCAAGTTATCTGGAGGTCCTGTGTTCGATCCACAGAATTCGCA
+> DD6280
+UCCGUGAUAGUUUAAUGGUCAGAAUGGGCGCUUGUCGCGUGCCAGAUCGGGGUUCAAUUCCCCGUCGCGGAGCCA
+> DX1661
+CGCGGGGUGGAGCAGCCUGGUAGCUCGUCGGGCUCAUAACCCGAAGGUCGUCGGUUCAAAUCCGGCCCCCGCAACCA
+> DS6280
+GGCAACUUGGCCGAGUGGUUAAGGCGAAAGAUUAGAAAUCUUUUGGGCUUUGCCCGCGCAGGUUCGAGUCCUGCAGUUGUCGCCA
diff --git a/Cove/Demos/fig5.slx b/Cove/Demos/fig5.slx
new file mode 100644
index 0000000..ebdc542
--- /dev/null
+++ b/Cove/Demos/fig5.slx
@@ -0,0 +1,5 @@
+DF6280    GCGGAUUUAGCUCAGUU GGG AGAGCGCCAGACUGAAG                  AUCUGGAG            GUCCUGUGUUCGAUCCACAGAAUUCGCACCA   
+DF6280G   GCGGAUUUAGCUCAGUU GGG AGAGCGCCAGACUGAAGAAAUACUUCGGUCAAGUUAUCUGGAG            GUCCUGUGUUCGAUCCACAGAAUUCGCA   
+DD6280    UCCGUGAUAGUUUAAU  GGUCAGAAUGGGCGCUUGUCG                  CGUGCCAG            A UCGGGGUUCAAUUCCCCGUCGCGGAGCCA   
+DX1661    CGCGGGGUGGAGCAGCCUGGU AGCUCGUCGGGCUCAUA                  ACCCGAAG            GUCGUCGGUUCAAAUCCGGCCCCCGCAACCA
+DS6280    GGCAACUUGGCCGAGU  GGUUAAGGCGAAAGAUUAGAA                  AUCUUUU  GGGCUUUGCCCG CGCAGGUUCGAGUCCUGCAGUUGUCGCCA   
diff --git a/Cove/Demos/sim100.fa b/Cove/Demos/sim100.fa
new file mode 100644
index 0000000..0a67b4c
--- /dev/null
+++ b/Cove/Demos/sim100.fa
@@ -0,0 +1,200 @@
+> DK0660
+GGGCCCGUAGCUUAGUCUGGUAGAGCGCCUGACUUUUAAUCAGGCGGUCGAGGGUUCGAAUCCCUUCGGGCCCG
+> DE2520
+GCCCCCAUCGUCUAGAGGCCUAGGACAUCUCCCUUUCACGGAGGCAACGGGGAUUCGAAUUCCCCUGGGGGUA
+> DT5320
+GUCUUGAUAGUAUAAACAUUACUCUGGUCUUGUAAACCUGAAAUGAAGAUCUUCUCUUCUCAAGACA
+> DR1181
+GCCCAUGUAGCUCAGUAGGAUAGAGCACGCGCCUUCUAAGCGUGAGGUCGGAAGUUCGAGCCUUCUCGUGGGCACCA
+> DC2720
+GGCGGCAUGGCCAAGUGGUAAGGCAGGGGACUGCAAAUCCUUUACCCCCAGUUCAAAUCUGGGUGCCGCCU
+> DL5720
+ACUUUUAAAGGAUAACAGCCAUCCGUUGGUCUUAGGCCCCAAAAAUUUUGGUGCAACUCCAAAUAAAAGUA
+> DC2680
+GGCGGCAUGGCCAAGCGGUAAGGCAGGGGACUGCAAAUCCUUUAUCCCCAGUUCAAAUCUGGGUGCCGCCU
+> DM3920
+ACCUGGGUAGUUUAAAGGUAAAACCUUAAUUUCAUACAUUAAAGAUGAGAAUUCGAUUUUCUCCCCAGGUN
+> DD4700
+UUAAAAGUAGUUAAUAUAUAACUUAGAAUUGUCAGUUCUAGAUUCCUUUUACUAAGGCUUUUUAU
+> DY6280
+CUCUCGGUAGCCAAGUUGGUUUAAGGCGCAAGACUGUAAAUCUUGAGAUCGGGCGUUCGACUCGCCCCCGGGAGA
+> DT5080
+GCCUUGAAAGCUCAACAACUAGAGCUUUGGUCUUGUAAACCAGGAGAGAGGGUAAACUCCCUCUCAAGGCU
+> DR4000
+GCUCUCUUAGCUUAAUGGUUAAAGCAUAAUACUUCUAAUAUUAAUAUUCCAUGUUCAAAUCAUGGAGAGAGUA
+> DL2601
+GGGGGUAUGGCGAAAUUGGUAGACGCUGCGGACUUAAAAUCCGUUGGCUUUAAAGACCGUGAGGGUUCAAGUCCCUCUACCCCCA
+> DV6161
+GGUCGGAUGGUGUAGUCGGUUAUCACGGUUGCUUUACACGCAACAGGUCUCGAGUUCGAUCCUCGGUCGGAUCA
+> DH4700
+AAAAAAGUAGUUUAAUUUAAGAACGAUAGGUUGUGGGGCUAUUAGCGGUGUUAACCCUUUUUUA
+> DK4030
+GAGAGUAUUGUUUAAUGGUAAAACAUUCUGUCUUUUAAGCAGUCUAUAGUGGUUCGAUUCCACUUAUUCUCA
+> DG2601
+GCGGGUAUAGUUUAGUGGUAAAACCUUAGCCUUCCAAGCUAACGAUGCGGGUUCGAUUCCCGCUACCCGCU
+> DE1140
+GGCCUGUUGGUGAAGCGGUUAACACACACGGUUUUCAUCCGUGGACACACGGGUUCGAACCCCGUACAGGCUACCA
+> DS3881
+GGGAAAGUUUCCAUGGGUAGGGUAAGAUAUUUGCUAAAUAUUGUGCGUUUGCACAUAGAUGUUCGAAUCAUCUCUUUCCCG
+> DY5000
+GAUUGGGUGGCAGAUAGGGAUGCACUAGAUUGUAAAUCUAGGUAGGAAGGUUCAAGUCCUUUCCUGGUCA
+> DI2580
+GGGUUAUUAGCUCAGUUGGUUAGAGCACACCCCUGAUAAGGGUGAGGUCCCUGGUUCAAAUCCAGGAUAACCCA
+> DX4880
+AAAAAGAUAAGCUAAUUAAGCUACUGGGUUCAUACCCCAUUUAUAAAGGUUAUAAUCCUUUUCUUUUUA
+> DD6280
+UCCGUGAUAGUUUAAUGGUCAGAAUGGGCGCUUGUCGCGUGCCAGAUCGGGGUUCAAUUCCCCGUCGCGGAG
+> DS2920
+GGAGAGAUGGCUGAGUGGACUAAAGCGGCGGAUUGCUAAUCCGUUGUACGAGUUAAUCGUACCGAGGGUUCGAAUCCCUCUCUUUCCG
+> DK7680
+GCCCGGCUAGCUCAGUCGGUAGAGCAUGAGACUCUUAAUCUCAGGGUCGUGGGUUCGAGCCCCACGUUGGGCG
+> DI5120
+GGAAAUGUGCCCGAAAGUAGGGAUCACUUUGAUAGAGUGAAAUAUAUGGGUUCAAACCCCAUCAUCUCCU
+> DI4080
+GAAACUAUAAUUCAAUUGGUUAGAAUAGUAUUUUGAUAAGGUACCAAUAUAGGUUCGAUUCCUGUUAGUUUCA
+> DV6280
+GGUUUCGUGGUCUAGUCGGUUAUGGCAUCUGCUUAACACGCAGAACGUCCCCAGUUCGAUCCUGGGCGAAAUCA
+> DA5040
+GUGGUUCUAGUUUAGUGAAAAACGUUUGCUUUGCAAGCAGAAAUCCUAAGUUAAAUUCUUAGGAACUACA
+> DY6742
+CCGACCUUAGCUCUGUUGGUAUAGCGGAGGACUGUAGAUCCUUAGGUCACUGGUUCGAAUUCGGUAGGUCGGA
+> DH2600
+GGCGGACGUAGCCAAGUGGAUUAAGGCAGUGGAUUGUGGAUCCUCUACGCGCGGGUUCAAUUCCCGUCGUUCGCC
+> DH5880
+GUAAAUAUAGUUUAACCAAAACAUCAGAUUGUGAAUCUGACAACAGAGGCUUACGACCCCUUAUUUACC
+> DT5220
+ACUCUAAUAGUUUAUGAAAAACAUUGGUCUUGUAAACCAAAAACUGAAGACUCCACCCUUCUUAGAGUA
+> DI2440
+GGGCUAUUAGCUCAGUUGGUUAGAGCGUUGCUUUGAUAAGGCAAAAGUCGAAAGUUCAAAUCUUUCAUAGCCCA
+> DS6241
+GGCGCGAUGGCAGAGUGGUCUAAUGCGUGAGACUUGAAAUCUCAUUUCUUCGGAAGCGUCGGUUCAAAUCCGGCUCGCGUCG
+> DM6160
+AGCUUCUUAACUCAGGGGUAGAGUGCGAGGCCCAUAACCUCGAGGUCCUAGGAUCGAAACCUAGAGAAGCUA
+> DT5360
+GUCUUUGUAGUACAUCUAAUAUACUGGUCUUGUAAACCAGAGAAGGAGAACAACUAACCUCCCUAAGACU
+> DA0380
+GGGCCCAUAGCUCAGUGGUAGAGUGCCUCCUUUGCAAGGAGGAUGCCCUGGGUUCGAAUCCCAGUGGGUCCA
+> DW4980
+AGAGAUUUAAGUUAAUAAAACUGAAAACCUUCAAAGUUUUAAAUAAGAGUGGAACUCUCUUAGUCUUUA
+> DR2700
+GCGUCCAUUGUCUAAUGGAUAGGACAGAGGUCUUCUAAACCUUUGGUAUAGGUUCAAAUCCUAUUGGACGCU
+> DH5840
+GUAAAUAUAGUUUAACCAAAACAUUAGAUUGUGAAUCUAAUAAUAGGGCCCCACAACCCCUUAUUUACC
+> DA4500
+GGGGACGUAGCUCAAUUGGUAGAGCGUAUGUUUUGCAAGCAUAAAGCUGUCGGUUCAAAUCCGAUCGUCUCCA
+> DQ9991
+GUCUCUGUGGCGCAAUCGGUUAGCGCGUUCGGCUGUUAACCGAAAGAUUGGUGGUUCGAGCCCACCCAGGGACG
+> DP1140
+CGGGAAGUGGCUCAGUUUGGUAGAGCAUUCGGUUUGGGACCGAAGGGUCGCAGGUUCAAAUCCUGUCUUCCCGACCA
+> DV0860
+GGGCCCGUCGUCUAGCCUGGUUAGGACGCUGCCCUGACGCGGCAGAAAUCCUGGGUUCAAGUCCCAGCGGGCCCA
+> DG1500
+GCGGAAGUAGUUCAGUGGUAGAACAUCACCUUGCCAUGGUGGGGGUCGCGGGUUCGAAUCCCGUCUUCCGCU
+> DG2681
+GCGGGUAUAGUUUAGUGGUAAAACCCUAGCCUUCCAAGCUAACGAUGCGGGUUCGAUUCCCGCUACCCGCU
+> DP1662
+CGGCACGUAGCGCAGCCUGGUAGCGCACCGUCAUGGGGUGUCGGGGGUCGGAGGUUCAAAUCCUCUCGUGCCGACCA
+> DF5920
+GUUAAUGUAGCUUUAAAAUUAAAGCAAGGCACUGAAAAUGCCUAGAUGAGUGCUCCAACUCCAUAAACA
+> DN5000
+UGGGUUGUAGCCUAAUGGAAAGGCAAUUGGCCGUUAACCAGGAGAUAACAAGAUCAAUACUUGUCAACUCAG
+> DG4501
+GCGGAUAUAGAUUAAAGGUAAAUUAUCUGCCUUCCAAGCAGAGGAUAUGGGUUCGAUUCCCGUUAUCCGCA
+> DC4840
+GGUCUUAUAGUCAAUAAUGAUAUCAAACUGCAAUUUUGAAGGAGUAAGUUUUACUAAGGCUU
+> DC5160
+GGCCUUGGGGUGUCAACACGUGGGGUUGCAAACCCCAAGAUGCAGUAUAAUACCUGCCGGGGCUU
+> DD1180
+GGCCCCAUAGCGAACGUUGGUUAUCGCGCCUCCCUGUCACGGAGGAGAUCACGGGUUCGAGUCCCGUUGGGGUCGCCA
+> DA2520
+GGGGGUAUAGCUCAGUUGGUAGAGCGCUGCCUUUGCAAGGCAGAUGUCAGCGGUUCGAGUCCGCUUAUCUCCA
+> DN6060
+GCUCGAUUAGCUCAGCUGGUUAGAGCAUGCGGCUGUUAACCGCAAGGUCGUAGGUUCGAUCCCUACAUCGAGCG
+> DF5970
+GUUCAUGUAGCUUAAAACCAAAGCAAGGCAUUGAAAAUGCCUAGAUGAGUAUAUUAACUCCAUAAACA
+> DD1140
+GGCCCCAUAGCGAAGUUGGUUAUCGCGCCUCCCUGUCACGGAGGAGAUCACGGGUUCGAGUCCCGUUGGGGUCGCCA
+> DF7740
+GCCGAAAUAGCUCAGUUGGGAGAGCGUUAGACUGAAGAUCUAAAGGUCCCCGGUUCAAUCCCGGGUUUCGGCA
+> DW5040
+AAGAGCUUAAGUUAAAUAAACUGAAAGCCUUCAAAGCUUUUUAUAAGAAUGGAAACUUCUUAGCUCUUG
+> DF4700
+GAUACGGUAGCUUAAUUAAAGCGUCUCAUUGAAAAUGAGGAAGAUGGUACUUUAGUACCUUGUGUCA
+> DP7560
+GGCCGAAUGGUCUAGUGGUAUGAUUCUCGCUUUGGGUGCGAGAGGUCCCGGGUUCAAUCCCCGGUUCGGCCC
+> DW3960
+AAGAGUAUAGUUUAAAGGUAAAACAGAAAGCUUCAACCUUUAAUUUCUUAGUUCGAGUCUAAGUGCUCUUG
+> DA2540
+GGGGGUAUAGCUCAGUUGGUAGAGCGCUGCCUUUGCACGGCAGAUGUCAGGGGUUCGAGUCCCCUUACCUCCA
+> DA1540
+GGGGCCUUAGCUCAGCUGGGAGAGCGCCUGCUUUGCACGCAGGAGGUCAGCGGUUCGAUCCCGCUAGGCUCCA
+> DQ4440
+UGGAGUAUAGCCAAGUGGUAAGGCAUCGGUUUUUGGUAUCGGCAUGCAAAGGUUCGAAUCCUUUUACUCCAG
+> DL5560
+ACUUUUAAAGGAUAACAGCUAUCCAUUGGCCUUAGGAGUCAAAAAUAUUGGUGCAACUCCAAAUAAAAGUA
+> DL2180
+GGGGAUGUGGUGGAAUUGGUAGACGCAACGGACUUAAAAUCCGUCGAUUGUAUAGAUCGUGAGGGUUCAAGUCCCUCCGUCCCCA
+> DX0980
+AGCGGGGUAGGCCAGCCAGGUAGGCCGCGGGGCUCAUANCCCCGAGGUCCCGGGUUCAAAUCCCGGCCCCGCUA
+> DY4480
+GGGAGAGUGGCCGAGCGGUCAAAAGCGACAGACUGUAAAUCUGUUGAAGGUUUUCUACGUAGGUUCGAAUCCUGCCUCUCCCA
+> DN1541
+UCCGCAGUAGCUCAGUGGUAGAGCUAUCGGCUGUUAACCGAUCGGUCGUAGGUUCGAAUCCUACCUGCGGAG
+> DR2602
+GCGUCCAUCGUCUAAAGGAUAGGACAGAGGUUUUCUAAACCUCCAGUAUAGGUUCGAAUCCUAUUGGACGUA
+> DX1660
+CGCGGGGUGGAGCAGCCUGGUAGCUCGUCGGGCUCAUAACCCGAAGAUCGUCGGUUCAAAUCCGGCCCCCGCAACCA
+> DS2602
+GGAAAGAUGGUUGAGUGGUUUAAGGCGUAGCAUUGGAAAUGCUAUGUAGGCUUUUGGUCUAUCGAGGGUUCGAAUCCCUCUCUUUCCG
+> DV2601
+AGGGCUAUAGCUCAGCGGUAGAGCGCCUCGUUUACACCGAGAAUGUCUACGGUUCAAAUCCGUAUAGCCCUA
+> DQ2920
+UGGGGCGUGGCCAAGUGGUAAGGCAACGGGUUUUGGUCCCGCUAUUCGGAGGUUCGAAUCCUUCCGUCCCAG
+> DS4362
+GGAGGUAUGGCUGAGUGGCUUAAGGCAUUGGUUUGCUAAAUCGACAUACAAUAAGAUUGUAUCAUGGGUUCGAAUCCCAUUUCCUCCG
+> DS1520
+GGAGAGUUGGCAGAGCGGUAAUGCAGCGGACUCGAAAUCCGCCGAGCCAAUGUUGAAUUGGGUCGCAGGUUCAAAUCCUGUACUCUCCU
+> DT3360
+GCCCUUUUAACUCAGUGGUAGAGUAACGCCAUGGUAAGGCGUAAGUCAUCGGUUCAAAUCCGAUAAGGGGCU
+> DG4080
+AUAGAUAUAAGUUAAGUGGUAAACUGAAUGUCUUCCACACAUUGAUUGUGAGUUCGAUUCUCACUAUCUAGA
+> DG4700
+GCAUAUAUAGUAAACAAUAUUAUAUUUGCCUUCCAAGCAAAAGUCCUAAUAAAAUUAGUGUAUGCU
+> DS6744
+GUGGACGUGCCGGAGUGGUUAUCGGGCAUAACUAGAAAUCAUGUGGGCUUUGCCCGCGCAGGUUCGAAUCCUGCCGUUCACG
+> DN1350
+UCCUCGGUAGCUCAAUUGGCAGAGCAGCCGGCUGUUAACCGGCAGGUUACUGGUUCGAGUCCAGUCCGGGGAG
+> DQ6050
+GGUCCUAUAGUGUAGUGGUUAUCACUUCGGACUUUGAAUCCGAAAACCCAGGUUCGAAUCCUGGUAGGACCA
+> DF5400
+GUCUACGUAGCUUAACCCCCAAAGCAAGACACUGAAAAUGCCUAGAUGGAUUCACACAUCCCAUAGACA
+> DD2600
+GGGAUUGUAGUUCAAUUGGUUAGAGUACCGCCCUGUCAAGACGGAAGUUGCGGGUUCGAGCCCCGUCAAUCCCG
+> DS1664
+GGUGAGGUGUCCGAGUGGCUGAAGGAGCACGCCUGGAAAGUGUGUAUACGGCAACGUAUCGGGGGUUCGAAUCCCCCCCUCACCGCCA
+> DS3880
+AGAGAGUUGGCUGAGUGGUAAGGCGACUAGCUUGAGUCUAGUUAAGUUAAAACUUUCAUAUGUUCGAAUCAUAUACUCUCUG
+> DP5120
+CGGGAGAGAAUUUAAAUUAGAAUGUUGGCUUUGGGGGUCAAUAGUGGAGGUUUGAGUCCUUCUUUCUCGA
+> DR4800
+AAAUAUGAAGCGAUUUAUUGCAAUUAGUUUCGACCUAAUCUUAGGUGAAAUUCACCCCAUAUUUU
+> DP5200
+CAAGGAAUAGUUUAUGUAGAAUUCCAGCUUUGGGUGUUGGUGGUGAGGUUUAAUGUCUCUUCCUUGA
+> DN5160
+UAGAAUGAAGCUCGCUGGAUAGAGUGUUUAGCUGUUAACUAAAAUAUUACGGGAUCGAGGCCCGUCAUUCUAG
+> DE2500
+GCCCCCAUCGUCUAGUGGUUCAGGACAUCUCUCUUUCAAGGAGGCAGCGGGGAUUCGACUUCCCCUGGGGGUA
+> DZ7560
+GCCCGGAUGAACCAUGGCGGUCUGUGGUGCAGACUUCAAAUCUGUAGGCGGUUAGCGCCGCAGUGGUUCGACUCCACCUUUCGGGUG
+> DG5120
+ACUUUCUUAGUAUUAACCAGUACACGUGACUUCCAAUCACAAAGUCUUAGUAGAAUCUAAGAGAAAGUA
+> DX3720
+GCAGCAAGGGUGGUCUCAACCUGGGUUCAUUCCCCAGCUAAUAAAGUUCGAUUCUUUGUAGCGGCU
+> DE4980
+AUUCCUGUAGUUGAAACAACAAUAACUUUUCAUGUUAUAGGUUUAGGUUGAACCCCUAACAGGAAUC
+> DW2720
+GCGCUCUUAGUUCAGUUUGGUAGAACGCGGGUCUCCAAAACCCGAUGUCGUAGGUUCAAAUCCUACAGAGCGUG
+> DF6280
+GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUCUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCA
+> DP8041
+GGCUCGUUGGUCUAGGGGUAUGAUUCUCGCUUCGGGUGCGAGAGGUCCCGGGUUCAAAUCCCGGACGAGCCC
diff --git a/Cove/Demos/sim100.slx b/Cove/Demos/sim100.slx
new file mode 100644
index 0000000..7b649d4
--- /dev/null
+++ b/Cove/Demos/sim100.slx
@@ -0,0 +1,100 @@
+DK0660    GGGC CC GU A GCUUAGUC UGGU   AGAGCG C CUGAC UUUUAAUCAG GCG                         GU  CGAG GGU UCG AA  UCC CU U CGGGCCC G   
+DE2520    GCCC CC AU C GUCUAGA   GGCCU AGGACA U CUCCC UUUCACGGAG GCA                         A   CGGG GAU UCG AA  UUC CC C UGGGGGU A   
+DT5320    GUCU UG AU A GUAUAA    AC    AUUACU C UGGUC UUGUAAACCU GAA                         A   UGAA G A UCU UC  U C UU C UCAAGAC A   
+DR1181    GCCC AU GU A GCUCAGUA  GGAU  AGAGCA C GCGCC UUCUAAGCGU GAG                         GU  CGGA AGU UCG AG  CCU UC U CGUGGGC ACCA
+DC2720    GGCG GC AU G GCCAAGU   GGU   AAGGCA G GGGAC UGCAAAUCCU UUA                         C   CCCC AGU UCA AA  UCU GG G UGCCGCC U   
+DL5720    ACUU UU AA A GGAUAAC   AGC   CAUCCG U UGGUC UUAGGCCCCA AAA                         A   UUUU GGU GCA AC  UCC AA A UAAAAGU A   
+DC2680    GGCG GC AU G GCCAAGC   GGU   AAGGCA G GGGAC UGCAAAUCCU UUA                         U   CCCC AGU UCA AA  UCU GG G UGCCGCC U   
+DM3920    ACCU GG GU A GUUUAAA   GGU   AAAACC U UAAUU UCAUACAUUA AAG                         A   UGAG AAU UCG AU  UUU CU C CCCAGGU N   
+DD4700    UUAA AA GU A GUUAAU    AU    AUAACU U AGAAU UGUCAGUUCU AGA                         U   UCCU U U UAC U     A AG G CUUUUUA U   
+DY6280    CUCU CG GU A GCCAAGUU  GGUUU AAGGCG C AAGAC UGUAAAUCUU GAG                         AU  CGGG CGU UCG AC  UCG CC C CCGGGAG A   
+DT5080    GCCU UG AA A GCUCAAC   AACU  AGAGCU U UGGUC UUGUAAACCA GGA                         G   AGAG GGU AAA CU   CC CU C UCAAGGC U   
+DR4000    GCUC UC UU A GCUUAAU   GGUU  AAAGCA U AAUAC UUCUAAUAUU AAU                         AU  UCCA UGU UCA AA  UCA UG G AGAGAGU A   
+DL2601    GGGG GU AU G GCGAAAUU  GGUA  GACGCU G CGGAC UUAAAAUCCG UU  GGC UU  UAA       AG ACCG   UGAG GGU UCA AG  UCC CU C UACCCCC A   
+DV6161    GGUC GG AU G GUGUAGUC  GGUU  AUCACG G UUGCU UUACACGCAA CAG                         GU  CUCG AGU UCG AU  CCU CG G UCGGAUC A   
+DH4700    AAAA AA GU A GUUUAAUU  UA    AGAACG A UAGGU UGUGGGGCUA UUA                         G   CGGU     GUU A       AC C CUUUUUU A   
+DK4030    GAGA GU AU   UGUUUAAU  GGUA  AAACAU U CUGUC UUUUAAGCAG UCU                         A   UAGU GGU UCG AU  UCC AC U UAUUCUC A   
+DG2601    GCGG GU AU A GUUUAGU   GGU   AAAACC U UAGCC UUCCAAGCUA ACG                         A   UGCG GGU UCG AU  UCC CG C UACCCGC U   
+DE1140    GGCC UG UU G GUGAAGC   GGUU  AACACA C ACGGU UUUCAUCCGU GGA                         CA  CACG GGU UCG AA  CCC CG U ACAGGCU ACCA
+DS3881    GGGA AA GU   UUCCAUG   GGUA  GGGUAA G AUAUU UGCUAAAUAU UG  UGC G   UUU   G    C ACA    UAGA UGU UCG AA  UCA UC U CUUUCCC G   
+DY5000    GAUU GG GU G GCAGAUA   GG    GAUGCA C UAGAU UGUAAAUCUA GGU                         A   GGAA GGU UCA AG  UCC UU U CCUGGUC A   
+DI2580    GGGU UA UU A GCUCAGUU  GGUU  AGAGCA C ACCCC UGAUAAGGGU GAG                         GU  CCCU GGU UCA AA  UCC AG G AUAACCC A   
+DX4880    AAAA AG AU A AGCUAA    UU    AAGCUA C UGGGU UCAUACCCCA UUU                         A   UAAA GGU UAU AA  UCC UU U UCUUUUU A   
+DD6280    UCCG UG AU A GUUUAAU   GGUC  AGAAUG G GCGCU UGUCGCGUGC CAG                         A   UCGG GGU UCA AU  UCC CC G UCGCGGA G   
+DS2920    GGAG AG AU G GCUGAGU   GGACU AAAGCG G CGGAU UGCUAAUCCG UU  GUA CGA GUU   AA UCG UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DK7680    GCCC GG CU A GCUCAGUC  GGU   AGAGCA U GAGAC UCUUAAUCUC AGG                         GU  CGUG GGU UCG AG  CCC CA C GUUGGGC G   
+DI5120    GGAA AU GU G CCCGAA    AG    UAGGGA U CACUU UGAUAGAGUG AAA                         UA  UAUG GGU UCA AA  CCC CA U CAUCUCC U   
+DI4080    GAAA CU AU A AUUCAAUU  GGUU  AGAAUA G UAUUU UGAUAAGGUA CCA                         A   UAUA GGU UCG AU  UCC UG U UAGUUUC A   
+DV6280    GGUU UC GU G GUCUAGUC  GGUU  AUGGCA U CUGCU UAACACGCAG AAC                         GU  CCCC AGU UCG AU  CCU GG G CGAAAUC A   
+DA5040    GUGG UU CU A GUUUAGU   GA    AAAACG U UUGCU UUGCAAGCAG AAA                         U   CCUA AGU UAA AU  UCU UA G GAACUAC A   
+DY6742    CCGA CC UU A GCUCUGUU  GGU   AUAGCG G AGGAC UGUAGAUCCU UAG                         GU  CACU GGU UCG AA  UUC GG U AGGUCGG A   
+DH2600  G GCGG AC GU A GCCAAGU   GGAUU AAGGCA G UGGAU UGUGGAUCCU CUA                         CG  CGCG GGU UCA AU  UCC CG U CGUUCGC C   
+DH5880    GUAA AU AU A GUUUAA    CC    AAAACA U CAGAU UGUGAAUCUG ACA                         A   CAGA GGC UUA CG  ACC CC U UAUUUAC C   
+DT5220    ACUC UA AU A GUUUAU    GA    AAAACA U UGGUC UUGUAAACCA AAA                         AC  UGAA GAC UCC AC   CC UU C UUAGAGU A   
+DI2440    GGGC UA UU A GCUCAGUU  GGUU  AGAGCG U UGCUU UGAUAAGGCA AAA                         GU  CGAA AGU UCA AA  UCU UU C AUAGCCC A   
+DS6241    GGCG CG AU G GCAGAGU   GGUCU AAUGCG U GAGAC UUGAAAUCUC AU  UUC     UUC   G      GAAG   CGUC GGU UCA AA  UCC GG C UCGCGUC G   
+DM6160    AGCU UC UU A ACUCAGG   GGU   AGAGUG C GAGGC CCAUAACCUC GAG                         GU  CCUA GGA UCG AA  ACC UA G AGAAGCU A   
+DT5360    GUCU UU GU A GUACAU    CU    AAUAUA C UGGUC UUGUAAACCA GAG                         A   AGGA GAA CAA CU AACC UC C CUAAGAC U   
+DA0380    GGGC CC AU A GCUCAGU   GGU   AGAGUG C CUCCU UUGCAAGGAG GAU                         GC  CCUG GGU UCG AA  UCC CA G UGGGUCC A   
+DW4980    AGAG AU UU A AGUUAA    UA    AAACUG A AAACC UUCAAAGUUU UAA                         A   UAAG AGU GGA AC  UCU CU U AGUCUUU A   
+DR2700    GCGU CC AU U GUCUAAU   GGAU  AGGACA G AGGUC UUCUAAACCU UUG                         G   UAUA GGU UCA AA  UCC UA U UGGACGC U   
+DH5840    GUAA AU AU A GUUUAA    CC    AAAACA U UAGAU UGUGAAUCUA AUA                         A   UAGG GCC CCA CA  ACC CC U UAUUUAC C   
+DA4500    GGGG AC GU A GCUCAAUU  GGU   AGAGCG U AUGUU UUGCAAGCAU AAA                         GC  UGUC GGU UCA AA  UCC GA U CGUCUCC A   
+DQ9991    GUCU CU GU G GCGCAAUC  GGUU  AGCGCG U UCGGC UGUUAACCGA AAG                         AU  UGGU GGU UCG AG  CCC AC C CAGGGAC G   
+DP1140    CGGG AA GU G GCUCAGUU UGGU   AGAGCA U UCGGU UUGGGACCGA AGG                         GU  CGCA GGU UCA AA  UCC UG U CUUCCCG ACCA
+DV0860    GGGC CC GU C GUCUAGCC UGGUU  AGGACG C UGCCC UGACGCGGCA GAA                         AU  CCUG GGU UCA AG  UCC CA G CGGGCCC A   
+DG1500    GCGG AA GU A GUUCAGU   GGU   AGAACA U CACCU UGCCAUGGUG GGG                         GU  CGCG GGU UCG AA  UCC CG U CUUCCGC U   
+DG2681    GCGG GU AU A GUUUAGU   GGU   AAAACC C UAGCC UUCCAAGCUA ACG                         A   UGCG GGU UCG AU  UCC CG C UACCCGC U   
+DP1662    CGGC AC GU A GCGCAGCC UGGU   AGCGCA C CGUCA UGGGGUGUCG GGG                         GU  CGGA GGU UCA AA  UCC UC U CGUGCCG ACCA
+DF5920    GUUA AU GU A GCUUUAA   AAUU  AAAGCA A GGCAC UGAAAAUGCC UAG                         A   UGAG U G CUC CA    A CU C CAUAAAC A   
+DN5000    UGGG UU GU A GCCUAAU   GGA   AAGGCA A UUGGC CGUUAACCAG GAG                         AU  AACA AGA UCA AU  ACU UG U CAACUCA G   
+DG4501    GCGG AU AU A GAUUAAA   GGU   AAAUUA U CUGCC UUCCAAGCAG AGG                         A   UAUG GGU UCG AU  UCC CG U UAUCCGC A   
+DC4840    GGUC UU AU A GUCAAUA         AUGAUA U CAAAC UGCAAUUUUG AAG                         G   AGUA A   GUU       U UA C UAAGGCU U   
+DC5160    GGCC UU GG G GUGUC           AACACG U GGGGU UGCAAACCCC AAG                         A   UGCA GUA UAA UA   CC UG C CGGGGCU U   
+DD1180    GGCC CC AU A GCGAACGU UGGUU  AUCGCG C CUCCC UGUCACGGAG GAG                         AU  CACG GGU UCG AG  UCC CG U UGGGGUC GCCA
+DA2520    GGGG GU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCAAGGCA GAU                         GU  CAGC GGU UCG AG  UCC GC U UAUCUCC A   
+DN6060    GCUC GA UU A GCUCAGCU  GGUU  AGAGCA U GCGGC UGUUAACCGC AAG                         GU  CGUA GGU UCG AU  CCC UA C AUCGAGC G   
+DF5970    GUUC AU GU A GCUUAAA   ACC   AAAGCA A GGCAU UGAAAAUGCC UAG                         A   UGAG U A UAU UA    A CU C CAUAAAC A   
+DD1140    GGCC CC AU A GCGAAGUU  GGUU  AUCGCG C CUCCC UGUCACGGAG GAG                         AU  CACG GGU UCG AG  UCC CG U UGGGGUC GCCA
+DF7740    GCCG AA AU A GCUCAGUU  GGG   AGAGCG U UAGAC UGAAGAUCUA AAG                         GU  CCCC GGU UCA AU  CCC GG G UUUCGGC A   
+DW5040    AAGA GC UU A AGUUAA    AU    AAACUG A AAGCC UUCAAAGCUU UUU                         A   UAAG AAU GGA AA  CUU CU U AGCUCUU G   
+DF4700    GAUA CG GU A GCUUAA    UU    AAAGCG U CUCAU UGAAAAUGAG GAA                         GA  UGGU AC  UUU A    GU AC C UUGUGUC A   
+DP7560    GGCC GA AU G GUCUAGU   GGU   AUGAUU C UCGCU UUGGGUGCGA GAG                         GU  CCCG GGU UCA AU  CCC CG G UUCGGCC C   
+DW3960    AAGA GU AU A GUUUAAA   GGU   AAAACA G AAAGC UUCAACCUUU AAU                         U   UCUU AGU UCG AG  UCU AA G UGCUCUU G   
+DA2540    GGGG GU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCACGGCA GAU                         GU  CAGG GGU UCG AG  UCC CC U UACCUCC A   
+DA1540    GGGG CC UU A GCUCAGCU  GGG   AGAGCG C CUGCU UUGCACGCAG GAG                         GU  CAGC GGU UCG AU  CCC GC U AGGCUCC A   
+DQ4440    UGGA GU AU A GCCAAGU   GGU   AAGGCA U CGGUU UUUGGUAUCG GCA                         UG  CAAA GGU UCG AA  UCC UU U UACUCCA G   
+DL5560    ACUU UU AA A GGAUAAC   AGC   UAUCCA U UGGCC UUAGGAGUCA AAA                         A   UAUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL2180    GGGG AU GU G GUGGAAUU  GGUA  GACGCA A CGGAC UUAAAAUCCG UC  GAU U   GUA   UA   G AUCG   UGAG GGU UCA AG  UCC CU C CGUCCCC A   
+DX0980    AGCG GG GU A GGCCAGCC AGGU   AGGCCG C GGGGC UCAUANCCCC GAG                         GU  CCCG GGU UCA AA  UCC CG G CCCCGCU A   
+DY4480    GGGA GA GU G GCCGAGC   GGUCA AAAGCG A CAGAC UGUAAAUCUG UU  GAA     GGU   U      UUCUA  CGUA GGU UCG AA  UCC UG C CUCUCCC A   
+DN1541    UCCG CA GU A GCUCAGU   GGU   AGAGCU A UCGGC UGUUAACCGA UCG                         GU  CGUA GGU UCG AA  UCC UA C CUGCGGA G   
+DR2602    GCGU CC AU C GUCUAAA   GGAU  AGGACA G AGGUU UUCUAAACCU CCA                         G   UAUA GGU UCG AA  UCC UA U UGGACGU A   
+DX1660    CGCG GG GU G GAGCAGCC UGGU   AGCUCG U CGGGC UCAUAACCCG AAG                         AU  CGUC GGU UCA AA  UCC GG C CCCCGCA ACCA
+DS2602    GGAA AG AU G GUUGAGU   GGUUU AAGGCG U AGCAU UGGAAAUGCU AU  GUA GGCUUUU     GGUC UAU    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DV2601    AGGG CU AU A GCUCAGC   GGU   AGAGCG C CUCGU UUACACCGAG AAU                         GU  CUAC GGU UCA AA  UCC GU A UAGCCCU A   
+DQ2920    UGGG GC GU G GCCAAGU   GGU   AAGGCA A CGGGU UUUGGUCCCG CUA                         UU  CGGA GGU UCG AA  UCC UU C CGUCCCA G   
+DS4362    GGAG GU AU G GCUGAGU   GGCUU AAGGCA U UGGUU UGCUAAAUCG AC  AUA CAAUAAG     AUUG UAU    CAUG GGU UCG AA  UCC CA U UUCCUCC G   
+DS1520    GGAG AG UU G GCAGAGC   GGU   AAUGCA G CGGAC UCGAAAUCCG CCG AGC CAAUGUU   GAAUUG GGU    CGCA GGU UCA AA  UCC UG U ACUCUCC U   
+DT3360    GCCC UU UU A ACUCAGU   GGU   AGAGUA A CGCCA UGGUAAGGCG UAA                         GU  CAUC GGU UCA AA  UCC GA U AAGGGGC U   
+DG4080    AUAG AU AU A AGUUAAGU  GGU   AAACUG A AUGUC UUCCACACAU UGA                         U   UGUG AGU UCG AU  UCU CA C UAUCUAG A   
+DG4700    GCAU AU AU A GUAAACA   AU    AUUAUA U UUGCC UUCCAAGCAA AAG                         U   CCUA AU  AAA      AU UA G UGUAUGC U   
+DS6744    GUGG AC GU G CCGGAGU   GGUU  AUCGGG C AUAAC UAGAAAUCAU GU  GGG C   UUU        G CCCG   CGCA GGU UCG AA  UCC UG C CGUUCAC G   
+DN1350    UCCU CG GU A GCUCAAUU  GGC   AGAGCA G CCGGC UGUUAACCGG CAG                         GU  UACU GGU UCG AG  UCC AG U CCGGGGA G   
+DQ6050    GGUC CU AU A GUGUAGU   GGUU  AUCACU U CGGAC UUUGAAUCCG AAA                         A   CCCA GGU UCG AA  UCC UG G UAGGACC A   
+DF5400    GUCU AC GU A GCUUAACC  CCC   AAAGCA A GACAC UGAAAAUGCC UAG                         A   UGGA U U CAC AC    A UC C CAUAGAC A   
+DD2600    GGGA UU GU A GUUCAAUU  GGUU  AGAGUA C CGCCC UGUCAAGACG GAA                         GU  UGCG GGU UCG AG  CCC CG U CAAUCCC G   
+DS1664    GGUG AG GU G UCCGAGU   GGCUG AAGGAG C ACGCC UGGAAAGUGU GU  AUA CG  GCA   A   CG UAU    CGGG GGU UCG AA  UCC CC C CCUCACC GCCA
+DS3880    AGAG AG UU G GCUGAGU   GGU   AAGGCG A CUAGC UUGAGUCUAG UU  AAG UU  AAA       AC UUU    CAUA UGU UCG AA  UCA UA U ACUCUCU G   
+DP5120    CGGG AG AG A AUUUAAA   UU    AGAAUG U UGGCU UUGGGGGUCA AUA                         G   UGGA GGU UUG AG  UCC UU C UUUCUCG A   
+DR4800    AAAU AU GA A GCGAUUU         AUUGCA A UUAGU UUCGACCUAA UCU                         U   AGGU G   AAA UU    C AC CCCAUAUUU U   
+DP5200    CAAG GA AU A GUUUAU    GU    AGAAUU C CAGCU UUGGGUGUUG GUG                         G   UGAG GU  UUA AU   GU CU C UUCCUUG A   
+DN5160    UAGA AU GA A GCUCGCU   GGAU  AGAGUG U UUAGC UGUUAACUAA AAU                         AU  UACG GGA UCG AG  GCC CG U CAUUCUA G   
+DE2500    GCCC CC AU C GUCUAGUG  GUUC  AGGACA U CUCUC UUUCAAGGAG GCA                         G   CGGG GAU UCG AC  UUC CC C UGGGGGU A   
+DZ7560    GCCC GG AUGAACCAUGGC   GGUC  UGUGGU G CAGAC UUCAAAUCUG UA  GGC G   GUU   AG   C GCCG   CAGU GGU UCG AC  UCC ACCU UUCGGGU G   
+DG5120    ACUU UC UU A GUAUUAA   CC    AGUACA C GUGAC UUCCAAUCAC AAA                         G   UCUU AGU AGA AU   CU AA G AGAAAGU A   
+DX3720    GCAG CA AG G GUGGU           CUCAAC C UGGGU UCAUUCCCCA GCU                         A   AUAA AGU UCG AU  UCU UU G UAGCGGC U   
+DE4980    AUUC CU GU A GUUGAA          ACAACA A UAACU UUUCAUGUUA UAG                         G   UUUA GGU UGA AC  CCC UA A CAGGAAU C   
+DW2720    GCGC UC UU A GUUCAGUU UGGU   AGAACG C GGGUC UCCAAAACCC GAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DF6280    GCGG AU UU A GCUCAGUU  GGG   AGAGCG C CAGAC UGAAGAUCUG GAG                         GU  CCUG UGU UCG AU  CCA CA G AAUUCGC A   
+DP8041    GGCU CG UU G GUCUAGG   GGU   AUGAUU C UCGCU UCGGGUGCGA GAG                         GU  CCCG GGU UCA AA  UCC CG G ACGAGCC C   
diff --git a/Cove/Demos/sim65.fa b/Cove/Demos/sim65.fa
new file mode 100644
index 0000000..2d124f5
--- /dev/null
+++ b/Cove/Demos/sim65.fa
@@ -0,0 +1,200 @@
+> DM4080
+ACUUGUAUAGUUUAAAUGGUUAAAACAUUUGUCUCAUAAACAAAUAAUGUAAGGUUCAAAUCCUUCUACAAGUA
+> DD5880
+AAGGUAUUAGAAAAACCAUUUCAUAACUUUGUCAAAGUUAAAUUAUAGGCUAAAUCCUAUAUAUCUUA
+> DP3880
+CAGGUUAGAGCCAGGUGGUUAGGCGUCUUGUUUGGGUCAAGAAAUUGUUAUGUUCGAAUCAUAAUAACCUGA
+> DR6160
+GGGACUAUAGUUUAGUUGGAUAUAACGACCGGCUACGAACCGGUAGGUCUCAGGUUCGACCCCUGAUGGUCUCG
+> DM0900
+AGCGGGGUGGGGUAGUCAGGAAAUCCGAUGGGCUCAUAACCCGUAGAUCGAUGGUUCAAAUCCAUCCCCCGCUA
+> DC0500
+GCCAAGGUGGCAGAGUUCGGCCCAACGCAUCCGCCUGCAGAGCGGAACCCCCGCCGGUUCAAAUCCGGCCCUUGGCUCCA
+> DP0260
+CUCCGAUUAGCUCAAUUGGCUAGAGUACACCGUUUGGGGCGGUGGGGUUGAAGGUUCGAGUCCUUCAUUGGAGACCA
+> DP5080
+CAGGAGAAAGUUUAAUAAAAAACCGCAGCUUUGGAAGUUGCAAUGUAAGGUAAGCCUUAUUCUCUUGA
+> DN4700
+GGCCAAAUAGUUUAACUUAAAACGUUGAGCUGUUAAUUCAAAAUUGCAGUAAUUUGCUUUGGCUU
+> DA4700
+AGAAUGGUACUUUAAAAAAAAGAAUUGGUUUGCAUCUAAUAUUAAGCCUGAGCUUUCAUUCUU
+> DI4000
+GAAACUAUAAUUCAAUUGGUUAGAAUAGUAUUUUGAUAAGGUACAAAUAUAGGUUCAAUCCCUGUUAGUUUCA
+> DG4080
+AUAGAUAUAAGUUAAGUGGUAAACUGAAUGUCUUCCACACAUUGAUUGUGAGUUCGAUUCUCACUAUCUAGA
+> DY5020
+GGCAGGGUGGCAGAAAGUCAAUGCGCUAAAUUGUAAAUUUAUAAAAAAAGGUUUAAUUCCUUUCUUUGCCA
+> DG2920
+GCGGGUAUAGUUUAGUGGUAAAACCCUAGCCUUCCAAGCUAACGAUGCGGGUUCGAUUCCCGCUACCCGCU
+> DZ1662
+GGAAGAUCGUCGUCUCCGGUGAGGCGGCUGGACUUCAAAUCCAGUUGGGGCCGCCAGCGGUCCCGGGCAGGUUCGACUCCUGUGAUCUUCCGCCA
+> DF5950
+GUUAAUGUAGCUUAAACUAAAGCAAGGCACUGAAAAUGCCUAGAUGGGUAUUUAACUCCAUAAACA
+> DG5080
+GCUUUAUGAAUACAACAGUAUUUUUGACUUCCAAUCAGACAGUCUUGGUGAAAAUUUAAGAUAAAGCA
+> DC4700
+UGCUUAGUAGUUAAUGUUAAUAUAACUAAGAACUGCAAAUUCUUCAUAGUCUAGUUAGACCUAAGCUU
+> DD0260
+GCGACCGGGGCUGGCUUGGUAAUGGUACUCCCCUGUCACGGGAGAGAAUGUGGGUUCAAAUCCCAUCGGUCGCGCCA
+> DG4700
+GCAUAUAUAGUAAACAAUAUUAUAUUUGCCUUCCAAGCAAAAGUCCUAAUAAAAUUAGUGUAUGCU
+> DK0740
+GGGCCCGUAGCUUAGUCUGGUAGAGCGCCUGGCUUUUAAUCAGGCGGUCGAGGGUUCGAAUCCCUUCGGGCCCG
+> DX4000
+UGCAAUAUGAUGUAAUUGGUUAACAUUUUAGGGUCAUGACCUAAUUAUAUACGUUCAAAUCGUAUUAUUGCUA
+> DA0260
+GGGCGAAUAGUGUCAGCGGGAGCACACCAGACUUGCAAUCUGGUAGGGAGGGUUCGAGUCCCUCUUUGUCCACCA
+> DN4000
+GUCCUUAUAGCUUAUCGGUUAAAGCAUCUCACUGUUAAUGAGAAUAGAUGGGUUCAAUUCCUAUUAAGGACG
+> DT4980
+CCUUAAAGCUACAAAAAGCAGACAAUCUUGUAAAUUGUAAGAUAAAAGGUUUAAGUCCUUUUUAAGGU
+> DM3881
+AAGACUAUAGCUUAAUCGGUAAAGCGAACCACUCAUGAUGGUUUGAGUAAAUGUUCAAGUCAUUUUAGUCUUA
+> DH5280
+GUAGAUAUAGUUUACAAAAAACAUUAGACUGUGAAUCUAACAACAGGAAAUCAAAUUCCUUAUUUACC
+> DT4081
+GUAGAUAUAAUUUAAUCGGUAAAAUGUAUGUUUUUAGGGUACAUAUUAUCUAAGUUCAAAUCUUAGUAUUUACA
+> DR5120
+GAGUUGUUAGUCUAAACAAGACAGUUGUUUUCGGCACAACAAAUUAUGGUUAAACCCCAUAAUAACUCU
+> DM3640
+AGACACGUAGCUUAGUGGUAAAGCACUGGUCUCAUAAGCCAGCUAUCGCAAGUUCGAAUCUCGCCGUGUCUA
+> DT4070
+GUUGCAUUAGCUCAAUUGGUAGAGCGUUUGUUUUGUAAUCAAAAGGUUUAGAGUUCAACUCUCUAAUGCANUN
+> DD4620
+UCAUUUCUAGUCUAGUUAAGGAUGUUGCUUUGUCGUGGCGGUGGGGUAUGUUUUGUACGGGAUGAG
+> DA0340
+GGGCUCGUAGCUCAGCGGGAGAGCGCCGCCUUUGCGAGGCGGAGGCCGCGGGUUCAAAUCCCGCCGAGUCCA
+> DS0260
+GGAAGGUAGGGCGUAGUGGUACGCAACUAGUCUUGAAAACUAGCCCGCUGUAGUGAUACGGUGAUGGUUCGACUCCAUUACCUUCCUCCA
+> DP4060
+CAGAUUGUCUCGUAAUUGGUUAUCGAGCCUACAUUGGGUGUAGGAUUUUGAGGGUUCAAGUCCUUCCAAUCUGA
+> DQ1341
+AUGGGCUAUGGUGUAAUUGGCAGCACGAGUGAUUCUGGUUCAUUUAGUCUAGGUUCGAGUCCUGGUAGCCCAG
+> DI1860
+GGGCCUAUAGCUCAGCUGGUUAGAGUGCACCCCUGAUAAGGGUGAGGUCACAAGUUCAAGUCUUGUUAGGCCCACCA
+> DL5221
+GCUAGCGUGGCAGAGCUCGGCAAAUGCAAAAGGCUUAAGCCCUUUAUCCAGAGGUUCAAAUCCUCUCCCUAGCU
+> DW5220
+AGAAACUUAGGAUUAACUGUCACCAAACCAAAGGCCUUCAAAGCCUUAAAUAAGAGUUAAACUCUCUUAGUUUCUG
+> DR4880
+GAAUAUGAAGCGAUUAAUUGCAGUUAGUUUCGACCUAACCUUAGGUAUUAUAUACCCUUAUUUU
+> DX4980
+GUAAAGUAAGCUAAAUGUUAAGCUUUUGGGUUCAUACCUCAAGAAUAGAAGGAUAAAAACCUCUCUUUAUC
+> DT5281
+GUCCCGAUAGUAUAAAAAUUACUCUGGUCUUGUAAGCCAAAAAUGAAGAGUCAGCUCUUCUCGGGACA
+> DD3280
+GGGAUUGUAGUUCAAUUGGUUAGAGCACCGCCCUGUCAAGGCGGAAGCUGCGGGUUCGAGCCCCGUCAGUCCCG
+> DW2680
+GCGCUCUUAGUUCAGUUCGGUAGAACGCGGGUCUCCAAAACCCGAUGUCGUAGGUUCAAAUCCUACAGAGCGUG
+> DW5360
+AGGAAUUUAGGUUAAACAGACCAAGAGCCUUCAAAGCCCUAAGCAAGUACAAUUUACUUAAUUCCUG
+> DG5280
+ACUCCCUUAGUAUAAACAAUACAACUGACUUCCAAUCAGUUAAUUCUGAAAAAACUCAGAAGAGAGUA
+> DW4620
+AGUGAUCUAGGUUAUUUUGGACUGUCUGUUUUCAAAACAGGAGGUGGCUUUGGUCGGUUGCUG
+> DG1230
+GUCGGUGUCGUAUAUGGUUAUUACAGGCCUUGCCAAGGCUUAGACGGCAGUUCGAUCCUGCUCACCGGCUCCA
+> DR1664
+GUCCUCUUAGUUAAAUGGAUAUAACGAGCCCCUCCUAAGGGCUAAUUGCAGGUUCGAUUCCUGCAGGGGACACCA
+> DW3880
+AAGAGUAUAGUUUAAUGGUAAAACUGUAAGCUUCAACCUUAUAUUUCUUAGUUCAAAUCUAAGUACUCUUG
+> DM0260
+AGUUAGUUGGCAGAGUGGUUAUGCACCUCCUUCAUACGGAGCGACUACAGUGGUUCAAAUCCACUACUAACUACCA
+> DP5000
+CAGAAAAUAGUUUAGUGAGAAUGAUAGCUUUGGGAGCUGUUGGUGUAAGUAUAAAGUCUUGCUUUUCUGA
+> DC5360
+AGCCCUGUGGUGAAUUUACACGUUGAAUUGCAAAUUCAGAGAAGCAGCUUCAAUUCUGCCGGGGCUU
+> DS4701
+AUUUGUGAUUUUCACGCCGAGAGUGUUUCUUGAGGAGGUAAUGCACUAAUGAAGGGUUACAAGGC
+> DM4701
+GGUAAAGUGGUCUAAUAUUAGGAUAUAGGGCUCAUGCCCCUAAGGCGCCACGCGUAAUGGCCUUUAUCU
+> DG5020
+UCUAUUAAUAUAACAGUAUAUUUAGUUUUCCAAAUUAAAAGGCCUGUUAGAAGUCAGGUAGUAAAA
+> DW6160
+GACUCCUUAGCAUAGUGGUUUAUUGUAAUUGUCUCCAAAGCAGUUGGUCCAGGGUUCAACUCCCUGAGGGGUCU
+> DG9160
+GCGUUGGUGGUAUAGUGGUGAGCAUAGCUGCCUUCCAAGCAGUUGACCCGGGUUCGAUUCCCGGCCAACGCA
+> DA5000
+GUGGACUUAGUUUAAAAGAUAAAACAAUUGAUUUGCAAUCAGUAACUCCAAGUUUAACUCUCGGAGUCCACA
+> DN2920
+UCCUCAGUAGCUCAGUGGUAGAGCGGUCGGCUGUUAACCGAUUGGUCGUAGGUUCGUAACCUACUUGGGGAG
+> DT3200
+GCCCUUUUAACUCAGUGGUAGAGUAACGCCAUGGUAAGGCGUAAGUCGUCGGUUCAAAUCCGAUAAAGGGCU
+> DS6240
+GUCAGCAUGGCAGAGUGGUCUAAUGCGUUAGACUUGAAAUCUAAUUCCUUCGGGAGCGUAGGUUCGAACCCUACUGCUGACG
+> DP4620
+CAGUUUAGUAGUUUAAUGAAGAAUGCUAGCUUUGGGGGUUGGGAGUCUCUGGUUUGGAGUUGGCUGG
+> DR0220
+GUCCCGCUGGUGUAAUGGAUAGCAUACGAUCCUUCUAAGUUUGCGGUCCUGGUUCGAUCCCAGGGCGGGAUACCA
+> DW4700
+AAGAAAGUAAUUUAAGUUAAAAUAUUUUGUUUCAAACAUAACUAUAGGUAGUCAUUACCUCUUUCUUG
+> DC4080
+GGAGGUGUUGUUUAAAGGUUAAGCUAUUAGAUUGCAGAUCUACUUAUUAAGAGUUCGAUUCUCUUCAUCUCUU
+> DE4700
+GCUUAAGUAGUUUAGGGAAAACAUAAGAUUUUCAUUCUUAAGUCAGAAAGCAGUUCUCUUAAGUU
+> DK5080
+CCUUAAUUAGCUUAUUUAAAGCUUUAGACUCUUAAUUUAAAGAAAUUAGCUAAUACCUAUUAUUAAGGA
+> DA5100
+AAGGUCUUAGCUUAAUUAAAGUAUUUGUUUUGCAUACAGAAGAUGUGGGGUAGUGUCCUGCAGAUCUUA
+> DQ5160
+UAAGGAGUAGUAUAAAGGAAGUACAAAGGGUUUUGAUCUCUUAAGUAUAGGUUCAAUUCCUAUCUCUUUAG
+> DV4700
+UGUAAGAUAAUAUAAACCAGUAUAAUUCAUUUACACUGAAUGUGUCAGAUAAUGUCUGUCUUACUU
+> DT5060
+GCCCUAGUAGCUCAGCGCCAGAGCGCCGGUCUUGUAAUCCGGAAGUCGGAGGUUAAAACCCUCCCUAGUGCU
+> DE4240
+GUCCCUUUCGUCCAGUGGUUAAGGACAUCGUCUUUUCAUGUCGAAGACACGGGUUCCAUUCCCGUAAGGGAUA
+> DI0260
+ACUUCGGUAGCUUAGCGAUCUAAAGCACUCGGCUGAUAACCGAGAGAUCGGGGGUUUAAAUCCCUCCCGGAGUACCA
+> DR4080
+GCUCUCUUAGCUUAAUGGUUAAAGCAUAAUACUUCUAAUAUUAAUAUUCCAUGUUCAAAUCAUGGAGAGAGUA
+> DM4700
+GGUAAAGUAGUCUAAUGAAGGACAGAAGACCUAUGAUUUUCAAGUGUUAUAAUUAACCUUUACUU
+> DG0260
+GCGGUUAAGCACACGGGUUGUGUCGCAGGCCUUCCAAGCCUCGCUGAGUAGGGUUCGAUUCCCUCUAGCCGCUCCA
+> DL4701
+CACAAGCUGGCAGACAUAAUGCAUACGAUUUAAGCUCGUCUUAUAAGAUCAUAUUCUUGUUUGUGU
+> DI2922
+GCAUCCAUGGCUGAAUGGUUAAAGCGCCCAACUCAUAAUUGGCGAAUUCGUAGGUUCAAUUCCUACUGGAUGCA
+> DR5220
+AGAAAGUUAGUCUAACUAAGACAGCUGGUUUCGACCCAGCAAAUUAUAGACCCACCUAUAACUUUCUU
+> DT0260
+GCUCCUAAAGCAUUGUUGGUGAUGCAGUUGCCUUGUAAGCAUCUGAACCGGGUUCGAUUCCUAGUGGGAGCACCA
+> DR2600
+GGGUUUGUAGCUCAGAGGAUUAGAGCACGUGGCUACGAACCACGGUGUCGGGGGUUCGAAUCCCUCCUUGCCCA
+> DC3920
+GAUUACGAUGUAAAUGGUUUACCCUUUGACUGCAAAUCUUAAGGAUUAGGUUCGAUUCCUACGUAAUCC
+> DL4840
+UCUAAUAUGGCAGAUUAGUGCAAUAGAUUUAAGCUCUAUAUAUAAAGUAUUUUACUUUUAUUAGAA
+> DV9990
+GUUUCCGUAGUGUAGUGGUUAUCACGUUCGCCUAACACGCGAAAGGUCCCCGGUUCGAAACCGGGCGGAAACA
+> DQ4070
+UGAAUUGUAGACUAAUAGGUAAGUCCCCAAAAUUUGAGUUUGGCUUUAGGUGUGUUCGAAUCACCCCAAUUCAA
+> DE5220
+GUUCCCGUAGUUGAGAACAACAAUGGCUUUUCAAGCCGUAGUCCUUGGGGUCUAACCAAGCGGGAAUA
+> DC3881
+AGGAGUUUGAGCAAAUGGUUUUGCGUUUUGAUUGCAAAUUGAAAUAUAGGGAUUCGAUUUCCCCGGACUCCUC
+> DS5080
+GGAGAAGUGGCACGAUAGGAAUGCAUGCGGCUUGAAACCGUUUGAUAGAGGUUUCUUCCUCUCUUCUCUU
+> DE4080
+GAUCUUAUCGUCUAAUGGUUACGACAUCAACUUUUCAUGUUGAAAAUGUUGGUUCAAUCCCAACUAAGAUUA
+> DE0660
+GCUCCGGUGGUGUAGUCCGGCCAAUCAUGCUGGCCUUUCGAGCCAGCGACUCGGGUUCAAAUCCCGGCCGGAGCA
+> DW4840
+AAGGCUUUAAGUUAAUAAAACUAAUAACCUUCAAAGCUAUAAAUAAAGAAAUUUCUUUAAGCCUUA
+> DI5160
+GGAAGCGUGCCUGAAAGUUAAGGACCUCCUUGAUAGGGAGGCUUAUAGGGGUUCAAACCCCCUCACUUCCU
+> DA4620
+GACGGUAUAGUUUAAGUUGAGAUGUGUGCUCUGCGAGCAUUCGGUAGAGGUUUCUUGCCGUUG
+> DH1540
+GGCGGUUGUGGCGAAGUGGUUAACGCACCAGAUUGUGGCUCUGGCACUCGUGGGUUCGAUUCCCAUCAAUCGCCCCA
+> DM4501
+GUCGGAAUAGUUUAGUAGGGUAGAACAGCGGGAUCAUAAUUCGCACACGGGGGUUCAAAUCCCUCUUCCGAUA
+> DA6281
+GGGCGUGUGGCGUAGUCGGUAGCGCGCUCCCUUAGCAUGGGAGAGGUCUCCGGUUCGAUUCCGGACUCGUCCA
+> DP4700
+CUAGAUAUAGUUUAGAGCAAAAUAUUGGCUUUGGGAGCUAAAGACACUUUUAUGAGUUUUCUAGA
+> DD4700
+UUAAAAGUAGUUAAUAUAUAACUUAGAAUUGUCAGUUCUAGAUUCCUUUUACUAAGGCUUUUUAU
+> DG4980
+CUUUAUUAGUAUAAUUAGUAUAUUUGAUUUCCAAUCAAAAGGGCUUUGUUAAGAAUCAAAGAUGGAGU
diff --git a/Cove/Demos/sim65.slx b/Cove/Demos/sim65.slx
new file mode 100644
index 0000000..144f85c
--- /dev/null
+++ b/Cove/Demos/sim65.slx
@@ -0,0 +1,100 @@
+         DM4080    ACUU GU AU A GUUUAAAU  GGUU  AAAACA U UUGUC UCAUAAACAA AUA                         AU  GUAA GGU UCA AA  UCC UU C UACAAGU A   
+         DD5880    AAGG UA UU A GAAAAA    CC    AUUUCA U AACUU UGUCAAAGUU AAA                         U   UAUA GGC UAA AU   CC UA U AUAUCUU A   
+         DP3880    CAGG UU AG A GCCAGGU   GGU   UAGGCG U CUUGU UUGGGUCAAG AAA                         UU  GUUA UGU UCG AA  UCA UA A UAACCUG A   
+         DR6160    GGGA CU AU A GUUUAGUU  GGAU  AUAACG A CCGGC UACGAACCGG UAG                         GU  CUCA GGU UCG AC  CCC UG A UGGUCUC G   
+         DM0900    AGCG GG GU G GGGUAGUC AGGA   AAUCCG A UGGGC UCAUAACCCG UAG                         AU  CGAU GGU UCA AA  UCC AU C CCCCGCU A   
+         DC0500    GCCA AG GU G GCAGAGUU CGGCCC AACGCA U CCGCC UGCAGAGCGG AAC                         CC CCGCC GGU UCA AA  UCC GG C CCUUGGC UCCA
+         DP0260    CUCC GA UU A GCUCAAUU  GGCU  AGAGUA C ACCGU UUGGGGCGGU GGG                         GU  UGAA GGU UCG AG  UCC UU C AUUGGAG ACCA
+         DP5080    CAGG AG AA A GUUUAAU   AA    AAAACC G CAGCU UUGGAAGUUG CAA                         U   GUAA GG  UAA G    CC UU AUUCUCUUG A   
+         DN4700    GGCC AA AU A GUUUAAC   UU    AAAACG U UGAGC UGUUAAUUCA AAA                         U   UGCA G U AAU       U UG C UUUGGCU U   
+         DA4700    AGAA UG GU A CUUUAA    AA    AAAAGA A UUGGU UUGCAUCUAA UAU                             UAAG C   CUG A     G CU U UCAUUCU U   
+         DI4000    GAAA CU AU A AUUCAAUU  GGUU  AGAAUA G UAUUU UGAUAAGGUA CAA                         A   UAUA GGU UCA AU  CCC UG U UAGUUUC A   
+         DG4080    AUAG AU AU A AGUUAAGU  GGU   AAACUG A AUGUC UUCCACACAU UGA                         U   UGUG AGU UCG AU  UCU CA C UAUCUAG A   
+         DY5020    GGCA GG GU G GCAGAAA   GUC   AAUGCG C UAAAU UGUAAAUUUA UAA                         A   AAAA GGU UUA AU  UCC UU U CUUUGCC A   
+         DG2920    GCGG GU AU A GUUUAGU   GGU   AAAACC C UAGCC UUCCAAGCUA ACG                         A   UGCG GGU UCG AU  UCC CG C UACCCGC U   
+         DZ1662   GGAAG AU CG U CGUCUCC   GGUG  AGGCGG C UGGAC UUCAAAUCCA GU  UGG GGCCGCCA  GCGGUC CCG    GGCA GGU UCG AC  UCC UG U GAUCUUCCGCCA
+         DF5950    GUUA AU GU A GCUUAAA   CU    AAAGCA A GGCAC UGAAAAUGCC UAG                         A   UGGG U A UUU A     A CU C CAUAAAC A   
+         DG5080    GCUU UA UG A AUACAAC         AGUAUU U UUGAC UUCCAAUCAG ACA                         G   UCUU GGU GAA AA  UUU AA G AUAAAGC A   
+         DC4700    UGCU UA GU A GUUAAUGU UAAU   AUAACU A AGAAC UGCAAAUUCU UCA                         U   AGUC U A GUU       A GA C CUAAGCU U   
+         DD0260    GCGA CC GG G GCUGGCUU  GGUA  AUGGUA C UCCCC UGUCACGGGA GAG                         AA  UGUG GGU UCA AA  UCC CA U CGGUCGC GCCA
+         DG4700    GCAU AU AU A GUAAACA   AU    AUUAUA U UUGCC UUCCAAGCAA AAG                         U   CCUA AU  AAA      AU UA G UGUAUGC U   
+         DK0740    GGGC CC GU A GCUUAGUC UGGU   AGAGCG C CUGGC UUUUAAUCAG GCG                         GU  CGAG GGU UCG AA  UCC CU U CGGGCCC G   
+         DX4000    UGCA AU AU G AUGUAAUU  GGUU  AACAUU U UAGGG UCAUGACCUA AUU                         A   UAUA CGU UCA AA  UCG UA U UAUUGCU A   
+         DA0260    GGGC GA AU A GUGUCAGC  GGG   AGCACA C CAGAC UUGCAAUCUG GUA                         G   GGAG GGU UCG AG  UCC CU C UUUGUCC ACCA
+         DN4000    GUCC UU AU A GCUUAUC   GGUU  AAAGCA U CUCAC UGUUAAUGAG AAU                         A   GAUG GGU UCA AU  UCC UA U UAAGGAC G   
+         DT4980    CCUU AA AG C UACAAA          AAGCAG A CAAUC UUGUAAAUUG UAA                         GA  UAAA AGG UUU AA  GUC CU U UUUAAGG U   
+         DM3881    AAGA CU AU A GCUUAAUC  GGU   AAAGCG A ACCAC UCAUGAUGGU UUG                         AG  UAAA UGU UCA AG  UCA UU U UAGUCUU A   
+         DH5280    GUAG AU AU A GUUUAC    AA    AAAACA U UAGAC UGUGAAUCUA ACA                         A   CAGG AAA UCA AA   UU CC U UAUUUAC C   
+         DT4081    GUAG AU AU A AUUUAAUC  GGU   AAAAUGUA UGUUU UUAGGGUACA UAU                         UA  UCUA AGU UCA AA  UCU UA G UAUUUAC A   
+         DR5120    GAGU UG UU A GUCUAA    AC    AAGACA G UUGUU UUCGGCACAA CAA                         A   UUAU GGU UAA AC  CCC AU A AUAACUC U   
+         DM3640    AGAC AC GU A GCUUAGU   GGU   AAAGCA C UGGUC UCAUAAGCCA GCU                         AU  CGCA AGU UCG AA  UCU CG C CGUGUCU A   
+         DT4070    GUUG CA UU A GCUCAAUU  GGU   AGAGCG U UUGUU UUGUAAUCAA AAG                         GU  UUAG AGU UCA AC  UCU CU A AUGCANU N   
+         DD4620    UCAU UU CU A GUCUAGU   UA    AGGAUG U UGCUU UGUCGUGGCG GUG                         G   GGUA U   GUU UU    G UA C GGGAUGA G   
+         DA0340    GGGC UC GU A GCUCAGC   GGG   AGAGCG C CGCCU UUGCGAGGCG GAG                         GC  CGCG GGU UCA AA  UCC CG C CGAGUCC A   
+         DS0260    GGAA GG UA G GGCGUAGU  GGU   ACGCAA C UAGUC UUGAAAACUA GC  CCGCUGU AGU   G  AUA CGG    UGAU GGU UCG AC  UCC AU U ACCUUCC UCCA
+         DP4060    CAGA UU GU C UCGUAAUU  GGUU  AUCGAG C CUACA UUGGGUGUAG GAU                         UU  UGAG GGU UCA AG  UCC UU C CAAUCUG A   
+         DQ1341  A UGGG CU AU G GUGUAAUU  GGC   AGCACG A GUGAU UCUGGUUCAU UUA                         G   UCUA GGU UCG AG  UCC UG G UAGCCCA G   
+         DI1860    GGGC CU AU A GCUCAGCU  GGUU  AGAGUG C ACCCC UGAUAAGGGU GAG                         GU  CACA AGU UCA AG  UCU UG U UAGGCCC ACCA
+         DL5221    GCUA GC GU G GCAGAGCU CGGCA  AAUGCA A AAGGC UUAAGCCCUU UAU                         C   CAGA GGU UCA AA  UCC UC U CCCUAGC U   
+         DW5220    AGAA AC UU A GGAUUAAC UGUCACCAAACCA A AGGCC UUCAAAGCCU UAA                         A   UAAG AGU UAA AC  UCU CU U AGUUUCU G   
+         DR4880    GAAU AU GA A GCGAUUA         AUUGCA G UUAGU UUCGACCUAA CCU                         U   AGGU A   UUA UA    U AC C CUUAUUU U   
+         DX4980     GUA AA GU A AGCUAAAU  GUU   AAGCUU U UGGGU UCAUACCUCA AGA                         A   UAGAAGGA UAA AA  ACC UC U CUUUAUC     
+         DT5281    GUCC CG AU A GUAUAA    AA    AUUACU C UGGUC UUGUAAGCCA AAA                         A   UGAA GAG UCA GC   UC UU C UCGGGAC A   
+         DD3280    GGGA UU GU A GUUCAAUU  GGUU  AGAGCA C CGCCC UGUCAAGGCG GAA                         GC  UGCG GGU UCG AG  CCC CG U CAGUCCC G   
+         DW2680    GCGC UC UU A GUUCAGUU CGGU   AGAACG C GGGUC UCCAAAACCC GAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+         DW5360    AGGA AU UU A GGUUAA    AC    AGACCA A GAGCC UUCAAAGCCC UAA                         G   CAAG U A CAA UU  U A CU U AAUUCCU G   
+         DG5280    ACUC CC UU A GUAUAA    AC    AAUACA A CUGAC UUCCAAUCAG UUA                         A   UUCU GAA AAA AC   UC AG A AGAGAGU A   
+         DW4620    AGUG AU CU A GGUUAUU   UU    GGACUG U CUGUU UUCAAAACAG GAG                         G   UGGC     UUU G       GU C GGUUGCU G   
+         DG1230    GUCG GU GU C GUAUAU    GGU U AUUAC  A GGCCU UGCCAAGGCU UAG                         A   CGGC AGU UCG AU  CCU GC U CACCGGC UCCA
+         DR1664    GUCC UC UU A GUUAAAU   GGAU  AUAACG A GCCCC UCCUAAGGGC UAA                         U   UGCA GGU UCG AU  UCC UG C AGGGGAC ACCA
+         DW3880    AAGA GU AU A GUUUAAU   GGU   AAAACU G UAAGC UUCAACCUUA UAU                         U   UCUU AGU UCA AA  UCU AA G UACUCUU G   
+         DM0260    AGUU AG UU G GCAGAGU   GGU   UAUGCA C CUCCU UCAUACGGAG CG                          ACUACAGU GGU UCA AA  UCC AC U ACUAACU ACCA
+         DP5000    CAGA AA AU A GUUUAG    UG    AGAAUG A UAGCU UUGGGAGCUG UUG                         G   UGUA AGU AUA AA GUCU UG C UUUUCUG A   
+         DC5360    AGCC CU GU G GUGAAUU         UACACG U UGAAU UGCAAAUUCA GAG                         A   AGCA GCU UCA AU   UC UG C CGGGGCU U   
+         DS4701    AUUU GU GA U UUUCAC    GC    CGAGAG U GUUUC UUGAGGAGGU AAU                         G   CACU   A AUG AA  G   GG U UACAAGG C   
+         DM4701    GGUA AA GU G GUCUAAU   AU  U AGGAUA U AGGGC UCAUGCCCCU AAG                         G   CGCC A C GCG UA  A U GG C CUUUAUC U   
+         DG5020    UCUA UU A  A UAUAACA         GUAUAU U UAGUU UUCCAAAUUA AAA                         G   GCCU GUU A G AA  GUC AG G UAGUAAA A   
+         DW6160    GACU CC UU A GCAUAGU   GGUUU AUUGUA A UUGUC UCCAAAGCAG UUG                         GU  CCAG GGU UCA AC  UCC CU G AGGGGUC U   
+         DG9160    GCGU UG GU G GUAUAGU   GGUG  AGCAUA G CUGCC UUCCAAGCAG UUG                         A   CCCG GGU UCG AU  UCC CG G CCAACGC A   
+         DA5000    GUGG AC UU A GUUUAAAA  GAU   AAAACA A UUGAU UUGCAAUCAG UAA                         C   UCCA AGU UUA AC  UCU CG G AGUCCAC A   
+         DN2920    UCCU CA GU A GCUCAGU   GGU   AGAGCG G UCGGC UGUUAACCGA UUG                         GU  CGUA GGU UCG UA  ACC UA C UUGGGGA G   
+         DT3200    GCCC UU UU A ACUCAGU   GGU   AGAGUA A CGCCA UGGUAAGGCG UAA                         GU  CGUC GGU UCA AA  UCC GA U AAAGGGC U   
+         DS6240    GUCA GC AU G GCAGAGU   GGUCU AAUGCG U UAGAC UUGAAAUCUA AU  UCC     UUC   G      GGAG   CGUA GGU UCG AA  CCC UA C UGCUGAC G   
+         DP4620    CAGUUUA GU A GUUUAAU   GA    AGAAUG C UAGCU UUGGGGGUUG GGA                         G   UCUC UG  GUU      UG GA G UUGGCUG G   
+         DR0220    GUCC CG CU G GUGUAAU   GGAU  AGCAUA C GAUCC UUCUAAGUUU GCG                         G   UCCU GGU UCG AU  CCC AG G GCGGGAU ACCA
+         DW4700    AAGA AA GU A AUUUAAG   UU    AAAAUA U UUUGU UUCAAACAUA ACU                         A   UAGG UA  GUC AU   UA CC U CUUUCUU G   
+         DC4080    GGAG GU GU U GUUUAAA   GGUU  AAGCUA U UAGAU UGCAGAUCUA CUU                         AU  UAAG AGU UCG AU  UCU CU U CAUCUCU U   
+         DE4700    GCUU AA GU A GUUUAG    GG    AAAACA U AAGAU UUUCAUUCUU AAG                         U   CAGA A A GCA G     U UC U CUUAAGU U   
+         DK5080    CCUU AA UU A GCUUAU    UU    AAAGCU U UAGAC UCUUAAUUUA AAG                         A   AAUU AGC UAA UA  CCU AU U AUUAAGG A   
+         DA5100    AAGG UC UU A GCUUAA    UU    AAAGUA U UUGUU UUGCAUACAG AAG                         A   UGUG GGG UAG UG  UCC UG C AGAUCUU A   
+         DQ5160    UAAG GA GU A GUAUAAA   GGA   AGUACA A AGGGU UUUGAUCUCU UAA                         G   UAUA GGU UCA AU  UCC UA U CUCUUUA G   
+         DV4700    UGUA AG AU A AUAUAAA   CC    AGUAUA A UUCAU UUACACUGAA UGU                         G   UCAG AU   AA U    GU CU G UCUUACU U   
+         DT5060    GCCC UA GU A GCUCAGC   GC  C AGAGCG C CGGUC UUGUAAUCCG GAA                         GU  CGGA GGU UAA AA  CCC UC C CUAGUGC U   
+         DE4240    GUCC CU UU C GUCCAGU   GGUUA AGGACA U CGUCU UUUCAUGUCG AAG                         A   CACG GGU UCC AU  UCC CG U AAGGGAU A   
+         DI0260    ACUU CG GU A GCUUAGC   GAUCU AAAGCA C UCGGC UGAUAACCGA GAG                         AU  CGGG GGU UUA AA  UCC CU C CCGGAGU ACCA
+         DR4080    GCUC UC UU A GCUUAAU   GGUU  AAAGCA U AAUAC UUCUAAUAUU AAU                         AU  UCCA UGU UCA AA  UCA UG G AGAGAGU A   
+         DM4700    GGUA AA GU A GUCUAAU   GA    AGGACA G AAGAC CUAUGAUUUU CAA                         G   UGUU A   UAA U     U AA C CUUUACU U   
+         DG0260    GCGG UU AA G CACACG    GGUU  GUGUCG C AGGCC UUCCAAGCCU CGC                         UG AGUAG GGU UCG AU  UCC CU C UAGCCGC UCCA
+         DL4701    CACA AG CU G GCAGAC    AU    AAUGCA U ACGAU UUAAGCUCGU CUU                         A   UAAG A U CAU AU    U CU U GUUUGUG U   
+         DI2922    GCAU CC AU G GCUGAAU   GGUU  AAAGCG C CCAAC UCAUAAUUGG CGA                         AU UCGUA GGU UCA AU  UCC UA C UGGAUGC A   
+         DR5220    AGAA AG UU A GUCUAA    CU    AAGACA G CUGGU UUCGACCCAG CAA                         A   UUAU AGA CCC AC   CU AU A ACUUUCU U   
+         DT0260    GCUC CU AA A GCAUUGUU  GGU   GAUGCA G UUGCC UUGUAAGCAU CUG                         A   ACCG GGU UCG AU  UCC UA G UGGGAGC ACCA
+         DR2600    GGGU UU GU A GCUCAGA   GGAUU AGAGCA C GUGGC UACGAACCAC GGU                         GU  CGGG GGU UCG AA  UCC CU C CUUGCCC A   
+         DC3920    GAUU AC GA U GUAAAU    GGU   UUACCC U UUGAC UGCAAAUCUU AAG                         GA  UUAG G U UCG AU  U C CU A CGUAAUC C   
+         DL4840    UCUA AU AU G GCAGAUU         AGUGCA A UAGAU UUAAGCUCUA UAU                         A   UAAA GU  AUU UU   AC UU U UAUUAGA A   
+         DV9990    GUUU CC GU A GUGUAGU   GGUU  AUCACG U UCGCC UAACACGCGA AAG                         GU  CCCC GGU UCG AA  ACC GG G CGGAAAC A   
+         DQ4070    UGAA UU GU A GACUAAUA  GGU   AAGUCC C CAAAA UUUGAGUUUG GCU U                       UA  GGUG UGU UCG AA  UCA CC C CAAUUCA A   
+         DE5220    GUUC CC GU A GUUGAGAA         CAACA A UGGCU UUUCAAGCCG UAG                         U   CCUU GGG GUC UA  ACC AA G CGGGAAU A   
+         DC3881    AGGA GU UU G AGCAAAU   GGUU  UUGCGU U UUGAU UGCAAAUUGA AAU                         A   UAGG GAU UCG AUU UCC CC G GACUCCU C   
+         DS5080    GGAG AA GU G GCACGAUA  GG    AAUGCA U GCGGC UUGAAACCGU UUG                         A   UAGA GGU UUC UU   CC UC U CUUCUCU U   
+         DE4080    GAUC UU AU C GUCUAAU   GGUU  ACGACA U CAACU UUUCAUGUUG AAA                         A   UGUU GGU UCA AU  CCC AA C UAAGAUU A   
+         DE0660    GCUC CG GU G GUGUAGUC CGGCCA AUCAUG C UGGCC UUUCGAGCCA GCG                         A   CUCG GGU UCA AA  UCC CG G CCGGAGC A   
+         DW4840    AAGG CU UU A AGUUAA    UA    AAACUA A UAACC UUCAAAGCUA UAA                         A   UAAA G A AAU UU    C UU U AAGCCUU A   
+         DI5160    GGAA GC GU G CCUGAA    AGU   UAAGGA C CUCCU UGAUAGGGAG GCU                         UA  UAGG GGU UCA AA  CCC CC U CACUUCC U   
+         DA4620    GACG GU AU A GUUUAA    GUU   GAGAUG U GUGCU CUGCGAGCAU UCG                         G   UAGA   G GUU         UC U UGCCGUU G   
+         DH1540  G GCGG UU GU G GCGAAGU   GGUU  AACGCA C CAGAU UGUGGCUCUG GCA                         CU  CGUG GGU UCG AU  UCC CA U CAAUCGC CCCA
+         DM4501    GUCG GA AU A GUUUAGUA  GGGU  AGAACA G CGGGA UCAUAAUUCG CAC                         A   CGGG GGU UCA AA  UCC CU C UUCCGAU A   
+         DA6281    GGGC GU GU G GCGUAGUC  GGU   AGCGCG C UCCCU UAGCAUGGGA GAG                         GU  CUCC GGU UCG AU  UCC GG A CUCGUCC A   
+         DP4700    CUAG AU AU A GUUUAGA   GC    AAAAUA U UGGCU UUGGGAGCUA AAG                         A   CACU U   UUA U     G AG U UUUCUAG A   
+         DD4700    UUAA AA GU A GUUAAU    AU    AUAACU U AGAAU UGUCAGUUCU AGA                         U   UCCU U U UAC U     A AG G CUUUUUA U   
+         DG4980     CUU UA UU AGUAUAAU    UA    GUAUA  U UUGAU UUCCAAUCAA AAG                         G   GCUU UGU UAAGAA  UCA AA G AUGGAGU     
diff --git a/Cove/Demos/test100.fa b/Cove/Demos/test100.fa
new file mode 100644
index 0000000..aa0f15f
--- /dev/null
+++ b/Cove/Demos/test100.fa
@@ -0,0 +1,200 @@
+> DQ4880
+UAUAUUUUGGUGUAUGAUGCACAAAAGUUUUUGAUACUUUUAGAAAUAGUUUAAUUCUAUUAAAUAUAA
+> DX0260
+UGCGGGUUAGAUCUCUCUGGUAGAGAUCGCUAGUCUCAUAAGCUAGAAAGAGGUAGGUUCGAUUCCUGCACCCGCUUCCA
+> DT6160
+GGCUCCUUAGCAUAGUGGUAUUGCGUUUCCCUAGUAAGGAAGAGGUCAUGAGUUCGAUCCUCAUAGGAGCCU
+> DT9991
+GGCUCCAUAGCUCAGGGGUUAGAGCACUGGUCUUGUAAACCAGGGGUCGCGAGUUCAAAUCUCGCUGGGGCCU
+> DY5220
+GGUAAGAUGGCUGAGUGUUGAAGCGUUAGGCUGUAGUCCUUUUUACAGAGGUUCAAUUCCUCUUCUUAUCG
+> DE1660
+GUCCCCUUCGUCUAGAGGCCCAGGACACCGCCCUUUCACGGCGGUAACAGGGGUUCGAAUCCCCUAGGGGACGCCA
+> DI2220
+GGGCUAUUAGCUCAGUUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGGCCCUGGUUCAAAUCCAGGAUGGCCCA
+> DL2522
+UCCUUCGUGGUGAAAUGGUAAACACGUGUGAUUCAAAAUCACAUGCAUAAGCUUGCCGGUUCGAGUCCGGUCGAAGGUA
+> DC5020
+GGUUUUGUAGUGUAAUUAACAUAUUAGAUUGCAAAUCUAUAGAUGCGGCCAGUUUAUCCGCCAAAACUU
+> DS2922
+GGAGAGAUGGCUGAGCGGUUGAUAGCCCCGGUCUUGAAAACCGGUAUAGUUUUAACAAAGAAUCUACGAGGGUUCGAAUCCCUCUCUCUCCU
+> DA5280
+GAGGAUUUAGCUUAAUUAAAGCAGUUGAUUUGCAUUUAACAGAUGUAAGAUAUAGUCUUACAGUCCUUA
+> DT4700
+GCUUUAAAAGCUUUGCUGAAGCAACGGCCUUGUAAGUCGUAGAAAACUAUACGUUUUAAAGCU
+> DY5040
+AAUAAGAUGGCUGAGAGAACAAGCGGUGGAUUGUAAAUCCAUACACAAAGGUUAAAUCCCUUUUCUUAUUA
+> DG7740
+GCAUCGGUGGUUCAGUGGUAGAAUGCUCGCCUGCCACGCGGGCGGCCCGGGUUCGAUUCCCGGCCGAUGCA
+> DF5220
+GCCCCCAUAGCUUAACCCACAAAGCAUGGCACUGAAGAUGCCAAGAUGGUACCUACUAUACCUGUGGGCA
+> DV3960
+AAGAAAUUAGCUCAACGGUAGAGCAACCGUUUUACACACGGAAGGCUAUGAGUUCGAAUCUCCUAUUUCUUACCA
+> DY2920
+GGGUCGAUGCCCGAGCGGUUAAUGGGGACGGACUGUAAAUUCGUUGGCAAUAUGUCUACGCUGGUUCAAAUCCAGCUCGGCCCA
+> DL1543
+GCCGGUGUGGCGGAAUUGGCAGACGCGCACGACUCAAAAUCGUGUUCCUUCUGGAGUGUCGGUUCGACCCCGACCACCGGUA
+> DX4440
+AGCGGGGUAGAGGAAUUGGUCAACUCAUCAGGCUCAUGACCUGAAGACUGCAGGUUCGAAUCCUGUCCCCGCCU
+> DH5120
+GUAGAUAUAGUUUAAUAAAACACUAGAUUGUGAUUCUAGAGUCAGAGGUUAAACCCCUCUUAUCAACC
+> DL4760
+ACUAUUUUGGCAGAUAAGUGCAAUGAAUUUAGAAUUCAUUUAUGUAGAUUUUUUUCUACAAAUAGUA
+> DA2480
+GGGAGUAUAGCUCAGUUGGUAGAGCGCUGCCUUUGCAAGGCAGAUGUCAGCGGUUCGAGUCCGCUUACUUCCACCA
+> DY4880
+GAUUAAGUGGCUGAAGUUUAGGCGAUAGAUUGUAAAUCUAUUUAUAAGAAUUAUUCUUCUUAAUCA
+> DY3280
+GGGUCGAUGCCCGAGCGGUUAAUGGGGACGGACUGUAAAUUCGUUGGCAAUAUGUCUACGCUGGUUCAAAUCCAGCUCGGCCCA
+> DY6743
+CCGACCUUAGCUCAGUUGGUAGAGCGGAGGACUGUAGAUCCUUAGGUCACUGGUUCGAAUCUGGUAGGUUUGA
+> DW5080
+AAGGACUUAAGUUAAAUAAACUGAAAGCCUUCAAAGCUUUAACAAAGAAUUGGAAACUUCUUAGUCCUUG
+> DQ3220
+UGGGGCGUGGCCAAGCGGUAAGGCAGCAGGUUUUGAUCCUGUUAUUCGGAGGUUCGAAUCCUUCCGUCCCAG
+> DX5160
+AGUAAGGUAAGCUAAAUAAGCUUUUGGGCCCAUACCCCAACAAUGUUGUUAAAAUCCUUCCUUUACUA
+> DL1200
+GCCCAAGUGGCGGAAUGGUAGACGCAUGGGAUUUAAGAUCCCACGCUAGCAAUAGCGUGCCGGUUCAAGUCCGGCUUUGGGCACCA
+> DT4880
+GUUUUAAUAGUUUAAUAAAAACAUUGGUCUUGUAAAUCAAAAAUAAGAUUAUUUCUUUUAAAACU
+> DE1230
+GGCCCGUUGGAGAAACGGUUAACUCACAUGCCUUUCACGCAUGCAUUCACGGGUUCGAAUCCCGUACGGGUCACCA
+> DT2600
+GCCCUUUUAACUCAGUGGUAGAGUAACGCCAUGGUAGGGCGUAAGUCAUCGGUUCAAAUCUGAUAAAGGGCU
+> DT7740
+GGCGCCGUGGCUUAGUUGGUUAAAGCGCCUGUCUAGUAAACAGGAGAUCGUGAGUUCGAAUCUCGCCGGGGCCU
+> DE6160
+UCCUCAUUGGUGUAGUCGGUAACACUCUAGUCUUUCACACUGGUACCUCGGGUUCGAUUCCCGAAUGGGGAG
+> DQ5080
+UAAGGAUUAGUUUAAUUGGAAAAACGAAGAGCUUUGACUUCUUCUGCUUGGGUCCAUUCCCCACUCCUUAA
+> DH1700
+GGUGGCUAUAGCUCAGUUGGUAGAGCCCUGGAUUGUGAUUCCAGUUGUCGUGGGUUCGAAUCCCAUUAGCCACCCCA
+> DL4070
+GCUAUUUUGGUGGAAUUGGUAGACACGACGCACUUAAAAUGCGUUACUAUAAAAGUAUAAAAGUUCAAGUCUUUUAAGUAGCA
+> DT1542
+GCCGGUGUAGCUCAAUUGGUAGAGCAACUGACUUGUAAUCAGUAGGUUGGGGGUUCAAGUCCUCUUGCCGGCACCA
+> DS2480
+GGAGUGAUGUCUGAGUGGCCGAAAGAGCUCGAUUGCUAAUCGAGUAUACAGCUUCCUGUACCGAGGGUUCGAAUCCCUCUCACUCCG
+> DK5320
+CACUAUGAAGCUAAGAGCGUUAACCUUUUAAGUUAAAGUUAGAGACCUUAAAAUCUCCAUAGUGA
+> DX4960
+AAAAAGAUAAGCUAACUAAGCUACUGGGUUCAUACCCCAUUUAUAAAGGUUUUAAUCCUUUUCUUUUUA
+> DL1662
+GCCGAAGUGGCGAAAUCGGUAGACGCAGUUGAUUCAAAAUCAACCGUAGAAAUACGUGCCGGUUCGAGUCCGGCCUUCGGCACCA
+> DQ6160
+GGUUUUAUAGUGUAAUUGGUUAGCACCCAGGACUUUGAAUCCUGUAAUCUGAGUUCGAGUCUCAGUAGAACCA
+> DL7920
+GUCAGGAUGGCCGAGCGGUCUAAGGCGCUGCGUUCAGGUCGCAGUCUCCCCUGGAGGCGUGGGUUCGAAUCCCACUUCUGACA
+> DH2960
+GGCGGAUGUAGCCAAGUGGAUCAAGGCAGUGGAUUGUGAAUCCACCAUGCGCGGGUUCAAUUCCCGUCGUUCGCCC
+> DD4000
+GGAUCUGUAGCUUAAUAGUAAAGUACCAUUUUGUCAUAAUGGAGGAUGUCAGUGCAAAUCUGAUUAGAUUCG
+> DL1141
+GGGGAUUGGCGGAAUUGGCAGACGCACUAGACUUAGGAUCUAGCGUCUUUGACGUAAGGGUUCAAGUCCCUUAUCCCCCACCA
+> DD2920
+GGGAUUGUAGUUCAAUUGGUCAGAGCACCGCCCUGUCAAGGCGGAAGCUGCGGGUUCGAGCCCCGUCAGUCCCG
+> DV2600
+AGGGAUAUAACUCAGCGGUAGAGUAUCACCUUGACGUGGUGGAAGUCAUCAGUUCGAACCUGAUUAUCCCUA
+> DI2400
+GGGCUAUUAGCUCAGUUGGUUAGAGCGCACCCCUGAUAAGGGUGAGGCCCCUGGUUCGAAUCCAGGAUGGCCCA
+> DS0261
+GGAAAAGCAAAUAGACUGGCGACUAAACCCGAUUGGAAAUCGGUUGAGUAAUAGCAAUAUUGCCUUAUGGGUUCAACUCCCAUCUUUUCCGCCA
+> DF9160
+GCCGAAAUAGCUCAGUUGGGAGAGCGUUAGACUGAAGAUCUAAAAGGUCCCUGGUUCGAUCCCGGGUUUCGGCA
+> DR1660
+GCGCCCGUAGCUCAGCUGGAUAGAGCGCUGCCCUCCGGAGGCAGAGGUCUCAGGUUCGAAUCCUGUCGGGCGCGCCA
+> DY0660
+CCCGCGAUAGUUCAGAUUGGUAGAACGGCGGACUGUAGAUCCGCAUGUCGCUGGUUCAAAUCCGGCUCGCGGGA
+> DV3200
+AGGGGUAUAACUCAGCGGUAGAGUGUCACCUUGACGUGGUGGAAGUCAUCAGUUCGAACCUGAUUAUCCCUA
+> DS6745
+GUGGACGUGCCGGAGUGGUUAUCGGGCAUGACUAGAAAUCAUGUGGGCUUUGCCCGCGCACGUUCGAAUCCUGCCGUUCACG
+> DR1663
+GCAUCCGUAGCUCAGCUGGAUAGAGUACUCGGCUACGAACCGAGCGGUCGGAGGUUCGAAUCCUCCCGGAUGCACCA
+> DW4360
+GCGCUCUUAGUUCAGUUCGGUAGAACGCGGGUCUCCAAAACCCGAUGUCGUAGGUUCAAAUCCUACAGAGCGUG
+> DT3880
+GCCCGGUUAGCAUAAAAGUAAUGUAUCCGUUUUGUAAUCGGAAUAAACAAGUGCGAUACUUGUACUGGGCU
+> DC0380
+GCCAAGGUGGCAGAGUUCGGCCUAACGCGGCGGCCUGCAGAGCCGCUCAUCGCCGGUUCAAAUCCGGCCCUUGGCU
+> DR6051
+GCUCCAGUGGCCUAAUGGAUAUGGCUUUGGACUUCUAAUCCAAAGGUUGCGGGUUCGAGUCCCGUCUGGAGUA
+> DL5880
+ACUUUUAAAGGAUAACAGCUAUCCAUUGGUCUUAGGCCCCAAAAAUUUUGGUGCAACUCCAAAUAAAAGUA
+> DL1231
+GCGGGUGUGGCGAAAUUGGCAGACGCACUAGACUUAGGAUCUAGCGCUUUACGGCAUGCAGGUUCAAGUCCUGUCACCCGCACCA
+> DS2520
+GGAGAAGUGUCUGAGUGGUCGAAAGAGCUCGAUUGCUAAUCGAGUGUGUCUAAUAAACACCGAGGGUUCAAAUCCCUUCUUCUCCU
+> DF5930
+GUUAAUGUAGCUUAAACUAAAGGCAAGGCACUGAAAAUGCCAAGAUGAGUGUACGCACUCCAUGAACA
+> DL3200
+GCCUUGGUGGUGAAAUGGUGGUAGACACGCGAGACUCAAAAUCUCGUGCUAAACAGCGAGGAGGUUCGAGUCCUCUUCAAGGCA
+> DV4000
+AGGAGAUUAGCUUAAUUGGUAUAGCAUUCGUUUUACACACGAAAGAUUAUAGGUUCGACCUAUAUUUCCUA
+> DD2680
+GGGAUUGUAGUUCAAUUGGUCAGAGCACCGCCCUGUCAAGGCGGAAGCUGCGGGUUCGAGCCCCGUCAGUCCCG
+> DL7740
+GUCAGGAUGGCCGAGCGGUCUAAGGCGCCAGACUCAAGUUCUGGUCCUCUCUGAGGGCGUGGGUUCGAAUCCCACUUCUGACA
+> DQ1340
+GUGGGCUAUGGUGUAAUUGGCAGCACGACUGAUUCUGGUUCAGUUAGUCUAGGUUCGAGUCCUGGUAGCCCAG
+> DL0980
+GCGGGGGUGCCCGAGCCAGGUAAAGGGGCAGGGCUCAAGACCCUGUGGCGUAGGCCUGCGUGGGUUCGAAUCCCACCCCCCGCA
+> DR3320
+GGGCCUGUAGCUCAGAGGAUUAGAGCACGUGGCUACGAACCACGGUGUCGGGGGUUCGAAUCCCUCCUCGCCCA
+> DF5900
+GUUAAUGUAGCUUAAAAUUAAAGCAAGGCACUGAAAAUGCCUAGAUGAGUAUAUUAACUCCAUAAACA
+> DG5040
+ACUCUAUGAGUACAAACGUACCUUUGACUUCCAAUCAAAUAGCUCUUAGGGAAAAUCUAAGAUAGAGUA
+> DX4320
+AGCGGGGUAGAGUAGUUGGUUAACUCGUCAGGCUCAUGACCUGAAGAUUGCAGGUUCGAAUCCUGCCCCCGCCA
+> DG2440
+GCGGAUGUAACUCAAUCGGUAGAGUGCGAUCCUUCCAAGUUCGAGGUUGUGGGUUCGAGUCCCAUCAUCCGCU
+> DF1180
+GGUCGUGUAGCUCAGUCGGUAGAGCAGCAGACUGAAGCUCUGCGUGUCGGCGGUUCAAUUCCGUCCACGACCACCA
+> DT0661
+GCCUCAGUGGCUCAGCCUGGUAGAGCGCCUGCUUGGUAAGCAGGAGGCCGCGGGUUCAAACCCCGCCUGAGGCU
+> DM4000
+GCUUGUAUAGUUUAAUUGGUUAAAACAUUUGUCUCAUAAAUAAAUAAUGUAAGGUUCAAUUCCUUCUACAAGUA
+> DN4620
+GUGCGUGUAGAUUAUAUUUGGUAAAAUCGUAAGGCUGUUAACUUUGAGAUGGUGUGUUUGCCCGCGGACG
+> DD5320
+AAGAUAUUAGUAAAAUCAAUUACAUAACUUUGUCAAAGUUAAAUUAUAGAUCAAUAAUCUAUAUAUCUUA
+> DH2880
+GGCGGAUGUAGCCAAGUGGAUCAAGGCAGUGGAUUGUGAAUCCACCAUGCGCGGGUUCAAUUCCCGUCAUUCGCCC
+> DD4080
+GGAUCCAUAGCUUAAUAGUAAAGUCCUAUUUUGUCAUAAUAGAGGAUGUCAGUGCAAAUCUGAUUGGAUUCG
+> DI2701
+GGGCUAUUAGCUCAGUGGUAGAGCGCGCCCCUGAUAAGGGCGAGGUCUCUGGUUCAAGUCCAGGAUGGCCCA
+> DK4340
+GGGUGUAUAGCUCAGUUGGUAGAGCAUUGGGCUUUUAACCUAAUGGUCGCAGGUUCAAGUCCUGCUAUACCCA
+> DK1230
+GCAUCCAUAGCUCAGUUGGUAGAGCAACAGACUCUUAAUCUGUGGGUCCACGGUUCGAGCCCGUGUGGGUGUACCA
+> DR5080
+NAAGAGUUAGUUUAAGGAGAACCUCUGAUUUCGGCUCAGAGGGUUUUGGUUCAACCCCAAAACUCUUGN
+> DA7680
+GGGGGCGUAGCUCAGAUGGUAGAGCGCUCGCUUAGCAUGCGAGAGGUACCGGGAUCGAUACCCGGCGCCUCCA
+> DG2921
+GCGGAUAUGGUCGAAUGGUAAAAUUUCUCUUUGCCAAGGAGAAGAUGCGGGUUCGAUUCCCGCUAUCCGCC
+> DP1360
+CGGGGUGUGGCGCAGCUUGGUAGCGCGCUUCGUUCGGGACGAAGAGGUCGUGGGUUCAAAUCCCGCCACCCCGA
+> DK6280
+UCCUUGUUAGCUCAGUUGGUAGAGCGUUCGGCUUUUAACCGAAAUGUCAGGGGUUCGAGCCCCCUAUGAGGAG
+> DL1750
+GCGGAAGUGGCGGAAUUGGUAGACGCACUAGAUUUAGGUUCAUGCGCCUGUAAGGUGUGAGAGUUCAAGUCUCUCCUUCCGCACCA
+> DY3770
+GAAGUAAUGGCUGAGUGGUUAAAGCGGCAGACUGUAAAUCUGUUGGUAGUACCGUCGUUGGUUCGAAUCCAACUUACUUCA
+> DG4070
+AUGAGUAUAAGUUAAUGGUUAAACUAAAUGUCUUCCACACAUUCCAUGUGAGUUCGAUUCUCACUACUCAUA
+> DL4700
+UGAAAGCUGGCAGAGUUAAUGCGCUUGAUUUAGGAUCAAUUUAUAAGUAUCCAUACUUGCUUUCAU
+> DH4360
+GGCGGAUGUAGCCAAGUGGAUCAAGGCAGUGGAUUGUGAAUCCACCACGCGCGGGUUCAAUCCCCGUCGUUCGCC
+> DD5280
+GAGAUAUUAGUAAAAUAAUUACAUAACCUUGUCAAGGUUAAGUUAUAGACUUAAAUCUAUAUAUCUUA
+> DS1230
+GGAGCGAUACUCAAGAGGCCGAAGAGGGCGCACUGCUAACGCGUUAGACGGUUAACCCCGUGCGAGGGUUCAAAUCCCUCUCGCUCCGCCA
+> DG8100
+GCGUUGGUGGUAUAGUGGUGAGCAUAGCUGCCUUCCAAGCAGUUGACCCGGGUUCGAUUCCCGGCCAACGCA
+> DP0680
+GGGGCCAUAGGGUAGCCUGGUCUAUCCUUUGGGCUUUGGGAGCCUGAGACCCCGGUUCAAAUCCGGGUGGCCCCA
diff --git a/Cove/Demos/test100.slx b/Cove/Demos/test100.slx
new file mode 100644
index 0000000..01cf40c
--- /dev/null
+++ b/Cove/Demos/test100.slx
@@ -0,0 +1,100 @@
+DQ4880    UAUA UU UU G GUGUAU    GA    UGCACA A AAGUU UUUGAUACUU UUA                         G   AAAU AGU UUA AU  UCU AU U AAAUAUA A   
+DX0260    UGCG GG UU A GAUCUCUC UGGUAG AGAUCG C UAGUC UCAUAAGCUA GAA                         AGA GGUA GGU UCG AU  UCC UG C ACCCGCU UCCA
+DT6160    GGCU CC UU A GCAUAGU   GGU   AUUGCG U UUCCC UAGUAAGGAA GAG                         GU  CAUG AGU UCG AU  CCU CA U AGGAGCC U   
+DT9991    GGCU CC AU A GCUCAGG   GGUU  AGAGCA C UGGUC UUGUAAACCA GGG                         GU  CGCG AGU UCA AA  UCU CG C UGGGGCC U   
+DY5220    GGUA AG AU G GCUGAGU   GU  U GAAGCG U UAGGC UGUAGUCCUU UUU                         A   CAGA GGU UCA AU  UCC UC U UCUUAUC G   
+DE1660    GUCC CC UU C GUCUAGA   GGCCC AGGACA C CGCCC UUUCACGGCG GUA                         A   CAGG GGU UCG AA  UCC CC U AGGGGAC GCCA
+DI2220    GGGC UA UU A GCUCAGUU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GG  CCCU GGU UCA AA  UCC AG G AUGGCCC A   
+DL2522    UCCU UC GU G GUGAAAU   GGUA  AACACG U GUGAU UCAAAAUCAC AU  GC      AUA   A       GCU   UGCC GGU UCG AG  UCC GG U CGAAGGU A   
+DC5020    GGUU UU GU A GUGUAA    UU    AACAUA U UAGAU UGCAAAUCUA UAG                         A   UGCG GCC AGU UU  AUC CG C CAAAACU U   
+DS2922    GGAG AG AU G GCUGAGC   GGUUG AUAGCC C CGGUC UUGAAAACCG GUA UAG UUUUAAC   AAAGAAUCUA    CGAG GGU UCG AA  UCC CU C UCUCUCC U   
+DA5280    GAGG AU UU A GCUUAA    UU    AAAGCA G UUGAU UUGCAUUUAA CAG                         A   UGUA AGA UAU AG  UCU UA C AGUCCUU A   
+DT4700    GCUU UA AA A GCUUUG    CU    GAAGCA A CGGCC UUGUAAGUCG UAG                         A   AAAC     UAU AC      GU U UUAAAGC U   
+DY5040    AAUA AG AU G GCUGAGA   GAA   CAAGCG G UGGAU UGUAAAUCCA UAC                         A   CAAA GGU UAA AU  CCC UU U UCUUAUU A   
+DG7740    GCAU CG GU G GUUCAGU   GGU   AGAAUG C UCGCC UGCCACGCGG GCG                         G   CCCG GGU UCG AU  UCC CG G CCGAUGC A   
+DF5220    GCCC CC AU A GCUUAACC  CAC   AAAGCA U GGCAC UGAAGAUGCC AAG                         A   UGGU AC  CUA CU   AU AC C UGUGGGC A   
+DV3960    AAGA AA UU A GCUCAAC   GGU   AGAGCA A CCGUU UUACACACGG AAG                         GC  UAUG AGU UCG AA  UCU CC U AUUUCUU ACCA
+DY2920    GGGU CG AU G CCCGAGC   GGUUA AUGGGG A CGGAC UGUAAAUUCG UU  GGC A   AUA        U GUCUA  CGCU GGU UCA AA  UCC AG C UCGGCCC A   
+DL1543    GCCG GU GU G GCGGAAUU  GGCA  GACGCG C ACGAC UCAAAAUCGU GU  UCC     UUC   U      GGAG   UGUC GGU UCG AC  CCC GA C CACCGGU A   
+DX4440    AGCG GG GU A GAGGAAUU  GGUC  AACUCA U CAGGC UCAUGACCUG AAG                         AC  UGCA GGU UCG AA  UCC UG U CCCCGCC U   
+DH5120    GUAG AU AU A GUUUAAU         AAAACA C UAGAU UGUGAUUCUA GAG                         U   CAGA GGU UAA AC  CCC UC U UAUCAAC C   
+DL4760    ACUA UU UU G GCAGAUA         AGUGCA A UGAAU UUAGAAUUCA UUU                         A   UGUA GAU UUU UU   UC UA C AAAUAGU A   
+DA2480    GGGA GU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCAAGGCA GAU                         GU  CAGC GGU UCG AG  UCC GC U UACUUCC ACCA
+DY4880    GAUU AA GU G GCUGAA    GUU   UAGGCG A UAGAU UGUAAAUCUA UUU                         A   UAAG A   AUU AU    U CU U CUUAAUC A   
+DY3280    GGGU CG AU G CCCGAGC   GGUUA AUGGGG A CGGAC UGUAAAUUCG UU  GGC A   AUA        U GUCUA  CGCU GGU UCA AA  UCC AG C UCGGCCC A   
+DY6743    CCGA CC UU A GCUCAGUU  GGU   AGAGCG G AGGAC UGUAGAUCCU UAG                         GU  CACU GGU UCG AA  UCU GG U AGGUUUG A   
+DW5080    AAGG AC UU A AGUUAA    AU    AAACUG A AAGCC UUCAAAGCUU UAA                         C   AAAG AAU UGG AAA CUU CU U AGUCCUU G   
+DQ3220    UGGG GC GU G GCCAAGC   GGU   AAGGCA G CAGGU UUUGAUCCUG UUA                         UU  CGGA GGU UCG AA  UCC UU C CGUCCCA G   
+DX5160    AGUA AG GU A AGCUAA    AU    AAGCUU U UGGGC CCAUACCCCA ACA                         A   UGUU G U UAA AA  UCC UU C CUUUACU A   
+DL1200    GCCC AA GU G GCGGAAU   GGUA  GACGCA U GGGAU UUAAGAUCCC AC  GCU A   GCA   A    U AGCG   UGCC GGU UCA AG  UCC GG C UUUGGGC ACCA
+DT4880    GUUU UA AU A GUUUAA    UA    AAAACA U UGGUC UUGUAAAUCA AAA                         A   UAAG A   UUA UU    U CU U UUAAAAC U   
+DE1230    GGCC CG UU G GAGAAAC   GGUU  AACUCA C AUGCC UUUCACGCAU GCA                         UU  CACG GGU UCG AA  UCC CG U ACGGGUC ACCA
+DT2600    GCCC UU UU A ACUCAGU   GGU   AGAGUA A CGCCA UGGUAGGGCG UAA                         GU  CAUC GGU UCA AA  UCU GA U AAAGGGC U   
+DT7740    GGCG CC GU G GCUUAGUU  GGUU  AAAGCG C CUGUC UAGUAAACAG GAG                         AU  CGUG AGU UCG AA  UCU CG C CGGGGCC U   
+DE6160    UCCU CA UU G GUGUAGUC  GGU   AACACU C UAGUC UUUCACACUG GUA                         C   CUCG GGU UCG AU  UCC CG A AUGGGGA G   
+DQ5080    UAAG GA UU A GUUUAAUU  GGA   AAAACG A AGAGC UUUGACUUCU UCU                         G   CUUG GGU CCA UU  CCC CA C  UCCUUA A   
+DH1700  G GUGG CU AU A GCUCAGUU  GGU   AGAGCC C UGGAU UGUGAUUCCA GUU                         GU  CGUG GGU UCG AA  UCC CA U UAGCCAC CCCA
+DL4070    GCUA UU UU G GUGGAAUU  GGUA  GACACG A CGCAC UUAAAAUGCG UU  ACU     AUA   AA     AGUA   UAAA AGU UCA AG  UCU UU U AAGUAGC A   
+DT1542    GCCG GU GU A GCUCAAUU  GGU   AGAGCA A CUGAC UUGUAAUCAG UAG                         GU  UGGG GGU UCA AG  UCC UC U UGCCGGC ACCA
+DS2480    GGAG UG AU G UCUGAGU   GGCCG AAAGAG C UCGAU UGCUAAUCGA GU  AUA CAG CUU   C  CUG UAC    CGAG GGU UCG AA  UCC CU C UCACUCC G   
+DK5320    CACU AU GA A GCUA            AGAGCG U UAACC UUUUAAGUUA AAG                         UU  AGAG ACC UUA AA   AU CU C CAUAGUG A   
+DX4960    AAAA AG AU A AGCUAA    CU    AAGCUA C UGGGU UCAUACCCCA UUU                         A   UAAA GGU UUU AA  UCC UU U UCUUUUU A   
+DL1662    GCCG AA GU G GCGAAAUC  GGUA  GACGCA G UUGAU UCAAAAUCAA CC  GUA     GAA   A      UACG   UGCC GGU UCG AG  UCC GG C CUUCGGC ACCA
+DQ6160    GGUU UU AU A GUGUAAUU  GGUU  AGCACC C AGGAC UUUGAAUCCU GUA                         A   UCUG AGU UCG AG  UCU CA G UAGAACC A   
+DL7920    GUCA GG AU G GCCGAGC   GGUCU AAGGCG C UGCGU UCAGGUCGCA GU  CUC C   CCU        G GAGG   CGUG GGU UCG AA  UCC CA C UUCUGAC A   
+DH2960  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         UG  CGCG GGU UCA AU  UCC CG U CGUUCGC CC  
+DD4000    GGAU CU GU A GCUUAAU   AGU   AAAGUA C CAUUU UGUCAUAAUG GAG                         GA  UGUC AGU GCA AA  UCU GA U UAGAUUC G   
+DL1141     GGG GA UU   GGCGGAAU UGGCA  GACGCA C UAGAC UUAGGAUCUA GC  GUC     UUU          GACG   UAAG GGU UCA AG  UCC CU U AUCCCCC ACCA
+DD2920    GGGA UU GU A GUUCAAUU  GGUC  AGAGCA C CGCCC UGUCAAGGCG GAA                         GC  UGCG GGU UCG AG  CCC CG U CAGUCCC G   
+DV2600    AGGG AU AU A ACUCAGC   GGU   AGAGUA U CACCU UGACGUGGUG GAA                         GU  CAUC AGU UCG AA  CCU GA U UAUCCCU A   
+DI2400    GGGC UA UU A GCUCAGUU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GC  CCCU GGU UCG AA  UCC AG G AUGGCCC A   
+DS0261    GGAA AA GC AAAUAGACU   GGCG  ACUAAA C CCGAU UGGAAAUCGG UU  GAG UAAUAGC  AAUAUUG CCU    UAUG GGU UCA AC  UCC CA U CUUUUCC GCCA
+DF9160    GCCG AA AU A GCUCAGUU  GGG   AGAGCG U UAGAC UGAAGAUCUA AAA                         GG UCCCU GGU UCG AU  CCC GG G UUUCGGC A   
+DR1660    GCGC CC GU A GCUCAGCU  GGAU  AGAGCG C UGCCC UCCGGAGGCA GAG                         GU  CUCA GGU UCG AA  UCC UG U CGGGCGC GCCA
+DY0660    CCCG CG AU A GUUCAGAU UGGU   AGAACG G CGGAC UGUAGAUCCG CAU                         GU  CGCU GGU UCA AA  UCC GG C UCGCGGG A   
+DV3200    AGGG GU AU A ACUCAGC   GGU   AGAGUG U CACCU UGACGUGGUG GAA                         GU  CAUC AGU UCG AA  CCU GA U UAUCCCU A   
+DS6745    GUGG AC GU G CCGGAGU   GGUU  AUCGGG C AUGAC UAGAAAUCAU GU  GGG C   UUU        G CCCG   CGCA CGU UCG AA  UCC UG C CGUUCAC G   
+DR1663    GCAU CC GU A GCUCAGCU  GGAU  AGAGUA C UCGGC UACGAACCGA GCG                         GU  CGGA GGU UCG AA  UCC UC C CGGAUGC ACCA
+DW4360    GCGC UC UU A GUUCAGUU CGGU   AGAACG C GGGUC UCCAAAACCC GAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DT3880    GCCC GG UU A GCAUAAA   AGU   AAUGUA U CCGUU UUGUAAUCGG AAU                         A   AACA AGU GCG AU  ACU UG U ACUGGGC U   
+DC0380    GCCA AG GU G GCAGAGUU CGGCCU AACGCG G CGGCC UGCAGAGCCG CUC                         AU  CGCC GGU UCA AA  UCC GG C CCUUGGC U   
+DR6051    GCUC CA GU G GCCUAAU   GGAU  AUGGCU U UGGAC UUCUAAUCCA AAG                         GU  UGCG GGU UCG AG  UCC CG U CUGGAGU A   
+DL5880    ACUU UU AA A GGAUAAC   AGC   UAUCCA U UGGUC UUAGGCCCCA AAA                         A   UUUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL1231    GCGG GU GU G GCGAAAUU  GGCA  GACGCA C UAGAC UUAGGAUCUA GC  GCU     UUA   C      GGCA   UGCA GGU UCA AG  UCC UG U CACCCGC ACCA
+DS2520    GGAG AA GU G UCUGAGU   GGUCG AAAGAG C UCGAU UGCUAAUCGA GU  GUG UCU AAU      AAA CAC    CGAG GGU UCA AA  UCC CU U CUUCUCC U   
+DF5930    GUUA AU GU A GCUUAAA   CUA   AAGGCA A GGCAC UGAAAAUGCC AAG                         A   UGAG UG  UAC G    CA CU C CAUGAAC A   
+DL3200    GCCU UG GU G GUGAAAUGGUGGUA  GACACG C GAGAC UCAAAAUCUC GU  GCU     AAA   C      AGCG   AGGA GGU UCG AG  UCC UC U UCAAGGC A   
+DV4000    AGGA GA UU A GCUUAAUU  GGU   AUAGCA U UCGUU UUACACACGA AAG                         AU  UAUA GGU UCG A    CC UA U AUUUCCU A   
+DD2680    GGGA UU GU A GUUCAAUU  GGUC  AGAGCA C CGCCC UGUCAAGGCG GAA                         GC  UGCG GGU UCG AG  CCC CG U CAGUCCC G   
+DL7740    GUCA GG AU G GCCGAGC   GGUCU AAGGCG C CAGAC UCAAGUUCUG GU  CCU C   UCU        G AGGG   CGUG GGU UCG AA  UCC CA C UUCUGAC A   
+DQ1340  G UGGG CU AU G GUGUAAUU  GGC   AGCACG A CUGAU UCUGGUUCAG UUA                         G   UCUA GGU UCG AG  UCC UG G UAGCCCA G   
+DL0980    GCGG GG GU G CCCGAGCC AGGUA  AAGGGG C AGGGC UCAAGACCCU GU  GGC     GUA   G      GCCUG  CGUG GGU UCG AA  UCC CA C CCCCCGC A   
+DR3320    GGGC CU GU A GCUCAGA   GGAUU AGAGCA C GUGGC UACGAACCAC GGU                         GU  CGGG GGU UCG AA  UCC CU C CUCGCCC A   
+DF5900    GUUA AU GU A GCUUAAA   AUU   AAAGCA A GGCAC UGAAAAUGCC UAG                         A   UGAG U A UAU UA    A CU C CAUAAAC A   
+DG5040    ACUC UA UG A GUACAAA         CGUACC U UUGAC UUCCAAUCAA AUA                         GC  UCUU AGG GAA AA  UCU AA G AUAGAGU A   
+DX4320    AGCG GG GU A GAGUAGUU  GGUU  AACUCG U CAGGC UCAUGACCUG AAG                         AU  UGCA GGU UCG AA  UCC UG C CCCCGCC A   
+DG2440    GCGG AU GU A ACUCAAUC  GGU   AGAGUG C GAUCC UUCCAAGUUC GAG                         GU  UGUG GGU UCG AG  UCC CA U CAUCCGC U   
+DF1180    GGUC GU GU A GCUCAGUC  GGU   AGAGCA G CAGAC UGAAGCUCUG CGU                         GU  CGGC GGU UCA AU  UCC GU C CACGACC ACCA
+DT0661    GCCU CA GU G GCUCAGCC UGGU   AGAGCG C CUGCU UGGUAAGCAG GAG                         GC  CGCG GGU UCA AA  CCC CG C CUGAGGC U   
+DM4000    GCUU GU AU A GUUUAAUU  GGUU  AAAACA U UUGUC UCAUAAAUAA AUA                         AU  GUAA GGU UCA AU  UCC UU C UACAAGU A   
+DN4620    GUGC GU GU A GAUUAUAUUUGGU A AAAUCG U AAGGC UGUUAACUUU GAG                         A   UGGU G   UGU U     U GC C CGCGGAC G    
+DD5320    AAGA UA UU A GUAAAAU   CA    AUUACA U AACUU UGUCAAAGUU AAA                         U   UAUA GAU CAA UA  AUC UA U AUAUCUU A   
+DH2880  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         UG  CGCG GGU UCA AU  UCC CG U CAUUCGC CC  
+DD4080    GGAU CC AU A GCUUAAU   AGU   AAAGUC C UAUUU UGUCAUAAUA GAG                         GA  UGUC AGU GCA AA  UCU GA U UGGAUUC G   
+DI2701    GGGC UA UU A GCUCAGU   GGU   AGAGCG C GCCCC UGAUAAGGGC GAG                         GU  CUCU GGU UCA AG  UCC AG G AUGGCCC A   
+DK4340    GGGU GU AU A GCUCAGUU  GGU   AGAGCA U UGGGC UUUUAACCUA AUG                         GU  CGCA GGU UCA AG  UCC UG C UAUACCC A   
+DK1230    GCAU CC AU A GCUCAGUU  GGU   AGAGCA A CAGAC UCUUAAUCUG UGG                         GU  CCAC GGU UCG AG  CCC GU G UGGGUGU ACCA
+DR5080    NAAG AG UU A GUUUAA    GG    AGAACC U CUGAU UUCGGCUCAG AGG                         G   UUUU GGU UCA AC  CCC AA A ACUCUUG N   
+DA7680    GGGG GC GU A GCUCAGAU  GGU   AGAGCG C UCGCU UAGCAUGCGA GAG                         GU  ACCG GGA UCG AU  ACC CG G CGCCUCC A   
+DG2921    GCGG AU AU G GUCGAAU   GGU   AAAAUU U CUCUU UGCCAAGGAG AAG                         A   UGCG GGU UCG AU  UCC CG C UAUCCGC C   
+DP1360    CGGG GU GU G GCGCAGCU UGGU   AGCGCG C UUCGU UCGGGACGAA GAG                         GU  CGUG GGU UCA AA  UCC CG C CACCCCG A   
+DK6280    UCCU UG UU A GCUCAGUU  GGU   AGAGCG U UCGGC UUUUAACCGA AAU                         GU  CAGG GGU UCG AG  CCC CC U AUGAGGA G   
+DL1750    GCGG AA GU G GCGGAAUU  GGUA  GACGCA C UAGAU UUAGGUUCAU GC  GCC U   GUA        A GGUG   UGAG AGU UCA AG  UCU CU C CUUCCGC ACCA
+DY3770    GAAG UA AU G GCUGAGU   GGUU  AAAGCG G CAGAC UGUAAAUCUG UU  GGU     AGU          ACCGU  CGUU GGU UCG AA  UCC AA C UUACUUC A   
+DG4070    AUGA GU AU A AGUUAAU   GGUU  AAACUA A AUGUC UUCCACACAU UCC                         A   UGUG AGU UCG AU  UCU CA C UACUCAU A   
+DL4700    UGAA AG CU G GCAGAG    UU    AAUGCG C UUGAU UUAGGAUCAA UUU                         A   UAAG UA  UCC A    UA CU U GCUUUCA U   
+DH4360  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         CG  CGCG GGU UCA AU  CCC CG U CGUUCGC C   
+DD5280    GAGA UA UU A GUAAAA    UA    AUUACA U AACCU UGUCAAGGUU AAG                         U   UAUA GAC UUA AA   UC UA U AUAUCUU A   
+DS1230    GGAG CG AU A CUCAAGA   GGCCG AAGAGG G CGCAC UGCUAACGCG UUAGACG GU  UAA   C   CC CGUG   CGAG GGU UCA AA  UCC CU C UCGCUCC GCCA
+DG8100    GCGU UG GU G GUAUAGU   GGUG  AGCAUA G CUGCC UUCCAAGCAG UUG                         A   CCCG GGU UCG AU  UCC CG G CCAACGC A   
+DP0680    GGGG CC AU A GGGUAGCC UGGUCU AUCCUU U GGGCU UUGGGAGCCU GAG                         A   CCCC GGU UCA AA  UCC GG G UGGCCCC A   
diff --git a/Cove/Demos/trna1415.slx b/Cove/Demos/trna1415.slx
new file mode 100644
index 0000000..4303bb9
--- /dev/null
+++ b/Cove/Demos/trna1415.slx
@@ -0,0 +1,1415 @@
+DA0260    GGGC GA AU A GUGUCAGC  GGG   AGCACA C CAGAC UUGCAAUCUG GUA                         G   GGAG GGU UCG AG  UCC CU C UUUGUCC ACCA
+DA0261    GGGC GA AU A GUGUCAGC  GGG   AGCACA C CAGAC UUGCAAUCUG GUA                         G   GGAG GGU UCG AG  UCC CU C UUUGUCC ACCA
+DA0340    GGGC UC GU A GCUCAGC   GGG   AGAGCG C CGCCU UUGCGAGGCG GAG                         GC  CGCG GGU UCA AA  UCC CG C CGAGUCC A   
+DA0380    GGGC CC AU A GCUCAGU   GGU   AGAGUG C CUCCU UUGCAAGGAG GAU                         GC  CCUG GGU UCG AA  UCC CA G UGGGUCC A   
+DA0420    GGGC CC AU A GCUCAGU   GGU   AGAGUG C CUCCU UUGCAAGGAG GAU                         GC  CCUG GGU UGG AA  UCC CA G UGGGUCC A   
+DA0580    GGGC CC GU A GCUCAGAC UGGG   AGAGCG C CGCCC UUGCAAGGCG GAG                         GC  CCCG GGU UCA AA  UCC CG G UGGGUCC A   
+DA0620    GGGC CC GU A GCUCAGAC UGGG   AGAGCG C CGCCC UUGCAAGGCG GAG                         GC  CCCG GGU UCA AA  UCC CG G UGGGUCC A   
+DA0660    GGGC CC GU A GCUCAGUU  GGG   AGAGCG C UGCCC UUGCAAGGCA GAG                         GC  CGUG GGU UCA AA  UCC CG C CGGGUCC A   
+DA0670    GGGC UU GU A GCUCAGCU  GGU   AGAGCG C CGCCU UUGCAAGGCG GAG                         GC  CCUG GGU CCG AA  UCC CA G CAAGUCC A   
+DA0680    GGGC CC AU A GCUCAGCC UGGG   AGAGCG C CGCCC UUGCAAGGCG GAG                         GC  CCCG GGU UCA AA  UCC CG G UGGGUCC A   
+DA0780    GGGC UC GU A GCUCAGCU  GGA   AGAGCG C GGCGU UUGCAACGCC GAG                         GC  CUGG GGU UCA AA  UCC CC A CGGGUCC A   
+DA0940    GGGC CG GU A GCUCAGCC UGGG   AGAGCG U CGGCU UUGCAAGCCG AAG                         GC  CCCG GGU UCG AA  UCC CG G CCGGUCC ACCA
+DA0980    GGGC CG GU A GUCUAGC   GGA   AGGACG C CCGCC UUGCGCGCGG GAG                         AU  CCCG GGU UCG AA  UCC CG G CCGGUCC A   
+DA0981    GGGC CG GU A GUCUAGC   GGA   AGGACG C CCGCC UCGCGCGCGG GAG                         AU  CCCG GGU UCG AA  UCC CG G CCGGUCC A   
+DA1140    GGGC CC UU A GCUCAGCU  GGG   AGAGCA C CUGCC UUGCACGCAG GGG                         GU  CGAC GGU UCG AU  CCC GU U AGGGUCC ACCA
+DA1180    GGGC CC UU A GCUCAGCU  GGG   AGAGCA C CUGCC UUGCACGCAG GGG                         GU  CGAC GGU UCG AU  CCC GU U AGGGUCC ACCA
+DA1230    GGGG CU UU A GCUCAGCU  GGG   AGAGCG C CUGCC UUGCACGCAG GAG                         GU  CAGC GGU UCG AU   CC GC U AAGCUCC ACCA
+DA1260    GGGC CC GU A GCUCAGCU  GGG   AGAGCA C CUGCC UUGCACGCAG GGG                         GU  CGAC GGU UCG AU  CCC GU U CGGGUCC ACCA
+DA1540    GGGG CC UU A GCUCAGCU  GGG   AGAGCG C CUGCU UUGCACGCAG GAG                         GU  CAGC GGU UCG AU  CCC GC U AGGCUCC A   
+DA1541    GGGG CC UU A GCUCAGCU  GGG   AGAGCG C CUGCU UUGCACGCAG GAG                         GU  CAGC GGU UCG AU  CCC GC U AGGCUCC ACCA
+DA1542    GGGG CC UU A GCUCAGCU  GGG   AGAGCG C CUGCU UUGCACGCAG GAG                         GU  CAGC GGU UCG AU  CCC GC U AGGCUCC A   
+DA1543    GGGG CC UU A GCUCAGCU  GGG   AGAGCG C CUGCU UUGCACGCAG GAG                         GU  CAGC GGU  CG A   CCC GC U AGGCUCC ACCA
+DA1620    GGGG CU GU A GCUCAGUU  GGG   AGAGCA C CUGCU UUGCAAGCAG GGG                         GU  CAUC GGU UCG AG  ACC GG U CAGCUCC ACCA
+DA1660    GGGG CU AU A GCUCAGCU  GGG   AGAGCG C CUGCU UUGCACGCAG GAG                         GU  CUGC GGU UCG AU  CCC GC A UAGCUCC ACCA
+DA1661    GGGG CU AU A GCUCAGCU  GGG   AGAGCG C UUGCA UGGCAUGCAA GAG                         GU  CAGC GGU UCG AU  CCC GC U UAGCUCC ACCA
+DA1820    GGGG CC AU A GCUCAGCU  GGG   AGAGCG C CUGCU UUGCACGCAG GAG                         GU  CAGG AGU UCG AU  CCU CC U UGGCUCC ACCA
+DA1860    GGGG CA UU A GCUCAGCU  GGG   AGAGCG C CUGCU UUGCACGCAG GAG                         GU  CAGC GGU UCG AU  CCC GC U AUUCUCC ACCA
+DA1900    GGGG CC AU A GCUCAGUU  GGU   AGAGCG C CUGCU UUGCAAGCAG GUG                         U   CGUC GGU UCG AA  UCC GU C UGGCUCC ACCA
+DA2100    GGGG GU UU A GCUCAGUU  GGU   AGAGCG C CUGCU UUGCAAGCAG GAU                         GU  CAGC GGU UCG AG  UCC GC U AACCUCC ACCA
+DA2180    GGGG GU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCAAGGCA GAU                         GU  CAGC GGU UCG AG  UCC GC U UACCUCC A   
+DA2220    GGGG GU AU A GCUCAGUU  GGU   AGAGCG U UGCUU UUGCAUAGCA GAC                         GU  CAGC AGU UCG AG  UCU GC U UAUCUCC A   
+DA2240    GGGG CC UU A GCUCAGCU  GGG   AGAGCG C CUGCU UUGCACGCAG GAG                         GU  CAGC GGU UCG AU  CCC GC U AGGCUCC A   
+DA2400    GGGG GU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCAAGGCA GAU                         GU  CAGC GGU UCG AG  UCC GC U UACCUCC A   
+DA2410    GGGG GU AU A GCUCAGUU  GGU   AGAGCG U UGCUU UUGCAUAGCA GAC                         GU  CAGC AGU UCG AG  UCU GC U UAUCUCC A   
+DA2440    GGGG AU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCAAGGCA GAU                         GU  CAGC GGU UCG AA  UCC GC U UAUCUCC A   
+DA2480    GGGA GU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCAAGGCA GAU                         GU  CAGC GGU UCG AG  UCC GC U UACUUCC ACCA
+DA2520    GGGG GU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCAAGGCA GAU                         GU  CAGC GGU UCG AG  UCC GC U UAUCUCC A   
+DA2521    GGGG GU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCAAGGCA GAU                         GU  CAGC GGU UCG AG  UCC GC UUUAUCUCC A   
+DA2540    GGGG GU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCACGGCA GAU                         GU  CAGG GGU UCG AG  UCC CC U UACCUCC A   
+DA2570    GGGG GU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCAAGGCA GAU                         GU  CAGC GGU UCG AG  UCC GC U UAUCUCC A   
+DA2580    GGGG GU AU A GCUUAGUU  GGU   AGAGCG C UGCUU UUGCAAGGCA GAU                         GU  CAGC GGU UCG AA  UCC GC U UACCUCC A   
+DA2590    GGGG GU AU A GCUCAGUU  GGU   AGAGCG C UGCCU UUGCAAGGCA GUG                         GU  CAGC GGU UCG AG  UCC GC U UACCUCC A   
+DA2600    GGGG AU AU A GCUCAGUU  GGU   AGAGCG C CGCCC UUGCAAGGCG GAU                         GU  CAGC GGU UCG AG  UCC GC U UAUCUCC A   
+DA2620    GGGG  U AU A GCUCAGU   GGU   AGAGCG C CGUCC UUGCAAGGCG GAC                         GU  CACG GGU UCA AG  UCC GC U UACCUCC A   
+DA2700    GGGG AU AU A GCUCAGUU  GGU   AGAGCU C CGCUC UUGCAAGGCG GAU                         GU  CAGC GGU UCG AG  UCC GC U UAUCUCC A   
+DA2720    GGGG AU AU A GCUCAGUU  GGU   AGAGCU C CGCUC UUGCAUGGCG GAU                         GU  CAGC GGU UCG AG  UCC GC U UAUCUCC A   
+DA2840    GGGG AU AU A GCUCAGUU  GGU   AGAGCU C CGCUC UUGCAAGGCG GAU                         GU  CAGC GGU UCG AG  UCC GC U UAUCUCC A   
+DA2920    GGGG AU AU A GCUCAGUU  GGU   AGAGCU C CGCUC UUGCACGGCG GAU                         GU  CAGC GGU UCG AG  UCC GC U UAUCUCC A   
+DA3280    GGGG AU AU A GCUCAGUU  GGU   AGAGCG C CGCUC UUGCAUGGCG GAU                         GU  CAGC GGU UCG AG  UCC GC U UAUCUCC A   
+DA3880    GGGG CU AU A GUUUAACU  GGU   AAAACG G CGAUU UUGCAUAUCG UUA                         U   UUCA GGA UCG AG  UCC UG A UAACUCC A   
+DA3920    GGGG GU AU A GUAUAAUU  GGU   AGUACA G CAAUC UUGCUCAUUG CUU                         G   UCAA GGU UCA AA  UCC UU G UAUCUCC A   
+DA4000    GGGG UU AU A GUUAAAUU UGGU   AGAACG A CUGCG UUGCAUGCAU UUA                         A   UAUG AGU UCA AG  UCU CA U UAACUCC A   
+DA4001    GGGG UU AU A GUUAAAUU UGGU   GAAACG A CUGCG UUGCAUGCAU UUA                         A   UAUG AGU UCA AG  UCU CA U UAACUCC A   
+DA4080    GGGG UU AU A GUUAAAUU  GGU   AGAACA A UUGUG UUGCAUGCAA UAG                         A   UAUG AGU UCA AU  UCU CA U UAACUCC A   
+DA4500    GGGG AC GU A GCUCAAUU  GGU   AGAGCG U AUGUU UUGCAAGCAU AAA                         GC  UGUC GGU UCA AA  UCC GA U CGUCUCC A   
+DA4620    GACG GU AU A GUUUAA    GUU   GAGAUG U GUGCU CUGCGAGCAU UCG                         G   UAGA   G GUU         UC U UGCCGUU G   
+DA4700    AGAA UG GU A CUUUAA    AA    AAAAGA A UUGGU UUGCAUCUAA UAU                             UAAG C   CUG A     G CU U UCAUUCU U   
+DA4800    AGGG UA AU A GUUAAUU         AUAACA U UUAAU UUGCACUUAA AAA                         G   UAUU GAA UUU AA  UUC AA U UUACCUU A   
+DA4880    AGGG UU GU A GUUAAUU         AUAACA U UUGAU UUGCAUUCAA AAA                         G   UAUU G A AU  AU  U C AA U CUACCUU A   
+DA4980    GUGA AU UU A GUUUAAUA  GAU   AAAACA U UUGCU UUGCAAGCAA AAC                         U   UGAA AGU UUA AA  UCC UU C AAUCCAC A   
+DA5000    GUGG AC UU A GUUUAAAA  GAU   AAAACA A UUGAU UUGCAAUCAG UAA                         C   UCCA AGU UUA AC  UCU CG G AGUCCAC A   
+DA5020    GUGA AU UU A GUUUAAUA  GAA   AAAACA U UUGCU UUGCAAGCAG ACU                         U   UGAA AGU UUA AC  UCC UU C AAUACAC A   
+DA5040    GUGG UU CU A GUUUAGU   GA    AAAACG U UUGCU UUGCAAGCAG AAA                         U   CCUA AGU UAA AU  UCU UA G GAACUAC A   
+DA5080    GUGG UU UU A GUUUAAUU  GA    AAAACG U UUGCU UUGCAAGCAA AAG                         U   UCUA AGU UAA AG  UCU UA G AAGCUAC A   
+DA5100    AAGG UC UU A GCUUAA    UU    AAAGUA U UUGUU UUGCAUACAG AAG                         A   UGUG GGG UAG UG  UCC UG C AGAUCUU A   
+DA5120    AAGG CU UU A GCUUAA    UU    AAAGUG U UUUAG UUGCAUUCAA UUG                         A   UGUU GGA UAA AA  UCC UG C AAGCCUU A   
+DA5160    AGGG CU UU A UCUUAAU   UU    AAAGGG C CUGAG UUGCAUUCAG GAG                         A   UGUA GGU UAA UA  UCC UG C AAGUCCU A   
+DA5220    GAGG CC UU A GCUUAA    UU    AAAGCG U CUGAU UUGCAUUCAG GAG                         A   UACA GGU UAA UG  UCC UG U UGGUCUU A   
+DA5280    GAGG AU UU A GCUUAA    UU    AAAGCA G UUGAU UUGCAUUUAA CAG                         A   UGUA AGA UAU AG  UCU UA C AGUCCUU A   
+DA5320    GAGG UC UU A GCUUAA    UU    AAAGCA A UUGAU UUGCAUUCAA UAG                         A   UGUA GGA UGA AG  UCU UA C AGUCCUU A   
+DA5360    GAGG AU UU A GCUUAA    UU    AAAGUG G UUGAU UUGCAUUCAA UUG                         A   UGUA AGG UGU AG  UCU UG C AAUCCUU A   
+DA5880    AAGG GC UU A GCUUAA    UU    AAAGUG G CUGAU UUGCGUUCAG UUG                         A   UGCA GAG UGG GG  UUU UG C AGUCCUU A   
+DA6160    GGGG AA GU A GCUCAGAU  GGU   AGAGCG C UCGCU UAGCAUGCGA GAG                         GU  AAAG GGU UCG AU  ACC CU U CUUCCUC A   
+DA6280    GGGC AC AU G GCGCAGUU  GGU   AGCGCG C UUCCC UUGCAAGGAA GAG                         GU  CAUC GGU UCG AU  UCC GG U UGCGUCC A   
+DA6281    GGGC GU GU G GCGUAGUC  GGU   AGCGCG C UCCCU UAGCAUGGGA GAG                         GU  CUCC GGU UCG AU  UCC GG A CUCGUCC A   
+DA6320    GGGC AU GU G GUGUAGAU  GGU U AUCACG C UUCCU UAGCAUGGAA GAG                         GU  CCCA GAU UCG AG  UUC UG G CUUGUCC A   
+DA6740    GGGG AU GU A GCUCAUAU  GGU   AGAGCG C UCGCU UUGCAUGCGA GAG                         GC  ACAG GGU UCG AU  UCC CU G CAUCUCC A   
+DA7680    GGGG GC GU A GCUCAGAU  GGU   AGAGCG C UCGCU UAGCAUGCGA GAG                         GU  ACCG GGA UCG AU  ACC CG G CGCCUCC A   
+DA7681    GGGG GC GU A GCUCAGAU  GGU   AGAGCG C UCGCU UAGCAUGUGA GAG                         GU  ACCG GGA UCG AU  ACC CG G CGCCUCC A   
+DA7740    GGGG AU GU A GCUCAGAU  GGU   AGAGCG C UCGCU UAGCAUGUGA GAG                         GU  ACGG GGA UCG AU  GCC CC G CAUCUCC A   
+DA7920    GGGG GU GU A GCUCAGU   GGU   AGAGCG C AUGCU UUGCAUGUAU GAG                         GU  CUUG GGU UCA AU  CCC CA G CAUCUCC A   
+DA8100    GGGG AU GU A GCUCAGU   GGU   AGAGCG C AUGCU UCGCAUGUAU GAG                         GC  CCCG GGU UCG AU  CCC CG G CAUCUCC A   
+DC0380    GCCA AG GU G GCAGAGUU CGGCCU AACGCG G CGGCC UGCAGAGCCG CUC                         AU  CGCC GGU UCA AA  UCC GG C CCUUGGC U   
+DC0500    GCCA AG GU G GCAGAGUU CGGCCC AACGCA U CCGCC UGCAGAGCGG AAC                         CC CCGCC GGU UCA AA  UCC GG C CCUUGGC UCCA
+DC1140    GGCA AC AU G GCCAAGC   GGCU  AAGGCA U GGGUC UGCAACACCC UGA                         U   CAUC GGU UCG AA  UCC GA U UGUUGCC UCCA
+DC1230    GCAU CC AU A GCUCAGUU  GGU   AGAGCA A CAGAC UCUUAAUCUG UGG                         GU  CCAC GGU UCG AG  CCC GU G UGGGUGU ACCA
+DC1260    GGCA CU AU A GCCAAGGU  GGCU  AAGGCA U GGGAC UGCAACUCCC CGA                         U   CGUC GGU UCG AA  UCC GA C UAGUGCC UCCA
+DC1350    GGUG GA GU G GCCGAGA   GGC   GAGGCA A CGGCC UGCAAAGCCG UCU                         A   CACG GGU UCA AA  UCC CG U CUCCACC UCCA
+DC1540    GGCG GC AU A GCCAAGU   GGU   AAGGCA G AGGUC UGCAAAACCU UUA                         U   CCCC GGU UCG AA  UCC GG G UGUCGCC UCCA
+DC1660    GGCG CG UU A ACAAAGC   GGU   UAUGUA G CGGAU UGCAAAUCCG UCU                         A   GUCC GGU UCG AC  UCC GG A ACGCGCC UCCA
+DC2440    GGCG GC AU A GCCAAGC   GGU   AAGGCC G UGGAU UGCAAAUCCU CUA                         UU  CCCC AGU UCA AA  UCU GG G UGCCGCC U   
+DC2520    GGCG GC AU G GCCAAGC   GGU   AAGGCA G AAGAU UGCAAAUCUU UUA                         UU  CCCC AGU UCG AU  UCU GG G UGUCGUC U   
+DC2600    GGCG AC AU G GCCAAGU   GGU   AAGGCA G AGGAC UGCAAAUCCU UUA                         U   CCCC AGU UCA AA  UCU GG G UGUCGCU U   
+DC2680    GGCG GC AU G GCCAAGC   GGU   AAGGCA G GGGAC UGCAAAUCCU UUA                         U   CCCC AGU UCA AA  UCU GG G UGCCGCC U   
+DC2700    GGCG GC AU G GCCAAGC   GGU   AAGGCA G GGGAC UGCAAAUCCU UUA                         U   CCCC AGU UCA AA  UCU GG G UGCCGCC U   
+DC2720    GGCG GC AU G GCCAAGU   GGU   AAGGCA G GGGAC UGCAAAUCCU UUA                         C   CCCC AGU UCA AA  UCU GG G UGCCGCC U   
+DC2920    GGCG AC AU G GCCGAGU   GGU   AAGGCA G AGGAC UGCAAAUCCU UUU                         UU  CCCC AGU UCA AA  UCC GG G UGUCGCC U   
+DC3280    GGCG GC AU G GCCGAGU   GGU   AAGGCG G AGGAC UGCAAAUCCU UGU                         U   CCCC AGU UCA AA  UCC GG G UGUCGCC U   
+DC3880    AGGA GC UU G AGCAGAU   GGUU  UUGCGU U UUGAU UGCAAAUUGA AAU                         A   UAGG GAU UCG AUU UCC CC G AGCUCCU C   
+DC3881    AGGA GU UU G AGCAAAU   GGUU  UUGCGU U UUGAU UGCAAAUUGA AAU                         A   UAGG GAU UCG AUU UCC CC G GACUCCU C   
+DC3920    GAUU AC GA U GUAAAU    GGU   UUACCC U UUGAC UGCAAAUCUU AAG                         GA  UUAG G U UCG AU  U C CU A CGUAAUC C   
+DC4000    GGAG AU GU U GUUUUAA   GGU   UAAACU AUUAGAU UGCAAAUCUA CUU                         AU  UAAG AGU UCG AU  UCU CU U CAUCUCU U   
+DC4050    GGAA AU GU U GUUUAAA   GGUU  AAACUG U UAGAU UGCAAAUCUA CAC                         AU  UUAG AGU UCG AU  UCU CU U CAUUUCU U   
+DC4070    AGAG AG GA G UGAAUAA   GGUU  GUUCAU A UAAAU UGCAAAUUUA UAN U                       AU  UAGG GUU CGA U    UC CC U CUUCUCU C   
+DC4080    GGAG GU GU U GUUUAAA   GGUU  AAGCUA U UAGAU UGCAGAUCUA CUU                         AU  UAAG AGU UCG AU  UCU CU U CAUCUCU U   
+DC4300    GGCU AG GU A ACAUAAU   GGA   AAUGUA U CGGAC UGCAAAUCCU GGA                         A   UGAC GGU UCG AC  CCC GU C CUUGGCC U   
+DC4440    GGCG GC AU G GCCAAGC   GGU   AAGGCA G GGGAC UGCAAAUCCU UUA                         U   CCCC AGU UCA AA  UCU GG G UGUCGCC U   
+DC4480    GGCG GC AU G GCCAAGC   GGU   AAGGCA G GGGAC UGCAAAUCCU UUA                         U   CCCC AGU UCA AA  UCU GG G UGUCGCC U   
+DC4500    GGCU AA GU A ACAUAAG   GGU   AAUGUA U UGGAU UGCAAAUCCU AUA                         A   AGAU GGU UCG AA  UCC GU C CUUAGCC U   
+DC4700    UGCU UA GU A GUUAAUGU UAAU   AUAACU A AGAAC UGCAAAUUCU UCA                         U   AGUC U A GUU       A GA C CUAAGCU U   
+DC4840    GGUC UU AU A GUCAAUA         AUGAUA U CAAAC UGCAAUUUUG AAG                         G   AGUA A   GUU       U UA C UAAGGCU U   
+DC4880    GGUC UU AU A GUCAAUA         AUGAUA U CAAAC UGCAAUUUUG AAG                         G   AGUA A A UUU       U UA C UAAGACU U   
+DC4980    GGUU UU GU A GUGUAA    UA    AACAUA U UAGAU UGCAAAUCUA CAG                         A   UGCG GUU AUA AU  UGU CG C CAAAACU U   
+DC5000    GGUU UU GU A GUGUAA    UU    AACAUU U UAGAU UGCAAAUCUA UAG                         A   UGCG G G UAA UC  U C CG U CAAAACU U   
+DC5020    GGUU UU GU A GUGUAA    UU    AACAUA U UAGAU UGCAAAUCUA UAG                         A   UGCG GCC AGU UU  AUC CG C CAAAACU U   
+DC5040    GGCU UU GU A GUGUAA    AU    AACAUU U UGGAU UGCAAAUCCU UAG                         A   UGCA AUU AGU UC   AU UG C CAAAGCU U   
+DC5080    GGUU UU GU A GUGU            AUCAUU U CGGAU UGCAAAUCCU AGA                             UGCA ACU AGG AC   GU UG C CAAAGCU U   
+DC5100    AGUU CU GG A GUGUU           ACCACG U CAGAU UGCAAAUCUG AAG                         A   AGCA CAC UUA CA  GUU UG C CCGGACU U   
+DC5120    AAGC CU GC G GUGUU           GACAUG C CAGAU UGCAAAUCUC GAG                         A   AGCA AAC GAA GG   UU UG C CGGGCUU C   
+DC5160    GGCC UU GG G GUGUC           AACACG U GGGGU UGCAAACCCC AAG                         A   UGCA GUA UAA UA   CC UG C CGGGGCU U   
+DC5220    GACU CU GU A GUGAAGU          UCAUA A UGAGU UGCAAACUCG UUG                         A   UGUA CAC UAA AG   UG UG C CGGGGUC U   
+DC5280    AGCC UU AA G GUGAUU          AUCAUG U CGAAU UGCAAGUUCG AAG                         G   UGUA GAG AAU CUC CUC UA C UAAGGCU U    
+DC5281    AGCC UU AA G GUGAUU          AUCAUG U CGAAU UGCAAAUUCG AAG                         G   UGUA GAG AAU CUC CUC UA C UAAGGCU U    
+DC5320    GGUC UU AA G GUGAUA          UUCAUG U CGAAU UGCAAAUUCG AAG                         G   UGUA GAG AAA U   CUC UA C UAAGACU U   
+DC5360    AGCC CU GU G GUGAAUU         UACACG U UGAAU UGCAAAUUCA GAG                         A   AGCA GCU UCA AU   UC UG C CGGGGCU U   
+DC5880    AGCU CC GA G GUGAUU          UUCAUA U UGAAU UGCAAAUUCG AAG                         A   AGCA GCU UCA AA   CC UG C CGGGGCU U   
+DC6280    GCUC GU AU G GCGCAGU   GGU   AGCGCA G CAGAU UGCAAAUCUG UUG                         GU  CCUU AGU UCG AU  CCU GA G UGCGAGC U   
+DC8100    GGGG GU AU A GCUCAGGG  GUA    GAGCA U UUGAC UGCAGAUCAA GAG                         GU  CCCU GGU UCA AA  UCC AG G UGCCCCC U   
+DC8101    GCGG GU AU A GCUCAGGG  GUA    GAAUA U UUGAC UGCAGAUCAA GAG                         GU  CCCU UGU UCG AA  UUC AG G UGCCCUC U   
+DD0260    GCGA CC GG G GCUGGCUU  GGUA  AUGGUA C UCCCC UGUCACGGGA GAG                         AA  UGUG GGU UCA AA  UCC CA U CGGUCGC GCCA
+DD0660    GCCC UG GU G GUGUAGCU CGGCCU AUCAUA C AGGAC UGUCACUCCU GUG                         A   CUCG GGU UCA AA  UCC CG G CCAGGGC G   
+DD0680    GCCC UG GU G GUGUAGU   GGCU  AUCAUG C GGGCC UGUCGAGCCC GCG                         A   CUCG GGU UCA AU  UCC CG G CCAGGGC G   
+DD0740    GCCC UG GU G GUGUAGCU CGGCCU AUCAUA C AGGAC UGUCACUCCU GUG                         A   CUCG GGU UCA AA  UCC CG G CCAGGGC G   
+DD1140    GGCC CC AU A GCGAAGUU  GGUU  AUCGCG C CUCCC UGUCACGGAG GAG                         AU  CACG GGU UCG AG  UCC CG U UGGGGUC GCCA
+DD1180    GGCC CC AU A GCGAACGU UGGUU  AUCGCG C CUCCC UGUCACGGAG GAG                         AU  CACG GGU UCG AG  UCC CG U UGGGGUC GCCA
+DD1230    GGUC CG GU G GUGUAGG   GGUU  AACAUG C CUGCC UGUCACGCAG GAG                         AU  CGCG GGU UCA AA  UCC CG U CCGGACC GCCA
+DD1260    GGUC UU GU A GUGAAGUU  GGUU  AUCAUG C CUCUC UGUCACAGAG GAG                         AU  CGCG GGU UCA AG  UCC CG U CAAGACC GCCA
+DD1500    GGUC CA UU G GAGCAGU   GGUCU AUCUCG C CUCCC UGUCACGGAG GAG                         AU  CGCG GGU UCA AA  UCC CG C AUGGACC     
+DD1540    GGUC CG GU A GUUCAGUU  GGUU  AGAAUG C CUGCC UGUCACGCAG GAG                         GU  CGCG GGU UCG AG  UCC CG U CCGGACC G   
+DD1570    GGUC CC GU A GUGUAGU   GGUU  AACAUG C CUGCC UGUCACGCAG GAG                         AU  CGCG GGU UCG AU   GC CG U CGGGACC GCCA
+DD1660    GGAG CG GU A GUUCAGUC  GGUU  AGAAUA C CUGCC UGUCACGCAG GGG                         GU  CGCG GGU UCG AG  UCC CG U CCGUUCC GCCA
+DD2440    GCCC CC AU C GUCUAGA   GGCCU AGGACA C CUCCC UUUCACGGAG AAA                         A   CGCG GAU UCG AA  UUC CG C UGGGGGU A   
+DD2520    GGGA UU GU A GUUUAAU   GGUU  AGAGCA C CGCCC UGUCACGGCG GAA                         GU  UGCG GGU UCG AG  UCC CG U CAGUCCC G   
+DD2600    GGGA UU GU A GUUCAAUU  GGUU  AGAGUA C CGCCC UGUCAAGACG GAA                         GU  UGCG GGU UCG AG  CCC CG U CAAUCCC G   
+DD2680    GGGA UU GU A GUUCAAUU  GGUC  AGAGCA C CGCCC UGUCAAGGCG GAA                         GC  UGCG GGU UCG AG  CCC CG U CAGUCCC G   
+DD2700    GGGA UU GU A GUUCAAUU  GGUC  AGAGCA C CGCCC UGUCAAGGCG GAA                         GC  UGCG GGU UCG AG  CCC CG U CAGUCCC G   
+DD2920    GGGA UU GU A GUUCAAUU  GGUC  AGAGCA C CGCCC UGUCAAGGCG GAA                         GC  UGCG GGU UCG AG  CCC CG U CAGUCCC G   
+DD3200    GGGA UU GU A GUUCAAUU  GGUC  AGAGCA C CGCCC UGUCAAGGCG GAA                         GC  UGCG GGU UCG AG  UCC CG U CAGUCCC G   
+DD3280    GGGA UU GU A GUUCAAUU  GGUU  AGAGCA C CGCCC UGUCAAGGCG GAA                         GC  UGCG GGU UCG AG  CCC CG U CAGUCCC G   
+DD3880    GGGU UA GU A GUUUAAUA  GGU   AAAGCG C UUUUU UGUCAAGGAA GUU                         UA  UGCC GGU UCA AG  UCC GG C CUAACCC G   
+DD3960    GAAU UA GU A ACUUAAUU  GGU   AGAGGG U UUCCU UGUCACGGAA GCA                         GA  UGCC GGU UCG AU  GCC GG U CUAGUUC G   
+DD4000    GGAU CU GU A GCUUAAU   AGU   AAAGUA C CAUUU UGUCAUAAUG GAG                         GA  UGUC AGU GCA AA  UCU GA U UAGAUUC G   
+DD4080    GGAU CC AU A GCUUAAU   AGU   AAAGUC C UAUUU UGUCAUAAUA GAG                         GA  UGUC AGU GCA AA  UCU GA U UGGAUUC G   
+DD4440    GGGG AA AU A GCUCAGUU  GGUU  AGAGUG C UGGUC UGUCACGCCA GAA                         GU  CGCG GGU UCG AA  CCC CG U UUUCCCC G   
+DD4480    GGGG AA AU A GCUCAGUU  GGUU  AGAGUG C UGGUC UGUCACGCCA GAA                         GU  CGCG GGU UCG AA  CCC CG U UUUCCCC G   
+DD4500    GGGG AA AU A GCUUAGU   GGUUU AUAGCG C UGGUC UGUCAAGCCA GAA                         GU  CGCG GGU UCA AA  UCC CG U UUUUCCC G   
+DD4620    UCAU UU CU A GUCUAGU   UA    AGGAUG U UGCUU UGUCGUGGCG GUG                         G   GGUA U   GUU UU    G UA C GGGAUGA G   
+DD4700    UUAA AA GU A GUUAAU    AU    AUAACU U AGAAU UGUCAGUUCU AGA                         U   UCCU U U UAC U     A AG G CUUUUUA U   
+DD4760    AAGG AG UU A GUUAAA    AU    AUAACA U UAGAA UGUCAAUCUA AAA                         U   AACU A   AAA A     U AG U ACACCUU G   
+DD4840    AAAA AA UU A GUUAAA    AUC   AUAACA U UAGUA UGUCAAACUA AAA                         U   UAUU AA  AUA A    UU AA U AUUUUUU A   
+DD4880    AAAA AA UU A GUUAAAU   UAU   AUAACA U UAGUA UGUCAAACUA AAA                         U   UAUU AA  AUU A    UU AA U AUUUUUU A   
+DD4980    AAGA AA UU A GUUAAAC   CUA   AUAACA U UGGGAUUGUCAGACCA AAG                         U   UACU GGU AAUCAA  CCC AG U AUUUCUU A   
+DD5000    AAAG AG CU A GUUAAA    AA    AUAACC C CAGAU UGUCAGACUG GAA                         U   UAUC UGU AACCAC  CCU GA U GCUCUUU     
+DD5020    AAGG AA CU A GUUAAG    UU    AUAACA C UGGAU UGUCAGACCG GAG                         U   AACU GGU AAACAA  CCC AG U GUUCCUU A   
+DD5040    AGAG GU CU A GUUAAA    AU    AUAACU U UGGGU UGUCAGGCCA AAA                         U   UGCU GGU UAA AU  UCC AG C GGCUUCU G   
+DD5080    AGAG GC CU A GUUAAAC   UU    AUAACU U UGGGU UGUCAGGCCA AAA                         U   UGCU GGU UAA AC   CC AG C GGCUUCU G   
+DD5120    GAGA UG UU A GUAAAA    CA    AUUAGC A CGCCU UGUCAAGGCG AAA                         U   AGCU GGU UAG AC  UCC GG C ACAUCUC A   
+DD5220    GAGA CG UU A GUAAAC    CA    AUUACA U AGACC UGUCAAGACU AAA                         U   CACA GGU GCA AA  CCC UG U ACAUCUC A   
+DD5280    GAGA UA UU A GUAAAA    UA    AUUACA U AACCU UGUCAAGGUU AAG                         U   UAUA GAC UUA AA   UC UA U AUAUCUU A   
+DD5281    GAGA UA UU A GUAAAA    UA    AUUACA U AACCU UGUCAAGGUU AAG                         U   UAUA GAC CUA AG  CUC UA U AUAUCUU A   
+DD5320    AAGA UA UU A GUAAAAU   CA    AUUACA U AACUU UGUCAAAGUU AAA                         U   UAUA GAU CAA UA  AUC UA U AUAUCUU A   
+DD5360    GAGG UG UU A GUAAA     AC    AUUAUA U AAUUU UGUCAAAGUU AAG                         U   UACA AGU GAA AG  UCC UG U ACACCUC A   
+DD5880    AAGG UA UU A GAAAAA    CC    AUUUCA U AACUU UGUCAAAGUU AAA                         U   UAUA GGC UAA AU   CC UA U AUAUCUU A   
+DD6220    UUCU CG UU A GUAUAGU   GGUU  AGUAUA C CCGCC UGUCACGCGG GUG                         A   CCCG GGU UCA AU  UCC CG G ACGGGAA G   
+DD6280    UCCG UG AU A GUUUAAU   GGUC  AGAAUG G GCGCU UGUCGCGUGC CAG                         A   UCGG GGU UCA AU  UCC CC G UCGCGGA G   
+DD6320    UCUC CU UU A GUAUAGG   GGU   AGUACA C AAGCC UGUCACGCUU GCA                         G   CCCG GGU UCG AA  UCC CG G AGGGAGA G   
+DD6900    GUCG UU GU A GUAUAGU   GGUA  AGUAUU C CCGCC UGUCACGCGG GUG                         A   CCCG GGU UCG AU  CCC CG G CAACGGC G   
+DD7560    UCCU CG GU A GUAUAGU   GGUG  AGUAUC C GCGUC UGUCACAUGC GAG                         A   CCCG GGU UCA AU  UCC CG G CCGGGGA G   
+DD7740    UCCU CG AU A GUAUAGU   GGUU  AGUAUC C CCGCC UGUCACGCGG GAG                         A   CCGG GGU UCA AU  UCC CC G UCGGGGA G   
+DD8100    UCCU CG UU A GUAUAGU   GGUG  AGUAUC C CCGCC UGUCACGCGG GAG                         A   CCGG GGU UCG AU  UCC CC G ACGGGGA G   
+DD9160    UCCU CG UU A GUAUAGU   GGUG  AGUAUC C CCGCC UGUCACGCGG GAG                         A   CCGG GGU UCG AU  UCC CC G ACGGGGA G   
+DD9161    UCCU CG UU A GUAUAGU   GGUG  AGUAUC C CCGCC UGUCACGCGG GAG                         A   CCGG GGU UCG AU  UCC CC G ACGGGGA C   
+DE0660    GCUC CG GU G GUGUAGUC CGGCCA AUCAUG C UGGCC UUUCGAGCCA GCG                         A   CUCG GGU UCA AA  UCC CG G CCGGAGC A   
+DE0680    GCUC CG GU G GUGUAGCC CGGCCA AUCAUU U CGGCC UUUCGAGCCG AAG                         A   CUCG GGU UCA AA  UCC CG A CCGGAGC A   
+DE0700    GUCC CU UC   GUCUAGU   GGUCU AGGACA U CGCCC UCUCACGGCG GUA                         A   CACG GGU UCG AA  CCC CG U AGGGGAC GCCA
+DE1140    GGCC UG UU G GUGAAGC   GGUU  AACACA C ACGGU UUUCAUCCGU GGA                         CA  CACG GGU UCG AA  CCC CG U ACAGGCU ACCA
+DE1180    GGCC UG UU G GUGAAGC   GGUU  AACACA C ACGGU UUUCAUCCGU GGA                         CA  CACG GGU UCG AA  CCC CG U ACAGGCU ACCA
+DE1230    GGCC CG UU G GAGAAAC   GGUU  AACUCA C AUGCC UUUCACGCAU GCA                         UU  CACG GGU UCG AA  UCC CG U ACGGGUC ACCA
+DE1340    GCCC CC GU U GUGUAGC   GGCCU AGCACG C CGCCC UCUCAAGGCG GUA                         G   CGCC GGU UCG AA  UCC GG U CGGGGGU A   
+DE1500    NNCC CG UU G GUCAAGU   GGUU  AAGACA C CGCCC UUUCACGGCG GUA                         A   CAUG GGU UCA AA  UCC CG U ACGGGUN N   
+DE1540    GGCC CG UU G GUCAAGC   GGUU  AAGACA C CGCCC UUUCACGGCG GUA                         A   CACG GGU UCG AA  UCC CG U ACGGGUC A   
+DE1570    GGCC CUGU  G GUCAAGU   GGUU  AAGACA C CGCCC UUUCACGGCG GUA                         A   CACG GGU UCG AA   UC CG U ACGGGUC A   
+DE1660    GUCC CC UU C GUCUAGA   GGCCC AGGACA C CGCCC UUUCACGGCG GUA                         A   CAGG GGU UCG AA  UCC CC U AGGGGAC GCCA
+DE2180     GCC CC AU C GUCUAGA   GGCCU AGGACA C CUCCC UUUCACGGAG GCG                         A   CGGG GAU UCG AA  UUC CC C UGGGGGU A   
+DE2440    GCCC CC AU C GUCUAGA   GGCCU AGGACA C CUCCC UUUCACGGAG AAA                         A   CGCG GAU UCG AA  UUC CG C UGGGGGU A   
+DE2500    GCCC CC AU C GUCUAGUG  GUUC  AGGACA U CUCUC UUUCAAGGAG GCA                         G   CGGG GAU UCG AC  UUC CC C UGGGGGU A   
+DE2520    GCCC CC AU C GUCUAGA   GGCCU AGGACA U CUCCC UUUCACGGAG GCA                         A   CGGG GAU UCG AA  UUC CC C UGGGGGU A   
+DE2600    GCCC CC AU C GUCUAGU   GGCCU AGGACA C CUCUC UUUCAAGGAG GCG                         A   CGGG GAU UCG AA  UUC CC C UGGGGGU A   
+DE2680    GCCC CU AU C GUCUAGU   GGUUC AGGACA U CUCUC UUUCAAGGAG GCA                         G   CGGG GAU UCG AC  UUC CC C UGGGGGU A   
+DE2700    GCCC CU AU C GUCUAGU   GGUUC AGGACA U CUCUC UUUCAAGGAG GCA                         G   CGGG GAU UCG AC  UUC CC C UGGGGGU A   
+DE2920    GCCC CC AU C GUCUAGU   GGUUU AGGACA U CUCUC UUUCAAGGAG GCA                         G   CGGG GAU UCG AA  UUC CC C UGGGGGU A   
+DE3200    GCCC CC AU C GUCUAGC   GGUUU AGGACA U CUCUC UUUCAAGGAG GCA                         A   CGGG GAU UCG AC  UUC CC C UGGGGGU A   
+DE3280    GCCC CC AU C GUCUAGC   GGUUC AGGACA U CUCUC UUUCAAGGAG ACA                         A   CGGG GAU UCG AC  UUC CC C UGGGGGU A   
+DE3360    GCCC CC AU C GUCUAGC   GGUUU AGGACA U CUCUC UUUCAAGGAG GCA                         A   CGGG GAU UCG AC  UUC CC C UGGGGGU A   
+DE3800    ACUC UU AU C GUCUAAC   GGUG  AGGACA A CGGGU UUUCACCCCG UAA                         A   UUUG GGU UCG AU  UCC CA A UAAGAGU A   
+DE3880    GACC CA AU G GUCAAGAU  GGUU  AAGACA U AACAU UUUCACUGUU AGU                         G   CGGG AGU UCA AU  CCU CC C UUGGGUU G   
+DE4000    GACC UU AU C GUCUAAU   GGUU  ACGACA U CACCU CUUCAUGUUG AUA                         A   UAUC GGU UCG AU  UCC GA U UAAGGUU A   
+DE4070    GAUC UU AU A GUUAAAU   GGUU  AUAACA C CAUCC CUUCACGAUG GGA                         G   UACC AGU UCG NU  UCU GG U UGAGAUU A   
+DE4080    GAUC UU AU C GUCUAAU   GGUU  ACGACA U CAACU UUUCAUGUUG AAA                         A   UGUU GGU UCA AU  CCC AA C UAAGAUU A   
+DE4240    GUCC CU UU C GUCCAGU   GGUUA AGGACA U CGUCU UUUCAUGUCG AAG                         A   CACG GGU UCC AU  UCC CG U AAGGGAU A   
+DE4280    GUCC CU UU C GUCCAGU   GGUU  AGGACA U CGUCU UUUCAUGUCG AAG                         A   CACG GGU UCG AU  UCC CG U AAGGGAU G   
+DE4440    GUCC CU UU C GUCCAGA   GGUU  AGGACA U CGUCU UUUCAUGUCG AAG                         A   CACG GGU UCG AU  UCC CG U AAGGGAU A   
+DE4480    GUCC CU UU C GUCCAGU   GGUU  AGGACA U CGUCU UUUCAUGUCG AAG                         A   CACG GGU UCG AU  UCC CG U AAGGGAU A   
+DE4500    GUCC CU UU C GUCUAGG   GGUAU AGGACA U CGUCU UUUCAUGUCG AAA                         A   CACG GGU UCA AA  UCC CG U AAGGGAU A   
+DE4700    GCUU AA GU A GUUUAG    GG    AAAACA U AAGAU UUUCAUUCUU AAG                         U   CAGA A A GCA G     U UC U CUUAAGU U   
+DE4720    AUUU AU AU A GUAUUU          AAUACA A UGCAU UUUCAAUGCA UAA                         A   UGGA U   AAA U     A UC C UUUAAAU A   
+DE4800    AUUU AU AU A GUUUAA    AU    AAAACA U UACAU UUUCACUGUA AAA                         A   UAAA AA  UUU A    UU UU U UAUAAAU A   
+DE4880    AUUU AU AU A GUUUAAA   AU    AAAACC U UACAU UUUCAUUGUA AUA                         A   UAAA AU  AAU UU   AU UU U UAUAAAU U   
+DE4980    AUUC CU GU A GUUGAA          ACAACA A UAACU UUUCAUGUUA UAG                         G   UUUA GGU UGA AC  CCC UA A CAGGAAU C   
+DE5040    GCUC CU AU A GUUGAA    CU    ACAACA A GAGCU UUUCACGCUC UAA                         G   UUUG AGU UAA AA  UCU CA A UAGAAGC U   
+DE5080    GCCC CU AU A GUUGAAA   CA    CAACCA A GAGCU UUUCACGCUC UUA                         AG  UUUG AGU UAA AA  UCU CA A UAGGAGC U   
+DE5120    GUUC CU AU A GUUGAA    UA    ACAACG G UGGUU UUUCAGAUCA CAA                         G   UUCU GGU UAG AG  UCC UG G UGGGAAU U   
+DE5220    GUUC CC GU A GUUGAGAA         CAACA A UGGCU UUUCAAGCCG UAG                         U   CCUU GGG GUC UA  ACC AA G CGGGAAU A   
+DE5280    GUUU CU AU A GUUGAA    UU    ACAACG A UGAUU UUUCAUGUCA UUA                         G   UCAC AGU UAA AU  GCC GU G UAGAAAU A   
+DE5320    GUUU CU GU A GUUGAA    UU    ACAACG A UGAUU UUUCAUGUCA UUG                         G   UCGC AGU UGA AU  GCU GU G UAGAAAU A   
+DE5360    GUUC UU GU A GUUGAA    UG    ACAACG A UGGUU UUUCAUAUCA UUA                         G   UCAU GGU UAG AU  UCC AU G UAAGAAU A   
+DE5880    GUUC UU GU A GUUGAA    AU    ACAACG A UGGUU UUUCAUAUCA UUG                         G   UCGU GGU UGU AG  UCC GU G CGAGAAU A   
+DE6160    UCCU CA UU G GUGUAGUC  GGU   AACACU C UAGUC UUUCACACUG GUA                         C   CUCG GGU UCG AU  UCC CG A AUGGGGA G   
+DE6161    UCCU CA UU G GUGUAGUC  GGU   AACACU C UAGUC UUUCACACUG GUA                         C   CUCG GGU UCG AU  UCC CG A AUGGGGA G   
+DE6280    UCCG AU AU A GUGUAAC   GGCU  AUCACA U CACGC UUUCACCGUG GAG                         A   CCGG GGU UCG AC  UCC CC G UAUCGGA G   
+DE6281    UCCG AU GU A GUGUAAC   GGCU  AUCACA U CACGU UCUCACCGUG GAG                         A   CCGG GGU UCG AC  UCC CC G CUUCGGA G   
+DE6320    UCCG UU GU G GUCCAAC   GGCU  AGGAUU C GUCGC UUUCACCGAC GCG                         G   UCGG GGU UCG AC  UCC CC G CAACGGA G   
+DE6321    UCCG UC AU G GUCCAGU   GGCU  AGGAUU C AUCGC UCUCACCGAU GCG                         G   CGGG GGU UCG AU  UCC CC C UGACGGA G   
+DE7680    UCCC GU AU G GUCUAGU   GGUU  AGGAUA C CUGGC UUUCACCCAG GAG                         G   CUCG GGU UCG AU  UCC CG G UACGGGA A   
+DE7740    UCCU AU AU U GUCUAGU   GGUU  AGGAUA U CCGGC UCUCACCCGG AAG                         G   CCCG GGU UCA AU  UCC CG G UAUGGGA A   
+DE7741    UCCC AU AU U GUCUAGU   GGUU  AGGAUA U CCGGC UCUCACCCGG AAG                         G   CCCG GGU UCA AU  UCC CG G UAUGGGA A   
+DE7742    UCCC AU AU G GUCUAGU   GGCU  AGGAUA U CUGGC UUUCACCCAG AAG                         G   CCCG GGU UCG AU  UCC CG G UAUGGGA A   
+DE8100    UCCC UG GU G GUCUAGU   GGUU  AGGAUU C GGCGC UCUCACCGCC GCG                         G   CCCG GGU UCG AU  UCU CG G UCAGGGA A   
+DE9160    UCCU UG GU G GUCUAGU   GGUU  AGGAUU C GGCGC UCUCACCGCC GCG                         G   CCCG GGU UCG AU  UCC CG G UCAGGGA A   
+DE9161    UCCC UG GU G GUCUAGU   GGUU  AGGAUU C GGCGC UCUCACCGCC GCG                         G   CCCG GGU UCG AU  UCC CG G UCAGGGA A   
+DE9162    UCGC UG GU G GUCUAGU   GGUU  AGGAUU C GGCGC UCUCACCGCC GCG                         G   CCCG GGU UCG AU  UCC CG G UCAGGGA A   
+DE9990    UCCC UG GU G GUCUAGU   GGCU  AGGAUU C GGCGC UUUCACCGCC GCG                         C   CCCG GGU UCG AU  UCC CG G CCAGGAA U   
+DE9991    UCCC UG GU G GUCUAGU   GGCU  AGGAUU C GGCGC UUUCACCGCC GCG                         G   CCCG GGU UCG AU  UCC CG G UCAGGAA U   
+DF0660    GCCA AG GU A GUUCAGCC UGGG   AGAACG C UGGAC UGAAGAUCCA GUU                         GU  CGGG UGU UCG AA  UCA CC C CCUUGGC A   
+DF0860    GCCG CC GU A GCUCAGCC CGGG   AGAGCG C CCGGC UGAAGACCGG GUU                         GU  CCGG GGU UCA AG  UCC CC G CGGCGGC A   
+DF1140    GGUC GU GU A GCUCAGUC  GGU   AGAGCA G CAGAC UGAAGCUCUG CGU                         GU  CGGC GGU UCA AU  UCC GU C CACGACC ACCA
+DF1180    GGUC GU GU A GCUCAGUC  GGU   AGAGCA G CAGAC UGAAGCUCUG CGU                         GU  CGGC GGU UCA AU  UCC GU C CACGACC ACCA
+DF1230    GGCU CU GU A GCUCAGUC  GGU   AGAGCA G UGGCC UGAAGAGCCU CGU C                       GU  AGCC GGU UCG AU  UCC GC U UGGAGCC ACCA
+DF1260    GGUU CA GU A GCUCAGUU  GGU   AGAGCA U UUGAU UGAAGCUCAA AGU                         GU  CGGC AGU UCA AU  UCU GU C CUGAACC ACCA
+DF1540    GGCU CG GU A GCUCAGUU  GGU   AGAGCA A CGGAC UGAAAAUCCG UGU                         GU  CGGC GGU UCG AU  UCC GU C CCGAGCC ACCA
+DF1541    GGCU CG GU A GCUCAGUU  GGU   AGAGCA A CGGAC UGAAAAUCCG UGU                         GU  CGGC GGU UCG AU  UCC GU C CCGAGCC A   
+DF1660    GCCC GG AU A GCUCAGUC  GGU   AGAGCA G GGGAU UGAAAAUCCC CGU                         GU  CCUU GGU UCG AU  UCC GA G UCCGGGC ACCA
+DF2520    GCUG GG AU A GCUCAGUU  GGU   AGAGCG G AGGAC UGAAAAUCCU UGU                         GU  CACC AGU UCA AA  UCU GG U UCCUAGC A   
+DF2600    GCCG GG AU A GCUCAGUU  GGU   AGAGCA G AGGAC UGAAAAUCCU CGU                         GU  CACC AGU UCA AA  UCU GG U UUCUGGC A   
+DF2700    GUCA GG AU A GCUCAGUU  GGU   AGAGCA G AGGAC UGAAAAUCCU CGU                         GU  CACC AGU UCA AA  UCU GG U UCCUGGC A   
+DF2720    GUCA GG AU A GCUCAGUU  GGU   AGAGCA G AGGAC UGAAAAUCCU CGU                         GU  CACC AGU UCA AA  UCU GG U UCCUGGC A   
+DF2920    GCCG GG AU A GCUCAGUU  GGU   AGAGCA G AGGAC UGAAAAUCCU CGU                         GU  CACC AGU UCA AA  UCU GG U UCCUGGC A   
+DF3360    GUCG GG AU A GCUCAGCC  GGU   AGAGCA A AGGAC UGAAAAUCCU UGU                         GU  CACC AGU UCA AA  UCU GG U UCCCGGC G   
+DF3770    GCUU AA GU A GCUCAGU   GGU   AGAGCG U UAGAC UGAAAAUCUA AAG                         GU  CGUU GGU UCA AU  UCC AA U CUUGAGC A   
+DF3800    GCUU AA GU A GCUCAGU   GGU   AGAGCG U CAGGC UGAAAACCUG AAG                         GU  CAUU GGU CCG AU  UCC AU U CUUAGGC A   
+DF3880    GCUU GA GA A GCUCAAUU  GGU   AGAGCG G GUCAG UGAAGUUGAU UAG                         GU  UGUA AGU UCA AG  UCU UA U CUCGAGC A   
+DF4000    GCUU UU AU A GCUUAGU   GGU   AAAGCG A UAAAU UGAAGAUUUA UUU                         A   CAUGUAGU UCG AU  UCU CA U UAAGGGC A   
+DF4080    GCCU UU AU A GCUUAGU   GGU   AAAGCG A UAAAC UGAAGAUUUA UUU                         A   CAUGUAGU UCG AU  UCU CA U UAAGGGC A   
+DF4360    GUUC AG GU A GCUCAGCU  GGUU  AGAGCA A AGGAC UGAAAAUCCU UGU                         GU  CAGU GGU UCG AA  UCC AC U UCUAAGC G   
+DF4440    GUCA GG AU A GCUCAGUU  GGU   AGAGCA G AGGAU UGAAAAUCCU CGU                         GU  CACC AGU UCA AA  UCU GG U UCCUGGC A   
+DF4500    GUUU AG AU A GCUCAGGU  GGUU  AGAGCA A AGGAC UGAAAAUCCU UGU                         GU  CAGU GGU UCG AA  UCC AC U UCUAAAC A   
+DF4700    GAUA CG GU A GCUUAA    UU    AAAGCG U CUCAU UGAAAAUGAG GAA                         GA  UGGU AC  UUU A    GU AC C UUGUGUC A   
+DF4800    AUUU AA AU A GCUUAU    AAUU  AGAGCA U AACAU UGAAGAUGUU GGG                         G   AAAU U   AUU UU    A AU U UUUAAAU A   
+DF4880    AUUC AA AU A GCUUAUA   UUU   AGAGUA U GACAC UGAAGAUGUU AUG                         G   AGAU U   AAU U     A AU C UUUGAAU A   
+DF5040    GCAA AG GU A GCUUAACA  GAUU  AAAGCA U AGCAC UGAAAAUGCU UCA                         A   AGAG AGU UAA AG  UCC CU C CCUUAGC A   
+DF5041    GCAA AG GU A GCUUAACA CAUU   AAAGCA U AGCAC UGAAAAUGCU UCA                         A   AGAG AGU UAA AG  UCC CU C CCUUAGC A   
+DF5060    GCUG AC GU A GCUUAA    CU    AAAGCA U AACAC UGAAGCUGUU AAG                         A   CGGA CCC UAG AA   AG UC C CGCUAGC A   
+DF5080    GCAA AG GU A GCUUAAC   GGAUU AAAGCA C AGCAC UGAAAAUGCU UCA                         A   AGGG AGU UAA AG  UCC CU C CCUUAGC A   
+DF5100    GCUA UC GU A GCUUAA    UU    AAAGUU U AAUAC UGAAGAUAUU AGG                         A   UGGA CCC UAG AA   AG UC C CGAAAGC A   
+DF5120    GCUU AC GU A GCUUAA    GU    AAAGCA C AGCAC UGAAGAUGCU GAG                         A   UGAG CCC UAG AA   AG CU C CGAAAGC A   
+DF5121    GCUU AC GU A GCUUAA    GU    AAAGCA C AGCAC UGAAAAUGCU GAG                         A   UGAG CCC UAC GA  AAG CU C CGUAAGC A   
+DF5160    ACUC UU AU A GCUUAAU   AUU   AAAGUA U AGCGC UGAAAACGCU AAG                         A   UGAA CCC UAA AA   AG UU C UAGGGGU A   
+DF5200    GUUA AU GU A GCUUAAAA UUUUAU AAAGCA A GACAC UGAAAAUGUC UAG                         A   UGGG C A UUA CC    G CC C CAUCAAC A   
+DF5220    GCCC CC AU A GCUUAACC  CAC   AAAGCA U GGCAC UGAAGAUGCC AAG                         A   UGGU AC  CUA CU   AU AC C UGUGGGC A   
+DF5280    GUUA AU GU A GCUUAUA   AU    AAAGCA A AGCAC UGAAAAUGCU UAG                         A   UGGA U U CAA AA    A UC C CAUAAAC A   
+DF5320    GUUA AU GU A GCUUAAUA  AC    AAAGCA A AGCAC UGAAAAUGCU UAG                         A   UGGA U A AUU GU    A UC C CAUAAAC A   
+DF5360    GUUG AU GU A GCUUAAC   CC    AAAGCA A GGCAC UGAAAAUGCC UAG                         A   UGAG U C UCC CA    A CU C CAUAAAC A   
+DF5400    GUCU AC GU A GCUUAACC  CCC   AAAGCA A GACAC UGAAAAUGCC UAG                         A   UGGA U U CAC AC    A UC C CAUAGAC A   
+DF5880    GUUU AU GU A GCUUACCU CCUC   AAAGCA A UACAC UGAAAAUGUU UAG                         A   CGGG C U CAC AU  C A CC C CAUAAAC A   
+DF5900    GUUA AU GU A GCUUAAA   AUU   AAAGCA A GGCAC UGAAAAUGCC UAG                         A   UGAG U A UAU UA    A CU C CAUAAAC A   
+DF5910    GUUA AU GU A GCUUAAA   GUCC  AAAGCA A GGCAC UGAAAAUGCC UAG                         A   UGAG U A CAC CA    A CU C CAUAAAC     
+DF5920    GUUA AU GU A GCUUUAA   AAUU  AAAGCA A GGCAC UGAAAAUGCC UAG                         A   UGAG U G CUC CA    A CU C CAUAAAC A   
+DF5930    GUUA AU GU A GCUUAAA   CUA   AAGGCA A GGCAC UGAAAAUGCC AAG                         A   UGAG UG  UAC G    CA CU C CAUGAAC A   
+DF5940    GUUA AU GU A GCUUAA    AUCC  AAAGCA A GGUAC UGAAAAUGCC UAG                         A   UGAG UU  UAU U    AA CU C CAUAAAC A   
+DF5950    GUUA AU GU A GCUUAAA   CU    AAAGCA A GGCAC UGAAAAUGCC UAG                         A   UGGG U A UUU A     A CU C CAUAAAC A   
+DF5960    GUUA AU GU A GCUUAAA   UCU   AAAGCA A GGCAC UGAAAAUGCC UAG                         A   UGAG U G CAC UA    A CU C CAUAAAC A   
+DF5970    GUUC AU GU A GCUUAAA   ACC   AAAGCA A GGCAU UGAAAAUGCC UAG                         A   UGAG U A UAU UA    A CU C CAUAAAC A   
+DF5980    GUUG AU GU A GCUUAAA   ACC   AAAGCA A GGCGC UGAAAAUGCC UAG                         A   UGAG U A UAU GA    A CU C CAUAAAC A   
+DF6200    GCGG GU UU A GCUCAGUU  GGG   AGAGCG U CAGAC UGAAGAUCUG AAG                         GU  CGUG UGU UCG AU  CCA CA C AAACCGC A   
+DF6280    GCGG AU UU A GCUCAGUU  GGG   AGAGCG C CAGAC UGAAGAUCUG GAG                         GU  CCUG UGU UCG AU  CCA CA G AAUUCGC A   
+DF6281    GCGG AU UU A GCUCAGUU  GGG   AGAGCG C CAGAC UGAAGAUCUG GAG                         GU  CCUG UGU UCG AU  CCA CA G AGUUCGC A   
+DF6320    GUCG CA AU G GUGUAGUU  GGG   AGCAUG A CAGAC UGAAGAUCUG UUG                         GU  CAUC GGU UCG AU  CCC GG U UUGUGAC A   
+DF6740    GCGG GG AU A GCUCAGUU  GGG   AGAGCG U CAGAC UGAAGAUCUG AAG                         GU  CGCG UGU UCG AU  CCA CG C UCACCGC A   
+DF7740    GCCG AA AU A GCUCAGUU  GGG   AGAGCG U UAGAC UGAAGAUCUA AAG                         GU  CCCC GGU UCA AU  CCC GG G UUUCGGC A   
+DF7920    GCCG AA AU A GCUCAGUU  GGG   AGAGCG U UAGAC UGAAGAUCUA AAG                         GU  CCCU GGU UCG AU  CCC GG G UUUCGGC A   
+DF9160    GCCG AA AU A GCUCAGUU  GGG   AGAGCG U UAGAC UGAAGAUCUA AAA                         GG UCCCU GGU UCG AU  CCC GG G UUUCGGC A   
+DG0220    GCGG AU AU C GUAUAAU   GGU   AUUACC U CAGAC UUCCAAUCUG AUG                         A   UGUG AGU UCG AU  UCU CA U UAUCCGC UCCA
+DG0260    GCGG UU AA G CACACG    GGUU  GUGUCG C AGGCC UUCCAAGCCU CGC                         UG AGUAG GGU UCG AU  UCC CU C UAGCCGC UCCA
+DG0860    GCGG CC GU C GUCUAGUC UGGAUU AGGACG C UGGCC UCCCAAGCCA GCA                         AU  CCCG GGU UCG AA  UCC CG G CGGCCGC A   
+DG0960    GCGG CC GU A GUCUAGCC UGGU   AGGAUG G CGGCC UCCCAAGCCG CAG                         AA  CCCG GGU UCA AA  UCC CG G CGGCCGC ACCA
+DG1140    GCAG GU GU A GUUGAAU   GGU   AGAACU U CAGCC UUCCAAGCUG AUU                         G   UGAG GGU UCG AU  UCC CU U CACCUGC UCCA
+DG1180    GCAG GU GU A GUUUAAU   GGC   AGAACU U CAGCC UUCCAAGCUG AUU                         G   UGAG GGU UCG AU  UCC CU U CACCUGC UCCA
+DG1200    GCGA GU AU A GUUUAGU   GGU   AGAACA U CAGUC UUCCAAGCUG AUC                         G   UGUC GGU UCG AU  UCC GA U UACUCGC UCCA
+DG1230    GUCG GU GU C GUAUAU    GGU U AUUAC  A GGCCU UGCCAAGGCU UAG                         A   CGGC AGU UCG AU  CCU GC U CACCGGC UCCA
+DG1350    GCGG AC GU A GCUCAGUU  GGU   AGAGCG C AACCU UGCCAAGGUU GAG                         GU  CGCG AGU UCG AG  CCU CG U CGUCCGC U   
+DG1500    GCGG AA GU A GUUCAGU   GGU   AGAACA U CACCU UGCCAUGGUG GGG                         GU  CGCG GGU UCG AA  UCC CG U CUUCCGC U   
+DG1540    GCGG GU GU A GUUUAGU   GGU   AAAACC U CAGCC UUCCAAGCUG AUG                         U   CGUG GGU UCG AU  UCC CA U CACCCGC UCCA
+DG1541    GCGG AA GU A GUUCAGU   GGG   AGAACA C CACCU UGCCAAGGUG GGG                         GU  CGCG GGU UCG AA  UCC CG U CUUCCGC UCCA
+DG1542    GCGG AA GU A GUUCAGU   GGU   UGAACA C CACCU UGCCAAGGUG GGG                         GU  CGCG GGU UCG AA  UCC CG U CUUCCGC UCCA
+DG1580    GCGG GA GU A GCUCAGUC  GGU   AGAGCA C GACCU UGCCAAGGUC GGG                         GU  CGCG GGU UCA AG  UCC CG U CUCCCGC UCCA
+DG1581    GCGG GA GU A GCUCAGUU  GGU   AGAGCA U CGGCU UCCCAAGCCG AGG                         GU  CGCG GGU UCG AG  UCC CG U CUCCCGC UCCA
+DG1660    GCGG GC AU C GUAUAAU   GGCU  AUUACC U CAGCC UUCCAAGCUG AUG                         A   UGCG GGU UCG AU  UCC CG C UGCCCGC UCCA
+DG1661    GCGG GA AU A GCUCAGUU  GGU   AGAGCA C GACCU UGCCAAGGUC GGG                         GU  CGCG AGU UCG AG  UCU CG U UUCCCGC UCCA
+DG1662    GCGG GC GU A GUUCAAU   GGU   AGAACG A GAGCU UCCCAAGCUC UAU                         A   CGAG GGU UCG AU  UCC CU U CGCCCGC UCCA
+DG1820    GCGG GU AU A GUUCAGU   GGU   AGAACC U CAGCC UUCCAAGCUG AUG                         A   UGCG GGU UCG AU  UCC CG C UACCCGC UCCA
+DG2000    GCGG GA AU A GCUCAGUU  GGU   AGAGCA C GACCU UGCCAAGGUC GGG                         GU  CGCG AGU UCG AG  CCU CG U UUCCCGC UCCA
+DG2180    GCGG GU GU A GCUCAGCU  GGU   AGAGCG C AACCU UGCCAAGGUU GAU                         GU  CGCG CGU UCG AA  UCG CG U CACCCGC U   
+DG2440    GCGG AU GU A ACUCAAUC  GGU   AGAGUG C GAUCC UUCCAAGUUC GAG                         GU  UGUG GGU UCG AG  UCC CA U CAUCCGC U   
+DG2520    GCAG AU GU A GCUCAGU   GGU   AGAGCG C AACCU UGCCAAGGUU GAU                         GC  CAUG GGU UCG AG  UCC CA U UAUCUGC U   
+DG2521    GCGG GU AU A GCUCAGUU  GGU   AGAGCG U GGUCC UUCCAAGUCC AAU                         GU  UGCG UGU UCG AA  UCA CG U UACCCGC U   
+DG2600    GCGG GU AU A GUUUAAU   GGU   AAAAUU C CUCCU UGCCAAGGAG AAU                         A   UGCG GGU UCG AU  UCC CG C UACCCGC C   
+DG2601    GCGG GU AU A GUUUAGU   GGU   AAAACC U UAGCC UUCCAAGCUA ACG                         A   UGCG GGU UCG AU  UCC CG C UACCCGC U   
+DG2640    GCGA GC GU A GUUCAAU   GGU   AAAACA U CUCCU UGCCAAGGAG AAG                         A   UACG GGU UCG AU  UCC CG C CGCUCGC C   
+DG2641    GCGG GU AU A GUUUAGU   GGU   AAAACC C UAGCC UUCCAAGCUA ACG                         A   UGCG GGU UCG AU  UCC CG C UACCCGC U   
+DG2680    GCGA GC GU A GUUCAAU   GGU   AAAAUA U CUCCU UGCCAAGGAG AAG                         A   UACG GGU UCG AU  UCC CG C CGCUCGC C   
+DG2681    GCGG GU AU A GUUUAGU   GGU   AAAACC C UAGCC UUCCAAGCUA ACG                         A   UGCG GGU UCG AU  UCC CG C UACCCGC U   
+DG2700    GCGG GU AU A GUUUAGU   GGU A AAAGCC C UAGCC UUCCAAGCUA ACG                         A   UGCG GGU UCG AU  UCC CG C UACCCGC U   
+DG2701    GCGA GC GU A GUUCAAU   GGU   AAAACA U CUCCU UGCCAAGGAG AAG                         A   UACG GGU UCG AU  UCC CG C CGCUCGC C   
+DG2920    GCGG GU AU A GUUUAGU   GGU   AAAACC C UAGCC UUCCAAGCUA ACG                         A   UGCG GGU UCG AU  UCC CG C UACCCGC U   
+DG2921    GCGG AU AU G GUCGAAU   GGU   AAAAUU U CUCUU UGCCAAGGAG AAG                         A   UGCG GGU UCG AU  UCC CG C UAUCCGC C   
+DG3200    GCGG AU AU A GUUGAAU   GGU   AUAAUU U CUCUU UGCCAAGGAG AAG                         A   CGCG GGU UCA AU  UCC CG C UAUCCGC C   
+DG3880    ACGG CU AU A AGUUAAU   GGU   AGACUA C UUAGC UACCACCUAA GAU                         G   UGUC GAU UCG AA  UUC GA C UAGCCGU A   
+DG3881    AUGA CU AU A AGUUAAUA  GGU   AGACUG U UCGUC UUCCAAACGA AGU                         G   UGUC GAU UCG AA  UUC GA C UAGUCAU A   
+DG4000    AUAG AU AU A AGUUAAUU  GGU   AAACUG G AUGUC UUCCAAACAU UGA                         A   UGCG AGU UCG AU  UCU CG C UAUCUAU A   
+DG4040    GCAG AU AU A AGUCAAUU  GGC   AGACCU U CUGAU UUCCACUUAG AUU                         A   UGUU CGU UCG AA  UCG GA C UAUCUGC A   
+DG4070    AUGA GU AU A AGUUAAU   GGUU  AAACUA A AUGUC UUCCACACAU UCC                         A   UGUG AGU UCG AU  UCU CA C UACUCAU A   
+DG4080    AUAG AU AU A AGUUAAGU  GGU   AAACUG A AUGUC UUCCACACAU UGA                         U   UGUG AGU UCG AU  UCU CA C UAUCUAG A   
+DG4320    GCGG AA AU A GCUUAAU   GGU   AGAGCA U AGCCU UGCCAAGGCU GAG                         GU  UGAG GGU UCA AG  UCC CU C CUUCCGC U   
+DG4360    GCGG AA AU A GCUUAAU   GGU   AGAGCG U AGCCU UGCCAAGGCU GAG                         GU  UGAG GGU UCA AG  UCC CU C CUUCCGC U   
+DG4500    GCGG AA AU A GCUUAAU   GGU   AGAGUA U AGCCU UGCCAAGGCU AAG                         GU  UGAG GGU UCA AG  UCC CU U UUUCCGC U   
+DG4501    GCGG AU AU A GAUUAAA   GGU   AAAUUA U CUGCC UUCCAAGCAG AGG                         A   UAUG GGU UCG AU  UCC CG U UAUCCGC A   
+DG4700    GCAU AU AU A GUAAACA   AU    AUUAUA U UUGCC UUCCAAGCAA AAG                         U   CCUA AU  AAA      AU UA G UGUAUGC U   
+DG4760    AUUU UU CU A GUAUAA    UU    AGUACA U UUGAC UUCCAAUCAA AAG                         A    UUG A   AAU A     U CA A GAAAAAU A   
+DG4800    AUUU AU AU A GUAUAUA   AU    UGUAUA U GUGAC UUCCAAUCAC AAG                         G   ACUA AA  UAA U    UU UA G UAUAAAU A   
+DG4840    AUCU AU AU A GUAUAAA         AGUAUA U UUGAC UUCCAAUCAU AAG                         G   UCUA UU  AAU U    AA UA G UAUAGAU A   
+DG4880    AUCU AU AU A GUAUAAA         AGUAUA U UUGAC UUCCAAUCAU AAG                         G   UCUA UU  AAU A    AA UA G UAUAGAU A   
+DG4980     CUU UA UU AGUAUAAU    UA    GUAUA  U UUGAU UUCCAAUCAA AAG                         G   GCUU UGU UAAGAA  UCA AA G AUGGAGU     
+DG5000    GUUU CA UG A GUAUAGC         AGUACA U UCGGC UUCCAACCGA AAG                         GU  UUUU GUA AAC AA  CCA AA A AUGAAAU A   
+DG5020    UCUA UU A  A UAUAACA         GUAUAU U UAGUU UUCCAAAUUA AAA                         G   GCCU GUU A G AA  GUC AG G UAGUAAA A   
+DG5040    ACUC UA UG A GUACAAA         CGUACC U UUGAC UUCCAAUCAA AUA                         GC  UCUU AGG GAA AA  UCU AA G AUAGAGU A   
+DG5080    GCUU UA UG A AUACAAC         AGUAUU U UUGAC UUCCAAUCAG ACA                         G   UCUU GGU GAA AA  UUU AA G AUAAAGC A   
+DG5100     UCU UU CU A GUACUAA   GG    AGUAUA A GUGGC UUCCAACCAC ACG                         G   UCUU GGU UAG AG  UCC AA G GAAAGAU     
+DG5120    ACUU UC UU A GUAUUAA   CC    AGUACA C GUGAC UUCCAAUCAC AAA                         G   UCUU AGU AGA AU   CU AA G AGAAAGU A   
+DG5220    GCUC UU CU A GUAUAC    UC    AUUACA A CUGAC UUCCAAUCUU UAA                         A   AUCU GGU AUC AA  CCC AG A GAAGAGC A   
+DG5280    ACUC CC UU A GUAUAA    AC    AAUACA A CUGAC UUCCAAUCAG UUA                         A   UUCU GAA AAA AC   UC AG A AGAGAGU A   
+DG5320    ACUC CC UU A GUAUAA    UU    AAUAUA A CUGAC UUCCAAUUAG UAG                         A   UUCU GAA UAA AC   CC AG A AGAGAGU A   
+DG5360    AUUC UU UU A GUAUUAA   CU    AGUACA G CUGAC UUCCAAUCAG CUA                         G   UUUC GGU CUA GU   CC GA A AAAGAAU A   
+DG5880    ACUC UU UU A GUAUAA    AU    AGUACC G UUAAC UUCCAAUUAA CUA                         G   UUUU GAC AAC AU   UC AA A AAAGAGU A   
+DG6280    GCGC AA GU G GUUUAGU   GGU   AAAAUC C AACGU UGCCAUCGUU GGG                         C   CCCC GGU UCG AU  UCC GG G CUUGCGC A   
+DG7140    GCAC CA GU G GUCUAGU   GGU   AGAAUA G UACCC UGCCACGGUA CAG                         A   CCCG GGU UCG AU  UCC CG G CUGGUGC A   
+DG7180    GCAC CA GU G GUCUAGU   GGU   AGAAUA G UACCC UGCCACGGUA CAG                         A   CCCG GGU UCG AU  UCC CG G CUGGUGC A   
+DG7680    GCAU CG GU G GUUCAGU   GGU   AGAAUG C UCGCC UGCCACGCGG GCG                         G   CCCG GGU UCG AU  UCC CG G CCGAUGC A   
+DG7740    GCAU CG GU G GUUCAGU   GGU   AGAAUG C UCGCC UGCCACGCGG GCG                         G   CCCG GGU UCG AU  UCC CG G CCGAUGC A   
+DG7741    GCAU CG GU G GUUCAGU   GGU   AGAAUG C UCGCC UGCCACGCGG GCG                         G   CCCG GGU UCG AU  UCC CG A CCGAUGC A   
+DG8100    GCGU UG GU G GUAUAGU   GGUG  AGCAUA G CUGCC UUCCAAGCAG UUG                         A   CCCG GGU UCG AU  UCC CG G CCAACGC A   
+DG9160    GCGU UG GU G GUAUAGU   GGUG  AGCAUA G CUGCC UUCCAAGCAG UUG                         A   CCCG GGU UCG AU  UCC CG G CCAACGC A   
+DG9161    GCGU UG GU G GUAUAGU   GGUG  AACAUA G CUGCC UUCCAAGCAG UUG                         A   CCCG GGU UCG AU  UCC CG G CCAACGC A   
+DG9990    GCAU UG GU G GUUCAGU   GGU   AGAAUU C UCGCC UGCCACGCGG GAG                         G   CCCG GGU UCG AU  UCC CG G CCAAUGC A   
+DG9991    GCAU UG GU G GUUCAGU   GGU   AGAAUU C UCGCC UCCCACGCGG GAG                         A   CCCG GGU UCA AU  UCC CG G CCAAUGC A   
+DH0260    GUGG CU AU A UCAUAAUU  GGUU  AAUGGU C CUGAU UGUGAAUCAG GCC                         UA  UGUG GAU UCG AA  UUC CA C UAGCCAC CCCA
+DH0660  G GCCG AG GU A GGGUAGU   GGCU  AUCCUG A AGGAC UGUGGAUCCU UCG                         A   CCCG GGU UCA AU  UCC CG G UCUCGGC CCCA
+DH0680  G GCCG GG GU G GGGUAGUU  GGCC  AUCCUU C GGGAC UGUGGAUCCC GCG                         A   CUCG GGU UCA AA  UCC CG G CCCUGGC CU  
+DH1140  G GCGU AG GU G GUGAAGU   GGUU  AACACA U CAGGU UGUGGCUCUG ACA                         UA  CGCG GGU UCG AU  CCC CG U UCUACGC CCCA
+DH1230    GCGG UU GU G GCGAAGU   GGUU  AACGCA U CGGCU UGUGGCGCCG ACA                         CU  CGGG GGU UCA AU  UCC CC U CGGCCGC CCCA
+DH1540  G GCGG UU GU G GCGAAGU   GGUU  AACGCA C CAGAU UGUGGCUCUG GCA                         CU  CGUG GGU UCG AU  UCC CA U CAAUCGC CCCA
+DH1541  G GCGG UU GU G GCGAAGU   GGUU  AACGCA C CAGAU UGUGGCUCUG GCA                         UU  CGUG GGU UCG AU  UCC CA U CAAUCGC CCCA
+DH1660  G GUGG CU AU A GCUCAGUU  GGU   AGAGCC C UGGAU UGUGAUUCCA GUU                         GU  CGUG GGU UCG AA  UCC CA U UAGCCAC CCCA
+DH1700  G GUGG CU AU A GCUCAGUU  GGU   AGAGCC C UGGAU UGUGAUUCCA GUU                         GU  CGUG GGU UCG AA  UCC CA U UAGCCAC CCCA
+DH1740  G GUGG CU AU A GCUCAGUU  GGU   AGAGUC C CGGAU UGUGAUUCCG GUU                         GU  CGCG AGU UCA AG  CCU CG U UAGCCAC CCCA
+DH1780  G GUGG CU GU A GCUCAGUU  GGU   AGAGUC C CGGAU UGUGAUUCCG GUU                         GU  CGUG GGU UCG AG  CCC CA U CAGCCAC CCCA
+DH2520  G GUGG GU GU A GCCAAGU   GGU   AAGGCA A AGGAC UGUGACUCCU UCA                         UU  CGCG GGU UCG AU  CCC CG U CAUUCAC C   
+DH2600  G GCGG AC GU A GCCAAGU   GGAUU AAGGCA G UGGAU UGUGGAUCCU CUA                         CG  CGCG GGU UCA AU  UCC CG U CGUUCGC C   
+DH2700    GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         UG  CGCG GGU UCA AU  UCC CG U CGUUCGC C   
+DH2720  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         U   GCCG GGU UCA AU  UCC CG U CGUUCGC C   
+DH2880  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         UG  CGCG GGU UCA AU  UCC CG U CAUUCGC CC  
+DH2920  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         UG  CGCG GGU UCA AU  UCC CG U CGUUCGC C   
+DH2960  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         UG  CGCG GGU UCA AU  UCC CG U CGUUCGC CC  
+DH3020  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         UG  CGCG GGU UCA AU  UCC CG U CGUUCGC C   
+DH3120  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         UG  CGCG GGU UCA AU  UCC CG U CGUUCGC CC  
+DH3200  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         UG  CGCG GGU UCA AU  UCC CG U CGUUCGC C   
+DH3230    GCGG AC GU A GCCAAGU   GGACC AAGGCA G UGGAU UGUGAAUCCA CCA                         CG  CGCG GGU UCA AU  UCC CG U CGUUCGC C   
+DH3240  G GCGG AU GU A GCCAAGU   GGAUU AAGGCA G UGGAU UGUGAAUUCA CCA                         U   CGCG GGU UCA AU  UCC CG U CGUUCGC C   
+DH3280  G GCGG AU GU A GCCAAGU   GGAUU AAGGCA G UGGAU UGUGAAUCCA CCA                         UU  CGCG GGU UCA AU  UCC CG U CGUUCGC CC  
+DH3360    GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         UG  CGCG GGU UCA AU  UCC CG U CGUUCGC C   
+DH3800  G GUGG AU AU A GCUCAAUC  GGU   AGAGCG U UAGAU UGUGGAUCUA AAG                         GU  CGCG GGU UCG AU  UCC UG C UAUUUAC C   
+DH3880  G GUGG GU GU A GUUCAAA   GGU   AGAACA G CUGUA UGUGGCAUAG UAU                         A   UCCU AGU UCA AU  UCU AG G UAUCCAC C   
+DH4000  G GUGA AU AU A UUUCAAU   GGU   AGAAAA U ACGCU UGUGGUGCGU UAA                         A   UCUG AGU UCG AU  UCU CA G UAUUCAC C   
+DH4040  G GUGA UU GU A AUUCAAU   GGU   AGAAUG C UUAUU UGUGGCAUAA GAA                         GU  UCUU GGU UCG AU  UCC AA G UAAUCAC C   
+DH4080  G CUAA AU AU A UUUCAAU   GGUUA GCAAAA U ACGCU UGUGGUGCGU UAA                         A   UCUA AGU UCG AU  UCU UA G UAUUUAC C   
+DH4360  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         CG  CGCG GGU UCA AU  CCC CG U CGUUCGC C   
+DH4480  G GCGG AU GU A GCCAAGU   GGAUC AAGGCA G UGGAU UGUGAAUCCA CCA                         UG  CGCG GGU UCA AU  UCC CG U CGUUCGC C   
+DH4500  G GCGG AU AU A ACUUAGG   GGUU  AAAGUU G CAGAU UGUGGCUCUG AAA                         A   CACG GGU UCG AA  UCC CG U UAUUCGC C   
+DH4700    AAAA AA GU A GUUUAAUU  UA    AGAACG A UAGGU UGUGGGGCUA UUA                         G   CGGU     GUU A       AC C CUUUUUU A   
+DH4880    AUUU AA AU A GUUUAA    AA    AAAAUA C UAAUU UGUGGUGUUA GUG                         A   UAUG AA  GUU A    UU CA U UUUAGAU C   
+DH5000    ACCA AA GU A GUUUAA    AA    AAAACA U UAAUU UGUGGCAUUA GAA                         U   UACC AGU UAA AA  CCU GG U CUCUGGU C   
+DH5040    ACUA AA GU A GUUUAUA         AAAACA C CAGCC UGUGGAACUG GAG                         U   AACU GGU UAA AA  CCC GG U CUUAAGU C   
+DH5080    GAUU AA AGUA GUUUAA    GA    AAAGCA U CAGCC UGUGGAGCUG AAG                         A   CGCC AGU AAA CU   CU GG C UUAAAUC C   
+DH5100    GUAG AU UU A GUUUAA    CC    AAGACA U UAGAU UGUGAUUCUA AAA                         A   UAGA GGU UAA AC  CCC UC U AAUCCAC C   
+DH5120    GUAG AU AU A GUUUAAU         AAAACA C UAGAU UGUGAUUCUA GAG                         U   CAGA GGU UAA AC  CCC UC U UAUCAAC C   
+DH5220    GCAA AC AU A GUUUAA    CC    CAAACA U UAGAU UGUGAUUCUA AAA                         A   UAGG AGU UUA AC  CCU CC U UGUUCGC C   
+DH5280    GUAG AU AU A GUUUAC    AA    AAAACA U UAGAC UGUGAAUCUA ACA                         A   CAGG AAA UCA AA   UU CC U UAUUUAC C   
+DH5320    GUGA AU AU A GUUUAC    AA    AAAACA U UAGAC UGUGAAUCUG ACA                         A   CAGG AAA UAA AC   CU CC U UAUUCAC C   
+DH5360    GUAA AU AU A GUUUAA    CA    AAAACA U UAGAU UGUGAAUCUA ACA                         A   UAGA AAC UCA UUA CCU UC U UAUUUAC C   
+DH5440    GUAG AU AU A GUUUAA    CU    AAAACA C UAGAU UGUGAAUCUA ACC                         A   UAGA GAC UCA CC  ACU CC U UAUUUAC C   
+DH5480    GUAG AU AU A GUUUAA    CU    AAAACA U UAGAU UGUGAAUCUA ACC                         A   UAGA GAC UUA CC  ACC UC U UAUUUAC C   
+DH5520    GUAA AU AU A GUUUAA    CU    AAAACA U UAGAU UGUGAAUCUA ACU                         A   UAGA GGC CUA CC  ACU UC U UAUUUAC C   
+DH5560    GUAA AU AU A GUUUAA    UU    AAAACA U UAGAC UGUGAAUCUA ACU                         A   UAGA AGC UUA CC  ACU UC U UAUUUAC C   
+DH5600    GUAA UU AU A GUUUAG    CU    AAAACA U UAGAU UGUGAAUCUA AUA                         A   UAGA AGA AUA UA  ACU UC U UAAUUAC C   
+DH5640    GUAA AU AU A GUUUAA    AC    AAAACA U UAGAU UGUGAGUCUA AUA                         A   UAGA AGC CCA AA  CUU UC U UAUUUAC C   
+DH5680    GUAA AU AU A GUUUAAA         AAAACA C UAGAU UGUGAAUCCA GAA                         A   UAGA AGC UCA AA  CCU UC U UAUUUAC C   
+DH5720    GUAA AU AU A GUUUAA    CC    AAAACA U CAGAU UGUGAAUCUG ACA                         A   CAGA GGC UCA CG  ACC CC U UAUUUAC C   
+DH5760    GUAA AC AU A GUUUAA    UC    AAAACA U UAGAU UGUGAAUCUA ACA                         A   UAGA GGC UCG AA  ACC UC U UGCUUAC C   
+DH5800    GUAA AU AU A GUUUAA    CC    AAAACA U CAGAU UGUGAAUCUG AUA                         A   CAGA GGC UCA CA  ACC CC U UAUUUAC C   
+DH5840    GUAA AU AU A GUUUAA    CC    AAAACA U UAGAU UGUGAAUCUA AUA                         A   UAGG GCC CCA CA  ACC CC U UAUUUAC C   
+DH5880    GUAA AU AU A GUUUAA    CC    AAAACA U CAGAU UGUGAAUCUG ACA                         A   CAGA GGC UUA CG  ACC CC U UAUUUAC C   
+DH6160    GCCG UG AU A GUAUAGU   GGU   AGUACA U CAGAU UGUGGCUCUG AUG                         A   CCCU GGU UCG AU  UCC AG G UCGCGGC A   
+DH6280    GCCA UC UU A GUAUAGU   GGUU  AGUACA C AUCGU UGUGGCCGAU GAA                         A   CCCU GGU UCG AU  UCU AG G AGAUGGC A   
+DH6320    GCUC AC AU G GUCCAGU   GGUU  AAGACU C AUCGU UGUGGCCGAU GCG                         A   CCCA GGU UCG AU  UCC UG G UGUGGGC A   
+DH7740    GCCG UG AU C GUCUAGU   GGUU  AGGACC C CACGU UGUGGCCGUG GUA                         A   CCCA GGU UCG AA  UCC UG G UCACGGC A   
+DH8100    GCCG UG AU C GUAUAGG   GGUU  AGUACU C UGCGU UGUGGCCGCA GCA                         A   CCUC GGU UCG AA  UCC GA G UCACGGC A   
+DI0220    GGCC CU GU A GCUCAAU   GGUUA GCAGCA G UCCCC UCAUAAGGGA AAG                         GU  UACC AGU UCA AA  UCU GG U CUGGGUC A   
+DI0260    ACUU CG GU A GCUUAGC   GAUCU AAAGCA C UCGGC UGAUAACCGA GAG                         AU  CGGG GGU UUA AA  UCC CU C CCGGAGU ACCA
+DI0660    GGGC UC GU A GCUCAGGC UGGUU  AGAGUG C UCGGC UCAUAACCGA GUG                         GU  CAUG GGU UCA AA  UCC CA U CGGGCCC A   
+DI0680    GGGC CC AU A GCUUAGCC AGGU   AGAGCG C CCGGC UCAUAACCGG GCG                         GU  CAUG GGU UCG AA  UCC CA U UGGGCCC A   
+DI1140    GGAC CU UU A GCUCAGUU  GGUU  AGAGCA U CCGGC UCAUAACCGG ACG                         GU  CAUU GGU UCA AG  UCC AA U AAGGUCC ACCA
+DI1141    CGGA AU AU A GCUCAGCU  GGUU  AGAGCA U UCCGC UGAUAACGGA GAG                         GU  CGUU GGU UCA AG  UCC AA U UAUUCCG ACCA
+DI1180    GGAC CU UU A GCUCAGUU  GGUU  AGAGCA U CCGGC UCAUAACCGG ACG                         GU  CAUU GGU UCA AG  UCC AA U AAGGUCC ACCA
+DI1230    GGAC CC GU A GCUCAGUU  GGUU  AGAGCU A CCGGC UCAUAACCGG UCG                         GU  CGUU GGU UCG AG  UCC AA C CGGGUCC ACCA
+DI1260    GGAC CC UU A GCUCAGUU  GGUU  AGAGCA U CCGGC UCAUAACCGG AUG                         GU  CACU GGU UCA AG  UCC AG U AGGGUCC ACCA
+DI1540    GGGC CU GU A GCUCAGCU  GGUU  AGAGCG C ACGCC UGAUAAGCGU GAG                         GU  CGGU GGU UCG AG  UCC AC U CAGGCCC ACCA
+DI1541    GGGC CU GU A GCUCAGCU  GGUU  AGAGCG C ACGCC UGAUAAGCGU GAG                         GU  CGAU GGU UCG AG  UCC AU U CAGGCCC ACCA
+DI1542    GGAC CU UU A GCUCAGUU  GGUU  AGAGCA G ACGGC UCAUAACCGU CCG                         GU  CGUA GGU UCG AG  UCC UA C AAGGUCC ACCA
+DI1620    GGGC CU AU A GCUCAGCU  GGCU  AGAGCA C ACGCC UGAUAAGCGU GAG                         GU  CAGU GGU UCG AG  UCC AC U UGGGCCC ACCA
+DI1660    AGGC UU GU A GCUCAGGU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GU  CGGU GGU UCA AG  UCC AC U CAGGCCU ACCA
+DI1661    GGCC CC UU A GCUCAGU   GGUU  AGAGCA G GCGAC UCAUAAUCGC UUG                         GU  CGCU GGU UCA AG  UCC AG C AGGGGCC ACCA
+DI1820    GGGU CU GU A GCUCAGUU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GU  CGGC AGU UCG AA  UCU GC C CAGACCC ACCA
+DI1860    GGGC CU AU A GCUCAGCU  GGUU  AGAGUG C ACCCC UGAUAAGGGU GAG                         GU  CACA AGU UCA AG  UCU UG U UAGGCCC ACCA
+DI1900    AGGC CU GU A GCUCAGGU  GGUU  AGAGCG U ACGCC UGAUAAGCGU AAG                         GU  CGGC AGU UCG AG  UCU GC C UAGGCCU ACCA
+DI2100    GGGC UA UU A GCUCAGGU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GU  CCCU GGU UCA AG  UCC AG G AUGGCCC A   
+DI2180    GGGC UA UU A GCUCAGUU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GC  CCCU GGU UCG AA  UCC AG G AUGGCCC A   
+DI2220    GGGC UA UU A GCUCAGUU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GG  CCCU GGU UCA AA  UCC AG G AUGGCCC A   
+DI2400    GGGC UA UU A GCUCAGUU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GC  CCCU GGU UCG AA  UCC AG G AUGGCCC A   
+DI2410    GGGC UA UU A GCUCAGUU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GG  CCCU GGU UCA AA  UCC AG G AUGGCCC A   
+DI2440    GGGC UA UU A GCUCAGUU  GGUU  AGAGCG U UGCUU UGAUAAGGCA AAA                         GU  CGAA AGU UCA AA  UCU UU C AUAGCCC A   
+DI2480    GGGC UA UU A GCUCAGUU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GU  CGCU GAU UCG AA  UUC AG C AUAGCCC A   
+DI2520    GGGC UA UU A GCUCAGUU  GGUU  AGAGCA U ACCCU UGAUAAGGGU AAG                         GU  CGCU AGU UCA AG  UCU AG C AUGGCCC U   
+DI2540    GGGC UA UU A GCUCGCU   GGU   UGAGCA C ACCCC UGAUAAGGGU GAG                         GC  CUCU GGU UCAAAG  UCC AG A AUAGCCC A   
+DI2550    GGGC UA UU A GCUCAGU   GGU   AGAGCG C GCCCC UGAUAAGGGC GAG                         GU  CUCU GGU UCA AG  UCC AG G AUAGCCC A   
+DI2570    GGGC UA UU A GCUCAGUU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GU  CCCU GGU UCA AA  UCC AG G AUGGCCC A   
+DI2580    GGGU UA UU A GCUCAGUU  GGUU  AGAGCA C ACCCC UGAUAAGGGU GAG                         GU  CCCU GGU UCA AA  UCC AG G AUAACCC A   
+DI2590    GGGC UA UU A GCUCAGUU  GGUU  AGAGCG C ACCCC UGAUAAGGGU GAG                         GU  CUCU GGU UCA AA  UCC AG A AUGGCCC A   
+DI2600    GCAU CC AU G GCUGAAU   GGUU  AAAGCA C CCAAC UCAUAAUUGG CGA                         AU UCACA GGU UCA AU  UCC UG U UGGAUGC A   
+DI2601    GGGC UA UU A GCUCAGU   GGU   AGAGCG C GCCCC UGAUAAGGGC GAG                         GU  CUCU GGU UCA AG  UCC AG G AUAGCCC A   
+DI2620    GGGC UA UU A GCUCAGC   GGUAG AGCGCG C GCCCC UGAUAAGGGC GAG                         GU  CUCU GGU UCA AA  UCC AG G AUAGCCC A   
+DI2700    GCAU CC AU G GCUGAAU   GGUU  AAAGCG C CCAAC UCAUAAUUGG UAA U                       AU  UGCG GGU UCA AU  UCC UG C UGGAUGC A   
+DI2701    GGGC UA UU A GCUCAGU   GGU   AGAGCG C GCCCC UGAUAAGGGC GAG                         GU  CUCU GGU UCA AG  UCC AG G AUGGCCC A   
+DI2720    GGGC UA UU A GCUCAGU   GGU   AGAGCG C GCCCC UGAUAAGGGC GAG                         GU  CUCU GGU UCA AG  UCC AG G AUGGCCC A   
+DI2760    GCAU CC AU G GCUGAAUG  GUU   AAAGCG C CCAAC UCAUAAUUGG CGA U                       AU  CGUA GGU UCA AU  UCC UA C UGGAUGC A   
+DI2840    GGGC UA UU A GCUCAGU   GGU   AGAGCG C GCCCC UGAUAAGGGC GAG                         GU  CUCU GGU UCA AG  UCC AG G AUGGCCC ACCA
+DI2920    GGGC UA UU A GCUCAGU   GGU   AGAGCG C GCCCC UGAUACGGGC GAG                         GU  CUCU GGU UCA AG  UCC AG G AUGGCCC A   
+DI2921    GCAU CC AU G GCUGAAU   GGUU  AAAGCG C CCAAC UCAUAAUUGGCGAA                         UU  CGUA GGU UCA AU  UCC UA C UGGAUGC A   
+DI2922    GCAU CC AU G GCUGAAU   GGUU  AAAGCG C CCAAC UCAUAAUUGG CGA                         AU UCGUA GGU UCA AU  UCC UA C UGGAUGC A   
+DI3080    GCAU CC AU G GCUGAAU   GGUU  AAAGCG C CCAAC UCAUAAUUGG UAA                         AU UUGCG GGU UCA AU  UCC UG C UGGAUGC A   
+DI3220    GCAU CC AU G GCUGAAU   GGUU  AAAGCG C CCAAC UCAUAAUUGG CGA U                       AC  CGCG GGU UCA AU  UCC UG C UGGAUGC A   
+DI3280    GCAU CC AU G GCUGAAU   GGUU  AAAGCG C CCAAC UCAUAAUUGGCGAA                         UU  CGUA GGU UCA AU  UCC UA C UGGAUGC A   
+DI3281    GGGC UA UU A GCUCAGU   GGU   AGAGCG C GCCCC UGAUACGGGC GAG                         GU  CUCU GGU UCA AG  UCC AG G AUGGCCC A   
+DI3880    GGUU CU UU A ACUUAACC  GGU   AAAGUG U GUUCU UGAUAAGGAU AUG                         U   UCAG UGU UCG AG  UCA CU G AAGAAUC A   
+DI4000    GAAA CU AU A AUUCAAUU  GGUU  AGAAUA G UAUUU UGAUAAGGUA CAA                         A   UAUA GGU UCA AU  CCC UG U UAGUUUC A   
+DI4080    GAAA CU AU A AUUCAAUU  GGUU  AGAAUA G UAUUU UGAUAAGGUA CCA                         A   UAUA GGU UCG AU  UCC UG U UAGUUUC A   
+DI4320    GGGC UU AU A GUUUAAUU  GGUU  GAAACG U ACCGC UCAUAACGGU GAU                         AU  UGUA GGU UCG AG  CCC UA C UAAGCCU ACCA
+DI4500    GGGC UU AU A GUUUAAUU  GGUU  CAAACG C ACCGC UCAUAACGGU GAU                         AU  UGUA GGU UCG AG  UCC UA C UAAGCCU A   
+DI4620    CCGG UA GG G CUGCGU        U AGCAGG U UACUG UGAUAUAGUA AUA                         GU  GAGA     GUU U       UC U UCGUCGG U   
+DI4700    AGUG CC AC G UGGGGGA   UG    AUCCAG U UGCUU UGAUGAAGCA GAG                         CU  CAAA AU   AU G    AU UU U UGGCACU U   
+DI4880    AAUG AA UU G CCUGAU    AA    AAAGGG U UACCU UGAUAGGGUA AAU                         UA  UGCA G   UUU U     C UG C AUUCAUU G   
+DI4960    AAUG AA UU G CCUGAUA         AAAGGG U UAUCU UGAUAGGGUA AAU                         UA  UGUA G   GAU U     C UA C AUUCAUU G   
+DI5040    AGAG CU UG C UCCCAAA   GCU   UGGGUG U CUAGC UGAUAAUUAG ACU                         AU  CAAG GGU UAA AU  UCC CU UCAAGCUCU A   
+DI5080    GAGC UU GC   CCCUAAA   GUU   AAGGUG U CUAGC UGAUAAUUAG AUU                             UAAG GGU UAA AU  UCC CU U CAAGCUC U   
+DI5120    GGAA AU GU G CCCGAA    AG    UAGGGA U CACUU UGAUAGAGUG AAA                         UA  UAUG GGU UCA AA  CCC CA U CAUCUCC U   
+DI5160    GGAA GC GU G CCUGAA    AGU   UAAGGA C CUCCU UGAUAGGGAG GCU                         UA  UAGG GGU UCA AA  CCC CC U CACUUCC U   
+DI5220    GGAA GC GU G CCUGAAC   AA    AAAGGA U CACUA UGAUAAAGUG AAC                         A   UAGA GGU AUA ACAACCC UC U CACUUCC U   
+DI5280    AGAA AU AU G UCUGACA         AAAGAG U UACUU UGAUAGAGUA AAU                         AA  UAGA GGU UUA AA  UCC UC U UAUUUCU A   
+DI5320    AGAA AU AU G UCUGAUA         AAAGAA U UACUU UGAUAGAGUA AAU                         UA  UAGA GGU UCA AG  CCC UC U UAUUUCU A   
+DI5360    AGAA AU AU G UCUGACA         AAAGAG U UACUU UGAUAGAGUA AAU                         AA  UAGA GCU UCA AA  CCC UC U UAUUUCU A   
+DI5880    AGAA AU AU G UCUGAUA         AAAGAG U UACUU UGAUAGAGUA AAU                         AA  UAGG AGC UUA AA  CCC CC U UAUUUCU A   
+DI6280    GGUC UC UU G GCCCAGUU  GGUU  AAGGCA C CGUGC UAAUAACGCG GGG                         AU  CAGC GGU UCG AU  CCC GC U AGAGACC A   
+DI6281    GCUC GU GU A GCUCAGU   GGUU  AGAGCU U CGUGC UUAUAACGCG ACC                         GU  CGUG GGU UCA AU  CCC CA C CUCGAGC A   
+DI6320    GGUC GC AU   AUGUAGUC  GGUU  AUCAUG U CGAUC UAAUAAGUCG AAU                         GU  CGCC GGU UCG AA  CCC GG C UGUGACC A   
+DI7740    GGCC CA UU A GCUCAGUU  GGUU  AGAGCG U CGUGC UAAUAACGCG AAG                         GU  CGCG GGU UCG AU  CCC CU C AUGGGCC A   
+DI8100    GGCC GG UU A GCUCAGUU  GGUU  AGAGCG U GGUGC UAAUAACGCC AAG                         GU  CGCG GGU UCG AU  CCC CG U ACGGGCC A   
+DK0260    GGGU UG CU A GCUCAACU  GGUUU AGAGCA C UGGUC UUUUAAACCA UAG                         GU  UACA GGU UCG AG  UCC UG U GCAACCC ACCA
+DK0660    GGGC CC GU A GCUUAGUC UGGU   AGAGCG C CUGAC UUUUAAUCAG GCG                         GU  CGAG GGU UCG AA  UCC CU U CGGGCCC G   
+DK0680    GGGC CC GU A GCUCAGUC UGGU   AGAGCG C UUGGC UUUUAACCAA GUA                         GU  CGCG GGU UCA AA  UCC CG U CGGGCCC G   
+DK0740    GGGC CC GU A GCUUAGUC UGGU   AGAGCG C CUGGC UUUUAAUCAG GCG                         GU  CGAG GGU UCG AA  UCC CU U CGGGCCC G   
+DK1140    GACU CG UU A GCUCAGCC  GGU   AGAGCA A CUGGC UUUUAACCAG UGG                         GU  CCGG GGU UCG AA  UCC CC G ACGAGUC ACCA
+DK1141    GUCU GA UU A GCGCAACU  GGC   AGAGCA A CUGAC UCUUAAUCAG UGG                         GU  UGUG GGU UCG AU  UCC CA C AUCAGGC ACCA
+DK1200    GACU CA CU A GCUCAGC   GGU   AGAGCA U UUGAC UUUUAAUCAA AGG                         GU  CCCG AGU UCG AU  CCU CG G GUGAGUC ACCA
+DK1220    GACU CG UU A GCUCAGCC  GGU   AGAGCA A CUGGC UUUUAACCAG UGG                         GU  CCGG GGU UCG AA  UCC CC G ACGAGUC ACCA
+DK1230    GCAU CC AU A GCUCAGUU  GGU   AGAGCA A CAGAC UCUUAAUCUG UGG                         GU  CCAC GGU UCG AG  CCC GU G UGGGUGU ACCA
+DK1231    GUCC CG UU A GCUCAGGU  GGU   AGAGCA C UUGAC UUUUAAUCAA GGU                         GU  CGAU GGU UCG AG  UCC AU C ACGGGAC ACCA
+DK1350    GCGC CG CU A GCUCAGUU  GGUU  AGAGCA G CUGAC UCUUAAUCAG CGG                         GU  CCGG GGU UCG AG  UCC CU G GCGGCGC A   
+DK1540    GAGC CA UU A GCUCAGUU  GGU   AGAGCA U CUGAC UUUUAAUCAG AGG                         GU  CGAA GGU UCG AG  UCC UU C AUGGCUC ACCA
+DK1660    GGGU CG UU A GCUCAGUU  GGU   AGAGCA G UUGAC UUUUAAUCAA UUG                         GU  CGCA GGU UCG AA  UCC UG C ACGACCC ACCA
+DK2000    GGGU CG UU A GCUCAGAC  GGU   AGAGCA G CGGAC UUUUAAUCCG UUG                         GU  CGAA GGU UCG AA  UCC UU C ACGACCC ACCA
+DK2520    GAGU UG GU A GCUCAGUU  GGU   AGAGCA C UCGGC UUUUAACCGA UCG                         GU  CCUG GGU UCG AA  UCC CA G CCAACUC A   
+DK2580    GGGU UG CU A ACUCAAU   GGU   AGAGUA C UCGGC UUUUAACCGA UUA                         GU  UCCG GGU UCG AG  UCC CG G GCAACCC A   
+DK2600    GGGU UG CU A ACUCAAU   GGU   AGAGUA C UCGGC UUUUAACCGA CGA                         GU  UCCG GGU UCG AG  CCC CG G GCAACCC A   
+DK2920    GGGU UG CU A ACUCAAC   GGU   AGAGUA C UCGGC UUUUAACCGA CUA                         GU  UCCG GGU UCG AA  UCC CG G GCAACCC A   
+DK3200    GGGU UG CU A ACUCAAU   GGU   AGAGUA C UCGGC UUUUAACCGA CAG                         U   UCCG GGU UCG AG  UCC CG G GCAACCC ACCA
+DK3220    GGGU UG CU A ACUCAAU   GGU   AGAGUA C UCGGC UUUUAACCGA CGA                         GC  UCCG GGU UCG AG  UCC CG G GCAACCC G   
+DK3230    GGGU UG CU A ACUCAAU   GGU   AGAGUA C UCGGC UUUUAACCGA CGA                         GC  UCCG GGU UCG AG  UCC CG G GCAACCC G   
+DK3240    GGGU UG CU A ACUCAAC   GGU   AGAGUA C UCGGC UUUUAACCGA CUA                         GU  UCCG GGU UCG AG  UCC CG G GCAACCC A   
+DK3880    GAGA CU UU A GUUUAAU   GGU   AAAACA U AUGAC UUUUAAUCAU UCU                         AC  UAUA GGU UCG AG  UCC UA U AAGUCUU A   
+DK4000    GAGA AU AU U GUUUAAU   GGU   AAAACA G UUGUC UUUUAAGCAA CCC                         A   UGCUUGGU UCA AC  UCC AG C UAUUCUC A   
+DK4030    GAGA GU AU   UGUUUAAU  GGUA  AAACAU U CUGUC UUUUAAGCAG UCU                         A   UAGU GGU UCG AU  UCC AC U UAUUCUC A   
+DK4050    GAGA AU AU U GUUUAAU   GGU   AAAACA G UUGCC UUUUAAGCAU CCC                         AU  GUUU GGU UCG AU  UCC AA C UAUUCUU A   
+DK4080    GAGA GU AU U GUUUAAA   GGU   AAAACA G UUGUC UUUUAAGCAA CCC                         A   UGCU GGU UCG AA  UCC AG C UAUUCUC A   
+DK4340    GGGU GU AU A GCUCAGUU  GGU   AGAGCA U UGGGC UUUUAACCUA AUG                         GU  CGCA GGU UCA AG  UCC UG C UAUACCC A   
+DK4440    GGGU GU AU A GCUCAGUU  GGU   AGAGCA U UGGGC UUUUAACCUA AUG                         GU  CGCA GGU UCA AG  UCC UG C UAUACCC A   
+DK4480    GGGU GU AU A GCUCAGUU  GGU   AGAGCA U UGGGC UUUUAACCUA AUG                         GU  CGCA GGU UCA AG  UCC UG C UAUACCC A   
+DK4500    GGGU GU AU A GCUCAGUU  GGU   AGAGCA A UAGGC UUUUAACUUA AAG                         GU  CGCA GGU UCA AG  UCC UG C UAUACCC A   
+DK4620    CUGG GG GU A GCUUAA    GAUU  AAAGUU U GGAAU UCUUACUUCU AAG                         A   UAUC UG  GUU      UG GA U UCUUCAG G   
+DK4700    UAAG CU AA A GCUUUG    AA    GAAGCG U UAAAC UUUUAAUUUA AUG                         A   ACUU GUA UAA UG  CGC AA G UAGCUUU U   
+DK4760    CAUC AG AU G ACUGAA    AG    UAAGUA A UGGUC UCUUAAACCA AAA                         AA  UAGU AAA UUA AC GUUU AC U UCUGAUG A   
+DK4840    CAUU AG AU G ACUGAA    AG    CAAGUA C UGGUC UCUUAAACCA UUU                         AA  UAGU AAA UUA GC CAUU AC U UCUAAUG A   
+DK4880    CAUU AG AU G ACUGAA    AG    CAAGUA C UGGUC UCUUAAACCA UUU                         UA  UAGU AAA UUA GC ACUU AC U UCUAAUG A   
+DK5040    CCUU AA UU A GCUUAUU   AU    AAAGCC C UAAAC UCUUAAUUUA AAA                         GA  AAAU AGU UAA AA  CCU AU U AUUAAGG A   
+DK5080    CCUU AA UU A GCUUAU    UU    AAAGCU U UAGAC UCUUAAUUUA AAG                         A   AAUU AGC UAA UA  CCU AU U AUUAAGG A   
+DK5100    CACU AA GA A GCUAAUAU  GGGU  UAAGCA C CAGCC UUUUAAGCUG GAA                         GC  AGGU GAC UCC CA  ACC AC C CUUAAUG A   
+DK5120    CACU AA GA A GCUAAAU   GGGCA UUAGCG A CAGCC UUUUAAGCUG UAG                         AU  UGGU GAC UCC CA  ACC AC C CUUAAUG A   
+DK5220    CAUU AA GA A GCUAUG    CA    CCAGCA C UAGCC UUUUAAGCUA GAG                         AG  AGGG G A CAC CC  U C CC C CUUAAUG A   
+DK5280    CAUU GC GA A GCUU            AGAGCG U UAACC UUUUAAGUUA AAG                         UU  AGAG A C AAC AA  A U CU C CACAUUG A   
+DK5281    CAUU GC GA A GCUU            AGAGCG U UAACC UUUUAAGUUA AAG                         UU  AGAG A C AAC AA  A U CU C CACAAUG A   
+DK5320    CACU AU GA A GCUA            AGAGCG U UAACC UUUUAAGUUA AAG                         UU  AGAG ACC UUA AA   AU CU C CAUAGUG A   
+DK5360    CACU AA GA A GCUAU           AUAGCA C UAACC UUUUAAGUUA GAG                         AU  UGAG AGC CAU AU  ACU CU C CUUGGUG A   
+DK5880    CACU GU AA A GCUAAC          UUAGCA U UAACC UUUUAAGUUA AAG                         AU  UAAG AGA ACC AACACCU CU U UACAGUG A   
+DK6050    GCCC UU CU A GCUCAGUC  GGU   AGGGCG C ACGGC UCUUAACCGU GUG                         GU  CGUG GGU UCG AG   CC CA C GGGGGGU G   
+DK6051    GCCU UC CU A GCUCAGU   GGU   AGAGCG C ACGGC UUUUAACCGU GUG                         GU  CGUG GGU UCG AU  CCC CA C GGAAGGC G   
+DK6052    GCCC UU CU A GCUCAGUC  GGU   AGAGCG C ACGGC UCUUAACCGU GUG                         GU  CGUG GGU UCG AG  CCC CA C GGGGGGU G   
+DK6160    GCCC AG AU A GCUCAGUC  GGU   AGAGCG C AAGGC UUUUAACCUU GUG                         GU  CGGG GGU UCG AG  CCC CC C UUUGGGC G   
+DK6161    GCCC GG CU A GCUCAGUC  GGU   AGAGCG C CAGAC UCUUAAUCUG GUG                         GU  CGGG GGU UCG AG  CCC CC C GUUGGGC G   
+DK6280    UCCU UG UU A GCUCAGUU  GGU   AGAGCG U UCGGC UUUUAACCGA AAU                         GU  CAGG GGU UCG AG  CCC CC U AUGAGGA G   
+DK6281    GCCU UG UU G GCGCAAUC  GGU   AGCGCG U AUGAC UCUUAAUCAU AAG                         GU  UAGG GGU UCG AG  CCC CC U ACAGGGC U   
+DK6320    UCCC GA GU G GCUCAAUC  GGUUU AGAGCG U CUGAC UCUUAAUCAG AAG                         GU  UGCG AGU UCG AG  UCU CG C CUUGGGA G   
+DK7560    GCCC GG UU A GCUCAGUC  GGU   AGAGCA C CAGAC UCUUAAUCUG GUU                         GU  CGCG GGU UCG AG  CCC CG C AUUGGGC U   
+DK7680    GCCC GG CU A GCUCAGUC  GGU   AGAGCA U GAGAC UCUUAAUCUC AGG                         GU  CGUG GGU UCG AG  CCC CA C GUUGGGC G   
+DK7740    GCCC GG CU A GCUCAGUC  GGU   AGAGCA U GAGAC UCUUAAUCUC AGG                         GU  CGUG GGU UCG AG  CCC CA C GUUGGGC G   
+DK7741    GCCC GG AU A GCUCAGUC  GGU   AGAGCA U UGGAC UUUUAAUCCA AGG                         GU  CCAG GGU UCA AG  UCC CU G UUCGGGC G   
+DK7920    GCCC GC AU A GCUCAGUC  GGU   AGAGCA U CAGAC UUUUAAUCUG AGG                         GU  CCAG GGU UCA AG  UCC CU G UUCGGGC G   
+DK8040    GCCC GG CU A GCUCAGUU  GGU   AGAGCA U GAGAC UCUUAAUCUC AGG                         GU  CGUG GGU UCG AG  CCC CA C GUUGGGC G   
+DK8100    GCCU GG AU A GCUCAAUU  GGU   AGAGCA U CAGAC UUUUAAUCUG AGG                         GU  UCAG GGU UCA AG  UCC CU G UUCAGGC G   
+DK8101    GCCC GG CU A GCUCAGUC  GGU   AGAGCA U GAGAC UCUUAAUCUC AGG                         GU  CGUG GGU UCG AG  CCC CA C GUUGGGC G   
+DK9160    GCCC GG CU A GCUCAGUC  GGU   AGAGCA U GAGAC UCUUAAUCUC AGG                         GU  CGUG GGU UCG AG  CCC CA C GUUGGGC G   
+DK9990    GCCC GG AU A GCUCAGUC  GGU   AGAGCA U CAGAC UUUUAAUCUG AGG                         GU  CCAG GGU UCA AG  UCC CU G UUCGGGC G   
+DK9991    GCCC GG CU A GCUCAGUC  GGU   AGAGCA U GAGAC UCUUAAUCUC AGG                         GU  CGUG GGU UCG AG  CCC CA C GUUGGGC G   
+DL0220    GCGA GA AU G GUCAAAUU  GGUA  AAGGCA C AGCAC UUAAAAUGCU GC  GGA A   UGA   U    U UCCU   UGUG GGU UCG AG  UCC CA C UUCUCGC ACCA
+DL0260    GGGG CU AU G CUGGAACU  GGUA  GACAAU A CGGCC UUAGAUUCCG UA  GCU     UAA   A      UGCG   UGGG AGU UCG AG  UCU CC C UAGCCCC ACCA
+DL0440    GCAG GG AU A GCCAAGUU UGGCCA ACGGCG C AGCGU UCAGGGCGCU GU  CCC     GUA   G      GGGUC  CGCA GGU UCA AA  UCC UG C UCCCUGC A   
+DL0660    GCAG GG GU U GUCGAGCC UGGCCA AAGAUG C AGGAC UUAGAAUCCU GU  CCA     GUA   G      UGGUU  CCAG GGU UCA AA  UCC CU G CCCCUGC A   
+DL0680    GCGG GG GU G CCCGAGU   GGUCA AAGGGG A CAGGC UUAGGACCUG UU  GGC     GUU   AG     GCUU   CCAG GGU UCG AA  UCC CU G CCCCCGC A   
+DL0860    GCGG GG GU G CCCGAGCA AGGUCA AAGGGG U CGGGC UCAGGCCCCG AU  GGU     GUA   G      GCCUG  CGUG GGU UCA AA  UCC CA C CCCCCGC A   
+DL0980    GCGG GG GU G CCCGAGCC AGGUA  AAGGGG C AGGGC UCAAGACCCU GU  GGC     GUA   G      GCCUG  CGUG GGU UCG AA  UCC CA C CCCCCGC A   
+DL0981    GCGG GG GU G CCCGAGCC AGGUA  AAGGGG C AGGGU UCAGGUCCCU GU  GGC     GUA   G      GCCUG  CGUG GGU UCA AA  UCC CA C CCCCCGC A   
+DL1140    CCCC AA GU G GCGGAAUA  GGUA  GACGCA U UGGAC UUAAAAUCCA AC  GGG C   UUA   AU   A UCCUG  UGCC GGU UCA AG  UCC GG C CUUGGGG ACCA
+DL1141     GGG GA UU   GGCGGAAU UGGCA  GACGCA C UAGAC UUAGGAUCUA GC  GUC     UUU          GACG   UAAG GGU UCA AG  UCC CU U AUCCCCC ACCA
+DL1200    GCCC AA GU G GCGGAAU   GGUA  GACGCA U GGGAU UUAAGAUCCC AC  GCU A   GCA   A    U AGCG   UGCC GGU UCA AG  UCC GG C UUUGGGC ACCA
+DL1220    GGGG GA UU G GCGGAAUU  GGCA  GACGCA C UAGAC UUAGGAUCUA GC  GUC     UUU          GACG   UAAG GGU UCA AG  UCC CU U AUCCCCC ACCA
+DL1230    CCCC GU GU G GCGAAAU   GGUA  GACGCG C UUGAC UCAAAAUCAA GU  AGU     GAA   G      ACUG   UGCU GGU UCG AG  UCC GG U CACGGGG ACCA
+DL1231    GCGG GU GU G GCGAAAUU  GGCA  GACGCA C UAGAC UUAGGAUCUA GC  GCU     UUA   C      GGCA   UGCA GGU UCA AG  UCC UG U CACCCGC ACCA
+DL1232  U GCCC GG GU G GUGAAAUC  GGUA  GACACG C AGGAC UUAAAAUCCU GU  GGC A   UAA   A    A GCCA   UGUC GGU UCA AG  UCC GA C CCCGGGC ACCA
+DL1310    GCCC GG AU G GUGGAA    UGCA  GACACG G CGAGC UUAAACCUCG CU  GCC CC  UUC   G   AG GGCG   UGCC GGU UCA AG  UCC GG C UCCGGGC ACCA
+DL1540    GCGG AU GU G GCGGAAUU  GGCA  GACGCG C UAGAA UCAGGCUCUA GU  GUC U   UUA   C    A GACG   UGGG GGU UCA AG  UCC CU U CAUCCGC ACCA
+DL1541    GCCG GG GU G GUGGAAUU  GGCA  GACACA C AGGAC UUAAAAUCCU GC  GGU AG  GUG   A   CU ACCG   UGCC GGU UCA AG  UCC GG C CCUCGGC A   
+DL1542    GCCG GG GU G GUGGAAUU  GGCA  GACACA C AGGAC UUAAAAUCCU GC  GGU AG  GUG   A   CU ACCG   UGCC GGU UCA AG  UCC GG C CCUCGGC ACCA
+DL1543    GCCG GU GU G GCGGAAUU  GGCA  GACGCG C ACGAC UCAAAAUCGU GU  UCC     UUC   U      GGAG   UGUC GGU UCG AC  CCC GA C CACCGGU A   
+DL1544    GCGG GU GU G GCGGAAUU  GGCA  GACGCG C UAGAC UUAGGAUCUA GU  GUC     UUU   AU     GACG   UGGG GGU UCA AG  UCC CU U CACCCGC A   
+DL1660    GCGA AG GU G GCGGAAUU  GGUA  GACGCG C UAGCU UCAGGUGUUA GU  GUC C   UUA   C    G GACG   UGGG GGU UCA AG  UCC CC C CCCUCGC ACCA
+DL1661    GCGG GA GU G GCGAAAUU  GGUA  GACGCA C CAGAU UUAGGUUCUG GC  GCC     GCA   A      GGUG   UGCG AGU UCA AG  UCU CG C CUCCCGC ACCA
+DL1662    GCCG AA GU G GCGAAAUC  GGUA  GACGCA G UUGAU UCAAAAUCAA CC  GUA     GAA   A      UACG   UGCC GGU UCG AG  UCC GG C CUUCGGC ACCA
+DL1663    GCCG AG GU G GUGGAAUU  GGUA  GACACG C UACCU UGAGGUGGUA GU  GCC C   AAU   A    G GGCU   UACG GGU UCA AG  UCC CG U CCUCGGU ACCA
+DL1664    GCCC GG AU G GUGGAAUC  GGUA  GACACA A GGGAU UUAAAAUCCC UC  GGC G   UUC   G    C GCUG   UGCG GGU UCA AG  UCC CG C UCCGGGU ACCA
+DL1700    GCGA AG GU G GCGGAAUU  GGUA  GACGCG C UAGCU UCAGGUGUUA GU  GUC C   UUA   C    G GACG   UGGG GGU UCA AG  UCC CC C CCCUCGC ACCA
+DL1750    GCGG AA GU G GCGGAAUU  GGUA  GACGCA C UAGAU UUAGGUUCAU GC  GCC U   GUA        A GGUG   UGAG AGU UCA AG  UCU CU C CUUCCGC ACCA
+DL1780    GCGA AG GU G GCGGAAUU  GGUA  GACGCG C UAGCU UCAGGUGUUA GU  GCC C   CCC        G GGUG   UGAG GGU UCG AG  UCC CU C UCUUCGC ACCA
+DL1940    GCCC AG AU G GCGGAAUU  GGUA  GACGCG C CAGCU UCAGGUGCUG GU  ACU C   GAA   A    G GGUG   UGGA GGU UCG AG  UCC UC U UCUGGGC ACCA
+DL1980    GCCC AG GU G GCGGAAUU  GGUA  GACGCG C AUGGU UCAGGUCCAU GU  GCC     GCA   A      GGUG   UGGA GGU UCG AG  UCC UC U CCUGGGC ACCA
+DL2000    GCCC GA GU G GUGGAAUC  GGUA  GACACA A GGGAU UUAAAAUCCC UC  GCC U   UUC   G    A CGCG   UGCC AGU UCA AG  UCU GG C UUCGGGC ACCA
+DL2180    GGGG AU GU G GUGGAAUU  GGUA  GACGCA A CGGAC UUAAAAUCCG UC  GAU U   GUA   UA   G AUCG   UGAG GGU UCA AG  UCC CU C CGUCCCC A   
+DL2520    GCAG GC AU G GCGGAAUU UGGUA  GACGCG C AGGAU UUAGGUUCCU GU  GUC     UUU   AU     GAUG   UGAG AGU UCG AG  UCU CU C UGCCUGU A   
+DL2521    GCCU UC GU G GUGAAAU   GGUA  GACACU C AUGAC UUAAAAUCAU GU  GCU U   AUA        A AGCG   UACC GGU UCA AC  UCC GG U CGAAGGU A   
+DL2522    UCCU UC GU G GUGAAAU   GGUA  AACACG U GUGAU UCAAAAUCAC AU  GC      AUA   A       GCU   UGCC GGU UCG AG  UCC GG U CGAAGGU A   
+DL2600    GCCU UG AU G GUGAAAU   GGUA  GACACG C GAGAU UCAAAAUUUC GU  GCU     UAA          AGCA   UGGA GGU UCG AG  UCC UC U UCAAGGC A   
+DL2601    GGGG GU AU G GCGAAAUU  GGUA  GACGCU G CGGAC UUAAAAUCCG UU  GGC UU  UAA       AG ACCG   UGAG GGU UCA AG  UCC CU C UACCCCC A   
+DL2602    GCCG CU AU G GUGAAAUU  GGUA  GACACG C UGCUC UUAGGAAGCA GU  GC      UAA   G       GCU   UCUC GGU UCG AA  UCC GA G UAGCGGC A   
+DL2700    GCCG CC AU G GUGAAAUU  GGUA  GACACG C UGCUC UUAGGAAGCA GU  GCU     CA           AGCA   UCUC GGU UCG AG  UCC GA G UGGCGGC A   
+DL2701    GGGG AU AU G GCGAAAUC  GGUA  GACGCU A CGGAC UUAAAAUCCG UCG ACU U   UCU        A AGUCG  UGAG GGU UCA AG  UCC CU C UAUCCCC A   
+DL2702    GCCU UG AU G GUGAAAU   GGU A GACACG C GAGAC UCAAAAUCUC GU  GCU     AAA   G      AGCG   UGGA GGU UCG AG  UCC UC U UCAAGGC A   
+DL2720    GGGG AU AU G GCGAAAUC  GGUA  GACGCU A CGGAC UUAAAAUCCG UC  GAC UU  UAU       AA GUCG   UGAG GGU UCA AG  UCC CU C UAUCCCC A   
+DL2721    GCCU UG AU G GUGAAAU   GGUA  GACACG C GAGAC UCAAAAUCUC GU  GCU     AAA   G      AGCG   UGGA GGU UCG AG  UCC UC U UCAAGGC A   
+DL2740    GCCG CU AU G GUGAAAUU  GGUA  GACACG U UGCUC UUAGGAAGCA GU  GCU     AU           AGCA   UCUU GGU UCG AG  UCC GA G UGGCGGC A   
+DL2800    GCCU UG GU G GUGAAAU   GGUA  GACACG C GAGAC UCAAAAUCUC GU  GCU     AAA   A      AGCG   UGGA GGU UCG AG  UCC UC U UCAAGGC A   
+DL2920    GCCG CU AU G GUGAAAUU  GGUA  GACACG C UGCUC UUAGGAAGCA GU  GC      UAA   U       GCA   UCUC GGU UCG AG  UCC GA G UGGCGGC A   
+DL2921    GGGG AU AU G GCGAAAUC  GGUA  GACGCU A CGGAC UUAAAAUCCG UC  GAC UU  UAA       AA AUCG   UGAG GGU UCA AG  UCC CU C UAUCCCC A   
+DL2922    GCCU UG GU G GUGAAAU   GGUA  GACACG C GAGAC UCAAAAUCUC GU  GCU A   AA         U AGCG   UGGA GGU UCG AG  UCC UC U UCAAGGC A   
+DL3200    GCCU UG GU G GUGAAAUGGUGGUA  GACACG C GAGAC UCAAAAUCUC GU  GCU     AAA   C      AGCG   AGGA GGU UCG AG  UCC UC U UCAAGGC A   
+DL3280    GCCU UG GU G GUGAAAU   GGUA  GACACG C GAGAC UCAAAAUCUC GU  GCU     AAA   A      AGCG   UGGA GGU UCG AG  UCC UC U UCAAGGC A   
+DL3360    GCCU UG GU G GUGAAAU   GGUA  GACACG C GAGAC UCAAAAUCUC GU  GCU     AAA   C      AGCG   UGGA GGU UCG AG  UCC UC U UCAAGGC A   
+DL3361    GGGG AU AU G GCGAAAUU  GGUA  GACGCU A CGGAC UUAAAAUCCG UC  GAC UU  UAA       AA AUCG   UGAG GGU UCA AG  UCC CU C UAUCCCC A   
+DL3400    GGGG AU AU G GCGAAAUC  GGUA  GACGCU A CGGAC UUAAAAUCCG UC  GAC UU  UAU       AA GUCG   UGAG GGU UCA AG  UCC CU C UAUCCCC A   
+DL3800    ACUU AU GU G GCGGAACA  GGUA  GACGCG U GGGAC UUAAAAUCUC AU  UCC     AUA          GGAG   UGCC GGU UCG AU  UCC GG U CAUAAGU A   
+DL3840    ACUU AU GU G GCGGAAUA  GGUA  GACGCG U GGGAC UUAAAAUCUC AU  UCC     UAC          GGAG   UGCC GGU UCG AC  CCC GG U CAUAAGU A   
+DL3880    AUCC GA GU G CUGGAAUU  GGUA  GACAGU C UUAGC UUAAGUUUAA GU  GAC     GCA   A      GUCG   UAAA CGU UCG AA  UCG UU U CUCGGAU A   
+DL3881    AUGG GU AU G CUGAAAUA AGGUA  AACAGG U UCCGC UUAGGACGGA AU  AGU     CAA          ACUU   UGCA AGU UCA AG  UCU UG U UACCCGU A   
+DL4000    GCUA UU UU G GUGGAAUU  GGUA  GACACG A UACUC UUAAGAUGUA UU  ACU     UUA   C      AGUA   UGAA GGU UCA AG  UCC UU U AAAUAGC A   
+DL4020    AUGA CU AU G GCGGAAUU  GGUA  GACGCG A UUAGU UUAGGUCUAA UU  UAU U   UUU        A AUAA   UAUG GGU UCA AA  UCC CA U UAGUCAU A   
+DL4030    GCUA CU UU G GUGGAAUC  GGUA  GACACG A CGCAC UUAAAAUGCG UU  ACU U   AU         A AGUA   UAAA AGU UCA AG  UCU UU U AAGUAGC A   
+DL4040    GCCU AA AU G CUGGAAUU UGGUA  GACAGA A CAAAC UUAAGAUUUG UC  GCU     UUC   G      AGCG   UGUU GGU UCG AG  UCC AA C UUUAGGU A   
+DL4050    GCUA CU UU G GUGGAAAU  GGUA  GACACG A CACUC UUAAGAUGUG UU  AUC     GCA   A      GAUA   UGAA GGU UCA AA  UCC UU U AAGUAGU A   
+DL4070    GCUA UU UU G GUGGAAUU  GGUA  GACACG A CGCAC UUAAAAUGCG UU  ACU     AUA   AA     AGUA   UAAA AGU UCA AG  UCU UU U AAGUAGC A   
+DL4080    GCUA UU UU G GUGGAAUU  GGUA  GACACG A UACUC UUAAGAUGUA UU  ACU     UUA   U      AGUA   UGAA GGU UCA AA  UCC UU C AAAUAGC A   
+DL4360    GGGU GU AU A GCUCAGUU  GGU   AGAGCA G UGGGC UUUUAACCUA CUG                         GU  CGCA GGU UCA AG  UCC UG C UAUACCC A   
+DL4500    GCGC AU UU G GUGAAAAA  GGUA  AACACG A CGGAU UUAAAAUCCG UU  CC      UAU   U       GGU   UAUU GGU UCA AG  UCC AA U AAUGCGC A   
+DL4501    ACUC GC UU G GUGGAAC   GGCA  AACACG G CAGAC UCAAAAUCUG UU  UCU     AAU          GGAA   UAUC GGU UCG AA  UCC GA U AGCGAGU A   
+DL4502    GCGG AU AU G AUGGAAUU  GGUA  GACAUG C CAGGU UUAGGUUCUG GU  GAC CA  UAA       UG UUCG   UGGG GGU UCG AG  UCC CU C UAUCCGU A   
+DL4700    UGAA AG CU G GCAGAG    UU    AAUGCG C UUGAU UUAGGAUCAA UUU                         A   UAAG UA  UCC A    UA CU U GCUUUCA U   
+DL4701    CACA AG CU G GCAGAC    AU    AAUGCA U ACGAU UUAAGCUCGU CUU                         A   UAAG A U CAU AU    U CU U GUUUGUG U   
+DL4760    ACUA UU UU G GCAGAUA         AGUGCA A UGAAU UUAGAAUUCA UUU                         A   UGUA GAU UUU UU   UC UA C AAAUAGU A   
+DL4761    UCUA AU AU G GCAGAUU         AAUGCA U UAGAU UUAAGCUCUA AAA                         A   UAAA G U UUG AC    C UU U UAUUAGA A   
+DL4800    ACUA UU UU G GCAGAUU         AGUGCA G UAAAU UUAGAAUUUA UUU                         A   UAUA AUU UAA UU  AAU UA U AAAUAGU A   
+DL4840    UCUA AU AU G GCAGAUU         AGUGCA A UAGAU UUAAGCUCUA UAU                         A   UAAA GU  AUU UU   AC UU U UAUUAGA A   
+DL4880    UCUA AU AU G GCAGAUU         AGUGCA A UGGAU UUAAGCUCCA UAU                         A   UAAA GU  AUU UU   AC UU U UAUUAGA A   
+DL4921    ACUA UU UU G GCAGAUU         AGUGCA A UAAAU UUAGAAUUUA UAU                         A   UGUA AU  UUU U    AU UA C AAAUAGU A   
+DL4980    GCUU GA GU A GCAAAGAG  GGUUU AAUGCU U GAGAU UUAGGUUCUU ACA                         U   CAAG GGU UCA AU  UCC CU U CUCUAGU U   
+DL4981    GUUG AA GU A GCAAAGA   GGUA  AAUGCG A GAAUC CUAAGAUUUC UUU                         AU  CAAG GGU UCA AU  UCC CU U CUUCAAU U   
+DL5000    GCUG GG GU A GCAAAGU   GGUU  ACUGCA G UAGAU UUAGGAUCUA CGA                         U   CAAG GGU UCA AA  UCC UU U UCCUAGU U   
+DL5001    GCUG AA AU A GCAAAGU   GGU   AAUGCG A GAAGC CUAAGAUUUC UUU                         AU  CGAA GGU UCA AA  UCC UU C UUUCAGU U   
+DL5020    GCUU GA GU A GCAAAGC   GGUU  AAUGCU U GAGAU UUAGGUUCUC ACA                         U   CAAA GGU UCA AG  CCC UU U CUCUAGU U   
+DL5021    GUUG CA GU A GCAAAGC   GGUU  AAUGCG A GAAUC CUAAAAUUUC UUU                         AU  CAGA GGU UCA AA  UCC UC U CUCCAAC U   
+DL5040    GCUG AA AU A GCAAGU    GGUU  AAUGCA A AAGAC UUAGGAUUUU UCA                         U   CGAA GGU UCA AC  UCC UU C UUUCAGC U   
+DL5041    GCUA AA AU A GCAAAGU   GGUU  AAUGCA G AAGGC CUAAGACCUU CCU                         AU  CAAA GGU UCA AC  UCC CU U UUUUAGC U   
+DL5080    GCUG AA GU A GCAAAAGU  GGU   UAUGCA A AAGAC UUAGGAUCUU UUA                         A   CGAG GGU UCA AC  UCC UU C UUUCAGC U   
+DL5081    CUAA AG UA   GCAAAGU   GGUU  AAUGCA G AAGGC CUAAAACUUU CCU                         AU  CAAG GGU UCA AC   UC CU U UCUUUAG C   
+DL5100    GCUC CU AA A GGAUAAU   AGCU  CAUCCG U UGGUC UUAGGAACCA AAA                         AC  UCUU GGU GCA AC  UCC AA G UAGCAGC U   
+DL5120    GCUA GC GU G GCAGAGCC UGGCU  AAUGCG A AAGAC CUAAGCUCUU UUU                         AU  CAGG GGU UCA AA  UCC CC U CGCUAAC U   
+DL5121    GCUU UU AA A GGAAAAC   AGUC  UAUCCG C UGGUC UUAGGAACCA GAA                         AC  UCUU GGU GCA AA  UCC AA G UAAAAGC U   
+DL5160    GCUU UU AA A GGAAAAG   AGC   CCUCCA C UGGUC UUAGGCGCCA GCA                         UC  UCUU GGU GCA AG  UCC AA G UAAAAGC U   
+DL5220    ACUU UU AA A GGAUAAG   AGC   AAUCCG U UGGUC UUAGGAACCA CCU                         A   UCUU GGU GCA AA  UCC AA G UAAAAGU A   
+DL5221    GCUA GC GU G GCAGAGCU CGGCA  AAUGCA A AAGGC UUAAGCCCUU UAU                         C   CAGA GGU UCA AA  UCC UC U CCCUAGC U   
+DL5280    ACUU UU AU A GGAUAGA   AGU   AAUCCA U UGGUC UUAGGAACCA AAA                         A   CCUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5281    AUUA GG GU G GCAGAGCC AAGUA  AUUGCG U AAGAC UUAAAACCUU GUU                         CC  CAGA GGU UCA AA  UCC UC U CCCUAAU A   
+DL5320    ACUU UU AU A GGAUAAU   AGU   AAUCCA U UGGUC UUAGGAACCA AAA                         A   CCUU GGU GCA AA  UCC AA A UAAAAGU A   
+DL5321    AUUA GG GU G GCAGAGCC AGGAA  AUUGCG U AAGAC UUAAAACCUU GUU                         CC  CAGA GGU UCA AA  UCC UC U CCCUAAU A   
+DL5360    GUUA AG GU G GCAGAGCC CGGUA  AUUGCA U AAAAC UUAAACUUUU AUA                         UC  CAGA GAU UCA AA  UCC UC U CCUUAAC A   
+DL5361    ACUU UU AA A GGAUAGU   AGUU  UAUCCG U UGGUC UUAGGAACCA AAA                             AAUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5440    ACUU UU AA A GGAUAAC   AGC   UAUCCA U UGACC UUAGGAGUCA AAA                         A   CAUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5480    ACUU UU AA A GGAUAAC   AGC   UAUCCA U UGACC UUAGGAGUCA AAA                         A   UAUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5520    ACUU UU AA A GGAUAAC   AGC   UAUCCA U UGACC UUAGGAGUCA AAA                         A   CAUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5560    ACUU UU AA A GGAUAAC   AGC   UAUCCA U UGGCC UUAGGAGUCA AAA                         A   UAUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5600    ACUU UU AA A GGAUAGU   AGU   UAUCCA U UGGUC UUAGGAGCCA AAA                         A   CAUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5640    ACUU UU AA A GGAUAGA   AGU   AAUCCA U CGGUC UUAGGAACCG AAA                             AAUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5680    ACUU UU AA A GGAUAGA   AGU   AAUCCA U UGGCC UUAGGAGCCA AAA                             AAUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5720    ACUU UU AA A GGAUAAC   AGC   CAUCCG U UGGUC UUAGGCCCCA AAA                         A   UUUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5760    ACUU UU AA A GGAUAAC   AGC   UAUCCA U UGGUC UUAGGACCCA AAA                         A   UUUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5800    ACUU UU AA A GGAUAAC   AGC   UAUCCA U UGGUC UUAGGACCCA AAA                         A   UUUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5840    GCUU UU AA A GGAUAAC   AGC   UAUCCC U UGGUC UUAGGAUCCA AAA                         A   UUUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5880    ACUU UU AA A GGAUAAC   AGC   UAUCCA U UGGUC UUAGGCCCCA AAA                         A   UUUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL5881    ACUU UU AA A GGAUAAC   AGC   UAUCCA U UGGUC UUAGGCCCCA AAA                         A   UUUU GGU GCA AC  UCC AA A UAAAAGU A   
+DL6160    GCAA GG GU A GGAAAGUC UGGUUA AAUCCG U GUGAC UUAAGAUCUC AU  CC      AUU   C       GGUU  CGCG AGU UCG AA  UCU CG C CUCUUGC A   
+DL6200    GGCA AG AU G GCCGAGC   GGUCU AAGGCG C CACGU UAAGGCCGUG GU  CC      GAA   A       GGG   CGUG GGU UCG AA  UCC CA C UCUUGUC A   
+DL6280    GGUU GU UU G GCCGAGC   GGUCU AAGGCG C CUGAU UCAAGCUCAG GU  AUC     GUA   A      GAUG   CAAG AGU UCG AA  UCU CU U AGCAACC A   
+DL6281    GGAG GG UU G GCCGAGC   GGUCU AAGGCG G CAGAC UUAAGAUCUG UU  GGA C   GGU   U    G UCCG   CGCG AGU UCG AA  CCU CG C AUCCUUC A   
+DL6980    GUCA GG AU G GCCGAGU   GGUCU AAGGCG C CAGAC UCAAGUUCUG GU  CUU C   GAG   A    G AGGG   CGUG GGU UCA AA  UCC CA C UUCUGAC A   
+DL7560    GGAG AG AU G GCCGAGC   GGUCU AAGGCG C UGGUU UAAGGCACCA GU  CCC     UUC   G      GGGG   CGUG GGU UCG AA  UCC CA C UCUCUUC A   
+DL7740    GUCA GG AU G GCCGAGC   GGUCU AAGGCG C CAGAC UCAAGUUCUG GU  CCU C   UCU        G AGGG   CGUG GGU UCG AA  UCC CA C UUCUGAC A   
+DL7741    GUCA GG AU G GCCGAGU   GGUCU AAGGCG C UGCGU UCAGGUCGCA GU  CUA C   UCU        G UAGG   CGUG GGU UCG AA  UCC CA C UUCUGAC A   
+DL7920    GUCA GG AU G GCCGAGC   GGUCU AAGGCG C UGCGU UCAGGUCGCA GU  CUC C   CCU        G GAGG   CGUG GGU UCG AA  UCC CA C UUCUGAC A   
+DL8100    GUCA GG AU G GCCGAGC   GGUCU AAGGCG C UGCGU UCAGGUCGCA GU  CUC C   CCU        G GAGG   CGUG GGU UCG AA  UCC CA C UCCUGAC A   
+DL9160    GUCA GG AU G GCCGAGC   GGUCU AAGGCG C UGCGU UCAGGUCGCA GU  CUC CC  CUA       GA GAGG   CGUG GGU UCG AA  UCC CA C UCCUGAC A   
+DL9161    GUCA GG AU G GCCGAGU   GGUCU AAGGCG C UGCGU UCAGGUCGCA GU  CUC C   CCU        G GAGG   CGUG GGU UCG AA  UCC CA C UCCUGAC A   
+DL9162    GUCA GG AU G GCCGAGC   GGUCU AAGGCG C UGCGU UCAGGUCGCA GU  CUC C   CCU        G GAGG   CGUG GGU UCG AA  UCC CA C UCCUGAC A   
+DL9990    GGUA GC GU G GCCGAGC   GGUCU AAGGCG C UGGAU UUAGGCUCCA GU  CUC     UUC   G      GAGG   CGUG GGU UCG AA  UCC CA C CGCUGCC A   
+DL9991    GGUA GC GU G GCCGAGC   GGUCU AAGGCG C UGGAU UAAGGCUCCA GU  CUC     UUC   G      GGGG   CGUG GGU UCG AA  UCC CA C CGCUGCC A   
+DM0260    AGUU AG UU G GCAGAGU   GGU   UAUGCA C CUCCU UCAUACGGAG CG                          ACUACAGU GGU UCA AA  UCC AC U ACUAACU ACCA
+DM0680    GGGC CC AU AAGCUUAGCC AGGU   AGAGCG C CCGGC UCAUAACCGG GCG                         GU  CAUG GGU UCG AA  UCC CA U UGGGCCC A   
+DM0900    AGCG GG GU G GGGUAGUC AGGA   AAUCCG A UGGGC UCAUAACCCG UAG                         AU  CGAU GGU UCA AA  UCC AU C CCCCGCU A   
+DM0960    GCCG GG GU C GCCUAGCC UGGUCA AGGGCG C CGGAC UCAUAAUCCG GUC                         UU  CCCG GGU UCG AA  UCC CG G CCCCGGC ACCA
+DM1140    GGCG GG GU A GCUCAGUU  GGUU  AGAGCG U UCGGU UCAUACCCGA AAG                         GU  CGAG AGU UCA AA  UCU CU C CCCCGCU ACCA
+DM1180    GGCG GG GU A GCUCAGUU  GGUU  AGAGCG U UCGGU UCAUACCCGA AAG                         GU  CGAG AGU UCA AC  UCU CU C CCCCGCU ACCA
+DM1230    GGCG GU GU A GCUCAGCU  GGCU  AGAGCG U GCGGU UCAUACCCGC AAG                         GU  CGAG GGU UCA AG  UCC CC C CGCCGCU ACCA
+DM1231    CGCG GG AU A GAGCAGUC UGGU   AGCUCG U CGGGC UCAUAACCCG AAG                         GU  CGAU GGU UCA AA  UCC AU C UCCCGCA ACCA
+DM1260    GGCG GG AU A GCUCAGCU  GGUU  AGAGCG C UCGGC UCAUACCCGG GAG                         GU  CAAG AGU UCA AG  UCU CU U UCUCGCU ACCA
+DM1540    GGAC CU UU A GCUCAGUU  GGUU  AGAGCA G ACGGC UCAUAACCGU CCG                         GU  CGUA GGU UCG AG  UCC UA C AAGGUCC ACCA
+DM1541    GGCG GU GU A GCUCAGCU  GGCU  AGAGCG U ACGGU UCAUACCCGU GAG                         GU  NGGG GGU UCG AU  CCC CU C CGCCGCU ACCA
+DM1660    GGCU AC GU A GCUCAGUU  GGUU  AGAGCA C AUCAC UCAUAAUGAU GGG                         GU  CACA GGU UCG AA  UCC CG U CGUAGCC ACCA
+DM1750    GGCU AC GU A GCUCAGUU  GGUU  AGAGCA C AUCAC UCAUAAUGAU GGG                         GU  CACA GGU UCG AA  UCC CG U CGUAGCC ACCA
+DM2520    GGCU CA GU A GCUCAGA   GGAU  AGAGCA G GGGAU UCAUAAGCCC UUG                         GU  CACA GGU UCA AA  UCU UG U CUGAGCC A   
+DM2600    ACCU AC UU A ACUCAGU   GGUUU AGAGUA U CGCUU UCAUACGGCG AGA                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM2610    ACCU AC UU A ACUCAGU   GGUU  AGAGUA C UGCUU UCAUACGGCG GGA                         GG  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM2640    GCCU AC UU A ACUCAGU   GGUU  AGAGUA U UGCUU UCAUACGGCG GGU                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM2680    GCCU AC UU A ACUCAGU   GGUU  AGAGUA U UGCUU UCAUACGGCG GGA                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM2700    GCCU AC UU A ACUCAGU   GGUU  AGAGUA U UGCUU UCAUACGGCG GGA                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM2701    AGCG GA GU A GAGCAGUU UGGU   AGCUCA C GAGGC UCAUAACCUU GAG                         GU  CACG GGU UCG AU  UCC CG U CUCCGCA C   
+DM2720    GCCU AC UU A ACUCAGU   GGUU  AGAGUA U UGCUU UCAUACGGCG GGA                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM2760    ACCU AC UU A ACUCAGU   GGUU  AGAGUA U UGCUU UCAUACGGCA GGA                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM2840    ACCU AC UU A ACUCAGU   GGUU  AGAGUA U UGCUU UCAUACGGCG GGA                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM2920    ACCU AC UU A ACUCAGU   GGUU  AGAGUA C UGCUU UCAUACGGCG GGA                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM3280    ACCU AC UU A ACUCAGC   GGUU  AGAGUA U UGCUU UCAUACGGCG GGA                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM3640    AGAC AC GU A GCUUAGU   GGU   AAAGCA C UGGUC UCAUAAGCCA GCU                         AU  CGCA AGU UCG AA  UCU CG C CGUGUCU A   
+DM3880    GCCA AA GU A GUUUAAU   GGU   AGAACA A UAAUU UCAUGAAUUA AGA                         A   UGAG AAU UCG AU  UUU CU C CUUUGGC U   
+DM3881    AAGA CU AU A GCUUAAUC  GGU   AAAGCG A ACCAC UCAUGAUGGU UUG                         AG  UAAA UGU UCA AG  UCA UU U UAGUCUU A   
+DM3920    ACCU GG GU A GUUUAAA   GGU   AAAACC U UAAUU UCAUACAUUA AAG                         A   UGAG AAU UCG AU  UUU CU C CCCAGGU N   
+DM3960    GCCC GG GU A GUUUAAA   GGU   AAAACC U UAAUU UCAUACGUUA AAG                         A   UGAG AAU UCG AU  UUU CU C CCCAGGU U   
+DM4000    GCUU GU AU A GUUUAAUU  GGUU  AAAACA U UUGUC UCAUAAAUAA AUA                         AU  GUAA GGU UCA AU  UCC UU C UACAAGU A   
+DM4010    AGUA AU AU G AUGUAAUU  GGUU  AACAUA U UAGGC UCAUGACUUA AUU                         A   UAUA CGU UCA AA  UCG UG U UAUUGCU A   
+DM4020    UGCA UU AU G AUGUAAUU  GGU   AACAUA C AAGGC UCAUGUCCUU UUU                         A   UAUA CGU UCA AA  UCG UG U UGAUGCA U   
+DM4021    AGAA UU AU A GCUUAAUC UGGU   AAAGCA G UCCAC UCAUAAUGGA CCU                         A   UCAA AGU UCA AU  UCU UU G UUAUUCU A   
+DM4080    ACUU GU AU A GUUUAAAU  GGUU  AAAACA U UUGUC UCAUAAACAA AUA                         AU  GUAA GGU UCA AA  UCC UU C UACAAGU A   
+DM4240    ACCU AC UU G ACUCAGC   GGUU  AGAGUA U CGCUU UCAUACGGCG AGA                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM4280    ACCU AC UU G ACUCAGC   GGUU  AGAGUA U CGCUU UCAUACGGCG AGA                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM4480    GGGC UU AU A GUUUAAUU  GGUU  GAAACG U ACCGC UCAUAACGGU GAU                         AU  UGUA GGU UCG AG  CCC UA C UAAGCCC A   
+DM4481    ACCU AC UU G ACUCAGC   GGUU  AGAGUA U CGCCU UCAUACGGCG AGA                         GU  CAUU GGU UCA AA  UCC AA U AGUAGGU A   
+DM4500    CGCG GG AU A GAGUAAUU  GGU   AACUCG U CAGGC UCAUAAUCUG AAU                         GU  UGUG GGU UCG AA  UCC GA C UCCCGCC A   
+DM4501    GUCG GA AU A GUUUAGUA  GGGU  AGAACA G CGGGA UCAUAAUUCG CAC                         A   CGGG GGU UCA AA  UCC CU C UUCCGAU A   
+DM4700    GGUA AA GU A GUCUAAU   GA    AGGACA G AAGAC CUAUGAUUUU CAA                         G   UGUU A   UAA U     U AA C CUUUACU U   
+DM4701    GGUA AA GU G GUCUAAU   AU  U AGGAUA U AGGGC UCAUGCCCCU AAG                         G   CGCC A C GCG UA  A U GG C CUUUAUC U   
+DM5000    AGUA AA GU A AGCUAAU   AAA   AAGCUU U UGGGU UCAUACCUCA AAA                         AU  GGAA GGA UAA AU  ACC UC C CUUUAUU N   
+DM5220    AGUA AG GU C AGCUAA    CU    AAGCUA U CGGGC CCAUACCCCG AAA                         A   UGAU GGU UUA AC  CCC UU C CCCUACU A   
+DM6160    AGCU UC UU A ACUCAGG   GGU   AGAGUG C GAGGC CCAUAACCUC GAG                         GU  CCUA GGA UCG AA  ACC UA G AGAAGCU A   
+DM6280    GCUU CA GU A GCUCAGUA  GGA   AGAGCG U CAGUC UCAUAAUCUG AAG                         GU  CGAG AGU UCG AA  CCU CU C CUGGAGC A   
+DM6900    GGGG UG GU G GCGCAGUU  GGGC  AGCGCG U AGGUC UCAUAAUCCU GAG                         GU  CGAG AGU UCG AG  CCU CU C UCACCCC A   
+DM7740    AGCA GA GU G GCGCAGU   GGA   AGCGUG C UGGUC CCAUAACCCA GAG                         GU  CCGA GGA UCG AA  ACC UU G CUCUGCU A   
+DN0660    GCCU CC UU A GCUCAGUA  GGUA  GCAGCG A UGGAC UGUUAAUCCA UAG                         GU  CGCA GGU UCG AG  CCC UG C AGGAGGC GCCA
+DN0680    GCCG CC GU A GCUCAGUA  GGUA  GGAGCG C UCGGC UGUUAACCGA GUG                         GU  CGCA GGU UCG AG  UCC UG C CGGCGGC G   
+DN1140    GGCU UU UU A GCUCAGCA  GGU   AGAGCA A CCGGC UGUUAACCGG UUU                         GU  CACA GGU UCG AG  CCC UG U AAAAGCC GCCA
+DN1180    GGCU UU UU A GCUCAGCA  GGU   AGAGCA A CCGGC UGUUAACCGG UUU                         GU  CACA GGU UCG AG  CCC UG U AAAAGCC GCCA
+DN1230    GCCU AC UU A GCUCAGUU  GGUU  AGAGCA C CUGAC UGUUAAUCAG GGG                         GU  CGCU GGU UCG AG  UCC AG C AGUGGGC GCCA
+DN1350    UCCU CG GU A GCUCAAUU  GGC   AGAGCA G CCGGC UGUUAACCGG CAG                         GU  UACU GGU UCG AG  UCC AG U CCGGGGA G   
+DN1351    UCCU CC GU A GCUCAAUU  GGC   AGAGCA G CCGGC UGUUAACCGG CAG                         GU  UACU GGU UCG AG  UCC AG U CGGGGGA G   
+DN1500    UCCG CC UU A GCUCAGUU  GGU   AGAGCG C UUGAC UGUUAAUCAG GAU                         GU  CGUC AGU UCG AG  UCU GA C AGGCGGA     
+DN1540    UCCA CA GU A GCUCAGU   GGU   AGAGCU A UCGGC UGUUAACCGA UCG                         GU  CGCA GGU UCG AA  UCC UG C CUGUGGA GCCA
+DN1541    UCCG CA GU A GCUCAGU   GGU   AGAGCU A UCGGC UGUUAACCGA UCG                         GU  CGUA GGU UCG AA  UCC UA C CUGCGGA G   
+DN1570    UCCG CA GU A GCUCAGU   GGU   AGAGCA A UCGGC UGUUAACCGA UUG                         GU  CGCA GGU UCG AA  UCC UG C CUGCGGA GCCA
+DN1660    UCCU CU GU A GUUCAGUC  GGU   AGAACG G CGGAC UGUUAAUCCG UAU                         GU  CACU GGU UCG AG  UCC AG U CAGAGGA GCCA
+DN2520    UCCU UA AU A GCUCAGU   GGU   AGAGCA A UCGGC UGUUAACCGA UCG                         GU  CGUA GGU UCG AA  UCC UA C UUAAGGA G   
+DN2600    UCCU UA GU A GCUCAGU   GGU   AGAGCG G UCGGC UGUUAACCGA UUG                         GU  CGUA GGU UCA AA  UCC UA C CUGAGGA G   
+DN2700    UCCU CA GU A GCUCAGU   GGU   AGAGCG G UCGGC UGUUAACUGA CUG                         GU  CGUA GGU UCG AA  UCC UA C UUGGGGA     
+DN2720    UCCU CA GU A GCUCAGU   GGU   AGAGCG G UCGGC UGUUAACUGA CUG                         G   CGUA GGU UCG AA  UCC UA C UUGGGGA G   
+DN2740    UCCU CA GU A GCUCAGU   GGUA   GAGUG G UCGGC UGUUAACCGA UUG                         GC  CGUA GGU UCG AC  UCC UA C UUGAGGA G   
+DN2920    UCCU CA GU A GCUCAGU   GGU   AGAGCG G UCGGC UGUUAACCGA UUG                         GU  CGUA GGU UCG UA  ACC UA C UUGGGGA G   
+DN3200    UCCC CA GU A GCUCAGU   GGU   AGAGCG G UCGGC UGUUAACCGA UUG                         GU  CGUA GGU UCA AA  UCC UA U UUGGGGA G   
+DN3320    UCCU CA GU A GCUCAGU   GGU   AGAGCG G UCGGC UGUUAACUGU AUG                         GU  CGUA GGU UCG AA  UCC UA C UUGGGGA G   
+DN3880    GCCU UU AU A GCUCAAC   GGU   AGAGCG G AAUAC UGUUAAUAUU UUG                         A   UAGA UGU UCA AU  UCA UC U UAAGGGC U   
+DN3960    GCCC CU AU A GCUCAAU   GGU   AGAGCA U AAUAC UGUUAAUAUU AUG                         A   UAGA UGU UCG AU  UCA UC U UGGGGGC U   
+DN4000    GUCC UU AU A GCUUAUC   GGUU  AAAGCA U CUCAC UGUUAAUGAG AAU                         A   GAUG GGU UCA AU  UCC UA U UAAGGAC G   
+DN4080    GUCU UU AU G GCUUAGU   GGUU  AAAGCA U CUCAC UGUUAAUGAG AAU                         A   CAUA GGU UCA AU  UCC UA U UGAAGAC G   
+DN4320    UCCU CA GU A GCUCAGU   GGU   AGAGCG G UCGGC UGUUAACUGA CUG                         GU  CGUA GGU UCG AA  UCC UA C UUGGGGA G   
+DN4400    UCCU CA GU A GCUCAGU   GGU   AGAGCG G UCGGC UGUUAACUGA CUG                         GU  CGUA GGU UCA AA  UCC UA C UUGGGGA G   
+DN4440    UCCU CA GU A GCUCAGU   GGU   AGAGCG G UCGGC UGUUAACUGA CUG                         GU  CGUA GGU UCG AA  UCC UA C UUGGGGA G   
+DN4500    UCUU UA GU A GCUCAGC   GGUU  AGAGCA A AUGGC UGUUAACUAU UGG                         GU  CGUU GGU UCG AA  UCC AA C CUAGAGA G   
+DN4620    GUGC GU GU A GAUUAUAUUUGGU A AAAUCG U AAGGC UGUUAACUUU GAG                         A   UGGU G   UGU U     U GC C CGCGGAC G    
+DN4700    GGCC AA AU A GUUUAAC   UU    AAAACG U UGAGC UGUUAAUUCA AAA                         U   UGCA G U AAU       U UG C UUUGGCU U   
+DN4800    UUAA UU GA A ACCAAA    AA    GAGGUA U AUCAC UGUUAAUGAU AUA                         AU  UGAA UA  UUA U    UA UU C CAAUUAA G   
+DN4880    UUAA UU GA A GCCAAA    AA    GAGGCG U AUCAC UGUUAAUGAU AUA                         AU  UGAG U   AUA A     A CU C CAAUUAA G   
+DN4980    UGAG UU GU A GCCUAAU   GGA   AAGGCG U UUGGC CGUUAACUAA AAG                         AG  AGCA AGA UCA AU  ACU UG U CGACUCA G   
+DN5000    UGGG UU GU A GCCUAAU   GGA   AAGGCA A UUGGC CGUUAACCAG GAG                         AU  AACA AGA UCA AU  ACU UG U CAACUCA G   
+DN5020    UGAG UU GU A GCCUAGU   GGA   AAGGCG U UUGGC CGUUAACUAA AAG                         AC  AGCA AGA UCA AU  ACU UG C CAGCUCA G   
+DN5040    UGGG UU GU A GCUAAAU   GUA   AAGGCG C UUGGC CGUUAACCAA GAA                         AU  AGUA GGA UAA AA  ACC UA U CUUCCGA G   
+DN5080    UGGG CU GU A GCUAAAU   GUAA  AAAGCG C UUGGC CGUUAACCAA GAA                         AU  AAUA GGA UAA AU  ACC UA U CUUCCCA G   
+DN5100    UAGA UA GA U GCUCGCU   GGUU  UGAGUG C UUAGC UGUUAACUAA GAG                         UU  UAAA GGA UCG AG  GCC UU U CUGUCUA G   
+DN5160    UAGA AU GA A GCUCGCU   GGAU  AGAGUG U UUAGC UGUUAACUAA AAU                         AU  UACG GGA UCG AG  GCC CG U CAUUCUA G   
+DN5220    UAGG CA GA A GCCAAUU   GGUG  UUGGCA U UUAGC UGUUAACUAA AAU                         UG  UAUG GGA UCG AA  GCC CA U CUGUCUA G   
+DN5280    UAGA UU GA A GCCAGUA   AGU   AGGGUA U UUAGC UGUUAACUAA AUU                         UU  CGUA GGAAUUU GA UUCC UU C CAAUCUA G   
+DN5281    UAGA UU GA A GCCAGUA   AGU   AGGGUA U UUAGU UGUUAACUAA AUU                         UU  CGUA GGU UUG AA  UCC UU C CAAUCUA C   
+DN5282    UAGA UU GA A GCCAGUA   AGU   AGGGUA U UUAGC UGUUAACUAA AUU                         UU  CGUA GGU UUG AA  UCC UU C CAAUCUA G   
+DN5320    UAGA UU GA A GCCAGUA   AU    AGGGUA U UUAGC UGUUAACUAA AUU                         UU  CGUA GGU UUA AU  UCC UG C CAAUCUA G   
+DN5360    UAGA UU GA A GCCAGUU   AGCU  AGGGUG U UUAGC UGUUAACUAA AGU                         UU  CGUG GGG GUG GA  GCC CA C CAGUCUA G   
+DN5880    UAGA UU GA A GCCAGUU   GAUU  AGGGUG C UUAGC UGUUAACUAA GUG                         UU  UGUG GGU UUA AG  UCC CA U UGGUCUA G   
+DN6050    UCCU CC CU G GCGCAGUC  GGC   AGCGCG U UAGGC UGUUAACCUA CAG                         GU  CGUU GGU UCG AA  UCC AA C GGGAGGA G   
+DN6051    UCCU CC CU G GCGCAGUC  GGC   AGCGCG U UAGGC UGUUAACCAU CAG                         G   UGUU GGU UCG AA  UCC AA C GGGAGGA G   
+DN6060    GCUC GA UU A GCUCAGCU  GGUU  AGAGCA U GCGGC UGUUAACCGC AAG                         GU  CGUA GGU UCG AU  CCC UA C AUCGAGC G   
+DN6160    GCCU GG AU G GCUAAAU   GGC   AGAGCG A GCGGC UGUUAACCGC UAG                         GU  CCAU GGU UCG AU  CCC AU G UCUAGGC A   
+DN6280    GACU CC AU G GCCAAGUU  GGUU  AAGGCG U GCGAC UGUUAAUCGC AAG                         AU  CGUG AGU UCA AC  CCU CA C UGGGGUC G   
+DN7100    UCCU CA GU A GCUCAGU   GGU   AGAGCG G UCGGC UGUUAACCGA UUG                         GU  CGUA GGU UCG AA  UCC UA C UUGGGGA G   
+DN7740    GCCU CC GU G GCGCAAUU  GGUU  AGCGCG U UCGGC UGUUAACCGA AAG                         GU  UGGU GGU UCG AG  UCC AC C CGGGGGC G   
+DN7920    GUCU CU GU G GCGCAAUC  GGUU  AGCGCG U UCGGC UGUUAACCGA AAG                         GU  UGGU GGU UCG AG  CCC AC C CAGGGAC G   
+DN9990    GUCU CU GU G GCGCAAUG  GGUU  AGCGCG U UCGGC UGUUAACCGA AAG                         GU  UGGU GGU UCG AG  CCC AU C CAGGGAC G   
+DN9991    GUCU CU GU G GCGCAAUC  GGUU  AGCGCG U UCGGC UGUUAACCGA AAG                         AU  UGGU GGU UCG AG  CCC AC C CAGGGAC G   
+DP0220    CUCC GU GU A GCUCAGUU UGGU   AGAGCG C CUGAU UUGGGAUCAG GAG                         GU  CCAA GGU UCA AA  UCC UU G UAUGGAG A   
+DP0260    CUCC GA UU A GCUCAAUU  GGCU  AGAGUA C ACCGU UUGGGGCGGU GGG                         GU  UGAA GGU UCG AG  UCC UU C AUUGGAG ACCA
+DP0660    GGGC CU GU G GGGUAGCC UGGUCC AUCCUU U GGGAU UUGGGAUCCU GAG                         A   CCCC AGU UCA AA  UCU GG G CAGGCCC ACCA
+DP0680    GGGG CC AU A GGGUAGCC UGGUCU AUCCUU U GGGCU UUGGGAGCCU GAG                         A   CCCC GGU UCA AA  UCC GG G UGGCCCC A   
+DP0740    GGGC CU GU G GGGUAGCC UGGUC  AUCCUU U GGGAU UUGGGAUCCU GAA                         A   CCCC AGU UCG AA  UCU GG G CAGGCCC ACCA
+DP1140    CGGG AA GU G GCUCAGUU UGGU   AGAGCA U UCGGU UUGGGACCGA AGG                         GU  CGCA GGU UCA AA  UCC UG U CUUCCCG ACCA
+DP1180    CGGG AA GU G GCUCAGUU UGGU   AGAGCA U UCGGU UUGGGACCGA AGG                         GU  CGCA GGU UCA AA  UCC UG U CUUCCCG ACCA
+DP1260    CGGA AA GU A GCUUAGCU UGGU   AGAGCA C UCGGU UUGGGACCGA GGG                         GU  CGCA GGU UCG AA  UCC UG U CUUUCCG ACCA
+DP1360    CGGG GU GU G GCGCAGCU UGGU   AGCGCG C UUCGU UCGGGACGAA GAG                         GU  CGUG GGU UCA AA  UCC CG C CACCCCG A   
+DP1400    CGGG GU GU G GCGCAGCU UGGU   AGCGCG C UUCGU UCGGGACGAA GAG                         GC  CGUG GGU UCA AA  UCC CG C CACCCCG A   
+DP1500    CGGG AA GU G GCUCAGUU UGGU   AGAGCA C CUGGU UUGGGACCAG GGG                         GU  CGCA GGU UCA AA  UCC UG U CUUCCCG A   
+DP1540    CGGG AA GU A GCUCAGCU UGGU   AGAGCA C AUGGU UUGGGACCAU GGG                         GU  CGCA GGU UCG AA  UCC UG U CUUCCCG ACCA
+DP1560    CGGG GU AU G GCGCAGUC UGGU   AGCGCG C ACCCU UGGGGUGGGU GAG                         GC  CGUG GGU UCA AA  UCC CG C UACUCCG ACCA
+DP1660    CGGC GA GU A GCGCAGCU UGGU   AGCGCA A CUGGU UUGGGACCAG UGG                         GU  CGGA GGU UCG AA  UCC UC U CUCGCCG ACCA
+DP1661    CGGU GA UU G GCGCAGCC UGGU   AGCGCA C UUCGU UCGGGACGAA GGG                         GU  CGGA GGU UCG AA  UCC UC U AUCACCG ACCA
+DP1662    CGGC AC GU A GCGCAGCC UGGU   AGCGCA C CGUCA UGGGGUGUCG GGG                         GU  CGGA GGU UCA AA  UCC UC U CGUGCCG ACCA
+DP1700    CGGC GA GU A GCGCAGCU UGGU   AGCGCA A CUGGU UUGGGACCAG UGG                         GU  CGGA GGU UCG AA  UCC UC U CUCGCCG ACCA
+DP1740    CGGU GA AU A GCGCAGUU UGGU   AGCGCA U CUGGU UUGGGACCAG AGG                         GU  CGGG GGU UCG AA  UCC CU C UUCACCG ACCA
+DP1780    CGGU GA UU A GCGCAGCC CGGU   AGCGCA U CUGGU UUGGGACCAG AGG                         GU  CAAA GGU UCG AA  UCC UU U AUCACCG ACCA
+DP2520    CGGG AU GU A GCGCAGUU UGGU   AGCGCA U UGCAU UUGGGAUGCA AGG                         GU  CGCA GGU UCG AA  UCC UG U CAUCCCG A   
+DP2600    CGGA GU AU A GUNNNNUU NGGU   AGUGUA U CAUCU UGGGGUGAUG AAA                         GU  CGUG GGU UCA AA  UCC CG C UACUCAA A   
+DP2601    AGGG AU GU A GCGCAGUU UGGU   AGCGCG U UUGUU UUGGGUACAA AAU                         GU  CGCA GGU UCG AA  UCC UG U CAUCCCU A   
+DP2680    AGGG AU GU A GCGCAGCU UGGU   AGCGCG U UUGUU UUGGGUACAA AAU                         GU  CACA GGU UCA AA  UCC UG U CAUCCCU A   
+DP2700    AGGG AU GU A GCGCAGCU UGGU   AGCGCG U UUGUU UUGGGUACAA AAU                         GU  CACA GGU UCA AA  UCC UG U CAUCCCU A   
+DP2720    AGGG AU GU A GCGCAGCU UGGU   AGCGCG U UUGUU UUGGGUACAA AAU                         GU  CACA GGU UCA AA  UCC UG U CAUCCCU A   
+DP2920    AGGG AU GU G GCGCAGCU UGGU   AGCGCG U UUGUU UUGGGUACAA AAU                         GU  CACA GGU UCA AA  UCC UG U CAUCCCU A   
+DP3000    AGGG AU GU A GCGCAGCU UGGU   AGCGCG U UUGUU UUGGGUACAA AAU                         GU  CACG GGU UCA AA  UCC UG U CAUCCCU A   
+DP3200    AGGG AU GU A GCGCAGCU UUGU   AGCGCG U UUGUU UUGGGUACAA AAU                         GU  CACA GGU UCA AA  UCC UG U CAUCCCU A   
+DP3880    CAGG UU AG A GCCAGGU   GGU   UAGGCG U CUUGU UUGGGUCAAG AAA                         UU  GUUA UGU UCG AA  UCA UA A UAACCUG A   
+DP4000    CAGA UA GA A GCCAAAA   GGU   CAGGCG C UUUCU UUGGGAGAAA GAC                         CU  AGUU AGU UCG AG  UCU AU C CUAUCUG A   
+DP4010    CAGA UA GA A GCCAAAA   GGU   CAGGCG C UUUCU UUGGGUGAAA GAU                         CU  AGUU AGU UCG AG  UCU AU C CUAUCUG A   
+DP4030    CAGA UA AA A GCCAACC   GGUG   AGGCG C UUUCU UUGGGAGAAA GAG                         UU  AGUU AGU UCG AU  UCU AG C UUAUCUG A   
+DP4040    ACGA UA GA A ACAUGUAU UGGUU  CAUGUA C UUGCU UUGGGUGUGA GAG                         UU  UGUU AGU UCG AA  UCU AA C CUAUCCG A   
+DP4060    CAGA UU GU C UCGUAAUU  GGUU  AUCGAG C CUACA UUGGGUGUAG GAU                         UU  UGAG GGU UCA AG  UCC UU C CAAUCUG A   
+DP4070    CAGA UA AA A GCCAACC   GGUG  AAGGCA C UUUCU UUGGGAGAAA GAC                         UU  AGUA AGU UCG AU  UCU UG C UUAUCUG A   
+DP4080    CAGA UA GA A GCCAAAA   GGU   CAGGCG C UUUCU UUGGGUGAAA GAU                         CU  AGUU AGU UCG AG  UCU AU C CUAUCUG A   
+DP4440    CGAG GU GU A GCGCAGUC UGGUC  AGCGCA U CUGUU UUGGGUACAG AGG                         GC  CAUA GGU UCG AA  UCC UG U CACCUUG A   
+DP4480    AGGG AU GU A GCGCAGCU UGGU   AGCGCG U UUGUU UUGGGUACAA AAU                         GU  AACG GGU UCA AA  UCC AG U CAUCCCU A   
+DP4500    CAAG GU GU A GCGCAAUC UGGU   AGCGCG U CUGCC UUGGGCGCAG AAA                         GU  UACA GGU UCA AA  UCC UG U CACCUUG A   
+DP4620    CAGUUUA GU A GUUUAAU   GA    AGAAUG C UAGCU UUGGGGGUUG GGA                         G   UCUC UG  GUU      UG GA G UUGGCUG G   
+DP4700    CUAG AU AU A GUUUAGA   GC    AAAAUA U UGGCU UUGGGAGCUA AAG                         A   CACU U   UUA U     G AG U UUUCUAG A   
+DP4880    CAAG AG GU A GUUUAUUU  UAU   AAAAUA U UAAUU UUGGGGAUUA AUG                         A   AAAA GA  AAU U    UC UU U UCUCUUG A   
+DP4980    CAGG AG AU A GUUUAU    UA    AAAAUA G UAGCU UUGGGAGUUG UAG                         A   UGCA AGU UUA AU  UCU UG U UUUCCUG A   
+DP5000    CAGA AA AU A GUUUAG    UG    AGAAUG A UAGCU UUGGGAGCUG UUG                         G   UGUA AGU AUA AA GUCU UG C UUUUCUG A   
+DP5040    CAAA GA AU A GUUUAA    GA    AAAACA A CAGCU UUGGGAGUUG UAG                         A   CGUA AGU GAA AA  CCU UA C UUCUUUG A   
+DP5060    CAGA GG GU A GUUUAAU   UU    AGAAUC U UAGCU UUGGGAGUUA AGG                         G   UGGG AGU UAA AA  UCU CC U CUCUCUG A   
+DP5080    CAGG AG AA A GUUUAAU   AA    AAAACC G CAGCU UUGGAAGUUG CAA                         U   GUAA GG  UAA G    CC UU AUUCUCUUG A   
+DP5090    CAGA GA AU A GUUUAAU   GU    AGAAUC U UAGCU UUGGGAGUUA AGG                         G   UGAG AGU UGA AU  UCU CU U UUCUCUG A   
+DP5120    CGGG AG AG A AUUUAAA   UU    AGAAUG U UGGCU UUGGGGGUCA AUA                         G   UGGA GGU UUG AG  UCC UU C UUUCUCG A   
+DP5160    CAGG AU AU A GUUUAG    GU    AGAAUG C CGGUU UUGGGGACCG GUG                         G   UAAA GGU UAA AG  UCC UU U UAUCCUG A   
+DP5200    CAAG GA AU A GUUUAU    GU    AGAAUU C CAGCU UUGGGUGUUG GUG                         G   UGAG GU  UUA AU   GU CU C UUCCUUG A   
+DP5220    CAGA GA GU A GUUUAUU   UG    AAAAUA C CAGCU UUGGGAGCUG GAG                         A   UGGA GGU UUG AG  CCC UC C UUUUCUG A   
+DP5280    CAAG AA GU A GUUUAAG   UA    AGAAUA U CAGCU UUGGGUGUUG GUG                         G   UGGG GAG GUA GU   UC CU U CUUCUUG A   
+DP5281    CAAG AA GU A GUUUAAG   UA    AGAAUA U CAGCU UUGGGUGUUG AUG                         G   UGGG GAG GUA GU   UC CU U CUUCUUG A   
+DP5320    CAAG AA GU A GUUUAA    UU    AGAAUA C CAGCU UUGGGUGCUG GUG                         G   UGGG GA  GUA GC   UC CU U CUUCUUG A   
+DP5360    CAGG GA AU A GUUUAA    AU    AGAACU U CAGCU UUGGGGGUUG AUG                         G   UGAG AC  UGC A    GU UU C UUCCUUG A   
+DP5880    CAGA GA AU A GUUUAAA   UU    AGAAUC U UAGCU UUGGGUGCUA AUG                         G   UGGA G U UAA AG  A C UU U UUCUCUG A   
+DP6280    GGGC GU GU G GUCUAGU   GGU   AUGAUU C UCGCU UUGGGUGCGA GAG                         GC  CCUG GGU UCA AU  UCC CA G CUCGCCC C   
+DP6980    GGGC AU UU G GUCUAGU   GGU   AUGAUU C UCGCU UUGGGUGCGA GAG                         GU  CCCG AGU UCG AU  UCU CG G AAUGCCC C   
+DP6981    GGGC AU UU G GUCUAGU   GGU   AUGAUU C UCGCU UAGGGUGCGA GAG                         GU  CCCG AGU UCA AU  UCU CG G AAUGCCC C   
+DP7560    GGCC GA AU G GUCUAGU   GGU   AUGAUU C UCGCU UUGGGUGCGA GAG                         GU  CCCG GGU UCA AU  CCC CG G UUCGGCC C   
+DP7740    GGCU CA AU G GUCUAGG   GGU   AUGAUU C UCGCU UUGGGUGCGA GAG                         GU  CCCG GGU UCA AA  UCC CG G UUGAGCC C   
+DP8040    GGCU CG UU G GUCUAGG   GGU   AUGAUU C UCGCU UAGGGUGCGA GAG                         GU  CCCG GGU UCA AA  UCC CG G ACGAGCC C   
+DP8041    GGCU CG UU G GUCUAGG   GGU   AUGAUU C UCGCU UCGGGUGCGA GAG                         GU  CCCG GGU UCA AA  UCC CG G ACGAGCC C   
+DP8100    GGCU CG UU G GUCUAGG   GGU   AUGAUU C UCGCU UCGGGUGCGA GAG                         GU  CCCG GGU UCA AA  UCC CG G ACGAGCC C   
+DP8101    GGCU CG UU G GUCUAGG   GGU   AUGAUU C UCGCU UAGGGUGCGA GAG                         GU  CCCG GGU UCA AA  UCC CG G ACGAGCC C   
+DP9160    GGCU CG UU G GUCUAGG   GGU   AUGAUU C UCGCU UCGGGUGCGA GAG                         GU  CCCG GGU UCA AA  UCC CG G ACGAGCC C   
+DP9161    GGCU CG UU G GUCUAGG   GGU   AUGAUU C UCGCU UAGGGUGCGA GAG                         GU  CCUG GGU UCA AA  UCC CG G ACGAGCC C   
+DP9990    GGCU CG UU G GUCUAGG   GGU   AUGAUU C UCGCU UAGGGUGCGA GAG                         GU  CCCG GGU UCA AA  UCC CG G ACGAGCC C   
+DP9991    GGCU CG UU G GUCUAGG   GGU   AUGAUU C UCGCU UUGGGUGCGA GAG                         GU  CCCG GGU UCA AA  UCC CG G ACGAGCC C   
+DQ0220    UGGG AA UU A GCCAAGUU  GGU   AAGGCA U AGCAC UUUGACUGCU AGA                         UG  CAAA GGU UCG AG  UCC UU U AUUCCCA G   
+DQ0260    UGGG GA UU A GCUUAGCU UGGCCU AAAGCU U CGGCC UUUGAAGUCG AGA                         U   CAUU GGU UCA AA  UCC AA U AUCCCCU GCCA
+DQ0660    AGCC CA GU A GUGUAGU   GGCCA AUCAUC U AGGUC UUUGGAACCU GGG                         A   CCGC GGU UCG AA  UCC GC G CUGGGCU A   
+DQ1140    UGGG CU AU A GCCAAGC   GGU   AAGGCA A GGGAC UUUGACUCCC UCA                         UG  CGCC GGU UCG AA  UCC UG C UAGCCCA ACCA
+DQ1200    UGGG AU GU A GCCCAGC   GGU   AAGGCA A UAGAC UUUGACUCUA UCA                         UG  CGAU GGU UCG AU  CCC AU C CAUCCCA GCCA
+DQ1230    AGGC CC AU A GCCAAGC   GGU   AAGGCA A CGGAC UUUGACUCCG UCA                         CU  CGUA GGU UCA AA  UCC UG C UGGGCCU GCCA
+DQ1340  G UGGG CU AU G GUGUAAUU  GGC   AGCACG A CUGAU UCUGGUUCAG UUA                         G   UCUA GGU UCG AG  UCC UG G UAGCCCA G   
+DQ1341  A UGGG CU AU G GUGUAAUU  GGC   AGCACG A GUGAU UCUGGUUCAU UUA                         G   UCUA GGU UCG AG  UCC UG G UAGCCCA G   
+DQ1540    UGGG CU AU A GCCAAGC   GGU   AAGGCA A CGGAC UUUGACUCCG UCA                         UG  CGUU GGU UCG AA  UCC AG C UAGCCCA G   
+DQ1660    UGGG GU AU C GCCAAGC   GGU   AAGGCA C CGGUU UUUGAUACCG GCA                         UU  CCCU GGU UCG AA  UCC AG G UACCCCA GCCA
+DQ1661    UGGG GU AU C GCCAAGC   GGU   AAGGCA C CGGAU UCUGAUUCCG GCA                         UU  CCGA GGU UCG AA  UCC UC G UACCCCA GCCA
+DQ2520    UGAG GC GU A GCCAAGU   GGU   AAGGCA A CGGGU UUUGGCCCUG UCA                         UU  CGGA GGU UCG AA  UCC UC C CGCCUCA G   
+DQ2600    UGGG GC GU C GCCAAGU   GGU   AAGGCU G CAGGU UUUGGUCCUG UUA                         UU  CGGA GGU UCG AA  UCC UU C CGUCCCA G   
+DQ2700    UGGG GC GU G GCCAAGU   GGU   AAGGCA G CGGGU UUUGGUCCCG UUA                         CU  CGGA GGU UCG AA  UCC UU C CGUCCCA G   
+DQ2920    UGGG GC GU G GCCAAGU   GGU   AAGGCA A CGGGU UUUGGUCCCG CUA                         UU  CGGA GGU UCG AA  UCC UU C CGUCCCA G   
+DQ3220    UGGG GC GU G GCCAAGC   GGU   AAGGCA G CAGGU UUUGAUCCUG UUA                         UU  CGGA GGU UCG AA  UCC UU C CGUCCCA G   
+DQ3240    UGGG GC GU A GCCAAGC   GGU   AAGGCA A CGGGU UUUGGUCCCG CUA                         UU  CGGA GGU UCG AA  UCC UU C CGUCCCA G   
+DQ3640    UGGG GC AU A GCCAAGU   GGU   AAGGCA U UGGAC UUUGACUCCA AGA                         UG  CAUG GGU UCG AA  UCC UA U UGCCCCA G   
+DQ3880    UAUG UU GU C GACUAAUC  GGU   AAGUCA U AAAUU UUUGGUAUUU AUA                         U   UGGG UGU UCG AG  UCG CC C CAACAUA A   
+DQ4000    UGAG UC GU A GACAAUA   GGU   AAGUUA C CAAAA UUUGAGUUUG GAG                         U   UCUU UGU UCG AA  UCA AA G CGAUUCA A   
+DQ4030    UGAA UU GU A GACUAAUA  GGU    AGUCC C CAAAA UUUGAGUUUG GCU U                       UA  GGUG UGU UCG AG  UCA CC C CAAUUCA A   
+DQ4040    UGGG UU GU U GACUAAUA  GGU   AAGUCC C UGAAA UUUGACUUCA GUC                         UA  UGUA AGU UCG AA  UCU UA C CAUCCCA U   
+DQ4050    UGAA UC GU A GACUAAUA  GGU   AAGUCA C CAAAA UUUGAGUUUG GAA                         UU  UGUU UGU UCG AA  UCA AA C CGGUUCA A   
+DQ4070    UGAA UU GU A GACUAAUA  GGU   AAGUCC C CAAAA UUUGAGUUUG GCU U                       UA  GGUG UGU UCG AA  UCA CC C CAAUUCA A   
+DQ4080    UGAG UC GU A GACUAAUA  GGU   AAGUUA C CAAAA UUUGAGUUUG GAG                         U   UGUU UGU UCG AA  UCA AA C CGAUUCA A   
+DQ4440    UGGA GU AU A GCCAAGU   GGU   AAGGCA U CGGUU UUUGGUAUCG GCA                         UG  CAAA GGU UCG AA  UCC UU U UACUCCA G   
+DQ4441    UGGA GU AU A GCCAAGU   GGU   AAGGCA U CGGUU UUUGGUACCG GCA                         UG  CAAA GGU UCG AA  UCC UU U UACUCCA G   
+DQ4500    UGGA GU AU A GCCAAGU   GGU   AAGGCA U CGGCC UUUGAUGCCG AGA                         AA  CAAA GGU UCG AA  UCC UU U UACUCCA G   
+DQ4700    UAUA AA GA A GUAUUGU         GGUACG U AGGAC UUUGAUCCCU AAA                         G   AGAA AGU UAA AG   CU UU U CUUUAUA A   
+DQ4880    UAUA UU UU G GUGUAU    GA    UGCACA A AAGUU UUUGAUACUU UUA                         G   AAAU AGU UUA AU  UCU AU U AAAUAUA A   
+DQ4960    UAUA UU UU G GUGUAC    GA    UGCACA A AAGUU UUUGAUACUU UUA                         G   UAAU AGU UUA AU  UCU AU U AAAUAUA A   
+DQ4980    UAGA AA AU A GUUUAACC  AGU   AAAACU A AGAAA UUUGAAUUCU UUA                         A   UACA AGU GCA AC  CCU UG U UUUUCUA A   
+DQ5000    UAGA AA GU A GUAUAAC   GGU   AAAACC A AGAAU UUUGAUUUCU UAA                         A   UAUA AGU UCA AC  UCU UA U CUUUCUA A   
+DQ5040    UAAG GA GU A GUUUAAU   GGA   AAAACG A GGAAC UUUGACUUCC UUG                         U   UGUG GGU UCA AU  UCC CA U CUCCUUA A   
+DQ5080    UAAG GA UU A GUUUAAUU  GGA   AAAACG A AGAGC UUUGACUUCU UCU                         G   CUUG GGU CCA UU  CCC CA C  UCCUUA A   
+DQ5120    UAGG AA GU G GUAUAG    GGG   AGUACG G AGGGU UUUGAUCUCU CAG                         G   UGCA GGU UCA AU  UCC UG U CUUUCUA A   
+DQ5160    UAAG GA GU A GUAUAAA   GGA   AGUACA A AGGGU UUUGAUCUCU UAA                         G   UAUA GGU UCA AU  UCC UA U CUCUUUA G   
+DQ5220    UAGA AA AU A AUAUAGA   GGG   AGUAUG A AGAGU UUUGAUCUCU UCU                         G   UGUA GGU UCG AU  UCC UA C UUUUCUA G   
+DQ5280    UAGG AU AG G GUGUAUU   GGU   AGCACG G AAAAU UUUGAAUUCU UAG                         G   UGUA GGU UCA AU  UCC UA U UGUCCUA G   
+DQ5281    UAGG AU AG G GUGUAUU   GGU   GGCACG G AGAAU UUUGAAUUCU UAG                         G   UGUA GGU UCA AU  UCC UA U UGUCCUA G   
+DQ5320    UAGG AU AAGG UGUUUA    GGU   GCACGG A GAAAU UUUGAAUUCU UAA                         G   UGUA GGU UCA AU  UCC UA U UGUCCUA G   
+DQ5360    UAGA AU UU G GUGUAAUU  GGG   AGCACG A AGAGU UUUGGAUUCU UAG                         G   AGUA GGU UCG AU  UCC UA U AGUUCUA G   
+DQ5880    UAGG AU GG G GUGUGAUA  GGU   GGCACG G AGAAU UUUGGAUUCU CAG                         G   GAUG GGU UCG AU  UCU CA U AGUCCUA G   
+DQ6050    GGUC CU AU A GUGUAGU   GGUU  AUCACU U CGGAC UUUGAAUCCG AAA                         A   CCCA GGU UCG AA  UCC UG G UAGGACC A   
+DQ6051    GGGC GU GU A GCUCAGU   GGU   AGAGCG C CCUGU UUUGCAUACG GAG                         GC  CUAG GGU UCA AA  CCC CU A CUCGUCC A   
+DQ6060    GGUU CC AU A GUAUAGU   GGUU  AGUACU G GGGAC UUUAAAUCCC UUG                         A   CCUG GGU UCG AA  UCC CA G UGGGACC U   
+DQ6160    GGUU UU AU A GUGUAAUU  GGUU  AGCACC C AGGAC UUUGAAUCCU GUA                         A   UCUG AGU UCG AG  UCU CA G UAGAACC A   
+DQ6280    GGUC CU AU A GUGUAGU   GGUU  AUCACU U UCGGU UUUGAUCCGG ACA                         A   CCCC GGU UCG AA  UCC GG G UAGGACC U   
+DQ6281    GGUC CU AU A GUGUAGU   GGUU  AUCACU U UCGGU UCUGAUCCGA ACA                         A   CCCC AGU UCG AA  UCC GG G UGGGACC     
+DQ9990    GGUU CC AU G GUGUAAU   GGUU  AGCACU C UGGAC UCUGAAUCCA GCG                         A   UCCG AGU UCA AA  UCU CG G UGGAACC U   
+DQ9991    GUCU CU GU G GCGCAAUC  GGUU  AGCGCG U UCGGC UGUUAACCGA AAG                         AU  UGGU GGU UCG AG  CCC AC C CAGGGAC G   
+DQ9992    GGUC CC AU G GUGUAAU   GGUU  AGCACU C UGGAC UUUGAAUCCA GCG                         A   UCCG AGU UCA AA  UCU CG G UGGGACC U   
+DR0220    GUCC CG CU G GUGUAAU   GGAU  AGCAUA C GAUCC UUCUAAGUUU GCG                         G   UCCU GGU UCG AU  CCC AG G GCGGGAU ACCA
+DR0660    GGGC CC GU G GCCUAGUC UGGAU  ACGGCA C CGGCC UUCUAAGCCG GGG                         AU  CGGG GGU UCA AA  UCC CU C CGGGUCC G   
+DR1140    GCGC CC GU A GAUCAAUU  GGAU  AGAUCG C UUGAC UACGGAUCAA AAG                         GU  UGGG GGU UCG AG  UCC CU C CGGGCGC ACCA
+DR1141    GCCC AU GU A GCUCAGUA  GGAU  AGAGCA C GCGCC UUCUAAGCGU GAG                         GU  CGGA AGU UCG AG  CCU UC U CGUGGGC ACCA
+DR1180    GCGC CC GU A GAUCAAUU  GGAU  AGAUCG C UUGAC UACGGAUCAA AAG                         GU  UGGG GGU UCG AG  UCC CU C CGGGCGC ACCA
+DR1181    GCCC AU GU A GCUCAGUA  GGAU  AGAGCA C GCGCC UUCUAAGCGU GAG                         GU  CGGA AGU UCG AG  CCU UC U CGUGGGC ACCA
+DR1230    GUCC GA AU A GCUCAGCU  GGAU  AGAGCA A UAGCC UUCUAAGCUA UCG                         GU  CGGG GGU UCG AA  UCC CU C UUCGGAC GCCA
+DR1260    GCGC CC AU A GAUCAAUU  GGAU  AGAUCG U UUGAC UACGGAUCAA AAG                         GU  UGAG GGU UCG AU  UCC UU C UGGGCGC GCCA
+DR1500    GCAC CC AU A GCGCAACU  GGAU  AGAGUG U CUGAC UACGAAUCAG AAG                         GU  UGUA GGU UCA AG  UCC UA C UGGGUGC A   
+DR1540    GCGC CC GU A GCUCAAUU  GGAU  AGAGCG U UUGAC UACGGAUCAA AAG                         GU  UAGG GGU UCG AC  UCC UC U CGGGCGC GCCA
+DR1660    GCGC CC GU A GCUCAGCU  GGAU  AGAGCG C UGCCC UCCGGAGGCA GAG                         GU  CUCA GGU UCG AA  UCC UG U CGGGCGC GCCA
+DR1661    GCGC CC UU A GCUCAGUU  GGAU  AGAGCA A CGACC UUCUAAGUCG UGG                         GC  CGCA GGU UCG AA  UCC UG C AGGGCGC GCCA
+DR1662    GCGC CC UU A GCUCAGUU  GGAU  AGAGCA A CGACC UUCUAAGUCG UGG                         GC  CGCA GGU UCG AA  UCC UG C AGGGCGC GCCA
+DR1663    GCAU CC GU A GCUCAGCU  GGAU  AGAGUA C UCGGC UACGAACCGA GCG                         GU  CGGA GGU UCG AA  UCC UC C CGGAUGC ACCA
+DR1664    GUCC UC UU A GUUAAAU   GGAU  AUAACG A GCCCC UCCUAAGGGC UAA                         U   UGCA GGU UCG AU  UCC UG C AGGGGAC ACCA
+DR1700    GCGC CC GU A GCUCAGCU  GGAU  AGAGCG C UGCCC UCCGGAGGCA GAG                         GU  CUCA GGU UCG AA  UCC UG U CGGGCGU ACCA
+DR1780    GCGC CC GU A GCUCAGCU  GGAU  AGAGCG C UGCCC UCCGGAGGCA GAG                         GU  CACA GGU UCG AA  UCC UG U CGGGCGC ACCA
+DR2440    GAGC UU GU A GCUCAGU   GGACU AGAGCA C AUGGC UACGAACCAU GGG                         GU  CGGG GGU UCG AA  ACC CU C CUGGCUC G   
+DR2480    GGGU GU GU A GCUCAGU   GGACU AGAGCA C GUGGC UACGAACCAC GGU                         GU  CGGG GGU UCG AA  UCC CU C CUCGCCC G   
+DR2520    GGGC UU GU A GCUCAGU   GGACU AGAGCA C GUGGC UACGAACUAC GGA                         GU  CAGG GGU UCG AA  UCC CU U CUUGCCC G   
+DR2540    GGGC UC AU C GUCUAAU   GGAUC AGGACA G GGACC UUCUAAGUCU CUA                         A   UGUA GGU UCG AA  UCC UA C UGAGCCU A   
+DR2600    GGGU UU GU A GCUCAGA   GGAUU AGAGCA C GUGGC UACGAACCAC GGU                         GU  CGGG GGU UCG AA  UCC CU C CUUGCCC A   
+DR2601    GGGU UU GU A GCUCAGU   GGAUU AGAGCU C AUGGU UCCGAAUCAU GAA                         GU  CAAG GGU UCG AA  UCC CU U CUAACCC U   
+DR2602    GCGU CC AU C GUCUAAA   GGAU  AGGACA G AGGUU UUCUAAACCU CCA                         G   UAUA GGU UCG AA  UCC UA U UGGACGU A   
+DR2680    GCGU CC AU U GUCUAAU   GGAU  AGGACA G AGGUC UUCUAAACCU UUG                         G   UAUA GGU UCA AA  UCC UA U UGGACGC A   
+DR2700    GCGU CC AU U GUCUAAU   GGAU  AGGACA G AGGUC UUCUAAACCU UUG                         G   UAUA GGU UCA AA  UCC UA U UGGACGC U   
+DR2701    GGGC CU GU A GCUCAGA   GGAUU AGAGCA C GUGGC UACGAACCAC GGU                         GU  CGGG GGU UCG AA  UCC CU C CUCGCCC A   
+DR2720    GGGC CU GU A GCUCAGA   GGAUU AGAGCA C GUGGC UACGAACCAC GGU                         GU  CGGG GGU UCG AA  UCC CU C CUCGCCC A   
+DR2740    GGGC CU GU A GAUCAGA   GGAUU AGAGCA C GUGGC UACGAACCAC GGU                         GU  CGUG GGU UCG AA  UCC CU G CUCGCCC A   
+DR2920    GGGC CU GU A GCUCAGA   GGAUU AGAGCA C GUGGC UACGAACCAC GGU                         GU  CGGG GGU UCG AA  UCC CU C CUCGCCC A   
+DR2921    GCGU CC AU U GUCUAAU   GGAU  AGGACA G AGGUC UUCUAAACCU UUG                         G   UAUA GGU UCA AA  UCC UA U UGGACGC A   
+DR3040    GGGC CU GU A GCUCAGA   GGAUU AGAGCA C GUGGC UACGAACCAC GAU                         GU  CGGG GGU UCG AA  UCC CU C CUAGCCC A   
+DR3200    GGGC UC GU A GCUCAGA   GGAUU AGAGCA C GCGGC UACGAACCAC GGU                         GU  CGGG GGU UCG AA  UCC CU C CUCGCCC A   
+DR3201    GCGU CC AU U GUCUAAU   GGAU  AGGACA G AGGUC UUCUAAACCU UUG                         G   UAUA GGU UCA AA  UCC UA U UGGACGC A   
+DR3280    GCGU CC AU A GUCUAAU   GGAU  AGGACA U AGGUC UUCUAAACCU UUG                         G   UAUA GGU UCA AA  ACC UA U UGGACGC A   
+DR3320    GGGC CU GU A GCUCAGA   GGAUU AGAGCA C GUGGC UACGAACCAC GGU                         GU  CGGG GGU UCG AA  UCC CU C CUCGCCC A   
+DR3321    GCGU CC AU U GUCUAAU   GGAU  AGGACA G AGGUC UUCUAAACCU UUG                         G   UAUA GGU UCA AG  UCC UA U UGGACGC A   
+DR3880    UUCU UA UU A GCUCAAU   GGU   AGAGCA A AAUAC UUCUAAUAUU UUG                         A   UCUA AGU UCG AG  UCU UA G AUAAGAA G   
+DR3920    UUCU CA UU A GCUCAAA   GGA   AGAGCA G GAUAC UUCUAAUAUU CCG                         A   UUUU AGU UCG AA  UCU AA A AUGAGAA U   
+DR4000    GCUC UC UU A GCUUAAU   GGUU  AAAGCA U AAUAC UUCUAAUAUU AAU                         AU  UCCA UGU UCA AA  UCA UG G AGAGAGU A   
+DR4001    AUAU CU UU A AUUUAAU   GGU   AAAAUA U UAGAA UACGAAUCUA AUU                         A   UAUA GGU UCA AA  UCC UA U AAGAUAU U   
+DR4080    GCUC UC UU A GCUUAAU   GGUU  AAAGCA U AAUAC UUCUAAUAUU AAU                         AU  UCCA UGU UCA AA  UCA UG G AGAGAGU A   
+DR4500    GUGC UU GU A GCUCAAUU  GGAU  AGAGCA C CAAAC UACGGAUUUG GGG                         GU  UGAG AGU UCA AA  UCU UU C CAAGCAU G   
+DR4501    GCAU UC UU A GCUCAGUU  GGAU  AGAGCA A CAACC UUCGAAGUUG AUG                         GU  CACA GGU UCA AA  UCC UG U AGGAUGC G   
+DR4502    GCAU UC UU A GCUCAGUU  GGAU  AGAGCA A CAACC UUCUAAGUUG AAG                         GU  CACA GGU UCA AA  UCC UG U AGAAUGC G   
+DR4800    AAAU AU GA A GCGAUUU         AUUGCA A UUAGU UUCGACCUAA UCU                         U   AGGU G   AAA UU    C AC CCCAUAUUU U   
+DR4880    GAAU AU GA A GCGAUUA         AUUGCA G UUAGU UUCGACCUAA CCU                         U   AGGU A   UUA UA    U AC C CUUAUUU U   
+DR5040    UGAG AG UU A GUUUAA    GA    AGAACC C CUGAU UUCGGCUCAG AAG                         G   CUUU GGU UAA AG  UCC AA A ACUCUUU A   
+DR5080    NAAG AG UU A GUUUAA    GG    AGAACC U CUGAU UUCGGCUCAG AGG                         G   UUUU GGU UCA AC  CCC AA A ACUCUUG N   
+DR5100    AGGU GA UU A GUCUAA    GU    AAAAUA C UUGAU UUCGGCUCAA GAG                         U   CUGU GGU UAA AG  UCC AC A AUUGCCU A   
+DR5120    GAGU UG UU A GUCUAA    AC    AAGACA G UUGUU UUCGGCACAA CAA                         A   UUAU GGU UAA AC  CCC AU A AUAACUC U   
+DR5220    AGAA AG UU A GUCUAA    CU    AAGACA G CUGGU UUCGACCCAG CAA                         A   UUAU AGA CCC AC   CU AU A ACUUUCU U   
+DR5280    UGGU AA UU A GUUUAA    AU    AAAAUU A AUGAU UUCGACUCAU UAG                         A   UUAU GAU AAU AA   UC AU A AUUACCA A   
+DR5320    UGGU AA UU A GUUUAA    AA    AAAAUU A AUGAU UUCGACUCAU UAG                         A   UUAU GAU GCU GU   UC AU A AUUACCA A   
+DR5360    UGGU AC UU A GUUUAA    AAU   AAAAUA A AUGAU UUCGACUCAU UAG                         A   UUAU GAU UUA AU   UC AU A AUUACCA A   
+DR5880    UGGU AU AU A GUUUAA    AC    AAAACG A AUGAU UUCGACUCAU UAA                         A   UUAU G   AUA AU    C AU A UUUACCA A   
+DR6050    GCCC CC GU A GCCCAAU   GGAU  AAGGCG U UCGCU UCCUAAGCGA AAG                         AU  UGCG GGU UCG AG  UCC CG C CGGAGGU A   
+DR6051    GCUC CA GU G GCCUAAU   GGAU  AUGGCU U UGGAC UUCUAAUCCA AAG                         GU  UGCG GGU UCG AG  UCC CG U CUGGAGU A   
+DR6052    GUCC GU GU G GCUCAAU   GGA   AGAGCA U CUGAC UACGGAUCAG AGG                         GU  UGCA GGU UCG AA  UCC UG U CACGGAU G   
+DR6160    GGGA CU AU A GUUUAGUU  GGAU  AUAACG A CCGGC UACGAACCGG UAG                         GU  CUCA GGU UCG AC  CCC UG A UGGUCUC G   
+DR6161    GCCC GU UU A GCAAAGUU  GGA   AUUGCG G CAGCC UUCUAAGCUG CAG                         GU  CGUG GGA UCG AG  ACC CA C AAUGGGU G   
+DR6280    UUCC UC GU G GCCCAAU   GGUC  ACGGCG U CUGGC UACGAACCAG AAG                         AU  UCCA GGU UCA AG  UCC UG G CGGGGAA G   
+DR6281    GCUC GC GU G GCGUAAU   GGC   AACGCG U CUGAC UUCUAAUCAG AAG                         AU  UAUG GGU UCG AC  CCC CA U CGUGAGU G   
+DR6282    GUUC CG UU G GCGUAAU   GGU   AACGCG U CUCCC UCCUAAGGAG AAG                         AC  UGCG GGU UCG AG  UCC CG U ACGGAAC G   
+DR6320    GGUC UC GU G GCCCAAU   GGUU  AAGGCG C UUGAC UACGAAUCAA GAG                         AU  UCCA GGU UCG AC  UCU UG G CGGGAUC G   
+DR6321    GGUC UC GU G GCCCAAU   GGUU  AAGGCG C UUGAC UACGGAUCAA GAG                         AU  UCCA GGU UCG AC  UCC UG G CGGGAUC G   
+DR7560    GGCC GC GU G GCGCAAU   GGAU  AACGCG U CUGCC UACGGAGCAG AAG                         AU  UGCA GGU UCG AA  UCC UG C CGUGGUC G   
+DR7740    GGUC CU GU G GCGCAAU   GGAU  AACGCG U CUGAC UACGGAUCAG AAG                         AU  UCCA GGU UCG AC  UCC UG G CAGGAUC G   
+DR7741    GACC GU GU G GCCUAAU   GGAU  AAGGCG U CGGAC UUCGGAUCCG AAG                         AU  UGCA GGU UCG AA  UCC UG U CACGGUC G   
+DS0220    GGAG GC GU G GCAGAGU   GGUUU AAUGCA C CGGUC UUGAAAACCG GC  AGU CGCUCC      GGCG ACU    CAUA GGU UCA AA  UCC UA U CGCCUCC G   
+DS0260    GGAA GG UA G GGCGUAGU  GGU   ACGCAA C UAGUC UUGAAAACUA GC  CCGCUGU AGU   G  AUA CGG    UGAU GGU UCG AC  UCC AU U ACCUUCC UCCA
+DS0261    GGAA AA GC AAAUAGACU   GGCG  ACUAAA C CCGAU UGGAAAUCGG UU  GAG UAAUAGC  AAUAUUG CCU    UAUG GGU UCA AC  UCC CA U CUUUUCC GCCA
+DS0440    GUCG UG GU A GCCAAGCC UGGCCC AAGGCG C AGGGU UGCUAACUCU GU  GGC     GUA   CA     GCC U  CCGG GGU UCG AA  UCC CC G CCACGAC G   
+DS0680    GCCG GG GU G GCCCAGCC UGGU   AGGGCG U CGGCC UGCUAAGCCG AU  GAU CC  GUU   AA  GG AUCG   CGCG GGU UCA AA  UCC CG U CCCCGGC G   
+DS0860    GCCG GG GU G CCCGAGC   GGACC AAGGGG G UAGGC UCGAGACCUA CU  GCC UC  UCC       GA GGCA   CGCG GGU UCA AA  UCC CG C CCCCGGC G   
+DS1140    GGAA GA UU A CCCAAGUC CGGCUG AAGGGA U CGGUC UUGAAAACCG AGA GUC GG  GGA   AA  CC GAG    CGGG GGU UCG AA  UCC CU C AUCUUCC GCCA
+DS1141    GGGU UA AU A CUCAAGUU  GGUG  AAGAGG A CACCC UGCUAAGGUG UUA GGU CGG UCU      CCG GCG    CGAG GGU UCG AG  UCC CU C UUAACCC GCCA
+DS1180    GGAA GA UU A CCCAAGUC CGGCUG AAGGGA U CGGUC UUGAAAACCG AGA GUC GGG GAA   A  CCC GAG    CGGG GGU UCG AA  UCC CU C AUCUUCC GCCA
+DS1230    GGAG CG AU A CUCAAGA   GGCCG AAGAGG G CGCAC UGCUAACGCG UUAGACG GU  UAA   C   CC CGUG   CGAG GGU UCA AA  UCC CU C UCGCUCC GCCA
+DS1231    GGAG GA AU A CCCAAGA   GGCUG AAGGGA U CGGUC UUGAAAACCG ACA GGG U   GUA   AA   A GCCG   CGGG GGU UCA AA  UCC CU C UUCCUCC GCCA
+DS1250    GGAA GU AU A CCCAAGUCUCGGUUG AAGGGG G CGGUC UCGAAAACCG UUAGAUG GA  GUA   A   UC CAUG   CAAG AGU UCG AA  UCU CU U UACUUCC GCCA
+DS1260    GGAA GA UU A CCCAAGUC UGGUUG AAGGGA U CGGUC UUGAAAAUUG ACA GGC GGU GAA   A  GCC GCG    CGGG GGU UCG AA  UCC CU C AUCUUCC GCCA
+DS1500    GGAG AG UU G GCAGAGC   GGU   AAUGCA G CGGAC UCGAAAUCCG CCG AAC CAAUGUU   GAAUUG GUG    CGCA GGU UCA AA  UCC UG U ACUCUCC U   
+DS1520    GGAG AG UU G GCAGAGC   GGU   AAUGCA G CGGAC UCGAAAUCCG CCG AGC CAAUGUU   GAAUUG GGU    CGCA GGU UCA AA  UCC UG U ACUCUCC U   
+DS1540    GGAG AG CU G UCCGAGU   GGUCG AAGGAG C ACGAU UGGAAAUCGU GU  AGG CGGUCAA   C UCCG UCU    CAAG GGU UCG AA  UCC CU U GCUCUCC GCCA
+DS1541    GGAG GA AU A CCCAAGUC UGGCUG AAGGGA U CGGUC UUGAAAACCG AC  AGG GUG UCA   A  AGC CCG    CGGG GGU UCG AA  UCC CU C UUCCUCC GCCA
+DS1542    GGAG AA GU A CUCAAGU   GGCUG AAGAGG C GCCCC UGCUAAGGGU GUA GGU CGU GUA   A  GCG GCG    CGAG GGU UCA AA  UCC CU C CUUCUCC GCCA
+DS1570    GGAG AG CU G UCCGAGU   GGUCG AAGGAG C ACGAU UGGAAAUCGU GU  AGG CGU GAA   UA GCG CCU    CAAG GGU UCG AA  UCC CU U GCUCUCC GCCA
+DS1660    GGAG AG AU G CCGGAGC   GGCUG AACGGA C CGGUC UCGAAAACCG GA  GUA GGG GCA   A  CUC UAC    CGGG GGU UCA AA  UCC CC C UCUCUCC GCCA
+DS1661    GGAA GU GU G GCCGAGC   GGUUG AAGGCA C CGGUC UUGAAAACCG GC  GAC CC  GAA   A   GG GUU    CCAG AGU UCG AA  UCU CU G CGCUUCC GCCA
+DS1663    GGUG AG GU G GCCGAGA   GGCUG AAGGCG C UCCCC UGCUAAGGGA GU  AUG CGGUCAA   AAGCUG CAU    CCGG GGU UCG AA  UCC CC G CCUCACC GCCA
+DS1664    GGUG AG GU G UCCGAGU   GGCUG AAGGAG C ACGCC UGGAAAGUGU GU  AUA CG  GCA   A   CG UAU    CGGG GGU UCG AA  UCC CC C CCUCACC GCCA
+DS2180    GGAG AG AU G GCCGAGU   GGUUG AAGGCG C AGCAC UGGAAAUGCU GU  UUA AGG UUU   UC CCU UAA    CGAG GGU UCG AA  UCC CU C UCUCUCC G   
+DS2480    GGAG UG AU G UCUGAGU   GGCCG AAAGAG C UCGAU UGCUAAUCGA GU  AUA CAG CUU   C  CUG UAC    CGAG GGU UCG AA  UCC CU C UCACUCC G   
+DS2520    GGAG AA GU G UCUGAGU   GGUCG AAAGAG C UCGAU UGCUAAUCGA GU  GUG UCU AAU      AAA CAC    CGAG GGU UCA AA  UCC CU U CUUCUCC U   
+DS2521    GGAG AG GU G UCUGAGU   GGUUU AAAGUA C UGGUC UUGAAAACCA GC  GUA GU  UUU   U   GC UAC    CGAG GGU UCG AA  UCC CU C CUUCUCC G   
+DS2600    GGAG AG AU G GCCGAGU   GGUUU AUGGCG U CGGUC UUGAAAACCG AU  AUA GUUUUUA     AGAU UAU    CGAG GGU UCA AA  UCC CU C UCUCUCC U   
+DS2601    GGAG AG AU G GCCGAGU   GGACG AAAGCG G CGGAU UGCUAAUCCG UU  GUA CAAGCUU     UUUG UAC    CGAG GGU UCG AA  UCC CU C UCUCUCC G   
+DS2602    GGAA AG AU G GUUGAGU   GGUUU AAGGCG U AGCAU UGGAAAUGCU AU  GUA GGCUUUU     GGUC UAU    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DS2640    GGAG AG AU G GCUGAGU   GGUUG AUAGCU C CGGUC UUGAAAACCG GU  AUA GUUCUAG     GAAC UAU    CGAG GGU UCG AA  UCC CU C UCUCUCC U   
+DS2680    GGAG AG AU G GCUGAGU   GGACU AAAGCG G CGGAU UGCUAAUCCG UU  GUA CAA UUU   UU UUG UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DS2700    GGAG AG AU G GCUGAGU   GGACU AAAGCG G CGGAU UGCUAAUCCG UU  GUA CAA UUU   UU UUG UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DS2701    GGAG AG AU G GCCGAGC   GGUUC AAGGCG U AGCAU UGGAACUGCU AU  GUA GAC UUU   U  GUU UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DS2702    GGAG AG AU G GCUGAGU   GGUUG AUAGCU C CGGUC UUGAAAACCG GU  AUA GUUCUAG     GAAC UAU    CGAG GGU UCG AA  UCC CU C UCUCUCC U   
+DS2720    GGAG AG AU G GCUGAGU   GGUUG AUAGCU C CGGUC UUGAAAACCG GU  AUA GUUCUAG     GAAC UAU    CGAG GGU UCG AA  UCC CU C UCUCUCC U   
+DS2721    GGAG AG AU G GCCGAGC   GGUUC AAGGCG U AGCAU UGGAACUGCU AU  GUA GAC UUU   U  GUU UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DS2722    GGAG AG AU G GCUGAGU   GGACU AAAGCG G CGGAU UGCUAAUCCG UU  GUA CAA UUU   UU UUG UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DS2920    GGAG AG AU G GCUGAGU   GGACU AAAGCG G CGGAU UGCUAAUCCG UU  GUA CGA GUU   AA UCG UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DS2921    GGAG AG AU G GCCGAGU   GGUUG AAGGCG U AGCAU UGGAACUGCU AU  GUA GGC UUU   U  GUU UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DS2922    GGAG AG AU G GCUGAGC   GGUUG AUAGCC C CGGUC UUGAAAACCG GUA UAG UUUUAAC   AAAGAAUCUA    CGAG GGU UCG AA  UCC CU C UCUCUCC U   
+DS3200    GGAG AG AU G GCUGAGU   GGUUG AUAGCU C CGGUC UUGAAAACCG GUA UAG UUCGAAC   AAAGAAUCUA    CGAG GGU UCG AA  UCC CU C UCUCUCC U   
+DS3240    GGAG AG AU G GCUGAGU   GGACU AAAGCG U UGGAU UGCUAAUCCA UU  GUA CGA GUU   AA UCG UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC C   
+DS3280    GGAG AG AU G GCUGAGU   GGUUG AUAGCU C CGGUC UUGAAAACCG GC  AUA GUUCUUUAUUCAGAAC UAU    CGAG GGU UCG AA  UCC CU C UCUCUCC U   
+DS3281    GGAG AG AU G GCCGAGU   GGUUG AAGGUG U AGCAU UGGAACUGCU AU  GUA GGC UUU   U  GUU UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DS3880    AGAG AG UU G GCUGAGU   GGU   AAGGCG A CUAGC UUGAGUCUAG UU  AAG UU  AAA       AC UUU    CAUA UGU UCG AA  UCA UA U ACUCUCU G   
+DS3881    GGGA AA GU   UUCCAUG   GGUA  GGGUAA G AUAUU UGCUAAAUAU UG  UGC G   UUU   G    C ACA    UAGA UGU UCG AA  UCA UC U CUUUCCC G   
+DS3960    GGAA AA GU   UGCCAUA   GGU A AGGUAA G AUAUU UGCUAAAUAU UG  UGU U   UAA   G    C ACC    UAGG UGU UCG AG  UCA CC U CUUUUCC G   
+DS4000    GGAA AA UU A ACUAUA    GGU   AAAGUGGA UUAUU UGCUAAGUAA UU  GAA UU  GUA       AA UUCU   UAUG AGU UCG AA  UCU CA U AUUUUCC G   
+DS4001    GGAU GG UU G ACUGAGU   GGUUU AAAGUG U GAUAU UUGAGCUAUC AU  UAG UCU UUA   U  UGG CUA    CGUA GGU UCA AA  UCC UA C AUCAUCC G   
+DS4030    GGAA AA UU G AUCAUC    GGCA   AGAUAAG UUAUU UACUUAAUAA  UA GAA U   AUU   A    U UUCU   GAGG AGU UGA AA  UCU CC U AUUUUCC G   
+DS4080    GGAU GG UU G ACUGAGU   GGUUU AAGGUG U GAUAU UUGAGCUAUC AU  UAG UU  UAA   U   AA CUA    CGUA GGU UCA AA  UCC UA C AUCAUCC G   
+DS4081    GGAA AA UU C ACCAUA    GGUA   AGGUAAA UUAUU UGCUAUGUAA UU  GAA U   UUA   UU   A UUCU   UAUG AGU UCG AA  UCU CA U AUUUUCC G   
+DS4240    GGAG GG AU G GCUGAGU   GGCUU AAGGCA U UGGUU UGCUAAAUCG AC  AUA CAA GAA   GA UUG UAU    CAUG GGU UCG AA  UCC CA U UUCCUCC G   
+DS4241    GGAU GG AU G UCUGAGC   GGUUG AAAGAG U CGGUC UUGAAAACCG AA  GUA UUU CUA   G  GAA UAC    CGGG GGU UCG AA  UCC CU C UCCAUCC G   
+DS4360    GGAG AG AU G GCCGAGU   GGUUU AAGGCG U AGCAU UGGAACUGCU AU  GUA GGC UUU   U  GUU UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DS4361    GGAU GG AU G UCUGAGC   GGUUG AAAGAG U CGGUC UUGAAAACCG AA  GUA UUG AUA   A  GGA UAC    CGGG GGU UCG AA  UCC CU C UCCAUCC G   
+DS4362    GGAG GU AU G GCUGAGU   GGCUU AAGGCA U UGGUU UGCUAAAUCG AC  AUA CAAUAAG     AUUG UAU    CAUG GGU UCG AA  UCC CA U UUCCUCC G   
+DS4400    GGAG GU AU G GCUGAGU   GGCUU AAGGCA U UGGUU UGCUAAAUCG AC  AUA CAA GAA   GA UUG UAU    CAUG GGU UCG AA  UCC CA U UUCCUCC G   
+DS4440    GGAU GG AU G UCUGAGC   GGUUG AAAGAG U CGGUC UUGAAAACCG AA  GUA UUG AUA   G  GAA UAC    CGGG GGU UCG AA  UCC CU C UCCAUCC G   
+DS4441    GGAG GU AU G GCUGAGU   GGCUU AAGGCA U UGGUU UGCUAAAUCG AC  AUA CAA GAA   GA UUG UAU    CAUG GGU UCG AA  UCC CA U UUCCUCC G   
+DS4442    GGAG AG AU G GCCGAGU   GGUUC AAGGCG U AGCAU UGGAACUGCU AU  GUA GGC UUU   U  GUU UAC    CGAG GGU UCG AA  UCC CU C UCUUUCC G   
+DS4480    GGAG GU AU G GCUGAGU   GGCUU AAGGCA U UGGUU UGCUAAAUCG AC  AUA CAA GAA   GA UUG UAU    CAUG GGU UCG AA  UCC CA U UUCCUCC G   
+DS4481    GGAU GG AU G UCUGAGC   GGUUG AAAGAG U CGGUC UUGAAAACCG AA  GUA UUG AUA   G  GAA UAC    CGGG GGU UCG AA  UCC CU C UCCAUCC G   
+DS4500    GGAU GG AU G UCUGAGC   GGUUG AAAGAG U CGGUC UUGAAAACCG AA  GUA UU  GAG       AA UAC    CGGG GGU UCG AA  UCC CU C UCCAUCC G   
+DS4501    GGAG GU AU G GCUGAGU   GGUUG AAAGCA U UGGUU UGCUAAAUCA AA  AUA CAA CAA   UA UUG UAU    CAUG GGU UCA AA  UCC CA U UUCCUCC G   
+DS4701    AUUU GU GA U UUUCAC    GC    CGAGAG U GUUUC UUGAGGAGGU AAU                         G   CACU   A AUG AA  G   GG U UACAAGG C   
+DS4760    AGUU AA UU A GCUUAA    GA    AAAGCA A AUGUU UUGAAAACAU AAG                         AA  AAGA AGU UCA AU  UCU UC U AUUAACU U   
+DS4921    AGUU AA UG A GCUUG     AA    CAAGCG U AUGUU UUGAAAACAU AAG                         A   UAGA A U UUA AU  U U UC U AUUAACU U   
+DS5000    GGAG AA AU G GCAGACA   GG    GAUGCA U UUAGC UUGAAACUAA AUA                         GA  GGAA GGU UCG AA  UCC UU U UUUCUCU U   
+DS5040    GGAG AA GU G GCAGAUA   GA    AAUGCA U GCGGC UUGAAACCGU UGG                         A   UAGA GGU UGA AU  UCC UC U CUUCUCU U   
+DS5080    GGAG AA GU G GCACGAUA  GG    AAUGCA U GCGGC UUGAAACCGU UUG                         A   UAGA GGU UUC UU   CC UC U CUUCUCU U   
+DS5121    AAGA AA AU G GCAGAGU   GGU   GAUGCA A CUGAC UUGAAAUCAG AGU                         A   GGGG GGU UCG AU  UCC CU C UUUUCUC G   
+DS5220    AAGA AA GA A GCAUUAAG UGGUUU GAUGCG G UUGGC UUGAAACCAA CAU                         G   UGAG GGU UCG AU  UCC UU C CUUUCUU G   
+DS6060    GACA AU UU G UCCGAGU   GGUU  AAGGAG G AAGAC UAGAAAUCUU UU  GGG U   UU         A CCCG   CGCA GGU UCG AA  UCC UG C AGUUGUC G   
+DS6160    GACA UC GU A GCGAAGU   GGUCU AACGCG U UUGAC UUGAAAUCAA AU  CUC C   UA         G GAGG   CGCA GGU UCG AA  CCC UG C CGAUGUC G   
+DS6161    GACA CC UU A GCAAAGU   GGUU  AAUGCG G CGCCC UGCUAAGGCG UU  CUC U   UC         G GAGG   CGCA GGU UCG AA  CCC UG C AGGUGUC G   
+DS6162    GACA UC GU A GCAAAGU   GGUCU AAUGCG U CUGAC UAGAAAUCAG AU  CCC U   UC         G GGGG   CGCA GGU UCG AA  CCC UG C CGAUGUC G   
+DS6240    GUCA GC AU G GCAGAGU   GGUCU AAUGCG U UAGAC UUGAAAUCUA AU  UCC     UUC   G      GGAG   CGUA GGU UCG AA  CCC UA C UGCUGAC G   
+DS6241    GGCG CG AU G GCAGAGU   GGUCU AAUGCG U GAGAC UUGAAAUCUC AU  UUC     UUC   G      GAAG   CGUC GGU UCA AA  UCC GG C UCGCGUC G   
+DS6280    GGCA AC UU G GCCGAGU   GGUU  AAGGCG A AAGAU UAGAAAUCUU UU  GGG C   UUU        G CCCG   CGCA GGU UCG AG  UCC UG C AGUUGUC G   
+DS6281    GUCC CA GU G GCCGAGU   GGUU  AAGGCG A UGCCC UGCUAAGGCA UU  GGG U   UUU        A CCUG   CGCA GGU UCG AA  UCC UG U CUGUGAC G   
+DS6282    GGCA CU AU G GCCGAGU   GGUU  AAGGCG A GAGAC UCGAAAUCUC UU  GGG C   UCU        G CCCG   CGCU GGU UCA AA  UCC UG C UGGUGUC G   
+DS6283    GGCA CU AU G GCCGAGU   GGUU  AAGGCG A CAGAC UUGAAAUCUG UU  GGG C   UCU        G CCCG   CGCU GGU UCA AA  UCC UG C UGGUGUC G   
+DS6284    GGCU AC AU G GCCGAGU   GGUU  AAGGCG A GAGAC UCGAAAUCUC UG  GGC     UCU   G      CCCG   CGCU GGU UCA AU  CCC UG C UGUGGUC G   
+DS6320    GUCA CU AU G UCCGAGU   GGUU  AAGGAG U UAGAC UUGAAAUCUA AU  GGG C   UUU        G CCCG   CGCA GGU UCA AA  UCC UG C UGGUGAC G   
+DS6321    GUCA CU AU G UCCGAGU   GGUU  AAGGAG U UAGAC UUGAAAUCUA AU  GGG C   UCU        G CCCG   CGCA GGU UCA AA  UCC UG C UGGUGAC G   
+DS6322    GUCA CU AU G UCCGAGU   GGUU  AAGGAG U UAGAC UCGAAAUCUA AU  GGG C   UCU        G CCCG   CGCA GGU UCA AA  UCC UG C UGGUGAC G   
+DS6740    GUGG AA GU G GCGGAGU   GGUU  AUCGGG C AUGAC UAGAAAUCAU GU  GGG C   UUU        G CCCG   CGCA GGU UCG AA  UCC UG C CGUUCAC G   
+DS6741    GUGG AC GU G CCGGAGU   GGUU  AUCGGG C AUGAC UAGAAAUCAU GU  GGG U   UUU        G CCCG   CGCA GGU UCG AA  UCC UG C CGUUCAC G   
+DS6742    GUGG AC GU G CCGGAGU   GGUU  AUCGGG A AUGAC UAGAAAUCAU GGA GGC     UUU          GCCCG  CGCA CGU UUG AA  UCU UG C CGUUUAC G   
+DS6743    GUGG AC AU G CCGGAGU   GGUGUUAUCGGG C AUAAC UAGAAAUCAU  GU GGG C   UUU        G CCCG   CGCA GGU UCG AA  UCA UG C CGUUUAC G   
+DS6744    GUGG AC GU G CCGGAGU   GGUU  AUCGGG C AUAAC UAGAAAUCAU GU  GGG C   UUU        G CCCG   CGCA GGU UCG AA  UCC UG C CGUUCAC G   
+DS6745    GUGG AC GU G CCGGAGU   GGUU  AUCGGG C AUGAC UAGAAAUCAU GU  GGG C   UUU        G CCCG   CGCA CGU UCG AA  UCC UG C CGUUCAC G   
+DS7240    GGAU GG AU G UCUGAGC   GGUUG AAAGAG U CGGUC UUGAAAACCG AA  GUA UUG AUA   G  GAA UAC    CGGG GGU UCG AA  UCC CU C UCCAUCC G   
+DS7740    GCAG UC GU G GCCGAGC   GGUU  AAGGCG U CUGAC UAGAAAUCAG AU  UCC C   UCU        G GGAG   CGUA GGU UCG AA  UCC UA C CGACUGC G   
+DS7741    GCAG UC GU G GCCGAGU   GGUU  AAGGCG U CUGAC UCGAAAUCAG AU  UCC C   UCU        G GGAG   CGUA GGU UCG AA  UCC UA C CGGCUGC G   
+DS7800    GCAG UC GU G GCCGAGU   GGUU  AAGGCG U CUGAC UCGAAAUCAG AU  UCC C   UCU        G GGAG   CGUA GGU UCG AA  UCC UA C CGGCUGC G   
+DS9280    GCAG CG AU G GCCGAGU   GGUU  AAGGCG U UGGAC UUGAAAUCCA AU  GGG G   UCU        C CCCG   CGCA GGU UCG AA  CCC UG C UCGCUGC G   
+DS9990    GUAG UC GU G GCCGAGU   GGUU  AAGGCG A UGGAC UUGAAAUCCA UU  GGG G   UUU        C CCCG   CGCA GGU UCG AA  UCC UG C CGACUAC G   
+DS9991    GUAG UC GU G GCCGAGU   GGUU  AAGGCG A UGGAC UAGAAAUCCA UU  GGG G   UUU        C CCCA   CGCA GGU UCG AA  UCC UG C CGACUAC G   
+DS9992    GUAG UC GU G GCCGAGU   GGUU  AAGGCG A UGGAC UAGAAAUCCA UU  GGG G   UCU        C CCCG   CGCA GGU UCG AA  UCC UG C CGACUAC G   
+DS9993    GUAG UC GU G GCCGAGU   GGUU  AAGGCG A UGGAC UUGAAAUCCA UU  GGG G   UUU        C CCCG   CGCA GGU UCG AA  UCC UG U CGGCUAC G   
+DT0220    GCUG AU UU A GCUCAGUA  GGU   AGAGCA C CUCAC UUGUAAUGAG GAU                         GU  CGGC GGU UCG AU  UCC GU C AAUCAGC ACCA
+DT0260    GCUC CU AA A GCAUUGUU  GGU   GAUGCA G UUGCC UUGUAAGCAU CUG                         A   ACCG GGU UCG AU  UCC UA G UGGGAGC ACCA
+DT0660    GCCU CG GU G GCUCAGCC UGGU   AGAGCG C CUGAC UUGUAAUCAG GUG                         GU  CGGG GGU UCG AA  UCC CC C CCGAGGC U   
+DT0661    GCCU CA GU G GCUCAGCC UGGU   AGAGCG C CUGCU UGGUAAGCAG GAG                         GC  CGCG GGU UCA AA  CCC CG C CUGAGGC U   
+DT0680    GCCU CG GU A GCUCAGCU  GGU   AGAGCG C GAGAC UUGUAAUCUC GUG                         GU  CGCG GGU UCA AA  UCC CG C CCGAGGC U   
+DT0740    GCCU CA GU G GCUCAGCC UGGU   AGAGCG C CUGAC UUGUAAUCAG GUG                         GU  CGGG GGU UCG AA  UCC CC C CUGGGGC U   
+DT1140    GCUG AC UU A GCUCAGUU  GGU   AGAGCA A UUGAC UAGUAAUCAA UAG                         GU  CGAA GGU UCA AA  UCC UU U AGUCAGC ACCA
+DT1141    GCUG AC UU A GCUCAGCA  GGC   AGAGCA A CUGAC UUGUAAUCAG UAG                         GU  CGUA GGU UCG AU  UCC UA U AGUCAGC ACCA
+DT1180    GCUG AC UU A GCUCAGCA  GGC   AGAGCA A CUGAC UUGUAAUCAG UAG                         GU  CGUA GGU UCG AU  UCC UA U AGUCAGC ACCA
+DT1230    GCCG AA AU A GCUCAAUC  GGU   AGAGCA A CUGAU UUGUAAUCAG UAG                         GU  UGCG GGU UCA AU  UCC UG U UUUCGGC ACCA
+DT1540    GCUU CC AU A GCUCAGCA  GGU   AGAGCA C UUCCA UGGUAAGGAA GAG                         GU  CAGC GGU UCG AG  CCC GC U UGGAAGC U   
+DT1541    GCCG GU GU A GCUCAAUU  GGU   AGAGCA A CUGAC UUGUAAUCAG UAG                         GU  UGGG GGU UCA AG  UCC UC U UGCCGGC A   
+DT1542    GCCG GU GU A GCUCAAUU  GGU   AGAGCA A CUGAC UUGUAAUCAG UAG                         GU  UGGG GGU UCA AG  UCC UC U UGCCGGC ACCA
+DT1580    GCCA CC CU A GCUCAACC  GGC   AGAGCA C CCGAC UUGUAAUCGG GGG                         GU  UGGG GGU UCA AC  UCC CC U GGGUGGC UCCA
+DT1581    GCUC GC GU A GCUCAGCA  GGU   AGAGCA C ACCCU UGGUAAGGGU GAG                         GU  CGCC GGU UCG AG  CCC GG C CGCGAGC UCCA
+DT1660    GCUG AU AU G GCUCAGUU  GGU   AGAGCG C ACCCU UGGUAGGGGU GGG                         GU  CCCC AGU UCG AC  UCU GG G UAUCAGC ACCA
+DT1661    GCUG AU AU A GCUCAGUU  GGU   AGAGCG C ACCCU UGGUAAGGGU GAG                         GU  CGGC AGU UCG AA  UCU GC C UAUCAGC ACCA
+DT1662    GCCG AC UU A GCUCAGUA  GGU   AGAGCA A CUGAC UUGUAAUCAG UAG                         GU  CACC AGU UCG AU  UCC GG U AUUCGGC ACCA
+DT1663    GCCG AU AU A GCUCAGUU  GGU   AGAGCA G CGCAU UCGUAAUGCG AAG                         GU  CGUA GGU UCG AC  UCC UA U UAUCGGC ACCA
+DT1664    GCUG AU AU G GCUCAGUU  GGU   AGAGCG C ACCCU UGGUAAGGGU GAG                         GU  CCCC AGU UCG AC  UCU GG G UAUCAGC ACCA
+DT1820    GCCG GA UU A GCUCAGUC  GGU   AGAGCA G CUCAU UCGUAAUGAG AAG                         GU  CGGG GGU UCG AU  UCC UC U AUCCGGC ACCA
+DT1821    GCUC AU GU A GCUCAGUU  GGU   AGAGCA C ACCCU UGGUAAGGGU GAG                         GU  CAGC GGU UCA AA  UCC GC U CAUGAGC UCCA
+DT2460    GCUU GC UU A GCUCAAUU CGGU   AGAGCU U UGGUU UUGUAAACCA AAG                         GU  UAUC GGU UCA AG  UCC GA U AGCAAGC U   
+DT2520    GCCU UU UU A GCUCAGU   GGU   AGAGCA U UGUAU UUGUAAUGCG GUG                         GU  CGUC GGU UCG AA  UCC GA C AAAAGGC U   
+DT2600    GCCC UU UU A ACUCAGU   GGU   AGAGUA A CGCCA UGGUAGGGCG UAA                         GU  CAUC GGU UCA AA  UCU GA U AAAGGGC U   
+DT2601    GCCU GU UU A GCUCAGA   GGUC  AGAGCG U CGCAC UUGUAAUGCG AUG                         GU  CAUC GGU UCG AC  UCC GA U AGCGGGC U   
+DT2640    GCCC UU UU A ACUCAGU   GGU   AGAGUA A UGCCA UGGUAAGGCA UAA                         GU  CAUC GGU UCA AA  UCC GA U AAAGGGC U   
+DT2680    GCCC UU UU A ACUCAGU   GGU   AGAGUA A UGCCA UGGUAAGGCA UAA                         GU  CAUC GGU UCA AA  UCC GA U AAAGGGC U   
+DT2700    GCCC AC UU A GCUCAGA   GGUU  AGAGCA U CGCAU UUGUAAUGCG AGG                         GU  CAUC GGU UCA AA  UCC GA U AGUCGGC U   
+DT2701    GCCC UU UU A ACUCAGU   GGU   AGAGUA A UGCCA UGGUAAGGCA UAA                         GU  CAUC GGU UCA AA  UCC GA U AAAGGGC U   
+DT2720    GCCC AC UU A GCUCAGA   GGUU  AGAGCA U CGCAU UUGUAAUGGG AGG                         GU  CAUC GGU UCA AA  UCC GA U AGUCGGC U   
+DT2920    GCCC GC UU A GCUCAGA   GGUU  AGAGCA U CGCAU UUGUAAUGCG AUG                         GU  CAUC GGU UCG AU  UCC GA U AGCCGGC U   
+DT2921    GCCC UU UU A ACUCAGU   GGU   AGAGUA A CGCCA UGGUAAGGCG UAA                         GU  CAUC GGU UCA AA  UCC GA U AAGGGGC U   
+DT3200    GCCC UU UU A ACUCAGU   GGU   AGAGUA A CGCCA UGGUAAGGCG UAA                         GU  CGUC GGU UCA AA  UCC GA U AAAGGGC U   
+DT3280    GCCC CU UU A ACUCAGU   GGU   AGAGUA A CGCCA UGGUAAGGCG UAA                         GU  CAUC GGU UCA AA  UCC GA U AAGGGGC U   
+DT3281    GCCC GC UU A GCUCAGA   GGUU  AGAGCA U CGCAU UUGUAAUGCG AUG                         GU  CAUC GGU UCG AG  UCC GA U AGCCGGC U   
+DT3360    GCCC UU UU A ACUCAGU   GGU   AGAGUA A CGCCA UGGUAAGGCG UAA                         GU  CAUC GGU UCA AA  UCC GA U AAGGGGC U   
+DT3880    GCCC GG UU A GCAUAAA   AGU   AAUGUA U CCGUU UUGUAAUCGG AAU                         A   AACA AGU GCG AU  ACU UG U ACUGGGC U   
+DT4000    GUAA AU AU A AUUUAAU   GGU   AAAAUG U AUGUUUUUAGGUGCAU AUU                         A   UCUA AGU UCA AA  UCU UA G UAUUUAC A   
+DT4001    GUUA UA UU A GCUUAAUU  GGU   AGAGCA U UCGUU UUGUAAUCGA AAG                         GU  UUGG GGU UCA AA  UCC CU A AUAUAAC A   
+DT4070    GUUG CA UU A GCUCAAUU  GGU   AGAGCG U UUGUU UUGUAAUCAA AAG                         GU  UUAG AGU UCA AC  UCU CU A AUGCANU N   
+DT4080    GUUA UA UU A GCUCAAUU  GGU   AGAGCA U UCGUU UUGUAAUCGA AAG                         GU  UUGG GGU UCA AA  UCC CU A AUAUAAC A   
+DT4081    GUAG AU AU A AUUUAAUC  GGU   AAAAUGUA UGUUU UUAGGGUACA UAU                         UA  UCUA AGU UCA AA  UCU UA G UAUUUAC A   
+DT4500    GCCC GC GU A GCUCAGAU  GGU   AGAGCA U UCCCA UGGUAAGGGA AAG                         GC  CUCC GGU UCA AG  UCC GG U CGUAGGC U   
+DT4700    GCUU UA AA A GCUUUG    CU    GAAGCA A CGGCC UUGUAAGUCG UAG                         A   AAAC     UAU AC      GU U UUAAAGC U   
+DT4880    GUUU UA AU A GUUUAA    UA    AAAACA U UGGUC UUGUAAAUCA AAA                         A   UAAG A   UUA UU    U CU U UUAAAAC U   
+DT4980    CCUU AA AG C UACAAA          AAGCAG A CAAUC UUGUAAAUUG UAA                         GA  UAAA AGG UUU AA  GUC CU U UUUAAGG U   
+DT5040    ACCU UG AA G GCUCAAU   AGUU  AGAGCGCC AAGUC UUGUAAACUU GGA                         G   AGAG GGU UAA AG  UCC CU C UCAAGGC U   
+DT5060    GCCC UA GU A GCUCAGC   GC  C AGAGCG C CGGUC UUGUAAUCCG GAA                         GU  CGGA GGU UAA AA  CCC UC C CUAGUGC U   
+DT5080    GCCU UG AA A GCUCAAC   AACU  AGAGCU U UGGUC UUGUAAACCA GGA                         G   AGAG GGU AAA CU   CC CU C UCAAGGC U   
+DT5090    GCCC UA GU A GCUUAGAC  AUC   AAAGCA C CGGUC UUGUAAACCG AAG                         AU  CGAA GGU UAA AA  UCC UU C CUAGCGC C   
+DT5120    GUCC UG AU A GCUUAAU   UU    AAAGCA U CGGUC UUGUAAGCCG AAG                         A   UUGA GGC UAA AA  CCC UC C UCAAGAC U   
+DT5160    GCCU UG AU A GCUUAAA   CU    AAAGCA C CGGUC UUGUAAGCCG GAG                         AC  UGUA GCC UAA CC   CC UA C UCAAGGC U   
+DT5200    GUCU UU GU A GUAUAAC   AA    AAUACC C CGGUC UUGUAAACCG GAA                         A   AGGA GAA CCC CA  UUCCUC C CUAAGAC U   
+DT5220    ACUC UA AU A GUUUAU    GA    AAAACA U UGGUC UUGUAAACCA AAA                         AC  UGAA GAC UCC AC   CC UU C UUAGAGU A   
+DT5280    GUCC CG AU A GUAUAA    AA    AUUACU C UGGUC UUGUAAACCA AAA                         A   UGAA GA  GUC AG   UC UU C UCAGGAC A   
+DT5281    GUCC CG AU A GUAUAA    AA    AUUACU C UGGUC UUGUAAGCCA AAA                         A   UGAA GAG UCA GC   UC UU C UCGGGAC A   
+DT5320    GUCU UG AU A GUAUAA    AC    AUUACU C UGGUC UUGUAAACCU GAA                         A   UGAA G A UCU UC  U C UU C UCAAGAC A   
+DT5360    GUCU UU GU A GUACAU    CU    AAUAUA C UGGUC UUGUAAACCA GAG                         A   AGGA GAA CAA CU AACC UC C CUAAGAC U   
+DT5880    GUCC UU GU A GUAUAA    ACU   AAUACA C CAGUC UUGUAAACCG GAG                         A   UGAA A   ACC UU    U UU C CAAGGAC A   
+DT6050    GGCC GC UU A GCACAU    GGC   AGUGCA C CACUC UCGUAAAGUG GGG                         GU  CGCG AGU UCG AU  UCU CG C AGUGGCC U   
+DT6160    GGCU CC UU A GCAUAGU   GGU   AUUGCG U UUCCC UAGUAAGGAA GAG                         GU  CAUG AGU UCG AU  CCU CA U AGGAGCC U   
+DT6161    GCCA UA GU A GUCUAGU   GGU   AAGACA U UUCUC UCGUAAAGAA GGA                         U   CCCG UGU UCG AU  UCA CG G CUUUGGC A   
+DT6280    GCUU CU AU G GCCAAGUU  GGU   AAGGCG C CACAC UAGUAAUGUG GAG                         AU  CAUC GGU UCA AA  UCC GA U UGGAAGC A   
+DT6281    GCCC UU UU G GCCAAGU   GGU   AAGGCA U CGCAC UCGUAAUGCG GGG                         AU  CGUG GGU UCA AU  UCC CA C AGAGGGC A   
+DT7740    GGCG CC GU G GCUUAGUU  GGUU  AAAGCG C CUGUC UAGUAAACAG GAG                         AU  CGUG AGU UCG AA  UCU CG C CGGGGCC U   
+DT9990    GGCU CC AU A GCUCAGG   GGUU  AGAGCA C UGGUC UUGUAAACCA GGG                         GU  CGCG AGU UCA AU  UCU CG C UGGGGCU U   
+DT9991    GGCU CC AU A GCUCAGG   GGUU  AGAGCA C UGGUC UUGUAAACCA GGG                         GU  CGCG AGU UCA AA  UCU CG C UGGGGCC U   
+DV0260    GCUC GG UU A GUAUAAU   GGG   AGAACC C CGCCU UUACACGGCG GUU                         G   UGAU AGU UCG AU  UCU AU C ACCGAGU ACCA
+DV0660    GGAC UC AU G GUCUAGUU  GGCU  AUGACA U CGCCC UUACAAGGCG AGG                         GU  CGCC GGU UCG AA  UCC GG C UGGGUCC A   
+DV0860    GGGC CC GU C GUCUAGCC UGGUU  AGGACG C UGCCC UGACGCGGCA GAA                         AU  CCUG GGU UCA AG  UCC CA G CGGGCCC A   
+DV1140    GGAG UG UU A GCUCAGCU  GGG   AGAGCU C CUGCC UUACAAGCAG GCG                         GU  CAUA GGU UCA AG  UCC UA U ACACUCC ACCA
+DV1180    GGAG UG UU A GCUCAGCU  GGG   AGAGCU C CUGCC UUACAAGCAG GCG                         GU  CAUA GGU UCA AG  UCC UA U ACACUCC ACCA
+DV1230    GGAG GA UU A GCUCAGUU  GGG   AGAGCA C CUGCC UUACAAGCAG GGG                         GU  CGGC GGU UCA AG  CCC GU C AUCCUCC ACCA
+DV1350    GGAC GA UU A GCUCAGC   GGG   AGAGCG C UUCCC UGACACGGAA GAG                         GU  CACU GGU UCA AU  CCC AG U AUCGUCC A   
+DV1351    GCGC GA UU A GCUCAGC   GGG   AGAGCG C UUCCC UGACACGGAA GAG                         GU  CACU GGU UCA AU  CCC AG U AUCGCGC A   
+DV1500    GGAG GA UU A GCUCAGCU  GGG   AGAGCA U CUGCC UUACAAGCAG AGG                         GU  CACA GGU UCG AG  CCC UG U AUCCUCC A   
+DV1540    GGAG GA UU A GCUCAGCU  GGG   AGAGCA U CUGCC UUACAAGCAG AGG                         GU  CGGC GGU UCG AG  CCC GU C AUCCUCC ACCA
+DV1570    GGAG GA UU A GCUCAGCU  GGG   AGAGCA C UUGCC UUACAAGCAA GGG                         GU  CGGC GGU UCG AU  CCC GU C AUCCUCC ACCA
+DV1660    GGGU GA UU A GCUCAGCU  GGG   AGAGCA C CUCCC UUACAAGGAG GGG                         GU  CGGC GGU UCG AU  CCC GU C AUCACCC ACCA
+DV1661    GCGU CC GU A GCUCAGUU  GGUU  AGAGCA C CACCU UGACAUGGUG GGG                         GU  CGGU GGU UCG AG  UCC AC U CGGACGC ACCA
+DV1662    GCGU UC AU A GCUCAGUU  GGUU  AGAGCA C CACCU UGACAUGGUG GGG                         GU  CGUU GGU UCG AG  UCC AA U UGAACGC ACCA
+DV2520    GGGG GU AU A GCUCAGUU  GGU   AGAGCG U CUGCC UUACAAGCAG AAU                         GU  CAGC GGU UCG AA  UCC GU U UGCCCUC A   
+DV2600    AGGG AU AU A ACUCAGC   GGU   AGAGUA U CACCU UGACGUGGUG GAA                         GU  CAUC AGU UCG AA  CCU GA U UAUCCCU A   
+DV2601    AGGG CU AU A GCUCAGC   GGU   AGAGCG C CUCGU UUACACCGAG AAU                         GU  CUAC GGU UCA AA  UCC GU A UAGCCCU A   
+DV2640    AGGG CU AU A GCUCAGUU CGGU   AGAGCA A CUCGU UUACACCGAG AAG                         GU  CUAC GGU UCG AG  UCC GU A UAGCCCU A   
+DV2700    AGGG CU AU A GCUCAGUU CGGU   AGAGCA A CUCGU UUACACCGAG AAG                         GU  CUAC GGU UCG AA  UCC GU A UAGCCCU A   
+DV2701    AGGG AU AU A ACUCAGC   GGU   AGAGUG U CACCU UGACGUGGUG GAA                         GU  CAUC AGU UCG AG  CCU GA U UAUCCCU A   
+DV2720    AGGG CU AU A GCUCAGUU CGGU   AGAGCA A CUCGU UUACACCGAG AAG                         GU  CUAC GGU UCG AA  UCC GU A UAGCCCU A   
+DV2721    AGGG AU AU A ACUCAGC   GGU   AGAGUG U CACCU UGACGUGGUG GAA                         GU  CAUC AGU UCG AG  CCU GA U UAUCCCU A   
+DV2840    AGGG AU AU A ACUCAGC   GGU   AGAGUG U CACCU UGACGUGGUG GAA                         GU  UAUC AGU UCG AG  CCU GA U UAUCCCU A   
+DV2920    AGGG AU AU A ACUCAGC   GGU   AGAGUG U CACCU UGACGUGGUG GAA                         GU  CAUC AGU UCG AG  CCU GA U UAUCCCU A   
+DV2921    AGGG CU AU A GCUCAGUU  GGU   AGAGCA A CUCGU UUACACCGAG AAG                         GU  CUAC GGU UCG AG  UCC GU A UAGCCCU A   
+DV3200    AGGG GU AU A ACUCAGC   GGU   AGAGUG U CACCU UGACGUGGUG GAA                         GU  CAUC AGU UCG AA  CCU GA U UAUCCCU A   
+DV3240    AGGG AU AU A ACUCAGC   GGU   AGAGUG U CACCU UGACGUGGUG GAA                         GU  CAUC AGU UCG AG  CCU GA U UAUCCCU A   
+DV3280    AGGG GU AU A ACUCAGC   GGU   AGAGUG U CACCU UGACGUGGUG GAA                         GU  CAUC AGU UCG AG  CCU GA U UAUCCCU A   
+DV3880    AAGA AA UU A GCUCAGUU  GGU   AGAGCG U UCGUU UUACACACGA AGG                         U   CAGG UGU UCA AA  UCA CC U AUUUCUU A   
+DV3960    AAGA AA UU A GCUCAAC   GGU   AGAGCA A CCGUU UUACACACGG AAG                         GC  UAUG AGU UCG AA  UCU CC U AUUUCUU ACCA
+DV4000    AGGA GA UU A GCUUAAUU  GGU   AUAGCA U UCGUU UUACACACGA AAG                         AU  UAUA GGU UCG A    CC UA U AUUUCCU A   
+DV4001    AGGA GA UU A GCUUAAUU  GGU   AUAGCA U UCGUU UUACACACGA AAG                         AU  UAUA GGU UCG AA  CCC UA U AUUUCCU A   
+DV4070    GGAA AA UU G AUCAUC    GGC   AAGAUAAG UUAUU UACUAAAUAA UA  GGAUU   UAA   U    A ACCU   GGUG AGU UCG AA  UCU CA C AUUUUCC G   
+DV4071    AAGG GA UU U GCUUAAUU  GGU   AUAGCA U UUGUU UUACACACAA AAU G                       UA  UAUA GGU UCG AG  UCC UA U AUUCCUU A   
+DV4080    AGGA UA UU A GCUUAAUU  GGU   AUAGCA U UCGUU UUACACACGA AAG                         AU  UAUA GGU UCG AA  UCC UA U AUUUCCU A   
+DV4500    GGGU AA UU A GCUCAGUU  GGU   AGAGUG C CUCGU UUACACCGAG AGA                         GU  CAGC GGU UCA AG  UCC GU U AUUACCC A   
+DV4700    UGUA AG AU A AUAUAAA   CC    AGUAUA A UUCAU UUACACUGAA UGU                         G   UCAG AU   AA U    GU CU G UCUUACU U   
+DV4800    CAAU UU AA A GCUUAAUU  AGU   AAAGUA U UUCAU UUACAUUGAA AAG                         A   AAUU UGU GCA AA  UCA AU U UAAAUUG A   
+DV4880    CAAU UU AA A GCUUAUUA  AGU   AAAGCA U UUCAU UUACAUUGAA AAG                         A   UUUU UGU GCA AA  UCA AU A UAAAUUG A   
+DV4980    CCUC GC AG A GCUUGUCA  AUCC  UAAGCA U CUCUU UUACACAGAG AAG                         A   AGUU UGU GAA AU  UCG AA C UGCCUGG A   
+DV5000    CCUG GC GG A GCUUGAU   AGU   UAAGCA U CUCUU UUACACAGAG CUG                         A   UAUU UGU GCA AA  UCA AA U UGCCUUG A   
+DV5020    CCUC GC AG A GCUUGUCA  ACC   UAAGCA U CUCUU UUACACGGAG AAG                         A   AGUU UGU GAA AU  UCG AA C UGUUUGG A   
+DV5040    CAAG AC AU A GCUAGUU   AG    UAAGUU C CUCUU UUACACGGAG GUC                         A   CACU CGU GCA AU  UCG GG U UGUCUUG A   
+DV5080    CAAG GC AU A GCUAGUU   AG    UAAGUU U CUCCU UUACACGGAG ACC                         A   CACU CGU GCA AU  UCG AG U UGUUUUG A   
+DV5120    CAAA GU AU A GCUUAACC        AAAGCC U UUCGC UUACACCGAA ACA                         A   UAUC UGU UAA AC  CCG GA U UACUUUG A   
+DV5220    CAAG GC GU A GCUAUAAC  UUC   AAAGCA U UCAGC UUACACCUGA AAG                         A   UACC CUC AAC AG ACAA GG U CGCCUUG A   
+DV5280    CACA GU GU A GCUUAAUC  AC    AAAGCA U CUGGC CUACACCCAG AAG                         A   AUUC A U AAA AA    U GA A CACUUUG A   
+DV5320    CAUA GU GU A GCUUAAUA  UU    AAAGCA U CUGGC CUACACCCAG AAG                         A   UUUC A U GAC CA  A U GA A CACUCUG A   
+DV5360    CAAG AU AU A GCUUAA    AC    AAAGCA U CCAGU UUACACCUAG AAG                         A   CUUC A U UCA UU  A U GA A UAUCUUG A   
+DV5880    CAGA GU GU A GCUUAAC   AC    AAAGCA C CCAAC UUACACUUAG GAG                         A   UUUC AAC UUA AC   UU GA C CGCUCUG A   
+DV5900    CAAG AU AU A GCUUAA    AC    AAAGUA U CUAGU UUACACCUAG AAG                         A   UUUC AU  ACA C    AU GA A UAUCUUG A   
+DV5910    CAAG AU AU A GCUUAA    AC    AAAGCA U CUAGU UUACACCUAG AAG                         A   UUUC ACA UAC G    AU GA A UGUCUUG A   
+DV5920    CAAG AC AU A GCUUAA    AU    AAAGCA U CUAGU UUACACCUAG AAG                         A   UUUC ACC CAC C    AU GA A UGCCUUG A   
+DV5930    CGAG AU AU A GCUUAA    AC    AAAGCA U CUAGU UUACACCUAG AAG                         A   UUUC ACA CAU C    AU GA A UAUCUUG A   
+DV5940    CAAG AC AU A GCUUAA    AC    AAAGCA U CUAGU UUACACCUAG AAG                         A   UUCC AUA CAC U    AU GA A UGUCUUG A   
+DV5950    CAAG AU AU A GCUUAA    AU    AAAGCA C CUAGU UUACACCUAG AAG                         A   UUUC ACA CGC C    AC GA A UAUCUUG A   
+DV5960    CAAG AU AU A GCUUAA    AC    AAAGCA C CUAGU UUACACCUAG AAG                         A   UUUC ACA CAC UA    U GA A UAUCUUG A   
+DV5970    CAAA AC AU A GCUUAAA   CA    AAAGCA U CUAGU UUACACCUAG AAG                             AUUC A C AUA UC  A U GA A UGUUUUG A   
+DV5980    CAAG AU AU A GCUUAA    AC    AAAGCA U CUAGU UUACACCUAG AAG                         A   UUUC ACA CAC C    AU GA A UAUCUUG A   
+DV6160    GUUC GG AU G GUGUAGUC  GGUU  AUCACG A AUCCU UAACACGGAU UAG                         GU  CGUG GGU UCG AU  UCC CG C UCUGAAU A   
+DV6161    GGUC GG AU G GUGUAGUC  GGUU  AUCACG G UUGCU UUACACGCAA CAG                         GU  CUCG AGU UCG AU  CCU CG G UCGGAUC A   
+DV6280    GGUU UC GU G GUCUAGUC  GGUU  AUGGCA U CUGCU UAACACGCAG AAC                         GU  CCCC AGU UCG AU  CCU GG G CGAAAUC A   
+DV6281    GGUU UC GU G GUCUAGUC  GGUU  AUGGCA U CUGCU UAACACGCAG AAC                         GU  CCCC AGU UCG AU  CCU GG G CGAAAUC G   
+DV6320    GGUC GU GU G GUUUAGAU  GGUU  AUAAUU U CUGCU UAACACGCAG ACG                         GU  CCCA AGU UCG AG  UCU UG G CACGAUC A   
+DV6740    GGUU UC GU G GUGUAGUU  GGUU  AUCACG U CAGUC UAACACACUG AAG                         GU  CUCC GGU UCG AA  CCC GG G CGAAGCC A   
+DV7740    GUUU CC GU G GUGUAGU   GGUU  AUCACA U CCGCC UAACACGCGG AAG                         GC  CCCC GGU UCA AU  CCC GG G CGGAAAC A   
+DV7741    GUUU UC GU A GUGUAGU   GGUU  AUCACG U GUGCU UCACACGCAC AAG                         GU  CCCC GGU UCG AA  CCC GG G CGAAAAC A   
+DV7920    GUUU CU GU A GUGUAGC   GGUU  AUCACG U UCGCC UCACAUGCGA AAG                         GU  CCCC GGU UCG AA  ACC GG G CAGAAAC A   
+DV9990    GUUU CC GU A GUGUAGU   GGUU  AUCACG U UCGCC UAACACGCGA AAG                         GU  CCCC GGU UCG AA  ACC GG G CGGAAAC A   
+DV9991    GUUU CC GU A GUGUAGU   GGUU  AUCACG U UCGCC UCACACGCGA AAG                         GU  CCCC GGU UCG AA  ACC GG G CGGAAAC A   
+DV9992    GUUU CC GU A GUGUAGU   GGUC  AUCACG U UCGCC UAACACGCGA AAG                         GU  CCCC GGU UCG AA  ACC GG G CGGAAAC A   
+DV9993    GUUU CC GU A GUGUAGU   GGUU  AUCACG U UCGCC UAACACGCGA AAG                         GU  CCCU GGA UCA AA  ACC AG G CGGAAAC A   
+DV9994    GCUU CU GU A GUGUAGU   GGUU  AUCACG U UCGCC UCACACGCGA AAG                         GU  CCCC GGU UCG AA  ACC GG G CAGAAGC A   
+DV9995    GUUU CC GU A GUGUAGC   GGUU  AUCACA U UCGCC UCACACGCGA AAG                         GU  CCCC GGU UCG AU  CCC GG G CGGAAAC A   
+DW0460    GGGG CU GU G GCCAAGCC CGGC   AUGGCG A CUGAC UCCAGAUCAG UCG                         AU  CGGG GGU UCA AA  UCC CU C CGGCCCC A   
+DW0500    GGGG CU GU G GCCAAGCC CGGC   AUGGCG A CUGAC UCCAGAUCAG UCG                         AU  CGGG GGU UCA AA  UCC CU C CGGCCCC A   
+DW1140    AGGG GC AU A GUUCAGUA  GGU   AGAACA U CGGUC UUCAAAACCG AGU                         GU  CACG AGU UCG AG  UCU UG U UGCCCCU GCCA
+DW1141    AGGA GA GU A GUUCAAU   GGU   AGAACG U CGGUC UCCAAAACCG AGC                         GU  UGAG GGU UCG AU  UCC UU U CUCUCCU GCCA
+DW1230    GGGG GC AU G GUGUCAAC  GGU   AGCACA C AGGUC UCCAAAACCU UUA                         G   UGUG GGU UCG AA  UCC UG C UGCCCUC GCCA
+DW1250    AGGG GU AU A GUUCAAUC  GGU   AGAACA C CGGAC UUCAAAUCCG GGU                         GU  UGUG GGU UCA AG  UCC UG C UACCCCU GCCA
+DW1251    AGGG GU GU A GUUUAAU   GGU   AGAACA G CGGUC UCCAACACCG UAC                         GU  UGUG GGU UCA AG  UCC UG U CACCCCU GCCA
+DW1540    AGGG GC AU A GUUUAAC   GGU   AGAACA G AGGUC UCCAAAACCU CCG                         G   UGUG GGU UCG AU  UCC UA C UGCCCCU GCCA
+DW1660    AGGG GC GU A GUUCAAUU  GGU   AGAGCA C CGGUC UCCAAAACCG GGU                         GU  UGGG AGU UCG AG  UCU CU C CGCCCCU GCCA
+DW2440    ACGU CC UU A GUUCAGUC  GGU   AGAACG C AGGUU UCCAAAACCU GAU                         GU  CGUG GGU UCA AU  UCC UA C AGGGCGU G   
+DW2520    GCGC UU UU A GUUCAAUU  GGU   AGAACG U AGGUC UCCAAAACCU GAU                         GU  AGUA GGU UCG AA  UCC UA C AGAGCGC G   
+DW2600    GCGC UU UU A GUUCAGUU CGGU   AGAACG U AGGUC UCCAAAACCU AAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DW2680    GCGC UC UU A GUUCAGUU CGGU   AGAACG C GGGUC UCCAAAACCC GAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DW2700    GCGC UC UU A GUUCAGUU CGGU   AGAACG C GGGUC UCCAAAACCC GAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DW2720    GCGC UC UU A GUUCAGUU UGGU   AGAACG C GGGUC UCCAAAACCC GAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DW2920    GCGC UC UU A GUUCAGUU CGGU   AGAACG U GGGUC UCCAAAACCC GAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DW3000    GCGC UC UU A GUUCAGUU CGGU   AGAACG C GGGUC UCCAAAACCC GAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DW3200    GCGC UC UU U GUUCAGUU CGGU   AGAACG C GGGUC UCCAAAACCC GAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DW3640    AGAG GU GU A GCUUAGUU  GGUU  AAAGCG C AAGAU UCCAAAUCUU GAA                         AU  CGAG GGU UCG AG  UCC UU U CAUCUCU G   
+DW3760    AGGG GA GU A GUUGAAC   GGG   AAAACU U UAGUC UUCAAAACUG ACA                         U   CGUG GGU UCG AC  UCC CG C CUCCCUU G   
+DW3770    AGGG GA GU A GUUCAAC   GGA   AAAACU U UAGUC UUCAAAACUG ACA                         U   CGUG GGU UCG AC  UCC CG C CUCCCUU G   
+DW3800    GGGG GA AU A GUUUAAC   GGU   AGAACA A CGGUC UUCAAAAUCG UUA                         G   CGUG GGU UCG AA  UCC UG C UUCCCUC G   
+DW3880    AAGA GU AU A GUUUAAU   GGU   AAAACU G UAAGC UUCAACCUUA UAU                         U   UCUU AGU UCA AA  UCU AA G UACUCUU G   
+DW3960    AAGA GU AU A GUUUAAA   GGU   AAAACA G AAAGC UUCAACCUUU AAU                         U   UCUU AGU UCG AG  UCU AA G UGCUCUU G   
+DW4000    AAGG AU AU A GUUUAAU   GGU   AAAACA G UUGAU UUCAAAUCAA UCA                         U   UAGG AGU UCG AA  UCU CU U UAUCCUU G   
+DW4070    AAGG GU AU A GUUUAAUU  GGU   AAAACA G UUGAC UUCAAAUCAA UAU                         AG  UGAU AGU UCA AU  UCU GU C UGCCCUU G   
+DW4080    AAGG AU AU A GUUUAAU   GGU   AAAACU A UUGAU UUCAAAUCAA UCA                         U   UAAG AGU UCG AA  UCU UU U UAUCCUU G   
+DW4360    GCGC UC UU A GUUCAGUU CGGU   AGAACG C GGGUC UCCAAAACCC GAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DW4440    GCGC UC UU A GUUCAGUU CGGU   AGAACG U GUGUC UCCAAAACCC AAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DW4480    GCGC UC UU A GUUCAGUU CGGU   AGAACG U GGGUC UCCAAAACCC AAU                         GU  CGUA GGU UCA AA  UCC UA C AGAGCGU G   
+DW4500    AGGA GA AU A GUUCCAAU  GGU   AGAACA A UGGUC UCCAAAACCA AAG                         GU  UAAG GGU UCG AA  UCC CU U UUCUCCU G   
+DW4620    AGUG AU CU A GGUUAUU   UU    GGACUG U CUGUU UUCAAAACAG GAG                         G   UGGC     UUU G       GU C GGUUGCU G   
+DW4700    AAGA AA GU A AUUUAAG   UU    AAAAUA U UUUGU UUCAAACAUA ACU                         A   UAGG UA  GUC AU   UA CC U CUUUCUU G   
+DW4840    AAGG CU UU A AGUUAA    UA    AAACUA A UAACC UUCAAAGCUA UAA                         A   UAAA G A AAU UU    C UU U AAGCCUU A   
+DW4880    AAGG CU UU A AGUUAA    CU    AAACUA A UAGCC UUCAAAGCUG UAA                         A   UAAA GG  GUA UU   CC UU U AAGUCUU A   
+DW4980    AGAG AU UU A AGUUAA    UA    AAACUG A AAACC UUCAAAGUUU UAA                         A   UAAG AGU GGA AC  UCU CU U AGUCUUU A   
+DW5000    AGGG GU UU A AGUUAA    UCU   AAACUA A AAGCC UUCAAAGCUU UAA                         A   UAAG AAU GGG AA  UUU UU U AACCUCU G   
+DW5020    AGAG AU UU A AGUUAA          UAACUA A AA CC UUCAAAGUUU UCA                         AU  AGAG AGU GAA AC  CCU CU U AAUCUUU A   
+DW5040    AAGA GC UU A AGUUAA    AU    AAACUG A AAGCC UUCAAAGCUU UUU                         A   UAAG AAU GGA AA  CUU CU U AGCUCUU G   
+DW5080    AAGG AC UU A AGUUAA    AU    AAACUG A AAGCC UUCAAAGCUU UAA                         C   AAAG AAU UGG AAA CUU CU U AGUCCUU G   
+DW5100    AGGG GC UU A GGAUAA    ACU   AGACCA A GGGCC UUCAAAGCCC UCA                         G   CGGA GGU GAA AA  UCC UC C AGCCCCU G   
+DW5120    AGAG AU UU A GGUUAA    CA    AGACUA A GAGCC UUCAAAGCCC UAA                         G   CAGG AGU UAG AA  UCU CC U AAUCUCU G   
+DW5160    AGAA AC UU A GGCUAGC   AC    AGACCA A AGGCC UUCAAAGCCU UAA                         G   CGGA GGU UAA AC  UCC UU C AGUUUCU G   
+DW5220    AGAA AC UU A GGAUUAAC UGUCACCAAACCA A AGGCC UUCAAAGCCU UAA                         A   UAAG AGU UAA AC  UCU CU U AGUUUCU G   
+DW5280    AGAA GU UU A GGAUAU    AC    AGUCCA A GAGCC UUCAAAGCCC UUA                         G   AAAA C A AAC AA    G UU U AACUUCU G   
+DW5281    AGAA GU UU A GGAUAU    AC    AGUUCA A GAGCC UUCAAAGCCC UUA                         G   AAAA C A AAC AA    G UU U AACUUCU G   
+DW5320    AGAA GU UU A GGAUAUA   CU    AGUCCG C GAGCC UUCAAAGCCC UAA                         G   AAAA C A CAC AA    G UU U AACUUCU G   
+DW5360    AGGA AU UU A GGUUAA    AC    AGACCA A GAGCC UUCAAAGCCC UAA                         G   CAAG U A CAA UU  U A CU U AAUUCCU G   
+DW5880    AGAA AU UU A GGUUAAAU  AC    AGACCA A GAGCC UUCAAAGCCC UCA                         G   UAAG U U GCA AU    A CU U AAUUUCU G   
+DW6160    GACU CC UU A GCAUAGU   GGUUU AUUGUA A UUGUC UCCAAAGCAG UUG                         GU  CCAG GGU UCA AC  UCC CU G AGGGGUC U   
+DW6161    GACU CC UU A GCAUAGU   GGUUU AUUGUA A UUGUC UCCAAAGCAG UUG                         GU  CCAG GGU UCA AC  UCC CU G AGGGGUC U   
+DW6280    GAAG CG GU G GCUCAAU   GGU   AGAGCU U UCGAC UCCAAAUCGA AGG                         GU  UGCA GGU UCA AU  UCC UG U CCGUUUC A   
+DW6740    GGAU CC GU G GCGCAAU   GGU   AGCGCG U CUGAC UCCAGAUCAG AAG                         GU  UGCG UGU UCG AU  UCA CG U CGGGUUC ACCA
+DW6741    GGAU UC GU G GCGCAAU   GGU   AGCGCG U CUGAC UCCAGAUCAG AAG                         GU  UGCG UGU UCG AU  UCA CG U CGGGUUC ACCA
+DW7560    GACU GC UU G GCGCAAU   GGU   AGCGCG U UCGAC UCCAGAUCGA AAG                         GU  UGGG CGU UCG AU  CCG CU C AGUGGUC A   
+DW8040    GACC UC GU G GCGCAAC   GGU   AGCGCG U CUGAC UCCAGAUCAG AAG                         GC  UGCG UGU UCG AA  UCA CG U CGGGGUC A   
+DX0260    UGCG GG UU A GAUCUCUC UGGUAG AGAUCG C UAGUC UCAUAAGCUA GAA                         AGA GGUA GGU UCG AU  UCC UG C ACCCGCU UCCA
+DX0860    GGGC CC GU A GCUUAGCC CGGU   AGAGCG C CCGGC UCAUAACCGG GUG                         GU  CCGG GGU UCA AG  UCC CC G CGGGCCC A   
+DX0980    AGCG GG GU A GGCCAGCC AGGU   AGGCCG C GGGGC UCAUANCCCC GAG                         GU  CCCG GGU UCA AA  UCC CG G CCCCGCU A   
+DX1140    CGCG GG GU A GAGCAGUU  GGU   AGCUCG C CGGGC UCAUAACCCG GAG                         GU  CGCA GGU UCG AG  UCC UG C CCCCGCA ACCA
+DX1180    CGCG GG GU A GAGCAGUU  GGU   AGCUCG C CGGGC UCAUAACCCG GAG                         GC  CGCA GGU UCG AG  UCC UG C CCCCGCA ACCA
+DX1260    CGUG GG GU G GAGCAGUU  GGU   AGCUCG U UGGGC UCAUAACCCA AAG                         GU  CGCA GGU UCA AG  UCC UG C CCCCGCA ACCA
+DX1340    CGCG GG GU G GAGCAGCU CGGU   AGCUCG C UGGGC UCAUAACUCA GAG                         GU  CGCA GGU UCA AA  UCC UG U CCCCGCU A   
+DX1341    CGCG GG GU G GAGCAGCU CGGU   AGCUCG C UGGGC UCAUAACCCA GAG                         GU  CGCA GGU UCA AA  UUC UG U CCCCGCU A   
+DX1540    CGCG GG GU G GAGCAGUU CGGU   AGCUCG U CGGGC UCAUAACCCG AAG                         GU  CGCA GGU UCA AA  UCC UG C CCCCGCA ACCA
+DX1660    CGCG GG GU G GAGCAGCC UGGU   AGCUCG U CGGGC UCAUAACCCG AAG                         AU  CGUC GGU UCA AA  UCC GG C CCCCGCA ACCA
+DX1661    CGCG GG GU G GAGCAGCC UGGU   AGCUCG U CGGGC UCAUAACCCG AAG                         GU  CGUC GGU UCA AA  UCC GG C CCCCGCA ACCA
+DX2520    GGCG GA GU A GAGCAGUC AGGU   AGCUCG C AGGGC UCAUAAUCCU GAA                         GU  CAGA GGU UCA AA  UCC UU U CUCCGCU A   
+DX2600    CGCG GA GU A GAGCAGUC UGGU   AGCUCG C AAGGC UCAUAACCUU GAG                         GU  CAUA GGU UCA AA  UCC UG U CUCCGCC A   
+DX2640    AGCG GA GU A GAGCAGUU UGGU   AGCUCA C GAGGC UCAUAACCUU GAG                         GU  CACG GGU UCG AU  UCC CG U CUCCGCA C   
+DX2680    AGCG GA GU A GAGCAGUU UGGU   AGCUCA C GAGGC UCAUAACCUU GAG                         GU  CACG GGU UCG AU  UCC CG U CUCCGCA C   
+DX2920    CGCG GG GU A GAGCAGUU UGGU   AGCUCG C AAGGC UCAUAACCUU GAG                         GU  CACG GGU UCA AA  UCC UG U CUCCGCA A   
+DX3200    CGCG GA GU A GAGCAACU UGGU   AGCUCG C AAGGC UCAUAACCUU GAG                         GU  UACG GGU UCA AA  UCC CG U CUCCGCA C   
+DX3720    GCAG CA AG G GUGGU           CUCAAC C UGGGU UCAUUCCCCA GCU                         A   AUAA AGU UCG AU  UCU UU G UAGCGGC U   
+DX3800    GCUG CU UG A AUGGU           UUCAGU G UGGGC UCAUUUCCCA UUA                         CU  AUAA AGU UCG AU  UCU UU A AAGCGGC C   
+DX3840    GCCG CU UG G AUGGU           UCCGGU G UGGGC UCAUUUCCCA UAA                         CU  AUAA AGU UCG AU  UCU UU A AAGUGGC U   
+DX3880    AGCG GG UU G AUGUAAU   AGU   AACAUA U AUGGC UCAUGCCCAU AAU                         A   UUUA GGU GCA AC  UCC UA A AUCCGCU A   
+DX4000    UGCA AU AU G AUGUAAUU  GGUU  AACAUU U UAGGG UCAUGACCUA AUU                         A   UAUA CGU UCA AA  UCG UA U UAUUGCU A   
+DX4080    UGUA AU AU G AUGUAAUU  GGUU  AACAUA U UAGGU UCAUGACCUA AUU                         A   UAUA CGU UCA AA  UCG UA U UAUUGCU A   
+DX4280    AGCG GG GU A GAGUAAUU  GGUC  AACUCA U CAGGC UCAUGACCUG AAG                         AU  UGCA GGU UCG AA  UCC UG U CCCCGCC U   
+DX4320    AGCG GG GU A GAGUAGUU  GGUU  AACUCG U CAGGC UCAUGACCUG AAG                         AU  UGCA GGU UCG AA  UCC UG C CCCCGCC A   
+DX4360    AGCG GG GU A GAGGAUUU  GGUA  AACUCA U CAGGC UCAUGACCUG AAG                         AC  AGCA GGU UCG AA  UCC UG U CCCCGCC U   
+DX4440    AGCG GG GU A GAGGAAUU  GGUC  AACUCA U CAGGC UCAUGACCUG AAG                         AC  UGCA GGU UCG AA  UCC UG U CCCCGCC U   
+DX4480    AGCG GG GU A GAGGAAUU  GGUC  GACUCA U CAGGC UCAUGACCUG AAG                         AC  UGCA GGU UCG AA  UCC UG U CCCCGCC U   
+DX4880    AAAA AG AU A AGCUAA    UU    AAGCUA C UGGGU UCAUACCCCA UUU                         A   UAAA GGU UAU AA  UCC UU U UCUUUUU A   
+DX4960    AAAA AG AU A AGCUAA    CU    AAGCUA C UGGGU UCAUACCCCA UUU                         A   UAAA GGU UUU AA  UCC UU U UCUUUUU A   
+DX4980     GUA AA GU A AGCUAAAU  GUU   AAGCUU U UGGGU UCAUACCUCA AGA                         A   UAGAAGGA UAA AA  ACC UC U CUUUAUC     
+DX5020    GGUA AA GU A AGCUAAAU  GUU   AAGCUU U UGGGU UCAUACCUCA AAA                         A   UAGAAGGA UAA AA  ACC UC U CUUUAUC     
+DX5040    AGCA GA GU A AGCUAAGU  GCU   AAGCUU U UGGGC UCAUACCCCA AGA                         A   UGGAAGGA UAG AA  ACC UC C CUCUGCU U   
+DX5080    AGUA GA GU A AGCUAAGU  GCU   AAGCUU U UGGGC UCAUACCCCA GGA                         A   UGAA GGA UAA AA  ACC UC C CUCUACU U   
+DX5120    AGUA AA GU C AGCUAA    AA    AAGCUU U UGGGC CCAUACCCCA AAC                         A   UGUU GGU UAA AC  CCC UU C CUUUACU A   
+DX5160    AGUA AG GU A AGCUAA    AU    AAGCUU U UGGGC CCAUACCCCA ACA                         A   UGUU G U UAA AA  UCC UU C CUUUACU A   
+DX5280    AGUA AG GU C AGCUAA    CU    AAGCUA U CGGGC CCAUACCCCG AAA                         A   UGUU GGU CUA AA  CCC UU C CCGUAUG A   
+DX5281    AGUA AG GU C AGCUAA    CU    AAGCUA U CGGGC CCAUACCCCG AAA                         A   UGUU GGU UAA AC   CC UU C CCGUACU A   
+DX5320    AGUA AG GU C AGCUAA    UU    AAGCUA U CGGGC CCAUACCCCG AAA                         A   CGUU GGU UUA AA  UCC UU C CCGUACU A   
+DX5360    AGUA AG GU C AGCUAA    UU    AAGCUA U CGGGC CCAUACCCCG AAA                         A   UGUU GGU UUA UA  UCC UU C CCGUACU A   
+DX5880    AGUA AG GU C AGCUAA    AU    AAGCUA U CGGGC CCAUACCCCG AAA                         A   UGUU GGU UAU AC   CC UU C CCGUACU A   
+DX6280    GGCG CC GU G GCGCAGU   GGA   AGCGCG C AGGGC UCAUAACCCU GAU                         GU  CCUC GGA UGG AA  ACC GA G CGGCGCU A   
+DX6281    AGCG CC GU G GCGCAGU   GGA   AGCGCG C AGGGC UCAUAACCCU GAU                         GU  CCUC GGA UCG AA  ACC GA G CGGCGCU A   
+DX6320    UGCG CG GU A GGAGAGU   GGA   ACUCCG A CGGGC UCAUAACCCG UAG                         GU  CCCA GGA UCG AA  ACC UG G CCGCGCA A   
+DX6321    UGCG CG GU A GGAGAGU   GGA   ACUCCG A CGGGC UCAUAACCCG UAG                         GU  CCCA GGA UCG AA  ACC UG G CCGCGCA A   
+DX6740    AUCA GA GU G GCGCAGC   GGAA   GCGUG G UGGGC CCAUAACCCA CAG                         GU  CCCA GGA UCG AA  ACC UG G CUCUGAU A   
+DX6900    AUCA GA GU G GCGCAGC   GGA   AGCGUG G UGGGC CCAUAACCCA CAG                         GU  CCCA GGA UCG AA  ACC UG G CUCUGAU A   
+DX7560    AGCA GC GU G GCGCAGU   GGA   AGCGUG C UGGGC CCAUAACCCA GAG                         GU  CGGU GGA UCG AA  ACC AC U CGCUGCU ACCA
+DX7740    AGCA GA GU G GCGCAGU   GGA   AGCGUG C UGGGC CCAUAACCCA GAG                         GU  CCGA GGA UCG AA  ACC UU G CUCUGCU A   
+DX7920    AGCA GA GU G GCGCAGC   GGA   AGCGUG C UGGGC CCAUAACCCA GAG                         GU  CGAU GGA UCG AA  ACC AU U CUCUGCU A   
+DX7921    AGCA GA GU G GCGCAGC   GGA   AGCGUG C UGGGC CCAUAACCCA GAG                         GU  CGAU GGA UCG AA  ACC AU C CUCUGCU A   
+DX8100    AGCA GA GU G GCGCAGC   GGA   AGCGUG C UGGGC CCAUAACCCA GAG                         GU  CGAU GGA UCG AA  ACC AU C CUCUGCU A   
+DX9990    AGCA GA GU G GCGCAGC   GGA   AGCGUG C UGGGC CCAUAACCCA GAG                         GU  CGAU GGA UCG AA  ACC AU C CUCUGCU A   
+DX9991    AGCA GA GU G GCGCAGC   GGA   AGCGUG C UGGGC CCAUAACCCA GAG                         GU  CGAU GGA UCU AA  ACC AU C CUCUGCU A   
+DY0660    CCCG CG AU A GUUCAGAU UGGU   AGAACG G CGGAC UGUAGAUCCG CAU                         GU  CGCU GGU UCA AA  UCC GG C UCGCGGG A   
+DY0740    CCCG CG AU A GUUCAGAC UGGU   AGAACG G CGGAC UGUAGAUCCG CAU                         GU  CGCU GGU UCA AA  UCC GG C UCGCGGG A   
+DY1140    GGAG GG GU A GCGAAGU   GGCUA AACGCG G GUGGC UGUAACCCAC UU  CC      UUA   C       GGUU  CGGG GGU UCG AA  UCC CU C CCCCUCC ACCA
+DY1200    GGAC AG GU A GCGAAGU   GGCUA AACGCU U CUGAC UGUAGAUCAG AC  ACC     UUC   AU     GGUUU  CGGG AGU UCG AA  UCU CU C CCUGUCC ACCA
+DY1540    GGAG GG GU A GCGAAGU   GGCUA AACGCG G CGGAC UGUAAAUCCG CU  CCC     UCA          GGGUU  CGGC AGU UCG AA  UCU GC C CCCCUCC ACCA
+DY1580    GGGC AG GU G CCCGAGC   GGCCA AAGGGG A CGGUC UGUAAAACCG UU  GGC     GUA   U      GCCUU  CGCU GGU UCG AA  UCC AG C CCUGCCC ACCA
+DY1660    GGUG GG GU U CCCGAGC   GGCCA AAGGGA G CAGAC UGUAAAUCUG CC  GUC     ACA          GACUU  CGAA GGU UCG AA  UCC UU C CCCCACC ACCA
+DY1661    GGUG GG GU U CCCGAGC   GGCCA AAGGGA G CAGAC UCUAAAUCUG CC  GUC     AUC          GACUU  CGAA GGU UCG AA  UCC UU C CCCCACC ACCA
+DY1820    GGAG GG AU C CCUUAGU   GGCC  AAAGGA U CAGAC UGUAAAUCUG AC  GUC     AUA          GACUU  CGAA GGU UCG AA  UCC UU C UCCCUCC ACCA
+DY2520    GAGU UG UU G CCCGAGU   GGUUA AUGGGG G CGGAU UGUAAAUCCG CA  GUU     C            AUCUUU CGCU GGU UCG AA  UCC AG C ACGACUC A   
+DY2600    GGGU CG AU G CUCGAGU   GGUUA AUGGGG A CGGAC UGUAAAUCCG CU  GGC     AAU          GCCUA  CGCU GGU UCA AA  UCC AG C UCGACCC A   
+DY2680    GGGU CG AU G CCCGAGU   GGUUA AUGGGG A CGGAC UGUAAAUUCG UU  GAC     AAU          GUCUA  CGCU GGU UCA AA  UCC AG C UCGGCCC A   
+DY2700    GGGU CG AU G CCCGAGC   GGUUA AUGGGG A CGGAC UGUAAAUUCG UU  GAC A   AUA        U GUCUA  CGCU GGU UCA AA  UCC AG C UCGGCCC A   
+DY2920    GGGU CG AU G CCCGAGC   GGUUA AUGGGG A CGGAC UGUAAAUUCG UU  GGC A   AUA        U GUCUA  CGCU GGU UCA AA  UCC AG C UCGGCCC A   
+DY3200    GGGU CG AU G CCCGAGC   GGUUA AUGGGG A CGGAC UGUAAAUUCG UU  GGC A   AUA        U GUCUA  CGCU GGU UCA AA  UCC AG C UCGGCCC A   
+DY3280    GGGU CG AU G CCCGAGC   GGUUA AUGGGG A CGGAC UGUAAAUUCG UU  GGC A   AUA        U GUCUA  CGCU GGU UCA AA  UCC AG C UCGGCCC A   
+DY3360    GGGU CG AU G CCCGAGC   GGUUA AUGGGG A CGGAC UGUAAAUUCG UU  GGC A   AUA        U GUCUA  CGCU GGU UCA AA  UCC AG C UCGGCCC A   
+DY3720    GAAG UA AU G GCUGAGU   GGUU  AAAGCG G CAGAC UGUAAAUCUG UU  GGU     AGU          ACCGU  CGUU GGU UCG AA  UCC AA C UUACUUC A   
+DY3760    GAAG UA AU G GCUGAGU   GGUU  AAAGCG G CAGAC UGUAAAUCUG UU  GGU     AGU          ACCGU  CGUU GGU UCG AA  UCC AA C UUACUUC A   
+DY3770    GAAG UA AU G GCUGAGU   GGUU  AAAGCG G CAGAC UGUAAAUCUG UU  GGU     AGU          ACCGU  CGUU GGU UCG AA  UCC AA C UUACUUC A   
+DY3840    GAGG UG GU G GCUGAAU   GGUU  AAAGCG G UAGAC UGUAAAUCUA UU  GGG     AU           UCCGU  CGCC GGU UCG AU  UCC GG U CCACCUC A   
+DY3880    AGGA AG GG U CCGUAUGU UGGUU  UACGGG U UGAGC UGUAAACUCA AU  GGC U   AUG   A    G GCCGU  CGAA GGU UCG AU  UCC UU U UCUUCCU A   
+DY4000    GGAG GG AU U UUCAAUGU UGGUAG UUGGAG U UGAGC UGUAAACUCA AU  GAC U   UA         G GUCUU  CAUA GGU UCA AU  UCC UA U UCCCUUC A   
+DY4001    GGAG GG AU U UUCAAUGU UGGUAG UUGGAG U UGAGC UGUAAACUCA AU  GAC U   UA         G GUCUU  CAUA GGU UCA AU  UCC UA U UCCCUUU A   
+DY4080    GGAG GG AU U UCCAAUGU UGGUAA UUGGAG U UGAGC UGUAAACUCA AU  GAU     UAU   AU     AUCUU  CAUA GGU UCA AU  UCC UA U UCCCUUC A   
+DY4240    AAGU GG UU ACGCUCAGCU GGGUU  AGAGCA A AGGAC UGUAAAUCCU UGU                         GU  CAGU GGU UCG AA  UCC AC A ACCACUU C   
+DY4360    GGGA GA GU G GCUGAGU   GGUCA AAAGCG A CAGAC UGUAAAUCUG UU  GAA     GUU   U      UUCUA  CGUA GGU UCG AA  UCC UG C CUCUCCC A   
+DY4400    GGGA GA GU G GCCGAGU   GGUCA AAAGCG A CAGAC UGUAAAUCUG UU  GAA     GUU   U      UUCUA  CGUA GGU UCG AA  UCC UG C CUCUCCC A   
+DY4440    GGGA GA GU G GCCGAGC   GGUCA AAAGCG A CAGAC UGUAAAUCUG UU  GAA     GGU   U      UUCUA  CGUA GGU UCG AA  UCC UG C CUCUCCC A   
+DY4480    GGGA GA GU G GCCGAGC   GGUCA AAAGCG A CAGAC UGUAAAUCUG UU  GAA     GGU   U      UUCUA  CGUA GGU UCG AA  UCC UG C CUCUCCC A   
+DY4500    GGGA GA GU G GCCGAGU   GGUUA AAAGCG A CAGAC UGUAAAUCUG CU  GAA     GGU   U      UUCUA  CGUA GGU UCG AA  UCC UG C CUCUCCC A   
+DY4700    CAUA GG AU G GCCGAGG   AA    UAGGUG G UGAGC UGUAAACUCA UAA                         A   CAAG GC  GUA A    GC CU U UCUUAUG A   
+DY4840    GAUU AA GU G GCUGAA    GUU   UAGGCG A UAGAU UGUAAAUCUA UAU                         A   UAAG A   UUU AU    U CU U CUUAAUC A   
+DY4880    GAUU AA GU G GCUGAA    GUU   UAGGCG A UAGAU UGUAAAUCUA UUU                         A   UAAG A   AUU AU    U CU U CUUAAUC A   
+DY4980    GGCA AG GU G GCAGAU    GGUUU AAUGCG C UAAAU UGUAAAUUUA UUU                         A   UAAA GGU UUA AG  UCC UU U CUUUGUC A   
+DY5000    GAUU GG GU G GCAGAUA   GG    GAUGCA C UAGAU UGUAAAUCUA GGU                         A   GGAA GGU UCA AG  UCC UU U CCUGGUC A   
+DY5020    GGCA GG GU G GCAGAAA   GUC   AAUGCG C UAAAU UGUAAAUUUA UAA                         A   AAAA GGU UUA AU  UCC UU U CUUUGCC A   
+DY5040    AAUA AG AU G GCUGAGA   GAA   CAAGCG G UGGAU UGUAAAUCCA UAC                         A   CAAA GGU UAA AU  CCC UU U UCUUAUU A   
+DY5080    AGUA AG GU G GCUGAG    GGAA  UAAGCG G UGGAU UGUAAAUCCA UAU                         A   CAAG GGU UAG AC  UCC UU U UCUUACU A   
+DY5100    GGUA GG AU G GCUGAG          UAAGCG G UGGAU UGUAACCCCA CAU                         A   CAGA GGU UUG AG  CCC UC U UCUUGCC A   
+DY5120    GGUA AG GU G GCCGAGU   AA    UAGGCG G CGGAU UGUAGCUCCG UGU                         A   CAGA GGU UCA AG  UCC UC U UCUUAUC A   
+DY5160    GGUA AA GU G GCCGAG          CAGGCG G CGAAU UGUAGCUUCG AAG                         A   CAGA GGU UUG AG  UCC CC U CUUUACC A   
+DY5220    GGUA AG AU G GCUGAGU   GU  U GAAGCG U UAGGC UGUAGUCCUU UUU                         A   CAGA GGU UCA AU  UCC UC U UCUUAUC G   
+DY5280    GGUA AA AU G GCUGAG          UAAGCA U UAGAC UGUAAAUCUA AAG                         A   CAGG GGU UGA GC   CC CC U UUUUACC A   
+DY5320    GGUA AA AU G GCUGAG          UAAGCA U UAGAC UGUAAAUCUA AAC                         A   CAGA GGU UUA AA  UCC UC U UUUUACC A   
+DY5360    GGUA AA AU G GCUGAGC         AAAGCA U UAGAC UGUAAAUCUA AAG                         A   UAGA GGU UUG AC  UCC UC U UUUUACC A   
+DY5880    GGUA AA AU G GCUGAGU         GAAGCA U UGGAC UGUAAAUCUA AAG                         A   CAGG GG  UUA GG   CC UC U UUUUACC A   
+DY6050    CCUU CU GU A GCUCAAUU  GGU   AGAGCA U GUGAC UGUAGAGUAU GC  GGG UAUCACA   GGGU          CGCU GGU UCG AU  UCC GG C CGGAAGG     
+DY6160    CCGG CU UU G GCGCAAU   GGU   AGCGCG A UUGAC UGUAGAUCAA UCG                         GU  UGCU AGU UCG AA  UCU GG C AAGCCGG A   
+DY6280    CUCU CG GU A GCCAAGUU  GGUUU AAGGCG C AAGAC UGUAAAUCUU GAG                         AU  CGGG CGU UCG AC  UCG CC C CCGGGAG A   
+DY6740    CCGA CC UU A GCUCAGUU  GGU   AGAGCG G AGGAC UGUAGAUCCU UAG                         GU  CACU GGU UCG AA  UCC GG U AGGUCGG A   
+DY6741    CCGA CC UU A GCUCAGUU  GGU   AGAGCG G AGGAC UGUAGAUCCU UAG                         GU  CAUU GGU UCG AA  UCC GC U AGGUCGG A   
+DY6742    CCGA CC UU A GCUCUGUU  GGU   AUAGCG G AGGAC UGUAGAUCCU UAG                         GU  CACU GGU UCG AA  UUC GG U AGGUCGG A   
+DY6743    CCGA CC UU A GCUCAGUU  GGU   AGAGCG G AGGAC UGUAGAUCCU UAG                         GU  CACU GGU UCG AA  UCU GG U AGGUUUG A   
+DY7060    CCGA CC UU A GCUCAGUU  GGU   AGAGCG G AGGAC UGUAGAUCCU UAG                         GU  CACU GGU UCG AA  UCC GG U AGGUCGG A   
+DY7200    CCGA CC UU A GCUCAGUU  GGU   AGAGCG G AGGAC UGUAGAUCCU UAG                         GU  CACU GGU UCG AA  UCC GG U AGGUCGG A   
+DY7740    CCUU CG AU A GCUCAGUU  GGU   AGAGCG G UGGAC UGUAGAUCCA UAG                         GU  CGCU GGU UCA AA  UCC GG C UCGAAGG A   
+DY7920    CCUU CG AU A GCUCAGCU  GGU   AGAGCG G AGGAC UGUAAAUCCU UAG                         GU  CGCU GGU UCG AU  UCC GG C UCGAAGG A   
+DY7921    CCUU CG AU A GCUCAGCU  GGU   AGAGCG G AGGAC UGUAGAUCCU UAG                         GU  CGCU GGU UCA AU  UCC GG C UCGAAGG A   
+DY7922    CCUU CG AU A GCUCAGCU  GGU   AGAGCG G AGGAC UGUAGAUCCU UAG                         GU  CGCU GGU UCG AU  UCC GG C UCGAAGG A   
+DY9990    CCUU CG AU A GCUCAGCU  GGU   AGAGCG G AGGAC UGUAGAUCCU UAG                         GU  CGCU GGU UCA AU  UCC GG C UCGAAGG A   
+DY9991    CCUU CG AU A GCUCAGCU  GGU   AGAGCG G AGGAC UGUAGAUCCU UAG                         GU  CGCU GGU UCG AU  UCC GG C UCGAAGG A   
+DZ1662   GGAAG AU CG U CGUCUCC   GGUG  AGGCGG C UGGAC UUCAAAUCCA GU  UGG GGCCGCCA  GCGGUC CCG    GGCA GGU UCG AC  UCC UG U GAUCUUCCGCCA
+DZ7560    GCCC GG AUGAACCAUGGC   GGUC  UGUGGU G CAGAC UUCAAAUCUG UA  GGC G   GUU   AG   C GCCG   CAGU GGU UCG AC  UCC ACCU UUCGGGU G   
+DZ7742    GCCC CA CUGAACUUCGGU   GGUC  CGGGGU G CGGAC UUCAAAUCCG UA  GUC G   AUU   UG   C GUCG   AAGU GGU UCG AU  UCC ACCU GGGGGGC G   
+DZ7920    GCCC GG AUGACCCUCAGU   GGUC  UGGGGU G CAGGC UUCAAACCUG UA  GCU GU  CUA       GC GACA   GAGU GGU UCA AU  UCC ACCU UUCGGGC G   
+DZ8040    GCCC GG AUGACCCUCAGU   GGUC  UGGGGU G CAGGC UUCAAACCUG UA  GCU GU  CUA       GC GACA   GAGU GGU UCA AU  UCC ACCU UUCGGGC G   
+DZ9281    GCCC GG AUGAUCCUCAGU   GGUC  UGGGGU G CAGGC UUCAAACCUG UA  GCU GU  CUA       GC GACA   GAGU GGU UCA AU  UCC ACCU UUCGGGC G   
diff --git a/Cove/Demos/yeast-phe.fa b/Cove/Demos/yeast-phe.fa
new file mode 100644
index 0000000..52b1d84
--- /dev/null
+++ b/Cove/Demos/yeast-phe.fa
@@ -0,0 +1,2 @@
+> DF6280
+GCGGAUUUAGCUCAGUUGGGAGAGCGCCAGACUGAAGAUCUGGAGGUCCUGUGUUCGAUCCACAGAAUUCGCACCA
diff --git a/Cove/Guide.tex b/Cove/Guide.tex
new file mode 100644
index 0000000..abeb819
--- /dev/null
+++ b/Cove/Guide.tex
@@ -0,0 +1,206 @@
+\documentstyle[11pt]{article}
+
+\title{User's Guide for COVE -- covariance models of RNA sequence
+families }
+\author{Sean Eddy\\MRC Laboratory of Molecular Biology\\Cambridge UK\\sre at mrc-lmb.cam.ac.uk}
+\date {2 September 1993}
+
+\begin {document}
+
+\maketitle
+
+\section {Overview}
+
+Covariance models (CM's) are adaptive statistical models of the the
+secondary structure and primary sequence consensus of an RNA family.
+
+CM's are {\em adaptive} because a new model is ``learned'' from a set
+of example ``training'' sequences.  CM's are {\em statistical} because
+they embody a probabilistic description of the consensus; mismatches,
+insertions, and deletions are permitted, and the penalties paid are
+learned from the training sequences that the model was constructed
+from.
+
+This is a preliminary document which only partially explains what's
+available in these programs. Much of the package is still actively
+evolving. However, between this document and the demonstration
+examples that are provided with the software, you should be able to
+learn enough about how the software works to start experimenting with
+it on your own.
+
+Using these programs, you can:
+\begin{itemize}
+\item generate new models, by training them on example sequences ({\tt
+      covet}) 
+\item produce multiple sequence alignments ({\tt covea})
+\item search DNA sequence databases for similar RNAs ({\tt covels})
+\item produce a consensus structure prediction for the whole family
+      ({\tt covee})
+\item produce individual structure predictions for sequences ({\tt coves -s})
+\end{itemize}
+
+However, there are two important limitations to keep in mind.  First,
+the basic structure of CM's is incapable of representing or predicting
+pseudoknots.  Second, these programs are slow and they are memory
+hogs; for a training set of RNA sequences of length 50-70, expect the
+alignment algorithm to chew up several megabytes of RAM, and to take a
+few seconds per sequence. The time requirement is most noticeable
+during training -- if you've got a set of 50 unaligned training
+sequences and it takes 30 iterations to converge on a new model, 30
+iterations x 50 sequences x 2 sec = about an hour. Memory and time
+requirements scale as approximately the cube of the individual
+sequence lengths; if you want to deal with 100 to 150-mers, you'll
+take an 8-fold hit in memory and time. Therefore, I don't recommend
+using these programs for RNAs longer than about 150 nucleotides
+(unless you've got a Cray at your desk). Stay tuned, I'm working hard
+on both limitations.
+
+\section {Tutorial}
+
+This section introduces the basic usage of the {\tt cove} package
+of programs by using examples. It should be sufficient to get you
+started using {\tt cove}. 
+
+First, a general note about all the programs. If you type the name of
+a program with no arguments, it will print out a short information
+page on the command line arguments it requires and the available
+options. This is nice, if you forget the order that arguments come in
+or if you can't remember the switch for a particular option.
+
+Let's assume you have a set of short RNA sequences that you think
+share a common structural consensus. They are all in one file, which
+we will call {\tt seqs.fa}, for instance: the {\tt .fa} is an abbreviation
+I use to indicate a FASTA-formatted sequence file. The format looks like
+this:
+
+\begin{quotation}
+{\tt > seq1 } \\
+{\tt ACGUAGCUGACUAUG } \\
+{\tt > seq2 } \\
+{\tt ACGUAGCUGCAUGUACGCAGU } \\
+}
+\end{quotation}
+
+In practice, the {\tt cove} programs will read a number of different
+common sequence formats. These include EMBL, GenBank, Intelligenetics,
+FASTA, and GCG formats for unaligned sequences. Alignments are
+accepted as GCG MSF format or my SELEX format (see the Demos directory
+for example SELEX-formatted alignments). Alignment formats can also be
+read where unaligned formats are expected. The package will
+automatically figure out what format your sequences are in.  (This
+capability is mostly thanks to Don Gilbert's {\tt Readseq} package,
+which I have borrowed and extended.)
+
+\begin{quotation}
+{\tt
+(logi)[8:57am]>> covet mymodel.cm seqs.fa\\
+(logi)[8:57am]>> covet -a seqs.msf mymodel.cm seqs.fa 
+}
+\end{quotation}
+
+This command (``{\tt cove t}raining'') will run the training
+algorithm, using the sequences in {\tt seqs.fa} as examples, and when
+it's done it will save the model in {\tt mymodel.cm}. The first
+command starts from a random alignment of the training sequences. The
+second command uses the alignment in {\tt seqs.msf} as its starting
+point; this is useful if you already have some idea of what the
+alignment should be.
+
+For a real problem this may take an hour or more! At each iteration,
+information is printed about the current average score of the model.
+This number is a log-odds score, in bits (log 2); the larger it is the
+better, and positive numbers mean the model matches the sequences
+better than a simple random-sequence model. 
+
+All subsequent commands use the trained model {\tt mymodel.cm}. The
+model is saved in a binary format; if you try to examine the {\tt
+mymodel.cm}, it will look like gibberish.
+
+\begin{quotation}
+{\tt
+(logi)[9:06am]>> covea mymodel.cm seqs.fa
+}
+\end{quotation}
+
+This command (``{\tt cove a}lignment'') will produce a multiple
+sequence alignment of the sequences in {\tt seqs.fa}, and print the
+alignment out.
+
+\begin{quotation}
+{\tt
+(logi)[9:07am]>> coves mymodel.cm seqs.fa
+(logi)[9:07am]>> coves -s mymodel.cm seqs.fa
+(logi)[9:07am]>> coves -m mymodel.cm seqs.fa
+}
+\end{quotation}
+
+This command (``{\tt cove s}core) computes the score of
+each whole sequence individually, and prints the scores.  You might
+use it to detect sequences which, according to the model, don't belong
+to the same structural consensus; sequences which don't fit the model
+get negative scores.
+
+There are two important options available for coves. The {\tt -s}
+option prints out not just the score, but also a terse representation
+of a structure prediction. $>$ and $<$ characters are used to
+represent paired positions. The {\tt -m} option prints out a more
+verbose ``mountain'' representation of the predicted structure.
+Both of these representations are described by Danielle Konings in
+J. Mol. Biol. 207:597-614, 1989.
+
+Note that covariance models routinely overpredict structure, because
+a) they don't look for Watson-Crick complementarity and b) it is often
+statistically advantageous for the model to pair as many positions as
+possible. Sometimes, these additional pairs are real tertiary
+contacts, but often they are just noise. The predicted secondary
+structure is a subset of the total predicted pairs. We don't yet
+provide a routine for using stacking and Watson-Crick complementarity
+criteria to do this separation automatically.
+
+\begin{quotation}
+{\tt
+(logi)[9:07am]>> covels -w 50 mymodel.cm /genbank/gbrna.seq
+}
+\end{quotation}
+
+This command (``{\tt cove l}ocal {\tt s}core'') would search a database
+(here, a hypothetical GenBank structural RNA database) and print
+scores and locations of all hits with positive scores (i.e.\ , good
+matches to the model). The difference between {\tt coves} and {\tt
+covels} is that {\tt covels} is a {\em local search} program instead
+of global alignment; it will find optimal matches to subsequences
+in a long sequence.  The {\tt -w 50} parameter sets the maximum length
+of match you expect to find (here, 50 bases). (The 'w' comes from
+``window''; it sets the size of the search scanning window.)  This
+parameter affects the running time and the memory consumption of {\tt
+covels} significantly, so you want to set it as small as you can get
+away with.
+
+Expect scanning rates to vary between 10-100 nucleotides/second. In
+other words, if you really do search GenBank\ldots{} be prepared to
+wait days or weeks (or years). A search for iron response elements, a
+28-base motif, in 140,000,000 bases of the EMBL 35 database took me 4
+days using ten processors of an Alliant FX/2800 mini supercomputer.
+Sigh. This is the major limitation of the software, and I'm working
+hard to get around it.
+
+\begin{quotation}
+{\tt
+(logi)[3:14pm]>> covee -b -l mymodel.cm
+}
+\end{quotation}
+
+This command (``{\tt cove e}mit'') emits a consensus structure
+prediction for the family. The {\tt -b} option means ``best'', emit
+only a consensus prediction; otherwise, it emits a number of sequences
+probabilistically from the model. The {\tt -l} option means a
+``mountain landscape'', making the consensus prediction get printed as
+described by Danielle Konings (J.  Mol.  Biol. 207:597-614, 1989);
+otherwise, only primary sequences are printed with another line of
+output schematically indicating base pairs.
+
+Again, the program's definition of a base-pair is more general than
+Watson-Crick pairing; a dumb heuristic is used by the landscape
+program to assign pairs to Watson-Crick or not.
+
+\end{document}
diff --git a/Demo/C28G1.fa b/Demo/C28G1.fa
new file mode 100644
index 0000000..a851bd7
--- /dev/null
+++ b/Demo/C28G1.fa
@@ -0,0 +1,549 @@
+>C28G1  950922/C28G1.seq
+GATCTTAGCTTCCGTTTGACCTAAAAAACTTTCAGATTGAGGCGTGCTGG
+TGGAAGATATTCCCTAGTAAGCTACTTTTTGAGCGGATAATCATGATTGT
+CATTTCTGGTTTCCTATAGCTGTGACACGGGACATTTGACAATTTTTGAG
+AATTATTATAGGATTCTCATTACAAAATTTTCGGTAGGTTCCAACTCGTT
+TTCAATAGTTAGTTGTCCTTTAAATCACATACAAGTGTCTCATTCATGTT
+GTCAAGACTTTATTTGGATGAAAATCATAAACTGGCTGTCAAATGAATAA
+CTTATAAGAATTTAAAACAATGTTCATTTAGTAAAAAAAAAACAGTAAAG
+TTGGAAAATATCATTAATTAATTTTAGATGAATGGTTATTGAATCATATA
+AGTAGAATATCCGTTATATTTTATTTTCCAAAATTGAAAGACGCAAGGTT
+GATTGTTATGTCATCCATTTTGGTTGGTTGAGCTGAAAATCCTAAATTGT
+TATGGTTTCAGAAATTTGATGAGGTACCCGGTAGAAGTTTCCTATTTAGC
+TATTTGACACATTGCGCAATACCGTATTTTCTCTATTAATGCTGCACCCC
+AATAGTCCTTTCGAAAATTAGTGCTGCAGTTTCTATTAATGCGGCACCCA
+TTTTCCATTAAATGAGTCACCTCAATAGCTTCGACATTTGGGGGAGTGTT
+TTTGTTCATTTTTGATTATTTTTGATGGTTATTGTTAATTTACAAACATC
+ATGAAATCATTATGTCTTTATGTTACAAAAATATTCACTCCTTATGAATT
+TCTGCTTAAAAGATGAGCTTTTGTGACTAAAAGCTAGTTCGAAAATTTGC
+ACTGCCGTCTCTAATAGTGCTGCGTTCAAAAAGGGACTGAAAATAAGTGC
+TGTAGCACTAATAGAACACTAATAGAAAATATATGGCAAGAAAATATAAA
+CTCACGTGCGTTAACAACATTTGATTGCGTTGCAATTTTTGCCATTTCCA
+CAAGTTCCATGATTTGAGATTCTTTGCTGAGCAGCCCGGCTTGGTTGATA
+TTGTGAAATTCTTTCATATCAGTGAGCTTTTGTTTGAAACGTTGATGTCC
+TACGGATAGAATTTCCATTTTCTTTTTGTTGTCGTCAAGGCAGCAATCTG
+CTGCATCTTTCAATTCCACAAGAGTTTCCTTCTCCCGCTGTGCTACCATT
+TCTTTAATTTTCTTGAAGTGTTCTTCAATCTGAAAATTTGAAAATAGAAA
+ACATAGTTTGTCAAATTGAAATACCGATTTAACTTTTGCCTTGTACGTAG
+CTCCACTAGATTCAAAAGAACGTTGAGCACTGAAAAAACTTTATAAAGAT
+TATAAATTCTAAATTGCAACAAACTTTTTGTACTGTTCAATGCAAGATTG
+AATTGAGTCACAGAAGTTTTCAAGTTTAGTTTCTGAATTGTTCAGGACCG
+TTCTCATTTTAGCTGCTTCCTCTTGCAACAAGCCTCTGGTATGCCCCTTG
+TGGTTTCCGAATTCTTCACAGGTGCGGCACATTAGTTTACATTGAGATTT
+GCAGCCGCTCGTCTGAAAATGTGAATTTCTACTAGATAATGACGGCGTCG
+ATTTTTGATTAAAAAATATTATGTTTCTAATTTGCCAAACTGTGCCCATT
+TTTCATAAAACTCATTCGGAAAAGCCAATAAAATACTTACGACGCAAACG
+AACTCGGCCAGGTTGTGTGGATGGTTTTTGCACATCGGAGGGGAGTTCGA
+ATTGACAACCTAACCAAAACTACTATTTAGCAAACCTTCTGTTATGCAGC
+TTACCACAACGTCCTTCTTATTCAAACTATACCTGGCATCCTCAATAACC
+TCAATCAGGGCAAAGTTTTTGAGCAGCTTTGTAATGTCGTTATTTACAAT
+GTTTGTTACTGTTCGACAAAATGGACATTCTACAGTACTGTTATTCACCA
+TCGCTGTGATACATTTGTGACACAGAGCATGTCCACAAGCTAAAATATTG
+AATTACAATTTGCGTATAATTATTTACACGACTTACTCAGATTTCTTGGA
+ATATGTTCGCTGTCGGTATCGGAAAAGCGGTCGAAGCAAATCTTACATTT
+TGGGAACGACATTATATTCAAATTGAGCGATTATAACCTGAAAGGAAAAA
+TTGAGTCAACCATTTGCAGAAGTTTTAAGACGCTTTTTCTGACTCTTAGA
+TAAGATAGCACAGTTGACTATTGAATAAAACGAATCATCAAAAAACTAAA
+AAAGGCTTACGAAATTTTATTTCAAAACGATGTTTGTTTGTTGAAGGAAA
+TGCACAGGAAGGAAAAAAACACAATAAGGATCACTAGTTTCCAATCGAAA
+GGTAAAAAGCGCTAGGAAAATTTTAACACTTTTTTAATTTCAGATTTAAA
+ATGTAAAAAGCTTAAGTTTTTGACAAATTCTAATTTGAATTATTACGTTT
+TTGTCAAAGCTTTTTACTACCAGTGCGCAGTTCTTTCCATTTCTGCACCT
+TTTTTTTAACATGTTTTCTCTTGTTGCGAAAATGAAAAACTTACGATGTT
+CAAGTTGACACAAAAAATTTTTTAATGTTGCATTTTGGAATTCGGTCAAA
+ACACCAAATGCGTATTTTCAGGAAATTTTCCTATTTAAAATAAAGCTAAA
+ACTAATAGTGAGTATCAAGCAAGAGATGATTCATTCATTTTAGAAAAAGC
+TAAATTTGCTTTGTTTTCAACTTTTTTCAAATTTTCTTGTCGAATAACTT
+TGTAAAATGGAAAAAAATATGTTGAAAATCGATTTGCGTTGATATGAATA
+CTACCAATAAAAAAAGACAACAAACAGAGAAAAGAGAAGAATAGATACTG
+CGTGAAAAACTACACATGTTAGAACAAGTGTGTGAAAAAAGGTAAGCCAA
+AATGAGAGTAAAAATATCAGAGTATGTGTTTGAATTCAGTACTGAATTAT
+ATCATAGTGTCGAGTGGTAAACTTGCTGTGCAAACACTTATTGATAAAAC
+ATTAAAAAGTGACTAACGGGCAAAAATTTGTTCAATATCATTTTCACAAT
+ACAGTATACATCAAAACGTGGTACAGATTTTATTTCAGAAAATAAACAAG
+TTACGGAAAGACCATTTATTCTAGTGTTCAAATATATCTGAAAGTGGTAC
+ATTGAAACGTTCTGCATTTTACTCAATTCACATTATAAAAATCAGAAAAG
+TGTGTCACAGTCGTTATTTGTAACTATTCAGGAATTGCTGATTCCACTGG
+AGATCATATCCAAAATAGTAATAAAAAACCAAATACATTTAACAAAAGTT
+TTAACAAACAAAAAATATTTGAAGAAAATGAACAATACTTTTTGTATGAA
+TGAAAGCCAATAGTAAGACCAAAAATAGATAAGAAATGCGAGACGCAGAT
+AACTTTTTTTTTCGCAACACTCTGCCCCATATTTTAAACTTAGCAAGGAT
+TGTAACTTTTCAAAGATCACGTATTTTAAGAGTAGCAGGTTTACAACTTT
+TGCTCAGACAAATGTTATCATGATCTCAATCCTAAGATAACGAGGAATTT
+CAGGAAAGAAAACAACAAGTGTTTATTGAATATTGAATGTACATCGAGAA
+CCAAAACTTATTGCAGCAGGCTAGCAAAATTGAAATTTCGGCAATTCGAC
+TTTCACATTGTGAATTGATAAAGGAATTGCTGAAAAATCTTGAAATGTGT
+CGAATGTGTAAGAAATGAAATGTATTACGTGTATTTGCAGACGGATTCTG
+AACCAATGATTCTGTTGCATCTGCCATTGATTTAATATTTCCAGCTTCAT
+TAATCAAAATTGATTCATCCAAGAGACTTAGTCGTTTGATTTCAGCAAGC
+TTATCTTCAAAGTAACGATGCCCTGATTTCAGTGCTCCAACCTTATTCCT
+ATTTTCCATAAGTTGCCGCTCTGCTAATATGCCCAGCTCTTCAATTGACT
+TTTGCTCTCGAACATCAATATTCTTACGCATGCTGTCATAATGGCCTTTT
+ATCTGCAATGAATGTGTTCAACCTCAAAAGATTCAAAGCTTTTTTTAATA
+CTTCGTTTATGGTATCCATGAATGCGTTGCTGTCAGAAGAAAGTGAGTTT
+TCAGCTCTAAAAATCGATGCAATATTAATTGTACATTATAAAGGTTTTTG
+ATATACTTTTCAAAATCACGCAAACTGTTCTCAATGGTATCAATGAACTT
+GCTGAGTCTTCCTTCAGATTTTTTCAGAATAGCTTTAAGCATGTTAACTT
+CATCTCTCAACAGTCCTCGTTTGTGATCTTTGTGATCGCCAAATTCCTCA
+CAGGTTCGACACATCAACTTGCATTTCACATCACAATCGGTATTCTATAA
+ATAATTAGTTTAGTTCTTTGAAAGCATCTTCCAAGATGTTGTCATGTTAA
+AAAATGATTACTCACCACACAAATAAATTTAGCAACTTCTTGATGAGCAT
+TACACCACGTTGGCCCAGCTGTATCAATTTTCTAAAACATCAGCTTGTTG
+TTACATCATAGTGATTGCATTGCTCACCTTATTTTTCCCACTTTCTTCAA
+TTTCTCGAATAATTTTCAGCATTCCAAAATTTGTGACCAAATTATTAACA
+TCTCGGTCCTTCACCTCAATTGGCTGACGACAAGTTGGACATTTCACTTC
+GGGGTTTTCGAATAGTTTTGATGCACAAACCGGACAAATCACGTGCCCAC
+AATCTAAAAAAATGTTTAGGTTTTATGTTTGTAGAGTTGACGAACTTACT
+CAAGTTTTTAGGAATACGTGATTCACTACGGTATGATTCTTCACATATTT
+CACAAGTTGGCAAGATCATCGTATTATTCAAATTTTTTAAAGACAAGAGT
+GAGAAAAAAAGGTAACCTTGCGAAAAAGAAAAATAATACTTTTCGTTCTT
+CGATAAGACTACACTACAAAATTTCAGTTATGAATGACGGACAGTTAGAG
+AAGAATCAATACTTATTCAACTCAGTAGCTGAAAACCTCAAGTCAATATT
+ATATACATACATATATATTTTACTAGTAATAATAATAATCCCAGATTTCA
+TGCAACATCCGAAAAATTTCTTATTAGGACTGGGTCCAAATATTCTGTTT
+AATCGAAATAAAAAAAAAATCAAATAAGTTTACCAGTAACTCTTTTTTTC
+AATATTTTGTTCGTTTTTTGATTTAGGGGGCTGCACAACATTTAATTGAC
+TTTTATAGTGGCTCGTGTTAAAGGATAGGGTTTTAAAATTTTCAAAAGTT
+TAAATTTTCCTGTTTCTTTTCTTGAAACAATCCCATTCAGAGCTAATATT
+ATAGTCGCAATCATTGGCAACATAAAACCGAGAACCAAAAACATTTTCGC
+GAAGAGATGAAAAGAATTCAAAACTTTTCATACAATAAATAAATTATGCA
+ACGTTGACAATAAAATAATTCCGCATCTATTGATAATCATACCACAGTAA
+AAGGCAACATAAGTAACATTAATTTAAAAAATCACTAAATTTCCAGGAGT
+TTCAACTGACGGACAATTGTGTCGAGAAGCTTCTTGCGATCTCCTTTGGC
+GATTCCAAAGAATCCAGTGCTTTTTCGCTCGAATTCAATCATTCTGAAAG
+ACTTAAGCCATGTAAAATGCTTTTGTTATTGATGTTCTAATCTAATATAT
+AAAACTGTGTTTTGTTTAATATATATAAAACTGCGTTTTGTTTGAAATAT
+GCCCATTATACAGAGTTACCAATTGAACAAGACGGTCAGGTAAACCAATT
+TTTCTAACACATTGAAATACAATAGTTTATGGAGCTTGCCAGTGATACAT
+AAACTATCAACTGAACGGTTTTGTACTGAATCGTGCGAATCTTTATTTTA
+TTTTAATTTAGCTGTAGAGTTATCAAGAATAAACAAATCTTTCATTCATT
+ACATTTTTTCAAACACTTACTTTTCTAGAACAACAATGGCAGTCGATGCC
+TTCACTCTCAGGTATTTGGCATGATCCTTTCCGTATTCGGCATTGAACGT
+TGTCCAATCCGATGACATCACGAGGTCGAGCAGTTGTCTGAAACGTGTTA
+ATGTTTTTCCATTATTGCTTCCCGTTATAACTAGCCTCAAATCTGCAAAC
+GTCATTGACAGCGTTTGTGGATCCACTCCAGCTACCGGGCACCTCGTGGT
+GAACATCTCGCATTGCATCACATCTAGAGAAAACTGATCCAGAGCTCCTG
+TTGAAATGCACTTGGTTTCAGGAGACAACAAGAAATCTGACATTGATTGC
+GAAATGTGTTTACAAGTTTGAGTGCAAACATGCTTTGCAAGTCCTGATGG
+CAAATTGGTGAATGAAGTAAATGTGGTTTGAAGGAAATTTATAAGATCCG
+AGATGAACTCGGATGCCTGTCCGGCAGCGGCAGGCAATTCCCAGTCGTAA
+TTTGCAAGATCAATGATTTCATCAACTTTGCTTCGCATACACTCATCAAT
+CTGCTGCTCGACTTCACTTCTCACGTCGCGGAACACCTTTTCAGACAGCA
+CAACTTGATGGGAAGTAGTTCCTATTGCCTCCTCTCCGCTAGTTTTACTG
+GTGATAAATGCTCCAAGTGACTCGCAGGATTTTTCCAAATATCCCAGGTT
+AATTGTAATTTGAACGAGTTGAATCATAGAGAGCCGTTTGTGAACAAATG
+ACTTCAAAACTCCAGCCCATCGTCCAAGAAGCACGTTGGCGCAACTGAAA
+GGAGAGAGTTGTAATAAAAACTGAGGAGAAATGAGCTTACCGGCGAACAG
+TGTCATCAACAGCAGAAGTATTGAGTTGAAGATTGTCCATAAACTTGAGA
+CATCCAATCAAATAGTTTTTGGCTTGTGTATAGGCATCAGTGACAAACGG
+AGAGAACGGGAACCTCCGTGGGAACGGTTCCTGGAAATATTGTTTTTGAT
+GTTTGAGAGTTTAAAATAGTTCCAATCAATTAGATAATTTTTTGTCAGAA
+AAGTAGTTCAAAGACGCTTGTAAAAAAAAAGTAAAAAAAGTAAAACCTCA
+GGTGCTAACATTCTTCTTGTCAGCTCAAAACCCCCACTCCATAGTTTCTT
+TACCTACCTGCTCCATGCTTCTTTTATAAAATGGAAACTTTCTGATGATA
+GTTCGAAACTCTTCTTCCGAGTTGACCGTGATCGGTGTATAATTATCCTT
+TTCCAAATCCCTCTCAAACTGAGCACAATATTCTTTTACCAGAATCTCAT
+TGTACTGATCCCTGAAATGAAATTGCCATCAGGAAGTTTCATGGATCTTT
+TTACCAACCTGAAGTTTTGCAGAAGTTCATAGAGTGGTGCAACAGCGTAG
+CCGTATGATTTCATAGTAAGAATGAAGAGAAGAATTACCTTCTTCATCTT
+CAACATCATCAGCACATCTGGAGATCCTCCCTGAAGCTTTCAAAACATTG
+AAAGTTAGAAGGAGTCTTCAACTTACGAATCTTGCATCCAAATGCTGACG
+AATCTTCATGAGCGCATTATCCCACAACTTATCCTTATCCACAGTTGTCG
+ACAAATTGGATTGTGTCATCAAAATCTGATCTTCCACGACAAAGAATCCG
+ACGATCTCATCGAGATACTCCACATAATGCTTGAAGTTGTTCATTTTGTG
+AGTTGGCTCAATCACCAAGTCACACTGCTCTTTTCTCTGTTGACGGTAAT
+ACTGCTCAAACTCCTCTTTTGCACCGAGAACATTGAAAATCTGACAGCAA
+CGGTGAACTGGAGTGAAATCGATCAAGTCTTGAGCCGATACTTGTTCATC
+ATCCTGAAACATGAAAAAGGTTTTGTGGGAATTATAAGGATCTCTTATTT
+TAGACACATTTCTAGCATAAACTATCTCACCTCAACTTGCATTTTCATGT
+TTCGTTTGGGCGACATATTTTTCTTCACAATACTACCGTCAGCGGACACT
+TCAATCTCGACATTGCTCGCATTTCTGAAACAAAATTTTGTAAACGTTTA
+GTTGATAATGGAATATTCCTAGGAAATGTACATTATGGAAAAAGATGTAG
+TCTCTCACAATAACAATCTCTTTGCTCATTTCTTAGTATTTAGTACATTT
+AACTCCTTCAAACAAATCAATTTTGAAGCTTGAATCAAACAAAAATACTC
+ACTTCCTTGCTTCTTCTTGAATTTTCTTGGCTCTTTCGGCGTCGGTGACT
+CCAAAGGAATGTTGCTCAGCTGTCTGAAATAACAATTTACATTAGATTCA
+CACTCGGCAAACACCGCCAATTTTCTGCTAAATGCATTTTGGAAGATGGT
+TCTGCGCTAGAAATGAATTGGAAACTGCAAAACACTAAACTTGTATTAAT
+ACTTACATCCTTGCTCGCATGTTTTCCAATACGTCCAGCAACTTTCTTGA
+TGTTCTCTAAAAAGTCTTTGAACTCGGAGTAAGCTTTTTCCTTAATCTCC
+AAACGAACTGGCGCCATACTTTTTGCAAGCACTTGTGTGAAGCGGTACTT
+TTCCACTAGGGCAAGATGAGTGTGTTCCAACTCTTCCAGAGTTTTCAGAG
+CTTGGTAGTACTTGCGATTACTCATTTGCTCTTGAAGCTTCGCATAGTTT
+TCAAGTACCGGGAGGCAAACGGCGATTTGATCCATAGCTGTCTTCGCGTT
+TTTCATGAGCTTCCTGAAAATGTATGTTACTTTAATAATTCTTTAGCTAT
+GCTGGCTGTTCCTGAAATATAATAATTGTCAGAAAATGTAAAAGTCTCAC
+CGATATCTCACGATTTCTTGCTTCTTCTGACACAAACGTTGACTAATCTG
+CTGAATCTCGGCGTCAATTGCCACGGTCTCTTCCTTGATATCTTGACACT
+GCTCTTTAAGCTTCATAAGCTCCTGCATGGCATCCACGAAGCTTTGGTAG
+TGGAAGGAGCACACTTTTTGAATATTCTTGTCGTAATGGCTGATTCTTTG
+TTGTAAAGCCCGTGCGAATGATTGCACATCTCCGGTGTCGTAGATAGCAC
+GTAGAACAAGGCCCATACTTCCACTGTCCGTTGTCTCCAATTCGTACAGG
+AAGTACTCCTGTTCAGCACTCATTTCGACGTCTGAAAATTTAAAAAATAG
+AGCGTAAGAAATTTATTATCGATGTTTTGAAATGAAACTCCTATCTCTTG
+TATTTCTTGCATGTTAAGTTTTGTATCTACATGTGTGCATAAAATCAATA
+CATTCACTTGTTGAATTATTCTTACTCTTCTCGCCGTAAAACGAGAAACC
+CCGAAAACGGATGATAATAACGGAGTACGCTGATAAGCGTCCGAAAATTC
+AGTTCTCAACTCACAGTTGACATAGGAAGTCGATGCTGTTTCACTTCCCG
+TAGTTGCCGGTTGAGAGGTACTGGATGAGTTTGGCATTTTCTGAAAAAAT
+CGACTATATTACATAAAAACATGATAAAATCAAAAATATAGCAAAAAAGT
+TAATAAATCTAATCAAAAATTGATAATAAATTAGTTTTCGAAAAGTTTTG
+TCCAGAAAAGCTTTTAAAATCCGGAAAGTATTCAGATTTCGCCTTTTAAA
+TGCAATTCTAAACAAAAAATTGTTGACGCGGTTCGCAATAGTACTGCTGA
+CGCATTTGTCTTGTTGTGCGCATTTCCTGACATACACGATGCCCCTCCAC
+TGCAGAATGGCACCCAGCAGAGGTCACTGCTCTACTCGTCTATGTCTTGC
+TTATCGATGCTCTCCGCTCATCTCTCCTTCTTCTCTCGCCTTAACTTCTG
+CAGTATGTCTACTCAAACTAGAGATGTATGTTCATAGTCCCATGTGGTCT
+AGTGGTTAGGATTCGTGGTTTTCACCCACGCGGCCCGGGTTCGATTCCCG
+GCATGGGAAGTTTCTTTTTGCATAGTTTTTACTCAAATAATTTTATATTT
+GTTTGTCGAAGCTGATAAATATTTATCCGACATTGCCTTATTGAATGTTG
+TTTTTCTTGCTCTAGGCGGAAATTACAATTCCGAAAAGAGAGCACATATT
+TATAAAAAATTGTAAACAGCTAAGTTTCTTGCAGCCACTTCTAACTGTGA
+AAATGTCCGTCGAATTCAATATTTAATACTCAACAGAGTTTATTTTGCAC
+TAAATGATTTTTTGATTTCCAAAGTTTTATTTTATCTTCATGTTTCCTGT
+CTATGATCTCTGACTCATGACTAATAGAGATCACATTTTTCTGTTTCTCT
+TGATCTCAACAATTCACCGAGATGATAAATTGCTCAAAATGTTGTAACAT
+TTGTTGTTTTCAATTAAGTTCAAAAAAATAGAGGGATAAATGTTTAGTTG
+TGTTCTGAACTGGTACACATGAGTGCTCAAAGTCTTTCTGGTATTGAAAC
+CACTTTTGGATTAAACTTACTAAATTCAGTAGGGTGTCAGGAGTCATACG
+TGTTCTCTCCTATTTCCTGGCTATTTGTTTTTGCTCTTTTGGGCAATGAA
+AAATTTAATTCAACAGTTTTTGATAAGTATTCCGACTTGGGGTTTCTGGA
+CTCTGAGGTTAGAAGCTACTTGAAAAATGATTTAACTGACATTTCTGTCA
+GAGCTGATAGCGGCATAAACGATGTTAGAAGAAATTCTCCAAATCAGGTA
+TTATTGTCAACATATTGAACGCAAACAAAAAATGATTTCAGACTAGAATT
+TTATTTAATGCTGGATGGGAAGAGAAGCTGCATGAAAAGCGCTCATGGCT
+TTTTTATCCTTCAAAGTACAACAGCAAAGTGATTACATACTTGATAAAAG
+AGAAACATGTTCTGCTCAATGTTGACGACGCTTTTCAAGTTTGTTTTATG
+AATTTTGAAGCTTTATCATGACTAGTTTTGAAGCTTTAAGATAAATCATT
+ACTAGTCACAACTTTGAATTATTTCAGATGATATCAATCATGTATGAAAA
+CAAAAGTTTGCAATTTGTGGTCCTAGTTCCTTCAAAACCATGCGGGTTGA
+AAAAAGCCTTAAAGGTAAGTGAATTATTTTCACTCATCAAATTATAAAAC
+AACTTCCAGAAGCTCACGAAACAACGTTTTGAAAAACTTTTCCAAGAGTC
+AACGGTTCAATTAGTGCAGATCATGATACCTAAACTTGATGTTCTCCAAC
+TTCTCATCAACTCCAAAGTTCTCGGATTGCAGCCGCCGATTAAAACAAGT
+TTAAAATACAAGGTAGCCTAAAAATCTTCGATTTTTTTAATCTATACCTT
+ACAGGAGTCACCGAGAATTTCAAAAATGTTGTATCGTCCTGAAAACCGTT
+TACCTTACCATTTTCGTGCAGATCATCCTTTTGTATTTGCCGTACTGAGA
+AATGGTCATCCAGTTTATTTTGGTGTATTCTCATGAATTTGACTTTCAAA
+TCATTGTCTTCCATTGTACATTGAATACCGTTCCTTGTTTCAGAACAGTT
+TTATTTTTGCTACGAACCAAATTTTTTAGAAGGCCCCACTCTTTTTGAAC
+AAAAAACAACAATGGAAAAACTATTTCTGAAAAGCTCATAGTCCCTCGAT
+ATTCTTTTAGCCTTTCAAATAAAATTATGTGAAAATTTATTACACGCACA
+ATAATTGATTTTTTTTTTGGATAATTGAATTTTTTCCTCAAAATAAAAGT
+TTTCCAGAGTGTTCTTATCAAATCTGGAAACAAAAACGCCAACTTATTCA
+ATCAACCAACGTTTGAAGAAGATAATTTTTCATTTGTTTTGATATTTTCA
+TTATTACAATTACTGTTTGTTTTGAAGTTCTAATGGCTTTGTAACAATGA
+TATAATACTTTTCTAACAGTTCTTATTGTTATAAAGAAAAAAAAAGAAAA
+GTATATGTGATTATACTGGATACGCCATCTTTGTGAGAATGTGTGAGAAG
+TTGAAACGAATATACTGTATTTCCTATATTAGTGAGGCATGCAATACTTA
+TTTTCAAGCACCTATTTAGAAGCAATACTAATAGAGGTGCACTAATAGAG
+ACGCCTTACTTATAGTGGAAATACTGTATTAACTTCCAATTTGGAACATC
+AAAAAAGTTTCTTGCGTTCGGGGGGAATCGAACCCCCGTCGAATGCTTGG
+AAGGCATCCATGCTGACCATTACACCACGAACGCACGATGAAGCTTCTTT
+AAACTTGCAATGAAAACTCAAAATGATCGGAATCCCTCGACAGGAGGTTT
+TAATCCGGTTTCCATTTGCGCGCATTCTCGAAATTAATATATTTCCCAAT
+CGATGTACACACACACTTACTTGATAATTAATTGGTCCTTAACATTTTCA
+TAGTTTATCTTCTTGATGAATCATGTGCGTTCGTGGTGTAATGGTCAGCA
+TGGATGCCTTCCAAGCATTCGACCACAGGTGATTCGCAGTGTAAGCAAAA
+TGCTTCGACGCACACAATGCTCGTGTTTGCGAAAATGTGCGCCACAGTGG
+CAAGCATAAAGGGCACAATGCGAACGCTCGCAATGTGCGCATTTTGTTTG
+GCCGTTATTCCCATCATTAAAGTGCTCATTTCAGTTAGTTTAAAGCCATT
+TTTGTTTGAGTTCTCTGTTTATTGACTGTTTTTTTGCTGATACTAAAGTT
+TCTGAAAAACAAAACTCTCGATTTAGAAGGAACTTGTCAGATTTCGAAAA
+TCATAAGGGTCCCCCCTTATGATATAAAATTTTTGATGAAATTTTTTTGT
+TTTGAAAATTTTTTCGAAAACATGTTGAACGTGTAGAAAATGATCAGTTT
+GATATTTTATACAAGTGTGAGAGTTCACAATGAATGTTCAGCCAAGAAAT
+CATGGAAAGTCTAGAGTTGGGTCATTGAAACATAGTATGTTTGAGAGCTC
+CTAACTTCCTTGAGACGTAAAATACAAAACTTTCTTCAACTGAAAAGTTG
+TCAGAAATGAACTGAACAACGAGTTATTAGTTGGCAATATTTTTCTATCT
+TGCATGTTCAAGAAGTGGGCACAGTTGAGTAAGAGCAAAACAGCACTGAC
+TTCAACAAGCCATATTTTGGCACATTACACATATAGGAAACATTTTTTAT
+TTTTAAGACATTTTCCATAACAAGCTAAACAAATTTGTAGTTGATCGTTT
+TTTGATATCTTGTATGTCCAAGGATGCTCACAGCTTCAAAAACCTATACT
+ATTTTTTGAGCCCTTCAAGAAATAGTCATTTTCTCAGCTAAAAACTTTCT
+TTCTAACGTTTAAATTGACACAAATAGAGTAAATATCATTTACTACTGTA
+TCTGATGATCCGCTTTGAAAATCATAAGGGTCCCCCCTTATGAAATTTTT
+TTTTCGTGGAAACTTTTTTCCAAAAAAATTTTGATTATGTTTAATTTTGT
+GCAAAAACATTATTTCAGCATGTTTCACAGTTTTAACGTCTCAATAACGT
+TTTTGTGGCAAAAAATATTGAAATCTTCCTGGATTTTTCAAATAAACACC
+TTACTTGTAATACAGTTTTTCTCCGTTGGCAGCAGGAATACAAAAAAGTT
+GCCAACTTGAAAATTGTTTACAATGAAATGAATAACAAATTTTTAATTGA
+CACTTTTCTCCTATCTCGCATTGCTTCAAAGTTATAGTCCTCTCGTTTTG
+AGCCCAATATTACTGATTTTCAGTAATCATATCTAAATAATGAACAAAGA
+TAAAACGTTTATGTTTTATAATTGTGATAGATCATTTCAAGTTTAATAAT
+TAAATAATTGATCGCTTTTTGATATCTTTCTATCCTGAAAAGATGTACAT
+CTTAGACGAAATGATGTATATGGTTGAAGAGTTCAAGAAATTGAGGCTTT
+TCTCGTTGGAAACGCCTAGTTTGACGTTGAAATTTTTATAAATAATCACT
+TTTGTACTTTTCTCAATATTTCAAAGTTGTTACAACTTTTTCAAAAAAAA
+ATTTTTCGAGAATTTTTGATTTTTTTTTGTTGCAAAAATTGAAAAAAAAA
+CCAAAGGGTCCCCCCTTATGAAAATTTTCAAAAATTTTTACGAAAATTTT
+TTTTGAAAACTTTTCAAAATACGATCAGATCTTTCAGAAAAATGCGATGT
+TGGTTGTTTTTTTCAGTTTGAATATTCAGAACACGATTTCAGACGAACAC
+GTGAGGCTTAGTAGAACCTCTAAGTTCAAAAAAGGCATTCACTTCGAATG
+CTTATATCTCCGTGGAAAAAATTATTATGACAAAGTGATCAACTACAAAG
+TTGTTTATCTTAAATCAAAGTACAACTTTGTAGTTGATCGTTTTTTATCA
+AAAAATTTGGTGGTGGAGATATAAAGAGAGAAAGAGAAAGAAAATACAAG
+CATGAAGTTACGGCACTTCTCACAACTTTATCTCAACCACCAATTTTTTT
+GATAAAAAATGATCAACTTCAAAGTTGTACTTTTAATTAAGATAAACAAC
+TTTGTAGTTGATCATTTTGCCATAAAAATTTTTTCCACGACGATATAAGC
+ATCCAAAGTGAATGCGATTTTTGAACATAAGAGTTCTACTATACCTCCGG
+TTTTTGTCTCAGCTTGTGTGCTGAACATCCAAACTAAAAAAAAACAACAA
+ACATTGCAATTTTCTATAACATCTAATAAAAATTTGAGAAGTTTTCAAAA
+AAAAAATTTCGAAAAAATTTTTGAAAATTTTCATAAGGGGGGACCCTTTG
+GATTTTTTTTTCGAAAAAAGCTAAAAAAAAATTTTCCAAAAATTATCAAA
+TATGTATGAGATATTGTAGAAATATGTTTACTTTGTTGTTTCTAAGCATT
+TTCTTGCAAAATTCGGTGCTTTTCCATGAGTCAAAACGGAATTCTTTGGG
+ACACTGAACAATAAAACCTCCTGTCTTAAAAAGGATGTATCTCATTTTAG
+AGGCGAGGTATCAAAAAGTCATAGTTGTAAGCATTTTCTCACCTTTATCG
+AGAACTGAGATATAGTTGAGAACAGATCTATAATTTTTTGGTCGTCTTTC
+GGAGCTCACATCTCCGCAGTCACTGAAGATAACTAAAACGTACCAAGTAA
+CAAAATGTTTTCCATATTATTGTCAACAACTTTTTAGTTGACCACATTTT
+ATCAATTTAAACGCCAACAGAGTTATAAGTCTTTGAAAGTAAGATGTCTA
+TTTGCTCATTCAATTCTAATTTAAGTCATTGTTTAACTCAAAATGGAACA
+TAAGAGTCCAAACTTGTAAGAACTACCAAAATTGTGTTTTTTTTATAAAG
+TTGAACAGTTTTTGAAAAAAAAATTCCAAAAAAAATTGTTTTCAACCATA
+ATTTTTTTCAACCCTTATGATCAAAATCGGAAGATCGGAGAAATCAGATT
+ATAAGAGGGCCCTTATCCCTTACGAGCCTTCTGAGCTGAATATTGAGATC
+GTAAGTCAGAATAATCAGATCATAAGGATGAGCCTTATAGTATTCCAATA
+TAGTAGGACATTTCACAGCCTTTTCCCAAAAAAACATTGGTAATACATTC
+AATTGTGAGTGAATTCGAAATTCCGTTAAAAATTGCATTTAAAAAGTTGT
+GGAATATGAACACAAATTAGTTGAAAAATACATGCCGTATTACCTCTATT
+AGTAAGGCGTGCAAAACTAATTTTCGGACACCTAATTTGATGCAAAACTA
+ATAGAGGGTGCAAAACTAACTTTCGAACAGGTTTTTTCTCATGTTTGCCA
+ATAAGTTATGACATAATATCATCAATTTCAATGACAACTTATGAACCAAA
+ATGGACGAATTTTACGACTGATACGCAAACATTGTCCGAATTGTACTCAT
+ATTTTGCCAATTTTGACTTGTTATACCAAGTCTGTAAGAGTTTTCCTAAT
+TTTTAGAACGACTTTATAATGCAAATTTTGAATTCCTAAAATTAAGGAAC
+AAATAAAGGGGTGCAAAACTATTAGAGGTGCAAAACTAATAGAGGGTGCA
+AAACTAACTTTCGATTAGTGATTTTAGATGCAAAATTAATGGAGGTTCAA
+AACTAATAGAGGTGCCTAACTAATAGTGGAAATACGGTATCTAGTTGAAC
+TAGTTGAAAAAAAGTTGTCACCATTGATCCTAGCCCCACCAAGGTACACC
+CCACTTTGTCACTTTGGATACTTTGTCTCCAAAGATCTTTGCAAAGATCC
+TTTGTCACAGGCGGTTTTTGCAAAGTGGGAGAAGACTCGGCCACTAGCAT
+AGCATGAAAACGGATCATTTTCTTGAAAACCTGGTACGGTGGATCGCCTT
+GAGAACAATTTTAGATAATTTTGGGTCAGTTATCAGAATGATGGAACTAG
+ATGCGCGAGATAACTAGCAGTGAGATGCCCTAGATCACTACTTAAATCGA
+TTTGCAACTAACGAACGTGCGCGCGGGATTGGTCAACAGTAAACTTTCAG
+AACTCGAAGAAACAGGTAAGTGGTTCGACTCCGGATGGTAACAGAAAATC
+CTTTCCAAGTCTTGAGGTGGCTTAATCATGTCTTCGGGTAGTGGGGGTGG
+CTTATACAAGAACTGAAGTTATATTTTGAACTTTTTCAGCTGATATAAGT
+GAAAAAAGGAAGCATAAATTGTTTTCGCAATGCCTCCTTTATGCTCGCGT
+TCGTTCGCAAAGACGAGCATTTTTCTCCATTTTTGCTCATGTTTTCAAGT
+ACCCATTCGAAGCACGCGCGAACTTCGGATGAAGCATAAAACTCGTACTC
+GCGAATCACCTGTGCGACGGGGGTTCGATTCCCCCCGAACGCAGTAAATC
+TTTTGAGTTTAATAAATTTATATACACCGTATTTCCTCTGTTAGTATTGC
+ACGTAAAATTAGTTTTTATTCGGACCATTGGCTGCGAGACTATTTTTTGA
+ATGTTCAATAACGAGAAAAAACTCCATTATTAAAATTTATAATAAGACAA
+GAAACTTAATTGGCTTTTCATAACGAACTGTTCATTTTTTAATCTTAGAA
+ATTCTAGTTCGTTAGAATGTTTTTTTTTCAAGCATTTTGTTTTCATTGAT
+TTTTTGATTGAATTCCTACTCCTTTCAAAAAATTATGAAATAAGCTGCAT
+ATTTAATTTTTGTTCTATCAAACTTATTTTTTTAAATGAGAAATCAATAC
+TAACAATTATTCGTTGTGAAATATGTTCCTTACGTCGCGTCACAAAAAGC
+AGTGGAGAATGAGAGAAACAGAGTACAATGTTCAGTTTCAAAACTCAGCT
+AGTCAAATTTGAAAGGTTTCTTTTTTTTGCTTTTTGTACGTGTTTTTCAT
+TCATCTTTTAAAACCTAGGAATTAATTTTTTTTGAAGAATAAAAAAGTAA
+ACAACCAGTCAACATTTGTTTTGAAACAAATCGTTTTTGCGATAATTATT
+GCGAAATAACTAACTATACTTGCAATAAGATTTGGCCTAACCACTCATTT
+TTCCAAATAATTTAAGTAATTATTTTATTTTTAGGATGAAAAACTTGAAG
+CCAATAAAACGTCGGATATTTATGTATTGTTGTGAATTTAGTTCCAGATA
+GAACCTAGATTTTTTCAGAGATTAAAAATTTCGCCATAATAACGGGGTTT
+CAAACATATATTCTTGAACTACCAACTGATAGCCTCTAATAGTCTTGCTG
+TATTTCATATCAGTTCAAAATAGTCGTGCATTCCGAATTTGAGTTGTTTA
+TGTACTTTTATTGATGCTACAGTATATCTAATCTTATTTTTCTACAACTT
+CACAGGAGGGCGCAATTATGCAATATGGTCTTGCCACTCGTTGATTTTAA
+AACATTTTATTTTATTCCATGGGTGGCGCGTGGCGATACCATTTCGCATA
+AATGCACCCTCCTTTGAAGTCGTAGAGGAAAAAATACACTGTGTATAACC
+AAACAATATTTGCAGTTTATTTGCTTTTAGACACTGATAACAAACCCTTG
+AGAGTCTTTTCGGTTTACCAATAAAGAACATTTCTTGCTAATTGTAAATA
+TTTTATCGATATAACCCATCATCAACAATTATCCTAGTTACATTATTTTT
+CAATATTTCAACACATTTGTTCATCAGGCTCTTTTGCCCATTCTCTAAAT
+TTGATTTTTCAGCTAAAAATGTCTGTTGTTAATTTTCTCACTCACGGTGA
+ACGGGAAAAATTGGATCAGTTTATGGTAATCTTTTTTTTCTTTTTTTATT
+ATGTGATTCAGCAATGTTTCATATAGGAAATCGTAAACATTCATGATGAG
+GAAGTTGCAATGGTATCAATGACAAACGCCGATTGGAATCTGGAACGCGC
+AATTGGAACTCATTTAGCGTTAGGATCAGAAGGAGATATTTATGCAGGAG
+GCTCACCATTGGATCCAGTTGACAATCAACGAGGTAGCAGGGATGATTTC
+GGTAATGACGAGTACGACAACAATGGGATTGGTGGAACAGCCAACATATT
+GAATGATGAAGTTGGAGAGTCGAGTACGCTCTATCAAGTTGCAGTAAGTA
+TTTTATTGTTTCAACATATTTGTGTGCATTATAGTGAAATTATCAGACGT
+ATGGATGAATTTGAATTCTAGATAATTCTGAAGACACAACAACTTCCAGT
+TTTCACATATACACTATGTAGTTAGTTAGAATTCTTCCAGCTGTCTTTTG
+AAATGCATGAGGGTATTTGCCAATCTTTCAAAAATATTGGTTTTTTATAT
+GACATTTTGTCAAAACTGTGACTTTTGTTTTGGAAAATATAAAACTTTCC
+AGAGTTTTCATTTAAAATACTTTTTTTTTTTTTAGTTTTTTTAAAAATTA
+TTTAGAAAATGTATGACAAAATCCCCACTGACGCTATCCCATCTCTGAGA
+AAGAACATGACATACCAAAATGTTAAATATGGAGATGTTAACTTATGTTT
+TTTTTAATAAGCAAAGTCATAAACATTTTATATATACTTTTTTTCCATCC
+AAATTTCTTTTCTAGCCGCCACTCATGATGCCACACCATTCTCAGCCGAT
+TCCAGATGCATTGAAATGTTATACTGATAATTTTAACACAAGGTATCAAA
+TTGGAAGCACTGTGATGCCAAAATTCTATACGGATACTTTGCGGAATGCT
+GTGAAAGAAGCATTTGACCAAGAAAACCCGATTCTATGCCGTCCCTTGGC
+TTTCTTTATCAACAATGAAAATAGTTCAAATACAAGAAATTTTGTAACCA
+ATGTTTTGTGCAACGAGCTTGTCACCAGTTATCTTGCAACTAAGTATATT
+TTGTACCCCTGGGATGTGACCGAACCGTAAGTGTTATTAACGGACCCTAA
+AACTGATTTTTTTTTTGTGAATCTGTCTTCAATTTAATAAATTAGTATCA
+TTTTTCAATTGCCAACAAAACATTAAAAACGATGTGAAGTCGGTAACATT
+TTGTCAGTTGAAAATATTCTGCTAATTATACATAGTTTTTTTTTGGTTTG
+ATCAGATCAAGCAAATGATCAAAAACAAGTAGAATTTTAACCGACTCCAG
+AACTAACTGAAATGTGTGGTTTTTTTTTAACCTGAAACAACTTTCAGAAG
+AAACTTGGATCGATTTCTGCGAATTTTGACTGATTCAAACATGTCGTCAA
+TGCATTACAATCTCAAGAGTTTCAATGAATCTGAGTCTCATCGTTTTCCA
+TACATCGCAATTGTTTTAAGAAAAGGAAACTGGTTTGAAGTTATACGAGA
+AGTTAACGGTACCAGTGACTTGAATGAAGTTGTGAATGCTCTGTATGAAG
+GGTTCGAAGAACTTCAAGAAGAAAAACTGCGTGTTTTGAGTAAACAGGTG
+GAGCGAAAAACAAAACAAGCAAAAGTGGAAGAAGAAAGGAAACTTATAGA
+TCAGCAGAACGAGGTTTATTATAAGAACTTGAAAATTGATACTGATAATT
+TGAATAAGAAACGGATAGCAGCGAAATCAGAAATCGAAACAACAAGACCG
+GAAACTAAACCGAAAATTACCCCAATGAAAGTCATAAGCGTTACACCTCA
+GAACCTACCAGAAGAACCAAATGTTTCCGAAACAAATATTGTCACAGTGA
+AGTTCCGGTTGCCAAAAGGGATCCAGGTGATTGGCAAAATTTTTAAATAA
+CCTATTTCAAAATCTTTTATGTGTAGCAAGGGTTTCCATTTGATACCTAG
+AAATGTGATAGCGCGTGCTCTGACGAACTGATGTGTAGAAGAATTTTACT
+TTTCTAACAAGGATTTAAATTTGTAAGGATTTAAAAGGAGGCACACTTAC
+AAAAAAAGTGCAGCAACATGTTCCGCATTGTTCCGCAGTAGATCACAAAT
+TATTTTTTCAAGGAAAATGTAAAATGTAATGCGTTCGGGGGGGAATCGAA
+CCCCCGTCGAATGCTTGGAAGGCATCCATGCTGACCATTACACCACGAAC
+GCGCATGATTGACTTTTCAGTGGATAAATGAAAATCTTCCAAAACCGTTA
+AATTTGAAGAAACTTGATTTTGGGTGATTAGCATCGTCTCCATATGTAGG
+CCAGCTTTTCGGAAGATGATTAACAGAAGCCTAGTCAGATGATGTGCGTT
+CGTGGTGTAATGGTCAGCATGGATGCCTTCCAAGCATTCGACGGGGGTTC
+GATTCCCCTCGAACGCAGAACTTTTTGATGAGTTATTCTGCAAAAATACA
+TGTGATATTTTGTCCGAGAGAAAGTAGTCTGTGACAAATCTAAATTAGGC
+CTAAAATTTCCTGTCCGTATTTGATGCTAACGGAATTTTAACTAATGCTC
+TGTATTTTACTTCGTAGTTTTTTTTCTTTATCAGATACATTCCCCGTTTT
+TGCTTCCTAAATCTGAAACTCGTGACATAAGTTTCTAGCATAAATGATAA
+GAACAGGTGTGCACGACCTGTATCAAACAAAGACATTGAAATAAACTATG
+ATTGACTTGATTTTTGCGTTTCTTTGTCCCTTGTTTCGATGCAATCACAA
+CTATGTAGAATTGCGCCCTTTTTTCAAAGGTGAGATTGCGATGAGAGGCA
+ATCATTTTTTCTAATCAATTATTACCAGTCGGTCACTTTACACTTATCCT
+GTTTGAGAAACCTTTTTTCGTTACTACCATCTTTCAAGCTTATTGTAGAA
+CATGAGTACCGCTTCCAAAAGAGTTACAAACGAACTCCGTAATTATTATT
+CATGTGTCTCCTCTGTCGACACTGGAATAAGAATTAAAGTCATTGAAGGA
+AACATTATGCATTTAAAGGTTGGTTAAACTTTTTTTTTCTAGGATGTTGC
+TTTAAATTTCTCAACTGACATTAACGAATATATTACAAATAAATGAAATA
+AAGTTCCTAGAAAAAGATTCGAAAACTATTTGTTCCCGTGGACTCAATTT
+TCCCAATAACTAGTATTTTTCATGTTTTCTTTACTGTATGATTAGATCAT
+GTGGATGTTTTGATATAAAATCACTCGGTTTTGTTGAAAAAACAATATCG
+CTTCAGGGAATCATAAAAGGAGTGGAAGAAACGCCGTACGAAGGTGGTAT
+TTTTGAGCTTGACATCAAAATCGGAGAATCTTACCCATTCAAAGCTCCCA
+CTGTAACTGTAAACCTCTGTGGTATCATGTAAAAATATTTAATGTTTCAG
+GTAAAATTTATAACCAAGATATGGCATCCATCAGTGAGCCCATTCGACGG
+GACCATATGCCTTCATGATGTGGACAATGGAGTTTGGCCAGTATCTATGA
+CAATTTACAAAGTGTTAATAGTTATTCAATCCTGGATGTCAAACTTTAAT
+GAAAAGGAACCCATTGACGTGGAGATATTGGAGCAAGCCACAAATAATCG
+AGAAGTGTTCGAGGTGCCTTTAAAATATTTTGAGATAAGAAAATTATAGT
+TTAAAAAATATAGATAACTTAAACACTTTTCAAATATTTTCATAATTTCA
+ATTCTGATTAAAGAAAAACAGTTCCCGTTAGTACTTCAGAGCTACAATTA
+TAATGATTAATAGAAAAATTGACAACAAGTCTGATAACCAATTGTTAACC
+GTTAAAAAACCATTATATTGTAGAAAACAGCCGAGTTTTGGACTAAACGG
+TTTGCCGGCTCGCGAAGGAAACCGTACAACCAAGAGTGCCAGCAGAAAGT
+TCAGCTCATGTCGAGGGTCATACGAAATGAAGAACTCTCAATAATCGCAC
+TGAGCTATCACAACTGGACTCTTCCTTATGATGTTCTCGAACAAGAAAAC
+AGTTTATGAACTATTTATATTTTTATTGTATGTTAAGTTATTGTACATAT
+TATAGTTTGAGTGTTATTTTTGAAATAAGTTTGTAGTGAACACTTTAAAA
+CTGTTATATTTTTGCTATTTATTATTTCTAAATATAGCCAGGAAAAGTCT
+TCAAAATACAGTATGAAAAAAAGAAAAATTGTTGGAAGACTTAAAATTAT
+GATACAGTCCGTGCAATATTTTGATTTCAAACGCTATTTTTTTGGTTTCA
+ACAAATTTTGGCATTTATTTCGTATTTGAGAAATAATTCCTCATATAGTC
+AAAATTTCCCTGTCAAATGTTTTTCATAAAAACAATCTCTGTTTTCTTGA
+TATATTTTAAATCCAAATTGTTGGTAAATTTTAATTTTGAATTTTTTTTA
+TCGAGAATTATGAGAAAAATAAGGTACGGCCAGTAAAAGCTTGGTCAAAT
+CTAAAACATCAATTTTTAAGTCATTGTTTAGGATTAGCTGATTTTGATTT
+TTGGTACATAATATTATTTAAAATTTTGTTTTCTGAAATAATTATAATAA
+TTAGCGCAACATCTGTTGTCATCGCCATCTCGTAACTAACACGTGCTCAT
+TGTTTTTCAAGCTTTAAAAAGTTTGAGGCCAATGCAGTTAGATTAAAAAA
+CTCTATGAAAGACTGTTTTTTGATTTTTGATGGCATATTAGACACATTCA
+TTTGAAGCATAAATCGTGAAATCTAACAAAAATTAACAAAAATGAAAATA
+GGACAATTCAACATTCAATCGGCAAAAAGGGTATGACAGCAAAATTAAAA
+ACAAAAGTTGGCAACAACAGAGAATATAAAACTTTCGAGACTGTTCTAAA
+CCGTTTCAATATGTAGTACTGACAGAAATAATTGTAGAATTTTTTGGCAT
+AATACCCATGTAGAGATCAGAAATTACTTCTTTGGCTCCGGTCTCCTTTC
+GGTGGTTATTTTGCATGTGAAGCCCCATTTCGCTTGCAACATGTGTGTGA
+TATTCGCAAAATGAGCATTTTATCAGAGCCCCTCCGGATCGTTGAGCAAT
+TTTGTATGAAGTTGGCGTTTGATTTCCATTCTGGAATATAGATTTCAATT
+GACGAAATAATTTGGTTCTTATGTATTATGTGCACACACGCATTTAAAGC
+TTTTCCCAATATTTTAATATTCATTTTAGTTTTAAATTAGTGAATTTTGT
+TTAGAATAAAGTTGGGAGAAAAAAGTATTGATTTTGTTATCAGAAAGTAT
+GCCTGTTAAGTAGTACTAGGGAAGATCCACTTTTTAGAAATGCTAAAATT
+CAAGAAAAATAATTTTTGTGAAACGTGTTCAAACGTTAATTCTCATGATT
+ATGATGTATCAAAAACAGTTTTTTTGCAGATTGTGCGATGTTATAATTTT
+TAGCTTTTAAATAGTTTCTTGAAAAAAATGTGTTTTTTAAATATTTTTTT
+TCTTAAATAAAACAAACAATTGGGCTGACTCAAATTTTGGGCCTATGAAA
+AAGGATAAGATTTATCTATCGAGTTGAGTCACACTATATTTATTTTTTCT
+TGAATCAATTGCGACAACCTTTTGGTTGTGATATTAAAAATAAACGTATG
+ATTTCAAGATCTTCCAAAGAAGGTTGTTAATTGAAAAAAACCAATCAGTT
+AAATAATATTTCAAAATTTTTATACGATACACTTTTATCAATTCCAAATA
+CTTACCAAAGATGGCTGAATGAATCCGTTTCGCATATTGCAAGATATATT
+CCTAACAACGTTTGCCAGAGTCAAATGATCAATGTTGTGATGTTTGGTTT
+CGTGGAATCCCACCACTTCTTTTGTATCGTCAGAATAATCGCACAATTTG
+CATCTGTACAACTTATTCCATCCATGCCTGTCACTGTGCTCAAAAGAGTT
+GTTCACTGAAGCGCATTTGAAGTCACATTTGTCGCACCGAAACTCAACTG
+TTGAGCTGAACTGCTTGCTACGATGTGCAGCTTTGGCTTTTGAGCTCATT
+GGGAGTTTATTTTTTTCACGGACGGGCTCTTTAATCGGTCTTTTTATTGC
+CGCATTCAATCGATTGAGCAGCGCCATTCGCGCTCTTCCTTCTTCAATTT
+TCTGCTGTCGAACATGCTTTGCATATGCTTTTACGACATTATCATCTGTC
+ACATCAATATTATGGATCCTCAGATGTTGAGTCATGCAACTGGCAGAATT
+TACATTGAATGTGCATTCACTGCATTGAAAGTTTCGGTCTTCTAATTTTG
+AACTTTTATGGTAATATGTGTGCAATTGCATGGCATCGCAATCAGAAGTT
+TTAAAGCTGCATTCCAAACACCTGTAATTTCTTTCAGGAAATCCTCTTCC
+AAGCACTTTTCTCATTTGGAAATAGAGTACGTCGATATTGGAAGCGAATT
+TTTCAGTGTTTTCATTGTCCTGAGAACTGTTACTTGACGGTATAGAAGAC
+GAACCTGGTGGTTGATTCGAGACAATCTTTTCCTGGAAATAGGAAGGTTT
+TTGATTTAGCTTCTGAATCCGACTCGAATGACGCAGCGGAACACATTCTT
+GTCCCTTCTTTTCTTCAGTAACTTCTTGAGGTGGGACTGCTGATGATATT
+GGAGCAGCTGGTGTAGATTCCTTTAAAATTAAACTATGTATTAAACAGCA
+GTAAAAAATATATTGCTAACCTTCTGAGTTGTACTCATTTTGTCGTTTGT
+GCCTGTTGAGCACTGCGAATTTTCATTCTTAGTTTTTTTAACCTGCTCGT
+CTTTGACAGCAGAGTCTTCGCCGTTTTCCGAGTTGCCAAAAGAACTTTCT
+TTTCTCGACTCTTCCAATGTTTTCTCAATGGAAATTTCATGTCGGTCAGC
+AACATTGTCCTTCGGACTTGGTGATTCTTCTTTTATATCTACATCCTCTT
+TGAGCGACAAATGGAAATCTTCCATTGCCTGCATAGGAAGTTCAGCTTCA
+GCTGTGCTAGTTGAAATCTGACATGGCGGCTTGTTATCCGGACCGTTTAA
+TTCAGATTTAATCATATCATAGTTAGTCATTTCGATATCGTTAACATAAT
+CTTCTTGTTCCATTGAAAACACATCGTCAGTTACTTCCATCGTTACTTCT
+GGCTCTAATACAGTTTTGATGCTCATTTCTTCAACAATTCGTGGTACTGC
+TTCGTCGGGAAGAATGATCTGAAAATGTTATTCAGCTTTAAAAAACTAAC
+ACTTTGGGATACGAACCTTAGCAGAATCTTTTTCCCCAATAATGAAAGTC
+TCTCGTTCAAGTACTGGACACTGCTCGTCATTATCAATAGTTTCAAAAGT
+CTCTTCGGTTTCCATATCCGCAGTTTCAGAAATCCCAGACGATATCAATG
+ATTGAACATTTAGATTGTCGGTTTCTTTTGTATTTTCGTATTTCGACAAC
+AAAACAGATAGCTGGATTTTTCCTGCCAAAACAACGCTATCAGCATTTGA
+TGCTCCAAGTTTTGATGATGAAGCCGACTGATCATTTTCTGCATTCACAT
+CCTTGACTTCGAAAATGTTGTTATCTTCCGATAGTACAACTGGAGATGGC
+AATTCTGCCGGAACCATTTTATCAATCGTTGGTGCTCCGCATGTGGACGA
+TGTATTGAAAATAGATGAGACTCCACGATTTTTCAGAAATGTTCCAACGG
+GCATCTGAAATTATACCTTTCAATTAATATAATCAGTATGGATGTGACTC
+CGGTCCAAAAATCACTAATAATGGTAGTGAAACTTCGTTTTTGTTTGGAT
+GTTTTTATTTATAGTAAAACATAGCCATTACTCAATTTCGAACTATCATT
+ATTTTGGAAGCCAACAACAAAACTTTACATCTACAATTTTTATTTTTTTA
+ATTACATAGTAATTATTTGTATTCAAAAGTTGAAAGCTTCAGACCTATAG
+CAATCCTAGAGATTTTAAGTACGCATGTGTGAAAAATTTGACAAATAATC
+AATGCTTTGACTGAGAGTTTTGAAACATCAAACAACTTATAGAAATTTTT
+ATTGTGATCGACTGTCATTTGAGACTATTATGAGGGTACTTTTATAAAAC
+CCCTATTGCCGATACAGAATACTCACTTTTTCAAACTGTTGCAGATTTCT
+GGGTAACTTGTATGACGACGTTGACGGTTGCTCCGACGATGGAGAAGTAC
+ATTGTGCTTTTTTTGGGATGAGAAACTTTGCAAATCTTTCATCAAAATTT
+TGATCCATCATTAAAGTCATCCTTCTTTTCATGGCCTCAATCGTATCATC
+AACTGAATCCACTGAACTTCTCGAAATGCTATGGCAAGGCTTCGTGACAT
+AACTATGCAACGATGATGTCGGGAGACTACTCGATCCCGATGGAGTTGGA
+ATTTCCAGTAAGAGTGGTTCCATCTCAATTTGGAACTGGGAACTCTCAAG
+CTTCTTTAGTGATGGTTTGACTGTTCTATTTGACCGACGTGTACCAGTTT
+CTGTCTGATCGGATGAGGTAGAAGCCAGTGATCTAGATGAGCACGGTCTA
+GAATGGCCAAAGTCCATGTCATCGTCAATGGTTTTGTTGTATTTCCTTTT
+CAAAGCCGGCCCCTTAACTACACTACAGGTTTCCGATGACGTTGGTTGTT
+GAACTTCCAGCATTGGCGGAGGCGAAGGTGATGGCGAATTTTTATACACC
+ATAAATGGGACAACTTCTTGTGCAGTTTCCGCCAGTTTTGCTGTCGGTTT
+CCTTTGCCGATTTGACTGCCGAATCCCAAAGTCCTTTGTGTGTTCTTCCG
+AGCGTTTCGTTCCAGAAATGGATTGTTGCATCAAATATGCCTCTTGTTGC
+AAAAGCAGAGGTGGCGCATCTAAACTTAATTCCGCATCAGATTCAGTAAT
+AATATCTATACGTTTTTGTTGCTCTTTTGGAGATGTCACTTGCGGCTGCA
+CAAAAACTGCGGAACTATTAGGTTTGTTCTTCTTTTTGTAAGGACCTCGG
+ACATATACTCTTTCCGGAACTGGTTTTGGTTCCTTAATGTTGGTCTTCAC
+ATATTTTCTCTTTGGCTTAACTTCTTCTGTAACTTCTTCCTGAACTTTAG
+TCGAAATTCTTTGAGCACTGGTGAGACTTCTTTCAAAGTCATCGTCTTCT
+TCATCATCCTCTTCTTCTTCTTCATCACTCAGATCATCTTCACCTTGATT
+CTTGCCACTGGCTGCTGCAACATAATCAAATGTGAATTTTTTTCGTGCGG
+AGCGACGAATGTTGTCACATTCCAATGATACAGTGTTTGGCTGCATTCTG
+AAAAAAAAAACGTTAAATTTGCATTCATTTCCCGAAAGACATATGAAAAC
+AAAAAGACAAACTACAACGAAATTAATATCAGAATAGTAAGGAGAAGCAA
+GAAATTAGAAAATT
diff --git a/Demo/DQ6060.fa b/Demo/DQ6060.fa
new file mode 100644
index 0000000..24f01ad
--- /dev/null
+++ b/Demo/DQ6060.fa
@@ -0,0 +1,3 @@
+>DQ6060  TTA TETRAHYMENA THERM. CY SIN
+GGUUCCAUAGUAUAGUGGUUAGUACUGGGGACUUUAAAUCCCUUGACCUG
+GGUUCGAAUCCCAGUGGGACCU
diff --git a/Demo/F22B7.fa b/Demo/F22B7.fa
new file mode 100644
index 0000000..9cd7c20
--- /dev/null
+++ b/Demo/F22B7.fa
@@ -0,0 +1,806 @@
+> CELF22B7  C.aenorhabditis elegans (Bristol N2) cosmid F22B7.
+GATCCTTGTAGATTTTGAATTTGAAGTTTTTTCTCATTCCAAAACTCTGT
+GATCTGAAATAAAATGTCTCAAAAAAATAGAAGAAAACATTGCTTTATAT
+TTATCAGTTATGGTTTTCAAAATTTTCTGACATACCGTTTTGCTTCTTTT
+TTTCTCATCTTCTTCAAATATCAATTGTGATAATCTGACTCCTAACAATC
+GAATTTCTTTTCCTTTTTCTTTTTCCAACAACTCCAGTGAGAACTTTTGA
+ATATCTTCAAGTGACTTCACCACATCAGAAGGTGTCAACGATCTTGTGAG
+AACATCGAATGAAGATAATTTTAATTTTAGAGTTACAGTTTTTCCTCCGA
+CAATTCCTGATTTACGAACATCTTCTTCAAGCATTCTACAGATTTCTTGA
+TGCTCTTCTAGGAGGATGTTGAAATCCGAAGTTGGAGAAAAAGTTCTCTC
+AACTGAAATGCTTTTTCTTCGTGGATCCGATTCAGATGGACGACCTGGCA
+GTCCGAGAGCCGTTCGAAGGAAAGATTCTTGTGAGAGAGGCGTGAAACAC
+AAAGGGTATAGGTTCTTCTTCAGATTCATATCACCAACAGTTTGAATATC
+CATTGCTTTCAGTTGAGCTTCGCATACACGACCAATTCCTCCAACCTAAA
+AAATTATCTAGGTAAAACTAGAAGGTTATGCTTTAATAGTCTCACCTTAC
+GAATCGGTAAATCCTTCAAAAACTCCATAATCGCGTTTTTATCATTTTCT
+AACACATATTGACCATTTGGTTTGTTCAAATCAGAACAAATCTTAGCGAG
+CATAAAGTTAGATGCGATTCCAGCAGAACATGTTAATCCCGTGAGTTGTT
+CAACTCGAAATCGAATTTCTCGAACAGCCTCCTCTCGTCCAGTTCCGAAC
+TCCACATGGTCGTAGTAGATTTTCCGCGATTTTTCGCATTTTGGACAGAT
+CGATTCTTCGATTTTCAAGTCTTCCAAAGTATTTTCATTCTCGTCGAAAC
+GGGGTAACCAACATGGACAATCTCCGCCGAATCTGTGACGCTTGAAGGTT
+TCTAGTAAGCAAATAGTTTTTTGTTAATAATCAAATCTAAATCACTAACT
+TTTTTCTGTATTACTTGCCACATAGTCTGTCAAATCTATAAATGCCTCAT
+CCAATGACATCATTCCAACATCCGAATCGTATTCCATGAAAATTTGTGAA
+AATTGGCGACTGACTTTAGTGTATTTAGGGTAATTTCCTGGAACAATCGT
+TAGACTCGGACAAAGTTTATTTGAGATGAAGCCAGGCATTCCAGCACGGA
+CTCCAAAACGGCGAGCCAAGTAGTTGGATGTGCTCTGAAAGAATAGATTT
+AAAGCTTTTCCGAAATCGAAAATTTACTTTTCAAATTGAGTTAGGTGCTT
+ACCAGCATTGCCGATGAGCCTACGGCCATAGGAACTGTTCTCAGTGCAGG
+ATTATCTCTCATTTCAACTGCGGCAAAATAAGCATCCATATCTATACAAA
+CACAGTCTCTTGATAAATCTCTAGATGATTCCAGTTTCATCTCAAGATTC
+TCCATCTGAAAATTGGAAATTTGCTCTAAGTAAATTTATTAGCTTTTAAA
+ATACATACCAGTATCTCAGATTTTTGTCTTTCTTCTCTGGTTGCTGTTTG
+CAAACGATTTTTGATTTCTAAAACTTTCTCTTCAATTCTTGATTGTTGTT
+TTTTGGAAAACGACGAGTAGGACGCTGATGTGTTTTCTTCGATGACTTTC
+GTGATTTTCTCCTTATCCAGTCCATTCATTCCAGCTTTATTATCGTTGAA
+AGTCAGCATTTTTCACGAAAAAGAGCCGGATTTTGAAATTCGCGGAGAAA
+CTCCACTGATTGTGAGTGTGCAAATGCGCGTAATGGTGTACTTACGTACA
+TCGGCAACACATTTGACGACATATCAGAAAGCGGCGCCAAATTAGAAGTT
+GAGTGCGCGAGAAAAAACTACGCGTTAACCGCCAATTTTCACTTCCCCAC
+AGATCTGTCTCGAGATTCTCGAGTCATTTTTCAAGTTTATTTGTTTGTCA
+GCGGTTGTTTTATTGAAGATTTGTAAAATTTATAACAAAATGTGCAATAG
+TCTATTAAACCTCGTGAGATATTTGAAGAAACTTTCCCCGTTTTAAATAT
+TTCGTGTATTCGTGGAGATCGCGGGAATGTTTTGCCTGTTTCCGTAAAAT
+TCCTCTATTTCTTTTATTTTTGCTTGCAATTTTCGATTCATTTCAGAAGT
+TTCCACATTCGCAAAACGAATGGACGTCTCTTATTACGATGGTCCCAAGG
+ATGAAGTCGCCGAAGCAATGCTGAAAAGCGCGGTGACGGCCATGAGATTG
+GGACAATACGAGGATGGAAAAGGACGCTTAGAGGAGATAATGGAGTTCGG
+AACCTCAAATTTTCAACTACTTGGTACAATCTACATGTATTACGGAAGAG
+TGTGCAGGCATTTGAACCATGATGCCAAGGCCTTGGAGTTTTTCGAACAT
+GAGTTGAACATGTTCAAGTAAGTGAATCACAAAAATGAGCTGGACATTCT
+ATAACCTTAATTTTTCAGATTGATCTTCAACTACCCAGAAGCATGTGATT
+CCACACGTCGCATCGTCGAGCAGGCACTCAAAATGGGAAAGTTCCCCAAG
+GCTCGACGGTTTGCTGAGGATCTCATTGATTACACCAGCAATAAGAAGAA
+CGGAGAGAAGTATATCGGTCAAGCTCGAATTTTGTTCGCTTCCGTGTGCC
+TCGAAGGATGTGAAAGAGACGTCGAGAGTAATCAAGATGAGAAGAAGAAG
+CTTTTGTCAATATGTGCTGAACAGATTGCAGCCGTGAAATTGTTCAACGA
+GAATAATACGGAAGGAGCTGTGTCTGAGACCAAAATCATGTTACTTGAGG
+CGAAATGCTTGTCACTAGACGAAAAATACGAGGAATCGCGTCGCAAGTAT
+CAAGAATGCATCGATTTTGCCATCAAAACAGACCAGTTTGAAGCAGTTCA
+CATCGCCTATTACGACAAGGCTCTATATGCTGAGACAGATCTTCTTTTCT
+TTATTATCAGAGATCTCAGGTAATTTTTAGTTTTAACGATTAATAAAAAT
+ATCAATTCTTTATTCACAGAAGTGCTCTCTTCTACGCCACGAAATTCGGA
+AAAGAGCGAGATGTAGTCAAATATAAGTCGAAGCTATCCGAAGAGATGCT
+GAGAAATGGCGAATTCCACGAAGCATATCTCTACGGATTGGAAGCGCTTG
+TATCGATTCGGAAGCTTGGATTGAACGAATACATTGGAGATGTGTTGCTT
+ACAATCGCAAAGTGCCTCATTGCACTTGGAAAAAGACGCCAAGCTGCTTA
+TTTTATCATCTTGGGGAGTGTTCTGACCATCAACCAAAACAGTTTCAAAC
+TGTTCTACGAGCAGATCGACGTGGCGATGAATCAAGAGAGAAGCGAAACG
+GCAACTGATCAAGATGTATGCCTCGCAATTGATTCGTCTCCTGATCCGAC
+ATCCTCGAATGACATGATTAATAAGTTCGTCGTCGAACTGGAGCACGCAA
+CAAATGTGGAAACCTGGGAAATGATTGTCAACGGAATCATTGACGACCAG
+AAGAAACCAGTGGCGATCGAAAAGAAAGAGAACGAGGAACCCGTAGACAT
+GATGGATCTCATTTTCAGTATGAGCTCACGTATGGATGATCAAAGAACTG
+AACTGCCTGCTGCCAGATTCATTCCGCGTAAGAAATGTTATAAATAAGCG
+TATAAGTATGCAAATTTATATTTTTCCAGCTCGTCCAGTGTCATCGGCAT
+CGAAAAAGACTACAAAGAGTCACAGAATCCTCCCTGGACTCCGTGCCAAT
+TGGACAAAAGTGCAGTCGATGAAGTTCGATGGTCACACAATGAATAGGAT
+CCTGAAGAGGTCGAAGAAAAGCAAATCGTCATTGGATTCTACAAATTCGA
+TGCAGGGCGATGATACTCGAAGCGATGATGTGACAATGACGTCCAAATAG
+GACCATTATTTTTTCTGTCAAATAATACAATCAAACTTTCTTTATTTATT
+TTTTTTTTACTTTCTTTCAGTAAATATTATTATCATTTTAGTGGTTCTTT
+TATTTTATTTGCTGGTCAGAAAAGCTGATTTTTTCAATTAGCGAAAATCC
+ATCAAGTCATATTTCTATAGACTCTTTACTACATACGTTGATGACTTTCG
+TGATTTTCTCCTTATCCGGTTCATCCATTCCAGCTTTATTATTGTTGAAA
+GTAAATAAGCATTGTTTCCCGAAAAAGAGCCGGATTTTGAAATTCGCGGA
+GAAAAAGTTGAAAATTGAAAAATCCAAACGATGCTCCGATGTTCCGTCCG
+AAATGTGTGTTTTACCGTGACGGTGTTTGCAGACAGCTTGAAAAAACATT
+TATTTTTTTATTTTAATTTTATTAATTTATTATTTATTTTAGAATGTTCT
+ATATTTTAAAATGTGAATTTGTTTCAGGGTACTCGGAATGTTTGTCTTAA
+ACCGTTCAAGCGGGCTCATTCATCGATCTGTACCTTTATTAGCTCAAGTA
+TCCACGCCTACGACTTCCACAACAAAATTAGGTTAATAATTCTCCATTTG
+GTGATAAACCAATTCTTTTCTGCTTTTTTAAAACATTATGTTACAGCTCA
+ACTTCACACAACGCATGCACTAAGCAAAGAAGATTATTATAAGACTTTGG
+GTGTCGACAAAAAATCTGATGCAAAAGCAATCAAAAAGGCTTATTTCCAG
+GTAATATAAGTTTTTATCGAATACTTTGTAAGTATAAATACGTTATTTCA
+GCTTGCCAAGAAATACCATCCAGATGTAAACAAAACAAAAGAAGCGCAGA
+CGAAATTTCAAGAGATTTCTGAAGCATATGAGGTATTTTCAACAAACAAT
+AGAGCAGGCTCGAATCAAAAATATTAAGGTACTTTCCGATGACACAAAAC
+GTCAAGAATATGATGCATACGGAAGCGGAGGTGGCCCAGCTGGTGGAAGA
+GGTGGTGCTGGAGGTTTCCACCACCATGGAAATGTTGATGTTAACGAAAT
+TTTCAGAAGAGCATTTGGTGGAGGGGGTGGAATGGTGAGTTCTCCTTATG
+AATTCTTCTGAATATTATATTAATTATATAATTTTTATTGTAATTAATAA
+AAACTACAGTTTTATTTATTTTTTCGCTGATTCCAGGGTGGCTTTAATTT
+TGATAATTTTGCCCAAAGTGCTTTCGGACATTCTGCTGCTCAGGAAATGG
+TTATGGATATTTCGTTCGAAGAAGCTGTCCGAGGAGCCACCAAAAATGTT
+TCTGTAAACGTAGTTGAAGATTGTCTGAAATGTCACGGAACTCAAGTTGA
+ACCAGGTCACAAAAAGACGTCGTGTCCGTATTGTAACGGAACTGGAGCAG
+TTTCTCAACGTCTTCAGGGTGGTTTCTTCTATCAAACAACTTGTAATCGA
+TGCAGAGGAAGTGGACATTATAATAAGGTAGAGTTATTGATTTTTCTTTT
+ATTGTAGCTTTTAATTTTTTCTTCAGAATCCTTGTCAAGAATGTGAAGGT
+GAAGGTCAAACCGTTCAACGACGTCAAGTATCATTCAATGTGCCAGCTGG
+AACTAATAATGGAGATAGTTTGAAGTTCCAAGTGGGGAAAAATCAATTAT
+TTGTTCGTTTCAACGTTGCACCATCTTTGAAATTCCGACGTGAGAAAGAT
+GATATTCACTGTGACGTAGATATTTCTCTGGCTCAAGCTGTTCTTGGTGG
+TACTGTAAAGGTTCCTGGAATTAATGGAGATACATATGTTCATATTCCGG
+CAGGAACTGGCAGTCACACTAAAATGAGGTAATAAATCTCCAAAAATTGG
+AACTTAAATATTCATTAAACAATTTTCAGATTAACAGGAAAAGGAGTAAA
+ACGATTGCATTCTTACGGAAATGGAGATCAATATATGCATATTAAAGTAA
+CGGTTCCGAAATATTTGACAGCCGAACAGAAACAAATTATGTTGGCTTGG
+GCTGCGACGGAACAGCTGAAAGATGGAACCATCAAAGGATTGGAGAAAAA
+TCAGAAAACCGAGGAGAAGGAGACGAAGAAAAATGAGGAAAAGAAGTCTG
+AAGGTGAAAAAATATGATTTCAATTTGAAACAAAGGTTTTATCAAAAAGT
+TGTCTTTAAAAAATCGAGAAATTACCAAAAAAAATTCATTAATTTTTTTT
+TTTTAAACCGACATTATTGGTTGTAAAGATTCAAAAAGTTTGTAAAATTT
+TAAAGTTGTTTGAAAAATACCTGAAAGTCTTGTTTTTTTTTTTGCATTCT
+GATGCACTTGTAATCTCAATTTTTCCCCAAAACTGATTTTTGATTCTTTT
+CAATCCAAAATTACTAATTTATAGGTGCATCAGAATCACAAAAACGGAGA
+AGTGAGCCAGTAGCTGAGAATGCAGAAACTATTGACGAAAATCAAGAAAA
+CGAGGGATTTTTCGAAAAAATTAAACGAAAAATTTTCGGGTAAATATATA
+AATTTCTAAACAAAAATTAAATATTTTTGTTTCATTTGTATTAATTGAAA
+TTTTCCAGATAAGTCCGAGGAGAAGTCCGAGTCAAAAGAAGAGCCAAAAA
+ACGAAGAATCTAGTGAAACCCCCGAGAAAAAAGCTGCAGAATCCTAATAT
+TTGTCGCAATTTATCGATTACTGTCCCAATCTTTCCAGTTTTGTTCCCTT
+GAAATTTGTTTTGTCTCATTTGTAGTTCTATTAGAGTGATTATAGTGTCT
+TTTTTGTTACACTTGTTTTTTTTTTCTATTTTCAATTAAACCGAAACAAA
+TTTATCAAATTTTATTCAGAAAGAGATAACACAACTAGCAATGATATGAA
+GAGTTTTATGGATGAAACTGGATTTTTTTAGAAAATGGTCTGTAACTTGG
+CTGAACATGAAAATATCAAAAACCTCAAAATTGATAAAATGTGGTAAAAT
+GTTTTTCAGTTTTACTACACAACAAAGATTTTTTTATGAAATTAGATGGA
+TGTTGAGTTATGACTGGTAGAACAGAAAAGTTTTCAAAAATTTTTGTGGA
+TTTTGGTAAAATGGCTTTGACTCAATGTAACGCAACGAATAATTGGTATT
+TAAAAATGACAAAGATTTTAAAAGAAAGAAAAAACATTTCTGATCATTAT
+GTCAGTTGAACATTTGTTTCCTAGGCATTCATGTTTCAAGATACGCCAGT
+TTGAAGATACGCAGTTTAGTGAGTTTAGGAAGTTATATTCTCATTACAAG
+CACAGGTACATGAGAAAACAGCAGTCAAAGAAGGGCGGTATTTTTTAATT
+TGGAATTATATTTTGCTCCTTATAATATTGGGAACACATCTGTGCTGCTA
+AATTATTGTTTTGTTAATTTAAACCGAAACAAATTAATCAAAATTTATTG
+TAAAATAAAAATACAACTAGCAAAATATTTTATAGGACAAAATATGAAAA
+ACGGAATGTCGTGTGAAGATGGAATTGAAAAGATATGAAATCATTGTGAT
+CTGTTCAGGCAAACTTTATAAAAAGCAAGGTTTTCGGGATAGTTTGAAAG
+AGCAGATCACCTGGATGTGAAAATACGGTGACATTTTTTTGGAAAAGGGA
+AAGAAAATGAAAAAAAATCGATAATTTATAGAAATTTTAGCCCGTTTTTA
+ATTAGGGAAAGGGCGGTGAGTTAAGGATGTGAAATAATTGAAATTTCAAA
+ATGGAAAAGTGGTTTTTTTTGCACAGAATTTTTCATTTTTCATCTTGAAG
+GTTATATTAAACACGCGATGACTGTATTTAGAACCCATTAAAATAATGGA
+GAAAAATGTCTCAAAACTGAAATACTGATTTGAGAAAACCATTTTCCCTA
+TTTGAAAACTAAAAAAGATGACAAAATATAAAAATGGAAAATCTATTTGA
+ATGCACGATTGAGAGAATATCTTGAATGACAAAATCTACAACTTTGCATA
+TCAATTGCAGACGATGACGTGGAAATGGTAGCAGCATCGGCAGTTTGATC
+AATATATCGAATACATCGGATATCAGTTGGTATGAATGGTATGATGTGTT
+TGGAAACATAGAGATTCTCCACTATAAAAGCTTCTCGGGACATGTTACGA
+GCTCGCTTTTGCATTAAATTTGCGTAGAGTTCTGATACAAGGACTACCTG
+GAAATATTTCAATTTTCCGTTGATCAACATAAAAAAGCAAAAAAAAATGC
+TTTTCAAAAAAGGCAAAAGTTTTTTAAAAGTTTCAACTATATGCATATTT
+TTGACCACAAAACCAAAACAAAACAAACTCAATAATATAAGTAAAGAAAA
+CATTATGGAAATCATTTTCTCGCAAGGTCTTGTAAAACTAAATCGCACTT
+GAAACTGACTATTTATATATATGAGAAAAATGAAGGAGTCCTCCAAAAAT
+GATGCAACTCAAAAACGAAACATCAAAACGTATTTTTCAACATTTCGCAT
+TTCGCATTAGAGACATTTCGCATAGAACGGATTTATGTGGAAATTTATGG
+ACGTTTTCGTCCTTTTTAGATACATGAGCACATGTTCTCCTGTTTTATTT
+AGAGAGATGACTTGCTTTCAAAATTAAAAAAAAAAACTGCTTATACATAC
+CTTTCCTCCTACAACCGCCAATGCAGATCTAGCGTCTTGAATTTTTCTTC
+CGAAATAATGAATCTTTCGAATATACTGTACTCCTACCAAATCAATGCAC
+ATTGTAGTTATTGCAAGACCTAAAAATATTTTGAATTTTTGTTTTTTTTT
+CATTGAAAATTTACCTAAAATGATATAGAGCAATATGATATACATGTATC
+CGTCCCTTCTGGGCATCAAGTCGCCAAACCCGACCTAAAAATATTAATTT
+CAAAGAGTTCAACAAACTGGAACAAATTACAGTAGTCATTGTAATGAAGG
+ACCAGTAGAATGAAGTGAAGAAAGACCACGGCTCTAATTTTGACATTAGG
+ACACCGCCAAACGCTGTATATACTATCAGAATAGCTAATACCAGGAATGC
+AGGAATTCTGGAAAGACAAAAATTGAGATGAGTGAATTAAGTTTTGAAAG
+GTAATTTTCAAAATCCATTAAAAATGTATTAAAAATATTTTACAGTTTTC
+CAACGACCAAAAAATCTGTCGAACATATACAAAAAACCAAAGCCAGCTTA
+CAATGGAACCCCTAGTTTTTGTGATTGATCGATTGTTTCATAAATGTGTT
+TTATAACATTACGAACAAAAAACGCTTCTTGACTGGCAAAAACGTTTACC
+TTTTCTCCTCGATATTCATATCATGCCCCATTCCATGACTGTGACAGTGC
+TCACAAACGTGCTCTCTCCGTTCTTTTCGATGTCGTGACAATATGAGATA
+TTTTAATTTCAAATAGTTTCCATACAACCAAACAAGATGTTCAGATAGGA
+ATTTACCTGAAAATTATTAAAATTATAATACATTTTCTACATTTTCCCTT
+TAAAAACAAATTTTAGATGCGATTAGCTGATCGCAGTAGCTATCAGATGT
+AACTGATGTTTTTTTAAAAACTTCACGTACTACAGATTTTCTAGTAAAAG
+CATATAAGTGCCTGCCCACTTACCCAAGTCAGCGATGGTAACCAGTGTTA
+GAGGTATTCCAAGCAAGGAGAACAATATACACCATATCCGTCCAATGTTT
+GTCACTGGAACTGGATTACCGTATCCGATGGTAGTGACGACGGTTACGGC
+AAAGAAAATGGACGATGAAAATGTCCATGTCTCCGTTGCTGCGTTCTTTT
+TTACCTGAAAATAAATTAAATTATTTTTGAGGTATTTTGAGGTAGTATTA
+TTGTATTAAAAGTTTGAATAATTTTGGTTGAATTTGGAATAGGTTGAAAT
+CAAACTTTTCAAGTAAAAAACAAAGTTTCAATAGAAACAGTTTGAGAGAA
+ATGATAAATAGCTGACCGGAAATGAGTACGAAAATCTACTTTTTAAACTT
+TGAGTATGCTCTGAAATATTTTCCTGTTATTTCCTTTTTCCATATTCTGG
+CTTTCAATTATCTTTAAAAAATTTTAAAGACACATCTTGGTTAAGTGTTT
+GGTGAAACTATAAATCTAAAACTATTTTTAAAGGAAAATCCTTGTCCCTT
+TGGATTAAAAAGAACAAGAATAATTTTGAAATGTTTAATTACAGACACAG
+ACAATTGCTCAGTTAGCGCATAAAAAAATAAGCAGACAATGAACCAACAG
+AACAAAAAACTTGAAAGGGTCTCTCTATCTGACAAGTTAGAGTTTTGTCA
+TCTCCCGCGGGAACAGCTGAGCTTTCTCCACTTGTTTTTGTCTAATCTCT
+CCACATTTTTCATGATCTATTGTTGTTTCTATCTTTTGATAGTCACAAGG
+GACCTCTTGTGTTTTCCGTTTCTATTTCACACCGCCAAACAGACTCAAAG
+AATGGAAGGTTTTGTGGAAAAATAGGAAAAAGATGAATTGGTGAGGATTA
+TCAAGGATGGGGGAAAAGAGGTCGATAAGGAAATAGTTGGGTTAGAGAAG
+AACAAATAATAGTCCGGGTAGTTTGGATGGTTCAGATGTTACTTCTATAT
+TGATAAATTATAAGTTGTGTCGATGCAAAATGTTAATTTAAATAGCCGAT
+CGTAGTTTGAAGCAATCAGTTTACTGGTCAATTTCCGGCACATTTCGGCC
+AATTTTTGCCAAAATATTATATAAGTTTAGTTAGAAAGTTTTCAAAGCTG
+GAAATAAATTCGGCAAGACTTGGCCTAGATTTCCAAGTTTAGCTAAGCTT
+TGATTAAACTTCTGTCAATTTTTCATGAAAACTGTTCGTATTTTTTTATA
+GGGTCGAAATCGGGATGCCTGGAGTTGTGCCCGGATTGAGAAAAAAATTT
+GCAAATAGCCATCTCAATTACTCAATTACAAATTGCTTGCAATACATTTT
+CCGTACCTTCTGGTCGTCACATGCAATCTTTACAACAAAAAGTCCTGTCA
+AACTCACCTCGTTACTCGTCAAGAAATACTTCTCAAATGCGACAAACAGC
+TGATCGGACATATTGTGCATGTGCCGTTCGGCTAGTGACTCCCATTCGTA
+TCGTTCTGCAGACAATTGTGTTCAGGAAATTTTGTGGATTTCCATTTTTT
+GCCAGTTTGGTCGAATTATGTGTTGTAGGTATTGTCAAACAAGTTTCGTA
+AATTTGGCAATGTGCCAAAACTTTCAAAAAAAAAAAACAACGCTTTTAAA
+GTGTTTTAAAATACTTGGTCAATCTGAATTAATATAATTGCATGTAAATC
+CCCACTACTGATATTAAAAAGTTATGCCAATCTAACTTACTTGTCTCATT
+TCCAGCAGCCAAACGAATTAAGTCGTCAACAAACTCATTTTGACGAGTGT
+AGATCAGTTTAAGCTGAAAACTATTATTATTTTGAAAATTTCATATAATA
+TTTCGAAATATTCATAGAAAGAAAACAATTGTGTCCACAAAAATGCTGTT
+GTAAATATATAATTAGGTGCACTCATGTGCTGCCAGGTTGTTCTTTGTTG
+AAAAATTCGATTTCAGGATGCCATAAAGTAAATGGGAAAATATAATGGAA
+TCTAACGCGACATTGTTTAAAATACTTTGGCCGCTTGTGACGCCACACTG
+TTAAGTTTTAAAAATATATAAATTGATCCAAAAAAATTGAAACTAACTAT
+AAGCTTGACGAATAAAATCTAAGAGCCTAATATAAAAAAGAAGCTTTTTC
+TCATGCTAGGTACTAAAAAAGGCGCCCGAAAAGCACCTGGCCACCGCAGC
+CTTTTTTCCAGAAAATCGGAAGTCGTTCGCAAAGAAAATGGAAATGCTTG
+AGCCAACTGAGCCCATCTGCCACGTCAATGAAATAGGCAGATGGCTGAAT
+CGAACGGAAAAGAAGAAGGATGTGACGAGTGAATGAATGGCTTTTTGCGT
+TGAAAAAGTACCACTTTTGGTAGAATAAGATGGGCGAGTGGGAGTGAAGG
+AGTAGAAATAATAGAAATTGAAAATTGGAAACTTTTTCATAATTTTAACT
+AGATTAATTTTAGATGTCAGAGATAAATCAAAATGTGCTTCAAAATAAAA
+TAGTCTGAAATAGTCTTAATCCTTTTTATGCAAAATAAAAATTCGAACTT
+CCCCGAAATTCAAGTGGCATAATTGTTGCAATTTACACAGTAGTTTTGTG
+ATTTTTGCGCCAAAAGACAAATTATTATCAAGTGTGAAAAAAGTGTGCGC
+CTTTGAAGAGTACTGTAGTTCTAAACTCTTGTTGCTGCAGGGTTTTTCAA
+AGTTTTTGTCATTTTTTTAATGTTTATCTTTATATTTTTAATTCATACAT
+GTATTTTAAAAATATATTTTTAACAAAAACTGTGAAAAATCTAAATAGAT
+TTCGCAGCAATGAGAGTTTGCAGTTACAGTTATTATATATCTTTAAAGGC
+ACACACCTTTTTGAAATTAACAAACAATATCGAGTCGAGACCGCGTACCG
+TATTAATATCGCAAAACTTAGAGTTTTATTTGTTTTTATCTTGATGAAAG
+GCTTTTCAGGAGAACGTTTTTTTTTCAAGAAGAATTATCACCTCTCTCAC
+GAATTATCAACTCGTTCTCATTTTATTTCATTTTTAAGTGTACATACACA
+TCGCTGTTAGTTACCATCGCACGGATGGCCGAGTGGTCTAAGGCGCCAGA
+CTCAAGCGAAATGCTTGCCTCATGCTCGAGGTCGACTGGGTGTTCTGGTA
+CTCGTATGGGTGCGTGGGTTCGAATCCCACTTCGTGCAGAATTTTTTATG
+TTTTCAACCTTGACCAAAAGTCATATTCATCCAATTCGGTACCCTATTTC
+TACGTTATCTTGTTCCTCAAACGATGGCCTTATGTTTTGATCTTCAACAC
+TGCATAAGGAAATGTATACCAAAGACGAAGGTCGTTTTGATTTTTCAGTA
+ACTGGCAGCAATGATCCTTAAATCAGACTCCCACGCCCCTTCCGTTGAAA
+ATAGGGCTTCGATCGCCAAACTAATCTTATAAACACTAGAAAAGTTTTTG
+TTAAAAATCCGTATAAAAAGGGAATAATGTGATGAAAAAAGGCATCAAAT
+TTCAAATTTGAACATTTCAAGCTTAACTCGAACTTCAGCTTTCTCGCGAA
+AAAATGAGTCAAATCTTCCAAATTCTTGTGATCTTCGCCATTTTGTCAGC
+ATTGCAAGTGAATGGGTAGGTGAAGTACAGTACTTTATGGCATCAAATGA
+AATATACTCAGATTCCTCTTTCCAACTTATTCGTCAGGATATGACTACGA
+TTGTTATGGATACGGTAACAATGGTTACGGTAATGGTGGATACGGCTATG
+GAAATGGTGGCGGATACTATGGAGGATACAATGGATACTAAATAAAATAA
+ATGAATACTTTTTGACGGATTTTTCATTGAAAATTTATTTAATAAATGTT
+AAGCATTCATAAGTCTTGATGTAGCCTACCCTGAAGTATGATTTCGGACG
+GAATTATTAGGTGTAGGTCGTTTCCTACGTTTGCCTTATATGCAGGCAGG
+CACGCCTTCGCGGAGATCAGGGGTGTATTTTTGCTATCGGGCAATCAAAT
+GAAATATAGATTTGAAAAATTTTGTATTTTTTTTTTCTCTAAATGTTTTC
+AATTTTCAAGCTCAAAACATTTCAAGCCTAGAAGGAATTGTTTCAAATTT
+CTTCTCTCAAGTTGTGGAACTATTTCCAATATAATATATTTATTCCAAAT
+TACTCCCATGTGAACTATAGAACACGTATTGTCTCATCATTTCACTTTTA
+TAGTTTCTGTATTACAACACTTGAATGAATGCTTGGTGTAAACAATTTAT
+CAATGTGATAAACAATTCGATTTGACGAATTTTTCCGAATTCTCAGGATG
+ACCGAGTTTCGATGGTCAGTGGGAGTAAATGAATTGGGCAAATTGGTAAT
+GGAAATCTAGTTTTTATGGTGAGTCATGGCAAAGAAATCAAACATTTAAA
+AATTACAAGTGATAAACCATGAGTAAACTTAATCAGGCAAGCTGGCGTTA
+TCAAGTTGTTCAGTTGTTATAATAAAAATTACAAAAAAGATTTTCAAACA
+ATGTAGATTTTTTCCACTATCAATATTCGGTAACTCAAAATAAGTCTCCG
+TAGCATAGGACCTGGCAGCCTACACCTACATCTACATCTACATCTACACC
+TACCCACACTACAAGTACACCTAAATTAATGGTTCAAATGAGTCAAACTA
+ACCTGTTGTTCCTTCATCATTTGCTCGTGCGGCTGCTCAACACTATAAAA
+TATCAATGCTCCAATTACTGTATATGTACACGTTAGAAGTACAAGTGCAA
+CATGAGGTAGGACGAGTTTAGCAAACTGAAATAGGAAAATCACTTCAATT
+AAAATATTAGAATAAATACTAAGTTTTCAATTTTTAATTAATTAATTTCA
+ACGCGTTTGAATAATTTTGTTAAACTGTCGAGGAAAAAAATCTCATAGTC
+AGCGATCGAATTCTCACGAGTTCTGCCAATTTTTCCTTTTTTTTTAGATT
+CTTGTTTCCAATAGATTACCTTCCTGATTCCAGTCTCCTCTTCTTCTTCA
+TCTTCATCTTTACTTTCATCATCACTTTCATCGTCGATATCTTCATGGCC
+ACTCTGAAAAGTTGTATTAACTTTTTAAAAATTCAACCAAAAATAAAAAT
+AAACAACTGTGTGAATCAAATGAAAAACTTTTAGTTAAAATTCTATAACA
+TTGAAAATTGTATGAAACTAACAATAAAATCACACAGTTGACTATTTTCT
+TCAACGATCCATTTTTGCTAATGATTATAAAATGGTTAGCATAAAAATCC
+TTGTAAAATCAATAAAAACACACAAAATGGGTATATGGGAAAGGGGAATA
+TAAATGAAAAATTCCATGCTTCTAATTCCAAAACCTACTTAATAAACTCA
+CAATTATGGCTGAAATCAAGCTGATTTCTAGCTCAACTTCCTCATTTTCA
+ATGAAAATTTTTGCAGATTTTTTCGATTTTTTTATTTTCCGATTTGCGTA
+CGGACATTGATGAGGGTTATCTGGTGCTTCCTGTTTTACAAGAGTTTTAC
+AAAATAGGGAAAAGAGCAAAAGGCACAGTAAATCTTGTAAATTTAGAATT
+AATGAAAACAAACCTTATCACAACTGTGAATTAAATGACTATCTTCATAA
+TATTCAGCTCTTCCAAGTCCAGCTCTTGTTACTTCTTCACCGAATAAAGC
+TTCCTGAAAATAAAGGGAAAAGGGCATGCAAACGTTTTTGGAAAATCATG
+CAGTTTTTATTTTTATTTTCTAAGATGCATTTTATTGTCCACGGTGTTAA
+CACCTGGTAACTCTATCTATATATGTTTTTTTTTGAAATTTCTTATACCT
+TTAGCTCTGGTATACCTAATTTTTTTAAATATTAATTTTAAAAATTACAT
+GCATTACTAACAGAGATAATTATTCTGATCATTAAAATTTTGTGATTGCT
+CTGGTCCTTGTAGATAAAAATAGACAAAATAATTACCCTCCTCAAAACTC
+TCAACTCTTCATCTGTTGCCACGTCATCTCCGTAAATCAAGTTCTCAAAA
+ATTTTAATATTATGATCAATTGAGCCATTATTATTTTCATAATGATCTGG
+TTTTGTATAGCCACGTTTTTCATTTATAAAAAACTTTGCGATTCCAAAAA
+ATTCCATTATGAAGAATTTGGAGACCGTGCTGAAAACATCCATCAAAATT
+GAGTTAAAGAAAATCGAAATAATTAAATGAAATTGAGTTGAACGTAGGAT
+ATTTATTAATTTGTTTTAAAATCAGTTTAAAACCATTTTTGACGAATCTC
+AAAGCATTCAAAAATAAATAACAGAACATGGGAAAAATTGTATGAGTTTA
+TATAATACGTTTTCTCATGGTACTATTGATTGATCAGTGACAGAGTTTTC
+GATTCAAATTATTATGTCGCCTTGATCAATGAACTGAATTTTCTGAAATC
+GTATGTCATACTATTTACTAAAACTTCACAAGTCATAAAAATCAAAATAT
+CAAAAAAAAAGGATCTAGAGAACTTTCAATTTTTCTCCGTTTCAAAAGTG
+TTTGCCAAAAACCGAAATGGGAGTACATTTCTGAAGATTCCTTTTTTCTT
+TTTTGTTCAAAAAAAAGTTGTTAAGCTGGAAAAAAACTTTGGTTTGAAGA
+GATGGAAGTTGTCTTGGACACACTCACATTTTTGATGGACAGCCTATCAG
+CGAACCACTTTTGGATTCTTGGCGAGAAATTTTTGAATTTTCGAGTCAAT
+TTTCATGTCTAACTTGAGTATATTTATGACAGATATCACATTTTTCGAAA
+ACAACAAAACAGAAATAAAAATTTATGAAAAACAGATTTTTTTCCGGATT
+TCAAAATTGTAAACTAGAATTTAGATTTTTTCTATTAGTAATGCATACAA
+CTTTTTGGAAGGAAAAATACTAGAATTTTAGTAAAATTTGTTTTTTTTTA
+ATTTTCTAATTTCTACAATTTTCCAAAACCATGCAAGAATCCATTCAATG
+TCACCCAAAAAAGCAAAAGTCAAACAAGAAAAATCAATTAAAAAAAAGTT
+GAACCCTTTCAATTTATACACTCACCCTTCTCTGCCGTCTATGAAATCCT
+TCTGGAATTTCAGTGACTCGATCATCCATCTCATGCCGTTCAAGTTCTTC
+ATAGCTGTCATATTCAACTCCTACGTGGTGGTATGTTGAAGCTGCAACAG
+AAAAATTGAACATCAAGTTATTTCTTACAGCTTGAACCTTCAGCTCGCGC
+AGATTAAAAATTGGTAACTCCGTTGCAAAAAAGATGGAGTTGCGTTTTTG
+GGAAGTTTTCAAGATTTCTTACTAAGAAGTTTGGTACTTCGGAGTTATGT
+TGAGTATAATAGGGCAACTACCCAAGTTTATTCTACCTTTAACAATCCTA
+ACACTACTTACCGTAATCATCGTTATTACGATGAAGCAATGCTTCATGTG
+GATTATCACCTTCCTCTTCCATAAGTAGACTGCCACCATCACCACTAGAG
+TCAACTCGTTGATATCCACGAGATGATGAAGTCATCGCTGATGACGTGGC
+ATCTGAAAACTCAATTAATTGATGTTAAATTAATTGTATTATAATATTAA
+GTTCAACTTGAATTTTCTGAATGTATGGAAATTGAGCTTTTTTTTTAGCA
+AATCGCCATTTTGAAAACTCTCATTTTCAAATAGGGTCTAAAAGAGACAA
+AAAGGCAATACCTGTTCATAAGACACTGTTTGAAATTTTCAGTGAAAATT
+TTGGCAATATGCCAAAATTGCAAAAAACTACAAGTTATGATATAAGATGC
+TACGAGAAAAAATAAAAATGTAAATTTCAATCTACATCTTCTAAAAATTG
+TAAGAACATCATGCAAAACCTGCAACAAAACCTTGAAAAATTGAAAGAAA
+AAAGAAAGGTGAGGTAATCTGAGTCAAGGTGGAATGATGGAGGTTGGTGG
+GAAGAGGAAGGAAATTCAAAACCGCATAGACACCAAATATTGCAATGTTT
+GACAGAGGGCGACGAGGAGAGGAAAAAAACGAGATGAGCTCACGGGCGGA
+AAAAAGTTTTTTTGGAAGCGCTAAACTGATTAGTCAGTGGCGGTGGAGGA
+AGACCATTGGTATTGGATGGATAGCCCCCAATTTCGATGATTGACTTTTA
+CACATATACACACCAAGCTTTTGTTTAGAAAAAAGAAACAAAGAATTGTG
+TGTGTTGTAGGATGCCATTTTGAGGCGTGTGATTTGATAAATGAAGACTT
+CAACACCACTACTCCCTTGAGTCCAGATGAATTGAAGAACACGAAAAAAC
+GATTTATAAACAGATGGTTTCGTGTGGTTTCTGTGTTTTAAAAAGGCTGA
+CCAAAAAACTTCTGTTTTACAGGACGATGTGAGGGCTCTTCCAAGCTCGT
+TCTTTCCTCGCGCCTTACCGCAACTACCCATTAGTTTATCTGTGAGTTTA
+TTGAAATACAGTAACCTAGCTTCACCGTATTTCCTCTAATAGTATTTCAC
+CACACCACTTTACTTTAAAAGGTTATATCTTGGTGAACTTCAAAGATATG
+AAAAATTATAAAGTATGAATCGACTAAAAAACGAATATTCTTCCAACTTG
+AAATTTTTGAAAAGAACAAACGACAGCTGAGATATAAGTTGTTAAAGTTG
+AACAATGGGGTCCAACACTAGTAGAGGATCATATTACTCTTTGTAAAACT
+TTTTCGAATAGTGGAAAACTTAGTCGTAAATACACAAAATTAGACTCTAG
+TGACTCATAAATTTCGATCAAAATCTTTGAAATGTAGAATTTTTTGCCAG
+CAAGTTCTGTGAGCCACAACAATCAAAGAAGAAACCATGGAAAATGTTGA
+ATCGGTCAAAGGAAATCGCGGAAAAAGTAGTGGAAAAGGGGCAAAAAGTG
+AAGAAGAACTAGGCAAGATTAATGAGCCGCCTTTTTGGCTCTGAAGAGCC
+ATGTTTCCCTTGTGAGCATCATTTCTTCCGCGGCGCAAAGAATACGGAAG
+AATTGGAACAAACTTTTGATATTTGTTAAATATTTGCCCTTTTGGAAAAA
+ATCGTTGTGGTTGTGAAGGAAAAAACTACAGACAAAACATTTGTAAAAGT
+CGAAAATTGCTTGAAAATTTGCGAAATCGGTGAAACAATCAGAATTTCTG
+GCTTTGCCACCAATACCTAACGAGACCCTGCGTTTAGGGGCGGAGCATTT
+TATTAAGCCATGGAGCGCGATTACACCTTGGAGTGCTTTTCGAAAAAAAC
+CAAATTCAAATAATTTTTTAAAAAATCGAGAAATTATAAGTTTTAATTTT
+AACTTTGCTCTATTGATATGGGTTATCTAGAAGCTAGACTCTCTATAAAA
+AATCGAATAAAAACTAACGCGAATAAATCTTGAAAAGGTCGGAGTGCTCC
+CGAGAAAAGTTTTTGTGCTCTTTTCGTCGTAAGACTTCAAAAAAAGAGGC
+ATTTGGTTTGAAAAATGGCTCTGATCTCTTCGGTTTTTGCCCTCTTTTTG
+TTTAGAATATTTCATCTGGAACAATATTTGGAATCACGGAAAGAAATTTG
+CAGATGGTATTGTTTATAACTTTTATATATTTATGGAAAATCACTCTTTT
+GAATAGATTGTTCCACAAAACCTCACAAAATACTGAAAAAAGGAGAAATG
+GAAGACAGATATACAACGATATAACTTTTTTTGAATATAGGTTAATAAAA
+AATATTTGTGGGGGAATATTTGAAGATATTGGCATATTGAAAAAAAAAAA
+GAAGAAAGCGGCTACCTTTGAGTTTTATGGACAATGGAAATGGGAAAAGA
+GAAGGAATTTCATAGGTAGCTAGGAAAAGGTTCTAGTATATGGAACTACG
+TTTTGGGTATTATAGAGTTCAATAATATGAAAATCAATTTAATGATGGCA
+CAGTTTACACCCTATTCCCGGCAGTCGAACACAAACTTGTGCAAAAAATA
+GTATGTCATTTTTGTTCTAATTTTTCCGAGCAGTCATGTCCGAGTGGTTA
+AGGAGATTGACTAGAAATCAATTGGGCTCTGCCCGCGTAGGTTCGAATCC
+TGCTGACTGCGTGTACTTTTTATTTTCTTTCAATTCATAGAGTAATGCAA
+ATTCTATTAAAATCGGATACAGTATGTTATGAAAAAAAAGTGTTCTTCTC
+GAAAGTATTTGGCCTCGCTTCTTCAGGCTGCTGGTTCTAGAGCAGCAGTC
+AACTCAATTGTTTTCCACTTTTCCTTCTCATTTTCATTTTTTCATCGCTC
+CTTTTTCGTTCCTCACACTCCTCTAATTTTCCCTTTTTTACTCATTTTTG
+GAAAAAAAAAAGAAAAGGAGGTCTTATTTTGTAATCCTTCGGAAATTCGA
+AAGCTTGAAGAAAAACTAATAATGATGGAACTGTGTGGATTATTGAACGA
+GAAAAAGTTTTAAAGGTGCATACAGTAATTTGTGTGTGGTCTCGCCGCGA
+TCTATGATATACCAGCAAATACGGGATTATTACTTCAATATTGATGGAGA
+ATGTACATAGAGGGAACGGGGTTGGGTATCGCTGTCAGAAAAATACTGAA
+AAACCAAAAAAAAAATCCAAAAAAATTGTTTTTCATGATTATAACCTAAA
+CTTCATGAGTAAAAGTATCAAACTATCTCATTCTGAACAAGTTGAAAACC
+TCGGGACCACCACACCAAGAAGTGAGAAGCGCCCTCTTTTTGGCCATTGT
+TCCCGGGGGACAGTTTTGCGATTTGACATAAAAATCGCGAGAATAGTGTG
+TGAGATGAAGAAACGCAGAGTAGTAGAAGTAGGGGTATACGATGTTAGGC
+AAAGAAAAGGAGGGAGCTGGAGAAATGTGTCTGAAGAGCACTGACTGACA
+AAAATGTGCAAAATGTCGGAAGGAGGATGGGTTTTCATGTTTTCGGTGTA
+AAACTGACATAAGAAAAACATAAGAATATTGGTAGAAACTGGTAGGGGTT
+GTTAGGTTTTTCAATCTTTGAGAAATTGACGAAAAGTTGAAGTCTTCCGA
+ACTTTTTTGTGAAATTTAGGAGAAAAGATCAATTGAACGTCGGATTGAGA
+ATTTAAAACTAGATAAGTTTCAACTCAAGCGACGTTTGAAAAGATATGAA
+GTTTTAAATGAAAAATAAACGAACATTTTAAACAGGCAAACAATGCCTGC
+CTACGTGCTTACAAGAAAATTGAAACTAACAAGTAGGGCTACCAAATCAG
+ACGTACGATTTCACTGGATTCCGGACGATCCCGCCCCTTGTTTGTTTCCA
+ATTTACAAGAATATAAATGGTTAGGTTTTCTACGTGCCTACACGTCAACT
+TCATGACTGCCTGCCTACTTGCCTACTATATGGATACCGTGGCGAGGTCT
+TCTGGTTTTGCAAGCGTGCAGGCAAGCAATAGTTTTTTTTCTGTATAAAC
+ATTCTGGAAAATTTAACTGACCGTGGTTTATCAAATACTTCAATACTTCA
+AAAATACAGTTTAAAACATAATTTTTCTTTTTTTTCAACTTCTAAACTAA
+CCTGTTGTAGATTCATCAATAGCCGGAATATCTGATTCTATTGAAGGTTC
+GAACGGCTTAGACGGCGTAGAAGCTGGAACTTTTCAGTCTATTTTCAGTT
+TAAAAAACTTTAACTAACCTTTTTTGAAAAGTCGTAAATATTTTGCTCCA
+GTTCCACGTGGCATGATAGCTGGGGAGCTTTTTCAATTTTGTTTCCGATT
+TCAAAACAATTTTCAAAAAACACTGGTAAAGTGCACTTCCTGCTCAATAT
+CAGCCAGACAGAAACCAGAAGAACACAACTATTTCTGTCTATTTTTCTGA
+GAGAAAAAGAGCATTTTGAGCAATTTTGAGCCAGAGAGTCCCAAAACACA
+TTTTAATTTGAAGGATCCTTGCTCCTGAGCCCCCAGTTTTACGGGTCAAG
+TTAGGCATAATTGAATATGAGGAGGCGCAGAAAAAAAGAGAAGAAAATAA
+ATGAAAATTAATTTTATGGAGCTAATTTTTGAAAAAGAAGCAGGAACTAA
+TGTTTTAATTGTTCGTAGTTTGACTTGATGTGTGGTGAATAGTGTTTTAG
+TGTTTCACTGATCCTTCAAAGTAGATGTTGCACCATGGTCGAGGGCGCTT
+TTCAACCGCTTTGCTCTGTGGACCACAGTTATTTGAACTTTTCTAATTAT
+TTTTTTTTGTTTTTTAGTTTAAATCAAAATAGTGTCACTATTTTACTTTT
+TTTTATATGAACAAAACACTGGGAGTCGGGGTTCCAAATTTTATGAATTC
+ATATCACATCACAGCGATTTTTGTATTTTCAAAAAAAAACAAAATTTCAG
+ATCATTCTCCGGAGGTGGACAGTAAATGTTCTCAAATCAATAAAATTTAA
+TTCGATTTGTGATCCCAACCATCAATATGCATAAATATTTCCCAGATCAT
+TCGAAGAAATCATTCGAAAATGCGTCTTCTTATTCTCGCCCTCGCCTCTT
+TTTCCGTTCTTGTGAGCTCTTTCATCGTAAGTTCTTCTTTTGACTAAAAC
+TGTGTGAAAACCGTGGAAATACGTGTTTATCAGAGTTAGTGACGAAATTT
+TACCTTTTAATGGTATGATGCCTCGTAAATTTAATCAAACCTCTGTAGAA
+AACTCGTGTCATGTCAAGCGATTCGAAATCGATTTCTGAATGTGAAACGG
+AAACCCGTGTCACTTTGATGTCCAAACGCAGGAATAATTCCTTTGAAATT
+CAGATTCGTACTCATGATCTGCAAAATGCACCAAAAGCAAGAAGATTCCT
+GAAAAGTTTTGATCAACCTGAAGTAGTTGATCTTACTAAGGATCCCACTA
+CGTTCCAGGAGTTTACCAAATTCTATGTCCAACTTCTAATCGACGTAATC
+CAAAAAAAAGACACCAGAAGCCTTCATGGCACACAATAATTACCTGGATC
+TTGAAATGTTGTTCAATGAATGTAATGCTCAACATTACGAAAATTTAGGT
+TGGTTTCTGTAATAATATTTCAAAGTCTTTTTTAATAAAATTTTCAGGAA
+TGTTCTTCAAATGGCTTCAACAATTTGCTGCTCATCACGAAGATCCAAAG
+ATCACAATTAAAGATTTCAAGGGAGATAAAACATCAGGAGAAATGATTCT
+TCATGTTAATACCTTCACTTTATTCAAGTACAGACAAGAATTTGACATGA
+AAGTTAGCGCTTTGAATGTGGGTTATTGAATCAATATTTTGAAGACAAAA
+CTAATTTTTCAGGACAATGGACTTGGGTGGAAGATTTTGTTTGTTGACCG
+CAGTCTTGGGTGTAATTGATTCATTTTTTGAAACCGAATAAACTAATTTG
+TTAAATTATTAAATTAGGCAATGGGACAGTCTGGAAGTTGCTAGAATCTA
+CCGATATTTATTAGATATTTATTACTTACTTGCTACTATGTTTCACAAAA
+CAATATCAGAGAAAAAAAATCAAAACTGAGAAAAAACGAAACAACTTACC
+GAACAATAGTTAGCATTGCTTTGTACAAAAAAAACTGTGAGGCTATTGGA
+GCACTCCTCTGATTGATCCGGTCGTGAGTATTGATTTTGTTTGTCAATTT
+GTCTAGGACGCAATTGATTCATCGTTTGAAAAAAAAGCTCGTTCATTCAA
+AATCATTGATTATTTATTCCATGCAGAAAACTGTTTTATAATTCTCGATA
+AAAATGTTATATTTTAAACTGTAAATATTTATTTTTCCACATGATATGGT
+CTAACCGTGGGCGTAATATTTTCGGTTTAGAACGGCTGAATCGAATCTTT
+TGGACTGCAAAGACGGATTGGATTTTGAAACAAACTACGGTGTTTTTGTG
+ACAGTATTAGTCAACGAATGGTAATTAGGCATATGTTTTTGGAACAACTC
+ATAATTTCTTGTTGGAAAACAAAAGTGGCAAAGTATAATTATTTAAAACT
+CTGACAAATCTTTTGTCTTTTTTCTCTGGTACTCCTGTTTTTAACAGTGT
+CCTTATTATGCTCCTATTACTCTTGTGTTGTGCACGTTCTTTTGAAATCT
+ATATTGCAGAGCGGGAATGAATTTAAATAAGAATAATTCAACTTGGTCAT
+TCAAACAATAAAACGCCTACCATTAATATATCCAAAATAAGTTCTTTATT
+TTTGCAAGGTATTCAAATATATCAATAACTCGAGCCTGAAGAAATCCACC
+GCTAGAACATAAAATTAACGATAAATATTAAGGCAAAATGTTTGGGCCGA
+ACCGGGAATCGAACCCGGGACCTCTCGCACCCGAAGCGAGAATCATACCT
+CTAGACCATCCGGCCACTGCCCGGCTGGAGAAAAATGGGGGACTTTGAGC
+GTTACAACATTCTCGAGGCCCTCTCGAGTCGAGGGGGACCGAGACGGAGA
+GTGCTAGGAAAACCAAGCATATTTGGTTTTTGAGTATATAGTCGTACGAT
+TGAGAGGAAGCAAAGATAGATTTATAGCTTTTAATTTATTTTTTCTAGGA
+TTTTACGTAACATTAATTTCAATACTGATTTCGAGATTTGTCTTTTGATA
+GATTTACAACATGGTTATCATCCGGTATACTATTGTATAAAAGATGGTCC
+TAAATTCTATGAGATTATTTTATATTCTCTCTCAACGAGATGCTTCTTCC
+AAAAATTTCAATTCTTCTATATATTCTCGTCGTTCTTCAAGAAACAGCGG
+CTGTCCCGGTGCTCTTTTTCGCTCCGGAAGAGCTGTTCCGTTTGAGCGTG
+TCGTTGGACAACAGGTGAATTTTTTATTTCATTTTGAGTGAGCCATTGTA
+ACATTGGATCATAAGAGTCACGTGGAAAGTAGAACAATCTCAACCCACAA
+GTTAAAGCCTAATATTATTCCAATGCCTCTAGTAAGATTTTTATAAAAAT
+AGAAACCTCGCCATATTAGCCAGACACGAGATTTTTACGATTTCTTCGTC
+AAATATACGGTACCCAATCTCGACACGTCAATTTTTCAATAAATGCAAAA
+AGATGTGCGCCTTCAATGAGTACTGTAACTTCAAACTTTTGTTGCTGCCG
+AATCGACTTAGTTTTGTGAAAATATATGTATTCATGTTTTAAACAACTCA
+GAATTAACCCAAAAATTTTAACAAAAACTTTTTTTTAAGCTATGAAAAAT
+CAATTTGAATTCGGCAGCAACAAATGTTTTAAATTACAGTATTTTTTAAA
+AGCTTACGCCATTTTGCATTCATTGAACATTTGTCGTGTCGAGGCCGGGT
+ATATTTTTGACAGAAAAAAAACAAAATTTCAGGTTCGTTGTTTTTTGTTG
+TCAAAATTATAATGTGTTTTAATATCATATCAAAAAATTAGTCATTTGAT
+TTTCGATAGATCAAGCTTCAGTAGAGGTTTCTAATCATTCGGAAATATAC
+ACAAAATCTTGAATTTACACTTCCGATCAGTTGGAGAATATCATTGATCT
+ATCAATAATGTTAGATTTTGTAGTTGATATTTTCACAAAACTCTCAAAAC
+TTTTTAACATAAAAAGTTGGCATGGTGCGTCTTATAATTTTTGAATAACT
+TATTAAATTTCTAAAATTAATATAGAGATTGGCTCCCACATGTCGAGAAG
+TTGAATTATTTGTTCCTTGTCTATTCACTTCTAACCGTGATTGTGTTATC
+GACAAAATATGTGTTCATGAGAAACCACTTCCCCTTTCATCGATTTCTGT
+GTCAAGCCCGAGTCCAAATACAAAACGGGAAGGTCATCCCGAGTTCATGA
+GCCAAATTGCGCCGCCTAGAAGAAATGTGAGAGTTGAGCACAGCATTCAA
+CAATTTCTAATCAGCTTTCAGGACTTTTTGCGATTCGGAAGAGCCGGAAT
+GGCTTCTGGAGTTGGTGGAGGATCGGAAGGAGGACCTGATGATGTGAAGA
+ATTCGTATATTCGGGTCAATGGGGAGCCAGAGATTGTTTATCAATAAAAT
+AATATGGATTCGATGCGTCCGATTATTTTTTTTTACTTGATATTACATTC
+TCGAAACTATTGTAATGTGTGGGGAATCGTTATAAATAAAATATCTTCTT
+GTTAAACAATTATTCCATGAAATATGAAGTTATAAAGATATAATCCAGAT
+ACGAAACTTTGAGATTTTCGTCCGAAAAGTACGGTAGTGGGTCTCGACAC
+GACAAATGTTAGTTGTGCGCCTTTGAAGATTACTATCATTTAATTTTTTG
+ATTAAATCGTTTTATTCTAAATGCTTAGTATTTACACAAATATATTTCAA
+TCGGAATTTTCAAAGTATTTTCCTAGAGGAAACTACTTTGAAAATTCAAA
+AATTCAGCAACAACGAGAGTTTGTAATTACGGTAATCTTCAAAGGCGCAC
+ACCTACTCGTATTTAACAAAAATTTGTCGTGTCAAGACCGGGTTCCGCTC
+TTTTTTGCAGTAGTACAGAGAATATTCCGAAAGAAGTTTGAAATTAAATT
+AATTTATTATACCGACAAATCATCAAATGTGATGTATTTCAATGAGTACA
+ATTTTTCGAAAGAAAAACAGATTGAGGATAAAACTTGAGTGATGAGATAA
+CCGTAATATGGAGAATTATATCAGTGTCAAGAAGGCACATTGTTCAGTTT
+CATATTTACAGATGTTTGGGATTAAATGAAGATTCGGTATGCATCGACGA
+TCAGAACAATGAACGAGTGAGTTGAAAGACCTGGAATGTTTAAAATTAAT
+TTTTAAATTAAAATTCAATTTTCTGCCAACCTTTTGTTGAATGATATCAG
+TTCTTGGAGAAGACCATCTTTCAATTGCTTCAAATTCACGACGTCTTTTC
+ACCAGTTGTAAGAAGGCGGTCAACGACCCGTCAACGTTTGCGTAGTGTGT
+GCGGCAGGAGAAGAGACTGCAAAACAGAGATATTTCATGAAGACTCAAAT
+GAACAGCGGAAAATGTGCCTCGATAGCTCAGTTGGGAGAGCGTACGACTG
+AAGATCGTAAGGTCACCAGTTCGATCCTGGTTCGGGGCAATTCTTTTTCG
+ATTTTTTGAAACTTACCAAATTCCATCATACGAGAGTCCTTGGTGCAGAA
+TTTCGTGAACCAAATCAAATTCTGCTTCTTGCCGGTTTAGAAGATCTGGT
+GCCAAAATGATGTCGAATTTTTTTCCGCCAAGGAACTTCATTGCCTCTTC
+AATTGTACCACATGAAACCTTGGTCTTGATCATTGGAATATTATTTCTCT
+TAAGTGTTGGACGACAGTAAAGCTCCAAACTAGTCTTATCCATTGTGTGC
+ATTGCAATTTCTTCTGCTCCATTTTCGAAAGCATATACTGATGGGAGTCC
+AGTTACGAATCCGATTTCCAAAACAGATTTTCCATCGAAAAAGTCAGTTT
+CCATCTCAACATTGACAATATTATCAATAGTGTGGCAAATTGTGTTGACA
+CCTTCCCAGTCATCATGATGATCTGAAAATAAGACATTTTCAAAATTAAA
+TCAAAAATTAAAAAAGCAATGCCCCGAACCAGGATCGAACTGGTGACCTT
+ACGATCTTCAGTCGTACGCTCTCCCAACTGAGCTATCGAGGCATGCCGAA
+ACTGACGTTTCTGATCAAACAGGAAAAATTTGAAATTGAACCGTACCTTG
+GTGACTATTTTTTCTCATTATAGGCAATTCCTCTGCCACATGATTTTTCG
+GGTTTGAATTTCTGGTTGCCACGTACTTGATGCAACGGCCGGAATCCAAA
+CTGAGTTCACAGTTGACTGGAGCAACGGAAGCAATTGTTGGGATGGTAAG
+GACCATTTTTGTGTGATGAAAGGATATGAGAAGAACGCTGAAACCGAGCC
+GGAGCTATTATTTATTTTGAAAAAAATGACCCGAAACTAAAGAGACAGGT
+GGTTCTTTGTAGTTTTAGATAGTAAATAAAGTAATGGGTAGGGGGCAAAA
+ACAAAGAAGATAAGATACGCTTTAGGATGGAGTGAATCTTGATCGCATGA
+CGTGAATGGCAGAAAGTTGAAATTTTGAAAAAAAAGGAAGGAAAAAGTTT
+GTACCGAAAACTAGAGAATTTCCAAAGGGTTTGTTTGCATTCGACCATTC
+AGTTGCTTTTAAAGATTGTCCCGCAAAAGAGAGAGGGGCGGAGTGAATGG
+AAAAGTCACGAGGGCGGGTTGTGTGCAGAACAACGGCAGGAAAATCATAA
+ACACGAACATAGAGAGAGCTATTGTACTTGGAAGAATCAAAGAACGAACT
+GGAGTACTGGAATTGAGTGTGGAATTTGTATGTCTAGGTCAGGAAAGTGA
+GATCTAAAGCTAAAATAAAAGTGAAAGTCCATCTGAGTTGCAGGAGAATA
+ATTGAGATATTAGTCGAGCTTGTTCTTCAACTCTAAAAACTAATTGAATA
+AGTTTAAAGTAAAATGGAGCTCTTGAGAAAAAGCGAAAATGCCATGCTGC
+TTTAATACCACCCTAACCCCCTTCTATTGACTCCGCCTACTTTTTGTCTT
+CGCTAGATGAAGTAGATGAAGACGCCGGAAGCAATTGGAGATGTTAGACG
+TTTAGAGATGATAGAATCTATTCATCCAAGTGAGAGATCAAACAAGACAC
+TGAAGAAGAAAAGAAGATTGGCGGTAAAAGGGATGATCTTCAAAGAACAG
+AGAGCTCCGACACTTTTTGTTTTTCATCTCTTTTTTCACTGGTTGGTGGT
+CAGCGAAGAGGAATAAGAAGAAGAATGATGGCAAGAAAAAGAGAACAGCT
+GATCGATTCTTGTTCCTGAATAGATCAATGACGTACCATGAAAGAGTGTG
+AGTAGGTGGATAGTTGATGAAATTGATGGCAGAGGGTAGATCATTGTAGA
+AAAGAACGATCAACTTGAAGTAAACACAAAGTAATACGATAGAGATGATT
+CCTTAGCAAAAATAGTACCGGTGTCTACTGAACAGATCACGATTAATCTT
+TTTTATAGAGAACTTCTGTTGCTTAGAGACATTGTTTTTTAGAAGAAGTT
+GAAATATCAATTGAGATTCTCGTCAACTTCCTGATGAACACAAATAACTG
+GGCATTCACCAAAGGGCACCGCGATCAGTTCAGGGTTTCACCTAGACCGG
+GTTATTCAAAACTTCGAAAAATTCGGATAACCTGTAATTTGTCGATTTTC
+CGAACTGGCCGATAATCAACGTGCCGAACGATAATCACCGCTCATTCCTG
+ATTGAATACACGAGAAGCTGCAAATTAAAATACCTAAATTTCGAGGTTTC
+CAGAGTTTAGCCAACATCTAAGCTTAGACAAAAAAAAGCCTTTGCGAGTG
+TTTCTGGAATGGATTATTTTCTCTCAGCTTCAGTAAAAGATCCTTGGTTA
+CTATTTCTTGACCATCTCACGTTTAACTCCCAAAAATCATCGAACACAAC
+TAATTTCTCAACAAACCTATTTACTTTATTTCGCCTTGCTTTGTTATTTA
+TTTCACTAAAAAACGAACCTCAATGATTCACGTGTGATCGGTGACCAATG
+AGGCTGGCTGGCACGTGTACCAGGCGAAAATTTTCAGTGAGAAACACAGA
+GAACAGTGTATTCGGTAAATAAAATTAAACTTATTAAACTTTTTTTGCTG
+CTGATTCACGTGAATAATACACCAATGTTTGAGGTGAGCAGACTGATGAT
+ATCATTATTAATAGCAAGCTAATTACTAATACATTTTTAGACGTAATTCA
+ATCTAACTATTTCTATAGGAATATTTTTTCAACTTGCGAAATAGTTCCAT
+AATAATAAAACAACTAGAATTGGGCCATCAAGTAGTTACAAAAACTGTGA
+CTGCCATAAAAGGATTCAGGTAGGTAGGTGGCGCCATGCGTTTCAATTGA
+ATATTACTGAGTCAACTTCACATCTACAAAAATCACAGCATGATCATATC
+TAGTAAAGAAATCATAATAACAGCTGAGAGTGTTCAGATTTGCATAAATG
+ATGACATCAACATCTGATCTAGTCCAAACAATCACACTTTCATTTCCTTC
+ATTCTATGAATAATCTTCTCTTTAAAAAGAACCTGTTCTTCAGGACCTCC
+ATCTATATTGTCGTCTTCTCGTATGTTCCCAAATGTTATGATAATACTAT
+CTTCTATGACATCTTTTGGTGTGGGTGCATAATGACGTGGCAACCGTACT
+CAGTGTGCACCAAACTACGAAAACAACGAACAAACAAAAGTGAGTGTTAT
+CTTATTATCGCATAACGAATTCTTGTCGAATGGCATGATATGGGGACCTG
+GAAATTTAATTTGAAAATCTATCCATCAACTGAAAGAAAAAAATGAATCA
+GAGGGATTTGCGAAATTTCAAAATCAAAGAATGACCACGTGTCTTATTCA
+ATCAAATCAGTGGACGTTTCTCATAGAATGCTGCAGAGTAGTTACGAAGG
+AAATGTCTCAGTTTCTACCGCCAGCCTATCACAGGGATGGGTCTCACCAC
+AACGGGCTTCGCAAAAATGGGTCTTGCAAGGATGGGTCCCGCAACAATCG
+GTTCCGTAACAATAAGTCTCGTAAAAATGGGTCTCACAGCGAAGAACCGC
+TTAAATCGTGTAACACGAGGCCCTTGCTTCCACGCCAAAATGCGGAAAAG
+AAGTACTCGGCATTCAGAGGCAACTTCCTGCCATTTTATGGCAACTTCCT
+GCCAAACTTTTGCACATTCCTGCCAACATTTAGATGTTGCTGAGCGTTTT
+TTCCCACTTGCTGCCACTACGTGGCGACTTCCTGCCAACAACTCGGCAAC
+TTCCTGCCAGCAATTTGGCAACTTATTTTAGTGGCACTAAATAAGTTGCC
+AAAGTGTGGCAGGAAGTTGTCTCTGAATGCCGAGTTGGCAGGCACGTAGG
+CATTTAAGGGGGAAGGTGCCTGTCTGCCCTAGAAGACTTACTAAATAACT
+ATGAAAAGCATTAACATTTAGCGGCCACGCATAACACTATAAACCATTTC
+AGTTTGCTTACAGAGAATAATCAAGAAAAGCGGAACGTTATCTTGAAACT
+ATTGAACTATCTCCATGTGATGCGTTTTCTAGCACTTGACTTAATTTATC
+ATTCCGTTTCTGTCGCTTGTGATAAGAAAATTCTCAAATTTAATCGCCAA
+TTTAATTTTTTCGCAGATGGTAATCTGTTTGGACTTTCGTTCCAGTTCGG
+TTCACGTGAAACTCATGTTCAAGTTTTTATTTTTTAATTTTCAGATGAGA
+GCTACGTAATCATATTTTTGTTTTGTTTGCATTGGTATGGTTCTTGATCT
+ACTCGTATGGGGGTAAAAACGTGTGTCTAGTTGACATCAGTCGAGTGATA
+AGATGGAGATGAATAGTTTGGGAAGAAGATGGGGATCGGAAAAAAGCTCA
+AGAAATGGGTTTCAACTTTTTGAAGTTTTAATTTGGCAGCGTGAACATTT
+GCAAGGTATATGAAACTTCAAGAAGGAGAAGTGTAGGAAACAATGTGGAG
+ACGCTGTTATAAATTACGTTTTGAAAAAGTCTCCGGTTTTCCGTCAAGCA
+ACTTAGATATACATATGTATACTGCTTCACTTTGAAAAATCAATATGTCG
+CAAAATAAAATAAAAATAAGCCGCGAAGAAAAATAAAAATAAGCCGCGTA
+GGCCCGTAACCGTCTTTCTACCTTACTTATCGGAGTACGCCTAACTCGTG
+CCTACGTGCCTACTGCCAAAACAAATTTGGCACGAGACAGGCCTTTTCAC
+ATGTAGTATTTTCGTAACATGGATGCGTTATCCGATATATGGAAACTTTA
+GAGCTTTTATTCATTTAAAGTCAGTTTCTAATTCTGATCAGTATCGCCTT
+GTGCTGAACAACGAATTGTTAATTACATAACCACATCTCGTACTTCTGAT
+CTATTGATACTTCTTTTTTGTTTTGTTTCCATTTTTAAAAAGTTGCTCGT
+GTTTTTTGTACTTTTCCGTTTTCATAGTCTTTACCATCAGTTGTCATGGA
+AATTGTTTTCAAAGTTTGTGGATTTCAACCCGGAAGTCTATCAATTGTTT
+GCCACTCTGTTTTGTCAATGTATTTCTAGGTGCACCTTGCAGACATGTAC
+TCTGCGACCGAACCTGTCACCTGACAAAGTACCGTAACTTATTGTTTTCA
+CAAACACTTAAAGATGCCTGACCTGGAACGACGATCACTATCATCAAACG
+GTAATGATCGAAATTAGTTGAAAACATGATTTGACCGCAGATCGAACTGA
+TGGCGCCAGGGAAACACCGATAGAAATGTTTTTCAAAAGTCACATGTGCT
+AAAAATAACTTTTATTTGGTCTTTCTTTTTCCTTTTGTCACATCAACCAT
+TACATGGGCGGTCAATATCTGTCTTCTTATCTATTCAGTCTCACGTTAAA
+TACACGTGTCAATTTATGTAAAAGTCGGGCGGTCCTGACTTTTGATGATC
+ATGACATGTTTTCGATCAGTCGGAAACTGGGGGGAAAAAGAGAAAGACAG
+AGACGTGTTTACCACTATGCAGCTGCAATTCGGTTTTCTCTCGAACATTC
+CATGACGAGAAGAGACGCAGAACATTCAATCAAGAGGGGTCTTTGAAGAT
+CATCGTGTGCTTCTTTTATGTGTGTTTGTGTACGTGTTTGTGTGTTACTA
+AAAGTTGACTGAGGGACGGGAGACAGAGAGAGCTCAATGAGCAATGACGG
+ATGAGGGATTGGTTCTTAAAGTTGGTTATTTGTGGAACTTCAAGGTAGTT
+GTGATGTCTAAAGATTAAGGTTAAGAAACCAAATATTTTAAGTTTAAGAT
+AAATAAATAAAAACTTTTCAGGCATCGTCCGTAATTATCGGTAATTCGGA
+ATGATTTTAGATCTCAAGACCAGAAAAATTTTTGCGAAATATTCAAAATT
+TAATCGATAAAAATTTTAGGTGGAAAATTCAATTTCAATTTTTAAAAATT
+TTGGACCGGAAATTGAACTGCAAACTCTACGAAATGGCCGATTGCACCAT
+GTTGTTCGGACATTTTTAATTAAAAATTAGTATCAAAATTTTTTTCAAAT
+GAATTTAAAAAAATTACCTGATTTATTTTAAAATCCCATTAGTCTCAGCT
+AGCACGTTTTAAAAAGTACTCAGAACTGTTCTGAAAATTGTAAATTACTG
+GTAAACAAAATTCGACAATTCCATATTCTACTAGTGGCAACTTTCAAATC
+ATTTTCGAGCATTTTCTTAAATATTTCAGCTAAACAATGGGATTTTCGGA
+TTAATCAAATAATTTTCTATATTTTGACATTAATTTTCGATGAAAAATAT
+AGGAACTGCATGGTGCAGTGTGTCATTTTGCAGAATCGCCGAAAATAACT
+GTCGCACATTCTTGATTGAAACTTCATTTTTTTAATTGGCGCGAAATTCA
+AATTTTAATTTTTAAATATTTTAGGCGGAAACCTCAGACTTCAACTTTCG
+AACCATTTTGACTGAAAAATCATACTTTAATTTTCAGAAATTAATGAAAT
+CAGCATTATTGTAGATGTTTCGGCGCACACCGTTGGCCTGTGGGTTGGCC
+GGTAGGCATATAAGTGCCTATATGAGATGTTGATCTAGAAATTAAAAATA
+GACAAATTTCTAATCTAGGATATTTAACTGTTCAGTTTTGTTTGTCATAT
+TTTCTGCTTTCAAATGTTTTCAATTTCTTCTCCTCTTTTCATATTTTTCA
+TTTGCACTTCACATCAAAGTTTTATTGTCAGAGGACCTAGTAAATAAATA
+CATTTTTCATTCTCTCACATGCTGGTGTTTGATGTTCAGTTAAAAATGTT
+TTTGATTCTGCAGGAAAAAAAAGAAGAAAAAGTCAACATACAGTACCGGT
+TCATTTGATTTCATCGTTTTGGAATTACAGAAAAATACTGGAACTAAATA
+AATAAATTTAAAAACAAAATAGAAAAAAATCAGATTTTCAAAACAATATA
+ATTCCTATTAGCATTATAAACTATTTTAAATGGAGCTATTCGTGAATTGT
+CTTTTGAATTTGCAGCAAGTATCCAAAGATCACAAAGAGCTGTTCGACCA
+CTATTCTTTGGATCTTCTTCATCCCACATTCCACGATAAACACATTCTGG
+CCTGAAAAATAGGTTTTTTTTAAATGAACATTATTGTTCCGATTTTTATA
+CCTCCTCTCATCATTTGAACAATTCATAAGTTGGAAAACAAAATAATTGA
+CACCCATTTCTTTCATTATTTTGTGAACTTCCGCGATTGGTTTTTTACTA
+AACATAGAATACACTTTCAGAGTTCGTTCACTGAAACAAACAAGGTTTAA
+TACTTTCTAGAGAAAATTAACAAATTACCGTATTCCAACATGTTCATAAT
+GAGGGTGATTGACAATTGGCCTAAGAGTTGTGAGCTTCACATTTGCCATT
+ACTGGCATTGTTCCAGCGAACACAGCGTCTGAAAAAAGTTATTTTGAAGC
+TAATATGGAAGGCAGGCATGTCTTCAGATGTACGTGCCTGCCTACCACTT
+CGGTGGTAAGTTTGTATATTACCTTGTTTGGTGTTATGTTGAATCCAGTC
+AAACAACATTTCTTGATCAGGATTACTGTATTCTCCCTTGACATTCAACT
+GTTGACGGATATTTGGAATTCCTGAAGGATGAATAAATATTTAGTAATGC
+AGTGAAAGAATTCAAACCTCTATAAAATAATATTGCGATCACTCCAACAA
+GAGCAGAAACTCGTATAGTTTTTGATATTCGATCTCCCCCCAGCAGCTTG
+GAGTTTGCAAAAAGTGCAGCAACAATACATAAATGAGGTGTCATGAATAG
+TTTGAGACGCATTATCAGGAATGCCATGACAGTTGAACAGCAGAGTTGGA
+CCACATTATATAGAATCTGAAATGCCAAATTGTAACTTTTTAGTTTCAAA
+AGTTATAGTATTGAAGCTGAAAACAATAATCTTAAAATTTTAAAATTTTA
+AACAAAGCTGTATTTTATTTTTCTATTTTTTTAATAATATTTTTTAAATA
+ACCACCGATCTGCCAGATTCAAAATAGTTGTTTTAAAATTTGGAAATTAC
+CTCTCCATTTTCTCCAATTTCTTCACTATTCCTCCATAATAAATTCGTAT
+TTTTCACAAAGTTAAAAACGAAAGTGACAAGAGAAATGAGGGCAAGTGGA
+ATAAGAAGTGTTCCACACAATTTCTCAATTGTTGAATATTGAATAAAATC
+GAATTCAGCTGAACAAGTATACAGTCTCGTGTGAAAGTTGGCAAAACTTG
+TGAATTTTGAACGAAGAATATCAAAGATATGAGCCTGAAATCATTAATTG
+AAACACAATACAATAAAAACGATAACCAACATCATCTTCAATTCCAAGTC
+CTTTTGACAATCCAATTTTAAGCCCAAGAGTAATTGATGCAAAGATGATA
+GCCAGGAAAAGAACATAAGCTGGACGGAATTTAAGATTTGAGAGTAGAGG
+AGAGATGTATATGATCATCTGGAAGCTTTTTGAAATTTATTTTTATCTAG
+TTTTTTTTTTTTTGGATTTGAGTTTTTACCCGAAAATTGTATAAGAGACA
+TAAACTATTTTTAGTTTCTCTATTCAATAGAAAACTTACCCCCAATGCCA
+AAATACTTGGAAAATACAATGCAGTAATCATCATCTCGTTACCAAAAAGC
+AGCAAAAATCCAATGAGAAATGAAATGATATGAGAATGAATTACTGTTTT
+AGCAGTAGAGAATGGAATCAGATCCAGTGAAAACGCTAAGAATATTGAAC
+AAATTTGTGTGAAAAATGCAAATTGGGTGAATTGCCAGAATAAAAGAGCT
+GGAACTGCCATGGAAGTTAAAAGAAGAATCATTGAGTGACCAGACTTTTT
+ATATCTGGAAAAATGAGTTTTGAGAACATCATATGCCAAAGAAAATTAGC
+ATTGCTACGTCTCGCATTTTCGTCATTTTTTTTGTCATAACTTACTTGAT
+AACAAATGTCAAAATCGCAATATGCCCGATAATAAACGGAAAAGCAAAGC
+TCTCCCGAAGAGGAGGTGTCCATTGAACTCGAGTTGCTTCTCCGTGATTA
+AATGCAAAACATAATACTGACAAGAATCCTCCGAATATTGAATCACTGTA
+ATATATATATTTAGTTAAAAGTAATAATTTTTGTGTCGCTCACCTAACAA
+GAACACCCAAATAAAAAATGGATGAAGCTACAGTTCCAGCCACAATGAAA
+ACTCCGGTTATATAGAAATAATGAGGATTTCCAATTCCTTCACAACTTTC
+AACAGGCCGAAGTTCTCCTCGATTAACTTGCCAGCATAGTTCGATTTGCC
+AATTCGCTGATTTGGCAAATGCTCGGAATGGGCGGTACAGAAATGCAAGG
+ATTACCTAAAATAAGCTTGGAAGGATTTTAGGTATGGAGGAAATTGAGAG
+AAAATGTAATACAGGTGAATGTATTCTTGTGGTAATTAGAAGTTTGCCAA
+AGGTTTTTCCGACGGAAAACATTACAATGTGAAAACTTTGCGACTCACCT
+CTGGATATAAATTAAATCGATTTAGTGTGTTAATCTCGTGTCCATGTTCT
+GTCACAGTATCATGTGTTATCTCCTGAACACCCTCAAGAAATGATGGTGC
+ATTGATTATTGTTTTATAGTATGAATAGTAGAGACCCTGAAAAAACAAGA
+AATTTTGAATTTGTATTTTTAAAGAAAACTGTACCATTTCCGTTCGATAT
+GCCATCTCGCGTTCAAAGTCCGCCAAATGGGAGAAATGTTTGTCGTTTTC
+GAATAATGTGTAGACATGTTGGTAGTTGATGTATCCAACGAGGAGTCCTG
+AAAATAAAAAAAACTGTATTGAAATTCGTTTGAGCGTAAAATAATTTGTC
+GCAAGTTTGATAAAGATCCGAGAAGACTATTTCTGTAACTTGCATGATTG
+TCTGCCAACTAATTATTTTCTGAATTTTTCTGTCAGGTCACATGCCATAT
+CCGGGTGGAACAGGACCACTTTAGAGATTGATACGGCTCTAGTTTAATGA
+AGAGCAAAAAATCTGCAGGTAGGTCAGTAGGTAGGTGTTGTAAGCAGGCA
+GACATTTTGAACCCTACATGGACACCCCATTTCAAATAACTACTATTAAA
+ACATAGTTTTCTTAAAAAAGTATTTAATTTGTTTCCCCACCCAATTGCTC
+TTAATAATCCTCATTGGTTCTCCTAGTTTTACTCTTTTGTTCCCATTTCC
+CTTTTTTTGCAATTCAAAACACATCCAGTTTTGAGAGAGAGGTCTCTCTC
+TCTGTCCCTCTCTACCTCCCCCTCTCTCTGTAATTATCGACTTTGGGGAC
+GAAATGTCAGTTCATTTGTGGAAATAGTTTATGAATCGGAGAGACTTTAG
+ACACTTTGAACAAACCGTGTCGTCGTCAGTGACGAGACACAAACACAGGA
+AGTTTCGTTGAATATGTTGATGTTTCTGTTGACGTTTCGTTCCCTAGTTT
+TTAGAGATTGAGAGCATCTAAGGATTAAGGTTCAATGTTTCAAGATTTAA
+AGTTTTGAAACATAAGTAACAGAGTAAATGATATGATTTAGATAATTTTC
+TTATTTTTTAATCTGGCAAGCACGCTCAACTAACAAAACACGAATCCGAC
+AATCAGTCAAACATCTTAAACTTTTTAAAAAATTGTTCATTCTTTATAAG
+AGCGAATTTCAAATTTAAAAAAAACTTTAATTAAGCTTCAGGTCAAGCAA
+TTAGGCGTTATTATTAATTCTGGCAAGTTTCCGTTTTTCAGATATAATCA
+TTTCAATTTCGATTCTTTCTTCAAAGTGTCTGGAAAAAATGCTCTTTTTT
+AATAATTTCGCCGAATCTAATAGTTCTAAAATTTTATGTTGAAACGATCA
+ATTCTATAACAGTATATTCAAAAATAACCTCACTAAACTTGAATTTTTTC
+CAAAAAAAAGCATTCAAAGTGAGCAAATAGTTTTGGTAATACAGGTGGCT
+ACAAATTTTCTGTCAAAATGTTCAATACACAAAGTGTGAGCAAGAGCAGA
+ACCAGTTTTCAAACATATTGCTCTCAGTTCTCACTTTCATTTTTGTTTGT
+ATTAGAGGCTCATTGAGCAATAGCAACTTGAACTTTACTTACTGTTTGTA
+ATAGCTTAACTGTTCACATTTTTACTAAAACTTTGCAACCTATAGGTATA
+CCTAATAATTGGGTTTTTCAATTTTGTATGAGAAATCACATCCCGAAACT
+GAATGGAAACTTTCTGATTAAAATGGATATCACTTCAAACATAGTGTCTT
+TTAATATTGTCTAAGCCTGTATGACAGTGATAATTTCTAATAAAGAGGCG
+CAGAGAAATTAGATAATGACCGATAATGATGAGATGAATGAATGTAATGA
+TGTGGGAAAATAGATAATAGAATAAGAAGTGTGGGCATAATGATTTAGAT
+GATAGAAGCGTTCAGTCTAGGAATCATTTCAAGTCAATATCACTAATTAT
+CTCATTTATTTTTGTTCCTTTGATTTATTCGTTTTGGTAGGGCCGTTTCA
+TCTTAAAGCGTATATTCAAAACAATTAAAAAATCGTTTTTGAAGTCTTCC
+AAGTAAAAATAAATATCTGCTTTGTGCCTATATTGCGCACCTATCATTTA
+ATTTCTTAAATGGGGCGTAGCAATTTTGGACTTCTGCTTCAATATCTTCA
+AAATGATCCCAATAGACCGAATTTCATAATGTGACTCCTCGAAAATTTCT
+TATGAAGATACAACATTTTAACACTGTTTTCTTTCATAGTGTCCAACGCC
+TGCCTTTTTCCTACACTAGTTTTTTTTTCAATATCCTTGCAAGTGCACCT
+GCAAGAAAAGTTTAACAAAAGTTCTTAAACTTAAAAAAGTAGGTGGTAGG
+CAGGCACGTAGGTGCGCAGGTATGTAGCCAATAGATTCTCAAAATATAAT
+TATAAAAACTCTGCATTTCTTTTTATTCATCCTAAAAGCGCATTCTACTC
+AAAACCCAGTCACATGCTCTATTCACAAAAGTCAATTTTTTTTCATCTGC
+TCTCCGCATAAACTCTTGCTTCCAATTTCCAGATGCATTTAATGTCACGT
+GCGTTCACTTTTTTCCCTTCAAGCTTCCAGAACAAAAAAGTCTTGTGATG
+TTTCGCTCAGAAATTTGTTTGAATAGATGATAATTGGATTTCGGTTGAAT
+TATTTTTGCCATCGCATGTCCTTTCTTCAATTCTCAATTTCCAGTTTTCG
+TGTGATTCTCCAAAAGTTTCAAACATCATCCGAATTTTCTTGTTTTTCTA
+TTATGTCACTGATTTCCTATTTATTTTTCATATTTTTAAAGTTTTTTTTA
+AGGGAAAATGAAAACGCCTGCAATTTTATTACTCCTATTCTTATTTATGA
+TGAGTTTGGCACAAAGTGATGAGGAACAAAGTGGAAAGGAACCTCCCGAA
+AAAGATGATGTTCTAGTTATTCTGGTTGGTTTTTGCCAATGTTACCATGT
+CAGAAATGCATGCATGCCTACTTTCGGCACATCTTCGTTTTCTTTTCCCG
+TATTCTATGTTTTAATTTTCAGGCAGAAGACAATTCGACACTATTAAACA
+ATAACCAAACAATGTATGACCCTTCTTCCGAAGAAAAAGAAAGTGACAAA
+CCAAAATTCAATTTATTGGAGACATATTTACCACTTTTCATATTTGTACT
+CGATCTACCAACAGAGGATAGAGAAACTTTGAAAGCCTATGTAAAAGATA
+AAACTTATGAAAAACTGAAATATGTAATCGATTCAAAAGTTAAAATGAAT
+CGAAATGAGAAAAATGTCTTAGGAAGAATCAATGAATCCTTGGTACAATC
+AATCGATAATTTGGAACATTTTGATGAGATTACTGTAGATGTGGTGAATG
+GTTATCACGTAAGTTTGACATTTCAATGGAAAATCATCTCTCTTTAATCT
+TTAAAATGTTTTATTTTCAAAAAAAACCTTAATATGACAATACCAAATTT
+TCCTTCTATAACTAAATTTCTAGAATGCCTCCGTATACAACGCAATCCGT
+TCAGTTTGGTTGAAACAATTACGTCCATTTCTGCCGCTAATTGATCAAAT
+GGCCATTCAGCAGTATTTTGCACAAAGGTTTCAAACATCAAGCGTCTATC
+AAAAACTATGTTTATTTTCCAGAAAATCTTCTGAAACTGAGAAAATGTCA
+ATTTGGGCAAGATTATGGGAAAATCTGAGTGTTTGGATGTATGGAAAGAA
+AAAATTAAACGAATGTTATGCAATGGAGCCAAAATGTGTTCGACACGCAT
+TGGAATTGCTTAATTTTGAACAAAGGATTGATTTGGATTTAGCTGCTTAT
+GAGAACAAGTTTGACAGTGTTGATGGAATTATTAGGGAAAGAGTGAGTCA
+ATTTAGATATTTAAAAAATGTCAAAAGCCCCAAAACGAATTAATTTTCAG
+CTTGGCGAAAATCGGAAAAGCAGTGAACTCGACGAATGGTTGCACAGAAA
+TCGCCCACCAAAAGCGCTACAAGCTATTTTAGATGAGCGAAGTGACATTG
+AGGAGGAGTAAGATATTTATATTGAATAGATAAACGTTAGATTTTTAGAG
+CTCTTCAACGCCTTCGAGATAACGGAGTTCTGAGCTCACTCAAACATTAT
+TACAAAGCAGTTATAGAGTCAAGAAGTCATGAAGAGCAAGAGGTAACCAA
+TGTTTTAGATAGTTCTTGTCAATTTTCTTACGCATTTTTCGATATTCTGC
+TAATGGGTGCAAAGTTCTAAATTGTTTTTAATTGTAGCTTTCTATATTAA
+ACTTTCAGGACATTCGTCATTTCTTCGACATAATGAATGACACATTTGCT
+CGTTGCTTTGACCCACTACGAGGCCAGTATCATGATTTCTAGAAAAACCC
+TCTTTTTGACTTCTTCCTCCAT
diff --git a/Demo/F59C12.fa b/Demo/F59C12.fa
new file mode 100644
index 0000000..a91a752
--- /dev/null
+++ b/Demo/F59C12.fa
@@ -0,0 +1,581 @@
+>F59C12  951031/F59C12.seq
+TTTTTGGAACCATTAACTCGAAATTTGAAAACTGGAACCAAAAAAGTGGG
+CGGAGTTTCCAAAACGCCAGCAAAAAATCATTGGCAGCTCGTCATACTTT
+TTTCGCTTTCCTCTCTCTTTTTCTCCCCCCGGCCAGCCTTCTCCTCTCTC
+CACTGACCTGTGATGTACCTTAACAATTTCAAAACGAACGACACATTCGG
+AAACATCTAATTTCTCACCCATTTTTTATTATCAGAGAGCAACCAATTGT
+TGCGTGGGGTAGTGAAAAAGAAACACGTACATACATCTCTTTTCTAGATT
+AATCTAATCTAGAAAAGGCGAAGGCCGCATCGAAGGCTTCACTTTGATTT
+ACTTTTGTGCGTGCGTCTGCATTTTTTTTTCATTCAATTACAAATTCATC
+ATCATCATCCCAATTCAATCAACCAATTTTTCAACAATTCAACATCTAGA
+ATCATTTGCAACGACGGCGCTCACACCGCACTTCTCCACAACGAGCGTAT
+GGTCGATACGGGTGCAGTTGATCCCGACGATGGGAATCTACCATTTCAAC
+GGTGTCGCCTTGTTTCTGTTGCCGGTGCTTTGTCTGATTGGGTTGATCGG
+CAACTTTTTGGTGTGTGTGGCAATTGCGACGGATCGAAGGTTACACAATG
+TCACCAACTACTTTTTATTCTCATTGGCTCTGGCTGATCTTCTGGTTTGT
+TGTATTGTGATGCCATTGAGTATAGTGGTCGAGGTTCGGCACGGTCAGTG
+GAATATTTTTGGAATATTTTTTTAATTTAGGGCTAGAAAAGAAAATTCCT
+ATACTTCCTATACTGTTCCTATACTGGAAAATGTACATAGGATTATTGTT
+TCTACAAAAATTGAAACTGTAATAAAGAAAAGAAAAAACCTCATAAATAA
+TTTTGATCTACCTGTCCCACTGAATTATGGCTTAATTTTGGCTTAAAACT
+GAATATTTGGTGTCTACACTATATGGCCGACATTTTTTAGGTTACGCGAC
+TTTTTAAATAACCTAAGAAAGACAATTTAAAATGCATTCGGCAGAGGTGA
+ATTGTGTAGGTATAAGGTAGGCGTAGGTAACTTTAAAGCCTAATTTTTTT
+TGCTGTCATGCAAGTTATAGGGAACAGTGCAATATTTTAGGCTGATAAAA
+AAAACTTAACCCAAAATGCTTTTTTACTTAATTTTTTACCTTTTTCAATT
+TGTGAAAACGAATCAGATGATTAATAGGCTATAAACTAAACTATTGTTTG
+TTTTTTTCAACTTTATTTTTCCCTTCTCCAGGTGTGCAAATACCACCAGC
+GCTGTATTTTGTCAATTAGCTAATAATTTCGATGAATTTTTTTCAAAAGT
+ATCTAACTATAAGCATCTTTGAGCGCATTTGTTAATAAATAATTAGAGGA
+ACGAATAAAAAATGAGAATAAAAAAATCATGAAATATTGAGTGGGAAGTG
+TAAAGATTTTTGAACGAATAGAAAAAAAAAGTTAATTATATATGTAAAAT
+TATAAATTTAGTTAATTGAAGATCGAAATAATCTTCACAAAAAAAAAAAT
+TTTAAAAAGTAATTTCAGGGGTGTGGACATGGAGCGTGTCGATGTGCCTT
+TTGTACGTCTACTCGGACGTATTTCTGTGCTCGGCGAGCATTGTCCACAT
+GTCCGTCATCTCGCTGGACCGATATCTCGGTATCTCTCAACCACTTCGCA
+CCCGCAACAGATCAAAAACACTGATATTTATCAAAATTGCCATCGTGTGG
+GTTGTCACTCTACTTGTCTCCTGTCCGATTGCCGTGCTGGCGATGCATGA
+CACGGCAAACATTTTGCGAAACAATCAGTGTATGATCTTCAGCAGATATT
+ATATTATCTACGGGTCAACCATGACTTTCCTCATACCGTTGTGCATTATG
+GGGGTCACTTATGCAAAGACAACACAGTTGTTGAACAAGCAAGCTTCAAT
+ACTAAGTCAAAAGGCAGGTGATAAATTCAATGGGAATGGTCTTCGAAGAA
+CCATGCCTCATAGGAAACTGGGTTATGCTAGAACCTACTCTGCAACTGTC
+AATGGTACCATTGCAAACGGAAAAGCCATTGGAGCACATGGCAGGACTAT
+GTCGAGCATTTCCAACATTGCGAACGGAGAGACTGCTGATCGCTTGGGTA
+CAAGCCGTCCATCAATCAACACCAACGGTCACAAGCAGCTGCAAAAAGCG
+TCGACAATTAACAAGTGGAAGTCGAGGACCTCCAATTTGGTAACCAACTT
+TGCTAATAAAGTCGGTCGCCGTAGCTCTCTTCAGGTGAGATTTTGATCTT
+TTTATCTCAAATTTCGCGTGGAGCGCGTTTGAATTGCCTCTAGTTTACAA
+CATCTTTCGCTACATTTCTTTTTTGTTTTTTGAGAGAATAGAGCACTGAG
+CAAAAGTGCGTAGATAAAGGAGGAAAGAAAGAAGAATAGGGAGTAAGTAG
+AATTGGGAAAATTAATTTTGTAAAACATTGTATTTCTTTTGACAGAGATC
+ACTTTCCCAACAAAAAAAACCATGCAAAATTTTTTTTAACTCACCAATTT
+TGAGCCAACAAAGCTGACCCCAACCGTTAATAATTTAAAATTTCATATTG
+TTTCCAGACCTGTTGAATTTCTTCAAAAAAGATTTTTTGCGAATTTACGT
+TGATTTTAAAAGTGTTCAAGCTTAAGAAAATGTTTTGTAAGCTTTGTAAA
+ATTATGTAGTAATCTTTTTGGAAAATTTTTTATTATTAATTTTTTTAGAA
+AGTTTCCAAAATTTTACACTAATTTACATTGAATATTTTCAAATTAAAAA
+AAACATTCTTGAGACTTTTTGGAGTGTTTTTTTTTCATACTGGTCCAAAA
+AGTTTTAAATTTTTTTTACGAGAAAAATTAAAATTTCCAAATTGCTTCTA
+CCCTGATTTCTGAAAAATATTAATTGTATTAAAGATATCAAATTTTTTTC
+CATTAATTTAAGCTTCAATTGCTAAGGTCTACCATTTTTCAATGATCAAA
+ATTCACATTCAAATTTTTCCCTATCATGTCACATTTTGCATCGGAGTTAT
+TTTCAAACGTCATTTGATCAATGTACAATGGATTAACTTGAAATACATGA
+AACTTGATAGAGTTCACGTATTCTTTTGTTTCTTTGCAAAACAGCTGAAT
+AAAAAAGTTAAGAAAGAGTTAATAGATCAAACAATTAACTTTCAGACCGC
+AACTCAAGATCTTGCAAATGAGCACAAGGCGACCCGTGTGCTCGCAGTCG
+TGTTTGCGTGCTTTTTCATTTGCTGGACACCATTCTTCTTCATCAACTTT
+TTGATCGGATTCGGCGGTGAAAATGTGCAGATTCCTGATTGGGTTGCGTC
+GATTTTCCTTTGGCTCGGATACGTGTCGAGTACGATCAACCCGATTATCT
+ATACAGTTTTCAACAAGCGGTTCCGTCAAGCGTTCGTGAGAATTCTTCGA
+TGCCAGTGCTTCCATCCACTCCGCGACTCTCATCAAATGTATTCGCGAAA
+CTTCACGACAACAATTGTTCCGGATACGTACACTTGGTGAGCACATATGT
+CTTGAAATTTTGTCAGGAGCCACTAGAAATAATTTCCCCCTTCTTTTTCG
+CCCTTTTCAAAGAACTTTCAAATCGTTTTTCTCTTCCGTTGAATGAGCAA
+AACAATTGCTGGGATTTTGATGACTTTGACAATTTCCGGAGCCTCTGCTC
+AAGCTGACTATGACTACCGAGTTCCCATAAATAAATCAGAATATGATTTT
+CCGATTTGAATTTCTATAGGTTAAGGGGGAAACAAAAAATTTGCAAGTTT
+TAAATGTTCGTCGTGCCATAAGATTGTCAACGGAAAATGACGATAATGAG
+AATTGAACAAGTCTGATCGAGCAGCGTGCAGGTGTCATGTTTTGTAAAGT
+GTCTCTTGGAAGATCTTCTCACCTGCTCGGTTGAAAGGGACCTGAGCAAT
+TAGTTTTTAGTTTCAGGGTGTCCTATGGGAAGTATGGGGATGTTAACGTT
+GTAGGTGGTAACTCCAAGGGGACGTTCATATATAATTTTTTCCCAACGCA
+CATTTTACTTGCCAATTCTAGGAAATTGGTAAAAAATAAAAATTATAAAA
+AATGTTTACCAAAGCTATAAAAATTTTAATTATTCAGCTCGAGGTCAAAT
+CAAGAACGCACGACCTCTGTTATCACACGCGACGAGACTCGTTCAGCAAG
+AAGCAGTGAACGGCCGGAGCCCAGCAGAGCAAGATCTGAAATTTCAGAAG
+AGCCAGTCGCCAGAACCAATGGAAAATTGACTAGTGAAAAGAAGAAGGTA
+ATGAATTTTGCAATTTTTTGTAATTCAAAAAAACGTAACATATTGAAAAA
+TGAAACATTAAGGAAACTTTAGAAACAAGAAACATGATCTATTCAACTTT
+CACAAGACTCTATTGAACTCTTGACATTTAGATTTTTTGAACGTTACTAC
+TCTAAATATATTTGGGGGTCGGTTTCAAAAATGATTTTTTTTTTCTTGAA
+ACTCAATTCCATATAAAAAGTGCTCCAAACACTCGCTATGTGTGTTTTGT
+GTTTGAAATGTTTACATTATTTCGCACATTGAATATATTGTTTATCTTTG
+TGCACGAACATTAATCCTTCCTGGTCAATTGTGGAAAAATGATTCAAAAA
+AGTTTGGGAAAAGTGGGGGACGCAAAGAGCAAAATATCAAAATCTAGGAA
+AACTGCAGAATAGTTTGAAAACGTGGGGAAAAAACACGAGATCATGATTT
+GAATGATGTATTACAATATGCTATAGTTTTGTAGAAAAAAGTTTAGACTT
+CTTATAAAATTTCTGATTTTTGGTGAAAAAATGATTTGACATTTTAAATT
+CTTCCTTATAGATGAACAAAATTGAAAGCAATGTATAACCATTTGGGAGT
+TAATTTTTCCAAATTTCCATCTCGATTTTGCCAGTGCATTTGTTCAACTT
+CAAATACCTTGATACCAAAAGATACCTTGGAATTTGAATTCTTCTTTGGC
+ACGTGGTGCCCGGCTGTTCTATTACGGTTTGATCTACAAAAAATGCGGGG
+TTTTTTTTTGGCCCAAAAAATGTGGCGTCAGCATGTTCTTAACTATGCGA
+AATCCGTTGAGAACTCTGAGTCTCTTATTTCACACTTTTTGAATTCAAAT
+ATACGTAGATCAAGCCTAAATTAGACACTCTGAAAAATTATATGAAACCT
+CAAAAACAAAAATTATTTCGTCCAAAAAGTTTTCAAAAGTTTTCAAAATG
+TTTGTCTCGTTTTAGTACCCTAAAACACTCTAGACGCTTAAAAAACCAAT
+ATGGAGATATTTATCAAAGCTTACACTCAGCGAAATATTGCCCGAGTATA
+ATTTCAAATACCGATTTGAGGGGCTAAAATTTTAGCTCTCGAATTAATTG
+TTAGTAGGTATCTTTTTATGATTTTATAACTTTTTTAAAATTTAATACTT
+CAAATATTTTACTGAAGCTGCATCAGTACTGAATTCATATTCAATAACTC
+AAATTTCAGATCTCCCTCCCATCATTCCCCCGTGTGAGCTCATCCCGTGA
+TTCGCGCGCAACGACAGAGGCATCAACCACCGACGAGGAAACCAAGCCAC
+TTATCCCAAAATCAACAGTTCCGGCAACAGTGATCAACATCCCCGAACAA
+CTGATCAACCCAATCAAAAAGTCACTGACCACAATAATCAACATGCCACT
+GCTGGATGAGACAATTCCCGAGAAAGCTCAAGTCCACCATAAAAGCCAGA
+CGCTTCTCACCTCATCAACACTAAATTTCGCAACTTTTTCAACGTGCCCA
+CAGCAGCCGACAAGATCCTACTCTTGCGTGGACTGCAAAAAAGCCGAGAA
+AATGTTGTCTTCGGATGTTAGTGACATGATGACCACTTCCACGGCGAGCA
+CTGCGTCGACAGTCAACGGAGCTCCACGGAAACATCTAACTCTATTCAAT
+CACTTTGATAGTGCCATCAAGGAAACATTCTTGTAAATTCAAAAGCCATG
+TGGCTCTTCATATCGTTTCCTTCTTTTATCTCCTTGCCAAATCATTCCAT
+TTTGAAATTTGAATTTATCAATTTTAGCATGTTTTTTTTTGGAATTGTCT
+TTAATTACTTTCAGTTTTGTGCCAAAGTGTGAAATTTGAAAAAGTGTAGA
+TCATAGGGTGCGGTAAAATTTAAAATTTTATGCCATTTTACATATTATTA
+ACCTGATAAAAATCTGAAATTTAAGGTTTCGAAAACAAAGTGCAAAATAC
+AGTTCGAGGTCCTTTTTTCAGTTTTTTGAAGTAGTAGGTAAATTATCTGA
+AAGCGTTTAAAAAATGTATTACTATTTTGTAGATTTGCCGCACACCTCAC
+ACATACACATTTTCAATTTTACACCCTTCTTTCCCTTCCTTACTTCAGTA
+CAATCTTTCGGTGTTTCCTGATAAATTGTAGCCATTGAAATCTCCACCCA
+TCACGTGTACTTCCGACTCTTCTCCTCCTTCCAAGCACTGACCAAGAACT
+TCCGAAGTTGTGAATTTTTATATTTGAATAAACAATAGTCATTATCAATG
+ATCTGTCTTCTAGTGATCTTTCATACTTTCTCTCTCATCAACTCATCTTA
+AAAAAGCGTGCGAGTGAACGAAACATGATAGATGGGTATTCGTATCGAAT
+TCCACAAAATTCTCTCAATGCTGCCACCTTTTCGCGCTTCTGCTCAAAAA
+AAAAGTTAAAGTCAAAGGGAAGTTCTGAGACTCGATAAACGGAAATTTGT
+CGGAAAACATCGATTTGAAAAGGAGAAGATGAAGAAGAAGAAGAAATGAA
+GCTTTCCTGCTCTTTGACTTTTGCCAGAGAAAAGTTTAGAGGTCAATTTT
+GCGGACCCTCAACTAGATTTGGCAGCACCGCACAACACTCAATTTGCAAC
+AAAATTCAAAAAGGAAACACGTGTTTCTAGCCGCCGAATTCCTAGAACAG
+GAGTAACACGAAACACGTTGGAGATTTGCATTTGAAATCACCGAGGGACA
+GAACAGTAGTAGATTTGTGGTGTTTGAAGGTGTGCAATAACAGAACAATT
+TTTTGTTCATAGTTTGGTGACGGGGAGTTTAAATAGTTTTCAAAGTCTAC
+ATCAGTAGGTTTACTATTTTTTATGTCTTAAGTGGAGAAGTATTGCAAAT
+GTATTTACAAGGACCTAGAGGGAGCAAGTAATAAAATAAATTGCAAGGTT
+TTTCATATCATTAATGCTTTTTAGTGCCCAGTTTCCCTTTAAAATCAAAA
+TAAAATCAGGAAGTAAATTATGCCTATAACTATATTGTATCCAATATTAC
+CTAGTTAAAATGGTACATGTTTTGAGAAAGCTGATAGAATTCATGCCATC
+TAAATTATTTGTTAACCTGAATGCTGAATTTTGTACATTTGGCCAAAAAA
+AAAAATGTTGTTTATAAAACTCAATATTGGTGCAAATAAAGTAACACAAA
+AGTTCTTTTCGACTTCCTAGTTCATTGTTAACTTAGGAATACCACAAAAC
+TTTGGGAATTTGAACATGAAAATTTTGAGTGAAAAGTGCAGATATGTGTA
+GCGTTTGAATGTGTGCACTGACAACAATGTTTATCTGTAGTTGAAAAGGG
+AGTTTGAAATTTCAGAAATTTAATACTATAAAATCGCTGCATAATTTTAT
+GGATTCCAATCAAAACATCATAGAATACTCCCGTTTTTGTCAAGACACGT
+GAAACATAAAATCCAATTAGTGTATCTCAATTCTACAGTGACAATGATTG
+TAAGTTCCTACGAAATATAAAGTTATTCAGTGCTGGCCATAAAGGTGTGG
+TTTATGGAGAATATCTTTTTCCTACTCAATAATTCTGTTTTAAACATTAG
+AAGAGTATCAGAAAGTATAGGTATGATAAAAAGTTTCAGTGAAAACAAAA
+AACTGAAAAACCGTGATTTTCAGAAACACATATTTTTAAGAGTCTAAAAT
+GAACCTTTTCAAAAAAAATCTGAAATGATCAAACGTTTTATTGTGCATAT
+ATTTGAAAAAATACCATCTTGATCACAATTTGGAGCTAAGCCTGTTGCAG
+TCTGTTCTGTGTGATTTTCCAATCCGAAATTTTTTTTAATCAGTTGCACA
+ATAGCTAGAACCCTATGAACTTCATTTTTCCATTAAAAAAAATAGTATGT
+CGTTTGAATTGGTCGCTTGAGTTCTATGCGAAATAATTAATGAAATTCGG
+AGAGAATAAGGTTGAAATTCTATGAATATAAATGAAAGGTAAGGTTGGAA
+AACTCATATCAAAATATTGTTAATTTCCAGTGTGTACAGGCGGGTGCAAT
+AAACAAAAAATAAGTCTTTTATGATCTCCGACAGTTCAATTTGTAGACTT
+TTCTAATCGAGAAAAATTTCTTATGAGATTGTTGTAAAAAATAACGAAGA
+GCGATATGCATCGCCGGGTCCGTAACAAGTTTTTGTGTCATTCCGATGTT
+GCGTTCTATCATGGAACTTATTGCAAATTCACACAAAAGTTTCCAAATTG
+AACCTTTAAAATCCGTATATTTTTTATTCCAATTTTACTTCCTTCTTAGT
+CACGTGTGGGAGTACTCATCAGGCAAATGAAGAGTAAATACAACTCAGCA
+CATGCTTCATGTTTGCTTCCAGTCTTGGTGAACTTTTGCTTCCAGTCTTG
+GTGAACGAAGAGTTTCAGTGATGAGCTACCAGCTTGAATTTATTGAGATA
+AAAAAGGTAGGGACTTTGGAAAAAGGCTTTTTAAAAATAAATTTTGTTCA
+AAATGCAAATTATTTATTTTAATTTTGCAATTTTGCAATTGCACAATTCG
+ATGGATATGTATCTGAACCTGTTTTTAATAATTCATGTTACAGTAATTTA
+AGAATGGTGGTAAATGTAGTTGGCCAAATGTTTTCAGGTCACCGCTCTCA
+TGCCCGATTCTTACAGCAGGTCCTGTGGTGTAGTGGTTATCACGTCTGCT
+TCACACGCAGAAGGTCGCCGGTTCGAACCCGGCCAGGACCTAGTTTTATT
+GTTGTTTTACATTTTATAAATAAAGGAATATGTAAAAGAACTACGTTTCG
+TGAAAAAGAAACATTTTGCAAGAATCAAAGAATACTTATAACTCCAAATT
+TAAAAATTTAATTGGTAGTTGTTTTATTTACCCATTTATTCAAAACAAGA
+ATTTTTTTATTATTAAGGCATAAAAACTATCGCTTCCTATACGTACGCAT
+CAAAATAAATGTCACGTTTAAAAATCAAAAAATTGGTTTTTACAAATGTG
+GAGTCATAATTCACAAAACCAATTGAAGATATGGGCTGCCGAAGTTGGCC
+ACAACTCTTTTTTTAAAATTATCTTTAAAATTTGTTTCAATGATATACAG
+AAAAATAAGAACATGCTTCTCAATTAAACTTGACTACTTTCATTAGGAAT
+AAAAAGTATGTAGTCACAGTTTATTTTAATTATTCATTTGGCAATTGCAA
+AACTAGGTCCTGGCCGGGTTCGAACCGGCGACCTTCTGCGTGTGAAGCAG
+ACGTGATAACCACTACACCACAGGACCGCATGTCGAAGAGAGACAGAGCG
+AGTGTATTCGAGAGGAGACCAAGGTCTCTATTGAAAACCAGTTGCATTTC
+GATTATTGTGGTCAAGTGAACAATTTTTTGTACAAGATAATTTTTATAAT
+TTGCTACAATATATAGAGTTGTGTGATTTTTTTTTAAATAAAAACGAAAC
+TTCTGAATTGATTATGCTAGAATAAATATTTTAACTTTTAATATCGCTTG
+GTACTACAGTTACCAAATAAATTGTCGAAAAGTTGAAAAAAGACTGTAAT
+TTTATGTTTAAAAAACTGAAAGTTACCAGTTAAAAAAATCTTCAGTATTA
+AGAATGTGCAAGAAAGACAATATTCTCACTGACGCTATTTTACCTTTAAA
+ATTTTTGAACAATTTTCAGGATGTTTTTTTTCAATTTCAATAATGCATAG
+TATAACCACCCGCCTTTCTGTTCCCACTATCACTTGAAATTTATGACATA
+ATTATGATATTATGACATTTGAAGAAATGAATAAAACATTTTCATGATCT
+TGCAGAAAGGAAAATTTGTTCGTGAAATTCAATATTCTCTTGTATAAAAA
+AACAACGTTTTTGTACATCTCCGCGGATTCTCCGTTTTGGAATGACCTGT
+CCATTTGTGCCGTATGCCGAGCATCGCGGCAAGAATGTCCCAAACGAAGA
+GAGGTGAGAAGCCACAAATTGGACGGACGGCGCGCGCGCGCGCGCGGAAA
+ACAAGAAGAGAGGTGTCCCATTACCAATATCGGGTTGGTGGGGTTCGCGC
+ACAGAGCTGCTCCTATGTTTGTCCGCACACCGCAACTTGTCTTAGCATAG
+CATCAAAAAAGTCCACACACACACACAGTACGACATGTCAGGTTGTTGGG
+TGAAGGGCGCTCCTAATCGCGAGAAGTAGAGGCTCTCAATTAGCTATCCC
+AACGTCCTTCTGTGTTGAGCTTGTGTTTACCAACGTTACTTGCAAAATGC
+ATTTTTCACTCTCCATTTACAACGTCGAGCTTTTGTTTTCAAATGTTTTG
+TTGTTAAATCAAACAAGAGATCTTAAAACTTTTCCGTTTTGGCTTCAAAA
+GTGTTCATATGCTGATAACTAATCTTTATTTCTCACACTCCGGCATGCCA
+TGCAAAATTAAAAATGTTTCTTATTTTTAGAAGAGTGGGTTCTAGAGTAT
+ACATTATTTACGTCCAATACAATTTTTTTTGACAACAACGTTTTACATGG
+TACAAAATACATGTTTCTTGTTAAAACCTGATAGCAAAATTTTAGTCATA
+TGTAGTTTAACACAGTTTGATTTTAACTACGTTTTTTTAATTCCCAGTAT
+TTTTTTTGGAAAATGTTTGGTGCAATATATATTTCAGAATTTGCAAAATT
+ATGTTTCAGTTACCCTGAAACTCAACATTTGCAACTAAAATGTTTTAACC
+GTACTCAATATAACATTTTTAATCATATTTTAAAGAATGTTACAAATTTT
+GCTTGTGATATATTTTTGATGTTTAATGGTTTTCAATTTTGTTTCTTTTT
+AATTTCTCAATTCTACAAAAAAATACATGAAAAATATAATGCAAATAAGT
+TTTTCTTTTCCACTTTTTCATACTTTAAGAACTGATTTCCATTGAGAAAA
+AAAATCCAAATCAATAAATTTGTAAGTTGTTCAAAAACCAAACTTTTACG
+AATAAAGTTTTACTGAATTTGGCAACTTTGGGGATACTACTGAACAAATT
+TTATCTTATTTCATTATTTATTTCCAAATAGATATTTTATGACATTGGGT
+TTTAAAAAACTCTAACAGTCATTTATGATTATTGAACTTCAGAACACCAT
+ATTAGGGGTGGTCGGCATTCGGCAAATTTTTTGTCGAAAAATTCGGCAAA
+TCGGCAAATGGCCTGTTCACCAGCTTGCCGGAAATTTTAAATTTTGGCAA
+ATTGCCGATCTCCCGTTTGCGGGATATCAGATTTGCCGGGAGTGTTTAGA
+GGGCACTTAAAACTGTCTTTTTGAATTTTTTCTCGTTTCTTTAGATATGT
+TCATAGAATTTGTCAATCTTTCAAAATAGATGTAGGAACATTCATAGCAT
+GCGTAAAATTTTGCCTACTGAAATTGAAATTCTGAAATTTTCTATGAAAA
+AATGTGCAAAAAAATGTGCAAACCCACAATTTGCAGAATATTTTCGATCA
+TAGCCGTTTTTCCGGCAAAGTCGAAAAATCGAAAAATCGGCAATTTGTCG
+GTGTGGCGATTTGGCGGAAATTTTCGAAATTTTCAATTCTGGCAATTTGC
+CGATTTGCCGGTTTTGCCGAAAATTTATATTTGGGCAATTCGCAATTTCT
+GTTTCTTATTGATTTGAACTCAAAATGACCAAGATAAATGATACCCTACT
+AGAGTGAATAATTTTTTATCATTTCATTGATTTTAAAAAATTTTCTCCCT
+CGGACATTTTGCTGAAACAGATCTTAATTAAAAATTTCAGCGATTTCCTG
+CCACATTCCATATAGCAGCAATTTCCGTCTGAATTAAATTATTTGCAACA
+TATGTTTTTCCTCACTTTCCACCCAACACCACTTCAAGACACCAATAAGG
+CGACGATAATTCGAGTAGCAAACACTGTTTCACACGCAATTAATTATAGG
+TCCGCAACCTTTTCTTCCTCCTACCCACTTCCACTATGCTTTTCGCTTTC
+ATTCATTCCCGAAATTACATATAGCGGCCTTCATGGGGGTCTCGGCTTGG
+GGGGAGAGAGGTTCAAGTGTGCGGTCTCATGTGTGTTTCAAGTACAGGGC
+TTATAGCCGCTTTATTAGTATTTAAGCTTGTTGGTTTCAATTTGTTTCCC
+CTCCACGAAAGTTTTTGGGTTATGAGAATAAGAATAAGGAAATGCCCACA
+CACCACGGAAAAGTAAAAACTGGCATTCAGGATGGGTGGGCTTCGACTTC
+TTCTCACTTCCTCCTGTTTTTCATTTCCTACCGTTTGTGTGAAATTCTAT
+GTACATATAGACAGAAGAAGTGGGGATGCTGAGTTTTTTAGTGGACCTCC
+GATGTATATCGCATGAATCATTTTCAATCGGTTTTCTCTCCCCCTTTCTC
+CCCACCCGATTATGGTAGTCGTCGTGAAGGGGGGCGGCGCCTACCTCCGC
+CTTCTTCTTAGTTGTTGGCAATAACACAACAAGATGCGCAAGTCTTTGGT
+CCTAACTTTTAATCATTTTTCATGCCCAGCCATATCGCAGCGGGTAACTT
+TATCTCCTTTACCTTATTTGTTCTGTTATCCAAATACTCTCCCCCAACTC
+CTCAAACTTGCTAGCTCTCAGAGAGCTCTACCTTGTATATCCTCTTGTTG
+CTCATTATGAATTCTTACACATGCTTTTATATTATAAATTATTCAGGAGT
+AGAACTAATAATGGATTGTAGAGATGTAAAAATAACATATACCAATAGTT
+GAAATGGTTGAAGAATAATTCAGCGTTATAAATTTTTTAATAGTATTGTA
+GGAGCTCCTTTAAAAATGAATTGCGTGTTCATTTACTGATTCATTCAAGT
+TAAAGTTAGAACATTTTTGTCTCAAATTCTTATAGGACTAGGCAAATCAA
+AGCCTCCCAAGATACAACCAGTTTAATTTTGTTTTTTTCAAAAAAATTTA
+GTCTGGATAATGGCAAGCATACCAAGTCCTGATATGAATATGGTCTACCA
+GAATTTTTATTTTTCCACATTTTCAATTTTATATTTTCAAGTTACTTTTT
+TTCCTCACAAAAAATTCTAGTTTTCTCAACATGCAATTTATTACAATATC
+AATTTTTATGAATTTTGAATTTATTTGAAATATCCCGTGTCAAATGCAAA
+TACAAAAAAGTCGCGTACATCCATCGCGTGAAGTACCACGTGGGATCATG
+ATTGTTGAAAAAAATCTAGACAGTACTACATCCATCCTCTCCCACTGTCT
+TCTTGATCTAACAACACATACCGAAGAGTTGGCTCACTCTCTTGACGGGC
+GGCTCTCTGTGCTCTCGGGCTAGCTGCTTCCACCCCCCGTCCCTGTCCAC
+TCAGCTTTCCGCGTATGTTCTGGCCTCCCATTCGGACTCGAACTAAGGTT
+TTTCTTGCGCCAAAGCTCCGAACATTAGCAAATCCAGATTCTTGTGCCGA
+TGTTTCGTCATACTTCAAATTCCTCCCACACTTTTCCAATTTGCTCTTTT
+TTGTTGCTCTTACTTGGTTTTTTTCTCTTCAACCTCTAGCCTCAAAAATT
+TCACTTTTCAGCCATGATACCCTACTTGGGCCGATCCTTACTACTTCTGG
+CACTTCTAGCACAATATTCAAACACGTGTCTTCTCAAAAATGGCATGAGT
+TCCGTGTATCTCTCGGCTTTTGAAGATTTGAAACCAGGTATATTTATGGC
+TATATTTATATATATATATTTATTCCCATATAGAAATGTCACTTTCGATT
+CTTCCGATTTTCCCAATTTCAACTCGTATCATGGAAAAGTAAAGCGATAG
+TTGCCTTTCTTTCTTTTTTTCTGCAAAAAGTTCGTTCCCGAGACCCCCGG
+CCGTTATGTAACTTTACTTTCTCCAACTAGGACAATTTCCACCGTTGTGT
+TATTTATGCTCGACCGCGTTCATCTTCCCAAATTATTTTCCCCTTGTAAT
+CGGCCCGCCAAAACGATGCAGCTGATCATTAGTGACTACGCACCCTTATA
+CAATAGGCACTGGGAGGGGAGAACCTGCTAACAAGATTTAGTTGAGCCAA
+TTTGATCTACACAAAACGTGTCCTGGGTAGATTCAGACCAAAGGGAAGTA
+AATGAAGAATTGAGTAGAAAAGAGTGGGACACATGTGATGGCAAGTTTAT
+TATTAGCACCAATCGTCATGTAACTAACGACCGTGATGACGGACAGATAA
+TGGGATAATGATGGGTGCCTTGGAGATTTGTTGCGAAACCTAAATATGAC
+TAGGAAAATGAGAAAAAGAATGAGATGAATAAGGAGAGAAAGAGAGAGAG
+AGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAG
+AGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAGAGATCCTTA
+GATAAATCGGATAAGTGCGATAAATCAACAATGTTTTTTTGGCTTGCAGG
+AAATGTGATCGGCACGCTGCCTTTCGAATCGCAGACCTCAAAGGAAACCG
+ATGTCGAGCTACGGGTGGTGAAGGGAAACGAGTTGGTCGATGTGAAACCT
+GGCAGCCATGATTTGATTCTGAAAAAGACGTTGGATAGGGATGAGGTAAA
+TTGAAATGGTGGTGCTGAAATGTTTTGGTATTCAAAAGTGAACTGTTTGA
+GTTGGGGGCAGAGATGGCATTTAAAATTTAAATCTTTGTAAAATTAACTT
+TTGAATTGCACGTGTTTATTGGTTTTCAATCAAAGATCAATGAAGAAAAT
+TGCTGAAAATTTTGCATTTCTACAGAAATTCCATTTGAAAAGTTTTGTCC
+ACTTTTGAACTCAATACTTTTTCAGTGCAACCATCTTTGAAAATTTTAAG
+ATGGAAAACCTTGCAGACTGCTCTGCGTTTTTAGAATCATTCAAAACCGG
+CAAAATTGCTCTTGGAGGAATTTTTAAAAATTTGGGAAAAAAGTGGTACT
+TGTGTATTACATGCCCTCATTTTTAAATTAAATTAAAAGTTCATTAATTT
+CTCCGTTTAAATTAAACGTGATATACATTTTTCATCTTTAGGCTTAGGAA
+TGGTTAATTGTTAATCCTAAAAATACGAAAATATGCAACACTTTTCAATT
+TTTATATGTTAAAAAATTGCTTGAAAAAAAAATTTGCCATTTACCAAAAT
+TTTTAAGTGAATTATTTGTAAAAATATATGCAAAACTTGACTTTCCAAAT
+GAGAAGTGTCTAAATTTTTTTAGTTCCTTATTTTTTTTAGTACCCCAAAA
+GATCTAAATTCCTGAATCCTCCCATTTTCCATGATATCACTAGCTGACCC
+CCGCCGTTGTAAACAAAAATGACAAAAGAATATCCTCCAACTAGACGCGA
+GTTTCTATTCTCGATCACAGCTAAAAGTGTTTATTCCGATTTCAAAGTTC
+ATTTGATTCGTCCATCCAACCTATTTGTTTGCACAATTCTTATCACAGTA
+TGTTCTCTCCCAGACCCATTGCCTTTTCCATCGGCTCGTGATCATGAAAT
+CTGAGGCGGCTCTTCTCCTCCTCCTATTCCTGCGAGCCAAGAGACAACCT
+TAAATATAGTTGAGCATTGCGCAGGCCTCTTTCTTGTTGACAGACCATTC
+TAAGTGGTTAGCGTGTAAAACAAAAGAGCACTCGCTCGCCGTTTCCTATT
+TGGGAGGGGTGAGGCGAAATCGCATCTCAAAAAGGTACCATGTTTAGGGG
+ACATTTGACTTGTTACATTGAATTCTGAAGGTAGTGGTGGCCTACAAGTT
+TTATGATGCGTTAGTCAATGATGAAGAGACACCGGGGCGCCTAAAGATGT
+ATACCAATTATTTGTTTCAGGGAGTCGGCAAGTTCGAAGCTGTTGTTGAA
+TGCCGTTCCTCGAATTTGGATACAGACTTCAGTCAGGTATGATTGGAAGT
+GACAGAACACGCTTTTTTTGGGAAGCTAATCTGATAACAATTGATAACAA
+TTGCAGCTGAACATATCGGTGTTTGTGACGGTCAAAGACATTAATGACAA
+TGCGCCAGTGTTCGATTCAGCCGAGTACTTTGTGGACATTAAAGAAGAAC
+TACCAACTGGTAGAAAACACTTAACAAATTAGACAAAATACGAAAAGTGA
+GATTTCAGGTACAATTGTCTTCACAGACTTCGAAGCCACTGACAACGATC
+AACCAGGGCCAAACAGTTTCGTGCAGTACACTATTGTGGCGGGACCGCAT
+TCTCATTTTCTGGAGATTCCGGACCCTTTCAAGCCAGTGATCACAATTAA
+AGATAGGATTAATTACGAAGAGATCAAGAAGTTCTCGGTGGAAATTGAGG
+CGAGAGATCAAGGAGAACCGAGTTTAGCATCAACGGTTCCGTTACATGTG
+ACAATTGTGGATGTGAACGACTTGCTGCCAAGATTCAAACATTCACATTA
+TACAGCTAAATCTCAAAAGGTAAGAGAAATAGGCAAGAGGTAAATTGTCA
+TGTACACGTTTCTAAAAATGTTCAATTTTTAAAAAATCGTAGGTATTGGG
+AAATATGTATATGTATTTGTATTTCCAAGTATTTTTCAAAATGCCACAAC
+ATTGAAATTATGACAAATTTTGTAATCTATCTTTCAGTCTATTAAAGTTA
+CCATGGCTTGTGTCAATATGTACTTTCTCACAAAATTCCACACTGTACTA
+AACTTGATTACTGTCAAACTGCTATAGCTACTGCTTTTTTCTCTCGCTCA
+CCAAAAAAGCTACTATTCAAACGTTTTCAGAATGGCGTATTGGTTTTCGA
+ACCGGAGGCTATCTCAGCACAAGATGGCGATCGTCTCAACGCTTCGCTGA
+TCTTTTCTCTGTCCGGAGGTATGTAAGGGGGGCGCCTGCATATCATTTCA
+TACCTCATGTTGCGTGCCTTATGCGCACGAATTCAAACCAAATGGGGAGA
+AGATTTGGAAGAAAACGAAACAATCGAACCAAAAAACAAAAAAAAACACA
+ATATCGACAATTTCACTAGGAGGAGAAATTTCGAGAAGGGGTGAATGTTT
+TGAGGGAGCAAATAGAATACTTTTATGAAAGTAAAACCTAGGCTATTTTA
+TATGGCGTTATGACGTTGCTCGGAATAGTTCTTCGTGACCGTCTTTTTTT
+TTGAAATACTACAAATTTTGAATAATGGGCACACGAACAATTTTTCAATT
+TCTCAATCATCATTATTTTAATAAAAGTTGTTAATTTTGAGGCAAGCTCT
+GACGTAAATTGACCATAGTTTTGCTCAAGTTGCATTTTCGGAGTTTTTTC
+CAATGTCAGATTTTCTATCATAATATGCTCATTTTACCAGCAAAAAGTGT
+TGTCAATTTCTTTTACAGTATTATCAGTTACCTTAACTCTTGTCTCCTTT
+GCAAAAAAGTCAACTTCGGACCGTTGCAGCCCGAAAAAGTGGCAGTGGAG
+ACGTCAGCTGAAATATGGTCATTTCAGCACATTTTGGGTACTCAAAAAAT
+AAAACTCGACAAAAAATAAGATACAAAATTACTTCATAATTAAACGCAGC
+GCTCTGATACCAAATTTCACTACCTTTTGACAAGCATAACTTTATTTTCA
+GAACTATCGGAACACTTTGCCATCGACAATGACGGAAGCATCCGTTCGAT
+TACCCCTAACCCACCACAACGAGCCACTTTCTTTGTGACGGTAAGTGATT
+CTCTTTCACTCCGTTGCTGTCTTGGTTCATTGAACAACTTCAAGACGATG
+ACATCTGTATTCATTGAATTCTATTCAATTCCACATTCAATTTGAGGCAA
+AGTATGCACCATTTTTCTCGGTTCTCTTTTTTCTCGTCTCTTTCACTGTC
+ACTGTTCAAATTGGAAGTAGACGAGGGGGGGGGGGGAGAAAAATAACAGC
+CGTCCTTGGTCTAATGGCGTTCGTTGCGGCAACGTCGACAAATGCACGGT
+TCTGAGATTCTAATTAGAACCGTTGCAAAACAAAAATGACGGCAGATGTA
+ATGAATAGGGTTCTAGATTTTGGTGGAAGTTGAATAATCAATTGAACTTT
+CAGGCCTCTGAACGAGAAGATACCGAGAGAAATAGCACGGCAATACTGTC
+AATCCGTCTTCAATCTTCATTAGCCTTCCAGCACAACACCTACTCTACAA
+CAGTGAGCATTTGTTTGAAGTTGGAAGTTATCAAACAAATAATATGTTTC
+AGATTTCACCAACAACACCAATTGGTTCAACTGTGATCACTGTGGTGGCC
+AACTCGGAAAATGTGAGTTTATAATATCAGGGTTCATATCAAGGTTCAAA
+AACCTAGAAGGTTCAAAAAACCTAAAGTAATGCCTGAAATTTTCCGGTTT
+TCGAAAAAGTTTTCAACAACATTTTTAGCAGTACATTTGCTAAAAGATTT
+ATTTTATCACAATCTTGTTTTACACATCATTTCGTTTTTTTTTGAATCCT
+GACAAAACTGTAGTATGAAAATCGAGTGTTCAACTGTTAGATGCTTTGTT
+TGTTAGATTTTGTTCCTTTCATACTGGTAACTTAACCGATTTTTTGACAA
+GCAAGTTCCATCAAAAGCGGCTATATCTTACAAACTTTTTTTAATTTACA
+AAGTGACACCAGATAGCTTGAATGTTTTTGTAACAGACTAGAATTTTAGT
+ATAATAATAATGATAATAATATGAAATATTTTGAGTCGTTTTTTTTCTCA
+GAATACCCCGCTCACCTACTCGCTTCTTGCCGACACGAACACTGTTTCGA
+TTGATGAAGTATCTGGAAATGTCGTGCTCCGTAAGAAACTCGAGAAGCCC
+GAAACATTGAATGTTACCGCGAGTGATGGAGAAAATGTGAGCACAGTTTG
+TTTTAAACTGATTTGCAAATCAAGTCTTACAGGTTGTCTCTACCGCTCTC
+CACTTGATGACAGCCAATTCGGAAGAATCGTGTCGATCGCCGATTAAGTT
+CGAAAAGTTCGAATATAAAATGACAATTGGGAAATTGAATGTGTTGGGAG
+TAGTGAATGCCACCTCACGGACAGGAACAAAGATCACCTACATTTTAATG
+AACATGAATAAGTAAGTACATAGTGAAACCATAGTCTTATAAGCTTGTGA
+CAACTAACTTCAGTGATTTTGAAATCGACACCAATGGAGTCGTGAAGCTT
+CTTCCCAAAGCACGTCTTCAGTGCAAAGTTTGTGAGCTGATTGTAGTGGC
+AAAATCGGGAACTCAAATGGCAATCACCAAGGTACCAAAAATCTGTTTAG
+TTCCAGAAAGTATGTTTTCTTTCATATTTCCAGATTAACGTGGATAATCC
+AGCATTTGTTCTTCACTCGACCACCGCTTTAACTTTATTGATTCTTATCA
+TTTTATGTCTGATCTTCACGATGCTTGCTATCCTCGTGTGTCGGAAGTTT
+TGTGAAAAATGGAAGACGGGCCATCGGAGATCGAGCATTTGTTGGCTCAA
+TGGGACAACTGATACTGGCATTTCTATAACTACAACAACGCCGAATACAA
+CGACTAGGTGAGTGGGGGCAGTTGTTGGAGGTTGTGTGGCGAAAATTTTT
+CAGTGTAATTAATGCTACTCACTTTTTGACTACTGCTCGTTAATTTATTC
+AAACAACAATATTCCCAGATTTTTTATGATTTCAAGAGGGTCTAAAGTAA
+CAAAGCCTTTCTGTAAGGTTTTCGGAGAGTTATAAATTTTTGGAAAAAAA
+CCTTTGTTTACCTAGATTCAACTTGACAGAGAAAAAAAAAGAATTTTTCC
+GATATTTCGAAAAATCTTCCGCGATGTTTGACTTTTACTAAGCATTTTTA
+CTAAACACAGACTTTTCCCAACATACTTAAAATTTACATATATATTTTTA
+AAACGACTTCACGGGCTTTCTATTCTGGGCATAGGCAATAAAATAGGTGA
+ATTTTTAACAAAACACTCCGAAAAATTGGAAGCATTCACAATTTTTCCAA
+CTGAAGTTTTGGCAGCTTTGGATTTTTTAGCGACATATACAATGAATTGA
+AGCATATTACTTAGAATATGTAAATTGTGGAGTAAAAAAATCAGAAACTG
+TTTGAAACTTTTTTTTTGTATTTGATTATTCCAGCACTACAGTAATGATT
+TTAAAAGTTTCACAATTCCATATCCCGATAAAAACCGTTAACAATTTATA
+GTTCAGGTATGTGGTGAACAGTGACCGCGATAGATGTTACGAGTCCAAGT
+CACCGGGTCCCAAAAGATCACAAGGTGCCCATTTGGTTCCAGTCACCGTA
+ACATCAGACGGATCAACGCCTACTGTCTATTTTTAATATGTATCCGATAA
+AAATTCTGAAATATCTGTTCATCTCCCTCAACGCCCCAATCTTACTGGTC
+ACATGCTCCTCGCTTCAATAATTTTTTTTTGCAAATTGTCATTGTAAATA
+CGCAACCTCGTCGAATTCTTTCACAGCTCTTTCACAATCATATCGGTGAC
+TTTCTTTCTCACAATATTCTATTCATTGTATCTTCAAAAGTGCTCATTCC
+TTTGTCTAACCGTTTTGCTTACAATTAACTTATGTTACCTTCGCTTTGCA
+GTTTCAAAACTACAGGGTTGATCTCATATTCACATTACTTTTTGATCAAT
+AAATATATTTATATAAATTTTGCAACTGTTAATTTCGTTTGAAGAACACA
+AGTAAAATACAGATTCAATTTTATGGAAATATTTGAGATGATATTACGGT
+AAGCATATCCAGTCCAAAAGTTTCGCGTTGTGTTTCACGGAAAATGATAA
+ATGTAAAAGTTTTTTGTCTGCCTTTTGGTTTCCAAAAAATTCCAAAATTG
+TATTTTTTTCTTTTTTTTTATTCATTCATTTTTAGTCATACATACATCAT
+TTATCATTCATCCATTTCAGCTCGCTTGTCGATCTCCAGTTGGCCTGATC
+CTCATTGACCTTCTCGGCCCAAGTTCGCCGCCGTGGTTGTTTGTGAAATG
+ATCCACGAGCTGCTCCTTCGCCTGTCAATGCCGGTGTTTCTGGCATTGAC
+AGGGTGGCTAGGGGTGTGGGGGTCGAACCATTAACCCCCCGGGTGGCCGA
+ATCAAGACCGCCGCCTTGATCCACTCGGCCATCCTCCCGCCGAAAGAACA
+ATAGAACATAGCTGATTAAGTTCACGTGATGATTTACATATTAAGAAGAG
+AAATAACTTCCAGGGGTCGAAGTTCATAACTTTTTTTGTTGTACATGGAT
+TTATTCGAAAATTTCGGAAAGTATGTTATCAACCCTGCTCTTTCACGTGA
+TGGTAGTTTCAAAATGATTTGAACAGCCAAAGTTTATCAGACTGATGTTC
+TTTCTAGTTTATTTTCAGACTTTTTAAGTTAAAGGGTAATTTTGCTTATT
+CAAAAGTATAATGTGAAAGTTCAAAAAAGAATTGGAGGAAATTGCAGCCA
+GAAAAATTGCTAAGAGTTTTTTTTTCCATCAAAAAAACATGTTTTACTTG
+TTTGATATGTCAGAAGTCTGTAAAAAACTAAAAACACTATTCCGTTTTAA
+CATGTTCTATCTTTTTTAAATTAAAACTGAACTTCCAATTAGATAACAAA
+AATTTAAGTGTCAGAATTTCGACTAATTCTGATATCTGAACATATTCAAA
+TATTTCAAATCAGTTTTGTTTTTCAATAAAATATTTTCATTACATCTTCG
+AAATCCTTCTGGATTTTTTTAAAACCGATTAGCATTGCCCTTTTCGTTCA
+CATCTGGTCATTTTTTCAGTTTCTATATAGCAAAAAGTATATCTGATAAT
+TTTTATAAGGTTAGAAAATAATTTTCATTTGAAACATTTCAATCACAATT
+ATTAAAACGATATTGCAACTAGCAAAACACATGGCCTTTTTGAATGAGCT
+TATGAAGCTGATGGAAAAAATACAAGTACATCATCTAAACTGGCTAAAAA
+TTAAAAGAACAAAACTACATACAAATTGTATTAAGAGGAATGGACTTTGG
+AAACTTGAATTGAAAAATAAATTGAATTATGCATGTAACAGAAAGTAACA
+AAGAAGGAAAGTGTGTTGTTGGTAGCGTGTTTGTAAATAATAAATAGAAT
+TTCGATGACTAGTGCATGAGGAATATTCAAGAAAATTGGTTATCCGCAAG
+TATTGACTTGTTATTGTTACTATTTTTGAACATATTGTAAGGAATTGGAG
+CAGTCGGTACAGGGTCGAATGATGATCCAGATGATGATCTGCAACTTTTT
+TTGTATAGTTTGTTACTTTTGAAGATGTTTATCGAATCGTAATAGATTCT
+GGAGCTAGTATTTTCAGCTTGACCTATGTGTGTTTCTAGAAAGTATTCAA
+CTGAAAATTTTATACTCAAAAACTAACTTAAAAAGGAACTTACAATTAGA
+GAAAAGTTCAAGATTCACTGTAGTTTTGCTTTCGTTCAGAAAACTCAAAT
+TTTGAGTACTTTTTGCAAAGTTTCCTAGGAAGAAAAAACAACGGTCTCAT
+AATTTTTTGTCTCACCTCCGATGAAGAGAATTTTGCATCAACGAGCCCGA
+TGAAGTTCTTGCATGTTCTGATAGCCTGGAATATGGGAATTAAGGAAATT
+ATATTTGATTTATTTGAGCAATTAATAAAACTGCGTCTTACCCTCCAGTC
+ACGCCCATTCGACCTTTTTTCTTCCTTTCCTGTATTTTCTGTCTAATTTC
+CTCCATTCTACTCAGTGCCTCGTCTCCGCTGTCTGGAAAAAAAGAAAAGA
+AATGAGAAAAAAAAGGAGAGAGGAAGAAGAGTGCTCTTTTCACATGCCAA
+AAGAAATGCAGTCGACGCTTCCCCCTTTGCCTTTCTTTTTTCCCGACTAG
+GGCTTCATATACTCACTTTTATCTACCATTGCTGCATATTTGTCCCGCTC
+CGACCTCAGTTCGTTGATGATCAGATCCTAAAATTTATCAATTATTCATC
+GAATATGCCCGTTGTAATTTGTGAGCTCATTTCAAAGTGTGTTTTCTGAT
+GTTCTCTATAATAGAAATAAAGCTCATTTCTAGTATATCAAATATCAGAA
+ACATTTTTATTTATTCTAGGCGCGATAATTAAATATACCAATCTAAAATT
+ACTCTCTTGAATTAAACTCCCAAAGTTATTAGGCAAAAAGATTCTCCCCG
+GCCGGGAATTGAACCCGGGTCTCGCATGTGACAGACGCGGATACTCACCA
+CTATACTACCGAGGACACGAAAGAGAGCGGTTGTTGAGGCTTTTATAAAC
+TGGGTTTATGACCGAAAATTTAGTGCTATATAGTATATGTAACAATAAAT
+TATGTTAATATGTATAAGGGGCAACTGGGAAACTTTAAACAATTTATTGA
+AAACATTTTCTGTGAGAAAACACGTAACCTTGAAAAGTAACGTCTCTATT
+TTTGAAAAGATCCCTTATAAATGTTTTCACTTGTTTTAAATTTTGTATAA
+AAAATTTAGCAGCAGTTCTTGCCTCACCTTTTCATAACTCTCCTCTTTCA
+ATTTGTCCACCTGGGTTTCAAAGTTGTCAGTTATTGTTGCAAGAGTTGAC
+TTCCGTTGCTCAGTTTTGTCACCGTGAGTTCTAAAAAAAGCTTTTTCAAT
+TCTGCTCTCCATTTCCGTTTTCGGCTCAGTTCTTCAACAAACGAAGAGAA
+TAAAAGAAGAGAGAAAGAAAAAAAAACAAACTTTCGCAAATCGTTCACCA
+TTCTTTCGAGTTGCTGAATCTTGTCGTCTTTTGATTGAATGCTCTTTCGC
+ATTCGAATAAGATCCTCTGTGCTGCCGGGAGTAGTGGTTCGCTGCAAAAT
+TGATGATTATGCAAATGAGTAGTGGTTAGTAATTCCATGAGTAATTCTAT
+AGATGTTCTGGCATGTTCTATTTCAGGGCTTATGTACTACTATGTACAAA
+GACGGCTTAGACGGCAATATCTAGGATAAGATTGTTATAGAAGATAAACT
+AATAATAATAGTTTATAATTTTAATTTCCAGTAAAAAAATTATGAGATGC
+TAGAAAAATTTTTAATTCTCCATTTTTTAATGGTATATATTAGAAAAATG
+ATGACGCTCTTTAGACCCTCTGCAAACGTTTTCAAATGTACTAACCTATA
+GGCGTCCCATCTAATTTTCAGAAAAAAAATACTGAGACCGGTGCTGATCT
+ATATCAATAAAACTTTCATTACCGGACATTTAACCCCATAATCGGGAACC
+GGTTCAAATGTTGTCGCCCCCCCCCCCCCTTTTCCTAGCACACCCCACAT
+TACTTTCATTTACTACTATTTCTCTCCCTGTTTCGAGACAAACCTTAAGA
+CTTCCAGTGAGTGATGTGTCTTTGTTCAATTGCATTCTTAGCTGAGTCTT
+CTCCATTTCCCACTGAGCCCGTTCCGACTCAACCATCTGATCCCTCCGAT
+GTTGTTCTTCCCATACTTCGTTTAGTTGCTTTCGCAGCTCATCAGCGTGT
+GCCACTACAGCGGACAATTCTTCGCATTTCTAGAAAAAGTGTTTCTTATT
+GAATTTTAATTTCAAAAAAAAGATAACGTACTATCAAGAAAACAGTTTTG
+ATTTGGGAGCTTTAAAAAATATTTTTAATGTAAGTTAAGAAAGCAAAAAA
+CATTTTTTAGAGAAGTCCGGAAGTGCAAGGTATATTGCAAAGTTAAATTA
+AAATTTGAATTTCGCAATATTTTTTGAATATGAATGCAAAAGTAATGGTA
+CATAACTATTTGAGTGCCTTTAAAATTACCTTGAAAATAGAAAAAAAATT
+GATAGACAAGTTCTGAATGTTTCTAAACACAGCACGTTTTCAATTGTTGT
+TTGTATCACATGGAAGTTTTTTTTCATTTCTTATTTTCCCACGTCAGTTT
+GCAAATTTTTTTCGCGTTTCACTTTTATTCATTATTATATCAATTGGAGT
+GTCTCATCAAAAACAAAAAAAATGAGACAACTGTTAAAAATCTATTTCAA
+GTAAAAATTGATTTCCGGCTAGTGAGACAATTTTTTATTTATTTTTGGGT
+TGTCTCGTTATGAAGTCATGTTGATCAAAATCCTTAAAAACCGAAAAAGT
+GGCCAAAGGTGACCAAACCTGGCCACCAATGGGCTCTAAATGTACCATAA
+TCAACGAAGTGAGATCATAATTCAAAAACTTCAATTTCCGACTACTGCGA
+CACGGTAAAATATTCTAAATTAGAGATTTTAGCTAACAGTCAGGAAAAAA
+AAATTTTAAATTTTTGGAGAAGTTTCATTACGAATTTCGTTCATTTGAAA
+ACATTTTTAGTCTATATGTTCAGAAATTCTCCATATTCACAAAATACCCA
+AACAACTGTTCACTTTTATCAAAAGTACACTGTTGTGGTCCTATACTTTT
+GTTCTCCCCCCATTTTCCCATAAATAAATTGGAAATGTTATCCATTCCGC
+TCAGCACATTCTCCCACAAATATTCCATACTTTTTCCCGCTTCGCCAATC
+TCTCTTGTGAATTGGCGAGTGCCTTCTCAAGCATTGCAATATGATTTCGT
+TGCTCCTCCAACGTCTGATTCTGTGCCTCAATCTCCATTTTTTGCCGCTC
+TTTGCATGCGAAGAGTTCTTGCCCTGAATCGGAAAAAAATCAATTGTATA
+AGTATTTTATTCGTTTTTTTTTTCATATTTCTCATTCTGCTTCTCTGTTT
+CCAGTTCTATTGTATCAAATTTATTTCTTTTTTTCTCCTCACTCTGCTGA
+ATTTCGTTTAACATCAGGTTCGCCACCATCGTTGGTTCAGTACTTGCTTT
+TTCCAGCCGCATTTGCAAGTCGTCTCTTTCGATGGTAAGTCTGAAACTAA
+GATTTTTAGAAGATAATGGATTTTCCTGTTGATTGGATGTTTGTTTGATA
+TATTGCCGCTTGTCAGTTTTTTTTTTGGATAAACTTTTTAAAATAAAAAT
+ATTGTAAAATTTCAGAAAAATATGCCCGTGTAAAACTTTGTATGAAATAA
+GCTTTTTTTTGCTTACTCGGCATTTGGTTCTGGCTTCTTGCCCAACTTTG
+TCCTACAAAATATCAACATGGATTGGCGCAACTTGGCCAAAAGTTAGGCA
+AGACTTCGGCAAAAATTACACCAAAGTTCAACACAAGTTTCACCCAACTC
+TCGCCAGACTTCTACCAAAGTTTGAAACGAAACAAGAAAAGTTTGGGCCA
+AAGTTTGGCAAGAGTTGGGTTTAAAGTAGGGTAAGAGTAGAGTTCGGCTT
+TGGTTAAACTCTGGTGCAGTCTCAATCCTTTTTCTCAAGTTTAGCCAACT
+TCTAAGCCAAGTTAAGATTTTTTGGGCCAAACTTGGGCAAGTTGCAAGAG
+CCAAATGCGAAGAGTATTTTGCCCAAGTTTGTTTAATCAAATCATTATTG
+TTGTGAACTTCAATGATATTAGTTGTGTTCAATGTTTGTCTAGTTTGCCC
+CAAACAACAAAAAAGTGCTGCTCGTGAATTTTGTGAAATAGTTTTCAATT
+CATTTTTAAATGGAAACTTTTTTATATTGCCTTCATTAGATATAAATATC
+AGAAAATTGTTGTCTCTTTTTACCGACAAGATTTTCAACCAACTTACTTT
+TTTACAGACTTTTCCAATTGAATAATCACGTTCAGCTCTAAATTTTCTTG
+CTTTTTTCGTTCATTTGCCAAGTATTCGTATTCTTTTTCCAGTCGAGCAT
+ATGAGTATTCAATCTGCAAGCATTTAGGTTTCCCACTATTTTGAAACTTC
+CAACAAACCTGTTGTAGTTTTGAAAGACTGCGCTTGAAAGCGTCGAGCTC
+TTTTTTCAAGTGCACATTCTCCTCGCGGAGAATTTGAATGAGCTTCTGGT
+TGCTGGATACTCCCTAAAATAATTGTTTGTTTTGCTGTTGCTTGTTGAAG
+TTCTTACTCTGTTAGTTTGGCTCAATGTGGGGACGTCAAGTGCTTGATCT
+CCAGATGCAGATGCCCTACGCTGATAGGCAGATGTGCTCATTTTTGATTC
+ATTTGGGGGAATACTGAAATTATTAATGTTTAAAAGAAGAAGGTCAAGCT
+TTTTTTTGTAAAAAAAATATCTCAGGAAAAATGTTGAGTTTGTCAAAAAA
+GTTTGTTTGTTTTTTGAAATGCAACTTGAAAGTAGGAAGTTTTAATTTTA
+GATAATCGTTTAGCTAAAAACCTGTGCGGAAGTTGTTTAAAAGTTTTTCC
+ATACGAATATAGTGATTAAATATAAAAATGAAACTCTTGTTATAATTTTT
+GAATTTTTTATTCACAAAAAAAAAAGAGAGAAATCTAGCAATTTTTCAGT
+ATTCGTCACTTACTACTTATTAAATTCACCAAAATGTTTTCTACGATTTT
+TATAATTTTATAAAATGAAAAAAAAAATGCTACAAATTTCCTTATTTAAA
+AAGTGTGGCTGAAATTAATGCATAGTGGGAAACACTGTGGATAAAGTTAT
+TGATACATTCAAAAAAAATTTTACAGTTTACCGTATAACGTTTCAAAAAC
+ATCATAAAACCAATACTTACTCTGACGATCTTGATCCACTCGCAATAAGA
+CATGGCTGAGAATGACTGATAGGTGATGCTGAAATAATATACTATTTTCA
+TCAATCCACCAAAAACAGAAAAAAAACAAAAAATGTCACACGCACGTCCT
+GCACTTCCATGTAAATCCTTCCGGCTGTTTGCTCTTTGCATGTTCATTTC
+AAGCTGATATTTTTCGAGCATCTTCTGCAACCGCTTCTCGTCGTCATCCT
+TGCTTTTTGTTTGAGCCTGGTGGTTCATCACTGAAAAATAGTTTTTCGAA
+TTGCAGGACCCCTGGTTCGATATTGCTCACCACTCGCTTTCAGACTTGGA
+TTCAACTGAGCCTCCTTTAGAAGTGAGTCTAAAATGTTCGTCTCTCCCTG
+ATACATGGGTGTCGGTGGCACTGCATGCACTCGTCGCTGATCCGATGATG
+TGCCATCCGACGAGCGCGGATCTATCACGTCCCCTCGATTCATTCACCCT
+GAGATTAGTTTCGATTAAATAGTGAATCATCAAGATTGAATGTAGAACGA
+GAAAAAAATAGGTGAGAAAAATTAGACATTTATTTGGGTGCTAATATGGC
+AATCATACCTAGAAATATTTAATCAATAACGTAATTCTCACGTGGTCATT
+TTTCAACTAAACTACATGAAGCTAATACTAACATGAATTTTAACTTCACA
+TCTTGAATGAATGAATATTTTGAATGCAAATACAAACGTGGTGTCAGGCC
+CACGGTGTCAGGCATTACGGTTTCATCTACAAAAAATGCGGGAGTTTTTC
+AATCGAAAAAAAATTGACGCCAGCGCGTTCTTAACCGTGCAAAATCAGTT
+GAGAACTCTGCGTCTGAACTCCTGCATTTTTTGTAGGTCTACGTAGATCA
+AACCAAAATGAGACACATTGACGCCACAAGAATACATGAAAAAATGATAC
+AAAATTATATGTATTCTGGAAAAAAATTAAACAAAACTAAACCATGAATA
+TTGTTGCCAGTGCAACATGTTCCCAAATTTTACGAATGATAAGAAGACAC
+TTCGTGAGCTAATACATACAATGTAGAAACATTTTCATTAGTTTAAAATT
+GAATTAAATCTAATTTGATAATATACCAATACTCTAAACTGTAAGACCAA
+ACTAAAAGTGACAATTTCTGGTATAAGTCACAAATACTCAACAACAAAAA
+ACTAACACAAACCCGTCTCGGGCGGTCAAACGCAGTTTCGATTAAACTAC
+ACTAAAAGGTTTCAAGTGACCTGACCCGAAATGCAAGTTCCTAATTATAT
+AATTACACGCGTTCGTGTGGAAGACCTTCTTTCCAAAATCGTTTAGTTTA
+GTTCTGATTATCGCGGCTTATCCGTGTTAATCTCTGACGTGGTCGAAATC
+CAAAATGAAGAAACTTATGTTTTTGCTGTTTTTTCCAG
diff --git a/Demo/Sprz-sub.fa b/Demo/Sprz-sub.fa
new file mode 100644
index 0000000..2dd8844
--- /dev/null
+++ b/Demo/Sprz-sub.fa
@@ -0,0 +1,3039 @@
+> DA1140  TGC MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gggcccttagctcagctgggagagcacctgccttgcacgcagggggtcga
+cggttcgatcccgttagggtccacca
+> DA1180  TGC MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+gggcccttagctcagctgggagagcacctgccttgcacgcagggggtcga
+cggttcgatcccgttagggtccacca
+> DA1200  TGC MYCOPLASMA PNEU.   EUBACT (Eubacteria) 
+ggggatgtagctcaactgatagagcacctgatttgcactcaggaggttga
+gggtttgagacccttcatctccacca
+> DA1230  TGC ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+ggggctttagctcagctgggagagcgcctgccttgcacgcaggaggtcag
+cggttcgatccgctaagctccacca
+> DA1231  TGC ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+ggggccttagctcagctgggagagcgcctgccttgcacgcaggaggtcag
+cggttcgatccgctaggctccacca
+> DA1260  TGC SPIROPLASMA MELIF. EUBACT (Eubacteria) 
+gggcccgtagctcagctgggagagcacctgccttgcacgcagggggtcga
+cggttcgatcccgttcgggtccacca
+> DA1280  TGC BORRELIA BURGDORF. EUBACT (Eubacteria) 
+gggggtttagctcagttggctagagcatcggctttgcaagccgagggtca
+agggttcgagtcccttaacctcca
+> DA1470  TGC ENTEROCOCCUS HIRAE EUBACT (Eubacteria) 
+ggggccttagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+cggttcgatcccgctaggctcca
+> DA1480  TGC STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gggggcttagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+cggttcgatcccgctagtctccacca
+> DA1530  TGC LACTOCOCCUS LACTIS EUBACT (Eubacteria) 
+ggggccttagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+cggttcgatccccctaggctcca
+> DA1531  TGC LACTOCOCCUS LACTIS EUBACT (Eubacteria) 
+ggggccgtagctcagctgggagagcacctgctttgcaagcagggggtcgt
+cggttcgatcccgtccggctccacca
+> DA1540  TGC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggggccttagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+cggttcgatcccgctaggctcca
+> DA1541  TGC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggggccttagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+cggttcgatcccgctaggctccacca
+> DA1542  TGC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggggccttagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+cggttcgatcccgctaggctcca
+> DA1543  TGC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggggccttagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+cggtcgacccgctaggctccacca
+> DA1600  TGC RHODOTHERMUS MAR.  EUBACT (Eubacteria) 
+ggggttatagctcagttggtagagcgccggctttgcaagccggaggtcgt
+cggttcgaatccgactaactccacca
+> DA1620  TGC THIOBACILLUS FERRO EUBACT (Eubacteria) 
+ggggctgtagctcagttgggagagcacctgctttgcaagcagggggtcat
+cggttcgagaccggtcagctccacca
+> DA1660  TGC E.COLI             EUBACT (Eubacteria) 
+ggggctatagctcagctgggagagcgcctgctttgcacgcaggaggtctg
+cggttcgatcccgcatagctccacca
+> DA1661  GGC E.COLI             EUBACT (Eubacteria) 
+ggggctatagctcagctgggagagcgcttgcatggcatgcaagaggtcag
+cggttcgatcccgcttagctccacca
+> DA1730  TGC TRICHODESMIUM SPEC EUBACT (Eubacteria) 
+gggggtatagctcagttggtagagcgctgcctttgcaaggcagaagtcag
+cggttcgantccgcttaccccca
+> DA1780  TGC AEROMONASHYDROPH.  EUBACT (Eubacteria) 
+ggggctatagctcagctgggagagcgcctgctttgcacgcaggaggtctg
+cggttcgatcccgcatagctccacca
+> DA1820  TGC PSEUDOMONAS AER.   EUBACT (Eubacteria) 
+ggggccatagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+gagttcgatcctccttggctccacca
+> DA1840  TGC PSEUDOMONAS FLUOR. EUBACT (Eubacteria) 
+ggggccatagctcagctggggagagcgcctgccttgcacgcaggaggtca
+acggttcgatcccgtttggctcca
+> DA1860  TGC CAMPYLOBAC.JEJUNI  EUBACT (Eubacteria) 
+ggggcattagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+cggttcgatcccgctattctccacca
+> DA1900  TGC CAULOBACTER CRES.  EUBACT (Eubacteria) 
+ggggccatagctcagttggtagagcgcctgctttgcaagcaggtgtcgtc
+ggttcgaatccgtctggctccacca
+> DA2100  TGC ANACYSTIS NIDULANS EUBACT (Eubacteria) 
+gggggtttagctcagttggtagagcgcctgctttgcaagcaggatgtcag
+cggttcgagtccgctaacctccacca
+> DA2180  TGC CYANOPHORA PARAD.  CYANEL (Eubacteria) 
+gggggtatagctcagttggtagagcgctgcctttgcaaggcagatgtcag
+cggttcgagtccgcttacctcca
+> DA2220  TGC PYLAIELLA LITTORA. CYANEL (Eubacteria) 
+gggggtatagctcagttggtagagcgttgcttttgcatagcagacgtcag
+cagttcgagtctgcttatctcca
+> DA2240  TGC STREPTOCOCCUS PN.  EUBACT (Eubacteria) 
+ggggccttagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+cggttcgatcccgctaggctcca
+> DA6030  TGC PLASMODIUM FALSI.  CY SIN (Cytoplasmic) 
+gggaatatagtttaatggtaaaatcttatttttgcataataaagatagta
+gttcaattctacttatttcca
+> DA6160  AGC DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+ggggaagtagctcagatggtagagcgctcgcttagcatgcgagaggtaaa
+gggttcgatacccttcttcctca
+> DA6280  TGC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gggcacatggcgcagttggtagcgcgcttcccttgcaaggaagaggtcat
+cggttcgattccggttgcgtcca
+> DA6281  AGC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gggcgtgtggcgtagtcggtagcgcgctcccttagcatgggagaggtctc
+cggttcgattccggactcgtcca
+> DA6320  AGC SCHIZOSACCHA.POM   CY SIN (Cytoplasmic) 
+gggcatgtggtgtagatggttatcacgcttccttagcatggaagaggtcc
+cagattcgagttctggcttgtcca
+> DA6740  TGC ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+ggggatgtagctcatatggtagagcgctcgctttgcatgcgagaggcaca
+gggttcgattccctgcatctcca
+> DA7680  AGC BOMBYX MORI        CY ANI (Cytoplasmic) 
+gggggcgtagctcagatggtagagcgctcgcttagcatgcgagaggtacc
+gggatcgatacccggcgcctcca
+> DA7681  AGC BOMBYX MORI        CY ANI (Cytoplasmic) 
+gggggcgtagctcagatggtagagcgctcgcttagcatgtgagaggtacc
+gggatcgatacccggcgcctcca
+> DA7740  AGC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+ggggatgtagctcagatggtagagcgctcgcttagcatgtgagaggtacg
+gggatcgatgccccgcatctcca
+> DA7920  TGC XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+gggggtgtagctcagtggtagagcgcatgctttgcatgtatgaggtcttg
+ggttcaatccccagcatctcca
+> DA8040  TGC CHICKEN            CY ANI (Cytoplasmic) 
+ggggatgtagctcagtggtagtgcgcatgctttgcatgtatgaggccccg
+ggttcaatccccggcatctcca
+> DA8041  TGC CHICKEN            CY ANI (Cytoplasmic) 
+ggggatgtagctcagcggtagagcgcatgctttgcatgtatgaggtcccg
+ggttcaatccccggcatctcca
+> DA8100  CGC MOUSE              CY ANI (Cytoplasmic) 
+ggggatgtagctcagtggtagagcgcatgcttcgcatgtatgaggccccg
+ggttcgatccccggcatctcca
+> DC1140  GCA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggcaacatggccaagcggctaaggcatgggtctgcaacaccctgatcatc
+ggttcgaatccgattgttgcctcca
+> DC1200  GCA MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggtgccttagccaagtggattcaaggcctggagctgcaacctccatatcg
+tcagttcgaatctgacaggcacctcca
+> DC1230  CTT ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+gcatccatagctcagttggtagagcaacagactcttaatctgtgggtcca
+cggttcgagcccgtgtgggtgtacca
+> DC1260  GCA SPIROPLASMA MELIF. EUBACT (Eubacteria) 
+ggcactatagccaaggtggctaaggcatgggactgcaactccccgatcgt
+cggttcgaatccgactagtgcctcca
+> DC1350  GCA STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+ggtggagtggccgagaggcgaggcaacggcctgcaaagccgtctacacgg
+gttcaaatcccgtctccacctcca
+> DC1480  GCA STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+ggcggcatagccaagtggtaaggcagaggtctgcaaaacctttatcaccg
+gttcaaatccggttgccgcctcca
+> DC1540  GCA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggcggcatagccaagtggtaaggcagaggtctgcaaaacctttatccccg
+gttcgaatccgggtgtcgcctcca
+> DC1660  GCA E.COLI             EUBACT (Eubacteria) 
+ggcgcgttaacaaagcggttatgtagcggattgcaaatccgtctagtccg
+gttcgactccggaacgcgcctcca
+> DC6280  GCA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gctcgtatggcgcagtggtagcgcagcagattgcaaatctgttggtcctt
+agttcgatcctgagtgcgagct
+> DC7300  GCA SOYBEAN            CY PLA (Cytoplasmic) 
+gggtccatagctcagtggtagagatttgactgcagatcaagaggtcacgg
+ttcgaacccggttgggccct
+> DC7930  GCA PODOCORYNE CARNEA  CY ANI (Cytoplasmic) 
+ggggatatagctcagtggtagagcattcgactgcagatcgagaggtccct
+ggttcaaacccgggtgtcccct
+> DC8100  GCA MOUSE              CY ANI (Cytoplasmic) 
+gggggtatagctcaggggtagagcatttgactgcagatcaagaggtccct
+ggttcaaatccaggtgccccct
+> DC8101  GCA MOUSE              CY ANI (Cytoplasmic) 
+gcgggtatagctcaggggtagaatatttgactgcagatcaagaggtccct
+tgttcgaattcaggtgccctct
+> DD1140  GTC MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggccccatagcgaagttggttatcgcgcctccctgtcacggaggagatca
+cgggttcgagtcccgttggggtcgcca
+> DD1180  GTC MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+ggccccatagcgaacgttggttatcgcgcctccctgtcacggaggagatc
+acgggttcgagtcccgttggggtcgcca
+> DD1200  GTC MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggttccatggtgtagtggttaacatatctccctgtcacggaggggttgcg
+ggttcgattcccgttggaaccgcca
+> DD1230  GTC ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+ggtccggtggtgtaggggttaacatgcctgcctgtcacgcaggagatcgc
+gggttcaaatcccgtccggaccgcca
+> DD1260  GTC SPIROPLASMA MELIF. EUBACT (Eubacteria) 
+ggtcttgtagtgaagttggttatcatgcctctctgtcacagaggagatcg
+cgggttcaagtcccgtcaagaccgcca
+> DD1350  GTC STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+ggtcctgtggagcagtttggagtgctcgccaccctgtcaaggtggaggcc
+gcgggttcaaatcccgtcaggaccg
+> DD1390  GTC STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+ggtctcgtagtgtagcggttaacacgcctgcctgtcacgcaggagatcgc
+gggttcggttcccgtcgagaccgcca
+> DD1391  GTC STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+ggtctcgtagtgtagcggttaacacgcctgcctgtcacgcaggagatcgc
+gggttcgattcccgtcgagaccgcca
+> DD1500  GTC LACTOBAC. BULG.    EUBACT (Eubacteria) 
+ggtccattggagcagtggtctatctcgcctccctgtcacggaggagatcg
+cgggttcaaatcccgcatggacc
+> DD1540  GTC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggtccggtagttcagttggttagaatgcctgcctgtcacgcaggaggtcg
+cgggttcgagtcccgtccggaccg
+> DD1570  GTC BACILLUS SP. PS3   EUBACT (Eubacteria) 
+ggtcccgtagtgtagtggttaacatgcctgcctgtcacgcaggagatcgc
+gggttcgatgccgtcgggaccgcca
+> DD1660  GTC E.COLI             EUBACT (Eubacteria) 
+ggagcggtagttcagtcggttagaatacctgcctgtcacgcagggggtcg
+cgggttcgagtcccgtccgttccgcca
+> DD6220  GTC PHYTOPHTHORA PAR.  CY SIN (Cytoplasmic) 
+ttctcgttagtatagtggttagtatacccgcctgtcacgcgggtgacccg
+ggttcaattcccggacgggaag
+> DD6280  GTC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+tccgtgatagtttaatggtcagaatgggcgcttgtcgcgtgccagatcgg
+ggttcaattccccgtcgcggag
+> DD6280  GTC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+tccgtgatagtttaatggtcagaatggggcttgtcgcgtgccagatcggg
+gttcaattccccgtcgcggag
+> DD6320  GTC SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+tctcctttagtataggggtagtacacaagcctgtcacgcttgcagcccgg
+gttcgaatcccggagggagag
+> DD6900  GTC GLYCINE MAX        CY PLA (Cytoplasmic) 
+gtcgttgtagtatagtggtaagtattcccgcctgtcacgcgggtgacccg
+ggttcgatccccggcaacggcg
+> DD7560  GTC CAENORHABDI. ELEG. CY ANI (Cytoplasmic) 
+tcctcggtagtatagtggtgagtatccgcgtctgtcacatgcgagacccg
+ggttcaattcccggccggggag
+> DD7740  GTC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+tcctcgatagtatagtggttagtatccccgcctgtcacgcgggagaccgg
+ggttcaattccccgtcggggag
+> DD8040  GTC CHICKEN            CY ANI (Cytoplasmic) 
+tcctcgttagtatagtggtgagtatccccgcctgtcacgcgggagaccgg
+ggttcgattccccgacggggag
+> DD8041  GTC CHICKEN            CY ANI (Cytoplasmic) 
+tcctcgttagtatagtggtgagtatccccgcctgtcacgcgggagaccgg
+ggttcgattccccgacggggag
+> DD8100  GTC MOUSE              CY ANI (Cytoplasmic) 
+tcctcgttagtatagtggtgagtatccccgcctgtcacgcgggagaccgg
+ggttcgattccccgacggggag
+> DD9160  GTC RAT                CY ANI (Cytoplasmic) 
+tcctcgttagtatagtggtgagtatccccgcctgtcacgcgggagaccgg
+ggttcgattccccgacggggag
+> DD9161  GTC RAT                CY ANI (Cytoplasmic) 
+tcctcgttagtatagtggtgagtatccccgcctgtcacgcgggagaccgg
+ggttcgattccccgacggggac
+> DE1140  TTC MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggcctgttggtgaagcggttaacacacacggttttcatccgtggacacac
+gggttcgaaccccgtacaggctacca
+> DE1180  TTC MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+ggcctgttggtgaagcggttaacacacacggttttcatccgtggacacac
+gggttcgaaccccgtacaggctacca
+> DE1200  TTC MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggcgcgttggtgaagagacttaacacacacgcctttcacgcgtgcattca
+cgggtttgaatcccgtacgcgtcacca
+> DE1201  GAA MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggtcttgtagctcagtcggtagagcaacggtttgaagaaccgtgtgtcgg
+cagttcgattctgcccgagaccacca
+> DE1230  TTC ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+ggcccgttggagaaacggttaactcacatgcctttcacgcatgcattcac
+gggttcgaatcccgtacgggtcacca
+> DE1340  CTC STREPTOMYCES RIM.  EUBACT (Eubacteria) 
+gcccccgttgtgtagcggcctagcacgccgccctctcaaggcggtagcgc
+cggttcgaatccggtcgggggta
+> DE1350  CTC STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+gcccccgttgtgtagcggcctagcacgccgccctctcaaggcggtagcgc
+cggttcgaatccggtcgggggta
+> DE1351  CTC STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+cccccgttgtgtagcggcctagcacgccgccctctcaaggcggtagcgcc
+ggttcgaatccggtcgggggta
+> DE1352  CTC STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+gcccccgttgtgtagcggcctagcacgccgccctctcaaggcggtagcgc
+cggttcgaatccggtcgggggta
+> DE1460  TTC PLESIOMONAS SHIGE. EUBACT (Eubacteria) 
+gtccccttcgtctagaggcctaggacaccgccctttcacggcggtaacag
+gggttcgaatcccctaggggaca
+> DE1500  TTC LACTOBAC. BULG.    EUBACT (Eubacteria) 
+nncccgttggtcaagtggttaagacaccgccctttcacggcggtaacatg
+ggttcaaatcccgtacgggtnn
+> DE1530  TTC LACTOCOCCUS LACTIS EUBACT (Eubacteria) 
+ggtccgttggtcaaggggttaagacaccgccttttcacggcggtaacacg
+ggttcgaatcccgtacggacta
+> DE1540  TTC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggcccgttggtcaagcggttaagacaccgccctttcacggcggtaacacg
+ggttcgaatcccgtacgggtca
+> DE1570  TTC BACILLUSSP. PS3    EUBACT (Eubacteria) 
+ggccctgtggtcaagtggttaagacaccgccctttcacggcggtaacacg
+ggttcgaatccgtacgggtca
+> DE1660  TTC E.COLI             EUBACT (Eubacteria) 
+gtccccttcgtctagaggcccaggacaccgccctttcacggcggtaacag
+gggttcgaatcccctaggggacgcca
+> DE1780  TTC AEROMONASHYDROPH.  EUBACT (Eubacteria) 
+gtccccttcgctagaggcctaggacaccgccctttcacggcggtaacagg
+ggttcgaatcccctaggggacgcca
+> DE2180  TTC CYANOPHORA PARAD.  CYANEL (Eubacteria) 
+gccccatcgtctagaggcctaggacacctccctttcacggaggcgacggg
+gattcgaattcccctgggggta
+> DE6160  TTC DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+tcctcattggtgtagtcggtaacactctagtctttcacactggtacctcg
+ggttcgattcccgaatggggag
+> DE6161  TTC DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+tcctcattggtgtagtcggtaacactctagtctttcacactggtacctcg
+ggttcgattcccgaatggggag
+> DE6280  TTC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+tccgatatagtgtaacggctatcacatcacgctttcaccgtggagaccgg
+ggttcgactccccgtatcggag
+> DE6281  CTC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+tccgatgtagtgtaacggctatcacatcacgttctcaccgtggagaccgg
+ggttcgactccccgcttcggag
+> DE6320  TTC SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+tccgttgtggtccaacggctaggattcgtcgctttcaccgacgcggtcgg
+ggttcgactccccgcaacggag
+> DE6321  CTC SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+tccgtcatggtccagtggctaggattcatcgctctcaccgatgcggcggg
+ggttcgattccccctgacggag
+> DE7680  TTC BOMBYX MORI        CY ANI (Cytoplasmic) 
+tcccgtatggtctagtggttaggatacctggctttcacccaggaggctcg
+ggttcgattcccggtacgggaa
+> DE7740  CTC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+tcctatattgtctagtggttaggatatccggctctcacccggaaggcccg
+ggttcaattcccggtatgggaa
+> DE7741  CTC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+tcccatattgtctagtggttaggatatccggctctcacccggaaggcccg
+ggttcaattcccggtatgggaa
+> DE7742  TTC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+tcccatatggtctagtggctaggatatctggctttcacccagaaggcccg
+ggttcgattcccggtatgggaa
+> DE8100  CTC MOUSE              CY ANI (Cytoplasmic) 
+tccctggtggtctagtggttaggattcggcgctctcaccgccgcggcccg
+ggttcgattctcggtcagggaa
+> DE9160  CTC RAT                CY ANI (Cytoplasmic) 
+tccttggtggtctagtggttaggattcggcgctctcaccgccgcggcccg
+ggttcgattcccggtcagggaa
+> DE9161  CTC RAT                CY ANI (Cytoplasmic) 
+tccctggtggtctagtggttaggattcggcgctctcaccgccgcggcccg
+ggttcgattcccggtcagggaa
+> DE9162  CTC RAT                CY ANI (Cytoplasmic) 
+tcgctggtggtctagtggttaggattcggcgctctcaccgccgcggcccg
+ggttcgattcccggtcagggaa
+> DE9163  CTG RAT                CY ANI (Cytoplasmic) 
+ggttccatggtgtaatggtgagcactctggactctgaatccagcgatccg
+agttcaaatctcggtgggacct
+> DE9164  CTG RAT                CY ANI (Cytoplasmic) 
+ggttccatggtgtaatggttagcactctggactctgaatccagcgatccg
+agttcaaatctcggtggaacct
+> DE9165  CTG RAT                CY ANI (Cytoplasmic) 
+ggttccatggtgtaatggttagcactctggactctgaatccagcgatctg
+agttcaaatctcagtgggacct
+> DE9166  TTG RAT                CY ANI (Cytoplasmic) 
+ggtcccatggtgtaatggttagcactctggactttgaatccagcgatccg
+agttcaaatctcggtgggacct
+> DE9167  TTG RAT                CY ANI (Cytoplasmic) 
+ggtcccatggtgtaatggttagcactctggactttgaatccagcaatctg
+agttcaaatctcggtgggacct
+> DE9168  TTG RAT                CY ANI (Cytoplasmic) 
+ggtctcatggtgtaatggttagcactctggactttgaatccagcgatccg
+agttcgagtctcggtgaggcct
+> DE9990  TTC HUMAN              CY ANI (Cytoplasmic) 
+tccctggtggtctagtggctaggattcggcgctttcaccgccgcgccccg
+ggttcgattcccggccaggaat
+> DE9991  TTC HUMAN              CY ANI (Cytoplasmic) 
+tccctggtggtctagtggctaggattcggcgctttcaccgccgcggcccg
+ggttcgattcccggtcaggaat
+> DF1140  GAA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggtcgtgtagctcagtcggtagagcagcagactgaagctctgcgtgtcgg
+cggttcaattccgtccacgaccacca
+> DF1180  GAA MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+ggtcgtgtagctcagtcggtagagcagcagactgaagctctgcgtgtcgg
+cggttcaattccgtccacgaccacca
+> DF1230  GAA ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+ggctctgtagctcagtcggtagagcagtggcctgaagagcctcgtcgtag
+ggttcgattccgcttggagccacca
+> DF1260  GAA SPIROPLASMA MELIF. EUBACT (Eubacteria) 
+ggttcagtagctcagttggtagagcatttgattgaagctcaaagtgtcgg
+cagttcaattctgtcctgaaccacca
+> DF1480  GAA STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+ggttcagtagctcagttggtagagcaatggattgaagctccatgtgtcgg
+cagttcgactctgtcctgaacca
+> DF1530  GAA LACTOCOCCUS LACTIS EUBACT (Eubacteria) 
+ggctcggtagctcagttggtagagcaatggattgaagctccatgtgtcgg
+cggttcgattccgtctcgcgcca
+> DF1540  GAA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggctcggtagctcagttggtagagcaacggactgaaaatccgtgtgtcgg
+cggttcgattccgtcccgagccacca
+> DF1541  GAA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggctcggtagctcagttggtagagcaacggactgaaaatccgtgtgtcgg
+cggttcgattccgtcccgagcca
+> DF1660  GAA E.COLI             EUBACT (Eubacteria) 
+gcccggatagctcagtcggtagagcaggggattgaaaatccccgtgtcct
+tggttcgattccgagtccgggcacca
+> DF6200  GAA NEUROSPORA CRASSA  CY SIN (Cytoplasmic) 
+gcgggtttagctcagttgggagagcgtcagactgaagatctgaaggtcgt
+gtgttcgatccacacaaaccgca
+> DF6280  GAA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcggatttagctcagttgggagagcgccagactgaagatctggaggtcct
+gtgttcgatccacagaattcgca
+> DF6281  GAA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcggatttagctcagttgggagagcgccagactgaagatctggaggtcct
+gtgttcgatccacagagttcgca
+> DF6320  GAA SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+gtcgcaatggtgtagttgggagcatgacagactgaagatctgttggtcat
+cggttcgatcccggtttgtgaca
+> DF6740  GAA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+gcggggatagctcagttgggagagcgtcagactgaagatctgaaggtcgc
+gtgttcgatccacgctcaccgca
+> DF7740  GAA DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+cggttcaatcccgggtttcggca
+> DF7920  GAA XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcgatcccgggtttcggca
+> DF7930  GAA PODOCORYNE CARNEA  CY ANI (Cytoplasmic) 
+gccgtgatagctcagttgggagagcgtcagactgaagatctgaaggtccc
+tggttcaatcccgggtcgcggca
+> DF8040  GAA CHICKEN            CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcgatcccgggtttcggca
+> DF9160  GAA RAT 		      CY ANI	-GCCGA (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaagtccc
+tggttcgatcccgggtttcggca
+> DG1140  TCC MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gcaggtgtagttgaatggtagaacttcagccttccaagctgattgtgagg
+gttcgattcccttcacctgctcca
+> DG1180  TCC MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+gcaggtgtagtttaatggcagaacttcagccttccaagctgattgtgagg
+gttcgattcccttcacctgctcca
+> DG1200  TCC MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gcgagtatagtttagtggtagaacatcagtcttccaagctgatcgtgtcg
+gttcgattccgattactcgctcca
+> DG1201  GCC MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gcagatatagttcaatggcagaacataaccttgccaaggttaagatgcgg
+gtttgattcccgttatctgctcca
+> DG1230  GCC ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+gtcggtgtcgtatatggttattacaggccttgccaaggcttagacggcag
+ttcgatcctgctcaccggctcca
+> DG1350  GCC STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+gcggacgtagctcagttggtagagcgcaaccttgccaaggttgaggtcgc
+gagttcgagcctcgtcgtccgct
+> DG1351  TCC STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+gcgttggtggtccaaggaaagacgccccacttcccgtggggaaatgcagg
+tgcaaggcctgcccagcgct
+> DG1480  GCC STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gcagaagtagttcagcggtagaatacaaccttgccaaggttggggtcgcg
+ggttcgaatcccgtcttctgctcca
+> DG1481  TCC STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gcgggagtagttcaacttttagaacacgttccttcccggaacgaggtata
+ggtgcaaatcctatcttccgctcca
+> DG1482  TCC STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gcgggagtatttcaactcttagaatacattccttcctggaatgaggtata
+ggtgtaaatcctatcttccgctcca
+> DG1483  TCC STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gcgggagtagttcaacttttagaacacgttccttcccggaacgaggtata
+ggtgtaaatcctatcttccgctcca
+> DG1500  GCC LACTOBAC. BULG.    EUBACT (Eubacteria) 
+gcggaagtagttcagtggtagaacatcaccttgccatggtgggggtcgcg
+ggttcgaatcccgtcttccgct
+> DG1530  TCC LACTOCOCCUS LACTIS EUBACT (Eubacteria) 
+gcggatgtagtttaatggtagaaccccagccttccaagctggctacgcga
+gttcgattctcgtcatccgct
+> DG1540  TCC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gcgggtgtagtttagtggtaaaacctcagccttccaagctgatgtcgtgg
+gttcgattcccatcacccgctcca
+> DG1541  GCC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gcggaagtagttcagtggnagaacaccaccttgccaaggtgggggtcgcg
+ggttcgaatcccgtcttccgctcca
+> DG1542  GCC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gcggaagtagttcagtggttgaacaccaccttgccaaggtgggggtcgcg
+ggttcgaatcccgtcttccgctcca
+> DG1580  GCC THERMUS THERMOPHI. EUBACT (Eubacteria) 
+gcgggagtagctcagtcggtagagcacgaccttgccaaggtcggggtcgc
+gggttcaagtcccgtctcccgctcca
+> DG1581  CCC THERMUS THERMOPHI. EUBACT (Eubacteria) 
+gcgggagtagctcagttggtagagcatcggcttcccaagccgagggtcgc
+gggttcgagtcccgtctcccgctcca
+> DG1660  TCC E.COLI             EUBACT (Eubacteria) 
+gcgggcatcgtataatggctattacctcagccttccaagctgatgatgcg
+ggttcgattcccgctgcccgctcca
+> DG1661  GCC E.COLI             EUBACT (Eubacteria) 
+gcgggaatagctcagttggtagagcacgaccttgccaaggtcggggtcgc
+gagttcgagtctcgtttcccgctcca
+> DG1662  CCC E.COLI             EUBACT (Eubacteria) 
+gcgggcgtagttcaatggtagaacgagagcttcccaagctctatacgagg
+gttcgattcccttcgcccgctcca
+> DG1820  TCC PSEUDOMONAS AER.   EUBACT (Eubacteria) 
+gcgggtatagttcagtggtagaacctcagccttccaagctgatgatgcgg
+gttcgattcccgctacccgctcca
+> DG2000  GCC HAEMOPHILUS INFLU. EUBACT (Eubacteria) 
+gcgggaatagctcagttggtagagcacgaccttgccaaggtcggggtcgc
+gagttcgagcctcgtttcccgctcca
+> DG2180  GCC CYANOPHORA PARAD.  CYANEL (Eubacteria) 
+gcgggtgtagctcagctggtagagcgcaaccttgccaaggttgatgtcgc
+gcgttcgaatcgcgtcacccgct
+> DG6090  TCC LEISHMANIA TARENT. CY ANI (Cytoplasmic) 
+gcaattgtggtccaacggttaagatccccgccttccaagcgggtgacccg
+ggttcgactcccggcaattgca
+> DG6280  GCC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcgcaagtggtttagtggtaaaatccaacgttgccatcgttgggcccccg
+gttcgattccgggcttgcgca
+> DG6281  GCC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcgcaagtggtttagtggtaaaatccaacgttgccatcgttgggcccccg
+gttcgattccggcgttgcgca
+> DG7140  GCC SORGHUM BICOLOR    CY PLA (Cytoplasmic) 
+gcaccagtggtctagtggtagaatagtaccctgccacggtacagacccgg
+gttcgattcccggctggtgca
+> DG7180  GCC ORYZA SATIVA       CY PLA (Cytoplasmic) 
+gcaccagtggtctagtggtagaatagtaccctgccacggtacagacccgg
+gttcgattcccggctggtgca
+> DG7680  GCC BOMBYX MORI        CY ANI (Cytoplasmic) 
+gcatcggtggttcagtggtagaatgctcgcctgccacgcgggcggcccgg
+gttcgattcccggccgatgca
+> DG7740  GCC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gcatcggtggttcagtggtagaatgctcgcctgccacgcgggcggcccgg
+gttcgattcccggccgatgca
+> DG7741  GCC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gcatcggtggttcagtggtagaatgctcgcctgccacgcgggcggcccgg
+gttcgattcccgaccgatgca
+> DG7930  GCC PODOCORYNE CARNEA  CY ANI (Cytoplasmic) 
+gcattgatggttcagtggtagaattctcgcctgccacgcgggagaccggg
+gttcgattccccgaatgca
+> DG8100  TCC MOUSE              CY ANI (Cytoplasmic) 
+gcgttggtggtatagtggtgagcatagctgccttccaagcagttgacccg
+ggttcgattcccggccaacgca
+> DG9160  TCC RAT                CY ANI (Cytoplasmic) 
+gcgttggtggtatagtggtgagcatagctgccttccaagcagttgacccg
+ggttcgattcccggccaacgca
+> DG9161  TCC RAT                CY ANI (Cytoplasmic) 
+gcgttggtggtatagtggtgaacatagctgccttccaagcagttgacccg
+ggttcgattcccggccaacgca
+> DG9990  GCC HUMAN              CY ANI (Cytoplasmic) 
+gcattggtggttcagtggtagaattctcgcctgccacgcgggaggcccgg
+gttcgattcccggccaatgca
+> DG9991  CCC HUMAN              CY ANI (Cytoplasmic) 
+gcattggtggttcagtggtagaattctcgcctcccacgcgggagacccgg
+gttcaattcccggccaatgca
+> DG9992  TCC HUMAN              CY ANI (Cytoplasmic) 
+gcgttggtggtatagtggttagcatagctgccttccaagcagttgacccg
+ggttcgattcccggccaacgca
+> DH1140  GTG MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggcgtaggtggtgaagtggttaacacatcaggttgtggctctgacatacg
+cgggttcgatccccgttctacgcccca
+> DH1200  GTG MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggcgattgtggcgaagtggttaacgcacctgattgtggatcaggcatgtc
+gtgggttcaattcccatcagtcgcccca
+> DH1230  GTG ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+gcggttgtggcgaagtggttaacgcatcggcttgtggcgccgacactcgg
+gggttcaattcccctcggccgcccca
+> DH1480  GTG STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gcggctgtggtgaagtggttaacacatcggattgtggttccgacattcga
+gggttcgatccccttcagccgcc
+> DH1540  GTG BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggcggttgtggcgaagtggttaacgcaccagattgtggctctggcactcg
+tgggttcgattcccatcaatcgcccca
+> DH1541  GTG BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggcggttgtggcgaagtggttaacgcaccagattgtggctctggcattcg
+tgggttcgattcccatcaatcgcccca
+> DH1660  GTG E.COLI             EUBACT (Eubacteria) 
+ggtggctatagctcagttggtagagccctggattgtgattccagttgtcg
+tgggttcgaatcccattagccacccca
+> DH1700  GTG SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+ggtggctatagctcagttggtagagccctggattgtgattccagttgtcg
+tgggttcgaatcccattagccacccca
+> DH1740  GTG PHOTOBACT. PHOSPH. EUBACT (Eubacteria) 
+ggtggctatagctcagttggtagagtcccggattgtgattccggttgtcg
+cgagttcaagcctcgttagccacccca
+> DH1780  GTG AEROMONAS HYDROPH. EUBACT (Eubacteria) 
+ggtggctgtagctcagttggtagagtcccggattgtgattccggttgtcg
+tgggttcgagccccatcagccacccca
+> DH6160  GTG DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gccgtgatagtatagtggtagtacatcagattgtggctctgatgaccctg
+gttcgattccaggtcgcggca
+> DH6280  GTG SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gccatcttagtatagtggttagtacacatcgttgtggccgatgaaaccct
+ggttcgattctaggagatggca
+> DH6320  GTG SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+gctcacatggtccagtggttaagactcatcgttgtggccgatgcgaccca
+ggttcgattcctggtgtgggca
+> DH7740  GTG DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gccgtgatcgtctagtggttaggaccccacgttgtggccgtggtaaccca
+ggttcgaatcctggtcacggca
+> DH8100  GTG MOUSE              CY ANI (Cytoplasmic) 
+gccgtgatcgtataggggttagtactctgcgttgtggccgcagcaacctc
+ggttcgaatccgagtcacggca
+> DI1140  CAT MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggacctttagctcagttggttagagcatccggctcataaccggacggtca
+ttggttcaagtccaataaggtccacca
+> DI1141  GAT MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+cggaatatagctcagctggttagagcattccgctgataacggagaggtcg
+ttggttcaagtccaattattccgacca
+> DI1180  CAT MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+ggacctttagctcagttggttagagcatccggctcataaccggacggtca
+ttggttcaagtccaataaggtccacca
+> DI1200  CAT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggatctatagctcaatggttagagcccccgactcataatcggtctgttac
+aggttcgagtcctgttagatccacca
+> DI1201  GAT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggaagtatagctcagttggttagagcacacccctgataagggtgaggtcg
+atggttcaagtccatttacttccacca
+> DI1230  CAT ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+ggacccgtagctcagttggttagagctaccggctcataaccggtcggtcg
+ttggttcgagtccaaccgggtccacca
+> DI1231  GAT ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+gggcctgtagctcagttggttagagcactcgcttgataagcgaggggtcg
+atggttcaagtcgttcaggcccacca
+> DI1260  CAT SPIROPLASMA MELIF. EUBACT (Eubacteria) 
+ggacccttagctcagttggttagagcatccggctcataaccggatggtca
+ctggttcaagtccagtagggtccacca
+> DI1280  GAT BORRELIA BURGDORF. EUBACT (Eubacteria) 
+gggatcatagctcaggtggttagagcgcaggtctgataaacctgaggtcg
+gatcttcaactcatcctggtccca
+> DI1290  GAT BARTONELLA BACIL.  EUBACT (Eubacteria) 
+gggcttgtagctcagttggttagagcgcgcgcttgataagcgtgaggtcg
+gaggttcaagtcctcccaggcccacca
+> DI1480  CAT STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+ggacctttagctcagttggttagagctaacggctcataaccgttcggtcg
+caggttcgagtcctgcaaggtcca
+> DI1530  GAT LACTOCOCCUS LACTIS EUBACT (Eubacteria) 
+gggagtttagctcagttggttagagcactgtgttgataacgcaggggtcc
+caggttcgaatcctggaattccca
+> DI1540  GAT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gggcctgtagctcagctggttagagcgcacgcctgataagcgtgaggtcg
+gtggttcgagtccactcaggcccacca
+> DI1541  GAT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gggcctgtagctcagctggttagagcgcacgcctgataagcgtgaggtcg
+atggttcgagtccattcaggcccacca
+> DI1542  CAT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggacctttagctcagttggttagagcagacggctcataaccgtccggtcg
+taggttcgagtcctacaaggtccacca
+> DI1600  GAT RHODOTHERMUS MAR.  EUBACT (Eubacteria) 
+ggggctgtagctcaggtggttagagcgcacgcctgataagcgtgaggtcg
+gtggttcaactccacccagcccca
+> DI1620  GAT THIOBACILLUS FERRO EUBACT (Eubacteria) 
+gggcctatagctcagctggctagagcacacgcctgataagcgtgaggtca
+gtggttcgagtccacttgggcccacca
+> DI1660  GAT E.COLI             EUBACT (Eubacteria) 
+aggcttgtagctcaggtggttagagcgcacccctgataagggtgaggtcg
+gtggttcaagtccactcaggcctacca
+> DI1661  CAT E.COLI             EUBACT (Eubacteria) 
+ggccccttagctcagtggttagagcaggcgactcataatcgcttggtcgc
+tggttcaagtccagcaggggccacca
+> DI1730  GAT TRICHODESMIUM SP.  EUBACT (Eubacteria) 
+gggctattagctcaggtggttagagcgcacccctgataagggtgaggtcc
+ctggttcaagtccaggatagccca
+> DI1780  GAT AEROMONASHYDROPH.  EUBACT (Eubacteria) 
+gggtctgtagctcaggtggttagagcgcacccctgataagggtgaggtcg
+gtggttcgagtccactcagacccacca
+> DI1820  GAT PSEUDOMONAS AER.   EUBACT (Eubacteria) 
+gggtctgtagctcagttggttagagcgcacccctgataagggtgaggtcg
+gcagttcgaatctgcccagacccacca
+> DI1840  GAT PSEUDOMONAS FLUOR. EUBACT (Eubacteria) 
+gggtctgtagctcagttggttagagcgcacccctgataagggtgaggtcg
+gcagttcgaatctgcccagaccca
+> DI1860  GAT CAMPYLOBAC.JEJUNI  EUBACT (Eubacteria) 
+gggcctatagctcagctggttagagtgcacccctgataagggtgaggtca
+caagttcaagtcttgttaggcccacca
+> DI1900  GAT CAULOBACTER CRES.  EUBACT (Eubacteria) 
+aggcctgtagctcaggtggttagagcgtacgcctgataagcgtaaggtcg
+gcagttcgagtctgcctaggcctacca
+> DI1950  CAT AZOARCUS SP.BH72   EUBACT (Eubacteria) 
+gggcctctagctcatgcttggttagagcagcggactcataatccgttggt
+gctgggttcgactcccagggggcccacca
+> DI2100  GAT ANACYSTIS NIDULANS EUBACT (Eubacteria) 
+gggctattagctcaggtggttagagcgcacccctgataagggtgaggtcc
+ctggttcaagtccaggatggccca
+> DI2180  GAT CYANOPHORA PARAD.  CYANEL (Eubacteria) 
+gggctattagctcagttggttagagcgcacccctgataagggtgaggccc
+ctggttcgaatccaggatggccca
+> DI2220  GAT PYLAIELLA LITTORA. CYANEL (Eubacteria) 
+gggctattagctcagttggttagagcgcacccctgataagggtgagggcc
+ctggttcaaatccaggatggccca
+> DI6030  GAT PLASMODIUM FALSI.  CY ANI (Cytoplasmic) 
+aggtttttagtttaatggttaaaacatactcttgataagggtaaaatttt
+agttcaattctaaaaaaaccta
+> DI6090  TAT LEISHMANIA TARENT. CY ANI (Cytoplasmic) 
+gctcccgtggtctagttggttaggacgctggtcttatgaaccggatgtcg
+cgggttcgagccccgccgggagca
+> DI6280  AAT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggtctcttggcccagttggttaaggcaccgtgctaataacgcggggatca
+gcggttcgatcccgctagagacca
+> DI6281  TAT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gctcgtgtagctcagtggttagagcttcgtgcttataacgcgaccgtcgt
+gggttcaatccccacctcgagca
+> DI6320  AAT SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+ggtcgcatatgtagtcggttatcatgtcgatctaataagtcgaatgtcgc
+cggttcgaacccggctgtgacca
+> DI7740  AAT DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+ggcccattagctcagttggttagagcgtcgtgctaataacgcgaaggtcg
+cgggttcgatcccctcatgggcca
+> DI8100  AAT MOUSE              CY ANI (Cytoplasmic) 
+ggccggttagctcagttggttagagcgtggtgctaataacgccaaggtcg
+cgggttcgatccccgtacgggcca
+> DK1140  TTT MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gactcgttagctcagccggtagagcaactggcttttaaccagtgggtccg
+gggttcgaatccccgacgagtcacca
+> DK1141  CTT MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gtctgattagcgcaactggcagagcaactgactcttaatcagtgggttgt
+gggttcgattcccacatcaggcacca
+> DK1200  TTT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gactcactagctcagcggtagagcatttgacttttaatcaaagggtcccg
+agttcgatcctcgggtgagtcacca
+> DK1201  CTT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gcatctttagctcagttggtagagcaaatgactcttaatcattgggtcgg
+gggttcgagcccctcaagatgcacca
+> DK1220  TTT MYCOPLASMA PG50    EUBACT (Eubacteria) 
+gactcgttagctcagccggtagagcaactggcttttaaccagtgggtccg
+gggttcgaatccccgacgagtcacca
+> DK1230  CTT ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+gcatccatagctcagttggtagagcaacagactcttaatctgtgggtcca
+cggttcgagcccgtgtgggtgtacca
+> DK1231  TTT ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+gtcccgttagctcaggtggtagagcacttgacttttaatcaaggtgtcga
+tggttcgagtccatcacgggacacca
+> DK1350  CTT STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+gcgccgctagctcagttggttagagcagctgactcttaatcagcgggtcc
+ggggttcgagtccctggcggcgca
+> DK1480  TTT STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gagccattagctcagttggtagagcatctgacttttaatcagagggtcag
+aggttcgaatcctctatggctcacca
+> DK1540  TTT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gagccattagctcagttggtagagcatctgacttttaatcagagggtcga
+aggttcgagtccttcatggctcacca
+> DK1541  TTA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gagccattagctcagttggtagagcatctgactttaaatcagagggtcga
+aggttcgagtccttcatggctcacca
+> DK1660  TTT E.COLI             EUBACT (Eubacteria) 
+gggtcgttagctcagttggtagagcagttgacttttaatcaattggtcgc
+aggttcgaatcctgcacgacccacca
+> DK1720  TTT AZOSPIRILLUM LIPO. EUBACT (Eubacteria) 
+gagccattagctcagttggtagagcatctgacttttaatcagagggtcga
+aggttcgagtccttcatggctcacca
+> DK2000  TTT HAEMOPHILUS INFLU. EUBACT (Eubacteria) 
+gggtcgttagctcagacggtagagcagcggacttttaatccgttggtcga
+aggttcgaatccttcacgacccacca
+> DK6050  CTT TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+gcccttctagctcagtcggtagggcgcacggctcttaaccgtgtggtcgt
+gggttcgagcccacggggggtg
+> DK6051  TTT TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+gccttcctagctcagtggtagagcgcacggcttttaaccgtgtggtcgtg
+ggttcgatccccacggaaggcg
+> DK6052  CTT TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+gcccttctagctcagtcggtagagcgcacggctcttaaccgtgtggtcgt
+gggttcgagccccacggggggtg
+> DK6090  TTT LEISHMANIA TARENT. CY ANI (Cytoplasmic) 
+gcacttctagctcagttggtagagcgcgtggcttttaacctcgtggtcgt
+gggttcgagccccacggagtgcg
+> DK6160  TTT DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gcccagatagctcagtcggtagagcgcaaggcttttaaccttgtggtcgg
+gggttcgagcccccctttgggcg
+> DK6161  CTT DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gcccggctagctcagtcggtagagcgccagactcttaatctggtggtcgg
+gggttcgagccccccgttgggcg
+> DK6280  TTT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+tccttgttagctcagttggtagagcgttcggcttttaaccgaaatgtcag
+gggttcgagccccctatgaggag
+> DK6280  CTT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gccttgttggcgcaatcggtagcgcgtatgactcttaatcataaggttag
+gggtcgaggcccctacagggct
+> DK6281  CTT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gccttgttggcgcaatcggtagcgcgtatgactcttaatcataaggttag
+gggttcgagccccctacagggct
+> DK6320  CTT SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+tcccgagtggctcaatcggtttagagcgtctgactcttaatcagaaggtt
+gcgagttcgagtctcgccttgggag
+> DK7560  CTT CAENORHABDI.ELEG.  CY ANI (Cytoplasmic) 
+gcccggttagctcagtcggtagagcaccagactcttaatctggttgtcgc
+gggttcgagccccgcattgggct
+> DK7680  CTT BOMBYX MORI        CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgagactcttaatctcagggtcgt
+gggttcgagccccacgttgggcg
+> DK7740  CTT DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgagactcttaatctcagggtcgt
+gggttcgagccccacgttgggcg
+> DK7741  TTT DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gcccggatagctcagtcggtagagcattggacttttaatccaagggtcca
+gggttcaagtccctgttcgggcg
+> DK7850  CTT SQUID              CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcacgagactcttaatctcgggtcgtg
+ggttcaagccccacgttgggcgcca
+> DK7920  TTT XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+gcccgcatagctcagtcggtagagcatcagacttttaatctgagggtcca
+gggttcaagtccctgttcgggcg
+> DK8040  CTT CHICKEN            CY ANI (Cytoplasmic) 
+gcccggctagctcagttggtagagcatgagactcttaatctcagggtcgt
+gggttcgagccccacgttgggcg
+> DK8100  TTT MOUSE              CY ANI (Cytoplasmic) 
+gcctggatagctcaattggtagagcatcagacttttaatctgagggttca
+gggttcaagtccctgttcaggcg
+> DK8101  CTT MOUSE              CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgagactcttaatctcagggtcgt
+gggttcgagccccacgttgggcg
+> DK9160  CTT RAT                CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgagactcttaatctcagggtcgt
+gggttcgagccccacgttgggcg
+> DK9990  TTT HUMAN              CY ANI (Cytoplasmic) 
+gcccggatagctcagtcggtagagcatcagacttttaatctgagggtcca
+gggttcaagtccctgttcgggcg
+> DK9991  CTT HUMAN              CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgagactcttaatctcagggtcgt
+gggttcgagccccacgttgggcg
+> DL1140  TAA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ccccaagtggcggaataggtagacgcattggacttaaaatccaacgggct
+taatatcctgtgccggttcaagtccggccttggggacca
+> DL1141  TAG MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggggattggcggaattggcagacgcactagacttaggatctagcgtcttt
+gacgtaagggttcaagtcccttatcccccacca
+> DL1200  TAA MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gcccaagtggcggaatggtagacgcatgggatttaagatcccacgctagc
+aatagcgtgccggttcaagtccggctttgggcacca
+> DL1201  TAG MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gcactcgtggcggaatggtagacgcgctagacttaggatctagtttcatt
+gtggagtgggggttcaagtcccttcgagtgcacca
+> DL1220  TAG MYCOPLASMA PG50    EUBACT (Eubacteria) 
+gggggattggcggaattggcagacgcactagacttaggatctagcgtctt
+tgacgtaagggttcaagtcccttatcccccacca
+> DL1230  CAA ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+ccccgtgtggcgaaatggtagacgcgcttgactcaaaatcaagtagtgaa
+gactgtgctggttcgagtccggtcacggggacca
+> DL1231  TAG ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+gcgggtgtggcgaaattggcagacgcactagacttaggatctagcgcttt
+acggcatgcaggttcaagtcctgtcacccgcacca
+> DL1232  TAA ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+tgcccgggtggtgaaatcggtagacacgcaggacttaaaatcctgtggca
+taaaagccatgtcggttcaagtccgaccccgggcacca
+> DL1310  TAA STREPTOMYCES COEL. EUBACT (Eubacteria) 
+gcccggatggtggaatgcagacacggcgagcttaaacctcgctgcccctt
+cgagggcgtgccggttcaagtccggctccgggcacca
+> DL1480  TAG STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gcgggtgtggcggaattggcagacgcactagacttaggatctagcgcctt
+tacggcgtgggggttcgactcccttcacccgca
+> DL1481  TAA STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gccggggtggcggaactggcagacgcacaggacttaaaatcctgcggtga
+gtgatcaccgtaccggttcgattccggtcctcggcacca
+> DL1482  CAA STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gccggtgtggcggaattggcagacgcgcgggactcaaaatcccgttccac
+ttgtgtagtgtcggttcgaccccgaccaccggta
+> DL1540  CAG BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gcggatgtggcggaattggcagacgcgctagaatcaggctctagtgtctt
+tacagacgtgggggttcaagtcccttcatccgcacca
+> DL1541  TAA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gccggggtggtggaattggcagacacacaggacttaaaatcctgcggtag
+gtgactaccgtgccggttcaagtccggccctcggca
+> DL1542  TAA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gccggggtggtggaattggcagacacacaggacttaaaatcctgcggtag
+gtgactaccgtgccggttcaagtccggccctcggcacca
+> DL1543  CAA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gccggtgtggcggaattggcagacgcgcacgactcaaaatcgtgttcctt
+ctggagtgtcggttcgaccccgaccaccggta
+> DL1544  TAG BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gcgggtgtggcggaattggcagacgcgctagacttaggatctagtgtctt
+tatgacgtgggggttcaagtcccttcacccgca
+> DL1545  GAG BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gcggtcgtggcggaatggcagacgcgctaggttgagggcctagtgggtta
+gtggttataacccgtggaggttcaagtcctctcggccgca
+> DL1660  CAG E.COLI             EUBACT (Eubacteria) 
+gcgaaggtggcggaattggtagacgcgctagcttcaggtgttagtgtcct
+tacggacgtgggggttcaagtcccccccctcgcacca
+> DL1661  TAG E.COLI             EUBACT (Eubacteria) 
+gcgggagtggcgaaattggtagacgcaccagatttaggttctggcgccgc
+aaggtgtgcgagttcaagtctcgcctcccgcacca
+> DL1662  CAA E.COLI             EUBACT (Eubacteria) 
+gccgaagtggcgaaatcggtagacgcagttgattcaaaatcaaccgtaga
+aatacgtgccggttcgagtccggccttcggcacca
+> DL1663  GAG E.COLI             EUBACT (Eubacteria) 
+gccgaggtggtggaattggtagacacgctaccttgaggtggtagtgccca
+atagggcttacgggttcaagtcccgtcctcggtacca
+> DL1664  TAA E.COLI             EUBACT (Eubacteria) 
+gcccggatggtggaatcggtagacacaagggatttaaaatccctcggcgt
+tcgcgctgtgcgggttcaagtcccgctccgggtacca
+> DL1700  CAG SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+gcgaaggtggcggaattggtagacgcgctagcttcaggtgttagtgtcct
+tacggacgtgggggttcaagtcccccccctcgcacca
+> DL1750  TAG PHOTOBAC. LEIOGNA. EUBACT (Eubacteria) 
+gcggaagtggcggaattggtagacgcactagatttaggttcatgcgcctg
+taaggtgtgagagttcaagtctctccttccgcacca
+> DL1780  CAG AEROMONAS HYDROPH. EUBACT (Eubacteria) 
+gcgaaggtggcggaattggtagacgcgctagcttcaggtgttagtgcccc
+ccgggtgtgagggttcgagtccctctcttcgcacca
+> DL1940  CAG RHIZOBIUM MELILOTI EUBACT (Eubacteria) 
+gcccagatggcggaattggtagacgcgccagcttcaggtgctggtactcg
+aaagggtgtggaggttcgagtcctcttctgggcacca
+> DL1950  TAA AZOARCUS SP.BH72   EUBACT (Eubacteria) 
+gccgggctggcggaatcggtagacacaacggatttaaaatcctgcggtag
+gtgactaccgtgccggttcaagtccggccctcggca
+> DL1980  CAG BORDETELLA PERTUS. EUBACT (Eubacteria) 
+gcccaggtggcggaattggtagacgcgcatggttcaggtccatgtgccgc
+aaggtgtggaggttcgagtcctctcctgggcacca
+> DL2000  TAA HAEMOPHILUS INFLU. EUBACT (Eubacteria) 
+gcccgagtggtggaatcggtagacacaagggatttaaaatccctcgcctt
+tcgacgcgtgccagttcaagtctggcttcgggcacca
+> DL2180  TAA CYANOPHORA PARAD.  CYANEL (Eubacteria) 
+ggggatgtggtggaattggtagacgcaacggacttaaaatccgtcgattg
+tatagatcgtgagggttcaagtccctccgtcccca
+> DL6030  TAG PLASMODIUM FALSI.  CY ANI (Cytoplasmic) 
+atgaatatggcgaaataggtaaacgcactaaatttagattttagttatta
+taattaagagttcaaatctctttattcata
+> DL6090  CAG LEISHMANIA TARENT. CY ANI (Cytoplasmic) 
+ggcaagatggtcgagtggtctaagacgtcacgttcaggtcgtgatctccc
+ctggaggcgtgggttcaaaccccactcttgtca
+> DL6160  TAA DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gcaagggtaggaaagtctggttaaatccgtgtgacttaagatctcatcca
+ttcggttcgcgagttcgaatctcgcctcttgca
+> DL6200  AAG NEUROSPORA CRASSA  CY SIN (Cytoplasmic) 
+ggcaagatggccgagcggtctaaggcgccacgttaaggccgtggtccgaa
+agggcgtgggttcgaatcccactcttgtca
+> DL6210  CAG CANDIDA ALBICANS   CY SIN (Cytoplasmic) 
+gatacgatggccgagtggttaaggcgaaggatgcaggttcctttgggcat
+tgcccgcgcaggttcgaaccctgctcgtgtcgcca
+> DL6280  CAA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggttgtttggccgagcggtctaaggcgcctgattcaagctcaggtatcgt
+aagatgcaagagttcgaatctcttagcaacca
+> DL6281  TAA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggagggttggccgagcggtctaaggcggcagacttaagatctgttggacg
+gttgtccgcgcgagttcgaacctcgcatccttca
+> DL6282  TAA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggagggttggccgagtggtctaaggcggcagacttaagatctgttggacg
+gttgtccgcgcgagttcgaacctcgcatccttca
+> DL6980  CAA PHASEOLUS VULGARIS CY PLA (Cytoplasmic) 
+gtcaggatggccgagtggtctaaggcgccagactcaagttctggtcttcg
+agagagggcgtgggttcaaatcccacttctgaca
+> DL7120  AAG HELIANTHUS ANNUUS  CY PLA (Cytoplasmic) 
+gtcaggatggccgagtggtctaaggcgccagattaaggttctggtccgaa
+agggcgtgggttcaaatcccacttctaaca
+> DL7560  AAG CAENORHABDI. ELEG. CY ANI (Cytoplasmic) 
+ggagagatggccgagcggtctaaggcgctggtttaaggcaccagtccctt
+cgggggcgtgggttcgaatcccactctcttca
+> DL7561  CAG COENORHABDI. ELEG. CY ANI (Cytoplasmic) 
+gccgttctggccgagtggtctaaggcgctgcgttcaggtcgcagtcctct
+ccggagggcgcaggttcgaatcctgcggacggca
+> DL7740  CAA DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gtcaggatggccgagcggtctaaggcgccagactcaagttctggtcctct
+ctgagggcgtgggttcgaatcccacttctgaca
+> DL7741  CAG DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gtcaggatggccgagtggtctaaggcgctgcgttcaggtcgcagtctact
+ctgtaggcgtgggttcgaatcccacttctgaca
+> DL7920  CAG XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+gtcaggatggccgagcggtctaaggcgctgcgttcaggtcgcagtctccc
+ctggaggcgtgggttcgaatcccacttctgaca
+> DL8100  CAG MOUSE              CY ANI (Cytoplasmic) 
+gtcaggatggccgagcggtctaaggcgctgcgttcaggtcgcagtctccc
+ctggaggcgtgggttcgaatcccactcctgaca
+> DL9160  CAG RAT                CY ANI (Cytoplasmic) 
+gtcaggatggccgagcggtctaaggcgctgcgttcaggtcgcagtctccc
+ctagagaggcgtgggttcgaatcccactcctgaca
+> DL9161  CAG RAT                CY ANI (Cytoplasmic) 
+gtcaggatggccgagtggtctaaggcgctgcgttcaggtcgcagtctccc
+ctggaggcgtgggttcgaatcccactcctgaca
+> DL9162  CAG RAT                CY ANI (Cytoplasmic) 
+gtcaggatggccgagcggtctaaggcgctgcgttcaggtcgcagtctccc
+ctggaggcgtgggttcgaatcccactcctgaca
+> DL9990  TAG HUMAN              CY ANI (Cytoplasmic) 
+ggtagcgtggccgagcggtctaaggcgctggatttaggctccagtctctt
+cggaggcgtgggttcgaatcccaccgctgcca
+> DL9991  AAG HUMAN              CY ANI (Cytoplasmic) 
+ggtagcgtggccgagcggtctaaggcgctggattaaggctccagtctctt
+cgggggcgtgggttcgaatcccaccgctgcca
+> DM1140  CAT MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggcggggtagctcagttggttagagcgttcggttcatacccgaaaggtcg
+agagttcaaatctctcccccgctacca
+> DM1180  CAT MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+ggcggggtagctcagttggttagagcgttcggttcatacccgaaaggtcg
+agagttcaactctctcccccgctacca
+> DM1200  CAT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggctggatacctcagttggttagaggacccggttcatacccgggttgtcg
+tgagttcgaatctcactccagccacca
+> DM1230  CAT ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+ggcggtgtagctcagctggctagagcgtgcggttcatacccgcaaggtcg
+agggttcaagtccccccgccgctacca
+> DM1231  CAT ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+cgcgggatagagcagtctggtagctcgtcgggctcataacccgaaggtcg
+atggttcaaatccatctcccgcaacca
+> DM1260  CAT SPIROPLASMA MELIF. EUBACT (Eubacteria) 
+ggcgggatagctcagctggttagagcgctcggctcatacccgggaggtca
+agagttcaagtctctttctcgctacca
+> DM1480  CAT STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+ggcggtgtagctcagctggctagagcgtacggttcatacccgtgaggtcg
+ggggttcgatcccctccaccgcca
+> DM1540  CAT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggacctttagctcagttggttagagcagacggctcataaccgtccggtcg
+taggttcgagtcctacaaggtccacca
+> DM1541  CAT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggcggtgtagctcagctggctagagcgtacggttcatacccgtgaggtng
+ggggttcgatcccctccgccgctacca
+> DM1660  CAT E.COLI             EUBACT (Eubacteria) 
+ggctacgtagctcagttggttagagcacatcactcataatgatggggtca
+caggttcgaatcccgtcgtagccacca
+> DM1750  CAT PHOTOBAC. LEIOGNA. EUBACT (Eubacteria) 
+ggctacgtagctcagttggttagagcacatcactcataatgatggggtca
+caggttcgaatcccgtcgtagccacca
+> DM6030  CAT PLASMODIUM FALSI.  CY ANI (Cytoplasmic) 
+agcgaaatagagcataaggaaagttcgtcggattcatgctccgaaggtaa
+tcggttcaattccgtttttcgctt
+> DM6160  CAT DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+agcttcttaactcaggggtagagtgcgaggcccataacctcgaggtccta
+ggatcgaaacctagagaagcta
+> DM6280  CAT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcttcagtagctcagtaggaagagcgtcagtctcataatctgaaggtcga
+gagttcgaacctctcctggagca
+> DM6900  CAT GLYCINE MAX        CY PLA (Cytoplasmic) 
+ggggtggtggcgcagttgggcagcgcgtaggtctcataatcctgaggtcg
+agagttcgagcctctctcacccca
+> DM7740  CAT DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+agcagagtggcgcagtggaagcgtgctggtcccataacccagaggtccga
+ggatcgaaaccttgctctgcta
+> DN1140  GTT MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggctttttagctcagcaggtagagcaaccggctgttaaccggtttgtcac
+aggttcgagccctgtaaaagccgcca
+> DN1180  GTT MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+ggctttttagctcagcaggtagagcaaccggctgttaaccggtttgtcac
+aggttcgagccctgtaaaagccgcca
+> DN1200  GTT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggccacatagctcagcggtagagcaaccggctgttaaccggttggtcaca
+ggttcgatccctgttgtggccgcca
+> DN1230  GTT ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+gcctacttagctcagttggttagagcacctgactgttaatcagggggtcg
+ctggttcgagtccagcagtgggcgcca
+> DN1350  GTT STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+tcctcggtagctcaattggcagagcagccggctgttaaccggcaggttac
+tggttcgagtccagtccggggag
+> DN1351  GTT STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+tcctccgtagctcaattggcagagcagccggctgttaaccggcaggttac
+tggttcgagtccagtcgggggag
+> DN1410  GTT KLEBSIELLA AEROGE. EUBACT (Eubacteria) 
+tcctctgtagttcagtcggtagaacggcggactgttaatccgtatgtcac
+tggttcgagtccagtcagaggagcca
+> DN1500  GTT LACTOBAC. BULG.    EUBACT (Eubacteria) 
+tccgccttagctcagttggtagagcgcttgactgttaatcaggatgtcgt
+cagttcgagtctgacaggcgga
+> DN1530  GTT LACTOCOCCUS LACTIS EUBACT (Eubacteria) 
+tgcggattagctcagttggtagtagcgcatgactgttaatcatgatgtcg
+tcagttcgagtctgacatccgcag
+> DN1540  GTT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+tccacagtagctcagtggtagagctatcggctgttaaccgatcggtcgca
+ggttcgaatcctgcctgtggagcca
+> DN1541  GTT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+tccgcagtagctcagtggtagagctatcggctgttaaccgatcggtcgta
+ggttcgaatcctacctgcggag
+> DN1570  GTT BACILLUS SP. PS3   EUBACT (Eubacteria) 
+tccgcagtagctcagtggtagagcaatcggctgttaaccgattggtcgca
+ggttcgaatcctgcctgcggagcca
+> DN1660  GTT E.COLI             EUBACT (Eubacteria) 
+tcctctgtagttcagtcggtagaacggcggactgttaatccgtatgtcac
+tggttcgagtccagtcagaggagcca
+> DN6030  GTT PLASMODIUM FALSI.  CY ANI (Cytoplasmic) 
+ttcttaatagcttagtggttaaagcattcggctgttaaccgaaatacact
+agttcaattctagtttaagaag
+> DN6050  GTT TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+tcctccctggcgcagtcggcagcgcgttaggctgttaacctacaggtcgt
+tggttcgaatccaacgggaggag
+> DN6051  GTT TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+tcctccctggcgcagtcggcagcgcgttaggctgttaaccatcaggtgtt
+ggttcgaatccaacgggaggag
+> DN6060  GTT TETRAHYMENA PYRIF. CY SIN (Cytoplasmic) 
+gctcgattagctcagctggttagagcatgcggctgttaaccgcaaggtcg
+taggttcgatccctacatcgagcg
+> DN6160  GTT DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gcctggatggctaaatggcagagcgagcggctgttaaccgctaggtccat
+ggttcgatcccatgtctaggca
+> DN6280  GTT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gactccatggccaagttggttaaggcgtgcgactgttaatcgcaagatcg
+tgagttcaaccctcactggggtcg
+> DN7100  GTT PETUNIA SP.        CY PLA (Cytoplasmic) 
+tcctcagtagctcagtggtagagcggtcggctgttaaccgattggtcgta
+ggttcgaatcctacttggggag
+> DN7740  GTT DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gcctccgtggcgcaattggttagcgcgttcggctgttaaccgaaaggttg
+gtggttcgagtccacccgggggcg
+> DN7920  GTT XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+gtctctgtggcgcaatcggttagcgcgttcggctgttaaccgaaaggttg
+gtggttcgagcccacccagggacg
+> DN9990  GTT HUMAN              CY ANI (Cytoplasmic) 
+gtctctgtggcgcaatgggttagcgcgttcggctgttaaccgaaaggttg
+gtggttcgagcccatccagggacg
+> DN9991  GTT HUMAN              CY ANI (Cytoplasmic) 
+gtctctgtggcgcaatcggttagcgcgttcggctgttaaccgaaagattg
+gtggttcgagcccacccagggacg
+> DP1140  TGG MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+cgggaagtggctcagtttggtagagcattcggtttgggaccgaagggtcg
+caggttcaaatcctgtcttcccgacca
+> DP1180  TGG MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+cgggaagtggctcagtttggtagagcattcggtttgggaccgaagggtcg
+caggttcaaatcctgtcttcccgacca
+> DP1200  TGG MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+cgggaagtagcttagtttggtagaagcacttggtttgggaccaaggggtc
+gcaggttcaaatcctgtcttcccgacca
+> DP1260  TGG SPIROPLASMA MELIF. EUBACT (Eubacteria) 
+cggaaagtagcttagcttggtagagcactcggtttgggaccgaggggtcg
+caggttcgaatcctgtctttccgacca
+> DP1360  CGG STREPTOMYCES AMBO. EUBACT (Eubacteria) 
+cggggtgtggcgcagcttggtagcgcgcttcgttcgggacgaagaggtcg
+tgggttcaaatcccgccaccccga
+> DP1400  CGG MYCOBACT. TUBERC.  EUBACT (Eubacteria) 
+cggggtgtggcgcagcttggtagcgcgcttcgttcgggacgaagaggccg
+tgggttcaaatcccgccaccccga
+> DP1480  TGG STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+cgggaagtagctcagcttggtagagcacttggtttgggaccaaggggtcg
+caggttcgaatcctgtcttcccga
+> DP1500  TGG LACTOBAC. BULG.    EUBACT (Eubacteria) 
+cgggaagtggctcagtttggtagagcacctggtttgggaccagggggtcg
+caggttcaaatcctgtcttcccga
+> DP1540  TGG BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+cgggaagtagctcagcttggtagagcacatggtttgggaccatggggtcg
+caggttcgaatcctgtcttcccgacca
+> DP1560  GGG BACILLUS CIRCULANS EUBACT (Eubacteria) 
+cggggtatggcgcagtctggtagcgcgcacccttggggtgggtgaggccg
+tgggttcaaatcccgctactccgacca
+> DP1660  TGG E.COLI             EUBACT (Eubacteria) 
+cggcgagtagcgcagcttggtagcgcaactggtttgggaccagtgggtcg
+gaggttcgaatcctctctcgccgacca
+> DP1661  CGG E.COLI             EUBACT (Eubacteria) 
+cggtgattggcgcagcctggtagcgcacttcgttcgggacgaaggggtcg
+gaggttcgaatcctctatcaccgacca
+> DP1662  GGG E.COLI             EUBACT (Eubacteria) 
+cggcacgtagcgcagcctggtagcgcaccgtcatggggtgtcgggggtcg
+gaggttcaaatcctctcgtgccgacca
+> DP1700  TGG SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+cggcgagtagcgcagcttggtagcgcaactggtttgggaccagtgggtcg
+gaggttcgaatcctctctcgccgacca
+> DP1740  TGG PHOTOBACT. PHOSPH. EUBACT (Eubacteria) 
+cggtgaatagcgcagtttggtagcgcatctggtttgggaccagagggtcg
+ggggttcgaatccctcttcaccgacca
+> DP1780  TGG AEROMONAS HYDROPH. EUBACT (Eubacteria) 
+cggtgattagcgcagcccggtagcgcatctggtttgggaccagagggtca
+aaggttcgaatcctttatcaccgacca
+> DP6280  TGG SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gggcgtgtggtctagtggtatgattctcgctttgggtgcgagaggccctg
+ggttcaattcccagctcgcccc
+> DP6980  TGG PHASEOLUS VULGARIS CY PLA (Cytoplasmic) 
+gggcatttggtctagtggtatgattctcgctttgggtgcgagaggtcccg
+agttcgattctcggaatgcccc
+> DP6981  AGG PHASEOLUS VULGARIS CY PLA (Cytoplasmic) 
+gggcatttggtctagtggtatgattctcgcttagggtgcgagaggtcccg
+agttcaattctcggaatgcccc
+> DP7560  TGG CAENORHABDI. ELEG. CY ANI (Cytoplasmic) 
+ggccgaatggtctagtggtatgattctcgctttgggtgcgagaggtcccg
+ggttcaatccccggttcggccc
+> DP7740  TGG DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+ggctcaatggtctaggggtatgattctcgctttgggtgcgagaggtcccg
+ggttcaaatcccggttgagccc
+> DP8040  AGG CHICKEN            CY ANI (Cytoplasmic) 
+ggctcgttggtctaggggtatgattctcgcttagggtgcgagaggtcccg
+ggttcaaatcccggacgagccc
+> DP8041  CGG CHICKEN            CY ANI (Cytoplasmic) 
+ggctcgttggtctaggggtatgattctcgcttcgggtgcgagaggtcccg
+ggttcaaatcccggacgagccc
+> DP8100  CGG MOUSE              CY ANI (Cytoplasmic) 
+ggctcgttggtctaggggtatgattctcgcttcgggtgcgagaggtcccg
+ggttcaaatcccggacgagccc
+> DP8101  AGG MOUSE              CY ANI (Cytoplasmic) 
+ggctcgttggtctaggggtatgattctcgcttagggtgcgagaggtcccg
+ggttcaaatcccggacgagccc
+> DP9160  CGG RAT                CY ANI (Cytoplasmic) 
+ggctcgttggtctaggggtatgattctcgcttcgggtgcgagaggtcccg
+ggttcaaatcccggacgagccc
+> DP9161  AGG RAT                CY ANI (Cytoplasmic) 
+ggctcgttggtctaggggtatgattctcgcttagggtgcgagaggtcctg
+ggttcaaatcccggacgagccc
+> DP9990  AGG HUMAN              CY ANI (Cytoplasmic) 
+ggctcgttggtctaggggtatgattctcgcttagggtgcgagaggtcccg
+ggttcaaatcccggacgagccc
+> DP9991  TGG HUMAN              CY ANI (Cytoplasmic) 
+ggctcgttggtctaggggtatgattctcgctttgggtgcgagaggtcccg
+ggttcaaatcccggacgagccc
+> DQ1140  TTG MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+tgggctatagccaagcggtaaggcaagggactttgactccctcatgcgcc
+ggttcgaatcctgctagcccaacca
+> DQ1200  TTG MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+tgggatgtagcccagcggtaaggcaatagactttgactctatcatgcgat
+ggttcgatcccatccatcccagcca
+> DQ1230  TTG ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+aggcccatagccaagcggtaaggcaacggactttgactccgtcactcgta
+ggttcaaatcctgctgggcctgcca
+> DQ1340  CTG STREPTOMYCES RIM.  EUBACT (Eubacteria) 
+gtgggctatggtgtaattggcagcacgactgattctggttcagttagtct
+aggttcgagtcctggtagcccag
+> DQ1341  CTG STREPTOMYCES RIM.  EUBACT (Eubacteria) 
+atgggctatggtgtaattggcagcacgagtgattctggttcatttagtct
+aggttcgagtcctggtagcccag
+> DQ1350  CTG STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+tggcctatggtgtaattggcagcacgactgattctggttcagttagtcta
+ggttcgagtcctggtaggccag
+> DQ1351  CTG STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+tggtctatggtgtaattggcagcacgactgattctggttcagttagtcta
+ggttcgagtcctggtagaccag
+> DQ1480  TTG STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+tgggctatagccaagcggtaaggcaacggactttgactccgtcactcgtt
+ggttcgaatccagctagcccag
+> DQ1540  TTG BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+tgggctatagccaagcggtaaggcaacggactttgactccgtcatgcgtt
+ggttcgaatccagctagcccag
+> DQ1660  TTG E.COLI             EUBACT (Eubacteria) 
+tggggtatcgccaagcggtaaggcaccggtttttgataccggcattccct
+ggttcgaatccaggtaccccagcca
+> DQ1661  CTG E.COLI             EUBACT (Eubacteria) 
+tggggtatcgccaagcggtaaggcaccggattctgattccggcattccga
+ggttcgaatcctcgtaccccagcca
+> DQ2140  TTG SYNECHOCYSTIS SP.  EUBACT (Eubacteria) 
+tggggtgtagccaagcggtaaggcagcgggttttggtcccgccattccta
+ggttcgaatcctagcaccccagcca
+> DQ6050  TTG TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+ggtcctatagtgtagtggttatcacttcggactttgaatccgaaaaccca
+ggttcgaatcctggtaggacca
+> DQ6051  TTG TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+gggcgtgtagctcagtggtagagcgccctgttttgcatacggaggcctag
+ggttcaaacccctactcgtcca
+> DQ6060  TTA TETRAHYMENA THERM. CY SIN (Cytoplasmic) 
+ggttccatagtatagtggttagtactggggactttaaatcccttgacctg
+ggttcgaatcccagtgggacct
+> DQ6090  TTG LEISHMANIA TARENT. CY ANI (Cytoplasmic) 
+ggtcctatagtgtagtggttatcacttcggactttgaatccgaaaaccca
+ggttcgaatcctggtaggacca
+> DQ6160  TTG DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+ggttttatagtgtaattggttagcacccaggactttgaatcctgtaatct
+gagttcgagtctcagtagaacca
+> DQ6280  TTG SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggtcctatagtgtagtggttatcactttcggttttgatccggacaacccc
+ggttcgaatccgggtaggacct
+> DQ6281  CTG SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggtcctatagtgtagtggttatcactttcggttctgatccgaacaacccc
+agttcgaatccgggtgggacc
+> DQ9990  CTG HUMAN              CY ANI (Cytoplasmic) 
+ggttccatggtgtaatggttagcactctggactctgaatccagcgatccg
+agttcaaatctcggtggaacct
+> DQ9991  GTT HUMAN              CY ANI (Cytoplasmic) 
+gtctctgtggcgcaatcggttagcgcgttcggctgttaaccgaaagattg
+gtggttcgagcccacccagggacg
+> DQ9992  TTG HUMAN              CY ANI (Cytoplasmic) 
+ggtcccatggtgtaatggttagcactctggactttgaatccagcgatccg
+agttcaaatctcggtgggacct
+> DR1140  ACG MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gcgcccgtagatcaattggatagatcgcttgactacggatcaaaaggttg
+ggggttcgagtccctccgggcgcacca
+> DR1141  TCT MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gcccatgtagctcagtaggatagagcacgcgccttctaagcgtgaggtcg
+gaagttcgagccttctcgtgggcacca
+> DR1180  ACG MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+gcgcccgtagatcaattggatagatcgcttgactacggatcaaaaggttg
+ggggttcgagtccctccgggcgcacca
+> DR1181  TCT MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+gcccatgtagctcagtaggatagagcacgcgccttctaagcgtgaggtcg
+gaagttcgagccttctcgtgggcacca
+> DR1200  GCG MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gtcatcatagctcaataggacagagtatcagcttgcggagctgagggtta
+caggttcgattcctgttggtgacgcca
+> DR1201  TCG MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gcgcccatagctcaattggatagagtgtctggcttcggaccagaaggtta
+tgggttcaagtcctattgggcgcgcca
+> DR1202  TCT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gcgtcggtagctcagcggatagagagtacacgccttctaagtgtgttgtc
+gtgggttcgagtcccacccgatgcgcca
+> DR1230  TCT ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+gtccgaatagctcagctggatagagcaatagccttctaagctatcggtcg
+ggggttcgaatccctcttcggacgcca
+> DR1260  ACG SPIROPLASMA MELIF. EUBACT (Eubacteria) 
+gcgcccatagatcaattggatagatcgtttgactacggatcaaaaggttg
+agggttcgattccttctgggcgcgcca
+> DR1350  ACG STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+gcactcgtagcttaacggataaagcatctgactacggatcagaaggttgc
+aggttcgaatcctgccgagtgca
+> DR1420  CCT AGROBACTER. TUME.  EUBACT (Eubacteria) 
+gtccacgtagctcagcaggatagagcacaggattcctaatcctggggtcg
+gaggttcgaatcctctcgtggacacca
+> DR1480  ACG STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gcgcccgtagctcaattggatagagcgtttgactacggatcaagaggtta
+tgggttcgactcctatcgggcgcg
+> DR1500  ACG LACTOBAC. BULG.    EUBACT (Eubacteria) 
+gcacccatagcgcaactggatagagtgtctgactacgaatcagaaggttg
+taggttcaagtcctactgggtgca
+> DR1540  ACG BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gcgcccgtagctcaattggatagagcgtttgactacggatcaaaaggtta
+ggggttcgactcctctcgggcgcgcca
+> DR1660  CCG E.COLI             EUBACT (Eubacteria) 
+gcgcccgtagctcagctggatagagcgctgccctccggaggcagaggtct
+caggttcgaatcctgtcgggcgcgcca
+> DR1661  TCT E.COLI             EUBACT (Eubacteria) 
+gcgcccttagctcagttggatagagcaacgaccttctaagtcgtgggccg
+caggttcgaatcctgcagggcgcgcca
+> DR1662  TCT E.COLI             EUBACT (Eubacteria) 
+gcgcccttagctcagttggatagagcaacgaccttctaagtcgtgggccg
+caggttcgaatcctgcagggcgcgcca
+> DR1663  ACG E.COLI             EUBACT (Eubacteria) 
+gcatccgtagctcagctggatagagtactcggctacgaaccgagcggtcg
+gaggttcgaatcctcccggatgcacca
+> DR1664  CCT E.COLI             EUBACT (Eubacteria) 
+gtcctcttagttaaatggatataacgagcccctcctaagggctaattgca
+ggttcgattcctgcaggggacacca
+> DR1700  CCG SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+gcgcccgtagctcagctggatagagcgctgccctccggaggcagaggtct
+caggttcgaatcctgtcgggcgtacca
+> DR1701  ACG SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+gcatccgtagctcagctggatcgagtactcggctacgaaccgagcggtcg
+gaggttcgaatcctcccggatgcacca
+> DR1780  CCG AEROMONAS HYDROPH. EUBACT (Eubacteria) 
+gcgcccgtagctcagctggatagagcgctgccctccggaggcagaggtca
+caggttcgaatcctgtcgggcgcacca
+> DR6030  ACG PLASMODIUM FALSI.  CY ANI (Cytoplasmic) 
+aaacttgtaatttaatggataaaatatataaatacgaattataaaataaa
+agttcaattcttttcaagttta
+> DR6031  TCT PLASMODIUM FALSI.  CY ANI (Cytoplasmic) 
+aaatctataatttaatggataaaataaaaaccttctaagttttatatgta
+agttcaaatcttactagattta
+> DR6050  CCT TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+gcccccgtagcccaatggataaggcgttcgcttcctaagcgaaagattgc
+gggttcgagtcccgccggaggta
+> DR6051  TCT TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+gctccagtggcctaatggatatggctttggacttctaatccaaaggttgc
+gggttcgagtcccgtctggagta
+> DR6052  ACG TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+gtccgtgtggctcaatggaagagcatctgactacggatcagagggttgca
+ggttcgaatcctgtcacggatg
+> DR6090  ACG LEISHMANIA TARENT. CY ANI (Cytoplasmic) 
+gtccgtgtggctcaatggaagagcatctgactacggatcagagggttgca
+ggttcgaatcctgtcacggatg
+> DR6091  TCG LEISHMANIA TARENT. CY ANI (Cytoplasmic) 
+ggcctcttggcgcaatggaagcgcatcagacttcggatctgagggttgca
+gttcgatcctgcagggggtcg
+> DR6160  ACG DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gggactatagtttagttggatataacgaccggctacgaaccggtaggtct
+caggttcgacccctgatggtctcg
+> DR6161  TCT DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gcccgtttagcaaagttggaattgcggcagccttctaagctgcaggtcgt
+gggatcgagacccacaatgggtg
+> DR6200  ACG NEUROSPORA CRASSA  CY SIN (Cytoplasmic) 
+ggtccgctggctcaatggcagagcgtctgactacgaatcaggaggttcca
+ggttcgacccctgggtggatcg
+> DR6280  ACG SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ttcctcgtggcccaatggtcacggcgtctggctacgaaccagaagattcc
+aggttcaagtcctggcggggaag
+> DR6281  TCT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gctcgcgtggcgtaatggcaacgcgtctgacttctaatcagaagattatg
+ggttcgacccccatcgtgagtg
+> DR6282  CCT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gttccgttggcgtaatggtaacgcgtctccctcctaaggagaagactgcg
+ggttcgagtcccgtacggaacg
+> DR6320  ACG SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+ggtctcgtggcccaatggttaaggcgcttgactacgaatcaagagattcc
+aggttcgactcttggcgggatcg
+> DR6321  ACG SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+ggtctcgtggcccaatggttaaggcgcttgactacggatcaagagattcc
+aggttcgactcctggcgggatcg
+> DR7560  ACG CAENORHABDI. ELEG. CY ANI (Cytoplasmic) 
+ggccgcgtggcgcaatggataacgcgtctgcctacggagcagaagattgc
+aggttcgaatcctgccgtggtcg
+> DR7561  ACG COENORHABDI. ELEG. CY ANI (Cytoplasmic) 
+ggccgcgtgggccaatggataacgcgtctgcctacggagcagaagattgc
+aggttcgaatcctgccgtggtcg
+> DR7740  ACG DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+ggtcctgtggcgcaatggataacgcgtctgactacggatcagaagattcc
+aggttcgactcctggcaggatcg
+> DR7741  TCG DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gaccgtgtggcctaatggataaggcgtcggacttcggatccgaagattgc
+aggttcgaatcctgtcacggtcg
+> DR9990  ACG HUMAN              CY ANI (Cytoplasmic) 
+gggccagtggcgcaatggataacgcgtctgactacggatcagaagattcc
+aggttcgactcctggctggctcg
+> DS1140  TGA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggaagattacccaagtccggctgaagggatcggtcttgaaaaccgagagt
+cggggaaaccgagcgggggttcgaatccctcatcttccgcca
+> DS1141  GCT MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gggttaatactcaagttggtgaagaggacaccctgctaaggtgttaggtc
+ggtctccggcgcgagggttcgagtccctcttaacccgcca
+> DS1180  TGA MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+ggaagattacccaagtccggctgaagggatcggtcttgaaaaccgagagt
+cggggaaacccgagcgggggttcgaatccctcatcttccgcca
+> DS1200  GCT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gggagcgtactcaagtggttaagaggacaccctgctaaggtgtttatcgt
+tctacggtgcgtgggttcgaatcccaccgcttccgcca
+> DS1201  CGA MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggagacttacccaagtggtttaagggggcgctctcgaaaagcgtttgtgt
+ttttgcatgcgtgggttcgaatcccacagtctccgcca
+> DS1202  GGA MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggatacttacccaagtggctgaaggggtaggcttggaaagcttattatgg
+gtaacaccatgcgagggttcgaatccctcagtatccgcca
+> DS1203  TGA MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggagacttacccaagcggctgaaggggtcggtcttgaaaaccgagtgtgc
+tgaaaagcacgcgagggttcgaatccctcagtctccgcca
+> DS1230  GCT ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+ggagcgatactcaagaggccgaagagggcgcactgctaacgcgtttacgg
+ttaaccccgtgcgagggttcaaatccctctcgctccgcca
+> DS1231  TGA ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+ggaggaatacccaagaggctgaagggatcggtcttgaaaaccgacagggt
+gtaaaagccgcgggggttcaaatccctcttcctccgcca
+> DS1250  CGA SPIROPLASMA CITRI  EUBACT (Eubacteria) 
+ggaagtatacccaagtctggttgaagggggcggtctcgaaaaccgtttat
+ggagtaatccatgcaagagttcgaatctctttacttccgcca
+> DS1260  TGA SPIROPLASMA MELIF. EUBACT (Eubacteria) 
+ggaagattacccaagtctggttgaagggatcggtcttgaaaattgacagg
+cggtgaaagccgcgcgggggttcgaatccctcatcttccgcca
+> DS1300  TGA STREPTOMYCES GRIS. EUBACT (Eubacteria) 
+ggagggttgcccgagcggcctaagggaacggtcttgaaaaccgtcgtggt
+ggcgacatcaccgtgggttcaaatcccacaccctccg
+> DS1350  GCT STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+ggaggcgtcgcctagtccggtctatggcgccgcactgctaatgcggtttg
+ggtcttaaagcccatcgagggttcaaatccctccgcctccg
+> DS1480  TGA STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+ggaggaatacccaagtccggctgaagggatcggtcttgaaaaccgactgg
+gcttaacggctcgcgggggttcgaatccctcttcctccg
+> DS1481  TGA STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+ggaggaatacccaagtccggctgaagggatcggtcttgaaaaccgactgg
+ccttaacgggccgcgggggttcgaatccctcttcctccgcca
+> DS1500  CGA LACTOBAC. BULG.    EUBACT (Eubacteria) 
+ggagagttggcagagcggtaatgcagcggactcgaaatccgccgaaccaa
+tgttgaattggtgcgcaggttcaaatcctgtactctcct
+> DS1520  CGA LACTOBAC.DELBRUEC. EUBACT (Eubacteria) 
+ggagagttggcagagcggtaatgcagcggactcgaaatccgccgagccaa
+tgttgaattgggtcgcaggttcaaatcctgtactctcct
+> DS1530  TGA LACTOCOCCUS LACTIS EUBACT (Eubacteria) 
+ggaggattacccaagtccggctgaagggaacggtcttgaaaaccgtcagg
+cgtgtaaaagcgtgcgtgggttcgaatcccacatcctcct
+> DS1540  GGA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggagagctgtccgagtggtcgaaggagcacgattggaaatcgtgtaggcg
+gtcaactccgtctcaagggttcgaatcccttgctctccgcca
+> DS1541  TGA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggaggaatacccaagtctggctgaagggatcggtcttgaaaaccgacagg
+gtgtcaaagcccgcgggggttcgaatccctcttcctccgcca
+> DS1542  GCT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggagaagtactcaagtggctgaagaggcgcccctgctaagggtgtaggtc
+gtgtaagcggcgcgagggttcaaatccctccttctccgcca
+> DS1570  GGA BACILLUS SP. PS3   EUBACT (Eubacteria) 
+ggagagctgtccgagtggtcgaaggagcacgattggaaatcgtgtaggcg
+tgaatagcgcctcaagggttcgaatcccttgctctccgcca
+> DS1660  CGA E.COLI             EUBACT (Eubacteria) 
+ggagagatgccggagcggctgaacggaccggtctcgaaaaccggagtagg
+ggcaactctaccgggggttcaaatccccctctctccgcca
+> DS1661  TGA E.COLI             EUBACT (Eubacteria) 
+ggaagtgtggccgagcggttgaaggcaccggtcttgaaaaccggcgaccc
+gaaagggttccagagttcgaatctctgcgcttccgcca
+> DS1663  GCT E.COLI             EUBACT (Eubacteria) 
+ggtgaggtggccgagaggctgaaggcgctcccctgctaagggagtatgcg
+gtcaaaagctgcatccggggttcgaatccccgcctcaccgcca
+> DS1664  GGA E.COLI             EUBACT (Eubacteria) 
+ggtgaggtgtccgagtggctgaaggagcacgcctggaaagtgtgtatacg
+gcaacgtatcgggggttcgaatccccccctcaccgcca
+> DS2180  GGA CYANOPHORA PARAD.  CYANEL (Eubacteria) 
+ggagagatggccgagtggttgaaggcgcagcactggaaatgctgtttaag
+gttttcccttaacgagggttcgaatccctctctctccg
+> DS6060  AGA TETRAHYMENA PYRIF. CY SIN (Cytoplasmic) 
+gacaatttgtccgagtggttaaggaggaagactagaaatcttttgggttt
+acccgcgcaggttcgaatcctgcagttgtcg
+> DS6160  TGA DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gacatcgtagcgaagtggtctaacgcgtttgacttgaaatcaaatctcct
+aggaggcgcaggttcgaaccctgccgatgtcg
+> DS6161  GCT DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gacaccttagcaaagtggttaatgcggcgccctgctaaggcgttctcttc
+ggaggcgcaggttcgaaccctgcaggtgtcg
+> DS6162  AGA DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gacatcgtagcaaagtggtctaatgcgtctgactagaaatcagatccctt
+cgggggcgcaggttcgaaccctgccgatgtcg
+> DS6210  CAG CANDIDA ALBICANS   CY SIN (Cytoplasmic) 
+gatacgatggccgagtggttaaggcgaaggatgcaggttcctttgggcat
+tgcccgcgcaggttcgaaccctgctcgtgtcg
+> DS6211  CAG CANDIDA ALBICANS   CY SIN (Cytoplasmic) 
+gatacgatggccgagtggttaaggcgaaggatgcaggttcctttgggcat
+tgcccgcgcaggttcgaaccctgctcgtgtcg
+> DS6240  TGA PODOSPORA ANSERINA CY SIN (Cytoplasmic) 
+gtcagcatggcagagtggtctaatgcgttagacttgaaatctaattcctt
+cgggagcgtaggttcgaaccctactgctgacg
+> DS6241  TGA PODOSPORA ANSERINA CY SIN (Cytoplasmic) 
+ggcgcgatggcagagtggtctaatgcgtgagacttgaaatctcatttctt
+cggaagcgtcggttcaaatccggctcgcgtcg
+> DS6280  AGA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggcaacttggccgagtggttaaggcgaaagattagaaatcttttgggctt
+tgcccgcgcaggttcgagtcctgcagttgtcg
+> DS6281  GCT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gtcccagtggccgagtggttaaggcgatgccctgctaaggcattgggttt
+tacctgcgcaggttcgaatcctgtctgtgacg
+> DS6282  CGA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggcactatggccgagtggttaaggcgagagactcgaaatctcttgggctc
+tgcccgcgctggttcaaatcctgctggtgtcg
+> DS6283  TGA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggcactatggccgagtggttaaggcgacagacttgaaatctgttgggctc
+tgcccgcgctggttcaaatcctgctggtgtcg
+> DS6284  CGA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggctacatggccgagtggttaaggcgagagactcgaaatctctgggctct
+gcccgcgctggttcaatccctgctgtggtcg
+> DS6320  TGA SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+gtcactatgtccgagtggttaaggagttagacttgaaatctaatgggctt
+tgcccgcgcaggttcaaatcctgctggtgacg
+> DS6321  TGA SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+gtcactatgtccgagtggttaaggagttagacttgaaatctaatgggctc
+tgcccgcgcaggttcaaatcctgctggtgacg
+> DS6322  CGA SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+gtcactatgtccgagtggttaaggagttagactcgaaatctaatgggctc
+tgcccgcgcaggttcaaatcctgctggtgacg
+> DS6370  CAG CANDIDA CYLINDRA.  CY SIN (Cytoplasmic) 
+gacaccgtggcccagtggttacggcgttggacgcagaatccattgagctt
+gctcgcgcgggttcgaatcccgtcggtgtct
+> DS6740  AGA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+gtggaagtggcggagtggttatcgggcatgactagaaatcatgtgggctt
+tgcccgcgcaggttcgaatcctgccgttcacg
+> DS6741  AGA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+gtggacgtgccggagtggttatcgggcatgactagaaatcatgtgggttt
+tgcccgcgcaggttcgaatcctgccgttcacg
+> DS6742  AGA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+gtggacgtgccggagtggttatcgggaatgactagaaatcatggaggctt
+tgcccgcgcacgtttgaatcttgccgtttacg
+> DS6743  AGA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+gtggacatgccggagtggtgtatcgggcataactagaaatcatgtgggct
+ttgcccgcgcaggttcgaatcatgccgtttacg
+> DS6744  AGA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+gtggacgtgccggagtggttatcgggcataactagaaatcatgtgggctt
+tgcccgcgcaggttcgaatcctgccgttcacg
+> DS6745  AGA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+gtggacgtgccggagtggttatcgggcatgactagaaatcatgtgggctt
+tgcccgcgcacgttcgaatcctgccgttcacg
+> DS7060  TGA NICOTIANARUSTICA   CY PLA (Cytoplasmic) 
+gtcgatatgtccgagtggttaaggagacagacttgaaatctgttgggctt
+cgcccgcgcaggttcgaaccctgctgtcgacg
+> DS7061  CGA NICOTIANARUSTICA   CY PLA (Cytoplasmic) 
+gtcgatatgtccgagtggttaaggagacagactcgaaatctgttgggctt
+tgcctgcgcaggttcgaatcctgctgtcgacg
+> DS7062  GCT NICOTIANARUSTICA   CY PLA (Cytoplasmic) 
+gtcgccttggccgagtggttaaggcgtgtgcctgctaagtacatggggtt
+tccccgcgagagttcgaatctctcaggcgacg
+> DS7063  GCT NICOTIANARUSTICA   CY PLA (Cytoplasmic) 
+gtcgctttggccgagtggttaaggcgtgtgcctgctaagtacatggggtt
+tccccgcgagagttggaatctctcaggcgacg
+> DS7064  AGA NICOTIANARUSTICA   CY PLA (Cytoplasmic) 
+gtggacgtgccggagtggttatcgggcatgactagaaatcatgtgggctt
+tgcccgcgcaggttcgaatcctgccgtccacg
+> DS7065  AGA NICOTIANARUSTICA   CY PLA (Cytoplasmic) 
+gtggacgtgccggagtggttatcgggcatgactagaaatcatgcgggctt
+tgcccgcgcaggttcgaatcctgccgtccacg
+> DS7066  AGA NICOTIANARUSTICA   CY PLA (Cytoplasmic) 
+gtggacgtgccggagtggttatcgggcatgactagaaatcatgtgggctc
+tgcccgcgcaggttcgaatcctgccgtccacg
+> DS7240  TGA TRITICUM VULGARE   CY PLA (Cytoplasmic) 
+ggatggatgtctgagcggttgaaagagtcggtcttgaaaaccgaagtatt
+gataggaataccgggggttcgaatccctctccatccg
+> DS7740  AGA DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gcagtcgtggccgagcggttaaggcgtctgactagaaatcagattccctc
+tgggagcgtaggttcgaatcctaccgactgcg
+> DS7741  CGA DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gcagtcgtggccgagtggttaaggcgtctgactcgaaatcagattccctc
+tgggagcgtaggttcgaatcctaccggctgcg
+> DS7800  CGA DROSOPHILA SIMUL.  CY ANI (Cytoplasmic) 
+gcagtcgtggccgagtggttaaggcgtctgactcgaaatcagattccctc
+tgggagcgtaggttcgaatcctaccggctgcg
+> DS7930  AGA PODOCORYNE CARNEA  CY ANI (Cytoplasmic) 
+gctgcgatggccgagtggttaaggcgtttgactagaaatcaaatgggatc
+ttcccgcgtaggttcgaatcctactcgcagcg
+> DS7931  TGA PODOCORYNE CARNEA  CY ANI (Cytoplasmic) 
+gctgcgatggccgactggttaaggcgttagacttgaaatctaatgggatc
+ttcccgcgtaggttcgaaccctactcgcagcg
+> DS9280  TGA BOVINE             CY ANI (Cytoplasmic) 
+gcagcgatggccgagtggttaaggcgttggacttgaaatccaatggggtc
+tccccgcgcaggttcgaaccctgctcgctgcg
+> DS9990  TGA HUMAN              CY ANI (Cytoplasmic) 
+gtagtcgtggccgagtggttaaggcgatggacttgaaatccattggggtt
+tccccgcgcaggttcgaatcctgccgactacg
+> DS9991  AGA HUMAN              CY ANI (Cytoplasmic) 
+gtagtcgtggccgagtggttaaggcgatggactagaaatccattggggtt
+tccccacgcaggttcgaatcctgccgactacg
+> DS9992  AGA HUMAN              CY ANI (Cytoplasmic) 
+gtagtcgtggccgagtggttaaggcgatggactagaaatccattggggtc
+tccccgcgcaggttcgaatcctgccgactacg
+> DS9993  TGA HUMAN              CY ANI (Cytoplasmic) 
+gtagtcgtggccgagtggttaaggcgatggacttgaaatccattggggtt
+tccccgcgcaggttcgaatcctgtcggctacg
+> DS9994  CGA HUMAN              CY ANI (Cytoplasmic) 
+ggagatatggcacaatctggtactgcaacggactcgaaatccgtcgagcc
+gcgtttcgggtgtgcgggttcaaatcccgctatctcct
+> DT1140  AGT MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gctgacttagctcagttggtagagcaattgactagtaatcaataggtcga
+aggttcaaatcctttagtcagcacca
+> DT1141  TGT MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gctgacttagctcagcaggcagagcaactgacttgtaatcagtaggtcgt
+aggttcgattcctatagtcagcacca
+> DT1180  TGT MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+gctgacttagctcagcaggcagagcaactgacttgtaatcagtaggtcgt
+aggttcgattcctatagtcagcacca
+> DT1200  CGT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gccgaattagctcaagggtagagcgatgcactcgtaatgcataggctaca
+ggttcaattcctgtattcggcacca
+> DT1201  GGT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gccgaattagtttaggggcaaaacagatccatggtaaggatcaggaaaca
+gttcgactctgttattcggcacca
+> DT1202  TGT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gccgacttagctcagttggtagagcaattgacttgtaatcagtaggtcgt
+aggttcgaatcctatagtcggcacca
+> DT1230  TGT ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+gccgaaatagctcaatcggtagagcaactgatttgtaatcagtaggttgc
+gggttcaattcctgttttcggcacca
+> DT1450  CGT CLOSTRIDIUM ACETO. EUBACT (Eubacteria) 
+gctccagtagcgcagttggtagcgcagctgattcgtaatcagttggtcgt
+aggttcaaatcctatctggagctcca
+> DT1480  TGT STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gccggcctagctcaattggtagagcaactgacttgtaatcagtaggttgg
+gggttcaagtcctctggccggcacca
+> DT1481  TGT STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gccggcctagctcaattggtagagcaactgacttgtaatcagtaggttgg
+gggttcaagtcctctggccggcacca
+> DT1540  GGT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gcttccatagctcagcaggtagagcacttccatggtaaggaagaggtcag
+cggttcgagcccgcttggaagct
+> DT1541  TGT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gccggtgtagctcaattggtagagcaactgacttgtaatcagtaggttgg
+gggttcaagtcctcttgccggca
+> DT1542  TGT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gccggtgtagctcaattggtagagcaactgacttgtaatcagtaggttgg
+gggttcaagtcctcttgccggcacca
+> DT1580  TGT THERMUS THERMOPHI. EUBACT (Eubacteria) 
+gccaccctagctcaaccggcagagcacccgacttgtaatcggggggttgg
+gggttcaactcccctgggtggctcca
+> DT1581  GGT THERMUS THERMOPHI. EUBACT (Eubacteria) 
+gctcgcgtagctcagcaggtagagcacacccttggtaagggtgaggtcgc
+cggttcgagcccggccgcgagctcca
+> DT1660  GGT E.COLI             EUBACT (Eubacteria) 
+gctgatatggctcagttggtagagcgcacccttggtaggggtggggtccc
+cagttcgactctgggtatcagcacca
+> DT1661  GGT E.COLI             EUBACT (Eubacteria) 
+gctgatatagctcagttggtagagcgcacccttggtaagggtgaggtcgg
+cagttcgaatctgcctatcagcacca
+> DT1662  TGT E.COLI             EUBACT (Eubacteria) 
+gccgacttagctcagtaggtagagcaactgacttgtaatcagtaggtcac
+cagttcgattccggtantcggcacca
+> DT1663  CGT E.COLI             EUBACT (Eubacteria) 
+gccgatatagctcagttggtagagcagcgcattcgtaatgcgaaggtcgt
+aggttcgactcctattatcggcacca
+> DT1664  GGT E.COLI             EUBACT (Eubacteria) 
+gctgatatggctcagttggtagagcgcacccttggtaagggtgaggtccc
+cagttcgactctgggtatcagcacca
+> DT1720  TGT AZOSPIRILLUM LIPO. EUBACT (Eubacteria) 
+gccggtttagctcagcaggtagagcaactgacttgtaatcagtaggtcgt
+gggttcgattcctatagccggcacca
+> DT1820  CGT PSEUDOMONAS AER.   EUBACT (Eubacteria) 
+gccggattagctcagtcggtagagcagctcattcgtaatgagaaggtcgg
+gggttcgattcctctatccggcacca
+> DT1821  GGT PSEUDOMONAS AER.   EUBACT (Eubacteria) 
+gctcatgtagctcagttggtagagcacacccttggtaagggtgaggtcag
+cggttcaaatccgctcatgagctcca
+> DT6030  TGT PLASMODIUM FALSI.  CY ANI (Cytoplasmic) 
+gctaaagtagcttaattggtaaagcaactgatttgtaatcagtagattat
+gagttcaaatctcaccattagct
+> DT6050  CGT TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+ggccgcttagcacatggcagtgcaccactctcgtaaagtgggggtcgcga
+gttcgattctcgcagtggcct
+> DT6090  TGT LEISHMANIA TARENT. CY ANI (Cytoplasmic) 
+ggccgcttagcacagtggcagtgcactggtcttgtaaaccaggggtcccg
+agttcaattctcggagtggcct
+> DT6160  AGT DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+ggctccttagcatagtggtattgcgtttccctagtaaggaagaggtcatg
+agttcgatcctcataggagcct
+> DT6161  CGT DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gccatagtagtctagtggtaagacatttctctcgtaaagaaggatcccgt
+gttcgattcacggctttggca
+> DT6280  AGT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcttctatggccaagttggtaaggcgccacactagtaatgtggagatcat
+cggttcaaatccgattggaagca
+> DT6281  CGT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcccttttggccaagtggtaaggcatcgcactcgtaatgcggggatcgtg
+ggttcaattcccacagagggca
+> DT6282  TGT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcctccttagcttagtggtagagcgttgcacttgtaatgcaaaggtcgct
+agttcaattctggcaggtggca
+> DT6720  GGT CHLAMYDIATRACHOM.  CY PLA (Cytoplasmic) 
+gcgcccgtagctcatggtagagcacttgcatggtaagcaagtggccgtag
+gttcaattcctattctgggca
+> DT7740  AGT DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+ggcgccgtggcttagttggttaaagcgcctgtctagtaaacaggagatcg
+tgagttcgaatctcgccggggcct
+> DT9990  TGT HUMAN              CY ANI (Cytoplasmic) 
+ggctccatagctcaggggttagagcactggtcttgtaaaccaggggtcgc
+gagttcaattctcgctggggctt
+> DT9991  TGT HUMAN              CY ANI (Cytoplasmic) 
+ggctccatagctcaggggttagagcactggtcttgtaaaccaggggtcgc
+gagttcaaatctcgctggggcct
+> DT9992  AGT HUMAN              CY ANI (Cytoplasmic) 
+ggctccgtggcttagctggttaaagcgcctgtctagtaaacaggagatcc
+tgggttcgaatcccagcggggcct
+> DV1140  TAC MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggagtgttagctcagctgggagagctcctgccttacaagcaggcggtcat
+aggttcaagtcctatacactccacca
+> DV1180  TAC MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+ggagtgttagctcagctgggagagctcctgccttacaagcaggcggtcat
+aggttcaagtcctatacactccacca
+> DV1200  TAC MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggattgttagctcagctgggagagcatatgccttacaagcatagggtcgg
+gggttcgatcccctcacaatccacca
+> DV1230  TAC ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+ggaggattagctcagttgggagagcacctgccttacaagcagggggtcgg
+cggttcaagcccgtcatcctccacca
+> DV1350  GAC STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+ggacgattagctcagcgggagagcgcttccctgacacggaagaggtcact
+ggttcaatcccagtatcgtcca
+> DV1351  GAC STREPTOMYCES LIV.  EUBACT (Eubacteria) 
+gcgcgattagctcagcgggagagcgcttccctgacacggaagaggtcact
+ggttcaatcccagtatcgcgca
+> DV1480  TAC STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+ggagaattagctcagctgggagagcatctgccttacaagcagagggtcgg
+cggttcgaacccgtcattctccacca
+> DV1481  CAC STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+gggggcttagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+cggttcgatcccgctagtctccacca
+> DV1500  TAC LACTOBAC. BULG.    EUBACT (Eubacteria) 
+ggaggattagctcagctgggagagcatctgccttacaagcagagggtcac
+aggttcgagccctgtatcctcca
+> DV1540  TAC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggaggattagctcagctgggagagcatctgccttacaagcagagggtcgg
+cggttcgagcccgtcatcctccacca
+> DV1570  TAC BACILLUS SP. PS3   EUBACT (Eubacteria) 
+ggaggattagctcagctgggagagcacttgccttacaagcaaggggtcgg
+cggttcgatcccgtcatcctccacca
+> DV1660  TAC E.COLI             EUBACT (Eubacteria) 
+gggtgattagctcagctgggagagcacctcccttacaaggagggggtcgg
+cggttcgatcccgtcatcacccacca
+> DV1661  GAC E.COLI             EUBACT (Eubacteria) 
+gcgtccgtagctcagttggttagagcaccaccttgacatggtgggggtcg
+gtggttcgagtccactcggacgcacca
+> DV1662  GAC E.COLI             EUBACT (Eubacteria) 
+gcgttcatagctcagttggttagagcaccaccttgacatggtgggggtcg
+ttggttcgagtccaattgaacgcacca
+> DV1720  TAC AZOSPIRILLUM LIPO. EUBACT (Eubacteria) 
+ggaggattagctcagctgggagagcatctgccttacaagcagagggtcgg
+cggttcgagcccgccatcctccacca
+> DV6030  TAC PLASMODIUM FALSI.  CY ANI (Cytoplasmic) 
+aagtaattaacttagaggtaaagtttctgctttacatacagaagaccatt
+ggttcgaatccaatattactta
+> DV6050  TAC TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+gcgtgttgatctagtggttatgatgtctgctttacacgcagaacgtcgcg
+ggttcgaaccccgcccgcgtag
+> DV6051  CAC TRYPANOSOMA BRUCEI CY ANI (Cytoplasmic) 
+gcgatggtcgtctagtggttaggacattcgcctcacacgcgagagatcgc
+gggttcgatccccgcccgtcgta
+> DV6090  TAC LEISHMANIA TARENT. CY ANI (Cytoplasmic) 
+gcgtgggtgatctagtggttatgatgtctgctttacacgcagaacgtcgc
+gggttcgaaccccgccccgcgta
+> DV6160  AAC DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gttcggatggtgtagtcggttatcacgaatccttaacacggattaggtcg
+tgggttcgattcccgctctgaata
+> DV6161  TAC DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+ggtcggatggtgtagtcggttatcacggttgctttacacgcaacaggtct
+cgagttcgatcctcggtcggatca
+> DV6280  AAC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggtttcgtggtctagtcggttatggcatctgcttaacacgcagaacgtcc
+ccagttcgatcctgggcgaaatca
+> DV6281  AAC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggtttcgtggtctagtcggttatggcatctgcttaacacgcagaacgtcc
+ccagttcgatcctgggcgaaatcg
+> DV6320  AAC SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+ggtcgtgtggtttagatggttataatttctgcttaacacgcagacggtcc
+caagttcgagtcttggcacgatca
+> DV6740  AAC ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+ggtttcgtggtgtagttggttatcacgtcagtctaacacactgaaggtct
+ccggttcgaacccgggcgaagcca
+> DV7740  AAC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gtttccgtggtgtagtggttatcacatccgcctaacacgcggaaggcccc
+cggttcaatcccgggcggaaaca
+> DV7741  CAC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gttttcgtagtgtagtggttatcacgtgtgcttcacacgcacaaggtccc
+cggttcgaacccgggcgaaaaca
+> DV7920  CAC XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+gtttctgtagtgtagcggttatcacgttcgcctcacatgcgaaaggtccc
+cggttcgaaaccgggcagaaaca
+> DV9990  AAC HUMAN              CY ANI (Cytoplasmic) 
+gtttccgtagtgtagtggttatcacgttcgcctaacacgcgaaaggtccc
+cggttcgaaaccgggcggaaaca
+> DV9991  CAC HUMAN              CY ANI (Cytoplasmic) 
+gtttccgtagtgtagtggttatcacgttcgcctcacacgcgaaaggtccc
+cggttcgaaaccgggcggaaaca
+> DV9992  AAC HUMAN              CY ANI (Cytoplasmic) 
+gtttccgtagtgtagtggtcatcacgttcgcctaacacgcgaaaggtccc
+cggttcgaaaccgggcggaaaca
+> DV9993  AAC HUMAN              CY ANI (Cytoplasmic) 
+gtttccgtagtgtagtggttatcacgttcgcctaacacgcgaaaggtccc
+tggatcaaaaccaggcggaaaca
+> DV9994  CAC HUMAN              CY ANI (Cytoplasmic) 
+gcttctgtagtgtagtggttatcacgttcgcctcacacgcgaaaggtccc
+cggttcgaaaccgggcagaagca
+> DV9995  CAC HUMAN              CY ANI (Cytoplasmic) 
+gtttccgtagtgtagcggttatcacattcgcctcacacgcgaaaggtccc
+cggttcgatcccgggcggaaaca
+> DV9996  AAC HUMAN              CY ANI (Cytoplasmic) 
+gtttccgtagtgtagtggttatcacgttcgcctaacacgcgaaaggtccc
+cggttcgaaaccgggcggaaaca
+> DW1140  TCA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+aggggcatagttcagtaggtagaacatcggtcttcaaaaccgagtgtcac
+gagttcgagtcttgttgcccctgcca
+> DW1141  CCA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+aggagagtagttcaatggtagaacgtcggtctccaaaaccgagcgttgag
+ggttcgattcctttctctcctgcca
+> DW1200  CCA MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+gggggtgtagtttagtggcagaacaacagtctccaaaactgtctgtgtgg
+gttcgattccttccacccccgcca
+> DW1201  TCA MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+aggggtatagttcaaaggtagaacatctgtcttcaaaatagagtgttgtg
+ggttcgagtcctgctacccctgcca
+> DW1230  CCA ACHOLEPLASMA LAID. EUBACT (Eubacteria) 
+gggggcatggtgtcaacggtagcacacaggtctccaaaacctttagtgtg
+ggttcgaatcctgctgccctcgcca
+> DW1250  TCA SPIROPLASMA CITRI  EUBACT (Eubacteria) 
+aggggtatagttcaatcggtagaacaccggacttcaaatccgggtgttgt
+gggttcaagtcctgctacccctgcca
+> DW1251  CCA SPIROPLASMA CITRI  EUBACT (Eubacteria) 
+aggggtgtagtttaatggtagaacagcggtctccaacaccgtacgttgtg
+ggttcaagtcctgtcacccctgcca
+> DW1480  CCA STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+aggggcatagttcaacggtagaatagaggtctccaaaacctttggtgtgg
+gttcgattcctactgcccctgcca
+> DW1540  CCA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+aggggcatagtttaacggtagaacagaggtctccaaaacctccggtgtgg
+gttcgattcctactgcccctgcca
+> DW1660  CCA E.COLI             EUBACT (Eubacteria) 
+aggggcgtagttcaattggtagagcaccggtctccaaaaccgggtgttgg
+gagttcgagtctctccgcccctgcca
+> DW2140  CCA SYNECHOCYSTIS SP.  EUBACT (Eubacteria) 
+gcgtccttagttcagttggtagaacgcaggtctccaaaacctgatgtcgg
+gggttcaagtcctccagggcgcg
+> DW6090  CCA LEISHMANIA TARENT. CY ANI (Cytoplasmic) 
+gggggcttagctcagtggtagagcattggattccaaatccaggggtcgta
+ggttcaatccctgcagctctca
+> DW6160  CCA DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gactccttagcatagtggtttattgtaattgtctccaaagcagttggtcc
+agggttcaactccctgaggggtct
+> DW6161  CCA DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+gactccttagcatagtggtttattgtaattgtctccaaagcagttggtcc
+agggttcaactccctgaggggtct
+> DW6280  CCA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gaagcggtggctcaatggtagagctttcgactccaaatcgaagggttgca
+ggttcaattcctgtccgtttca
+> DW6280  CCA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gaagcggtggctcaatggtagagctttcgactccaaatcgaagggttgca
+ggttcaattcctgtccgtttca
+> DW6720  CCA CHLAMYDIA TRACHOM. CY PLA (Cytoplasmic) 
+gggtgtgtagcttagatggtagagcagtggcctccaaagccgccggtcgg
+gggttcgaatccctcttcaccg
+> DW6740  CCA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+ggatccgtggcgcaatggtagcgcgtctgactccagatcagaaggttgcg
+tgttcgattcacgtcgggttcacca
+> DW6741  CCA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+ggattcgtggcgcaatggtagcgcgtctgactccagatcagaaggttgcg
+tgttcgattcacgtcgggttcacca
+> DW7560  CCA CAENORHABDI.ELEG.  CY ANI (Cytoplasmic) 
+gactgcttggcgcaatggtagcgcgttcgactccagatcgaaaggttggg
+cgttcgatccgctcagtggtca
+> DW8040  CCA CHICKEN            CY ANI (Cytoplasmic) 
+gacctcgtggcgcaacggtagcgcgtctgactccagatcagaaggctgcg
+tgttcgaatcacgtcggggtca
+> DX1140  CAT MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+cgcggggtagagcagttggtagctcgccgggctcataacccggaggtcgc
+aggttcgagtcctgcccccgcaacca
+> DX1180  CAT MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+cgcggggtagagcagttggtagctcgccgggctcataacccggaggccgc
+aggttcgagtcctgcccccgcaacca
+> DX1200  CAT MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+cgcgggatagagcagtcggttagctcgtcaggctcataatctgaaggtcg
+ggggttcgaatccctctcccgcaacca
+> DX1260  CAT SPIROPLASMA MELIF. EUBACT (Eubacteria) 
+cgtggggtggagcagttggtagctcgttgggctcataacccaaaggtcgc
+aggttcaagtcctgcccccgcaacca
+> DX1290  CAT BARTONELLA BACIL.  EUBACT (Eubacteria) 
+cgcggggtggagcagcccggtagctcgtcaggctcataacctgaaggccg
+caggttcaaatcctgcccccgcaacca
+> DX1340  CAT STREPTOMYCES RIM.  EUBACT (Eubacteria) 
+cgcggggtggagcagctcggtagctcgctgggctcataactcagaggtcg
+caggttcaaatcctgtccccgcta
+> DX1341  CAT STREPTOMYCES RIM.  EUBACT (Eubacteria) 
+cgcggggtggagcagctcggtagctcgctgggctcataacccagaggtcg
+caggttcaaattctgtccccgcta
+> DX1480  CAT STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+cgcgggatggagcagttcggtagctcgtcgggctcataacccgaaggtcg
+gtggttcaaatccgcctcccgcaa
+> DX1530  CAT LACTOCOCCUS LACTIS EUBACT (Eubacteria) 
+cgcgggatggagcagctaggtagctcgtcgggctcataacccgaagtcat
+aggttcaaatcctattcccgca
+> DX1540  CAT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+cgcggggtggagcagttcggtagctcgtcgggctcataacccgaaggtcg
+caggttcaaatcctgcccccgcaacca
+> DX1541  CAT BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+cgcggggtggagcagttcggtagctcgtcgggctcataacccgaaggtcg
+caggttcaaatcctgcccccgcaacca
+> DX1660  CAT E.COLI             EUBACT (Eubacteria) 
+cgcggggtggagcagcctggtagctcgtcgggctcataacccgaagatcg
+tcggttcaaatccggcccccgcaacca
+> DX1661  CAT E.COLI             EUBACT (Eubacteria) 
+cgcggggtggagcagcctggtagctcgtcgggctcataacccgaaggtcg
+tcggttcaaatccggcccccgcaacca
+> DX2140  CAT SYNECHOCYSTIS SPEC EUBACT (Eubacteria) 
+cgcgggatagagcagtctggtagctcgtcgggctcataacccgaaggtcg
+gtggttcaaatccgcctcccgcca
+> DX6180  CAT PHYSARUM POLYCEPH. CY SIN (Cytoplasmic) 
+ctcggggtagtgtaaaggttcgcatacagggctcataaccctatggtctt
+ggttcgattccaggccccgaca
+> DX6280  CAT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggcgccgtggcgcagtggaagcgcgcagggctcataaccctgatgtcctc
+ggatggaaaccgagcggcgcta
+> DX6281  CAT SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+agcgccgtggcgcagtggaagcgcgcagggctcataaccctgatgtcctc
+ggatcgaaaccgagcggcgcta
+> DX6320  CAT SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+tgcgcggtaggagagtggaactccgacgggctcataacccgtaggtccca
+ggatcgaaacctggccgcgcaa
+> DX6321  CAT SCHIZOSACCHA.POM.  CY SIN (Cytoplasmic) 
+tgcgcggtaggagagtggaactccgacgggctcataacccgtaggtccca
+ggatcgaaacctggccgcgcaa
+> DX6740  CAT ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+atcagagtggcgcagcggaagcgtggtgggcccataacccacaggtccca
+ggatcgaaacctggctctgata
+> DX6900  CAT GLYCINE MAX        CY PLA (Cytoplasmic) 
+atcagagtggcgcagcggaagcgtggtgggcccataacccacaggtccca
+ggatcgaaacctggctctgata
+> DX7560  CAT CAENORHABDI. ELEG. CY ANI (Cytoplasmic) 
+agcagcgtggcgcagtggaagcgtgctgggcccataacccagaggtcggt
+ggatcgaaaccactcgctgctacca
+> DX7740  CAT DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+agcagagtggcgcagtggaagcgtgctgggcccataacccagaggtccga
+ggatcgaaaccttgctctgcta
+> DX7920  CAT XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+agcagagtggcgcagcggaagcgtgctgggcccataacccagaggtcgat
+ggatcgaaaccattctctgcta
+> DX7921  CAT XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+agcagagtggcgcagcggaagcgtgctgggcccataacccagaggtcgat
+ggatcgaaaccatcctctgcta
+> DX8100  CAT MOUSE              CY ANI (Cytoplasmic) 
+agcagagtggcgcagcggaagcgtgctgggcccataacccagaggtcgat
+ggatcgaaaccatcctctgcta
+> DX9990  CAT HUMAN              CY ANI (Cytoplasmic) 
+agcagagtggcgcagcggaagcgtgctgggcccataacccagaggtcgat
+ggatcgaaaccatcctctgcta
+> DX9991  CAT HUMAN              CY ANI (Cytoplasmic) 
+agcagagtggcgcagcggaagcgtgctgggcccataacccagaggtcgat
+ggatctaaaccatcctctgcta
+> DY1140  GTA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggaggggtagcgaagtggctaaacgcgggtggctgtaacccacttcctta
+cggttcgggggttcgaatccctccccctccacca
+> DY1200  GTA MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggacaggtagcgaagtggctaaacgcttctgactgtagatcagacacctt
+catggtttcgggagttcgaatctctccctgtccacca
+> DY1201  GTA MYCOPLASMA PNEUMO. EUBACT (Eubacteria) 
+ggacaggtagcgaagtggctaaacgcttctgactgtagatcagacacctt
+catggtttcgggagttcgaatctctccctgtccacca
+> DY1350  GTA STREPTOMYCES LIV.  CY SIN (Eubacteria) 
+ggcggtgtgcccgagcggccaaagggagcagactgtaaatctgccggctc
+agccttcccaggttcgaatcctggcgccgcca
+> DY1480  GTA STAPHYLOCOC. AURE. EUBACT (Eubacteria) 
+ggaggggtagcgaagtggctaaacgcggcggactgtaaatccgctccttc
+ggggttcggcagttcgaatctgcccccctcca
+> DY1540  GTA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggaggggtagcgaagtggctaaacgcggcggactgtaaatccgctccctc
+agggttcggcagttcgaatctgcccccctccacca
+> DY1580  GTA THERMUS THERMOPHI. EUBACT (Eubacteria) 
+gggcaggtgcccgagcggccaaaggggacggtctgtaaaaccgttggcgt
+atgccttcgctggttcgaatccagccctgcccacca
+> DY1660  GTA E.COLI             EUBACT (Eubacteria) 
+ggtggggttcccgagcggccaaagggagcagactgtaaatctgccgtcac
+agacttcgaaggttcgaatccttcccccaccacca
+> DY1661  CTA E.COLI             EUBACT (Eubacteria) 
+ggtggggttcccgagcggccaaagggagcagactctaaatctgccgtcat
+cgacttcgaaggttcgaatccttcccccaccacca
+> DY1820  GTA PSEUDOMONAS AER.   EUBACT (Eubacteria) 
+ggagggatcccttagtggccaaaggatcagactgtaaatctgacgtcata
+gacttcgaaggttcgaatccttctccctccacca
+> DY6050  GTA TRYPANOSOMA BRUCEI CY SIN (Cytoplasmic) 
+ccttctgtagctcaattggtagagcatgtgactgtagagtatgcgggtat
+cacagggtcgctggttcgattccggccggaagg
+> DY6160  GTA DICTYOSTELIUM DIS. CY SIN (Cytoplasmic) 
+ccggctttggcgcaatggtagcgcgattgactgtagatcaatcggttgct
+agttcgaatctggcaagccgga
+> DY6280  GTA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ctctcggtagccaagttggtttaaggcgcaagactgtaaatcttgagatc
+gggcgttcgactcgcccccgggaga
+> DY6740  GTA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+ccgaccttagctcagttggtagagcggaggactgtagatccttaggtcac
+tggttcgaatccggtaggtcgga
+> DY6741  GTA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+ccgaccttagctcagttggtagagcggaggactgtagatccttaggtcat
+tggttcgaatccgctaggtcgga
+> DY6742  GTA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+ccgaccttagctctgttggtatagcggaggactgtagatccttaggtcac
+tggttcgaattcggtaggtcgga
+> DY6743  GTA ARABIDOPSIS THAL.  CY PLA (Cytoplasmic) 
+ccgaccttagctcagttggtagagcggaggactgtagatccttaggtcac
+tggttcgaatctggtaggtttga
+> DY7060  GTA NICOTIANA RUSTICA  CY PLA (Cytoplasmic) 
+ccgaccttagctcagttggtagagcggaggactgtagatccttaggtcac
+tggttcgaatccggtaggtcgga
+> DY7061  GTA NICOTIANA RUSTICA  CY PLA (Cytoplasmic) 
+ccgaccttagctcagttggtagagcggaggactgtagatccttaggtcgc
+tggttcgaatccggcaggtcgga
+> DY7200  GTA TRITICUM AESTIVUM  CY PLA (Cytoplasmic) 
+ccgaccttagctcagttggtagagcggaggactgtagatccttaggtcac
+tggttcgaatccggtaggtcgga
+> DY7740  GTA DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+ccttcgatagctcagttggtagagcggtggactgtagatccataggtcgc
+tggttcaaatccggctcgaagga
+> DY7920  GTA XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+ccttcgatagctcagctggtagagcggaggactgtaaatccttaggtcgc
+tggttcgattccggctcgaagga
+> DY7921  GTA XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+ccttcgatagctcagctggtagagcggaggactgtagatccttaggtcgc
+tggttcaattccggctcgaagga
+> DY7922  GTA XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+ccttcgatagctcagctggtagagcggaggactgtagatccttaggtcgc
+tggttcgattccggctcgaagga
+> DY9990  GTA HUMAN              CY ANI (Cytoplasmic) 
+ccttcgatagctcagctggtagagcggaggactgtagatccttaggtcgc
+tggttcaattccggctcgaagga
+> DY9991  GTA HUMAN              CY ANI (Cytoplasmic) 
+ccttcgatagctcagctggtagagcggaggactgtagatccttaggtcgc
+tggttcgattccggctcgaagga
+> DZ1430  TCA CLOSTRIDIUM THERM. EUBACT (Eubacteria) 
+gggggggatcgggcctggtggcttgcctggacttcaaatccagttcgcgc
+ctaacgggcgcggtgggttcgattcccacacctcccgcca
+> DZ1440  TCA DESULFOMICR. BACU. EUBACT (Eubacteria) 
+ggaatgtatcgtcaccggtgtggcgcccggtcttcaaaaccggtggaagg
+tcgagaggtcttcggtaggttcgactcctatactttccgcca
+> DZ1662  TCA E.COLI 	      EUBACT	-_AA (Eubacteria) 
+taagatcgtcgtctccggtgaggcggctggacttcaaatccagttggggc
+cgctgcggtcccgggcaggttcgactcctgtgatctttgcca
+> DZ7560  TCA CAENORHABDI. ELEG. CY ANI (Cytoplasmic) 
+gcccggattccatggcggtctgtggtgcagacttcaaatctgtaggcggt
+tagcgccgcagtggttcgactccattttcgggtg
+> DZ7742  TCA DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gccccacttcttcggtggtccggggtgcggacttcaaatccgtagtcgat
+ttgcgtcgaagtggttcgattccattggggggcg
+> DZ7920  TCA XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+gcccggattcctcagtggtctggggtgcaggcttcaaacctgtagctgtc
+tagcgacagagtggttcaattccattttcgggcg
+> DZ8040  TCA CHICKEN 	      CY ANI	-GC (Cytoplasmic) 
+gcccggattcctcagtggtctggggtgcaggcttcaaacctgtagctgtc
+tagcgacagagtggttcaattccattttcgggcg
+> DZ8100  TCA MOUSE              CY ANI (Cytoplasmic) 
+cgcccgatgatcctcagtggtctggggtgcaggcttcaaacctgtagctg
+tttagcgacagagtggttcaattccactttgggcgg
+> DZ9281  TCA BOVINE 	      CY ANI	-GCC (Cytoplasmic) 
+gcccggattcctcagtggtctggggtgcaggcttcaaacctgtagctgtc
+tagcgacagagtggttcaattccattttcgggcg
+> RA1140  UGC MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gggccctnagctcagctgggagagcacctgccttgcacgcagggggtcga
+cggttcgatcccgttagggtccacca
+> RA1180  UGC MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+gggcccttagctcagctgggagagcacctgccttgcacgcagggggtcga
+cggttcgatcccgttagggtccacca
+> RA1540  5GC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggagccttagctcagctgggagagcgcctgctttgcacgcaggaggtcag
+cggttcgatcccgctaggctccacca
+> RA1660  GGC E.COLI             EUBACT (Eubacteria) 
+ggggctanagctcagctgggagagcgcttgcatggcatgcaagaggtcag
+cggttcgatcccgcttagctccacca
+> RA1661  VGC E.COLI 	      EUBACT	-GGG (Eubacteria) 
+gggggcatagctcagctgggagagcgcctgctttgcacgcaggaggtctg
+cggttcgatcccgcgcgctcccacca
+> RA1662  VGC E.COLI             EUBACT (Eubacteria) 
+ggggctatagctcagctgggagagcgcctgctttgcacgcaggaggtctg
+cggttcgatcccgcatagctccacca
+> RA6280  IGC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gggcgtgtggcgtagtcggtagcgcgctcccttagcatgggagaggtctc
+cggttcgattccggactcgtccacca
+> RA6360  IGC TORULOPSIS UTILIS  CY SIN (Cytoplasmic) 
+gggcgtgtggcgtagttggtagcgcgttcgcttagcatgcgaaaggtctc
+cggttcgactccggactcgtccacca
+> RA7680  IGC BOMBYX MORI        CY ANI (Cytoplasmic) 
+gggggcgtagctcagatggtagagcgctcgcttagcatgtgagaggtacc
+gggatcgatacccggcgcctccacca
+> RA7681  IGC BOMBYX MORI        CY ANI (Cytoplasmic) 
+gggggcgtagctcagatggtagagcgctcgcttagcatgcgagaggtacc
+gggatcgatacccggcgcctccacca
+> RA9990  IGC HUMAN              CY ANI (Cytoplasmic) 
+gggggattagctcaaatggtagagcgctcgcttagcatgcgagaggtagc
+gggatcgatgcccgcatcctccacca
+> RA9991  IGC HUMAN              CY ANI (Cytoplasmic) 
+ggggaattagctcaaatggtagagcgctcgcttagcatgcgagaggtagc
+gggatcgatgcccgcattctccacca
+> RC1140  GCA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggcaacanggccaagcggctaaggcatgggtctgcaacaccctgatcatc
+ggttcgaatccgattgttgcctcca
+> RC1660  GCA E.COLI             EUBACT (Eubacteria) 
+ggcgcgttaacaaagcggttatgtagcggattgcaaatccgtctagtccg
+gttcgactccggaacgcgcctcca
+> RC6280  GCA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gctcgtatggcgcagtggtagcgcagcagattgcaaatctgttggtcctt
+agttcgatcctgagtgcgagctcca
+> RD1140  GUC MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggccccanagcgaagttggttatcgcgcctccctgtcacggaggagatca
+cgggttcgagtcccgttggggtcgcca
+> RD1580  GUC THERMUS THERMOPHI. EUBACT (Eubacteria) 
+ggccccgtggtgtagttggttaacacacccgcctgtcacgtgggagatcg
+cgggttcgagtcccgtcggggccgcca
+> RD1660  QUC E.COLI             EUBACT (Eubacteria) 
+ggagcggtagttcagtcggttagaatacctgcctgtcacgcagggggtcg
+cgggttcgagtcccgtccgttccgcca
+> RD6040  GUC EUGLENA GRACILIS   CY SIN (Cytoplasmic) 
+tcttcggtagtatagtggtaagtatgtccgcctgtcacgcggaagacacg
+ggttcaattcccggccggagagcca
+> RD6280  GUC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+tccgtgatagtttaatggtcagaatgggcgcttgtcgcgtgccagatcgg
+ggttcaattccccgtcgcggagcca
+> RD7920  8UC XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+tcctcgttggtatagtggtgagtatccccgcctgtcacgcgggagaccgg
+ggttcaattccccgacggggagcca
+> RD9160  GUC RAT ASCIT. HEPATOM CY ANI (Cytoplasmic) 
+atcctcgttagtatagtggtgagtatccccgctcgtcacgcgggagaccg
+gggttcgattccccgacggggagcca
+> RD9161  8UC RAT LIVER          CY ANI (Cytoplasmic) 
+tcctcgttagtatagtggtgagtatccccgctcgtcacgcgggagaccgg
+ggttcgattccccgacggggagcca
+> RD9220  8UC RABBIT LIVER       CY ANI (Cytoplasmic) 
+tcccgtctagtatagtggtgagtatatccgcctgtcacgcgggaggaccg
+gggttcgaatccccggacgggagcca
+> RD9280  8UC BOVINE LIVER       CY ANI (Cytoplasmic) 
+ggtgccgtagcgtagtggcancgngactctctgtcaaagagtgggacntg
+agttcgatactcaacggcaccgcca
+> RE1140  !UC MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggcctgttggtgaagcggttaacacacacggttttcatccgtggacacac
+gggttcgaaccccgtacaggctacca
+> RE1660  SUC E.COLI             EUBACT (Eubacteria) 
+gtccccttcgtctagaggcccaggacaccgccctttcacggcggtaacag
+gggttcgaatcccctgggggacgcca
+> RE1661  SUC E.COLI             EUBACT (Eubacteria) 
+gtccccttcgtctagaggcccaggacaccgccctttcacggcggtaacag
+gggttcgaatcccctaggggacgcca
+> RE1662  SUC E.COLI             EUBACT (Eubacteria) 
+gtccccttcgtctagaggccaggacaccgccctttcacggcggtaacagg
+ggttcgaatcccctaggggacgcca
+> RE2140  NUC SYNECHOCYSTIS SP.  EUBACT (Eubacteria) 
+gcccccatcgtctagaggcctaggacacctccctntcacggaggcgacag
+ggattcgaattcccttgggggtacca
+> RE6280  3UC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+tccgatatagtgtaacggctatcacatcacgctttcaccgtggagaccgg
+ggttcgactccccgtatcggagcca
+> RE6320  3UC SCHIZOSACCHA. POM. CY SIN (Cytoplasmic) 
+tccgttgtggtccaacggctaggattcgtcgctttcaccgacgggagcgg
+ggttcgactccccgcaacggagcca
+> RE6780  UPC HORDEUM VULGARE    CY PLA (Cytoplasmic) 
+tccgtcgtagtctaggtggttaggatactcggctttcacccgagagaccc
+gggttcaagtcccggcgacggaacca
+> RE6781  CPC HORDEUM VULGARE    CY PLA (Cytoplasmic) 
+tccgtcgtagtctaggtggttaggatactcggctctcacccgagagaccc
+gggttcgagtcccggcgacggaacca
+> RE6940  CUC LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+tccgttgtagtctagttggtcaggatattcggctctcacccgaaagaccc
+gggttcaagtcccggcgacggaacca
+> RE7740  2UC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+tcccatatggtctagtggctaggatatctggctttcacccagaaggcccg
+ggttcgattcccggtatgggaacca
+> RE8100  CUC MOUSE              CY ANI (Cytoplasmic) 
+tccctggtggtctagtggttaggattcggcgctctcaccgccgcggcccg
+ggttcgattcccggtcagggaacca
+> RE9160  3UC RAT LIVER          CY ANI (Cytoplasmic) 
+tcccacatggtctagcggttaggattcctggttttcacccaggcggcccg
+ggttcgactcccggtgtgggaacca
+> RE9990  CUC HUMAN              CY ANI (Cytoplasmic) 
+tccctggtggtctagtggttaggattcggcgctctcaccgccgcggcccg
+ggttcgattcccggtcagggaacca
+> RF1140  GAA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggtcgtgtagctcagtcggtagagcagcagactgaagctctgcgtgtcgg
+cggttcaattccgtccacgaccacca
+> RF1460  #AA BACILLUS STEARO.   EUBACT (Eubacteria) 
+ggctcggtagctcagtcggtagagcaaaggactgaaaatccttgtgtcgg
+cggttcgattccgtcccgagccacca
+> RF1540  #AA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggctcggtagctcagttggtagagcaacggactgaaaatccgtgtgtcgg
+cggttcgattccgtcccgagccacca
+> RF1580  GAA THERMUS THERMOPHI. EUBACT (Eubacteria) 
+gccgaggtagctcagttggtagagcatgcgactgaaaatcgcagtgtcgg
+cggttcgattccgctcctcggcacca
+> RF1660  GAA E.COLI             EUBACT (Eubacteria) 
+gcccggatagctcagtcggtagagcaggggattgaaaatccccgtgtcct
+tggttcgattccgagtccgggcacca
+> RF2020  GAA RHODOSPIRIL. RUB.  EUBACT (Eubacteria) 
+gcccgggtagctcagctggtagagcacgtgactgaaaatcacggtgtcgg
+tggttcgactccgcccccgggcacca
+> RF2060  GAA AGMENELLUM QUADR.  EUBACT (Eubacteria) 
+gccaggatagcncagttggtagagcagaggactgaaaatcctcgtgtcgg
+cggttcaattccgcctcccggcacca
+> RF6040  #AA EUGLENA GRACILIS   CY SIN (Cytoplasmic) 
+gccgacttagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcgatcccgggagtcggcacca
+> RF6120  GAA SCENEDESMUS OBLIQ. CY SIN (Cytoplasmic) 
+ggcttgatagctcagctgggagagcgttagactgaagatctacaggnccc
+cagttcgatcctgggtcaggccacca
+> RF6200  #AA NEUROSPORA CRASSA  CY SIN (Cytoplasmic) 
+gcgggtttagctcagttgggagagcgtcagactgaagatctgaaggtcgt
+gtgttcgatccacacaaaccgcacca
+> RF6280  #AA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcggatttagctcagttgggagagcgccagactgaagatctggaggtcct
+gtgttcgatccacagaattcgcacca
+> RF6281  #AA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcggacttagctcagttgggagagcgccagactgaagatctggaggtcct
+gtgttcgatccacagagttcgcacca
+> RF6320  #AA SCHIZOSACCHA. POM. CY SIN (Cytoplasmic) 
+gtcgcaatggtgtagttgggagcatgacagactgaagatctgttggncat
+cggttcgatcccggtttgtgacacca
+> RF6780  #AA HORDEUM VULGARE    CY PLA (Cytoplasmic) 
+gcggggatagctcagttgggagagcgtcagactgaagatctgaaggtcgc
+gtgttcgatccacgctcaccgcacca
+> RF6820  #AA WHEAT GERM         CY PLA (Cytoplasmic) 
+gcggggatagctcagttgggagagcgtcagactgaagatctgaaggtcgc
+gtgttcgatccacgctcaccgcacca
+> RF6860  #AA BRASSICA NAPUS     CY PLA (Cytoplasmic) 
+gcggggatagctcagttgggagagcgtcagactgaagatctgaaggtcgc
+gtgttcgatccacgctcaccgcacca
+> RF6940  #AA LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+gcggggatagctcagttgggagagcgtcagactgaagatctgaaggtcac
+gtgttcgatccacgttcaccgcacca
+> RF7020  #AA PISUM SATIVUM      CY PLA (Cytoplasmic) 
+gcggggatagctcagttgggagagcgtcagactgaagatctgaaggtcgc
+gtgttcgatccacgctcaccgcacca
+> RF7680  #AA BOMBYX MORI        CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcaatcccgggtttcggcacca
+> RF7681  #AA BOMBYX MORI        CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcgatcccgggtttcggcacca
+> RF7740  #AA DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+cggttcaatcccgggtttcggcacca
+> RF7920  #AA XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcgatcccgggtttcggcacca
+> RF8100  #AA MOUSE E. ASC. TUM. CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcgatcccgggtttcggcacca
+> RF8101  #AA MOUSE LIVER        CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcgatcccgggtttcggcacca
+> RF8102  ;AA MOUSE NEUROBLASTOM CY ANI (Cytoplasmic) 
+agccgaaatagctcagttgggagagcgttagactgaagatctaaaggtcc
+ctggttcgatcccgggtttcggcacca
+> RF9220  #AA RABBIT LIVER       CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcgatcccgggtttcggcacca
+> RF9280  #AA BOVINE LENS        CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcgatcccgggtttcggcacca
+> RF9281  #AA BOVINE LENS        CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcaatcccgggtttcggcacca
+> RF9340  #AA CALF LIVER         CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcgatcccgggtttcggcacca
+> RF9990  #AA HUMAN PLACENTA     CY ANI (Cytoplasmic) 
+gccgaaatagctcagttgggagagcgttagactgaagatctaaaggtccc
+tggttcgatcccgggtttcggcacca
+> RG1140  UCC MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gcaggtgnagtttaatggtagaacttcagccttccaagctgattgtgagg
+gttcgattcccttcacctgctcca
+> RG1180  UCC MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+gcaggtgtagtttaatggcagaacttcagccttccaagctgattgtgagg
+gttcgattcccttcacctgctcca
+> RG1310  CCC STREPTOMYCES COEL. EUBACT (Eubacteria) 
+gcgggtgtagttcaatggtagaacatcagcttcccaagctgagagcgcga
+gttcgattctcgtcacccgctcca
+> RG1380  UCC STAPHYLOCOC. EPID. EUBACT (Eubacteria) 
+gcgggagtatttcaacttttagaatacgttccttcccggaacgagatata
+ggtgcaaatcctatcttccgctcca
+> RG1381  UCC STAPHYLOCOC. EPID. EUBACT (Eubacteria) 
+gcgggagtagttcaattttagaacacattccttcccggaatgaggtatag
+gtgcaagtcctatcttccgctcca
+> RG1540  !CC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gcgggtgtagtttagtggtaaaacctcagccttccaagctgatgtcgtga
+gttcgattctcatcacccgctcca
+> RG1660  CCC E.COLI             EUBACT (Eubacteria) 
+gcgggcgtagttcaatggtagaacgagagcttcccaagctctatacgagg
+gttcgattcccttcgcccgctcca
+> RG1661  GCC E.COLI             EUBACT (Eubacteria) 
+gcgggaatagctcagttggtagagcacgaccttgccaaggtcggggtcgc
+gagttcgagtctcgtttcccgctcca
+> RG1662  NCC E.COLI             EUBACT (Eubacteria) 
+gcgggcatcgtataatggctattacctcagcctnccaagctgatgatgcg
+ggttcgattcccgctgcccgctcca
+> RG1700  CCC SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+gcgggcgtagttcaatggtagaacgagagcttcccaagctctatacgagg
+gttcgattcccttcgcccgctcca
+> RG1701  NCC SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+gcgggcatcgtataatggctattacctcagcctnccaagctgatgatgcg
+ggttcgattcccgctgcccgctcca
+> RG6280  GCC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcgcaagtggtttagtggtaaaatccaacgttgccatcgttgggccccgg
+ttcgattccgggcttgcgcacca
+> RG6281  .CC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gggcggttagtgtagtggttatcatcccaccctnccaaggtggggacacg
+ggttcgattctcgtaccgctcacca
+> RG6820  GCC WHEAT GERM         CY PLA (Cytoplasmic) 
+gcaccagtggtctagtggtagaatagtaccctgccacggtacagacccgg
+gttcgattcccggctggtgcacca
+> RG6940  GCC LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+gcaccagtggtctagtggtagaatagtaccctgccacggtacagacccgg
+gttcgattcccggctggtgcacca
+> RG7680  GCC BOMBYX MORI        CY ANI (Cytoplasmic) 
+gcatcggtggttcagtggtagaatgctcgcctgccacgcgggcggcccgg
+gttcgattcccggccgatgcacca
+> RG7681  ,CC BOMBYX MORI        CY ANI (Cytoplasmic) 
+gcgttggtggtgtaatggtcagcatagttgccttccaagcagttgatccg
+ggttcgattcccggccaacgcacca
+> RG9990  CCC HUMAN PLACENTA     CY ANI (Cytoplasmic) 
+gcgccgctggtgtagtggtatcatgcaagattcccattcttgcgacccgg
+gttcgattcccgggcggcgcacca
+> RG9991  GCC HUMAN PLACENTA     CY ANI (Cytoplasmic) 
+gcattggtggttcagtggtagaattctcgcctgccacgcgggaggcccgg
+gttcgattcccggccaatgcacca
+> RH1140  GUK MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggcgtaggtggtgaagtggttaacacatcaggttgtggctctgacatacg
+cgggttcgatccccgttctacgcccca
+> RH1660  QUG E.COLI             EUBACT (Eubacteria) 
+ggtggctatagctcagttggtagagccctggattgtgattccagttgtcg
+tgggttcgaatcccattagccacccca
+> RH1700  QUG SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+ggtggctatagctcagttggtagagccctggattgtgattccagttgtcg
+tgggttcgaatcccattagccacccca
+> RH6280  GUG SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggccatcttagtatagtggttagtacacaacattgtggctgttgaaaccc
+tggttcgattctaggaggtggcacca
+> RH6281  GUG SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggccatcttagtatagtggttagtacacatcgttgtggccgatgaaaccc
+tggttcgattctaggagatggcacca
+> RH6940  GUG LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+ggtggctgtagtttagtggttagaacacaacgttgtggccgttgaaacct
+gggttcgaatcccagcagccacacca
+> RH7740  GUG DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+ggccgtgatcgtctagtggttaggaccccacgttgtggccgtggtaaccc
+aggttcgaatcctggtcacggcacca
+> RH9460  QUG SHEEP LIVER        CY ANI (Cytoplasmic) 
+ggccgtgatcgtatagtggttagtactctgcgttgtggccgcagcaacct
+cggttcgaatccgagtcacggcacca
+> RH9990  GUG HUMAN HELA CELLS   CY ANI (Cytoplasmic) 
+ggccgtgatcgtatagtggttagtactctgcgttgtggccgcagcaacct
+cggttcgaatccgagtcacggcacca
+> RI1140  }AU MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggaccttnagctcagttggttagagcatccggctcataaccggacggtca
+ttggttcaagtccaataaggtccacca
+> RI1141  GAU MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+cggaatatagctcagctggttagagcattccgctgataacggagaggtcg
+ttggttcaagtccaattattccgacca
+> RI1180  GAU MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+cggaatatagctcagctggttagagcattccgctgataacggagaggtcg
+ttggttcaagtccaattattccgacca
+> RI1580  GAU THERMUS THERMOPHI. EUBACT (Eubacteria) 
+gggcgattagctcagctggttagagcgcacgcctgataagcgtgaggtcg
+gtggttcaagtccaccatcgcccacca
+> RI1660  GAU E.COLI             EUBACT (Eubacteria) 
+aggcttgtagctcaggtggttagagcgcacccctgataagggtgaggtcg
+gtggttcaagtccactcaggcctacca
+> RI1661  GAU E.COLI             EUBACT (Eubacteria) 
+aggcttgtagctcaggtggttagagcgcacccctgataagggtgaggtcg
+gtggttcaagtccactcaggcctacca
+> RI1662  }AU E.COLI             EUBACT (Eubacteria) 
+ggccccttagctcagtggttagagcaggcgactcataatcgcttggtcgc
+tggttcaagtccagcaggggccacca
+> RI6280  IAU SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggtctcttggcccagttggttaaggcaccgtgctaataacgcggggatca
+gcggttcgatcccgctagagaccacca
+> RI6360  IAU TORULOPSIS UTILIS  CY SIN (Cytoplasmic) 
+ggtcccttggcccagttggttaaggcgtggtgctaataacgccaagatca
+gcagttcgatcctgctagggaccacca
+> RI6940  IAU LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+ggcccattagcccagttggttaaggcgtggtgctaataacgccgaagtca
+gcagttcgatcctgctatgggccacca
+> RI7680  IAU BOMBYX MORI        CY ANI (Cytoplasmic) 
+ggcccattagctcagttggtnagagcgtcgtgctaataacgcgaaggtcg
+cgggttcgatcccctcatgggccacca
+> RI8100  IAU MOUSE              CY ANI (Cytoplasmic) 
+ggccggttagctcagttggttagagcgtggtgctaataacgccaaggtcg
+cgggttcgatccccgtacgggccacca
+> RK1140  CUU MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gtctgattagcgcaactggcagagcaactgactcttaatcagtgggttgt
+gggttcgattcccacatcaggcacca
+> RK1141  !UU MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gactcgttagctcagccggtagagcaactggcttttaaccagtgggtccg
+gggttcgaatccccgacgagtcacca
+> RK1540  $UU BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gagccattagctcagttggtagagcatctgacttttaatcagagggtcga
+aggttcgagtccttcatggctcacca
+> RK1541  $UU BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gagccattagctcagttggtagagcatctgacttttaatcagagggtcga
+aggttcgagtccttcatggctcacca
+> RK1660  SUU E.COLI             EUBACT (Eubacteria) 
+gggtcgttagctcagttggtagagcagttgacttttaatcaattggtcgc
+aggttcgaatcctgcacgacccacca
+> RK6280  CUU SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gccttgttggcgcaatcggtagcgcgtatgactcttaatcataaggttag
+gggttcgagccccctacagggctcca
+> RK6281  )UU SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+tccttgttagctcagttggtagagcgttcggcttttaaccgaaatgtcag
+gggttcgagccccctatgaggagcca
+> RK6820  CUU WHEAT GERM         CY PLA (Cytoplasmic) 
+gcccgtctagctcagttggtagagcgcaaggctcttaaccttgtggtcgt
+gggttcgagccccacggttggcgcca
+> RK7740  CUU DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgagactcttaatctcagggtcgt
+gggttcgagccccacgttgggcgcca
+> RK7741  )UU DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gcccggatagctcagtcggtagagcattggacttttaatccaagggtcca
+gggttcaagtccctgttcgggcgcca
+> RK8100  CUU MOUSE FIBROB. SV 4 CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgagactcttaatctcagggtcgt
+gggttcgagccccacgttgggcgcca
+> RK8101  CUN MOUSE              CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgggactctnaatcccagggtcgt
+gggttcgagccccacgttgggcgcca
+> RK9160  CUN RAT LIVER          CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgagactctnaatctcagggtcgt
+gggttcgagccccacgttgggcgcca
+> RK9161  CUN RAT LIVER          CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgggactctnaatcccagggtcgt
+gggttcgagccccacgttgggcgcca
+> RK9162  3UU RAT LIVER          CY ANI (Cytoplasmic) 
+gcccggatagctcagtcggtagagcatcagacttttaatctgagggtcca
+gggttcaagtccctgttcgggcgcca
+> RK9220  CUU RABBIT LIVER       CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgggactcttaatcccagggtcgt
+gggttcgagccccacgttgggcgcca
+> RK9221  CUU RABBIT LIVER       CY ANI (Cytoplasmic) 
+gcccggctagctcagtcggtagagcatgagactcttaatctcagggtcgt
+gggttcgagccccacgttgggcgcca
+> RK9222  3UU RABBIT LIVER       CY ANI (Cytoplasmic) 
+gcccggatagctcagtcggtagagcatcagacttttaatctgagggtcca
+gggttcaagtccctgttcgggcgcca
+> RL1140  BAA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gcctttttggcggaattggcagacgcattagactcaaaatctaacgaaga
+aattcgtatcggttcgaatccgataaagggcacca
+> RL1141  )AA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ccccaagnggcggaataggtagacgcattggacttaaaatccaacgggct
+taatatcctgtgccggttcaagtccggccttggggacca
+> RL1142  UAG MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gggggatnggcggaattggcagacgcactagacttaggatctagcgtctt
+tgacgtaagggttcaagtcccttatcccccacca
+> RL1460  BAA BACILLUS STEARO.   EUBACT (Eubacteria) 
+gccgatgtggcggaattggcagacgcgcacgactcaaaatcgtgtgggct
+ttgcccgtgtgggttcgactcccaccatcggcacca
+> RL1540  CAG BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gcgggtgtgcgggaattggtagaccggctagattcaggatctagggtctt
+tatggacctgagggttcaagtcccttcacccgcacca
+> RL1660  HAA E.COLI             EUBACT (Eubacteria) 
+gcccggatggtggaatcggtagacacaagggattaaaaatccctcggcgt
+tcgcgctgtgcgggttcaagtcccgctccgggtacca
+> RL1661  CAG E.COLI             EUBACT (Eubacteria) 
+gcgaaggtggcggaattggtagacgcgctagcttcaggtgttagtgtcct
+tacggacgtgggggttcaagtcccccccctcgcacca
+> RL1662  GAG E.COLI             EUBACT (Eubacteria) 
+gccgaggtggtggaattggtagacacgctaccttgaggtggtagtgccca
+atagggcttacgggttcaagtcccgtcctcggtacca
+> RL1700  CAG SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+gcgaaggtggcggaattggtagacgcgctagcttcaggtgttagtgtcct
+tacggacgtgggggttcaagtcccccccctcgcacca
+> RL2020  CAA RHODOSPIRIL. RUB.  EUBACT (Eubacteria) 
+gcctttgtagcggaatggtaacgcggcagactcaaaatctgctttggtaa
+cccaggtggtagttcgactctccccaaaggcacca
+> RL2100  CAA ANACYSTIS NIDULANS EUBACT (Eubacteria) 
+gggcaagtggcggaattggtagacgcagcagactcaaaatctgccgctag
+cgatagtgtgtgggttcgagtcccaccttgcccacca
+> RL2101  CAG ANACYSTIS NIDULANS EUBACT (Eubacteria) 
+gcggaactggcggaattggtagacgcgctagattcaggttctagtggttt
+cacgactgtccgggttcaagtcccgggttccgcacca
+> RL6280  ?AA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggttgtttggccgagcggtctaaggcgcctgattcaagctcaggtatcgt
+aagatgcaagagttcgaatctcttagcaaccacca
+> RL6281  UAG SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gggagtttggccgagtggtttaaggcgtcagatttaggctctgatatctt
+cggatgcaagggttcgaatcccttagctctcacca
+> RL6282  _AA SACCHARMOYCES CER. CY SIN (Cytoplasmic) 
+ggagggttggccgagtggtctaaggcggcagacttaagatctgttggacg
+gttgtccgcgcgagttcgaacctcgcatccttcacca
+> RL6360  BAA TORULOPSIS UTILIS  CY SIN (Cytoplasmic) 
+ggatctttggccgagcggtttaaggcgctcgactcaagatcgagtatcgt
+aagatgcatgagttcgaatctcataggatccacca
+> RL6370  BAA CANDIDA CYLINDRA.  CY SIN (Cytoplasmic) 
+ggccgtttggccgagtggtctaaggcgtctgactcaagatcagatctcgt
+aagaggcgtgtgttcgaaccacacagcggtcacca
+> RL6371  IAG CANDIDA CYLINDRA.  CY SIN (Cytoplasmic) 
+ggttctctggccgagtggtctaaggcgcatggttaaggtccatgtctctt
+cggaggcgcgagttcgaacctcgcgggaatcacca
+> RL6372  IAG CANDIDA CYLINDRA.  CY SIN (Cytoplasmic) 
+ggctctctggccgagtggtctaaggcgctagggtaaggtcctagtctctt
+cggaggcgcgagttcgaacctcgcgggagtcacca
+> RL6980  .AA PHASEOLUS VULGARIS CY PLA (Cytoplasmic) 
+gtcaggatggccgagtggtctaaggcgccagactnaagttctggtcttcg
+agagagggcgtgggttcaaatcccacttctgacacca
+> RL6981  .AA PHASEOLUS VULGARIS CY PLA (Cytoplasmic) 
+gtcaggatggccgagtggtctaaggcgccagactnaagttctggtcttcg
+aaagagggcgtgggttcaaatcccacttctgacacca
+> RL6982  .AG PHASEOLUS VULGARIS CY PLA (Cytoplasmic) 
+gatagtttggccgagtggtctaaggcgccagattnaggctctggtccgaa
+angggcgtgggttcaaatcccacagctgtcacca
+> RL6983  .AA PHASEOLUS VULGARIS CY PLA (Cytoplasmic) 
+gctggtttggccgagaggttaaggcggaagactnaagatcttctgcagtc
+aactgcgcatgggttcgaaccccatagccagcacca
+> RL7070  .AA SOLANUM TUBEROSUM  CY PLA (Cytoplasmic) 
+gtcaggatggccgagtggtctaaggcgccagactnaagttctggtcttcg
+taagagggcgtgggttcaaatcccacttctgacacca
+> RL7080  NAA CUCUMIS SATIVUS    CY PLA (Cytoplasmic) 
+gtcaggatggccgagtggtctaaggcgccagactnaagttctggtcctct
+aaggagggcgtgggttcaaatcccacttctgacacca
+> RL7560  IAG CAENORHABDI. ELEG. CY ANI (Cytoplasmic) 
+ggagagatggccgagcggtctaaggcgctggtttaaggcaccagtccctt
+cgggggcgtgggttcgaatcccactctcttcacca
+> RL9160  <AA RAT MORRIS HEPATOM CY ANI (Cytoplasmic) 
+agtcaggatggccgagtggtctaaggcgccagactcaagttctggntccg
+aatggagcgtgggttcgaatcccacttctgacacca
+> RL9161  <AA RAT MORRIS HEPATOM CY ANI (Cytoplasmic) 
+agtcaggatggccgagtggtctaaggcgccagactcaagttctggntccg
+tatggagcgtgggttcgaatcccacttctgacacca
+> RL9280  IAG BOVINE LIVER       CY ANI (Cytoplasmic) 
+ggtagcgtggccgagcggtctaaggcgctggattaaggctccagtctctt
+cgggggcgtgggttcgaatcccaccgctgccacca
+> RL9400  IAG COW MAMMARY GLAND  CY ANI (Cytoplasmic) 
+ggtagcgtggccgagcggtctaaggcgctggattaaggctccagtctctt
+cgggggcgtgggttcgaatcccaccgctgccacca
+> RL9401  CAG COW MAMMARY GLAND  CY ANI (Cytoplasmic) 
+gtcaggatggccgagcggttcaaggcgctgcgttcaggncgcagtctccc
+tggaggcgtgggttcgaatcccacttctgacacca
+> RL9990  .AA HUMAN HELA-CELLS   CY ANI (Cytoplasmic) 
+gtcaggatggccgagtggtctaaggcgccagactnaagttctggtctccg
+gatggagcgtgggttcgaatcccacttctgacacca
+> RM1140  CAU MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggcggggnagctcagttggttagagcgttcggttcatacccgaaaggtcg
+agagttcaaatctctcccccgctacca
+> RM1540  CAU BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggcggtgtagctcagcggctagagcgtacggttcatacccgtgaggtcgg
+gggttcgatcccctccgccgctacca
+> RM1580  CAU THERMUS THERMOPHI. EUBACT (Eubacteria) 
+cgcggggtggagcagcctggtagctcgtcgggctcataacccgaaggtcg
+cgggttcaaatcccgcccccgcaacca
+> RM1660  MAU E.COLI             EUBACT (Eubacteria) 
+ggctacgtagctcagttggttagagcacatcactcataatgatggggtca
+caggttcgaatcccgtcgtagccacca
+> RM6280  CAU SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcttcagtagctcagtaggaagagcgtcagtctcataatctgaaggtcga
+gagttcgaacctctcctggagcacca
+> RM6820  BAU WHEAT GERM         CY PLA (Cytoplasmic) 
+ggggtggtggcgcagttggctagcgcgtaggtctcataatcctgaggtcg
+agagttcgagcctctctcaccccacca
+> RM6940  BAU LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+ggggtggtggcgcagttggctagcgcgtaggtctcataatcctgaggtcg
+agagttcgagcctctctcaccccacca
+> RM8100  BAU MOUSE MYELOMA      CY ANI (Cytoplasmic) 
+gcctcgttagcgcagtaggtagcgcgtcagtctcataatctgaaggtcgt
+gagttcgatcctcacacggggcacca
+> RM9220  BAU RABBIT LIVER       CY ANI (Cytoplasmic) 
+gcctcgttagcgcagtaggtagcgcgtcagtctcataatctgaaggtcgt
+gagttcgatcctcacacggggcacca
+> RM9990  BAU HUMAN HELA-CELLS   CY ANI (Cytoplasmic) 
+gcctcgttagcgcagtaggtagcgcgtcagtctcataatctgaaggtcgt
+gagttcgatcctcacacggggcacca
+> RN1140  GUU MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggcttttnagctcagcaggtagagcaaccggctgttaaccggtttgtcac
+aggttcgagccctgtaaaagccgcca
+> RN1660  QUU E.COLI             EUBACT (Eubacteria) 
+tcctctgtagttcagtcggtagaacggcggactgttaatccgtatgtcac
+tggttcgagtccagtcagaggagcca
+> RN6280  GUU SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gactccatggccaagttggttaaggcgtgcgactgttaatcgcaagatcg
+tgagttcaaccctcactggggtcgcca
+> RN6940  ;UU LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+gcctcagtagctcagtggttagagcggtcggctgttaaccgataggtcgt
+aggttcgagccctacttggggcgcca
+> RN9160  QUU RAT LIVER          CY ANI (Cytoplasmic) 
+gtctctgtggcgcaatcggttagcgcgttcggctgttaaccgaaaggttg
+gtggntcgagcccacccagggacgcca
+> RN9161  GUU RAT W. 256 SARCOMA CY ANI (Cytoplasmic) 
+gtctctgtggcgcaatcggttagcgcgttcggctgttaaccgaaaggttg
+gtggntcgagcccacccagggacgcca
+> RN9280  QUU BOVINE LIVER       CY ANI (Cytoplasmic) 
+gtctctgtggcgcaatcggttagcgcgttcggctgttaaccgaaaggttg
+gtggntcgagcccacccagggacgcca
+> RN9990  QUU HUMAN LIVER/PLAC.  CY ANI (Cytoplasmic) 
+gtctctgtggcgcaatcggttagcgcgttcggctgttaaccgaaaggttg
+gtggntcgagcccacccagggacgcca
+> RN9991  .UG HUMAN              CY ANI (Cytoplasmic) 
+ggtcccatggtgtaatggttagcactctggactntgaatccagcgatccg
+agttcaaatctcggtgggacctcca
+> RP1140  UGG MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+cgggaagtggctcagtttggtagagcattcggtttgggaccgaagggncg
+caggttcaaatcctgtcttcccgacca
+> RP1180  UGG MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+cgggaagtggctcagtttggtagagcattcggtttgggaccgaagggtcg
+caggttcaaatcctgtcttcccgacca
+> RP1540  5GG BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+cgggaagtagctcagcttggtagagcacatggtttgggaccatggggtcg
+caggttcgaatcctgtcttcccgacca
+> RP1700  CGG SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+cggtgattggcgcagcctggtagcgcacttcgttcgggacgaaggggtcg
+gaggttcgaatcctctatcaccgacca
+> RP1701  GGG SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+cggcacgtagcgcagcctggtagcgcaccgtcctggggttgcgggggtcg
+gaggttcaaatcctctcgtgccgacca
+> RP1702  VGG SALMONELLA TYPHI.  EUBACT (Eubacteria) 
+cggcgagtagcgcagcttggtagcgcaactggtttgggaccagtgggtcg
+gaggttcgaatcctctctcgccgacca
+> RP6280  NGG SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gggcgtgtggtctagtggtatgattctcgcttngggtgcgagaggccctg
+ggttcaattcccagctcgcccccca
+> RP6281  NGG SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gggcgtgtggtctagtggtatgattctcgcttngggtgcgagaggccctg
+ggttcaattcccagctcgcccccca
+> RP6360  &GG TORULOPSIS UTILIS  CY SIN (Cytoplasmic) 
+ggccgcgtggtctagtggtatgatactcgctttgggtgtgagtggtccag
+ggttcaattccctgctcggccccca
+> RP6940  IGG LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+gggacattggtctagtggtatgattctcgcttagggtgcgagaggtcccg
+agttcgattctcggatgtcccccca
+> RQ1140  !UG MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+tgggctanagccaagcggtaaggcaagggactttgactccctcatgcgcc
+ggttcgaatcctgctagcccaacca
+> RQ1660  CUG E.COLI             EUBACT (Eubacteria) 
+tggggtatcgccaagcggtaaggcaccggattctgattccggcattccga
+ggttcgaatcctcgtaccccagcca
+> RQ1661  NUG E.COLI             EUBACT (Eubacteria) 
+tggggtatcgccaagcggtaaggcaccggtttntgataccggcattccct
+ggttcgaatccaggtaccccagcca
+> RQ6080  CUA TETRAHYMENA THERM. CY SIN (Cytoplasmic) 
+ggttctatagtatagcgcttagtactggggactctaaatcccttgacctg
+ggttcgaatcccagtaggacctcca
+> RQ6081  JUA TETRAHYMENA THERM. CY SIN (Cytoplasmic) 
+ggttccatagtatagtggttagtactggggactttaaatcccttgacctg
+ggttcgaatcccagtgggacctcca
+> RQ6082  JUG TETRAHYMENA THERM. CY SIN (Cytoplasmic) 
+ggttgtatggtgtagcggttagcaccgaggactttgaatcctctgacctg
+ggttcgaatcccagtacgacctcca
+> RQ8100  CUG MOUSE LIVER        CY ANI (Cytoplasmic) 
+ggttccatggtgtaatggttagcactctggactctgaatccagcgatccg
+agttcaaatctcggtggaacctcca
+> RQ8101  JUG MOUSE LIVER        CY ANI (Cytoplasmic) 
+ggtcccatggtgtaatggttagcactctggactttgaatccagcgatccg
+agttcaaatctcggtgggacctcca
+> RQ9160  CUG RAT LIVER          CY ANI (Cytoplasmic) 
+ggttccatggtgtaatggttagcactctggactctgaatccagcgatccg
+agttcaaatctcggtggaacctcca
+> RQ9280  CUG BOVINE LIVER       CY ANI (Cytoplasmic) 
+ggttccatggtgtaatggttagcactctggactctgaatccagcgatccg
+agttcaaatctcggtggaacctcca
+> RQ9990  NUG HUMAN              CY ANI (Cytoplasmic) 
+ggccccatggtgtaatggttagcactctggactntgaatccagcgatccg
+agttcaaatctcggtgggacctcca
+> RQ9991  NUG HUMAN              CY ANI (Cytoplasmic) 
+ggtcccatggtgtaatggttagcactctggactntgaatccagcgatccg
+agttcaaatctcggtgggacctcca
+> RR1140  ICG MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gcgcccgnagatcaattggatagatcgcttgactacggatcaaaaggttg
+ggggttcgagtccctccgggcgcacca
+> RR1141  !CU MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gcccatgtagctcagtaggatagagcacgcgccttctaagcgtgaggtcg
+gaagttcgagccttctcgtgggcacca
+> RR1540  ICG BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gcgcccgtagctcaatggatagagcgtttgactacggatcaaaaggttag
+gggttcgactcccctcgggcgcgcca
+> RR1660  ICG E.COLI 	      EUBACT	-GCA (Eubacteria) 
+gcatccgtagctcagctggtagagtactcggctacgaaccgagcggtcgg
+aggttcgaatcctcccggatgcacca
+> RR1661  ICG E.COLI             EUBACT (Eubacteria) 
+gcatccgtagctcagctggatagagtactcggctacgaaccgagcggtcg
+gaggttcgaatcctcccggatgcacca
+> RR1662  {CU E.COLI             EUBACT (Eubacteria) 
+gtcctcttagttaaatggatataacgagccccttctaagggctaattgca
+ggttcgattcctgcaggggacacca
+> RR1663  {CU E.COLI             EUBACT (Eubacteria) 
+gcgcccttagctcagttggatagagcaacgaccttctaagtcgtgggccg
+caggttcgaatcctgcagggcgcgcca
+> RR1664  CCG E.COLI             EUBACT (Eubacteria) 
+gcgcccgtagctcagctggatagagcgctgccctccggaggcagaggtct
+caggttcgaatcctgtcgggcgcgcca
+> RR6280  ICG SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ttcctcgtggcccaatggtcacggcgtctggctacgaaccagaagattcc
+aggttcaagtcctggcggggaagcca
+> RR6281  1CU SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gctcgcgtggcgtaatggcaacgcgtctgacttctaatcagaagattatg
+ggttcgacccccatcgtgagtgcca
+> RR6282  1CU SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcttgcgtggcgtaatggcaacgcgtctgacttctaatcagaagattatg
+ggttcgacccccatcgtgagtccca
+> RR6820  ICG TRITICUM AEST.     CY PLA (Cytoplasmic) 
+gactccgtggcccaatggataaggcgctggtctacgaaaccagagattct
+gggttcgatccccagcggagtcgcca
+> RR8100  ICG MOUSE LEUKEMIA     CY ANI (Cytoplasmic) 
+gggccagtggcgcaatggataacgcgtctgactacggatcagaagattct
+aggttcgactcctggctggctcgcca
+> RR8101  ICG MOUSE LEUKEMIA     CY ANI (Cytoplasmic) 
+gggccagtggcgcaatggataacgcgtctgactacggatcagaagattcc
+aggttcgactcctggctggctcgcca
+> RR9280  CCG BOVINE LIVER       CY ANI (Cytoplasmic) 
+gacccagtggcctaatggataaggcatcagcctccggagctggggattgt
+gggttcgagtcccatctgggtcgcca
+> RR9281  CCU BOVINE LIVER       CY ANI (Cytoplasmic) 
+gccccagtggcctaatggataaggcattggcctcctaagccagggattgt
+gggttcgagtcccatctggggtccca
+> RR9282  3CP BOVINE LIVER       CY ANI (Cytoplasmic) 
+ggctccgtggcgcaatggatagcgcattggacttctaattcaaaggttcc
+gggttcgagtcccggcggagtcgcca
+> RS1140  GCU MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gggttaanactcaagttggtgaagaggacaccctgctaaggtgttaggtc
+ggtctccggcgcgagggttcgagtccctcttaacccgcca
+> RS1141  UGA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggaagatnacccaagtccggctgaagggatcggtcttgaaaaccgagagt
+cggggaaaccgagcgggggttcgaatccctcatcttccgcca
+> RS1180  UGA MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+ggaagattacccaagtccggctgaagggatcggtcttgaaaaccgagagt
+cggggaaacccgagcgggggttcgaatccctcatcttccgcca
+> RS1540  5GA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggaggaatacccaagtctggctgaagggatcggtcttgaaaaccgacagg
+gtgtcaaagcccgcgggggttcgaatccctcttcctccgcca
+> RS1541  GCU BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggagaagtactcaagtggctgaagaggcgcccctgctaagggtgttgtcg
+cgtaagcggcgcgagggttcaaatccctccttctccgcca
+> RS1542  GGA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggagagctgtccgagtggtcgaaggagcacgattggaaatcgtgtaggcg
+gtcaactccgtctcaagggttcgaatcccttgctctccgcca
+> RS1660  CGA E.COLI             EUBACT (Eubacteria) 
+ggagagatgccggagcggctgaacggaccggtctcgaaaaccggagtagg
+ggcaactctaccgggggttcaaatccccctctctccgcca
+> RS1661  GCU E.COLI             EUBACT (Eubacteria) 
+ggtgaggtggccgagaggctgaaggcgctcccctgctaagggagtatgcg
+gtcaaaagctgcatccggggttcgaatccccgcctcaccgcca
+> RS1662  GGA E.COLI             EUBACT (Eubacteria) 
+ggtgaggtgtccgagtggctgaaggagcacgcctggaaagtgtgtatacg
+gcaacgtatcgggggttcgaatccccccctcaccgcca
+> RS1663  GGA E.COLI             EUBACT (Eubacteria) 
+ggtgaggtgtccgagtggttgaaggagcacgcctggaaagtgtgtatacg
+gcaacgtatcgggggttcgaatccccccctcaccgcca
+> RS1664  VGA E.COLI             EUBACT (Eubacteria) 
+ggaagtgtggccgagcggttgaaggcaccggtcttgaaaaccggcgaccc
+gaaagggttccagagttcgaatctctgcgcttccgcca
+> RS6280  NGA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggcactatggccgagtggttaaggcgacagactngaaatctgttgggctc
+tgcccgcgctggttcaaatcctgctggtgtcgcca
+> RS6281  IGA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggcaacttggccgagtggttaaggcgaaagattagaaatcttttgggctc
+tgcccgcgcaggttcaaatcctgcagttgtcgcca
+> RS6282  IGA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggcaacttggccgagtggttaaggcgaaagattagaaatcttttgggctt
+tgcccgcgcaggttcgagtcctgcagttgtcgcca
+> RS6370  CAG CANDIDA CYLINDRA.  CY SIN (Cytoplasmic) 
+gacaccgtggcccagtggttacggcgttggacgcagaatccattgagctt
+gctcgcgcgggttcgaatcccgtcggtgtctcca
+> RS6371  &GA CANDIDA CYLINDRA.  CY SIN (Cytoplasmic) 
+ggtgcaatggccgagtggttaaggcgacggatttgaactccgttgggatt
+ctccctcgcaggttcgaatcctgtttgcatcgcca
+> RS6372  IGA CANDIDA CYLINDRA.  CY SIN (Cytoplasmic) 
+ggcatcttggccgagtggttaaggcgaaagattagaaatcttttgggctc
+tgcccgcgcaggttcgagtcctgcagatgtcgcca
+> RS6373  CGA CANDIDA CYLINDRA.  CY SIN (Cytoplasmic) 
+ggcaacttggccgagtggttaaggcgtgacactcgaaatgtcatgggttt
+acccgcgcaggttcgaatcctgcagttgtcgcca
+> RS6374  GCU CANDIDA CYLINDRA.  CY SIN (Cytoplasmic) 
+gttaatgtggcccgagtggttaaggcgcttccctgctaaggaagtgggct
+ctgcccgagcaggttcgaatcctgtcattaacgcca
+> RS6940  CGA LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+gtcagtatggccgagtggttaaggcgacagactcgaaatctgttgagatt
+tgcctggcagcggttcgaatccgcttactgacgcca
+> RS7040  IGA SPINACIA OLERACEA  CY PLA (Cytoplasmic) 
+gtggacgtgccggagtggttatcgggcatgactagaaatcatgtgggctt
+tgcccgcgcaggttcgaatcctgccgtccacgcca
+> RS7060  &GA NICOTIANA RUSTICA  CY PLA (Cytoplasmic) 
+gtcgatatgtccgagtggttaaggagacagacttgaaatctgttgggctt
+cgcccgcgcaggttcgaaccctgctgtcgacgcca
+> RS7061  CGA NICOTIANA RUSTICA  CY PLA (Cytoplasmic) 
+gtcgatatgtccgagtggttaaggagacagactcgaaatctgttgggctt
+tgcctgcgcaggttcgaatcctgctgtcgacgcca
+> RS7062  GCU NICOTIANA RUSTICA  CY PLA (Cytoplasmic) 
+gtcgccttggccgagtggttaaggcgtgtgcctgctaagtacatggggtt
+tccccgcgagagttcgaatctctcaggcgacgcca
+> RS7063  IGA NICOTIANA RUSTICA  CY PLA (Cytoplasmic) 
+gtggacgtgccggagtggttatcgggcatgactagaaatcatgtgggctt
+tgcccgcgcaggttcgaatcctgccgtccacgcca
+> RS7064  IGA NICOTIANA RUSTICA  CY PLA (Cytoplasmic) 
+gtggacgtgccggagtggttatcgggcatgactagaaatcatgtgggctc
+tgcccgcgcaggttcgaatcctgccgtccacgcca
+> RS7740  GCU DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gacgaggtggccgagtggttaaggcgttggactgctaatccaatgtgctc
+tgcacgcgtgggttcgaatcccatcctcgtcgcca
+> RS7741  IGA DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gcagtcgtggccgagcggttaaggcgtctgactagaaatcagattccctc
+tgggagcgtaggttcgaatcctaccgactgcgcca
+> RS7742  CGA DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gcagtcgtggccgagtggttaaggcgtctgactcgaaatcagattccctc
+tgggagcgtaggttcgaatcctaccggctgcgcca
+> RS9160  IGA RAT LIVER          CY ANI (Cytoplasmic) 
+gtagtcgtggccgagtggttaaggcgatggactagaaatccattggggtc
+tccccgcgcaggttcgaatcctgccgactacgcca
+> RS9161  GCU RAT LIVER          CY ANI (Cytoplasmic) 
+gacgaggtggccgagtggttaaggcgatggactgctaatccattgtgctc
+tgcacgcgtgggttcgaatcccatcctcgtcgcca
+> RS9162  IGA RAT MORRIS HEPATOM CY ANI (Cytoplasmic) 
+agtagtcgtggccgagtggttaaggcgatggactagaaatccattggggt
+ctccccgcgcaggttcgaatcctgccgactacgcca
+> RS9991  UGA HUMAN              CY ANI (Cytoplasmic) 
+gtagtcgtggccgagtggttaaggcgatggacttgaaatccattggggtc
+tccccgcgcaggttcgaatcctgccgactacgcca
+> RT1140  AGU MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gctgactnagctcagttggtagagcaattgactagtaatcaataggtcga
+aggttcaaatcctttagtcagcacca
+> RT1141  UGU MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+gctgactnagctcagcaggcagagcaactgacttgtaatcagtaggtcgt
+aggttcgattcctatagtcagcacca
+> RT1180  UGU MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+gctgacttagctcagcaggcagagcaactgacttgtaatcagtaggtcgt
+aggttcgattcctatagtcagcacca
+> RT1540  5GU BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+gccggtgtagctcaattggtagagcaactgacttgtaatcagtaggttgg
+gggttcaagtcctcttgccggcacca
+> RT1660  GGU E.COLI             EUBACT (Eubacteria) 
+gctgatatagctcagttggtagagcgcacccttggtaagggtgaggtcgg
+cagttcgaatctgcctatcagcacca
+> RT1661  GGU E.COLI             EUBACT (Eubacteria) 
+gctgatatggctcagttggtagagcgcacccttggtaagggtgaggtccc
+agttcgactctgggtatcagcacca
+> RT6280  IGU SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcttctatggccaagttggtaaggcgccacactagtaatgtggagatcat
+cggttcaaatccgattggaagcacca
+> RT6281  IGU SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gcttctatggccaagttggtaaggcgccacactagtaatgtggagatcgt
+cggttcaaatccgactggaagcacca
+> RT9280  IGU BOVINE LIVER       CY ANI (Cytoplasmic) 
+ggccctgtggctagctggtcaaagcgcctgtctagtaaacaggagatcct
+gggttcgaatcccagcggggcctcca
+> RV1140  UAC MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggagtgttagctcagctgggagagctcctgccttacaagcaggcggtcat
+aggttcaagtcctatacactccacca
+> RV1180  UAC MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+ggagtgtnagctcagctgggagagctcctgccttacaagcaggcggtcat
+aggttcaagtcctatacactccacca
+> RV1460  GAC BACILLUS STEARO.   EUBACT (Eubacteria) 
+gattccgtagctcagctgggagagcgccaccttgacagggtggaggtcgc
+tggttcgagcccagtcggaatcacca
+> RV1540  5AC BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggaggattagctcagctgggagagcatctgccttacaagcagagggtcgg
+cggttcgagcccgtcatcctccacca
+> RV1660  GAC E.COLI             EUBACT (Eubacteria) 
+gcgtccgtagctcagttggttagagcaccaccttgacatggtgggggtcg
+gtggttcgagtccactcggacgcacca
+> RV1661  GAC E.COLI             EUBACT (Eubacteria) 
+gcgttcatagctcagttggttagagcaccaccttgacatggtgggggtcg
+ttggttcgagtccaattgaacgcacca
+> RV1662  VAC E.COLI             EUBACT (Eubacteria) 
+gggtgattagctcagctgggagagcacctcccttacaaggagggggtcgg
+cggttcgatcccgtcatcacccacca
+> RV6280  IAC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggtttcgtggtctagtcggttatggcatctgcttaacacgcagaacgtcc
+ccagttcgatcctgggcgaaatcacca
+> RV6281  CAC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gttccaatagtgtagcggctatcacgttgccttcacacggcaaaggtccc
+gagttcgatcctcggttggaacacca
+> RV6282  &AC SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ggtccaatggtccagtggttcaagacgtcgcctttacacggcgaagatcc
+cgagttcgaacctcggttggatcacca
+> RV6360  IAC TORULOPSIS UTILIS  CY SIN (Cytoplasmic) 
+ggtttcgtggtctagttggtcatggcatctgcttaacacgcagaacgtcc
+ccagttcgatcctgggcgaaatcacca
+> RV6940  IAC LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+ggtttcgtggtgtagtggttatcacgtcagtctaacacactgaaggtctc
+cggttcgagtccgggcgaagccacca
+> RV7740  IAC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gtttccgtggtgtagcggttatcacatctgcctaacacgcagaaggcccc
+cggttcgatcccgggcggaaacacca
+> RV7741  CAC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+gtttccgtagtgtagcggttatcacgtgtgcttcacacgcacaaggtccc
+cggttcgaacccgggcgggaacacca
+> RV7742  NAC DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+ggttccatagtgtagcggtnatcacgtctgcttnacacgcagaaggtctc
+cggttcgatcccggatggaaccacca
+> RV8100  IAC MOUSE MYELOMA      CY ANI (Cytoplasmic) 
+gtttccgtagtgtagtggttatcacgttcgcctaacacgcgaaaggtccc
+cggttcgaaaccgggcggaaacacca
+> RV9160  IAC RAT ASCIT. HEPATOM CY ANI (Cytoplasmic) 
+agtttccgtagtgtagtggttatcacgttcgcctaacacgcgaaaggtcc
+ccggttcgaaaccgggcggaaacacca
+> RV9161  .AC RAT LIVER          CY ANI (Cytoplasmic) 
+gtttccgtagtgtagtggttatcacgttcgcctnacacgcgaaaggtccc
+cggttcgaaaccgggcggaaacacca
+> RV9220  IAC RABBIT LIVER       CY ANI (Cytoplasmic) 
+gtttccgtagtgtagtggttatcacgttcgcctaacacgcgaaaggtccc
+cggttcgaaaccgggcggaaacacca
+> RV9990  .AC HUMAN PLACENTA     CY ANI (Cytoplasmic) 
+gtttccgtagtgtagtggttatcacgttcgcctnacacgcgaaaggtccc
+cggttcgaaaccgggcggaaacacca
+> RW1140  BCA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+aggagagtagttcaatggtagaacgtcggtctccaaaaccgagcgttgag
+ggttcgattcctttctctcctgcca
+> RW1141  )CA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+aggggcatagttcagtaggtagaacatcggtcttcaaaaccgagtgtcac
+gagttcgagtcttgttgcccctgcca
+> RW1250  NCA SPIROPLASMA CITRI  EUBACT (Eubacteria) 
+aggggtatagttcaatcggtagaacaccggactncaaatccgggtgttgt
+gggttcaagtcctgctacccctgcca
+> RW1251  CCA SPIROPLASMA CITRI  EUBACT (Eubacteria) 
+aggggtgtagtttaatggtagaacagcggtctccaacaccgtacgttgtg
+ggttcaagtcctgtcacccctgcca
+> RW1540  CCA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+aggggcatagtttaacggtagaacagaggtctccaaaacctccggtgtgg
+gttcgattcctactgcccctgcca
+> RW1660  CCA E.COLI             EUBACT (Eubacteria) 
+aggggcgtagttcaattggtagagcaccggtctccaaaaccgggtgttgg
+gagttcgagtctctccgcccctgcca
+> RW6280  BCA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+gaagcggtggctcaatggtagagctttcgactccaaatcgaagggttgca
+ggttcaattcctgtccgtttcacca
+> RW6820  BCA WHEAT GERM         CY PLA (Cytoplasmic) 
+gganccgtggcgcaattggtagcgcgtctgactccagatcagaaggttgc
+gtgttcgattcacgtcgggtccacca
+> RW7070  BCA NICOTIANATABACUM   CY PLA (Cytoplasmic) 
+ggatccgtggcgcaatggtagcgcgtctgactccagatcagaaggtngcg
+tgttcgattcacgtcgggttcacca
+> RW8040  BCA CHICKEN            CY ANI (Cytoplasmic) 
+gacctcgtggcgcaacggtagcgcgtctgactccagatcagaaggctgcg
+tgttcgaatcacgtcggggtcacca
+> RW9280  BCA BOVINE LIVER       CY ANI (Cytoplasmic) 
+gacctcgtggcgcaatggtagcgcgtctgactccagatcagaaggttgcg
+tgttcgaatcacgtcggggtcacca
+> RX1140  CAU MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+cgcggggtagagcagttggtagctcgccgggctcataacccggaggtcgc
+aggttcgagtcctgcccccgcaacca
+> RX1180  CAU MYCOPLASMA MYCOID. EUBACT (Eubacteria) 
+cgcggggtagagcagttggtagctcgccgggctcataacccggaggccgc
+aggttcgagtcctgcccccgcaacca
+> RX1300  CAU STREPTOMYCES GRIS. EUBACT (Eubacteria) 
+cgcggggtggagcagctcggtagctcgctgggctcataacccagaggtcg
+caggttcaaatcctgtccccgctacca
+> RX1420  CAU MYCOBAC. SMEG.     EUBACT (Eubacteria) 
+cgcggggtggagcagctcggtagctcgctgggctcataacccagaggtcg
+caggttcgaatcctgtccccgctacca
+> RX1540  CAU BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+cgcggggtggagcagttcggtagctcgtcgggctcataacccgaaggtcg
+caggttcaaatcctgcccccgcaacca
+> RX1580  CAU THERMUS THERMOPHI. EUBACT (Eubacteria) 
+cgcggggtggagcagcctggtagctcgtcgggctcataacccgaaggtcg
+ccggttcaaatccggcccccgcaacca
+> RX1581  CAU THERMUS THERMOPHI. EUBACT (Eubacteria) 
+cgcggggtggagcagcctggtagctcgtcgggctcataacccgaaggtcg
+cgggttcaaatcccgcccccgcaacca
+> RX1660  CAU E.COLI             EUBACT (Eubacteria) 
+cgcggggtggagcagcctggtagctcgtcgggctcataacccgaagatcg
+tcggttcaaatccggcccccgcaacca
+> RX1661  CAU E.COLI             EUBACT (Eubacteria) 
+cgcggggtggagcagcctggtagctcgtcgggctcataacccgaaggtcg
+tcggttcaaatccggcccccgcaacca
+> RX2100  CAU ANACYSTIS NIDULANS EUBACT (Eubacteria) 
+cgcggggtagagcagcctggtagctcgtcgggctcataacccgaaggtca
+gaggttcaaatcctctccccgccacca
+> RX6080  CAU TETRAHYMENA THERM. CY SIN (Cytoplasmic) 
+agcagggtggcgaaatggaatcgcgttgggctcataactcaaaagtcaga
+ggatcgaaacctctctctgctacca
+> RX6120  CAU SCENEDESMUS OBLIQ. CY SIN (Cytoplasmic) 
+agctgagtggcgcagtggaagcgtgatgggctcataacccataggtcaca
+ggatcgaaacctgtctcagctacca
+> RX6200  CAU NEUROSPORA CRASSA  CY SIN (Cytoplasmic) 
+agctgcatggcgcagcggaagcgcgcngggctcataacccggaggtcact
+cgatcgaaacgagttgcagctacca
+> RX6280  CAU SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+agcgccgtggcgcagtggaagcgcgcagggctcataaccctgatgtcctc
+ggatcgaaaccgagcggcgctacca
+> RX6320  CAU SCHIZOSACCHA. POM. CY SIN (Cytoplasmic) 
+tgcgcggtaggagagtggaactccgacgggctcataacccgtaggtccca
+ggatcgaaacctggccgcgcaacca
+> RX6360  CAU TORULOPSIS UTILIS  CY SIN (Cytoplasmic) 
+agcgtcttggcgcagtggaagcgcgcagggctcataaccctgatgtccct
+ggatcgaaaccaggagacgctacca
+> RX6820  CAU WHEAT GERM         CY PLA (Cytoplasmic) 
+atcagagtggcgcagcggaagcgtggtgggcccataacccacaggtccca
+ggatcgaaacctggctctgatacca
+> RX6940  CAU LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+atcagagtggcgcagcggaagcgcggtgggcccataacccacaggtccca
+ggatcgaaacctngctctgatacca
+> RX6980  CAU PHASEOLUS VULGARIS CY PLA (Cytoplasmic) 
+atcagagtggcgcagcggaagcgtggtgggcccataacccacaggtccca
+ggatcgaaacctggctctgatacca
+> RX7620  CAU ASTERINA AMURENSIS CY ANI (Cytoplasmic) 
+agcagagtggcgcagtggaagcgtgctgggcccataacccagaggtccga
+ggatcgaaacctcgctctgctacca
+> RX7740  CAU DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+agcagagtggcgcagtggaagcgtgctgggcccataacccagaggtccga
+ggatcgaaaccttgctctgctacca
+> RX7860  CAU EUPHAUSIA SPERBA   CY ANI (Cytoplasmic) 
+agcagagtggcgcagtggaagcgtgctgggcccataacccagaggtcggt
+agatcgaaactactctctgctacca
+> RX7920  CAU XENOPUS LAEVIS     CY ANI (Cytoplasmic) 
+agcagagtggcgcagcggaagcgtgctgggcccataacccagaggtcgat
+ggatcgaaaccatcctctgctacca
+> RX7980  CAU SALMON LIVER       CY ANI (Cytoplasmic) 
+agcagagtggcgcagcggaagcgtgctgggcccataacccagaggtcgat
+ggatcgaaaccatcctctgctacca
+> RX8100  CAU MOUSE MYELOMA      CY ANI (Cytoplasmic) 
+agcagagtggcgcagcggaagcgtgctgggcccataacccagaggtcgat
+ggatcgaaaccatcctctgctacca
+> RX9160  CAU RABBIT LIVER       CY ANI (Cytoplasmic) 
+agcagagtggcgcagcggaagcgtgctgggcccataacccagaggtcgat
+ggatcgaaaccatcctctgctacca
+> RX9460  CAU SHEEP MAMMARY GLAN CY ANI (Cytoplasmic) 
+agcagagtggcgcagcggaagcgtgctgggcccataacccagaggtcgat
+ggatcgaaaccatcctctgctacca
+> RX9990  CAU HUMAN PLACENTA     CY ANI (Cytoplasmic) 
+agcagagtggcgcagcggaagcgtgctgggcccataacccagaggtcgat
+ggatcgaaaccatcctctgctacca
+> RY1140  GUA MYCOPLASMA CAPRIC. EUBACT (Eubacteria) 
+ggaggggtagcgaagtggctaaacgcgggtggctgtaacccacttcctta
+cggttcgggggttcgaatccctccccctccacca
+> RY1460  QUA BACILLUS STEARO.   EUBACT (Eubacteria) 
+ggaggggtagcgaagtggctaaacgcggcggactgtaaatccgctccctt
+tgggttcggcggttcgaatccgtccccctccacca
+> RY1540  QUA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggaggggtagcgaagtggctaaacgcggcggactgtaaatccgctccctc
+agggttcggcagttcgaatctgcccccctccacca
+> RY1541  QUA BACILLUS SUBTILIS  EUBACT (Eubacteria) 
+ggaggggtagcgaagtggctaaacgcggcggactgtaaatccgctccctc
+agggttcggcagttcgaatctgcccccctccacca
+> RY1660  QUA E.COLI             EUBACT (Eubacteria) 
+ggtggggttcccgagcggccaaagggagcagactgtaaatctgccgtcat
+cgacttcgaaggttcgaatccttcccccaccacca
+> RY1661  QUA E.COLI             EUBACT (Eubacteria) 
+ggtggggttcccgagcggccaaagggagcagactgtaaatctgccgtcac
+agacttcgaaggttcgaatccttcccccaccacca
+> RY6120  GPA SCENEDESMUS OBLIQ. CY SIN (Cytoplasmic) 
+ccccttgtagctcagttggcagagcgggagactgtagatctctaggncac
+tggttcgaatccggtcgaggggacca
+> RY6280  GPA SACCHAROMYCES CER. CY SIN (Cytoplasmic) 
+ctctcggtagccaagttggtttaaggcgcaagactgtaaatcttgagatc
+gggcgttcgactcgcccccgggagacca
+> RY6320  GPA SCHIZOSACCHA. POM. CY SIN (Cytoplasmic) 
+ctcctgatggtgtagttggttatcacacccggctgtaaaccggttggtcg
+ctagttcgattctggctcaggagacca
+> RY6360  GPA TORULOPSIS UTILIS  CY SIN (Cytoplasmic) 
+ctctcggtggccaagttggtttaaggcgtcagactgtaaatctgaacatc
+gggcgttcgaatcgcccccgagagacca
+> RY6820  QPA WHEAT GERM         CY PLA (Cytoplasmic) 
+ccgaccttagctcagttggtagagcggaggactgtagatccttaggtcac
+tggttcgaatccggtaggtcggacca
+> RY6821  GPA WHEAT LEAVES       CY PLA (Cytoplasmic) 
+ccgaccttagctcagttggtagagcggaggactgtagatccttaggtcac
+tggttcgaatccggtaggtcggacca
+> RY6940  GPA LUPINUS LUTEUS     CY PLA (Cytoplasmic) 
+ccgaccttagctcagttggtagagcggaggactgtagatccttaggtcac
+tggttcgaatccggtaggtcggacca
+> RY7060  GPA NICOTIANA RUSTICA  CY PLA (Cytoplasmic) 
+ccgaccttagctcagttggtagagcggaggactgtagatccttaggtcac
+tggttcgaatccggtaggtcggacca
+> RY7061  GPA NICOTIANA RUSTICA  CY PLA (Cytoplasmic) 
+ccgaccttagctcagttggtagagcggaggactgtagatccttaggtcgc
+tggttcgaatccggcaggtcggacca
+> RY7740  QPA DROSOPHILA MELANO. CY ANI (Cytoplasmic) 
+ccttcgatagctcagttggtagagcggtggactgtagatccataggtcgc
+tggttcaaatccggctcgaaggacca
+> RY9280  9PA BOVINE LIVER       CY ANI (Cytoplasmic) 
+ccttcgatagctcagttggttagagcggaggactgtagatccttaggtcg
+ctggttcgattccggctcgaaggacca
+> RY9990  9PA HUMAN PLACENTA     CY ANI (Cytoplasmic) 
+ccttcgatagctcagctggtagagcggaggactgtagatccttaggtcgc
+tggttcgattccggctcgaaggacca
+> RY9991  9PA HUMAN PLACENTA     CY ANI (Cytoplasmic) 
+ccttcgatagctcagttggtagagcggaggactgtagatccttaggtcgc
+tggttcgattccggctcgaaggacca
+> RZ1665  UCA E.COLI 	      EUBACT	-_AA (Eubacteria) 
+taagatcgtcgtctccggtgaggcggctggacttcaaatccagttggggc
+cgctgcggtcccgggcaggttcgactcctgtgatctttgcca
+> RZ8100  NCA MOUSE LIVER 	      CY ANI (Cytoplasmic) 
+gcccggattcctcagtggtctggggtgcaggctncaaacctgtagctgtt
+tagcgacagagtggttcaattccattttcgggcgcca
+> RZ9280  1CA BOVINE LIVER       CY ANI (Cytoplasmic) 
+gcccggattcctcagtggtctggggtgcaggcttcaaacctgtagctgtc
+tagcgacagagtggttcaattccattttcgggcgcca
+> RZ9990  NCA HUMAN HELA CELLS   CY ANI (Cytoplasmic) 
+gcccggattcctcagtggtctggggtgcaggctncaaacctgtagctgtc
+tagcgacagagtggttcaattccattttcgggcgcca
diff --git a/Dsignal b/Dsignal
new file mode 100644
index 0000000..c7ea146
--- /dev/null
+++ b/Dsignal
@@ -0,0 +1,8 @@
+0.0000 0.0000 0.0000 1.0000
+0.5100 0.0400 0.4200 0.0200
+0.0000 0.0000 1.0000 0.0000
+0.0400 0.6400 0.0500 0.2800
+0.0500 0.2500 0.3000 0.4000
+0.0900 0.4900 0.1300 0.2900
+1.0000 0.0000 0.0000 0.0000
+0.1800 0.0100 0.7500 0.0600
diff --git a/ESELC.cm b/ESELC.cm
new file mode 100644
index 0000000..9267b7d
--- /dev/null
+++ b/ESELC.cm
@@ -0,0 +1,1042 @@
+### cove V2
+65 	nodes
+### node 0 type 6
+1  -1
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 1
+2  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.26087 0.08696 0.08696 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 2 type 1
+3  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.08696 0.30435 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 3 type 1
+4  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.34783 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 4 type 1
+5  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.34783 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 5 type 1
+6  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.08696 0.04348 # MATP
+0.04348 0.30435 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 6 type 1
+7  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.08696 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.30435 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 7 type 1
+8  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.30435 # MATP
+0.04348 0.04348 0.08696 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 8 type 1
+9  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.08696 0.30435 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 9 type 1
+10  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.09091 0.00000 0.72727 0.00000 0.09091 0.09091 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.30435 0.04348 0.08696 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 10 type 2
+11  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.72727 0.09091 0.09091 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 11 type 2
+12  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.27273 0.27273 0.09091 0.36364 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 12 type 0
+13  24
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 13 type 4
+14  -1
+0.09091 0.72727 0.09091 0.09091 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 14 type 1
+15  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.34783 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 15 type 1
+16  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.30435 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.08696 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 16 type 1
+17  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.08696 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.30435 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 17 type 1
+18  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.30435 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.08696 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 18 type 1
+19  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.26087 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.08696 0.04348 0.08696 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 19 type 1
+20  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.09091 0.00000 0.72727 0.00000 0.09091 0.09091 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.34783 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 20 type 2
+21  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.18182 0.09091 0.63636 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.09091 0.72727 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+23  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.09091 0.72727 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.09091 0.09091 0.72727 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 5
+25  -1
+0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 0
+26  40
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 4
+27  -1
+0.09091 0.72727 0.09091 0.09091 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 1
+28  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.34783 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 28 type 1
+29  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.34783 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 29 type 1
+30  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.34783 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 30 type 1
+31  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.30435 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.08696 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 31 type 1
+32  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.34783 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 32 type 1
+33  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.09091 0.00000 0.72727 0.00000 0.09091 0.09091 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.13043 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.26087 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 33 type 2
+34  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.72727 0.09091 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 34 type 2
+35  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.09091 0.09091 0.72727 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 35 type 2
+36  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.09091 0.09091 0.72727 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 36 type 2
+37  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.72727 0.09091 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 37 type 2
+38  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.72727 0.09091 0.09091 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.72727 0.09091 0.09091 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.72727 0.09091 0.09091 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 5
+41  -1
+0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 0
+42  53
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 42 type 4
+43  -1
+0.09091 0.72727 0.09091 0.09091 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 43 type 1
+44  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.34783 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 44 type 1
+45  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.26087 0.04348 # MATP
+0.04348 0.08696 0.04348 0.04348 # MATP
+0.08696 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 45 type 1
+46  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.13043 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.26087 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 46 type 1
+47  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.34783 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 47 type 1
+48  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.08696 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.08696 0.04348 0.04348 # MATP
+0.26087 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 48 type 1
+49  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.09091 0.00000 0.72727 0.00000 0.09091 0.09091 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.21739 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.17391 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 49 type 2
+50  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.09091 0.09091 0.72727 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 50 type 2
+51  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.63636 0.09091 0.09091 0.18182 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 51 type 2
+52  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.09091 0.72727 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 52 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.72727 0.09091 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 53 type 5
+54  -1
+0.08333 0.66667 0.08333 0.08333 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 54 type 1
+55  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.30435 0.04348 0.08696 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 55 type 1
+56  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.34783 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 56 type 1
+57  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07692 0.61538 0.07692 0.07692 0.07692 0.07692 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.34783 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 57 type 1
+58  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.09091 0.00000 0.72727 0.00000 0.09091 0.09091 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.04348 0.34783 0.04348 0.04348 # MATP
+0.04348 0.04348 0.04348 0.04348 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 58 type 2
+59  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.09091 0.09091 0.72727 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 59 type 2
+60  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.09091 0.09091 0.72727 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 60 type 2
+61  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.72727 0.09091 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 61 type 2
+62  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.54545 0.09091 0.27273 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 62 type 2
+63  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.72727 0.09091 0.09091 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 63 type 2
+64  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.18182 0.09091 0.63636 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 64 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.88889 0.00000 0.00000 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.09091 0.09091 0.72727 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/ESELCinf-c.cm b/ESELCinf-c.cm
new file mode 100644
index 0000000..b2e5086
--- /dev/null
+++ b/ESELCinf-c.cm
@@ -0,0 +1,384 @@
+INFERNAL-1 [1.0]
+NAME     euk-selcysteine
+STATES   277
+NODES    69
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     7
+EFFNSEQ  7.000
+CLEN     86
+BCOM     cmbuild --rf --enone ESELCinf-nc.cm euk-selc.sto
+BDATE    Sun Feb  8 16:47:27 2009
+CCOM     cmcalibrate --exp-hfile cmcalibrate_files/ESELCinf.hfile --exp-sfile cmcalibrate_files/ESELCinf.sfile --exp-qqfile cmcalibrate_files/ESELCinf.qqfile --exp-ffile cmcalibrate_files/ESELCinf.ffile --fil-dfile cmcalibrate_files/ESELCinf.dfile -s 208 ESELCinf-c.cm
+CDATE    Sun Feb  8 20:21:57 2009
+NULL     0.000  0.000  0.000  0.000 
+PART     1        0    100  
+E-LC     0      0.71367    -6.74489     2.01784     1500000      584916  0.001923
+E-GC     0      0.37359   -37.84370   -24.88577     1500000       47469  0.007900
+E-LI     0      0.73707    -5.86976     2.52683     1500000      548234  0.002052
+E-GI     0      0.42267   -31.24140   -19.96573     1500000       44037  0.008516
+E-LV     0      0.75319    -1.04434     5.07459    15000000      112901  0.009964
+E-GV     0      0.37368   -35.20156   -19.92893    15000000      112864  0.003323
+E-LF     0      0.80509     0.38582     6.11048    15000000      112915  0.009963
+E-GF     0      0.40055   -30.04964   -15.80224    15000000      112840  0.003323
+FT-LC    13  0.99500  10000  1500000  0
+            69.2835    69.2835    65.7954    61.4476     58.751     51.924     50.639    43.6522    22.8838    19.0426    15.6441 0.000114893 4.18549e-06 
+            4903.14    4331.41    2637.84    1923.92    1664.37    1439.84     784.03    308.138    251.961    178.807     119.93    12.6591     11.993 
+FT-LI    13  0.99500  10000  1500000  0
+            96.4545    91.9657    87.1926     81.244    75.5557    67.9886    66.5345     41.174    29.2931    23.6721    19.7349 9.85649e-05 4.9628e-07 
+            4903.14    4331.41    2637.84    1923.92    1664.37    1439.84     784.03    308.138    251.961    178.807     119.93    12.6591     11.993 
+FT-GC    1  0.99500  10000  1500000  1
+          3.998e-05 
+            9.49083 
+FT-GI    1  0.99500  10000  1500000  1
+         7.12336e-06 
+            9.49083 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 
+    IL     1     1 2     1     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    1 ]
+    MP     3     2 3     7     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -3.964 -3.342 -4.390  0.436 -4.366 -4.513 -0.766 -4.090 -4.037  2.505  1.845  1.729 -0.634 -3.872 -1.997 -3.451 
+    ML     4     2 3     7     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR     5     2 3     7     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D     6     2 3     7     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL     7     7 5     7     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR     8     8 6     8     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    2 ]
+    MP     9     8 6    13     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -4.576 -5.296 -3.942 -1.631 -3.388  0.854  3.535 -4.540 -5.393 -1.655 -4.107 -3.302 -0.001 -5.112 -1.243 -4.160 
+    ML    10     8 6    13     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    11     8 6    13     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    12     8 6    13     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    13    13 5    13     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    14    14 6    14     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    3 ]
+    MP    15    14 6    19     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -6.359 -6.300 -4.476 -1.813 -4.184 -5.102  3.802 -5.124 -7.841 -1.775 -4.475 -3.436 -0.380 -6.994 -1.520 -5.197 
+    ML    16    14 6    19     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    17    14 6    19     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    18    14 6    19     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    19    19 5    19     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    20    20 6    20     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    4 ]
+    MP    21    20 6    25     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -6.359 -6.300 -4.476 -1.813 -4.184 -5.102  3.802 -5.124 -7.841 -1.775 -4.475 -3.436 -0.380 -6.994 -1.520 -5.197 
+    ML    22    20 6    25     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    23    20 6    25     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    24    20 6    25     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    25    25 5    25     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    26    26 6    26     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    5 ]
+    MP    27    26 6    31     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -5.758 -4.546 -6.306  0.054 -5.517 -6.066  2.223 -5.652 -5.663  3.087 -5.353 -1.610 -0.123 -5.565 -1.673 -4.538 
+    ML    28    26 6    31     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    29    26 6    31     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    30    26 6    31     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    31    31 5    31     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    32    32 6    32     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    6 ]
+    MP    33    32 6    37     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -4.701 -4.843  2.369 -1.751 -4.353 -6.119 -1.897 -5.067 -4.904 -2.007 -5.328  3.185 -1.178 -4.939 -2.531 -4.264 
+    ML    34    32 6    37     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    35    32 6    37     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    36    32 6    37     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    37    37 5    37     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    38    38 6    38     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    7 ]
+    MP    39    38 6    43     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -5.765 -4.918 -6.153  3.059 -5.184 -6.735  2.362 -5.431 -5.960 -0.242 -6.054 -1.953 -0.156 -6.034 -1.711 -4.542 
+    ML    40    38 6    43     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    41    38 6    43     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    42    38 6    43     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    43    43 5    43     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    44    44 6    44     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    8 ]
+    MP    45    44 6    49     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -4.061 -4.669 -4.748 -1.643 -3.666 -5.764 -1.435 -4.833 -4.446 -1.988 -5.101 -2.521 -0.653 -4.506  2.375  3.117 
+    ML    46    44 6    49     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    47    44 6    49     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    48    44 6    49     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    49    49 5    49     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    50    50 6    50     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    9 ]
+    MP    51    50 6    55     4  -8.235  -8.442  -0.022  -6.856                 -5.905 -4.204 -6.594 -0.215 -6.822 -5.367 -1.313 -5.820 -5.297  3.357 -4.936  1.879 -1.271 -5.043 -2.815 -4.842 
+    ML    52    50 6    55     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    53    50 6    55     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    54    50 6    55     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    55    55 5    55     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    56    56 6    56     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   10 ]
+    ML    57    56 6    59     3  -9.189  -0.009  -7.843                          1.922 -4.110 -3.877 -3.575 
+     D    58    56 6    59     3  -6.174  -1.687  -0.566                         
+    IL    59    59 3    59     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   11 ]
+    ML    60    59 3    62     2  -9.738  -0.002                                  1.268 -0.962 -1.952 -0.287 
+     D    61    59 3    62     2  -8.445  -0.004                                 
+    IL    62    62 3    62     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ BIF    12 ]
+     B    63    62 3    64   176                                                 
+				[ BEGL   13 ]
+     S    64    63 1    65     1   0.000                                         
+				[ BIF    14 ]
+     B    65    64 1    66   116                                                 
+				[ BEGL   15 ]
+     S    66    65 1    67     4  -0.026  -7.622  -7.029  -7.669                 
+				[ MATP   16 ]
+    MP    67    66 1    71     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -6.359 -6.300 -4.476 -1.813 -4.184 -5.102  3.802 -5.124 -7.841 -1.775 -4.475 -3.436 -0.380 -6.994 -1.520 -5.197 
+    ML    68    66 1    71     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    69    66 1    71     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    70    66 1    71     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    71    71 5    71     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    72    72 6    72     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   17 ]
+    MP    73    72 6    77     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -5.851 -5.914 -4.906 -1.026 -4.240 -5.606  3.365 -5.301 -6.660 -0.966 -4.994 -2.631 -0.006 -6.380  1.715 -4.783 
+    ML    74    72 6    77     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    75    72 6    77     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    76    72 6    77     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    77    77 5    77     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    78    78 6    78     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   18 ]
+    MP    79    78 6    83     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -6.055 -5.502 -6.444  2.167 -5.462 -7.736 -1.154 -5.867 -5.973 -1.536 -6.164 -2.488 -1.097 -6.190  3.308 -5.006 
+    ML    80    78 6    83     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    81    78 6    83     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    82    78 6    83     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    83    83 5    83     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    84    84 6    84     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   19 ]
+    MP    85    84 6    89     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -5.956 -6.069 -4.637 -1.230 -4.126 -5.292  3.511 -5.174 -7.043 -1.165 -4.699 -2.899 -0.053 -6.549  1.236 -4.880 
+    ML    86    84 6    89     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    87    84 6    89     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    88    84 6    89     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    89    89 5    89     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    90    90 6    90     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   20 ]
+    MP    91    90 6    95     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -4.102 -3.101 -4.998  2.220 -5.631 -4.855 -0.158 -4.487 -4.209  2.622 -3.926  1.338 -0.167 -4.232 -1.747 -3.426 
+    ML    92    90 6    95     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    93    90 6    95     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    94    90 6    95     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    95    95 5    95     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    96    96 6    96     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   21 ]
+    MP    97    96 6   101     4  -8.235  -8.442  -0.022  -6.856                 -8.083 -4.214 -8.636 -0.936 -8.152 -4.542 -2.226 -7.336 -5.359  3.856 -4.855 -1.889 -2.148 -4.604 -4.047 -6.190 
+    ML    98    96 6   101     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    99    96 6   101     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   100    96 6   101     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   101   101 5   101     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   102   102 6   102     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   22 ]
+    ML   103   102 6   105     3  -9.189  -0.009  -7.843                         -1.578 -0.286 -2.393  1.408 
+     D   104   102 6   105     3  -6.174  -1.687  -0.566                         
+    IL   105   105 3   105     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   23 ]
+    ML   106   105 3   108     3  -9.189  -0.009  -7.843                         -2.459 -3.879  1.863 -3.162 
+     D   107   105 3   108     3  -6.174  -1.687  -0.566                         
+    IL   108   108 3   108     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   24 ]
+    ML   109   108 3   111     3  -9.189  -0.009  -7.843                         -2.459 -3.879  1.863 -3.162 
+     D   110   108 3   111     3  -6.174  -1.687  -0.566                         
+    IL   111   111 3   111     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   25 ]
+    ML   112   111 3   114     2       *   0.000                                 -3.045 -2.938 -3.786  1.878 
+     D   113   111 3   114     2       *   0.000                                 
+    IL   114   114 3   114     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    26 ]
+     E   115   114 3    -1     0                                                 
+				[ BEGR   27 ]
+     S   116    65 1   117     5  -8.209  -0.018  -8.024  -8.237  -9.128         
+    IL   117   117 2   117     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   28 ]
+    MP   118   117 2   122     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -5.595 -5.397 -6.100 -1.673 -5.082 -7.387 -1.510 -5.714 -5.651 -1.884 -5.981 -2.570  3.861 -5.838 -2.612 -4.809 
+    ML   119   117 2   122     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   120   117 2   122     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   121   117 2   122     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   122   122 5   122     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   123   123 6   123     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   29 ]
+    MP   124   123 6   128     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -8.417 -5.833 -7.841 -2.015 -7.814 -11.206 -2.586 -6.365 -6.803 -2.265 -6.564  3.904 -2.163 -7.369 -3.383 -5.787 
+    ML   125   123 6   128     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   126   123 6   128     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   127   123 6   128     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   128   128 5   128     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   129   129 6   129     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   30 ]
+    MP   130   129 6   134     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -6.359 -6.300 -4.476 -1.813 -4.184 -5.102  3.802 -5.124 -7.841 -1.775 -4.475 -3.436 -0.380 -6.994 -1.520 -5.197 
+    ML   131   129 6   134     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   132   129 6   134     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   133   129 6   134     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   134   134 5   134     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   135   135 6   135     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   31 ]
+    MP   136   135 6   140     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -4.273 -3.291 -5.077  3.034 -5.553 -5.046 -0.507 -4.358 -4.477  2.374 -4.439 -1.059 -0.512 -4.539 -2.068 -3.573 
+    ML   137   135 6   140     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   138   135 6   140     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   139   135 6   140     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   140   140 5   140     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   141   141 6   141     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   32 ]
+    MP   142   141 6   146     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -8.083 -4.214 -8.636 -0.936 -8.152 -4.542 -2.226 -7.336 -5.359  3.856 -4.855 -1.889 -2.148 -4.604 -4.047 -6.190 
+    ML   143   141 6   146     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   144   141 6   146     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   145   141 6   146     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   146   146 5   146     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   147   147 6   147     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   33 ]
+    MP   148   147 6   152     4  -8.235  -8.442  -0.022  -6.856                 -4.246 -3.278 -5.029  3.122 -5.478 -5.017 -0.567 -4.276 -4.482  2.246 -4.521 -1.112 -0.568 -4.549 -2.122 -3.553 
+    ML   149   147 6   152     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   150   147 6   152     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   151   147 6   152     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   152   152 5   152     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   153   153 6   153     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   34 ]
+    ML   154   153 6   156     3  -9.189  -0.009  -7.843                         -3.271  1.892 -4.181 -2.934 
+     D   155   153 6   156     3  -6.174  -1.687  -0.566                         
+    IL   156   156 3   156     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   35 ]
+    ML   157   156 3   159     3  -9.189  -0.009  -7.843                         -3.045 -2.938 -3.786  1.878 
+     D   158   156 3   159     3  -6.174  -1.687  -0.566                         
+    IL   159   159 3   159     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   36 ]
+    ML   160   159 3   162     3  -9.189  -0.009  -7.843                         -3.045 -2.938 -3.786  1.878 
+     D   161   159 3   162     3  -6.174  -1.687  -0.566                         
+    IL   162   162 3   162     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   37 ]
+    ML   163   162 3   165     3  -9.189  -0.009  -7.843                         -3.271  1.892 -4.181 -2.934 
+     D   164   162 3   165     3  -6.174  -1.687  -0.566                         
+    IL   165   165 3   165     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   38 ]
+    ML   166   165 3   168     3  -9.189  -0.009  -7.843                          1.922 -4.110 -3.877 -3.575 
+     D   167   165 3   168     3  -6.174  -1.687  -0.566                         
+    IL   168   168 3   168     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   39 ]
+    ML   169   168 3   171     3  -9.189  -0.009  -7.843                          1.922 -4.110 -3.877 -3.575 
+     D   170   168 3   171     3  -6.174  -1.687  -0.566                         
+    IL   171   171 3   171     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   40 ]
+    ML   172   171 3   174     2       *   0.000                                  1.922 -4.110 -3.877 -3.575 
+     D   173   171 3   174     2       *   0.000                                 
+    IL   174   174 3   174     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    41 ]
+     E   175   174 3    -1     0                                                 
+				[ BEGR   42 ]
+     S   176    63 1   177     2  -9.738  -0.002                                 
+    IL   177   177 2   177     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ BIF    43 ]
+     B   178   177 2   179   229                                                 
+				[ BEGL   44 ]
+     S   179   178 1   180     4  -0.026  -7.622  -7.029  -7.669                 
+				[ MATP   45 ]
+    MP   180   179 1   184     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -6.266 -5.556 -6.636 -1.981 -5.840 -8.185 -2.431 -5.964  3.874 -2.273 -6.181 -2.675 -1.805 -6.305 -3.104 -5.196 
+    ML   181   179 1   184     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   182   179 1   184     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   183   179 1   184     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   184   184 5   184     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   185   185 6   185     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   46 ]
+    MP   186   185 6   190     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -4.919 -4.800 -5.099  0.220 -3.685 -5.702  2.335 -4.946 -5.364  1.832 -5.282 -1.557  2.314 -4.999 -0.912 -3.637 
+    ML   187   185 6   190     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   188   185 6   190     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   189   185 6   190     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   190   190 5   190     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   191   191 6   191     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   47 ]
+    MP   192   191 6   196     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -5.429 -5.615 -4.690 -0.721 -3.888 -5.359  3.350 -5.066 -6.204 -0.701 -4.824 -2.432  1.865 -5.809 -1.194 -4.348 
+    ML   193   191 6   196     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   194   191 6   196     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   195   191 6   196     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   196   196 5   196     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   197   197 6   197     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   48 ]
+    MP   198   197 6   202     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -8.083 -4.214 -8.636 -0.936 -8.152 -4.542 -2.226 -7.336 -5.359  3.856 -4.855 -1.889 -2.148 -4.604 -4.047 -6.190 
+    ML   199   197 6   202     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   200   197 6   202     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   201   197 6   202     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   202   202 5   202     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   203   203 6   203     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   49 ]
+    MP   204   203 6   208     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -4.315 -3.477 -5.052  2.229 -4.738 -5.126  0.397 -4.627 -4.499  2.312 -4.276 -0.930  1.859 -4.468 -1.429 -3.513 
+    ML   205   203 6   208     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   206   203 6   208     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   207   203 6   208     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   208   208 5   208     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   209   209 6   209     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   50 ]
+    MP   210   209 6   214     4  -8.235  -8.442  -0.022  -6.856                 -5.366 -5.426 -5.881 -0.978 -4.627 -7.014  1.927 -5.617 -5.650 -0.987 -6.062 -2.289 -0.311 -5.760  3.314 -4.572 
+    ML   211   209 6   214     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   212   209 6   214     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   213   209 6   214     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   214   214 5   214     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   215   215 6   215     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   51 ]
+    ML   216   215 6   218     3  -9.189  -0.009  -7.843                         -3.045 -2.938 -3.786  1.878 
+     D   217   215 6   218     3  -6.174  -1.687  -0.566                         
+    IL   218   218 3   218     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   52 ]
+    ML   219   218 3   221     3  -9.189  -0.009  -7.843                          1.201 -1.803 -1.968  0.212 
+     D   220   218 3   221     3  -6.174  -1.687  -0.566                         
+    IL   221   221 3   221     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   53 ]
+    ML   222   221 3   224     3  -9.189  -0.009  -7.843                         -2.459 -3.879  1.863 -3.162 
+     D   223   221 3   224     3  -6.174  -1.687  -0.566                         
+    IL   224   224 3   224     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   54 ]
+    ML   225   224 3   227     2       *   0.000                                 -3.271  1.892 -4.181 -2.934 
+     D   226   224 3   227     2       *   0.000                                 
+    IL   227   227 3   227     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    55 ]
+     E   228   227 3    -1     0                                                 
+				[ BEGR   56 ]
+     S   229   178 1   230     5  -8.209  -0.018  -8.024  -8.237  -9.128         
+    IL   230   230 2   230     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   57 ]
+    MP   231   230 2   235     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -5.905 -4.204 -6.594 -0.215 -6.822 -5.367 -1.313 -5.820 -5.297  3.357 -4.936  1.879 -1.271 -5.043 -2.815 -4.842 
+    ML   232   230 2   235     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   233   230 2   235     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   234   230 2   235     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   235   235 5   235     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   236   236 6   236     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   58 ]
+    MP   237   236 6   241     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -5.595 -5.397 -6.100 -1.673 -5.082 -7.387 -1.510 -5.714 -5.651 -1.884 -5.981 -2.570  3.861 -5.838 -2.612 -4.809 
+    ML   238   236 6   241     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   239   236 6   241     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   240   236 6   241     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   241   241 5   241     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   242   242 6   242     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   59 ]
+    MP   243   242 6   247     6  -9.739  -9.679  -0.014  -8.455  -8.735  -9.130 -8.083 -4.214 -8.636 -0.936 -8.152 -4.542 -2.226 -7.336 -5.359  3.856 -4.855 -1.889 -2.148 -4.604 -4.047 -6.190 
+    ML   244   242 6   247     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   245   242 6   247     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   246   242 6   247     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   247   247 5   247     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   248   248 6   248     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   60 ]
+    MP   249   248 6   253     4  -8.235  -8.442  -0.022  -6.856                 -8.083 -4.214 -8.636 -0.936 -8.152 -4.542 -2.226 -7.336 -5.359  3.856 -4.855 -1.889 -2.148 -4.604 -4.047 -6.190 
+    ML   250   248 6   253     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   251   248 6   253     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   252   248 6   253     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   253   253 5   253     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   254   254 6   254     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   61 ]
+    ML   255   254 6   257     3  -9.189  -0.009  -7.843                         -3.045 -2.938 -3.786  1.878 
+     D   256   254 6   257     3  -6.174  -1.687  -0.566                         
+    IL   257   257 3   257     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   62 ]
+    ML   258   257 3   260     3  -9.189  -0.009  -7.843                         -3.045 -2.938 -3.786  1.878 
+     D   259   257 3   260     3  -6.174  -1.687  -0.566                         
+    IL   260   260 3   260     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   63 ]
+    ML   261   260 3   263     3  -9.189  -0.009  -7.843                         -3.271  1.892 -4.181 -2.934 
+     D   262   260 3   263     3  -6.174  -1.687  -0.566                         
+    IL   263   263 3   263     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   64 ]
+    ML   264   263 3   266     3  -9.189  -0.009  -7.843                         -0.134 -2.839  1.449 -2.192 
+     D   265   263 3   266     3  -6.174  -1.687  -0.566                         
+    IL   266   266 3   266     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   65 ]
+    ML   267   266 3   269     3  -9.189  -0.009  -7.843                          1.922 -4.110 -3.877 -3.575 
+     D   268   266 3   269     3  -6.174  -1.687  -0.566                         
+    IL   269   269 3   269     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   66 ]
+    ML   270   269 3   272     3  -9.189  -0.009  -7.843                         -1.578 -0.286 -2.393  1.408 
+     D   271   269 3   272     3  -6.174  -1.687  -0.566                         
+    IL   272   272 3   272     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   67 ]
+    ML   273   272 3   275     2       *   0.000                                 -3.045 -2.938 -3.786  1.878 
+     D   274   272 3   275     2       *   0.000                                 
+    IL   275   275 3   275     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    68 ]
+     E   276   275 3    -1     0                                                 
+//
diff --git a/FILES b/FILES
new file mode 100644
index 0000000..b6ae0ee
--- /dev/null
+++ b/FILES
@@ -0,0 +1,169 @@
+List of files in the package.
+----------------------------
+
+Manual.ps    -- decription of program, run options & demo examples
+                (postscript format)
+MANUAL       -- decription of program, run options & demo examples
+                (text format)
+INSTALL      -- instructions for installing the programs
+COPYING      -- copyright notice, and information on distribution policy
+FILES        -- overview of what files are (this file)
+GNULICENSE   -- Gnu Public License, version 2 (see COPYING)
+Release.history -- Log of changes/fixes/additions in various releases 
+          
+Makefile         -- Customize local installation
+checkversion.pl  -- Makes sure you are using Perl version 5.0 or greater 
+                    when 'make'ing tRNAscan-SE
+instman.pl       -- PERL script used for man page installation
+tRNAscan-SE.man  -- Manual file for tRNAscan-SE
+
+Files created after a complete 'make':
+
+tRNAscan-SE          ready-to-run PERL script, user runs this program to
+                     search for tRNAs
+covels-SE            copy of 'covels' program from Cove package, 
+                     renamed with '-SE' suffix to avoid overwriting
+                     previous installation of Cove package
+coves-SE             copy of 'coves' program from Cove package, 
+                     renamed with '-SE' suffix to avoid overwriting
+                     previous installation of Cove package
+trnascan-1.4         optimized, debugged version of tRNAscan 1.3 with
+                     a couple new options for use with tRNAscan-SE             
+eufindtRNA           new implementation of tRNA-finding algorithm 
+                     previously described by Pavesi et al.;
+                     does step-wise identification of B box, then A
+                     box, then poly-T termination signal, scored with
+                     newly derived log odds score matrix; new options
+                     included for use with tRNAscan-SE
+
+Source / data files for tRNAscan-SE:
+
+tRNAscan-SE.src      PERL script source, must be run thru a 'make' to
+                     do variable substitutions and create executable
+                     file 'tRNAscan-SE'
+tRNAscanSE/*.cm      PERL modules required for executing tRNAscan-SE
+
+gcode.cilnuc	     Alternate genetic codes for Ciliates,
+                      Dasycladacean, & Hexamita nuclear tRNAs 
+gcode.echdmito	     "  "  "  "    Echinoderm mitochondrial tRNAs
+gcode.invmito        "  "  "  "    Invertibrate mitochondrial tRNAs
+gcode.othmito        "  "  "  "    Mold, Protozoans, & Coelenterate 
+                      mitochondrial tRNAs
+gcode.vertmito       "  "  "  "    Vertibrate mitochondrial tRNAs
+gcode.ystmito        "  "  "  "    Yeast mitochondrial tRNAs
+
+sstofa.pl            PERL script utility program that converts a
+		     tRNA secondary-structure file (-f option)
+		     into a standard FASTA file; not required
+		     for tRNAscan-SE operation, supplied as 
+		     an external utility to user
+
+Source / data files for tRNAscan program:
+
+trnascan.c	     source for tRNAscan v.1.4 
+Dsignal		     D arm consensus matrix scoring file 
+TPCsignal            TPC arm consensus matrix scoring file
+
+
+Source files for eufindtRNA program:
+
+eufind_main.c        main source file
+pavesi.c             tRNA feature search functions
+eufind_const.h       constants & data structures
+
+
+Source / data files for Cove/Infernal package:
+
+TRNA2.cm             default covariance model used by Cove to detect tRNAs
+                     (built from hand-edited alignment of over 
+                     1415 tRNAs, introns included, by S. Eddy)
+TRNA2ns.cm           primary-structure only (HMM-like) covariance model used by
+		     Cove to separate primary sequence scores from
+		     secondary structure scores (see Methods);
+                     this model uses the same tRNA alignment as
+		     TRNA2.cm, but excludes all secondary structure
+		     information
+TRNA2-*.cm           domain-specific covariance model used by Cove to detect tRNAs
+PSELC.cm	     covariance model used to detect prokaryotic
+                     selenocysteine tRNAs (also gives more accurate 
+		     secondary structure predictions of selcys tRNAs)
+                     trained on 5 known prok selcys tRNAs
+ESELC.cm             covariance model used to detect eukaryotic
+	             selenocysteine tRNAs (also gives more accurate 
+		     secondary structure predictions of selcys tRNAs)
+		     trained on 7 known euk selcys tRNAs
+*inf-*.cm            covariance models used by Infernal to detect tRNAs
+Archaea-BHB-noncan.cm  covariance model used by Infernal to detect
+                       noncanonical tRNA introns in archaea
+
+align_main.c         main() for covea,  multiple alignment
+build_main.c         main() for coveb,  model construction
+emit_main.c          main() for covee,  emit sequences from a model
+scan_main.c          main() for covels, database searching
+score_main.c         main() for coves,  scoring sequences and predicting their structure
+structcheck_main.c   main() for an auxiliary program that checks 
+		     structure-annotated alignments
+train_main.c         main() for covet,  model training
+
+dbviterbi.c          database scanning version of the alignment algorithm
+smallviterbi.c       small memory version of the alignment algorithm (EXPERIMENTAL)
+viterbi.c            alignment algorithm
+
+align.c              produce output alignments from tracebacks
+debug.c              miscellaneous debugging output routines
+emit.c               emit sequences from a model
+fastmodelmaker.c     N^2 mem/N^3 time, approx. model construction from alignment
+konings.c            secondary structure "strings"
+maxmodelmaker.c      N^2 mem/N^4 time, max. likelihood model construction from alignment
+misc.c               miscellaneous functions
+model.c              alloc, init, free'ing of a CM
+prior.c              default prior, i/o of prior from files
+probify.c            convert counts to probabilities
+save.c               i/o of models
+scorestack.c         module for 
+structs.c            implementation of data structures: trees & stacks
+trace.c              trace tree & stack data structures
+
+
+Files borrowed from Sean Eddy's sequence function library (v.1.5g & j):
+
+alignio.c            i/o of aligned sequence files
+sqerror.c            Die(), Choke(), Warn() error functions
+sqio.c               Don Gilbert's readseq, i/o of sequences
+getopt.c             More portable version of getopt()
+iupac.c              values of global variables
+msf.c                i/o of GCG MSF alignment format
+revcomp.c            reverse complement a sequence
+selex.c              i/o of my SELEX alignment format
+sre_ctype.c          portability of ctype.h functions
+sre_string.c         some miscellaneous extra string functions
+types.c              some miscellaneous type-checking functions for user input
+gnuregex.c           regular expression function library
+interleaved.c        i/o of interleaved format multiple alignments 
+reformat_main.c      source for useful sequence format conversion program
+revcomp_main.c       source for program to take the reverse complement of
+		     a sequence
+seqstat_main.c       source for a program displaying information about
+		     a sequence file
+shuffle_main.c	     source for a program that shuffles input sequence
+		     randomly, useful for running Monte Carlo simulations
+
+Files in /Demo for running demo examples:
+
+/Demo/C28G1.fa,      C. elegans cosmids
+      F22B7.fa, 
+      F59C12.fa
+
+/Demo/Sprz-sub.fa    1014 sequence subset of Sprinzl tRNA 
+                      (contains animal cytoplasmic + eubacterial tRNAs)
+/Demo/DQ6060.fa      Sprinzl Tetrahymena thermophila Gln tRNA
+
+Files in /Cove (additional files in Cove package not needed for 
+                tRNAscan-SE operation):
+
+/Cove/Guide.tex      User's Guide for Cove package, in TeX format
+/Cove/DEMO           Running demo's of various programs in entire
+                      Cove package
+/Cove/Demos/*        Files needed for running Cove package demos
+/Cove/COPYING        copyright notice for Cove package, and
+                      information on distribution policy 
diff --git a/GNULICENSE b/GNULICENSE
new file mode 100644
index 0000000..a43ea21
--- /dev/null
+++ b/GNULICENSE
@@ -0,0 +1,339 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                          675 Mass Ave, Cambridge, MA 02139, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+

+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+

+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+

+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+

+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+

+	Appendix: How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..01f8040
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,50 @@
+
+Installation of tRNAscan-SE: a tool for finding transfer RNAs
+-----------------------------------------------------------------
+
+1) Edit the top of the Makefile. 
+   Set the paths and other make variables to suit your system.
+
+   In particular, you need to specify:
+   1) where executables are to be installed
+   2) where data files are to be installed 
+   3) where Perl is already installed on the system
+   4) what the Perl binary is called (i.e. 'perl' or 'perl5')
+   5) where temporary files will reside 
+   6) where to install man pages
+
+2) type 'make' to build the programs
+
+3) type 'make install' to install the programs and man pages.
+
+!! NOTE: If you later manually move the location of 
+	 binaries or data files from the directories specified in
+	 the 'Makefile', you need to delete the tRNAscan-SE
+	 executable, update the locations specified in the Makefile, 
+	 and 'make install' again.
+
+4) type 'make testrun' to run tRNAscan-SE on a sample sequence; if the
+program runs with no error messages, tRNAscan-SE has been installed
+correctly
+
+5) type 'make clean' to clean up.
+
+!! Note: A small Perl script (checkversion.pl) will run in the process of
+'make'ing tRNAscan-SE.  If you have specified an invalid location or
+version of Perl (<5.0) in the Makefile PERLDIR variable, the make will
+fail.  If you plan to install a correct version of Perl AFTER
+installing the tRNAscan-SE package, you may short-circut this check by
+commenting out the line in the makefile containing 'checkversion.pl'.
+
+tRNAscan-SE is known to build cleanly on a number of different UNIX
+platforms and OS's, including:
+        SGI, IRIX
+        Sun, Solaris
+        DEC Alpha, OSF/1
+        Intel x86, Linux
+
+Non-ANSI compilers may need one or more -MDEFS defined (see notes in
+Makefile if you have a compilation problem).
+
+It is currently maintained under Linux on an Intel PIII-500 using gcc.
+
diff --git a/MANUAL b/MANUAL
new file mode 100644
index 0000000..6f5ed0f
--- /dev/null
+++ b/MANUAL
@@ -0,0 +1,1147 @@
+--------------------------------------------------------------
+tRNAscan-SE: a program for improved detection of transfer RNA 
+genes in genomic sequence
+
+Todd Lowe (1) & Sean Eddy (2)
+
+(1) Dept. of Genetics, Stanford University, Palo Alto, CA
+(2) Dept. of Genetics, Washington U. School of Medicine, St. Louis
+--------------------------------------------------------------
+Current release: 1.21 (October 2000)
+
+Note: An HTML version of this manual can be found on the
+web at http://genome.wustl.edu/lowe/tRNAscan-SE-Manual/Manual.html
+
+
+1. Introduction
+
+  A. Brief Description
+
+tRNAscan-SE identifies transfer RNA genes in genomic DNA or RNA
+sequences.  It combines the specificity of the Cove probabilistic RNA
+prediction package (Eddy & Durbin, 1994) with the speed and
+sensitivity of tRNAscan 1.3 (Fichant & Burks, 1991) plus an
+implementation of an algorithm described by Pavesi and colleagues
+(1994) which searches for eukaryotic pol III tRNA promoters (our
+implementation referred to as EufindtRNA).  tRNAscan and EufindtRNA
+are used as first-pass prefilters to identify "candidate" tRNA regions
+of the sequence.  These subsequences are then passed to Cove for
+further analysis, and output if Cove confirms the initial tRNA
+prediction.  In this way, tRNAscan-SE attains the best of both worlds:
+(1) a false positive rate of less than one per 15 billion nucleotides
+of random sequence, (2) the combined sensitivities of tRNAscan and
+EufindtRNA (detection of 99% of true tRNAs), and (3) a search speed
+1,000 to 3,000 times faster than Cove analysis and 30 to 90 times
+faster than the original tRNAscan 1.3 (tRNAscan-SE uses both a
+code-optimized version of tRNAscan 1.3 which gives a 650-fold increase
+in speed, and a fast C implementation of the Pavesi et al. algorithm).
+This program and results of its analysis of a number of genomes have
+been published in Nucleic Acids Research (4).
+
+
+  B. What is included in this package?
+
+This distribution includes the PERL script tRNAscan-SE, all the files
+necessary to compile and run the complete COVE package (version
+2.4.4), all the files necessary to compile and run the modified
+version of tRNAscan (version 1.4), and all the files needed to compile
+and run EufindtRNA 1.0 (the cove programs, tRNAscan 1.4, and
+EufindtRNA are included for use with the tRNAscan-SE program, but may
+also be run as stand-alone programs.  Installation of the PERL
+(Practical Extraction and Report Language, Larry Wall) interpreter
+package version 5.0 or later is required to run the tRNAscan-SE PERL
+script.
+
+  C. Getting Started
+
+First, see the INSTALL file for installation instructions.  
+
+Once installed, the user may wish to work through several of the
+examples included (Section 6 of this document) to get a quick feel for
+the program's operation and some of the most commonly used command
+line options.  A description of the default run mode and output
+appears in Section 4, and a description of each of the program options
+is included in Section 5 of this document.
+
+  D. Intended Use
+
+tRNAscan-SE was designed to make rapid, sensitive searches of genomic
+sequence feasible using the selectivity of the Cove analysis package.
+We have optimized search sensitivity with eukaryote cytoplasmic &
+eubacterial sequences, but it may be applied more broadly with a
+slight reduction in sensitivity.
+
+  E. Web Resources
+
+For small-scale users and those who are unable to install tRNAscan-SE
+on a local UNIX platform, a web-based version of the program is
+available for on-line tRNA analysis at
+"http://genome.wustl.edu/eddy/tRNAscan-SE/".  All of the most
+frequently used options are available in the web-based version.  Links
+to the most recent release of the program and the tRNAscan-SE Genomic
+tRNA Database are also available from this page.
+
+2. Methods
+
+tRNAscan-SE does no tRNA detection itself, but instead combines the
+strengths of three independent tRNA prediction programs by negotiating
+the flow of information between them, performing a limited amount of
+post-processing, and outputting the results.  The program works in
+three main phases.  In the first stage, it runs two independent tRNA
+detection programs on the input DNA sequence.  These relatively fast,
+first-pass detection programs include a modified, optimized version of
+tRNAscan 1.3 (1), and EufindtRNA, an implementation of another tRNA
+search algorithm previously described (3).
+    
+tRNAscan 1.3 detects tRNAs by initially looking for short, well
+conserved intragenic promoter sequences (A & B boxes in eukaryotes)
+found in the TPC and D arm regions of prototypic tRNAs.  Once a
+specific number of nucleotides in the sequence match the consensus
+promoter (defined by an arbitrary score threshold), the program then
+progressively attempts to identify the various stem-loop structures
+found in the tRNA "clover leaf".  As each arm is identified by the
+presence of base-pairing in the stem, correct loop size, and several
+invariant and semi-invariant bases, a "general score" counter is
+incremented.  If the final score exceeds an empirically determined
+threshold, the tRNA location, anticodon, and type are saved.
+ 
+EufindtRNA, on the other hand, only searches for linear sequence
+signals.  A step-wise algorithm uses newly developed log-odds score
+matrices to first identify A and B box promoter elements that exceed
+an empirically determined cutoff.  The scores for these A and B boxes
+are then added to a log odds score for the nucleotide distance between
+the A and B boxes to produce an intermediate score.  Finally, a log
+odds score for the distance to the nearest downstream poly-T pol III
+termination signal is added to the intermediate score to obtain a
+final score.  If the final score is above a final score cutoff, the
+tRNA identity and location is saved.  tRNAscan-SE uses a less
+selective version of this algorithm that does not look for pol III
+termination signals, thus uses the intermediate score as a final
+cutoff.  Also, the intermediate score cutoff is loosened slightly
+relative to the intermediate cutoff described in the original
+algorithm (3).  These modifications increase the algorithm's
+sensitivity but greatly reduce EufindtRNA's selectivity.  This does
+not reduce the final selectivity of tRNAscan-SE since a secondary
+filter (Cove) is being used to eliminate false positives.  The
+sensitivity of EufindtRNA is roughly comparable to tRNAscan 1.3, but
+it appears to be complementary in that EufindtRNA tends to identify
+tRNAs missed by tRNAscan 1.3 and vice versa (3).  tRNAscan-SE takes
+advantage of this fact, and saves results from both tRNAscan 1.3 and
+EufindtRNA, then merges them into one list of non-redundant
+"candidate" tRNA identifications.
+  
+In the second stage, tRNAscan-SE extracts the DNA subsequences
+identified as possible tRNAs and passes only these segments to an RNA
+search program in the Cove program suite (covels) for analysis.  Cove
+programs look for tRNAs in a very different way.  A probabilistic
+model for tRNA has been developed by aligning known tRNAs and giving a
+base-specific probability score to every nucleotide in the tRNA model.
+Also, Cove uses a special method for capturing secondary RNA structure
+information using a type of language referred to as a stochastic
+context-free grammar (SCFG).  Cove applies this probabilistic model to
+the entire windowed sequence, and produces a probability score that
+the sequence matches the tRNA model.  If the score exceeds 20.0 bits,
+the tRNA is considered a true tRNA (based on empirical studies in
+ref. 2).
+  
+In the final phase, tRNAscan-SE takes those tRNAs confirmed as such
+and runs another Cove program (coves) that displays RNA secondary
+structure.  The tRNA type is predicted by identifying the anticodon
+within the structure output.  Introns are also automatically
+identified from the structure output as runs of five or more
+consecutive non-consensus nucleotides within the anticodon loop.
+
+tRNAscan-SE uses heuristics to try to distinguish pseudogenes from
+true tRNAs, primarily on lack of tRNA-like secondary structure.  A
+second tRNA covariance model was created from the original 1415-tRNA
+alignment, under the constraint that no secondary structure is
+conserved (this model is effectively just a sequence profile, or
+hidden Markov model). By subtracting a tRNA's similarity score to the
+primary structure-only model from that using the complete tRNA model,
+a secondary structure-only score is obtained.  We have observed that
+tRNAs with low scores for either component of the total score were
+often pseudogenes.  Thus, tRNAs are marked as likely pseudogenes if
+they have either a score of less than 10 bits for the primary sequence
+component of the total score, or a score of less than 5 bits for the
+secondary structure component of the total score.  Selenocysteine
+tRNAs are not checked by these rules since they have atypical primary
+and secondary structure.  Also, use of the -O option (search for
+organellar tRNAs) disables pseudogene checking since these criteria
+are geared towards detecting cytoplasmic pseudogenes (some true
+non-eukaryotic tRNA are marked as pseudogenes by this analysis).
+Final tRNA predictions are then saved in tabular, ACeDB, or secondary
+structure output format.
+
+For more details on the program algorithm & implementation, see the
+Nucleic Acids Research paper (4).
+
+
+3. Performance / Requirements
+
+Performance will obviously vary depending on the machine architecture,
+memory, and OS efficiency.  The examples included in this document
+were run on a Silicon Graphics Indigo2 R4400-200 running IRIX 5.3,
+with over 32Mb of memory.  tRNAscan-SE runs at approximately 20,000 to
+45,000 bp/sec in its default operation mode on this machine.
+
+
+4. Default Program Operation
+
+
+Invoking tRNAscan-SE:
+
+The program is invoked by giving it a series of optional command line
+parameters, then a list of one or more sequence files written in the
+FASTA format (see appendix A for example of FASTA format):
+
+tRNAscan-SE [-options] <FASTA file(s)>
+
+By default, the header credits and selected command-line options are
+printed to the screen via standard error, followed by the final
+results of the tRNA search written to standard output in a tabular
+format (see below).  By default, tRNAscan-SE searches for eukaryotic
+cytoplasmic tRNAs.  To search for prokaryotic, archaeal, or organellar
+tRNAs, use search mode options -P, -A, -O, repectively. If the
+sequences are from more than one phylogenetic domain, the general tRNA
+model (option -G) may be used with minimal loss of sensitivity and
+selectivity (the publication describing tRNAscan-SE used the general
+tRNA model exclusively, ref. 4).  
+
+Sequence                tRNA Bounds     tRNA    Anti    Intron Bounds   Cove
+Name            tRNA #  Begin   End     Type    Codon   Begin   End     Score
+--------        ------  -----   ---     ----    -----   -----   -----   -----
+CELF22B7        1       12619   12738   Leu     CAA     12657   12692   60.01 
+CELF22B7        2       19480   19561   Ser     AGA     0       0       80.44 
+CELF22B7        3       26367   26439   Phe     GAA     0       0       80.32 
+CELF22B7        4       26992   26920   Phe     GAA     0       0       80.32 
+CELF22B7        5       23765   23694   Pro     CGG     0       0       75.76 
+
+Each new tRNA in a sequence is consecutively numbered in the 'tRNA #'
+column.  'tRNA Bounds' specify the starting (5') and ending (3')
+nucleotide bounds for the tRNA.  tRNAs found on the reverse (lower)
+strand are indicated by having the Begin (5') bound greater than the
+End (3') bound (see tRNAs #4 & #5 in output above).
+
+The 'tRNA Type' is the predicted amino acid charged to the tRNA
+molecule based on the predicted 'Anticodon' (written 5'->3') displayed
+in the next column.  tRNAs that fit criteria for potential pseudogenes
+(poor primary or secondary structure, discussed in Methods), will be
+marked with "Pseudo" in the 'tRNA Type' column.  If there is a
+predicted intron in the tRNA, the next two columns indicate the
+nucleotide bounds.  If there is no predicted intron, both of these
+columns contain zero.  The final column is the Cove score for the tRNA
+in bits.  Note that this score will vary somewhat depending on the
+particular tRNA covariance model used in the analysis (the search mode
+selects which tRNA covariance model will be used: eukaryote-specific,
+prokaryote-specific, archae-specific, or general).  tRNAscan-SE counts
+any sequence that attains a score of 20.0 bits or larger as a tRNA
+(based on empirical studies conducted by Eddy & Durbin in ref #2).
+
+
+Temporary files:
+
+In the course of program execution, several temporary files are
+written to and deleted from the 'TEMPDIR' directory specified in the
+Makefile on installing the program.  Alternatively, the environment
+variable 'TMPDIR' can be set to another directory which will override
+the temporary directory specified in the Makefile.  
+
+For the average user, /tmp should work fine as the temp file
+directory.  For sequencing centers or users scanning very large
+individual sequences (>1MBp), or many sequences at once (>4 instances
+of tRNAscan-SE at once), it might be advisable to use /usr/tmp or some
+other temporary directory that has sufficient free disk space (at
+least 10MB free).  
+
+Note: If multiple FASTA files are specified on the command line,
+tRNAscan-SE creates a temporary file 'tscan<process-id-number>.mseq'
+in which all sequence files are concatenated together for ease of
+processing.  Because of this, the temporary directory must have enough
+room to temporarily save a copy of all the sequence files (at once)
+that have been specified on the command line --- this may be a problem
+for ``power users'' who may conceivably scan an entire directory of
+cosmids totalling many MBp of sequence.  In these cases, I would
+advise the user to either run a smaller set of sequences at once, or
+make sure the TEMPDIR can handle the large '.mseq' temporary file.
+
+
+5. Command-line Options
+
+ A. Search Mode Options
+
+By default, the eukaryotic tRNA model is used for tRNA analysis.  To
+select an alternate tRNA model for sequences from other sources (other
+phylogenetic domains or mitochondria/chloroplasts), use one of the
+following options:
+
+ -B         : search for bacterial tRNAs
+
+This option selects the bacterial covariace model for tRNA analysis,
+and loosens the search parameters for EufindtRNA to improve detection
+of bacterial tRNAs.  Use of this mode with bacterial sequences
+will also improve bounds prediction of the 3' end (the terminal CAA
+triplet).
+
+ -A         : search for archaeal tRNAs
+
+This option selects an archaeal-specific covariance model for tRNA
+analysis, as well as slightly loosening the EufindtRNA search
+cutoffs.
+
+ -O	    : search for organellar (mitochondrial/chloroplast) tRNAs
+
+This parameter bypasses the fast first-pass scanners that are poor at
+detecting organellar tRNAs and runs Cove analysis only.  Since true
+organellar tRNAs have been found to have Cove scores between 15 and 20
+bits, the search cutoff is lowered from 20 to 15 bits.  Also,
+pseudogene checking is disabled since it is only applicable to
+eukaryotic cytoplasmic tRNA pseudogenes.  Since Cove-only mode is
+used, searches will be very slow (see -C option below) relative to the
+default mode.
+
+ -G	    : use general tRNA model
+
+This option selects the general tRNA covariance model that was trained
+on tRNAs from all three phylogenetic domains (archaea, bacteria, &
+eukarya).  This mode can be used when analyzing a mixed collection of
+sequences from more than one phylogenetic domain, with only slight
+loss of sensitivity and selectivity.  The original publication
+describing this program and tRNAscan-SE version 1.0 used this general
+tRNA model exclusively.  If you wish to compare scores to those found
+in the paper or scans using v1.0, use this option.  Use of this option
+is compatible with all other search mode options described in this
+section.
+
+ -C         : search using Cove analysis only (max sensitivity, slow)
+
+Directs tRNAscan-SE to analyze sequences using Cove analysis only.
+This option allows a slightly more sensitive search than the default
+tRNAscan + EufindtRNA -> Cove mode, but is much slower (by approx. 250
+to 3,000 fold).  Output format and other program defaults are
+otherwise identical to the normal analysis.
+
+ -H         : show both primary \& secondary structure score components
+	      to covariance model bit scores
+
+This option displays the breakdown of the two components of the
+covariance model bit score.  Since tRNA pseudogenes often have one
+very low component (good secondary structure but poor primary sequence
+similarity to the tRNA model, or vice versa), this information may be
+useful in deciding whether a low-scoring tRNA is likely to be a
+pseudogene.  The heuristic pseudogene detection filter uses this
+information to flag possible pseudogenes -- use this option to see why
+a hit is marked as a possible pseudogene.  The user may wish to
+examine score breakdowns from known tRNAs in the organism of interest 
+to get a frame of reference.
+
+ -D	    :  disable pseudogene checking
+
+Manually disable checking tRNAs for poor primary or secondary
+structure scores often indicative of eukaryotic pseudogenes.  This
+will slightly speed the program & may be necessary for non-eukaryotic
+sequences that are flagged as possible pseudogenes but are known to be
+functional tRNAs.
+
+
+ B. Output Options
+
+
+ -o <file>  : save final results in <file>
+
+Specifiy this option to write results to <file> rather than
+standard output. 
+
+ -f <file>  : save results and Cove tRNA secondary structures to <file>
+
+This option saves results and secondary structure information (as
+predicted by the coves program) in <file>.  Use '$' in place of <file>
+to send to standard output.  An example of the output format for one
+tRNA appears below:
+
+CELF22B7.trna4 (26992-26920)    Length: 73 bp
+Type: Phe       Anticodon: GAA at 34-36 (26959-26957)   Score: 73.88
+         *    |    *    |    *    |    *    |    *    |    *    |    *    | 
+Seq: GCCTCGATAGCTCAGTTGGGAGAGCGTACGACTGAAGATCGTAAGGtCACCAGTTCGATCCTGGTTCGGGGCA
+Str: >>>>>>>..>>>>........<<<<.>>>>>.......<<<<<.....>>>>>.......<<<<<<<<<<<<.
+
+     ^     ^  ^              ^ ^               ^     ^               ^^     ^
+     |     |  |              | |               |     |               ||     |
+     +-----+  +--------------+ +---------------+     +---------------++-----+
+        |        D-stem/loop       Anticodon            TPC stem/loop    |
+        |                           stem/loop                            |  
+        |                                                                |
+        +----------------------------------------------------------------+
+                                Isoacceptor stem
+
+The first line contains the sequence name, trna#, tRNA bounds (in
+parentheses), and length of the tRNA.  The next line contains the
+isoacceptor tRNA Type, Anticodon (with tRNA-relative and
+sequence-absolute bounds), and the Cove Score.  This is identical
+information as would be seen in the tabular output format, excluding
+the anticodon bounds.  The next line contains hash marks every 5 and
+10 bp to ease position identification in the tRNA sequence that
+appears on the following line.  On the sequence line, nucleotides
+matching the "consensus" tRNA model used in Cove analysis appear in
+upper case, while introns and other nucleotides in non-conserved
+positions are printed in lower-case letters.  The last line contains
+predicted secondary structure folding of the tRNA, with nested '>' and
+'<' symbols representing base pairings.  The various tRNA features are
+labelled in this example.  
+
+ -a         : output results in ACeDB output format
+
+This option allows results to be written in ACeDB format instead of
+the default tabular output format.
+
+ -m <file>  : save statistics summary for run
+
+This option directs tRNAscan-SE to write a brief summary to <file>
+which contains the run options selected as well as statistics on the
+number of tRNAs detected at each phase of the search, search speed,
+and other statistics.  
+
+The following is a description of each of these statistics, followed
+by an example stats summary file created from scanning the C. elegans
+cosmid F59C12:
+
+====================
+
+tRNAscan-SE run results (on host <computer name>)
+Started: <time & date tRNAscan-SE began>
+
+<Parameters used for search printed here>
+
+First-pass (tRNAscan/EufindtRNA) Stats:
+---------------------------------------
+Sequences read:   <total # of FASTA sequences read>
+Seqs w/at least 1 hit:  <total sequences with at least one tRNA predicted>  
+Bases read:       <total nucleotides in all sequences searched (both strands)>
+Bases in tRNAs:   <total nucleotides in tRNAs predicted>
+tRNAs predicted:  <# tRNAs predicted from first-pass search program(s)>
+Av. tRNA length:  
+Script CPU time:  <CPU time spent by tRNAscan-SE
+		   reading seqs, setting up run & writing results>
+Scan CPU time: <CPU time spent by tRNAscan/EufindtRNA finding tRNAs>
+Scan speed:        <Averaged tRNAscan+EufindtRNA search speed>
+
+First pass search(es) ended: <time & date tRNAscan/EufindtRNA searches 
+                              finished, Cove analysis begins> 
+
+Cove Stats:
+-----------
+Candidate tRNAs read:  <number of tRNAs detected by tRNAscan/EufindtRNA
+                        that were passed to Cove for verification>
+Cove-confirmed tRNAs:  <number of tRNAs positively confirmed by Cove>  
+Bases scanned by covels:  <total nucleotides in all tRNAs searched by 
+                           Cove (covels-SE program) analysis>
+Bases in confirmed tRNAs: <total nucleotides in confirmed tRNAs>
+Script CPU time:  <CPU time spent by tRNAscan-SE
+		   reading seqs, setting up runs & writing results>
+Cove CPU time:   <CPU time spent by Cove analysis programs>
+Scan speed: <Average Cove search speed>
+
+Cove analysis of tRNAs ended: <time & date Cove analysis and
+                               tRNAscan-SE completed>
+
+Summary
+--------
+False positive tRNAs: <percent of total candidate tRNAs passed to Cove
+                       that were rejected as false positives>
+False positive bases:  <total nucleotides in false positive tRNAs
+                       divided by total nucleotides searched>
+Percent of total bases
+  scanned by covels:  <percent of total nucleotides in input sequences
+                       that were analyzed by Cove>
+Overall scan speed: <Average search speed for entire program>
+
+=================
+
+An example stats summary file using the default search options on
+cosmid F59C12 follows:
+
+=================
+
+tRNAscan-SE run results (on host wol)
+Started: Mon Mar 17 16:36:55 CDT 1996
+
+------------------------------------------------------------
+Sequence file(s) to search:  F59C12.fa
+Results written to:          Standard output
+Output format:               Tabular
+Searching with:              tRNAscan + EufindtRNA -> Cove
+tRNAscan parameters:         Strict
+EufindtRNA parameters:       Relaxed (Int Cutoff= -32.1)
+Search statistics saved in:  F59C12.stats
+------------------------------------------------------------
+
+First-pass (tRNAscan/EufindtRNA) Stats:
+---------------
+Sequences read:         1
+Seqs w/at least 1 hit:  1
+Bases read:       57976
+Bases in tRNAs:   299
+tRNAs predicted:  4
+Av. tRNA length:  74
+Script CPU time:   0.18 s
+Scan CPU time: 0.55 s
+Scan speed: 105.4 Kbp/sec
+
+First pass search(es) ended: Mon Mar 17 16:36:56 CDT 1996
+
+Cove Stats:
+-----------
+Candidate tRNAs read:  4
+Cove-confirmed tRNAs:  3
+Bases scanned by covels:  355
+Bases in confirmed tRNAs: 218
+Script CPU time: 0.22 s
+Cove CPU time:   7.96 s
+Scan speed: 44.6 bp/sec
+
+Cove analysis of tRNAs ended: Mon Mar 17 16:37:12 CDT 1996
+
+Summary
+--------
+False positive tRNAs: 25.0 %
+False positive bases:  0.2 %
+Percent of total bases
+  scanned by covels:  0.6 %
+Overall scan speed: 6506.8 bp/sec
+
+===================
+
+ -d         : display program progress messages
+
+This option directs the program to print messages indicating the
+progress of the program to standard output.  If final results are also
+being sent to standard output, some of these messages will be
+suppressed so as to not interrupt display of the results.
+
+ -l <file>  : save log of program progress in <file>
+
+Identical to -d option, but sends message to <file> instead of
+standard output.  Note: the -d option overrides the -l option if both
+are specified on the same command line.
+
+ -q         : quiet mode (credits & run option selections suppressed)
+
+This option suppresses the program credits and run option selections
+normally printed to standard error at the beginning of each run.
+
+ -b         : brief output format (no column headers)
+
+This option eliminates column headers that appear by default when
+writing results in tabular output format.  Useful if results are to be
+parsed or sent to another program.
+
+ -N         : output corresponding codons instead of tRNA anticodons
+
+This option causes tRNAscan-SE to output a tRNA's corresponding codon
+in place of its anticodon.
+
+
+ -? #       : using '#' symbol in specifying output file names
+
+The '#' symbol may be used as shorthand to specify "default" file
+names for output files.  The default file names are constructed by
+using the input sequence file name, followed by an extension
+specifying the output file type <seqfile.ext> where '.ext' is
+
+extension   used with option  description    
+---------   ----------------  -----------
+.out        -o                final output results (tabular or ACeDB format)
+.stats      -m                summary statistics file 
+.log        -l                run progress file  
+.ss         -f                secondary structures save file
+.fpass.out  -r                formatted, tabular output from first-pass runs
+.fpos       -F                FASTA file of tRNAs identified in
+			      first-pass scans that were found to be
+			      false positives by Cove analysis
+
+Note: 
+
+1) if the input sequence file name has the extensions '.fa' or
+'.seq', these extensions will be removed before using the filename as
+a prefix for default file names.  (example -- input file name
+'Mygene.seq' will have the output file name 'Mygene.out' if '#' is
+used with the -o option).  
+
+2) if more than one sequence file is specified on the command line,
+the "default" output file prefix will be the name of the FIRST
+sequence file on the command line.  Use the -p option (described next)
+to change this default name to something more appropriate when
+specifying more than one sequence file on the command line.
+
+ -p <label> : use <label> prefix for all output files
+
+This option allows the user to specify the default output file prefix
+when using the '#' file name specification (instead of using the input
+sequence file name).
+
+ -y         : show origin of first-pass hits
+
+This option displays which of the first-pass scanners detected the
+tRNA being output.  "Ts", "Eu", or "Bo" will appear in the last column
+of Tabular output, indicating that either tRNAscan 1.4, EufindtRNA, or
+both scanners detected the tRNA, respectively.
+
+
+ C. Specify Alternate Cutoffs / Data Files
+
+
+ -X <score> : set Cove cutoff score for reporting tRNAs (default=20)
+
+This option allows the user to specify a different Cove score
+threshold for reporting tRNAs.  It is not recommended that novice
+users change this cutoff, as a lower cutoff score will increase the
+number of pseudogenes and other false positives found by tRNAscan-SE
+(especially when used with the "Cove only" scan mode).  Conversely, a
+higher cutoff than 20.0 bits will likely cause true tRNAs to be missed
+by tRNAscan (numerous "real" tRNAs have been found just above the 20.0
+cutoff).  Knowledgable users may wish to experiment with this
+parameter to find unusual tRNAs or pseudogenes beyond the normal range
+of detection, keeping the preceding caveats in mind.
+
+ -L <length>: set max length of tRNA intron+variable region
+	      (default=116bp) 
+
+The default maximum tRNA length for tRNAscan-SE is 192 bp, but this
+limit can be increased with this option to allow searches with no
+practical limit on tRNA length.  In the first phase of tRNAscan-SE,
+EufindtRNA searches for A and B boxes of <length> maximum distance
+apart, and passes only the 5' and 3' tRNA ends to covariance model
+analysis for confirmation (removing the bulk of long intervening
+sequences).  tRNAs containing group I and II introns have been
+detected by setting this parameter to over 800 bp.  Caution: group I
+or II introns in tRNAs tend to occur in positions other than the
+canonical position of protein-spliced introns, so tRNAscan-SE
+mispredicts the intron bounds and anticodon sequence for these cases.
+tRNA bound predictions, however, have been found to be reliable in
+these same tRNAs.
+
+ -I <score> :  manually set "intermediate" cutoff score
+	       for EufindtRNA
+
+This score cutoff affects the sensitivity of the first-pass scanner
+EufindtRNA.  This parameter should not need to be adjusted from its
+default values (variable depending on search mode), but is included
+for users who are familiar with the Pavesi et al. (1994) paper and
+wish to set it manually.  See Lowe & Eddy (1997) for details on
+parameter values used by tRNAscan-SE depending on the search mode.
+
+ -z <number> : use <number> nucleotides padding for first-pass tRNA
+	       predictions
+
+By default, tRNAscan-SE adds 7 nucleotides to both ends of tRNA
+predictions when first-pass tRNA predictions are passed to covariance
+model (CM) analysis.  CM analysis generally trims these bounds back
+down, but on occassion, allows prediction of an otherwise truncated
+first-pass tRNA prediction.
+
+ -g <file>  : use alternate genetic codes specified in <file> for
+               determining tRNA type
+
+By default, tRNAscan-SE uses a standard universal codon->amino acid
+translation table that is specified at the end of the tRNAscan-SE.src
+source file.  In many mitochondrial and a number of other microbial
+organisms, there are exceptions to this universal translation code.
+This option allows the user to specify exceptions to the universal
+code.  Several alternate translation code files are included in this
+package for convenience: 
+
+File                 
+=====
+gcode.cilnuc	for Ciliates, Dasycladacean, & Hexamita nuclear tRNAs 
+gcode.echdmito	for Echinoderm mitochondrial tRNAs
+gcode.invmito	for Invertibrate mitochondrial tRNAs
+gcode.othmito	for Mold, Protozoans, & Coelenterate mitochondrial tRNAs
+gcode.vertmito	for Vertibrate mitochondrial tRNAs
+gcode.ystmito 	for Yeast mitochondrial tRNAs
+
+
+The user may also create a new alternate translation file.  An
+example of an alternate translation code specification file follows:
+
+
+# Vertebrate mitochondrial translation codes
+# Format:  <Codon> <3-letter AA abbreviation> <One letter AA abrev>
+
+TGA     Trp	W
+ATA     Met	M
+AGR     Stp	*
+
+
+
+Comments or other information will be ignored on lines preceded by a
+pound symbol '#'.  Anticodon translation codes are specified by
+placing the three base codon, the three letter amino acid
+abbreviation, and the single letter amino acid abbreviation all on a
+single line (each separated by a space or tab).  Degenerate symbols
+such as 'N', 'R', and 'Y' may also be used for codon specification.
+Any codon not specified in the alternate genetic code file will use
+the translation in the default 'universal' genetic code table that
+occurs at the very end of the tRNAscan-SE.src source code file.
+Changes can be made directly to the default translation table, but a
+new 'make install' must be run to install the modified PERL script.
+
+Note: this option does not have any effect when using the -T or -E
+(search using tRNAscan or EufindtRNA only) -- you must be running in
+default or Cove only analysis mode.
+
+ -c <file> : use an alternate covariance model specified in <file>
+
+For users who have developed their own tRNA covariance models using
+the Cove program "coveb" (see Cove documentation), this parameter
+allows substitution for the default tRNA covariance models.  May be
+useful for extending Cove-only mode detection of particularly strange
+tRNA species such as mitochondrial tRNAs.
+
+
+ D. Miscellaneous Options
+
+
+ -h         : print full list of available program options 
+
+Prints this list of program options, each with a brief, one-line
+description.
+
+ -Q         : do not prompt user before overwriting pre-existing files
+
+By default, if an output result file to be written to already exists,
+the user is prompted whether the file should be over-written or
+appended to.  Using this options forces overwriting of pre-existing
+files without an interactive prompt.  This option may be handy for
+batch-processing and running tRNAscan-SE in the background.
+
+ -n <EXPR>  : search only sequences with names matching <EXPR> string
+
+This option allows analysis of selected sequences in a sequence file
+containing multiple sequences.  Only those sequences with names (first
+non-white space word after ">" symbol on FASTA name/description line)
+matching <EXPR> are analyzed.  <EXPR> may contain * or ? wildcard
+characters, but the user should enclose such expressions in single
+quotes (for example: -n 'HU?alpha*') to prevent the shell from
+attempting to expand wildcards into file name matches.
+
+ -s <EXPR>  : start search at sequence with name matching <EXPR> string
+              and continue to end of input sequence file(s)
+
+This option directs the program to analyze the first sequence with a
+name matching <EXPR>, and every sequence thereafter.  This may be
+useful for re-starting crashed/aborted runs at the point where the
+previous run stopped.  (if same names for output file(s) are used,
+program will ask if files should be over-written or appended to --
+choose append and run will successfully be restarted where it left
+off).
+
+
+ E.  Options for testing & special applications
+
+
+ -T         : search using tRNAscan only (defaults to strict search params)
+
+Directs tRNAscan-SE to use only tRNAscan to analyze sequences.  This
+mode will cause tRNAscan to default to using "strict" parameters
+(similar to tRNAscan version 1.3 operation).  This mode of operation
+is faster (about 3-5 times faster than default mode analysis), but
+will result in approximately 0.2 to 0.6 false positive tRNAs per Mbp,
+decreased sensitivity, and less reliable prediction of anticodons,
+tRNA isotype, and introns.
+
+ -t <mode>  : explicitly set tRNAscan params, where
+              <mode> = R or S (R=relaxed, S=strict tRNAscan
+               v1.3 params)
+
+This option allows selection of strict or relaxed search parameters
+for tRNAscan analysis.  By default, "strict" parameters are used.
+Relaxed parameters may give very slightly increased search
+sensitivity, but increase search time by 20-40 fold.
+
+ -E         : search using Eukaryotic tRNA finder (EufindtRNA) only
+
+This option runs EufindtRNA alone to search for tRNAs.  Since Cove is
+not being used as a secondary filter to remove false positives, this
+run mode defaults to "Normal" parameters which more closely
+approximates the sensitivity and selectivity of the original algorithm
+describe by Pavesi and colleagues (see the next option, -e for a
+description of the various run modes).
+
+ -e <mode>  : explicitly set EufindtRNA params, where <mode>=R, N, or S
+               (relaxed, normal, or strict)
+
+This option allows the user to explicitly set the parameters for
+EufindtRNA.  The "relaxed" mode is used for EufindtRNA when using
+tRNAscan-SE in default mode.  With relaxed parameters, tRNAs that lack
+pol III poly-T terminators are not penalized, increasing search
+sensitivity, but decreasing selectivity.  When Cove analysis is being
+used as a secondary filter for false positives (as in tRNAscan-SE's
+default mode), overall selectivity is not decreased.
+
+Using "normal" parameters with EufindtRNA does incorporate a log odds
+score for the distance between the B box and the first poly-T
+terminator, but does not disqualify tRNAs that do not have a
+terminator signal within 60 nucleotides.  This mode is used by default
+when Cove analysis is not being used as a secondary false positive
+filter.
+
+Using "strict" parameters with EufindtRNA also incorporates a log odds
+score for the distance between the B box and the first poly-T
+terminator, but _rejects_ tRNAs that do not have such a signal within
+60 nucleotides of the end of the B box.  This mode most closely
+approximates the originally published search algorithm (3);
+sensitivity is reduced relative to using "relaxed" and "normal" modes,
+but selectivity is increased which is important if no secondary
+filter, such as Cove analysis, is being used to remove false
+positives.  This mode will miss most prokaryotic tRNAs since the
+poly-T terminator signal is a feature specific to eukaryotic tRNAs
+genes (always use "relaxed" mode for scanning prokaryotic sequences
+for tRNAs).
+
+
+ -r <file>  : save tRNAscan/EufindtRNA formatted output results in <file>
+
+Saves tabular, formatted output results from tRNAscan and/or
+EufindtRNA first pass scans in <file>.  The format is similar to the
+final tabular output format, except no Cove score is available at this
+point in the search (if EufindtRNA has detected the tRNA, the negative
+log likelihood score is given).  Also, the sequence ID number and
+source sequence length appear in the columns where intron bounds are
+shown in final output.  This option may be useful for examining false
+positive tRNAs predicted by first-pass scans that have been filtered
+out by Cove analysis.
+
+ -u <file>  : search with Cove only those sequences & regions delimited 
+              in <file> (tabular results file format)
+
+This option allows the user to re-generate results from regions
+identified to have tRNAs by a previous tRNAscan-SE run.  Either a
+regular tabular result file, or output saved with the -r option may be
+used as the specified <file>.  This option is particularly useful for
+generating either secondary structure output (-f option) or ACeDB
+output (-a option) without having to re-scan entire sequences.
+Alternatively, if the -r option is used to generate the previous
+results file, tRNAscan-SE will pick up at the stage of
+Cove-confirmation of tRNAs and output final tRNA predicitons as with a
+normal run.
+
+Note: the -n and -s options will not work in conjunction with this
+option.  Also, if consecutive sequences have identical names in the
+sequence file being scanned, only the first sequence will be scanned
+in the regions defined in the -u <file>.
+
+ -F <file>  : save first-pass candidate tRNAs in <file> that were then
+              found to be false positives by Cove analysis
+
+This option saves candidate tRNAs found by either tRNAscan and/or
+EufindtRNA that were then rejected by Cove analysis as being false
+positives.  tRNAs are saved in the FASTA sequence format.
+
+ -M <file> : save all sequences without at least one tRNA hit in <file>
+
+This option may be used when scanning a collection of known tRNA
+sequences to identify possible false negatives (incorreclty missed by
+tRNAscan-SE) or sequences incorrectly annotated as tRNAs (correctly
+passed over by tRNAscan-SE).  Examination of primary & secondary
+structure covariance model scores (-H option), and visual inspection
+of secondary structures (use -F option) may be helpful resolving
+identification conflicts.
+
+
+
+6. Examples
+
+Several C. elegans cosmids and a subset of the Sprinzl tRNA database
+(animal cytoplasmic + eubacterial) are used in these examples to
+illustrate various features of the program; all have been included in
+the /Demo subdirectory so the user may also try out these examples.
+These files are written in the FASTA sequence format and have the file
+extension '.fa'.  Run times are given for an R4000 Indigo SGI, and are
+approx. equal on a DEC Alpha 2100/400 190MHZ.
+
+
+## To get a list of run options, type the program name without any 
+##  parameters or input sequence files
+
+> tRNAscan-SE
+
+
+## Default run mode, one sequence & no parameters:
+
+> tRNAscan-SE F22B7.fa
+
+The following (selected) run options will be printed first:
+
+------------------------------------------------------------
+Sequence file(s) to search:  F22B7.fa
+Results written to:          Standard output
+Output format:               Tabular
+Searching with:              tRNAscan + EufindtRNA -> Cove
+tRNAscan parameters:         Strict
+EufindtRNA parameters:       Relaxed (Int Cutoff= -32.1)
+------------------------------------------------------------
+
+This search produces tabular output results of 5 tRNAs for the 40kbp
+cosmid F22B7.  Takes about 15 seconds.
+
+
+## Saving output and run statistics files
+
+> tRNAscan-SE -o mytrnas -m mystats C28G1.fa
+
+The following (selected) run options will be printed first:
+
+------------------------------------------------------------
+Sequence file(s) to search:  C28G1.fa
+Results written to:          mytrnas
+Output format:               Tabular
+Searching with:              tRNAscan + EufindtRNA -> Cove
+tRNAscan parameters:         Strict
+EufindtRNA parameters:       Relaxed (Int Cutoff= -32.1)
+Search statistics saved in:  mystats
+------------------------------------------------------------
+
+Default search mode, saves tabular output results for cosmid C28G1 in
+file 'mytrnas' and run statistics in file 'mystats'.  
+
+
+## Using '#' as shorthand for default output file names,
+##  saving output in ACeDB format
+
+> tRNAscan-SE -a -o# -m# C28G1.fa
+
+The following run options will be printed first:
+
+------------------------------------------------------------
+Sequence file(s) to search:  C28G1.fa
+Results written to:          C28G1.out
+Output format:               ACeDB
+Searching with:              tRNAscan + EufindtRNA -> Cove
+tRNAscan parameters:         Strict
+EufindtRNA parameters:       Relaxed (Int Cutoff= -32.1)
+Search statistics saved in:  C28G1.stats
+------------------------------------------------------------
+
+This is the same search as the immediately preceding example, but
+final results are saved in the file 'C28G1.out' and the statistics
+summary is saved in 'C28G1.stats' using the '#' shorthand for default
+output file names.  Also, the results written to 'C28G1.out' are in
+the ACeDB format because the -a option was used.
+
+## Saving secondary structure information
+## Changing name of default output file name prefix
+
+> tRNAscan-SE -p mycosmid -f# -m# C28G1.fa 
+
+The following run options will be printed first:
+
+------------------------------------------------------------
+Sequence file(s) to search:  C28G1.fa
+Results written to:          Standard output
+Output format:               Tabular
+Searching with:              tRNAscan + EufindtRNA -> Cove
+tRNAscan parameters:         Strict
+EufindtRNA parameters:       Relaxed (Int Cutoff= -32.1)
+tRNA secondary structure
+    predictions saved to:    mycosmid.ss
+Search statistics saved in:  mycosmid.stats
+------------------------------------------------------------
+
+This search sends the tabular results to standard output since no -o
+option was used.  Secondary structure information for all tRNAs was
+saved in file 'mycosmid.ss' and run stats were saved in
+'mycosmid.stats' since the default file name prefix was specified as
+'mycosmid' using the -p option.
+
+
+## Searching only sequences matching a specified name
+## Searching with Prokaryotic search parameters
+## Viewing progress of the search analysis
+
+> tRNAscan-SE -d -P -o# -n 'DE*' Sprz-sub.fa
+
+------------------------------------------------------------
+Sequence file(s) to search:  Sprz-sub.fa
+Search only names matching:  DE*
+Results written to:          Sprz-sub.out
+Output format:               Tabular
+Searching with:              tRNAscan + EufindtRNA -> Cove
+tRNAscan parameters:         Strict
+EufindtRNA parameters:       Relaxed (Int Cutoff= -36)
+------------------------------------------------------------
+
+In this example, the program's progress is displayed (-d option) as it
+searches through the input sequence file in this example.  This search
+will only analyze the 39 sequences in the file Sprz-sub.fa (1013 total
+seqs) with names matching the 'DE*' key (ie. DE1140, DE1180, DE1200,
+etc).
+
+Since many of the sequences in this search are from prokaryotes, the
+-P parameter is used to increase search sensitivity to detect
+prokaryotic tRNAs that match the consensus A and B boxes less closely
+than eukaryotic tRNAs (the EufindtRNA intermediate Cutoff is set to
+-36 instead of the default -32.1; the lower the cutoff, the more
+sensitive the search).  Also, the prokaryotic tRNA model is used in
+covariance model analysis.
+
+
+## Search for tRNAs using Cove analysis only 
+
+> tRNAscan-SE -C -p F22B7cov -o# -m# F22B7.fa
+
+------------------------------------------------------------
+Sequence file(s) to search:  F22B7.fa
+Results written to:          F22B7cov.out
+Output format:               Tabular
+Searching with:              Cove only
+Search statistics saved in:  F22B7cov.stats
+------------------------------------------------------------
+
+For users with the computational resources to spare, sequences can be
+analyzed using Cove analysis only (tRNAscan and EufindtRNA are not
+used as a pre-filter).  This option is up to 3,000 times slower than
+using the default search mode, but may detect up to 1% of the tRNAs
+missed by tRNAscan-SE in default run mode.  This example searches the
+F22B7 cosmid and finds no additional tRNAs over default tRNAscan-SE
+run mode.  Takes about seventy minutes.
+
+
+## Search using tRNAscan analysis only
+
+> tRNAscan-SE -T -p sprinzl.tscan -l# -m# Sprz-sub.fa 
+
+------------------------------------------------------------
+Sequence file(s) to search:  Sprz-sub.fa
+Results written to:          Standard output
+Output format:               Tabular
+Searching with:              tRNAscan only
+tRNAscan parameters:         Strict
+Search log saved in:         sprinzl.tscan.log
+Search statistics saved in:  sprinzl.tscan.stats
+------------------------------------------------------------
+
+Using the -T option approximates using tRNAscan v1.3 only (less
+sensitive and less selective).  The -l option saves a log of the
+program run in 'sprinzl.tscan.log'.  The search finds 962/1013 tRNAs
+in about 40 seconds, versus the same search in default mode which
+finds 1007/1013 tRNAs in about 17 minutes (search speed goes down for
+default mode as density of tRNAs in input sequence(s) goes up). 
+
+
+## Using a previous result file to get secondary structure and ACeDB
+##  output without re-scanning entire sequence(s)
+
+First, re-run an example from above, this time saving the tabular
+output results:
+
+> tRNAscan-SE -o# F22B7.fa
+
+Now, suppose you'd like to see the secondary structures (and/or
+produce ACeDB output) for the tRNAs in this sequence.  Instead of
+re-scanning the entire sequence with a completely new run, specify
+that tRNAscan-SE should only scan those regions known to have tRNAs
+from a previous tRNAscan-SE run.  In the following example, the
+pre-existing result file "F22B7.out" is specified with the -u
+parameter, producing results faster than a complete re-scan of the
+whole cosmid:
+
+> tRNAscan-SE -u F22B7.out -f# -a -o F22B7.ace F22B7.fa
+
+------------------------------------------------------------
+Sequence file(s) to search:  F22B7.fa
+Results written to:          F22B7.ace
+Output format:               ACeDB
+Searching with:              Cove only
+Using previous
+tabular output file:         F22B7.out
+tRNA secondary structure
+    predictions saved to:    F22B7.ss
+------------------------------------------------------------
+
+The secondary structures for these tRNAs are saved in "F22B7.ss" and
+the results are saved in ACeDB format in the file "F22B7.ace".  Useful
+for re-scanning just tRNAs in large sequences or sequence sets.
+
+
+## Using an alternate genetic code file
+
+> tRNAscan-SE -g gcode.cilnuc DQ6060.fa
+
+------------------------------------------------------------
+Sequence file(s) to search:  DQ6060.fa
+Results written to:          Standard output
+Output format:               Tabular
+Searching with:              tRNAscan + EufindtRNA -> Cove
+tRNAscan parameters:         Strict
+EufindtRNA parameters:       Relaxed (Int Cutoff= -32.1)
+Alternate transl code used:  from file gcode.cilnuc
+------------------------------------------------------------
+
+The tRNA used in this example is from Tetrahymena thermophila, a
+ciliate protozoan with an alternate translation of the codon TAA
+(normally a stop codon) to glutamine.  By using the alternate
+translations specified in the included file 'gcode.cilnuc', the
+correct tRNA type is output.
+
+
+7. Support / Bug Reports / Requests for added options
+
+This is the first release of tRNAscan-SE, so there are bound to be
+minor problems that will need to be fixed (although we've made every
+attempt to catch all problems on Sun, DEC Alpha, Pentium, and SGI
+machines).  The user is free to either fix the bug him/herself, or
+send me detailed information on the problem (email to Todd Lowe,
+lowe at genetics.wustl.edu), and I will make reasonable efforts to remedy
+the problem.  If you do decide to fix the problem yourself, I would
+like to be notified so that I may make the change in future updates.
+Also, if you have suggestions for options that might be added to
+enhance the usefulness of the program, feel free to suggest them.
+
+8. References
+
+1. Fichant, G.A. and Burks, C. (1991) "Identifying potential tRNA
+genes in genomic DNA sequences", J. Mol. Biol., 220, 659-671.
+
+2. Eddy, S.R. and Durbin, R. (1994) "RNA sequence analysis using
+covariance models", Nucl. Acids Res., 22, 2079-2088.
+
+3. Pavesi, A., Conterio, F., Bolchi, A., Dieci, G., Ottonello, S. (1994)
+"Identification of new eukaryotic tRNA genes in genomic DNA databases
+by a multistep weight matrix analysis of transcriptional control
+regions", Nucl. Acids Res., 22, 1247-1256.
+
+4. Lowe, T.M. & Eddy, S.R. (1997) "tRNAscan-SE: A program for
+improved detection of transfer RNA genes in genomic sequence",
+Nucl. Acids Res., 25, 955-964.
+
+
+Appendix A.
+
+The FASTA sequence format consists of a sequence name and description
+on a single line starting with the greater than symbol '>', followed
+by the sequence:
+
+> SequenceName description here
+ATGTCGTTACCGTCGTCGGGACCGACCATG
+AGAGCGA
+
+More than one sequence can be included in the same file:
+
+> Randseq1 first randomly generated seq 
+GGTGGTTACTAACCGTAAGAGATGATGTCGCCGTGGTCGCGTGGCGCCGCGGACCCAGAT
+TGTACTTCTCTGAGTCGTTCTAGATCGACCAGTCTTCTAGCTTGCCCGTGAGGTATGGGG
+AGCCGCATATTGCCCACAAT
+> Randseq2 second randomly generated seq 
+GCGACGCGTCTCTACACCAGACGCTTCTGTTGAGGAAGAGTGCCTGAGTGCAGGTCCTCG
+AGAACCCACTGGAACTTGAAGGGCGCGTCTCACTGGTCGTGAGAAGGCTCCGTCGATACG
+AAAGTCCATGCCAAGGACAT
+> Randseq3 third randomly generated seq 
+GGCGAGTCTGAACTCACAAATATTGCACGAGAGTTTAGTGTATGTTCCTCTTAGGCTGAT
+AACAATAGTTTAGTGAGCGGAAATGCAACCGCGAGGCGGTCCCCTGCGCTTGTAATGGCC
+ACCTGTTGCCCGTCGGATAT
+
+
+
+
+
+
+
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..9147eac
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,294 @@
+# Makefile for tRNAscan-SE 
+# TML, Feb 11, 1996
+#
+ 
+COV_RELEASE    = "2.4.4"
+EUFIND_RELEASE = "1.1"
+SE_RELEASE = "1.3.1"
+RELEASEDATE= "January 2012"
+RFLAGS     = -DRELEASE=$(COV_RELEASE) -DRELEASEDATE=$(RELEASEDATE)
+
+## Note: if you want to use the -i option, use "make no-ambig"
+## This compiles versions of the pre-scanners that skip over N's,
+## greatly speeding scans of unfinished sequence
+
+## where Perl v.5 (or greater) is installed
+PERLDIR = /usr/bin
+
+## what you call the Perl v.5 executable on your system
+## (this could be 'perl5' or otherwise on some systems)
+PERLBIN = perl
+
+## where you want things installed
+BINDIR  = $(HOME)/bin
+LIBDIR  = $(HOME)/lib/tRNAscan-SE
+MANDIR  = $(HOME)/man
+
+## NOTE !!  If you later manually move the location of 
+## binaries or data files in the BINDIR or LIBDIR directories,
+## you need to delete the tRNAscan-SE executable, update those
+## locations in this Makefile, and re-make tRNAscan-SE 
+
+## where you want temporary files stored
+TEMPDIR = /tmp
+
+## your compiler
+CC = gcc	  # GNU cc (if available) otherwise use vendor's cc
+
+## any special compiler flags you want
+CFLAGS = -O    # ok for most machines (remove -O for DEC OSF/1 cc compiler)
+
+## machine specific definitions
+#  You shouldn't need any. The specific #define's in squid are historical.
+#  However, if you do run into compilation trouble, you might need:
+# -DNO_STRDUP    no strdup() function (lots of BSDish Unix)
+# -DNOSTR        no strstr() function (rarer)
+# 
+MDEFS =
+
+## how to install the man pages 
+## either cp -- to copy unformatted man page
+## or a script with identical syntax to cp, to format & install formatted page
+INSTMAN   = cp
+# INSTMAN   = instman
+MANSUFFIX = 1
+
+#######
+## should not need to modify below this line
+#######
+
+SHELL  = /bin/sh
+LIBS   = -lm
+.SUFFIXES : .c .o
+
+DOCS = README MANUAL INSTALL COPYING GNULICENSE FILES Release.history
+
+MANSRC= tRNAscan-SE.man
+
+PROGS = trnascan-1.4 covels-SE coves-SE eufindtRNA
+UTILS = reformat revcomp seqstat shuffle
+SCRIPTS = fasta2gsi.pl sstofa.pl checkversion.pl instman.pl
+
+TSCAN13 = trnascan.c TPCsignal Dsignal
+
+EUFIND = eufind_const.h eufind_main.c pavesi.c
+
+SQUID-UTILS = seqstat_main.c reformat_main.c\
+	      shuffle_main.c revcomp_main.c getopt.c
+
+COVE_SUITE = covea coveb covee covet covels coves structcheck
+
+
+MAIN =  align_main.c build_main.c emit_main.c learnprior_main.c train_main.c \
+	scan_main.c score_main.c structcheck_main.c 
+
+SQUIDSRC = alignio.c sqerror.c sqio.c iupac.c msf.c revcomp.c\
+	selex.c sre_ctype.c sre_math.c sre_string.c stack.c types.c\
+	gnuregex.c interleaved.c getopt.c
+
+SQUIDOBJ = alignio.o sqerror.o sqio.o iupac.o msf.o revcomp.o\
+	selex.o sre_ctype.o sre_math.o sre_string.o stack.o types.o\
+	gnuregex.o interleaved.o getopt.o
+
+SQUIDHDRS = squid.h sqfuncs.h gnuregex.h
+
+SRC =   align.c dbviterbi.c debug.c emit.c fast-dbviterbi.c fastmodelmaker.c\
+	konings.c lengthdist.c maxmodelmaker.c\
+	misc.c model.c modelmaking.c prior.c probify.c save.c smallviterbi.c\
+	scorestack.c structs.c trace.c viterbi.c $(SQUIDSRC)
+
+MPSRC = mpviterbi.m mp-dbviterbi.m
+
+OBJ =   align.o dbviterbi.o debug.o emit.o fast-dbviterbi.o fastmodelmaker.o\
+	konings.o lengthdist.o maxmodelmaker.o\
+	misc.o model.o modelmaking.o prior.o probify.o save.o smallviterbi.o\
+	scorestack.o structs.o trace.o viterbi.o $(SQUIDOBJ)
+
+MPOBJ = mpviterbi.o mp-dbviterbi.o
+
+all: 	$(PROGS) tRNAscan-SE setpaths
+
+covels-SE:  $(OBJ) scan_main.o
+	$(CC) $(CFLAGS) $(RFLAGS) -o covels-SE scan_main.o $(OBJ) $(LIBS)
+
+coves-SE: $(OBJ) score_main.o
+	$(CC) $(CFLAGS) $(RFLAGS) -o coves-SE score_main.o $(OBJ) $(LIBS)
+
+eufindtRNA: $(SQUIDOBJ) pavesi.o eufind_main.o
+	$(CC) $(CFLAGS)  -o eufindtRNA eufind_main.o \
+	pavesi.o $(SQUIDOBJ) $(LIBS)
+
+trnascan-1.4: trnascan.o
+	$(CC) $(CFLAGS) -DTSCANDIR=\"$(LIBDIR)\" -o trnascan-1.4 trnascan.c
+
+tRNAscan-SE:
+	$(PERLDIR)/$(PERLBIN) checkversion.pl
+	sed 's#/tmp#$(TEMPDIR)#g' tRNAscan-SE.src | \
+	sed 's#bindir = ""#bindir =\"$(BINDIR)/"#g' | \
+	sed 's#/usr/local/lib/tRNAscanSE#$(LIBDIR)#g' | \
+	sed 's#version = ""#version = $(SE_RELEASE)#' | \
+	sed 's#release_date = ""#release_date = $(RELEASEDATE)#' | \
+	sed 's#/usr/bin/perl#$(PERLDIR)/$(PERLBIN)#' > tRNAscan-SE
+	sed 's#/usr/bin/perl#$(PERLDIR)/$(PERLBIN)#' instman.pl > instman 
+	sed 's#/usr/bin/perl#$(PERLDIR)/$(PERLBIN)#' sstofa.pl > sstofa 
+	@chmod +x tRNAscan-SE
+	@chmod +x instman
+	@echo ""
+	@echo "tRNAscan-SE built"
+	@echo ""
+	@echo ""
+
+setpaths:
+	@echo 'setenv PATH "$$PATH"":""$(BINDIR)"' > setup.tRNAscan-SE
+	@echo 'setenv PERL5LIB "$$PERL5LIB"":""$(BINDIR)"' >> setup.tRNAscan-SE
+	@echo 'setenv MANPATH "$$MANPATH"":""$(MANDIR)"' >> setup.tRNAscan-SE
+	@echo ""
+	@echo "The file \"setup.tRNAscan-SE\" has been created."
+	@echo "If you type \"source setup.tRNAscan-SE; rehash\", the paths"
+	@echo "in your environment will be updated for this session."
+	@echo ""
+	@echo "To update your environment upon every login, you should"
+	@echo "add the line:"
+	@echo ""
+	@echo "source $(PWD)/setup.tRNAscan-SE"
+	@echo ""
+	@echo "to your \".cshrc\" file."
+	@echo ""
+	@echo "If you prefer to manually update your environment variables,"
+	@echo "be sure to make the following changes:"
+	@echo ""
+	@echo "1) Add $(BINDIR) to your PATH variable"
+	@echo "2) Add $(BINDIR) to your PERl5LIB variable"
+	@echo "3) Add $(MANDIR) to your MANPATH variable"
+	@echo ""
+
+install: $(PROGS) tRNAscanSE
+	@if test -d $(BINDIR); then echo .; else mkdir -p $(BINDIR); fi
+	@if test -d $(LIBDIR); then echo .; else mkdir -p $(LIBDIR); fi
+	@if test -d $(TEMPDIR); then echo .; else mkdir -p $(TEMPDIR); fi
+	@if test -d $(MANDIR)/man$(MANSUFFIX); then echo .; else mkdir -p $(MANDIR)/man$(MANSUFFIX); fi
+	cp $(PROGS) tRNAscan-SE $(BINDIR)/.
+	cp -R tRNAscanSE $(BINDIR)/
+	cp TPCsignal Dsignal *.cm gcode.* $(LIBDIR)/.
+	@if test -r trnascan-1.4-NA; then cp trnascan-1.4-NA $(BINDIR)/.; fi
+	@if test -r eufindtRNA-NA; then cp eufindtRNA-NA $(BINDIR)/.; fi
+	@if test -r mpcovels; then cp mpcovels $(BINDIR)/.; fi
+	$(INSTMAN) $(MANSRC) $(MANDIR)/man$(MANSUFFIX)/tRNAscan-SE.$(MANSUFFIX) 
+
+testrun:
+	@echo ""
+	@echo "Running tRNAscan-SE on sample sequence F22B2.fa"
+	@echo ""
+	@rm -f testrun.out
+	@echo "tRNAscan-SE -d -y -o testrun.out Demo/F22B7.fa"
+	@if tRNAscan-SE -d -y -o testrun.out Demo/F22B7.fa; \
+	then echo ""; \
+	else echo "tRNAscan-SE did NOT complete properly."; fi
+	@if diff testrun.out testrun.ref; \
+	then echo ""; cat testrun.out; \
+	echo ""; echo ""; \
+	echo "tRNAscan-SE up and running correctly!"; 	echo "";  \
+	else echo "Test run result file differs from reference result file!";\
+	echo "tRNAscan-SE may not have executed correctly."; echo ""; \
+	echo "Please double check for correct compilation & installation"; \
+	echo " and try 'make testrun' again."; 	echo ""; fi
+
+# compiles versions of pre-scanners that do not conservatively
+#  call tRNAs with ambiguous bases
+#  Not really needed since Oct. 2000 modification to tRNAscan-SE (v 1.21)
+
+noambig: trnascan-1.4-NA eufindtRNA-NA
+
+trnascan-1.4-NA:  trnascan.o
+	$(CC) $(CFLAGS) -DNO_AMBIG -DTSCANDIR=\"$(LIBDIR)\" -o trnascan-1.4-NA trnascan.c
+
+eufindtRNA-NA: $(SQUIDOBJ) eufind_main.o
+	$(CC) $(CFLAGS) -DNO_AMBIG -c -o pavesi-NA.o pavesi.c 
+	$(CC) $(CFLAGS) -o eufindtRNA-NA eufind_main.o \
+	pavesi-NA.o $(SQUIDOBJ) $(LIBS)	
+
+
+clean:
+	-rm -f *.o *~ Makefile.bak core testrun.out \
+	$(PROGS) $(UTILS) $(COVE_SUITE) mpcovels tRNAscan-SE instman
+
+uninstall:
+	(cd $(BINDIR); rm -f $(PROGS) $(UTILS))
+	(cd $(LIBDIR); rm -f TPCsignal Dsignal *.cm gcode.*)
+	rmdir -ps $(LIBDIR)
+	rm -f $(MANDIR)/man$(MANSUFFIX)/tRNAscan-SE.$(MANSUFFIX)
+	rmdir -ps $(MANDIR)
+
+.c.o:
+	$(CC) $(CFLAGS) $(MDEFS) -c $<		
+
+## programs from Sean Eddy's sequence i/o function library not
+## needed for tRNAscan-SE but included for their utility
+
+utils: $(UTILS)
+
+install-utils:  $(UTILS)
+	@if test -d $(BINDIR); then echo .; else mkdir -p $(BINDIR); fi
+	sed 's#/usr/bin/perl#$(PERLDIR)/$(PERLBIN)#' fasta2gsi.pl > fasta2gsi
+	cp $(UTILS) $(BINDIR)/.
+
+reformat: $(SQUIDOBJ) reformat_main.o
+	$(CC) $(CFLAGS) $(MDEFS) -o reformat $(SQUIDOBJ) reformat_main.o $(LIBS)
+
+revcomp: $(SQUIDOBJ) revcomp_main.o
+	$(CC) $(CFLAGS) $(MDEFS) -o revcomp $(SQUIDOBJ) revcomp_main.o $(LIBS)
+
+seqstat: $(SQUIDOBJ) seqstat_main.o
+	$(CC) $(CFLAGS) $(MDEFS) -o seqstat $(SQUIDOBJ) seqstat_main.o $(LIBS)
+
+shuffle: $(SQUIDOBJ) shuffle_main.o
+	$(CC) $(CFLAGS) $(MDEFS) -o shuffle $(SQUIDOBJ) shuffle_main.o $(LIBS)
+
+## other programs in Cove package (below) not needed for
+## tRNAscan-SE, but are included for users who wish to apply
+## them for other RNA prediction work
+
+all-cove: $(COVE_SUITE)
+
+install-cove:  $(COVE_SUITE)
+	@if test -d $(BINDIR); then echo .; else mkdir -p $(BINDIR); fi
+	cp $(COVE_SUITE) $(BINDIR)/.
+
+covea: $(OBJ) align_main.o
+	$(CC) $(CFLAGS) $(RFLAGS) -o covea align_main.o $(OBJ) $(LIBS)
+
+coveb: $(OBJ) build_main.o
+	$(CC) $(CFLAGS) $(RFLAGS) -o coveb build_main.o $(OBJ) $(LIBS)
+
+covee: $(OBJ) emit_main.o
+	$(CC) $(CFLAGS) $(RFLAGS) -o covee emit_main.o $(OBJ) $(LIBS)
+
+covet: $(OBJ) train_main.o
+	$(CC) $(CFLAGS) $(RFLAGS) -o covet train_main.o $(OBJ) $(LIBS)
+
+covels:  $(OBJ) scan_main.o
+	$(CC) $(CFLAGS) $(RFLAGS) -o covels scan_main.o $(OBJ) $(LIBS)
+
+coves: $(OBJ) score_main.o
+	$(CC) $(CFLAGS) $(RFLAGS) -o coves score_main.o $(OBJ) $(LIBS)
+
+structcheck: $(OBJ) structcheck_main.o
+	$(CC) $(CFLAGS) $(RFLAGS) -o structcheck structcheck_main.o $(OBJ) $(LIBS)
+
+
+## Maspar memory limits
+#  do "mpctl" to see the system defaults for CMEM (ACU) and
+#  PMEM (DPU) memory. The make will do an "mplimit" to reset
+#  resources according to what you give for CMEM and PMEM needs.
+#  
+CMEM = 480K
+PMEM = 63K
+
+## Maspar version of covels
+## need to set constants in "maspar.h" for your
+##  maspar machine size (i.e. 128x128, 64x64, ...)
+
+mpcovels: $(OBJ) $(MPOBJ) mpcovels_main.o
+	mpl_cc $(RFLAGS) -o mpcovels mpcovels_main.o $(MPOBJ) $(OBJ) $(LIBS)
+	mplimit mpcovels cmem $(CMEM) pmem $(PMEM)
+
diff --git a/Manual.ps b/Manual.ps
new file mode 100644
index 0000000..6019fab
--- /dev/null
+++ b/Manual.ps
@@ -0,0 +1,5143 @@
+%!PS-Adobe-2.0
+%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software
+%%Title: Manual.dvi
+%%Pages: 30
+%%PageOrder: Ascend
+%%BoundingBox: 0 0 596 842
+%%DocumentFonts: CMBX12 CMTI12 CMR17 CMR12 CMBXTI10 CMR10 CMSY10 CMTI10
+%%+ CMBX10 CMMI10 CMTT10 CMITT10 CMTT9
+%%EndComments
+%DVIPSWebPage: (www.radicaleye.com)
+%DVIPSCommandLine: dvips -o Manual.ps Manual.dvi
+%DVIPSParameters: dpi=600, compressed
+%DVIPSSource:  TeX output 2008.06.04:0330
+%%BeginProcSet: texc.pro
+%!
+/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
+N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
+mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
+0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
+landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
+mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
+matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
+exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
+statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
+N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
+/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
+/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
+array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
+df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
+definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
+}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
+B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
+1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
+1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
+0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
+sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
+rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
+gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
+/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
+/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
+A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
+get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
+ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
+fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
+{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
+chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
+1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
+forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
+/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
+}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
+bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
+mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
+SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
+userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
+1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
+index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
+/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
+/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
+(LaserWriter 16/600)]{A length product length le{A length product exch 0
+exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
+end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
+grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
+imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
+exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
+fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
+delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
+B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
+p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
+rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
+
+%%EndProcSet
+%%BeginProcSet: f7b6d320.enc
+% Thomas Esser, Dec 2002. public domain
+%
+% Encoding for:
+%     cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10
+%     cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8
+%     cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10
+%     cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10
+%
+/TeXf7b6d320Encoding [
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
+/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
+/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+/suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand
+/quoteright /parenleft /parenright /asterisk /plus /comma /hyphen
+/period /slash /zero /one /two /three /four /five /six /seven /eight
+/nine /colon /semicolon /exclamdown /equal /questiondown /question /at
+/A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X
+/Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
+/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
+/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
+/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
+/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
+/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: 74afc74c.enc
+% Thomas Esser, Dec 2002. public domain
+%
+% Encoding for:
+%     cmbxti10 cmff10 cmfi10 cmfib8 cmti10 cmti12 cmti7 cmti8cmti9 cmu10
+%
+/TeX74afc74cEncoding [
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
+/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve
+/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash
+/suppress /exclam /quotedblright /numbersign /sterling /percent
+/ampersand /quoteright /parenleft /parenright /asterisk /plus /comma
+/hyphen /period /slash /zero /one /two /three /four /five /six /seven
+/eight /nine /colon /semicolon /exclamdown /equal /questiondown /question
+/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W
+/X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent
+/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u
+/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef
+/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute
+/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
+/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: bbad153f.enc
+% Thomas Esser, Dec 2002. public domain
+%
+% Encoding for:
+%     cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9
+%
+/TeXbbad153fEncoding [
+/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
+/plusminus /minusplus /circleplus /circleminus /circlemultiply
+/circledivide /circledot /circlecopyrt /openbullet /bullet
+/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal
+/greaterequal /precedesequal /followsequal /similar /approxequal
+/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows
+/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast
+/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup
+/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional
+/prime /infinity /element /owner /triangle /triangleinv /negationslash
+/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur
+/latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K
+/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection
+/unionmulti /logicaland /logicalor /turnstileleft /turnstileright
+/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright
+/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv
+/backslash /wreathproduct /radical /coproduct /nabla /integral
+/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section
+/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/minus /periodcentered /multiply /asteriskmath /divide /diamondmath
+/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef
+/circlemultiply /circledivide /circledot /circlecopyrt /openbullet
+/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset
+/lessequal /greaterequal /precedesequal /followsequal /similar
+/approxequal /propersubset /propersuperset /lessmuch /greatermuch
+/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: aae443f0.enc
+% Thomas Esser, Dec 2002. public domain
+%
+% Encoding for:
+%     cmmi10 cmmi12 cmmi5 cmmi6 cmmi7 cmmi8 cmmi9 cmmib10
+%
+/TeXaae443f0Encoding [
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
+/alpha /beta /gamma /delta /epsilon1 /zeta /eta /theta /iota /kappa
+/lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon /phi /chi /psi
+/omega /epsilon /theta1 /pi1 /rho1 /sigma1 /phi1 /arrowlefttophalf
+/arrowleftbothalf /arrowrighttophalf /arrowrightbothalf /arrowhookleft
+/arrowhookright /triangleright /triangleleft /zerooldstyle /oneoldstyle
+/twooldstyle /threeoldstyle /fouroldstyle /fiveoldstyle /sixoldstyle
+/sevenoldstyle /eightoldstyle /nineoldstyle /period /comma /less /slash
+/greater /star /partialdiff /A /B /C /D /E /F /G /H /I /J /K /L /M /N
+/O /P /Q /R /S /T /U /V /W /X /Y /Z /flat /natural /sharp /slurbelow
+/slurabove /lscript /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p
+/q /r /s /t /u /v /w /x /y /z /dotlessi /dotlessj /weierstrass /vector
+/tie /psi /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
+/.notdef /.notdef /Omega /alpha /beta /gamma /delta /epsilon1 /zeta /eta
+/theta /iota /kappa /lambda /mu /nu /xi /pi /rho /sigma /tau /upsilon
+/phi /chi /psi /tie /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: 09fbbfac.enc
+% Thomas Esser, Dec 2002. public domain
+%
+% Encoding for:
+%     cmsltt10 cmtt10 cmtt12 cmtt8 cmtt9
+/TeX09fbbfacEncoding [
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi
+/Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown
+/dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla
+/germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam
+/quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft
+/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
+/two /three /four /five /six /seven /eight /nine /colon /semicolon /less
+/equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N
+/O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright
+/asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l
+/m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright
+/asciitilde /dieresis /visiblespace /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi
+/Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown
+/quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute
+/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
+/OE /Oslash /visiblespace /dieresis /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: b6a4d7c7.enc
+% Thomas Esser, Dec 2002. public domain
+%
+% Encoding for:
+%     cmitt10
+%
+/TeXb6a4d7c7Encoding [
+/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega
+/arrowup /arrowdown /quotesingle /exclamdown /questiondown /dotlessi
+/dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls
+/ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam /quotedbl
+/numbersign /sterling /percent /ampersand /quoteright /parenleft
+/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
+/two /three /four /five /six /seven /eight /nine /colon /semicolon /less
+/equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N
+/O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright
+/asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l
+/m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright
+/asciitilde /dieresis /visiblespace /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi
+/Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown
+/quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute
+/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE
+/OE /Oslash /visiblespace /dieresis /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+
+%%EndProcSet
+%%BeginProcSet: texps.pro
+%!
+TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
+index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
+exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
+ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
+pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
+div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
+/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
+definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
+sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
+mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
+exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
+forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
+end
+
+%%EndProcSet
+%%BeginFont: CMTT9
+%!PS-AdobeFont-1.1: CMTT9 1.0
+%%CreationDate: 1991 Aug 20 16:46:24
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTT9) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+end readonly def
+/FontName /CMTT9 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-6 -233 542 698}readonly def
+/UniqueID 5000831 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E
+2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279
+650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35
+F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A
+D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E
+F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1
+4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A
+438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD
+BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B
+A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641
+AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74
+D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB
+CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A
+082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980
+9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0
+4BA1EBFAFDBEC531EA13DFBD6700E53818CE04D23886B8AE75DCC36BCD3189B1
+0D55FAE27D0D126E82AEF31D7B5DF27E58C30BB0867D6D7AC1DA9EFB8A2DF095
+B5B934A68EE122DA0A83B36C952431586B957990206194E89339048AA6EE4C53
+703763505ED57C494DD907D0EEA04F6B1D4C8F3BA778F4E7AA832AAB4D75F024
+61E91C6D25FD6823CB24FC863C039F7DC5A62670829DB662947294E97098AAC1
+483CC960DB755F27C7155CC30B233EDABBA47BF46BBDAEAFA6F4A61E3A1FB57F
+4661A8C065115937B09FDCE4414FDD634F82CC287151AF817BAFB5C7F5491E2D
+5D3C700CA1121B84A1D3A9576D75A5D8B0CE7A49DEC1F55EB3F7153B09B55879
+4E2B2F7628CDE91761DC6CD2AABE37CD82A99EFF4BD8FDE30B7E034B9C7D7250
+B8686E6DB76D6D7EAE7593048D9CD43093AFB99B97DAC930A6BBAB14CE24A66A
+458199BFFAF9202CFCF5C752D977C093A50981D73D321F7970F4BF024A6BFEED
+0A888D952A43EAADC5710FC9C1BEFD7FB07660446B6BAA9B718C4D2A9EDEC3A2
+DBD2E2C29C15BC3E9A9512CEACC56C1753BB0A46A73E7CBB64A07D9AD02094BB
+15B9D4931DC5C3636768B5E0EF01C52F7E62D4616DBB91F1EB05F08F47E14DC9
+CFC8EB2495C5C21B51F190D05C0A0A2C0A00089D95AA105B7934FB9FA598957E
+8D0FC740265B27FC1C23DD2A5C48A3AB891FC46871F971FC5E0DBCB56760107A
+60649EE49A2BD2F385E984107FDA824FF8E6757951E6000C9A4CD246EDEAB49E
+4C77F79809E4A9D1D539B3EED8520A5BA7BA23D74DF56B38DB3E8F9F38726EE8
+BF802BFB0F77C2CAA94CBD76E93D7AC7790ACD4AC16A59EA5A5A449B344AB047
+B60A174375EB13E126BE5A3A65D31642BBE52D7E8E206CFC77085BD01A8AD73F
+470726AB30434BFAF255F88985A4E9D3DE005C9990074A0FAEE9C1663410E939
+F67E21A97FB44C6109C0BE1C10DEDC355CA5921580C8D2262F205B4EA14D20B0
+D6FC7C31D634FBA5977FCAF694FB44756D4A1930A1D4D938D294FFE358DD1597
+5F772371E5867006FF0001652513B3D189398A0280D14698F2274E2A6BEB1577
+8ECAF5F36A6A5C9F9FBC134DD73ECBB04C53D046D0C8CF2DE4D6EC51AECF4241
+54D1D40906118DF3B630377D659458B0878D6F3EFBD94C6CCCC97552BCD6EA0C
+D5916F4E27866ED2803BCF3884FF327B9AF9BF491F4125931E4E548C2949BFA3
+D655084472A42BCB5EAC7502DC1B6F7EDB279729E460039317BC5960036A0711
+FD504679436F7C7CE36E5373C6752668B8040C3F5F996769D6462569974AB101
+2A044BEC3EBB1E254CAE3B36D1E47789A71833C6EFF0B7EDFED0E7C388FDAF67
+DCFD292A4D337FE92CC4D3D5082DC375BF0BCFF526AD96C0858D47FD00B4EB82
+C96036C53145557553ED5BD6117324DA268B94780B6DFFC31BC6C97231F6CDE4
+ED6ABDC0C3E9B49131B87E73C9AAAAADCFE4448F053C05739185453E573E2879
+D8F6D5D8AA42A591964C6B5CBC9619EFCC52F1B6495E3C121EF66400A840F7E6
+4DD91EEF83D258135335884163918740E08B600DA078A8981073ED27CB7717EF
+C15B326E12436384F353FA30227F8746B1535F54A05C46667B931EDD440A8F54
+B856A7B93C358BF70278311519838A68AD42AFA802CC0BD3F6D9440434BF2082
+7FDE0271B93CE4C10FC8CFBC2C9C22D7114569FE3340B5EA21F1459F899B3FB1
+5397481F17D70D05A57728E07BFE0D5F25CE24F005BB737C034D9AF047CF9BEB
+1B82819CA133C08D6BBF9FF967F88ADFBDFDDCDD5BBD6E8F11D8CFCC97EBB2E8
+8D02A9A149A38A59C53C26DC1CA97E000D0C7068E2E87B69138AB201503B8015
+E072144776ADBB163A70EF97675D825123F0478FFF0929797CF06FE9AA8C0F82
+C36D97284E3A4272ACA452AFE7D3AEA3F47E1B501FB515869331BCB04CD09CD6
+4C4111C07C3A54ED60E041876C4443B37AC44E36140EB6F623B27654DFC7F43F
+CB20A207B99AE9707E0DE13D670BA7D8B0A548FAF6D4F74C2008F02503036886
+06B6571279D007CD367D338513B5DED8E2BA1502DF6A42D20C6D63EF7CBE6D0A
+25EE7DADF27D80C71C48C579B72084478B4C07F8091F958F36CA5DBD27683CC4
+5319BF25FD5B161D272D005006AA14F6D1F1BD1B1E41FB2F6F3A8FE1B365A5C4
+7F4C8CCF41C877E6CFFF610E550C63E03246C8A9A94FE576CD0D5B26DA102568
+C73A99FB541493B7F22E82A814981D658397C31004FA871DC91AE63FAE6EB98F
+57B998DC8D33E2792FC8D0594A583D2954DE21B924FE294F7E3AD8C1A0F25F35
+A8BB9ED2631878EBD9FB62722B52326B1A0AA6AB65FA3EC6C94429068055AE77
+C3474E52FB2FBFB814585EBC555971D784CB5BFCCEF9F6E1411D603225BEDB51
+C8A4D0A13E511DF2A1CF5CB4F48235EA96758D0A7FC90326FCDA091A5BBF9915
+D1ED79B6E13CAD45959915E63511233A1417BBC83B03DA048A13F17A575AC95B
+03DF21D106384DF0481EC12CDF988A2CEAAC231D7DAFD4881348626057F0E38F
+A5E6F9E33C89E9E0A46204D474B8EF255F643F709F379E0C26DC7710FC610174
+EB64AC996BAAFD81BDA50FA2847F939D94C7E090C19E23C685257C4B939833C2
+F61CCBD382F1F1C70BB9F341CEDBA19F38443863E6EFA51CF73727FF79DDB005
+2A13E79266A56B129E6CD09DCF7389DCE56422412F178755C0560ECF74564F0A
+A34FCFA2DCA510B3D1A8FFACF68DAC623CF5DDE25E1DD7340BF98D6A3E42F2A9
+F813D6FFE6E9CD2CA9678444D993E41FD9A5158EC6A3D22140D441B3B1BA9A12
+B764129FEF5B4B169889E5FD4891F55ADD03733C93D8B89BA18A2D2F844A9D18
+ECEA2EAFCA593D7D49A63127A5CB4932E0F2CB71BADE73E6EC413D628B22D7D6
+325CC18B444FD37AB48BD3F86DD3090C757C22072A501A7AC46D1A0EF7D8E479
+0E3E1659FCE16868719C9FED05A3F7FA604358C80742700B68D8E5B794CADAD2
+37F48DD232E7C75B18AA985BF5DB6E2FDA40517A7CEBC28A8006A767134A3F31
+904E15B13FA58A00DAB98F05EDF5D9C3856980BF4D7884C8033908A764D7E35B
+25E4E5F62A62C3B75665299A170E3A61618CDFC2E5D3F4A5EC18F04111969024
+3D4014D931B146CB9081CB920BA4021973C48123465321F44BCDB0C736F8772C
+AFEDB6C4BC99A8E1D2A2CEA5966D73401A6E8994B30EF41D6922DD9141FD2789
+F8EFC8DA403A428A0D3AC4991DBDBD29E4EFAACF5F6DB1CDAD08953192089C4D
+DD4C78B0E907E3E595C5275F7CC578190360AEB4756BD2DFD26B19CFE90CEC6E
+25B073A6A5B616C7FD98C682C95956C745807B7F78849E79D8BC35987EA43F1E
+6E68FBD6165D3982A2642CF6BFD03C2AFF5E636A8E4C8871DAFF98AD53CE4936
+45B8FAB9AA24452698C2918B1B0D2AFA7894B2A7AC2867EF33A65E69E5198D1C
+9C65C1AFB336C61BCCF074B3E27904FB95997A6F277F65AFF6D8D911EEF4F756
+B9396449105343F921582F82723A5B653B6A1F944FCC44EE2BA3A7EED4D8E764
+C29C5A9356F7E06D9021CE25E28F62FF29FA7E52CA1D26A51BA3698F7C4548B5
+D26BC79F5D009D7383A98FB186C45483272E1379356ED81CDEC5FE8BDD4B665F
+CEC8F01ACB5486E7262C54C3B65AD23C752413B600661D7DB0F4FF5BB10C1B23
+253BE60EF6A1DC0A8C324FBD5B3BC853839DC0FEBA2291C00EFCC123452B896D
+44673FA12BBD8883D73733A283EBD84E3162F05686BBF1FE936F52E5E35C915E
+37406A30ED8BF0EA3CED016D99D4AD1214BA4D0A17020474CFC7C73CCDA44758
+C69CBF92E46EFE87D9DB58F05E7E9E85426002A67BBDABB746DDCBF4FF7C563F
+1E1F3E69D116CB9E5B38E32CB28628565D63BD34F16CA44CDA21EBF51160EFE4
+25D787E7296DEE3AEAA8A2F4144CBB72A9E93441C202D593976314860A3E79F4
+9EE1D8EAAB801B2B2CF5A06679D83A7FEA5087FDD7E0977EDF80246A7B115A94
+149CCA7D92F82152C6D08464230AB9B3C848CD52979C96F7852C0FA43A23930E
+92DE00D16902458DA02168CAE807C677F120E9D7953BC776A54347ABC8404385
+4FB1DAA613CC7832726D77E67F52DD15DA6574EDC50321EE452D677DACC4012D
+19D646F7B0D5B68584ED5882C8A886E7327861A1621E483F32836D39847AE74A
+132CF29E89AF947E9DF6F4F3D7BDD4AFABF5624B401DBE47F5697D57FC40DA05
+87056876B7E0E1C8EE41E44DDC521F1030453384226BB3A634DB3A3C9AE40A2A
+0AF700279BB3C140F3215633FB7A1EE76FCCF0B1D510DA908EB3763C1C9557D3
+2FCA6938681E9A4D5610796FEA5760062DD186B1718C87598880C4F90C8282C4
+64EEECA246623483D262A7ABE048B1142E824E4F62674288E5ECACD2D67F6B0E
+A2723D3C44D99493B57072F26931AA3E640830127009567F1EFFAFAF1D70EEBA
+62F194DB60379DF93F15E1AD2A4E12BE6AC221B83DE5E36EDB858887912D6B3D
+DB3397FE21E678C7986F969B153F023000C59273BE6580580E8A35A82357299C
+5F2727AAEAF9D0BDAAF29CAA3929C174CCA4A2B4371BC4E7A67DB82481BBFAC5
+B1BB5DE9A9BAC68925E049C42E63EDC788EEB7C3365DBA87724103B8F44B8F6D
+C7166D5487F9ED5E1B797F00E7E8CE66BABCC467C62CD20B31EA1CA4EF832E0F
+9F7E4A01DD318CB5654E8F266C3FD0D7DFF42B5543E55033F068D1663518C5F5
+B669D0DC43C39BDAF9540C0EA905265E3CFFDD5A5321CA2A62D0C5BB0CC3ECD1
+FF7E4C108DD33B86922E318589B9CC26CFAE55A5A034C10E70848302402CF994
+A4984924DB4C800659ED6AC7D3D6B3C1CAAE2C5D009F55759C95F4B96600296F
+4DD653BB24589F96F003CAC86694D90C135064783875978605F7FCDEC9B04319
+84349C51D97E46630B8151DADCA6EAC7859B84466AE1F4F166745262FEEBD571
+4F958629EFE8F64FECEA192A9EBDD54C41FBA1EA6D33F11097B9E1B983279C86
+19BD077E0D63B88C9DA0CC7295F81F9970F930D1957C9C1A6082CE8D22E93452
+76B5E317734A98B06181D58E4B96D5FFFFF3B339AC9826A1A719D50F3CB74BDD
+478B5A25B5F095F4BBB9183630FA4EEDC49D6D2F7D25073BD52CA5CC6F596C0E
+FDB9C66BD2885045C0031AF25CCD5636B5B39E4CCFD22DEAE0163DE8F2C978AC
+4FB12AF067C628539BC44ECAA8324BCD0D85B2328E47E9AF6C357242E31B99B7
+6A4C6A75AF74035AF1014C8387D50BF64F9B9B19C91EDFEF57EF2E0258110654
+CCC994F365E64EDC8BC19988563A9904743A8FA5F62C8D41697CAD848C69AE7B
+CCB0C737447CA3CC1D29618B02E1810772B4CA77461D7627F62022620C26C1B0
+BC1DA7796AFDAB6ED3B7681F0540B63D2745EC1FAAB0BA9C28B4AAD21800E3E2
+D3DCA8AB9B17C88DC88FDDB3194AEDF70D0C62891752A4735138D7D814DDE950
+AFFAD2D06146E7F8CF39412DD3FCBA016B2735F601B32D699A57EE0C4DDE7145
+EE7092C3F9BE645D3B46B35DA7BDBAB3DC91C27279FC57CB6C7A5444D66CB7C3
+8A9B7EC4F93006ADC8DE36C08B925D24BD3F90D7921734458E1DD1422C65DAED
+D3E660241002CC3246FC6E60C61BE5E7E306BA5A94B1632B5372166C21CBC493
+8D37FFAD3D70207F056F34F74A46AAA35176C38CD5339C2AB914E9945BF27D0F
+652E268BD4119DEA4C5D766CA57187A651A968F93A87C41E775D133DCC8E8591
+0E4BD579B38FAF2C9C51C551DD5C376A94F020AABDCF91F4C07D856CEF5DEC16
+3178432F89B82EC2491B7BCEE4152FA549F4E92E86ECBE480B333AD76CBDBD89
+C09D8661A65AB21834803B9955CCCAD580D546F7FC2AA18602053F7AB8E68F6C
+DC9615EC87E090EF4429869BD98DC29CA831CBA3C6E0903F5ABACBEEDDC638B6
+0D0F60ADB674EA00FB3AAEC9BFE3D8AA501F89029F84F53D21F6ADD613BFFD79
+35A9226B88B752A21A3858C838292EAABD5980206173544B5E8FF3EB8819E2B5
+B2FA6C86BBF6C6E549B9002193E7A95165C19D8CDEDF4B5C4F660A71D63567F7
+60AFD8466ADF9D99AB5092FAEDE14656A96750E4888DDC6206314B40220A22F4
+B4823CC51C597C278EBB052FBC0C08B750C42C5F5470B54E5550456CB6314881
+BDF02E049F14A2500A1D8304D3E55F62EDF7B866F483ABDCF5C85845CA1F491C
+F3F9498788ECC173926BC88D1E2392AA9E85D783A36C39CBB0C568134A243DCC
+D73A29C03A583829FCD58D33123369A8B8D4B72AFC1E8A7F00352C155B9397E4
+64FADF4D5BBF5A6A9A00910C901959C2A14086CB0CE072D775E2305950C3A84A
+44576761CF163D1DAA070D3DC9DD462F116D41CCBA817CE55583493853708C1F
+959E4E15DC33BCA710F9C4F2F4427B211D7A6E1BADCF527AF6218E94FE850A44
+27A05828F50146083E91145703AEE94911041254718D23F7D6CC42AC6CB42BCC
+B9C22959F1E4C042B6A77AD6BF229A14108B9BC96EDABD6BB08C86945F9E26FF
+BC509097EDF467A439C64EF52F2134827798EB3E279C64B1DB5EDB90FFE8ED23
+7009EDFA84E1805BBC71C7783DD1AC400AF2199AF0F13B15DBF87447E2043F76
+156D4AD3D2EABC9A73BC063847705FFCDE7B36C1308EC2E29AEE08399A34A9B4
+993417F6B8886631162D947AEF5386504DB5C6F68F54AEEF0A1CE61A21A91884
+398406C2CBDE680974D17C5445CFC8D3080F976FDDCFCFEBF0AD4BE61C716E8C
+F03ADC1EE9C73EA259B1F84452702FE29CF7920EA1CD7DA034612EB11ACE023F
+C5267137752833AB289BFF66D2CDA38CA261CEEFFA699B89B1624282FE061E8C
+6B27F5BC6F3EA7213BF9752C3B9707E59EDAF3D3EBE34B85A8EB4E080ABF9808
+1F9467088C3AD167FBB846DB6998790B428AE089C468EDEB223DDF8DD8AEDF80
+DDFE490766776A12D187EA4AA300AC74F5A3272915BAEF56C8CAF2A0ABA66FFF
+43ACB0E6BCED57DC9D5C77F98B8DAD3032A78085D7659A24CB0B54EFC202F15A
+9ED2195FD944D26B7CF8A2B71368113B0F60CF896A6914A5E06EBFA87DD203A9
+1C849B0AC7A60FD1B390AFAA00281361C0927817F328181B18CD68DB227EF1EE
+C26A6DD9BE9E7F3FF7F903C86B119E5132996114DFAEDE551C8FD994268D3C83
+6EADDAF6CAB15326CE5A0B9F3F13C13F2AE7C19B71788792FB53A4A5C78E3C50
+0259C8460EB1E808D0B443FB323A15E8CB9B07A0D66358124136C4ACCBD72685
+85D1D5BED989CDCEBFDCB5775259D583E03124F315966F07FA7D1CEC82FEF682
+6A698527328C5BDB8C225992970D3F30B80B28B28399C0B022D1E9C78D9C5512
+F9CACD66ED0C512C9FCD44F96A29C0063B9EF718EC3996630A6B6177FEE8EB19
+F20491C99F7058D9EF0A9006CC357089C56AF92AC2A1A4ED42A76F15A16222B9
+F4AA7B7DF8968B9F162C275D447686560B099F2C6C36F9AEB4608077C12566A5
+753D8A2A4D19EDD204927A1651A1688505113A1C1F48A19C33AF3B9B768F4E2C
+66BF069FB460E88A25AA2664C5BE24ADA4DF67D11B3A816269C2EAA9193AD7FC
+823D85FF1FC7833308206B2CCF8AABC8CECA4831940B3C79E72BA1D58DC2EF1A
+6CF7143503C9BB467295067B097F1FC2CA017B7F0406C4273FBEFF794E1F20CE
+7451C581962B61DD8E33CAA5FBD3E9AB369C78259181905B75717C748E9F7417
+D806992B212B63062B8B19F61E0B563EDA295A94E7B73DE33E42E53CB1CF553C
+923648780DD640E4586C89FA4979DE94C66B4AAA87EE28DE81F5762ABBA70D52
+AB8981E321C37BE4235C983E9E474003B98853580CE23E64ED571C00636F1E6A
+36F1F950D917E0F495D1419D4E1C2B7434670ED5E24A6F289538D17CD0E90306
+E98F0C750D32F506B230C151A3B52A173F624B549C38E62266342936E3F11C73
+A0B2B56D3DE157DCC1E9F43EA5B6557C189E1F9ED5EF3255BC4E6908D24EB474
+6A38D787B335CAEC3F87ED9CD1AB839493CEABC2632B2CE252C00173659CED31
+C70D70FFE39AE1D489C0D7B62F2FC8420104C57E402D2E3AD82344C6BB6BF1FA
+5015C201461F876EAAB1440CC8AA329EBE547A31DDA7F3D57DC5080A612FF234
+69F7374B87B18A79066842FEDC3D2D812759D600B5DC6F79B9924290F3B7E998
+40CA68192F291B207711A9F129477670BFBEFF128A81C99E4022C845F5B0FE64
+AFED26F3F91E722FB690E9DE89B2F96DD14F02C89F206C48D3901AB1FC1C328F
+EAEFF8689F1979DD5DEE7A226784D305AF9A1A8102CFCC6B0BDE9FE34DDD6A90
+E2146D2EA39B11DB8DB5B002C5831553657F42019871967910B7975437A7FDA3
+3A18DE381D06FFB8DC93899328405F8C9F774AC5ED3DBFE3DAF8413CB5A16D06
+64EE9FCCA735F031BEA435CF2DE78B0AF32A5F674EBB0315B68009076808CDF3
+84B3FE1FC1318559E1A32E40BF995A5ECBE4BC41EA8DD784F568BDF40386AC04
+DD6D775695B279994C3DDA50C6F676F0F8E96AEB7B4AD88D632B65F62982B5A4
+A6A2EF9FE4C89A89328B09C15D40CBFD8C5E64B5A1910B42AA8000823E06290B
+D792E22132AAA3B2430B69FC179EA33474F9F4A1A178A6A2C2FCE1B4C3F28F7F
+96601DE78E1EAF4267FA2DF480F9FCD1BF5AB9966231178634211714B0CC78C2
+4E788E1F973B247FD346A81F01CA985D91D19EE407B94CE26A48FA3197CF3D5F
+2631BDD24640BF8DD1F80093779464965AB0C54EF1DCE22B2177AC02E53533FE
+447CEA3F42129EFA69248B202A5D9AF9B1FD752EEF246D29383CC0937F0A15E6
+9625A037FD08AE17BA63DB1014B01786D3E077B245D3A7D5E763BC6515321B53
+79176CBA5E720B264C5E4FE2E42CB8682B9E7F969F5561BD04872066DD12CF02
+88D2B50D051AC4ED33FC890E4B9ACD4C525D815E4497F27BA5D95EE92102E27F
+FC65DF98CAB43491365D30E79BEBA9708E1DBE3F63E4AA6A4E7208D21BA6B7FD
+2E11C573FE9E2468AC4273D392B0EDD6CD5976A35CF57510F19F340C6031ABAE
+23030F7B6D7F96637F6F4B8244C30807955696D10A3F193F48B80260EBC50753
+9423E54154F544C8085D5F0DC501A1FA7C48862F7A198FDF69C77A9AD1A5884F
+A7105AD5A933F912A27BA2DB56751572755AD6C52C795335F2298B6C0692B36B
+F13DAFAE2C6812247247F84F885994E13ABAE33665EB8A69551C66408E130D52
+7F9395803F2A13DA857F5A0181EE7BA18542D15298242529B2EC891DA68E3E79
+193B3C9FA31EA74C9ACC0DEC7D5952229F46C2B560DE7F7EE7C692B9EBF4DB46
+2766154DC1B5F3A1282C141E795CF08B553ECF269ED9DF1E13712D888A339D54
+951FC2D7D36FF661A3C9D7BBFD098FB0D1FBF02F2F90722EF6C4037C4E696D0D
+9AF7998B3B4EB16683C44B1AEA3E937C34F00A92BF71942040B8EEBD22EB402E
+C86E99CBC801445E4B8990DBA09770C2FE256A827D1F6BC35B268AE06ECDDBA8
+114009651EE59D97246B11BF4DCEDB2CE6265E4B298407C45D63E73CA6C0B60E
+D968F81229A56D1B3AD883BB17734583F4A7F5A68B0947B02738DFB49DF3B7ED
+6CFDA0CFE5AA3871C0CB1EF8E683F393A4907E4B18F7C769557BA81256C00B30
+1B1C5C5954DE71A9D3FA4FB0BAA05D630E2488D6370760243D139D4D040E3E70
+D14EE3C9B2A35E5AC33C688F1E8F93A4D6EB44D16780E3DB613A5CBBAA2A0A8D
+054D4551C5794D3564CE27D9EDB90C5EDD71F87DD15D0575AFDE2CF9621FB97A
+A21BD03D95686D4C0A8B888DB3A33DF4A7A488DDEAFA868BCC66B99CF49B9EEA
+2EB296F7B56BD0BB3C683E5A10DA2773308082CCD96877C5ED568542E21DB787
+439F8FB6B50C712B2E741EB995C78C9AC955108AC172A09FC65B497BE2AFD57B
+71C310B53B0D2C9D26D0837EE978B5F721C4A530B8EABEBC48A2C45CD8E14882
+A3F0C0051529201EF67BAFED36736C57C93058B9A6ADD02A5BF6CAA7FCE43BC0
+63E3FF07EED8305D7511FE1E3AE1F4EF1E68B610BBCFA6E08981A4387811A5E8
+379EA801761FDA168EA83F8F435AD8043233A40AC46170E145B408D9F22B472E
+F8038C8172382FEC67846E45A1AE1D927BD9FD5568CF62C088F43A8F85B89D61
+13298E
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMITT10
+%!PS-AdobeFont-1.1: CMITT10 1.0
+%%CreationDate: 1991 Aug 18 17:48:50
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMITT10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch true def
+end readonly def
+/FontName /CMITT10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{11 -233 669 696}readonly def
+/UniqueID 5000779 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D004D606918A40B8D7BFA821B73E118040992A4
+E1BF99740F8FAA47E4349853C8149C0F8BE2F23C6F332BC0373C867D0715E8FA
+FF163A60AFD0FED665D5829739975C5DE12EB30895604D211F645D4E13330DB7
+64B6E35463C93B752F691FDDC44595B0A0E9E57C6F649809C4DBC7DB58102A60
+46349E9A5740893A1BD4536B99ECE72B147B713619037400669C07291022F84F
+4F3302F8244D2F0F1380466E81E0B5E00AF33E021A55620A7A93F3BD49C7040A
+67C096167F502EF2051B526405B9391B4340A3FFEC103E317E315A88D31661E1
+7E4104A2B925D1DDA9586861904FF6FFCE6A8E808385E4C4014F5A494874E2FB
+C3758D6989AB68C4CEF82F92B9439794FC404A29D086ED6B27997735BC3A24F0
+473FFD74BAECF5282E2EBFCB92D69B81C568D394055E2E30A7E3F448796E4EB8
+019AC2E075377F777183BD87FDD194E855ABFA35AFA73304DBB181C267431B16
+70456FD8470B525011891C1E140B8FF24A474B89F1CEAAB509F91FCAF512E16D
+8413BAC0C664FDCD31245C5996F4883305D3EDF1C8D1E6F0B1E79A06028BBDDF
+6AA5B515DF33BA8FFF2394262F3FE1DF95AD661322BFA5179E325BD1B1EECE49
+69F64789FF1BE8DE5CD7485571A07471BD6CAB4891BAB122BE4C4A1B7176F33E
+A1A434F745811B71EA8AF73407F32E9F4EAAE1C1FAA979523C18A24F754C307C
+CE056DCB71B20292D4FBCBF9AB9E9B81DADAB90E60BE926315049E5BF0F50315
+66D82E4963CB556F19461F43EF80302912AC1168884A1692AC59BFBC431B14AC
+A5FC06C4AB595F9DF66CE5EB69568038445A9EDDE20CF92BA308A2317B43BFEF
+D826D1B7E4176DFFBB96AC2B8F0D98487DCBC5AB8F9EACE83693A8C6780FCBDD
+226943C5471B6194AEDACEFFEC4A7269E77909EFCB6C2B79B410BA5B4BA2F2D6
+93E917286BCE703E098B567156A35798B47CFBDBFB3EEC5CE61B57F162A92779
+65C09101EBDDD0DB74B35630274526F0068A715A08CC57000F0CC1DF32249F0B
+52DC4402D66EAA5401E21CB257B64C57BC6BCCE42D9982E7BEB59BD4DF6D9DD9
+2F4BBF3E96B67D41BEFBCE268B23C3A93F24ADE536BB61BF49485101618626E3
+D7C0CE225F4D1C6C794F89F003D7F6538D35986E9B00321BF9CF945B9AC0DD41
+2B543C87613D62888A53C8275386FA42B7D71C5178785F7F4DE37C3B0EC04414
+D6E04518B1CFC2C9555A86D515BB209355E5D7BCD160185E7D9D580DC56A11AA
+6EB74A690B8ADF214BA44300F377599F832B86837A973114A08A60CA40B31351
+74533295817D98386516B2CBCE838B7177EC42B98ADDF47A0F3A8FF9F724E10E
+C0C9F63DB9913C070970DD845C523EC8C7A595E51F6B057A4A02FC7859AAA679
+61A61E58A740DC56056C3184AAA39D838AEF1549C80FD3680250BE1FC7B8F3AB
+1BCEFA3A44928E48BC5FECCEED5C730699F02C177E1F126565D22CF2D159974C
+5534B45A888C4E13D5A562E932B74582836CC66F4F707AF2076F561CE076138E
+C1C465B14DCD0B96DD956ED7F0D53F6627351A289B549E4E030EBF4F0A8DEFAD
+01220F233FAC4BD1DFAB7069C7DEEF0F600CD6BAE43214E6185E7C3A8262429D
+0757941F56CDC94E8B9BAD1135558A9DDD6BE6DA90FE041C2424AFE7D10BACC3
+0B0B0AA185E0E214E7D9485B34E2A4A0B012644080C1784FD316662C245F7AAE
+0173E80279D5D19FF310AC0664C6B7D1ABD3788243851604EF42962E6D5CF188
+FFF7DDB32F9FBDBEB56B7E021DA7DE0651B2A691D9DE75FDA43C6A246EAD4243
+488CDA25120F25D13D1B8D0D27ABC1576D57A82FAB11A22CF72705E6FF58E474
+742B76A65CB0DCAD5BE01AB7D680CD72607123D0E91504A56DA174F17CBDEABE
+C8EBC553E5CC0336C2FE4FF2592707480B82B2CF52E6B1F5CAE850C0B9B63845
+E286F9FD4B36776E6BCB5B50363C642CB0BC3412575AEC36641359D9AE7213FA
+2CCBD133447DBDFBF08D26FF363F0964E21338A996983FCAEA17BEA7904886B7
+EEC83462C80CF36E3277F100B9C817AF8777049E1015FF4C04FD31333804B0FE
+702124BB7B25623E1AD4544606851EDB3344613E1728B900D029ACA6648CBC2C
+5539BB413458440BCCA852819D9BF4C35F13FE9A29AC7161DD70F1DB44880026
+E9F65C5D4D54A9FAEA5C13E7A18C2007AF84D944DA724DC42A6A7280347C999B
+C1AB5DA3C2C3534EACFAEB15935CB79D6AEAE9A4321BA858B3C197F2C732EA06
+2EFDB15A3376656B9CF5663D5AA331708A2E320AE758904E3CFA528784EB8BF1
+440E7643488615BC788CB7EB8E0F7C788A67BFBE1F4DBEC9CB0E96ACD42C0227
+DC83E6A8C734474988D0E935F08CF90CA3189B3328DA6AB2C5C291A26BCB0B87
+A01CB9646283DDB58AED6B7B7AB477C0641333B62B9E98D68B0F8AD1949653B5
+3E6A0096B709B78CF6CC57DF491FD10BA5F55608E5419FF8FAE98D5DC9CC66CB
+04F779ECB0A4595A5803C6EF04C146DB5D939781AF320BC7978E4AF9A28EFAB1
+E5BABC546C5DD8902BD122213D675545DADB5A41CAECE37CE21020D14A793FEB
+776C1DD474D8139E44B0558E244B7EF7A856A32AFED6B430A54292BCA0E3D224
+7DA360E727A9B309C70EE3A48BC0A9B34C02A64D11CAA012DAF1A0C53CBB1495
+5CDFD232BE35A00F00A995B27A978212673789EB98E4F616F17817850F22CB95
+962F72DB3742777642370DC07CE689B800EB599FBF6DEE7E5FCAE91657430C40
+401BAFB7ED1DA01A96B37A090EB3E5CE1E768BB8A0A98B99AA680BF29CC333A5
+7B74DDAD6A8C564E803A76D991401C1C2B819B0E396CF890DCC468BE9223DAF5
+E261A984AAB93DAECBFA4E96FB71844C4EF456E3D9404EEECAE1A9B4EE5E1A54
+1D4EE0620D24B920095383148E4691B1EF1E162814AA711878FE331FF321E563
+A196D93BEF92F936BBA51B88E3B9E3CC1BE002ECC24E57326F24945DF980CA8F
+69840C8F2B6CA8CCC2D314A2D03CF4667B3DBD910312A909FD028913BC625EF2
+C52F334966C5319986030A8446B53FA94A1F8DE033752CDC6007C4B51CF18751
+9F3CDEC18B969B577B69730A5B3E6C52AD92E3F90457DA1BDFD4DD37FDDDD5BD
+A2CD807943F92C8C0CA2637B53A3AEF7F0667B84EE26AFEF2B609C1AE9848D84
+2A52AFF915929A418C9255178033B0CAC9C63A3D7EB8911437B3B9BA216AD8D2
+2445EB8ACB4761B37554D365ACD8FEC50D1D5E94710A6217041404EFAEB93317
+CDC2F9942AB7A04B93D64F7A9B1413D039ACE22E941005FB6F9626E681E1C2CE
+D3482B29B8E4551374CC67EF36BCB784BF78DABEB1F1CADE7CF2F90CABCE9778
+D231A44503336DDE82513F038816DBBDF13DA33F77B54A6355CEBDCB8E0CD9E2
+750F960F03BD2A0B95BD9F92DBD76639466291CC6A2CEF92DE62B1BCFEEB0D99
+F23D1CAD25939F76BF65FE96D051B359301D5EB12F31F928A1D734440D5619B7
+3A8FE9BBFBCB1F51F7D24E298738DDCA55BD893BCE6732D03E28B5BD9C323C6D
+6C9ED723688CBC26A119FDDF00DCC0328305D39EC775DA6F27EC500991761DF7
+14C17116771CBD85BF2C436ECB0F9C57CECBCC9441B3DFE4AA41081EB8E97E0B
+AF54C007774D93E90C0E0692FFC556639EC45218BBC787CD50F69B3601E192F5
+3F5C79B8D8D89899B7ACE5B50537D43F7EB0A6C1B470EDCEC6A3373BC98B69A0
+5669DBB294B7418CC85BA8FBED39A8E1ADA234779EB84E7B9FAC59B94B8802F3
+DBC4DAA0AB4BA8E149F9B9E08F841EBC290911C4A9CDDD0CD1B3C867C02ADF19
+CC8E0CBA8EFB18B4C6C6F19AB2DBF50ACCAB8CD17852B4209907BA2921E6F1EB
+083294E8167E7CD0AA4950C3755C5D06CEB24D593BB914B7D3B6A794AEAB41B8
+CB7602EA4FE60F70FABFD2EA0AF5F75C90287A95C231DF36CBE4D08B3D1C6593
+FF61BE21E3E570655CF30CFB6ABF02771E51D8F467C5437914BAE200946BBBDD
+7480E840500FDE4E68C62FA6428571E533E5CD4D5B4660453F97FCB2BB973115
+E1B0050D9AC684
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMTT10
+%!PS-AdobeFont-1.1: CMTT10 1.00B
+%%CreationDate: 1992 Apr 26 10:42:42
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTT10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch true def
+end readonly def
+/FontName /CMTT10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-4 -235 731 800}readonly def
+/UniqueID 5000832 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
+38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
+D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
+EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
+A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
+F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
+4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
+6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
+A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
+E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
+1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
+452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
+8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
+5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
+DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
+BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
+741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
+E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
+E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
+D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE
+C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DC
+FF798F2ABFC4F3539392985C4CB324B00072295FC160818BB0355FDC4F12E39B
+984826450553E3D271F03D8DC2D12A92A4D32034FD16DA13B876D88C8C097384
+46D8D7E41CA1A8979F9B07EC3337E70CBBE3A377235B04C79BBBDB66CE1C1A41
+89DAB7CE91F2FC0CAF6DDAD09992D56F72299068192610EE3DE5DB7CF6366B4C
+D74F414484DCCDBA449BFAADA39D0F27574E604E31CB513B18E3821A33076151
+C2BCB6E957C77A0AECA48C587ABB5E8C7624D56B32F80BBCFDC874AAD6EA5119
+C9B06886F08CC7DE5400E0F52B07483FD4BAF26C1556CA27B259F845681D61D0
+2D28B185C9F052844D9A5F91CF19210CBFB21B55CDC8C684448E9B5A1D249E15
+56632979760E2CC7075DF794E06EAC2C8E770828837AEBDFF1A5EAE67338CA7D
+F0A477DA679EAC876B6E0F0300ED4D9097E654F197198FD861ECAD138AD5B484
+A28E3CFBEB4CA387F488BDA739EBD767BA225E1E0E7CF5D75C85B4DE5437481B
+011B4B5C9590CB8309079CDE324CE4C2EBC40CD2A6B6F20AF0CA05B89586EB58
+4210AED367DCB3FC3A5845CC77126DF2DAEA475CCB4D94EA9CDFEBFAB137AB61
+D03EE9555BA9C6065EF9ADD376F6ED4971D546608D763570B9ABD3F692D505A6
+49543687AB7A8CD379693F71C6C859796B12E9C834E18DB0FC0063D502AEF1F6
+F5324EBC13AB3FEB378BBF9BA3A9CA9F2DC6C03E2D2102C5F245242F736450A3
+2BDC1E924E1C6F28DDFC3900CDEFC793B94EAFBAB1D8974A95B424C6F9D71EE6
+AB1414BEC47E836BEEAE29C8AA3A1BB09067CBABDE9701D65075D75A43BE26D2
+B0153E6EA2226BDCC9DD52FC8ACD2437BFFA60C48B558A3481CF70EB9B4810DD
+9DDC306C60835972912D1C8B91E37BFBA6D073403B7112D28DAFF0C7EC8C5AEF
+2222EBFA58B67472EBF5CE8986EE3681AB1CA8D16D9A2D6E64C3EA177A19D756
+655231063A387F1BC3EA15A1670867D9025A82421D1DAE6A674D9909398E1199
+49738C66FFDF170D54A748C8F10E22CFF8F0AB6B0C6EE870B589D3E3D9E548FE
+405D01D18D8D883151034AB0973A3E52B2394C2DB707DFBFB26BB937B4F16FEE
+5FD39DCBF8FF3B1A6258B0860829C1923ED50520680FC6AA3409F9BCC0E571A6
+9F9EE2C2838982303318BA603014762E1354039D59AA3A0D6B503AD545050663
+7BF58018253C2E99CBD1868FE34CD15C0F9ACC04AE1DCFA5B0ECFC5DF9D80D15
+4FE32B4428D2ECFEBA48E87168ACB8931F808AFAE6E23AA69E7DBF3EE03218EE
+97EE38CCC15BDCAE42BA442307F1CA795B39D45B390F965D28D61C0D74F87227
+A9BD80821776EF541F95735F3685D189F8A276F9A9D11DDD8B63D574C95E539A
+D0394FF86D51CD478866134BD6B616623888EF8BA726FB18B9D788147C5513FC
+70E3BDD453F5CF5C969B9AD0EFD63D08DFFA844ECCE12608526182CDFEFAEE04
+2BC1CB5B423CFD045325B46B869D936EA63A51D7B2948A6EE6BFC96606BFEF49
+3B39DB9EE88B8FBF0348654A7CD596EFAB99C1FB47421097F8BFACEDED57754C
+C11784BE56BF6AFAF29466CCD58F3BFD93E1E7317926DF179C25E304CB237874
+09F2D9AB5C51E590CC7F7760E20FE692BCD7909DB4B11BAB7EF8D796F2772B23
+4F50A2FCAFC7ED271D9D688443791851692A81D0E29DBE22E1AD4CA2127924F8
+D395EF943A494B7199B6FDCD446C307D5EEC73CD2BE9B8AADB6D669018584ED1
+61D5A2876FD2FCFCEB820C096826C2C8B8A71EEE301368D8339B21991DF5F2A7
+086954362C24AFF5F76BA4FA4DF0FF25F2A622EB4AB569DA6A106CD137D676E8
+C1AC756124DEFB783EE4A691EAC8BEE98FC7E026D0930F780020DC27D2D373FA
+4A554AF9F00CDC54808B4BD35C4ED86978C1B036317A31B5BC6FBB1BAAB15B8C
+7B721EF7DF444D97B91F0B9CED609E76359E34388E0C19714B2CDC2C18952603
+FCB0488E9FC802DE94BB728D7F4D7239CCECB2FC7B01133205FDEDE068F05953
+058111078CED0A9EAF4E0D72CA5462269DB816404416BCF96487D489D057D47D
+F5014FB7FE63D925F86C00BA070358D83027ABF8EED8FE452DEDDB3F7171DB0B
+47175145B2FE6070FAFCBA3AEE9653649FED0D1895B5C3A1433A8ECB4B2ED9F1
+8A7F624D538811F48A755C43F12C592E86217348660EA235D1BA47B78A795D0B
+D1BDFAFCAEA4921D787518AC3314B99159EEDB8BA080BBDA46A24ACCEFD6A6FD
+1507847DEC2D3571F291CC89F08C293003BB33AAA1F59679594403EC55094DB2
+9A3E7F8D0EDF7AEA70558C271AC27D901F5C227CFFB1EC944F7805E34F80567C
+E765134C061094FFB282B5DA914C9F65F74FA51A68AA8CC3D45D318AA0F9182C
+BB08B6DC71F171DED6239F4C5C8A568AC2E91AD12643245600771CEE0981EE20
+4F7BF6D5D115B7CE46B79079803002092ABDC9B5EA9F15AFD082488533D91312
+3562F2530C197500F5058D29594A6045A1FA22D66C89E502DC8617C491891A73
+11CAA863D7DBEB448006A4B3DC96FD218756034750074CB69C345F744881F53A
+94CA1CE26D7E31B3EFCC915999072FF10632D33C12D25753B55982DEEDA801C6
+327BC6D5A4E6C248C0DEA632CC8F9D4F8D2E927AA5BC9AA9BD7806E9B4285DC8
+E32C45946BB47E57A200B869E8F5EA0E3F8709B8A8A412BE15E97D0BA542223C
+D177EB5E3DDD36334E7A73838B2A24418CBB92BC5A47F24D1A5F3F12C1AB53AC
+F76DE532012C0D235987426B79D4BB1B5BD001D473EF7745D997948E267956BB
+58FDBDF3932C3A4EA4B105B62E5DBCA7196063B0C64A42367BDE6E494426F72F
+B2D670BA36BC7AC258593A4443A917F32483AC9D107367CB27F670C02EE60962
+707BD83E0B314882EC62A79A55D977E5EFED74EE60F2432281335B5E4EC88CF6
+DAA9D750541B2E4ACF45006E3EA2F571147045501601408332BD8B1F2C45D1AC
+465085558F62C4E6EAC092DBDA8DCEB43C00429D5ADB2B2F9B6F6D62C1FFC930
+CD3B0ACF2B6381E8897A071C19F098C2395768A069B01196925C7153E65712EE
+1E321C0DEE3D57A0C6FBB95583D8D6D16A1B53EAA9BE3D70897E01E87A06468C
+795E9A7EA6D3455E98E40E24158795EFF878D8C3168C0FD23E3CD76E1161EF3C
+3AA4D16701F748014CBD1210490FEE000E6967AE7518A923966242335243267A
+52D5E959F9FB907A3ABA7DF1A19E7D19A3AD5D33BC615962CFAC7DE588EA240A
+436597826C16A3716BA5FF64F5B709C3E0B35A07A6060ED886995C8DF6DD653E
+B3C84108F5BE11857AAF84768E6D11D2BA5759CDD06B6F76B0BB9CA39A4DC9B3
+32F787D1F5AA9F53A89376CFDFC2A3F02F4335EDF95DBC6C39CAE3DC7363E053
+010BF93A5A919D196EA30B7C418DB1DF3E6E77A4DEA9DBC5A614658C8D4DBCDB
+399D37945DAEB3B7A993BE2B8C5DC1415056966E0BB6B37B85F2A60D62613C3C
+C25043A7D096AEBC94F8E71359369123E9A6B6FB25C91926A87C939642A3FACB
+915EB261334701B4738F05AE355585AD0C8389C734390F271333657F2024921B
+0512E5EAD1ECAC7E8A953543472C60D46FFFA12C9806AA685CF41C6DA171615C
+539807DD35F7A11D3488C0274930360EF17CEE646DED1BA14C4CA9E1D49FF864
+0771C046CFE96F9FEBC7C57A80081E082D05D7D8F47A7CFF5AEDB00AC0C3C592
+C37BE62AC96A9145C6485DFD54D45FCEE24A6970485082915C60D751F1BA9457
+21BB5C1CC4BFDBC76A0C4F3E70EC7F656EAE01EDC3B019139B890500279F42B2
+87270972971F8367BFD7B37D97A6BB45F9F3B81DE18B89307CC1520270DB8CF6
+3BC4E21C9CAE6F8AA32DA60984C61B550FE10DE70713552FEBD98E12353EB037
+DF1863F50E992D230794DA92AF15A44362A17BADF992C1621021590CE733552A
+8E45A38999ECFA7EB0DF784534CB39B3E508D492DA8F7A5D0553772491A7FEA6
+73499F0A8282056A3726CD3E2AEDC789DDC1D77F2DA8629C5EBD7FDC213A9FB3
+6787694C99CA4C8F3321BCC444805AF19B1C35145CFDAC8C276802A6687BE6FD
+E83E0F144A4DF7EBAE478068255019B2D62C3DECDABF69199F16063A791CA321
+B970ABF9605CF8433B16C75944E2F932AE5466D17E20F528AA5E857A1B377A25
+1FF166BEFD2D078D32A7BC2F9CB9E5D60B9288DD3B2AC1785B7D098B8EC15E5C
+B9A600993B8760291CFA1FA6C39A4B75E0E790FDC9DBC1709A5A9E1AA88E96D5
+6E664B0547E02CA0ED129067C767E106AFC368328F7246FF832CA2FFD701774E
+62250B5D25A529D9135B408BCDC76C70CB95A5BF4CBBB6EEA8096CC038F9373A
+A2D3AE14ACA0EBD22BDA928781EA14845EACC1BF3B08B12677BBE20C07DF93C2
+3C2D3F4A27D8F462422D94DCCB5AFC0A8A73FCA8078147FEE04EF5602E08B83D
+1B6BD93BC2A7547EDEACD5953D00FB336F9272F9F559308E64A3C986FEACF6E7
+E580A4A75709D12F38CC2A5F5AA9F9A6D6A2B01C8EE7941C6FF26C991DD8737C
+F9363FB119121998B78147E0AB8B9ABA9EE8BF8EE916732D9C667E0B9A5BE37D
+8AC77590E0B68C619980D62B66AEC029D60D886DD2BE653BBB1F4DD231E8A9E1
+3D962A2FCF2DF02A1558BEF2770FC9C140B02E6B09F912E4EC7CC02A745EFB1C
+5A04A0DF200F7CA103BB67AE81E882DB7D4C02B6420F63CA767EDE40FA252816
+60F0A3FA6671B1F880E15E5B1E2FFD85DD5B032E2011122AD3AEBE51074D9F77
+B77C3FEBC3792B7FFBD0ADC7C8AA118E6E6C8E4BE29AF61B419E97C5A9D5DCB3
+7002194B0BEE60A5C5E2234B6BD5C4E5759CEAC3FABE3B727D1AB9635A780F79
+8CDFAC295D19AAC7DA9AFB6B1BAF4C23B605B678D8401BE32DE1BCEFC3CBDE6C
+C44273F49001405890C52A82A851C32D262FBD8050BFFB0F1B26EB2ED9C4FC16
+D1E580E155B097D218915057F18AA2D1DAC0251C56C8E9F8B1F7306C39FDC139
+C78DCA99BFDE0CD6169B24233042A400E061BC814C01B391FD0EE298F1007E18
+CAEDC60BCBD3546D055DE67276A37ED946FB27C8D904D8A68B262CE8AAE277AB
+DED75D97D5E13A3A7FE67B19F50559E4556DA9EE233359C50AE90E0F51A15E72
+665264EE34160E384C92D96443EDAA3273070E229BEA018756B9CC17F318122F
+C57FE7E2E63DAEFE77FB64A987AA01A18E9CAC1B405E74F4250B7D118AC5F293
+37AC269DE45A124F394E1CA16DCFC0652E0B38556993EBB38D87AB1B69F033CD
+061A2B15D4726067F869FA7D9987680C6609785854349C1EAF710B395D62B863
+C42C2DCB31EB06155CB1D7FB65C3F4A0FD773FA29B67FA686843949D0AF7AF49
+B26849A723FB471685B2E280AD166F57BDC02E6746525EB2611516C39A48DF54
+B66A6B7AE9581106A78BE26F96818362FAC2865DF3E0C12AD50F630431D722F3
+53744BACA67E750C5DA7A659C9541D0B2E3F980EA92E796E4A58DA80618D9D3B
+D9EF1A5A0CABEBB7AB56E3B513079901E8B7F2D462E1CD86C5702AF64BA164E0
+E7CE17926ACF2B1619B57998170DE283C42DE186D066923C4E6097D279FB4FD6
+7BA40403335532F4D6419A85646EC392C721F4B1F38B48EFEB0294876B25E6F4
+BDF81A0D2DE9E691F0A7EC3AFA2FD8DC0F2F1CC1667141B9E379EC26CD0D5A13
+8B9FEE4C4BD841428F48D2849751AD4B0E444684836B2363F117F9CDD211F4B6
+957470A2ADECC53D159FB62C1993C3466E302E56C218E874A1FF17E93CEBAFAE
+51EA431599C1FC4322FD600EF3D75D8B041503560A58FC8E7E800296BA913D7F
+82A6C3D4B521B14952CFF5461BDC1FF4F4993D331CB8794224AAD6182B60E856
+219AAB0897B61860792ED485A5E85888028FF8EA57630C3821D66E833F44B047
+79A75CF1AC04E661D2F1A34AB69DB138B55EA4AD1F8AFD8C25B365299174E147
+56B5D2BA005138F682787599F09335B9E68B9516AB697172866BC111987A303E
+33ABC7A68731C2ED2A35CE356DD2F9110F78679296D66882679FD2AA0A549E2A
+44386DDAEA8F9EC957023BFA86CA50086BEE97865BF6EB6A26C4C87EA2426894
+A14D68FE61B71A6753E43CD39147A5817507DE4C2236B469062B9542A8163509
+2A2B04041A26970B21DD09E0DDA4AA5791FC461086A6CF8B35C006129174F4DE
+69DCE91F1FCD1A343740692E72AAEF08ADDE91D09EC74CE29F7754E9B115AC1C
+B12DAAF384F3F8A20EE86BA2E78C1D500D5F0943371A184DA3895E7E330AE15A
+B7C8BCD3288D8281FB075FEED6D11A561ADFFC9DC1F108948CD78A3F9529E1C7
+C216EA7BD24C7BF7625E1A9CFB1383AD64E6AFA67910A506DCF7B7CFFD6D83B8
+0DDF64008F725E05EEC01434EDEDA4C0CEFDE40EC5FE386F8E92824DBFAA4A24
+163E5646B8AD61E1285B59AE10929863403AF3F41FE9FC9B6150434560A1842C
+BDB2468AA1A84D57064AF11AE7EEF3907E41FA56F97B547B9480D002E6B57CD5
+6C069107400EDC6A9210B042BBCA0130D3FF4EDC1B02524FA608EC62F42CE8E6
+2E694D29355DE50FEB8E3B6874064E043B8144AB5B91B2AA8E968580EF856030
+0784CEC138169EB38F7702ED4F671B5479EF480FEA2681325212DA1FF3446E3C
+63B740AD7F9C9428D147DB4DBD0B1500AF3869942912D5945BD9ADB9E0ACB5FE
+B2D5B8F010C7155EA94968136817D8FA21271023B847B94FFB57699A8D0B078E
+609B580DA06D71A1C859DE5BDD590DE43D1BBA7BDEF5929C5B23AA38BC1EC56B
+9D0DB9FB8BC983F0982E583C2984891264B97DCD5381BD1347269330537D2056
+ADCD1B6E3371CD95C2DC1368B73B3883D98096B5DD57811A9350E038FA7E6F3D
+9C29C1A8B7A480553A0C49E619A1D68ACE92B6D37E88B5C54BC3BF8865307E3B
+1D03CFAFA9A27470EFEC0FF156D389E72BCDA79F850BF7E295A4609229F7A5DA
+D78D125E599F6A7DFC8338A76134ECF68BCF96FE9F6F8F1A226DA2D2FACC0FF0
+6FAE3B47CA68C8BD3D206BCC6CF7804477B0CADCF2639D3469DD130248AD7BB8
+025182015F8CA829793DEA2B7762F9AC18FC3D972219398366C7479E9B02F561
+054011A6318133F38597194FC449B068673FED86D50B2903B63676001345F088
+37BC0995DFDD5507FB8C5223BD445468B231DE8114911857B9FC68DE1C1BDCDB
+AF8E9DD3F7D88D4866134C598F3E53F043AA27FFC110D71726212F950A72422D
+0249BAA49B72A8A10890616A7ED565241E9415E66317983E6F7ACF44E700E92D
+19417210AD7697DA7105A88E8FC0196CCA4AF03763A528B64165090C440762C2
+5A716BE4A65596A73BD360F845E8ADE102B296CCB46CA60B5845BF7C8BEA763F
+02F50119DD97AC8019CF05EC680A542868C59B457656010026CB85B64587E8B3
+B95DDD6FE01D26C1D343CF0CDE837066FF1F55B39B214B40728E0A67703E05DB
+FE7B61322D7A8AF6D8A59083D90A37CC0CB130AA8B97A465739986A901F486A8
+A94391AB1AEC1EEBFA3C59A8690D4D3CF426244D26F0ED2A260FB055495B4B2C
+87273AF95F4A3204A4F9556AE7830C396B685292C7991236B7FEC579A206B6CD
+7F273D7AAE73CEAE2D43825B12FEAC52DDA79E734D32A515678C1C36FDD38011
+2BF9F64ADACA3805782471A6FCF0667004BA6399375AF74F15E819C71284DA6A
+D4A74A30729104B85102C71C570415E0D763FD3B15B295376F413D8A567C62FB
+411E712E5C577235F194C5244FDDF3D980BA59B52822162966368F0F6BE6EF92
+1E5154ADF6644E835CBF01669AFDB6B4BDD8DCE8C424AAAD5BA3A11734AF5106
+FDD3E82304BD716541C301B5BCCA599DC44C7B1F02472A30D885715F1BB7ACF8
+0B898CDECA627C4C241F9C3BF954A4D009210FA5B7472E4E9A37E83A8F412D7E
+E69C3AFCCC634BD5DC8846F86C52245807890B6D6FF815605ECCDFC5C17CDD26
+38EF4B1337733A53ACDE58079A3C5BDEC5499ECCF23183169C5D1AC858B5B922
+69FBC7F343B95DB603ADFEE2A61FA995B6EBEBD94AA59041536A1DD9E94710DE
+BDEE396F4DC70B28FABD01614ABC59E190307E093F1675550069144753E0710A
+672C714863DBF5E5D6AC6FD7722674FEA6413758203B9004223E6A242FF30160
+A945AB94F1EF68B2ECCCD78472E6B60427607DF5BAAB51D5258B78AAFF934D1D
+3C6AA9EF6167B95411F5E8CEC3C73FF4D4AB9E710A5E165D8D5526C7FB8F0C4C
+77A557242C68BA3D0CFE82B7FA18DA5421D2538D67E5E4595BE1F3C203E483C9
+B4FE9EC5A2705E276CBF44F4A2F0C8018F3830BC44FBB3463770AB308ACFFF77
+9366D1720BDAF92ED385A8BDE55BF7D43034B8D2D634F4509D761035B44F3715
+0D9DE450D86D77D6120F50C1DD78405AB371B5E8A53C06E8D127075F7A680B06
+1C431B2F8898AB407E262069775A0AC76754244FE9326ACF3B0473A36E559211
+7BCFB8603A821CAAA3B5FAA1D49070A6C491BC9C411FFB33112D13D43BE4F1DB
+C4F4800DFA69486B659D1DBFE7B791E9DDE5AD04F0767BC9CE91F26A4AF6636A
+E56D64A8812F1452744FE5EB382E966356E214E105995D2F7B91229C54431AB9
+F4B5335810AA64C2DD5222B5FF6D74835EF0B95D3C13790B4DA3E291EA42D2E8
+94F9B9161BE75F812013555F828C549E190031C357DF1B21A848FF2362207118
+F7CCA7C34FBB6EAE4C0C2A930117DF3EBFDA7957E199175FE2516E3C1E4ABEF9
+E9C54C7DCA0DD72E1106EE37B9285A376D65AFA6BDF59C426F9C92F5C2EF341B
+EDCA5162513BFCA516A04B7C0358169EDC8B10714E7AE35E6668D605D073C00E
+0C8E56C51063949D3FACF7E488D5808833B4572F33F8F1F16EC9B3D39752251D
+4705A1DB8C0CC00303009E3F579975C349BC7D65F96800125492A4E403980DF3
+0F2C10635079229D3299494384E31790FB8EB20D794AD2109901F04CDE3349E8
+74F7B11AAFB9B065D5500EE065D1449E239DD1DC750A972B94619115D33C1EA8
+52F008122DFC01D817151DAA25E8DC205570ACE6D517909EBA939D6D42C2BD3E
+9660623863F1E71A1B3E35C11E052B1F48D1E3B018BF59974B6AADABF071D73C
+81EC636C7E38F42D2DE83B19C5F1FA269C87FCA0E37C9FD8EA0C65550CAC8E0A
+BA94513945FE5F41312A32B82B4DAF5EAAE8FBA4528378AFC8EC517B550659BA
+038511B03D1A79D6617B15E8DFE0B4F81BCB7441459A36D89EBD6DA56F9B9262
+B0B4924AB677180A862F679EAC026B3DD1654F683E1A0DA3C72D373A75664D90
+4D4CED7E1E864E8A7454FDDAA411FABE99DA356A087EBAD461DA5DE313601C3D
+1179ACC18943AC096001B8D275AE0E022E34B856210601CA71FCA1AB7671688F
+CBBFA2BA9F7A9F9009EE474C4FD1F46AF04CB920EEE7BF44D980A7A45AC3C48D
+4C8CFE73E71096DD6DA6B7B7BB84345E98B0D35E9C112519401B63040C843CDD
+71C0E96586C51BB322F478D5C0E1A070A604C2AD91F6744CBD484B6506064CFB
+1200CD55434AEE45A9E2BC24B04B3C5387BEFFC79C059DB11F36696627B55444
+F99C310787585BB9C6B44FC96AD2887E830C2CC6E9DCC6B0BE5A0706205ECD35
+DFB68F56302EB865744E7EF868D0AAD911C292232232C8C48E0F502219E1BE68
+43467927647F2EE75A3D7C75319A694CB05CF5669D1BABD0BCCA6657A40FE9D6
+42A39E8D98158CA844BD8147A8EA188E4C99B2CAABF202717DD0FFBF6C50DBA2
+810D37FB016A670658CBB01F472D35C2D6D26E9AC53AEB455AB291032DD3C942
+4AB932835E4F3A719192DBED1AE5456E9C3CDB489AEB5C34C38D9FDC2285C687
+4891EBFC6CB634B973D33B67A5628712F3CDA48C64684D0133C42375EF15847B
+7E66CE7D356A252494F2AA57229575413BE5B2C8C11777B9C890F782A403D624
+011A8F303C2E1523DD22020F74388B741B4B3F6637F2B87AE70CDB045042C7DC
+05F0842FD0416DE91DBDC93E41DB1F530253848F21FB9063BEA95F52B1C6245A
+9F2596EA88B2D149A4214D4D57ED7B19C1F9D2857ECE2746F787C8AA3A2F8160
+C5D031E98B7F514F69AEDD800F687924AD0F997768E31DD642C568E88B2EF953
+CEA769065D5EC23018BCB7A66909F7D1F6C6240C79D9D680779A11FAB7882B4F
+CEBB69FE1E4A4CE4F60D2EC233CD04E816C471F7EC92B8DD4D0D28E569915B28
+5B5386F91EE0D4598578209C9D2CB4AF10530B92B89A28568AC2C6B72781F451
+503D6D65DEF810CD8B391735F0206441B51E685BA168DBD9D6B67A7F70FCF6A2
+942D5F1BC2CB6948B04BF14E6541DE769DD9E1908A609070B5017849B98E9376
+ABD29965DD34E25EA11BC8FB58D22E4FCDBFB1EC136F62DA08B852529BBB70FE
+2BF34826AE45E12E225F67478AADBEAC83E4EDF9FB18B132AE91727955C8BE84
+497C5E842B3624620468949FF85758C43442C8E0E7E8A540A4D880A00FA8A671
+3374FBBFCAAE6195C602FB46CE0DF09C1FB1BFF5FEF124F71B5AB4B33F362837
+DF20B411B92BD3179A1A15759E04304ADA03F7E939DEF25232CAD34A63B209AC
+175551CB47A40D02C46BA392A1800B70DC31CEA717C749D8CD13AED86825CBC9
+B329C0DEBDFD38C52CD196A17A111C1215D2F53AA8E2539493A04E135E4C36D2
+AE9198124DC59A955C52A87B0DE79AED89DBA12FC5B690B5856590C25588D417
+2ADF8F8FAF41F4CC5F80465326869683B1A76BA4B70FE8896E8DAD1AFBC39CF5
+3634CD72161E6F32BC683247FABC73DDA8920B58768B3217326DC14D7FCF1D9C
+C2D1E21419C5C6048D5F5645CDE71CA0531017B9D13D884550C4638B7EDF4B8F
+6DCE66B6373E10D12A9E464DEA8DA027A0B4FCAB93E00D66574F274F38659421
+86FA580EFBAB5369A0B993E21ACE3CB981A0D81ED35D4C85AAA3CB3AD7AEAF15
+44D76669FD6FAEBBEB1853EA91395C987DFB698EA66942A361C3C9C85F18D977
+EF5D23494701CD3168F89304C7225E4B1DBA897C8877AEA466EFA28D432941CC
+A2EC76DF0F2BFB13872E7D74F30C54405E0D2F0CD4A2ACEEC5142CB2CD3CEC4D
+6B9BBC57A29334693DCF56AB811C2511288BF35A7D71D0F6BA8943F20E32EC97
+D3656357C236817EE9E0D79949BE6308C860A6A0A09779C9E665F6F1B8FE7E3E
+521953A392DBF1CC7842F0DC7E0B2318BC9B2A7497FD7E03113C5AA8BC57EE07
+D954A2F7769FEAAF0BECB0A8979C25E3ABC66642DC9901FCC7E042CA3160B86C
+009116E9F48E97D0E0DA4055B56F9C232E9F0A53D56640DA208DFBF120087126
+FDB8FF1CCE56D441297F75EDF72C850B94357D259B1B541AEC7195371029F11E
+05CCE7CA6F7B37DE32E3D57D7B2023AED06719A6CA86046EFBD73040257E6D2E
+84CCAB10D436E31FF5BB3BFEDA10FEFBBDC570519A40B5CC2A47B0B9125F377B
+CA6D595E53D78D473D55C401B59BEB1D2BF3320DFD86BF96FAB726F04C54814E
+95B7FC219F41E49C51D2EE729DF2EC25F17F479E4224A218707222BA1E6F1DEC
+5A88F68A0DB91D026512C03C8E2D68E15A2AFDDF14291B2B0E30A69724E591B8
+21CBCC6BEEAE606D6AF61A8548AA616C94BE4DD133B687D5D530C4ED2DC1F78A
+0D821D05780550B53CF3F60BB44AB6F55A6CB0AE724A67C304A2611B36B61887
+54D653E2A1E5971AC927C631039B6614DE619DCB988CDB2FBC4FDD342777EAEE
+3B3964843B10E04BA4EFA6011F32FED117ECDC89AA1D466C6B96E5C75EA802F0
+5F661A0401DE68EB137FBA91A0B6C7AB28B730EE6AE1799B6508F145426473CB
+27C07AAE26F88FCF4DE67DEFFEE6D572AC8738DA47CB7D85A9850A47FDBE0D59
+A6339CF283CF6DA940F7533BE0E88182DB993020B7152C691B0EDABD05BFE98D
+AB2AADC47F672119B4199617686A07D6D48AE044735AFEEA407B87858309FAF4
+EAB9826CE2C17A8C50F99354006E0631AA6088C5749BF180A18A2949608BF51C
+1EE095BEB8E1A22BACD90CA184114CDEC7DA1C5FC1AD105D964EF93B1ABE0E42
+A426E2127595F763CD6A1FAB0F467D23C6D16149E490D1EA817E1F7674980AD0
+EF2CF7F0153BBFF536C0E1343377D94AD7D2045DC3CE439ABC864E2AFB61DA5E
+7AE11402522F482765AC10FD050BA031F757969F691D256D982FE002BA38B4B7
+46DDDFD808F68C8AA006788F2BB79BDD080EC8A64E88CD550239434964E8107E
+72CBF45CAFEB538DC668B455F6A017FE471E7EFDC12A348A7F193D54B3A9A84F
+A7B9E44CB76BEAEB7FEDAF001B0C2802C0CAC32A12FB212CFAEEB60FB752E46D
+979017DED77BC42E2D86BB2B0A5BD652EFA9B34975E0AFE4AF60CE1F671459E0
+DA94C01A6888D97074DBEC3C417B769D97B9320E2C9B2C5B773271C8C6325F61
+9E1CF227C194A0B7D58B45677FD3BAF018342E7009958D2DAE28A600700A7588
+0EF66981674D173207EAD09E7EDF88149A50CCD92B85D983A865CD2A37E3FDF6
+510B48DC3A7FB92537673D2AD596142C77C7CE88DCF8610329E1911C6917452B
+8BE292384C63A614908D66A7A2F810DB0FDA4BE3DB35E35DB499C5E62EB5E569
+13AA4D661EAEBD652D1B3EE727D3D5B519E9C39FF8C6A8BB49C1CBB065FF0ABE
+7E1326995761F7510D5946F8A89565431E74B881FDD89CDE7860FFC35C0DA56C
+FCDBFEBD10FADD9FDE25392BDD66139ECF9A5F9F957FB14846F15732A08ABBA5
+824FFCD45F469D255A6BBA850DB97A1C2C57771873D179EF07DBC892C0E9D57A
+9411B6867F5216AB0C9C5967D2A0385C6FF36015603ADBC55C392A3326FD5AE9
+1918306B4048EE8CDBE2D031389D58060B25068C90A224989E496DA34E3BC0C0
+159FD3CC18864578F00B62B531404A2DB3E302D141821364ACB96B20211D0861
+A317DEB0A50EC081966F1D4CBB545C4E5BD53085144E9DC276CD145235ABF328
+924475A52852554909E8AF80B82F22D33906EDA1FCB05630036CE7B64822F32B
+8C8885B698AF4283994B86E31C065FDC6DA3121EA730698EC23092E77CE54E52
+589B2641A412C8213775385DB7E87C7455EE01479A6D637F895F9582ACC5CD04
+E332D5D850CD59D9B64FC7340660C7084529E7C43CDB08905F3558BD3D26B0B7
+F5A52D921292D8CC7E8ECDEE34E5BFE90C80E4D238B6EC6F22443B5D5AAE5F53
+18D8639F8F0857E4E3889447E4A70B547166FF5035F47B663FCBC534E171DFCD
+447507D0EEE98683A1CA1B3A12D4CAF7FD94AA6FDABE0728AD0E2D85D0017CB3
+B17BC17DBAF2D4291B3D687D1DAD9252A0D85A72BB55E726DEBB62B6E58A632D
+097362BCC762F51A12919BDCA0E332CA64169A63270EA95AC0F3499032803622
+C585E9FA20327353B62C1DCB292F87CC4678C1F19B4280A4B363F2C9CEA2646F
+3AF1D021812422D3B10CCC08447AA230CEBED1D861E96B312C4FFA4B4DE51F40
+10EB8CB178D583FC6F3B89F3F344C6A1F2B3BCE71CAD7097528159142CA8AD04
+F7B97F6AB96B2F3AC1C3931D0E5DDFA34CAE46D4165ECCC5EF2B24AF78A39979
+7CB293F1D508F5025B34029F572EE22A01B2A575D3C45508B7E562C2AEF7FDEA
+0B58797F20E5D8E2554E5DBFFAB010A82D71C9AB6D58C2A97301A43BF0B2E0D2
+E6AC020EFC2C10889C5063E4F0AEB56398AA92BD045035C6535B2BBE47D2C569
+9BC105DE17FC24FEBDB9B4E4B2B5C71AA3A08A835C9D8F757537EDD33BDEE69B
+8ADB5C14FECBDAA26FE326B38EC7A38C1612DE29F19D5256B9ED80AFB51D722F
+12971EE46C47F4B382439006C52DC0D458A3B6CD529955090BDF44D915942061
+30B91847F2BF79AE62ABB7655DE0DABF5373B4B65271B6F0C9C495054FAFD27E
+E6BCD9A061661004EDDE73749121698F90080D31E850D857EA7AD53B39EEB510
+D47A7A3524DDE138FC008D8147D4C9F5CF9F147F481AE5B801D151EBA3AECEBD
+B0D1D4E07E39634874AA9F64665F88680E9775B79F5D1EBFCB637DF765942E70
+34383CCD76D7F2E44F21882320A5ACBB4D22E52DEC5DF736317E7D449D148540
+38BF5B27253E650E0ED93E39A86F9EADA44884775FD8A86E0C832219EC0CA5E9
+B92227F8C91F173690BBF38B5165FE404E232FB06FC30AC489E51C3FA95F7CFF
+E580FA0465FEFC8C1E6AE32AE4A3B8396536AA552A4303815C5B54D2991EE9E8
+E8018A94F1732C04E570C9CFAA67AF4B650B30ACC51F33D22EDE53543C801605
+3C468B86B650EDC223082994BBD0B5DCAA8DAF3FE20E5412A49243B77E10140C
+9DCAE1AB0545AC999C84491DAC7076758211F0541FD116ECE6C883866B997555
+D979B18805AECF2649B8477AEB4CDF0BE281A87CCCAB7E42B02BA27C6AE72833
+95343994EA87C4758B1ED92E45807EA69D7528141D1C8635837F503A8166936F
+06DD9FD7DC588B83BF69959828D8CA16777EDAF19EE9A6893B03629B85510538
+EE4E4C19E0CFD823CE4E4CE5A228772E153244A8B1F146D6B61D8A23B6C6EC15
+847EBE71321D37EC4C8E6899E9B6886008F1D2E385835B76251259EE6B5A7F23
+4B0B8D01D309B181C618E73DDC3805BE5DF5DBED5BF438C0245CFDBC423B5739
+1A38144B3BE81A10538FE43A80D1198E17392DA030531A14D44EF55807DBDCF2
+3240CCBFE1B0B779C13C86E72BDEF5C5FB3E12F0BD1EDF0DFA9A57277D0C293A
+572FA52098BE23D2AC05BCDC49D6F17D33E5D36021BEA557C01FD89E1B60E38B
+269BB02F34734109536513A2336E995F084741F7BE1F692A271DD9A86F8AF349
+E1111EDB3D180AB4319F918D12DACB92ACAB5780B23BCEC7F572709514340C19
+6E8063C1D5B9ED6ACB64886AACB7DC0DF4E8E9CDBCDB747F63D4EE76E81C2E9C
+73C7DF1055BF66508E90FF17A67A9D8981818ABCB0F13456139AE3C089990656
+B6CD3ABC7C91C18D8DB5EBD176004DCB2A6E333E7C3C23BA613473042403AB9E
+CAE6DC60142209D3B1B6B4390D4F190289FD7187EFE19F177666322390F1F2AE
+935816B4AC6E8D4EEED18ED3E8602E2474E533FBFCBE6538C6DEB954925227E1
+927F70F4D04F1AB2980BAE6D2D1EB902C2CF0B94EBE608DF98A66FC23A2AD835
+1D6CF30C837B86AC1CFF082ED075569A43431B2C9F3485629415641800033F30
+B4AFC0045627FB8B02DBB5124EE034BF433562896219D08801D8BE18076AE95E
+B2F71C3D91717C6D67E482F2A75949778B7762B5969C306597D3E7DE1A2E0789
+4C2E05719FD56E7B5A00297236F7E64FC1078E6A13509E40F87C7B35D95B8E77
+44BBFA83901FB3B367D76BAC58E350189B08A9CD3B3C2CAC63EC563983BB5DA1
+12DB3D76CCB26D33AC5D6667575100A99CB34C9758FFBC6A2205FEA06113430B
+9E5D469FA4B52FF994EA44EB45EAF43C200AF3900FC544C2E87EA173F6F5306B
+276A5DDAF7077463F77AFC425A39C5468577E817F6937F2EE11F4F482DA3B5D8
+0A37D117A42DD4CA2B68905DF8E7FA3E255A1B944FB8F4EF4D9028872EF2D312
+A6DAA6330ABEC442BFDE476CF3B1BF1EC74AE785DD0E254FEB37AC0180DE1323
+C66D5DCCAE570E8CD0906FB2C30EE2A503560232E70550B287D1BDB534E5823F
+070F7B927237C12F7078E5308420515140B95A3E79B03D173E8B58EE20C13B8A
+1750DB02FA19ADA4486BF57E2AA639DD17871EFB0515FEDC0BC48F05EA63661F
+26C127DDF12168592D937549F3519242DF0090EA4C062DC032DE74EC23178994
+2A8F993B7E3BC8B818D7F1B33576A555EAB7B3EDF7C15E5C6AFE52D40D87EF92
+F8F0A187EC4D04C74A273B1B3C3669929159552CBD372DC51CEC0D003E88C491
+CD8ED174310E9A52ADEAF358C38DA297352C5F01B9F3663F8856B2492678D77D
+ED585A6DFFF14C996E12020BDC73E8EC9CB2989F0A43665F7EC189B458EDBFC4
+44FB54318E3EEE3D9914C1F8DF58F65DF9B57879C1DB3207F4C22242FE0CA876
+D8D19BFD1CEC28F5C91DB738F0588B8D9049B9D207BF061AB96986A1F071C4FF
+318B04B7B781566D9E4C51EFBAC1C686F9D4936BB28B7D95EC0C3847B1083334
+A9DF01C414AA1B465EC0B000B24C5B63C86497F3AEF237D708BCFE837B26BD39
+7C30FFABF50A06464524110C7D1F68861F460E1CEE0ADADB4608B8EFEBAB5802
+190CAA2C19483F47142B0BF3CE37C0B314E42DF72754D2F5E36981954DC5A6DA
+F823A984C802BCB03F17C1061353452F49A7B7EC4EBFE24161ED71BD85EDD6CD
+AC5D9AFDE544FD71C2169F06432F88A9781F9B5CF004BBC084BF518886395FC7
+FB58308F1F43496EA1B46B0AFB2F35354BD131F50BEABF18FB86175D1CE7A14E
+D3F18D19EAEA4BD0B4D7746B2598119455A51C1066C3C822986B6997FC76E337
+BDBC15BF95CA7BEC99F8472B68BB2E8B6FFEB59B9F6475B727B63AB628ACB47B
+C438EB30B8CD350A30371037AFEB6AA99AAB22E97EAB63A28AA67AE010103915
+32F3258CDBDF27EBB381ABD27BBBC47F98EBDB6CC91AE6A6593710A243C55A50
+C6F01396855EC30AADF5066A5CB4A6BEEAB87D85B6CAEACBF121B18C0D6773D9
+1E0A051AA4330E34FF66CAD0B636BA97E396DE3964CB8C510C096BA3D9F763C4
+F857924349C792F28E2D0854BE62C3CCFAB054965FD18F420BA29D8A7EB25787
+E7ADA9B0B5CE600FAD7DFCDFE98CF7EADBE7EEE849720BC5AEF8CE425A488EBE
+60518A16B0254C6E3C9D23BF2B813630262C7C6150E7A01B2A90B458CB4D5920
+696A0A706E53E669657AE1E0362BE66B19C34BE6B1B4546DBE2817043454BF86
+3F1650BA9AEDB4E24434662C53DDC1977DA288471CE0A760B7F4
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMMI10
+%!PS-AdobeFont-1.1: CMMI10 1.100
+%%CreationDate: 1996 Jul 23 07:53:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.100) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMMI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMMI10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-32 -250 1048 750}readonly def
+/UniqueID 5087385 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
+990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
+6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
+DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
+59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
+D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
+8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
+6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
+1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
+03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
+95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
+74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
+3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
+47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
+AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
+42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
+40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
+B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
+9560176676ABB71BBD0EE56B4CC492C0652750227CEC70705209555AF57651B4
+2E6F62F4E75D68A882364F7DB4B647C489B46E0677D3AFC159A2E79E4EC4F6D5
+C92F528D4B79A73A30A8322518DB097D307D25048DFFA5D2D1C60BA5FA590EDB
+6564A9C890549CC4D9459ED5BC94191E7327E0DFD8002A501C0C611093EDD0CD
+C4AE45BEDEAC39AE792433001E424DE29CBD2E3D57AB5E51F2C3CB657ED44B2D
+D66A47C06A0C219618CFF1D11F7041077A243000646DAB8528D5946E66383A21
+DD4070ADE71687BAD5F0D2EBB80C2D7F68F7FAD136F7B6B67809917243DF769C
+1BAC8C4D9E26D4935FAC978E86A1D1CF8FFFE4990C930DA1F2FB2A0988E51CD1
+281CB61FD92CC8EBCF
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMBX10
+%!PS-AdobeFont-1.1: CMBX10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:06
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBX10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-301 -250 1164 946}readonly def
+/UniqueID 5000768 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
+7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
+77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
+2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91
+FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F
+DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68
+7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4
+9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176
+CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D
+6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6
+E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E
+8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E
+3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99
+EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4
+0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9
+4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6208BA8442C2FB5A
+696E7E21859EBFBFA7CD4EB0C76171CA80918BB7B7101740C0BC82DB66852575
+F0A73AFAC56EC980C4045BAFEBBA7B5939EDF6D38EB52A4B88828D97DCFDFF48
+18C925FAFD5FC8CAE4AF1980E8F35CE170D31F2B1669F9839FA2646BDCC70E86
+98B905B9CD7FE4F2F92D1127DB031F0A2F6E38A2A32415DA33C79E81684C7DDD
+6E260679732A2D20D6BDE27B65F9176558D8B65362F61FD87D9D742336A93039
+AF47F5F3FD6ED94DC2FD9C5DEB0FEC3581E275BC94ECEB7B517E88F6126B8A39
+2F963B8186EE2454E318F5CC571A951409B0E69BB7A86971A05AF4F329B3BF19
+7F1CE08A4D8635BC8BADD348D12AE567FF26A95D677617CAEE4CA4B282C8E1BC
+D4D66958AA329DDE6CAB90B3FE38E49F75EC083CE8A49285A45B4BE4AAB05AF4
+C971DE2097309D26995CDFC3B366F7A7F361F9470E8C548EDB3CA0CF7B4C1549
+5DF5B8A875950FCA3CA294A4D999A312A075FE82E60F8F5E078FD9554AD5FF1B
+3B6977E3062D3DF6FF094944AE4AA939D6C253F4D15F219219825BEA068392E9
+EC101ECFD97654CB959F9AB2CCB8752C341604BF43CC7423F36FFB6897FDFA0F
+4247CB3781BAB367BB79E69C05F415CDF75CA4EB11167F2B2504EE906FFD3EBA
+2FBCB0CBC46A06499CDE099D1C4E462A59235F808BFBF83C44EC8280292E97FA
+0126ECA430CDF257559BF52CCF2D3CC73ABA81659A155C7FA22B15E6DAC8C7C4
+6823E50E8961F05D37843BD0A3F350CC6C62B2DCB90A0EED18069A047975C48F
+31EBF2453FB7F04A266A904A25F16A0B10BCD3A82F916316CD3DFD80541C9124
+F8C7E247623F234759328063E40450C9DD46F5AF536A3AD35E6BBD1016B3D345
+EF77D08D353265AFF5CDD3E65A9ACE024764FE26323A6D87651C8D3DD74A734A
+5DA4CF6B02CF76A61B7CFFF1C1B61F429DD053FB81F7849CD7930B941246DE6F
+66F250E08C1ED841EC3C21C0E5DB81E80EBBCCDD5AEF2BEB305F66A760A98BB2
+DDFAE8FC0A3C5215B67240AECEAAFFCDA4EBDEA61FBE97AFCFBCB72020CC7DA2
+D27FA0A1283708A9EF10AAC7AC325E23A5305A9C52E80ADE6F9069385E661335
+40D93341B97E253FBBAB65757CDFDC64091CDDFFAE2B6EC1B9FB1F73450902E6
+8FFE5F9B24488D7DC6AB23216C21F7B5F9FD436FF57BD4F60CCA33F27F7D0B4F
+9373740113FC9AA64E8E8F21BFB175576CD9B6D3D529A2FD64E630C3B4BC8AE4
+F1DA6AEA8EB784E105014687E2D7B58EDB7020F18E121B6BEF1F7240CAC29B07
+E7E8B6A1A6E80133A81B9B3B9C78A4FAA1F54CB727F1CAA1AD7744F5EE03DBB3
+920D8A5B087CACA471D52DF777E549C92A0AC1506FA48FC448450D086784945F
+4C1100098203345F3BCE2AE1FB5B7C6579B91C8D96290AD99F333000A1C363DD
+19079BA315BAE6C336FC5C32D2E7F9A6981C9CFB6A1DCF2AA56106C601886015
+B2233D128313C9B6FD44FA3C677C4B985F9F1F690129EBDF41BA1779F517C0E8
+B59E5A80C4654D655852F29806C80D6A627AC2A9706D208FEF55DE1E9689FAB1
+7864E7869BBA521729FB0C4193A3CF7AB0E7B411B355341EFD92F7AC1BBD0948
+5A88DA898A01F2EC4180663C58849CE5A1CFCB7FE179B783F37D296752C53BD9
+F892AE55FE5404F83C27C9DDD55139152BFE45471EF32A5B19AE299BD4939EC8
+EB45BF4BE1D815C4B1462F0107DB0A9B9A22C8F7BAC70310FDEB98A2F7013A12
+E8C51E8B889523AB5E73FEC72252597C9159F9AA487E006D7DC8D6AA849BD47E
+2D2096BD7762B3329716E30DC7FEC2FEC110F5C54F38D8EF8CFC969E59F94018
+95B23DA928C0005BCACFF08258C9166922A3BCD7CD1105D85F513707F9028ADC
+93EF4E0F55AD1122CA97E92178AE57B62AF5E6D390AD2E14BEF59553B2FA4761
+29FB1F35E890C15D3881AD7B57115AEF76E6128CCB907E0E2BFD6D5B8235030F
+B0A1A35CB9E53586471EFECE5356C0E35A0273041105DB6FE1B45B5A61DD3EA6
+2823B8D0BD2331B8F64F350328EBC158940CE8429E0CAA8216F497A5A5430958
+C79D838EB67626BF62F1DD98965EEA0D4ECDB4BA15BFB5ED7F568410647938DB
+2B020FB30BA29333747EDCC6483469FBFD006F3CEA06B8E0E72B9263064CB5DD
+E42862F71EB87FC3AC5C433E3D05B06FC23B4A009F822A497591F8BD64C38A8C
+4CCD9B9D879523CF268259FDC13D62B48EAF12C8DE913FDE1B0321F2894AA0C2
+F0A248CBC17D7F6F075CAA012563D8C1C9BA623D360693BA2D1665F2B532BBBF
+51037DD7465E3B65E14A1F29B5A337EDBC1EEE2B957DD27F0BEA22C24B6DFA9B
+138FEED201FF4F40960BA8EDEDF5CBFCB0EB6886716ABD62ABB49F0834F45CF6
+11DD293FAB52BF02ED89197A7BD2D419BB1EDE1757A03F8388875AE484C1A075
+C72F40F5083A9B090C404036A3228FE6A397D2EBF6B2D01A99DF80A010A58EE2
+0CBD8DE33F94FBA4BC06D573C5F2BFF9045A803B1F8B2204F7F72F8A8BACF0A7
+A20CC6A3B888430782242DA75E7B868A94E5455C969C9CBA1C5F2AAE03A7199C
+84E71C606201AC873329F3EBF434FF4979CECF37F4A9D3E9B9AEF45F07ED1CDC
+73CD36A4A1153583314922C1066DDD5CE617B89ABD77E66A2718FAA7D625E27D
+F2BACE408AA579C8D4630FFAED670BD8BF9F31E8E2B102201F5A270FB3C86AA9
+F42F3E5DCB8F7708116B11610B6E7A898A0928D5FFECA4ABA5F87494EEC2FB4F
+AD93C0482B81A151BDF17C324C7EDC9268126AAD4E0B75B626FF0CE8FE8103ED
+E6AB1C9C5976D2C308ABD0FE5AF4290F893F3532C2F2D6F8AF7D885958590318
+07E7A7EFB79115CDA7AC1A3BBEF151135BFE012872D75C1AD3B738FD8377E2FF
+25C610D463F46630F9288F1A4A224638C110D73302CA98D973011F561BCC8900
+87BA0AAC381AB725ECBF902B3F109318F854D56E8E40EE825B828259981FAC09
+80027D7A874B6B2D77BA4A21BADB443AADA891C5EAC059DCF0D6276CC7C23D1C
+E0104F1FBD10CD49C73AC3721DDF358EA83D599CED87B42BB55F83623B78E1A2
+A15FF089BA5500773A0AA2A36D020F8272EEFE118BE67EC135107EB89FE8ED17
+C27B8C8EAE93D496A1187D5D59507DB228CF7E723A21B36130EF8CF41C289206
+AB7B3418E5751CC7DD4B20D0B9EEA3BB37EA52622AE47B9D6D2B8999178AE01D
+C21CF1410B3D460352659D5FEDE07B07461D71B0172E31D31E386CC73501A817
+409A8A2417EBF6CEEEF26A9A9E261990AACA42378302E471C83746724FF16749
+583DD4E0864717C7DEDEEEF1A7051D9D2DC642EB952C2E8A2DAE2FCB0D40CC86
+C58DD69A26AE12DF2E3F6E3E806F356C4837B9EE0E947AA2BE87056147E59980
+1290612C4BFFA4019EE6F7B5FC7E40E940BD865AE44C4154CCAEDD68C2C15AE9
+D87586E3F2ED54B2E5ED33237F7654A27F2F22FC6A7F701199A74F854120FD54
+7D63267425B4996CA56350CD8F5C00F91501D2C30E80C7C334EFB8453AA33252
+5EE39755AE56679E77FEE464612E8FB8B1DF87FB53EF61494CEDAD35B20E60C8
+59A3DFB19ACDEC79241D26F3B0BE939F7D726C2341888482D97E3EC677DE9521
+4D041B236FD16ECE3C46BB81BD3D5C3CB3FB272E06ADA1B04191C76440DD8449
+BD66A398F3F13933B2E7F3E578F01AA9AF1C9C500A2C8CC6EF720C819680B002
+EB6F71883A439D9556552C1E7DB39B31C1FED35EB112D76FA46B444F94C75002
+55CE4284198DDCA9C686693700B8EB63D33F1890C48E2720DE36076AC192F7E9
+704B593FF8949CA4806982FF6021CF4464792138D584FCF21AA38BF3F451DC2F
+EB998B1C50BC6236B3B63B1B8B1EBECB33882B79B8D1158814575C0A7DB7CC6B
+31D8FCD67DF257F0FF8A86485640E16255C4B008AAC06188B0ACB0F5E0672D34
+AB769B9622B5B592B2E697138020133D67887973CF668022F0D90046A88BC7ED
+CF19A3C6310CC20A5A48A08045F6ED9A9123558F913096A4FC86309F07C15A2B
+815AD926F9EA051BB546974136E7053042FDAB0A350E53E9C0808870FF9F4536
+53CC49600A0D645420CEA59C3CEE49341D8C4E82900B19B32568B09FEB665728
+E8D1C3E786A9E8574BBBFAC82F83A8C966CDD51C843DD6B1834D6C0BADC04AF6
+B587DEA65C6640D4D15985B84FED4C855BF4B6E61BCA9E61B138E9BAD58AF2C8
+3E6533D312A99610E9E1A81C6089E8F5825776C0DA810086CD0902637910C1C7
+F8124ED3EBDCEF5F209D3D803393508F7531ED748AD059155581EC7066C09F1E
+2DA8428C4F49A9016CAD752C1D6A0DBBCFAC369F9F98DE7D53507520E71B907D
+17A8E20784B6E6817CB2C3B8535715791B9FE4BD189F7636A691AB086F20B2F5
+53D48F5A1BEA8DD004721F4A1AB27C74E2CB861E82D02099BCA90DC49C3874E4
+87EC21DDC89C84FC6674523DF59D88CAD4787B0E043CD16CB327CC849149FF72
+B568ABDE19B8E8117E7A0008ECFD5D80F05E726A602CCE7FEAA50D497ACD5B5A
+F49A8B30AC5F8A157D14DA89487E7BE9F37E27629E2755017AC7077357BDBE91
+8D6D3FAB8C7E518B171DAF01D9595D81C912443B101F0593669B0D4A21C75C1A
+CCA6AB74E9B3FC6C1DBF5279F2D9028CAF6F74F46632147FD49EB86D9339C314
+D1104C40F259D12FA66BDF52EF10AAF7FFA991AF60DE7778B1CBDB851D0F86F1
+5CD31DE3082E623A37EE40B7A6A6B95D1E63F68C64E3661F87D1139ED66B0F23
+1A373B8D9E907B6EA9124FF5BDC9FD521CE9C9F0C78DEA70149362E4AC399322
+AA46473E2AB0E24128EA3FC3F6926E1B2BA0846FC2408856C80E8A1301B00720
+8E9594F1730127FA150CC8F0BC78FF4E377B83F850D1551D669A0188AD06B92A
+28F032E5E87E928C832E328A922E2F4FEF23C1DDC69586FB52E125D4E2ABBC1F
+AFF0278BD8CD1DAA3BCB119C51ED1D28AE2DACD56D59727BCED1BBE8206546D3
+CEA92798648F1DED2CD3129A3D22F312D1094F851EE3786AA948A0698E66C03A
+9A3355DA6FA41C1C163F5D132A9DB283E79AB6B936124BF4A2BDCA1A52DD4602
+A229F09268A4BFC2E4CCDA8B35697CEC90B783EE370622B897BAC15EE5B04F38
+F6426F60C469904E86E8290BCFE14A2CFA6CD1D9A622621227177BD30BB23150
+11EE73307A3A8C36FAC3B65116140916226A8E49FCE55FA3C0402C44FE179350
+DF27C76A0B7E69C53EBE6816A72148D72CC4EE4A94ABF65CED5F1C42B15CA603
+E0B3EBD83490BC384A8275AAE98FF267DA28627BB0D2BD57146F070BC183F476
+C5792D8A62FD6BF5928D6C3B283C73F9EEC0BB14C7AC5CDF6CB9136F3516A351
+7CEF58BC7D3423009F71F04355D787A1C6B1484322F717AF1EED59E2A56DF794
+42674F81794A621F2886638955C5865B623E26FD09053DF23CB322FF8F4DFDFF
+06B22954817620FB63FD3FFE15A5637F3CCB8240AAD956D23727AA2CA0623C6D
+E26ED1AEC0C0B434ED6765C1E47A15760B00E1A1CFE082C84FD90AEE53697D3F
+6B9AA1C64CD710B2D9B9971D8056C7D0276D4130102074085DE905E29994D5BA
+1B6FC69AADA9EF48F236AF56A4E152E350BC22D77E046070E3F3B6C0BAF14CDE
+74B55FD32E4CC9937EA9DFFF2699E6334E906FE5985AE36BC996240C9FB6F7F5
+FFA0B17E220FEE729D8CD42EB970795805E800B88027877960BAADA01694DFF4
+EE491A61B80D3F6A43BEF8B00D51F6E95E0B67010AA0BEE8E446311C79FF25CD
+8D6E592A095AEFD211F62BFCD969E0FB06E5F21C74B838F8CFD28D8E76158DD5
+6D073A64ED69A0D1D88F4E7A518565E04105C153D03A0427BD4BFE6695D27BB5
+FBE6842BA3D7D75C264F22ECAFABF8C1841367A2C6A5381A1707443164606B0A
+83C2CE8466173FD84FE0D51486BAF8AF925342C3DD48C39C1E011083C239533A
+EA33B44B9A16BABEBBC5074CA05FEAF48962332DE705AB47E6B66F03DBAC4934
+360E6520AB076959F3CEC83119115332F452B8B5B3B5711CC436E8832C3CBC27
+A0B788A9555B67AE2145DC547FF53A17E0969B03BE29173D2BB3617EC2167EE6
+C934B5660947B86260C814E44CAB0B641D0F939043C0C63F3D588372C664A7A7
+6169CECE33D3E29FC9F70E3048AF47DE5DC6EA5DDAC874660BD82CC68D2F9479
+E9540B2AAA1CC9A84AA8E666F422F2ED85B5F166789C1485736B3E584790FED5
+1B97CCB53BE427D99B7640C3823E6659BCD770D4D3E7E770FA80615CB7F7B384
+B809C4E9FACDB32FF844B9FFA00A6B29DF306AE6E9A4D2BC3F5B39FBD031C43F
+F756CE43170D6C404E24E6170239792652C6D7952118CC2491953EA5B7F98CBF
+D3E03A71D1A9ABAED114C7E09CE46D132A1A0919C8F42A81DCFE91D3
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMTI10
+%!PS-AdobeFont-1.1: CMTI10 1.00B
+%%CreationDate: 1992 Feb 19 19:56:16
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMTI10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-163 -250 1146 969}readonly def
+/UniqueID 5000828 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
+9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
+21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
+06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
+55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
+B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
+0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
+1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
+7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
+7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
+356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
+19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
+C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
+244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
+AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
+5C4C0A4F4995AB9FC821B1B553C7B589F0893BBC85EFC15FD2A1360E4BB3D051
+ADC2061B72302B58EDB8556D03FBEE3576F35486D2DEBDBAB0ADA7E680FE420C
+7368C5E731CD3B35D44599254A45B76119B19847881361091F0E4F77DB626B83
+0A357F0336017A1423F82AFFB57F9804830497C2C6C83A85A340D5D2472AE0E7
+425166E9591254AE4F45B4060F080C4EC92A953711D45B6F82B5A3EA5231FC9E
+4794896CAB73A2F2ACED52AF9D066794BEAF0EB7F3E3C576E45B9145C6614172
+A38A90C448FDC45A93697A4F8FC0033CE4D66EB5099DF3242E363DDA93BEB695
+CDFB109F708BB748E78BC3EDFD4E8F036B7A8E0B933723216C053851A681C77D
+AE71C9C8EDA1C1E01FED1A686EAFE3CB12F1E2FF149B02463596BD26783DEDD1
+D735DAC9E466646FBBFFAADEEC1277F9FBFCBF4B160F12C32FAE78D098507DFB
+F409AC799968DF1151F83AC0A94C4A033E8C93692F172514CC3AD0C5EA2C6E64
+928210BE563D4FCCF53E003CCD154066643C8190F4BE6266EA71688D6DB16248
+8763FDB07939C1D43487287D266EF1582F93C08CD4D91985F1C734DF16F2A740
+86075CB42E09F62FF768EFD891834C0DBC02BB592941848B4DFABDB690A615B3
+F17940D8ED5125118300715EA2CD3F36885AD45509FC3CF5D3E4F82442A03259
+E1F4F64E449892AEDEF424873D9F0A05E5499620D0698F4D12C25F19D6A4D06F
+29289F3B6BB2511DC1F0BC53732AE59F785CD851D30AFC3E6E6DC7BA850C1B52
+71D10F7BEB2652ED50E83830D9CBBA2A39A813FC25337A00F9E0CD6EC5FF55AD
+9E836D7CA369B2F3AAF8AFF7714589DDF03556DB9F7AF2094EF5AD0CD8C23DF8
+1D6ACA2AFC59CE3B18247D936F889486DBBB59B8D4F04E0C3EF87B7835892AC4
+8BA21AB58795BAAACFA1860A24C6CA59081F15148D64FABEFE8B1962CBB7CA8E
+0CFD713ECB9F3E2177D5F08D04A8C33534C20915E6CB2811ECDB90D4B2ED84FB
+24BEB3804931DA40F7B62F00F970D67333B0AF9E39F460B2690F89486DCB76F4
+7E46DC785BFD19300D416A809AAADC86CD415700D8ABF62C8D4BE6EA0990B1FE
+947FCCC4FA63F8ED2333857BDA3CDF21ACB7CB813B2ED9C4949CD0AFD9C8740A
+A193B2F0CC8368031C6F934ABF14715C8732BCF31B0B8BE3715EDC3DD9F3E2FB
+78FEB21823176987D0D80F4A8D211FEB625B1FD473B73B8CDAF123CC51265649
+65F7999CDA2C3EC073A0452D9BC1BE9908DF1BEBA2A7E78DD29F1C04F9C299D5
+DF651C65108EF858E15E3BD2C49BD67E41D267C178654E8B8E5DC714963B31E0
+DA12E138D0E3CC4FED89798296C41379BDE85C371FCD3DD7FBE07D1CFE0EF4F1
+7EE98006B3DDD027CCFAB270A3778E2723EA6E1D21F36155EA8F3A6408293CB8
+628975E21294B59B8EAFF496D5B5F2908A3E841AC519F3493D6B276AB9EAB52D
+08617E12E0ADCACFD1BAA267EE7FF31964D587517F11E3BB69006325666070D1
+4CB9E480A38044B3C6FF5988845114882D44C75A9FCA833213E2604EEF2788BC
+0EE9DBAF0657B12C2209BE192FD178184576D92B6EAD099A3AE94E06CEE9E3C5
+AA1D63D2BC485AE7EE9F04A7CC7AB93AEF119EB3BD8D6027B20C8F1EECF2544D
+8991A7514F3B291825434238ABC50E8655DCDD20284185AED9E43112721395BD
+FBB0C9DDA5291A595B396229481257988320D0EC9E017D89840C936C8519AC75
+A3A5198F782AC0C7647D49F7FC03940F5D9C0D1081985C5EBB8A0D161FF1F622
+6EABD40B1F68DB99154B4B608CC847BFD33B403CC105136CD5B8817A0C4F26D2
+FA75D956B99F5CD373D4FA9BD1074207F189E107C304D905C64A5419AB18F7C8
+7AB37D96ED5CDD2C2492AD2F30EE8F706C8325FF7DA066C30325C8E5C71AC446
+5D0964905AFEDACB2B008B016FEA4F58E5F410E1B4D4689A9731812352837CF4
+44818965AA6D52BC4160DB323B352220EEF930955B9E08AB7D0A9B95AEF5F6FC
+3B663D0B20A40C53503B118E180139949893063395FA111FEEEB0C8E3C0BD69F
+BEECF0FEE8049082FAAADDCCC2A1C3518A19378638A5352192398CC67695D84E
+4894BFACE7402AC5F4685E9C90C6409B1C9B948FBD412F1EB4F4AFF0ECB6B209
+D82D199A5B0824B20C280641BD6EF0EEEED3AF287EB69897D524D7C67F1E7F65
+A91F7F4BF3EE8540BEFE50E0E892FE82B64B3C5F2304F3E2EB92DEE1F404B939
+B06720D70D7EE51E23D3A29406342B11140852B96B1322F2A99CAC73BCF9D2F4
+CB677599565FD4DE689B109F6E260C6A9D34DB6A07E47EF1E8A7AEF05DB0A36D
+7134C682871A5934D10575FA74778E6D97D3F3FFFBF3855A9F8DF910C97E6C17
+94A38E2481D7E1527A2A618D58FF11E70490FC03F549764C04D8F24AEFDD8D8E
+CA0C15E2A2E0679EF66F425A3C55197B4D096FD5FE9F1AAC9CC16620017418C9
+56BD7532AB113187EB583745B16F2AC6A75602BB9E138E9D29347982F3A22C62
+DCB8A71D540A6D0C3ADD8F186E95E99C2F8F0125A2A78D974E88E2D946E39A36
+E5616610E46B5160183917EE976009B8AA4AB05C40EA7B44C6F6CC2A5FDBBE3C
+3F581D6B4A458277B3506B727CE042BCFBE6BC16FFFAE457BA0D22133A61721B
+7917348B53AF384FD0163307D795177D15F2B03990DE9F29D0FF34C6EC132390
+E9F47FD927B044AFA15DC3B12D812F8DEE162F3E32A5ADD161A25F0EC7795262
+682C615CFD421DB33AA2F8FDAEA78DD6F33AE00AB220A366F35186D563365344
+836A22485724796F80910D7824C8253CFE239067A265A5790AB009DD5EE2CAED
+ACEEF27CA9858AEFA6C39DF96222C8D0A6BA3CFC8DB96FA28426457DA226C3A0
+7D3F0C0333C391A0B08829DDE01E246F796B6CAACF13BBDD6D949E0632043D6D
+98143B278E9F8CF1CD12548C136306A9A13595F56319E122A143CCFF3D5C6D99
+0B7672D3A69F43D2683EE941C1ADBE767326194948E6BC402DECC0BC92BA7B79
+16B1F9F28A992DE608361F39B6A74EE9F5E461647C6C51BE369150951B8F9028
+685BE8342AB67165C3E833FF0D7106AE9B2F983C12EEFD9035CA4AFF96493DAC
+FD0422217AB24FE8D611D3CF58058BBFFEF504D3574416506051066423F83A98
+958E4667864BD2EF6FFCC27149AA27F472C713D302A6F65EA2F2EEA413EAB110
+13504B8B8A22493C1A2D9ABE2814200415C2DFC6CE767F6CE5443C74AA9DF000
+15A5BADC9F0B01A935ACD0FB49D431D01116292CC465AFDB4D870DEED42E99EA
+49E8A6E78C9B034858DE2DBC1EB6A6CD723CB504AFFE6C4F6AAC494D362B0CF1
+F5AA2476D98725B92EF876916351F4B0ACE36EA9F87D81AD5D9B78CC67739AB4
+65F17CC24005A4D2DD7DABCD0C12CDCF65462C3AB6BF3E4F7FDF3DD56743E6A1
+31B8EC4AC2CB9B07A6A324C6CF8299C67E77036A7FDAA1EB0EB85927E33A056C
+CFFF269E780DC56E27C924A2ADCAD680932768BA26E99E7BE7D703FA964E7425
+1D3436440B41DF08638628D072D02F357D41AE5B34499CAF433C89F70EA06061
+2749D560B5278A04424BAD2A18EFF876018160585D8EAFC157C9AA36AB2FC360
+7BE8ACBE3040E15749CD34C2930702CAF3404CD484A61222860FBF5B4BFB093C
+6111FA1CAE07528270E52CCCA742FB6419A590B55A429354B340064455FB8F8F
+F47C365932DCDC6560EA96EA7F540640988BCF07A6FF2574EDBC5D250A885C5C
+20EEAAB7384112516EEB9722FF2620B64C7A46723C2116F096B634806C145A04
+DA10D2B332943EEC74B7322AFD7B0893CDA309D5AC6FFC0D775BFEE136480A12
+B5AF10E2C32CDB9C5A85B04C9D2546499DF87CD3AF638740BD879401C2C3C923
+5F45ACA10B0B2C036773078248A9A8E49290E19DAA463A44D944EDDB0EE0F694
+8BC19A918A2A6405A2C08127E78586D54E8ACACDAA0738BA6C0616EA90FFCE18
+5383470FBBC1FB8F7A9448C85BF00F7A07CE543853CBC7164FF89B9FEBDDB845
+0893B0A1EFB863FB3A2141E49A7BA949E80D9ABB76183BB37D5F08A93636F4A6
+40EBA0D805B9FF1E379FB44A01E1FA09B37F3406B9FED491A17411B047D062A9
+2CB49E52AC6D92DCDB458A9D1A15E284A55DBBEB1D33DDC8C2E9B16A1288F308
+CCF623C29EE123396D4BE8E927FC12D8E9188C41CA66CFFC8033E018E7A81B46
+9C2A2B0949A6B1E63EB3943A6D3A0D3C8E4268CFD5C550203A23209ECCA92D95
+4E71738B1A7BB068F584281B0C8EC5AB56003E38B6AFB30B1BC78E353351AF01
+0E144B3CCEBAE4ED2407C9A6E7B950F5EA34EFABCE84F3F0668A5D6F5B9EEDFD
+9FEECC32E9941A3E9E4CA76FCA765468462B908F13AA619CAA22F446C28188FA
+A304795B0EB13877C467BF5E06FD41094EC880A894128E82A14046C92DADF82A
+25F36E490315FCEC7ED0A13DE0B89EDB37391E812C7E18D223D56FAD1C53B87D
+E222380D0CAA20627E9A36AB04ACB147982192BDCECBB31AEC669A97CCD768C6
+F15FB020CD8255B7195D6F3E86892EC1D46B905F3CBA8173959738C73506F39C
+63AD92781FCA814D780104C1A9C9E618F9A84D683F052084BD2FA802E52CC99A
+3C209A64D1CB310677C4BED3E4223767EA7A1F5D1FB0B58DF4E7D1BC2610F9A0
+1889C1717DDE6D328029AB71A4A53A4DC62948E49158BC5D257EA6793DD5D92B
+3838A081B871E748FF7299388D9B56499662F59B846B7AB5E5FE33FBC7856789
+811C42A3FC4258358DA8E7275DD14A0EDFFFDCB011CCC679981EF1AC0B4DE50D
+CF6D7A599C4846EF52895B0E6E68542B9E49AFB0FEFDDD1A0E91D762648CAFEB
+F385191667DA5B90DD8082B030E6BB6A632C1F675D708DCCBD49E412602B2981
+31EAD7295A7A5776A97AA84F259A004A69D142F753CDAED19C11F7C53C91334B
+40FE0493D92CBBBAC195DBEEDA84EF292DE931B85AFAADA0FB658FAD05BD653B
+1351039E091E7193BB0D26C2386469B91B81339C36A6072BC6602CC23DAB3D58
+2944C0FDD50679177AABBD7614C52040F88704845C9923FCD255213E289A8E64
+AC4CB6B33B5684C2DE016A4EABAFCD9F1ECF0308DDE955E1475347CB455403C1
+E35053BDD0EF9AE42DB5A0F392941A10F3D97A121D2EFD1FD55A743694E68BA8
+3D9C8FCEAAF587953253D27C573B5BCE097A83A95660E3730A32713A3C669F67
+D21EC9EE98BD9EE92921B06CF6302537BF7A1818A9F39F5F44755539B6819730
+C4B626BDC83B46AB5DA1FC08D8AE85FCECA41893507FDF0975A15E88480867FE
+280EEFE6E8CFA2B67606EEF3A1DEBF46D332225A8B4F6B9DA46F6F114A352DC3
+F5B641D507F8661EB6253CC6B878DC285894673DA773A347627EE6C518A87BA7
+B62236FCFEED7C9444AC10CE48246101DC31A16380DC2F596ADE6B8412A95A62
+DDDB82AF32425174A14361E7916E6B5569BA05A3989414A6A01313F4FEE2D9CC
+A9BAF58A8E119243048DE38C9F0124E019DFD807FD180D22B4E8FCD19191CAE8
+0FBFFCF537D5C338B0ACBBFFE1ED4B0419CB13E441DCCAEF103402A8DAA7B74E
+1521D44459B572CB30EBE5FD86F09AC629AF4A4ACF046841EFE0D374EA437660
+B4375A75FDE67F195EB3C0CF4FE187FA449D35B23D2A0F446C5D8F36C565AF43
+A8B87FFE67B88A4A91A731D90513FF5DBDEE3AF6E8044D53C123A89CA7532131
+390B0D0A1456506264F48273FDA0FF332955A24376BC89F783129B52A4EB413F
+126AF88AC78E11B05DE2FB0DA7F2D0966A6A4B7FFCCE7A2556C983C4726D5771
+75B1ED7549F915E803BDDD32A7290DE5FCD5E0E45F5711A859585A2AC680A1D2
+8AE81E137EFBF80AF4698EFBDFCD4113DF5894980ECA986067479A900B885A95
+CA13C1C81E1D2258870A3F0A1E9A63ACAD329AFAF75A350DBEC675CEE16E174F
+1EDFE7EE9A09F2279B357530DD0CB809F57017782FDB574E027F4CC90F676FF3
+D3B0E22F8BF3B41AFF87ACC36A3FFBCD5F27985BCBCE9E52D4643AAB62D27278
+5E6639D60D75B444E5E48505146CB8B922500F30F7912F69C345CF0C4FE77832
+5E4C3B2120DF56B59434F02C95744BF8F1C8546DACCEC0FC2722FF19AF5D4543
+B8D2983EF45EB4FA6E89BC53BA5468FB12E85AEC0769751A00D33BD632D67E1E
+E5981174B6DE0F1B90E348CD3E0CF43080F0EF0C1C95BDB77973FAA0DD3CFC42
+9D1DD2E8EFEBD82092EF53E64B30B013348012A73CFB1FB395AAE75418764AD3
+3180D18FDCEBE6412ED9183DADB8615164ABBA778292822568EB55881B656545
+994E3CED205BFC65ADF2F5125CC6B604A047D99D78DAF9B6C6BAEEADAFFBF781
+0F591465F91E518CDD090F46CF1A08225E037F3AF2927DB353D03538373B5019
+3686D6D15355BD6CBC4E6F6226DA916C68490CACE9CAD81391ECAE600FC30812
+8C5EC591C7C0DC89FF8169FD5F8C65A36445D6485ED9291C65A1097B75249CA9
+7F21C8FE6589AAF1D43C27065E6E046B5CDB1FFE9B9EEA7B3B646730664D893C
+A15D2778880C139F44C98D14D603D41D6634A25C66D5E71419CDD1E4A904DAD7
+72EDF04C4F0D64F02C0A9F85C11B98024D5ECFD3FA978DFED9DFE8D5E2478A10
+DC9E9C0ED0F3D496EEA6D10DD49175697D12EF3AC0A96FA2262E382205A4A431
+CB7D837092099002893F807A34210835436139CE964D40B10F59CA5082E4B2BC
+9FC175217100328AE0A151C1C56AA45FABF625928EB83B46C53BDEB84A2206EF
+3E0ED256188316573880A68E409CADBC6EC91E06180E351B39ED8D6415887759
+3931B7BBA2C3BED9BD44285EF1BF523BBA7400DDE533DFB956E7434DDEB285E4
+B9CB22489D0177A280A8C433AB10C9033EB2533B53B09FF656B99261A62BF14D
+9489ADCF055DF2B681E74F092ADCE1004172445D889A3D0056F3C3D30559889D
+AF0018CC4EA375D674A529624F800415A81CC690D105D3838316F20B54B1E56D
+3FA94F7FED61A4F2A03C4DF024075EB84476D9889DE7ED043366AA866D2E2019
+C12A04F3E51F55A6EEB2CCBCCE2927C5E60818E9A05C779DEE5FCAAF191021B0
+D347C274C4D3774F0764647D0DE883DF7E08D72A6A2D3266024F65E7FBDE953D
+2073047675152A43C4FEA0E1C39ABCFED70218F8B9385A251AB3C43A597B5923
+45C6CCA4EE4984CC8E38EC5D11492970094886CA7C7EA5C05844A29B77AF39AA
+43C3599BB657B5E8A614EA151CC51E7D9BE06E482C04267D9CAF309E7F297E77
+B663915461CD7C4B6FBC913528492CF1BF03E99A2B43A8FF5CDAE2A5B8589CE3
+D4F0B9D3138BA58AB26C259175A7350B132F22416B6ABC10DBD2EEC95BDC2CF0
+1DBFB922EDCA13B5CCDD23E609934E97CE3A1B4BC832EAC65D6F5DCB42125120
+20457C364C4FFC5F439F541DEC2F8CA2950AB6A3F1903E43598DD1C3EBD2F99A
+9D792EB757B358FCF79C5D80383DA7B5304A4132E0BDFAD03A55A4051E6157F3
+279EA61501DF712B03B00C3D9C4498C12DFC5A4F61E6063CFCEDF25F8B22499E
+FCDFDE3D92C06670AC379255520AFDCE29BE53BBE1F505A80FC61F11CB5F33E4
+1166CA91BCA91B15C4744FBF48376CA381CBFA6C6467E0E0DF040A9CEEAB0F0B
+C935F514B60F7BB867B5EDFEF41215FB12B4FCAC78A7CCEB61CE173F685C2648
+2FB126132664EB678BF5F8C282F7DF0482116626E471B1376097489026E41E6C
+BDF614C079B5EA66F2BE9CBC803DC3FC95EC396B03422B30E2C39874B2FA7C24
+C48C18202E625F7CF2696C141F6140DDF9F629C01C450474E4484145254D24F4
+491C48A9FB5339279D4D6E3C9EED830B3FB1A3859D32CB4A3F24B042C06A7960
+C10834F00E530E3C440A2DAAA43FDF06F50047CAE0200D5D5DD85DDFC9CC0796
+E7E8BE7A24819AD34A61C3FEB5391DE24F302F45C91BF854C0EC0A9735B6A378
+A62AA95BD987081DEB232015BDB19566974D2BF42A325F3299E501F900D2EC23
+909F69CC9BD0F8079EFC029901B5458CACE8BF0E4475761E0E361ED0D5CA52DA
+388540B808DB9F3E641BCDF88EC56864317AECB1FF36F9666839E1758147A280
+721679D77789D80EDEE8292833FF8A86E035E47645010E4BAF476E76BEFBD240
+33B6D82D16848FDC6653A6D26EC2FE877166D654C25A4B09504AC36E944EE977
+DEEDD102C02780FFF011A1D17FE525AC68F607747E35026F2832989742424A65
+7D22E686EC94041335AD68B4003A3C255970AE16A1A96EDEFF036987640BA70D
+9CF29C586D00A93C7B1947998574FCA4BA512534934379E0EC25A9887AB39DA8
+CBB29E1D2A101317FFDDAB4FC0B21714A32957618B591786D9E93FDCA2C78A6A
+E41D31BAA6899B3D3A11FE452425F1017549B6BE22CE747DA4BE61F5B66E3449
+0C90A70790FA71AD63EA9B71BC284066B66C20F5BDA515AE93F422002D8A9556
+6982A571CA79241A9F86656C1A820C264A5D308658298B21ABA5CFDCC53344DC
+9F2FE72BC75A8D532450390298A7E7B683E2D44B6691943028CF237C81760BE5
+707AD4BED5A2B8B505F2C3766A932A1DF82CA0EE04E84310F00B76D9750486A1
+DFAA13C163EA547FAC050081B696A5B366243994F63111D3F2C0FED77B898763
+9FCEF253FDA00AFE9BAB8F01B02AFA733A12AD2F990A7218A1F77D7D3A92E418
+7187CC12F57DD06F54188ABF32A0477A989C658D6542876FAF0895A8044F789A
+B0E42A56DE677034CD7899ADEF20DC4EB63098629AD751AA30FEBCE559C47D5C
+5C9C41E065A75E27149D31DD9B7FAF4650279FE6E5FAE408EF361474E197629E
+01D70B1E8132C0485003684641ADB319F946FA85E9C5800CDBC40860186C00A5
+2D3EFAF6FD501B965A593FEFD2DB330EA364160A5A975A54C123656E49762647
+275599C1D130C2B2969F0E0A3AB1683F494EE514BB4DE902AA813D6B10B707CD
+F803AB9692D7EE7960ECCE3B47FE26E12596F97D29FA54DBEC67D8081B25B5B1
+4A7D01A164C0F1D25E333B6002F4F660B98C6308756CC899E96EF38AB08B768A
+7CEF31034D69F88841202BBC65B4BED85F0354A1603DF6B9645D8995370F6CB1
+986730F33CD0476A43EB26CAE0A8BCB69AC2044431B301AD09F4EB3B512927C5
+1C9D67EC43345F53475F4ED22E0C10C56FCC8D4226D405C9BC3BA9F47BA4C4AE
+896B6F20CCDACC05C6747BD5D058B32B6ED775CF9E101320962AA0211211CB5B
+F938DC2E1A2A87072C8DA03CB38AE4DA550F2D7763D0D5268B4F2D1C44542903
+6C0C9E3BC53F0D405D9D8533F979527A04D8BC48578B
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMSY10
+%!PS-AdobeFont-1.1: CMSY10 1.0
+%%CreationDate: 1991 Aug 15 07:20:57
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMSY10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.035 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMSY10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-29 -960 1116 775}readonly def
+/UniqueID 5000820 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
+7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
+A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
+E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
+221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
+27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
+5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
+0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
+DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
+71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
+4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
+515DB70A8D4F6146FE068DC1E5DE8BC57030ACE57A0A31C99BEDB251A0ECAD78
+253AB321023D15FF7F55A3CE81514C1E7E76240C1FB36CD4874DDB761CC325F5
+D588700B294849D690F93526EF438A42B9B5B0508584EA3766D35F5B8D51C458
+ECB9FBD23A4CE296F74B412F8A26BAF8B05A6D5794D1CBBF299B230BE3F3BB0D
+50677C16791F11388BF9F950E8EE6282CAA0700CD3F2512498C5983531AAF4A7
+485932BD20EDC6E9D1B3609EE68EDA5742FB36F14A41849A913C91635D6ED840
+6557FE3337935F695F2CDE42F77E7B9E5CE75F7F1D9951599838E8542BA940BA
+4ECC75755B7FCE85E791335E156B1FED30E9154E4D42DDCEA2565989524446CE
+08FB6FF3479B0F71A903627289E723355331FA1E9433F49D042D2BFD574787C1
+31F3E647835B5CD2D91B42954A87EA0E76E84212ED57D29EBB8C8FABB6E6FE3E
+854F65AF2BCA9745B08164593448B2833A8A718938784CD0B8B8816534F01F09
+05EE76EDDDAE60FDB3F7FDC2DFDB13E721EBB175BD3856449151FA373AA6659F
+063DF183583F8520615B06D64C8062AFE46C526E75431704580175E0157A927F
+A56CE030611F734F95B64E01E6DF328D983418510E8701E7FD80D21F0A0165F6
+0633185D5EAF29B76A28A21C1A778289EE852F4C19469E9730A770CA41DDF38C
+826E947FE06FC827B2BDEBF03C8DF4360D6C57614F086753B072612F41277FB9
+F97C48FE673F7E803779341BDA9D5618071BF7E42DC8DD86462E6EFD08A8D526
+21B106E73887FB4191E4497C4A5D96AFFA1E1C84ADBB5742EFC0771E4B5CC79C
+ED9844E2C14E7CAA5817C7457EDD3ACBCC424D25A1EE960C84993A7CC8245238
+6CEC121F967CDA4D6105AF5CD455F9AC220A28C175F7A7D5D8E4C59DCC304673
+3F46B6A13E926B2451F721176477274BD4502135B1A6E3772D0E918644CF6AD9
+232887B51CE5ACE6236B5303EC719EFBACA3257A975A56
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMBX12
+%!PS-AdobeFont-1.1: CMBX12 1.0
+%%CreationDate: 1991 Aug 20 16:34:54
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBX12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBX12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-53 -251 1139 750}readonly def
+/UniqueID 5000769 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
+B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
+AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
+7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
+20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
+B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
+68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
+D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
+26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
+F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
+77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
+BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
+C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
+30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
+148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
+E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
+E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
+337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
+0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
+472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
+A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
+331A1063F97A958B9066B51C7EEE1181DAAD54742F78829FDE853223CAB88C9F
+FBFA181337A0EFB401E8EB72B3FBC58F821837E84C8D4A0199F286247AF2977C
+70EA6C3BAA2193FEEE3A2E0C3FE8185B9F4AB5B43B1F39A89D5F18D9237799A6
+1F674AE3FFFE83AC2D4CCF6B3CD1F6C1E1B07801D0D22228AC68CA23B020F8CB
+BD91451E8EDEEC2CA2BB7C9F73E19553E8A62BE6B57D7A99A8EB5B60F0DC8D1A
+D679B2282A69CBE85A5B8D87D425C47C18D5629BB738756C8E398DC830EF585E
+DB8A5EB6BFE24A2DAF614E47D08B103035E80F7E3EBA9EF4E006F0D50AB21D1C
+E6CFA8A2C3EA7A7124C3EA0250656F2F6484CDEEB6C6A6988AD702E7B8F0E980
+FE005DE94E75E8208163CB14B66B5D67D296CC8218C69D104861B3C1CD032A15
+5CB2D5798FAE08C7C96633C406E920E0C6104491E00F747ACAF78A8A0C43EC1B
+6E65A3EC4FF68414B22200A545C54E677218C736398D5426CE88E8F4AB7819EB
+22356A8B3B73A44785FFB7E70EC2BEB756BB6116381D74607E88B141C68DB0CD
+61719569C425AA332B27128BDA04286F82D64BAF92BC4FD599AD306EF5810645
+DE9047F9A47F11312666AD67B7431FFD47D91A08DDA9ECEC72278076D7B657B6
+F07BFDB728AA7F0EAB5E6D5035D51740773EC711C22BB4D5CB673D1CB35DD36C
+0601C519A8969BBFD9A1B424E8C8CBC5D2236AF48B857AA00B87D5078D3AB832
+314CE61DF2B0CBAA10E2AB178658ABBA96C74494CEFC46DEED0A5D7E72872667
+3784D8F85A489ACF23DDDE57941431EA0FD000DECF0DDCE23D125E5506ABD99B
+80C828A2D7378FA01649E195E0DE1CC98E8A397D0FA2751EC6A0319F571D9C5E
+32CF2DC7A455471AB9BF07AAC16BDCEB731A52AB9A523EFD62B63F945196C5BD
+AE9ABF5351566FE4C97C23AB9228826BA1F89FB53E37C08C2008E4F519ED795D
+EFEC720EA1BDEA982628B3A564B5EF016B2E8BB5124B0B8911386EC7A4A28334
+FC23946574B6B81AAFE90C62140F444D0562000339E16A19063F884DD1992BD7
+41C7C1FF9C41EC1F7141ED9DE04E243C187FEA413F07ECC0A2C85A27166AB011
+B9C116964D2CF791DA77260380EB7D3ABEEA2843ED9B9B85321EFAD3E3FB4909
+E0D0B168188049A46E4150E9268B8DDC6EF8D817FB65DE740CC56914D7D944EE
+E19F4720A94880FD5C59A5479623B878BA04C2876D5BEE7700B637FAE7C4ADC4
+C3C1100A4BA2D8EA4385DE10D57AA7CCFFBBF4BA9CC9302A5B18DCD969AF3784
+90E24EF5CEF5A5237B6A61C90BB1164F5C139A2B7A765F535B7699A36B90BF9F
+BA5BF62F4C5E4233D0B4531E0E2013A34650A524C754C4C071AD79E413A09EF1
+45791CB8B5ADFF6A86822A3A50200012B721F8E0CD99AD00B2CC43AB2F86B204
+E46B4E1C126B6FDC2FD62338A55BAE29718D743D7EE37CE09BE4267039602502
+9703408D7AF99C78846A54491CBC79678845351F21E36F933EC3FE06CA6EF544
+92155727E94F641A98BACBF656EE90C3AC11CC0A4271856073102E0FDD7ED9BD
+8263214DD0CBD7A290A35B5F908E54127793C7E502A05CA9223048F409976B3A
+DADFC90300D7B6DFBB74D6D9FAAA2C231E01C5B9DF825A2F18E0130A9115236D
+96F05721497AB38820E9EFB5CE6AE243BD5BC0BB344800EC4DEF1249942A508C
+F1A04AAFA1E0011FD46CDCAD35E406D9D64BE7893AB34C7EB497BFF934DFB4B6
+699358E26068DC19A571F70A8C2E1E9F39C9AA4896222764860F2D20F34ECEEB
+89F70253F828AAFE6FDA6FDBBF87B7BB19AEF31CA89DB1CB8FD04E2DD0E59B03
+6FD7A9CDD7179C9278A88820A63508F6EBF2DE10589F18928B83945A8698319C
+44EE8CAF5D10B2C7044A19EB075EE54606E002B4A1FA0366C62F99DC2D67C9B0
+5385D055B8FEDC2BD5EBB18D48491C1FA27F5604AA9F9427812E31DA8DBEC903
+F3E7845B63C32986D46B108858730E688BE5F1520D1332FCED90B52DCA1FEC48
+6C6C1216C877A95315B177B9575E9167F0DF64D5D295120B98F1488019078960
+88E9DE4CDEF3541C789F6E1579ADC90763C645FBD03BC3E186FD7F85A20DDFBF
+7761CBF03CD948B260E556DF5FA1497434C14EF4FE2988F43210E1F280CC1ACE
+1693CB31A50EE0BB5FA7D24966076E6A1C978E8F4E3106992D2F3B64974C5489
+B47863C60F9831157EBBE9BF87E175217E583041F30599E0D51C85D2E46CD91B
+71E2469E5174A9740B744F9C92C3499DC253D82453DB027F94D5D61BF24310DD
+8089D6B6A6D43BCFDF7B1D11E6AE43F06F0A91D53FE4A957D708D9A7D2C57A95
+DAECAB73B1159C9F75AD48606AB5B4EC5DB9FFE35A770EB6B574624CB11DC27B
+FA3BC198083A86359FBC276BDA1A56BBE446825F7313FA6396464E7DBA100F3C
+043178CDAA6419CBD84AAF4A11B5B03591D691D7ACA729B6A7793D98A6CAF73F
+3663397D0D8A2D78F8E273A3C5560D096EB95B59BFEE2170A4F28B4672BC79D2
+71BFC813DEC91BEFF15FCDE057209D4F244E07B7F2996C665E6EBCB2247698AA
+D98AB87B828B7B4EEB9B0972C812CCD87C5DCC0ED89AE9DA771253E706DC2B29
+9AAAD51421CDAFE13BB83E2DB900CD828DB75CC7197C50BDA4988989464C4F4B
+2D704D023A86E47906F2AE76A214B4607792ECE9743087C246BAB3779625E816
+27A45BB6E6A5EE239E182819E4D23E7FF69ECCA8785C44B62C0633D2E2174DD7
+26FFEE4D36017CEF09D91451598680F6F4B5B9705BEF28A584BC5C99FD65FA0B
+360BE5854011FDF97ED134549B3DADE77B469681214E3DB35B453A4827CE8C2F
+3F5E8B7C1031A37CCE4F1C5C528AB81F95DFF24BB42964B6C30EBE405533AE52
+25DFF95E9785850EF9434C5BC604BC7F7581C9A52E0BBD9AC7D3E5420A8F43D9
+49D76503FC289789BA3ADF019CAC07976AC7C3A0830CC50D8386AB3287B0786D
+E34E0F392C5CBD600E2B4E872624D7F1462F925616D55FC0FD320FD9473A760A
+01F36FB744AFF1941DC192BFE8D2526B179905195DCDEC241DA73A5137A9EC6E
+96E1B07D90503ED8563B9C7D5F297A43D3409F26CA5118A049C09869139B40A5
+FAB64315FDFC6E8B18707DD6E74D4245ACAE6EF843766140841791297AD4682F
+2EA18B4B608E73699FF60060CE6B8EAC9190EC17C03013009B9E8E2E85279449
+991A1FEF7F8412874D8D9947AF8E3F8CC79BD3DD031D8F25FAB060F6CBE46779
+0141A55E8CF8C6900031327FEFDADED5FDB95F3F7848FB9127FF3E615C73D06C
+D6B8A2A61154D620B28A362604FDBE2B5A14647A1DBC90D98242CA188B612E17
+B016238A21557BE81C9E500A6BF36737B031555D5BAA0486C15178EA807C8DD2
+600846D65DFFECC9FBD91B8E884E5A0E2E61FE224D0E5D2B765D7F692C024FB7
+360E388FFF9F161AE88F3C472D64C48F4C34FA1AA463E2B23685EA6ED10B5154
+6E1D2CF408BEE83F081ABD6F4A8C866530028B8155946EEB3D48ACF1176FFC8A
+5D6CF0F41C6E7809130DB7392433619D9BE8D7E3AC72D4B8C9B3F44A40E1B4B5
+4AE3693638EC96D12D12391CA12CF19C86D96F605DC52E3DFC1E924438354CA3
+C0C42950D02C36E59E937C569B09407F113A422FC5E0D0FD83D9D0FE833A53FF
+CBBB59B5E18133A5D29F1B9DB064100FF0D27975BB5834E235089042FD12D7F2
+276395C0E1268E60C82205D0C3FD179E4708042291BA2906C9D1C5E1F1446640
+4CD28D6733A3875BD15104A0EE173462B533F1D08FC53C3347CB97EBA04861D4
+D6F33A06572B93C2F02F08D64BDFAFDAC5289B4EF3DA65FE1B5BC433D84B9415
+06427D3BF6C22200C246A2126EFF7C9A5E46264B0F0C659226E4813B2604BF4F
+7F8165903182E633090CF92B27D7FF9EBE439D43A6606D69A60D13FB1F32E5F4
+3C5C0540BDE6EBBBAC82087E2F68BF02D4779A24F49283668E6DF318405F81B9
+A487E92F7BE686EF5B3A30168E64963787A7F6846A1F14A92B71AF81BF77B33C
+3574F3071A97B281D287B702C2B377826880C493560BC8ACE688A05857311890
+14F5435C687911FDF8B0DEEA0CC9F980CED768CD02BEF96EAEBB5409696E387E
+8A201FD3612B89DC41FF177DCAA767AE304C861157A2E6591438973EE0578703
+F0F65133F65D4EE9EC42B7C9572CD685096EAFEF7A1BF3A9EFABF196BBF0E808
+A23F556B738FF876C1C3AB7A90C1F5E3B32C249A4F65CAE22E5A91E5FF1A3BDE
+784F4BCDA0799F3B6EB40F31C0CC87ED719C6A789FB98B8704EA369C65DDB429
+00083B43C4163FF1F7DE81417B74470884B31793E28310D5F78CE2FD3F15C15C
+7545F3FBA3177B3C93EB89851E44628E8E99E44AB8528D929A597C55626E37FC
+6C334DF51C7CAB52E014653C6F4EB7783A3EA98F5ADA3A249C637C3739689959
+EC06825CF0B8CE072AD4DC042B641B2DA05DC6AE98E5BDBC50670810B2140635
+376004C3E77A6FE67B4D884B2A429FDC1D18FB2C1A1AE1FBE5BB99C980B17A52
+967D6687ABFC30B4210A20424AEE1F562CDA3FF2491056E05F248CA7A6D1BE4D
+3E2BB64A20CDA7602ECF7066413071DE2DF45932E79727C9EC1243EFD2677D41
+705F75CBB823690D5E621FCC197970EE9D72E278ED1A74B7443DC3C5AF70EA4F
+713EC71A0CF22FC53F864D47EAB177FF044A16E54FA7685AC4AC4F65B295A02B
+2809DF99FE095F301E0C4726AAF4E5FDEE9BE6E3E3A5C8640C973AE2544F82CC
+D4D72219EA775CF7D548F69E36D9497616BC21E9F72C911C163A9187B4AB452E
+E94B1D4D429F23C78FC2EE8BE0F34DE7F5141CB2C8262748FE09D41B2892861C
+210D30361868E0630C288983B94E2F0452FCB928CE06749B67BF8B28CC34EFA8
+2C4FC77182A883F7DD14F5DFE07BD854CBA01D21DBB312A06F6AE8ADBF60731A
+C48B007B2414CF63264F99CE373A4001DFAEC18D2C95398DD7BCE5026A843D2E
+9ECE39EA050E8A77D26715BBD5B71F268BEC0C0826D660B2E979703D39359803
+9AC438C337B3DBDEE1427BDD850133AA6131C57C9743B9FBF67997E4A27489CA
+470ABEDECD83BBD5B0844B82C81EBEAB85D466F58955B62451289D85C14CA400
+A9448412995C76CC1DC418544A46A81CD311729BEDFA8709B5B11A82108FA681
+7DC7E474FF3C4DA9BFDC29972FF574B5D69628628CADFA4874DE04CD5833F8B1
+9E38F885856D24A44FB71874EE20FA82E2FB0643626D0163A39686838458AAFC
+425BC6A35CCCEA45A98202C8F3484D260E83A542F7094B4EA5E12B20F5C9FEEF
+7FD54797B3D7224C3B6DD888A591F4D25BEF3BCB07E06DCB7DF3E9CE61EC8667
+680B4DFC82C21361601ACD0B3F10C25307713C4E70EC927CF824F2285C505614
+820FA875A678173A5E92D84A0AA9E6174F03AFE4473267095F885DD16482175B
+2719B266B58E5A00F5ACDBF3F7C00E562BF048D5D026C0D70203C2B81ADFDBEB
+62D16CCD31BAC120D953EAF902209D39891B7702E98C0998910C43D7CAE6A142
+20A7F3BDF8F86CE43F2549E583C589493DEEE2D289361A195112217E280BE501
+8CEEC7E9448F383985F6F0A76F2995A5C7706AC66DA94C0282C76764B42DB674
+95C457311748686445A8C27A8D5609ADBEA16790D21BDBEB12B57C2E2CF97115
+4FB4924401FEC1E130A91D226B19E6A57794BDFFDA97624265770E5B1B100774
+92F9674C51799FB0DBD3F6DD040A853D145F814A928B0A78041D7CB5990EB08A
+6EC91384396FE2847DCC3FE40BD3C56EFA379B2C2DB0A0C51B9CA407EFBB1BBB
+8598D05474ABFE2A33F0A32C2F11D8F84599D4457D68A45D728376591D77296B
+B41C30AFDC76A8794E644A8D88450FE818210F10A765CD32B3BC997C34DF25AA
+22EDE66DD3DAC44E1185B12F818C7EFB73C084E67DB1ECB944E02D092B1DED6F
+55279C191FBA6DBF883DC5373E51F37C0F3F9A8F6B24A9E20F01D92763FE59B0
+6232B8C4CDF0A9A887B7793D777A72D5EB5BD741D122265BB895F786E2E0160A
+B28884F974EFA275EBE68EDB4D52767626E54B3FF27065CDAEBB90FA10913745
+A64D41570731ADE508A87BEA9B3E3A7A16A34D99EBCD0A476B1BF8D8D44C9944
+5C0D2F5E597240B17CAC0A444A82E8F0E68F6981CB5B1B5E8E0420E9F7366E4D
+68B925436647A058DD16D3683F71709AE61E31F9AA5D0D9D3CF4BAE2C7B3F63E
+DD663F51D53C537B284E01C1184447ADDEBBBB87AA1BA7F9FB149EFA3315F8BE
+E12D46399CE5E058B18DA851FCADAB654F373B5A50D8DDE823EE400DBE9ED05A
+ABAAEF3F6C7EFDFCB3F80FAD6B80C439D81B5D5D8F2AC45C5A1AA5E609A10999
+E754FAE4B37CD7CBA9D9BDBEE3E2368A0EC9C7C1065542146DC76E03994FB5C1
+3B6E2E463752662F2AB9AA9F3FABD7F52A5A6CC57E1AE4A57717469A87081FD7
+F72D8D7D131B331F3098BD00614481AE9623EDCEFA71E001A45BB530CE5AA548
+C00878E87C635C38A83CF77BC4C63547360DD7CE9990B91B1B02C63A3F09C472
+A4786FDBEF0E5F07F1CB321F726CBCB5FEEB8B4DEB9B1F556B14E0405D104FEA
+D33C12D1ABB78B99377E9A04F1768725C16625BA8BB49C7A283F8DA97F5E4320
+93C7BA54D6A9CBEA38500A0C54B37386EF3AB14CDAB4E13CB3F158114DD69560
+4BEF05617AA05319E2686829D7E8DB54EF6F685B02D2C4961E90B7D903AFD4B7
+AF51E04B0B0B2893382C7AE22C614D3BF5CB793423E686BBABA8B7E184856578
+E5B48A1ED0F186C41B61AF7907241F42D796B723F0797036DD0000DA48B906A3
+B8CCA59C7847CCC8B5B1E64A778466461189247A0D54089786F418F58EF91182
+568A17BD52B227E77E35666102A5C2643375CAB6DA36FD5EED6043AE799ED7B7
+17213A4808F3F30002D8889C8C98423B8DB1AEC3B318BBC0F01F35A8B3BD37D5
+F04C6D274F95A35B78B4504242F2FAD79C867E74D932C8C9F18358C904C6B309
+D9BCFCF80943815C0E635AFB7F3998A9D15371C4947902DDFC8ADE619AA666E1
+9982BC2082586ACFFEA05C17EA413A3A1424CB5E0908ECDC1BE12CC2E37D411E
+90C7FB1E392A9DC3CFFEDC17C7ED70DF3EB9E907EA92478ACCDA872AA01C4B9F
+EA9213B018D496B6A87C0462AF5CA5FF0A12CEBB754F22D3BE95FCFED1844F58
+A675417AF5988BC780C4E33665A7908A2F062F34A9793960940B78C485531D9C
+34141D3285D129BEE220F2C6DDDA69AC4FF05FA439EA219E32460195296CDBBC
+6D3B17D556C2AA394DFE1E491203D38306FBA94ADDDEE9673232D1F5683F90B9
+81076CEF68A63E1D6BB56B108BE93A5A62A51DE8B95B6A27AA6E8B6E7269E0E4
+9BC0A65FAD86D7180F117ED1EDCE603234AC6044AD457AC8D7D8FC3EC15955AB
+2FD80832E6B46D4B08C77E86877A2C3E8F950BE74B06561DCE61EE2D7C38EEE4
+5C7AB94E4C789ED32DE4E590A036EDE7C324018DAD9FDC1F7D83703133789883
+83305C8175B0F5C5B1955EB8CAD1DE33A5D1D65A5260BD73C1BC2203FAA62433
+8A0263C614AF5663354413D685438AFC21C81FA39F4DD1AE2703935F2B7AC2FA
+A048E63367D8C3D0C2B7D2514221A4120DAE6A8796284373D50C8CFF630D6A69
+ED3C5A5285B1D2C61DD69265B05B32DCCA3E0254F51957A4A8F0F082E9B9163D
+57DA28BA87A3F63C884DA530285C9B14D4FB4CA1ED5E3ADDA636C2BBF9A565C5
+02C6260BE9D4B2BFE07672605AFD54ED586EB28274245AF125B665EB049D092B
+B54251E99684BFFAA54A912F23A28F12E4B40628A83DF4B4862B5D6201476DFA
+C8450CAA9CF9A6499C833CE2B2C31001DFA9C1AD2BD18BA9043E5837A49FB0F4
+23D011636E66AC548C855EC0E539CA61CCCFCFC146DD47272AA55AD2950854BB
+CD2D5A5E380E6F5F3BC80C37DF3D86865A11CB8BB132B7E3CBB323407BE36783
+41E28DE21BFA2DE4EEE4EC276C945B498D4CFF080FFF451C6791E38851D46058
+D78186E0EEBAE8C16F60AB0356810440E1A490ADAC47E2C35E3402F254BC1B69
+08D087BE6EDD66F256A2B7D557C437EB36F45D5D77AD96EC35D4B311A3334C88
+60392FCA38A27F7625C8C020EDE8FD75FE2D77E2C883C701DA7AECFEC61FB3ED
+7BBDEEE6A66772BE34A7041A2EA6F086589DC089D997E1779271929FCFB9D1D5
+F17CC3B65840956F1AF807DAFCB67873CE07C3649054DA4EF64D3BACA4DAEDD4
+ADF38D111B74478F06D8142A86D977F08594BA4BE307AD84A786BC3735061AF4
+E2D4D822163522D05509FE6F689FE139B2B20DB0B07118BB1C33149AA9F7D13D
+E21A72692E568C9C21677D2E62A7FA7F94787C5FF472833238C6EC08AF232812
+716018F023D097D533B0540A1FD5D67CCBD5A3292A7D3BE31602B7A9530EE8F8
+2E31101DE6CBF86C766498A3E5C944BADCE189506CDF553FEB7FC7C2159F7C90
+37A235688AFFB7C2B84743F7137C8B6ACA1C352AD6C4D0C7E7C4B52AC60B4815
+CFC25C0BFA9C8800F5FA9816A7F879A42DBE76A2B981E3A93BB735160093908D
+EF3F1863BCB3DA32195DDD2B586109691F5A51929E2065E50795425D4E919148
+6A8C869B8AE52B3C5AB3F492F644AFB8A1ED971DD134AE07304CDD6CC4E99DC8
+1DC4D92C55EF642AF08AC9BAB6F482191F56BC06A75A7FB3957CA0E56A516DA0
+E077EC297169AA0E320D85409291FD351D5B1A62B9FB68445EDD1385B0CBA71A
+DDDA1D6AEB35B8470306BCEE9372B384C4E06D5B8810D8D33EBBA51199295C45
+35F6D5E9CE600625C73221C070A3A09E1DEAFE58FB49DBB6BEE24B1C4F168F8C
+9C672AA7C0305F44DE4246EE42735DF5CC2CF0496228E3FAF748734AD18A1B40
+29C2B25DA066D6EBCCE4AB6C9E893DFD620E905680C223B3F62EF696E6E86F51
+45FD79E487229C249660CC5E9FB915A2985946D8FD4902BDB000C71B39400EE1
+52DC6A7AFA2A00373DA45FDB8A766E83E19509E48364A808C4A0650515EB3C88
+1090914F725F568474C678544ABB0225C062647CC012767108CBA402C3DE52F0
+CCCECB4BD0E79BA02BC5D004CCDB2D70C51F481385950AB622C74EAE8BE103E4
+2EA0791FFF631C8F3792F4E4DFA9C461404F98344003795F13BA72CCA32D437E
+4B65E5D9502E398FB5273BBAA759D12CDAEB141CCE4BB6D978A7C8B3076D9A92
+E7B7C1190599CD910314B1F1C2C865B3C1C17B61170088AE14D1F9F3610465FD
+A1A68136789A9DAA18309F3786C4EBCF4915380D92F24470CFB4D5C7CAC50356
+1106B7168234D759C205BD2E3ABC094651C979C460304527931E7F7FC24F25FF
+17CA737F3BE1EBCF933ACD1755AA111D3EE451139087BECAEE411E72C4A63654
+4DEA53050757404994602FB7D0484BFD0A7F935F4E95E4FBF229265CF820C7BB
+F8CE3DDB6085DBAEDCAEB5DF68017881313D509385AC63AEBB059353BFB4A90F
+841C538373C7FA954942D9163FC1A16431E43579829673B8E9B1022922C00BEB
+E87AB325A40E0722DBF94EB43F76CA73D64FDFEDFAD9A1B579793BE0389AF4D8
+9BA0FFB300BF70674CF26027FA7F5D0465654B58FE2970EC65202542301642F4
+A61F204753AD540C94FB56D27B70CF843B65591C58E043AA2AA6424CDB3ADB35
+29641208F4EC66475B992A753CED220371ABB5E8FD55C64178A9ABC081686277
+E85A7AFD1091FDAC70B9D94D502EE982C681719A9B7D8C12A68E7766275E7F10
+139A6B10DE04D2F04E5B1DBD6F9191CF59D0FCDFBC56042F473E72932AC296B9
+67C91BA1C5039C968A76D2D2D22B3FD0C2C9883B408EBF3454635058347D2F0B
+D8090648946C85C2A417D1522EBD4EE60F36604F729026CE8B6E2DAEE852A9EA
+68E0B2A83DFB2FA263E7B0ED3A8405E8E4E9E501D4982A51C1242BF1617CD7D0
+00D6FDEC0E74A0D5290B98DE16588E42CFD18ADCC3B65DEE84795606E6AA4174
+6C36CA05C35F8F44B9719C87097C762F2725D094EF06ACF2846D98C4722D526A
+47C1942FBEC2BE6F4771ED305CB9DF394A4FED1EFAF72250B021CF9BC9DECB09
+A36A38AB99BABAB7B6B82018C9AB022B0C134ACD91F36CA6F6D94841CD09B745
+ECB80830B4E0F44FD4405EBC79BE5DFD0F4262F978F6B78A0B142F0C463BD1F8
+DA92F97210197BD3265ACF6E77A23E486C0B40B25AEEEB766712969E9FA86E53
+FAC0ABE8F25D261EB60E407D4E6430732286C11B9F152D8DB70C53041C01E46E
+D9420503818C363B79F56911B17B3B07339FFE9D7D5849744EC7CAD65E8E9DF0
+079E424BA448667CD1DF83D560E13649124E5FB07FB0A0B31CF5D5D8513DF324
+DC7A8290922FAA3D69BC0671FE5C0A7F6317D377F4AA8F8EEBAD492410087BE6
+2DAEAD04DE412827704EF0879614FD2C367B8CC8ECF8D4EDB123532AC45A57B4
+8998A554E64AEBAEA4EEBFB3694303C9AA0E3D2861792DB7DA7A5F511C694625
+D6B40B40AF28A3AC0EFC81123CAFA871EA1BC77B88B8F6B6CE329C73F1D2FB34
+5DA1BBABDAAC754B9B53A214694896B4F70328C494A0214730EE9409784ADB5E
+88226C5436E6F50422A5BF21649A044902379868D305A3CDA2AB20957ED5E263
+8F870CA034E7EAB94A555FEF8BBB0C21CE95E6DCA8020FBFBFF9303CA43AF552
+32A8165F74C1C84BF614FD5E6A0DD27830DDC409810C9AFD48373797CCB14146
+ACE1B3C4EB7E4B4A6CE328173DC6F8600ED3CCC1E178CBCB544488E69E70E160
+87C2E12B7CDDAE07E88926F82FB6A9066A843713736F64F56D530F1A8BD6D266
+F230430CAACCEEA92D72879BDEBD1AA82801FC0B11E51E2BFF1DB56BB87F0FB2
+BB39066B7A857E4C35F5D7ECC436C5E41E45110E11C97817A63B98FE9547D590
+8D2A86810A65C4DB80FF931972A0E366B6DB0FE986A63DB38FD80180F311DF41
+FD175E989E454580A03C764C5D9E400591D59B5344886CCA663EC611B184D123
+2F0BB6C27C224E031A1DFF3F5D2DC60B515701B01700C5F60A0DB7FBD9B27BC9
+388AA04C5B17ABEF7E68030CA33CF1F8F132D816C0EA4F651A0AB1871774ABD2
+9EE017BEF02712A6FDD5AF0C10EFF4F3CC26D9F641F1EFB080A165AEA4B9646E
+EB62A0EA5BAC6DAB7C36190E4A2925A1C8AC36FD486FB6F192D909971EF24A33
+64A2DC4B789ED6C9A3A18DD3B53941FF5F2613904846DCA2762D613E5DE1773C
+6BCF2BABF39249BD707650B613FA311B474E1C7836A18B2A441177AF540B557D
+CDC6CD76341D7536CDBF223CD33EBF2166E43268D55535DE4C44D69F05DE46DC
+ADD6051906C1352E8496FCF72824A0DAD307727232FE61E9032E2EFD300E48C1
+966A09A5605B89B82E3CE1EF9135608681F58DAAF8047D0B58844989EDE335CA
+BC2885B78750EBC173CB21CDB25852F14F65ABF1FB454EA6662BE2FADCADC080
+5D55D70BD8247030CE08B7F4840BAA2F005B8D8F09FAC4F27449316827B7AF7D
+55DA3D2DC898BC3CEBD51CCDD16F27A820CD52869CA4D613ED71AD53E73ED7A4
+100390DD969C58C6D3757540EA6F04BAA88154A0CE267B782D92CA57FD90435F
+84A4274A8A1918F5595170C2216DB27AEE4D95E573D17B6C14E5724F7C757A6F
+4A9BEC452A5FECB9E50F8282B683B3EA914BDD165D0C97CA0F38EB94D8F7E4C8
+723B7E8E20D3639FE271D390E6AF7718ED298E8130AF5C60C112DB290D6E8FD8
+AEE9AACACABF33705E351C867B2537CA474FEFE1A87572ABC0816CC69B58115B
+858324D44A62AE480DC72C373524D60E00B8EE22C5EDA8E025EC90ABD27C80C7
+1EB96590A5F0D11512A776A3BDE5694A988FDCFCB1B8EBBF9751CAEB42A3B037
+D2E2017D27CDEDB6D6EB2CDF5A25634A97909B617C9BA48F4950B469BA653672
+404030D1DB3B83C2F9931214D1015A8F5627C7A85DE1EAC3695E850701E9B5F0
+E02450E894CE895311F5F16C36DC4E1481EF70F4B42E7B9FB5026E65041778B0
+EBD9936D29BEAE55E700D0BDF3CA2E7BCD24C0343A830BC61FA142C6F05CAB4A
+5C03CA0E981D4B49DDBECFD6FD15A7D89D240975525B816261ED7EB3D35624F3
+3B535FA86AB073A1DEEC455844A18767AED9F676652C9DE5348659276B50DC53
+C8F13AFB252F035A3476B75DF637442F96DBB44B56D66CF9F368791AD9890B98
+BD17304C69A1DAF5A48F6965F59EC1F2E42BCBD834E480FB161CE0190CED7EE6
+E6B43F4326201CFB9C38B467BCBA1D43BD4375825E0A0137E2B56C2169C89DF2
+E53EF4FDBA7D32E8805770F852ABA4AB2B490C0AB233
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMR10
+%!PS-AdobeFont-1.1: CMR10 1.00B
+%%CreationDate: 1992 Feb 19 19:54:52
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.00B) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-251 -250 1009 969}readonly def
+/UniqueID 5000793 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
+87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
+D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
+92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
+295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
+409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
+4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
+2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
+0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
+B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
+24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
+43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
+D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
+5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
+96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
+7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
+0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
+B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
+AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
+97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
+FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
+20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
+0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
+F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
+3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
+A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
+5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA77428025D4059BA
+2988AC2E3D7246BAAAFB89745F0E38580546045527C8779A254DB08DCC6FB9B9
+0E172209FBE3857AF495A7F2B34BC895A39A30F903DC6E3202D29AC110D868F4
+7184CB78407B8B9D42F6375F67FD4B828592E4A977B9E71854D143CD1A9EDCD1
+767CC2929E071FBA4C3D17500E28A23F697B5D5CC68D5F56EAD14BD504E07182
+3FDC12F5404E74EC1C02AF00C1A6A17F958770ED4A024F5B3644DEFB61F2578E
+56013D0B4E7CA3AD255E23DD63369A921D427EEE0E098E8148B16E8A5613A8F8
+A5F1099E15AD16EC554B644DF306F0CF3571055A81F1B464529DB49E919F88E7
+581066BEC4765E31BBE28C245BBF0B74610DBA30C63A71A4F3B60593A6B41C6C
+636C980828CFE9A3362FBC02F1967F0F770A4790F90DEF9D56E0A76B0703FC58
+2841E6E8D984FB476D4FEB960FFB6B386EC6CBB9EB83704B0AF63F38C77090A8
+DAA165E6C6BC86601B14F8E9F504A9D578AF05128D8C1BCEA9D21057958D5DCF
+653026524A2D101334AA3DF02A3CFA410836E6001561C00FB34AB04FF97302F0
+7CCD024F8C61577E82FF229A45F7FE22ACEDD95AE8052044A41EDF46B8F84346
+7275F5423171DF88188EE93BCFE0A84AE5C999E9C774A32B7A2826CEA8A8560B
+2F61A42F967BCBE2081DCA5547D9EC53467ACF8A6AADFC54CEDB7305DD661ECC
+3FE33D8C93D2425ED57BA83F360A384F6B94023EF8938DC136ED1F66CDB618EA
+F40377CDEE0F17653E011F5CDE11C81A3FA5F7168681C02167B275AC0F73EF89
+521A152823FCFC811C71E5D05D99094EB69E5724B34217D101BAA302B5BFDDF1
+4DE66F7887BFD458C2A97A835C72E7A6EC2500577B0B057BA1B4773094EA1954
+589FE5B1D1B4520FFBEFB6ECD015B606A244E605E78D39EDC316D97D99862CCE
+898341583D28F141A02877B76050B07694737E9F107F153E5A5C7393CD479A09
+114F07D12DE0185B971BD526301914EBAE20A38DC804C2319EFF3C8C4186630D
+C91141528F408EEB02C718A0A3E0D39D1C9853F71113AC07DD209828B4873031
+3E7A4E45D95025D9C558CC0C313BA3333EFCEB2D95B7BDA88C062E5243DFBD99
+744C678DF4AE3478C68B4F7BF5C52DFD8A81DA0BD2C95229BA43D15986717CB8
+A925638049C2A15A6913B9819B3642F68A07C4FDB2552C97D29211FAE2F16E40
+076342D4C5A72E0D5185CE8EFB7A8D87D7F345E776512E8B41609794052B9A08
+87EE0DECF203189379B9DEFB8DEC9585DEF2B44C7F64B4DEE827C74B975BD1F0
+82D7E511A5A0FEBD52702F7E68157B509F303378B191BAFFB4229495AE65C558
+D72D9AC8286E61633B29CF90917E4A01030D6B82CBF263751BCA8AB219284B04
+80A8F4B34D0592EEAB82D64F9A5EB6A08A6CC5A7F3D3EE2B61710DB386AEA658
+7A059E9633123EFEC39FADEA37C4205112063F7BD3D2F8319A30DA796E55BA23
+00DE2B3C15511F87044ABDD9DDA9247B5E785A01A05B39F1A395E36AEA4D3D4E
+ACACCB99E99DDB1AD1329069714FF050311B274E495FFE43D33DB3BE958098AC
+61150EBC4F9DB7BFC8F6C81047DF0BABBBE67970D14524C82334B693724A0818
+0007E4E848CE4AC8F07E72F02D74CC5C06DE0A67A63156F950A7AA1E0A110C6E
+D2B909B5509D583DF2F64F313FC8E07CA35A25885AF09F210395DD420BB71BD8
+478E6432F1CE528B757170D0BBD9BB349259BB70625DC1848D86B5E8793BADF4
+6330F6A01861ED57B25945C642502A733B4560D1811C7B2B5A3F90B15146A58F
+14913A4918A5468A18AE63C12490E15E3FE40A5AD3E95464663CD370B5EB55D6
+0BA607CD19597DC75F39DD2E8AD0F509A8CB2D15ACBEDA7600B91F35BADD4A8C
+C9FBB94DD16DFE073CE89510D2D6B7EBC43488ABAFC2C2CAEC13125ECAE922B2
+C4667C6A599151ADBBA22B97BE44E0F3A615C7A6A22A398903A81ECF77A9F01D
+7B6BBC17DD8EB3BBE7AFFD6803B38840E061A79C6C7A93E285CC8C506F14AF71
+FCF1FCF22828A3AA6C500797EBA483A70ED2B941651651358BD9C93626BE76D1
+AAE251F4D1F376C4AF4D48F0D581AC6D523060B855B31A7645D20E8308658241
+DEF960F89B54381E238DE2B104BEE74F7FF2C6DD9B925FF42A66DC9E275A782B
+16876E1619D6C2B1490C6585349BBCDD6262A945CF42E6C35E7DDEFD0233B798
+BF433F90021F67D54CD1B4EFD6968A1C5B29CEED2829BFA23C42EF2D747C57EF
+1CAF94CDFE1FFDBD6F88C0D2E8531A51F1BBAD8E57461C9310D6B9BAD7CEA09C
+8C2FA8D0B43FAD7C13D8AA1711BBEBD3B89BC9D91274F78610F6D067A1700AEF
+1E123CC81561E56259BD244840B2594A24AFE21F214222F44F6A59FC0F84174E
+7EE48F916AB39BE68281BFF1463A355A56CC7BE092EAF6CA0CB3C1E06C928E1A
+0D3D4CE85CCDF7F6B62D0E08E2E46FB7ADED0C490AFF4B6640097A4DD41940F4
+E2510D07CE29DD3A6CEEFCA73DB8D86A0014B744CE46CAEB24BE8B31213C46B3
+83017C1CC091DE57648036F060652DC324855451CE2959CF7F982CAF21C30ABA
+E45A1014AFC690443439574DFB464CB1CA8C6F350735678FD1A5EF82D20F1D45
+EE23C99F25351D350334B10E360BCA91127E8E2B8B30FAB941194FC08B1C8DB5
+2A4C35614F176AE7B0178DC1ED39D4F624B2FC74A89293CA795478DC0CAAA1CC
+83964CAFE4ED3222CB1A2572A8AE65FA335DB5677FC8C3ACCDBF4D7E86329E75
+A4D19EEDECD1A502B1B7937E02A5C49D2505ED4D8C80A48D116541A6FC97587A
+57AAD15D62ADB4B192335A76AA4D0205BFE668C646637F699A2C5495DCA10C3F
+3F3AEAF0406796289C5B652A96A44D1238571B7E419AEC85CB155AF0B099897B
+D2975906CC6C116BAD26E0DD183F4C831207E990DE542CC96540AD79D323D766
+F2AAA0580178942340464F2DF5FDA64D9938CAB032CBD48101C3D7E28F61445C
+7FAF809C359D9E0A2369F106D552B26668C6AE318E6FCB92DCC8939C3706D6B6
+CBA4F5424DCDFDB813A1E90657FD4F8AADA1F2FB211609B65E270E3E36C60B69
+CD42E6C576B7C35C2A45BD74421A82D5B0001934448F44DAC3BAB076C32B5FD5
+950D770597239FA277363D4784642ECC2229655E8DBF4F62D0020511F032EB3D
+84C5ADF9496487177CD0155E9118B029E6EF1EB55FA6E7A93EBDC5750FFFDB67
+9925AC018F637E6B632A9CD63D508A30124358A5499CCD789B0AD5460BE5EA9C
+AD047E6DF2BED2FB9B6769C40097B6A6B914DEBCCFACE48512E0F4FDA854E4C5
+C9F59CF101F530FE67973A97179FBFC82EEE205B3C1B0A77E4254C7F9BCF2069
+6B8EAF29D2A97DD2730B11A57B9A151B64ADEB26F94B22916D0B67103C8AF85F
+3CF7582F82E094E71C3BD8856C9A288A765E2E2C03314B0B0B6551015DA0BA55
+58A3DA441A972603867976B51561AE9BE1313CFA6A2CC048CC8CBAD5BDD3BDE7
+08A64C9DBE148774817259097257CBA0E410A2F42B2DA41F73E4A11EE0597813
+8A9D83F90AF1343034CBCFE195A2885D5B277297FE2AC6D1BD51B180963CFF87
+28386A938F7C716EE79E49CF02F581A44CA7514175932C37C0F09D0DF191DD60
+61B631EA311E619F2C0DAE744595C80C58B868B3419DCD8886426B69F9091F8C
+7BFA5F66BD9B9991731157408CC6442F4AE48B6CFED7F998698FE52C480B5760
+E692A67C1C3BAE839AD0B0F425CAF6CE1D3626F178C2307ACBEA6DA6FDC43307
+2FB2EEC0C5EF69A4F9D259218A3AC07B21C672B94E295115645C967FF5F70490
+1AAD989B37587903DDC9690DE2053E9D2B1C4C21FC913388DE4A64E87B2A7CCA
+6AA1E548C6AD28A7A2A5EEE835FC483D50C2DD749E423DB7BD1676CD28307B6F
+176EF792D46BA6EACC8A2F67388A41B794FE2E414ABC965EF46D4BFD32FCEA3C
+D0342D9F7F89874C2511295B6E4751DB7C846D6A4D555A1BC503C8624B155863
+0907597B0DAFA9E27A4ABBF92C1D37F263A49FEB3053E22FADE9DB15ADF12E28
+8EA9FF9A9FAA1F7AC3B8A75C9E9A4B3498C2EF4F789BE0DE2ED7A7D9C9549A6D
+06CC506A3883809C07A7C2734F4BFD85695FDA21D3D7846A5FEFCB422E101F13
+F8539892D34F493CCB83624624F0C82B5F4D738447701B11B9E57B8FD9E6D08E
+A00603E80B941151DAAE8C72B87133EEC4F9BB8991DFED684A0B85FAA93E8E80
+78B439D12A47E73AAC60CA0497CDE8D1A0A6ACF3CFF7693D63A3568CDF0F95FB
+551875358E679A9F9EB410F32E6EEA6BB1E05F3721D366CFD1B5764CA7896C35
+8BB41743B548B5418F258668895F70940EB5E645D8DC0433306C2BE78AF6180F
+3D39F0577445712C0F52622F7F1762678A322B80DF694BD4BF54E6B1A52196A1
+BD5DCFEC0D41CC0759750F46EE947B79169FD3A6A32DDB82E26954BB259DBC1F
+A249BB2785C43764CA96055B50C53FE069B5A1FCF1FDE5A89BB5BFF03AA9D256
+545DEC8DBF5438A3A1FDA3D5F07D90E0E65954557595C32D792D2D18B229651F
+2E9C6032A375454EB216C5C2644046630762AA1E3F74BF12D7F88821681B86DA
+2765DD48B4E40188130FA7ADBB0F0CAA2E60777B97C5DA64D3C4D41883E024D0
+8AA1AA29798A0B78B4133EA26629FE3993AA65A758F0CB39F9CE7DBAF531C854
+5EF520920182D6263CA7A7C27157933982B36F26970CEAF5CA3A18B40CAFB936
+86104D425DC9E7366EEC75064E4413C42850C450FEB972510BA51E38A2BB0F66
+3AEF123FB4FA52DD25B16A1842238B91C6D61771BF8A5B6E579845E5EAC41E4B
+65383D9FAAC7DAA6A778F98222DF76C87E1DCE93CCE1ED30D66039855FFF340E
+A786CF168C9F76A2B7D2E30FF6A775825D4775C0A788ACC76F1E605419BB8C37
+60DC30887F651C209623FC086CDDB12916B8E42D0F300519069A51E79EA429A3
+379879D4869EDD39144BC4EAC8143FCDB104C566B29C2E68ACD955FF118CD319
+36D435DEED4B9FB7993213504233B3972775F30AB3BD2E6BA8851A652A432793
+4A04FB1F16D98DF1020D570B2AB48403A1A829923E18364E08FABA34F8EBFE1F
+7409E5C6CFC15B8FA5B1C386C90D7B92518C68D9E7C2DAB02901B90B41113819
+05C0B288DC97385532C4F5F224E7246F4DF74623BDFA2092A58ACCF5272E2AAE
+B57A76EE743DF332473314499B2B498AE9E5433029A415DAA824300CA20F34A4
+AAC9C027290826224F0D116EF5FBFFDE0CBE00F5E6B43D3DD3BD9F6177C2DC66
+0B833711A9224AE675355AAFFE0F9243A733244D9623AF4684D6A0E18FC5E242
+00ACCC439FD53AAFE0A54FF74020CA655AB02666C959EF3BD4CFAF7A63D331D4
+B3B254C76BA8320833346F2A3FA53CE494471136E638268D0897A2F1B046499F
+7BD77605D91B2C5EDE63A276F359CF98BC59D135F033BEFA21D06D99987E2B21
+E5B5CD843817F78AE03FB9B1D78935D50E61F365261330F900055717A13E25B5
+C48C46C6A93B366B13EABDCB1A2AB703B4DDB5F5C6A1A4475E6509AE6294E611
+6E499ADE2DAF4832B233A6FA2570AA6CAC83AE35E2EB446F1A5FABA85B6E4DD8
+E080375DC95FCE7373BC02139DD7DB91963346413744B9AAA4CA95308F82FC26
+5320703FCA9459D6DF121640DAD72EBE2D7541945AC985973B1A0FEA51396856
+9446CB06D1A7086ED517A491FEB1B7A24232799E39BEE5FCCE01289DE30C25CF
+7490D0F4EED802203D250DAC213B6403DC9DEFC27410BDC861B95ECAA70DEF2F
+8DB5E37009DB23F6FCA2B3F32835EDA942BA4EC082C8243682B3CE6EB3CC9796
+D2C6B5D472D7739E70437606095E579069555A64D142945BDD7BCF857599E195
+A9B7FA7052FFFE674298FADD48EF982496E86FC5B0855D83BA9B345B0FDE1C84
+FF2C02A0C9F7F19965F4F1CDD7F20D85A11EEC663E2F5C61B86D6B51A763E7F5
+E23000FD61B509D366D8B2FFDC52BD6836CEF9FE4253B314184D5A5D4C19ADCD
+373D64A51818212962EE6CF52162EABEC88DB7DEE30E02AD28DA7331E2E11BE2
+9C93675EC49A01C3253ADC9625867D4C0A519788C4104854C4761F1FF9136AE8
+21DE74ADF1B0452AE45F9139C4C04E6F67C401267C04E57C5D312D7020BC5321
+00F6816368AC2222FD6E416B6B286066FFB1225FEBD82564247CC1F828D85C21
+45D7195CDCCD5E6BE96932AE5DBA1554E202433E4F49624762D1ADC676ED1E55
+0DF47E57F256F8986949B9F4A9CF83E7598DB82B3866B0BD0240C1D56CEE95F1
+D45FD1701BB321A1AC9FC04CC262DE5FE4C3A13EFF01CDB9B8326CBAA2816DCB
+ADBAB291B2BDE29678E08F94DEC952440945AE6EEC52BCECE39223318CCA50F2
+F02B898463A821EF22C7062F461C837E90AF5940AC24A6B9971EFF44085BBA01
+DAB3832A3383281E6298DB85FEA9208916A3D2AEC043448237FDE6E0984B73E7
+2F36C5CBC7D394FA47B3FBEB92B748B994F4746978746DB2B6096AC93BD0CFCC
+FFB50A50E8345B170C8B7FEC2A9CCE368FBAE683018C628B2493DE27AFE29213
+D4E9EBF87FD27D6A16182F032F75C82A793BC1012428ECA15A81FC9A6976E798
+7E6176F166B7CE3B8E32CED0A65AE3A7B5B806F0DF15EFBEDF3284177E42BC32
+07E06A79CA85B0C055DF516DE0510ED07B1AF407CF26415CBA73133F8C275475
+6AB88C244027FBA8DF3F34563D87DE9185513237264BB6624514AF991B56B846
+C574627224738E86880ECE97E11CB0FDEF6F51F0A3DF4EF202E4B5DCA01C6707
+0F0E593AC5FA1647CA2C91F7CB645E090D764AA3F9ABE16A6C4B5A9DB8CE9BFE
+4D9AC4406BA09607FD336D00B5776BB18AE866B06B937356BFD596645D75B3BB
+C158B097D8BA3FB86488BBFCF5CA81DE2448D5ABA852DBAAF911AAB69FBE1A66
+A439FDEA0740637930A0283B6A45301A8FF676256C6113522C3B29F13379B884
+A99BCB8F5C320D40D12BE0CE3AE038BBFB4E4145C93155F78FC101F92ADED739
+AF3FE2546E393ADD3E848FEB150C11C1F0C6981E0D451243B0043C0C6727B557
+59E7EA413B6D47EA3943B841011887692B330AFE5F67F588A53ABBF7424CC138
+8F6EB83B48E14D8A8E2AE488B19890683B858A4941B15B4DCDA2CF40CD97D9C1
+EA9ABFE5260C2C99FE59D94B79355CFB7761D372C6C62F102D748F139C696A69
+C2821989D33304981FB9BCFF1B25C325C1433FFAE03A3997042BFCC861699546
+83FA90F0EB2E9CC24BBBD089B1EEFD21C2309772D2C89A3D95C45F4ADF727E60
+B99C6B2BF508395A878F824591227359E159AE2D75882CAB0A18285FE0DE3D3A
+81016B46507D7B59FE2985FE7C23FA5C1E5298F0AF8C41E72FEF13B0951FC6D3
+3DD4A366EC1E8259862C3273F9A737392807F0A62443211AF8E033F656BB8B6E
+4DDEEC9C41562809441B4D7FA33AD336DECCB1E52BA8A8D1BC10286FE8114BDA
+286C50C8563503A0F8D537F1AD6B1E9CBB44A87BB9BCEF1E4AB228EE3EE2DE67
+0B89E7F50D001E2B45FEDD1EAB0018FDF7FCABBC2B1F9BEA12930E2C42DF0423
+2741C98026262C19DFAA20D1FB2868003E7F5DB0539BA3A86ACFB10151F807C7
+CE758CD3A78FE2E76BB8008EF031AB5DB5193CB153113CC4106CBB49388C9101
+7D5A45B9A61013989AE0573B354236E98BF873CBC30727C8584D96F12FEA2372
+2EFCEA69845BD7C18BB2B5A278FE40316CE63B4C0DF6CDEC1ADE00DEF4498893
+E272639ADA6008A22543166F39025511D0710D21E7149FABB53A333FDF68573B
+F88FD43E9BF1674D32FAD1356849C2AE5856AE30B694858485F331E04FA5A5B5
+DBECB8F8143D688884FC89897737070B39F145297C1538DE6E8B4712DF198489
+D894FA25205DCEB0B81C8BD4ADA1945E3F8D34D7EA26966383B00DF790945ED1
+AC15AC33D6DC2D53BDAA692589F1AB55632067E149E282865ABA9C52B9A7207F
+2ED97579A16AE18A47EA7F24D095D000CD0F9786E2D136D78F55F3352BFE327B
+9AF9B31B72E0BE5B6D19BDE38C2E47A668B6426A305E4B246EB89831D65A818F
+CBCBCA8513B682104E8A8E95CBFF674B6E6CFAACE48754FC14A3F754FCF499BE
+24B3A2E981BC36694DBB69589C8E98652C7005BDDDD9C20F49B9C0DD26AB6C82
+2AADEEF6CFBA8F014E08DB4E9DAD5C95499E1AB96656819361DDE9050987981F
+9205FFEDC58C7B835288278B530EC8114F01D1373D0D0C037B822FD390EF8D75
+416A657C4E5935BCAB318A7762FCFB1BAC97E4B2C091705D4EA88CA38387271F
+E112A2EBBBBFD49D662107F5749D798D7F9D5AB851140A03B88960ED03524EA9
+82B544A5FDF4FB816D2069759D12F9C314A9764A869D093682AF91CD859D042C
+6A5333D38122F116C3DED8DDE7D0C606E811341E60D769BE3DFCA0AD4B876783
+1D250619A16675BAE9B51F3555B8622C40AA35085E6116878FF7BF32AB91C524
+4E275BB651C67AE7C4ECBF2DC5C071046F8982BDF694101CCD30DE01C4BE9B13
+7BF2CE9D94F20021547AD258C05821836ECD90CD9407D5067FCEB84B3DF9A9EA
+6F92CB7695EC0EB932443FE9C56DD99B70E83FD2D0ED79F580A8C4C0595F35BE
+007A389D854F797D37AA34609F64D13B25B6B135D1233C9DB8B68097C8D1C530
+C938D860431323B7268A665A46B5C72CAB46C5098EA1B97CAB1BF164A2A09AE4
+F5509ACA4A84DECC415D3C84E7D4CAE801DBA6D5925D51112BFFE753BD26ACEC
+EA498CB406CD5115D0B55221C881156F10A102DA4D4FEA3C3B9C2B79A6359439
+1E39C1D4D93431DF030B6CFCE095FB7FB4964BD7864DB6235DBB47AFA4ADFA45
+13B1E110287E295908FD7A3499B3451D22FD17C1F6C0C7D08FE52CF90536B0AD
+397FA2CCCB29F20AB0785C129608BE24A00DB26163EE47E1DC9D3A5DE9C1FC89
+15A7BC9E586A50BFD9168C6BF2029587E51999E284EC49343D1B1AE906602170
+4797567C7424E1900D034AB024C822D30FFD93A27FCBF22DFD51F134FD616305
+AD95674047F8777A5C46D3ABC17D25D13044739865110C9250B28A882D1CDED1
+D72B2DB691E015DDC7E050D9D9610789AD74071F7EC40206C0F8F732C3E453F8
+FDCC30AA3BD1B57B8BEE9699E49E36BF8B1A8616565373E36369000F7AB53370
+1431238A05EC3EA87066D8C40BBC266CAA23D15370B438B803DB6A75ABC79E5C
+EA85A2F8FFC437B2E52A214605CA05BF42EAE0A5A1840B8158EBA0F675430C88
+3888099F3690B0E260F79D8F08D1DA58151957A707FA9D187AE811E3242428C0
+84C557C1C321F436E9CC1E5773566D83E8866823B6B86C7AD37C665423A02508
+85AC9FFAD228733AA729ED572B88B2D39032BDF84FEAD1687E0062E9DFA35C71
+403CF0ADB903F147606C33442F62A8484A01F4438C4906B864F1466ED1C2636C
+0FF4AEA4929E63C9577198F1304BBD9B5B8E05236AD4E066F58CDE649981CD7F
+4B78E4868D4869267F580D485986CED47F55DF9C5C81147B42AC26E2C154538A
+1114DD0F3EB1005F5414C351E7DDEA96E8D6333F06573C6E0521818D483EE6A8
+54ED2A8BEE7BB8A068DE874996A237F3A7C6B0636279B68F1394A54C4ABEB472
+8CD2217D02A772638A58F8E6D74F0754049F1ECB99EDEA043F1FC05064BF4C45
+E9D6721B3642E1D53141E35874BD35D06223B124A13193F481C589C3668302D4
+D678B6DF9669934E1FC83CC069D1772104109554AB3A554E716B500BABC72FBE
+B84FE40A2F6F772B70E2AC66CFE692C6B3768E6FFF8F63E163ABE4157DF2A635
+87A2555ED0F56584F79EA5B47D7FA6675F9D4C700BF6B92487A03C6B0941DF9E
+EE4CD5831779C1C6979E5E2FA3B1D1FA0317A0E3FE1FE9A53F0859A5C689C345
+A337C220979C85F37AD34F2A7D7255DAF35A011A0FFFB559035FB8CD0B90AB59
+2CC2FE17A917ABDC165FC3D1A753A501D449893206C749C1039BAAA11BB33863
+8C405FC93FACE87FCFFBD20861AB205C9F8F5AB6740444D7EBC7DC07C5B8F501
+9DA9663E2B8D29BF70484EA3EC2155A0A6EABE996F33D74D7EF095787BE6DE32
+F51A4A219F0CD9F0860948C5B262126B9B2585C9F30CD46DB4F99DAAD0BEC16F
+63FEEAF9161A2EEBD8927EB7646A9039B6A1E9C8C14BE9709B66A2386A32E024
+3CF0B1BBBB68BCB6ECAFFBBD742B9366B10E5BE2AC66FF40AB07B82FD3BF238B
+219194BBD20164DE983E34234FE2C8EC10BEC4196FFBEDC0468808CA36AA8992
+BB44CFDDB8F94F5D5A494881CBED95908F03A5AD3AF3A94D8C44C7CBAE2E52FD
+7A7F996A187ABA9B3E96118DD3EEDDB2DCF4F140F48085A6AFEF163CDDE0E497
+BF007072F1192AACF9A26FC1821E8E3CD880FA217C0598D9A634EAE88ACE1B7C
+A98295A451A6EC4866F9BA137B662E2E5F62254BF6724E05B0F15148F539C70D
+B6FCADED14BB9ACF54EC2A8000B3C08AFBDCDA70270D8F4021418D2889CCF5D0
+14E3AD0DF281DDD5E4D9F519002DB6FDAE5C0CD87929DC96395859988C679EEE
+058528F3BE744BE524A14003F12CA045F230524140494AF22BE9FF9C727CA184
+D5CDB28C13074D19DD6011D1040EE07317114A8486482CED4A3EC5AC49890093
+C71942DA2A63D91125BAC0BF3FC3659566AF60E01ED3ACF76436BE0B74505670
+FBEE6D3C38FD924699F33A50F51F416850C62142803068C186498FCE4879D620
+63BB5498D83CD023C5ED222E510797A4C8941796792C4B3DCC2B4538759A21FA
+C7E067054C2D3AC313DB7EAA1B4EAD985665A93145E1FEC13598F768FC818E94
+007B4D7C2EE920BD97ED83E2685D0BFE89DFBB52B6409385F4022C712F7B60B6
+39C4E884045FD639FFB89C5FF227C1822788881EA9B50C582AC3F333B15A9A31
+C5F81E1B3041DDF4D5ADDF5C94A7C221D103CE3FD6A85C2D22D36051A7C564C2
+6AF27628E45CC8852317DD70D695F26CB9B42480884D8CA671E7F4C27268481D
+6FD294C05D1731AE5FDA2DEA873626E633E55E82C35F8B27E4C1FB51D0CC038B
+ACB247249E2720FA407BDB55440030A6B0ADFA401D596B98FC1864FAF30DF9FA
+E08D42E2C146E9924372B766423BC77AE5DAB79C5DB2D45FEFFEBABAB2FF4D21
+FC1529F0DAEFEC67E70111ECD8566F21BC36E7972D6BC145FA268DA962A9B82F
+59A0DDA12E80AB03F9D50B572E4553EB8091EF2A4128CF65A12675665809AC3A
+1FC030AE675ECDF7A468FBB231BA6CCCC33CB45EDABDBF350D9F9387FC4F5184
+A9CBA0A592025C347ED1996A0635DCA677F988B58EBB056B77C44DF9C5ED39B5
+D14368D82CDD94F356D3973758EA1E5C62E53A8D0EC8B25FE43B22F2F23B4DF6
+C06DB63F1953171F545D634D4D595812FA8768B2E2C402E26650F365258C1570
+09F07DDD2497CC71D932CB12F57452B09717FC7FD70EA4463424325DF60FADCE
+9609C4287F2DA93300EC4CC8FDB4FC942B18A58DE47AFA62182BDED1072A2549
+B949E975AACAD15388C3B98A68AF9303F21B0617053707DF043D72E182250EC7
+78B7F11801CC27D5658FA3B130AC7460BC630C8FF8EFED814057507F8AD713F1
+F92325071ACCD8BE7D9E76E90F61292203DB7640B3D7922A11D0F2A6F09D0435
+2D56F2A48D787D4E6FD34517068117C42687897A240C26AA700379536464B08D
+069537FC4C42D61F9E172AB1DD42FA57DD80944241434FE5FA00E4F14B839D5D
+8D16EDCADF2A594747823CA87E0826F2289D0566B80653B7B39844B09FECA756
+C558EF67A131FB0B71D471BDD13D3C783CBDE67A3F8D3ADBE0DCC8A39E6A8BC6
+552AB3C0F5F712ECB52F0BC74D1D10D4FD2135199382F3D56515235C33E0B651
+3350D21CB488B6BBB6C9D3B7473169C7BD7EDA4DC569FB0546C7A639AC88AB5E
+ED2EF7EFAC177400DFFFE5470F3CF606322D49BCF40E47846873A606FF9985D9
+8E20C953D31A489A367697DA1474BD2A79B4DD90968DDDA07BA0FE6C9EE3B943
+8B184F498C718E765D3576728876C87C50515D288D2FB6A64D816E8E51E22A9E
+87B6B73D00B0660C2C3DF7D932F673874058AA24B1183DD282EA672A1C4B27C8
+709E88F120A4FE23654091A7E8BF438665B2CC2DA694DE1B18BA2C5332F7B02F
+E3D7B7DCC0E3FF2D83BCE7618B9F572360A1D581C1324C5919C7029095953848
+791AA10DDD56C3BD12406313DC9E64572A66EEF8694659103AE357173EFB5466
+ED232EB0E51FF656283C78113B81150FC04DFCBF030004B7C55A9D656B0D77CF
+7700185466B8FFF1AB6F5536502478DBAFA66C3B215953D7A9E96478E812891D
+D7C5C151D1A949C4D7453AEF07FE6E01BBC933990043A9678D138963E1F02F18
+0005B9E27EF25FFEECE19E07100A970BCB3603908562763819DC35F45A70340A
+7C1F57C0BB00C76AEF0EB12E8DF0266F202CBD3D1B6FD45AAEBEE978D313AD0E
+E4C1526036FB4250887C14DC3228334A15C8885683695CD359421B408EA8C6F9
+8BC622554E2A3A2E7A2CCCE09F2F8B725CC322C3134E0791CB5E9A174ECEEF25
+9B0F0BF136AACA162CE9E4204ECE3C9059250ECD5AD2B19905F21071389F5034
+0E34053479EBED41024FF64304AA549DF3BF21F41A56994AF12D80029670503D
+9DDD2212FBAB31FA0870F72FA48A82E2F3B3CCCC052DA7ACCE81C3759E00E960
+41BC84CEA604FD6FFECED11C49930FAE98DD0437214EC8E73A0421871526418D
+2B1B122092C6C3A83E506985BC5BC19759378BDE912A8D300D75F3768734D39E
+59593D5240E8472DC7844BDE3AF38F9FDA920485B2A882A10419D356631F0BA9
+3C5A3BF39B77F63473B18505CD4E248A2A95370E5D83BABF1D393C75E7E3E5D7
+C8B8D3D3CFEB7EB5C53B9FD5095766FE77909E81AB41533838C396BB78C20737
+75868076301DD5F7ACEE7A20D59F096868229EF39B03BF3F46D2D2FE27CDBC77
+2072C43766DB51DD4625307A10C363E0B7FEE1B1F7B9C38B2518753038323256
+E01CA10049B0B602EBDEEB3F542D813C58097FC87A5C570CBCA2113C0245C79F
+747CB5A447B3A40E0D5774BC8D68BEF2EA495CDF36D18F469566A9B9C8DD5AD4
+EAACEB9081861EF8723A5ED5E02C893325DAF85D549A21784FEC9BD63D9C8B32
+8505669B526F0D97FA7CB55698563D7B01DFF5CDE8EE53D1317D3D410D1ECA88
+AAE1F4CAAFEF86E77F379390E0CD14809017F3ED952F491A23A25298F9722E40
+5B385F4AA2B474210A0CA967B51A45B8D17CB7224A5A2615612EB0AFBD3AF404
+AED70B564A18648A35DF9F0E36CCFFF88FA4718A21001E2B5B4000DBA142F262
+861D45EBA054CE3DA3761B05B3C3FE29D59D3E81D2CC5CAD6D529EAFC6810D7B
+8DB7CF9467FC50252B6D7142C958100AA968C93C123A3707DD4008BEE6D39F7F
+4CD28BB2A1D67C1876C641BAAD8BB9BBBCED59B171B83213D72C1845D58CF692
+C6C3C80E924EBF9B7FB26152F19F519B054E8AE01E5FDD0FF0C7701149408375
+2E76402704034944C103235654F0DBA31FE0042472CF06113A4C2584BF947099
+EF3A768BA9E14E7F69CBFA9978F9DDD7016C697D973AF60DB6F3C2063B80577F
+AD99F40F8EC7F31AA12A67C2622F315E644A8B808F38C877FAEF3D01F0CCD87D
+852ACC6AB36CBF42FEE11A02C17A60CB388C69B690FC81F03357522FC670B376
+A3C491ACEAFDD709481AA37E230C691078848B9A819B73953545767E2A215B64
+DFF1B915CE5F0E009CCAB4D0C4B3B2EDD07975FDE4B9ADB7F5006891122AEE66
+16EC697DB4B69E3FE885A55459A51365E0B2D72E54DC4DEA04B33A3D009888DA
+DAEBD4B1181572C4BC218175A08F5F50BB6269C3CCD49D0B0D22CC72316EDB42
+8A3CDED2111BF5B403C1A4E6AC579CF6C63CD6279FAF9FF142B170B5378CA8EF
+A3654A458BD2F3C7FD957B210238FE1AFF4B18B65DAD7BFBB8F62611EF0099D5
+C8A630E73806F4219FDD072C1DABD0A341CCB37E9B604378C67C87E0ECB712D3
+FC7930339568353B76F567226D72AB9159952570A08FCC0B2B87E800A8D124F3
+85B2A6C0214D533F26E002D92597B97F55EF410B6B54087C8FB109F7B76BE860
+0FF110E0E655A8C3B49BBE0E2F582BCF3C91B8B5A9ECC5FC8375F4EEB4484CF2
+C3BDD4B9164069615F31879D68B2E74F00570A2160AB3854A5E8EA26E17366DE
+23EB2550F88B018C15AFD92656862894C4B2D4D1512A8DC0D64F944793964870
+E2E48907A37E788655CEC0B2528F2A73847B088EFC550886C8987B47BEF988E8
+3DCBC40A1BDFFF75F1AAAF2D497BC6A993FEF661B9C3A5CFD771389CC7B6D4EC
+9FB4B15EF86EF187E3867B196514F3D8FD6B7F7EC36B9FF53EF20AEA17442B06
+C6F60A8CDEEB7BBA94A5CB0FDE96417292722E548226003D4AC0A8BA29656740
+7B1396804886988E2C2BF43C7CE57EE2719B6D8A68DE6866173A5C77B4E25390
+B48A94B3CF392A937B638EAB1E2FB60BDAF954871087D56783DE09A1406665C5
+2E3DFF84E408DCB34B0C0928ED19B26DCECDF7DB4D5DBE35AEF9035C80015DDA
+71E1DEFC885117E1EA3DB2DD83B5EE01B2B81587A0DC48724199130FA468D263
+1D01330037604C1A14127C27D66BAEA888AD7E65140FA9BCEFC5D2D1DB061317
+4EAE5115C548D5A08298FF71959F62FAEA04F3FA85C4CADE97D24C7CBB2BF2A5
+BACE9CEABB91447FE1444D839CFABDB8ED3DB3D0028D0175253DBC9442E13D5C
+C23F52460735A4FDE1CB7CBAA3D6D6BC40416A61634065C58CCBA73B60C5368B
+0A3910C08E94D3807F151628F0412B85FEFB55C550CF0E0B5C6890D031F24AC8
+D26391DF7CD87CE7F72AD3F0DEC57A5B198280733FCD49031E8EDF921085B442
+4CD72CAEF01EB686A3322CB3BE234944E6E84CF8873503950BD5FE9D7504AFFE
+7319BA34F89CD21AADFB51BABF79B45FB1702142EA84A4AAADA0786585042F4D
+1E1167B62455C585BFFA057AB5E5C2B91DB5B453EED7A2E29857397E26E4E33B
+C7BDC5C4C1E113FDE07C899AF092C50D6AB9B3EB3F778C0C13FCC166808B1ECE
+C427295EDA2FC8308572598AF2E2499A50B82EBB2E95A3408C68C9CBF67F096E
+C8EE214071FBE2753382B4C09B428A90273A4D287BABA5A786477BC46B952B7C
+C1C7E080D6E4FD6619FA1B6FA90BF42F007B2993A33849BDC37399B8587B47D7
+C0E65FC34EC11BA84CFDEA661D2993AD8AC58A359B5DE8686AF3F1383F39BAB1
+52F7890C9BFA80FB61C8B5DCB6590763D395676660A35DB878D423532A45B7FC
+330D384863BEC39DDC9A66D47E9C5A078B3374D1F28E70253FC7A92CC85A2DF8
+A2D393C71378EAF96754DA1329CA884E9648F3B1A478C329D4C7298B74E7DD6A
+245BC15C4BCC2FFAFCEA6C61A01F197E0E626DFE323C29EEB9A6C632677B790A
+3B826DC6BBADCAEE0219209F9F2A5D240EBE1423B7BCFC9F07C4465597D8B3AB
+5A3593A0C3449A2E6D48F304D758518867AB6ED7A77F8E976F4EDA54E97EE92E
+FE6D9EEA77BC2F247980E6B2C6AC7B3E5330C43A27EAD1ECECB37945660332B0
+3FA9F704F6CD8A58B6297F8805876EA0D3C41ADADB6E5F03D27588486574A4F2
+10C1396B2BF91542DC8FA0FA5273ED7CF5A49E95840CC2F9FCDAE3EC0D3F8AA6
+240895C08BF9096B45714F15AB4995634F1DCA71EDEBC257339ECF489A2B5A39
+46040FBEF5918E64952A4F253C8807F4B25AE4BFB7641B245F0CD870C537FE83
+F361239B6FF4038DEB4C059B7CC31683815B9D65C1A4782D11FF428CFB7A2AF9
+9CF4D04F7395CCD2C32CE265B28EE9D61B0EA62AA442DCF5688985927D8C121F
+06DC7D1EE69AD86B71A271541279788DE1EEDC3F6E32FD483A42518C2DBC18EF
+67143AEC4FC1B22FCF3B8147A1A7214B590CF918591A96ACD63E139ECFF4ED2D
+7CBD468EBCE8333FDCB29457E81B6C2EBFB05871DEEF406C84854009F12BF369
+541A605173F9841131FA62D94E63077DBFA91D8520979C31367F2A44C7011488
+4C8DC3C15738F654125A3F47013B9759B3DDC9B28E24D7037BC94DF2B0AB09DC
+EA1AB143B25CC14859F7A2145629AF7DB4A332E092E7F8CDAC809F140FAE3EB9
+4D68E5AB9B3DBBDAE065AFCCFC31E9C937BFE4B42F28C4C6A12D430BEBC857C0
+67525B939D69267DCB9186798449A337DF3FA711EF06AB3CEFE6A97F3796A892
+BE12AD74ADE3F0FAAB57F0F0AD4B3F5DC43B1487929F9BE52FF1CBE5F63E2F9F
+A5DED3C4F035D54ACA398982633CDF607821E3D96AA9C339A67560A60BEED856
+9BC338DE78BBD16D8DBABFAB1AFD33CB08C5E14ADEEEF4B6C2D38E76865975BC
+5476A14D4AF8C0A8337C8D3A4AE809FE98C2AA4F41A38341D0128583470FD611
+D6CCDFFC57F64DF97A274313521A1C30D01C5CFC7D11E09CA50551072F54EFFA
+36A3E0943EA8723D6970BF76C051FE9FD4B73E161A1CB1FC69003B7C9716D1FE
+10A98EB2AF52256BE0474D42B0408B6680BBF268945644B09AE11347AB57B0CE
+E2B7047594387218A977B323520E38FA53FC572074967B270F69BD6F680B3E57
+69E022C9B6149512C5E89D1A37C7B8F3BD7EE595CDF76EFED653AA856133A6D2
+16E43D551A2BA3B3C7EEDEE3E07F8FEE715F8C016A3A8E2C8B7260102FFD39CE
+56DF7525657B9D90D0211A788F3728B894C0145C4400F784EFDD78E92E127CDD
+C6BA4DF9C6616729390009CA9FF343009BC9521D96AD6F9CE221DF061012F952
+E7773E5A26D7115F2A4472B4C0CA7B161BD32097569232718CC7DC070C047155
+2FC0ADCED5200FA5F02B94B0F8665E992573BEDE1B2B03C807AD4E35F8477321
+48FBDE8559ABB1FE205EFEF3755939A8DF1214E99A9C614A667234CB6F142DD9
+D7F5920171EC57F6C8117F5D2BB15C7FDFADC09CCEC1A10AFDEDE72E80A52AB5
+2CDD21447AA80F5079B1A759780CC43B5FC0D43275EA14E397C4FE4B4AA67246
+5F7E5AB85DCA5990628C5F7D955766FD8B04D9D669802CF94AFE57C4E59F77EB
+CD0597766607DCC7D4E6F91F57FE82E9F4F6DC71FAAAB891C4EB8FCF06FC9879
+9EEDB45EEA7D53C5716DBB6456084227CACF9ABA421AEDB3FA92D605CC083DB3
+F27E6336514A9B623118A54E51DE93F883211FB1B1A8D9BE8C35E1640D89EDF0
+DDC822138FEB852F92F4B4F8A96CC2C92D64F1DB3514B7AA5E04CFB1F58C6635
+70A30E6E1B5E44CB6F720214B5E395D2E7587EFB9F8B6133BF23B06CC69F4C5C
+CA15F6BFCF4AB67AC296AD10D0936FC92806CAC0EADC1220496EFCFF92ECA9E9
+339364E087BE72685D0265D1D2B95D4D68FCB447D2644AC1B0519D234358CF5D
+FBF1698BC26A727C97599BAD9247277A92998E3709A1021C93286349B1AE8E0E
+580F7F3C7692E55A3ECF2937AF09B1D782F90AA060E7200DFDFCF7869931E2CE
+30A6B5C582BD0E8E822BDC16E77B79F0335A4D413B3802186208162E06B5D791
+0561EC0D31D10E6970D9C28628657F68DAB76D6F406C104F160597AF104D4281
+6294DB0BF54A3A32553EBEABCA63B1C7E35459CEBAC533E1E037ED126B34529A
+286A918360B5BD1B367538594F005F4B34C345F2C6FC38983735E62A994C7CEA
+9666A2A5FC801271EE6490E0E5E3A4EBC5E38CCF6FF7ECA9A9914C5B66DC4F19
+975D86A284408E9BE33203A5BA782F7D39078BF626C427B546D8BBD4E393F6AB
+B561CA71850FA7B5E956BDCB8F775C39312874BE76101B0034540A3CBB5AB3C8
+89CF2BB95F43D0066EC5C8C7C0EEE42CEE53765C423A4E06A1A2FA1FDD18145C
+C1052CAFD53A84B62361066477C57D9BC7696D966861FE3EA79B753A49195C5B
+8E61B077ACEB6B4F8643366762ADCDD2D2CDD7744422BA22D778B9F7F391B5E9
+3D4C1431B772C5A9347B192CDA7CFCBE2AB0E94D22235AF74F8C3D0EED8560B1
+9510E2240F1E3D8AF8629D342B55C2FEB8CE118F8F9497295328AF0CB92F809E
+34E7E48BE95EC49653101EB35B7399E2C824E3420630399057F9B64AD2F3DFE0
+7E780EB7D7A22CBC732DF00512EC090AEBDEE13C29D66D8DB4AF2DCE7FB3CB53
+DD7959BD0FDE48B51AE054BE163786D2320EA7905B9FD0FBA31A558E3627495A
+A967AA4B19982B2D55C8417697374A602E8E05C84DAB00838EF855E82E049632
+B43D83E41E0055424F6DBC3CD104FF7A0C957B210DCD12B8BE3053ED3F7E2267
+01F2AE7136B406E5F1AC1A49473BDF8EAEF2EE3BA2B12029A3FEDEAEC99E8AC7
+AACB7C44642F4CFB24E7656AE620D3AF67E46547DA444A0428E5840CD91C54FE
+8BC58A7AE5DD00182AFC6B4ECDE7155C355BAB29CF11666EE405A7FD57888731
+266E7C857E8E4F84656D7663BACD051F24FDF9EE47770243F219656A2E6A0B1A
+17FF66661126B89AB2E23C4756EF639F5C482E85D098C0A90B03F6D5412D45BE
+4C2BCC48D310E937D80E5DD3E4743F356D8C2FD272B9599EEE2D27DD0BFDEE33
+54FC447A49DE6874C9F0F5A087AAD05464743EE1BEEFEE3683AF9A3ACF065362
+13BCAD10CE9CAD288EA642BE6789BC37F82C4D38F073D5CB33FCF2BB35937582
+9034BEE61F20E6A73A835CF9C0FD8481225B966BD79DADCDADE832C6BA2B3C10
+AB022100D029DEA9355973D7F7AC0140B361825535D189F04361AD41538CBF4D
+E44EA227E4965D398889D08AC292B00F48E3859D7ED4E17075864D286C13C5DE
+5F733B45DF549FD1D775436E4A2A5C98AF842FB7740F7BB58D0DBF2292AFCF89
+1319FD1B0764E7822234BA793A2D1FAD7208A574EED749AA08987435CD2CE663
+729109643992DF4A3C411FA46BA050B938BCD243135A4FB09A42F39B3B67F503
+0962612D243388AE25263A63638D8EF29FA9B7FF5C8D532C28211398CBADF978
+2D82630B86ADE6674FE7FA2D583B86DF883EDFDD9F640729A4425E8B348A518E
+1CA16E051147608AC08F9686351A67220E4741EB49F77E4C5568EDF5EDEAC713
+8B6DC7D31E5C398E9839D312FF3509E39CD6B4A5A81175AE67704D1E8A064848
+C59086A907B5951CDFCF925450F22985402530253D4C7E6359028605B306EB6D
+4A863DAD14B581DD2A7855F0436978308CA5704F8B93362F292A470570C7AE88
+2227C2F98E104D7A2472F3EE5E882764A3940D13E70DC3A70D0C77DCEB02D3D2
+B26FCC5626CD5086182658293DC5D1F02566CC84859040E2CEC9641C6F6D9F64
+FA12877DE33C6D1089CC7AFBF5D8AC4259B2CC12A7C3E7B69D00466F8AB0032F
+5E4C63594606A2EDD9DF34E6236B0AA10CC8C1EF05CE26E8419195AA1FBFE846
+5B287A23003744AC2C1071A860FB24B20E2EE413A94BC1591C32CCACAE0DA042
+675B4A4C612908E64EE78859EA44DD210ECBD01851352EDD2EB4C3F46EDB7236
+D7E0C297CED16A6A0EE23A188FC7D871CC8F2E40411CE8A70B218F00B6C300E3
+224621342EFBA30F6A3C964D6265810E941C0809854053AFC64543BD70D4F6B6
+95A46DAE926A017203EFF93BCDBC4F599B11AB847DDAF39624EA124A54B92844
+1164E8E87E99024EB0FCEC2A424F3F0BA397A1D3FDE5DF122B1D0CA76DF09C35
+BFC0289BC870F9DE010B0127DABBB7B49A37A1B550B18ECFDF97FF716B4EA9D0
+391C3D13C84221AA4B92049C7184D10DB406DB26C542008DCCDE7333EB1786EF
+A0CA1CB28566F1D7C3A973B761406ED9587E077033431F993F6C97BA93D9AE19
+304CB65A2A795A47674FDE0E53F86E7E983B5F47EC22D223C0E49AF1913F36EC
+76EABB1F3B1938554AC6DA19C882D7E2BCB9856735FEEBBAAF34185C68C1A478
+3093AF94A583A9F4FB60E26A808715CB777B74692CFC3071D3EB7C23F633ED07
+1B802D5EC257E19DB39192E073A9E84988EC8B54CDD9031ED5F296FAF42A126F
+7F1597CE1B8A203B192659A10DF6D51AD11FAFCA5EA20548ABD83DD7079AF3A7
+20D4685DD3439B41BEEC87B7A30675D7DA58A7994EE502F0AB165E5438AAD985
+B65F3032B2211A96421ACBD545263E51C7064E21E1D874739FA9284B9756F817
+F94AC94BA348AC6917E18ED90470B4DF20AA4E9E61A93D5D8226CBBCB25DFDEF
+D23B6AEB6853FAFF5441BC3A250F434BC1DA4201C002402A541EE8767F6B1C0E
+CE735074BE32512B0CEE38DDDA12C3AE00A80E9490C6D26003AF9FD671B12DF2
+037FD879A02678A692FD76FA97FFBECD577BF7907B5E16BF5ACE659A05022FA5
+242AF68A61623AA86F7179DD241728E6CBDDEC1E697D33758F8CD88415EA1983
+5C053D5AF02871C30E3969751006002ECCEEE8062C9DC97BC0305190C3386E16
+A31C3902B0B7E2CA22A2B7D492D5827109958823640FEA0B607F19C4CEAE11A1
+DBFAAFC4C42F4898546851621549A4F769B93A78DC0DF5F474C05FD991939A0C
+1639E8FE65B12DD11A7AD3DB911CE3DF79A8BCAA2E179E3BC58B5C0AA4CF6990
+76F90F8C7EC09A1CFFA875C63265C5F6A16F96A8053DDE0B8AABEA1926B1AC32
+9308E8428A1BBA407241DB09F8D834479AC2206BB2F5B5E62643A9304F186AA3
+CA03F9453C9606E22D04E1F5B9CD4F8300FD6740D6B02028F8F42DD171BBC42B
+3AE480477F1B753E7D76D3C72D3858BEE970B29DD3341CC373EA7BD004344632
+4E0808D5DC55C58190635238A8AFACFAA9EAEE4358FE65E17DC99A886CA06860
+906C4DA9BF158601F28138CA4252718CEC2231658E6502DB1F8E396F949A75FF
+FE4DBF1F2B49F8767CC3836EFD6F8F7C438ED86A8124F72D2EA3B86735CFE7FF
+D9BA0A6934705F7D338DB7C002C823BD668F333F17B2B980B2730AFDE0533733
+7E84843A2A6068D52F17A4BCDE265C6BD34828F1091CB0349723A555CE04C6F2
+DD6DDA70BC2D4B7D5E0E3A848E843298E4CCB3DB4F587569CCC43E38110362F2
+56EFE686DD0A25DA693E9089008913D5F7589DEF4B1B10DDF8535221D4B0CF15
+C05AFC299F60AACAF580779FCFFFD3C10C3F5D0B4EA3DD8C1B43DF311B207FBB
+1DCB2530A8FFA6A3836E4759A31DAF02B8E7340857ADEE3D827C43C414957B66
+AA41FFB0B9583A9B06EB4BCA97199C856B4C01B5897AE8F80AD2C9F49329FC90
+B58ABB1D76933ACCC3DF2236906A949F6FBADE69B20B36764A67C71812D1C91E
+48B9CB53E7F39295C0BB878368D170F9567BA2CC4E18BB2A475339611FBCA781
+DB1C4DB195D572FF48D72E3FB14C7F4924478F1F22C4234B38453E9AA7007AFC
+7E007F718C97C600CB9E4E7F75975857634CD939A5DF163EDA88459D1F7C308B
+0A9A03B901A34F81A8DD568A8EF7068AA45C2B71117B447CCB62B9D9477F2F47
+40D08E069066528991FEBB24AF15E3D0333E2D7D588D938EA828259E4E4BD0B8
+9697E6F24FB4AB37AA265577CCF342FEED3868FE1B1926A4016F0E1427344FF5
+15681D2363BF2F06255D4C7ED5B3BD836601FD004031C458E138C887FA5CF22B
+FA89BE4D74C58A3DE7BC0294D95714F1E8DB51178EA4575B30EAF0ABA4D5B082
+847F58210802CFE349C19363F032EB59CD39EB7EF8BEB52F811C9C0D9395BF85
+EBB88879D6CC1F1F70F4710A8B321339996FF8D125BD9B57CF4ECE9CAB813B42
+CC2D4072791CF9E13FFDF1CC52CE483CD3F2DFA0FE1B0473A414B317B8747E3F
+232E287B9B4C80E8CDB964A0F059FF01DDEBA695219DA6CE95E1F4D2BBBC4F8F
+F25F98E9E575CFCE6F66924FA6D5F5DB74DD1D221D77A76EC78E9D765651B7D8
+72FD48F3B74EE865D69BB2B6575E43B2B2B856952CECD9E2AFE4517801B1A2B9
+7F93FD3C69F1DB1F7A15ECA9CFC17FD40DA89C3FF8B5A2174D03F562556127B4
+6BAD807611CDB4819A17D32757C424F749F60D707A2FC4BD8835BB38E9F6B67B
+441C5D70D905A44663FB9AE787C3218785F276428DF8D1A3F568AEC0B3CC5664
+8857BC031F92980BFCCE300E3A6BCA03DA18BE9EDA0903F83D0BDC3CE786694E
+92C402366BDA3F07A339E229B3E915FF70FEC6C6F36E848502282524F9D31FCA
+8CF0AAB13B1C6D85A430A37340B654F34A030A922E79E88DD8FB877A3E4B9005
+B192D8AB438B2336CE4BD478FE17E78F8B50EF4BE1E3F35C760FF2F13D1AB0E9
+18213B933C60468A487D3100C6DD6A1EDC02CB61F33DC916EF33BF31C2C6A98D
+F417DB88BA308CE720D51B2738244585B5927885685AA9638445E5996E2B1783
+B40F0D46A144B2E02084E16E9353BFEDEB3F8A30422DE27CDEC4E65FF33C62EC
+77D4F535FCF6D0AF395ADDABE4104AAC6AEAFADA2F6EC6C0BDE25D2AC77B024C
+6377978004EC7E8F3CDFD4170E8D09AE76B8530038F4A8C91B4D6C87E7642B0D
+5EAD474C640AA652BC599AFD2770753960F5B99BCCFFC8DC49CFCDF8EF473023
+6664405C744B5F8575CDC27177478FE2A64F4F308971664F7AE7617A8E2AE311
+8DEEFA12FFDBC11F8FFD5A6FD2CD4BC0A4DD2FB8DE6A0B73A163CF1E31F62C41
+EA4262A77FE87FA34999BDAAD75BA2C6FDA7185546EFB1FD2597FBA5694FF7D0
+5E150741DA9E3FC1C8ACC79DFADA1561058240E037798E8FDE5F2D3334F2B17F
+14FF95E3E8DD747868FBDBF6E3A4BC4077CB45D71E183061B0F3866B779E5D3A
+6B903829C776114CF670247FCC89589B842BA2A5A74A1A1358F6F7CB0381529A
+CA76B6A36D6363F65E2088D04DAD9C4FDFDC99FE33D9328F1BD6CE2C9C5F3711
+6C9263B9E0E83F21817E100232681E1506561F358EE9B4F739C15B0DFF016BCD
+C9A88D36F967244C8CCFFB5D4F272F16A57BF56F19B947350C28983BE08B4912
+8EC28F93546831EEBC8A65160BB369EE0C56B1BBBFB9F8A9EBA76389549BEDD0
+32E4B1E2DA2635AD7D63B5BC5F445F07957D85B0EB9E157BBD66CCA4F0743B45
+087B68851A2BA50EF6A8974983F690685EB2BFCEF3AC590BFCC66167296C35AE
+DF975567D8B6A0F4633E4AFC9E91B8EFD406F83CF305AAF970FF54B5858D68A1
+813D70B86D7FC9134F448B74A118626AF9640AA94492259FC1EF62EABE93E54D
+4DD9DE2E1189B180A907CA5E7B8A50C764A5207E973B30BC276D1F344A147735
+500897FD4F8A9D8B10B6A8346D21F36D41F3AA36A129F1433E5ED9B3A8CDEC7B
+95C67D38479802C29E8720212A5B49136D3CBEE47102F7DB8A5F789522AC8FBB
+
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMBXTI10
+%!PS-AdobeFont-1.1: CMBXTI10 1.0
+%%CreationDate: 1991 Aug 18 17:46:30
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMBXTI10) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Bold) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMBXTI10 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-29 -250 1274 754}readonly def
+/UniqueID 5000771 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D004B836D34E88C20EEB527CE1124209388A2DF
+E27A8DF298A2693A9D529916AA0B2176E6ED237F69D84A8FEEB36861D1847207
+BE2BD61C6A412FFFEDFF13AFEC32AC7735BCCE5965F5966418A62ECB99112AB3
+3BC938EC590FF6922659125EB67E260BF02885E49BA6019E696D33F0B53606A2
+F515E0C45F323311613A94B838491BAB9FE230C5CC79D22925E3D882799F2707
+C32975A494F0F9513E4D8332E7E54470D9721FBD345CDBB48286F2F19CC6D66E
+BB631DD6476A509167A49CA525A72CA50E82C1D08C2B372DB54C5949C753B632
+2009B761EB90492ACD3CBE6A35CE1B66F3BC4D8DC36827CE4261A703328451D1
+879438479917C1647772999171DCCF1491A1C9086E0C6393506768F8757BD81D
+141C46EB9BF507EEC29962A0072B6C5D8C8588F3D68886CD2606DD3BD2FECCEF
+63245494E93EEA12AAFB06110E54ADC444C7E7619627A48A464394E5DE06EB46
+4C76A2FF010318BBE48B3776C826A265C66515717F7F2E943C60EBAB23D96B5B
+FD514A1C4E79BB3D3D2DEB936F90CD3FABF7B09FF7F564AB5CF4AF6A40E869FD
+395885A88F4A138B3CA6943A2D430BBE43D91F7F17621CAF52FB7161DA3B2003
+82244FB6EE792DCA1722C03392C296C029A2DCC5BAAB3EA03F8DEB039DC83AE1
+763AAB84776A2CCFFAE9EAF0BFDAE417E8BE682D237FFEDAF224AC09C9665019
+165CE32F5349E857177D94AD6396570932E1657ADE4D3FF57A3419946CCD210E
+57E5A1D91CF708395942527D127606350924D71BC21C6F969288B1C8CA3404ED
+E6219985F7301A20621368F74747EAD38990A4C9F2B62913B8FDB93657409FF5
+178DAA785D1D07ABA0CF10D5EAA01DEC75A8E2AB7078739AE6DB72059E81BB9F
+60B94477802ABA2170AB402D5068CB77D51AD70E99C0A06796C02E2F660C7210
+5E3BE6B1869BD21F449A067DE5B036A728EF55A2F8215593A04CBAE7E8F7C81A
+2ECCCC0FAEDCE2AD4BF7898C099E0A939C64ECEA03C699152B39C68BAD25DBAA
+AE48EF05B3D86667ED1C3734442A0F88085DDD6C1ADEAB6B0793BDC63BE6126E
+9E3EDB6AD3C831C74A3357E1CD9CF408881049E4C8984F4F43E40AADCCBEB69D
+97EFFC17ECD13FB6A3D35D003F874FCBB5B6ECE7FF5D82C8AFB0AA48E9C9FAD9
+77763EA6C4814406F2FD97EFB57510AD3B80F2111FB74CF7391C988DF02810AC
+340065D6CC89F97D30464371387361D6991F62AF874E81BA0D4FD9C4F2D631F3
+38BABD1359B1FB10242B169FF038482F253CB78F5CCA92E3A9F45310CFAD35F8
+79DE5987993078CC0A6441246116236C05DA0AEE454EB7E200A9FE825A21D096
+A0B329E092A1708248F9B9B602A9940B436107E24CCB97418A10A31B036BEE22
+8DA12B890840CA7F79C7B7E241EF4439F61EFA325A7611389AE1CEC499DDDEAF
+A7F81431E0FA8BE4BC2F40AC2711D926E00C75C0AE4F719954A9F60CB60EBAAD
+65163AC3FF882C977A260717B43AB0E31786474798F19472CF45CBD317BA9EDE
+4BA94EACD41AF7E0EDBA83864250B7BF28FF5A281A8D6A265D3F173048BA0383
+532E48F0A97E07B6D4654BF589E5156DA03C8EC6B39993EEED4F9E7C43B10E94
+3AF7D96037A08D0758759637ABDF06CED464F16021E17B16DC2D901DB27271EA
+DD9AF56FE559561CB46E3CE5DDCEA083205D5DB399529CAB033E38AA57E405DB
+9E236FF2539FE590E8D026B14108167876575E099125279536D1BA8362EB6DA1
+21311C1277B4E73BF031A741D36EEDADF4951600159B47DC6B274B68C62CE169
+3B61D2C4EFC44B48E398BF9FC468D70F37466B70E3604F035FDDA8D04F9C8863
+4B81B996E61C6C990EE66801C8820060E6202550CA231E23F044BBC2A20EB3E7
+118928FBDDBEE30BB397FE4F600F87CF1389DA868A1EC5D39AD90025EA5EDC0A
+E45F1EF4E7C3BDEC340436AC8030916B8AE853DBD6BD84A50739D3F9DD20AA70
+868E887827D3E238D013DD47D9DE9A7B39A7E985B8FA87612F327F7252878E8C
+2ECD29AFA5E5C57FCD5E63AA2536F3CF6DB829EB776C50C619AD0090A1B39E4B
+4BE3DD622B28C20C8EB482492BD38226718FA7B7BF945744FE1356C2EDCA3CDC
+EDA26048FA3648835AD714D18D71
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMR12
+%!PS-AdobeFont-1.1: CMR12 1.0
+%%CreationDate: 1991 Aug 20 16:38:05
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-34 -251 988 750}readonly def
+/UniqueID 5000794 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C
+68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361
+3645B82392D5CAE11A7CB49D7E2E82DCD485CBA04C77322EB2E6A79D73DC194E
+59C120A2DABB9BF72E2CF256DD6EB54EECBA588101ABD933B57CE8A3A0D16B28
+51D7494F73096DF53BDC66BBF896B587DF9643317D5F610CD9088F9849126F23
+DDE030F7B277DD99055C8B119CAE9C99158AC4E150CDFC2C66ED92EBB4CC092A
+AA078CE16247A1335AD332DAA950D20395A7384C33FF72EAA31A5B89766E635F
+45C4C068AD7EE867398F0381B07CB94D29FF097D59FF9961D195A948E3D87C31
+821E9295A56D21875B41988F7A16A1587050C3C71B4E4355BB37F255D6B237CE
+96F25467F70FA19E0F85785FF49068949CCC79F2F8AE57D5F79BB9C5CF5EED5D
+9857B9967D9B96CDCF73D5D65FF75AFABB66734018BAE264597220C89FD17379
+26764A9302D078B4EB0E29178C878FD61007EEA2DDB119AE88C57ECFEF4B71E4
+140A34951DDC3568A84CC92371A789021A103A1A347050FDA6ECF7903F67D213
+1D0C7C474A9053866E9C88E65E6932BA87A73686EAB0019389F84D159809C498
+1E7A30ED942EB211B00DBFF5BCC720F4E276C3339B31B6EABBB078430E6A09BB
+377D3061A20B1EB98796B8607EECBC699445EAA866C38E02DF59F5EDD378303A
+0733B90E7835C0AAF32BA04F1566D8161EA89CD4D14DDB953F8B910BFC8A7F03
+5020F55EF8FC2640ADADA156F6CF8F2EB6610F7EE8874A26CBE7CD154469B9F4
+ED76886B3FB679FFDEB59BB6C55AF7087BA48B75EE2FB374B19BCC421A963E15
+FE05ECAAF9EECDF4B2715010A320102E6F8CCAA342FA11532671CCD991F6B9B6
+D3F6484333FC2FA96352A9D0212970BFA7C3546692557505A152618882518E4B
+E1500DD43F54F31204F2419907235575FEE2B9E7E49A2427D48C8330B4C08A23
+D34ABB2F4C28B59600E1CCAD217606B6B4760E2265F3987B5DCA69E5635A3C09
+7AB729ABA2100A75D47E36A3E9E03FEA5F0653C24F6E45496C14A86B344DBD2A
+3A310D9510B8DB2244594F5ADFE2133351778D79E548C04A16E224FD1614F1F1
+F047F15A3C02E03C718E8DBBD00D9B4A6F569D346634D9F1CBF6C86A1EA2FA8E
+8D9DBFF70C1A6E1F20FA33F990FF420734ED9CB4F2373A6B21BB79FD3976278D
+D319C2B1B869D6EA7D03592ADC090EEA46AD3F2FB9895FB5D91A655AEEE7B809
+E1E8552FB67BAEBADA61EF209C41179DDCCB9E14F54EB7A61C68E1E2870FFD8C
+04B27C336EB4ABD8E29B92263EBF7A0D90B34BC0386AA3D828703674FAA97D83
+9B49CAA29A4A63BF5C490C4FC890F221089985C26A5BD01445FE8E30C7676DC3
+8576FE008B841493A1C6754F64E2F1C17E958C88DF2A946D28C40DBEDE02F939
+8673D5559D6F4C52759596CF2AD58222554CB3A646DC37CDB3FA01DCE39C6F05
+B409B96B82683F906EC6CA306654EFDD951948291B05563E8B823B025F0BCB42
+E186B990259DC9097CDE73DF1081FE359FFA337BC0089F9E4BB51CB901744438
+04FCAA4E6B75BEA0347988835BDC9557016C9EDF62AD0AF81B2DDE6E96FE0F9A
+5F493404930437C98CA7B6E5AC9F4B9607DAEDF169C0C9F092DCBC516C0C8191
+0209C3876B69B61E1EA8562EECD2F8F33C128FF8817D2D87F900A9E30328B07C
+C26CBB8548E0F210F621312E8302746EE2631B4049CF8ADEDD938B1BB4C37546
+81B98B1F894E0C46280292067A66615D5CAB13B5D1F360680CEDE0D1B452A428
+8AAB2B1562623C9D2FF605F61AE07DD7C122EA5E6946374D27C32ED7B242E32D
+4332CE71DB0C71708149FDC2971A1C3B77403E0A027759D41DCCA3D99B25A9F1
+4CA0B81A128F9818E028FA719DBB8AC3DD7AD199D986F30F0F3A0E7B614C2C1E
+F53BB1E1EDC3C7A405B9123924E89208505CEAB0788B5F8D479AC0FAB9DA0B0D
+55703E8EF6A7572373913D64DFD8B083B9A0827B0BD14FBAF34E42BDB3D5FA99
+AEBFB4FF8B8EE02224737E4CD40569C4DB3E35B64CD671F7F9E830E155CAA0A2
+68FE0DB3069CEBA81E4A7A1841DC0A4FD96C92B059253120CBCF24266F3C442D
+C6CEFC7D4EDE76A4923198F3C6D54E6B8786C69B2CB12A4CA7528FD81043D053
+80BF4254424CFAA573AA0D1AB79E22C3AC5B1D3F5831E90439E55C57337F6B1C
+5B66D059BC12947F03FE9955DC38BD01ABFF85790F71F5ABE32870B0D81B87BE
+69840BF8119839CE085854B5AF2B3F92AE74C0ADC0EBD24CFC1AC6FD7734788E
+DBEB17AFD0AFD817659F5B7454A18EC8CCA8B761EDF22FA69F4B76C817608B06
+1629150A467142EC53DD7E7C9918DC7A51ECA22290B3B06344DE2DEF4C72EEDC
+05C7F29B1258DD18C54177EBD671B2D1034C84514EADEE051BB8EAA4A06D0EBD
+D4D4A7EA0A0F56B254EDCD5C736F23BCBFFBFDBAAEE079EA76A2010D46E0F6EF
+9EB5F2A481374AE885011AB72F99609557C144E666BF75C0CD55BA5157DD3FFA
+C68A20722852F1F4A2506B19C08EDB8FAD96374746FB8BD39A133C41534A3BF2
+52C68975821BC5A719EBB7B5A0B595DC409A3FF247B3B4ABED5F3C8C18385938
+5B18583A3FCBAA7C04741799A4764C87BDDC6A2071AE98203FFCC6BDFE03F28C
+99173292F3755DE5A4FE8EA53FCEC8E99F5962286016F4C39344D3491B12B8DE
+94AEC84AEEC44FD274C680C73C2B82E37A24443590E19B9C89FA3B042CF3AA9D
+B6618C2DEB9A340A68A6D4C9F457A082B0DED6CF4FDD2DCA0A1A845E82BB6318
+D036084C29DC98104F060363F55D12B4D22DD50D736B0AA2F8C4631787FEF388
+60F491D1E27DDB23DD2CB26A926DC66761D860BD97E4F649A09277450BCC0637
+461C33C46618A35B1DCDDE6686FCF3DADF6FEEDDCA41A38C8CC6BC35277505C3
+5A5E20E9A0D194647C295573E2A67F50400254B8FE01DB8D48A145D761815BE2
+3870D9B47B46A70CE3653892DB110510A986CDB53676D15C8FBB97F17C89F7A7
+5E3354FF8BB480647CA5B7FF8A478C40B7323446591654147E3CC82EFC92A164
+3478A587D10E2EFBB93C08A4CFE75BD86C7E902DACAAC0B6C535AC6F134A19ED
+4111F3C3D22A53EC9C5E1A9ED852CE100C19716C8E97530E4A8044664397FC4F
+3241879A06C8B7576AB010445584280D0F94ED930FBEA8784BD675C7AE58ADEB
+DD47166B69D4E0A58E7AFB614DBC0CCD430CFE90BCC0C4E753A0DC3DD4DC5D73
+05507F0B1FB4B61F74E6D77BBFF74FE192967CE65C87A5207238B38941C81FBD
+A60FE78B400A8B4F2E74371B5A4A0DC2A90938834617FDC34293760FBE172B1E
+61D1629D65AA9B4B3FEED37B089C221C3698D04D1BEF6D517920954159135C02
+D5A5310DDA47103062C0A986C375E95C70FAA5BD376A8E6E723ADB29F7582B07
+4B5C3D9C55E38A3530958F62C8C2FCBED0B3CA32E635D387994072393623447C
+768DB95318C943C7E43753980F0C839094B2E6968D16BA1DF5BA27C3736FF69A
+9BAE60B821DC09FD29D7F3FC84CDC688C8AF2807E83903BCE5E8B982B63C4D58
+F2FC243C2758AED4E717804FD6E52C1A96FAED8542F1E63A73FC303492906291
+05AD13495EFB787CC759E51ABD76716E06B403846D0D1C8C0B0EDB3E6E638AAD
+260F49B98A1AB12788C0D25ABB175D28FBD994A35F864F08FDCC476805E316D0
+A4F593FBB461AF38C9239B69954110352691DDB1C912D4227C734727DC8C78E3
+F5E24FDC28CFCC23EE3803354C5AAD2FA161FE9CEF5815B865A9046B06F98737
+256D34EC59FEC22C3F18553BDA515EE2DA7DC248F40C329B0A9C7C8597E9C24E
+F07A4DE00FAE0CA876FA9D1255C11D041B7634EE1B363CE54BD73E55B6A8E8A7
+AC379F420A8B1BF9EA968991B4E46E134383ED9F5396EA7AB90932A82A436EAE
+757F43B992B6BC6DA5B3D0126BE0E746B8FF16104751CADD782556384FD98269
+81D518A77FAB94AA3DF4385237B729BA4D4EED8B7505191D89B557F0CC681EE5
+37A5D182972BF05F30235367381492BE19BD53B4EAE76ED47E8DBD746BCEFDE5
+F87882AB30094F254129BA06C64F0E67A6BFA78404F54DC7C371BF4AD8E83A16
+6255026E5CB4778854364939CAB6952599E7219BB422E258D4074D3D68397FC5
+00C94A650081C6CF1D91F7CE9A3B10D82207577CD2B142943D8FBC19E4F1E0A5
+BEDAB90541E356CD8695CE08A4C0CAC97BE2664320EE4AE27143E8B86BA37D22
+F48B2CC14B0AEF1EE4DD2B9504A536E658CC70319A7C58AF5177987714A9F3D4
+27526B23725449EE533AA243AE8EE752118C799C14DF2AA31ED34A8E0FFEB286
+177401FF3882AE0C9279F632DF8087CEEDAC5A4A0355E7EB5935C821B7A3F07A
+454B834356D5324D5A8577A2789DF5AB2F098112A7C628CFA0163124E5CB4F7D
+783F56CE008759ABDFBDAA65E1972974B875FA64D1B3A51F96F027966EDE0892
+59A638A1337EF689A941ADE41CA961C81F82EF35C4EFAE92E2102965EA6CDCFB
+B9352F556945C4519E2694E6D2E065E1EBEC9180D9E7324668D451D507BDEA3D
+B0A25997C0664EC2A1233D0F0B4ABD3E3826B31B99A6CF3B99D8A17B428C09D3
+C7E00E47C6906A0A1C32E6AAD37EF765DC6E5C9800353BD35C8777478B5E94E6
+CEA55F19CEFEAE9CE72DD6C2F03F3EB5D9BC510E57F7DB39971DC4FC526B5294
+3DDDFFE22269BE96C8015A1225ED92B2BA9D2A963765E24FEA57788F012162A9
+12F4B32F1A0813B3EFC3EAF410548E2CFC734F72EFA62972F3A50676E392DE77
+AE295CA752C01CC6FB4F297B86C6925CA6C4834EA891649954057F5CFC20DBAC
+3330E66A54DD51C54A2F5829045C78B12E77A04BB0AA757DE7247EF031308A3B
+89923AAF0E39B5397FBBF07AB307818E19DFDFD98B4C7DD514CCC9D2D4A02567
+A61A0E3BE992621A6538119D5D1917907ABA411BBDC9E15667662A926B97BD04
+AB3628FB09AB5F8821BFD64FAF647C14143FF471DF66187884A1B6F2FDC07598
+BA75F609811C5233A00DB44420575804BA4DDAADCD4C530673D72195FC625E31
+60BB9967A3DFECB8FCF594E02849BD0D8305A35312E3AE8725877045A0A52438
+2353FED3AEB7FE3585DF9FFDEA45F6AF55A4119325612EDE3671F474F0A23304
+27622F47303ED208732F7A036A9BAB5C2E58608AF6868D3BA5E988FC071987A3
+22ABDE30B48F1B9F4B59DD44C3C746F3FE82C47CB656B2A411E4F64D0FD02B40
+232EA4870C87890EDA3768B390FF378F406E40A7EFF8CC027D0C75806B0576CA
+B809D354D4B800193482AEA49C742A319CBE4EDDC9B955F4BE17572E014289F6
+B37E0E0EC1F0D10594B3681E3691AA5B5E6D0BCCF305AB5004AB926D1E10ED18
+995C7D5CEEC0F51C9453F0826DE15758E89870D71DEF53F5FFDB080055D6386B
+017F85CA295FFF920F7DF982C34D6C6DEFC2A6AB344E9C8272A4B58B8F9EF364
+77ECBF8EBD88A8570B9FFF76F75E1F2A7D8CA5B4AA9AFC6240EBD08E06095431
+BA7610E2C23DC7942F80E7569AC8D66DD78E5238E61BFDEAEE84D3AC2D96FB06
+79016A4F8C13DC8E881BC6CD8F2807C17FE2211C726E22A30A11C1F379F0D012
+0FB0F63F948FDF4F2E7A640A35EDBF0F95D1B8BCDB8BF6292A00149BA48C410D
+295DD79E06C1470371A38974D264E60B689B12F33F5914DA775094A1E056D255
+9797B51FA48503694297DCCAF624AB08FF9C2379AB3514997173389DD3902C95
+D83B928CA322B98A223A9D7E1A68F6E2D512641D0CECFAA3449FF01F99866BA5
+BC0CF58B8DDF554E6818B58908C8014DED8C7673738C5F9DED9763C748234DE5
+48DDC8E5836B0A0E6F3DCFB4BF19BDF37EFEA6EF02A82CB3D5F3948EEBCC3C87
+72C4899808AA085E9E82C46F0988860FD08E6163DE03243862FDEED651A3DAEF
+4D057BA566110368887B7339AFBBC1794D42C0F05627F540715DF5E55B7CE637
+52112772E37F35480A1839B600096D342E27558DB296BDBA1E81D8DE6BB40A01
+65164571D3B04BCC3B3F127DFAC9D7717E5B236A1D66AEF39E0295F6BEDFF138
+CAE95B90C00F2B2519C88102FDD67CBA3F8D0F60D17A8433EF52D8C8FFCD37E2
+0B878DA9988DBE2FF5276938E5A40CD9BDD27D7E06BF89CEF3A33361A638DB7E
+E522B43988D5C887F91B7D4E7716920A536CC2A2E114BAAD53A3ABCAEE36CFEE
+690174BD078D25E6E3196B6BDE570CC0BB81521776F306745C7E3BC194690D22
+A60482CFC7B268DF063F8B9A8CD6B9D622799BF2488B0F0FCA2A1BD2DB9CEA29
+92D7A46BFAA2DCAF3D49A822AB8881E852E2D921D375609E7B455955930DABC6
+71C4E6BDBE4347279EFAEE48AD012BF0E245F8420C18A0BBB783EE5AEEF94268
+F69DC7F0B887B69D060AC34BE088C34B2339E4D6ECBA206A2E5513DA5AB84360
+34EC7A213F2C73477A17349C14480D7E5217EDC14BC4A19F90BA865A79E608F7
+609EC6DB6CCE91BC646C031572D02E822835BBC5BD1CF283CF77557FDF99C482
+4142024DA7E64355A36863B43937D4E3493B6058FE9E9CF35A84D90246EDF0EF
+C422144A4EA9C418828845540BEBA1AF2049F154254D9D2678238913250A788A
+6FB855A291D07BE8D05BA2775161AB2C2D6C177B874AAE398627B6F731E9B16B
+D9DC7ADF895A85AAA4D6C8AF88D5FAA8611E81944C079FA5271C7667FD2B7915
+F0957DBBB87D694DA97EDDE9182D31406E714E1746C2DDA7262528753F7ADEF5
+D1AFFDD0276A96B72ABF3B31F1B027DD2605CC29C9EAF39124FD85F0FEA861B5
+4DD12FCB704A26E9B6EE5FFA102CFCA31BA68CB8F5286DE8977BC2FCA464CCE2
+355DEE90D69056F69810074ED654AD1D164A1058A076A4117243167BC2048C27
+E0642BFB8937447B830C2BB893A9D8F0706D545CABC8EC7A3F93D405415BE785
+BD931A7BD94D763963768980421F25F7E26BCED9174E2B156EC63B1EB142774C
+14F51327AC59D7B64AB11016E209FEB5E10B08B7BBB722CA492C65FB1FAE786C
+3ACDE45D5517D6DE8D3448A8681FA94875C51B701F743249BD351736C1FD6166
+60D994EA893A2FCAFC49BE2D8276CA4ADC19EE134EA91126AB47F1C3D9BF3CCC
+AE9738CD23E7B73F98B73A5040E94F34841C114AC58FBF9E8BF6E0CF3185E664
+CFCF9075C4B76F255F215525696EFB65D9854235D2A332A54B0C04ED4703FD57
+77184D86686F52EB10AE3BE6FEC3466FBCC7D761C7720FA8551B2DCD3421FD00
+D9BEB0630C0F340D743C149447B3BDF3BC6AD8AAE58BADFB52EA60EBD37B40A6
+FB7B8C87A305E742F1EF14747EABD3BED3BF18A2DD5FE0EE1D9661E4B1FD5DA3
+F978B8A4E3E881A61F9ACC74678C04107015FCE889AC23E303551AB262A5D73B
+0194B4062C306B75B37F91899FB9D0D5EB6199273000E401042DAF4AFADF623F
+EB7D8076B47AC26208E4418E051EE6A690C3B25012D640BAA099D128034E3E76
+8C26AEFD341B2FAC6B6DECA62643E83FC9CBA2C36311F767838792E523010FD6
+0C50255EED8D45A0068A62E2CC91E3D9525340ADD3251C21F2391F0D292AF6CD
+5C829FA558F05A032F77B2EC4318AA6EFA7B9E4F6D119869F7F080224F00C5D0
+574CADBF82EA169DF9A03E3E6A3F4774E31E788881F3100ECDA8AADC83EE8F96
+299BE73717BD80D5957374B63D7CFED26CA144B8E94882BF9AD6B0EB14EFA96A
+EA84149EECEDF255017567E73BD999B2B2EC0E474B56B78147494220E52E5BE4
+93D5C931B2D8F82C15EFBE85EA88ED235D4E20CAD8987E87B4F6614971A5DD57
+D84EE627B166EC59D3D6DEB8C63450B3D423F316D99D2D11F95D47BD074A7447
+2CB663BDA770834F62D486226B65271D71116BE3C5F016278858E3C3B9FCFEE2
+A654B5C42CDC653231CE3F2D99C4DBF6056D2EEE46F2E3772B88C3EBAFD0A722
+0D447C9F2A801D6711C580B836A08217417683684D9B6AFDF16D97EC3B510041
+B4079092F393151CEE397F5AE90E1561F3C608DC3E7594074750356E4B968526
+3B4480D0684A7466F4B23972F424E256AD1F197FEE36BEA6594624A23753C4E4
+70A26091CBE9C386414E42E68EAD84975B9C3996DCE033BE38F0E277C502F6D8
+3E5C0CF4F242CD09F405281736AFBB24246D779423959A56AAB8F07DA2CF5F9B
+7E37BE81222F0BB9077F339BF4400DDAF92D48428E00783255488C8F703534F1
+A948F13D994E84AD4B4A676627A319A71CB974DA124912D15DB9EE85E44E7475
+75C1543FC8F7448AA46DFD49C639BCF2B047B30FA99C230AF1351BD2CD5E6BB6
+F4394503272E5FC9D109F07C8737285C51B8BB33B0337D03C565EDD84FEF1B4F
+87BC178FE9B8B886E46898E20602BCD952E062EEFF9DCABE57A6FB90601BE22D
+9873635DCD84A9841687FCE87B215F2853AEE5C89ADC684D3B7C0A504F06137B
+523300B7F87E3513257C6E
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMR17
+%!PS-AdobeFont-1.1: CMR17 1.0
+%%CreationDate: 1991 Aug 20 16:38:24
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMR17) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle 0 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMR17 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-33 -250 945 749}readonly def
+/UniqueID 5000795 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
+016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
+9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
+D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
+469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
+2BDBF16FBC7512FAA308A093FE5F075EA0A10A15B0ED05D5039DA41B32B16E95
+A3CE9725A429B35BAD796912FC328E3A28F96FCADA20A598E247755E7E7FF801
+BDB00E9B9B086BDBE6EDCF841A3EAFC6F5284FED3C634085BA4EE0FC6A026E96
+96D55575481B007BF93CA452EE3F71D83FAAB3D9DEDD2A8F96C5840EAE5BE5DC
+9322E81DFF5E250DEB386E12A49FC9FBF9B4C25C3283F3CEA74B8278A1B09DA7
+E9AE4FBAAF23EDF5A3E07D39385D521547C3AAAB8EB70549756EBA8EF445AF4A
+497CA924ACCC3DD5456F8E2C7E36946A5BF14E2E959895F7C94F49137256BE46
+4A238684D52792234869EAE1A6D8ADF4E138B79472D2A90A6CA99E2394CC20CD
+3841733046175B20CEBE372327BF13428EED6A3E2FDF84C2DBA4B0AD584EE9DF
+B51828D3B8F385846158C29C9AC3496CB9692DD10219697B2ED4D425C3957FD8
+C4600D76E045C561216EF05D38177243C314877A69A1C22E3BEC611A2EE5A216
+9B7C264CF6D1839DBBD78A40610F2C0D7C2FE09FFA9822FF55035AD52546970F
+83EED2D30EABB1F303091EBC11A5379B12BB3F405E371519A53EA9D66174ED25
+A2E55463EC71A97BE4C04B39E68112956117C8252DB6FB14AB64534B4BCD568B
+246DB833982B38CDE7268BBF74B6B0C18091E1B1F87D32D66F4DD023D1F10D2A
+7736A960F72AC01F733A11023832CD68FB6288A5977743F6F3F23E0C1657CF5D
+E8374835BDBD2DED3690C84A1EBB8E2383A5E49E610B6F5F0F5F5EC43CFD16FF
+24FEEFB92425CCB577E17FDE4EA6C50E1448DC5726A21888E25B6D6B52DA3D3C
+E4C4C6A73C176DFEB60B6B6191B336AC4F5BAA123E1B3B6FAE4B3FA9DC8F7E39
+335277EF2294315BE95F64EBDB1F393B293FD0FDB9DEE6C89082232013130D28
+9234FF12DF47D454558A1EE8603B2832772E5CA07D18B34A4763D5B890F7173F
+B8FD35055DA892F1421B41A253363DAF6A8CA629D7418A5F24472C93DE80FEB8
+D265AE6D1C4D9A0C793E179E0DF43615F51F43BE3C995CF86CA6D51453E19EFA
+90947D9BEC02D8F1F07EC746890AFB0DB83F95709CBB957844D61BF49D80436E
+CA48730FB82EAA840F71ED5DCC27299921B6C16297230CBE452C966FC7B465D2
+D778616A2579ED8CA19600061C7C39A844FF2AA4FDA48F9563DA4CB4EE36C062
+579F8C81CFE8D6A897B6B0AC6AB68415A74F858119855B6DC559924017D62D41
+1ED8B0ED3D0E888AB6A3EC599377F1E56E2ED468E10F046601FDBF4FED0B09DB
+10DCF85ABF1F06D3AE67B7B8C55B6BB151C3A3760B4BF76B8D183CD32B9CC916
+472AED90B888FA78C0326D618ED4A900B0759352189ACBF311D5DE01E11570C0
+1014FA1D30FB24143DA316628DED1AA13E38FB77FD5FB78655A7281C07AB7304
+67172C82D3E79E585934B8FFFD04A8B754D21D72137A6DD203C2D438DF9FD760
+E8326A889395821E63BFD2649D1E6658210FAEE1D2643FCAAD2229185B0E5778
+0F942A657B03ECAB26E6CD4CB64A23F4B3985018C5E0472C97F8AE89372D6D6A
+799742A1CF5721D8AF1F2AE2D0FC39F29B8D8A04D51D02E47D011EE90C7C0E2A
+53489B7D760F21DD60858060513F75D004D4DA6F7D0BB78CCC8EF298786874B4
+A2A7C6616AFDEAA1BB2046EDEA6C06D4AF7744F5991C6C2D9075EA776119F742
+35059DF78FC559B141F9581B1B99020743944605C330A07AAE6CD61129BDD10E
+1E08D2CF0D5659409362B8ED1A4F4B99DB5FB231670033E8553A248DD109064C
+14969D69E89EFEE0EBB1C3B53DA521C2C9253383C12F40B7E8A98D58B7B634B9
+9C47ED2285BE5716252164937ACD39A8B8E836FA55C6AB942CFE0574BA76B46D
+F9FFFC8ACA91A7BA13634A26EF7C9AFC7AF9B845EB5464DD04B95E7607A2B9D5
+640A759BAEDFFF92ECD900B00DCAE4D56F1F3AF2F72FF88B7839B3187CECB669
+8EA626838DEC3860EADBAAB5E68C99E9E784409BDA8259D38CFB227C8723A85E
+C29B6B578D6CD6DDDB06C79B260EEF38CE7F8B4891037E914D68F6970056A083
+151F4D14C9AB29069FBE8DB496FA1629399FE778F48F9A6734C90AA106A8911C
+01009F26F799BDE2FA3FC42FB98B07E6143AB49782D161E2F932657487771976
+CD63733222A4429C8EB1B75C26CBE3B7428CF4E1E85531D36C69F750A11B3C58
+0B0F6FB1930D49A6BEF83BE815198DAD424606B62E61317122F4E6966A23C64E
+0F8A3E638324883B6F2936C05F1AED20FF1548AB2BD80963FE1AC088F09F3DAB
+CFA8173C37DD82E6B8A9BB5D2CFD225EA3BEF584B245A45FD30ABADABB9E8119
+1D3F43D155761EFC4858D30DC066A5065266AF4468155EA9CFCC8E7A4D9791FC
+811815A955394FA3D3C80C3D6AF628A379D970983EEE01B15231767F12B6E462
+CA7DD5BBE72AA0C61DADA5057FF54C17871770BA3C5D8D1D1FBB345D12B4BF33
+43973F18F8E5595D1A4624DC208682C70478C952F6DF4796BB33C2681A7A9191
+89805387753569B1DEA1953E8069C9A1D30F0405D3D8626EE369E61C6D7EF5CF
+FE31C4001034226DE6072B424EE87F104BD7CD6774B1F92DA7A7738BD250290C
+E8F238691E0DC9D0D040B744DA22D35F2224C682F9566ADAA200995E63AB3B30
+BAA119B92EEAF05B65A49BAC65816B83E58A375E113430B783CF41C7603B9E03
+856730E3C0AD420E68BC68E3D8413B30D58EC378F34D76CA11AC00A621C9206B
+3D72ADA80F445121C0F57F460254EB6BEA290DD5DCCCB3A1A3D806404C7E4684
+9ED8E2A5A0979161E0A34F2BFAEE6E1F56CE138286EDA7F3832B419F4D46E56E
+849CE0134C4153D32DB9E8DA19EBCD7641244DE90BC54E4BA1F26F2659E10654
+DF6499B67164084D04C7AC61C08E56FB32A738D5A8AE37E33748D52130B9C051
+68521D1F7E3B429B669643041BAE84165B626F3D23FE80AFE3C1C319CF69B110
+B7B8A0101AC39A8060161BEA05B1F9209EFFBA8EE50F6AFE55F9F982B97A0205
+3A528A7B6735FEF7E5EA2DADA54DCBCD02E4DD4B7257DB2E30A9F1BFB174BB71
+E4A0CF1E32D373C028488E1FD8E6A1354EC9E2D27ECB44BA3B79893EC357367D
+3F79586BB591EDBE4E3DFB7CCDCC17303277EBE533F81A08D95F0D8E0364AC94
+7D679A257594436D79396D2F0BABA2863075C629274BA962ED0413B3CE58422C
+A4CFF46B6318116AC1191C63D861130EC1E774BD373D8348563D452AE0186BE8
+851FA4C772127C83629B59705CD4AF9311066BFA64BC3E1DFC7A178C4AD1D3D6
+E30F9920605E0A4382D085F839DE09CFD856B1BD9654FCC0716EFBA10F135A80
+9DC1FC7102C57BBD96F5319B21171A068F68FB043B6565F92A17A72768D8EF73
+1B98A87D4F247E3CACEDD25D8DFB1C2E318B758CAF0D567F74D629D392475010
+DAE02422D85EEC8862E3169B9483E4E567E26A0903E357C8BB19DC1CF0B676D7
+6E70E7E0B86204690F8C5565AC704692776AD5776C77BF3063D9AB9ABA12D778
+717F32C9A1B05205AA650BC8BB076A18424791E8D73E86DB3E932E63D6578C98
+6C9B5F505563E829E9304A7987C419EAEAA8A05F65EC14102AD63B9C8820F777
+A0CD4539EA0595DC66017E13AC2CF77E074518D7277ACE3F5FEE1A1AF1DE4773
+EC2D12B184C529CF05A84D12F69723F6925AECB8E71B893981C957CA86F3FA7F
+107C93B2A29E7E9BBB757E79BDDE1B1E14BA1277F6E5501C981701D0C6A0CAC5
+0F7F5115AEA55B26DAE3ADB632A04933EABF98D50685A5CE0474912D73B37F92
+94B3BEA72BABEF72605A3134B42EF73C732D7735A9C3429D2835085BF0391B07
+063A8346A999C542B5BD16FAAC9C78903E6108517D1668967F0CDE9182EAF7AD
+67076CB13CCCD666B513797FF7B69C1B158AF07763F235911B766953025A6CA9
+9224C1E2328F0D3BA75D167D819094ED21956EFC7A3A4D89ECA70D9B23F5B7EE
+5A0F43328D033DDC80C3B1471D7C4F7E1E2136298F61CFDA7E369513F70A5C3D
+F9F2CD7E2386DD4ED63A31F3F7E89D5F0EB9CBAC1D01CEB6E99409B5A61863FE
+86A7869F73A8C9FCF38AFA090193B862E22EC4C95F13723B69097FAC2A2C601E
+F92B2F6E280DC30071EC0A40D9332E574834F311ECE6438279C8038E1B3AEC9E
+E2AA6D6B4A8178B94301797DA673A9EB56DCEF30BBFBEAE388810AFD5A683AFC
+97DE1D2A272C035A306F45C5896F83215A860CC6B85E7F56C1E1DE9017EAF837
+B0F4B2BA28023A3C9A3972A005735278AADBB3D3407C247B36E5953F6354C2E4
+2E898319488FC8FD9F3C3C803B86B323E9581F6849F1E89899006430E4EFA845
+4D2228B8F4298A3A839AB2BA87BD6A19140043603C6D9FC853C945ABB50257C3
+374692908AAD8D3038F1D3AD92F73F65F821A2860D28A583BCBF3A1DA7002D64
+569AD206D4668D511F9258AADD542B918E601C856BEE1C2A3C8A9243BE79A254
+B803B32BAB7CA843A58CB3AC45FE5AD6486A16E1B93BA72691BDC8A9403349D6
+DAB725C5D2BC6667385D5D911F68CEF3709159D13D9EBB033B75DBD276DABCE2
+E38D9C8F7C21579FBB5641A2CD13EA270407180D7C521558F9661828E5257954
+9AF96036916229AE97E64FBCEA2F7970B3A2EFA974A6E1B6F70A63C9A87D06DD
+B8FA54DAFB3982C21F0FFEB66CBB1F6CA625AB655F093C8E547B9F38B10733C0
+09B3740F4D35B1D9A8B3960670709D165CC96E2CBEE6D178ED30A85AB54AA123
+74B86C4CDBDAC1880F5EF1502CD883E5D1A1AD911A0BFD2B9B76A0086A58F071
+E62136784234FED9069AF0E761A8FA57607C218F901A0B3625F844B6CBF3CE94
+97985A9B0F1408E9036BFD3E6475CF66E3ACF415711177F1D09E1581077C48F8
+09EE84587077B1016491DD6D0B5AABE6B7932ADF8EFE816089F5F2563F8A1CD8
+6F5642F959A7632102FC9DA1F3565A71FCF0A6AAC5AA13EECF159F0FEA3B1667
+7C27A89FFD84A2BAACBA48722539CC71EBC6F216932EB58805CA450CFC4DA996
+198738CDF88188F15BCCE2F61673620615E42E31E29886FE160BF10D7D5CFB36
+5EF8D205C9202195EAF699E00047A1317FE973F6F60687589FB0B16E92628B9C
+561763BCE3F687E36A01813CAC93F2DC55D35A8972E2D16CCB871800F526E4C5
+3C8FC02E0D41220FB6C1DEBFCB58B356135410BAEBC034C366DCAA4850F5C106
+788CBFF29527FE9D82B581A88297B539AA8655BAFBD87A026A8469B3F7BA114E
+111C3F8945F243DFB0D08D4EE3716A05B5A695FF9DA26619F232E795DB891043
+56C37043531CC0944F917EE8E6BCF4008A9BEE3DBE7BA8C8581C321EF4159971
+F8478C1605A76725CAA2D6D04BD6C3985A4185B5019C926D9B0397DF6F02083A
+6485D33C9CB4A87496A188FFA8375578DC931E99B1002A646F0888CCEBBD7D97
+8E7335A778BC43F8923E842A37A0D8A3AA71ECBF76DFA7205E8377ACB00A6703
+06E274BE699C1DEB31E9D01F167132FD4636A1E773A32AB58F22F0DC4B323DC3
+03B0C139B8FF9A49751A6076DC721E0041D211B50F64DF6C514FFEA55050FEC6
+0E38603ECF3D4196E1ECE7B318609ABB04658A4BF8CC1A422BA1EB0D1CEC8326
+F16864B59486FCEAC6915564E6142C733B3F768E864D3248D2BD4794511E92D0
+3B0686A9B37039503469C694E506B8FCE3A33F4B472797FDBF01342D694493AF
+F5141E506363205F37981C205092E9C9D73D6D0E79AF6FF78FCE01103330AC33
+AD6CDA0A3C4DF7CEAE7933CE9B8CC665A17DE8D31C79AB2D5F896A122247F6D5
+61989D8F1825A629AA2B33826A53FD24FFBEF235CB4D6635317253BD363D089A
+2E28A56F16285A7A760C89EE8C010A234E9245907412C4696D644768D412C253
+AA36C2F01325D8991818B886F3487D69913ADC6D47A815A5FC85CB5163F3B8B9
+8E7FF88D483CB1B60FCA132B42AED1A22639F0901A6E5A920A6879F800F2A49B
+60EFBB6C6184FA3A462BABE2742EC701B687F0A143650F7D51D6B3B8DBA57B09
+FA1E5AE4FE57BCAFDE11A5A984D4E5478C04891EB0AD8BD49BCF4382F77FAAD3
+6989C81A54158885ACD6E1542DC7462E7F680A824F81F5437D2164FDC55B4DA7
+B887DA5B74ADF3B99885E0C1AD50FC0DA1B80253C7B8773D7298916BE9FF8C96
+2116A08241EFC9DE7887B66EA3074CC1E1235845FA8B6DF5A95D0FFBC0B59BC7
+D5BC76DC75A99D21C2903528731B27830E720EE5D901864D061954E6247B8F99
+2E8F28D9CF79ADF6BD9CCC25006988755A781EDB1E4FB6D8C864C6D4FEDB5EAE
+F50931EC0F3EF6F3ECDEF9019A06FD8C9A1F9BBF2D83689343844C888FC97764
+E78FD317CA4BD0293695BF4652C688B6327E3986D1AB8D4DBAC8F091EC4723E4
+C2484D0EDAF51907FC7F52EF7FFC3498C36F3385675A36FB4A8EBC25AFA2CA01
+E0111C1AD1F2B694DBBA3B6A73C149178C39B08EC700FDC2318EBE2191B56442
+798D4E2F86BFEEFC0039F4A311C54106659AC5292FAE89B1CDC058F85FD0B6C9
+6F3DA1C43174732BDCD6943A2F843A6D556615DA259E272EC3187397B1247AF5
+E291E2F9A6FA3E18C73FB4E547750A5C71BCB0EB2B79AF1782AE74B341E3AF19
+D5D5FF2F43DE7445F5D4BEB0CF32C5C5EF219EDE458B8FB1756082A5D23B0B4A
+BA39C590FB55EB1299DE37D24946DC7CE94F6713C170CA7BC6A2CCDAD94FA6FB
+5A7FD38ED092395A93A895340B67D340A1B8A74FDF7E4E86A43EA972F0848D0A
+7258D30F3E3CF5D145021D99BF1CF69070DAAE9B38E554C31536E4653003A3E8
+47E8F64343E2E14A353138A8208A726FFDABFC06447AE2C8C065291B475D0C59
+DA002D7599D811616712757D15AE5F74C74A553C1FC968A2E97E638C09C9F426
+9BDFAE3796B7EA134D2B724AB2E34B48AF3FD4416A984BEF17C5B84BFC146B8D
+088FB822414D3E09AE311F2A5B829682D1234A7EBE32610CEB275E318EEB2566
+43D4659D42A7A9F5613D0845F9DE20C86A619A5974BC2A18C85409EE49E46A41
+4A8F437A67753C300F528901259057D226325A6469C07180D698DBADACEAB2DE
+601CCCEB40A0C6A9B5B8C480AF615B452E951D7FD4FF9BAA40DD1670821AE675
+B328427E80E8C8E714A1D9101046B0ECB1EF099060236BC2B927CABD46ABE707
+D2D5FFBDD1B5D80C2F77F4FABC29DF2756779AC475B08A91CE6683209F9F938A
+
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+%%BeginFont: CMTI12
+%!PS-AdobeFont-1.1: CMTI12 1.0
+%%CreationDate: 1991 Aug 18 21:06:53
+% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
+11 dict begin
+/FontInfo 7 dict dup begin
+/version (1.0) readonly def
+/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
+/FullName (CMTI12) readonly def
+/FamilyName (Computer Modern) readonly def
+/Weight (Medium) readonly def
+/ItalicAngle -14.04 def
+/isFixedPitch false def
+end readonly def
+/FontName /CMTI12 def
+/PaintType 0 def
+/FontType 1 def
+/FontMatrix [0.001 0 0 0.001 0 0] readonly def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put} for
+dup 0 /.notdef put
+readonly def
+/FontBBox{-36 -251 1103 750}readonly def
+/UniqueID 5000829 def
+currentdict end
+currentfile eexec
+D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
+3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
+532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
+B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
+986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
+D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
+525003F3DBE5BF07B2E83E66B7F97DDD7CE0EEB75A78BD9227BF359D002B6ADB
+8AC57A33FED4EF021A7085B1E2B933DE602F0FF71467ECD501744AE338AF29A0
+26F7D368AC6F25CCB882DB7B7343566192BD687E1349225982823027D3B66703
+3B0DB7A7E680A682B98023D39C7FAE81A5D5B867A0A66C8AA0DBC83B1596A84F
+0436AC6A7900B767BDCCE0060A4811003C79FDCC71D73F7F2D0A6675E93AD21A
+56B4CD8EF75EED3DE8C0A18BEBF7B9D1BE72504872D56EDB272F1E97FC726CB6
+68C85C713059DA19F6C2E0F3E12710A59B6FC4699AE883DE8C8615B7292AC25C
+D5714B6CFB14EF0EF11EB13009BEBA4F345A5D3D6D9926ABC2BAD7DB1328651E
+437BFB3C46DA7B62219660FC368CF3D3704DAD3AB461C28F711665BF484BF61C
+052093D231CA65618EA463D63E406ECE858D180A6C0589B2FEDC321371C28E77
+DE974D655DF5FF7D41ED01FE717D928A885F6FA6CFE4D2C0807F8E7F937916E0
+96EDD1A3BA67802B1F4A49100E75613BA0356D9DCBBAD4DAB3C59E70A47058F5
+2163D1730F0EE4D1F87C3A4AE723A23CFD7986FC4FBD399347E9F5946354E013
+D860FC446AFF0B0744F5DA27CC777C96ADB388D1E835DDCBE123FB517679B9B7
+EE5A3DDDCD392415AF58CE22EA55B7F47031138C6F27798B40F7E18FDD315912
+BE99F33ADE0FDD538A8A3E5DE58AF68A54732AE69F188F3F7E0458D848205648
+CBE820C287ADC2394520F03BBB97DB893F6A12154B1B7F8626D35CE6B70F8524
+CB128DE87821A0E32F1E825F6C50AE8B4BE37FAA3183BA4D678E896CC7E61CC9
+D0226FC38B9CAE0939D19149D987979B96A86EB69A105807AB426639292FF5FB
+EFF0817FCFD5E512819929280E672C29204632974124DE52409264C8D3C85548
+60D4436A0AB8B3963BC3586F11A74E7419EEEC2D70F37C0139225A21E8ACC1B6
+A2254B8DF63A245F2C8D203A2B4034D6C0495B1CDD11021DB9067033FD8479E5
+097CE08EDFFFD99149359D40735AA5E370D09E8817B7D86D2E30AACBE734B9E5
+5BA5288637323D936C4DDAED48016D407DE5507BA7CAB09B703CE0448F8E0E86
+3A2AF9C78C5D2A3C7CF75199CA01AC9D7E1A137902F5C0726DF19BDC45F646B8
+E417AB49512F98F6211EFB7B94C326569DFBA996E2B46D1870059DC33B919FAD
+C382DDFD8E63320511D93980F23CD158A4DA4A861426BDEB19A31DB7F00C8ABA
+877B41981152C38E119A056D5DAD931D1610749CA5580FADE2E6B62B7D836C1D
+78ACEF7CE51B441A5F03B6DCE0E50FC05B47FC8741C1CA916FC3E061B21D968A
+0D12B83DE627B8A2E61E1657C5B720DFF88A537E6A42D862A27BB651C3721D35
+117B02FD89E971B4EB156D244FC31DC2ED629F8A3BFA884D4452ACB5B3F3103E
+7EADE6DD1671E6CF573AF2758F4A4DF03EFF9021B61C3149FF3EF44875EA6403
+B313CCD9239DB9AEDFF50F2105B9869A4159F6B2582E74C1BF95CACA2C4943FE
+9566571CFEC92E21D70114A73DD6B3855E41DB683B1C4EC53EB944DA9B518FB6
+0A0B55C672AA7EE3BAC1BC4A328FA23078949A94B1D377E4F6B03744034E5097
+A51E5D8326E344EE36169548AD091918273DC035A9EFA2AA298F16FC7EEC66CB
+8AE934E74D9A559F66B3AEA4F7D5A1F875C46172FF3BAC59BDA2B0BFC4F8414A
+05F6C13F5B0119498532E1B9860B81B5AA87039CD5685E020C1F0DFB7B60924F
+F40C525373D8E1C3411C26DDEBD42A6E538F0D3EA7B6D2AB75742BDDFB77E83B
+1D600C270B1498B50A7CC12ACBF6FF116E2C490B9183C67C4CB614760BDBE228
+F890E4FB9948261AD5BC97380DE2477304922A8252C1AB3E8ACACA8DFD8119C5
+CB671BAB6CB95C13E963F7DC5F1E64D33244CE6BF92FCC7EAFB0D6F8FC264688
+BDE3F539204B41A8E234D7EAA884D1CEA4D9E0EF43CBCCB48323053D060DC2BB
+4BADE13B1BD5BFCFD40CC5419D02DF0C67A702B6B14FDA0E7F97BE5414AE4058
+7EB4859EB2AAC275B1E6413738B525931EF948D3866432A6442D0F6603EDF3B2
+E8E171EF4A4A4A19329747A04AD92037EAB7587DF039936E4EA9065F5F78DCEF
+1F970AB651FC86630821C8511546B70CE1835EF5E0B2203413C0FA7D7E773201
+5ACDF8317223A84F4D416ADFDCFF97883F241EE5B319665748ABCFFB4B59EEFA
+0E3B919F7959FA86B287A34A1B186D84319221E220DDD4E725A6912621D31A64
+009CC51BD707865BBC25E9DF7865086FE501E957F3F56C2718B6FEF8CEF452DC
+5DE515DD186E508D18408073C714FE575989EEF88264A5C87CF22140648E1239
+0B8CF9EDEB6D4AEB98EFA2D1E0B589BB6149B752EBC8533F9B10C202C74511FC
+7191CA9C3ED358A0113EC0B6527A6E5C65B20DAADE204A38DCDE2C89DE3A6393
+45CD3E1912D8768339D95CF669E16B1993D2D89336B1F4E46EABE5F4E28B3122
+76D1891E1CBD825E3ED1DB1E773B2C2A9DCFEE49DB6FF56133A4536A570046DF
+50F3570C95499DA101ECF31A3478B30C726D1666638FB8CD7BA68B5452EE093D
+1EAD3B82FF47FF954147DE22DD0F52B42D5185DC1F43B26AAB573D538523B06A
+EC0C3393D67A45407F5ACE1C9E1A6F4A36529F60166CCAA4B2745B1AFC81F310
+D08E55DB942791AC737B8C642526DC7F0A81F99AB46C1D211F642CA7130C339B
+639E52CCBF1F495ED7D2BC217E5F0E55C4484AE458FAB9C28E99128C22CACD71
+77F3A6A68A9EF36E2852307F3504B13E59364EE085A893009B50AFF9DE53891A
+9D4E3348B468F9D8F83B078AE8D6CC7C3ECB87B253205C514CF9B1294B31E53D
+4360F50B19428677CF0297B18FD349BFBD8CB7297B81290A33E40E2F711C3981
+A346FE1358E2328817641EDE7B0DD9DC27E4BD5E0D2FC7C0EE7399357857ABBA
+67B80A10320631AC2247842FAC6209C28A3406899497359534EA20C468D3C51E
+10594440CC51AD3091F09D7CCD15E61CD0CB8281DDD3E7FA9FB9DDCA9EC89CCB
+136B5488DED4F93285BD6B74D837BE87CAFCC7D573D215D80A4E8C12E1FA45D1
+FE8014169DB78CD4CFF1DFDBDFB36BA2BE55E17E7E25559884BF9FAB6FD5B0E1
+FC8193AA94E70EA53859F539260E3A3E072C7E235FFBBC218457208CFE8EAC3A
+BAB84A96AFDE9B51EC723BC57743290FF62C4891BE6EACFCF8A5F3FF0E660F36
+D0E7DC4D1D6AD8B48778A6F7C5D257BAE12678E6374C7EF3741A7376A25B15E4
+C9BCC724D22C3829E1C2A2EACE5384C382C23585787E3D0ED4AC029B7932D879
+BEAB8E4838D3B28770019DAEB95FCC990118095CCDA7506FF31734A0124BF03B
+A73637A67507ABD476098471BB409C5F56980E2A0B6CBB2E57FC23E774AE9DEC
+02023016FF0E86E6912083AB4C4C9A0B5CBB92FCD7DDD663DF7FF4138F697D4E
+9376E5FFC806BCB265CE2E80AF8F941A4105F0552B563723C8123B5230A037AA
+8E8569BF10E769B1B24D60011911707ECADEAE65EBD42597D2CAA524B6FBFDFD
+23A8BBF0FF676496262E2C96C726E0C8835448A6F48AE42E25DD3420E671D550
+BF39E571B0D1AFBBB43CE7D0D5B8B7C3A9EEE846218E487924356B642FC2A71C
+6B403136E738CF9A763EE3233729C9AE3127EA73D13CF92A3B82461BA6F3E220
+DA733CAE69361EE3E400C2AF32876504C3651EDC6E11AFB8ED665A6E025B5138
+B165727F3292DB7247122BFBA14F99FD98493268223DC9BA560793EA134A727D
+C6E1E402F5FA58725873AF6BD9F94CBC5C36D7398F030267C12A4105F76491B6
+E3EEF7DACBAD36D027BF8BE38B5840CCA6C92817CAA070DB3611D3B618A7F35A
+E645938DE75A3CA5CD85A91D83C1D5F9AC6A425E4997FD71E8C39A536B025DA4
+7B1E21DEFE08AEC2A01E1101418C5554D94D40AA96780F9E24400657E032328E
+FDC4D603AA6EB76EA44AFF18E50B02C7A4DC50535AEEEE62FF9C8ACF872A6868
+F6EA9E0833166DB521FD08A173E9D1BABF0B3B6D3C3BEC9AA5F018BB9169D4C4
+B1EEF1DA37F8603EB5D9D0F67633582D3ADF56896F14D034D3EC941E46282457
+31D45DB30E5149562DD4E53BF08DB10F521A0F9092317C68658967245A092D51
+4B7C27092ACCA2E5DEA381E725C9568D6213F3DA191FBFE29805FDCE33B43EFC
+CF5A9D7ACCFAAC57D7C35F518C290A57939F2A613B3EC7D1D41BC0C6B1A3E4EF
+8A9023D0349564624FD5D19BEC671D47B83EED16927CD9EEDD6A712A7EDFA4E8
+53252A494055E541B480340E88
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+%%EndFont 
+TeXDict begin 39158280 55380996 1000 600 600 (Manual.dvi)
+ at start /Fa 131[39 2[39 4[39 39 39 39 39 39 39 39 39 2[39
+39 39 1[39 39 39 39 39 12[39 39 2[39 3[39 2[39 1[39 39
+39 39 39 39 39 2[39 1[39 1[39 39 39 39 39 39 39 39 39
+1[39 39 39 39 1[39 39 39 39 40[{ TeX09fbbfacEncoding ReEncodeFont }50
+74.7198 /CMTT9 rf /Fb 138[48 1[48 48 1[48 48 48 48 3[48
+3[48 48 48 48 52[48 45[{ TeXb6a4d7c7Encoding ReEncodeFont }13
+90.9091 /CMITT10 rf /Fc 133[44 44 44 44 44 44 44 44 44
+44 44 44 44 44 44 2[44 44 44 44 44 44 44 44 44 7[44 1[44
+44 44 44 44 44 1[44 44 44 44 44 44 1[44 44 44 44 44 44
+44 44 44 2[44 44 44 1[44 44 44 44 44 44 44 44 44 44 44
+44 44 44 44 44 44 44 44 1[44 44 1[44 35[{
+ TeX09fbbfacEncoding ReEncodeFont }71 83.022 /CMTT10
+rf /Fd 133[48 48 48 48 48 48 48 48 48 48 48 48 48 48
+48 2[48 48 48 48 48 48 48 48 48 3[48 1[48 5[48 48 48
+48 48 48 48 48 4[48 1[48 48 48 48 48 48 48 2[48 48 48
+1[48 1[48 48 48 2[48 48 48 48 1[48 48 1[48 48 48 48 48
+3[48 35[{ TeX09fbbfacEncoding ReEncodeFont }61 90.9091
+/CMTT10 rf /Fe 195[71 60[{ TeXaae443f0Encoding ReEncodeFont }1
+90.9091 /CMMI10 rf /Ff 132[52 33[79 1[108 1[80 73 58
+78 1[71 79 82 99 63 2[40 1[82 66 69 80 76 74 79 11[52
+2[52 1[52 3[29 44[{ TeXf7b6d320Encoding ReEncodeFont }24
+90.9091 /CMBX10 rf /Fg 135[42 2[49 30 37 38 42 46 46
+51 74 23 1[28 28 46 42 28 42 46 42 42 46 14[66 3[68 82
+2[48 7[64 68 6[28 11[28 33[51 12[{ TeX74afc74cEncoding ReEncodeFont }30
+90.9091 /CMTI10 rf /Fh 214[91 7[91 11[71 5[45 15[{
+ TeXbbad153fEncoding ReEncodeFont }4 90.9091 /CMSY10
+rf /Fi 134[59 2[59 62 44 44 46 1[62 56 62 93 31 59 1[31
+62 56 34 51 62 50 62 54 9[116 1[86 78 62 84 2[84 88 106
+3[42 1[88 70 74 86 81 80 85 1[53 9[56 56 56 56 56 1[56
+31 37 6[87 25[62 65 11[{ TeXf7b6d320Encoding ReEncodeFont }49
+99.6264 /CMBX12 rf /Fj 131[91 45 40 48 48 66 48 51 35
+36 36 48 51 45 51 76 25 48 28 25 51 45 28 40 51 40 51
+45 25 3[45 1[56 68 68 93 68 68 66 51 67 71 62 71 68 83
+57 71 47 33 68 71 59 62 69 66 64 68 71 43 43 71 25 25
+25 45 45 45 45 45 45 45 45 45 45 45 25 30 25 71 45 35
+35 25 71 76 45 76 45 19[76 51 51 53 11[{
+ TeXf7b6d320Encoding ReEncodeFont }91 90.9091 /CMR10
+rf /Fk 139[35 4[54 9[48 22[81 19[32 58[{
+ TeX74afc74cEncoding ReEncodeFont }5 90.9091 /CMBXTI10
+rf /Fl 134[71 71 2[75 52 53 55 71 75 67 75 112 37 2[37
+75 67 41 61 75 60 75 65 12[94 75 100 1[92 101 1[128 3[50
+2[85 88 103 97 96 102 8[67 67 67 67 67 67 67 67 1[67
+1[45 45[{ TeXf7b6d320Encoding ReEncodeFont }44 119.552
+/CMBX12 rf /Fm 133[43 51 1[70 51 54 38 38 38 2[49 54
+1[27 2[27 54 49 30 43 54 43 54 49 11[73 70 54 3[76 2[61
+6[66 1[70 1[73 76 13[49 49 49 1[27 1[27 44[{
+ TeXf7b6d320Encoding ReEncodeFont }34 99.6264 /CMR12
+rf /Fn 137[70 73 51 52 51 70 73 66 73 111 36 2[36 1[66
+40 58 73 58 1[66 14[98 3[99 12[99 6[36 6[66 66 66 2[36
+4[51 51 40[{ TeXf7b6d320Encoding ReEncodeFont }28 143.462
+/CMR17 rf /Fo 139[47 57 4[79 10[65 1[72 13[79 102 3[104
+8[95 3[104 6[43 12[50 45[{ TeX74afc74cEncoding ReEncodeFont }12
+143.462 /CMTI12 rf /Fp 138[90 1[64 66 3[90 1[45 6[74
+3[78 11[124 7[153 77[{ TeXf7b6d320Encoding ReEncodeFont }9
+143.462 /CMBX12 rf end
+%%EndProlog
+%%BeginSetup
+%%Feature: *Resolution 600dpi
+TeXDict begin
+%%PaperSize: A4
+ end
+%%EndSetup
+%%Page: 1 1
+TeXDict begin 1 0 bop 1487 637 a Fp(User)53 b(Man)l(ual)789
+1009 y Fo(tRNAsc)-7 b(an-SE:)52 b Fn(a)43 b(program)f(for)h(impro)l(v)l
+(ed)664 1192 y(transfer)g(RNA)g(detection)h(in)g(genomic)f(sequence)
+1539 1374 y(\(release:)58 b(1.23\))1706 1676 y Fm(T)-8
+b(o)s(dd)33 b(Lo)m(w)m(e)1480 1793 y(Sc)m(ho)s(ol)g(of)f(Engineering)
+1443 1909 y(Univ)m(ersit)m(y)j(of)d(California)1601 2025
+y(San)m(ta)h(Cruz,)h(CA)1553 2141 y(lo)m(w)m(e at so)s(e.ucsc.edu)1657
+2345 y(Octob)s(er)e(2001)148 2688 y Fl(1)135 b(In)l(tro)t(duction)148
+2891 y Fk(Note:)48 b Fj(An)30 b(HTML)g(v)m(ersion)h(of)f(this)h(man)m
+(ual)f(can)h(b)s(e)f(found)f(on)h(the)h(w)m(eb)f(at)148
+3004 y(\\h)m(ttp://genome.wustl.edu/lo)m(w)m(e/tRNAsca)q(n-SE-Man)m
+(ual/)q(Man)m(ual)q(.h)m(tml")q(.)148 3242 y Fi(1.1)113
+b(Brief)37 b(Description)148 3413 y Fj(tRNAscan-SE)c(iden)m(ti\014es)g
+(transfer)f(RNA)h(genes)g(in)g(genomic)g(DNA)h(or)e(RNA)h(sequences.)48
+b(It)32 b(com-)148 3526 y(bines)37 b(the)h(sp)s(eci\014cit)m(y)g(of)g
+(the)g(Co)m(v)m(e)g(probabilistic)g(RNA)g(prediction)g(pac)m(k)-5
+b(age)39 b(\(Eddy)e(&)g(Durbin,)148 3639 y(1994\))42
+b(with)d(the)h(sp)s(eed)f(and)g(sensitivit)m(y)i(of)f(tRNAscan)g(1.3)h
+(\(Fic)m(han)m(t)h(&)d(Burks,)j(1991\))f(plus)e(an)148
+3752 y(implemen)m(tation)34 b(of)f(an)f(algorithm)h(describ)s(ed)e(b)m
+(y)i(P)m(a)m(v)m(esi)h(and)e(colleagues)i(\(1994\))h(whic)m(h)d(searc)m
+(hes)148 3865 y(for)k(euk)-5 b(ary)m(otic)37 b(p)s(ol)e(I)s(I)s(I)f
+(tRNA)i(promoters)g(\(our)f(implemen)m(tation)i(referred)e(to)h(as)g
+(Eu\014ndtRNA\).)148 3978 y(tRNAscan)d(and)e(Eu\014ndtRNA)f(are)j(used)
+e(as)h(\014rst-pass)f(pre\014lters)g(to)i(iden)m(tify)f(\\candidate")h
+(tRNA)148 4091 y(regions)g(of)g(the)f(sequence.)47 b(These)32
+b(subsequences)g(are)g(then)g(passed)g(to)h(Co)m(v)m(e)h(for)e(further)
+f(analysis,)148 4204 y(and)25 b(output)g(if)g(Co)m(v)m(e)i(con\014rms)d
+(the)i(initial)g(tRNA)g(prediction.)39 b(In)25 b(this)g(w)m(a)m(y)-8
+b(,)28 b(tRNAscan-SE)e(attains)148 4317 y(the)31 b(b)s(est)f(of)g(b)s
+(oth)g(w)m(orlds:)285 4474 y Fh(\017)46 b Fj(a)30 b(false)h(p)s(ositiv)
+m(e)h(rate)f(of)f(less)h(than)f(one)h(p)s(er)e(15)i(billion)g(n)m
+(ucleotides)h(of)e(random)g(sequence)285 4649 y Fh(\017)46
+b Fj(the)36 b(com)m(bined)g(sensitivities)h(of)f(tRNAscan)h(and)e
+(Eu\014ndtRNA)f(\(detection)k(of)e(99\045)g(of)g(true)376
+4762 y(tRNAs\))285 4938 y Fh(\017)46 b Fj(searc)m(h)29
+b(sp)s(eed)g(1,000)i(to)f(3,000)h(times)f(faster)g(than)f(Co)m(v)m(e)h
+(analysis)g(and)f(30)h(to)g(90)g(times)g(faster)376 5051
+y(than)c(the)i(original)g(tRNAscan)g(1.3)g(\(tRNAscan-SE)g(uses)e(b)s
+(oth)h(a)g(co)s(de-optimized)h(v)m(ersion)g(of)376 5163
+y(tRNAscan)j(1.3)g(whic)m(h)g(giv)m(es)g(a)g(650-fold)h(increase)g(in)e
+(sp)s(eed,)g(and)g(a)h(fast)f(C)g(implemen)m(tation)376
+5276 y(of)g(the)h(P)m(a)m(v)m(esi)h Fg(et)h(al.)41 b
+Fj(algorithm\).)1920 5525 y(1)p eop end
+%%Page: 2 2
+TeXDict begin 2 1 bop 289 273 a Fj(This)34 b(program)g(and)g(results)g
+(of)h(its)f(analysis)h(of)g(a)g(n)m(um)m(b)s(er)e(of)h(genomes)i(ha)m
+(v)m(e)f(b)s(een)f(published)148 386 y(in)c(Lo)m(w)m(e)i(&)e(Eddy)-8
+b(,)30 b Fg(Nucleic)h(A)-5 b(cids)33 b(R)-5 b(ese)g(ar)g(ch)40
+b Ff(25)p Fj(:)h(955-964)33 b(\(1997\).)148 629 y Fi(1.2)113
+b(What)37 b(is)h(included)g(in)g(this)g(pac)m(k)-6 b(age?)148
+801 y Fj(This)26 b(distribution)h(includes)f(the)h(PERL)f(script)h
+(tRNAscan-SE,)h(all)f(the)g(\014les)g(necessary)g(to)h(compile)148
+914 y(and)h(run)g(the)h(complete)h(CO)m(VE)e(pac)m(k)-5
+b(age)32 b(\(v)m(ersion)f(2.4.4\),)h(all)f(the)f(\014les)f(necessary)h
+(to)h(compile)g(and)148 1027 y(run)26 b(the)i(mo)s(di\014ed)e(v)m
+(ersion)h(of)h(tRNAscan)g(\(v)m(ersion)g(1.4\),)h(and)e(all)h(the)f
+(\014les)h(needed)e(to)i(compile)h(and)148 1140 y(run)e(Eu\014ndtRNA)g
+(1.0)j(\(the)f(co)m(v)m(e)i(programs,)e(tRNAscan)g(1.4,)h(and)e
+(Eu\014ndtRNA)f(are)i(included)f(for)148 1252 y(use)d(with)g(the)g
+(tRNAscan-SE)g(program,)i(but)d(ma)m(y)h(also)h(b)s(e)f(run)e(as)j
+(stand-alone)g(programs\).)39 b(Instal-)148 1365 y(lation)g(of)e(the)h
+(PERL)e(\(Practical)k(Extraction)f(and)d(Rep)s(ort)h(Language,)k(Larry)
+36 b(W)-8 b(all\))40 b(in)m(terpreter)148 1478 y(pac)m(k)-5
+b(age)33 b(v)m(ersion)e(5.0)g(or)f(later)i(is)e(required)g(to)h(run)e
+(the)h(tRNAscan-SE)h(PERL)f(script.)148 1722 y Fi(1.3)113
+b(Getting)37 b(Started)148 1893 y Fj(The)29 b(follo)m(wing)i
+(instructions)e(for)g(installing)h(the)g(tRNAscan-SE)g(pac)m(k)-5
+b(age)31 b(also)f(app)s(ear)f(in)g(the)g(\\IN-)148 2006
+y(ST)-8 b(ALL")30 b(text)i(\014le:)259 2194 y(1.)47 b(Edit)37
+b(the)i(top)f(of)g(the)g(Mak)m(e\014le.)65 b(Set)38 b(the)g(paths)g
+(and)f(other)h(mak)m(e)h(v)-5 b(ariables)39 b(to)f(suit)g(y)m(our)376
+2307 y(system.)376 2457 y(In)29 b(particular,)i(y)m(ou)g(need)f(to)h
+(sp)s(ecify:)485 2645 y Fh(\017)46 b Fj(where)29 b(executables)j(are)f
+(to)g(b)s(e)f(installed)485 2791 y Fh(\017)46 b Fj(where)29
+b(data)j(\014les)e(are)h(to)g(b)s(e)e(installed)485 2937
+y Fh(\017)46 b Fj(where)29 b(P)m(erl)i(is)g(already)g(installed)g(on)f
+(the)h(system)485 3083 y Fh(\017)46 b Fj(what)30 b(the)g(P)m(erl)h
+(executable)h(is)f(called)g(\(i.e.)42 b(\\p)s(erl")31
+b(or)f(\\p)s(erl5"\))485 3229 y Fh(\017)46 b Fj(where)29
+b(temp)s(orary)h(\014les)h(will)f(reside)485 3375 y Fh(\017)46
+b Fj(where)29 b(to)j(install)f(man)f(pages)259 3563 y(2.)47
+b(t)m(yp)s(e)30 b('mak)m(e')i(to)f(build)e(the)i(programs)259
+3751 y(3.)47 b(t)m(yp)s(e)30 b('mak)m(e)i(install')f(to)g(install)h
+(the)e(programs)g(and)g(man)g(pages)376 3901 y Fk(Note:)70
+b Fj(If)42 b(y)m(ou)g(later)h(man)m(ually)f(mo)m(v)m(e)i(the)e(lo)s
+(cation)h(of)f(binaries)g(or)g(data)h(\014les)e(from)h(the)376
+4014 y(directories)23 b(sp)s(eci\014ed)f(in)g(the)h('Mak)m(e\014le',)j
+(y)m(ou)d(need)g(to)g(delete)h(the)e(tRNAscan-SE)h(executable,)376
+4127 y(up)s(date)29 b(the)i(lo)s(cations)h(sp)s(eci\014ed)d(in)h(the)h
+(Mak)m(e\014le,)h(and)e('mak)m(e)i(install')f(again.)259
+4314 y(4.)47 b(t)m(yp)s(e)31 b('mak)m(e)h(testrun')f(to)h(run)d
+(tRNAscan-SE)j(on)f(a)g(sample)g(sequence;)i(if)e(the)g(program)g(runs)
+376 4427 y(with)f(no)g(error)g(messages,)i(tRNAscan-SE)e(has)g(b)s(een)
+g(installed)h(correctly)259 4615 y(5.)47 b(t)m(yp)s(e)30
+b('mak)m(e)i(clean')f(to)g(clean)h(up.)289 4802 y(tRNAscan-SE)h(is)f
+(kno)m(wn)f(to)h(build)f(cleanly)i(on)f(a)g(n)m(um)m(b)s(er)f(of)h
+(di\013eren)m(t)g(UNIX)g(platforms)g(and)148 4915 y(OS's,)e(including)g
+(SGI)g(\(IRIX\),)h(Sun)e(\(Solaris\),)j(DEC)e(Alpha)g(\(OSF/1\),)i(and)
+e(In)m(tel)h(x86)g(\(Lin)m(ux\).)289 5141 y Fk(Note:)43
+b Fj(A)20 b(small)h(P)m(erl)g(script)f(\(c)m(hec)m(kv)m(ersion.pl\))j
+(will)e(run)d(in)i(the)h(pro)s(cess)f(of)g('mak)m(e'ing)i(tRNAscan-)148
+5254 y(SE.)45 b(If)g(y)m(ou)g(ha)m(v)m(e)h(sp)s(eci\014ed)f(an)g(in)m
+(v)-5 b(alid)45 b(lo)s(cation)i(or)e(v)m(ersion)h(of)f(P)m(erl)h(\()p
+Fe(<)p Fj(5.0\))g(in)f(the)g(Mak)m(e\014le)1920 5525
+y(2)p eop end
+%%Page: 3 3
+TeXDict begin 3 2 bop 148 273 a Fj(PERLDIR)31 b(v)-5
+b(ariable,)31 b(the)g(mak)m(e)h(will)f(fail.)42 b(If)30
+b(y)m(ou)h(plan)f(to)h(install)h(a)f(correct)g(v)m(ersion)h(of)e(P)m
+(erl)h Fg(after)148 386 y Fj(installing)k(the)f(tRNAscan-SE)g(pac)m(k)
+-5 b(age,)37 b(y)m(ou)d(ma)m(y)h(short-circut)f(this)g(c)m(hec)m(k)h(b)
+m(y)f(commen)m(ting)h(out)148 499 y(the)c(line)g(in)f(the)g(mak)m
+(e\014le)i(con)m(taining)g('c)m(hec)m(kv)m(ersion.pl'.)289
+724 y(Once)39 b(installed,)j(the)d(user)f(ma)m(y)h(wish)f(to)i(w)m(ork)
+f(through)f(sev)m(eral)i(of)f(the)f(examples)i(included)148
+837 y(\(Section)d(6)e(of)g(this)g(do)s(cumen)m(t\))h(to)g(get)g(a)f
+(quic)m(k)h(feel)g(for)f(the)g(program's)g(op)s(eration)h(and)e(some)i
+(of)148 950 y(the)26 b(most)g(commonly)g(used)f(command)h(line)g
+(options.)39 b(A)26 b(description)g(of)f(the)h(default)g(run)e(mo)s(de)
+i(and)148 1063 y(output)33 b(app)s(ears)f(in)g(Section)h(4,)h(and)e(a)h
+(description)g(of)g(eac)m(h)h(of)f(the)g(program)f(options)h(is)g
+(included)148 1176 y(in)d(Section)i(5)e(of)h(this)f(do)s(cumen)m(t.)148
+1420 y Fi(1.4)113 b(In)m(tended)38 b(Use)148 1591 y Fj(tRNAscan-SE)32
+b(w)m(as)f(designed)g(to)h(mak)m(e)g(rapid,)f(sensitiv)m(e)h(searc)m
+(hes)g(of)f(genomic)i(sequence)e(feasible)148 1704 y(using)38
+b(the)f(selectivit)m(y)k(of)d(the)g(Co)m(v)m(e)h(analysis)f(pac)m(k)-5
+b(age.)65 b(W)-8 b(e)39 b(ha)m(v)m(e)g(optimized)f(searc)m(h)h
+(sensitivit)m(y)148 1817 y(with)34 b(euk)-5 b(ary)m(ote)35
+b(cytoplasmic)h(&)d(eubacterial)j(sequences,)f(but)e(it)i(ma)m(y)f(b)s
+(e)g(applied)f(more)h(broadly)148 1930 y(with)c(a)h(sligh)m(t)h
+(reduction)e(in)g(sensitivit)m(y)-8 b(.)148 2173 y Fi(1.5)113
+b(W)-9 b(eb)37 b(Resources)148 2345 y Fj(F)-8 b(or)36
+b(small-scale)i(users)c(and)h(those)h(who)e(are)i(unable)f(to)h
+(install)g(tRNAscan-SE)f(on)h(a)f(lo)s(cal)i(UNIX)148
+2458 y(platform,)45 b(a)e(w)m(eb-based)e(v)m(ersion)i(of)f(the)g
+(program)f(is)h(a)m(v)-5 b(ailable)44 b(for)e(on-line)h(tRNA)f
+(analysis)g(at)148 2571 y(\\h)m
+(ttp://genome.wustl.edu/eddy/tRNAscan-SE/".)48 b(All)31
+b(of)h(the)f(most)h(frequen)m(tly)f(used)g(options)148
+2684 y(are)c(a)m(v)-5 b(ailable)29 b(in)e(the)g(w)m(eb-based)f(v)m
+(ersion.)40 b(Links)26 b(to)i(the)f(most)g(recen)m(t)g(release)h(of)f
+(the)g(program)g(and)148 2797 y(the)k(tRNAscan-SE)g(Genomic)g(tRNA)g
+(Database)h(are)f(also)g(a)m(v)-5 b(ailable)33 b(from)d(this)g(page.)
+148 3083 y Fl(2)135 b(Metho)t(ds)148 3286 y Fj(tRNAscan-SE)34
+b(do)s(es)f(no)g(tRNA)h(detection)h(itself,)g(but)d(instead)i(com)m
+(bines)g(the)f(strengths)g(of)h(three)148 3399 y(indep)s(enden)m(t)41
+b(tRNA)h(prediction)f(programs)g(b)m(y)h(negotiating)i(the)d(\015o)m(w)
+h(of)g(information)f(b)s(et)m(w)m(een)148 3512 y(them,)h(p)s(erforming)
+37 b(a)j(limited)f(amoun)m(t)h(of)f(p)s(ost-pro)s(cessing,)i(and)d
+(outputting)h(the)g(results.)67 b(The)148 3625 y(program)39
+b(w)m(orks)g(in)g(three)g(main)g(phases.)66 b(In)39 b(the)g(\014rst)f
+(stage,)43 b(it)d(runs)d(t)m(w)m(o)k(indep)s(enden)m(t)c(tRNA)148
+3738 y(detection)c(programs)e(on)g(the)h(input)e(DNA)i(sequence.)44
+b(These)31 b(relativ)m(ely)j(fast,)e(\014rst-pass)e(detection)148
+3851 y(programs)f(include)f(a)h(mo)s(di\014ed,)g(optimized)g(v)m
+(ersion)h(of)f(tRNAscan)g(1.3)h(\(1\),)g(and)f(Eu\014ndtRNA,)e(an)148
+3963 y(implemen)m(tation)32 b(of)f(another)f(tRNA)h(searc)m(h)g
+(algorithm)h(previously)e(describ)s(ed)f(\(3\).)289 4076
+y(tRNAscan)39 b(1.3)f(detects)g(tRNAs)g(b)m(y)f(initially)i(lo)s(oking)
+f(for)f(short,)i(w)m(ell)g(conserv)m(ed)e(in)m(tragenic)148
+4189 y(promoter)32 b(sequences)h(\(A)f(&)g(B)g(b)s(o)m(xes)g(in)g(euk)
+-5 b(ary)m(otes\))33 b(found)e(in)h(the)g(TPC)f(and)g(D)i(arm)e
+(regions)i(of)148 4302 y(protot)m(ypic)i(tRNAs.)50 b(Once)33
+b(a)h(sp)s(eci\014c)f(n)m(um)m(b)s(er)f(of)i(n)m(ucleotides)g(in)f(the)
+h(sequence)g(matc)m(h)g(the)f(con-)148 4415 y(sensus)d(promoter)g
+(\(de\014ned)g(b)m(y)g(an)h(arbitrary)f(score)h(threshold\),)g(the)g
+(program)f(then)g(progressiv)m(ely)148 4528 y(attempts)i(to)e(iden)m
+(tify)h(the)g(v)-5 b(arious)30 b(stem-lo)s(op)h(structures)e(found)g
+(in)h(the)h(tRNA)f(\\clo)m(v)m(er)j(leaf)7 b(".)42 b(As)148
+4641 y(eac)m(h)c(arm)e(is)h(iden)m(ti\014ed)f(b)m(y)h(the)g(presence)f
+(of)h(base-pairing)g(in)f(the)h(stem,)h(correct)g(lo)s(op)f(size,)i
+(and)148 4754 y(sev)m(eral)31 b(in)m(v)-5 b(arian)m(t)30
+b(and)f(semi-in)m(v)-5 b(arian)m(t)31 b(bases,)f(a)g(\\general)g
+(score")h(coun)m(ter)f(is)f(incremen)m(ted.)41 b(If)29
+b(the)148 4867 y(\014nal)d(score)g(exceeds)h(an)e(empirically)i
+(determined)e(threshold,)h(the)g(tRNA)h(lo)s(cation,)h(an)m(tico)s
+(don,)g(and)148 4980 y(t)m(yp)s(e)j(are)g(sa)m(v)m(ed.)289
+5093 y(Eu\014ndtRNA,)42 b(on)g(the)h(other)g(hand,)i(only)e(searc)m
+(hes)h(for)e(linear)h(sequence)h(signals.)78 b(A)43 b(step-)148
+5205 y(wise)31 b(algorithm)h(uses)e(newly)h(dev)m(elop)s(ed)g(log-o)s
+(dds)g(score)g(matrices)h(to)f(\014rst)f(iden)m(tify)h(A)g(and)f(B)h(b)
+s(o)m(x)1920 5525 y(3)p eop end
+%%Page: 4 4
+TeXDict begin 4 3 bop 148 273 a Fj(promoter)37 b(elemen)m(ts)h(that)f
+(exceed)g(an)g(empirically)g(determined)f(cuto\013.)60
+b(The)36 b(scores)h(for)f(these)h(A)148 386 y(and)30
+b(B)i(b)s(o)m(xes)e(are)i(then)e(added)g(to)i(a)f(log)h(o)s(dds)d
+(score)j(for)e(the)h(n)m(ucleotide)h(distance)g(b)s(et)m(w)m(een)f(the)
+g(A)148 499 y(and)d(B)h(b)s(o)m(xes)f(to)h(pro)s(duce)e(an)i(in)m
+(termediate)g(score.)41 b(Finally)-8 b(,)31 b(a)d(log)i(o)s(dds)d
+(score)i(for)f(the)g(distance)h(to)148 612 y(the)c(nearest)f(do)m
+(wnstream)g(p)s(oly-T)g(p)s(ol)g(I)s(I)s(I)e(termination)j(signal)g(is)
+f(added)g(to)g(the)h(in)m(termediate)g(score)148 724
+y(to)37 b(obtain)g(a)f(\014nal)g(score.)58 b(If)36 b(the)g(\014nal)g
+(score)h(is)f(ab)s(o)m(v)m(e)h(a)g(\014nal)e(score)i(cuto\013,)i(the)d
+(tRNA)h(iden)m(tit)m(y)148 837 y(and)j(lo)s(cation)h(is)f(sa)m(v)m(ed.)
+71 b(tRNAscan-SE)40 b(uses)g(a)g(less)g(selectiv)m(e)j(v)m(ersion)d(of)
+h(this)e(algorithm)i(that)148 950 y(do)s(es)d(not)h(lo)s(ok)f(for)g(p)s
+(ol)g(I)s(I)s(I)f(termination)i(signals,)i(th)m(us)d(uses)f(the)i(in)m
+(termediate)h(score)e(as)h(a)f(\014nal)148 1063 y(cuto\013.)49
+b(Also,)34 b(the)f(in)m(termediate)i(score)e(cuto\013)h(is)f(lo)s
+(osened)g(sligh)m(tly)h(relativ)m(e)h(to)e(the)g(in)m(termediate)148
+1176 y(cuto\013)c(describ)s(ed)e(in)h(the)g(original)h(algorithm)h
+(\(3\).)41 b(These)27 b(mo)s(di\014cations)i(increase)g(the)f
+(algorithm's)148 1289 y(sensitivit)m(y)44 b(but)e(greatly)i(reduce)e
+(Eu\014ndtRNA's)f(selectivit)m(y)-8 b(.)80 b(This)41
+b(do)s(es)h(not)h(reduce)f(the)g(\014nal)148 1402 y(selectivit)m(y)35
+b(of)d(tRNAscan-SE)g(since)g(a)g(secondary)g(\014lter)f(\(Co)m(v)m(e\))
+j(is)e(b)s(eing)f(used)g(to)h(eliminate)h(false)148 1515
+y(p)s(ositiv)m(es.)77 b(The)42 b(sensitivit)m(y)i(of)e(Eu\014ndtRNA)f
+(is)h(roughly)g(comparable)h(to)g(tRNAscan)g(1.3,)k(but)148
+1628 y(it)37 b(app)s(ears)e(to)i(b)s(e)f(complemen)m(tary)h(in)f(that)g
+(Eu\014ndtRNA)f(tends)h(to)g(iden)m(tify)h(tRNAs)f(missed)g(b)m(y)148
+1741 y(tRNAscan)j(1.3)g(and)f(vice)h(v)m(ersa)f(\(3\).)65
+b(tRNAscan-SE)39 b(tak)m(es)g(adv)-5 b(an)m(tage)40 b(of)e(this)g
+(fact,)j(and)d(sa)m(v)m(es)148 1854 y(results)32 b(from)f(b)s(oth)h
+(tRNAscan)g(1.3)h(and)e(Eu\014ndtRNA,)g(then)h(merges)g(them)g(in)m(to)
+h(one)f(list)g(of)g(non-)148 1967 y(redundan)m(t)d(\\candidate")j(tRNA)
+f(iden)m(ti\014cations.)289 2079 y(In)24 b(the)g(second)h(stage,)i
+(tRNAscan-SE)d(extracts)i(the)e(DNA)h(subsequences)f(iden)m(ti\014ed)g
+(as)g(p)s(ossible)148 2192 y(tRNAs)e(and)f(passes)g(only)g(these)h
+(segmen)m(ts)g(to)g(an)f(RNA)h(searc)m(h)g(program)f(in)g(the)g(Co)m(v)
+m(e)i(program)e(suite)148 2305 y(\(co)m(v)m(els\))28
+b(for)d(analysis.)40 b(Co)m(v)m(e)26 b(programs)f(lo)s(ok)h(for)f
+(tRNAs)g(in)g(a)h(v)m(ery)f(di\013eren)m(t)h(w)m(a)m(y)-8
+b(.)40 b(A)25 b(probabilistic)148 2418 y(mo)s(del)33
+b(for)h(tRNA)f(has)h(b)s(een)e(dev)m(elop)s(ed)i(b)m(y)f(aligning)h
+(kno)m(wn)f(tRNAs)h(and)f(giving)h(a)g(base-sp)s(eci\014c)148
+2531 y(probabilit)m(y)28 b(score)f(to)h(ev)m(ery)g(n)m(ucleotide)g(in)f
+(the)g(tRNA)h(mo)s(del.)39 b(Also,)29 b(Co)m(v)m(e)f(uses)f(a)g(sp)s
+(ecial)h(metho)s(d)148 2644 y(for)37 b(capturing)h(secondary)f(RNA)h
+(structure)f(information)g(using)g(a)h(t)m(yp)s(e)f(of)h(language)h
+(referred)d(to)148 2757 y(as)30 b(a)g(sto)s(c)m(hastic)h(con)m
+(text-free)h(grammar)e(\(SCF)m(G\).)g(Co)m(v)m(e)h(applies)f(this)f
+(probabilistic)h(mo)s(del)g(to)g(the)148 2870 y(en)m(tire)g(windo)m(w)m
+(ed)e(sequence,)h(and)f(pro)s(duces)f(a)i(probabilit)m(y)g(score)g
+(that)g(the)g(sequence)f(matc)m(hes)i(the)148 2983 y(tRNA)35
+b(mo)s(del.)51 b(If)33 b(the)i(score)f(exceeds)h(20.0)g(bits,)g(the)f
+(tRNA)h(is)f(considered)g(a)g(true)g(tRNA)g(\(based)148
+3096 y(on)d(empirical)g(studies)f(in)g(ref.)40 b(2\).)289
+3209 y(In)24 b(the)g(\014nal)g(phase,)h(tRNAscan-SE)f(tak)m(es)i(those)
+e(tRNAs)h(con\014rmed)e(as)h(suc)m(h)g(and)f(runs)g(another)148
+3321 y(Co)m(v)m(e)28 b(program)d(\(co)m(v)m(es\))k(that)e(displa)m(ys)f
+(RNA)g(secondary)g(structure.)39 b(The)25 b(tRNA)i(t)m(yp)s(e)f(is)g
+(predicted)148 3434 y(b)m(y)37 b(iden)m(tifying)g(the)g(an)m(tico)s
+(don)g(within)f(the)h(structure)f(output.)59 b(In)m(trons)37
+b(are)g(also)g(automatically)148 3547 y(iden)m(ti\014ed)45
+b(from)f(the)g(structure)g(output)g(as)g(runs)f(of)h(\014v)m(e)h(or)f
+(more)h(consecutiv)m(e)h(non-consensus)148 3660 y(n)m(ucleotides)32
+b(within)e(the)g(an)m(tico)s(don)i(lo)s(op.)289 3773
+y(tRNAscan-SE)j(uses)e(heuristics)h(to)g(try)g(to)h(distinguish)e
+(pseudogenes)g(from)h(true)f(tRNAs,)i(pri-)148 3886 y(marily)i(on)g
+(lac)m(k)h(of)f(tRNA-lik)m(e)i(secondary)d(structure.)60
+b(A)36 b(second)h(tRNA)g(co)m(v)-5 b(ariance)39 b(mo)s(del)e(w)m(as)148
+3999 y(created)i(from)f(the)g(original)h(1415-tRNA)i(alignmen)m(t,)g
+(under)36 b(the)j(constrain)m(t)g(that)f(no)g(secondary)148
+4112 y(structure)c(is)g(conserv)m(ed)g(\(this)h(mo)s(del)f(is)g
+(e\013ectiv)m(ely)j(just)c(a)h(sequence)h(pro\014le,)g(or)f(hidden)e
+(Mark)m(o)m(v)148 4225 y(mo)s(del\).)39 b(By)24 b(subtracting)h(a)f
+(tRNA's)h(similarit)m(y)g(score)g(to)f(the)h(primary)e(structure-only)h
+(mo)s(del)g(from)148 4338 y(that)39 b(using)e(the)h(complete)i(tRNA)e
+(mo)s(del,)i(a)e(secondary)g(structure-only)g(score)g(is)g(obtained.)64
+b(W)-8 b(e)148 4451 y(ha)m(v)m(e)41 b(observ)m(ed)e(that)g(tRNAs)h
+(with)f(lo)m(w)g(scores)h(for)f(either)g(comp)s(onen)m(t)h(of)f(the)g
+(total)i(score)f(w)m(ere)148 4563 y(often)e(pseudogenes.)61
+b(Th)m(us,)38 b(tRNAs)f(are)h(mark)m(ed)f(as)h(lik)m(ely)g(pseudogenes)
+f(if)g(they)h(ha)m(v)m(e)g(either)g(a)148 4676 y(score)30
+b(of)f(less)h(than)f(10)h(bits)f(for)g(the)g(primary)g(sequence)g(comp)
+s(onen)m(t)h(of)f(the)g(total)i(score,)g(or)e(a)g(score)148
+4789 y(of)f(less)h(than)e(5)i(bits)f(for)f(the)i(secondary)f(structure)
+f(comp)s(onen)m(t)h(of)g(the)h(total)g(score.)41 b(Seleno)s(cysteine)
+148 4902 y(tRNAs)24 b(are)g(not)g(c)m(hec)m(k)m(ed)i(b)m(y)e(these)g
+(rules)f(since)h(they)g(ha)m(v)m(e)h(at)m(ypical)g(primary)e(and)g
+(secondary)h(struc-)148 5015 y(ture.)39 b(Also,)26 b(use)f(of)f(the)h
+(-O)f(option)h(\(searc)m(h)h(for)e(organellar)i(tRNAs\))f(disables)g
+(pseudogene)f(c)m(hec)m(king)148 5128 y(since)31 b(these)g(criteria)h
+(are)e(geared)i(to)m(w)m(ards)f(detecting)h(cytoplasmic)g(pseudogenes)e
+(\(some)h(true)f(non-)148 5241 y(euk)-5 b(ary)m(otic)30
+b(tRNA)e(are)h(mark)m(ed)f(as)g(pseudogenes)f(b)m(y)h(this)g
+(analysis\).)41 b(Final)28 b(tRNA)h(predictions)f(are)1920
+5525 y(4)p eop end
+%%Page: 5 5
+TeXDict begin 5 4 bop 148 273 a Fj(then)30 b(sa)m(v)m(ed)i(in)e
+(tabular,)h(A)m(CeDB,)h(or)e(secondary)h(structure)e(output)h(format.)
+289 386 y(F)-8 b(or)39 b(more)e(details)i(on)e(the)h(program)f
+(algorithm)i(&)e(implemen)m(tation,)k(see)d(the)g(Nucleic)h(Acids)148
+499 y(Researc)m(h)32 b(pap)s(er)d(\(Lo)m(w)m(e)j(&)e(Eddy)-8
+b(,)30 b(1997\).)148 785 y Fl(3)135 b(P)l(erformance)46
+b(/)f(Requiremen)l(ts)148 988 y Fj(P)m(erformance)33
+b(will)f(ob)m(viously)g(v)-5 b(ary)31 b(dep)s(ending)g(on)g(the)h(mac)m
+(hine)g(arc)m(hitecture,)i(memory)-8 b(,)33 b(and)e(OS)148
+1101 y(e\016ciency)-8 b(.)73 b(The)40 b(examples)i(included)e(in)g
+(this)g(do)s(cumen)m(t)h(w)m(ere)g(run)e(on)i(a)g(Silicon)g(Graphics)f
+(In-)148 1214 y(digo2)i(R4400-200)j(running)39 b(IRIX)i(5.3,)k(with)c
+(o)m(v)m(er)h(32Mb)g(of)f(memory)-8 b(.)73 b(tRNAscan-SE)42
+b(runs)d(at)148 1327 y(appro)m(ximately)32 b(20,000)h(to)e(45,000)i
+(bp/sec)d(in)g(its)h(default)g(op)s(eration)f(mo)s(de)g(on)h(this)f
+(mac)m(hine.)148 1613 y Fl(4)135 b(Default)46 b(Program)g(Op)t(eration)
+148 1819 y Fi(4.1)113 b(In)m(v)m(oking)38 b(tRNAscan-SE)148
+1991 y Fj(The)31 b(program)h(is)f(in)m(v)m(ok)m(ed)i(b)m(y)e(giving)i
+(it)f(a)g(series)g(of)f(optional)i(command)e(line)h(parameters,)g(then)
+g(a)148 2104 y(list)27 b(of)f(one)g(or)g(more)g(sequence)g(\014les)g
+(written)g(in)f(the)h(F)-10 b(AST)i(A)26 b(format)h(\(see)f(app)s
+(endix)f(A)h(for)f(example)148 2217 y(of)31 b(F)-10 b(AST)i(A)30
+b(format\):)337 2443 y Fd(tRNAscan-SE)45 b([-options])g(FASTA)p
+1681 2443 29 4 v 33 w(file\(s\))289 2669 y Fj(By)40 b(default,)h(the)e
+(header)g(credits)h(and)e(selected)i(command-line)g(options)f(are)h
+(prin)m(ted)e(to)i(the)148 2781 y(screen)45 b(via)h(standard)e(error,)
+49 b(follo)m(w)m(ed)e(b)m(y)e(the)g(\014nal)g(results)f(of)i(the)f
+(tRNA)g(searc)m(h)h(written)f(to)148 2894 y(standard)36
+b(output)g(in)g(a)h(tabular)f(format)h(\(see)h(b)s(elo)m(w\).)59
+b(By)37 b(default,)h(tRNAscan-SE)f(searc)m(hes)g(for)148
+3007 y(euk)-5 b(ary)m(otic)36 b(cytoplasmic)f(tRNAs.)52
+b(T)-8 b(o)35 b(searc)m(h)f(for)g(prok)-5 b(ary)m(otic,)36
+b(arc)m(haeal,)h(or)d(organellar)h(tRNAs,)148 3120 y(use)e(searc)m(h)h
+(mo)s(de)f(options)h(-P)-8 b(,)34 b(-A,)g(-O,)g(rep)s(ectiv)m(ely)-8
+b(.)51 b(If)33 b(the)h(sequences)f(are)h(from)f(more)h(than)f(one)148
+3233 y(ph)m(ylogenetic)f(domain,)e(the)f(general)i(tRNA)f(mo)s(del)f
+(\(option)i(-G\))f(ma)m(y)g(b)s(e)f(used)g(with)g(minimal)h(loss)148
+3346 y(of)43 b(sensitivit)m(y)h(and)e(selectivit)m(y)j(\(the)e
+(publication)g(describing)f(tRNAscan-SE)h(used)e(the)i(general)148
+3459 y(tRNA)31 b(mo)s(del)f(exclusiv)m(ely)-8 b(,)33
+b(ref.)41 b(4\).)148 3658 y Fc(Sequence)694 b(tRNA)42
+b(Bounds)216 b(tRNA)172 b(Anti)h(Intron)41 b(Bounds)129
+b(Cove)148 3758 y(Name)522 b(tRNA)42 b(#)86 b(Begin)129
+b(End)217 b(Type)172 b(Codon)129 b(Begin)g(End)217 b(Score)148
+3857 y(--------)346 b(------)84 b(-----)129 b(---)217
+b(----)172 b(-----)129 b(-----)g(-----)g(-----)148 3957
+y(CELF22B7)346 b(1)304 b(12619)129 b(12738)g(Leu)216
+b(CAA)h(12657)129 b(12692)g(60.01)148 4057 y(CELF22B7)346
+b(2)304 b(19480)129 b(19561)g(Ser)216 b(AGA)h(0)305 b(0)g(80.44)148
+4156 y(CELF22B7)346 b(3)304 b(26367)129 b(26439)g(Phe)216
+b(GAA)h(0)305 b(0)g(80.32)148 4256 y(CELF22B7)346 b(4)304
+b(26992)129 b(26920)g(Phe)216 b(GAA)h(0)305 b(0)g(80.32)148
+4356 y(CELF22B7)346 b(5)304 b(23765)129 b(23694)g(Pro)216
+b(CGG)h(0)305 b(0)g(75.76)289 4568 y Fj(Eac)m(h)42 b(new)f(tRNA)g(in)g
+(a)h(sequence)f(is)g(consecutiv)m(ely)i(n)m(um)m(b)s(ered)d(in)h(the)g
+('tRNA)h(#')f(column.)148 4681 y('tRNA)33 b(Bounds')f(sp)s(ecify)g(the)
+g(starting)h(\(5'\))h(and)e(ending)f(\(3'\))j(n)m(ucleotide)g(b)s
+(ounds)c(for)i(the)g(tRNA.)148 4794 y(tRNAs)j(found)d(on)i(the)g(rev)m
+(erse)h(\(lo)m(w)m(er\))h(strand)d(are)i(indicated)f(b)m(y)g(ha)m(ving)
+h(the)f(Begin)h(\(5'\))g(b)s(ound)148 4907 y(greater)d(than)e(the)h
+(End)e(\(3'\))i(b)s(ound)e(\(see)i(tRNAs)g(#4)f(&)g(#5)h(in)f(output)g
+(ab)s(o)m(v)m(e\).)289 5020 y(The)40 b('tRNA)h(T)m(yp)s(e')f(is)g(the)g
+(predicted)g(amino)g(acid)h(c)m(harged)f(to)h(the)f(tRNA)h(molecule)g
+(based)148 5133 y(on)k(the)f(predicted)g('An)m(tico)s(don')i(\(written)
+f(5')g Fh(!)f Fj(3'\))h(displa)m(y)m(ed)g(in)f(the)h(next)f(column.)83
+b(tRNAs)148 5246 y(that)33 b(\014t)e(criteria)i(for)e(p)s(oten)m(tial)j
+(pseudogenes)d(\(p)s(o)s(or)g(primary)g(or)g(secondary)h(structure,)g
+(discussed)1920 5525 y(5)p eop end
+%%Page: 6 6
+TeXDict begin 6 5 bop 148 273 a Fj(in)41 b(Metho)s(ds\),)j(will)e(b)s
+(e)e(mark)m(ed)i(with)e(\\Pseudo")i(in)f(the)g('tRNA)h(T)m(yp)s(e')f
+(column.)73 b(If)40 b(there)i(is)f(a)148 386 y(predicted)e(in)m(tron)h
+(in)e(the)i(tRNA,)g(the)f(next)g(t)m(w)m(o)i(columns)e(indicate)h(the)f
+(n)m(ucleotide)i(b)s(ounds.)65 b(If)148 499 y(there)45
+b(is)f(no)g(predicted)f(in)m(tron,)48 b(b)s(oth)c(of)g(these)g(columns)
+g(con)m(tain)h(zero.)83 b(The)43 b(\014nal)h(column)g(is)148
+612 y(the)35 b(Co)m(v)m(e)h(score)f(for)f(the)h(tRNA)g(in)f(bits.)52
+b(Note)36 b(that)f(this)g(score)g(will)f(v)-5 b(ary)35
+b(somewhat)g(dep)s(ending)148 724 y(on)41 b(the)f(particular)h(tRNA)f
+(co)m(v)-5 b(ariance)43 b(mo)s(del)d(used)g(in)g(the)g(analysis)h
+(\(the)g(searc)m(h)g(mo)s(de)f(selects)148 837 y(whic)m(h)28
+b(tRNA)g(co)m(v)-5 b(ariance)30 b(mo)s(del)e(will)g(b)s(e)f(used:)38
+b(euk)-5 b(ary)m(ote-sp)s(eci\014c,)31 b(prok)-5 b(ary)m(ote-sp)s
+(eci\014c,)30 b(arc)m(hae-)148 950 y(sp)s(eci\014c,)g(or)f(general\).)
+42 b(tRNAscan-SE)30 b(coun)m(ts)f(an)m(y)h(sequence)g(that)g(attains)g
+(a)g(score)g(of)f Fh(\025)g Fj(20.0)i(bits)148 1063 y(as)g(a)g(tRNA)g
+(\(based)f(on)g(empirical)h(studies)g(conducted)f(b)m(y)g(Eddy)f(&)h
+(Durbin)f(in)h(ref)h(#2\).)148 1307 y Fi(4.2)113 b(T)-9
+b(emp)s(orary)38 b(\014les)148 1478 y Fj(In)27 b(the)h(course)f(of)h
+(program)f(execution,)i(sev)m(eral)g(temp)s(orary)e(\014les)g(are)h
+(written)f(to)i(and)d(deleted)j(from)148 1591 y(the)23
+b(`TEMPDIR')g(directory)f(sp)s(eci\014ed)g(in)g(the)h(Mak)m(e\014le)h
+(on)e(installing)i(the)e(program.)38 b(Alternativ)m(ely)-8
+b(,)148 1704 y(the)26 b(en)m(vironmen)m(t)g(v)-5 b(ariable)27
+b(`TMPDIR')f(can)g(b)s(e)f(set)h(to)h(another)f(directory)g(whic)m(h)f
+(will)h(o)m(v)m(erride)h(the)148 1817 y(temp)s(orary)j(directory)h(sp)s
+(eci\014ed)f(in)g(the)g(Mak)m(e\014le.)289 1930 y(F)-8
+b(or)32 b(the)g(a)m(v)m(erage)h(user,)e(/tmp)g(should)f(w)m(ork)i
+(\014ne)e(as)i(the)f(temp)g(\014le)g(directory)-8 b(.)44
+b(F)-8 b(or)32 b(sequencing)148 2043 y(cen)m(ters)e(or)f(users)g
+(scanning)g(v)m(ery)g(large)h(individual)f(sequences)g(\()p
+Fh(\025)g Fj(1MBp\),)i(or)e(man)m(y)g(sequences)g(at)148
+2156 y(once)37 b(\()p Fh(\025)f Fj(4)h(instances)f(of)h(tRNAscan-SE)f
+(at)h(once\),)i(it)e(migh)m(t)g(b)s(e)e(advisable)i(to)g(use)e
+(/usr/tmp)h(or)148 2269 y(some)31 b(other)g(temp)s(orary)f(directory)h
+(that)g(has)f(su\016cien)m(t)g(free)h(disk)f(space)h(\(at)g(least)h
+(10MB)g(free\).)289 2382 y Fg(Note:)42 b Fj(If)20 b(m)m(ultiple)i(F)-10
+b(AST)i(A)22 b(\014les)f(are)h(sp)s(eci\014ed)f(on)g(the)g(command)g
+(line,)j(tRNAscan-SE)e(creates)h(a)148 2494 y(temp)s(orary)i(\014le)h
+Fd(tscan)p Fb(process-id-number)p Fd(.)o(mseq)19 b Fj(in)25
+b(whic)m(h)g(all)h(sequence)g(\014les)f(are)h(concatenated)148
+2607 y(together)j(for)e(ease)h(of)g(pro)s(cessing.)39
+b(Because)29 b(of)e(this,)h(the)f(temp)s(orary)g(directory)h(m)m(ust)f
+(ha)m(v)m(e)h(enough)148 2720 y(ro)s(om)h(to)g(temp)s(orarily)g(sa)m(v)
+m(e)h(a)f(cop)m(y)g(of)g(all)h(the)f(sequence)g(\014les)f(\(at)i
+(once\))g(that)f(ha)m(v)m(e)h(b)s(een)e(sp)s(eci\014ed)148
+2833 y(on)38 b(the)f(command)g(line)h(|)f(this)g(ma)m(y)h(b)s(e)f(a)g
+(problem)g(for)g(\\p)s(o)m(w)m(er)h(users")f(who)g(ma)m(y)h(conceiv)-5
+b(ably)148 2946 y(scan)25 b(an)g(en)m(tire)h(directory)f(of)g(cosmids)g
+(totalling)i(man)m(y)e(MBp)g(of)g(sequence.)39 b(In)24
+b(these)i(cases,)h(I)d(w)m(ould)148 3059 y(advise)h(the)f(user)g(to)h
+(either)g(run)d(a)j(smaller)g(set)f(of)h(sequences)f(at)h(once,)i(or)d
+(mak)m(e)h(sure)f(the)g(TEMPDIR)148 3172 y(can)31 b(handle)f(the)g
+(large)i('.mseq')f(temp)s(orary)f(\014le.)1920 5525 y(6)p
+eop end
+%%Page: 7 7
+TeXDict begin 7 6 bop 148 273 a Fl(5)135 b(Command-line)46
+b(Options)148 479 y Fi(5.1)113 b(Searc)m(h)38 b(Mo)s(de)g(Options)148
+651 y Fj(By)33 b(default,)h(the)f(euk)-5 b(ary)m(otic)34
+b(tRNA)f(mo)s(del)g(is)f(used)g(for)g(tRNA)i(analysis.)48
+b(T)-8 b(o)33 b(select)h(an)e(alternate)148 764 y(tRNA)37
+b(mo)s(del)f(for)g(sequences)g(from)g(other)g(sources)g(\(other)h(ph)m
+(ylogenetic)h(domains)e(or)g(mito)s(c)m(hon-)148 877
+y(dria/c)m(hloroplasts\),)d(use)d(one)h(of)f(the)h(follo)m(wing)h
+(options:)235 1083 y(-B)47 b(:)40 b(searc)m(h)31 b(for)f(bacterial)i
+(tRNAs)376 1232 y(This)e(option)h(selects)i(the)e(bacterial)h(co)m(v)-5
+b(ariace)34 b(mo)s(del)d(for)g(tRNA)g(analysis,)h(and)f(lo)s(osens)g
+(the)376 1345 y(searc)m(h)i(parameters)f(for)g(Eu\014ndtRNA)f(to)i
+(impro)m(v)m(e)h(detection)f(of)g(bacterial)h(tRNAs.)47
+b(Use)33 b(of)376 1458 y(this)d(mo)s(de)f(with)h(bacterial)i(sequences)
+e(will)h(also)g(impro)m(v)m(e)g(b)s(ounds)d(prediction)i(of)h(the)f(3')
+h(end)376 1571 y(\(the)g(terminal)f(CAA)h(triplet\).)232
+1756 y(-A)46 b(:)40 b(searc)m(h)31 b(for)f(arc)m(haeal)j(tRNAs)376
+1905 y(This)g(option)h(selects)h(an)f(arc)m(haeal-sp)s(eci\014c)h(co)m
+(v)-5 b(ariance)36 b(mo)s(del)e(for)f(tRNA)i(analysis,)g(as)f(w)m(ell)
+376 2018 y(as)c(sligh)m(tly)i(lo)s(osening)f(the)f(Eu\014ndtRNA)f
+(searc)m(h)i(cuto\013s.)229 2204 y(-O)46 b(:)40 b(searc)m(h)31
+b(for)f(organellar)i(\(mito)s(c)m(hondrial/c)m(hloroplast\))i(tRNAs)376
+2353 y(This)j(parameter)h(b)m(ypasses)g(the)g(fast)g(\014rst-pass)f
+(scanners)g(that)i(are)f(p)s(o)s(or)f(at)h(detecting)i(or-)376
+2466 y(ganellar)30 b(tRNAs)g(and)e(runs)g(Co)m(v)m(e)i(analysis)g(only)
+-8 b(.)41 b(Since)29 b(true)g(organellar)i(tRNAs)e(ha)m(v)m(e)i(b)s
+(een)376 2579 y(found)g(to)i(ha)m(v)m(e)h(Co)m(v)m(e)g(scores)f(b)s(et)
+m(w)m(een)g(15)g(and)f(20)h(bits,)g(the)g(searc)m(h)g(cuto\013)g(is)g
+(lo)m(w)m(ered)h(from)376 2692 y(20)41 b(to)f(15)h(bits.)70
+b(Also,)44 b(pseudogene)c(c)m(hec)m(king)i(is)e(disabled)g(since)g(it)h
+(is)f(only)g(applicable)h(to)376 2804 y(euk)-5 b(ary)m(otic)36
+b(cytoplasmic)h(tRNA)f(pseudogenes.)55 b(Since)35 b(Co)m(v)m(e-only)i
+(mo)s(de)d(is)h(used,)h(searc)m(hes)376 2917 y(will)30
+b(b)s(e)g(v)m(ery)h(slo)m(w)g(\(see)g(-C)f(option)h(b)s(elo)m(w\))g
+(relativ)m(e)i(to)e(the)f(default)h(mo)s(de.)228 3103
+y(-G)47 b(:)40 b(use)30 b(general)i(tRNA)f(mo)s(del)376
+3252 y(This)h(option)i(selects)h(the)f(original)h(tRNA)f(co)m(v)-5
+b(ariance)35 b(mo)s(del)f(that)g(w)m(as)g(trained)f(on)h(tRNAs)376
+3365 y(from)22 b(all)i(three)f(ph)m(ylogenetic)h(domains)f(\(arc)m
+(haea,)j(bacteria,)g(&)d(euk)-5 b(ary)m(a\).)39 b(This)22
+b(mo)s(de)h(can)g(b)s(e)376 3478 y(used)g(when)g(analyzing)j(a)f(mixed)
+f(collection)j(of)d(sequences)h(from)f(more)g(than)h(one)f(ph)m
+(ylogenetic)376 3591 y(domain,)36 b(with)e(only)h(sligh)m(t)h(loss)g
+(of)f(sensitivit)m(y)h(and)e(selectivit)m(y)-8 b(.)58
+b(The)35 b(original)h(publication)376 3704 y(describing)27
+b(this)g(program)g(and)g(tRNAscan-SE)h(v)m(ersion)g(1.0)g(used)f(this)g
+(general)h(tRNA)g(mo)s(del)376 3817 y(exclusiv)m(ely)-8
+b(.)42 b(If)29 b(y)m(ou)h(wish)f(to)i(compare)f(scores)g(to)h(those)f
+(found)e(in)i(the)g(pap)s(er)e(or)i(scans)g(using)376
+3930 y(v1.0,)42 b(use)c(this)g(option.)66 b(Use)39 b(of)g(this)f
+(option)h(is)g(compatible)h(with)e(all)h(other)g(searc)m(h)g(mo)s(de)
+376 4042 y(options)30 b(describ)s(ed)g(in)g(this)g(section.)234
+4228 y(-C)46 b(:)40 b(searc)m(h)31 b(using)f(Co)m(v)m(e)i(analysis)f
+(only)376 4377 y(Directs)42 b(tRNAscan-SE)f(to)g(analyze)h(sequences)f
+(using)f(Co)m(v)m(e)i(analysis)g(only)-8 b(.)72 b(This)40
+b(option)376 4490 y(allo)m(ws)30 b(a)g(sligh)m(tly)h(more)e(sensitiv)m
+(e)i(searc)m(h)f(than)f(the)h(default)f(tRNAscan)h(+)f(Eu\014ndtRNA)f
+Fh(\))376 4603 y Fj(Co)m(v)m(e)35 b(mo)s(de,)f(but)f(is)h(m)m(uc)m(h)g
+(slo)m(w)m(er)h(\(b)m(y)f(appro)m(x.)50 b(250)36 b(to)e(3,000)i
+(fold\).)51 b(Output)33 b(format)h(and)376 4716 y(other)c(program)g
+(defaults)h(are)g(otherwise)f(iden)m(tical)j(to)e(the)f(normal)h
+(analysis.)232 4901 y(-H)46 b(:)53 b(sho)m(w)37 b(b)s(oth)f(primary)g
+(&)g(secondary)h(structure)f(score)i(comp)s(onen)m(ts)f(to)g(co)m(v)-5
+b(ariance)39 b(mo)s(del)376 5014 y(bit)30 b(scores)376
+5163 y(This)21 b(option)i(displa)m(ys)g(the)f(breakdo)m(wn)g(of)h(the)f
+(t)m(w)m(o)i(comp)s(onen)m(ts)f(of)f(the)h(co)m(v)-5
+b(ariance)25 b(mo)s(del)d(bit)376 5276 y(score.)41 b(Since)29
+b(tRNA)h(pseudogenes)g(often)g(ha)m(v)m(e)g(one)g(v)m(ery)g(lo)m(w)g
+(comp)s(onen)m(t)g(\(go)s(o)s(d)g(secondary)1920 5525
+y(7)p eop end
+%%Page: 8 8
+TeXDict begin 8 7 bop 376 273 a Fj(structure)35 b(but)h(p)s(o)s(or)g
+(primary)f(sequence)i(similarit)m(y)h(to)f(the)f(tRNA)h(mo)s(del,)h(or)
+e(vice)i(v)m(ersa\),)376 386 y(this)d(information)h(ma)m(y)g(b)s(e)f
+(useful)g(in)g(deciding)h(whether)f(a)g(lo)m(w-scoring)j(tRNA)e(is)f
+(lik)m(ely)i(to)376 499 y(b)s(e)d(a)h(pseudogene.)53
+b(The)34 b(heuristic)h(pseudogene)f(detection)i(\014lter)f(uses)f(this)
+g(information)h(to)376 612 y(\015ag)f(p)s(ossible)f(pseudogenes)h({)h
+(use)e(this)h(option)h(to)f(see)h(wh)m(y)e(a)i(hit)f(is)g(mark)m(ed)g
+(as)g(a)g(p)s(ossible)376 724 y(pseudogene.)51 b(It)35
+b(ma)m(y)f(b)s(e)g(helpful)f(to)i(examine)f(score)h(breakdo)m(wns)f
+(from)f(kno)m(wn)h(tRNAs)g(in)376 837 y(the)c(organism)h(of)f(in)m
+(terest)i(to)f(get)g(a)g(frame)g(of)f(reference.)230
+1025 y(-D)47 b(:)40 b(disable)31 b(pseudogene)f(c)m(hec)m(king)376
+1175 y(Man)m(ually)22 b(disable)g(c)m(hec)m(king)h(tRNAs)e(for)g(p)s(o)
+s(or)g(primary)f(or)i(secondary)f(structure)g(scores)h(often)376
+1288 y(indicativ)m(e)31 b(of)f(euk)-5 b(ary)m(otic)32
+b(pseudogenes.)40 b(This)29 b(will)i(sligh)m(tly)g(sp)s(eed)e(the)h
+(program)g(&)f(ma)m(y)i(b)s(e)376 1401 y(necessary)i(for)h(non-euk)-5
+b(ary)m(otic)34 b(sequences)g(that)g(are)g(\015agged)g(as)g(p)s
+(ossible)f(pseudogenes)g(but)376 1514 y(are)d(kno)m(wn)g(to)h(b)s(e)f
+(functional)h(tRNAs.)148 1757 y Fi(5.2)113 b(Output)37
+b(Options)101 1929 y Fj(-o)31 b Fg(\014le)53 b Fj(:)40
+b(sa)m(v)m(e)32 b(\014nal)e(results)g(in)g Fg(\014le)376
+2079 y Fj(Sp)s(eci\014y)f(this)h(option)h(to)g(write)g(results)f(to)h
+Fg(\014le)37 b Fj(rather)31 b(than)f(standard)f(output.)119
+2267 y(-f)h Fg(\014le)53 b Fj(:)40 b(sa)m(v)m(e)32 b(results)e(and)g
+(Co)m(v)m(e)i(tRNA)f(secondary)f(structures)g(to)h Fg(\014le)376
+2396 y Fj(This)36 b(option)h(sa)m(v)m(es)h(results)f(and)f(secondary)h
+(structure)f(information)h(\(as)h(predicted)e(b)m(y)h(the)376
+2487 y(co)m(v)m(es)24 b(program\))f(in)f Fg(\014le)p
+Fj(.)38 b(Use)23 b(\\$")h(in)e(place)h(of)g Fg(\014le)30
+b Fj(to)23 b(send)f(to)h(standard)f(output.)37 b(An)22
+b(example)376 2578 y(of)30 b(the)h(output)f(format)g(for)h(one)f(tRNA)h
+(app)s(ears)f(b)s(elo)m(w:)376 2782 y Fa(CELF22B7.trna4)42
+b(\(26992-26920\))160 b(Length:)41 b(73)e(bp)376 2873
+y(Type:)h(Phe)275 b(Anticodon:)42 b(GAA)e(at)f(34-36)i(\(26959-26957\))
+120 b(Score:)41 b(73.88)729 2964 y(*)157 b(|)g(*)g(|)g(*)g(|)g(*)h(|)f
+(*)g(|)g(*)g(|)g(*)g(|)376 3056 y(Seq:)40 b
+(GCCTCGATAGCTCAGTTGGGAGAGCGTACG)q(ACTGA)q(AGAT)q(CGTA)q(AGGtC)q(ACCA)q
+(GTTCG)q(ATCC)q(TGGT)q(TCGGG)q(GCA)376 3147 y(Str:)g
+(>>>>>>>..>>>>........<<<<.>>>>)q(>....)q(...<)q(<<<<)q(.....)q(>>>>)q
+(>....)q(...<)q(<<<<)q(<<<<<)q(<<.)572 3330 y(|)196 b(|)79
+b(|)549 b(|)40 b(|)588 b(|)197 b(|)588 b(||)197 b(|)572
+3421 y(+-----+)80 b(+--------------+)43 b(+---------------+)200
+b(+---------------++-----+)689 3512 y(|)314 b(D-stem/loop)278
+b(Anticodon)472 b(TPC)40 b(stem/loop)159 b(|)689 3604
+y(|)1060 b(stem/loop)1100 b(|)689 3695 y(+--------------------------)q
+(-----)q(----)q(----)q(-----)q(----)q(-----)q(----)q(----)q(---+)1631
+3786 y(Isoacceptor)42 b(stem)376 4103 y Fj(The)24 b(\014rst)g(line)h
+(con)m(tains)h(the)f(sequence)h(name,)g(trna#,)g(tRNA)f(b)s(ounds)e
+(\(in)i(paren)m(theses\),)i(and)376 4216 y(length)34
+b(of)g(the)g(tRNA.)g(The)g(next)g(line)g(con)m(tains)h(the)f
+(isoacceptor)i(tRNA)e(T)m(yp)s(e,)g(An)m(tico)s(don)376
+4328 y(\(with)41 b(tRNA-relativ)m(e)j(and)d(sequence-absolute)h(b)s
+(ounds\),)h(and)d(the)i(Co)m(v)m(e)g(Score.)74 b(This)40
+b(is)376 4441 y(iden)m(tical)e(information)e(as)h(w)m(ould)f(b)s(e)f
+(seen)i(in)f(the)g(tabular)g(output)g(format,)i(excluding)f(the)376
+4554 y(an)m(tico)s(don)k(b)s(ounds.)71 b(The)40 b(next)h(line)g(con)m
+(tains)i(hash)d(marks)g(ev)m(ery)i(5)f(and)g(10)g(bp)f(to)i(ease)376
+4667 y(p)s(osition)32 b(iden)m(ti\014cation)i(in)f(the)f(tRNA)h
+(sequence)g(that)g(app)s(ears)f(on)h(the)f(follo)m(wing)i(line.)48
+b(On)376 4780 y(the)35 b(sequence)h(line,)h(n)m(ucleotides)g(matc)m
+(hing)g(the)e(\\consensus")h(tRNA)g(mo)s(del)f(used)g(in)g(Co)m(v)m(e)
+376 4893 y(analysis)f(app)s(ear)g(in)f(upp)s(er)f(case,)37
+b(while)d(in)m(trons)g(and)f(other)i(n)m(ucleotides)g(in)f(non-conserv)
+m(ed)376 5006 y(p)s(ositions)28 b(are)h(prin)m(ted)g(in)f(lo)m(w)m
+(er-case)j(letters.)42 b(The)28 b(last)h(line)g(con)m(tains)h
+(predicted)f(secondary)376 5119 y(structure)43 b(folding)h(of)f(the)h
+(tRNA,)h(with)e(nested)h(')p Fd(>)p Fj(')g(and)f(')p
+Fd(<)p Fj(')h(sym)m(b)s(ols)f(represen)m(ting)h(base)376
+5232 y(pairings.)c(The)30 b(v)-5 b(arious)30 b(tRNA)h(features)g(are)g
+(lab)s(elled)g(in)f(this)g(example.)1920 5525 y(8)p eop
+end
+%%Page: 9 9
+TeXDict begin 9 8 bop 254 273 a Fj(-a)47 b(:)40 b(output)30
+b(results)g(in)g(A)m(CeDB)i(output)e(format)376 423 y(This)42
+b(option)i(allo)m(ws)h(results)f(to)g(b)s(e)f(written)g(in)h(A)m(CeDB)h
+(format)f(instead)f(of)h(the)g(default)376 536 y(tabular)30
+b(output)g(format.)71 724 y(-m)g Fg(\014le)53 b Fj(:)40
+b(sa)m(v)m(e)32 b(statistics)h(summary)c(for)h(run)376
+874 y(This)c(option)i(directs)f(tRNAscan-SE)h(to)g(write)g(a)f(brief)g
+(summary)f(to)i Fg(\014le)34 b Fj(whic)m(h)27 b(con)m(tains)i(the)376
+987 y(run)34 b(options)i(selected)i(as)e(w)m(ell)h(as)f(statistics)i
+(on)e(the)g(n)m(um)m(b)s(er)f(of)h(tRNAs)g(detected)h(at)g(eac)m(h)376
+1100 y(phase)28 b(of)i(the)f(searc)m(h,)h(searc)m(h)g(sp)s(eed,)f(and)f
+(other)h(statistics)i(\(examples)f(on)f(follo)m(wing)i(pages\).)1920
+5525 y(9)p eop end
+%%Page: 10 10
+TeXDict begin 10 9 bop 376 273 a Fj(F)-8 b(ollo)m(wing)42
+b(is)d(a)i(description)e(of)h(eac)m(h)h(of)f(these)g(statistics,)k
+(follo)m(w)m(ed)e(b)m(y)d(an)h(example)g(stats)376 372
+y(summary)29 b(\014le)h(created)i(from)e(scanning)g(the)g(C.)h(elegans)
+g(cosmid)g(F59C12:)376 584 y Fc(tRNAscan-SE)39 b(run)j(results)f(\(on)h
+(host)g(<computer)e(name>\))376 684 y(Started:)g(<time)h(&)j(date)d
+(tRNAscan-SE)f(began>)376 883 y(<Parameters)f(used)j(for)g(search)f
+(printed)g(here>)376 1082 y(First-pass)e(\(tRNAscan/Eufind)o(tRN)o(A\))
+e(Stats:)376 1182 y(---------------)o(---)o(--)o(--)o(---)o(--)o(---)o
+(--)o(---)o(--)o(--)376 1282 y(Sequences)i(read:)391
+b(<total)41 b(#)i(of)g(FASTA)e(sequences)f(read>)376
+1381 y(Seqs)i(w/at)f(least)h(1)h(hit:)86 b(<total)41
+b(sequences)f(with)i(at)g(least)g(one)g(tRNA)g(predicted>)376
+1481 y(Bases)f(read:)565 b(<total)41 b(nucleotides)e(in)k(all)f
+(sequences)e(searched)g(\(both)i(strands\)>)376 1580
+y(Bases)f(in)i(tRNAs:)390 b(<total)41 b(nucleotides)e(in)k(tRNAs)e
+(predicted>)376 1680 y(tRNAs)g(predicted:)345 b(<#)42
+b(tRNAs)g(predicted)e(from)i(first-pass)d(search)i(program\(s\)>)376
+1780 y(Av.)h(tRNA)g(length:)346 b(<average)40 b(tRNA)i(length>)376
+1879 y(Script)f(CPU)h(time:)347 b(<CPU)42 b(time)g(spent)f(by)i
+(tRNAscan-SE)1465 1979 y(reading)e(seqs,)g(setting)g(up)i(run)f(&)h
+(writing)e(results>)376 2079 y(Scan)h(CPU)g(time:)434
+b(<CPU)42 b(time)g(spent)f(by)i(tRNAscan/Eufindt)o(RN)o(A)38
+b(finding)i(tRNAs>)376 2178 y(Scan)i(speed:)564 b(<Averaged)40
+b(tRNAscan+Eufind)o(tR)o(NA)d(search)k(speed>)376 2377
+y(First)g(pass)h(search\(es\))d(ended:)j(<time)f(&)i(date)f
+(tRNAscan/EufindtR)o(NA)37 b(searches)1683 2477 y(finished,)j(Cove)i
+(analysis)e(begins>)376 2676 y(Cove)i(Stats:)376 2776
+y(-----------)376 2876 y(Candidate)d(tRNAs)j(read:)172
+b(<number)41 b(of)i(tRNAs)e(detected)f(by)j(tRNAscan/EufindtR)o(NA)1509
+2975 y(that)f(were)g(passed)f(to)i(Cove)e(for)i(verification>)376
+3075 y(Cove-confirmed)37 b(tRNAs:)172 b(<number)41 b(of)i(tRNAs)e
+(positively)f(confirmed)g(by)i(Cove>)376 3174 y(Bases)f(scanned)g(by)i
+(covels:)d(<total)h(nucleotides)e(in)k(all)f(tRNAs)g(searched)e(by)1509
+3274 y(Cove)i(\(covels-SE)d(program\))h(analysis>)376
+3374 y(\045)j(seq)f(scanned)f(by)i(covels:)d(<percent)h(of)h(total)g
+(nucleotides)d(in)k(input)1509 3473 y(sequences)d(that)i(were)g
+(analyzed)e(by)j(Cove>)376 3573 y(Script)e(CPU)h(time:)390
+b(<CPU)42 b(time)g(spent)g(by)g(tRNAscan-SE)d(reading)1509
+3673 y(seqs,)i(setting)g(up)i(runs)f(&)h(writing)e(results>)376
+3772 y(Cove)h(CPU)g(time:)477 b(<CPU)42 b(time)g(spent)g(by)g(Cove)g
+(analysis)f(programs>)376 3872 y(Scan)h(speed:)607 b(<Average)41
+b(Cove)g(search)h(speed>)376 4071 y(Cove)g(analysis)e(of)j(tRNAs)e
+(ended:)g(<time)h(&)h(date)f(Cove)g(analysis)1727 4171
+y(and)g(tRNAscan-SE)d(completed>)376 4270 y(Summary)376
+4370 y(--------)376 4470 y(Confirmed)g(tRNAs:)216 b(<total)41
+b(tRNAs)h(predicted)d(by)k(tRNAscan-SE>)376 4569 y(Overall)d(scan)i
+(speed:)85 b(<Average)40 b(search)h(speed)h(for)g(tRNAscan-SE>)1897
+5525 y Fj(10)p eop end
+%%Page: 11 11
+TeXDict begin 11 10 bop 376 273 a Fj(An)35 b(example)h(stats)h(summary)
+d(\014le)i(using)f(the)h(default)g(searc)m(h)g(options)g(on)f(cosmid)h
+(F59C12)376 372 y(follo)m(ws:)376 684 y Fc(tRNAscan-SE)j(run)j(results)
+f(\(on)h(host)g(wol\))376 783 y(Started:)e(Wed)i(Feb)86
+b(5)43 b(15:02:30)e(CST)h(1997)376 983 y(---------------)o(---)o(--)o
+(--)o(---)o(--)o(---)o(--)o(---)o(--)o(--)o(---)o(--)o(---)o(--)o(--)o
+(---)o(--)o(---)o(-)376 1082 y(Sequence)e(file\(s\))h(to)h(search:)85
+b(F59C12.fa)376 1182 y(Results)40 b(written)h(to:)435
+b(Standard)40 b(output)376 1282 y(Output)h(format:)651
+b(Tabular)376 1381 y(Searching)39 b(with:)609 b(tRNAscan)40
+b(+)j(EufindtRNA)c(->)k(Cove)376 1481 y(tRNAscan)d(parameters:)388
+b(Strict)376 1580 y(EufindtRNA)39 b(parameters:)301 b(Relaxed)40
+b(\(Int)i(Cutoff=)f(-32.1\))376 1680 y(Search)g(statistics)e(saved)j
+(in:)86 b(F59C12.stats)376 1780 y(---------------)o(---)o(--)o(--)o
+(---)o(--)o(---)o(--)o(---)o(--)o(--)o(---)o(--)o(---)o(--)o(--)o(---)o
+(--)o(---)o(-)376 1979 y(First-pass)39 b(\(tRNAscan/Eufind)o(tRN)o(A\))
+e(Stats:)376 2079 y(---------------)376 2178 y(Sequences)i(read:)391
+b(1)376 2278 y(Seqs)42 b(w/at)f(least)h(1)h(hit:)86 b(1)376
+2377 y(Bases)41 b(read:)565 b(57976)41 b(\(both)h(strands\))376
+2477 y(Bases)f(in)i(tRNAs:)390 b(299)376 2577 y(tRNAs)41
+b(predicted:)345 b(4)376 2676 y(Av.)42 b(tRNA)g(length:)346
+b(74)376 2776 y(Script)41 b(CPU)h(time:)347 b(0.19)42
+b(s)376 2876 y(Scan)g(CPU)g(time:)434 b(0.55)42 b(s)376
+2975 y(Scan)g(speed:)564 b(105.4)41 b(Kbp/sec)376 3174
+y(First)g(pass)h(search\(es\))d(ended:)j(Wed)g(Feb)86
+b(5)43 b(15:02:31)d(CST)j(1997)376 3374 y(Cove)f(Stats:)376
+3473 y(-----------)376 3573 y(Candidate)d(tRNAs)j(read:)216
+b(4)376 3673 y(Cove-confirmed)37 b(tRNAs:)216 b(3)376
+3772 y(Bases)41 b(scanned)g(by)i(covels:)84 b(355)376
+3872 y(\045)43 b(seq)f(scanned)f(by)i(covels:)84 b(0.6)42
+b(\045)376 3971 y(Script)f(CPU)h(time:)434 b(0.24)42
+b(s)376 4071 y(Cove)g(CPU)g(time:)521 b(8.08)42 b(s)376
+4171 y(Scan)g(speed:)651 b(43.9)42 b(bp/sec)376 4370
+y(Cove)g(analysis)e(of)j(tRNAs)e(ended:)g(Wed)i(Feb)85
+b(5)44 b(15:02:43)c(CST)i(1997)376 4569 y(Summary)376
+4669 y(--------)376 4768 y(Confirmed)d(tRNAs:)172 b(3)376
+4868 y(Overall)40 b(scan)i(speed:)f(6399.1)g(bp/sec)1897
+5525 y Fj(11)p eop end
+%%Page: 12 12
+TeXDict begin 12 11 bop 249 273 a Fj(-d)46 b(:)40 b(displa)m(y)31
+b(program)f(progress)g(messages)376 423 y(This)43 b(option)i(directs)g
+(the)g(program)f(to)h(prin)m(t)f(messages)i(indicating)f(the)g
+(progress)f(of)h(the)376 536 y(program)32 b(to)i(standard)e(output.)48
+b(If)33 b(\014nal)f(results)h(are)g(also)h(b)s(eing)f(sen)m(t)g(to)h
+(standard)e(output,)376 649 y(some)25 b(of)h(these)g(messages)g(will)g
+(b)s(e)e(suppressed)g(so)h(as)h(to)g(not)g(in)m(terrupt)e(displa)m(y)i
+(of)f(the)h(results.)121 837 y(-l)31 b Fg(\014le)53 b
+Fj(:)40 b(sa)m(v)m(e)32 b(log)g(of)e(program)g(progress)g(in)g
+Fg(\014le)376 987 y Fj(Iden)m(tical)h(to)g(-d)g(option,)g(but)e(sends)h
+(message)h(to)g Fg(\014le)38 b Fj(instead)30 b(of)h(standard)e(output.)
+376 1100 y Fg(Note:)43 b Fj(the)26 b(-d)f(option)i(o)m(v)m(errides)f
+(the)g(-l)g(option)h(if)e(b)s(oth)g(are)h(sp)s(eci\014ed)g(on)f(the)h
+(same)g(command)376 1213 y(line.)252 1400 y(-q)46 b(:)40
+b(quiet)31 b(mo)s(de)f(\(credits)h(&)f(run)f(option)i(selections)h
+(suppressed\))376 1551 y(This)22 b(option)h(suppresses)e(the)i(program)
+f(credits)h(and)g(run)e(option)i(selections)i(normally)e(prin)m(ted)376
+1663 y(to)31 b(standard)e(error)h(at)h(the)g(b)s(eginning)f(of)g(eac)m
+(h)i(run.)249 1851 y(-b)46 b(:)40 b(brief)30 b(output)g(format)h(\(no)f
+(column)h(headers\))376 2001 y(This)25 b(option)h(eliminates)i(column)e
+(headers)g(that)g(app)s(ear)g(b)m(y)g(default)g(when)f(writing)h
+(results)g(in)376 2114 y(tabular)j(output)f(format.)41
+b(Useful)29 b(if)g(results)g(are)h(to)f(b)s(e)g(parsed)f(or)h(sen)m(t)h
+(to)g(another)f(program.)232 2302 y(-N)46 b(:)40 b(output)30
+b(corresp)s(onding)g(co)s(dons)g(instead)g(of)h(tRNA)g(an)m(tico)s
+(dons)376 2452 y(This)h(option)j(causes)f(tRNAscan-SE)g(to)g(output)f
+(a)h(tRNA's)h(corresp)s(onding)d(co)s(don)i(in)f(place)376
+2565 y(of)d(its)h(an)m(tico)s(don.)141 2753 y(-?)40 b(#)46
+b(:)40 b(use)30 b(of)h('#')f(sym)m(b)s(ol)h(in)f(sp)s(ecifying)g
+(output)g(\014le)g(names)376 2903 y(The)f('#')i(sym)m(b)s(ol)e(ma)m(y)i
+(b)s(e)f(used)f(as)h(shorthand)f(to)i(sp)s(ecify)f(\\default")h(\014le)
+f(names)h(for)e(output)376 3016 y(\014les.)52 b(The)34
+b(default)h(\014le)f(names)h(are)f(constructed)h(b)m(y)f(using)g(the)h
+(input)e(sequence)i(\014le)g(name,)376 3129 y(follo)m(w)m(ed)d(b)m(y)e
+(an)g(extension)h(sp)s(ecifying)f(the)h(output)f(\014le)g(t)m(yp)s(e)h
+Fg(se)-5 b(q\014le.ext)39 b Fj(where)30 b Fg(.ext)39
+b Fj(is:)425 3461 y(Extension)100 b(Pro)s(duced)29 b(b)m(y)i(Option)99
+b(Description)p 376 3518 3641 4 v 425 3597 a(.out)705
+b(-o)469 b(\014nal)30 b(output)g(results)g(\(tabular)h(or)f(A)m(CeDB)i
+(format\))425 3710 y(.stats)634 b(-m)453 b(summary)29
+b(statistics)j(\014le)425 3823 y(.log)731 b(-l)479 b(run)29
+b(progress)h(\014le)425 3935 y(.ss)773 b(-f)477 b(secondary)30
+b(structures)g(sa)m(v)m(e)i(\014le)425 4048 y(.fpass.out)489
+b(-r)473 b(formatted,)31 b(tabular)g(output)f(from)g(\014rst-pass)f
+(runs)425 4161 y(.fp)s(os)666 b(-F)462 b(F)-10 b(AST)i(A)30
+b(\014le)h(of)f(tRNAs)h(iden)m(ti\014ed)g(in)f(\014rst-pass)f(scans)
+1830 4274 y(that)i(w)m(ere)g(found)e(to)i(b)s(e)f(false)h(p)s(ositiv)m
+(es)g(b)m(y)f(Co)m(v)m(e)i(analysis)376 4534 y Fg(Note:)478
+4722 y Ff({)46 b Fj(if)28 b(the)g(input)f(sequence)h(\014le)h(name)f
+(has)f(the)i(extensions)f('.fa')h(or)f('.seq',)i(these)f(extensions)576
+4834 y(will)g(b)s(e)f(remo)m(v)m(ed)h(b)s(efore)g(using)f(the)h
+(\014lename)f(as)h(a)g(pre\014x)f(for)g(default)h(\014le)g(names.)40
+b(\(ex-)576 4947 y(ample:)e(input)25 b(\014le)g(name)h('Mygene.seq')h
+(will)f(ha)m(v)m(e)h(the)f(output)f(\014le)g(name)h('Mygene.out')576
+5060 y(if)k('#')g(is)h(used)e(with)i(the)f(-o)h(option\).)1897
+5525 y(12)p eop end
+%%Page: 13 13
+TeXDict begin 13 12 bop 478 273 a Ff({)46 b Fj(if)36
+b(more)g(than)f(one)i(sequence)f(\014le)g(is)g(sp)s(eci\014ed)f(on)h
+(the)g(command)g(line,)i(the)e(\\default")576 386 y(output)30
+b(\014le)i(pre\014x)e(will)h(b)s(e)g(the)g(name)h(of)f(the)g(FIRST)g
+(sequence)g(\014le)h(on)f(the)g(command)576 499 y(line.)38
+b(Use)23 b(the)f(-p)g(option)g(\(describ)s(ed)g(next\))h(to)g(c)m
+(hange)g(this)f(default)g(name)h(to)g(something)576 612
+y(more)29 b(appropriate)g(when)g(sp)s(ecifying)g(more)g(than)g(one)h
+(sequence)f(\014le)h(on)f(the)g(command)576 724 y(line.)38
+912 y(-p)h Fg(lab)-5 b(el)56 b Fj(:)40 b(use)30 b Fg(lab)-5
+b(el)41 b Fj(pre\014x)29 b(for)h(all)i(output)e(\014les)376
+1062 y(This)35 b(option)h(allo)m(ws)h(the)f(user)f(to)h(sp)s(ecify)g
+(the)g(default)g(output)f(\014le)h(pre\014x)f(when)g(using)g(the)376
+1175 y('#')30 b(\014le)h(name)f(sp)s(eci\014cation)h(\(instead)g(of)g
+(using)f(the)g(input)g(sequence)g(\014le)h(name\).)252
+1363 y(-y)46 b(:)40 b(sho)m(w)31 b(origin)f(of)h(\014rst-pass)e(hits)
+376 1513 y(This)23 b(option)i(displa)m(ys)g(whic)m(h)f(of)g(the)h
+(\014rst-pass)f(scanners)g(detected)h(the)g(tRNA)g(b)s(eing)f(output.)
+376 1626 y(\\Ts",)i(\\Eu",)h(or)e(\\Bo")h(will)g(app)s(ear)e(in)h(the)g
+(last)h(column)f(of)g(T)-8 b(abular)25 b(output,)h(indicating)f(that)
+376 1739 y(either)g(tRNAscan)g(1.4,)i(Eu\014ndtRNA,)d(or)g(b)s(oth)g
+(scanners)h(detected)h(the)f(tRNA,)g(resp)s(ectiv)m(ely)-8
+b(.)148 1982 y Fi(5.3)113 b(Sp)s(ecify)38 b(Alternate)f(Cuto\013s)h(/)f
+(Data)h(Files)-2 2154 y Fj(-X)31 b Fg(sc)-5 b(or)g(e)54
+b Fj(:)40 b(set)31 b(Co)m(v)m(e)h(cuto\013)f(score)g(for)f(rep)s
+(orting)g(tRNAs)h(\(default=20\))376 2304 y(This)i(option)h(allo)m(ws)h
+(the)f(user)g(to)g(sp)s(ecify)g(a)g(di\013eren)m(t)h(Co)m(v)m(e)g
+(score)f(threshold)g(for)f(rep)s(orting)376 2417 y(tRNAs.)40
+b(It)29 b(is)h(not)f(recommended)g(that)g(no)m(vice)i(users)d(c)m
+(hange)i(this)f(cuto\013,)h(as)g(a)f(lo)m(w)m(er)h(cuto\013)376
+2530 y(score)45 b(will)f(increase)h(the)g(n)m(um)m(b)s(er)e(of)h
+(pseudogenes)h(and)e(other)i(false)g(p)s(ositiv)m(es)g(found)e(b)m(y)
+376 2643 y(tRNAscan-SE)34 b(\(esp)s(ecially)i(when)d(used)g(with)g(the)
+i(\\Co)m(v)m(e)g(only")g(scan)f(mo)s(de\).)51 b(Con)m(v)m(ersely)-8
+b(,)376 2756 y(a)36 b(higher)f(cuto\013)h(than)g(20.0)h(bits)e(will)h
+(lik)m(ely)h(cause)g(true)e(tRNAs)h(to)g(b)s(e)f(missed)h(\(n)m
+(umerous)376 2869 y(\\real")c(tRNAs)g(ha)m(v)m(e)h(b)s(een)d(found)g
+(just)h(ab)s(o)m(v)m(e)h(the)g(20.0)g(cuto\013)7 b(\).)45
+b(Kno)m(wledgable)32 b(users)e(ma)m(y)376 2982 y(wish)21
+b(to)i(exp)s(erimen)m(t)g(with)f(this)g(parameter)h(to)g(\014nd)e(un)m
+(usual)g(tRNAs)i(or)g(pseudogenes)f(b)s(ey)m(ond)376
+3095 y(the)30 b(normal)g(range)h(of)g(detection,)h(k)m(eeping)f(the)g
+(preceding)f(ca)m(v)m(eats)j(in)d(mind.)-29 3282 y(-L)h
+Fg(length)53 b Fj(:)40 b(set)31 b(max)g(length)f(of)h(tRNA)g(in)m
+(tron+v)-5 b(ariable)31 b(region)g(\(default=116bp\))376
+3433 y(The)25 b(default)h(maxim)m(um)g(tRNA)h(length)f(for)g
+(tRNAscan-SE)g(is)g(192)h(bp,)f(but)g(this)g(limit)g(can)h(b)s(e)376
+3546 y(increased)22 b(with)f(this)h(option)g(to)h(allo)m(w)g(searc)m
+(hes)f(with)g(no)g(practical)h(limit)g(on)e(tRNA)i(length.)38
+b(In)376 3658 y(the)29 b(\014rst)g(phase)g(of)h(tRNAscan-SE,)g
+(Eu\014ndtRNA)e(searc)m(hes)i(for)f(A)h(and)f(B)g(b)s(o)m(xes)h(of)f
+(<length>)376 3771 y(maxim)m(um)20 b(distance)h(apart,)i(and)d(passes)g
+(only)g(the)h(5')g(and)f(3')h(tRNA)g(ends)e(to)j(co)m(v)-5
+b(ariance)22 b(mo)s(del)376 3884 y(analysis)33 b(for)f(con\014rmation)h
+(\(remo)m(ving)h(the)f(bulk)f(of)h(long)g(in)m(terv)m(ening)h
+(sequences\).)49 b(tRNAs)376 3997 y(con)m(taining)40
+b(group)e(I)h(and)g(I)s(I)f(in)m(trons)g(ha)m(v)m(e)j(b)s(een)d
+(detected)i(b)m(y)f(setting)h(this)f(parameter)g(to)376
+4110 y(o)m(v)m(er)27 b(800)h(bp.)39 b(Caution:)f(group)26
+b(I)h(or)f(I)s(I)g(in)m(trons)g(in)g(tRNAs)h(tend)g(to)g(o)s(ccur)f(in)
+g(p)s(ositions)h(other)376 4223 y(than)36 b(the)g(canonical)i(p)s
+(osition)e(of)h(protein-spliced)f(in)m(trons,)i(so)f(tRNAscan-SE)f
+(mispredicts)376 4336 y(the)30 b(in)m(tron)h(b)s(ounds)d(and)i(an)m
+(tico)s(don)h(sequence)g(for)f(these)h(cases.)41 b(tRNA)31
+b(b)s(ound)e(predictions,)376 4449 y(ho)m(w)m(ev)m(er,)j(ha)m(v)m(e)f
+(b)s(een)f(found)f(to)i(b)s(e)f(reliable)h(in)f(these)h(same)g(tRNAs.)
+34 4636 y(-I)f Fg(sc)-5 b(or)g(e)54 b Fj(:)40 b(man)m(ually)31
+b(set)g(\\in)m(termediate")i(cuto\013)e(score)g(for)f(Eu\014ndtRNA)376
+4787 y(This)37 b(score)j(cuto\013)f(a\013ects)h(the)f(sensitivit)m(y)h
+(of)f(the)f(\014rst-pass)g(scanner)h(Eu\014ndtRNA.)e(This)376
+4900 y(parameter)27 b(should)f(not)i(need)f(to)h(b)s(e)e(adjusted)h
+(from)g(its)g(default)h(v)-5 b(alues)27 b(\(v)-5 b(ariable)29
+b(dep)s(ending)376 5013 y(on)39 b(searc)m(h)h(mo)s(de\),)i(but)d(is)h
+(included)e(for)i(users)f(who)g(are)h(familiar)g(with)f(the)h(P)m(a)m
+(v)m(esi)i Fg(et)f(al.)376 5125 y Fj(\(1994\))f(pap)s(er)d(and)g(wish)h
+(to)g(set)h(it)f(man)m(ually)-8 b(.)65 b(See)38 b(Lo)m(w)m(e)h(&)f
+(Eddy)f(\(1997\))j(for)e(details)h(on)376 5238 y(parameter)30
+b(v)-5 b(alues)31 b(used)f(b)m(y)g(tRNAscan-SE)h(dep)s(ending)e(on)h
+(the)h(searc)m(h)g(mo)s(de.)1897 5525 y(13)p eop end
+%%Page: 14 14
+TeXDict begin 14 13 bop -72 273 a Fj(-z)31 b Fg(numb)-5
+b(er)56 b Fj(:)40 b(use)30 b Fg(numb)-5 b(er)41 b Fj(n)m(ucleotides)32
+b(padding)d(for)h(\014rst-pass)g(tRNA)h(predictions)376
+423 y(By)d(default,)g(tRNAscan-SE)h(adds)e(7)h(n)m(ucleotides)h(to)g(b)
+s(oth)e(ends)g(of)h(tRNA)g(predictions)g(when)376 536
+y(\014rst-pass)f(tRNA)i(predictions)f(are)g(passed)g(to)h(co)m(v)-5
+b(ariance)30 b(mo)s(del)e(\(CM\))h(analysis.)40 b(CM)28
+b(anal-)376 649 y(ysis)34 b(generally)h(trims)f(these)g(b)s(ounds)e
+(bac)m(k)j(do)m(wn,)g(but)e(on)h(o)s(ccassion,)i(allo)m(ws)g
+(prediction)e(of)376 762 y(an)c(otherwise)h(truncated)f(\014rst-pass)g
+(tRNA)h(prediction.)101 949 y(-g)g Fg(\014le)53 b Fj(:)40
+b(use)30 b(alternate)i(genetic)g(co)s(des)f(sp)s(eci\014ed)f(in)g
+Fg(\014le)37 b Fj(for)30 b(determining)g(tRNA)h(t)m(yp)s(e)376
+1100 y(By)e(default,)h(tRNAscan-SE)g(uses)f(a)h(standard)f(univ)m
+(ersal)h(co)s(don)f Fh(!)g Fj(amino)h(acid)g(translation)376
+1213 y(table)37 b(that)h(is)f(sp)s(eci\014ed)f(at)i(the)f(end)g(of)g
+(the)g(tRNAscan-SE.src)h(source)f(\014le.)60 b(In)37
+b(man)m(y)g(mi-)376 1326 y(to)s(c)m(hondrial)32 b(and)g(a)h(n)m(um)m(b)
+s(er)d(of)j(other)f(microbial)h(organisms,)g(there)f(are)h(exceptions)g
+(to)g(this)376 1438 y(univ)m(ersal)i(translation)h(co)s(de.)56
+b(This)35 b(option)h(allo)m(ws)g(the)g(user)e(to)i(sp)s(ecify)f
+(exceptions)i(to)f(the)376 1551 y(univ)m(ersal)g(co)s(de.)58
+b(Sev)m(eral)38 b(alternate)f(translation)h(co)s(de)e(\014les)g(are)h
+(included)e(in)h(this)g(pac)m(k)-5 b(age)376 1664 y(for)30
+b(con)m(v)m(enience:)376 1901 y Fc(gcode.cilnuc)38 b(for)43
+b(Ciliates,)c(Dasycladacean,)f(&)43 b(Hexamita)e(nuclear)f(tRNAs)376
+2001 y(gcode.echdmito)d(for)43 b(Echinoderm)c(mitochondrial)f(tRNAs)376
+2100 y(gcode.invmito)g(for)k(Invertibrate)d(mitochondrial)f(tRNAs)376
+2200 y(gcode.othmito)g(for)k(Mold,)g(Protozoans,)d(&)k(Coelenterate)38
+b(mitochondrial)h(tRNAs)376 2299 y(gcode.vertmito)e(for)43
+b(Vertibrate)c(mitochondrial)f(tRNAs)376 2399 y(gcode.ystmito)81
+b(for)43 b(Yeast)e(mitochondrial)d(tRNAs)376 2649 y Fj(The)26
+b(user)h(ma)m(y)g(also)i(create)f(a)g(new)f(alternate)h(translation)h
+(\014le.)39 b(An)27 b(example)h(of)f(an)g(alternate)376
+2762 y(translation)k(co)s(de)g(sp)s(eci\014cation)g(\014le)f(follo)m
+(ws:)376 2998 y Fc(#)43 b(Vertebrate)c(mitochondrial)f(translation)h
+(codes)376 3098 y(#)k(Format:)84 b(<Codon>)41 b(<3-letter)f(AA)i
+(abbreviation>)d(<One)i(letter)h(AA)g(abrev>)376 3297
+y(TGA)216 b(Trp)43 b(W)376 3397 y(ATA)216 b(Met)43 b(M)376
+3497 y(AGR)216 b(Stp)43 b(*)376 3746 y Fj(Commen)m(ts)28
+b(or)g(other)h(information)f(will)h(b)s(e)e(ignored)i(on)f(lines)g
+(preceded)g(b)m(y)g(a)h(p)s(ound)d(sym)m(b)s(ol)376 3859
+y('#'.)52 b(An)m(tico)s(don)35 b(translation)g(co)s(des)g(are)f(sp)s
+(eci\014ed)g(b)m(y)g(placing)h(the)g(three)f(base)h(co)s(don,)g(the)376
+3972 y(three)i(letter)i(amino)e(acid)h(abbreviation,)i(and)c(the)i
+(single)g(letter)g(amino)g(acid)f(abbreviation)376 4085
+y(all)e(on)f(a)g(single)h(line)f(\(eac)m(h)i(separated)e(b)m(y)g(a)h
+(space)f(or)g(tab\).)53 b(Degenerate)36 b(sym)m(b)s(ols)e(suc)m(h)g(as)
+376 4198 y('N',)h('R',)g(and)e('Y')i(ma)m(y)g(also)g(b)s(e)f(used)f
+(for)h(co)s(don)h(sp)s(eci\014cation.)53 b(An)m(y)34
+b(co)s(don)g(not)h(sp)s(eci\014ed)376 4311 y(in)40 b(the)h(alternate)h
+(genetic)g(co)s(de)f(\014le)f(will)h(use)f(the)h(translation)h(in)e
+(the)h(default)f('univ)m(ersal')376 4424 y(genetic)c(co)s(de)g(table)g
+(that)f(o)s(ccurs)g(at)h(the)f(v)m(ery)g(end)g(of)g(the)g
+(tRNAscan-SE.src)h(source)f(co)s(de)376 4537 y(\014le.)41
+b(Changes)31 b(can)f(b)s(e)g(made)h(directly)g(to)h(the)f(default)f
+(translation)i(table,)g(but)e(a)h(new)f('mak)m(e)376
+4650 y(install')h(m)m(ust)f(b)s(e)g(run)f(to)i(install)g(the)g(mo)s
+(di\014ed)e(PERL)h(script.)376 4763 y Fg(Note:)57 b Fj(this)37
+b(option)g(do)s(es)f(not)h(ha)m(v)m(e)h(an)m(y)e(e\013ect)i(when)e
+(using)g(the)h(-T)f(or)g(-E)h(option)g(\(searc)m(h)376
+4876 y(using)h(tRNAscan)h(or)f(Eu\014ndtRNA)f(only\))i(|)g(y)m(ou)f(m)m
+(ust)h(b)s(e)f(running)e(in)j(default)f(or)h(Co)m(v)m(e)376
+4989 y(only)30 b(analysis)h(mo)s(de.)106 5176 y(-c)g
+Fg(\014le)53 b Fj(:)40 b(use)30 b(an)h(alternate)h(co)m(v)-5
+b(ariance)32 b(mo)s(del)f(sp)s(eci\014ed)e(in)h Fg(\014le)1897
+5525 y Fj(14)p eop end
+%%Page: 15 15
+TeXDict begin 15 14 bop 376 273 a Fj(F)-8 b(or)42 b(users)f(who)g(ha)m
+(v)m(e)i(dev)m(elop)s(ed)f(their)g(o)m(wn)g(tRNA)g(co)m(v)-5
+b(ariance)44 b(mo)s(dels)e(using)f(the)h(Co)m(v)m(e)376
+386 y(program)37 b(\\co)m(v)m(eb")k(\(see)e(Co)m(v)m(e)g(do)s(cumen)m
+(tation\),)i(this)d(parameter)g(allo)m(ws)i(substitution)d(for)376
+499 y(the)e(default)h(tRNA)g(co)m(v)-5 b(ariance)38 b(mo)s(dels.)55
+b(Ma)m(y)37 b(b)s(e)e(useful)f(for)h(extending)h(Co)m(v)m(e-only)h(mo)s
+(de)376 612 y(detection)32 b(of)e(particularly)h(strange)g(tRNA)g(sp)s
+(ecies)f(suc)m(h)g(as)h(mito)s(c)m(hondrial)g(tRNAs.)148
+855 y Fi(5.4)113 b(Miscellaneous)39 b(Options)249 1027
+y Fj(-h)46 b(:)40 b(prin)m(t)30 b(full)g(list)h(of)g(a)m(v)-5
+b(ailable)33 b(program)d(options)376 1177 y(Prin)m(ts)g(this)g(list)h
+(of)g(program)f(options,)h(eac)m(h)g(with)f(a)h(brief,)f(one-line)i
+(description.)229 1365 y(-Q)46 b(:)40 b(do)31 b(not)f(prompt)g(user)f
+(b)s(efore)h(o)m(v)m(erwriting)i(pre-existing)f(\014les)376
+1515 y(By)23 b(default,)j(if)d(an)h(output)f(result)h(\014le)f(to)i(b)s
+(e)e(written)g(to)i(already)f(exists,)i(the)d(user)g(is)h(prompted)376
+1628 y(whether)39 b(the)i(\014le)f(should)f(b)s(e)h(o)m(v)m(er-written)
+i(or)e(app)s(ended)e(to.)72 b(Using)40 b(this)g(options)h(forces)376
+1741 y(o)m(v)m(erwriting)35 b(of)g(pre-existing)g(\014les)g(without)f
+(an)h(in)m(teractiv)m(e)i(prompt.)52 b(This)34 b(option)h(ma)m(y)g(b)s
+(e)376 1854 y(handy)29 b(for)h(batc)m(h-pro)s(cessing)h(and)f(running)f
+(tRNAscan-SE)h(in)g(the)h(bac)m(kground.)40 2041 y(-n)g
+Fg(expr)56 b Fj(:)40 b(searc)m(h)31 b(only)g(sequences)f(with)g(names)h
+(matc)m(hing)g Fg(expr)41 b Fj(string)376 2191 y(This)23
+b(option)i(allo)m(ws)h(analysis)g(of)e(selected)i(sequences)f(in)g(a)g
+(sequence)g(\014le)f(con)m(taining)i(m)m(ultiple)376
+2304 y(sequences.)60 b(Only)36 b(those)i(sequences)f(with)f(names)h
+(\(\014rst)f(non-white)h(space)h(w)m(ord)e(after)h(\\)p
+Fd(>)p Fj(")376 2417 y(sym)m(b)s(ol)j(on)h(F)-10 b(AST)i(A)41
+b(name/description)g(line\))h(matc)m(hing)g Fg(expr)51
+b Fj(are)41 b(analyzed.)73 b Fg(expr)51 b Fj(ma)m(y)376
+2530 y(con)m(tain)36 b(*)g(or)f(?)56 b(wildcard)34 b(c)m(haracters,)39
+b(but)34 b(the)i(user)e(should)h(enclose)h(suc)m(h)f(expressions)g(in)
+376 2643 y(single)d(quotes)h(\(for)f(example:)44 b(-n)32
+b('HU?alpha*'\))i(to)f(prev)m(en)m(t)f(the)g(shell)g(from)g(attempting)
+h(to)376 2756 y(expand)c(wildcards)h(in)m(to)h(\014le)g(name)f(matc)m
+(hes.)55 2944 y(-s)h Fg(expr)56 b Fj(:)e(start)38 b(searc)m(h)g(at)g
+(sequence)g(with)f(name)g(matc)m(hing)i Fg(expr)48 b
+Fj(string)37 b(and)g(con)m(tin)m(ue)h(to)g(end)f(of)376
+3057 y(input)29 b(sequence)i(\014le\(s\))376 3207 y(This)f(option)h
+(directs)g(the)h(program)e(to)i(analyze)g(the)f(\014rst)g(sequence)g
+(with)g(a)g(name)g(matc)m(hing)376 3320 y Fg(expr)p Fj(,)23
+b(and)d(ev)m(ery)h(sequence)f(thereafter.)38 b(This)20
+b(ma)m(y)h(b)s(e)e(useful)h(for)g(re-starting)h(crashed/ab)s(orted)376
+3433 y(runs)31 b(at)j(the)f(p)s(oin)m(t)g(where)g(the)g(previous)g(run)
+f(stopp)s(ed.)48 b(\(if)33 b(same)h(names)f(for)g(output)f(\014le\(s\))
+376 3546 y(are)k(used,)g(program)g(will)g(ask)g(if)g(\014les)g(should)e
+(b)s(e)i(o)m(v)m(er-written)h(or)f(app)s(ended)e(to)i(|)g(c)m(ho)s(ose)
+376 3658 y(app)s(end)28 b(and)i(run)f(will)i(successfully)f(b)s(e)g
+(restarted)h(where)f(it)g(left)i(o\013)7 b(\).)148 3902
+y Fi(5.5)113 b(Options)38 b(for)f(testing)g(&)h(sp)s(ecial)h
+(applications)234 4074 y Fj(-T)46 b(:)40 b(searc)m(h)31
+b(using)f(tRNAscan)h(only)g(\(defaults)g(to)g(strict)g(searc)m(h)g
+(params\))376 4224 y(Directs)37 b(tRNAscan-SE)g(to)g(use)f(only)h
+(tRNAscan)g(to)g(analyze)g(sequences.)59 b(This)36 b(mo)s(de)g(will)376
+4337 y(cause)26 b(tRNAscan)g(to)g(default)g(to)g(using)f(\\strict")j
+(parameters)e(\(similar)g(to)g(tRNAscan)h(v)m(ersion)376
+4450 y(1.3)46 b(op)s(eration\).)85 b(This)44 b(mo)s(de)g(of)h(op)s
+(eration)h(is)f(sligh)m(tly)h(faster)f(\(ab)s(out)g(3-5)h(times)g
+(faster)376 4563 y(than)29 b(default)g(mo)s(de)g(analysis\),)h(but)f
+(will)g(result)g(in)g(appro)m(ximately)i(0.2)f(to)g(0.6)g(false)g(p)s
+(ositiv)m(e)376 4675 y(tRNAs)45 b(p)s(er)f(Mbp,)j(decreased)f
+(sensitivit)m(y)-8 b(,)50 b(and)44 b(less)h(reliable)h(prediction)f(of)
+g(an)m(tico)s(dons,)376 4788 y(tRNA)31 b(isot)m(yp)s(e,)g(and)f(in)m
+(trons.)-7 4976 y(-t)h Fg(mo)-5 b(de)84 b Fj(:)50 b(explicitly)37
+b(set)f(tRNAscan)h(params,)f(where)f Fg(mo)-5 b(de)44
+b Fj(=)35 b(R)g(or)h(S)f(\(R=relaxed,)i(S=strict)f(tR-)376
+5089 y(NAscan)30 b(v1.3)i(params\))1897 5525 y(15)p eop
+end
+%%Page: 16 16
+TeXDict begin 16 15 bop 376 273 a Fj(This)44 b(option)i(allo)m(ws)h
+(selection)g(of)f(strict)g(or)f(relaxed)h(searc)m(h)g(parameters)g(for)
+f(tRNAscan)376 386 y(analysis.)71 b(By)41 b(default,)j(\\strict")e
+(parameters)f(are)g(used.)70 b(Relaxed)42 b(parameters)e(ma)m(y)i(giv)m
+(e)376 499 y(v)m(ery)30 b(sligh)m(tly)i(increased)f(searc)m(h)g
+(sensitivit)m(y)-8 b(,)32 b(but)e(increase)h(searc)m(h)g(time)g(b)m(y)f
+(20-40)j(fold.)238 686 y(-E)46 b(:)40 b(searc)m(h)31
+b(using)f(Euk)-5 b(ary)m(otic)32 b(tRNA)f(\014nder)d(\(Eu\014ndtRNA\))i
+(only)376 837 y(This)21 b(option)i(runs)e(Eu\014ndtRNA)g(alone)i(to)h
+(searc)m(h)f(for)f(tRNAs.)38 b(Since)23 b(Co)m(v)m(e)h(is)e(not)h(b)s
+(eing)f(used)376 949 y(as)38 b(a)g(secondary)g(\014lter)g(to)g(remo)m
+(v)m(e)i(false)e(p)s(ositiv)m(es,)j(this)d(run)e(mo)s(de)i(defaults)g
+(to)g(\\normal")376 1062 y(parameters)43 b(whic)m(h)g(more)g(closely)i
+(appro)m(ximates)f(the)f(sensitivit)m(y)i(and)e(selectivit)m(y)j(of)d
+(the)376 1175 y(original)d(algorithm)h(describ)s(e)e(b)m(y)g(P)m(a)m(v)
+m(esi)j(and)d(colleagues)j(\(see)f(the)f(next)f(option,)k(-e)d(for)g(a)
+376 1288 y(description)30 b(of)h(the)f(v)-5 b(arious)30
+b(run)f(mo)s(des\).)-12 1476 y(-e)i Fg(mo)-5 b(de)84
+b Fj(:)46 b(explicitly)35 b(set)f(Eu\014ndtRNA)e(params,)i(where)f
+Fg(mo)-5 b(de)42 b Fj(=)33 b(R,)g(N,)h(or)f(S)g(\(relaxed,)j(normal,)e
+(or)376 1589 y(strict\))376 1739 y(This)39 b(option)j(allo)m(ws)f(the)g
+(user)f(to)i(explicitly)g(set)f(the)g(parameters)g(for)f(Eu\014ndtRNA.)
+g(The)376 1852 y(\\relaxed")34 b(mo)s(de)e(is)h(used)g(for)f
+(Eu\014ndtRNA)g(when)g(using)g(tRNAscan-SE)h(in)g(default)g(mo)s(de.)
+376 1965 y(With)40 b(relaxed)g(parameters,)i(tRNAs)e(that)g(lac)m(k)h
+(p)s(ol)e(I)s(I)s(I)f(p)s(oly-T)i(terminators)g(are)g(not)f(p)s(e-)376
+2078 y(nalized,)32 b(increasing)h(searc)m(h)f(sensitivit)m(y)-8
+b(,)34 b(but)c(decreasing)j(selectivit)m(y)-8 b(.)47
+b(When)32 b(Co)m(v)m(e)g(analysis)376 2191 y(is)38 b(b)s(eing)f(used)h
+(as)g(a)h(secondary)f(\014lter)g(for)g(false)h(p)s(ositiv)m(es)g(\(as)f
+(in)g(tRNAscan-SE's)h(default)376 2304 y(mo)s(de\),)30
+b(o)m(v)m(erall)j(selectivit)m(y)g(is)d(not)h(decreased.)376
+2567 y(Using)i(\\normal")i(parameters)e(with)h(Eu\014ndtRNA)d(do)s(es)j
+(incorp)s(orate)g(a)f(log)i(o)s(dds)d(score)i(for)376
+2680 y(the)j(distance)h(b)s(et)m(w)m(een)g(the)g(B)g(b)s(o)m(x)f(and)g
+(the)g(\014rst)g(p)s(oly-T)g(terminator,)j(but)d(do)s(es)g(not)g(dis-)
+376 2793 y(qualify)26 b(tRNAs)g(that)g(do)g(not)g(ha)m(v)m(e)h(a)f
+(terminator)h(signal)f(within)f(60)i(n)m(ucleotides.)40
+b(This)25 b(mo)s(de)376 2905 y(is)30 b(used)g(b)m(y)g(default)g(when)g
+(Co)m(v)m(e)i(analysis)f(is)f(not)h(b)s(eing)f(used)f(as)i(a)g
+(secondary)f(false)h(p)s(ositiv)m(e)376 3018 y(\014lter.)376
+3282 y(Using)25 b(\\strict")h(parameters)g(with)e(Eu\014ndtRNA)f(also)j
+(incorp)s(orates)g(a)f(log)h(o)s(dds)e(score)h(for)g(the)376
+3394 y(distance)31 b(b)s(et)m(w)m(een)h(the)f(B)g(b)s(o)m(x)f(and)h
+(the)g(\014rst)f(p)s(oly-T)g(terminator,)i(but)e Fg(r)-5
+b(eje)g(cts)39 b Fj(tRNAs)31 b(that)376 3507 y(do)h(not)g(ha)m(v)m(e)i
+(suc)m(h)d(a)i(signal)g(within)f(60)h(n)m(ucleotides)g(of)g(the)f(end)g
+(of)g(the)g(B)h(b)s(o)m(x.)46 b(This)31 b(mo)s(de)376
+3620 y(most)26 b(closely)i(appro)m(ximates)g(the)f(originally)h
+(published)c(searc)m(h)j(algorithm)h(\(3\);)h(sensitivit)m(y)f(is)376
+3733 y(reduced)i(relativ)m(e)k(to)e(using)f(\\relaxed")i(and)e
+(\\normal")h(mo)s(des,)f(but)g(selectivit)m(y)j(is)e(increased)376
+3846 y(whic)m(h)42 b(is)g(imp)s(ortan)m(t)g(if)h(no)f(secondary)g
+(\014lter,)k(suc)m(h)c(as)g(Co)m(v)m(e)i(analysis,)i(is)c(b)s(eing)g
+(used)f(to)376 3959 y(remo)m(v)m(e)28 b(false)f(p)s(ositiv)m(es.)41
+b(This)25 b(mo)s(de)i(will)g(miss)f(most)h(prok)-5 b(ary)m(otic)28
+b(tRNAs)f(since)h(the)e(p)s(oly-T)376 4072 y(terminator)d(signal)g(is)f
+(a)h(feature)f(sp)s(eci\014c)h(to)g(euk)-5 b(ary)m(otic)24
+b(tRNAs)e(genes)h(\(alw)m(a)m(ys)i(use)d(\\relaxed")376
+4185 y(mo)s(de)30 b(for)g(scanning)g(prok)-5 b(ary)m(otic)32
+b(sequences)e(for)g(tRNAs\).)111 4372 y(-r)g Fg(\014le)53
+b Fj(:)40 b(sa)m(v)m(e)32 b(tRNAscan/Eu\014ndtRNA)e(formatted)h(output)
+f(results)g(in)g Fg(\014le)376 4523 y Fj(Sa)m(v)m(es)43
+b(tabular,)j(formatted)e(output)e(results)g(from)h(tRNAscan)g(and/or)g
+(Eu\014ndtRNA)e(\014rst)376 4636 y(pass)28 b(scans)h(in)f
+Fg(\014le)p Fj(.)40 b(The)28 b(format)h(is)g(similar)g(to)h(the)e
+(\014nal)h(tabular)g(output)f(format,)h(except)h(no)376
+4749 y(Co)m(v)m(e)37 b(score)f(is)g(a)m(v)-5 b(ailable)38
+b(at)f(this)e(p)s(oin)m(t)h(in)g(the)g(searc)m(h)g(\(if)g(Eu\014ndtRNA)
+e(has)i(detected)h(the)376 4861 y(tRNA,)30 b(the)g(negativ)m(e)i(log)e
+(lik)m(eliho)s(o)s(d)h(score)f(is)f(giv)m(en\).)42 b(Also,)31
+b(the)f(sequence)g(ID)f(n)m(um)m(b)s(er)g(and)376 4974
+y(source)e(sequence)g(length)h(app)s(ear)e(in)h(the)g(columns)g(where)f
+(in)m(tron)h(b)s(ounds)e(are)i(sho)m(wn)g(in)f(\014nal)376
+5087 y(output.)48 b(This)33 b(option)g(ma)m(y)h(b)s(e)f(useful)f(for)h
+(examining)h(false)f(p)s(ositiv)m(e)i(tRNAs)e(predicted)g(b)m(y)376
+5200 y(\014rst-pass)c(scans)i(that)g(ha)m(v)m(e)g(b)s(een)f(\014ltered)
+g(out)h(b)m(y)f(Co)m(v)m(e)i(analysis.)1897 5525 y(16)p
+eop end
+%%Page: 17 17
+TeXDict begin 17 16 bop 96 273 a Fj(-u)30 b Fg(\014le)53
+b Fj(:)48 b(searc)m(h)36 b(with)e(Co)m(v)m(e)i(only)e(those)h
+(sequences)g(&)f(regions)h(delimited)g(in)f Fg(\014le)41
+b Fj(\(tabular)35 b(results)376 386 y(\014le)30 b(format\))376
+536 y(This)g(option)h(allo)m(ws)h(the)f(user)g(to)g(re-generate)i
+(results)e(from)f(regions)i(iden)m(ti\014ed)f(to)g(ha)m(v)m(e)i(tR-)376
+649 y(NAs)f(b)m(y)f(a)i(previous)e(tRNAscan-SE)h(run.)44
+b(Either)32 b(a)g(regular)g(tabular)g(result)g(\014le,)h(or)e(output)
+376 762 y(sa)m(v)m(ed)f(with)f(the)g(-r)g(option)h(ma)m(y)g(b)s(e)f
+(used)f(as)i(the)f(sp)s(eci\014ed)g Fg(\014le)p Fj(.)40
+b(This)28 b(option)i(is)f(particularly)376 875 y(useful)f(for)i
+(generating)h(either)f(secondary)g(structure)f(output)g(\(-f)h
+(option\))h(or)e(A)m(CeDB)i(output)376 988 y(\(-a)f(option\))g(without)
+g(ha)m(ving)g(to)g(re-scan)g(en)m(tire)h(sequences.)40
+b(Alternativ)m(ely)-8 b(,)33 b(if)d(the)f(-r)h(option)376
+1101 y(is)d(used)g(to)h(generate)h(the)e(previous)g(results)g(\014le,)i
+(tRNAscan-SE)e(will)h(pic)m(k)g(up)e(at)i(the)g(stage)h(of)376
+1213 y(Co)m(v)m(e-con\014rmation)c(of)f(tRNAs)h(and)e(output)h(\014nal)
+f(tRNA)i(predicitons)e(as)i(with)e(a)h(normal)g(run.)376
+1477 y Fg(Note:)56 b Fj(the)37 b(-n)e(and)h(-s)g(options)g(will)g(not)h
+(w)m(ork)f(in)f(conjunction)h(with)g(this)g(option.)58
+b(Also,)38 b(if)376 1590 y(consecutiv)m(e)e(sequences)f(ha)m(v)m(e)g
+(iden)m(tical)h(names)f(in)f(the)g(sequence)h(\014le)g(b)s(eing)f
+(scanned,)h(only)376 1702 y(the)30 b(\014rst)g(sequence)h(will)f(b)s(e)
+g(scanned)g(in)g(the)h(regions)f(de\014ned)g(in)g(the)g(-u)g
+Fg(\014le)p Fj(.)87 1890 y(-F)h Fg(\014le)53 b Fj(:)39
+b(sa)m(v)m(e)29 b(\014rst-pass)e(candidate)h(tRNAs)g(in)g
+Fg(\014le)34 b Fj(that)28 b(w)m(ere)g(then)g(found)e(to)i(b)s(e)f
+(false)i(p)s(ositiv)m(es)f(b)m(y)376 2003 y(Co)m(v)m(e)j(analysis)376
+2153 y(This)i(option)h(sa)m(v)m(es)h(candidate)g(tRNAs)f(found)f(b)m(y)
+h(either)g(tRNAscan)h(and/or)f(Eu\014ndtRNA)376 2266
+y(that)28 b(w)m(ere)g(then)g(rejected)h(b)m(y)e(Co)m(v)m(e)j(analysis)e
+(as)g(b)s(eing)g(false)g(p)s(ositiv)m(es.)41 b(tRNAs)28
+b(are)g(sa)m(v)m(ed)h(in)376 2379 y(the)h(F)-10 b(AST)i(A)31
+b(sequence)f(format.)63 2567 y(-M)h Fg(\014le)53 b Fj(:)40
+b(sa)m(v)m(e)32 b(all)f(sequences)g(without)f(at)i(least)f(one)g(tRNA)g
+(hit)f(in)g Fg(\014le)376 2717 y Fj(This)37 b(option)h(ma)m(y)g(b)s(e)g
+(used)f(when)g(scanning)g(a)i(collection)h(of)e(kno)m(wn)g(tRNA)g
+(sequences)g(to)376 2830 y(iden)m(tify)g(p)s(ossible)g(false)h(negativ)
+m(es)h(\(incorreclt)m(y)h(missed)c(b)m(y)h(tRNAscan-SE\))i(or)e
+(sequences)376 2943 y(incorrectly)43 b(annotated)h(as)f(tRNAs)g
+(\(correctly)h(passed)e(o)m(v)m(er)i(b)m(y)f(tRNAscan-SE\).)g(Exami-)
+376 3056 y(nation)38 b(of)h(primary)e(&)h(secondary)g(structure)f(co)m
+(v)-5 b(ariance)41 b(mo)s(del)d(scores)h(\(-H)f(option\),)k(and)376
+3169 y(visual)e(insp)s(ection)h(of)g(secondary)g(structures)f(\(use)h
+(-F)g(option\))g(ma)m(y)h(b)s(e)e(helpful)f(resolving)376
+3282 y(iden)m(ti\014cation)32 b(con\015icts.)1897 5525
+y(17)p eop end
+%%Page: 18 18
+TeXDict begin 18 17 bop 148 273 a Fl(6)135 b(Examples)148
+476 y Fj(Sev)m(eral)28 b(C.)f(elegans)h(cosmids)e(and)g(a)h(subset)g
+(of)f(the)h(Sprinzl)f(tRNA)h(database)h(\(animal)f(cytoplasmic)148
+589 y(+)k(eubacterial\))h(are)f(used)f(in)g(these)h(examples)g(to)h
+(illustrate)f(v)-5 b(arious)31 b(features)g(of)g(the)f(program;)h(all)
+148 702 y(ha)m(v)m(e)d(b)s(een)d(included)g(in)h(the)g(/Demo)h(sub)s
+(directory)e(so)i(the)f(user)f(ma)m(y)i(also)g(try)f(out)g(these)g
+(examples.)148 815 y(These)41 b(\014les)g(are)g(written)g(in)g(the)g(F)
+-10 b(AST)i(A)41 b(sequence)g(format)h(and)e(ha)m(v)m(e)i(the)f(\014le)
+g(extension)h('.fa'.)148 927 y(Run)28 b(times)i(are)f(giv)m(en)i(for)d
+(an)h(R4400-200)k(Indigo)c(SGI,)g(and)f(are)i(appro)m(x.)40
+b(equal)30 b(on)f(a)g(DEC)g(Alpha)148 1040 y(2100/400)34
+b(190MHZ.)239 1251 y Fh(\))46 b Fj(T)-8 b(o)28 b(get)h(a)f(list)g(of)g
+(run)f(options,)i(t)m(yp)s(e)f(the)g(program)f(name)h(without)g(an)m(y)
+g(parameters)g(or)g(input)376 1364 y(sequence)i(\014les)423
+1626 y Fd(>)48 b(tRNAscan-SE)239 1946 y Fh(\))e Fj(Default)31
+b(run)e(mo)s(de,)h(one)h(sequence)g(&)f(no)g(parameters:)423
+2209 y Fd(>)48 b(tRNAscan-SE)c(F22B7.fa)376 2472 y Fj(The)29
+b(follo)m(wing)j(\(selected\))h(run)c(options)i(will)f(b)s(e)g(prin)m
+(ted)g(\014rst:)376 2719 y Fd(-----------------------)o(---)o(----)o
+(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)376
+2832 y(Sequence)45 b(file\(s\))h(to)h(search:)94 b(F22B7.fa)376
+2945 y(Results)45 b(written)h(to:)477 b(Standard)45 b(output)376
+3058 y(Output)h(format:)714 b(Tabular)376 3171 y(Searching)45
+b(with:)667 b(tRNAscan)45 b(+)j(EufindtRNA)d(->)i(Cove)376
+3284 y(tRNAscan)e(parameters:)427 b(Strict)376 3396 y(EufindtRNA)45
+b(parameters:)331 b(Relaxed)45 b(\(Int)i(Cutoff=)f(-32.1\))376
+3509 y(-----------------------)o(---)o(----)o(----)o(---)o(----)o(----)
+o(---)o(----)o(----)o(---)o(-)376 3757 y Fj(This)25 b(searc)m(h)j(pro)s
+(duces)d(tabular)i(output)f(results)g(of)h(5)g(tRNAs)g(for)g(the)f
+(40kbp)h(cosmid)g(F22B7.)376 3870 y(T)-8 b(ak)m(es)31
+b(ab)s(out)f(15)h(seconds.)239 4076 y Fh(\))46 b Fj(Sa)m(ving)31
+b(output)f(and)f(run)g(statistics)j(\014les)423 4339
+y Fd(>)48 b(tRNAscan-SE)c(-o)k(mytrnas)d(-m)j(mystats)d(C28G1.fa)376
+4602 y Fj(The)29 b(follo)m(wing)j(\(selected\))h(run)c(options)i(will)f
+(b)s(e)g(prin)m(ted)g(\014rst:)376 4825 y Fd(-----------------------)o
+(---)o(----)o(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)
+376 4938 y(Sequence)45 b(file\(s\))h(to)h(search:)94
+b(C28G1.fa)376 5051 y(Results)45 b(written)h(to:)477
+b(mytrnas)376 5163 y(Output)46 b(format:)714 b(Tabular)376
+5276 y(Searching)45 b(with:)667 b(tRNAscan)45 b(+)j(EufindtRNA)d(->)i
+(Cove)1897 5525 y Fj(18)p eop end
+%%Page: 19 19
+TeXDict begin 19 18 bop 376 273 a Fd(tRNAscan)45 b(parameters:)427
+b(Strict)376 386 y(EufindtRNA)45 b(parameters:)331 b(Relaxed)45
+b(\(Int)i(Cutoff=)f(-32.1\))376 499 y(Search)g(statistics)f(saved)h
+(in:)95 b(mystats)376 612 y(-----------------------)o(---)o(----)o
+(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)376
+818 y Fj(Default)29 b(searc)m(h)h(mo)s(de,)f(sa)m(v)m(es)h(tabular)f
+(output)f(results)h(for)f(cosmid)h(C28G1)h(in)f(\014le)g('m)m(ytrnas')
+376 931 y(and)g(run)g(statistics)k(in)d(\014le)g('m)m(ystats'.)239
+1132 y Fh(\))46 b Fj(Using)25 b('#')g(as)g(shorthand)f(for)h(default)g
+(output)g(\014le)g(names,)h(sa)m(ving)g(output)e(in)h(A)m(CeDB)i
+(format)423 1392 y Fd(>)48 b(tRNAscan-SE)c(-a)k(-o#)f(-m#)f(C28G1.fa)
+376 1599 y(-----------------------)o(---)o(----)o(----)o(---)o(----)o
+(----)o(---)o(----)o(----)o(---)o(-)376 1712 y(Sequence)f(file\(s\))h
+(to)h(search:)94 b(C28G1.fa)376 1825 y(Results)45 b(written)h(to:)477
+b(C28G1.out)376 1937 y(Output)46 b(format:)714 b(ACeDB)376
+2050 y(Searching)45 b(with:)667 b(tRNAscan)45 b(+)j(EufindtRNA)d(->)i
+(Cove)376 2163 y(tRNAscan)e(parameters:)427 b(Strict)376
+2276 y(EufindtRNA)45 b(parameters:)331 b(Relaxed)45 b(\(Int)i(Cutoff=)f
+(-32.1\))376 2389 y(Search)g(statistics)f(saved)h(in:)95
+b(C28G1.stats)376 2502 y(-----------------------)o(---)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)376
+2708 y Fj(This)33 b(is)h(the)g(same)g(searc)m(h)g(as)h(the)f
+(immediately)h(preceding)f(example,)h(but)e(\014nal)h(results)g(are)376
+2821 y(sa)m(v)m(ed)40 b(in)f(the)g(\014le)g('C28G1.out')j(and)c(the)i
+(statistics)h(summary)d(is)h(sa)m(v)m(ed)h(in)f('C28G1.stats')376
+2934 y(using)d(the)h('#')h(shorthand)e(for)g(default)i(output)e(\014le)
+i(names.)60 b(Also,)40 b(the)d(results)g(written)g(to)376
+3047 y('C28G1.out')32 b(are)f(in)f(the)h(A)m(CeDB)h(format)e(b)s
+(ecause)h(the)f(-a)h(option)g(w)m(as)g(used.)239 3248
+y Fh(\))46 b Fj(Sa)m(ving)31 b(secondary)f(structure)g(information)376
+3361 y(Changing)g(name)g(of)h(default)f(output)g(\014le)h(name)f
+(pre\014x)423 3621 y Fd(>)48 b(tRNAscan-SE)c(-p)k(mycosmid)d(-f#)i(-m#)
+g(C28G1.fa)376 3828 y(-----------------------)o(---)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)376
+3941 y(Sequence)e(file\(s\))h(to)h(search:)94 b(C28G1.fa)376
+4054 y(Results)45 b(written)h(to:)477 b(Standard)45 b(output)376
+4167 y(Output)h(format:)714 b(Tabular)376 4279 y(Searching)45
+b(with:)667 b(tRNAscan)45 b(+)j(EufindtRNA)d(->)i(Cove)376
+4392 y(tRNAscan)e(parameters:)427 b(Strict)376 4505 y(EufindtRNA)45
+b(parameters:)331 b(Relaxed)45 b(\(Int)i(Cutoff=)f(-32.1\))376
+4618 y(tRNA)g(secondary)f(structure)566 4731 y(predictions)g(saved)i
+(to:)190 b(mycosmid.ss)376 4844 y(Search)46 b(statistics)f(saved)h(in:)
+95 b(mycosmid.stats)376 4957 y(-----------------------)o(---)o(----)o
+(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)376
+5163 y Fj(This)27 b(searc)m(h)h(sends)f(the)i(tabular)f(results)f(to)i
+(standard)e(output)h(since)g(no)g(-o)h(option)f(w)m(as)h(used.)376
+5276 y(Secondary)22 b(structure)h(information)h(for)f(all)h(tRNAs)f(w)m
+(as)h(sa)m(v)m(ed)g(in)f(\014le)g('m)m(ycosmid.ss')h(and)e(run)1897
+5525 y(19)p eop end
+%%Page: 20 20
+TeXDict begin 20 19 bop 376 273 a Fj(stats)35 b(w)m(ere)h(sa)m(v)m(ed)f
+(in)g('m)m(ycosmid.stats')i(since)e(the)g(default)g(\014le)g(name)g
+(pre\014x)f(w)m(as)h(sp)s(eci\014ed)376 386 y(as)30 b('m)m(ycosmid')h
+(using)f(the)h(-p)f(option.)239 593 y Fh(\))46 b Fj(Searc)m(hing)30
+b(only)h(sequences)g(matc)m(hing)g(a)g(sp)s(eci\014ed)e(name)376
+706 y(Searc)m(hing)h(with)h(Prok)-5 b(ary)m(otic)32 b(searc)m(h)f
+(parameters)376 819 y(Viewing)g(progress)f(of)g(the)h(searc)m(h)g
+(analysis)423 1082 y Fd(>)48 b(tRNAscan-SE)c(-d)k(-P)f(-o#)g(-n)g
+('DE*')f(Sprz-sub.fa)376 1307 y(-----------------------)o(---)o(----)o
+(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)376
+1420 y(Sequence)f(file\(s\))h(to)h(search:)94 b(Sprz-sub.fa)376
+1533 y(Search)46 b(only)g(names)h(matching:)93 b(DE*)376
+1646 y(Results)45 b(written)h(to:)477 b(Sprz-sub.out)376
+1759 y(Output)46 b(format:)714 b(Tabular)376 1872 y(Searching)45
+b(with:)667 b(tRNAscan)45 b(+)j(EufindtRNA)d(->)i(Cove)376
+1984 y(tRNAscan)e(parameters:)427 b(Strict)376 2097 y(EufindtRNA)45
+b(parameters:)331 b(Relaxed)45 b(\(Int)i(Cutoff=)f(-36\))376
+2210 y(-----------------------)o(---)o(----)o(----)o(---)o(----)o(----)
+o(---)o(----)o(----)o(---)o(-)376 2435 y Fj(In)24 b(this)h(example,)i
+(the)e(program's)g(progress)g(is)g(displa)m(y)m(ed)g(\(-d)g(option\))h
+(as)f(it)h(searc)m(hes)g(through)376 2548 y(the)43 b(input)f(sequence)h
+(\014le)g(in)f(this)h(example.)79 b(This)42 b(searc)m(h)h(will)h(only)f
+(analyze)h(the)f(39)h(se-)376 2661 y(quences)32 b(in)g(the)g(\014le)g
+(Sprz-sub.fa)f(\(1013)j(total)g(seqs\))f(with)e(names)h(matc)m(hing)i
+(the)e('DE*')h(k)m(ey)376 2774 y(\(ie.)41 b(DE1140,)33
+b(DE1180,)g(DE1200,)f(etc\).)376 3037 y(Since)k(man)m(y)h(of)f(the)h
+(sequences)g(in)f(this)g(searc)m(h)h(are)g(from)f(prok)-5
+b(ary)m(otes,)39 b(the)e(-P)g(parameter)376 3150 y(is)k(used)g(to)h
+(increase)g(searc)m(h)h(sensitivit)m(y)f(to)h(detect)g(prok)-5
+b(ary)m(otic)42 b(tRNAs)g(that)g(matc)m(h)h(the)376 3263
+y(consensus)27 b(A)h(and)g(B)g(b)s(o)m(xes)h(less)f(closely)i(than)d
+(euk)-5 b(ary)m(otic)30 b(tRNAs)f(\(the)g(Eu\014ndtRNA)d(in)m(ter-)376
+3376 y(mediate)h(Cuto\013)e(is)h(set)h(to)f(-36)h(instead)f(of)g(the)g
+(default)g(-32.1;)k(the)c(lo)m(w)m(er)h(the)f(cuto\013,)i(the)e(more)
+376 3489 y(sensitiv)m(e)32 b(the)f(searc)m(h\).)42 b(Also,)32
+b(the)f(prok)-5 b(ary)m(otic)32 b(tRNA)f(mo)s(del)g(is)g(used)f(in)g
+(co)m(v)-5 b(ariance)33 b(mo)s(del)376 3602 y(analysis.)239
+3922 y Fh(\))46 b Fj(Searc)m(h)30 b(for)g(tRNAs)h(using)f(Co)m(v)m(e)i
+(analysis)f(only)423 4185 y Fd(>)48 b(tRNAscan-SE)c(-C)k(-p)f(F22B7cov)
+e(-o#)i(-m#)g(F22B7.fa)376 4410 y(-----------------------)o(---)o(----)
+o(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)376
+4523 y(Sequence)e(file\(s\))h(to)h(search:)94 b(F22B7.fa)376
+4636 y(Results)45 b(written)h(to:)477 b(F22B7cov.out)376
+4749 y(Output)46 b(format:)714 b(Tabular)376 4862 y(Searching)45
+b(with:)667 b(Cove)46 b(only)376 4975 y(Search)g(statistics)f(saved)h
+(in:)95 b(F22B7cov.stats)376 5087 y(-----------------------)o(---)o
+(----)o(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)1897
+5525 y Fj(20)p eop end
+%%Page: 21 21
+TeXDict begin 21 20 bop 376 273 a Fj(F)-8 b(or)27 b(users)e(with)h(the)
+h(computational)h(resources)f(to)g(spare,)g(sequences)g(can)f(b)s(e)g
+(analyzed)i(using)376 386 y(Co)m(v)m(e)37 b(analysis)g(only)f
+(\(tRNAscan)h(and)e(Eu\014ndtRNA)g(are)h(not)g(used)f(as)i(a)f
+(pre-\014lter\).)58 b(This)376 499 y(option)25 b(is)h(up)e(to)i(3,000)i
+(times)e(slo)m(w)m(er)g(than)g(using)e(the)i(default)g(searc)m(h)g(mo)s
+(de,)g(but)f(ma)m(y)h(detect)376 612 y(up)j(to)j(1\045)f(of)g(the)g
+(tRNAs)g(missed)f(b)m(y)h(tRNAscan-SE)g(in)g(default)g(run)e(mo)s(de.)
+41 b(This)30 b(example)376 724 y(searc)m(hes)c(the)g(F22B7)i(cosmid)e
+(and)f(\014nds)g(no)g(additional)i(tRNAs)f(o)m(v)m(er)i(default)e
+(tRNAscan-SE)376 837 y(run)j(mo)s(de.)40 b(T)-8 b(ak)m(es)31
+b(ab)s(out)f(sev)m(en)m(t)m(y)j(min)m(utes.)239 1045
+y Fh(\))46 b Fj(Searc)m(h)30 b(using)g(tRNAscan)h(analysis)g(only)423
+1308 y Fd(>)48 b(tRNAscan-SE)c(-T)k(-p)f(sprinzl.tscan)d(-l#)j(-m#)g
+(Sprz-sub.fa)376 1533 y(-----------------------)o(---)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)376
+1646 y(Sequence)e(file\(s\))h(to)h(search:)94 b(Sprz-sub.fa)376
+1759 y(Results)45 b(written)h(to:)477 b(Standard)45 b(output)376
+1872 y(Output)h(format:)714 b(Tabular)376 1984 y(Searching)45
+b(with:)667 b(tRNAscan)45 b(only)376 2097 y(tRNAscan)g(parameters:)427
+b(Strict)376 2210 y(Search)46 b(log)h(saved)f(in:)429
+b(sprinzl.tscan.log)376 2323 y(Search)46 b(statistics)f(saved)h(in:)95
+b(sprinzl.tscan.stats)376 2436 y(-----------------------)o(---)o(----)o
+(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)376
+2661 y Fj(Using)32 b(the)h(-T)f(option)h(appro)m(ximates)g(using)f
+(tRNAscan)h(v1.3)h(only)e(\(less)h(sensitiv)m(e)h(and)e(less)376
+2774 y(selectiv)m(e\).)64 b(The)36 b(-l)i(option)g(sa)m(v)m(es)g(a)g
+(log)g(of)f(the)h(program)f(run)f(in)g('sprinzl.tscan.log'.)64
+b(The)376 2887 y(searc)m(h)31 b(\014nds)f(962/1013)35
+b(tRNAs)c(in)g(ab)s(out)g(40)h(seconds,)g(v)m(ersus)f(the)g(same)h
+(searc)m(h)g(in)f(default)376 3000 y(mo)s(de)26 b(whic)m(h)h(\014nds)e
+(1007/1013)31 b(tRNAs)c(in)g(ab)s(out)g(17)g(min)m(utes)g(\(searc)m(h)h
+(sp)s(eed)e(go)s(es)i(do)m(wn)e(for)376 3113 y(default)k(mo)s(de)g(as)h
+(densit)m(y)f(of)h(tRNAs)g(in)f(input)f(sequence\(s\))j(go)s(es)f
+(up\).)239 3320 y Fh(\))46 b Fj(Using)36 b(a)h(previous)g(result)f
+(\014le)h(to)g(get)h(secondary)f(structure)f(and)g(A)m(CeDB)i(output)e
+(without)376 3433 y(re-scanning)30 b(en)m(tire)h(sequence\(s\))376
+3583 y(First,)g(re-run)e(an)h(example)h(from)f(ab)s(o)m(v)m(e,)i(this)e
+(time)h(sa)m(ving)g(the)g(tabular)f(output)g(results:)423
+3846 y Fd(>)48 b(tRNAscan-SE)c(-o#)j(F22B7.fa)376 4109
+y Fj(No)m(w,)d(supp)s(ose)c(y)m(ou'd)h(lik)m(e)h(to)g(see)g(the)f
+(secondary)g(structures)f(\(and/or)i(pro)s(duce)e(A)m(CeDB)376
+4222 y(output\))35 b(for)g(the)g(tRNAs)h(in)f(this)g(sequence.)56
+b(Instead)35 b(of)h(re-scanning)f(the)g(en)m(tire)i(sequence)376
+4335 y(with)26 b(a)h(completely)h(new)e(run,)g(sp)s(ecify)g(that)h
+(tRNAscan-SE)g(should)e(only)i(scan)g(those)g(regions)376
+4448 y(kno)m(wn)j(to)h(ha)m(v)m(e)h(tRNAs)f(from)f(a)i(previous)e
+(tRNAscan-SE)h(run.)40 b(In)30 b(the)h(follo)m(wing)h(example,)376
+4561 y(the)d(pre-existing)g(result)g(\014le)g(\\F22B7.out")k(is)c(sp)s
+(eci\014ed)f(with)h(the)g(-u)f(parameter,)i(pro)s(ducing)376
+4674 y(results)g(faster)g(than)h(a)f(complete)i(re-scan)f(of)g(the)f
+(whole)h(cosmid:)1897 5525 y(21)p eop end
+%%Page: 22 22
+TeXDict begin 22 21 bop 423 273 a Fd(>)48 b(tRNAscan-SE)c(-u)k
+(F22B7.out)d(-f#)i(-a)g(-o)g(F22B7.ace)e(F22B7.fa)376
+498 y(-----------------------)o(---)o(----)o(----)o(---)o(----)o(----)o
+(---)o(----)o(----)o(---)o(-)376 611 y(Sequence)g(file\(s\))h(to)h
+(search:)94 b(F22B7.fa)376 724 y(Results)45 b(written)h(to:)477
+b(F22B7.ace)376 837 y(Output)46 b(format:)714 b(ACeDB)376
+949 y(Searching)45 b(with:)667 b(Cove)46 b(only)376 1062
+y(Using)g(previous)376 1175 y(tabular)f(output)h(file:)429
+b(F22B7.out)376 1288 y(tRNA)46 b(secondary)f(structure)566
+1401 y(predictions)g(saved)i(to:)190 b(F22B7.ss)376 1514
+y(-----------------------)o(---)o(----)o(----)o(---)o(----)o(----)o
+(---)o(----)o(----)o(---)o(-)376 1739 y Fj(The)24 b(secondary)g
+(structures)g(for)g(these)h(tRNAs)g(are)g(sa)m(v)m(ed)h(in)e
+(\\F22B7.ss")k(and)c(the)g(results)h(are)376 1852 y(sa)m(v)m(ed)35
+b(in)e(A)m(CeDB)i(format)g(in)e(the)h(\014le)g(\\F22B7.ace".)56
+b(Useful)34 b(for)f(re-scanning)h(just)g(tRNAs)376 1965
+y(in)c(large)h(sequences)g(or)f(sequence)h(sets.)239
+2172 y Fh(\))46 b Fj(Using)30 b(an)g(alternate)j(genetic)f(co)s(de)e
+(\014le)423 2435 y Fd(>)48 b(tRNAscan-SE)c(-g)k(gcode.cilnuc)c
+(DQ6060.fa)376 2660 y(-----------------------)o(---)o(----)o(----)o
+(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)376
+2773 y(Sequence)h(file\(s\))h(to)h(search:)94 b(DQ6060.fa)376
+2886 y(Results)45 b(written)h(to:)477 b(Standard)45 b(output)376
+2999 y(Output)h(format:)714 b(Tabular)376 3112 y(Searching)45
+b(with:)667 b(tRNAscan)45 b(+)j(EufindtRNA)d(->)i(Cove)376
+3225 y(tRNAscan)e(parameters:)427 b(Strict)376 3338 y(EufindtRNA)45
+b(parameters:)331 b(Relaxed)45 b(\(Int)i(Cutoff=)f(-32.1\))376
+3451 y(Alternate)f(transl)h(code)h(used:)94 b(from)46
+b(file)h(gcode.cilnuc)376 3563 y(-----------------------)o(---)o(----)o
+(----)o(---)o(----)o(----)o(---)o(----)o(----)o(---)o(-)376
+3788 y Fj(The)23 b(tRNA)i(used)e(in)h(this)g(example)h(is)f(from)f(T)-8
+b(etrah)m(ymena)25 b(thermophila,)h(a)f(ciliate)h(protozoan)376
+3901 y(with)d(an)h(alternate)h(translation)g(of)e(the)h(co)s(don)g(T)-8
+b(AA)24 b(\(normally)g(a)g(stop)g(co)s(don\))g(to)g(glutamine.)376
+4014 y(By)35 b(using)f(the)i(alternate)g(translations)g(sp)s(eci\014ed)
+f(in)f(the)h(included)g(\014le)g(\\gco)s(de.ciln)m(uc",)k(the)376
+4127 y(correct)31 b(tRNA)g(t)m(yp)s(e)g(is)f(output.)1897
+5525 y(22)p eop end
+%%Page: 23 23
+TeXDict begin 23 22 bop 148 273 a Fl(7)135 b(Supp)t(ort)44
+b(/)h(Bug)f(Rep)t(orts)i(/)f(Requests)h(for)f(added)g(options)148
+476 y Fj(This)26 b(is)g(the)h(\014rst)f(release)i(of)e(tRNAscan-SE,)h
+(so)g(there)g(are)g(b)s(ound)d(to)j(b)s(e)f(minor)g(problems)g(that)h
+(will)148 589 y(need)34 b(to)g(b)s(e)g(\014xed)f(\(although)h(w)m(e'v)m
+(e)i(made)e(ev)m(ery)g(attempt)h(to)g(catc)m(h)g(all)g(problems)e(on)h
+(SGI,)f(Sun,)148 702 y(DEC)27 b(Alpha,)g(and)f(In)m(tel)h(mac)m
+(hines\).)40 b(The)26 b(user)g(is)g(free)h(to)g(either)g(\014x)f(the)g
+(bug)g(him/herself,)h(or)g(send)148 815 y(me)37 b(detailed)h
+(information)e(on)h(the)g(problem)f(\(email)i(to)f(T)-8
+b(o)s(dd)35 b(Lo)m(w)m(e,)40 b(lo)m(w)m(e at genetics.wustl.edu\),)148
+927 y(and)21 b(I)g(will)h(mak)m(e)h(reasonable)f(e\013orts)g(to)g
+(remedy)f(the)h(problem.)37 b(If)21 b(y)m(ou)h(do)f(decide)h(to)g
+(\014x)f(the)h(problem)148 1040 y(y)m(ourself,)29 b(I)e(w)m(ould)g(lik)
+m(e)i(to)f(b)s(e)f(noti\014ed)g(so)h(that)g(I)f(ma)m(y)h(mak)m(e)h(the)
+e(c)m(hange)i(in)e(future)f(up)s(dates.)39 b(Also,)148
+1153 y(if)c(y)m(ou)h(ha)m(v)m(e)g(suggestions)h(for)d(options)i(that)g
+(migh)m(t)g(b)s(e)e(added)h(to)h(enhance)f(the)g(usefulness)f(of)i(the)
+148 1266 y(program,)31 b(feel)g(free)f(to)h(suggest)h(them.)148
+1553 y Fl(8)135 b(References)259 1756 y Fj(1.)47 b(Fic)m(han)m(t,)41
+b(G.A.)e(and)e(Burks,)h(C.)g(\(1991\))i(\\Iden)m(tifying)e(p)s(oten)m
+(tial)h(tRNA)f(genes)h(in)e(genomic)376 1868 y(DNA)31
+b(sequences",)g Fg(J.)h(Mol.)42 b(Biol.)p Fj(,)31 b Ff(220)p
+Fj(,)g(659-671.)259 2056 y(2.)47 b(Eddy)-8 b(,)27 b(S.R.)f(and)h
+(Durbin,)f(R.)h(\(1994\))j(\\RNA)d(sequence)h(analysis)f(using)f(co)m
+(v)-5 b(ariance)30 b(mo)s(dels",)376 2169 y Fg(Nucl.)41
+b(A)-5 b(cids)32 b(R)-5 b(es.)p Fj(,)32 b Ff(22)p Fj(,)f(2079-2088.)259
+2357 y(3.)47 b(P)m(a)m(v)m(esi,)34 b(A.,)e(Con)m(terio,)h(F.,)g(Bolc)m
+(hi,)h(A.,)e(Dieci,)i(G.,)f(Ottonello,)g(S.)f(\(1994\))i(\\Iden)m
+(ti\014cation)f(of)376 2470 y(new)26 b(euk)-5 b(ary)m(otic)28
+b(tRNA)g(genes)f(in)g(genomic)h(DNA)f(databases)h(b)m(y)f(a)g(m)m
+(ultistep)g(w)m(eigh)m(t)i(matrix)376 2582 y(analysis)i(of)f
+(transcriptional)h(con)m(trol)h(regions",)g Fg(Nucl.)41
+b(A)-5 b(cids)32 b(R)-5 b(es.)p Fj(,)32 b Ff(22)p Fj(,)f(1247-1256.)259
+2770 y(4.)47 b(Lo)m(w)m(e,)36 b(T.M.)e(&)f(Eddy)-8 b(,)34
+b(S.R.)f(\(1997\))k(\\tRNAscan-SE:)d(a)h(program)e(for)g(impro)m(v)m
+(ed)h(detection)376 2883 y(of)c(transfer)g(RNA)h(genes)g(in)f(genomic)h
+(sequence",)h Fg(Nucl.)41 b(A)-5 b(cids)32 b(R)-5 b(es.)p
+Fj(,)32 b Ff(25)p Fj(,)f(955-964.)1897 5525 y(23)p eop
+end
+%%Page: 24 24
+TeXDict begin 24 23 bop 148 273 a Fl(A)134 b(F)-15 b(AST)k(A)43
+b(Sequence)i(F)-11 b(ormat)148 476 y Fj(The)33 b(F)-10
+b(AST)i(A)32 b(sequence)i(format)f(consists)g(of)g(a)g(sequence)g(name)
+g(and)f(description)h(on)f(a)h(single)h(line)148 589
+y(starting)d(with)g(the)f(greater)i(than)e(sym)m(b)s(ol)g(')p
+Fd(>)p Fj(',)h(follo)m(w)m(ed)h(b)m(y)e(the)h(sequence:)148
+914 y Fd(>)48 b(SequenceName)c(description)h(here)148
+1027 y(ATGTCGTTACCGTCGTCGGGACCGA)o(CCAT)o(G)148 1140
+y(AGAGCGA)289 1465 y Fj(More)32 b(than)e(one)g(sequence)h(can)g(b)s(e)f
+(included)f(in)h(the)h(same)g(\014le:)148 1791 y Fd(>)48
+b(Randseq1)d(first)i(randomly)e(generated)g(seq)148 1904
+y(GGTGGTTACTAACCGTAAGAGATGA)o(TGTC)o(GCCG)o(TGG)o(TCGC)o(GTGG)o(CGC)o
+(CGCG)o(GACC)o(CAG)o(AT)148 2017 y(TGTACTTCTCTGAGTCGTTCTAGAT)o(CGAC)o
+(CAGT)o(CTT)o(CTAG)o(CTTG)o(CCC)o(GTGA)o(GGTA)o(TGG)o(GG)148
+2130 y(AGCCGCATATTGCCCACAAT)148 2242 y(>)j(Randseq2)d(second)h
+(randomly)g(generated)f(seq)148 2355 y(GCGACGCGTCTCTACACCAGACGCT)o
+(TCTG)o(TTGA)o(GGA)o(AGAG)o(TGCC)o(TGA)o(GTGC)o(AGGT)o(CCT)o(CG)148
+2468 y(AGAACCCACTGGAACTTGAAGGGCG)o(CGTC)o(TCAC)o(TGG)o(TCGT)o(GAGA)o
+(AGG)o(CTCC)o(GTCG)o(ATA)o(CG)148 2581 y(AAAGTCCATGCCAAGGACAT)148
+2694 y(>)j(Randseq3)d(third)i(randomly)e(generated)g(seq)148
+2807 y(GGCGAGTCTGAACTCACAAATATTG)o(CACG)o(AGAG)o(TTT)o(AGTG)o(TATG)o
+(TTC)o(CTCT)o(TAGG)o(CTG)o(AT)148 2920 y(AACAATAGTTTAGTGAGCGGAAATG)o
+(CAAC)o(CGCG)o(AGG)o(CGGT)o(CCCC)o(TGC)o(GCTT)o(GTAA)o(TGG)o(CC)148
+3033 y(ACCTGTTGCCCGTCGGATAT)1897 5525 y Fj(24)p eop end
+%%Page: 25 25
+TeXDict begin 25 24 bop 148 273 a Fl(B)134 b(Distribution)46
+b(and)f(cop)l(ying)g(terms)1078 476 y Ff(GNU)35 b(GENERAL)f(PUBLIC)i
+(LICENSE)1530 589 y Fj(V)-8 b(ersion)31 b(2,)g(June)f(1991)808
+773 y(Cop)m(yrigh)m(t)i(\(C\))e(1989,)j(1991)f(F)-8 b(ree)31
+b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)1070 886
+y(675)g(Mass)g(Av)m(e,)h(Cam)m(bridge,)e(MA)h(02139,)i(USA)720
+998 y(Ev)m(ery)m(one)e(is)g(p)s(ermitted)f(to)h(cop)m(y)g(and)f
+(distribute)g(v)m(erbatim)h(copies)831 1111 y(of)f(this)h(license)g(do)
+s(cumen)m(t,)f(but)g(c)m(hanging)h(it)g(is)g(not)f(allo)m(w)m(ed.)1756
+1295 y(Pream)m(ble)289 1479 y(The)38 b(licenses)i(for)e(most)h(soft)m
+(w)m(are)g(are)g(designed)f(to)h(tak)m(e)h(a)m(w)m(a)m(y)h(y)m(our)d
+(freedom)g(to)h(share)g(and)148 1592 y(c)m(hange)i(it.)68
+b(By)40 b(con)m(trast,)j(the)c(GNU)h(General)h(Public)e(License)h(is)f
+(in)m(tended)g(to)h(guaran)m(tee)h(y)m(our)148 1705 y(freedom)26
+b(to)h(share)f(and)g(c)m(hange)h(free)g(soft)m(w)m(are{to)i(mak)m(e)e
+(sure)e(the)i(soft)m(w)m(are)g(is)g(free)f(for)g(all)h(its)g(users.)148
+1818 y(This)38 b(General)i(Public)f(License)g(applies)g(to)h(most)f(of)
+g(the)g(F)-8 b(ree)40 b(Soft)m(w)m(are)g(F)-8 b(oundation's)40
+b(soft)m(w)m(are)148 1931 y(and)35 b(to)g(an)m(y)g(other)g(program)g
+(whose)g(authors)f(commit)i(to)g(using)e(it.)55 b(\(Some)35
+b(other)g(F)-8 b(ree)36 b(Soft)m(w)m(are)148 2044 y(F)-8
+b(oundation)31 b(soft)m(w)m(are)h(is)f(co)m(v)m(ered)h(b)m(y)e(the)h
+(GNU)g(Library)f(General)h(Public)f(License)h(instead.\))42
+b(Y)-8 b(ou)148 2157 y(can)31 b(apply)f(it)h(to)g(y)m(our)f(programs,)h
+(to)s(o.)289 2270 y(When)36 b(w)m(e)g(sp)s(eak)f(of)h(free)f(soft)m(w)m
+(are,)k(w)m(e)d(are)g(referring)f(to)h(freedom,)h(not)f(price.)56
+b(Our)34 b(General)148 2383 y(Public)f(Licenses)h(are)g(designed)f(to)h
+(mak)m(e)h(sure)d(that)i(y)m(ou)g(ha)m(v)m(e)g(the)g(freedom)f(to)h
+(distribute)f(copies)148 2495 y(of)j(free)g(soft)m(w)m(are)h(\(and)e(c)
+m(harge)i(for)e(this)h(service)g(if)g(y)m(ou)f(wish\),)i(that)f(y)m(ou)
+g(receiv)m(e)i(source)d(co)s(de)h(or)148 2608 y(can)f(get)g(it)f(if)g
+(y)m(ou)h(w)m(an)m(t)g(it,)g(that)g(y)m(ou)f(can)h(c)m(hange)g(the)f
+(soft)m(w)m(are)h(or)f(use)g(pieces)h(of)f(it)h(in)e(new)h(free)148
+2721 y(programs;)d(and)e(that)i(y)m(ou)g(kno)m(w)f(y)m(ou)h(can)g(do)f
+(these)h(things.)289 2834 y(T)-8 b(o)39 b(protect)g(y)m(our)f(righ)m
+(ts,)j(w)m(e)d(need)g(to)g(mak)m(e)h(restrictions)g(that)g(forbid)e(an)
+m(y)m(one)i(to)g(den)m(y)f(y)m(ou)148 2947 y(these)e(righ)m(ts)g(or)g
+(to)g(ask)g(y)m(ou)g(to)h(surrender)c(the)j(righ)m(ts.)57
+b(These)35 b(restrictions)i(translate)g(to)f(certain)148
+3060 y(resp)s(onsibilities)31 b(for)f(y)m(ou)h(if)f(y)m(ou)h
+(distribute)f(copies)h(of)f(the)h(soft)m(w)m(are,)h(or)e(if)h(y)m(ou)f
+(mo)s(dify)g(it.)289 3173 y(F)-8 b(or)29 b(example,)g(if)f(y)m(ou)f
+(distribute)h(copies)g(of)g(suc)m(h)f(a)h(program,)g(whether)f(gratis)i
+(or)e(for)h(a)g(fee,)h(y)m(ou)148 3286 y(m)m(ust)k(giv)m(e)h(the)f
+(recipien)m(ts)h(all)g(the)f(righ)m(ts)g(that)h(y)m(ou)f(ha)m(v)m(e.)49
+b(Y)-8 b(ou)34 b(m)m(ust)e(mak)m(e)i(sure)e(that)i(they)-8
+b(,)34 b(to)s(o,)148 3399 y(receiv)m(e)39 b(or)e(can)g(get)h(the)f
+(source)g(co)s(de.)61 b(And)36 b(y)m(ou)h(m)m(ust)g(sho)m(w)g(them)g
+(these)g(terms)g(so)g(they)g(kno)m(w)148 3512 y(their)31
+b(righ)m(ts.)289 3625 y(W)-8 b(e)28 b(protect)f(y)m(our)f(righ)m(ts)g
+(with)g(t)m(w)m(o)i(steps:)38 b(\(1\))27 b(cop)m(yrigh)m(t)h(the)e
+(soft)m(w)m(are,)j(and)c(\(2\))i(o\013er)g(y)m(ou)f(this)148
+3737 y(license)32 b(whic)m(h)e(giv)m(es)i(y)m(ou)e(legal)i(p)s
+(ermission)e(to)h(cop)m(y)-8 b(,)32 b(distribute)d(and/or)i(mo)s(dify)e
+(the)i(soft)m(w)m(are.)289 3850 y(Also,)44 b(for)d(eac)m(h)g(author's)g
+(protection)g(and)f(ours,)j(w)m(e)e(w)m(an)m(t)g(to)g(mak)m(e)h
+(certain)f(that)g(ev)m(ery)m(one)148 3963 y(understands)29
+b(that)i(there)f(is)h(no)f(w)m(arran)m(t)m(y)h(for)f(this)h(free)f
+(soft)m(w)m(are.)42 b(If)30 b(the)h(soft)m(w)m(are)h(is)e(mo)s
+(di\014ed)f(b)m(y)148 4076 y(someone)h(else)g(and)f(passed)f(on,)i(w)m
+(e)f(w)m(an)m(t)h(its)g(recipien)m(ts)g(to)g(kno)m(w)f(that)h(what)f
+(they)g(ha)m(v)m(e)h(is)f(not)h(the)148 4189 y(original,)g(so)f(that)f
+(an)m(y)h(problems)e(in)m(tro)s(duced)h(b)m(y)g(others)g(will)g(not)h
+(re\015ect)g(on)f(the)g(original)h(authors')148 4302
+y(reputations.)289 4415 y(Finally)-8 b(,)26 b(an)m(y)c(free)h(program)e
+(is)i(threatened)f(constan)m(tly)i(b)m(y)e(soft)m(w)m(are)h(paten)m
+(ts.)39 b(W)-8 b(e)23 b(wish)f(to)h(a)m(v)m(oid)148 4528
+y(the)30 b(danger)f(that)h(redistributors)e(of)i(a)f(free)h(program)f
+(will)h(individually)f(obtain)g(paten)m(t)i(licenses,)f(in)148
+4641 y(e\013ect)39 b(making)e(the)g(program)g(proprietary)-8
+b(.)60 b(T)-8 b(o)38 b(prev)m(en)m(t)f(this,)i(w)m(e)f(ha)m(v)m(e)g
+(made)f(it)g(clear)h(that)g(an)m(y)148 4754 y(paten)m(t)32
+b(m)m(ust)e(b)s(e)g(licensed)h(for)f(ev)m(ery)m(one's)i(free)e(use)g
+(or)h(not)f(licensed)h(at)g(all.)289 4867 y(The)f(precise)h(terms)f
+(and)g(conditions)h(for)f(cop)m(ying,)i(distribution)d(and)h(mo)s
+(di\014cation)h(follo)m(w.)1078 5051 y Ff(GNU)k(GENERAL)f(PUBLIC)i
+(LICENSE)289 5163 y(TERMS)f(AND)g(CONDITIONS)d(F)m(OR)j(COPYING,)f
+(DISTRIBUTION)g(AND)1532 5276 y(MODIFICA)-9 b(TION)1897
+5525 y Fj(25)p eop end
+%%Page: 26 26
+TeXDict begin 26 25 bop 259 273 a Fj(0.)47 b(This)37
+b(License)h(applies)h(to)f(an)m(y)h(program)e(or)i(other)f(w)m(ork)g
+(whic)m(h)g(con)m(tains)h(a)f(notice)i(placed)376 386
+y(b)m(y)29 b(the)g(cop)m(yrigh)m(t)i(holder)e(sa)m(ying)i(it)e(ma)m(y)h
+(b)s(e)f(distributed)g(under)e(the)j(terms)f(of)h(this)f(General)376
+499 y(Public)40 b(License.)74 b(The)40 b(\\Program",)45
+b(b)s(elo)m(w,)f(refers)d(to)h(an)m(y)f(suc)m(h)g(program)g(or)g(w)m
+(ork,)j(and)376 612 y(a)38 b(\\w)m(ork)h(based)f(on)g(the)g(Program")h
+(means)f(either)g(the)g(Program)h(or)f(an)m(y)g(deriv)-5
+b(ativ)m(e)40 b(w)m(ork)376 724 y(under)33 b(cop)m(yrigh)m(t)j(la)m(w:)
+51 b(that)36 b(is)f(to)g(sa)m(y)-8 b(,)38 b(a)d(w)m(ork)g(con)m
+(taining)i(the)e(Program)g(or)g(a)g(p)s(ortion)g(of)376
+837 y(it,)43 b(either)e(v)m(erbatim)g(or)f(with)g(mo)s(di\014cations)h
+(and/or)f(translated)h(in)m(to)g(another)f(language.)376
+950 y(\(Hereinafter,)35 b(translation)g(is)e(included)g(without)h
+(limitation)h(in)e(the)h(term)f(\\mo)s(di\014cation".\))376
+1063 y(Eac)m(h)e(licensee)g(is)g(addressed)e(as)i(\\y)m(ou".)376
+1213 y(Activities)k(other)f(than)f(cop)m(ying,)j(distribution)d(and)g
+(mo)s(di\014cation)h(are)g(not)g(co)m(v)m(ered)h(b)m(y)e(this)376
+1326 y(License;)c(they)g(are)g(outside)f(its)h(scop)s(e.)40
+b(The)28 b(act)h(of)g(running)d(the)j(Program)f(is)h(not)f(restricted,)
+376 1439 y(and)37 b(the)h(output)f(from)h(the)g(Program)g(is)g(co)m(v)m
+(ered)h(only)f(if)g(its)g(con)m(ten)m(ts)i(constitute)f(a)f(w)m(ork)376
+1552 y(based)31 b(on)h(the)g(Program)g(\(indep)s(enden)m(t)f(of)h(ha)m
+(ving)h(b)s(een)e(made)h(b)m(y)g(running)e(the)i(Program\).)376
+1665 y(Whether)e(that)h(is)f(true)h(dep)s(ends)d(on)i(what)h(the)f
+(Program)h(do)s(es.)259 1852 y(1.)47 b(Y)-8 b(ou)37 b(ma)m(y)g(cop)m(y)
+h(and)e(distribute)g(v)m(erbatim)i(copies)g(of)f(the)g(Program's)g
+(source)g(co)s(de)g(as)g(y)m(ou)376 1965 y(receiv)m(e)27
+b(it,)g(in)f(an)m(y)g(medium,)g(pro)m(vided)f(that)h(y)m(ou)g
+(conspicuously)g(and)f(appropriately)h(publish)376 2078
+y(on)i(eac)m(h)h(cop)m(y)g(an)f(appropriate)h(cop)m(yrigh)m(t)g(notice)
+h(and)e(disclaimer)h(of)f(w)m(arran)m(t)m(y;)i(k)m(eep)f(in)m(tact)376
+2191 y(all)g(the)f(notices)h(that)g(refer)e(to)i(this)f(License)h(and)e
+(to)i(the)f(absence)h(of)f(an)m(y)g(w)m(arran)m(t)m(y;)i(and)e(giv)m(e)
+376 2304 y(an)m(y)i(other)h(recipien)m(ts)g(of)g(the)f(Program)h(a)g
+(cop)m(y)g(of)f(this)h(License)g(along)g(with)f(the)h(Program.)376
+2454 y(Y)-8 b(ou)27 b(ma)m(y)h(c)m(harge)g(a)g(fee)f(for)g(the)g(ph)m
+(ysical)h(act)g(of)g(transferring)e(a)h(cop)m(y)-8 b(,)30
+b(and)c(y)m(ou)i(ma)m(y)f(at)h(y)m(our)376 2567 y(option)i(o\013er)h(w)
+m(arran)m(t)m(y)h(protection)f(in)f(exc)m(hange)i(for)e(a)h(fee.)259
+2754 y(2.)47 b(Y)-8 b(ou)25 b(ma)m(y)g(mo)s(dify)f(y)m(our)g(cop)m(y)h
+(or)g(copies)g(of)g(the)g(Program)f(or)h(an)m(y)g(p)s(ortion)f(of)h
+(it,)h(th)m(us)e(forming)376 2867 y(a)36 b(w)m(ork)h(based)f(on)g(the)g
+(Program,)j(and)c(cop)m(y)i(and)f(distribute)g(suc)m(h)g(mo)s
+(di\014cations)h(or)f(w)m(ork)376 2980 y(under)20 b(the)i(terms)g(of)g
+(Section)g(1)h(ab)s(o)m(v)m(e,)i(pro)m(vided)c(that)i(y)m(ou)f(also)h
+(meet)f(all)h(of)f(these)g(conditions:)414 3192 y(\(a\))47
+b(Y)-8 b(ou)36 b(m)m(ust)g(cause)g(the)h(mo)s(di\014ed)d(\014les)i(to)h
+(carry)f(prominen)m(t)g(notices)h(stating)g(that)g(y)m(ou)576
+3305 y(c)m(hanged)31 b(the)f(\014les)g(and)g(the)h(date)g(of)f(an)m(y)h
+(c)m(hange.)409 3451 y(\(b\))46 b(Y)-8 b(ou)26 b(m)m(ust)f(cause)h(an)m
+(y)g(w)m(ork)g(that)g(y)m(ou)g(distribute)f(or)g(publish,)g(that)h(in)g
+(whole)f(or)h(in)f(part)576 3564 y(con)m(tains)31 b(or)f(is)g(deriv)m
+(ed)g(from)f(the)i(Program)f(or)g(an)m(y)g(part)g(thereof,)h(to)g(b)s
+(e)e(licensed)h(as)h(a)576 3677 y(whole)f(at)h(no)g(c)m(harge)g(to)g
+(all)h(third)d(parties)i(under)e(the)h(terms)g(of)h(this)f(License.)419
+3822 y(\(c\))47 b(If)31 b(the)h(mo)s(di\014ed)f(program)h(normally)h
+(reads)e(commands)h(in)m(teractiv)m(ely)j(when)c(run,)h(y)m(ou)576
+3935 y(m)m(ust)24 b(cause)h(it,)h(when)d(started)i(running)d(for)j(suc)
+m(h)f(in)m(teractiv)m(e)j(use)d(in)g(the)g(most)h(ordinary)576
+4048 y(w)m(a)m(y)-8 b(,)43 b(to)d(prin)m(t)f(or)g(displa)m(y)h(an)f
+(announcemen)m(t)g(including)g(an)g(appropriate)h(cop)m(yrigh)m(t)576
+4161 y(notice)30 b(and)f(a)g(notice)i(that)e(there)h(is)f(no)g(w)m
+(arran)m(t)m(y)h(\(or)g(else,)g(sa)m(ying)g(that)g(y)m(ou)f(pro)m(vide)
+h(a)576 4274 y(w)m(arran)m(t)m(y\))i(and)f(that)h(users)f(ma)m(y)h
+(redistribute)f(the)g(program)h(under)d(these)j(conditions,)576
+4387 y(and)42 b(telling)i(the)g(user)e(ho)m(w)h(to)h(view)f(a)h(cop)m
+(y)f(of)h(this)e(License.)80 b(\(Exception:)67 b(if)43
+b(the)576 4500 y(Program)26 b(itself)i(is)e(in)m(teractiv)m(e)j(but)d
+(do)s(es)g(not)h(normally)g(prin)m(t)f(suc)m(h)g(an)h(announcemen)m(t,)
+576 4613 y(y)m(our)j(w)m(ork)g(based)g(on)h(the)f(Program)h(is)f(not)h
+(required)e(to)i(prin)m(t)f(an)h(announcemen)m(t.\))376
+4825 y(These)37 b(requiremen)m(ts)g(apply)g(to)h(the)g(mo)s(di\014ed)e
+(w)m(ork)i(as)f(a)h(whole.)62 b(If)37 b(iden)m(ti\014able)h(sections)
+376 4938 y(of)g(that)g(w)m(ork)g(are)g(not)h(deriv)m(ed)f(from)f(the)h
+(Program,)i(and)d(can)i(b)s(e)e(reasonably)h(considered)376
+5051 y(indep)s(enden)m(t)33 b(and)i(separate)g(w)m(orks)g(in)g
+(themselv)m(es,)i(then)e(this)g(License,)h(and)f(its)g(terms,)h(do)376
+5163 y(not)e(apply)f(to)i(those)f(sections)h(when)e(y)m(ou)h
+(distribute)g(them)g(as)g(separate)h(w)m(orks.)51 b(But)34
+b(when)376 5276 y(y)m(ou)40 b(distribute)f(the)h(same)g(sections)h(as)f
+(part)f(of)h(a)h(whole)f(whic)m(h)f(is)h(a)g(w)m(ork)g(based)f(on)h
+(the)1897 5525 y(26)p eop end
+%%Page: 27 27
+TeXDict begin 27 26 bop 376 273 a Fj(Program,)34 b(the)f(distribution)g
+(of)g(the)h(whole)f(m)m(ust)g(b)s(e)g(on)g(the)h(terms)f(of)g(this)g
+(License,)i(whose)376 386 y(p)s(ermissions)25 b(for)i(other)g
+(licensees)h(extend)f(to)g(the)g(en)m(tire)h(whole,)g(and)e(th)m(us)h
+(to)g(eac)m(h)h(and)e(ev)m(ery)376 499 y(part)k(regardless)h(of)f(who)g
+(wrote)h(it.)376 649 y(Th)m(us,)43 b(it)f(is)g(not)g(the)g(in)m(ten)m
+(t)h(of)e(this)h(section)h(to)f(claim)h(righ)m(ts)f(or)f(con)m(test)j
+(y)m(our)d(righ)m(ts)h(to)376 762 y(w)m(ork)30 b(written)f(en)m(tirely)
+i(b)m(y)f(y)m(ou;)h(rather,)f(the)g(in)m(ten)m(t)h(is)f(to)g(exercise)i
+(the)e(righ)m(t)g(to)h(con)m(trol)g(the)376 875 y(distribution)e(of)i
+(deriv)-5 b(ativ)m(e)32 b(or)e(collectiv)m(e)k(w)m(orks)c(based)g(on)h
+(the)f(Program.)376 1025 y(In)21 b(addition,)j(mere)e(aggregation)i(of)
+e(another)g(w)m(ork)g(not)g(based)g(on)f(the)h(Program)g(with)g(the)g
+(Pro-)376 1138 y(gram)27 b(\(or)g(with)g(a)g(w)m(ork)g(based)g(on)f
+(the)i(Program\))f(on)g(a)g(v)m(olume)h(of)f(a)g(storage)i(or)e
+(distribution)376 1251 y(medium)i(do)s(es)h(not)h(bring)e(the)i(other)g
+(w)m(ork)f(under)f(the)h(scop)s(e)h(of)f(this)h(License.)259
+1438 y(3.)47 b(Y)-8 b(ou)33 b(ma)m(y)h(cop)m(y)g(and)f(distribute)g
+(the)g(Program)h(\(or)f(a)h(w)m(ork)f(based)g(on)h(it,)g(under)e
+(Section)i(2\))376 1551 y(in)26 b(ob)5 b(ject)27 b(co)s(de)g(or)g
+(executable)h(form)e(under)f(the)i(terms)f(of)h(Sections)g(1)g(and)f(2)
+h(ab)s(o)m(v)m(e)g(pro)m(vided)376 1664 y(that)k(y)m(ou)f(also)i(do)e
+(one)h(of)f(the)h(follo)m(wing:)414 1877 y(\(a\))47 b(Accompan)m(y)36
+b(it)h(with)e(the)h(complete)h(corresp)s(onding)e(mac)m(hine-readable)j
+(source)e(co)s(de,)576 1990 y(whic)m(h)20 b(m)m(ust)h(b)s(e)f
+(distributed)g(under)f(the)i(terms)f(of)h(Sections)h(1)f(and)f(2)h(ab)s
+(o)m(v)m(e)h(on)f(a)g(medium)576 2103 y(customarily)31
+b(used)e(for)h(soft)m(w)m(are)i(in)m(terc)m(hange;)h(or,)409
+2249 y(\(b\))46 b(Accompan)m(y)25 b(it)f(with)g(a)g(written)g(o\013er,)
+i(v)-5 b(alid)24 b(for)g(at)h(least)g(three)f(y)m(ears,)i(to)f(giv)m(e)
+h(an)m(y)e(third)576 2362 y(part)m(y)-8 b(,)34 b(for)e(a)h(c)m(harge)h
+(no)e(more)h(than)f(y)m(our)h(cost)g(of)g(ph)m(ysically)g(p)s
+(erforming)e(source)i(dis-)576 2475 y(tribution,)h(a)h(complete)g(mac)m
+(hine-readable)h(cop)m(y)e(of)g(the)h(corresp)s(onding)d(source)j(co)s
+(de,)576 2588 y(to)f(b)s(e)e(distributed)g(under)g(the)h(terms)h(of)f
+(Sections)h(1)f(and)g(2)h(ab)s(o)m(v)m(e)g(on)f(a)h(medium)e(cus-)576
+2700 y(tomarily)f(used)f(for)g(soft)m(w)m(are)i(in)m(terc)m(hange;)g
+(or,)419 2847 y(\(c\))47 b(Accompan)m(y)41 b(it)g(with)f(the)h
+(information)g(y)m(ou)g(receiv)m(ed)h(as)e(to)i(the)e(o\013er)h(to)h
+(distribute)576 2959 y(corresp)s(onding)30 b(source)h(co)s(de.)42
+b(\(This)31 b(alternativ)m(e)i(is)e(allo)m(w)m(ed)i(only)e(for)g
+(noncommercial)576 3072 y(distribution)i(and)h(only)g(if)g(y)m(ou)h
+(receiv)m(ed)g(the)g(program)f(in)g(ob)5 b(ject)35 b(co)s(de)f(or)g
+(executable)576 3185 y(form)29 b(with)i(suc)m(h)f(an)g(o\013er,)h(in)f
+(accord)h(with)f(Subsection)g(b)g(ab)s(o)m(v)m(e.\))376
+3398 y(The)k(source)h(co)s(de)g(for)f(a)h(w)m(ork)g(means)g(the)g
+(preferred)e(form)h(of)h(the)g(w)m(ork)g(for)g(making)g(mo)s(d-)376
+3511 y(i\014cations)h(to)g(it.)56 b(F)-8 b(or)36 b(an)f(executable)i(w)
+m(ork,)g(complete)f(source)g(co)s(de)f(means)g(all)h(the)g(source)376
+3624 y(co)s(de)k(for)f(all)i(mo)s(dules)e(it)h(con)m(tains,)k(plus)39
+b(an)m(y)h(asso)s(ciated)h(in)m(terface)g(de\014nition)f(\014les,)i
+(plus)376 3737 y(the)33 b(scripts)h(used)e(to)i(con)m(trol)h
+(compilation)g(and)e(installation)j(of)d(the)h(executable.)52
+b(Ho)m(w)m(ev)m(er,)376 3849 y(as)31 b(a)h(sp)s(ecial)g(exception,)h
+(the)e(source)h(co)s(de)f(distributed)g(need)g(not)g(include)g(an)m
+(ything)h(that)g(is)376 3962 y(normally)38 b(distributed)g(\(in)h
+(either)g(source)f(or)h(binary)f(form\))g(with)h(the)f(ma)5
+b(jor)39 b(comp)s(onen)m(ts)376 4075 y(\(compiler,)34
+b(k)m(ernel,)g(and)f(so)g(on\))g(of)g(the)g(op)s(erating)g(system)g(on)
+f(whic)m(h)h(the)g(executable)h(runs,)376 4188 y(unless)29
+b(that)i(comp)s(onen)m(t)g(itself)g(accompanies)h(the)e(executable.)376
+4338 y(If)k(distribution)h(of)g(executable)h(or)f(ob)5
+b(ject)36 b(co)s(de)g(is)f(made)g(b)m(y)g(o\013ering)h(access)g(to)g
+(cop)m(y)g(from)376 4451 y(a)d(designated)h(place,)h(then)d(o\013ering)
+i(equiv)-5 b(alen)m(t)35 b(access)f(to)g(cop)m(y)g(the)f(source)g(co)s
+(de)g(from)g(the)376 4564 y(same)j(place)h(coun)m(ts)f(as)g
+(distribution)f(of)h(the)g(source)g(co)s(de,)i(ev)m(en)e(though)g
+(third)e(parties)j(are)376 4677 y(not)30 b(comp)s(elled)h(to)g(cop)m(y)
+g(the)g(source)f(along)i(with)e(the)g(ob)5 b(ject)32
+b(co)s(de.)259 4865 y(4.)47 b(Y)-8 b(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8
+b(,)32 b(mo)s(dify)-8 b(,)30 b(sublicense,)g(or)g(distribute)g(the)g
+(Program)h(except)g(as)f(expressly)376 4978 y(pro)m(vided)35
+b(under)g(this)h(License.)59 b(An)m(y)36 b(attempt)i(otherwise)e(to)h
+(cop)m(y)-8 b(,)39 b(mo)s(dify)-8 b(,)38 b(sublicense)e(or)376
+5091 y(distribute)g(the)h(Program)g(is)g(v)m(oid,)j(and)c(will)h
+(automatically)j(terminate)e(y)m(our)f(righ)m(ts)h(under)376
+5204 y(this)e(License.)59 b(Ho)m(w)m(ev)m(er,)40 b(parties)d(who)f(ha)m
+(v)m(e)h(receiv)m(ed)h(copies,)h(or)d(righ)m(ts,)j(from)d(y)m(ou)h
+(under)1897 5525 y(27)p eop end
+%%Page: 28 28
+TeXDict begin 28 27 bop 376 273 a Fj(this)31 b(License)g(will)h(not)g
+(ha)m(v)m(e)g(their)f(licenses)h(terminated)g(so)f(long)h(as)g(suc)m(h)
+f(parties)g(remain)g(in)376 386 y(full)f(compliance.)259
+567 y(5.)47 b(Y)-8 b(ou)34 b(are)g(not)g(required)f(to)i(accept)g(this)
+f(License,)i(since)e(y)m(ou)g(ha)m(v)m(e)h(not)f(signed)g(it.)52
+b(Ho)m(w)m(ev)m(er,)376 680 y(nothing)28 b(else)h(gran)m(ts)g(y)m(ou)f
+(p)s(ermission)f(to)i(mo)s(dify)e(or)i(distribute)e(the)i(Program)f(or)
+g(its)h(deriv)-5 b(a-)376 793 y(tiv)m(e)39 b(w)m(orks.)63
+b(These)38 b(actions)h(are)f(prohibited)f(b)m(y)h(la)m(w)g(if)g(y)m(ou)
+g(do)g(not)g(accept)h(this)f(License.)376 905 y(Therefore,)29
+b(b)m(y)g(mo)s(difying)f(or)h(distributing)f(the)h(Program)h(\(or)f(an)
+m(y)g(w)m(ork)g(based)g(on)g(the)g(Pro-)376 1018 y(gram\),)37
+b(y)m(ou)f(indicate)h(y)m(our)f(acceptance)i(of)d(this)h(License)g(to)g
+(do)g(so,)h(and)f(all)g(its)g(terms)g(and)376 1131 y(conditions)30
+b(for)h(cop)m(ying,)g(distributing)f(or)g(mo)s(difying)g(the)h(Program)
+f(or)g(w)m(orks)h(based)f(on)g(it.)259 1312 y(6.)47 b(Eac)m(h)38
+b(time)g(y)m(ou)g(redistribute)f(the)h(Program)f(\(or)h(an)m(y)g(w)m
+(ork)g(based)f(on)g(the)h(Program\),)i(the)376 1425 y(recipien)m(t)28
+b(automatically)i(receiv)m(es)e(a)g(license)g(from)e(the)i(original)g
+(licensor)g(to)f(cop)m(y)-8 b(,)30 b(distribute)376 1538
+y(or)i(mo)s(dify)g(the)g(Program)h(sub)5 b(ject)32 b(to)h(these)g
+(terms)f(and)g(conditions.)48 b(Y)-8 b(ou)33 b(ma)m(y)g(not)f(imp)s
+(ose)376 1651 y(an)m(y)i(further)e(restrictions)j(on)f(the)g(recipien)m
+(ts')h(exercise)g(of)f(the)g(righ)m(ts)g(gran)m(ted)h(herein.)51
+b(Y)-8 b(ou)376 1764 y(are)30 b(not)h(resp)s(onsible)e(for)i(enforcing)
+f(compliance)i(b)m(y)e(third)g(parties)g(to)i(this)e(License.)259
+1945 y(7.)47 b(If,)24 b(as)f(a)g(consequence)g(of)g(a)g(court)g
+(judgmen)m(t)g(or)f(allegation)k(of)d(paten)m(t)h(infringemen)m(t)e(or)
+h(for)g(an)m(y)376 2058 y(other)33 b(reason)g(\(not)g(limited)g(to)h
+(paten)m(t)g(issues\),)f(conditions)g(are)h(imp)s(osed)e(on)g(y)m(ou)h
+(\(whether)376 2171 y(b)m(y)24 b(court)h(order,)g(agreemen)m(t)h(or)f
+(otherwise\))g(that)g(con)m(tradict)h(the)e(conditions)h(of)g(this)f
+(License,)376 2284 y(they)32 b(do)f(not)h(excuse)h(y)m(ou)f(from)f(the)
+i(conditions)f(of)g(this)g(License.)45 b(If)32 b(y)m(ou)g(cannot)h
+(distribute)376 2396 y(so)43 b(as)f(to)i(satisfy)f(sim)m(ultaneously)h
+(y)m(our)e(obligations)j(under)c(this)h(License)i(and)e(an)m(y)h(other)
+376 2509 y(p)s(ertinen)m(t)31 b(obligations,)j(then)e(as)f(a)i
+(consequence)f(y)m(ou)g(ma)m(y)g(not)g(distribute)g(the)f(Program)h(at)
+376 2622 y(all.)57 b(F)-8 b(or)36 b(example,)i(if)e(a)g(paten)m(t)g
+(license)h(w)m(ould)f(not)f(p)s(ermit)g(ro)m(y)m(alt)m(y-free)k
+(redistribution)c(of)376 2735 y(the)c(Program)h(b)m(y)f(all)h(those)g
+(who)f(receiv)m(e)j(copies)e(directly)g(or)f(indirectly)h(through)f(y)m
+(ou,)h(then)376 2848 y(the)i(only)g(w)m(a)m(y)h(y)m(ou)f(could)g
+(satisfy)h(b)s(oth)e(it)i(and)e(this)h(License)g(w)m(ould)g(b)s(e)g(to)
+g(refrain)g(en)m(tirely)376 2961 y(from)29 b(distribution)h(of)h(the)f
+(Program.)376 3108 y(If)38 b(an)m(y)h(p)s(ortion)f(of)h(this)g(section)
+h(is)e(held)h(in)m(v)-5 b(alid)39 b(or)g(unenforceable)f(under)g(an)m
+(y)h(particular)376 3221 y(circumstance,)j(the)d(balance)h(of)f(the)h
+(section)g(is)f(in)m(tended)g(to)h(apply)e(and)h(the)g(section)h(as)g
+(a)376 3334 y(whole)30 b(is)h(in)m(tended)f(to)h(apply)f(in)g(other)h
+(circumstances.)376 3481 y(It)37 b(is)f(not)h(the)g(purp)s(ose)f(of)g
+(this)h(section)h(to)g(induce)e(y)m(ou)h(to)h(infringe)e(an)m(y)h
+(paten)m(ts)h(or)f(other)376 3594 y(prop)s(ert)m(y)e(righ)m(t)h(claims)
+h(or)f(to)g(con)m(test)i(v)-5 b(alidit)m(y)37 b(of)f(an)m(y)g(suc)m(h)g
+(claims;)k(this)35 b(section)i(has)f(the)376 3706 y(sole)26
+b(purp)s(ose)d(of)i(protecting)i(the)e(in)m(tegrit)m(y)i(of)e(the)h
+(free)f(soft)m(w)m(are)h(distribution)f(system,)h(whic)m(h)376
+3819 y(is)k(implemen)m(ted)h(b)m(y)g(public)f(license)h(practices.)43
+b(Man)m(y)31 b(p)s(eople)g(ha)m(v)m(e)g(made)g(generous)g(con)m(tri-)
+376 3932 y(butions)f(to)h(the)h(wide)e(range)h(of)g(soft)m(w)m(are)i
+(distributed)d(through)g(that)h(system)g(in)g(reliance)h(on)376
+4045 y(consisten)m(t)h(application)g(of)e(that)i(system;)f(it)h(is)e
+(up)g(to)h(the)g(author/donor)f(to)i(decide)f(if)g(he)f(or)376
+4158 y(she)h(is)h(willing)h(to)f(distribute)g(soft)m(w)m(are)h(through)
+f(an)m(y)g(other)g(system)g(and)g(a)g(licensee)h(cannot)376
+4271 y(imp)s(ose)c(that)h(c)m(hoice.)376 4418 y(This)22
+b(section)i(is)f(in)m(tended)g(to)g(mak)m(e)h(thoroughly)f(clear)h
+(what)f(is)g(b)s(eliev)m(ed)h(to)g(b)s(e)e(a)h(consequence)376
+4531 y(of)30 b(the)h(rest)f(of)h(this)f(License.)259
+4712 y(8.)47 b(If)30 b(the)g(distribution)g(and/or)h(use)f(of)h(the)f
+(Program)h(is)f(restricted)i(in)e(certain)h(coun)m(tries)h(either)376
+4825 y(b)m(y)e(paten)m(ts)h(or)g(b)m(y)f(cop)m(yrigh)m(ted)i(in)m
+(terfaces,)h(the)d(original)i(cop)m(yrigh)m(t)g(holder)e(who)g(places)i
+(the)376 4938 y(Program)e(under)f(this)h(License)h(ma)m(y)g(add)f(an)g
+(explicit)i(geographical)g(distribution)e(limitation)376
+5051 y(excluding)23 b(those)i(coun)m(tries,)h(so)d(that)i(distribution)
+e(is)g(p)s(ermitted)g(only)h(in)f(or)h(among)g(coun)m(tries)376
+5163 y(not)k(th)m(us)g(excluded.)40 b(In)28 b(suc)m(h)g(case,)j(this)d
+(License)h(incorp)s(orates)g(the)f(limitation)j(as)e(if)f(written)376
+5276 y(in)i(the)g(b)s(o)s(dy)f(of)i(this)f(License.)1897
+5525 y(28)p eop end
+%%Page: 29 29
+TeXDict begin 29 28 bop 259 273 a Fj(9.)47 b(The)21 b(F)-8
+b(ree)23 b(Soft)m(w)m(are)g(F)-8 b(oundation)22 b(ma)m(y)h(publish)d
+(revised)i(and/or)g(new)f(v)m(ersions)h(of)g(the)g(General)376
+386 y(Public)33 b(License)h(from)f(time)i(to)f(time.)51
+b(Suc)m(h)33 b(new)g(v)m(ersions)h(will)g(b)s(e)f(similar)h(in)f
+(spirit)h(to)g(the)376 499 y(presen)m(t)c(v)m(ersion,)h(but)f(ma)m(y)h
+(di\013er)f(in)g(detail)h(to)h(address)d(new)h(problems)g(or)g
+(concerns.)376 649 y(Eac)m(h)41 b(v)m(ersion)g(is)g(giv)m(en)h(a)f
+(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)70 b(If)41
+b(the)f(Program)h(sp)s(eci\014es)g(a)376 762 y(v)m(ersion)32
+b(n)m(um)m(b)s(er)e(of)i(this)f(License)i(whic)m(h)e(applies)h(to)g(it)
+g(and)g(\\an)m(y)g(later)h(v)m(ersion",)g(y)m(ou)f(ha)m(v)m(e)376
+875 y(the)d(option)g(of)g(follo)m(wing)h(the)f(terms)g(and)f
+(conditions)i(either)f(of)g(that)h(v)m(ersion)f(or)g(of)g(an)m(y)g
+(later)376 988 y(v)m(ersion)i(published)f(b)m(y)h(the)h(F)-8
+b(ree)32 b(Soft)m(w)m(are)h(F)-8 b(oundation.)44 b(If)31
+b(the)g(Program)h(do)s(es)f(not)g(sp)s(ecify)376 1101
+y(a)h(v)m(ersion)h(n)m(um)m(b)s(er)e(of)i(this)f(License,)i(y)m(ou)e
+(ma)m(y)h(c)m(ho)s(ose)g(an)m(y)g(v)m(ersion)g(ev)m(er)g(published)e(b)
+m(y)h(the)376 1213 y(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
+b(oundation.)214 1401 y(10.)47 b(If)d(y)m(ou)i(wish)f(to)h(incorp)s
+(orate)f(parts)h(of)f(the)h(Program)f(in)m(to)h(other)g(free)f
+(programs)g(whose)376 1514 y(distribution)34 b(conditions)i(are)g
+(di\013eren)m(t,)h(write)f(to)g(the)f(author)g(to)h(ask)g(for)f(p)s
+(ermission.)54 b(F)-8 b(or)376 1627 y(soft)m(w)m(are)42
+b(whic)m(h)f(is)g(cop)m(yrigh)m(ted)i(b)m(y)e(the)h(F)-8
+b(ree)42 b(Soft)m(w)m(are)g(F)-8 b(oundation,)45 b(write)d(to)g(the)f
+(F)-8 b(ree)376 1740 y(Soft)m(w)m(are)37 b(F)-8 b(oundation;)41
+b(w)m(e)36 b(sometimes)i(mak)m(e)f(exceptions)h(for)e(this.)59
+b(Our)35 b(decision)i(will)g(b)s(e)376 1853 y(guided)j(b)m(y)g(the)h(t)
+m(w)m(o)h(goals)g(of)f(preserving)f(the)g(free)h(status)g(of)g(all)g
+(deriv)-5 b(ativ)m(es)42 b(of)f(our)f(free)376 1966 y(soft)m(w)m(are)31
+b(and)f(of)h(promoting)f(the)h(sharing)f(and)g(reuse)g(of)g(soft)m(w)m
+(are)i(generally)-8 b(.)1897 5525 y(29)p eop end
+%%Page: 30 30
+TeXDict begin 30 29 bop 1636 273 a Ff(NO)34 b(W)-12 b(ARRANTY)214
+523 y Fj(11.)47 b(BECA)m(USE)34 b(THE)f(PR)m(OGRAM)i(IS)e(LICENSED)g
+(FREE)h(OF)g(CHAR)m(GE,)h(THERE)e(IS)g(NO)376 636 y(W)-10
+b(ARRANTY)35 b(F)m(OR)h(THE)f(PR)m(OGRAM,)i(TO)d(THE)h(EXTENT)g
+(PERMITTED)g(BY)h(AP-)376 749 y(PLICABLE)k(LA)-10 b(W.)42
+b(EX)m(CEPT)f(WHEN)h(OTHER)-10 b(WISE)40 b(ST)-8 b(A)g(TED)41
+b(IN)g(WRITING)g(THE)376 861 y(COPYRIGHT)19 b(HOLDERS)h(AND/OR)h(OTHER)
+e(P)-8 b(AR)g(TIES)20 b(PR)m(O)m(VIDE)h(THE)f(PR)m(OGRAM)376
+974 y(\\AS)25 b(IS")g(WITHOUT)g(W)-10 b(ARRANTY)26 b(OF)f(ANY)h(KIND,)g
+(EITHER)e(EXPRESSED)h(OR)g(IM-)376 1087 y(PLIED,)37 b(INCLUDING,)h(BUT)
+g(NOT)f(LIMITED)h(TO,)f(THE)g(IMPLIED)h(W)-10 b(ARRANTIES)376
+1200 y(OF)22 b(MER)m(CHANT)-8 b(ABILITY)23 b(AND)g(FITNESS)e(F)m(OR)i
+(A)g(P)-8 b(AR)g(TICULAR)22 b(PURPOSE.)f(THE)376 1313
+y(ENTIRE)40 b(RISK)g(AS)h(TO)f(THE)h(QUALITY)g(AND)h(PERF)m(ORMANCE)f
+(OF)g(THE)g(PR)m(O-)376 1426 y(GRAM)c(IS)e(WITH)i(YOU.)f(SHOULD)g(THE)g
+(PR)m(OGRAM)h(PR)m(O)m(VE)g(DEFECTIVE,)f(YOU)376 1539
+y(ASSUME)23 b(THE)h(COST)e(OF)i(ALL)f(NECESSAR)-8 b(Y)24
+b(SER)-10 b(VICING,)23 b(REP)-8 b(AIR)24 b(OR)f(CORREC-)376
+1652 y(TION.)214 1839 y(12.)47 b(IN)20 b(NO)h(EVENT)g(UNLESS)f
+(REQUIRED)g(BY)i(APPLICABLE)e(LA)-10 b(W)21 b(OR)g(A)m(GREED)h(TO)e(IN)
+376 1952 y(WRITING)30 b(WILL)g(ANY)h(COPYRIGHT)e(HOLDER,)i(OR)f(ANY)g
+(OTHER)g(P)-8 b(AR)g(TY)31 b(WHO)376 2065 y(MA)-8 b(Y)43
+b(MODIFY)h(AND/OR)g(REDISTRIBUTE)d(THE)i(PR)m(OGRAM)g(AS)g(PERMITTED)
+376 2178 y(ABO)m(VE,)33 b(BE)f(LIABLE)g(TO)g(YOU)g(F)m(OR)g(D)m(AMA)m
+(GES,)i(INCLUDING)f(ANY)g(GENERAL,)376 2291 y(SPECIAL,)c(INCIDENT)-8
+b(AL)31 b(OR)g(CONSEQUENTIAL)e(D)m(AMA)m(GES)k(ARISING)e(OUT)f(OF)376
+2404 y(THE)38 b(USE)g(OR)h(INABILITY)f(TO)g(USE)g(THE)h(PR)m(OGRAM)g
+(\(INCLUDING)h(BUT)f(NOT)376 2517 y(LIMITED)23 b(TO)g(LOSS)f(OF)h(D)m
+(A)-8 b(T)g(A)25 b(OR)f(D)m(A)-8 b(T)g(A)25 b(BEING)f(RENDERED)g(INA)m
+(CCURA)-8 b(TE)23 b(OR)376 2630 y(LOSSES)32 b(SUST)-8
+b(AINED)35 b(BY)h(YOU)f(OR)f(THIRD)h(P)-8 b(AR)g(TIES)35
+b(OR)f(A)h(F)-10 b(AILURE)35 b(OF)g(THE)376 2743 y(PR)m(OGRAM)d(TO)g
+(OPERA)-8 b(TE)31 b(WITH)h(ANY)h(OTHER)e(PR)m(OGRAMS\),)i(EVEN)f(IF)h
+(SUCH)376 2856 y(HOLDER)27 b(OR)h(OTHER)f(P)-8 b(AR)g(TY)28
+b(HAS)f(BEEN)h(AD)m(VISED)h(OF)f(THE)f(POSSIBILITY)f(OF)376
+2969 y(SUCH)j(D)m(AMA)m(GES.)1153 3181 y(END)i(OF)f(TERMS)g(AND)h
+(CONDITIONS)1897 5525 y(30)p eop end
+%%Trailer
+
+userdict /end-hook known{end-hook}if
+%%EOF
diff --git a/PSELC.cm b/PSELC.cm
new file mode 100644
index 0000000..fa1f402
--- /dev/null
+++ b/PSELC.cm
@@ -0,0 +1,1154 @@
+### cove V2
+72 	nodes
+### node 0 type 6
+1  -1
+0.06250 0.56250 0.06250 0.18750 0.06250 0.06250 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 1
+2  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07143 0.64286 0.07143 0.07143 0.07143 0.07143 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04167 0.04167 0.04167 0.04167 # MATP
+0.04167 0.04167 0.04167 0.04167 # MATP
+0.04167 0.37500 0.04167 0.04167 # MATP
+0.04167 0.04167 0.04167 0.04167 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.16667 0.50000 0.16667 0.16667 # MATR
+### node 2 type 1
+3  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.42308 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 3 type 1
+4  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.34615 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.11538 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 4 type 1
+5  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.26923 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.11538 0.03846 0.11538 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 5 type 1
+6  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.42308 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 6 type 1
+7  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.19231 # MATP
+0.03846 0.03846 0.11538 0.03846 # MATP
+0.03846 0.19231 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 7 type 1
+8  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.56250 0.18750 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.11538 0.19231 0.03846 0.03846 # MATP
+0.19231 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 8 type 1
+9  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.08333 0.00000 0.75000 0.00000 0.08333 0.08333 
+0.16667 0.00000 0.50000 0.00000 0.16667 0.16667 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04167 0.04167 0.04167 0.04167 # MATP
+0.04167 0.04167 0.20833 0.12500 # MATP
+0.04167 0.04167 0.04167 0.04167 # MATP
+0.12500 0.04167 0.04167 0.04167 # MATP
+0.16667 0.16667 0.50000 0.16667 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 9 type 2
+10  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.50000 0.07143 0.35714 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 10 type 2
+11  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.91667 0.00000 0.00000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.07143 0.07143 0.78571 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 11 type 0
+12  23
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 12 type 4
+13  -1
+0.07143 0.78571 0.07143 0.07143 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 13 type 1
+14  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.42308 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 14 type 1
+15  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.11538 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.26923 0.03846 0.11538 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 15 type 1
+16  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.11538 # MATP
+0.03846 0.03846 0.34615 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 16 type 1
+17  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.34615 0.03846 # MATP
+0.03846 0.11538 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 17 type 1
+18  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.11538 # MATP
+0.03846 0.03846 0.19231 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.19231 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 18 type 1
+19  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.07143 0.00000 0.78571 0.00000 0.07143 0.07143 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.42308 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 19 type 2
+20  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.64286 0.07143 0.21429 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 20 type 2
+21  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.07143 0.78571 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.07143 0.78571 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.91667 0.00000 0.00000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.07143 0.07143 0.78571 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 5
+24  -1
+0.38462 0.00000 0.53846 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 2
+25  -1
+0.83333 0.00000 0.00000 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.87500 0.00000 0.00000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10000 0.70000 0.10000 0.10000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 0
+26  40
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 4
+27  -1
+0.35714 0.35714 0.07143 0.21429 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 1
+28  -1
+0.10000 0.50000 0.10000 0.10000 0.10000 0.10000 
+0.10000 0.50000 0.10000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.05000 0.05000 0.05000 0.05000 # MATP
+0.05000 0.05000 0.05000 0.05000 # MATP
+0.05000 0.05000 0.05000 0.25000 # MATP
+0.05000 0.05000 0.05000 0.05000 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.16667 0.16667 0.16667 0.50000 # MATR
+### node 28 type 1
+29  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.42308 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 29 type 1
+30  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.11538 # MATP
+0.03846 0.03846 0.11538 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.26923 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 30 type 1
+31  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.42308 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 31 type 1
+32  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.42308 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 32 type 1
+33  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.07143 0.00000 0.78571 0.00000 0.07143 0.07143 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.34615 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.11538 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 33 type 2
+34  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.64286 0.07143 0.21429 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 34 type 2
+35  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.07143 0.07143 0.78571 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 35 type 2
+36  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.07143 0.07143 0.78571 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 36 type 2
+37  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.78571 0.07143 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 37 type 2
+38  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.78571 0.07143 0.07143 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.78571 0.07143 0.07143 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.91667 0.00000 0.00000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.78571 0.07143 0.07143 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 5
+41  -1
+0.69231 0.00000 0.23077 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 2
+42  -1
+0.63636 0.00000 0.27273 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.50000 0.16667 0.16667 0.16667 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 42 type 2
+43  -1
+0.87500 0.00000 0.00000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.83333 0.00000 0.00000 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.12500 0.12500 0.12500 0.62500 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 43 type 0
+44  57
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 44 type 4
+45  -1
+0.07143 0.50000 0.35714 0.07143 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 45 type 1
+46  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.08333 0.58333 0.08333 0.08333 0.08333 0.08333 
+0.10000 0.50000 0.10000 0.10000 0.10000 0.10000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04545 0.04545 0.04545 0.04545 # MATP
+0.04545 0.04545 0.04545 0.04545 # MATP
+0.04545 0.04545 0.13636 0.04545 # MATP
+0.04545 0.04545 0.22727 0.04545 # MATP
+0.12500 0.12500 0.37500 0.37500 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 46 type 1
+47  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.11538 0.03846 # MATP
+0.03846 0.19231 0.03846 0.19231 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 47 type 1
+48  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.19231 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.19231 0.03846 0.11538 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 48 type 1
+49  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.11538 # MATP
+0.03846 0.03846 0.11538 0.03846 # MATP
+0.03846 0.26923 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 49 type 1
+50  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.11538 0.03846 0.03846 # MATP
+0.03846 0.19231 0.03846 0.19231 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 50 type 1
+51  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.11538 # MATP
+0.03846 0.03846 0.19231 0.11538 # MATP
+0.03846 0.03846 0.03846 0.11538 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 51 type 1
+52  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.26923 0.03846 # MATP
+0.03846 0.03846 0.11538 0.03846 # MATP
+0.03846 0.03846 0.11538 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 52 type 1
+53  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.07143 0.00000 0.78571 0.00000 0.07143 0.07143 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.19231 0.03846 # MATP
+0.03846 0.19231 0.03846 0.03846 # MATP
+0.03846 0.03846 0.11538 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 53 type 2
+54  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.21429 0.50000 0.21429 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 54 type 2
+55  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.50000 0.35714 0.07143 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 55 type 2
+56  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.23077 0.00000 0.69231 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.35714 0.21429 0.35714 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 56 type 2
+-1  -1
+0.75000 0.00000 0.00000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.90000 0.00000 0.00000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.25000 0.25000 0.41667 0.08333 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 57 type 5
+58  -1
+0.69231 0.00000 0.23077 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 58 type 2
+59  -1
+0.27273 0.00000 0.63636 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.16667 0.50000 0.16667 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 59 type 2
+60  -1
+0.11111 0.33333 0.11111 0.33333 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09091 0.63636 0.09091 0.09091 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10000 0.10000 0.70000 0.10000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 60 type 1
+61  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.07143 0.64286 0.07143 0.07143 0.07143 0.07143 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04167 0.04167 0.04167 0.04167 # MATP
+0.04167 0.04167 0.04167 0.04167 # MATP
+0.04167 0.12500 0.04167 0.29167 # MATP
+0.04167 0.04167 0.04167 0.04167 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.16667 0.16667 0.16667 0.50000 # MATR
+### node 61 type 1
+62  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.19231 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.26923 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 62 type 1
+63  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.26923 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.19231 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 63 type 1
+64  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.06250 0.68750 0.06250 0.06250 0.06250 0.06250 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.42308 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 64 type 1
+65  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.07143 0.00000 0.78571 0.00000 0.07143 0.07143 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.03846 0.42308 0.03846 0.03846 # MATP
+0.03846 0.03846 0.03846 0.03846 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 65 type 2
+66  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.07143 0.07143 0.78571 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 66 type 2
+67  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.07143 0.07143 0.78571 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 67 type 2
+68  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.78571 0.07143 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 68 type 2
+69  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.21429 0.07143 0.64286 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 69 type 2
+70  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.78571 0.07143 0.07143 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 70 type 2
+71  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.64286 0.07143 0.21429 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 71 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.91667 0.00000 0.00000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.07143 0.07143 0.78571 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/PSELCinf-c.cm b/PSELCinf-c.cm
new file mode 100644
index 0000000..fe77b5f
--- /dev/null
+++ b/PSELCinf-c.cm
@@ -0,0 +1,406 @@
+INFERNAL-1 [1.0]
+NAME     prok-selcysteine-tRNA
+STATES   295
+NODES    73
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     8
+EFFNSEQ  8.000
+CLEN     92
+BCOM     cmbuild --rf --enone PSELCinf-nc.cm prok-selc.sto
+BDATE    Sun Feb  8 16:47:12 2009
+CCOM     cmcalibrate --exp-hfile cmcalibrate_files/PSELCinf.hfile --exp-sfile cmcalibrate_files/PSELCinf.sfile --exp-qqfile cmcalibrate_files/PSELCinf.qqfile --exp-ffile cmcalibrate_files/PSELCinf.ffile --fil-dfile cmcalibrate_files/PSELCinf.dfile -s 208 PSELCinf-c.cm
+CDATE    Sun Feb  8 20:35:21 2009
+NULL     0.000  0.000  0.000  0.000 
+PART     1        0    100  
+E-LC     0      0.83067    -5.33369     2.13858     1500000      558251  0.002015
+E-GC     0      0.37779   -32.13896   -19.42138     1500000       45775  0.008192
+E-LI     0      0.69607    -6.28673     2.49866     1500000      509317  0.002209
+E-GI     0      0.41203   -25.24054   -13.68825     1500000       43773  0.008567
+E-LV     0      0.91490    -0.71814     4.25595    15000000      106548  0.010559
+E-GV     0      0.35889   -26.83591   -11.09940    15000000      106358  0.003526
+E-LF     0      0.99295     1.07082     5.65406    15000000      106560  0.010557
+E-GF     0      0.38395   -20.69631    -5.98375    15000000      106494  0.003521
+FT-LC    20  0.99500  10000  1500000  0
+            7.08987    5.68736    4.14569     3.2086    3.13248    2.97336      2.478    2.42514    2.11587    2.11384    1.45721    1.45721    1.45721    1.45721    1.44241    1.44241    1.44241    1.43435 3.19316e-07 1.80078e-07 
+            4799.95    4078.63    3175.73    2755.35       2393    1923.41    1662.19    1478.41    1295.51    1125.14    951.323    537.489    465.878    366.365    307.622    222.112    148.715    111.668    11.7174    11.1668 
+FT-LI    19  0.99500  10000  1500000  0
+            22.8434    19.6436    13.2041    12.6502    10.4378    8.76801    8.56663    8.20153    7.69122    7.50921    5.49652    5.49652    5.49652    5.49652     5.4496     5.4496     5.4496    5.41432 2.00107e-06 
+            4799.95    4078.63    3175.73    2755.35       2393    1923.41    1662.19    1478.41    1295.51    1125.14    951.323    537.489    465.878    366.365    307.622    222.112    151.999    111.668    11.1668 
+FT-GC    2  0.99500  10000  1500000  1
+         0.000557072 0.000148877 
+            88.2441    8.82441 
+FT-GI    2  0.99500  10000  1500000  1
+         0.000165821 0.000132357 
+            88.2441    8.82441 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     6  -9.837  -9.776  -0.203  -8.553  -3.001  -9.227 
+    IL     1     1 2     1     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    1 ]
+    MP     3     2 3     7     6  -9.648  -9.587  -0.100  -8.364  -4.067  -9.038 -5.993 -4.008 -6.722 -0.176 -6.518 -4.764 -1.083 -6.026 -5.097  3.659 -4.707 -1.561 -1.136 -4.630 -0.115 -4.946 
+    ML     4     2 3     7     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR     5     2 3     7     6  -8.732  -7.461  -0.325  -7.439  -2.573  -5.653 -1.176  1.514 -2.003 -1.146 
+     D     6     2 3     7     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL     7     7 5     7     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR     8     8 6     8     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    2 ]
+    MP     9     8 6    13     6  -9.763  -9.702  -0.013  -8.478  -8.758  -9.153 -8.148 -4.230 -8.694 -0.961 -8.193 -4.552 -2.256 -7.376 -5.375  3.859 -4.870 -1.907 -2.177 -4.616 -4.083 -6.226 
+    ML    10     8 6    13     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    11     8 6    13     6  -7.959  -6.688  -0.610  -6.666  -1.800  -4.879 -0.169 -0.887 -0.964  1.041 
+     D    12     8 6    13     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    13    13 5    13     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    14    14 6    14     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    3 ]
+    MP    15    14 6    19     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -4.208 -3.290 -4.919  3.427 -5.303 -4.962 -0.984 -4.045 -4.572  1.662 -4.997 -1.433 -0.953 -4.655 -2.496 -3.546 
+    ML    16    14 6    19     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    17    14 6    19     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    18    14 6    19     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    19    19 5    19     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    20    20 6    20     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    4 ]
+    MP    21    20 6    25     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -4.114 -3.170 -4.915  2.993 -5.404 -4.882 -0.506 -4.201 -4.364  1.922 -4.379  1.040 -0.507 -4.416 -2.076 -3.456 
+    ML    22    20 6    25     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    23    20 6    25     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    24    20 6    25     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    25    25 5    25     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    26    26 6    26     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    5 ]
+    MP    27    26 6    31     6  -9.837  -9.776  -0.103  -8.553  -8.832  -4.017 -6.268 -4.085 -7.039 -0.433 -6.932 -4.709 -1.718 -6.355 -5.165  3.727 -4.762 -1.729 -1.637 -4.627 -3.361 -0.408 
+    ML    28    26 6    31     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    29    26 6    31     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    30    26 6    31     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    31    31 5    31     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    32    32 6    32     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    6 ]
+    MP    33    32 6    37     6  -9.747  -9.687  -0.014  -8.463  -8.743  -9.138 -4.193 -3.189 -5.088  2.308 -5.528 -4.939  0.892 -4.570 -4.312  2.754 -4.025 -0.729 -0.034 -4.331 -1.629 -3.480 
+    ML    34    32 6    37     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    35    32 6    37     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    36    32 6    37     6 -10.475  -9.173  -0.600  -5.652  -5.670  -1.745 
+    IL    37    37 5    37     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    38    38 6    38     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    7 ]
+    MP    39    38 6    43     6  -9.837  -9.776  -0.203  -2.995  -8.832  -9.227 -3.342 -3.462 -3.984  0.204 -3.207 -4.487 -0.363 -4.007  1.240  2.538 -4.000 -1.439  2.156 -3.615 -1.538 -3.055 
+    ML    40    38 6    43     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    41    38 6    43     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    42    38 6    43     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    43    43 5    43     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    44    44 6    44     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    8 ]
+    MP    45    44 6    49     4  -8.079  -8.286  -0.024  -6.701                 -3.629 -4.174 -3.852 -0.204 -2.817 -4.529  2.826  0.753 -4.135 -0.305 -4.188 -1.838  2.013 -3.909 -0.887 -3.063 
+    ML    46    44 6    49     4  -5.350  -5.533  -0.149  -4.262                 -1.250 -2.301  1.615 -1.672 
+    MR    47    44 6    49     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    48    44 6    49     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    49    49 5    49     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    50    50 6    50     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    9 ]
+    ML    51    50 6    53     3  -9.343  -0.008  -7.997                          1.224 -2.297  0.216 -1.742 
+     D    52    50 6    53     3  -6.174  -1.687  -0.566                         
+    IL    53    53 3    53     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   10 ]
+    ML    54    53 3    56     2  -9.904  -0.002                                 -3.221 -3.065 -3.956  1.891 
+     D    55    53 3    56     2  -8.445  -0.004                                 
+    IL    56    56 3    56     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ BIF    11 ]
+     B    57    56 3    58   173                                                 
+				[ BEGL   12 ]
+     S    58    57 1    59     1   0.000                                         
+				[ BIF    13 ]
+     B    59    58 1    60   110                                                 
+				[ BEGL   14 ]
+     S    60    59 1    61     4  -0.024  -7.737  -7.144  -7.784                 
+				[ MATP   15 ]
+    MP    61    60 1    65     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -6.448 -6.388 -4.535 -1.927 -4.254 -5.159  3.815 -5.190 -7.971 -1.890 -4.532 -3.550 -0.469 -7.090 -1.599 -5.287 
+    ML    62    60 1    65     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    63    60 1    65     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    64    60 1    65     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    65    65 5    65     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    66    66 6    66     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   16 ]
+    MP    67    66 6    71     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -4.453 -3.293 -5.378  1.644 -6.067 -4.804 -0.455 -4.862 -4.410  3.117 -4.078  1.008 -0.453 -4.325 -2.059 -3.753 
+    ML    68    66 6    71     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    69    66 6    71     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    70    66 6    71     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    71    71 5    71     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    72    72 6    72     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   17 ]
+    MP    73    72 6    77     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -6.793 -5.809 -7.039 -2.012 -6.268 -8.657 -2.144 -6.229 -6.397 -2.222 -6.473  1.841 -1.833 -6.715  3.502 -5.483 
+    ML    74    72 6    77     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    75    72 6    77     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    76    72 6    77     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    77    77 5    77     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    78    78 6    78     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   18 ]
+    MP    79    78 6    83     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -6.650 -6.159 -5.257 -1.010 -4.633 -5.927  3.498 -5.587 -7.521  1.362 -5.260 -2.637 -0.115 -7.102 -1.496 -5.104 
+    ML    80    78 6    83     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    81    78 6    83     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    82    78 6    83     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    83    83 5    83     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    84    84 6    84     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   19 ]
+    MP    85    84 6    89     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -4.768 -4.861 -4.928  1.536 -3.498 -5.576  2.479 -4.862 -5.246  0.084 -5.220 -1.665  2.380 -4.845 -0.945 -3.534 
+    ML    86    84 6    89     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    87    84 6    89     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    88    84 6    89     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    89    89 5    89     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    90    90 6    90     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   20 ]
+    MP    91    90 6    95     4  -8.394  -8.601  -0.019  -7.015                 -6.448 -6.388 -4.535 -1.927 -4.254 -5.159  3.815 -5.190 -7.971 -1.890 -4.532 -3.550 -0.469 -7.090 -1.599 -5.287 
+    ML    92    90 6    95     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    93    90 6    95     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    94    90 6    95     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    95    95 5    95     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    96    96 6    96     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   21 ]
+    ML    97    96 6    99     3  -9.343  -0.008  -7.997                         -2.133  1.571 -3.010 -0.565 
+     D    98    96 6    99     3  -6.174  -1.687  -0.566                         
+    IL    99    99 3    99     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   22 ]
+    ML   100    99 3   102     3  -9.343  -0.008  -7.997                         -2.576 -4.009  1.875 -3.290 
+     D   101    99 3   102     3  -6.174  -1.687  -0.566                         
+    IL   102   102 3   102     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   23 ]
+    ML   103   102 3   105     3  -9.343  -0.008  -7.997                         -2.576 -4.009  1.875 -3.290 
+     D   104   102 3   105     3  -6.174  -1.687  -0.566                         
+    IL   105   105 3   105     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   24 ]
+    ML   106   105 3   108     2       *   0.000                                 -3.221 -3.065 -3.956  1.891 
+     D   107   105 3   108     2       *   0.000                                 
+    IL   108   108 3   108     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    25 ]
+     E   109   108 3    -1     0                                                 
+				[ BEGR   26 ]
+     S   110    59 1   111     3  -9.343  -0.539  -1.688                         
+    IL   111   111 2   111     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   27 ]
+    ML   112   111 2   114     5  -7.860  -1.684  -7.675  -1.953  -1.247         -2.830  1.854 -3.714 -2.565 
+     D   113   111 2   114     5  -7.324  -0.125  -6.585  -4.960  -4.872         
+    IL   114   114 3   114     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   28 ]
+    MP   115   114 3   119     6  -9.269  -9.208  -0.019  -7.985  -8.265  -8.660 -6.091 -4.562 -6.091 -0.710 -5.655 -7.603 -1.043 -5.061 -5.359 -0.806 -5.259  3.729 -0.768 -5.693 -2.057 -4.410 
+    ML   116   114 3   119     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   117   114 3   119     6  -8.732  -7.461  -0.325  -7.439  -2.573  -5.653 -1.039 -1.496 -1.821  1.524 
+     D   118   114 3   119     6 -11.790 -10.488  -0.212  -6.967  -6.985  -3.060 
+    IL   119   119 5   119     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   120   120 6   120     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   29 ]
+    MP   121   120 6   125     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -6.448 -6.388 -4.535 -1.927 -4.254 -5.159  3.815 -5.190 -7.971 -1.890 -4.532 -3.550 -0.469 -7.090 -1.599 -5.287 
+    ML   122   120 6   125     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   123   120 6   125     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   124   120 6   125     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   125   125 5   125     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   126   126 6   126     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   30 ]
+    MP   127   126 6   131     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -4.686 -4.844 -4.921  1.370 -3.485 -5.595  2.059 -4.858 -5.163  0.044 -5.240 -1.685  2.801 -4.803 -0.967 -3.528 
+    ML   128   126 6   131     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   129   126 6   131     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   130   126 6   131     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   131   131 5   131     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   132   132 6   132     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   31 ]
+    MP   133   132 6   137     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -8.337 -4.279 -8.862 -1.034 -8.309 -4.586 -2.345 -7.492 -5.425  3.866 -4.916 -1.961 -2.261 -4.656 -4.188 -6.333 
+    ML   134   132 6   137     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   135   132 6   137     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   136   132 6   137     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   137   137 5   137     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   138   138 6   138     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   32 ]
+    MP   139   138 6   143     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -8.337 -4.279 -8.862 -1.034 -8.309 -4.586 -2.345 -7.492 -5.425  3.866 -4.916 -1.961 -2.261 -4.656 -4.188 -6.333 
+    ML   140   138 6   143     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   141   138 6   143     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   142   138 6   143     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   143   143 5   143     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   144   144 6   144     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   33 ]
+    MP   145   144 6   149     4  -8.394  -8.601  -0.019  -7.015                 -5.018 -4.289 -5.616  3.470 -5.244 -6.010 -1.008 -4.851 -5.312 -0.630 -5.807 -2.122  1.620 -5.433 -2.489 -4.259 
+    ML   146   144 6   149     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   147   144 6   149     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   148   144 6   149     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   149   149 5   149     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   150   150 6   150     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   34 ]
+    ML   151   150 6   153     3  -9.343  -0.008  -7.997                         -2.420  1.672 -3.322 -0.925 
+     D   152   150 6   153     3  -6.174  -1.687  -0.566                         
+    IL   153   153 3   153     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   35 ]
+    ML   154   153 3   156     3  -9.343  -0.008  -7.997                         -3.221 -3.065 -3.956  1.891 
+     D   155   153 3   156     3  -6.174  -1.687  -0.566                         
+    IL   156   156 3   156     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   36 ]
+    ML   157   156 3   159     3  -9.343  -0.008  -7.997                         -3.221 -3.065 -3.956  1.891 
+     D   158   156 3   159     3  -6.174  -1.687  -0.566                         
+    IL   159   159 3   159     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   37 ]
+    ML   160   159 3   162     3  -9.343  -0.008  -7.997                         -3.417  1.902 -4.334 -3.061 
+     D   161   159 3   162     3  -6.174  -1.687  -0.566                         
+    IL   162   162 3   162     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   38 ]
+    ML   163   162 3   165     3  -9.343  -0.008  -7.997                          1.931 -4.287 -4.033 -3.748 
+     D   164   162 3   165     3  -6.174  -1.687  -0.566                         
+    IL   165   165 3   165     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   39 ]
+    ML   166   165 3   168     3  -9.343  -0.008  -7.997                          1.931 -4.287 -4.033 -3.748 
+     D   167   165 3   168     3  -6.174  -1.687  -0.566                         
+    IL   168   168 3   168     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   40 ]
+    ML   169   168 3   171     2       *   0.000                                  1.931 -4.287 -4.033 -3.748 
+     D   170   168 3   171     2       *   0.000                                 
+    IL   171   171 3   171     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    41 ]
+     E   172   171 3    -1     0                                                 
+				[ BEGR   42 ]
+     S   173    57 1   174     2  -1.570  -0.592                                 
+    IL   174   174 2   174     2  -1.796  -0.490                                  0.000  0.000  0.000  0.000 
+				[ BIF    43 ]
+     B   175   174 2   176   238                                                 
+				[ BEGL   44 ]
+     S   176   175 1   177     4  -0.428  -2.028  -7.144  -7.784                 
+				[ MATP   45 ]
+    MP   177   176 1   181     6  -9.506  -9.445  -0.016  -8.221  -8.501  -8.896 -3.378 -3.853 -3.949 -1.085 -3.040 -4.739 -0.947 -3.991 -3.724 -1.326  2.242 -1.938 -0.186 -3.687  3.004 -3.147 
+    ML   178   176 1   181     6  -8.715  -9.061  -0.165  -3.470  -8.911  -6.440 -0.601 -1.220  0.224  0.802 
+    MR   179   176 1   181     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   180   176 1   181     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   181   181 5   181     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   182   182 6   182     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   46 ]
+    MP   183   182 6   187     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -5.006 -4.027 -5.698  0.474 -5.411 -5.718  1.714 -5.166 -5.098  2.620 -4.831  1.848 -0.103 -5.083 -1.654 -4.100 
+    ML   184   182 6   187     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   185   182 6   187     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   186   182 6   187     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   187   187 5   187     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   188   188 6   188     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   47 ]
+    MP   189   188 6   193     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -4.129 -3.118 -5.049  2.401 -5.767 -4.881 -0.248 -4.521 -4.243  2.714 -3.965  0.707 -0.244 -4.272 -1.831 -3.461 
+    ML   190   188 6   193     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   191   188 6   193     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   192   188 6   193     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   193   193 5   193     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   194   194 6   194     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   48 ]
+    MP   195   194 6   199     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -4.459 -3.437 -5.332  1.870 -5.553 -5.158  1.466 -4.823 -4.559  2.866 -4.248 -0.902 -0.041 -4.558 -1.641 -3.691 
+    ML   196   194 6   199     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   197   194 6   199     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   198   194 6   199     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   199   199 5   199     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   200   200 6   200     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   49 ]
+    MP   201   200 6   205     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -4.047 -3.129 -4.573  0.668 -4.627 -0.223 -0.692 -4.289 -3.960  3.175 -3.781  1.273 -0.630 -3.664 -2.133 -3.546 
+    ML   202   200 6   205     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   203   200 6   205     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   204   200 6   205     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   205   205 5   205     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   206   206 6   206     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   50 ]
+    MP   207   206 6   211     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -3.385 -3.309 -3.584  1.433 -3.005 -3.924  2.424  0.476 -3.626  0.394 -3.728  1.200  0.673 -3.304 -1.080 -2.864 
+    ML   208   206 6   211     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   209   206 6   211     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   210   206 6   211     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   211   211 5   211     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   212   212 6   212     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   51 ]
+    MP   213   212 6   217     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -5.355 -5.860 -4.133 -1.809 -3.729 -4.753  3.568 -4.795 -6.453 -1.787 -0.323 -3.587 -0.163 -5.916  0.563 -4.677 
+    ML   214   212 6   217     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   215   212 6   217     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   216   212 6   217     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   217   217 5   217     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   218   218 6   218     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   52 ]
+    MP   219   218 6   223     4  -8.394  -8.601  -0.019  -7.015                 -5.969 -5.343 -6.148 -0.121 -4.780 -6.742  2.509 -5.715 -6.345  2.277 -6.103 -1.840  0.373 -6.196  1.467 -4.534 
+    ML   220   218 6   223     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   221   218 6   223     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   222   218 6   223     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   223   223 5   223     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   224   224 6   224     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   53 ]
+    ML   225   224 6   227     3  -9.343  -0.125  -3.614                          0.068  0.720 -0.274 -1.066 
+     D   226   224 6   227     3  -6.174  -1.687  -0.566                         
+    IL   227   227 3   227     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   54 ]
+    ML   228   227 3   230     3  -9.226  -0.009  -7.880                          1.361 -0.244 -2.138 -1.472 
+     D   229   227 3   230     3  -7.695  -0.396  -2.087                         
+    IL   230   230 3   230     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   55 ]
+    ML   231   230 3   233     3  -9.343  -0.314  -2.364                          0.230 -0.194  0.317 -0.499 
+     D   232   230 3   233     3  -6.174  -1.687  -0.566                         
+    IL   233   233 3   233     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   56 ]
+    ML   234   233 3   236     2       *   0.000                                  0.201 -0.454  0.707 -1.034 
+     D   235   233 3   236     2       *   0.000                                 
+    IL   236   236 3   236     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    57 ]
+     E   237   236 3    -1     0                                                 
+				[ BEGR   58 ]
+     S   238   175 1   239     3  -2.411  -0.695  -2.364                         
+    IL   239   239 2   239     3  -2.530  -1.886  -0.846                          0.000  0.000  0.000  0.000 
+				[ MATL   59 ]
+    ML   240   239 2   242     5  -7.718  -0.025  -7.533  -7.746  -8.637         -2.059 -3.381  1.811 -2.687 
+     D   241   239 2   242     5  -7.568  -0.954  -6.829  -1.182  -5.117         
+    IL   242   242 3   242     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   60 ]
+    MP   243   242 3   247     6  -9.652  -9.591  -0.014  -8.368  -8.648  -9.043 -6.485 -5.009 -6.736 -0.900 -6.567 -7.484 -1.404 -5.770 -5.968  2.262 -5.756  3.258 -1.318 -6.198 -2.674 -5.020 
+    ML   244   242 3   247     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   245   242 3   247     6  -8.711  -7.440  -0.330  -7.418  -2.552  -5.632 -1.012 -1.476 -1.795  1.514 
+     D   246   242 3   247     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   247   247 5   247     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   248   248 6   248     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   61 ]
+    MP   249   248 6   253     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -4.858 -5.138 -5.212 -0.346 -3.831 -6.027  2.410 -5.162 -5.329 -0.370 -5.568 -1.988  3.019 -5.141 -1.244 -3.912 
+    ML   250   248 6   253     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   251   248 6   253     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   252   248 6   253     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   253   253 5   253     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   254   254 6   254     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   62 ]
+    MP   255   254 6   259     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -4.440 -3.425 -5.282  2.894 -5.833 -5.214 -0.557 -4.619 -4.584  2.597 -4.428 -1.090 -0.557 -4.642 -2.114 -3.724 
+    ML   256   254 6   259     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   257   254 6   259     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   258   254 6   259     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   259   259 5   259     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   260   260 6   260     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   63 ]
+    MP   261   260 6   265     6  -9.837  -9.776  -0.013  -8.553  -8.832  -9.227 -8.337 -4.279 -8.862 -1.034 -8.309 -4.586 -2.345 -7.492 -5.425  3.866 -4.916 -1.961 -2.261 -4.656 -4.188 -6.333 
+    ML   262   260 6   265     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   263   260 6   265     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   264   260 6   265     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   265   265 5   265     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   266   266 6   266     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   64 ]
+    MP   267   266 6   271     4  -8.394  -8.601  -0.019  -7.015                 -8.337 -4.279 -8.862 -1.034 -8.309 -4.586 -2.345 -7.492 -5.425  3.866 -4.916 -1.961 -2.261 -4.656 -4.188 -6.333 
+    ML   268   266 6   271     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   269   266 6   271     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   270   266 6   271     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   271   271 5   271     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   272   272 6   272     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   65 ]
+    ML   273   272 6   275     3  -9.343  -0.008  -7.997                         -3.221 -3.065 -3.956  1.891 
+     D   274   272 6   275     3  -6.174  -1.687  -0.566                         
+    IL   275   275 3   275     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   66 ]
+    ML   276   275 3   278     3  -9.343  -0.008  -7.997                         -3.221 -3.065 -3.956  1.891 
+     D   277   275 3   278     3  -6.174  -1.687  -0.566                         
+    IL   278   278 3   278     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   67 ]
+    ML   279   278 3   281     3  -9.343  -0.008  -7.997                         -3.417  1.902 -4.334 -3.061 
+     D   280   278 3   281     3  -6.174  -1.687  -0.566                         
+    IL   281   281 3   281     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   68 ]
+    ML   282   281 3   284     3  -9.343  -0.008  -7.997                         -0.885 -3.485  1.688 -2.763 
+     D   283   281 3   284     3  -6.174  -1.687  -0.566                         
+    IL   284   284 3   284     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   69 ]
+    ML   285   284 3   287     3  -9.343  -0.008  -7.997                          1.931 -4.287 -4.033 -3.748 
+     D   286   284 3   287     3  -6.174  -1.687  -0.566                         
+    IL   287   287 3   287     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   70 ]
+    ML   288   287 3   290     3  -9.343  -0.008  -7.997                         -2.133  1.571 -3.010 -0.565 
+     D   289   287 3   290     3  -6.174  -1.687  -0.566                         
+    IL   290   290 3   290     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   71 ]
+    ML   291   290 3   293     2       *   0.000                                 -3.221 -3.065 -3.956  1.891 
+     D   292   290 3   293     2       *   0.000                                 
+    IL   293   293 3   293     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    72 ]
+     E   294   293 3    -1     0                                                 
+//
diff --git a/README b/README
new file mode 100644
index 0000000..866d28b
--- /dev/null
+++ b/README
@@ -0,0 +1,102 @@
+-------------------------------------------------------------
+tRNAscan-SE: An improved tool for transfer RNA detection
+
+Patricia Chan and Todd Lowe
+
+School of Engineering, University of California, Santa Cruz, CA
+--------------------------------------------------------------
+Current release: 1.3.1 (January 2012)
+
+tRNAscan-SE was written in the PERL (version 5.0) script language.
+Input consists of DNA or RNA sequences in FASTA format. tRNA
+predictions are output in standard tabular or ACeDB format.
+tRNAscan-SE does no tRNA detection itself, but instead combines the
+strengths of three independent tRNA prediction programs by negotiating
+the flow of information between them, performing a limited amount of
+post-processing, and outputting the results in one of several
+formats.
+
+tRNAscan-SE combines the specificity of the Cove/Infernal probabilistic 
+RNA prediction package (1-2) with the speed and sensitivity of tRNAscan 1.3
+(3) plus an implementation of an algorithm described by Pavesi and
+colleagues (4), which searches for eukaryotic pol III tRNA promoters
+(our implementation referred to as EufindtRNA). tRNAscan and
+EufindtRNA are used as first-pass prefilters to identify "candidate"
+tRNA regions of the sequence. These subsequences are then passed to
+Cove for further analysis, and output if Cove confirms the initial
+tRNA prediction. In this way, tRNAscan-SE attains the best of both
+worlds: (1) a false positive rate equally low to using Cove analysis,
+(2) the combined sensitivities of tRNAscan and EufindtRNA (detection
+of 98-99% of true tRNAs), and (3) search speed 1,000 to 3,000 times
+faster than Cove analysis and 30 to 90 times faster than the original
+tRNAscan 1.3 (tRNAscan-SE uses both a code-optimized version of
+tRNAscan 1.3 which gives a 300-fold increase in speed, and a fast C
+implementation of the Pavesi et al. algorithm).
+
+This distribution includes the PERL script tRNAscan-SE, all the files
+necessary to compile and run the complete COVE package (version
+2.4.4), all the files necessary to compile and run the modified
+version of tRNAscan (version 1.4), and all the files needed to compile
+and run eufindtRNA 1.0 (the cove programs, tRNAscan 1.4, and
+eufindtRNA are included for use with the tRNAscan-SE program, but may
+also be run as stand-alone programs).  Installation of the PERL
+(Practical Extraction and Report Language, Larry Wall) interpreter
+package version 5.0 or later is required to run the tRNAscan-SE PERL
+script. An newer implementation of covariance model searches, Infernal, may
+be used in place of Cove which allows for faster searches and new, specialized
+search options. To use Infernal as the second-pass scanner or to include 
+prediction of noncanonical introns and split fragments in archaeal tRNA 
+genes, Infernal 1.0 must be pre-installed. Previous versions of Infernal
+will not work with the covariance models provided with tRNAscan-SE. 
+The Infernal source package can be downloaded at http://infernal.janelia.org/. 
+
+For more detailed information, please read the following files:
+
+  MANUAL       -- decription of program, run options & demo examples
+                  (text) 
+  Manual.ps    -- decription of program, run options & demo examples
+                  (postscript format)
+  INSTALL      -- instructions for installing the programs
+  COPYING      -- copyright notice, and information on distribution policy
+  FILES        -- overview of what the source files are
+  GNULICENSE   -- Gnu Public License, version 2 (see COPYING)
+
+
+You can obtain a copy of this software from
+http://lowelab.ucsc.edu/software/tRNAscan-SE.tar.gz
+or
+ftp://selab.janelia.org/pub/software/tRNAscan-SE.tar.Z
+
+If you use this software, please cite the Nucleic Acids Research paper
+describing the program & its analysis of several genomes (4).
+
+If you have any questions, bug reports, or suggestions, please e-mail
+
+   Todd Lowe
+   lowe at soe.ucsc.edu
+
+   Department of Biomolecular Engineering
+   University of California
+   1156 High Street
+   Santa Cruz, ZA 95064
+
+
+References
+
+1. Eddy, S.R. and Durbin, R. (1994) "RNA sequence analysis using
+   covariance models", Nucl. Acids Res., 22, 2079-2088.
+
+2. Nawrocki, E.P., Kolbe, D.L. &  Eddy, S.R. (2010) "Infernal 1.0: 
+   Inference of RNA Alignments", Bioinformatics, 25, 1335-1337.
+
+3. Fichant, G.A. and Burks, C. (1991) "Identifying potential tRNA
+   genes in genomic DNA sequences", J. Mol. Biol., 220, 659-671.
+
+4. Pavesi, A., Conterio, F., Bolchi, A., Dieci, G., Ottonello,
+   S. (1994) "Identification of new eukaryotic tRNA genes in genomic DNA
+   databases by a multistep weight matrix analysis of transcriptional
+   control regions", Nucl. Acids Res., 22, 1247-1256.
+
+5. Lowe, T.M. & Eddy, S.R. (1997) "tRNAscan-SE: A program
+   for improved detection of transfer RNA genes in genomic
+   sequence", Nucl. Acids Res., 25, 955-964.
diff --git a/Release.history b/Release.history
new file mode 100644
index 0000000..9131825
--- /dev/null
+++ b/Release.history
@@ -0,0 +1,405 @@
+
+tRNAscan-SE - Release history
+=============================
+
+Version 0.90 (March 6, 1996)
+------------
+Initial beta release
+
+
+Version 0.91 (March 12, 1996)
+------------
+-MAJOR BUG: covels & coves executables not called correctly from
+program, will result in detection of NO tRNAs in default mode!
+-added better checking for all required executables before starting
+analysis
+-added "#include <stdlib.h>" to trnascan.c, DEC Alpha's were 
+complaining with use of unprototyped 'calloc' call
+-added 'make testrun' option to Makefile to allow user 
+to check to see if tRNAscan-SE is running properly
+
+
+Version 0.91a (March 13, 1996)
+-------------
+-two minor updates of Sean's old sqio library for SunOS 4.1 
+compatibility:
+   - fflush(NULL) fails in SunOS; replace with fflush(stderr)
+   - SEEK_SET is in unistd.h in SunOS
+
+
+Version 0.92 (March 14, 1996)
+------------
+-updated all sqio source files to squid-1.5g to avoid any other
+problems already fixed by Sean in current sqio release
+-updated Cove source files to work with updated verison of squid, new
+version of Cove is "2.4.2a"
+-added $PERLBIN variable in Makefile to allow installation on systems
+that don't call perl v.5 binary 'perl' (i.e. 'perl5' instead)
+-included source for 'reformat' and 'getseq' programs from Sean's sqio
+function library; not built automatically, but available for users who
+want to compile and use them
+-with new sqio version, don't need to specify any MDEFS in Makefile
+(ie. -DNORANDOM or -DGETOPTH) unless problems with compilation
+ 
+Version 0.92a (March 18, 1996)
+-------------
+-fixed SEEK_SET problem in interleaved.c by adding #include <unistd.h>
+(interleaved.c was a recent addition to squid library), needed for
+SunOS 4.x compilation
+
+Version 0.92b (April 4, 1996)
+-------------
+-added -X option to allow specification of Cove cutoff score for
+reporting tRNAs
+-fixed -u (use previous results file) option to allow using a regular
+tabular output file; this allows easy generation of ACeDB or secondary
+structure output files without having to re-run on entire sequence(s)
+-changed the default name for the secondary structure file from
+".allstruct" to ".ss" for simplicity
+
+Version 0.92c (April 10, 1996)
+-------------
+-at Christoph's suggestion, added more info to structure output file
+(-f option) to display relative & absolute location of anticodon
+-also, slightly changed rest of output format, the following is an
+example of the new format:
+
+CELF22B7.trna3 (26367-26439)    Length: 73 bp
+Type: Phe       Anticodon: GAA at 34-36 (26400-26402)   Score: 73.88
+         *    |    *    |    *    |    *    |    *    |    *    |    *    |  
+Seq: GCCTCGATAGCTCAGTTGGGAGAGCGTACGACTGAAGATCGTAAGGtCACCAGTTCGATCCTGGTTCGGGGCA
+Str: >>>>>>>..>>>>........<<<<.>>>>>.......<<<<<.....>>>>>.......<<<<<<<<<<<<.
+
+Version 0.93 (April 22, 1996)
+-------------
+-not released
+-Major changes, added my own C implementation of an algorithm that uses
+multistep weight matrix analysis detailed by Pavesi et al. (NAR 22:
+1247-1256, 1994), dubbed eufindtRNA since it searches for eukaryotic
+transcription signals
+
+-new "default" run mode for tRNAscan-SE uses tRNAscan 1.3 "strict"
+params, with eufindtRNA in "relaxed" mode
+-results in a 40-80 fold speed increase with BETTER sensitivity and
+equal selectivity as the previous default mode
+
+-many internal labels changed to reflect that two programs (eufindtRNA
+and tRNAscan) are being used as fast first-pass scanners
+
+Minor changes:
+-removed -r option (save raw tRNAscan output) since I've never used it
+and it was cluttering code
+-added -y option (show source of first-pass hit, "Eu" = eufindtRNA,
+"Ts" = tRNAscan, "Bo" = both) - prints after "Score" column in tabular
+output
+-added -F option to save false-positives produced by first-pass
+scanners that were later negg'ed by Cove; only for use in studying
+behavior of program, not of use to general users
+-added message "No tRNAs found." that prints to standard error if no
+tRNAs are found in sequence(s)
+-restructured -T, -C options to work with new option -E (use
+eufindtRNA)
+
+Version 0.93a (May 31, 1996)
+-------------
+-released to Kym at GSC
+-changed ACeDB output format, an example follows:
+
+Sequence        F02D10
+Subsequence     F02D10.t3 188 70
+
+Sequence        F02D10.t3
+Source          F02D10
+Source_Exons    1 38
+Source_Exons    74 119
+Brief_identification tRNA-Leu
+Transcript tRNA "CAA Leu L"
+Score tRNAscan-SE-0.93 57.23
+
+-new Ace format adopted by Cambridge and GSC
+
+-extended max length of tRNA to 200bp (roughly 125bp max intron
+length)
+-restructured available options printout
+
+-alterted EufindtRNA to find a prokaryotic selcys (already finds
+eukaryotic selcys tRNAs) based on a consensus sequence
+
+-added PSELC.cm and ESELC.cm covariance models (prokaryotic &
+eukaryotic selcys, respect.) to help Cove detect selenocysteine tRNAs
+and give correct secondary structures
+
+-changed -t option (save firstpass results) to -r option
+-new -t option used to set tRNAscan parameters (R=relaxed, S=strict)
+
+-added -P option, prokaryotic scan mode (loosens EufindtRNA params for
+finding prokaryotic tRNAs)
+
+-by default, now adds 7bp to both 5' and 3' ends of tRNA hits from
+firstpass scan -- gives Cove a better chance to define entire tRNA in
+case first-pass scanners slightly truncate
+-added -B option, allows adjusting # bp to pad first-pass hits; can
+use a value of zero to turn off bounds padding
+
+
+Version 0.94 (June 8, 1996)
+------------
+-tightened up error checking for correct exiting of called programs
+-now handles sequence sets with duplicate names correctly
+
+Version 0.95 (June 27, 1996)
+------------
+-announced to Sanger, GSC, LBL (Nomi), Christoph
+-updated all documentation reflecting incorporation of EufindtRNA
+into tRNAscan-SE
+
+
+Version 0.96 (September 1996)
+------------
+-fixed minor bug causing incorrect intron bounds printed when using
+tRNAscan alone (-T option)
+-fixed minor bug causing infinite loop if identical sequence names are
+used several times in the same input FASTA file
+-fixed intron prediction so only non-cannonical nucleotides appearing 
+_within_ anticodon loop are predicted as an intron (before, anything
+including anticodon loop _and_ after was being called as an intron
+
+-put in filter to detect tRNA-derived repetitive element pseudogenes
+(rat ID seqs, rodent B2 elements, type II mammalian ALU seqs) from
+real tRNAs
+-new filter: for tRNAs with <40 bit scores, if 
+  1) contribution to score from secondary structure < 5 bits, or 
+  2) contribution to score from primary (HMM-type) pattern < 10 bits
+
+-this filter effectively eliminates all but one Genbank seq (a rat ID
+seq, RATRSIDH) and three putative rat ID seqs found in dbEST 
+(R46943,R47014,R82886)
+
+-added option requested by GSC, -N outputs codons instead of
+anticodons with all tRNA identification output
+
+-slightly modified -F (save false positives) option to output entire
+false positive sequence, not just subsequence with score between 0 &
+20 bits
+
+Version 0.96a (October 10, 1996)
+--------------------------------
+-added option (-Z) to run in Cove-only mode on Maspar; uses special
+routine that runs covels on entire sequence set, then parses out tRNA
+info
+
+Version 1.0 (December 6, 1996)
+-------------------------------
+-first general release, all features as described in paper just
+submitted to Nucleic Acids Research (11/27/96)
+
+-updated to Cove source code to 2.4.4 (from 2.4.2a)
+
+-changed the way eufindtRNA handles ambiguous bases,
+now is consistent
+-used to randomly choose a base among ambig choices, but not
+giving consistent results (no surprise) for Sprinzl search
+-so, all non-ACGT bases now are counted as a single type
+of ambiguous base, and that base always has the best value of
+any of the four ACGT values for that position in the A box
+and B box score matrices
+-may slightly increase false positive rate, but not a concern for
+use with tRNAscan-SE
+
+-added option (-L) allows checking for very long tRNAs (>192bp)
+that contain group I, group II, or other long intervening seqs
+
+-modified pseudogene filter, changed requirement that pseudogene must
+have a total score "less than 40 bits" TO "less than 55 bits" 
+(catches more potential pseudogenes)
+
+
+Version 1.01 (February 5, 1997)
+-------------------------------
+-updated reference to paper (just accepted to Nucl. Acids Research)
+-slightly simplified stats file output to make less confusing
+-no functional changes to program
+
+Version 1.02 (February 18, 1997)
+-------------------------------
+-added -G option, search for orGanellar tRNAs (mito/chloro)
+-updated program manual & man page documentation
+
+Version 1.1 (June 9, 1997) - not released
+--------------------------
+-option -G (organellar tRNA search mode) changed to option -O
+(easier mnemonic)
+
+-split original tRNA covariance model (CM) into three different
+models, one for each domain ("TRNA2-euk.cm" for eukyarotes, 
+"TRNA2-prok.cm" for prokaryotes, "TRNA2-arch.cm" for archaea)
+
+
+-now, by default, eukaryotic-specific CM used
+    -P uses prokaryotic specific covariance model
+    -A uses archaeal model
+    -G uses original TRNA2.cm general model (tRNAs from all domains)
+
+
+-re-organized options in help message (-h option) & updated user
+manual
+
+-updated credits to reflect publication of tRNAscan-SE paper
+in Nucleic Acids Research 25: 955-964 (1997)
+
+
+Version 1.11 (November 5, 1997)
+-------------------------------
+
+-fixed minor bug that causes division by zero crash when -n or -s
+options are used and no sequences are found matching these patterns
+
+Version 1.12 (February 19, 1999)
+--------------------------------
+-minor fix: when -O (organellar search mode) selected, "Eukaryotic" was
+displayed -- changed so it now says "Organellar" 
+
+-minor fix: when both -H (show HMM/2'struct score breakdown) and -D
+(disable pseudogene checking) options selected, it _was_ enabling
+pseudogene checking;  now both work together as expected
+
+Version 1.13 (May 16, 2000)
+---------------------------
+-minor option added:  -i will use versions of pre-scanners (tRNAscan-1.4 
+and EufindtRNA) that have been compiled to not optimisitically call
+ambiguous nucleotides.  For unfinished sequeneces with many 'N's, this
+greatly speeds scanning since many fewer false positives are passed on to
+Cove.  Must run "make noambig" to produce these binaries 
+
+Version 1.20 (September 14, 2000)
+---------------------------------
+
+-MAJOR upgrade feature: The program no longer attempts to read in an
+entire sequence into memory at a time.  When scanning the human genome
+full chromosome sequences, it was taking >1GB of memory.  Now, the
+program only reads sequences in 1 Mbp chunks, and processes them
+identically otherwise.  The maximum memory now required to search
+sequences of any length should be < 15 MB.
+
+-Fixed minor bug in eufindtRNA (new version 1.1) that caused second of
+two consecutive tRNAs (within 40bp) to be missed if the second tRNA
+scored lower than the first.  Very few tRNAs are detected by
+eufindtRNA and not tRNAscan 1.4, so this bug probably affected only a
+couple tRNA detections for all completed genomes
+
+-The default Max tRNA length has been upped from 200 to 500 bp when
+using prescanners, and from 150 to 250 when using Cove only.  Also,
+the default max intron length for eufindtRNA was upped from 116 to
+200.  These increases will slow the program by about 30%, but will
+help identify archaeal and bacterial tRNAs with introns of length 200
+or less that were just barely being missed by the previous defaults.
+Scan time is very short for tRNAscan-SE, so a slight increase was
+deemed acceptable.  To reverse these changes in the defaults, use
+the parameter setting "-L=116".  
+
+-Fixed a minor bug when using the -L parameter that caused loss of
+tRNA detection when both pre-scanners were in use, and identified
+the same tRNA with differing A and B boxes.  
+
+-Eliminated old code for running on Maspar machines (unused for
+development since 1997)
+
+-Added more complete summary statistics to .stats files.  They now
+give breakdowns by isotype & anticodon, with counts for
+intron-containing tRNAs, pseudogenes, selenocysteine, and other
+non-standard tRNAs.
+
+-Slightly reformated output file (*.out) columns so that for
+large sequences, tab columns do not go out of alignment.  This
+slightly changes the white spaceing among column headers.
+
+
+Version 1.21 (October 5, 2000)
+------------------------------
+-Added automatic option that removes runs of 10 N's or 
+more from consideraton by pre-scanners; better solution
+thann -i option which disqualifies tRNAs with any N's
+at all.  Also better since this can be default behavior,
+users don't "need to know" about using the -i option,
+whether they have many N's or not.  
+
+-Removed -i option (see above change)
+
+-fixed bug in use of "-O" (organellar scan mode) option
+Should work correctly now.  (Fixed bug: thought -O should
+take a parameter, so the next parameter on the line was
+sucked up, causing unintended run specifications)
+
+-Changed "Prokaryotic mode" to "Bacterial Mode", which is
+more accurate (archaeal sequences were _not_ used to train
+the old prokaryotic model).  No functional changes to any
+of the models or run parameters.  
+
+-Added "-B" option for Bacterial scan mode.  Same as old
+"-P" option, but better named now.  "-P" still works
+same as before to prevent breaking of programs that
+use tRNAscan-SE  (i.e.  -B equals -P) 
+
+-Switched old "-B" option (nucleotides of padding from
+pre-scanner hits to Cove scans) to "-z".  Same function.
+I doubt if more than 1 other person in the world uses
+this option for tweaking the program, so I'm not worried
+about breaking other people's pipeline analysis scripts.
+
+-When using the general tRNA covariance model (-G option),
+it now says: "General".
+
+Version 1.22 (Not released)
+---------------------------
+-minor: Added tRNAscan-SE version number to .stats file output
+
+Version 1.23 (Fixed April 24, 2001, not released until April 2002)
+------------
+-minor: Was not handling 'X' characters gracefully in input
+sequences.  Even though not IUPAC, the program now replaces
+X's with N's so it doesn't throw errors.
+
+
+Version 1.3 (March 2011)
+------------
+-Removed option "P" (prokaryotic scan mode) which was already depricated;  
+Use -B (bacterial) or -A (archaeal) scan modes instead
+
+-Added long option names for all supported options
+
+-Added "--newscan" option for using Infernal 1.0 instead of
+COVE as second-pass scanner
+
+-Added "-i" or "--infernal" option for using Infernal 1.0 only search mode
+
+-Added "--ncintron" option to search for noncanonical introns. This option
+is only available for Archaeal scan mode.
+
+-Added "--frag <file>" option to search for tRNA gene fragments that may
+form split tRNAs. Results are saved as tab-delimited output file
+specified with option. This option is only available for Archaeal scan mode.
+
+-Added output support of multiple introns in an archaeal tRNA gene. Start and
+end positions of the introns are delimited by comma in the corresponding fields
+in the output file. Start and end positions of all the introns are also listed
+in the tRNA secondary structure output file.
+
+-Added "PRE" output line in tRNA secondary structure output file for those
+archaeal tRNA genes that are predicted to have noncanonical introns. Regions
+enclosed in [] are predicted intron sequences.
+
+-Added an extra column at the end of output file for Archaeal scan mode to
+display the number of predicted canonical (CI) and noncanonical (NCI) introns
+for each predicted tRNA gene.
+
+-Methods in this version of tRNAscan-SE have been rearranged into multiple
+Perl modules under package tRNAscanSE. The file path has to be added in
+PERL5LIB environment variable for execution. Corresponding changes in the
+Makefile have been included.
+
+Version 1.3.1 (January 2012)
+------------
+-Change getline() to GetLine() in sqio.c to eliminate error when compiling
+with gcc v4.2 or above
+
+-Fix most of the warnings when compiling in 64-bit environment
diff --git a/TPCsignal b/TPCsignal
new file mode 100644
index 0000000..4a28d41
--- /dev/null
+++ b/TPCsignal
@@ -0,0 +1,15 @@
+0.0124 0.8100 0.0083 0.1694
+0.1618 0.3320 0.4772 0.0290
+0.0992 0.4008 0.2934 0.2066
+0.1818 0.1818 0.5083 0.1281
+0.1612 0.0289 0.7768 0.0331
+0.0000 0.0000 1.0000 0.0000
+0.0581 0.0000 0.0000 0.9419
+0.0000 0.0000 0.0000 1.0000
+0.0000 1.0000 0.0000 0.0000
+0.1818 0.0000 0.8182 0.0000
+0.9876 0.0000 0.0083 0.0041
+0.4959 0.0620 0.1694 0.2727
+0.0620 0.1859 0.0083 0.7438
+0.0000 1.0000 0.0000 0.0000
+0.0289 0.7686 0.0330 0.1694
diff --git a/TRNA2-arch.cm b/TRNA2-arch.cm
new file mode 100644
index 0000000..bcb366a
--- /dev/null
+++ b/TRNA2-arch.cm
@@ -0,0 +1,1202 @@
+### cove V2
+75 	nodes
+### node 0 type 6
+1  -1
+0.80303 0.00000 0.00000 0.13636 0.04545 0.01515 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.16667 0.16667 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.16667 0.16667 0.50000 0.16667 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 3
+2  -1
+0.96429 0.00000 0.00000 0.01786 0.00000 0.01786 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.00000 0.83333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.76923 0.07692 0.07692 0.07692 # MATR
+### node 2 type 3
+3  -1
+0.94643 0.00000 0.00000 0.03571 0.00000 0.01786 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.00000 0.83333 0.00000 0.08333 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.07692 0.76923 0.07692 0.07692 # MATR
+### node 3 type 3
+4  -1
+0.01818 0.00000 0.00000 0.96364 0.00000 0.01818 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.07692 0.00000 0.00000 0.84615 0.00000 0.07692 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.07143 0.71429 0.07143 0.14286 # MATR
+### node 4 type 3
+5  -1
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01493 0.94030 0.01493 0.01493 0.00000 0.01493 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.63636 0.04545 0.21212 0.10606 # MATR
+### node 5 type 1
+6  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.05128 # MATP
+0.01282 0.01282 0.03846 0.01282 # MATP
+0.01282 0.74359 0.01282 0.01282 # MATP
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 6 type 1
+7  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.01282 0.01282 0.39744 0.01282 # MATP
+0.01282 0.39744 0.01282 0.01282 # MATP
+0.03846 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 7 type 1
+8  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.05128 # MATP
+0.01282 0.01282 0.33333 0.01282 # MATP
+0.01282 0.25641 0.01282 0.17949 # MATP
+0.03846 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 8 type 1
+9  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.05128 # MATP
+0.01282 0.01282 0.41026 0.01282 # MATP
+0.01282 0.29487 0.01282 0.02564 # MATP
+0.06410 0.01282 0.02564 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 9 type 1
+10  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.06410 # MATP
+0.01282 0.01282 0.48718 0.01282 # MATP
+0.01282 0.16667 0.01282 0.01282 # MATP
+0.08974 0.01282 0.05128 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 10 type 1
+11  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.05128 # MATP
+0.01282 0.01282 0.32051 0.01282 # MATP
+0.01282 0.38462 0.01282 0.01282 # MATP
+0.05128 0.01282 0.05128 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 11 type 1
+12  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.01515 0.00000 0.95455 0.00000 0.01515 0.01515 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.14103 # MATP
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.01282 0.61538 0.01282 0.05128 # MATP
+0.03846 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 12 type 2
+13  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03077 0.00000 0.95385 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.03030 0.01515 0.93939 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 13 type 2
+14  -1
+0.66667 0.00000 0.00000 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.96825 0.00000 0.00000 0.00000 0.03175 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.66667 0.00000 0.00000 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.20000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.52308 0.06154 0.38462 0.03077 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 14 type 0
+15  28
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 15 type 4
+16  -1
+0.01515 0.95455 0.01515 0.01515 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 16 type 1
+17  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.01282 0.01282 0.07692 0.01282 # MATP
+0.01282 0.53846 0.01282 0.21795 # MATP
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 17 type 1
+18  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.01282 0.01282 0.50000 0.01282 # MATP
+0.01282 0.10256 0.01282 0.01282 # MATP
+0.23077 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 18 type 1
+19  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.03846 0.01282 0.01282 # MATP
+0.01282 0.01282 0.28205 0.01282 # MATP
+0.01282 0.15385 0.01282 0.02564 # MATP
+0.35897 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 19 type 1
+20  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.01515 0.00000 0.95455 0.00000 0.01515 0.01515 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02564 0.02564 0.01282 0.03846 # MATP
+0.01282 0.02564 0.30769 0.01282 # MATP
+0.11538 0.01282 0.01282 0.01282 # MATP
+0.02564 0.02564 0.16667 0.16667 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 20 type 2
+21  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.95455 0.01515 0.01515 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.01515 0.95455 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+23  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.18462 0.00000 0.80000 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07576 0.54545 0.03030 0.34848 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 2
+24  -1
+0.07143 0.00000 0.85714 0.00000 0.07143 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01852 0.00000 0.16667 0.00000 0.81481 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02174 0.00000 0.95652 0.00000 0.02174 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.17021 0.23404 0.02128 0.57447 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07273 0.67273 0.01818 0.23636 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 2
+25  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.01515 0.95455 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 2
+26  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.01515 0.95455 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 2
+27  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.50769 0.00000 0.47692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01961 0.00000 0.60784 0.00000 0.37255 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.46154 0.01923 0.26923 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.12121 0.25758 0.13636 0.48485 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.98438 0.00000 0.00000 0.00000 0.01562 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.92424 0.01515 0.04545 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 28 type 5
+29  -1
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 29 type 2
+30  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.98438 0.00000 0.00000 0.00000 0.01562 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10606 0.03030 0.77273 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 30 type 0
+31  44
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 31 type 4
+32  -1
+0.01515 0.95455 0.01515 0.01515 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 32 type 1
+33  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.08974 # MATP
+0.01282 0.01282 0.52564 0.01282 # MATP
+0.01282 0.07692 0.01282 0.01282 # MATP
+0.08974 0.01282 0.07692 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 33 type 1
+34  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.12821 # MATP
+0.01282 0.01282 0.44872 0.01282 # MATP
+0.01282 0.07692 0.01282 0.05128 # MATP
+0.14103 0.01282 0.02564 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 34 type 1
+35  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.05128 # MATP
+0.01282 0.01282 0.12821 0.01282 # MATP
+0.01282 0.52564 0.01282 0.01282 # MATP
+0.14103 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 35 type 1
+36  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.01282 0.01282 0.17949 0.01282 # MATP
+0.01282 0.62821 0.01282 0.02564 # MATP
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 36 type 1
+37  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.01515 0.00000 0.95455 0.00000 0.01515 0.01515 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.24359 # MATP
+0.01282 0.01282 0.33333 0.01282 # MATP
+0.01282 0.23077 0.01282 0.02564 # MATP
+0.02564 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 37 type 2
+38  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.75758 0.01515 0.21212 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.01515 0.01515 0.95455 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+40  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.28788 0.27273 0.42424 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 2
+41  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.27273 0.15152 0.31818 0.25758 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 2
+42  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.34848 0.18182 0.30303 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 42 type 2
+43  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.87692 0.00000 0.10769 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00877 0.00000 0.06140 0.00000 0.92982 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.26957 0.19130 0.29565 0.24348 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.54545 0.01515 0.42424 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 43 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.98438 0.00000 0.00000 0.00000 0.01562 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.80303 0.13636 0.03030 0.03030 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 44 type 5
+45  -1
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 45 type 2
+46  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.15385 0.00000 0.83077 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.39394 0.18182 0.06061 0.36364 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 46 type 2
+47  -1
+0.90909 0.00000 0.00000 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.98182 0.00000 0.00000 0.00000 0.01818 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10526 0.07018 0.70175 0.12281 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 47 type 0
+48  60
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 48 type 4
+49  -1
+0.81818 0.15152 0.01515 0.01515 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 49 type 1
+50  -1
+0.91525 0.01695 0.01695 0.01695 0.01695 0.01695 
+0.06667 0.66667 0.06667 0.06667 0.06667 0.06667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04000 0.04000 0.04000 0.04000 # MATP
+0.04000 0.04000 0.12000 0.04000 # MATP
+0.04000 0.28000 0.04000 0.08000 # MATP
+0.04000 0.04000 0.04000 0.04000 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 50 type 1
+51  -1
+0.91525 0.01695 0.01695 0.01695 0.01695 0.01695 
+0.06667 0.66667 0.06667 0.06667 0.06667 0.06667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04000 0.04000 0.04000 0.08000 # MATP
+0.04000 0.04000 0.16000 0.04000 # MATP
+0.04000 0.24000 0.04000 0.04000 # MATP
+0.04000 0.04000 0.04000 0.04000 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 51 type 1
+52  -1
+0.91525 0.01695 0.01695 0.01695 0.01695 0.01695 
+0.53333 0.20000 0.06667 0.06667 0.06667 0.06667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04000 0.04000 0.04000 0.08000 # MATP
+0.04000 0.04000 0.28000 0.04000 # MATP
+0.04000 0.04000 0.04000 0.04000 # MATP
+0.08000 0.04000 0.08000 0.04000 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 52 type 1
+53  -1
+0.92424 0.01515 0.01515 0.01515 0.01515 0.01515 
+0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.05556 0.05556 0.05556 0.05556 # MATP
+0.05556 0.05556 0.11111 0.05556 # MATP
+0.05556 0.05556 0.05556 0.05556 # MATP
+0.11111 0.05556 0.05556 0.05556 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 53 type 1
+54  -1
+0.92424 0.01515 0.01515 0.01515 0.01515 0.01515 
+0.37500 0.12500 0.12500 0.12500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.05556 0.05556 0.05556 0.05556 # MATP
+0.05556 0.05556 0.16667 0.05556 # MATP
+0.05556 0.05556 0.05556 0.05556 # MATP
+0.05556 0.05556 0.05556 0.05556 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 54 type 1
+55  -1
+0.92647 0.01471 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.06250 0.06250 0.06250 0.06250 # MATP
+0.06250 0.06250 0.06250 0.06250 # MATP
+0.06250 0.06250 0.06250 0.06250 # MATP
+0.06250 0.06250 0.06250 0.06250 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 55 type 1
+56  -1
+0.81818 0.00000 0.10606 0.00000 0.01515 0.06061 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.16667 0.00000 0.66667 0.00000 0.00000 0.16667 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.42857 0.14286 0.28571 0.14286 # INSR
+0.06250 0.06250 0.06250 0.06250 # MATP
+0.06250 0.06250 0.06250 0.06250 # MATP
+0.06250 0.06250 0.06250 0.06250 # MATP
+0.06250 0.06250 0.06250 0.06250 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 56 type 2
+57  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.83333 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07692 0.07692 0.69231 0.15385 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 57 type 2
+58  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.83333 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07692 0.15385 0.07692 0.69231 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 58 type 2
+59  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.00000 0.75000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.53846 0.15385 0.07692 0.23077 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 59 type 2
+-1  -1
+0.98214 0.00000 0.00000 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.90000 0.00000 0.00000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.25000 0.16667 0.50000 0.08333 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 60 type 5
+61  -1
+0.03077 0.00000 0.95385 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 61 type 2
+62  -1
+0.25000 0.00000 0.25000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01562 0.00000 0.25000 0.00000 0.73438 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01961 0.00000 0.94118 0.00000 0.03922 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03846 0.28846 0.07692 0.59615 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.36923 0.03077 0.47692 0.12308 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 62 type 2
+63  -1
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01493 0.94030 0.01493 0.01493 0.01493 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.95455 0.01515 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 63 type 1
+64  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.06410 # MATP
+0.01282 0.01282 0.32051 0.01282 # MATP
+0.01282 0.30769 0.01282 0.06410 # MATP
+0.03846 0.01282 0.07692 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 64 type 1
+65  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.07692 # MATP
+0.01282 0.01282 0.46154 0.01282 # MATP
+0.01282 0.11538 0.01282 0.05128 # MATP
+0.14103 0.01282 0.02564 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 65 type 1
+66  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.05128 # MATP
+0.01282 0.01282 0.10256 0.01282 # MATP
+0.01282 0.64103 0.01282 0.01282 # MATP
+0.02564 0.01282 0.03846 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 66 type 1
+67  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.01471 0.92647 0.01471 0.01471 0.01471 0.01471 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.03846 # MATP
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.01282 0.76923 0.01282 0.01282 # MATP
+0.02564 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 67 type 1
+68  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.01515 0.00000 0.95455 0.00000 0.01515 0.01515 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.01282 0.80769 0.01282 0.01282 # MATP
+0.01282 0.01282 0.01282 0.01282 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 68 type 2
+69  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.01515 0.01515 0.95455 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 69 type 2
+70  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.03030 0.01515 0.93939 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 70 type 2
+71  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.93939 0.03030 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 71 type 2
+72  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.59091 0.01515 0.37879 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 72 type 2
+73  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.95455 0.01515 0.01515 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 73 type 2
+74  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.84848 0.01515 0.09091 0.04545 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 74 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.98438 0.00000 0.00000 0.00000 0.01562 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.06061 0.01515 0.90909 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/TRNA2-archns.cm b/TRNA2-archns.cm
new file mode 100644
index 0000000..6e0c8cb
--- /dev/null
+++ b/TRNA2-archns.cm
@@ -0,0 +1,1506 @@
+### cove V2
+94 	nodes
+### node 0 type 6
+1  -1
+0.01515 0.00000 0.92424 0.00000 0.04545 0.01515 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.00000 0.50000 0.00000 0.16667 0.16667 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.16667 0.16667 0.50000 0.16667 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 2
+2  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06061 0.04545 0.87879 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 2 type 2
+3  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.46970 0.46970 0.04545 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 3 type 2
+4  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06061 0.39394 0.50000 0.04545 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 4 type 2
+5  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06061 0.48485 0.36364 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 5 type 2
+6  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07576 0.57576 0.19697 0.15152 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 6 type 2
+7  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06061 0.37879 0.45455 0.10606 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 7 type 2
+8  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.01515 0.77273 0.04545 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 8 type 2
+9  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03077 0.00000 0.95385 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.03030 0.01515 0.93939 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 9 type 2
+10  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01562 0.00000 0.95312 0.00000 0.03125 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.20000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.52308 0.06154 0.38462 0.03077 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 10 type 2
+11  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.09091 0.87879 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 11 type 2
+12  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.59091 0.12121 0.27273 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 12 type 2
+13  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04545 0.33333 0.19697 0.42424 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 13 type 2
+14  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07576 0.37879 0.13636 0.40909 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 14 type 2
+15  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.95455 0.01515 0.01515 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 15 type 2
+16  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.01515 0.95455 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 16 type 2
+17  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.18462 0.00000 0.80000 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07576 0.54545 0.03030 0.34848 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 17 type 2
+18  -1
+0.07143 0.00000 0.85714 0.00000 0.07143 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01852 0.00000 0.16667 0.00000 0.81481 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02174 0.00000 0.95652 0.00000 0.02174 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.17021 0.23404 0.02128 0.57447 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07273 0.67273 0.01818 0.23636 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 18 type 2
+19  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.01515 0.95455 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 19 type 2
+20  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.01515 0.95455 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 20 type 2
+21  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.50769 0.00000 0.47692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01961 0.00000 0.60784 0.00000 0.37255 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.46154 0.01923 0.26923 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.12121 0.25758 0.13636 0.48485 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.92424 0.01515 0.04545 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+23  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.06061 0.54545 0.22727 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 2
+24  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.42424 0.21212 0.33333 0.03030 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 2
+25  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.27273 0.12121 0.59091 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 2
+26  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.63636 0.09091 0.25758 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 2
+27  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10606 0.03030 0.77273 0.09091 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 2
+28  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10606 0.62121 0.09091 0.18182 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 28 type 2
+29  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15152 0.53030 0.13636 0.18182 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 29 type 2
+30  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06061 0.15152 0.62121 0.16667 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 30 type 2
+31  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.21212 0.75758 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 31 type 2
+32  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.28788 0.39394 0.28788 0.03030 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 32 type 2
+33  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.75758 0.01515 0.21212 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 33 type 2
+34  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.01515 0.01515 0.95455 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 34 type 2
+35  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.28788 0.27273 0.42424 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 35 type 2
+36  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.27273 0.15152 0.31818 0.25758 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 36 type 2
+37  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.34848 0.18182 0.30303 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 37 type 2
+38  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.87692 0.00000 0.10769 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00877 0.00000 0.06140 0.00000 0.92982 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.26957 0.19130 0.29565 0.24348 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.54545 0.01515 0.42424 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.80303 0.13636 0.03030 0.03030 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+40  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03030 0.27273 0.39394 0.30303 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 2
+41  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.74242 0.21212 0.03030 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 2
+42  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.62121 0.15152 0.06061 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 42 type 2
+43  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.09091 0.54545 0.19697 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 43 type 2
+44  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10606 0.09091 0.69697 0.10606 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 44 type 2
+45  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.15385 0.00000 0.83077 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.39394 0.18182 0.06061 0.36364 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 45 type 2
+46  -1
+0.08333 0.00000 0.83333 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10526 0.07018 0.70175 0.12281 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 46 type 2
+47  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.83333 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07692 0.23077 0.61538 0.07692 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 47 type 2
+48  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.83333 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15385 0.30769 0.46154 0.07692 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 48 type 2
+49  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.66667 0.00000 0.25000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15385 0.53846 0.07692 0.23077 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 49 type 2
+50  -1
+0.96825 0.00000 0.01587 0.00000 0.01587 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.33333 0.16667 0.33333 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 50 type 2
+51  -1
+0.96825 0.00000 0.01587 0.00000 0.01587 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.50000 0.16667 0.16667 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 51 type 2
+52  -1
+0.96923 0.00000 0.01538 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 52 type 2
+53  -1
+0.83077 0.00000 0.15385 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 53 type 2
+54  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.83333 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07692 0.07692 0.69231 0.15385 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 54 type 2
+55  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.83333 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07692 0.15385 0.07692 0.69231 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 55 type 2
+56  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.00000 0.75000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.53846 0.15385 0.07692 0.23077 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 56 type 2
+57  -1
+0.96491 0.00000 0.01754 0.00000 0.01754 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.54545 0.00000 0.09091 0.00000 0.36364 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.66667 0.00000 0.16667 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.42857 0.14286 0.28571 0.14286 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.25000 0.16667 0.50000 0.08333 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 57 type 2
+58  -1
+0.96923 0.00000 0.01538 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 58 type 2
+59  -1
+0.93846 0.00000 0.04615 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 59 type 2
+60  -1
+0.96825 0.00000 0.01587 0.00000 0.01587 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.16667 0.50000 0.16667 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 60 type 2
+61  -1
+0.85714 0.00000 0.12698 0.00000 0.01587 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.33333 0.16667 0.33333 0.16667 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 61 type 2
+62  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.83333 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15385 0.07692 0.61538 0.15385 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 62 type 2
+63  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.83333 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07692 0.46154 0.30769 0.15385 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 63 type 2
+64  -1
+0.01786 0.00000 0.96429 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.00000 0.75000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07692 0.53846 0.23077 0.15385 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 64 type 2
+65  -1
+0.25000 0.00000 0.25000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01562 0.00000 0.25000 0.00000 0.73438 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01961 0.00000 0.94118 0.00000 0.03922 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03846 0.28846 0.07692 0.59615 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.36923 0.03077 0.47692 0.12308 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 65 type 2
+66  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.95455 0.01515 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 66 type 2
+67  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07576 0.37879 0.42424 0.12121 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 67 type 2
+68  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.54545 0.18182 0.18182 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 68 type 2
+69  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06061 0.12121 0.75758 0.06061 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 69 type 2
+70  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04545 0.01515 0.90909 0.03030 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 70 type 2
+71  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.01515 0.95455 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 71 type 2
+72  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.01515 0.01515 0.95455 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 72 type 2
+73  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.03030 0.01515 0.93939 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 73 type 2
+74  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.93939 0.03030 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 74 type 2
+75  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.59091 0.01515 0.37879 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 75 type 2
+76  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.95455 0.01515 0.01515 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 76 type 2
+77  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.84848 0.01515 0.09091 0.04545 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 77 type 2
+78  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.06061 0.01515 0.90909 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 78 type 2
+79  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.95455 0.01515 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 79 type 2
+80  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03030 0.90909 0.01515 0.04545 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 80 type 2
+81  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03030 0.75758 0.15152 0.06061 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 81 type 2
+82  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.13636 0.56061 0.13636 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 82 type 2
+83  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04545 0.36364 0.45455 0.13636 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 83 type 2
+84  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04545 0.72727 0.01515 0.21212 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 84 type 2
+85  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06061 0.45455 0.42424 0.06061 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 85 type 2
+86  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10606 0.19697 0.62121 0.07576 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 86 type 2
+87  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07576 0.34848 0.50000 0.07576 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 87 type 2
+88  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04545 0.30303 0.39394 0.25758 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 88 type 2
+89  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04545 0.46970 0.46970 0.01515 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 89 type 2
+90  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01538 0.00000 0.96923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01515 0.87879 0.04545 0.06061 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 90 type 2
+91  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.81538 0.00000 0.16923 0.00000 0.01538 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.63636 0.04545 0.21212 0.10606 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 91 type 2
+92  -1
+0.96364 0.00000 0.01818 0.00000 0.01818 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.15385 0.00000 0.76923 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07143 0.71429 0.07143 0.14286 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 92 type 2
+93  -1
+0.96429 0.00000 0.01786 0.00000 0.01786 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.83333 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07692 0.76923 0.07692 0.07692 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 93 type 2
+-1  -1
+0.98182 0.00000 0.00000 0.00000 0.01818 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.90909 0.00000 0.00000 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.76923 0.07692 0.07692 0.07692 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/TRNA2-bact.cm b/TRNA2-bact.cm
new file mode 100644
index 0000000..cbe1f71
--- /dev/null
+++ b/TRNA2-bact.cm
@@ -0,0 +1,1202 @@
+### cove V2
+75 	nodes
+### node 0 type 6
+1  -1
+0.17391 0.00000 0.00000 0.77470 0.04743 0.00395 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.00000 0.66667 0.06667 0.06667 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.13333 0.06667 0.66667 0.13333 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 3
+2  -1
+0.95833 0.00000 0.00000 0.02083 0.00000 0.02083 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00483 0.00000 0.00000 0.99034 0.00000 0.00483 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.98558 0.00481 0.00481 0.00481 # MATR
+### node 2 type 3
+3  -1
+0.95833 0.00000 0.00000 0.02083 0.00000 0.02083 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00483 0.00000 0.00000 0.99034 0.00000 0.00483 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00481 0.98558 0.00481 0.00481 # MATR
+### node 3 type 3
+4  -1
+0.06250 0.00000 0.00000 0.91667 0.00000 0.02083 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00483 0.00000 0.00000 0.99034 0.00000 0.00483 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.00000 0.33333 0.00000 0.33333 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00481 0.98558 0.00481 0.00481 # MATR
+### node 4 type 3
+5  -1
+0.14286 0.42857 0.14286 0.14286 0.00000 0.14286 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.97222 0.00397 0.01190 0.00000 0.00794 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.33333 0.16667 0.16667 0.00000 0.16667 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.20000 0.40000 0.20000 0.20000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.62550 0.03984 0.21912 0.11554 # MATR
+### node 5 type 1
+6  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00395 0.98024 0.00395 0.00395 0.00395 0.00395 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00380 0.00380 0.00380 0.03802 # MATP
+0.03042 0.00380 0.06844 0.01141 # MATP
+0.00380 0.69962 0.00380 0.06084 # MATP
+0.05703 0.00380 0.00380 0.00380 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.16667 0.33333 0.16667 0.33333 # MATR
+### node 6 type 1
+7  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.02264 # MATP
+0.00377 0.00377 0.33208 0.00377 # MATP
+0.00377 0.52830 0.00755 0.03019 # MATP
+0.03396 0.00377 0.01132 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 7 type 1
+8  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.15472 # MATP
+0.00377 0.00377 0.29057 0.00377 # MATP
+0.00377 0.35094 0.00377 0.07170 # MATP
+0.08679 0.00377 0.00755 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 8 type 1
+9  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.06415 # MATP
+0.00377 0.00377 0.28302 0.00377 # MATP
+0.00377 0.47170 0.00377 0.01887 # MATP
+0.10189 0.00377 0.02264 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 9 type 1
+10  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.01132 0.00377 0.19623 # MATP
+0.00377 0.00377 0.33585 0.00755 # MATP
+0.00377 0.32453 0.00377 0.02264 # MATP
+0.04528 0.00377 0.02642 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 10 type 1
+11  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.97647 0.00392 0.00392 0.00784 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.20000 0.20000 0.40000 0.20000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.21509 # MATP
+0.00377 0.00377 0.21887 0.00755 # MATP
+0.00377 0.23396 0.00377 0.00377 # MATP
+0.23774 0.00755 0.04528 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 11 type 1
+12  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00791 0.00000 0.98419 0.00000 0.00395 0.00395 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.23774 # MATP
+0.00377 0.00377 0.02642 0.00377 # MATP
+0.00377 0.41132 0.00377 0.03396 # MATP
+0.24906 0.00377 0.00377 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 12 type 2
+13  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00797 0.00000 0.98805 0.00000 0.00398 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00397 0.00397 0.00794 0.98413 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 13 type 2
+14  -1
+0.66667 0.00000 0.00000 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99600 0.00000 0.00000 0.00000 0.00400 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.68254 0.03175 0.26587 0.01984 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 14 type 0
+15  28
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 15 type 4
+16  -1
+0.00395 0.98814 0.00395 0.00395 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 16 type 1
+17  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.00755 # MATP
+0.00377 0.00377 0.06038 0.00377 # MATP
+0.00377 0.83396 0.00377 0.04151 # MATP
+0.01509 0.00377 0.00377 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 17 type 1
+18  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.05660 # MATP
+0.00377 0.00377 0.70566 0.00377 # MATP
+0.00377 0.00755 0.00755 0.00377 # MATP
+0.17358 0.00377 0.01132 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 18 type 1
+19  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.02264 # MATP
+0.00377 0.00755 0.12830 0.00377 # MATP
+0.01132 0.24151 0.00377 0.00377 # MATP
+0.54717 0.00377 0.00755 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 19 type 1
+20  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00395 0.00000 0.98814 0.00000 0.00395 0.00395 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.13962 0.00377 0.00377 0.01887 # MATP
+0.00755 0.00377 0.59245 0.00755 # MATP
+0.12830 0.00377 0.00755 0.00377 # MATP
+0.01887 0.00377 0.04528 0.01132 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 20 type 2
+21  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.97628 0.00791 0.00791 0.00791 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01190 0.00000 0.98413 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20553 0.01186 0.77470 0.00791 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+23  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.28000 0.00000 0.71600 0.00000 0.00400 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03984 0.33068 0.03187 0.59761 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 2
+24  -1
+0.01351 0.00000 0.97297 0.00000 0.01351 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00552 0.00000 0.83978 0.00000 0.15470 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03226 0.00000 0.90323 0.00000 0.06452 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03125 0.25000 0.03125 0.68750 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06593 0.17582 0.00549 0.75275 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 2
+25  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.00395 0.98419 0.00791 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 2
+26  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.00395 0.98814 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 2
+27  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.52381 0.00000 0.47222 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00685 0.00000 0.81507 0.00000 0.17808 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.21769 0.08844 0.12245 0.57143 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06324 0.17787 0.09881 0.66008 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99602 0.00000 0.00000 0.00000 0.00398 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.87747 0.00395 0.10672 0.01186 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 28 type 5
+29  -1
+0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 29 type 2
+30  -1
+0.66667 0.00000 0.00000 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99600 0.00000 0.00000 0.00000 0.00400 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.55159 0.03175 0.38095 0.03571 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 30 type 0
+31  44
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 31 type 4
+32  -1
+0.00395 0.98814 0.00395 0.00395 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 32 type 1
+33  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.15472 # MATP
+0.01132 0.00377 0.48302 0.00755 # MATP
+0.01132 0.06792 0.00377 0.04151 # MATP
+0.16981 0.00755 0.01887 0.00755 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 33 type 1
+34  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.15094 # MATP
+0.00377 0.00377 0.50566 0.00377 # MATP
+0.00377 0.06038 0.00377 0.02264 # MATP
+0.20377 0.00377 0.01132 0.01132 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 34 type 1
+35  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00755 0.00377 0.00377 0.15849 # MATP
+0.00377 0.00377 0.20000 0.00377 # MATP
+0.00377 0.29057 0.00377 0.00755 # MATP
+0.29811 0.00377 0.00377 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 35 type 1
+36  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.01509 # MATP
+0.00377 0.00377 0.21887 0.00377 # MATP
+0.00377 0.69057 0.00377 0.02642 # MATP
+0.00377 0.00377 0.00377 0.00755 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 36 type 1
+37  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00395 0.00000 0.98814 0.00000 0.00395 0.00395 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00755 0.00377 0.30943 # MATP
+0.00377 0.00377 0.36981 0.00377 # MATP
+0.00377 0.18491 0.00377 0.00755 # MATP
+0.07925 0.00377 0.00755 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 37 type 2
+38  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01976 0.64822 0.00395 0.32806 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.00395 0.00395 0.98814 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+40  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03162 0.24506 0.34387 0.37945 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 2
+41  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.30830 0.19763 0.24901 0.24506 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 2
+42  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.21344 0.25296 0.20949 0.32411 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 42 type 2
+43  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.80632 0.00395 0.18577 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 43 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99602 0.00000 0.00000 0.00000 0.00398 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.68775 0.20158 0.00791 0.10277 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 44 type 5
+45  -1
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 45 type 2
+46  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.00000 0.82937 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.33992 0.19763 0.25296 0.20949 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 46 type 2
+47  -1
+0.97674 0.00000 0.00000 0.00000 0.02326 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.98571 0.00000 0.00000 0.00000 0.01429 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.75000 0.00000 0.00000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.50000 0.16667 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16038 0.02358 0.68396 0.13208 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 47 type 0
+48  60
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 48 type 4
+49  -1
+0.78261 0.20553 0.00791 0.00395 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 49 type 1
+50  -1
+0.97537 0.00493 0.00493 0.00493 0.00493 0.00493 
+0.01754 0.91228 0.01754 0.01754 0.01754 0.01754 
+0.28571 0.14286 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01493 0.01493 0.04478 0.16418 # MATP
+0.01493 0.01493 0.04478 0.01493 # MATP
+0.01493 0.35821 0.08955 0.10448 # MATP
+0.04478 0.01493 0.02985 0.01493 # MATP
+0.20000 0.40000 0.20000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 50 type 1
+51  -1
+0.97549 0.00490 0.00490 0.00490 0.00490 0.00490 
+0.03509 0.89474 0.01754 0.01754 0.01754 0.01754 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01493 0.01493 0.01493 0.05970 # MATP
+0.01493 0.01493 0.23881 0.01493 # MATP
+0.01493 0.23881 0.02985 0.01493 # MATP
+0.26866 0.01493 0.01493 0.01493 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 51 type 1
+52  -1
+0.97561 0.00488 0.00488 0.00488 0.00488 0.00488 
+0.28571 0.64286 0.01786 0.01786 0.01786 0.01786 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01515 0.01515 0.01515 0.07576 # MATP
+0.01515 0.03030 0.42424 0.01515 # MATP
+0.01515 0.10606 0.03030 0.04545 # MATP
+0.09091 0.01515 0.07576 0.01515 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 52 type 1
+53  -1
+0.97727 0.00455 0.00455 0.00455 0.00455 0.00455 
+0.36585 0.53659 0.02439 0.02439 0.02439 0.02439 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03922 0.01961 0.01961 0.09804 # MATP
+0.03922 0.01961 0.31373 0.01961 # MATP
+0.01961 0.19608 0.01961 0.01961 # MATP
+0.09804 0.01961 0.03922 0.01961 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 53 type 1
+54  -1
+0.97863 0.00427 0.00427 0.00427 0.00427 0.00427 
+0.33333 0.51852 0.03704 0.03704 0.03704 0.03704 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.02703 0.02703 0.02703 0.10811 # MATP
+0.05405 0.02703 0.05405 0.02703 # MATP
+0.02703 0.32432 0.02703 0.10811 # MATP
+0.02703 0.05405 0.05405 0.02703 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 54 type 1
+55  -1
+0.97934 0.00413 0.00413 0.00413 0.00413 0.00413 
+0.47368 0.31579 0.05263 0.05263 0.05263 0.05263 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03448 0.03448 0.03448 0.10345 # MATP
+0.03448 0.03448 0.06897 0.03448 # MATP
+0.06897 0.24138 0.03448 0.03448 # MATP
+0.03448 0.03448 0.13793 0.03448 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 55 type 1
+56  -1
+0.80242 0.00000 0.15726 0.00000 0.00403 0.03629 
+0.11111 0.00000 0.22222 0.00000 0.11111 0.55556 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.06667 0.00000 0.86667 0.00000 0.00000 0.06667 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.50000 0.18750 0.06250 0.25000 # INSR
+0.04762 0.04762 0.04762 0.04762 # MATP
+0.04762 0.04762 0.09524 0.04762 # MATP
+0.04762 0.04762 0.04762 0.04762 # MATP
+0.14286 0.04762 0.09524 0.09524 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 56 type 2
+57  -1
+0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01852 0.00000 0.96296 0.00000 0.01852 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.07273 0.45455 0.38182 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 57 type 2
+58  -1
+0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01852 0.00000 0.96296 0.00000 0.01852 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.23636 0.21818 0.03636 0.50909 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 58 type 2
+59  -1
+0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.18519 0.00000 0.77778 0.00000 0.03704 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.20000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.61818 0.16364 0.05455 0.16364 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 59 type 2
+-1  -1
+0.99522 0.00000 0.00000 0.00000 0.00478 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.97727 0.00000 0.00000 0.00000 0.02273 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.52174 0.17391 0.17391 0.13043 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 60 type 5
+61  -1
+0.06746 0.00000 0.92857 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 61 type 2
+62  -1
+0.05263 0.00000 0.89474 0.00000 0.05263 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00424 0.00000 0.22458 0.00000 0.77119 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00543 0.00000 0.98913 0.00000 0.00543 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02162 0.03784 0.03243 0.90811 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08861 0.02532 0.78481 0.10127 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 62 type 2
+63  -1
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00394 0.98425 0.00394 0.00394 0.00394 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00791 0.77075 0.01186 0.20949 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 63 type 1
+64  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.21132 # MATP
+0.00377 0.00377 0.07547 0.00377 # MATP
+0.00377 0.37736 0.00377 0.27547 # MATP
+0.01132 0.00377 0.00377 0.01132 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 64 type 1
+65  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00755 0.00377 0.14340 # MATP
+0.00377 0.00755 0.35094 0.00377 # MATP
+0.00377 0.18868 0.00377 0.09811 # MATP
+0.11321 0.00377 0.05660 0.00755 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 65 type 1
+66  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.01132 0.00377 0.21887 # MATP
+0.00377 0.00377 0.22264 0.00755 # MATP
+0.00377 0.34340 0.00377 0.04906 # MATP
+0.10566 0.00377 0.01132 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 66 type 1
+67  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00392 0.98039 0.00392 0.00392 0.00392 0.00392 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00755 0.00377 0.11698 # MATP
+0.00377 0.00377 0.00755 0.00377 # MATP
+0.00377 0.82264 0.00377 0.00377 # MATP
+0.00377 0.00377 0.00377 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 67 type 1
+68  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00395 0.00000 0.98814 0.00000 0.00395 0.00395 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00377 0.00377 0.00377 0.00755 # MATP
+0.00377 0.00377 0.00377 0.00377 # MATP
+0.00377 0.92830 0.00755 0.01132 # MATP
+0.00377 0.00377 0.00377 0.00377 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 68 type 2
+69  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.00395 0.00395 0.98814 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 69 type 2
+70  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00398 0.00000 0.99203 0.00000 0.00398 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00397 0.00397 0.00397 0.98810 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 70 type 2
+71  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.98814 0.00395 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 71 type 2
+72  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.31225 0.00395 0.67984 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 72 type 2
+73  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.98814 0.00395 0.00395 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 73 type 2
+74  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01594 0.00000 0.98008 0.00000 0.00398 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.38095 0.03968 0.38095 0.19841 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 74 type 2
+-1  -1
+0.80000 0.00000 0.00000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99597 0.00000 0.00000 0.00000 0.00403 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00800 0.16000 0.00400 0.82800 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/TRNA2-bactns.cm b/TRNA2-bactns.cm
new file mode 100644
index 0000000..f15655a
--- /dev/null
+++ b/TRNA2-bactns.cm
@@ -0,0 +1,1506 @@
+### cove V2
+94 	nodes
+### node 0 type 6
+1  -1
+0.01186 0.00000 0.93676 0.00000 0.04743 0.00395 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06667 0.00000 0.80000 0.00000 0.06667 0.06667 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.13333 0.06667 0.66667 0.13333 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 2
+2  -1
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00400 0.00000 0.99200 0.00000 0.00400 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03984 0.11155 0.78884 0.05976 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 2 type 2
+3  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02372 0.34783 0.58498 0.04348 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 3 type 2
+4  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16206 0.30435 0.43874 0.09486 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 4 type 2
+5  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06719 0.29644 0.50988 0.12648 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 5 type 2
+6  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.21344 0.35573 0.35968 0.07115 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 6 type 2
+7  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.98810 0.00000 0.00794 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.40000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.22530 0.23320 0.24506 0.29644 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 7 type 2
+8  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.24901 0.02767 0.46245 0.26087 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 8 type 2
+9  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00797 0.00000 0.98805 0.00000 0.00398 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00397 0.00397 0.00794 0.98413 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 9 type 2
+10  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00398 0.00000 0.99203 0.00000 0.00398 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.68254 0.03175 0.26587 0.01984 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 10 type 2
+11  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00791 0.06324 0.91304 0.01581 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 11 type 2
+12  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05929 0.73913 0.01186 0.18972 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 12 type 2
+13  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02372 0.13834 0.26087 0.57708 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 13 type 2
+14  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16206 0.62846 0.13834 0.07115 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 14 type 2
+15  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.97628 0.00791 0.00791 0.00791 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 15 type 2
+16  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01190 0.00000 0.98413 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20553 0.01186 0.77470 0.00791 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 16 type 2
+17  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.28000 0.00000 0.71600 0.00000 0.00400 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03984 0.33068 0.03187 0.59761 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 17 type 2
+18  -1
+0.01351 0.00000 0.97297 0.00000 0.01351 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00552 0.00000 0.83978 0.00000 0.15470 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03226 0.00000 0.90323 0.00000 0.06452 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03125 0.25000 0.03125 0.68750 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06593 0.17582 0.00549 0.75275 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 18 type 2
+19  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.00395 0.98419 0.00791 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 19 type 2
+20  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.00395 0.98814 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 20 type 2
+21  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.52381 0.00000 0.47222 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00685 0.00000 0.81507 0.00000 0.17808 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.21769 0.08844 0.12245 0.57143 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.06324 0.17787 0.09881 0.66008 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.87747 0.00395 0.10672 0.01186 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+23  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.29644 0.00395 0.66798 0.03162 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 2
+24  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.58103 0.25692 0.13834 0.02372 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 2
+25  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.18182 0.00791 0.75099 0.05929 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 2
+26  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01581 0.87352 0.06324 0.04743 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 2
+27  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00398 0.00000 0.99203 0.00000 0.00398 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.55159 0.03175 0.38095 0.03571 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 2
+28  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16206 0.51779 0.11858 0.20158 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 28 type 2
+29  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15810 0.52964 0.08300 0.22925 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 29 type 2
+30  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16996 0.20949 0.30830 0.31225 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 30 type 2
+31  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01581 0.22925 0.74704 0.00791 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 31 type 2
+32  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.32806 0.38735 0.19763 0.08696 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 32 type 2
+33  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01976 0.64822 0.00395 0.32806 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 33 type 2
+34  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.00395 0.00395 0.98814 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 34 type 2
+35  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03162 0.24506 0.34387 0.37945 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 35 type 2
+36  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.30830 0.19763 0.24901 0.24506 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 36 type 2
+37  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.21344 0.25296 0.20949 0.32411 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 37 type 2
+38  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.80632 0.00395 0.18577 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.68775 0.20158 0.00791 0.10277 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+40  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08300 0.19763 0.39130 0.32806 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 2
+41  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.72332 0.22925 0.04348 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 2
+42  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.31621 0.30435 0.20949 0.16996 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 42 type 2
+43  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.21344 0.06324 0.53755 0.18577 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 43 type 2
+44  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.19368 0.07510 0.52174 0.20949 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 44 type 2
+45  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.00000 0.82937 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.33992 0.19763 0.25296 0.20949 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 45 type 2
+46  -1
+0.02273 0.00000 0.95455 0.00000 0.02273 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.93839 0.00000 0.04739 0.00000 0.01422 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.50000 0.16667 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16038 0.02358 0.68396 0.13208 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 46 type 2
+47  -1
+0.99000 0.00000 0.00500 0.00000 0.00500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03636 0.00000 0.94545 0.00000 0.01818 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.23214 0.07143 0.62500 0.07143 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 47 type 2
+48  -1
+0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03704 0.00000 0.94444 0.00000 0.01852 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07273 0.29091 0.30909 0.32727 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 48 type 2
+49  -1
+0.99010 0.00000 0.00495 0.00000 0.00495 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.30189 0.00000 0.67925 0.00000 0.01887 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09259 0.53704 0.18519 0.18519 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 49 type 2
+50  -1
+0.99078 0.00000 0.00461 0.00000 0.00461 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.39474 0.00000 0.57895 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15385 0.43590 0.25641 0.15385 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 50 type 2
+51  -1
+0.99134 0.00000 0.00433 0.00000 0.00433 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.37500 0.00000 0.58333 0.00000 0.04167 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16000 0.12000 0.60000 0.12000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 51 type 2
+52  -1
+0.99163 0.00000 0.00418 0.00000 0.00418 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.56250 0.00000 0.37500 0.00000 0.06250 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.17647 0.11765 0.47059 0.23529 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 52 type 2
+53  -1
+0.80567 0.00000 0.19028 0.00000 0.00405 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11111 0.22222 0.11111 0.55556 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 53 type 2
+54  -1
+0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01852 0.00000 0.96296 0.00000 0.01852 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.07273 0.45455 0.38182 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 54 type 2
+55  -1
+0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01852 0.00000 0.96296 0.00000 0.01852 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.23636 0.21818 0.03636 0.50909 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 55 type 2
+56  -1
+0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.18519 0.00000 0.77778 0.00000 0.03704 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.20000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.61818 0.16364 0.05455 0.16364 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 56 type 2
+57  -1
+0.99048 0.00000 0.00476 0.00000 0.00476 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.66667 0.00000 0.04444 0.00000 0.28889 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.60000 0.00000 0.33333 0.00000 0.06667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.18750 0.06250 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.52174 0.17391 0.17391 0.13043 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 57 type 2
+58  -1
+0.95951 0.00000 0.03644 0.00000 0.00405 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.33333 0.11111 0.33333 0.22222 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 58 type 2
+59  -1
+0.95816 0.00000 0.03766 0.00000 0.00418 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06250 0.00000 0.87500 0.00000 0.06250 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11765 0.41176 0.29412 0.17647 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 59 type 2
+60  -1
+0.93074 0.00000 0.06494 0.00000 0.00433 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.04167 0.00000 0.91667 0.00000 0.04167 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08000 0.52000 0.12000 0.28000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 60 type 2
+61  -1
+0.92166 0.00000 0.07373 0.00000 0.00461 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02632 0.00000 0.94737 0.00000 0.02632 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.17949 0.25641 0.43590 0.12821 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 61 type 2
+62  -1
+0.98515 0.00000 0.00990 0.00000 0.00495 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01887 0.00000 0.96226 0.00000 0.01887 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11111 0.14815 0.61111 0.12963 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 62 type 2
+63  -1
+0.99005 0.00000 0.00498 0.00000 0.00498 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01852 0.00000 0.96296 0.00000 0.01852 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.32727 0.29091 0.30909 0.07273 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 63 type 2
+64  -1
+0.00498 0.00000 0.99005 0.00000 0.00498 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.31481 0.00000 0.66667 0.00000 0.01852 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05455 0.43636 0.20000 0.30909 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 64 type 2
+65  -1
+0.05263 0.00000 0.89474 0.00000 0.05263 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00424 0.00000 0.22458 0.00000 0.77119 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00543 0.00000 0.98913 0.00000 0.00543 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02162 0.03784 0.03243 0.90811 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08861 0.02532 0.78481 0.10127 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 65 type 2
+66  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00791 0.77075 0.01186 0.20949 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 66 type 2
+67  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.22134 0.07905 0.67984 0.01976 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 67 type 2
+68  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15415 0.37154 0.29644 0.17787 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 68 type 2
+69  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.23715 0.23715 0.40711 0.11858 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 69 type 2
+70  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.12648 0.00791 0.86166 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 70 type 2
+71  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00791 0.00395 0.98419 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 71 type 2
+72  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.00395 0.00395 0.98814 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 72 type 2
+73  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00398 0.00000 0.99203 0.00000 0.00398 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00397 0.00397 0.00397 0.98810 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 73 type 2
+74  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.98814 0.00395 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 74 type 2
+75  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.31225 0.00395 0.67984 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 75 type 2
+76  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00794 0.00000 0.98810 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.98814 0.00395 0.00395 0.00395 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 76 type 2
+77  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01594 0.00000 0.98008 0.00000 0.00398 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.38095 0.03968 0.38095 0.19841 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 77 type 2
+78  -1
+0.16667 0.00000 0.66667 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00402 0.00000 0.99197 0.00000 0.00402 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00800 0.16000 0.00400 0.82800 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 78 type 2
+79  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.97233 0.00791 0.01581 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 79 type 2
+80  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00395 0.86561 0.00791 0.12253 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 80 type 2
+81  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11067 0.36759 0.24111 0.28063 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 81 type 2
+82  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11858 0.20553 0.42292 0.25296 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 82 type 2
+83  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01186 0.39526 0.07905 0.51383 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 83 type 2
+84  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.26087 0.43083 0.02767 0.28063 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 84 type 2
+85  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.24901 0.24901 0.27273 0.22925 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 85 type 2
+86  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04743 0.34783 0.37549 0.22925 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 86 type 2
+87  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10672 0.49407 0.31621 0.08300 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 87 type 2
+88  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09091 0.36759 0.30830 0.23320 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 88 type 2
+89  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00397 0.00000 0.99206 0.00000 0.00397 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03557 0.55336 0.35968 0.05138 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 89 type 2
+90  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01190 0.00000 0.98016 0.00000 0.00794 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.40000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08696 0.73123 0.07115 0.11067 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 90 type 2
+91  -1
+0.60000 0.00000 0.20000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.17600 0.00000 0.82000 0.00000 0.00400 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.62550 0.03586 0.22311 0.11554 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 91 type 2
+92  -1
+0.95833 0.00000 0.02083 0.00000 0.02083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00483 0.00000 0.99034 0.00000 0.00483 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00481 0.98558 0.00481 0.00481 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 92 type 2
+93  -1
+0.95833 0.00000 0.02083 0.00000 0.02083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00483 0.00000 0.99034 0.00000 0.00483 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00481 0.98558 0.00481 0.00481 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 93 type 2
+-1  -1
+0.97872 0.00000 0.00000 0.00000 0.02128 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99515 0.00000 0.00000 0.00000 0.00485 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.98558 0.00481 0.00481 0.00481 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/TRNA2-euk.cm b/TRNA2-euk.cm
new file mode 100644
index 0000000..7e17697
--- /dev/null
+++ b/TRNA2-euk.cm
@@ -0,0 +1,1154 @@
+### cove V2
+72 	nodes
+### node 0 type 6
+1  -1
+0.01220 0.00000 0.00000 0.96748 0.00407 0.01626 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.00000 0.25000 0.25000 0.25000 
+0.08333 0.00000 0.00000 0.33333 0.00000 0.58333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.30769 0.53846 0.07692 0.07692 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 3
+2  -1
+0.14286 0.42857 0.14286 0.14286 0.00000 0.14286 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.98367 0.00408 0.00408 0.00000 0.00408 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.50000 0.06148 0.36066 0.07787 # MATR
+### node 2 type 1
+3  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.00388 0.05039 # MATP
+0.00388 0.00388 0.06202 0.00388 # MATP
+0.00388 0.67054 0.00388 0.04651 # MATP
+0.12791 0.00388 0.00388 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 3 type 1
+4  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.00388 0.04651 # MATP
+0.01163 0.00388 0.40310 0.01163 # MATP
+0.00388 0.23256 0.00388 0.08140 # MATP
+0.17442 0.00388 0.00775 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 4 type 1
+5  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.00388 0.08915 # MATP
+0.00388 0.00388 0.51938 0.00388 # MATP
+0.00388 0.10465 0.00775 0.05426 # MATP
+0.17054 0.00388 0.01938 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 5 type 1
+6  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.00388 0.16667 # MATP
+0.00775 0.00388 0.27132 0.00775 # MATP
+0.00388 0.15891 0.00775 0.04264 # MATP
+0.19380 0.00388 0.11628 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 6 type 1
+7  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00775 0.00388 0.12403 # MATP
+0.00388 0.00388 0.36047 0.00388 # MATP
+0.01163 0.18992 0.01163 0.07364 # MATP
+0.13178 0.00388 0.05814 0.00775 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 7 type 1
+8  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.01163 0.11628 # MATP
+0.00388 0.00388 0.28682 0.00775 # MATP
+0.00388 0.23256 0.00388 0.09302 # MATP
+0.12016 0.00388 0.07752 0.02713 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 8 type 1
+9  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00407 0.00000 0.98780 0.00000 0.00407 0.00407 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00775 0.00388 0.29070 # MATP
+0.00388 0.00388 0.05426 0.00388 # MATP
+0.00388 0.38372 0.00388 0.03101 # MATP
+0.19380 0.00388 0.00388 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 9 type 2
+10  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00816 0.00000 0.96735 0.00000 0.02449 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11111 0.11111 0.66667 0.11111 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.00407 0.00407 0.98780 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 10 type 2
+11  -1
+0.66667 0.00000 0.00000 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.97531 0.00000 0.00000 0.00000 0.02469 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.85714 0.00000 0.00000 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.33333 0.11111 0.22222 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.42041 0.01224 0.55510 0.01224 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 11 type 0
+12  25
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 12 type 4
+13  -1
+0.00407 0.98780 0.00407 0.00407 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 13 type 1
+14  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.00388 0.01163 # MATP
+0.00388 0.00388 0.04264 0.00388 # MATP
+0.00388 0.64341 0.00775 0.23256 # MATP
+0.02326 0.00388 0.00388 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 14 type 1
+15  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.00388 0.00388 # MATP
+0.00775 0.00388 0.60853 0.00388 # MATP
+0.00388 0.01550 0.00388 0.00388 # MATP
+0.31008 0.00388 0.01550 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 15 type 1
+16  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.01550 0.00388 0.10078 # MATP
+0.01163 0.00388 0.28295 0.00388 # MATP
+0.00388 0.25581 0.00388 0.00388 # MATP
+0.27519 0.00388 0.02326 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 16 type 1
+17  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00407 0.00000 0.98780 0.00000 0.00407 0.00407 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.03488 0.00388 0.00775 0.00775 # MATP
+0.03101 0.00775 0.38372 0.00775 # MATP
+0.13566 0.01163 0.00388 0.02713 # MATP
+0.03876 0.00388 0.13566 0.15891 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 17 type 2
+18  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.97561 0.00407 0.01220 0.00813 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 18 type 2
+19  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00816 0.00000 0.98776 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.14228 0.00407 0.84146 0.01220 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 19 type 2
+20  -1
+0.50000 0.00000 0.25000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.66803 0.00000 0.32787 0.00000 0.00410 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03265 0.13878 0.06939 0.75918 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 20 type 2
+21  -1
+0.00602 0.00000 0.98795 0.00000 0.00602 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01220 0.00000 0.96341 0.00000 0.02439 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.40000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02410 0.36145 0.04819 0.56627 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.00407 0.98780 0.00407 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+23  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.00407 0.97967 0.01220 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 2
+24  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01224 0.00000 0.44898 0.00000 0.53878 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01250 0.00000 0.81875 0.00000 0.16875 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02484 0.17391 0.06211 0.73913 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10569 0.05285 0.04065 0.80081 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 2
+-1  -1
+0.80000 0.00000 0.00000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99585 0.00000 0.00000 0.00000 0.00415 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.96708 0.00823 0.00412 0.02058 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 5
+26  -1
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 2
+27  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99590 0.00000 0.00000 0.00000 0.00410 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.18293 0.03659 0.60163 0.17886 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 0
+28  41
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 28 type 4
+29  -1
+0.00407 0.98374 0.00813 0.00407 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 29 type 1
+30  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00405 0.97976 0.00405 0.00405 0.00405 0.00405 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00389 0.00389 0.00778 0.07393 # MATP
+0.00389 0.00389 0.39689 0.00389 # MATP
+0.00389 0.03113 0.00389 0.10506 # MATP
+0.30350 0.01167 0.03891 0.00389 # MATP
+0.20000 0.40000 0.20000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 30 type 1
+31  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.00388 0.14729 # MATP
+0.00388 0.00388 0.29845 0.00388 # MATP
+0.00388 0.10465 0.00388 0.00775 # MATP
+0.35659 0.00388 0.04264 0.00775 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 31 type 1
+32  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00775 0.00388 0.00388 0.22481 # MATP
+0.00388 0.00775 0.24031 0.00388 # MATP
+0.00388 0.26744 0.00388 0.00388 # MATP
+0.20930 0.00388 0.00388 0.00775 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 32 type 1
+33  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.01163 0.00388 0.00775 # MATP
+0.00388 0.00388 0.14341 0.00388 # MATP
+0.00388 0.74419 0.00388 0.03101 # MATP
+0.00775 0.00388 0.01938 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 33 type 1
+34  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00407 0.00000 0.98780 0.00000 0.00407 0.00407 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.00775 0.37209 # MATP
+0.00388 0.00388 0.24419 0.00388 # MATP
+0.00388 0.25969 0.00388 0.00775 # MATP
+0.04651 0.00775 0.01550 0.01163 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 34 type 2
+35  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.77236 0.00407 0.21951 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 35 type 2
+36  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.04878 0.00407 0.94309 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 36 type 2
+37  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20325 0.30894 0.24797 0.23984 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 37 type 2
+38  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.24797 0.17073 0.23984 0.34146 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.29268 0.25203 0.17886 0.27642 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+40  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.86122 0.00000 0.13469 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00167 0.00000 0.05500 0.00000 0.94333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.31947 0.18636 0.20466 0.28952 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.71545 0.00813 0.27236 0.00407 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99590 0.00000 0.00000 0.00000 0.00410 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.62195 0.23171 0.00407 0.14228 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 5
+42  -1
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 42 type 2
+43  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.79592 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.55691 0.09350 0.09350 0.25610 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 43 type 2
+44  -1
+0.98000 0.00000 0.00000 0.00000 0.02000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99490 0.00000 0.00000 0.00000 0.00510 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07071 0.02020 0.87374 0.03535 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 44 type 0
+45  57
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 45 type 4
+46  -1
+0.78455 0.20325 0.00813 0.00407 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 46 type 1
+47  -1
+0.97475 0.00505 0.00505 0.00505 0.00505 0.00505 
+0.01818 0.90909 0.01818 0.01818 0.01818 0.01818 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01538 0.01538 0.01538 0.03077 # MATP
+0.01538 0.01538 0.26154 0.01538 # MATP
+0.01538 0.41538 0.01538 0.03077 # MATP
+0.09231 0.01538 0.01538 0.01538 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 47 type 1
+48  -1
+0.97475 0.00505 0.00505 0.00505 0.00505 0.00505 
+0.05455 0.87273 0.01818 0.01818 0.01818 0.01818 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01538 0.01538 0.01538 0.01538 # MATP
+0.06154 0.01538 0.15385 0.01538 # MATP
+0.01538 0.35385 0.01538 0.01538 # MATP
+0.20000 0.01538 0.04615 0.03077 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 48 type 1
+49  -1
+0.97500 0.00500 0.00500 0.00500 0.00500 0.00500 
+0.16981 0.75472 0.01887 0.01887 0.01887 0.01887 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01587 0.01587 0.01587 0.06349 # MATP
+0.01587 0.03175 0.33333 0.01587 # MATP
+0.01587 0.30159 0.01587 0.01587 # MATP
+0.04762 0.01587 0.06349 0.01587 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 49 type 1
+50  -1
+0.97596 0.00481 0.00481 0.00481 0.00481 0.00481 
+0.77778 0.13333 0.02222 0.02222 0.02222 0.02222 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01818 0.01818 0.01818 0.01818 # MATP
+0.03636 0.01818 0.41818 0.01818 # MATP
+0.01818 0.20000 0.01818 0.01818 # MATP
+0.07273 0.01818 0.07273 0.01818 # MATP
+0.20000 0.20000 0.20000 0.40000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 50 type 1
+51  -1
+0.97934 0.00413 0.00413 0.00413 0.00413 0.00413 
+0.45455 0.18182 0.09091 0.09091 0.09091 0.09091 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.04762 0.04762 0.04762 0.04762 # MATP
+0.04762 0.04762 0.09524 0.04762 # MATP
+0.04762 0.04762 0.04762 0.04762 # MATP
+0.09524 0.04762 0.19048 0.04762 # MATP
+0.40000 0.20000 0.20000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 51 type 1
+52  -1
+0.97967 0.00407 0.00407 0.00407 0.00407 0.00407 
+0.25000 0.25000 0.12500 0.12500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.05556 0.05556 0.05556 0.05556 # MATP
+0.05556 0.05556 0.05556 0.05556 # MATP
+0.05556 0.05556 0.11111 0.05556 # MATP
+0.05556 0.05556 0.05556 0.11111 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 52 type 1
+53  -1
+0.78776 0.00000 0.19592 0.00000 0.00408 0.01224 
+0.20000 0.00000 0.20000 0.00000 0.20000 0.40000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.16667 0.00000 0.66667 0.00000 0.00000 0.16667 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.14286 0.14286 0.57143 0.14286 # INSR
+0.05882 0.05882 0.05882 0.05882 # MATP
+0.05882 0.05882 0.11765 0.05882 # MATP
+0.05882 0.05882 0.05882 0.05882 # MATP
+0.05882 0.05882 0.05882 0.05882 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 53 type 2
+54  -1
+0.98974 0.00000 0.00513 0.00000 0.00513 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01887 0.00000 0.96226 0.00000 0.01887 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09259 0.16667 0.11111 0.62963 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 54 type 2
+55  -1
+0.98974 0.00000 0.00513 0.00000 0.00513 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09434 0.00000 0.88679 0.00000 0.01887 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07407 0.37037 0.03704 0.51852 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 55 type 2
+56  -1
+0.98995 0.00000 0.00503 0.00000 0.00503 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.65306 0.00000 0.32653 0.00000 0.02041 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.18000 0.12000 0.04000 0.66000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 56 type 2
+-1  -1
+0.99563 0.00000 0.00000 0.00000 0.00437 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.94118 0.00000 0.00000 0.00000 0.05882 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.26316 0.10526 0.47368 0.15789 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 57 type 5
+58  -1
+0.01224 0.00000 0.98367 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 58 type 2
+59  -1
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00412 0.00000 0.39918 0.00000 0.59671 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00676 0.00000 0.97973 0.00000 0.01351 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00671 0.05369 0.02013 0.91946 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20492 0.02459 0.75820 0.01230 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 59 type 2
+60  -1
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00405 0.98381 0.00405 0.00405 0.00405 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02846 0.82520 0.01626 0.13008 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 60 type 1
+61  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.95968 0.00403 0.00403 0.00403 0.02419 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.10000 0.60000 0.10000 0.10000 0.00000 0.10000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.11111 0.66667 0.11111 0.11111 # INSR
+0.00388 0.00388 0.00388 0.08527 # MATP
+0.00775 0.00388 0.40310 0.00388 # MATP
+0.00388 0.37209 0.00388 0.05426 # MATP
+0.02326 0.00388 0.01938 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 61 type 1
+62  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.00388 0.07364 # MATP
+0.00388 0.00388 0.53488 0.00775 # MATP
+0.00388 0.10465 0.00388 0.02326 # MATP
+0.18992 0.00775 0.02713 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 62 type 1
+63  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.00388 0.18605 # MATP
+0.00388 0.00388 0.10078 0.00388 # MATP
+0.00388 0.49225 0.00388 0.00388 # MATP
+0.09690 0.00388 0.06977 0.01550 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 63 type 1
+64  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00403 0.97984 0.00403 0.00403 0.00403 0.00403 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00775 0.00388 0.09302 # MATP
+0.00388 0.00775 0.01163 0.00775 # MATP
+0.00775 0.77907 0.00388 0.01938 # MATP
+0.03488 0.00775 0.00388 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 64 type 1
+65  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00407 0.00000 0.98780 0.00000 0.00407 0.00407 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00388 0.00388 0.00388 0.00775 # MATP
+0.00388 0.00388 0.00388 0.00388 # MATP
+0.00388 0.93023 0.00388 0.01163 # MATP
+0.00388 0.00388 0.00388 0.00388 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 65 type 2
+66  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08537 0.00407 0.00407 0.90650 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 66 type 2
+67  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.00407 0.00407 0.98780 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 67 type 2
+68  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.97967 0.00813 0.00813 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 68 type 2
+69  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.22764 0.00407 0.76016 0.00813 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 69 type 2
+70  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.98780 0.00407 0.00407 0.00407 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 70 type 2
+71  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00816 0.00000 0.98776 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.43496 0.05691 0.13821 0.36992 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 71 type 2
+-1  -1
+0.66667 0.00000 0.00000 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99588 0.00000 0.00000 0.00000 0.00412 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10612 0.24490 0.00816 0.64082 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/TRNA2-eukns.cm b/TRNA2-eukns.cm
new file mode 100644
index 0000000..fa3d6ec
--- /dev/null
+++ b/TRNA2-eukns.cm
@@ -0,0 +1,1458 @@
+### cove V2
+91 	nodes
+### node 0 type 6
+1  -1
+0.00407 0.00000 0.97561 0.00000 0.00407 0.01626 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.08333 0.00000 0.33333 0.00000 0.00000 0.58333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.30769 0.53846 0.07692 0.07692 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 2
+2  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05285 0.06504 0.74797 0.13415 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 2 type 2
+3  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04878 0.43902 0.32520 0.18699 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 3 type 2
+4  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09350 0.54472 0.16667 0.19512 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 4 type 2
+5  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.17480 0.29268 0.21138 0.32114 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 5 type 2
+6  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.13415 0.37805 0.28862 0.19919 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 6 type 2
+7  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.13008 0.30488 0.33740 0.22764 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 7 type 2
+8  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.30894 0.05691 0.43089 0.20325 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 8 type 2
+9  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00816 0.00000 0.96735 0.00000 0.02449 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11111 0.11111 0.66667 0.11111 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.00407 0.00407 0.98780 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 9 type 2
+10  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00410 0.00000 0.97131 0.00000 0.02459 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.33333 0.11111 0.22222 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.42041 0.01224 0.55510 0.01224 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 10 type 2
+11  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01220 0.04472 0.91870 0.02439 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 11 type 2
+12  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.64228 0.01626 0.33740 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 12 type 2
+13  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11789 0.30488 0.26829 0.30894 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 13 type 2
+14  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04472 0.43902 0.17480 0.34146 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 14 type 2
+15  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.97561 0.00407 0.01220 0.00813 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 15 type 2
+16  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00816 0.00000 0.98776 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.14228 0.00407 0.84146 0.01220 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 16 type 2
+17  -1
+0.50000 0.00000 0.25000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.66803 0.00000 0.32787 0.00000 0.00410 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03265 0.13878 0.06939 0.75918 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 17 type 2
+18  -1
+0.00602 0.00000 0.98795 0.00000 0.00602 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01220 0.00000 0.96341 0.00000 0.02439 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.40000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02410 0.36145 0.04819 0.56627 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 18 type 2
+19  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.00407 0.98780 0.00407 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 19 type 2
+20  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.00407 0.97967 0.01220 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 20 type 2
+21  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01224 0.00000 0.44898 0.00000 0.53878 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01250 0.00000 0.81875 0.00000 0.16875 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02484 0.17391 0.06211 0.73913 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10569 0.05285 0.04065 0.80081 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.16667 0.00000 0.66667 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00413 0.00000 0.99174 0.00000 0.00413 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.96708 0.00823 0.00412 0.02058 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+23  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.23984 0.01626 0.54472 0.19919 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 2
+24  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.29675 0.28049 0.31707 0.10569 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 2
+25  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.32927 0.01626 0.65041 0.00407 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 2
+26  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02439 0.67480 0.04878 0.25203 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 2
+27  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.18293 0.03659 0.60163 0.17886 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 2
+28  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08130 0.41870 0.13821 0.36179 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 28 type 2
+29  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15447 0.31301 0.11382 0.41870 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 29 type 2
+30  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.23984 0.25610 0.28049 0.22358 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 30 type 2
+31  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01626 0.15041 0.80894 0.02439 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 31 type 2
+32  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.39431 0.25610 0.27642 0.07317 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 32 type 2
+33  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.77236 0.00407 0.21951 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 33 type 2
+34  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.04878 0.00407 0.94309 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 34 type 2
+35  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20325 0.30894 0.24797 0.23984 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 35 type 2
+36  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.24797 0.17073 0.23984 0.34146 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 36 type 2
+37  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.29268 0.25203 0.17886 0.27642 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 37 type 2
+38  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.86122 0.00000 0.13469 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00167 0.00000 0.05500 0.00000 0.94333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.31947 0.18636 0.20466 0.28952 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.71545 0.00813 0.27236 0.00407 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.62195 0.23171 0.00407 0.14228 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+40  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04878 0.27642 0.27236 0.40244 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 2
+41  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00813 0.78862 0.16667 0.03659 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 2
+42  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.22358 0.28455 0.25203 0.23984 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 42 type 2
+43  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00816 0.00000 0.98776 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.37398 0.10976 0.35366 0.16260 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 43 type 2
+44  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00410 0.00000 0.99180 0.00000 0.00410 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.31837 0.04082 0.45714 0.18367 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 44 type 2
+45  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.79592 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.55691 0.09350 0.09350 0.25610 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 45 type 2
+46  -1
+0.01961 0.00000 0.96078 0.00000 0.01961 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.97970 0.00000 0.01523 0.00000 0.00508 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07071 0.02020 0.87374 0.03535 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 46 type 2
+47  -1
+0.98974 0.00000 0.00513 0.00000 0.00513 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01887 0.00000 0.96226 0.00000 0.01887 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03704 0.31481 0.53704 0.11111 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 47 type 2
+48  -1
+0.98974 0.00000 0.00513 0.00000 0.00513 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05660 0.00000 0.92453 0.00000 0.01887 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01852 0.24074 0.44444 0.29630 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 48 type 2
+49  -1
+0.98985 0.00000 0.00508 0.00000 0.00508 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.17647 0.00000 0.80392 0.00000 0.01961 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07692 0.42308 0.38462 0.11538 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 49 type 2
+50  -1
+0.99024 0.00000 0.00488 0.00000 0.00488 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.81395 0.00000 0.16279 0.00000 0.02326 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02273 0.54545 0.25000 0.18182 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 50 type 2
+51  -1
+0.99163 0.00000 0.00418 0.00000 0.00418 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.55556 0.00000 0.33333 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20000 0.20000 0.10000 0.50000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 51 type 2
+52  -1
+0.99177 0.00000 0.00412 0.00000 0.00412 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.00000 0.40000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.16667 0.33333 0.33333 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 52 type 2
+53  -1
+0.79098 0.00000 0.20492 0.00000 0.00410 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20000 0.40000 0.20000 0.20000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 53 type 2
+54  -1
+0.98974 0.00000 0.00513 0.00000 0.00513 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01887 0.00000 0.96226 0.00000 0.01887 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09259 0.16667 0.11111 0.62963 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 54 type 2
+55  -1
+0.98974 0.00000 0.00513 0.00000 0.00513 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09434 0.00000 0.88679 0.00000 0.01887 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07407 0.37037 0.03704 0.51852 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 55 type 2
+56  -1
+0.98995 0.00000 0.00503 0.00000 0.00503 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.65306 0.00000 0.32653 0.00000 0.02041 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.18000 0.12000 0.04000 0.66000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 56 type 2
+57  -1
+0.99130 0.00000 0.00435 0.00000 0.00435 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.72222 0.00000 0.05556 0.00000 0.22222 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.33333 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.14286 0.14286 0.57143 0.14286 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.26316 0.10526 0.47368 0.15789 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 57 type 2
+58  -1
+0.98770 0.00000 0.00820 0.00000 0.00410 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 58 type 2
+59  -1
+0.97531 0.00000 0.02058 0.00000 0.00412 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.00000 0.40000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16667 0.16667 0.33333 0.33333 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 59 type 2
+60  -1
+0.85000 0.00000 0.14583 0.00000 0.00417 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.22222 0.11111 0.55556 0.11111 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 60 type 2
+61  -1
+0.95146 0.00000 0.04369 0.00000 0.00485 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02381 0.00000 0.95238 0.00000 0.02381 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11628 0.25581 0.60465 0.02326 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 61 type 2
+62  -1
+0.97980 0.00000 0.01515 0.00000 0.00505 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02000 0.00000 0.96000 0.00000 0.02000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05882 0.39216 0.47059 0.07843 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 62 type 2
+63  -1
+0.98980 0.00000 0.00510 0.00000 0.00510 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01923 0.00000 0.96154 0.00000 0.01923 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.30189 0.43396 0.22642 0.03774 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 63 type 2
+64  -1
+0.01020 0.00000 0.98469 0.00000 0.00510 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03846 0.00000 0.94231 0.00000 0.01923 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11321 0.50943 0.32075 0.05660 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 64 type 2
+65  -1
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00412 0.00000 0.39918 0.00000 0.59671 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00676 0.00000 0.97973 0.00000 0.01351 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00671 0.05369 0.02013 0.91946 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20492 0.02459 0.75820 0.01230 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 65 type 2
+66  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02846 0.82520 0.01626 0.13008 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 66 type 2
+67  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08943 0.42683 0.44309 0.04065 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 67 type 2
+68  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07724 0.56504 0.13008 0.22764 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 68 type 2
+69  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.19512 0.10569 0.51626 0.18293 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 69 type 2
+70  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10163 0.02033 0.83740 0.04065 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 70 type 2
+71  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00813 0.00407 0.98374 0.00407 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 71 type 2
+72  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08537 0.00407 0.00407 0.90650 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 72 type 2
+73  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.00407 0.00407 0.98780 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 73 type 2
+74  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.97967 0.00813 0.00813 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 74 type 2
+75  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.22764 0.00407 0.76016 0.00813 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 75 type 2
+76  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.98780 0.00407 0.00407 0.00407 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 76 type 2
+77  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00816 0.00000 0.98776 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.43496 0.05691 0.13821 0.36992 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 77 type 2
+78  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00410 0.00000 0.99180 0.00000 0.00410 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10612 0.24490 0.00816 0.64082 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 78 type 2
+79  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00407 0.97561 0.00407 0.01626 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 79 type 2
+80  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04065 0.82927 0.01220 0.11789 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 80 type 2
+81  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10163 0.51626 0.17480 0.20732 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 81 type 2
+82  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.97143 0.00000 0.02449 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11111 0.66667 0.11111 0.11111 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.19919 0.11382 0.58537 0.10163 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 82 type 2
+83  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02846 0.39024 0.43902 0.14228 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 83 type 2
+84  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20325 0.40650 0.05691 0.33333 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 84 type 2
+85  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.12602 0.24390 0.38618 0.24390 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 85 type 2
+86  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.14634 0.20325 0.44309 0.20732 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 86 type 2
+87  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20732 0.16667 0.40650 0.21951 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 87 type 2
+88  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.17886 0.10976 0.56504 0.14634 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 88 type 2
+89  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00408 0.00000 0.99184 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.19106 0.24390 0.42683 0.13821 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 89 type 2
+90  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01224 0.00000 0.98367 0.00000 0.00408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.13415 0.70325 0.06504 0.09756 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 90 type 2
+-1  -1
+0.75000 0.00000 0.00000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99587 0.00000 0.00000 0.00000 0.00413 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.50000 0.06148 0.36066 0.07787 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/TRNA2.cm b/TRNA2.cm
new file mode 100644
index 0000000..d2e9548
--- /dev/null
+++ b/TRNA2.cm
@@ -0,0 +1,1154 @@
+### cove V2
+72 	nodes
+### node 0 type 6
+1  -1
+0.00846 0.00000 0.00000 0.80479 0.02326 0.16350 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.00000 0.50000 0.02778 0.44444 
+0.00137 0.00000 0.00000 0.33789 0.00000 0.66074 
+0.05556 0.02778 0.86111 0.05556 # INSL
+0.33060 0.66530 0.00137 0.00273 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 3
+2  -1
+0.06250 0.56250 0.06250 0.25000 0.00000 0.06250 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.99503 0.00071 0.00213 0.00000 0.00142 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.33333 0.16667 0.16667 0.00000 0.16667 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.20000 0.40000 0.20000 0.20000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.56676 0.06605 0.22443 0.14276 # MATR
+### node 2 type 1
+3  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00071 0.99647 0.00071 0.00071 0.00071 0.00071 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.09091 0.54545 0.09091 0.09091 0.09091 0.09091 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00281 0.00561 0.00351 0.14727 # MATP
+0.00771 0.00281 0.07433 0.00210 # MATP
+0.00070 0.57153 0.00070 0.08555 # MATP
+0.08555 0.00070 0.00210 0.00701 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.11111 0.33333 0.11111 0.44444 # MATR
+### node 3 type 1
+4  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00070 0.00070 0.00070 0.12159 # MATP
+0.00349 0.00140 0.32565 0.00280 # MATP
+0.00140 0.37596 0.00210 0.03774 # MATP
+0.11461 0.00070 0.00839 0.00210 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 4 type 1
+5  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00349 0.00210 0.00140 0.16771 # MATP
+0.00280 0.00140 0.27533 0.00210 # MATP
+0.00070 0.29979 0.00210 0.05451 # MATP
+0.16841 0.00140 0.01328 0.00349 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 5 type 1
+6  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99507 0.00070 0.00141 0.00141 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.20000 0.20000 0.20000 0.40000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00839 0.00280 0.00140 0.18728 # MATP
+0.00559 0.00489 0.20685 0.00210 # MATP
+0.00210 0.29769 0.00140 0.05031 # MATP
+0.17750 0.00070 0.04892 0.00210 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 6 type 1
+7  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00280 0.00629 0.00420 0.27832 # MATP
+0.00490 0.00490 0.23007 0.00280 # MATP
+0.00210 0.20280 0.00210 0.04895 # MATP
+0.16014 0.00140 0.04266 0.00559 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.20000 0.40000 0.20000 0.20000 # MATR
+### node 7 type 1
+8  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99507 0.00141 0.00070 0.00141 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.20000 0.20000 0.40000 0.20000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00140 0.00140 0.00210 0.19497 # MATP
+0.00419 0.00140 0.19846 0.00349 # MATP
+0.00070 0.19427 0.00070 0.02935 # MATP
+0.28302 0.00210 0.05870 0.02376 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 8 type 1
+9  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00212 0.00000 0.99365 0.00000 0.00071 0.00353 
+0.20000 0.00000 0.40000 0.00000 0.20000 0.20000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.14286 0.00000 0.71429 0.00000 0.00000 0.14286 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.12500 0.37500 0.12500 0.37500 # INSR
+0.00070 0.00280 0.00070 0.36014 # MATP
+0.00070 0.00070 0.02867 0.00070 # MATP
+0.00140 0.35245 0.00070 0.03916 # MATP
+0.20699 0.00070 0.00140 0.00210 # MATP
+0.20000 0.20000 0.20000 0.40000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 9 type 2
+10  -1
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00636 0.00000 0.98799 0.00000 0.00565 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09091 0.09091 0.63636 0.18182 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04799 0.00423 0.01764 0.93013 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 10 type 2
+11  -1
+0.90000 0.00000 0.00000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99290 0.00000 0.00000 0.00000 0.00710 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.90909 0.00000 0.00000 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.38462 0.30769 0.15385 0.15385 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.64352 0.03402 0.30191 0.02055 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 11 type 0
+12  25
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 12 type 4
+13  -1
+0.00070 0.99789 0.00070 0.00070 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 13 type 1
+14  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00140 0.00140 0.00419 0.06988 # MATP
+0.00140 0.00140 0.03494 0.00140 # MATP
+0.00210 0.72746 0.00210 0.12229 # MATP
+0.02446 0.00070 0.00280 0.00210 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 14 type 1
+15  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00070 0.00140 0.00140 0.02935 # MATP
+0.00140 0.00070 0.59399 0.00070 # MATP
+0.00070 0.05311 0.00140 0.00210 # MATP
+0.29140 0.00349 0.01677 0.00140 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 15 type 1
+16  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00419 0.00419 0.00070 0.09154 # MATP
+0.00769 0.00140 0.19147 0.00070 # MATP
+0.00210 0.16422 0.00070 0.00349 # MATP
+0.50943 0.00140 0.01607 0.00070 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 16 type 1
+17  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00352 0.00000 0.99507 0.00000 0.00070 0.00070 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.09574 0.00349 0.00769 0.03634 # MATP
+0.01048 0.00349 0.34172 0.00210 # MATP
+0.12788 0.00978 0.00489 0.02096 # MATP
+0.18169 0.00419 0.10273 0.04682 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 17 type 2
+18  -1
+0.71429 0.00000 0.14286 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00707 0.00000 0.99222 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.94770 0.00495 0.01979 0.02756 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 18 type 2
+19  -1
+0.87500 0.00000 0.06250 0.00000 0.06250 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11886 0.00000 0.88043 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.35562 0.01991 0.56899 0.05548 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 19 type 2
+20  -1
+0.98901 0.00000 0.00549 0.00000 0.00549 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.55609 0.00000 0.44310 0.00000 0.00081 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10887 0.21290 0.03871 0.63952 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 20 type 2
+21  -1
+0.06552 0.00000 0.93333 0.00000 0.00115 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00544 0.00000 0.75318 0.00000 0.24138 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00725 0.00000 0.96377 0.00000 0.02899 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09353 0.25180 0.02158 0.63309 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07790 0.23551 0.01630 0.67029 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.96721 0.00000 0.01639 0.00000 0.01639 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00074 0.00000 0.99853 0.00000 0.00074 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09111 0.03086 0.83248 0.04555 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+23  -1
+0.96721 0.00000 0.01639 0.00000 0.01639 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.13750 0.00000 0.86176 0.00000 0.00074 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05217 0.03527 0.83174 0.08082 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 2
+24  -1
+0.01215 0.00000 0.96761 0.00000 0.02024 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00341 0.00000 0.50681 0.00000 0.48978 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00789 0.00000 0.75526 0.00000 0.23684 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16689 0.16032 0.06965 0.60315 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09702 0.10298 0.04426 0.75574 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 2
+-1  -1
+0.91667 0.00000 0.00000 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99929 0.00000 0.00000 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.87722 0.01490 0.06388 0.04400 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 5
+26  -1
+0.00212 0.00000 0.99718 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 2
+27  -1
+0.75000 0.00000 0.00000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99505 0.00000 0.00000 0.00000 0.00495 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.87500 0.00000 0.00000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.20000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.45730 0.03529 0.41637 0.09104 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 0
+28  41
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 28 type 4
+29  -1
+0.00070 0.99648 0.00211 0.00070 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 29 type 1
+30  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99436 0.00070 0.00070 0.00141 0.00211 
+0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.14286 0.42857 0.14286 0.14286 0.00000 0.14286 
+0.20000 0.20000 0.20000 0.40000 # INSL
+0.16667 0.50000 0.16667 0.16667 # INSR
+0.01190 0.00420 0.00210 0.14206 # MATP
+0.01470 0.00910 0.30861 0.01260 # MATP
+0.00560 0.06018 0.00070 0.06578 # MATP
+0.29531 0.00700 0.04759 0.01260 # MATP
+0.16667 0.33333 0.33333 0.16667 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 30 type 1
+31  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00070 0.00070 0.00070 0.16073 # MATP
+0.00070 0.00140 0.34871 0.00419 # MATP
+0.00070 0.08456 0.00070 0.02166 # MATP
+0.32984 0.00070 0.03215 0.01188 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 31 type 1
+32  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99578 0.00070 0.00141 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00210 0.00839 0.00070 0.23690 # MATP
+0.00280 0.00140 0.13697 0.00070 # MATP
+0.00070 0.35989 0.00140 0.00769 # MATP
+0.23201 0.00140 0.00349 0.00349 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 32 type 1
+33  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00140 0.00280 0.00070 0.09161 # MATP
+0.00140 0.00070 0.20909 0.00140 # MATP
+0.00070 0.59720 0.00070 0.05734 # MATP
+0.01608 0.00140 0.01049 0.00699 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.20000 0.20000 0.20000 0.40000 # MATR
+### node 33 type 1
+34  -1
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.00070 0.00000 0.99789 0.00000 0.00070 0.00070 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00210 0.00419 0.00210 0.34591 # MATP
+0.00140 0.00070 0.24948 0.00140 # MATP
+0.00140 0.19846 0.00280 0.01188 # MATP
+0.11950 0.00489 0.04333 0.01048 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 34 type 2
+35  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99718 0.00000 0.00212 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.50000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02114 0.60395 0.00634 0.36857 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 35 type 2
+36  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00070 0.02607 0.00070 0.97252 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 36 type 2
+37  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05144 0.18323 0.33756 0.42777 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 37 type 2
+38  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.30444 0.19662 0.20789 0.29105 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.25793 0.24172 0.20648 0.29387 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+40  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.97179 0.00000 0.02750 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.05485 0.00000 0.94374 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.31180 0.18680 0.21910 0.28230 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.78365 0.00141 0.21071 0.00423 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 2
+-1  -1
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99929 0.00000 0.00000 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.67935 0.17970 0.02467 0.11628 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 5
+42  -1
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 42 type 2
+43  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.14104 0.00000 0.85825 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.48273 0.13531 0.12333 0.25863 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 43 type 2
+44  -1
+0.99502 0.00000 0.00000 0.00000 0.00498 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99754 0.00000 0.00000 0.00000 0.00246 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.75000 0.00000 0.00000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.50000 0.16667 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.28033 0.02787 0.52295 0.16885 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 44 type 0
+45  57
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 45 type 4
+46  -1
+0.84144 0.15081 0.00705 0.00070 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 46 type 1
+47  -1
+0.99583 0.00083 0.00083 0.00083 0.00083 0.00083 
+0.00457 0.97717 0.00457 0.00457 0.00457 0.00457 
+0.60000 0.06667 0.13333 0.06667 0.06667 0.06667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00437 0.00873 0.01310 0.13974 # MATP
+0.00437 0.00437 0.10044 0.00437 # MATP
+0.00437 0.54148 0.02620 0.05240 # MATP
+0.07424 0.00873 0.00873 0.00437 # MATP
+0.07692 0.15385 0.23077 0.53846 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 47 type 1
+48  -1
+0.99586 0.00083 0.00083 0.00083 0.00083 0.00083 
+0.03653 0.94521 0.00457 0.00457 0.00457 0.00457 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00437 0.00873 0.00437 0.13100 # MATP
+0.01747 0.00437 0.23581 0.00437 # MATP
+0.00437 0.24454 0.00873 0.02183 # MATP
+0.27948 0.00437 0.01310 0.01310 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 48 type 1
+49  -1
+0.99588 0.00082 0.00082 0.00082 0.00082 0.00082 
+0.30660 0.65566 0.00472 0.00472 0.01415 0.01415 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.12500 0.37500 0.12500 0.12500 0.12500 0.12500 
+0.14286 0.42857 0.14286 0.14286 0.00000 0.14286 
+0.16667 0.33333 0.16667 0.33333 # INSL
+0.16667 0.16667 0.16667 0.50000 # INSR
+0.00901 0.00450 0.00450 0.22072 # MATP
+0.02252 0.01351 0.31982 0.00901 # MATP
+0.00450 0.14414 0.00901 0.02252 # MATP
+0.15766 0.00450 0.04505 0.00901 # MATP
+0.20000 0.20000 0.40000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 49 type 1
+50  -1
+0.99609 0.00078 0.00078 0.00078 0.00078 0.00078 
+0.45946 0.51351 0.00676 0.00676 0.00676 0.00676 
+0.14286 0.14286 0.28571 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01266 0.00633 0.00633 0.07595 # MATP
+0.01899 0.00633 0.34177 0.00633 # MATP
+0.00633 0.17089 0.00633 0.05063 # MATP
+0.18987 0.01899 0.06962 0.01266 # MATP
+0.20000 0.20000 0.20000 0.40000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 50 type 1
+51  -1
+0.99628 0.00074 0.00074 0.00074 0.00074 0.00074 
+0.32099 0.62963 0.01235 0.01235 0.01235 0.01235 
+0.14286 0.28571 0.14286 0.14286 0.14286 0.14286 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01099 0.01099 0.01099 0.20879 # MATP
+0.03297 0.01099 0.06593 0.01099 # MATP
+0.01099 0.16484 0.01099 0.10989 # MATP
+0.23077 0.02198 0.07692 0.01099 # MATP
+0.40000 0.20000 0.20000 0.20000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 51 type 1
+52  -1
+0.99635 0.00073 0.00073 0.00073 0.00073 0.00073 
+0.59649 0.33333 0.01754 0.01754 0.01754 0.01754 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.01493 0.01493 0.01493 0.23881 # MATP
+0.01493 0.01493 0.16418 0.01493 # MATP
+0.02985 0.11940 0.07463 0.01493 # MATP
+0.10448 0.01493 0.10448 0.04478 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 52 type 1
+53  -1
+0.85796 0.00000 0.12134 0.00000 0.00071 0.01999 
+0.04545 0.00000 0.45455 0.00000 0.04545 0.45455 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.02564 0.00000 0.94872 0.00000 0.00000 0.02564 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.52500 0.07500 0.12500 0.27500 # INSR
+0.02941 0.02941 0.02941 0.02941 # MATP
+0.02941 0.02941 0.20588 0.02941 # MATP
+0.05882 0.02941 0.02941 0.05882 # MATP
+0.20588 0.02941 0.11765 0.05882 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 53 type 2
+54  -1
+0.99834 0.00000 0.00083 0.00000 0.00083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00922 0.00000 0.98618 0.00000 0.00461 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.21101 0.09174 0.24312 0.45413 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 54 type 2
+55  -1
+0.99834 0.00000 0.00083 0.00000 0.00083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06019 0.00000 0.93519 0.00000 0.00463 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.27650 0.16590 0.05530 0.50230 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 55 type 2
+56  -1
+0.99836 0.00000 0.00082 0.00000 0.00082 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.37745 0.00000 0.60294 0.00000 0.01961 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.50000 0.00000 0.37500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.44444 0.11111 0.11111 0.33333 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.45854 0.09756 0.04878 0.39512 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 56 type 2
+-1  -1
+0.99923 0.00000 0.00000 0.00000 0.00077 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99213 0.00000 0.00000 0.00000 0.00787 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.36434 0.11628 0.27132 0.24806 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 57 type 5
+58  -1
+0.04866 0.00000 0.95063 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 58 type 2
+59  -1
+0.01408 0.00000 0.95775 0.00000 0.02817 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00148 0.00000 0.45259 0.00000 0.54593 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00133 0.00000 0.98400 0.00000 0.01467 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06525 0.07989 0.05060 0.80426 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.31384 0.02147 0.53442 0.13027 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 59 type 2
+60  -1
+0.16667 0.33333 0.16667 0.16667 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00070 0.99718 0.00070 0.00070 0.00070 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.20000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05642 0.57546 0.02186 0.34626 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 60 type 1
+61  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99296 0.00070 0.00070 0.00070 0.00422 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.10000 0.60000 0.10000 0.10000 0.00000 0.10000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.11111 0.66667 0.11111 0.11111 # INSR
+0.00699 0.00280 0.00210 0.27044 # MATP
+0.00280 0.00070 0.15164 0.00140 # MATP
+0.00070 0.36758 0.00140 0.12159 # MATP
+0.04682 0.00559 0.01398 0.00349 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 61 type 1
+62  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00070 0.99648 0.00070 0.00070 0.00070 0.00070 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00070 0.00280 0.00070 0.17191 # MATP
+0.00210 0.00210 0.32075 0.00140 # MATP
+0.00070 0.14885 0.00070 0.05311 # MATP
+0.24319 0.00349 0.03354 0.01398 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 62 type 1
+63  -1
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.00493 0.98733 0.00070 0.00070 0.00493 0.00141 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.08333 0.58333 0.08333 0.08333 0.08333 0.08333 
+0.16667 0.33333 0.16667 0.16667 0.00000 0.16667 
+0.40000 0.10000 0.10000 0.40000 # INSL
+0.20000 0.40000 0.20000 0.20000 # INSR
+0.00070 0.00839 0.00070 0.27813 # MATP
+0.00070 0.00070 0.14116 0.00140 # MATP
+0.00140 0.36618 0.00210 0.02516 # MATP
+0.14046 0.00070 0.02236 0.00978 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 63 type 1
+64  -1
+0.58333 0.08333 0.08333 0.08333 0.08333 0.08333 
+0.04382 0.95194 0.00141 0.00141 0.00071 0.00071 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.16667 0.16667 0.16667 0.16667 0.16667 0.16667 
+0.20000 0.20000 0.20000 0.20000 0.00000 0.20000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00070 0.01053 0.00070 0.16561 # MATP
+0.00211 0.00140 0.01614 0.00211 # MATP
+0.00211 0.73684 0.00070 0.01193 # MATP
+0.04000 0.00140 0.00632 0.00140 # MATP
+0.25000 0.25000 0.25000 0.25000 # MATL
+0.25000 0.25000 0.25000 0.25000 # MATR
+### node 64 type 1
+65  -1
+0.36620 0.00000 0.60563 0.00000 0.01408 0.01408 
+0.02519 0.00000 0.97333 0.00000 0.00074 0.00074 
+0.20000 0.00000 0.40000 0.00000 0.20000 0.20000 
+0.20000 0.00000 0.40000 0.00000 0.20000 0.20000 
+0.25000 0.00000 0.25000 0.00000 0.25000 0.25000 
+0.33333 0.00000 0.33333 0.00000 0.00000 0.33333 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.25000 0.25000 0.25000 0.25000 # INSR
+0.00073 0.00954 0.00073 0.04479 # MATP
+0.00954 0.00367 0.00367 0.00220 # MATP
+0.00073 0.89574 0.00147 0.00808 # MATP
+0.01101 0.00220 0.00367 0.00220 # MATP
+0.20000 0.40000 0.20000 0.20000 # MATL
+0.20000 0.40000 0.20000 0.20000 # MATR
+### node 65 type 2
+66  -1
+0.04918 0.00000 0.93443 0.00000 0.01639 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00147 0.00000 0.99706 0.00000 0.00147 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.20000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05878 0.03159 0.01323 0.89640 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 66 type 2
+67  -1
+0.16667 0.00000 0.66667 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.99788 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03955 0.02401 0.04802 0.88842 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 67 type 2
+68  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.99788 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10085 0.80889 0.01763 0.07264 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 68 type 2
+69  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00635 0.00000 0.98941 0.00000 0.00423 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.22222 0.44444 0.22222 0.11111 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.42666 0.02962 0.50000 0.04372 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 69 type 2
+70  -1
+0.81818 0.00000 0.09091 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03404 0.00000 0.96525 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.91850 0.02268 0.01701 0.04181 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 70 type 2
+71  -1
+0.93103 0.00000 0.05172 0.00000 0.01724 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06310 0.00000 0.92517 0.00000 0.01174 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05000 0.00000 0.80000 0.00000 0.15000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.42857 0.23810 0.14286 0.19048 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.46114 0.08284 0.21334 0.24267 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 71 type 2
+-1  -1
+0.99286 0.00000 0.00000 0.00000 0.00714 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99922 0.00000 0.00000 0.00000 0.00078 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05308 0.13973 0.01015 0.79703 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/TRNA2ns.cm b/TRNA2ns.cm
new file mode 100644
index 0000000..9e0f95b
--- /dev/null
+++ b/TRNA2ns.cm
@@ -0,0 +1,1458 @@
+### cove V2
+91 	nodes
+### node 0 type 6
+1  -1
+0.00352 0.00000 0.80973 0.00000 0.02326 0.16350 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02778 0.00000 0.50000 0.00000 0.02778 0.44444 
+0.00274 0.00000 0.33653 0.00000 0.00000 0.66074 
+0.05556 0.02778 0.86111 0.05556 # INSL
+0.33060 0.66530 0.00137 0.00273 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 1 type 2
+2  -1
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99858 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15842 0.08557 0.66266 0.09335 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 2 type 2
+3  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.12262 0.33404 0.41860 0.12474 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 3 type 2
+4  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.17407 0.28189 0.35800 0.18605 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 4 type 2
+5  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.99718 0.00000 0.00141 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.40000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.19944 0.21917 0.35236 0.22903 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 5 type 2
+6  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.29196 0.24260 0.25599 0.20945 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 6 type 2
+7  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99788 0.00000 0.00141 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.40000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.19944 0.20719 0.22481 0.36857 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 7 type 2
+8  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00212 0.00000 0.99718 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.36505 0.02889 0.39464 0.21142 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 8 type 2
+9  -1
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00636 0.00000 0.98799 0.00000 0.00565 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.10000 0.00000 0.80000 0.00000 0.10000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09091 0.09091 0.63636 0.18182 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04799 0.00423 0.01764 0.93013 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 9 type 2
+10  -1
+0.09091 0.00000 0.81818 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99220 0.00000 0.00709 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.08333 0.00000 0.83333 0.00000 0.08333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.38462 0.30769 0.15385 0.15385 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.64352 0.03402 0.30191 0.02055 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 10 type 2
+11  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07541 0.03735 0.85906 0.02819 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 11 type 2
+12  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03101 0.59972 0.05567 0.31360 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 12 type 2
+13  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09937 0.20085 0.16984 0.52995 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 13 type 2
+14  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00353 0.00000 0.99577 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.14235 0.35870 0.16279 0.33615 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 14 type 2
+15  -1
+0.71429 0.00000 0.14286 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00707 0.00000 0.99222 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.94770 0.00495 0.01979 0.02756 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 15 type 2
+16  -1
+0.87500 0.00000 0.06250 0.00000 0.06250 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11886 0.00000 0.88043 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.35562 0.01991 0.56899 0.05548 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 16 type 2
+17  -1
+0.98901 0.00000 0.00549 0.00000 0.00549 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.55609 0.00000 0.44310 0.00000 0.00081 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10887 0.21290 0.03871 0.63952 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 17 type 2
+18  -1
+0.06552 0.00000 0.93333 0.00000 0.00115 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00544 0.00000 0.75318 0.00000 0.24138 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00725 0.00000 0.96377 0.00000 0.02899 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.09353 0.25180 0.02158 0.63309 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07790 0.23551 0.01630 0.67029 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 18 type 2
+19  -1
+0.96721 0.00000 0.01639 0.00000 0.01639 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00074 0.00000 0.99853 0.00000 0.00074 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09111 0.03086 0.83248 0.04555 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 19 type 2
+20  -1
+0.96721 0.00000 0.01639 0.00000 0.01639 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.13750 0.00000 0.86176 0.00000 0.00074 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05217 0.03527 0.83174 0.08082 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 20 type 2
+21  -1
+0.01215 0.00000 0.96761 0.00000 0.02024 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00341 0.00000 0.50681 0.00000 0.48978 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00789 0.00000 0.75526 0.00000 0.23684 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16689 0.16032 0.06965 0.60315 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09702 0.10298 0.04426 0.75574 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 21 type 2
+22  -1
+0.07692 0.00000 0.84615 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99858 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.87722 0.01490 0.06388 0.04400 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 22 type 2
+23  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.41720 0.01903 0.45877 0.10500 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 23 type 2
+24  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.52572 0.17054 0.20860 0.09514 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 24 type 2
+25  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.29457 0.05708 0.61663 0.03171 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 25 type 2
+26  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00212 0.00000 0.99718 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02748 0.73502 0.04228 0.19521 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 26 type 2
+27  -1
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99435 0.00000 0.00494 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11111 0.00000 0.77778 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.20000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.45730 0.03529 0.41637 0.09104 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 27 type 2
+28  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99788 0.00000 0.00141 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.20000 0.20000 0.40000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15927 0.34602 0.13178 0.36293 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 28 type 2
+29  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16209 0.35588 0.10641 0.37562 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 29 type 2
+30  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.99788 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.24806 0.14094 0.37068 0.24031 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 30 type 2
+31  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09520 0.21227 0.65938 0.03315 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 31 type 2
+32  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.35518 0.25300 0.21424 0.17759 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 32 type 2
+33  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99718 0.00000 0.00212 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.50000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.02114 0.60395 0.00634 0.36857 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 33 type 2
+34  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00070 0.02607 0.00070 0.97252 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 34 type 2
+35  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05144 0.18323 0.33756 0.42777 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 35 type 2
+36  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.30444 0.19662 0.20789 0.29105 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 36 type 2
+37  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.25793 0.24172 0.20648 0.29387 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 37 type 2
+38  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.97179 0.00000 0.02750 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.05485 0.00000 0.94374 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.31180 0.18680 0.21910 0.28230 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.78365 0.00141 0.21071 0.00423 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 38 type 2
+39  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.67935 0.17970 0.02467 0.11628 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 39 type 2
+40  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.12333 0.20789 0.29810 0.37068 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 40 type 2
+41  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01762 0.60465 0.22058 0.15715 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 41 type 2
+42  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.23749 0.37209 0.14165 0.24877 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 42 type 2
+43  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00212 0.00000 0.99577 0.00000 0.00212 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.50000 0.16667 0.16667 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.33263 0.08598 0.38337 0.19803 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 43 type 2
+44  -1
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.32816 0.07904 0.35992 0.23289 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 44 type 2
+45  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.14104 0.00000 0.85825 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.48273 0.13531 0.12333 0.25863 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 45 type 2
+46  -1
+0.00990 0.00000 0.98515 0.00000 0.00495 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.97867 0.00000 0.01887 0.00000 0.00246 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.50000 0.16667 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.28033 0.02787 0.52295 0.16885 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 46 type 2
+47  -1
+0.99833 0.00000 0.00084 0.00000 0.00084 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.04000 0.00000 0.95556 0.00000 0.00444 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.15487 0.10619 0.62832 0.11062 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 47 type 2
+48  -1
+0.99834 0.00000 0.00083 0.00000 0.00083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03687 0.00000 0.95853 0.00000 0.00461 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.14220 0.26147 0.28440 0.31193 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 48 type 2
+49  -1
+0.99835 0.00000 0.00083 0.00000 0.00083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.30952 0.00000 0.67619 0.00000 0.01429 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.33333 0.16667 0.33333 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.23697 0.36967 0.18009 0.21327 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 49 type 2
+50  -1
+0.99843 0.00000 0.00078 0.00000 0.00078 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.46575 0.00000 0.52740 0.00000 0.00685 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.08844 0.38095 0.23129 0.29932 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 50 type 2
+51  -1
+0.99851 0.00000 0.00075 0.00000 0.00075 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.32911 0.00000 0.65823 0.00000 0.01266 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.25000 0.10000 0.30000 0.35000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 51 type 2
+52  -1
+0.99854 0.00000 0.00073 0.00000 0.00073 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.62963 0.00000 0.35185 0.00000 0.01852 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.29091 0.20000 0.23636 0.27273 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 52 type 2
+53  -1
+0.85857 0.00000 0.14071 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.04762 0.00000 0.90476 0.00000 0.04762 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04545 0.31818 0.13636 0.50000 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 53 type 2
+54  -1
+0.99834 0.00000 0.00083 0.00000 0.00083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00922 0.00000 0.98618 0.00000 0.00461 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.21101 0.09174 0.24312 0.45413 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 54 type 2
+55  -1
+0.99834 0.00000 0.00083 0.00000 0.00083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06019 0.00000 0.93519 0.00000 0.00463 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.27650 0.16590 0.05530 0.50230 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 55 type 2
+56  -1
+0.99836 0.00000 0.00082 0.00000 0.00082 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.37745 0.00000 0.60294 0.00000 0.01961 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.50000 0.00000 0.37500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.44444 0.11111 0.11111 0.33333 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.45854 0.09756 0.04878 0.39512 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 56 type 2
+57  -1
+0.99227 0.00000 0.00696 0.00000 0.00077 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.69531 0.00000 0.01562 0.00000 0.28906 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.71795 0.00000 0.25641 0.00000 0.02564 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.52500 0.07500 0.12500 0.27500 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.36434 0.11628 0.27132 0.24806 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 57 type 2
+58  -1
+0.97500 0.00000 0.02429 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.04762 0.00000 0.90476 0.00000 0.04762 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.36364 0.04545 0.45455 0.13636 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 58 type 2
+59  -1
+0.98025 0.00000 0.01902 0.00000 0.00073 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03704 0.00000 0.94444 0.00000 0.01852 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.14545 0.14545 0.38182 0.32727 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 59 type 2
+60  -1
+0.94862 0.00000 0.05063 0.00000 0.00074 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01282 0.00000 0.97436 0.00000 0.01282 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.29114 0.20253 0.15190 0.35443 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 60 type 2
+61  -1
+0.94828 0.00000 0.05094 0.00000 0.00078 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00690 0.00000 0.97241 0.00000 0.02069 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.00000 0.60000 0.00000 0.20000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.16667 0.16667 0.16667 0.50000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.22603 0.19863 0.43836 0.13699 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 61 type 2
+62  -1
+0.99257 0.00000 0.00660 0.00000 0.00083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00478 0.00000 0.99043 0.00000 0.00478 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.19048 0.16190 0.38571 0.26190 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 62 type 2
+63  -1
+0.99834 0.00000 0.00083 0.00000 0.00083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00463 0.00000 0.99074 0.00000 0.00463 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.30876 0.26267 0.26267 0.16590 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 63 type 2
+64  -1
+0.00747 0.00000 0.99170 0.00000 0.00083 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.28241 0.00000 0.71296 0.00000 0.00463 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.07834 0.58065 0.14286 0.19816 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 64 type 2
+65  -1
+0.01408 0.00000 0.95775 0.00000 0.02817 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00148 0.00000 0.45259 0.00000 0.54593 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00133 0.00000 0.98400 0.00000 0.01467 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06525 0.07989 0.05060 0.80426 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.31384 0.02147 0.53442 0.13027 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 65 type 2
+66  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05642 0.57546 0.02186 0.34626 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 66 type 2
+67  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.28259 0.15574 0.49331 0.06836 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 67 type 2
+68  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.17548 0.32699 0.20296 0.29457 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 68 type 2
+69  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00494 0.00000 0.99013 0.00000 0.00494 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11111 0.00000 0.77778 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.10000 0.10000 0.40000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.28823 0.14306 0.39605 0.17266 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 69 type 2
+70  -1
+0.77778 0.00000 0.11111 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.04462 0.00000 0.95467 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.17693 0.01982 0.75584 0.04742 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 70 type 2
+71  -1
+0.36620 0.00000 0.61972 0.00000 0.01408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.02519 0.00000 0.97407 0.00000 0.00074 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05403 0.01776 0.91118 0.01702 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 71 type 2
+72  -1
+0.04918 0.00000 0.93443 0.00000 0.01639 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00147 0.00000 0.99706 0.00000 0.00147 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.40000 0.20000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05878 0.03159 0.01323 0.89640 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 72 type 2
+73  -1
+0.16667 0.00000 0.66667 0.00000 0.16667 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.99788 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.03955 0.02401 0.04802 0.88842 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 73 type 2
+74  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.99788 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.10085 0.80889 0.01763 0.07264 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 74 type 2
+75  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00635 0.00000 0.98941 0.00000 0.00423 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.22222 0.44444 0.22222 0.11111 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.42666 0.02962 0.50000 0.04372 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 75 type 2
+76  -1
+0.81818 0.00000 0.09091 0.00000 0.09091 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.03404 0.00000 0.96525 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.91850 0.02268 0.01701 0.04181 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 76 type 2
+77  -1
+0.93103 0.00000 0.05172 0.00000 0.01724 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.06310 0.00000 0.92517 0.00000 0.01174 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.05000 0.00000 0.80000 0.00000 0.15000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.42857 0.23810 0.14286 0.19048 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.46114 0.08284 0.21334 0.24267 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 77 type 2
+78  -1
+0.37589 0.00000 0.61702 0.00000 0.00709 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.01328 0.00000 0.98594 0.00000 0.00078 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05308 0.13973 0.01015 0.79703 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 78 type 2
+79  -1
+0.09859 0.00000 0.88732 0.00000 0.01408 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00074 0.00000 0.99852 0.00000 0.00074 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.01999 0.91710 0.00740 0.05551 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 79 type 2
+80  -1
+0.11111 0.00000 0.77778 0.00000 0.11111 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99788 0.00000 0.00142 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.40000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.04317 0.75442 0.02194 0.18047 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 80 type 2
+81  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.14235 0.37703 0.16561 0.31501 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 81 type 2
+82  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99506 0.00000 0.00423 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.00000 0.75000 0.00000 0.12500 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.11111 0.66667 0.11111 0.11111 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.24665 0.15645 0.35659 0.24031 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 82 type 2
+83  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00141 0.00000 0.99506 0.00000 0.00353 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.14286 0.00000 0.71429 0.00000 0.14286 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.12500 0.37500 0.12500 0.37500 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.05567 0.37773 0.16843 0.39817 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 83 type 2
+84  -1
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.20945 0.35755 0.02962 0.40339 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 84 type 2
+85  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.28964 0.19873 0.26004 0.25159 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 85 type 2
+86  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.16913 0.21564 0.27907 0.33615 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 86 type 2
+87  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.19309 0.30655 0.25863 0.24172 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 87 type 2
+88  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.17477 0.30514 0.29246 0.22763 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 88 type 2
+89  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00071 0.00000 0.99859 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.11910 0.37984 0.33686 0.16420 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 89 type 2
+90  -1
+0.33333 0.00000 0.33333 0.00000 0.33333 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.00846 0.00000 0.99013 0.00000 0.00141 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.00000 0.50000 0.00000 0.25000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.20000 0.40000 0.20000 0.20000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.09514 0.58280 0.07893 0.24313 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
+### node 90 type 2
+-1  -1
+0.92308 0.00000 0.00000 0.00000 0.07692 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.99929 0.00000 0.00000 0.00000 0.00071 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.50000 0.00000 0.00000 0.00000 0.50000 0.00000 
+0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 
+0.25000 0.25000 0.25000 0.25000 # INSL
+0.00000 0.00000 0.00000 0.00000 # INSR
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.00000 0.00000 0.00000 0.00000 # MATP
+0.56676 0.06605 0.22443 0.14276 # MATL
+0.00000 0.00000 0.00000 0.00000 # MATR
diff --git a/TRNAinf-arch-3h-nc.cm b/TRNAinf-arch-3h-nc.cm
new file mode 100644
index 0000000..17d29b2
--- /dev/null
+++ b/TRNAinf-arch-3h-nc.cm
@@ -0,0 +1,242 @@
+INFERNAL-1 [1.0.2]
+NAME     tRNA1415G-arch-3h
+STATES   177
+NODES    50
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     62
+EFFNSEQ  62.000
+CLEN     56
+BCOM     cmbuild -F --rf --enone TRNAinf-arch-3h-nc.cm trna1415G-arch-3h.sto
+BDATE    Thu Mar 24 01:55:40 2011
+NULL     0.000  0.000  0.000  0.000 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     4 -11.123 -11.330  -0.003  -9.744                 
+    IL     1     1 2     1     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    1 ]
+    ML     3     2 3     5     3 -12.038  -0.001 -10.692                          1.733 -1.353 -2.605 -3.067 
+     D     4     2 3     5     3  -6.174  -1.687  -0.566                         
+    IL     5     5 3     5     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    2 ]
+    ML     6     5 3     8     3 -12.038  -0.001 -10.692                         -2.347  0.289  0.562  0.144 
+     D     7     5 3     8     3  -6.174  -1.687  -0.566                         
+    IL     8     8 3     8     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    3 ]
+    ML     9     8 3    11     3 -12.038  -0.001 -10.692                         -4.964  1.656 -0.548 -2.921 
+     D    10     8 3    11     3  -6.174  -1.687  -0.566                         
+    IL    11    11 3    11     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    4 ]
+    ML    12    11 3    14     3 -12.038  -0.001 -10.692                         -0.930  1.410 -1.065 -1.555 
+     D    13    11 3    14     3  -6.174  -1.687  -0.566                         
+    IL    14    14 3    14     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    5 ]
+    ML    15    14 3    17     3 -12.038  -0.001 -10.692                         -0.276 -1.411  0.943 -0.193 
+     D    16    14 3    17     3  -6.174  -1.687  -0.566                         
+    IL    17    17 3    17     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    6 ]
+    ML    18    17 3    20     3 -12.038  -0.001 -10.692                         -1.105 -1.526  1.453 -1.152 
+     D    19    17 3    20     3  -6.174  -1.687  -0.566                         
+    IL    20    20 3    20     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    7 ]
+    ML    21    20 3    23     3 -12.038  -0.301  -2.409                          0.500 -0.822 -1.702  0.776 
+     D    22    20 3    23     3  -6.174  -1.687  -0.566                         
+    IL    23    23 3    23     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    8 ]
+    ML    24    23 3    26     3 -12.039  -1.980  -0.422                         -0.855 -1.776  1.446 -1.219 
+     D    25    23 3    26     3  -9.851  -4.965  -0.049                         
+    IL    26    26 3    26     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR    9 ]
+    MR    27    26 3    29     3 -10.064  -0.006  -8.382                          1.949 -4.726 -4.423 -4.171 
+     D    28    26 3    29     3 -13.110  -8.288  -0.005                         
+    IR    29    29 3    29     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   10 ]
+    MR    30    29 3    32     3 -10.064  -0.006  -8.382                         -3.748  1.922 -4.677 -3.364 
+     D    31    29 3    32     3 -13.110  -5.564  -0.031                         
+    IR    32    32 3    32     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   11 ]
+    MR    33    32 3    35     3 -10.161  -0.005  -8.479                         -3.418  1.846 -4.418 -1.918 
+     D    34    32 3    35     3 -13.084  -0.009  -7.314                         
+    IR    35    35 3    35     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   12 ]
+    MR    36    35 3    38     3 -12.337  -0.001 -10.655                          1.298 -2.392 -0.132 -1.189 
+     D    37    35 3    38     3  -6.390  -1.568  -0.620                         
+    IR    38    38 3    38     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   13 ]
+    MR    39    38 3    41     3 -12.337  -0.001 -10.655                         -4.995  1.846 -3.353 -1.857 
+     D    40    38 3    41     3  -6.390  -1.568  -0.620                         
+    IR    41    41 3    41     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   14 ]
+    MR    42    41 3    44     3 -12.337  -0.001 -10.655                         -1.818  0.629  1.086 -4.408 
+     D    43    41 3    44     3  -6.390  -1.568  -0.620                         
+    IR    44    44 3    44     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   15 ]
+    MR    45    44 3    47     3 -12.337  -0.001 -10.655                         -2.285  0.091  0.884 -0.177 
+     D    46    44 3    47     3  -6.390  -1.568  -0.620                         
+    IR    47    47 3    47     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   16 ]
+    MR    48    47 3    50     3 -12.337  -0.001 -10.655                         -1.472  0.682  0.722 -1.372 
+     D    49    47 3    50     3  -6.390  -1.568  -0.620                         
+    IR    50    50 3    50     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   17 ]
+    MR    51    50 3    53     3 -12.337  -0.001 -10.655                         -1.320 -0.069  1.170 -1.337 
+     D    52    50 3    53     3  -6.390  -1.568  -0.620                         
+    IR    53    53 3    53     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   18 ]
+    MR    54    53 3    56     3 -12.337  -0.001 -10.655                         -1.932  0.953  0.576 -1.685 
+     D    55    53 3    56     3  -6.390  -1.568  -0.620                         
+    IR    56    56 3    56     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   19 ]
+    MR    57    56 3    59     2 -12.680  -0.000                                 -2.173  1.662 -5.647 -0.750 
+     D    58    56 3    59     2  -4.432  -0.068                                 
+    IR    59    59 3    59     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ BIF    20 ]
+     B    60    59 3    61   117                                                 
+				[ BEGL   21 ]
+     S    61    60 1    62     4  -1.996 -10.099  -9.506  -0.421                 
+				[ MATP   22 ]
+    MP    62    61 1    66     6 -10.171 -10.110  -0.010  -8.886  -9.166  -9.561 -5.649 -4.417 -6.425  0.020 -6.225 -5.932  1.824 -5.803 -5.561  3.127 -5.225  0.697 -0.657 -5.465 -2.206 -4.680 
+    ML    63    61 1    66     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    64    61 1    66     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    65    61 1    66     6 -15.585 -14.283 -10.080 -10.762 -10.779  -0.003 
+    IL    66    66 5    66     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    67    67 6    67     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   23 ]
+    MP    68    67 6    72     6 -10.171 -10.110  -0.010  -8.886  -9.166  -9.561 -5.621 -4.588 -6.330  1.280 -5.771 -6.400  2.432 -5.734 -5.766  2.704 -5.441 -1.709 -0.246 -5.783 -1.811 -4.560 
+    ML    69    67 6    72     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    70    67 6    72     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    71    67 6    72     6 -15.585 -14.283 -10.080 -10.762 -10.779  -0.003 
+    IL    72    72 5    72     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    73    73 6    73     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   24 ]
+    MP    74    73 6    78     6 -10.171 -10.110  -0.900  -8.886  -9.166  -1.125 -6.129 -6.250 -4.854  0.389 -4.229 -5.478  3.449 -5.370 -7.275 -1.127 -4.944 -2.977  0.979 -6.582 -0.046 -4.894 
+    ML    75    73 6    78     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    76    73 6    78     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    77    73 6    78     6 -15.585 -14.283 -10.080 -10.762 -10.779  -0.003 
+    IL    78    78 5    78     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    79    79 6    79     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   25 ]
+    MP    80    79 6    84     6  -9.289  -9.228  -0.019  -8.005  -8.284  -8.679 -4.214 -4.442 -4.294  0.299 -3.107 -4.987  2.767 -4.373 -4.726  0.306 -4.554 -1.405  2.351 -4.451 -0.576 -3.249 
+    ML    81    79 6    84     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    82    79 6    84     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    83    79 6    84     6 -15.816 -14.515 -10.312 -10.994 -11.011  -0.003 
+    IL    84    84 5    84     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    85    85 6    85     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   26 ]
+    MP    86    85 6    90     6  -9.289  -9.228  -0.546  -8.005  -8.284  -1.713 -5.691 -5.607 -4.274 -0.974 -3.824 -4.920  3.681 -4.789 -6.659 -0.927 -4.290 -2.571  0.204 -6.169 -1.090 -4.545 
+    ML    87    85 6    90     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    88    85 6    90     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    89    85 6    90     6 -15.816 -14.515 -10.312 -10.994 -11.011  -0.003 
+    IL    90    90 5    90     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    91    91 6    91     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   27 ]
+    MP    92    91 6    96     6  -8.769  -8.708  -0.027  -7.485  -7.765  -8.160 -3.305 -2.766 -3.576  1.411 -2.869 -4.048  1.948 -3.248 -3.354  2.027 -3.320 -0.140  1.330 -3.299 -0.204 -2.459 
+    ML    93    91 6    96     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    94    91 6    96     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    95    91 6    96     6 -15.891 -14.590 -10.387 -11.069 -11.086  -0.002 
+    IL    96    96 5    96     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    97    97 6    97     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   28 ]
+    MP    98    97 6   102     4  -5.802  -6.009  -0.120  -4.423                 -3.305 -2.766 -3.576  1.411 -2.869 -4.048  1.948 -3.248 -3.354  2.027 -3.320 -0.140  1.330 -3.299 -0.204 -2.459 
+    ML    99    97 6   102     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   100    97 6   102     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   101    97 6   102     4 -11.314  -3.715  -3.087  -0.312                 
+    IL   102   102 5   102     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   103   103 6   103     3  -3.405  -0.166  -6.105                          0.000  0.000  0.000  0.000 
+				[ MATL   29 ]
+    ML   104   103 6   106     3  -9.832  -0.006  -8.487                         -2.477 -3.877  1.746 -1.329 
+     D   105   103 6   106     3 -13.116  -8.629  -0.004                         
+    IL   106   106 3   106     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   30 ]
+    ML   107   106 3   109     3  -9.832  -0.006  -8.487                         -3.083 -1.352 -3.863  1.775 
+     D   108   106 3   109     3 -13.116  -8.629  -0.004                         
+    IL   109   109 3   109     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   31 ]
+    ML   110   109 3   112     3  -9.832  -0.190  -3.034                          1.163 -0.793 -2.299 -0.028 
+     D   111   109 3   112     3 -13.116  -8.629  -0.004                         
+    IL   112   112 3   112     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   32 ]
+    ML   113   112 3   115     2       *   0.000                                  0.101 -0.716  0.992 -1.599 
+     D   114   112 3   115     2       *   0.000                                 
+    IL   115   115 3   115     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    33 ]
+     E   116   115 3    -1     0                                                 
+				[ BEGR   34 ]
+     S   117    60 1   118     3 -12.038  -0.040  -5.210                         
+    IL   118   118 2   118     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   35 ]
+    ML   119   118 2   121     3  -0.533  -1.698 -10.653                          0.645 -2.848  0.755 -0.714 
+     D   120   118 2   121     3  -0.309  -4.041  -2.920                         
+    IL   121   121 3   121     3  -4.728  -0.058  -9.003                          0.000  0.000  0.000  0.000 
+				[ MATL   36 ]
+    ML   122   121 3   124     5 -10.983  -0.003 -10.799 -11.011 -11.902         -6.177  1.986 -6.986 -5.896 
+     D   123   121 3   124     5  -4.959  -0.803  -4.221  -2.596  -2.508         
+    IL   124   124 3   124     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   37 ]
+    MP   125   124 3   129     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -8.144 -7.028 -8.755  0.269 -7.720 -8.935  2.569 -8.033 -8.364  2.622 -7.984  0.004 -0.514 -8.397 -0.060 -6.794 
+    ML   126   124 3   129     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   127   124 3   129     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   128   124 3   129     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   129   129 5   129     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   130   130 6   130     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   38 ]
+    MP   131   130 6   135     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -8.111 -7.809 -8.067  0.611 -6.468 -8.756  3.158 -7.793 -8.648  1.258 -8.359 -0.729  1.162 -8.204 -1.926 -6.451 
+    ML   132   130 6   135     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   133   130 6   135     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   134   130 6   135     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   135   135 5   135     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   136   136 6   136     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   39 ]
+    MP   137   136 6   141     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -7.678 -6.283 -8.440  0.411 -7.868 -7.575  1.114 -7.776 -7.500  3.502 -7.111 -3.486 -0.775 -7.280 -1.185 -6.568 
+    ML   138   136 6   141     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   139   136 6   141     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   140   136 6   141     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   141   141 5   141     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   142   142 6   142     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   40 ]
+    MP   143   142 6   147     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -10.070 -5.376 -10.897 -0.970 -9.838 -5.571 -3.691 -9.349 -6.533  3.890 -6.002 -3.136 -1.502 -5.685 -5.851 -7.907 
+    ML   144   142 6   147     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   145   142 6   147     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   146   142 6   147     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   147   147 5   147     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   148   148 6   148     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   41 ]
+    MP   149   148 6   153     4 -11.123 -11.330  -0.003  -9.744                 -11.170 -6.905 -11.033 -3.627 -10.757 -7.380 -4.824 -9.431 -8.041  3.977 -7.551 -4.453 -4.613 -7.379 -6.287 -8.552 
+    ML   150   148 6   153     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   151   148 6   153     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   152   148 6   153     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   153   153 5   153     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   154   154 6   154     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   42 ]
+    ML   155   154 6   157     3 -12.038  -0.001 -10.692                         -5.986 -5.748 -6.637  1.984 
+     D   156   154 6   157     3  -6.174  -1.687  -0.566                         
+    IL   157   157 3   157     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   43 ]
+    ML   158   157 3   160     3 -12.038  -0.001 -10.692                         -5.160 -3.461 -5.910  1.950 
+     D   159   157 3   160     3  -6.174  -1.687  -0.566                         
+    IL   160   160 3   160     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   44 ]
+    ML   161   160 3   163     3 -12.038  -0.001 -10.692                         -5.515  1.965 -4.489 -5.093 
+     D   162   160 3   163     3  -6.174  -1.687  -0.566                         
+    IL   163   163 3   163     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   45 ]
+    ML   164   163 3   166     3 -12.038  -0.001 -10.692                          1.276 -7.518  0.646 -7.132 
+     D   165   163 3   166     3  -6.174  -1.687  -0.566                         
+    IL   166   166 3   166     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   46 ]
+    ML   167   166 3   169     3 -12.038  -0.001 -10.692                          1.985 -6.571 -6.091 -5.965 
+     D   168   166 3   169     3  -6.174  -1.687  -0.566                         
+    IL   169   169 3   169     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   47 ]
+    ML   170   169 3   172     3 -12.038  -0.001 -10.692                          1.773 -4.394 -1.489 -2.478 
+     D   171   169 3   172     3  -6.174  -1.687  -0.566                         
+    IL   172   172 3   172     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   48 ]
+    ML   173   172 3   175     2       *   0.000                                 -5.125 -1.809 -5.879  1.875 
+     D   174   172 3   175     2       *   0.000                                 
+    IL   175   175 3   175     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    49 ]
+     E   176   175 3    -1     0                                                 
+//
diff --git a/TRNAinf-arch-5h-nc.cm b/TRNAinf-arch-5h-nc.cm
new file mode 100644
index 0000000..6feb6e1
--- /dev/null
+++ b/TRNAinf-arch-5h-nc.cm
@@ -0,0 +1,165 @@
+INFERNAL-1 [1.0.2]
+NAME     tRNA1415G-arch-5h
+STATES   115
+NODES    35
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     62
+EFFNSEQ  62.000
+CLEN     37
+BCOM     cmbuild -F --rf --enone TRNAinf-arch-5h-nc.cm trna1415G-arch-5h.sto
+BDATE    Thu Mar 24 00:53:49 2011
+NULL     0.000  0.000  0.000  0.000 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     4  -4.683  -3.095  -0.247  -9.744                 
+    IL     1     1 2     1     4  -3.700  -4.384  -0.207  -6.869                  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     3  -0.088  -4.096 -10.593                          0.000  0.000  0.000  0.000 
+				[ MATL    1 ]
+    ML     3     2 3     5     3 -12.038  -0.001 -10.692                         -1.586 -3.140  1.814 -4.771 
+     D     4     2 3     5     3  -6.174  -1.687  -0.566                         
+    IL     5     5 3     5     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    2 ]
+    ML     6     5 3     8     3 -12.038  -0.001 -10.692                         -3.948  1.018  0.698 -1.793 
+     D     7     5 3     8     3  -6.174  -1.687  -0.566                         
+    IL     8     8 3     8     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    3 ]
+    ML     9     8 3    11     3 -12.038  -0.001 -10.692                         -1.229  0.886  0.598 -2.239 
+     D    10     8 3    11     3  -6.174  -1.687  -0.566                         
+    IL    11    11 3    11     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    4 ]
+    ML    12    11 3    14     3 -12.038  -0.001 -10.692                         -1.575  0.642  0.813 -1.530 
+     D    13    11 3    14     3  -6.174  -1.687  -0.566                         
+    IL    14    14 3    14     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    5 ]
+    ML    15    14 3    17     3 -12.038  -0.001 -10.692                         -1.287  0.987 -0.049 -0.642 
+     D    16    14 3    17     3  -6.174  -1.687  -0.566                         
+    IL    17    17 3    17     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    6 ]
+    ML    18    17 3    20     3 -12.038  -0.001 -10.692                         -1.864  0.364  0.992 -1.153 
+     D    19    17 3    20     3  -6.174  -1.687  -0.566                         
+    IL    20    20 3    20     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    7 ]
+    ML    21    20 3    23     3 -12.038  -0.001 -10.692                         -0.880 -5.508  1.688 -2.233 
+     D    22    20 3    23     3  -6.174  -1.687  -0.566                         
+    IL    23    23 3    23     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    8 ]
+    ML    24    23 3    26     3 -12.038  -0.046  -4.993                         -5.135 -2.836 -5.888  1.932 
+     D    25    23 3    26     3  -6.174  -1.687  -0.566                         
+    IL    26    26 3    26     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    9 ]
+    ML    27    26 3    29     3  -7.402  -0.009 -10.610                          0.964 -1.828  0.640 -2.262 
+     D    28    26 3    29     3  -7.590  -0.155  -3.373                         
+    IL    29    29 3    29     3  -2.288  -0.412  -4.526                          0.000  0.000  0.000  0.000 
+				[ MATR   10 ]
+    MR    30    29 3    32     3 -12.337  -0.001 -10.655                          1.068 -7.542  0.919 -7.099 
+     D    31    29 3    32     3  -6.390  -1.568  -0.620                         
+    IR    32    32 3    32     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   11 ]
+    MR    33    32 3    35     3 -12.337  -0.001 -10.655                         -0.357  0.237 -0.267  0.274 
+     D    34    32 3    35     3  -6.390  -1.568  -0.620                         
+    IR    35    35 3    35     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   12 ]
+    MR    36    35 3    38     3 -12.337  -0.001 -10.655                          0.375 -0.433 -0.156  0.091 
+     D    37    35 3    38     3  -6.390  -1.568  -0.620                         
+    IR    38    38 3    38     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   13 ]
+    MR    39    38 3    41     3 -12.337  -0.001 -10.655                         -3.411  0.312  0.286  0.531 
+     D    40    38 3    41     3  -6.390  -1.568  -0.620                         
+    IR    41    41 3    41     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   14 ]
+    MR    42    41 3    44     3 -12.337  -0.001 -10.655                         -5.986 -5.748 -6.637  1.984 
+     D    43    41 3    44     3  -6.390  -1.568  -0.620                         
+    IR    44    44 3    44     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   15 ]
+    MR    45    44 3    47     3 -12.337  -0.001 -10.655                         -5.164  1.722 -6.170 -0.600 
+     D    46    44 3    47     3  -6.390  -1.568  -0.620                         
+    IR    47    47 3    47     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   16 ]
+    MR    48    47 3    50     3 -12.337  -0.001 -10.655                          0.149  0.596  0.239 -2.327 
+     D    49    47 3    50     3  -6.390  -1.568  -0.620                         
+    IR    50    50 3    50     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   17 ]
+    MR    51    50 3    53     3 -12.337  -0.001 -10.655                         -5.285 -0.484  1.698 -6.018 
+     D    52    50 3    53     3  -6.390  -1.568  -0.620                         
+    IR    53    53 3    53     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   18 ]
+    MR    54    53 3    56     3 -12.337  -0.001 -10.655                         -1.923 -1.069  1.510 -1.278 
+     D    55    53 3    56     3  -6.390  -1.568  -0.620                         
+    IR    56    56 3    56     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   19 ]
+    MR    57    56 3    59     3 -12.337  -0.001 -10.655                         -0.425  0.857 -0.820 -0.189 
+     D    58    56 3    59     3  -6.390  -1.568  -0.620                         
+    IR    59    59 3    59     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   20 ]
+    MR    60    59 3    62     3 -12.337  -0.001 -10.655                         -0.917  1.124 -1.360 -0.151 
+     D    61    59 3    62     3  -6.390  -1.568  -0.620                         
+    IR    62    62 3    62     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR   21 ]
+    MR    63    62 3    65     5 -10.983  -0.003 -10.799 -11.011 -11.902         -1.026 -3.111  1.626 -1.710 
+     D    64    62 3    65     5  -5.352  -0.707  -2.978  -4.409  -2.404         
+    IR    65    65 3    65     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   22 ]
+    MP    66    65 3    70     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -11.605 -8.575 -10.956 -4.707 -10.828 -10.953  0.337 -9.413 -9.651  3.395 -9.309  2.042 -4.901 -9.835 -6.207 -8.779 
+    ML    67    65 3    70     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    68    65 3    70     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    69    65 3    70     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    70    70 5    70     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    71    71 6    71     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   23 ]
+    MP    72    71 6    76     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -9.991 -8.855 -9.655 -2.931 -7.749 -10.815  3.083 -8.867 -10.500  1.162 -9.938 -4.575  2.329 -10.539 -3.775 -7.618 
+    ML    73    71 6    76     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    74    71 6    76     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    75    71 6    76     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    76    76 5    76     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    77    77 6    77     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   24 ]
+    MP    78    77 6    82     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -7.211 -0.735 -7.408 -2.193 -5.911 -8.103  2.742 -7.289 -7.702  1.482 -7.745 -1.111  2.337 -7.331 -3.200 -5.943 
+    ML    79    77 6    82     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    80    77 6    82     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    81    77 6    82     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    82    82 5    82     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    83    83 6    83     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   25 ]
+    MP    84    83 6    88     4 -11.123 -11.330  -0.003  -9.744                 -1.088 -1.107 -4.104 -0.621 -3.755 -1.503  2.196 -4.047  1.129 -2.407 -4.389 -3.050 -0.595 -1.174  1.350  1.626 
+    ML    85    83 6    88     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    86    83 6    88     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    87    83 6    88     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    88    88 5    88     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    89    89 6    89     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   26 ]
+    ML    90    89 6    92     3 -12.038  -0.001 -10.692                          1.985 -6.571 -6.091 -5.965 
+     D    91    89 6    92     3  -6.174  -1.687  -0.566                         
+    IL    92    92 3    92     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   27 ]
+    ML    93    92 3    95     3 -12.038  -0.001 -10.692                         -6.252 -7.554  1.991 -7.009 
+     D    94    92 3    95     3  -6.174  -1.687  -0.566                         
+    IL    95    95 3    95     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   28 ]
+    ML    96    95 3    98     3 -12.038  -0.290  -2.460                         -2.109  1.017 -3.044  0.699 
+     D    97    95 3    98     3  -6.174  -1.687  -0.566                         
+    IL    98    98 3    98     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   29 ]
+    ML    99    98 3   101     3  -0.333  -2.285 -10.404                         -1.646  1.439 -4.503 -0.113 
+     D   100    98 3   101     3 -11.042  -0.034  -5.434                         
+    IL   101   101 3   101     3  -6.165  -0.023  -8.865                          0.000  0.000  0.000  0.000 
+				[ MATL   30 ]
+    ML   102   101 3   104     3 -12.038  -0.001 -10.692                         -6.252 -7.554  1.991 -7.009 
+     D   103   101 3   104     3  -6.174  -1.687  -0.566                         
+    IL   104   104 3   104     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   31 ]
+    ML   105   104 3   107     3 -12.038  -0.001 -10.692                         -6.252 -7.554  1.991 -7.009 
+     D   106   104 3   107     3  -6.174  -1.687  -0.566                         
+    IL   107   107 3   107     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   32 ]
+    ML   108   107 3   110     3  -0.799  -1.236 -10.692                         -0.779  0.341 -1.257  0.793 
+     D   109   107 3   110     3  -6.174  -1.687  -0.566                         
+    IL   110   110 3   110     3  -1.405  -0.687  -9.355                          0.000  0.000  0.000  0.000 
+				[ MATL   33 ]
+    ML   111   110 3   113     2       *   0.000                                  1.943 -5.670 -3.237 -5.048 
+     D   112   110 3   113     2       *   0.000                                 
+    IL   113   113 3   113     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    34 ]
+     E   114   113 3    -1     0                                                 
+//
diff --git a/TRNAinf-arch-c.cm b/TRNAinf-arch-c.cm
new file mode 100644
index 0000000..6cc41fc
--- /dev/null
+++ b/TRNAinf-arch-c.cm
@@ -0,0 +1,415 @@
+INFERNAL-1 [1.0]
+NAME     tRNA1415G-arch
+STATES   298
+NODES    79
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     62
+EFFNSEQ  62.000
+CLEN     93
+BCOM     cmbuild --rf --enone TRNAinf-arch-nc.cm trna1415G-arch.sto
+BDATE    Sun Feb  8 16:46:36 2009
+CCOM     cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf-arch.hfile --exp-sfile cmcalibrate_files/TRNAinf-arch.sfile --exp-qqfile cmcalibrate_files/TRNAinf-arch.qqfile --exp-ffile cmcalibrate_files/TRNAinf-arch.ffile --fil-dfile cmcalibrate_files/TRNAinf-arch.dfile -s 208 TRNAinf-arch-c.cm
+CDATE    Sun Feb  8 19:56:48 2009
+NULL     0.000  0.000  0.000  0.000 
+PART     1        0    100  
+E-LC     0      0.79080    -6.05377     1.74701     1500000      537353  0.002094
+E-GC     0      0.34092   -36.60830   -23.07041     1500000       37885  0.009898
+E-LI     0      0.68252    -7.04406     1.91352     1500000      508509  0.002212
+E-GI     0      0.35486   -32.60887   -19.71497     1500000       36405  0.010301
+E-LV     0      0.74538    -0.99223     3.70630    48670000      121144  0.030131
+E-GV     0      0.32837   -22.22404    -8.21495    48670000      121066  0.010050
+E-LF     0      0.66040    -0.10168     5.20152    48670000      121149  0.030130
+E-GF     0      0.35058   -18.76218    -5.63802    48670000      121181  0.010041
+FT-LC    27  0.99500  10000  1500000  0
+             27.834     27.834    26.7192    26.2711    25.3709     7.0174    4.96286    3.46051    2.95227    2.75284     1.2807    1.15246   0.960678   0.684234   0.486205   0.320843   0.225312    0.14124   0.107615     0.1057  0.0808781  0.0808781  0.0808781  0.0806581    0.07573  0.0546174 8.30129e-17 
+            1343.66     1171.2    948.726    815.033    694.195    572.823    472.048    423.594    258.645    217.838    174.143    153.304    134.958    111.289      93.36    77.2409    62.5272    49.1992    43.5986    30.5208    22.6144    18.4644     16.591    14.0104    11.7766    9.60599   0.960599 
+FT-LI    27  0.99500  10000  1500000  0
+             51.723    49.9161    47.7457    46.4376    40.6566     14.531    9.99927    7.44873    7.12282    3.92067    3.62885    3.10429    2.00265    1.79171    1.38061   0.819573   0.541235   0.509414   0.334516   0.334516   0.334516   0.292453   0.239123   0.238371   0.205372   0.149049 2.89719e-14 
+            1343.66     1171.2    948.726    815.033    694.195    572.823    472.048    423.594    258.645    217.838    174.143    153.304    134.958    111.289      93.36    77.2409    62.5272    49.1992    43.5986    30.5208    22.6144    18.4644     16.591    14.0104    11.7766    9.60599   0.960599 
+FT-GC    4  0.99500  10000  1500000  1
+         1.54861e-05 1.06157e-05 9.83182e-06 3.29077e-07 
+            2.89211    1.22643   0.904344   0.754031 
+FT-GI    4  0.99500  10000  1500000  1
+         1.43094e-05  1.163e-05 2.50222e-06 4.25207e-07 
+            2.89211    1.22643   0.904344   0.754031 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     4  -4.693 -12.169  -2.552  -0.339                 
+    IL     1     1 2     1     4  -4.509  -6.011  -0.869  -1.348                  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR    1 ]
+    MR     3     2 3     5     3  -9.983  -0.006  -8.301                          1.945 -4.637 -4.343 -4.086 
+     D     4     2 3     5     3 -13.130  -8.308  -0.005                         
+    IR     5     5 3     5     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR    2 ]
+    MR     6     5 3     8     3  -9.983  -0.006  -8.301                         -3.682  1.918 -4.609 -3.302 
+     D     7     5 3     8     3 -13.130  -5.234  -0.039                         
+    IR     8     8 3     8     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR    3 ]
+    MR     9     8 3    11     3 -10.117  -0.005  -8.435                         -3.307  1.818 -4.292 -1.633 
+     D    10     8 3    11     3 -13.096  -0.009  -7.326                         
+    IR    11    11 3    11     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR    4 ]
+    MR    12    11 3    14     5 -10.983  -0.003 -10.799 -11.011 -11.902          1.338 -2.349 -0.204 -1.296 
+     D    13    11 3    14     5  -5.352  -0.707  -2.978  -4.409  -2.404         
+    IR    14    14 3    14     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    5 ]
+    MP    15    14 3    19     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -10.015 -5.364 -10.853  0.082 -9.814 -5.560 -1.394 -9.328 -6.521  3.833 -5.990 -3.123 -3.626 -5.674 -5.827 -7.885 
+    ML    16    14 3    19     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    17    14 3    19     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    18    14 3    19     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    19    19 5    19     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    20    20 6    20     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    6 ]
+    MP    21    20 6    25     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -10.632 -8.947 -10.202 -3.165 -8.192 -11.711  3.044 -9.086 -10.671  2.689 -10.196 -4.740  0.111 -10.978 -4.045 -7.887 
+    ML    22    20 6    25     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    23    20 6    25     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    24    20 6    25     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    25    25 5    25     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    26    26 6    26     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    7 ]
+    MP    27    26 6    31     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -9.177 -7.906 -9.453  0.514 -7.789 -9.963  2.919 -8.555 -9.513  2.009 -9.037  1.142 -0.585 -9.556 -3.603 -7.260 
+    ML    28    26 6    31     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    29    26 6    31     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    30    26 6    31     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    31    31 5    31     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    32    32 6    32     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    8 ]
+    MP    33    32 6    37     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -8.554 -7.403 -9.035  0.230 -7.707 -9.342  2.679 -8.257 -8.824  2.735 -8.416 -1.500  0.206 -8.847 -2.137 -6.989 
+    ML    34    32 6    37     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    35    32 6    37     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    36    32 6    37     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    37    37 5    37     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    38    38 6    38     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    9 ]
+    MP    39    38 6    43     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -9.759 -8.672 -9.457  0.501 -7.457 -10.407  3.004 -8.692 -10.488  1.962 -9.841 -4.353  0.655 -10.227  0.030 -7.343 
+    ML    40    38 6    43     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    41    38 6    43     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    42    38 6    43     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    43    43 5    43     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    44    44 6    44     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   10 ]
+    MP    45    44 6    49     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -9.659 -8.313 -9.712 -0.053 -7.765 -10.458  2.430 -8.738 -10.144  2.976 -9.596 -4.281 -0.316 -10.185 -0.145 -7.409 
+    ML    46    44 6    49     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    47    44 6    49     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    48    44 6    49     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    49    49 5    49     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    50    50 6    50     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   11 ]
+    MP    51    50 6    55     4 -11.123 -11.330  -0.003  -9.744                 -8.521 -5.291 -9.442  0.877 -9.342 -5.635 -3.351 -8.517 -6.443  3.684 -5.942 -1.265 -0.596 -5.697 -5.329 -7.219 
+    ML    52    50 6    55     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    53    50 6    55     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    54    50 6    55     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    55    55 5    55     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    56    56 6    56     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   12 ]
+    ML    57    56 6    59     3 -12.038  -0.045  -5.039                         -5.136 -2.870 -5.889  1.933 
+     D    58    56 6    59     3  -6.174  -1.687  -0.566                         
+    IL    59    59 3    59     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   13 ]
+    ML    60    59 3    62     2  -7.097  -0.011                                  0.978 -1.766  0.622 -2.341 
+     D    61    59 3    62     2  -8.802  -0.003                                 
+    IL    62    62 3    62     2  -2.377  -0.309                                  0.000  0.000  0.000  0.000 
+				[ BIF    14 ]
+     B    63    62 3    64   173                                                 
+				[ BEGL   15 ]
+     S    64    63 1    65     1   0.000                                         
+				[ BIF    16 ]
+     B    65    64 1    66   116                                                 
+				[ BEGL   17 ]
+     S    66    65 1    67     4  -0.005 -10.099  -9.506 -10.146                 
+				[ MATP   18 ]
+    MP    67    66 1    71     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -11.570 -8.496 -10.949 -4.651 -10.793 -10.605  0.413 -9.410 -9.578  3.414 -9.225  1.967 -4.868 -9.682 -6.186 -8.764 
+    ML    68    66 1    71     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    69    66 1    71     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    70    66 1    71     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    71    71 5    71     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    72    72 6    72     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   19 ]
+    MP    73    72 6    77     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -9.985 -8.856 -9.567 -2.938 -7.732 -10.684  3.126 -8.843 -10.515  1.108 -9.827 -4.582  2.278 -10.545 -3.773 -7.621 
+    ML    74    72 6    77     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    75    72 6    77     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    76    72 6    77     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    77    77 5    77     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    78    78 6    78     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   20 ]
+    MP    79    78 6    83     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -7.146 -0.744 -7.345 -2.165 -5.854 -8.035  2.715 -7.237 -7.636  1.424 -7.681 -1.198  2.408 -7.261 -3.177 -5.890 
+    ML    80    78 6    83     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    81    78 6    83     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    82    78 6    83     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    83    83 5    83     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    84    84 6    84     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   21 ]
+    MP    85    84 6    89     4 -11.123 -11.330  -0.003  -9.744                 -1.059 -1.207 -4.350 -0.986 -3.920 -1.588  2.273 -4.321  1.158 -2.680 -4.660 -3.308 -0.663 -1.273  1.421  1.585 
+    ML    86    84 6    89     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    87    84 6    89     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    88    84 6    89     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    89    89 5    89     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    90    90 6    90     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   22 ]
+    ML    91    90 6    93     3 -12.038  -0.001 -10.692                          1.985 -6.571 -6.091 -5.965 
+     D    92    90 6    93     3  -6.174  -1.687  -0.566                         
+    IL    93    93 3    93     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   23 ]
+    ML    94    93 3    96     3 -12.038  -0.001 -10.692                         -6.252 -7.554  1.991 -7.009 
+     D    95    93 3    96     3  -6.174  -1.687  -0.566                         
+    IL    96    96 3    96     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   24 ]
+    ML    97    96 3    99     3 -12.038  -0.296  -2.433                         -2.146  1.034 -3.180  0.692 
+     D    98    96 3    99     3  -6.174  -1.687  -0.566                         
+    IL    99    99 3    99     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   25 ]
+    ML   100    99 3   102     3  -0.346  -2.234 -10.398                         -1.682  1.432 -4.485 -0.080 
+     D   101    99 3   102     3 -11.068  -0.034  -5.460                         
+    IL   102   102 3   102     3  -6.146  -0.024  -8.847                          0.000  0.000  0.000  0.000 
+				[ MATL   26 ]
+    ML   103   102 3   105     3 -12.038  -0.001 -10.692                         -6.252 -7.554  1.991 -7.009 
+     D   104   102 3   105     3  -6.174  -1.687  -0.566                         
+    IL   105   105 3   105     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   27 ]
+    ML   106   105 3   108     3 -12.038  -0.001 -10.692                         -6.252 -7.554  1.991 -7.009 
+     D   107   105 3   108     3  -6.174  -1.687  -0.566                         
+    IL   108   108 3   108     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   28 ]
+    ML   109   108 3   111     3  -0.829  -1.196 -10.692                         -0.760  0.255 -1.274  0.850 
+     D   110   108 3   111     3  -6.174  -1.687  -0.566                         
+    IL   111   111 3   111     3  -1.387  -0.699  -9.337                          0.000  0.000  0.000  0.000 
+				[ MATL   29 ]
+    ML   112   111 3   114     2       *   0.000                                  1.946 -5.710 -3.349 -5.078 
+     D   113   111 3   114     2       *   0.000                                 
+    IL   114   114 3   114     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    30 ]
+     E   115   114 3    -1     0                                                 
+				[ BEGR   31 ]
+     S   116    65 1   117     3 -12.038  -0.001 -10.692                         
+    IL   117   117 2   117     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   32 ]
+    ML   118   117 2   120     5 -10.983  -0.003 -10.799 -11.011 -11.902         -1.084 -3.136  1.640 -1.751 
+     D   119   117 2   120     5  -4.959  -0.803  -4.221  -2.596  -2.508         
+    IL   120   120 3   120     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   33 ]
+    MP   121   120 3   125     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -9.079 -8.455 -8.492  0.844 -6.990 -9.259  3.175 -8.246 -9.864  0.619 -8.762 -4.331  0.991 -9.411  0.647 -7.059 
+    ML   122   120 3   125     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   123   120 3   125     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   124   120 3   125     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   125   125 5   125     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   126   126 6   126     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   34 ]
+    MP   127   126 6   131     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -6.404 -6.495 -6.524  1.364 -5.076 -7.122  2.869 -6.476 -6.870  0.667 -6.804 -0.571  1.686 -6.386 -0.999 -5.105 
+    ML   128   126 6   131     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   129   126 6   131     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   130   126 6   131     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   131   131 5   131     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   132   132 6   132     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   35 ]
+    MP   133   132 6   137     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -8.148 -6.758 -8.804  0.185 -7.901 -8.135  1.101 -8.076 -8.017  3.430 -7.624 -3.768  0.806 -7.825 -3.760 -6.856 
+    ML   134   132 6   137     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   135   132 6   137     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   136   132 6   137     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   137   137 5   137     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   138   138 6   138     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   36 ]
+    MP   139   138 6   143     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -11.083 -7.134 -10.902 -3.666 -10.264 -7.695  1.527 -9.382 -8.277  3.641 -7.797 -1.096 -4.303 -7.664 -5.886 -8.492 
+    ML   140   138 6   143     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   141   138 6   143     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   142   138 6   143     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   143   143 5   143     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   144   144 6   144     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   37 ]
+    MP   145   144 6   149     4 -11.123 -11.330  -0.003  -9.744                 -7.595 -6.513 -8.344  2.053 -7.762 -8.392  2.582 -7.691 -7.765  2.292 -7.411 -2.340 -0.674 -7.807 -3.597 -6.492 
+    ML   146   144 6   149     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   147   144 6   149     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   148   144 6   149     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   149   149 5   149     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   150   150 6   150     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   38 ]
+    ML   151   150 6   153     3 -12.038  -0.001 -10.692                         -5.181  1.706 -6.181 -0.522 
+     D   152   150 6   153     3  -6.174  -1.687  -0.566                         
+    IL   153   153 3   153     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   39 ]
+    ML   154   153 3   156     3 -12.038  -0.001 -10.692                         -5.986 -5.748 -6.637  1.984 
+     D   155   153 3   156     3  -6.174  -1.687  -0.566                         
+    IL   156   156 3   156     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   40 ]
+    ML   157   156 3   159     3 -12.038  -0.001 -10.692                         -3.411  0.262  0.295  0.566 
+     D   158   156 3   159     3  -6.174  -1.687  -0.566                         
+    IL   159   159 3   159     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   41 ]
+    ML   160   159 3   162     3 -12.038  -0.001 -10.692                          0.373 -0.476 -0.090  0.066 
+     D   161   159 3   162     3  -6.174  -1.687  -0.566                         
+    IL   162   162 3   162     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   42 ]
+    ML   163   162 3   165     3 -12.038  -0.001 -10.692                         -0.414  0.235 -0.281  0.321 
+     D   164   162 3   165     3  -6.174  -1.687  -0.566                         
+    IL   165   165 3   165     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   43 ]
+    ML   166   165 3   168     3  -3.068  -0.184 -10.692                          1.104 -7.571  0.879 -7.144 
+     D   167   165 3   168     3  -6.174  -1.687  -0.566                         
+    IL   168   168 3   168     3  -0.088  -4.101 -10.629                          0.000  0.000  0.000  0.000 
+				[ MATL   44 ]
+    ML   169   168 3   171     2       *   0.000                                  1.737 -1.357 -2.681 -3.044 
+     D   170   168 3   171     2       *   0.000                                 
+    IL   171   171 3   171     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    45 ]
+     E   172   171 3    -1     0                                                 
+				[ BEGR   46 ]
+     S   173    63 1   174     3 -12.038  -0.001 -10.692                         
+    IL   174   174 2   174     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   47 ]
+    ML   175   174 2   177     3 -12.038  -0.289  -2.463                          0.488 -0.754 -1.483  0.720 
+     D   176   174 2   177     3  -6.174  -1.687  -0.566                         
+    IL   177   177 3   177     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   48 ]
+    ML   178   177 3   180     2 -12.389  -0.000                                 -1.059 -1.734  1.473 -1.172 
+     D   179   177 3   180     2  -9.877  -0.002                                 
+    IL   180   180 3   180     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ BIF    49 ]
+     B   181   180 3   182   238                                                 
+				[ BEGL   50 ]
+     S   182   181 1   183     4  -2.034 -10.099  -9.506  -0.408                 
+				[ MATP   51 ]
+    MP   183   182 1   187     6 -10.137 -10.077  -0.010  -8.853  -9.133  -9.528 -5.612 -4.384 -6.384  0.059 -6.159 -5.891  1.866 -5.766 -5.528  3.126 -5.192  0.545 -0.600 -5.428 -2.152 -4.640 
+    ML   184   182 1   187     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   185   182 1   187     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   186   182 1   187     6 -15.597 -14.295 -10.092 -10.774 -10.792  -0.003 
+    IL   187   187 5   187     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   188   188 6   188     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   52 ]
+    MP   189   188 6   193     6 -10.137 -10.077  -0.010  -8.853  -9.133  -9.528 -5.672 -4.642 -6.349  1.199 -5.704 -6.447  2.476 -5.751 -5.823  2.690 -5.497 -1.722 -0.197 -5.834 -1.765 -4.574 
+    ML   190   188 6   193     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   191   188 6   193     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   192   188 6   193     6 -15.597 -14.295 -10.092 -10.774 -10.792  -0.003 
+    IL   193   193 5   193     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   194   194 6   194     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   53 ]
+    MP   195   194 6   199     6 -10.137 -10.077  -0.901  -8.853  -9.133  -1.125 -6.048 -6.135 -4.941  0.687 -4.221 -5.572  3.391 -5.389 -7.061 -0.965 -5.049 -2.799  1.000 -6.442 -0.000 -4.781 
+    ML   196   194 6   199     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   197   194 6   199     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   198   194 6   199     6 -15.597 -14.295 -10.092 -10.774 -10.792  -0.003 
+    IL   199   199 5   199     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   200   200 6   200     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   54 ]
+    MP   201   200 6   205     6  -9.256  -9.195  -0.019  -7.972  -8.251  -8.646 -4.124 -4.353 -4.244  0.359 -3.051 -4.935  2.710 -4.310 -4.625  0.371 -4.507 -1.343  2.376 -4.360 -0.534 -3.181 
+    ML   202   200 6   205     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   203   200 6   205     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   204   200 6   205     6 -15.822 -14.520 -10.317 -11.000 -11.017  -0.003 
+    IL   205   205 5   205     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   206   206 6   206     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   55 ]
+    MP   207   206 6   211     6  -9.256  -9.195  -0.514  -7.972  -8.251  -1.791 -5.601 -5.515 -4.260 -0.876 -3.785 -4.908  3.662 -4.752 -6.510 -0.827 -4.279 -2.472  0.271 -6.055 -1.047 -4.463 
+    ML   208   206 6   211     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   209   206 6   211     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   210   206 6   211     6 -15.822 -14.520 -10.317 -11.000 -11.017  -0.003 
+    IL   211   211 5   211     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   212   212 6   212     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   56 ]
+    MP   213   212 6   217     6  -8.769  -8.708  -0.027  -7.485  -7.765  -8.160 -3.305 -2.766 -3.576  1.411 -2.869 -4.048  1.948 -3.248 -3.354  2.027 -3.320 -0.140  1.330 -3.299 -0.204 -2.459 
+    ML   214   212 6   217     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   215   212 6   217     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   216   212 6   217     6 -15.891 -14.590 -10.387 -11.069 -11.086  -0.002 
+    IL   217   217 5   217     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   218   218 6   218     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   57 ]
+    MP   219   218 6   223     4  -5.802  -6.009  -0.120  -4.423                 -3.305 -2.766 -3.576  1.411 -2.869 -4.048  1.948 -3.248 -3.354  2.027 -3.320 -0.140  1.330 -3.299 -0.204 -2.459 
+    ML   220   218 6   223     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   221   218 6   223     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   222   218 6   223     4 -11.314  -3.805  -3.116  -0.299                 
+    IL   223   223 5   223     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   224   224 6   224     3  -3.338  -0.175  -6.038                          0.000  0.000  0.000  0.000 
+				[ MATL   58 ]
+    ML   225   224 6   227     3  -9.786  -0.006  -8.440                         -2.444 -3.838  1.744 -1.334 
+     D   226   224 6   227     3 -13.129  -8.642  -0.004                         
+    IL   227   227 3   227     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   59 ]
+    ML   228   227 3   230     3  -9.786  -0.006  -8.440                         -3.029 -1.352 -3.811  1.772 
+     D   229   227 3   230     3 -13.129  -8.642  -0.004                         
+    IL   230   230 3   230     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   60 ]
+    ML   231   230 3   233     3  -9.786  -0.189  -3.037                          1.230 -0.834 -2.296 -0.169 
+     D   232   230 3   233     3 -13.129  -8.642  -0.004                         
+    IL   233   233 3   233     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   61 ]
+    ML   234   233 3   236     2       *   0.000                                 -0.014 -0.636  1.024 -1.587 
+     D   235   233 3   236     2       *   0.000                                 
+    IL   236   236 3   236     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    62 ]
+     E   237   236 3    -1     0                                                 
+				[ BEGR   63 ]
+     S   238   181 1   239     3 -12.038  -0.042  -5.118                         
+    IL   239   239 2   239     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   64 ]
+    ML   240   239 2   242     3  -0.515  -1.740 -10.651                          0.696 -2.789  0.714 -0.749 
+     D   241   239 2   242     3  -0.292  -4.117  -2.996                         
+    IL   242   242 3   242     3  -4.682  -0.060  -9.023                          0.000  0.000  0.000  0.000 
+				[ MATL   65 ]
+    ML   243   242 3   245     5 -10.983  -0.003 -10.799 -11.011 -11.902         -6.177  1.986 -6.986 -5.896 
+     D   244   242 3   245     5  -4.959  -0.803  -4.221  -2.596  -2.508         
+    IL   245   245 3   245     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   66 ]
+    MP   246   245 3   250     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -8.425 -7.280 -8.956  0.151 -7.726 -9.214  2.599 -8.192 -8.674  2.629 -8.275 -0.285 -0.503 -8.706  0.108 -6.934 
+    ML   247   245 3   250     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   248   245 3   250     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   249   245 3   250     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   250   250 5   250     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   251   251 6   251     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   67 ]
+    MP   252   251 6   256     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -8.347 -7.950 -8.279  0.577 -6.642 -8.987  3.159 -7.948 -8.896  1.290 -8.568 -0.379  1.041 -8.469 -1.935 -6.608 
+    ML   253   251 6   256     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   254   251 6   256     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   255   251 6   256     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   256   256 5   256     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   257   257 6   257     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   68 ]
+    MP   258   257 6   262     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -7.857 -6.453 -8.580  0.294 -7.858 -7.755  1.193 -7.892 -7.689  3.497 -7.295 -3.582 -0.772 -7.467 -1.082 -6.674 
+    ML   259   257 6   262     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   260   257 6   262     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   261   257 6   262     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   262   262 5   262     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   263   263 6   263     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   69 ]
+    MP   264   263 6   268     6 -12.016 -11.955  -0.003 -10.732 -11.012 -11.407 -10.077 -5.384 -10.899 -1.124 -9.844 -5.579 -3.698 -9.350 -6.540  3.897 -6.010 -3.142 -1.577 -5.693 -5.855 -7.912 
+    ML   265   263 6   268     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   266   263 6   268     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   267   263 6   268     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   268   268 5   268     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   269   269 6   269     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   70 ]
+    MP   270   269 6   274     4 -11.123 -11.330  -0.003  -9.744                 -11.170 -6.905 -11.033 -3.627 -10.757 -7.380 -4.824 -9.431 -8.041  3.977 -7.551 -4.453 -4.613 -7.379 -6.287 -8.552 
+    ML   271   269 6   274     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   272   269 6   274     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   273   269 6   274     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   274   274 5   274     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   275   275 6   275     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   71 ]
+    ML   276   275 6   278     3 -12.038  -0.001 -10.692                         -5.986 -5.748 -6.637  1.984 
+     D   277   275 6   278     3  -6.174  -1.687  -0.566                         
+    IL   278   278 3   278     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   72 ]
+    ML   279   278 3   281     3 -12.038  -0.001 -10.692                         -5.165 -3.547 -5.915  1.952 
+     D   280   278 3   281     3  -6.174  -1.687  -0.566                         
+    IL   281   281 3   281     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   73 ]
+    ML   282   281 3   284     3 -12.038  -0.001 -10.692                         -5.531  1.967 -4.665 -5.111 
+     D   283   281 3   284     3  -6.174  -1.687  -0.566                         
+    IL   284   284 3   284     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   74 ]
+    ML   285   284 3   287     3 -12.038  -0.001 -10.692                          1.305 -7.468  0.600 -7.082 
+     D   286   284 3   287     3  -6.174  -1.687  -0.566                         
+    IL   287   287 3   287     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   75 ]
+    ML   288   287 3   290     3 -12.038  -0.001 -10.692                          1.985 -6.571 -6.091 -5.965 
+     D   289   287 3   290     3  -6.174  -1.687  -0.566                         
+    IL   290   290 3   290     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   76 ]
+    ML   291   290 3   293     3 -12.038  -0.001 -10.692                          1.773 -4.394 -1.488 -2.493 
+     D   292   290 3   293     3  -6.174  -1.687  -0.566                         
+    IL   293   293 3   293     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   77 ]
+    ML   294   293 3   296     2       *   0.000                                 -5.125 -1.961 -5.878  1.887 
+     D   295   293 3   296     2       *   0.000                                 
+    IL   296   296 3   296     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    78 ]
+     E   297   296 3    -1     0                                                 
+//
diff --git a/TRNAinf-arch-ns-c.cm b/TRNAinf-arch-ns-c.cm
new file mode 100644
index 0000000..d29bd74
--- /dev/null
+++ b/TRNAinf-arch-ns-c.cm
@@ -0,0 +1,416 @@
+INFERNAL-1 [1.0]
+NAME     tRNA1415G-arch-nostruct
+STATES   283
+NODES    95
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     62
+EFFNSEQ  62.000
+CLEN     93
+BCOM     cmbuild --rf --enone -F TRNAinf-arch-ns-nc.cm trna1415G-arch-ns.sto
+BDATE    Sun Feb  8 18:06:51 2009
+CCOM     cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf-arch-ns.hfile --exp-sfile cmcalibrate_files/TRNAinf-arch-ns.sfile --exp-qqfile cmcalibrate_files/TRNAinf-arch-ns.qqfile --exp-ffile cmcalibrate_files/TRNAinf-arch-ns.ffile --fil-dfile cmcalibrate_files/TRNAinf-arch-ns.dfile -s 208 TRNAinf-arch-ns-c.cm
+CDATE    Sun Feb  8 19:59:12 2009
+NULL     0.000  0.000  0.000  0.000 
+PART     1        0    100  
+E-LC     0      0.64507   -11.44395    -1.14500     1500000      863822  0.001302
+E-GC     0      0.31911   -29.20560   -15.01859     1500000       34690  0.010810
+E-LI     0      0.61785   -10.83534    -0.36287     1500000      726504  0.001549
+E-GI     0      0.33011   -26.13627   -12.48049     1500000       34024  0.011022
+E-LV     0      0.62174    -3.67264     1.98411    32320000       81652  0.029687
+E-GV     0      0.34755   -21.38243    -8.12223    32320000       81081  0.009965
+E-LF     0      0.59976    -0.34575     5.52007    32320000       81736  0.029656
+E-GF     0      0.35374   -18.68940    -5.65897    32320000       81139  0.009958
+FT-LC    33  0.99500  10000  1500000  0
+            11584.1    9356.94    8252.27    8082.38    7305.08    6353.93    6181.85    6017.01    4476.31    4060.85    2788.51    2609.26    2112.21    1710.08    1124.22    850.929    786.338    738.047    638.516    376.609    344.361    277.173    213.638    182.922     159.18    149.247    143.777    2.51917    1.17731     1.0678   0.558037   0.449367   0.191891 
+            1366.05    1211.63    914.554    744.952    629.035    556.261    436.826      357.1    314.463    280.932    249.625    196.971    152.286    129.208    106.389    91.2465    74.7721    61.6037     49.196    43.5044    36.1883    32.1555    28.6751    24.4614    18.0369    16.1717    13.9251     9.4714    7.98804     3.7994    2.65591    1.74326    1.39251 
+FT-LI    39  0.99500  10000  1500000  0
+            10929.9    9229.94    7856.85    7484.38    7045.88    6436.48    6238.52    6173.58    4755.93    3421.44    3112.79    2990.89    2116.37    1807.63    1283.87    825.629    757.018     678.06    562.971     455.91    343.751    251.027    242.145    224.865    195.339    173.879    173.422    3.57002    2.96432    2.62038    2.15274     1.9965    1.56256    1.45489    1.01519   0.746638   0.568454   0.501147   0.356016 
+            1366.05    1211.63    914.554    744.952    629.035    556.261    436.826      357.1    314.463    280.932    249.625    196.971    152.286    129.208    106.389    91.2465    74.7721    61.6037     49.196    43.5044    36.1883    32.1555    28.6751    24.4614    18.0369    16.1717    13.9251    11.5236    10.1599    8.17708     7.1706    6.26164    5.62424    4.16704    3.31978    2.20795    1.89937    1.58946    1.39251 
+FT-GC    1  0.99500  10000  1500000  1
+           0.841728 
+            1.12142 
+FT-GI    1  0.99500  10000  1500000  1
+            1.14672 
+            1.12142 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     4  -4.688 -11.330  -0.059  -9.744                 
+    IL     1     1 2     1     4  -3.697  -4.380  -0.207  -6.865                  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    1 ]
+    ML     3     2 3     5     3 -12.038  -0.001 -10.692                         -1.647 -3.136  1.820 -4.772 
+     D     4     2 3     5     3  -6.174  -1.687  -0.566                         
+    IL     5     5 3     5     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    2 ]
+    ML     6     5 3     8     3 -12.038  -0.001 -10.692                         -3.952  1.030  0.684 -1.797 
+     D     7     5 3     8     3  -6.174  -1.687  -0.566                         
+    IL     8     8 3     8     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    3 ]
+    ML     9     8 3    11     3 -12.038  -0.001 -10.692                         -1.302  0.894  0.615 -2.289 
+     D    10     8 3    11     3  -6.174  -1.687  -0.566                         
+    IL    11    11 3    11     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    4 ]
+    ML    12    11 3    14     3 -12.038  -0.001 -10.692                         -1.572  0.658  0.788 -1.475 
+     D    13    11 3    14     3  -6.174  -1.687  -0.566                         
+    IL    14    14 3    14     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    5 ]
+    ML    15    14 3    17     3 -12.038  -0.001 -10.692                         -1.286  0.971 -0.037 -0.610 
+     D    16    14 3    17     3  -6.174  -1.687  -0.566                         
+    IL    17    17 3    17     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    6 ]
+    ML    18    17 3    20     3 -12.038  -0.001 -10.692                         -1.777  0.382  0.979 -1.202 
+     D    19    17 3    20     3  -6.174  -1.687  -0.566                         
+    IL    20    20 3    20     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    7 ]
+    ML    21    20 3    23     3 -12.038  -0.001 -10.692                         -0.913 -5.512  1.697 -2.282 
+     D    22    20 3    23     3  -6.174  -1.687  -0.566                         
+    IL    23    23 3    23     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    8 ]
+    ML    24    23 3    26     3 -12.038  -0.045  -5.039                         -5.136 -2.870 -5.889  1.933 
+     D    25    23 3    26     3  -6.174  -1.687  -0.566                         
+    IL    26    26 3    26     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    9 ]
+    ML    27    26 3    29     3  -7.094  -0.012 -10.648                          0.978 -1.766  0.622 -2.341 
+     D    28    26 3    29     3  -8.671  -0.188  -3.062                         
+    IL    29    29 3    29     3  -1.785  -0.588  -4.485                          0.000  0.000  0.000  0.000 
+				[ MATL   10 ]
+    ML    30    29 3    32     3 -12.038  -0.001 -10.692                         -4.697 -1.690  1.859 -5.433 
+     D    31    29 3    32     3  -6.174  -1.687  -0.566                         
+    IL    32    32 3    32     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   11 ]
+    ML    33    32 3    35     3 -12.038  -0.001 -10.692                         -3.513  1.104 -0.886  0.288 
+     D    34    32 3    35     3  -6.174  -1.687  -0.566                         
+    IL    35    35 3    35     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   12 ]
+    ML    36    35 3    38     3 -12.038  -0.001 -10.692                         -1.991  0.699 -0.355  0.426 
+     D    37    35 3    38     3  -6.174  -1.687  -0.566                         
+    IL    38    38 3    38     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   13 ]
+    ML    39    38 3    41     3 -12.038  -0.001 -10.692                         -1.345  0.404 -0.715  0.743 
+     D    40    38 3    41     3  -6.174  -1.687  -0.566                         
+    IL    41    41 3    41     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   14 ]
+    ML    42    41 3    44     3 -12.038  -0.001 -10.692                          1.985 -6.571 -6.091 -5.965 
+     D    43    41 3    44     3  -6.174  -1.687  -0.566                         
+    IL    44    44 3    44     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   15 ]
+    ML    45    44 3    47     3 -12.038  -0.001 -10.692                         -6.252 -7.554  1.991 -7.009 
+     D    46    44 3    47     3  -6.174  -1.687  -0.566                         
+    IL    47    47 3    47     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   16 ]
+    ML    48    47 3    50     3 -12.038  -0.296  -2.433                         -2.146  1.034 -3.180  0.692 
+     D    49    47 3    50     3  -6.174  -1.687  -0.566                         
+    IL    50    50 3    50     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   17 ]
+    ML    51    50 3    53     3  -0.346  -2.234 -10.398                         -1.682  1.432 -4.485 -0.080 
+     D    52    50 3    53     3 -11.068  -0.034  -5.460                         
+    IL    53    53 3    53     3  -6.146  -0.024  -8.847                          0.000  0.000  0.000  0.000 
+				[ MATL   18 ]
+    ML    54    53 3    56     3 -12.038  -0.001 -10.692                         -6.252 -7.554  1.991 -7.009 
+     D    55    53 3    56     3  -6.174  -1.687  -0.566                         
+    IL    56    56 3    56     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   19 ]
+    ML    57    56 3    59     3 -12.038  -0.001 -10.692                         -6.252 -7.554  1.991 -7.009 
+     D    58    56 3    59     3  -6.174  -1.687  -0.566                         
+    IL    59    59 3    59     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   20 ]
+    ML    60    59 3    62     3  -0.829  -1.196 -10.692                         -0.760  0.255 -1.274  0.850 
+     D    61    59 3    62     3  -6.174  -1.687  -0.566                         
+    IL    62    62 3    62     3  -1.387  -0.699  -9.337                          0.000  0.000  0.000  0.000 
+				[ MATL   21 ]
+    ML    63    62 3    65     3 -12.038  -0.001 -10.692                          1.946 -5.710 -3.349 -5.078 
+     D    64    62 3    65     3  -6.174  -1.687  -0.566                         
+    IL    65    65 3    65     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   22 ]
+    ML    66    65 3    68     3 -12.038  -0.001 -10.692                         -0.234 -1.621  0.925 -0.110 
+     D    67    65 3    68     3  -6.174  -1.687  -0.566                         
+    IL    68    68 3    68     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   23 ]
+    ML    69    68 3    71     3 -12.038  -0.001 -10.692                          0.423 -0.242  0.697 -2.379 
+     D    70    68 3    71     3  -6.174  -1.687  -0.566                         
+    IL    71    71 3    71     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   24 ]
+    ML    72    71 3    74     3 -12.038  -0.001 -10.692                          0.212 -0.972  1.185 -4.086 
+     D    73    71 3    74     3  -6.174  -1.687  -0.566                         
+    IL    74    74 3    74     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   25 ]
+    ML    75    74 3    77     3 -12.038  -0.001 -10.692                         -3.992  1.422 -1.624 -0.099 
+     D    76    74 3    77     3  -6.174  -1.687  -0.566                         
+    IL    77    77 3    77     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   26 ]
+    ML    78    77 3    80     3 -12.038  -0.001 -10.692                         -1.084 -3.136  1.640 -1.751 
+     D    79    77 3    80     3  -6.174  -1.687  -0.566                         
+    IL    80    80 3    80     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   27 ]
+    ML    81    80 3    83     3 -12.038  -0.001 -10.692                         -0.977  1.139 -1.334 -0.162 
+     D    82    80 3    83     3  -6.174  -1.687  -0.566                         
+    IL    83    83 3    83     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   28 ]
+    ML    84    83 3    86     3 -12.038  -0.001 -10.692                         -0.492  0.894 -0.835 -0.200 
+     D    85    83 3    86     3  -6.174  -1.687  -0.566                         
+    IL    86    86 3    86     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   29 ]
+    ML    87    86 3    89     3 -12.038  -0.001 -10.692                         -1.803 -1.059  1.492 -1.245 
+     D    88    86 3    89     3  -6.174  -1.687  -0.566                         
+    IL    89    89 3    89     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   30 ]
+    ML    90    89 3    92     3 -12.038  -0.001 -10.692                         -5.317 -0.451  1.691 -6.050 
+     D    91    89 3    92     3  -6.174  -1.687  -0.566                         
+    IL    92    92 3    92     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   31 ]
+    ML    93    92 3    95     3 -12.038  -0.001 -10.692                          0.105  0.592  0.285 -2.338 
+     D    94    92 3    95     3  -6.174  -1.687  -0.566                         
+    IL    95    95 3    95     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   32 ]
+    ML    96    95 3    98     3 -12.038  -0.001 -10.692                         -5.181  1.706 -6.181 -0.522 
+     D    97    95 3    98     3  -6.174  -1.687  -0.566                         
+    IL    98    98 3    98     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   33 ]
+    ML    99    98 3   101     3 -12.038  -0.001 -10.692                         -5.986 -5.748 -6.637  1.984 
+     D   100    98 3   101     3  -6.174  -1.687  -0.566                         
+    IL   101   101 3   101     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   34 ]
+    ML   102   101 3   104     3 -12.038  -0.001 -10.692                         -3.411  0.262  0.295  0.566 
+     D   103   101 3   104     3  -6.174  -1.687  -0.566                         
+    IL   104   104 3   104     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   35 ]
+    ML   105   104 3   107     3 -12.038  -0.001 -10.692                          0.373 -0.476 -0.090  0.066 
+     D   106   104 3   107     3  -6.174  -1.687  -0.566                         
+    IL   107   107 3   107     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   36 ]
+    ML   108   107 3   110     3 -12.038  -0.001 -10.692                         -0.414  0.235 -0.281  0.321 
+     D   109   107 3   110     3  -6.174  -1.687  -0.566                         
+    IL   110   110 3   110     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   37 ]
+    ML   111   110 3   113     3  -3.068  -0.184 -10.692                          1.104 -7.571  0.879 -7.144 
+     D   112   110 3   113     3  -6.174  -1.687  -0.566                         
+    IL   113   113 3   113     3  -0.088  -4.101 -10.629                          0.000  0.000  0.000  0.000 
+				[ MATL   38 ]
+    ML   114   113 3   116     3 -12.038  -0.001 -10.692                          1.737 -1.357 -2.681 -3.044 
+     D   115   113 3   116     3  -6.174  -1.687  -0.566                         
+    IL   116   116 3   116     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   39 ]
+    ML   117   116 3   119     3 -12.038  -0.001 -10.692                         -2.330  0.262  0.584  0.141 
+     D   118   116 3   119     3  -6.174  -1.687  -0.566                         
+    IL   119   119 3   119     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   40 ]
+    ML   120   119 3   122     3 -12.038  -0.001 -10.692                         -4.955  1.666 -0.609 -2.856 
+     D   121   119 3   122     3  -6.174  -1.687  -0.566                         
+    IL   122   122 3   122     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   41 ]
+    ML   123   122 3   125     3 -12.038  -0.001 -10.692                         -1.090  1.435 -0.960 -1.682 
+     D   124   122 3   125     3  -6.174  -1.687  -0.566                         
+    IL   125   125 3   125     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   42 ]
+    ML   126   125 3   128     3 -12.038  -0.001 -10.692                         -0.373 -1.289  0.969 -0.216 
+     D   127   125 3   128     3  -6.174  -1.687  -0.566                         
+    IL   128   128 3   128     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   43 ]
+    ML   129   128 3   131     3 -12.038  -0.001 -10.692                         -1.063 -1.470  1.440 -1.160 
+     D   130   128 3   131     3  -6.174  -1.687  -0.566                         
+    IL   131   131 3   131     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   44 ]
+    ML   132   131 3   134     3 -12.038  -0.289  -2.463                          0.488 -0.754 -1.483  0.720 
+     D   133   131 3   134     3  -6.174  -1.687  -0.566                         
+    IL   134   134 3   134     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   45 ]
+    ML   135   134 3   137     3 -11.750  -4.854  -0.051                         -1.059 -1.734  1.473 -1.172 
+     D   136   134 3   137     3 -11.039  -0.035  -5.431                         
+    IL   137   137 3   137     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   46 ]
+    ML   138   137 3   140     3  -9.786  -0.006  -8.440                         -2.458 -0.333  1.531 -2.891 
+     D   139   137 3   140     3 -13.129  -8.642  -0.004                         
+    IL   140   140 3   140     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   47 ]
+    ML   141   140 3   143     3  -9.786  -0.006  -8.440                         -0.581  0.448  0.696 -1.522 
+     D   142   140 3   143     3 -13.129  -8.642  -0.004                         
+    IL   143   143 3   143     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   48 ]
+    ML   144   143 3   146     3  -9.786  -1.500  -0.632                         -0.560  1.216 -2.457 -0.292 
+     D   145   143 3   146     3 -13.129  -8.642  -0.004                         
+    IL   146   146 3   146     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   49 ]
+    ML   147   146 3   149     3  -8.302  -0.016  -6.956                         -0.588  0.266 -1.422  0.815 
+     D   148   146 3   149     3 -13.354  -8.867  -0.003                         
+    IL   149   149 3   149     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   50 ]
+    ML   150   149 3   152     3  -8.302  -1.405  -0.691                         -1.938  1.726 -2.780 -1.813 
+     D   151   149 3   152     3 -13.354  -8.867  -0.003                         
+    IL   152   152 3   152     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   51 ]
+    ML   153   152 3   155     3  -6.939  -0.042  -5.593                          0.660 -0.612 -0.293 -0.076 
+     D   154   152 3   155     3 -13.424  -8.937  -0.003                         
+    IL   155   155 3   155     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   52 ]
+    ML   156   155 3   158     3  -6.939  -0.042  -5.593                          0.660 -0.612 -0.293 -0.076 
+     D   157   155 3   158     3 -13.424  -2.419  -0.299                         
+    IL   158   158 3   158     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   53 ]
+    ML   159   158 3   161     3  -9.786  -0.006  -8.440                         -2.444 -3.838  1.744 -1.334 
+     D   160   158 3   161     3 -13.129  -8.642  -0.004                         
+    IL   161   161 3   161     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   54 ]
+    ML   162   161 3   164     3  -9.786  -0.006  -8.440                         -3.029 -1.352 -3.811  1.772 
+     D   163   161 3   164     3 -13.129  -8.642  -0.004                         
+    IL   164   164 3   164     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   55 ]
+    ML   165   164 3   167     3  -9.786  -0.189  -3.037                          1.230 -0.834 -2.296 -0.169 
+     D   166   164 3   167     3 -13.129  -8.642  -0.004                         
+    IL   167   167 3   167     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   56 ]
+    ML   168   167 3   170     3  -1.405  -2.707  -1.092                         -0.014 -0.636  1.024 -1.587 
+     D   169   167 3   170     3 -13.173  -8.686  -0.004                         
+    IL   170   170 3   170     3  -3.338  -2.694  -0.422                          0.000  0.000  0.000  0.000 
+				[ MATL   57 ]
+    ML   171   170 3   173     3  -6.939  -0.042  -5.593                          0.660 -0.612 -0.293 -0.076 
+     D   172   170 3   173     3 -13.424  -8.937  -0.003                         
+    IL   173   173 3   173     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   58 ]
+    ML   174   173 3   176     3  -6.939  -0.042  -5.593                          0.660 -0.612 -0.293 -0.076 
+     D   175   173 3   176     3 -13.424  -4.352  -0.073                         
+    IL   176   176 3   176     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   59 ]
+    ML   177   176 3   179     3  -8.302  -0.016  -6.956                         -1.724 -2.917  1.746 -2.253 
+     D   178   176 3   179     3 -13.354  -8.867  -0.003                         
+    IL   179   179 3   179     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   60 ]
+    ML   180   179 3   182     3  -8.302  -0.016  -6.956                          0.828 -1.516  0.438 -0.943 
+     D   181   179 3   182     3 -13.354  -2.766  -0.229                         
+    IL   182   182 3   182     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   61 ]
+    ML   183   182 3   185     3  -9.786  -0.006  -8.440                         -1.144 -3.350  1.588 -1.175 
+     D   184   182 3   185     3 -13.129  -8.642  -0.004                         
+    IL   185   185 3   185     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   62 ]
+    ML   186   185 3   188     3  -9.786  -0.006  -8.440                         -1.403  0.610  0.498 -0.550 
+     D   187   185 3   188     3 -13.129  -8.642  -0.004                         
+    IL   188   188 3   188     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   63 ]
+    ML   189   188 3   191     3  -9.786  -0.215  -2.866                         -1.485  1.025 -0.069 -0.610 
+     D   190   188 3   191     3 -13.129  -0.008  -7.520                         
+    IL   191   191 3   191     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   64 ]
+    ML   192   191 3   194     3  -0.515  -1.740 -10.651                          0.696 -2.789  0.714 -0.749 
+     D   193   191 3   194     3  -0.292  -4.117  -2.996                         
+    IL   194   194 3   194     3  -4.682  -0.060  -9.023                          0.000  0.000  0.000  0.000 
+				[ MATL   65 ]
+    ML   195   194 3   197     3 -12.038  -0.001 -10.692                         -6.177  1.986 -6.986 -5.896 
+     D   196   194 3   197     3  -6.174  -1.687  -0.566                         
+    IL   197   197 3   197     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   66 ]
+    ML   198   197 3   200     3 -12.038  -0.001 -10.692                         -1.646  0.581  0.785 -1.116 
+     D   199   197 3   200     3  -6.174  -1.687  -0.566                         
+    IL   200   200 3   200     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   67 ]
+    ML   201   200 3   203     3 -12.038  -0.001 -10.692                         -1.232  1.141 -0.325 -0.810 
+     D   202   200 3   203     3  -6.174  -1.687  -0.566                         
+    IL   203   203 3   203     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   68 ]
+    ML   204   203 3   206     3 -12.038  -0.001 -10.692                         -1.774 -0.990  1.574 -2.137 
+     D   205   203 3   206     3  -6.174  -1.687  -0.566                         
+    IL   206   206 3   206     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   69 ]
+    ML   207   206 3   209     3 -12.038  -0.001 -10.692                         -2.875 -5.554  1.899 -3.131 
+     D   208   206 3   209     3  -6.174  -1.687  -0.566                         
+    IL   209   209 3   209     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   70 ]
+    ML   210   209 3   212     3 -12.038  -0.001 -10.692                         -6.252 -7.554  1.991 -7.009 
+     D   211   209 3   212     3  -6.174  -1.687  -0.566                         
+    IL   212   212 3   212     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   71 ]
+    ML   213   212 3   215     3 -12.038  -0.001 -10.692                         -5.986 -5.748 -6.637  1.984 
+     D   214   212 3   215     3  -6.174  -1.687  -0.566                         
+    IL   215   215 3   215     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   72 ]
+    ML   216   215 3   218     3 -12.038  -0.001 -10.692                         -5.165 -3.547 -5.915  1.952 
+     D   217   215 3   218     3  -6.174  -1.687  -0.566                         
+    IL   218   218 3   218     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   73 ]
+    ML   219   218 3   221     3 -12.038  -0.001 -10.692                         -5.531  1.967 -4.665 -5.111 
+     D   220   218 3   221     3  -6.174  -1.687  -0.566                         
+    IL   221   221 3   221     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   74 ]
+    ML   222   221 3   224     3 -12.038  -0.001 -10.692                          1.305 -7.468  0.600 -7.082 
+     D   223   221 3   224     3  -6.174  -1.687  -0.566                         
+    IL   224   224 3   224     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   75 ]
+    ML   225   224 3   227     3 -12.038  -0.001 -10.692                          1.985 -6.571 -6.091 -5.965 
+     D   226   224 3   227     3  -6.174  -1.687  -0.566                         
+    IL   227   227 3   227     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   76 ]
+    ML   228   227 3   230     3 -12.038  -0.001 -10.692                          1.773 -4.394 -1.488 -2.493 
+     D   229   227 3   230     3  -6.174  -1.687  -0.566                         
+    IL   230   230 3   230     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   77 ]
+    ML   231   230 3   233     3 -12.038  -0.001 -10.692                         -5.125 -1.961 -5.878  1.887 
+     D   232   230 3   233     3  -6.174  -1.687  -0.566                         
+    IL   233   233 3   233     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   78 ]
+    ML   234   233 3   236     3 -12.038  -0.001 -10.692                         -6.177  1.986 -6.986 -5.896 
+     D   235   233 3   236     3  -6.174  -1.687  -0.566                         
+    IL   236   236 3   236     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   79 ]
+    ML   237   236 3   239     3 -12.038  -0.001 -10.692                         -3.239  1.912 -6.045 -3.102 
+     D   238   236 3   239     3  -6.174  -1.687  -0.566                         
+    IL   239   239 3   239     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   80 ]
+    ML   240   239 3   242     3 -12.038  -0.001 -10.692                         -2.720  1.554 -0.706 -1.745 
+     D   241   239 3   242     3  -6.174  -1.687  -0.566                         
+    IL   242   242 3   242     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   81 ]
+    ML   243   242 3   245     3 -12.038  -0.001 -10.692                         -0.953 -0.709  1.194 -0.776 
+     D   244   242 3   245     3  -6.174  -1.687  -0.566                         
+    IL   245   245 3   245     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   82 ]
+    ML   246   245 3   248     3 -12.038  -0.001 -10.692                         -2.218  0.616  0.805 -0.985 
+     D   247   245 3   248     3  -6.174  -1.687  -0.566                         
+    IL   248   248 3   248     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   83 ]
+    ML   249   248 3   251     3 -12.038  -0.001 -10.692                         -2.301  1.670 -5.694 -0.748 
+     D   250   248 3   251     3  -6.174  -1.687  -0.566                         
+    IL   251   251 3   251     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   84 ]
+    ML   252   251 3   254     3 -12.038  -0.001 -10.692                         -2.069  0.970  0.594 -1.773 
+     D   253   251 3   254     3  -6.174  -1.687  -0.566                         
+    IL   254   254 3   254     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   85 ]
+    ML   255   254 3   257     3 -12.038  -0.001 -10.692                         -1.278 -0.060  1.161 -1.352 
+     D   256   254 3   257     3  -6.174  -1.687  -0.566                         
+    IL   257   257 3   257     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   86 ]
+    ML   258   257 3   260     3 -12.038  -0.001 -10.692                         -1.614  0.725  0.689 -1.293 
+     D   259   257 3   260     3  -6.174  -1.687  -0.566                         
+    IL   260   260 3   260     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   87 ]
+    ML   261   260 3   263     3 -12.038  -0.001 -10.692                         -2.280  0.002  0.895 -0.100 
+     D   262   260 3   263     3  -6.174  -1.687  -0.566                         
+    IL   263   263 3   263     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   88 ]
+    ML   264   263 3   266     3 -12.038  -0.001 -10.692                         -1.864  0.648  1.078 -4.431 
+     D   265   263 3   266     3  -6.174  -1.687  -0.566                         
+    IL   266   266 3   266     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   89 ]
+    ML   267   266 3   269     3 -12.038  -0.001 -10.692                         -4.991  1.836 -3.259 -1.770 
+     D   268   266 3   269     3  -6.174  -1.687  -0.566                         
+    IL   269   269 3   269     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   90 ]
+    ML   270   269 3   272     3 -12.038  -2.248  -0.342                          1.338 -2.349 -0.204 -1.296 
+     D   271   269 3   272     3  -6.174  -1.687  -0.566                         
+    IL   272   272 3   272     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   91 ]
+    ML   273   272 3   275     3  -9.796  -0.143  -3.424                         -3.307  1.818 -4.292 -1.633 
+     D   274   272 3   275     3 -13.126  -8.639  -0.004                         
+    IL   275   275 3   275     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   92 ]
+    ML   276   275 3   278     3  -9.660  -0.006  -8.314                         -3.682  1.918 -4.609 -3.302 
+     D   277   275 3   278     3 -13.160  -8.673  -0.004                         
+    IL   278   278 3   278     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   93 ]
+    ML   279   278 3   281     2       *   0.000                                  1.945 -4.637 -4.343 -4.086 
+     D   280   278 3   281     2       *   0.000                                 
+    IL   281   281 3   281     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    94 ]
+     E   282   281 3    -1     0                                                 
+//
diff --git a/TRNAinf-bact-c.cm b/TRNAinf-bact-c.cm
new file mode 100644
index 0000000..09b02b9
--- /dev/null
+++ b/TRNAinf-bact-c.cm
@@ -0,0 +1,415 @@
+INFERNAL-1 [1.0]
+NAME     tRNA1415G-eub
+STATES   298
+NODES    79
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     249
+EFFNSEQ  249.000
+CLEN     93
+BCOM     cmbuild --rf --enone TRNAinf-bact-nc.cm trna1415G-bact.sto
+BDATE    Sun Feb  8 16:45:45 2009
+CCOM     cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf-bact.hfile --exp-sfile cmcalibrate_files/TRNAinf-bact.sfile --exp-qqfile cmcalibrate_files/TRNAinf-bact.qqfile --exp-ffile cmcalibrate_files/TRNAinf-bact.ffile --fil-dfile cmcalibrate_files/TRNAinf-bact.dfile -s 208 TRNAinf-bact-c.cm
+CDATE    Sun Feb  8 20:07:08 2009
+NULL     0.000  0.000  0.000  0.000 
+PART     1        0    100  
+E-LC     0      0.67174    -7.74784     1.35716     1500000      509766  0.002207
+E-GC     0      0.35637   -41.39324   -28.49011     1500000       37244  0.010069
+E-LI     0      0.61266    -8.31345     1.57664     1500000      481577  0.002336
+E-GI     0      0.36329   -38.02444   -25.47379     1500000       35827  0.010467
+E-LV     0      0.87314    -1.12092     4.12302    15000000      109563  0.010268
+E-GV     0      0.34365   -27.90220   -11.38503    15000000      109430  0.003427
+E-LF     0      0.79464    -0.33504     5.42687    15000000      109554  0.010269
+E-GF     0      0.36226   -24.54848    -8.87863    15000000      109476  0.003425
+FT-LC    20  0.99500  10000  1500000  0
+            32.7319     26.005    17.0953    12.7323    11.3108    7.05091    6.41222    6.21019    6.01368    5.84247    5.84247    5.71223    4.23466    3.67566     2.9638    2.91846    1.93825    1.79231    1.79231 5.73661e-06 
+            5409.32    4680.94    3822.35    2792.63    2510.55    2231.99    1962.39    1437.16    902.851    761.664    676.616    415.381    313.779    275.658    227.977    186.902    163.285    133.229    123.171    12.3171 
+FT-LI    21  0.99500  10000  1500000  0
+            51.2091    36.9391    24.8352    20.0348     18.027    11.3314    10.9201    10.8943    10.8943    10.6111    10.6111    9.15061    7.29256    5.70272    5.70184    5.12687    3.87866    3.61164    3.61164 7.80008e-05 7.82384e-06 
+            5409.32    4680.94    3822.35    2792.63    2510.55    2231.99    1962.39    1437.16    902.851    761.664    676.616    415.381    313.779    275.658    227.977    186.902    163.285    133.229    123.171    53.1262    12.3171 
+FT-GC    2  0.99500  10000  1500000  1
+         4.6166e-06 3.08769e-07 
+            87.4853    9.71507 
+FT-GI    2  0.99500  10000  1500000  1
+         8.55844e-06 6.08794e-07 
+            87.4853    9.71507 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     4  -4.212 -14.142  -0.360  -2.582                 
+    IL     1     1 2     1     4  -6.557  -8.059  -0.372  -2.231                  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR    1 ]
+    MR     3     2 3     5     3 -14.024  -0.000 -12.341                          1.996 -8.236 -7.705 -8.011 
+     D     4     2 3     5     3 -12.926  -8.103  -0.005                         
+    IR     5     5 3     5     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR    2 ]
+    MR     6     5 3     8     3 -14.024  -0.000 -12.341                         -8.745  1.998 -9.265 -8.847 
+     D     7     5 3     8     3 -12.926  -8.103  -0.005                         
+    IR     8     8 3     8     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR    3 ]
+    MR     9     8 3    11     3 -14.024  -0.000 -12.341                         -8.745  1.998 -9.265 -8.847 
+     D    10     8 3    11     3 -12.926  -0.122  -3.626                         
+    IR    11    11 3    11     3  -1.925  -0.554  -4.164                          0.000  0.000  0.000  0.000 
+				[ MATR    4 ]
+    MR    12    11 3    14     5  -6.336  -0.034 -12.744  -6.561 -13.848          1.183 -2.858  0.062 -0.868 
+     D    13    11 3    14     5  -7.629  -0.120  -5.256  -6.686  -4.681         
+    IR    14    14 3    14     5  -3.975  -0.149  -7.486  -5.654  -6.760          0.000  0.000  0.000  0.000 
+				[ MATP    5 ]
+    MP    15    14 3    19     6 -13.888 -13.828  -0.001 -12.604 -12.884 -13.279 -7.177 -6.400 -7.823 -0.211 -2.016 -7.733  0.101 -3.727 -7.269  3.544 -7.051 -0.067  0.057 -7.294 -5.262 -6.681 
+    ML    16    14 3    19     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    17    14 3    19     6  -9.075  -7.804  -0.250  -7.782  -2.916  -5.996 -0.624 -0.170 -1.457  1.069 
+     D    18    14 3    19     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    19    19 5    19     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    20    20 6    20     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    6 ]
+    MP    21    20 6    25     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -7.707 -6.730 -8.656 -0.676 -9.309 -8.526  2.459 -6.587 -7.835  3.054 -3.164 -1.200 -0.572 -7.876 -1.764 -6.110 
+    ML    22    20 6    25     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    23    20 6    25     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    24    20 6    25     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    25    25 5    25     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    26    26 6    26     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    7 ]
+    MP    27    26 6    31     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -9.405 -8.330 -10.166  1.466 -9.625 -10.198  2.431 -9.525 -9.576  2.496 -9.222 -0.655  0.578 -9.614 -4.061 -8.325 
+    ML    28    26 6    31     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    29    26 6    31     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    30    26 6    31     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    31    31 5    31     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    32    32 6    32     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    8 ]
+    MP    33    32 6    37     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -10.770 -9.556 -11.165  0.222 -9.670 -11.548  2.247 -10.324 -11.071  2.940 -10.626 -2.006  0.893 -11.102 -1.755 -9.040 
+    ML    34    32 6    37     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    35    32 6    37     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    36    32 6    37     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    37    37 5    37     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    38    38 6    38     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    9 ]
+    MP    39    38 6    43     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -7.643 -3.651 -8.602  1.918 -9.439 -8.444  2.316 -5.189 -7.760  2.497 -7.445 -1.414 -0.536 -7.801 -1.359 -6.988 
+    ML    40    38 6    43     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    41    38 6    43     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    42    38 6    43     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    43    43 5    43     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    44    44 6    44     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   10 ]
+    MP    45    44 6    49     6  -8.229 -13.842  -0.005 -12.619 -12.899 -13.294 -7.105 -7.196 -7.296  1.716 -5.947 -7.838  1.864 -3.826 -7.537  1.967 -7.482 -4.430  2.052 -4.132 -0.368 -5.943 
+    ML    46    44 6    49     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    47    44 6    49     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    48    44 6    49     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    49    49 5    49     6  -3.498  -3.761  -0.352  -5.416  -6.192  -5.853  0.000  0.000  0.000  0.000 
+    IR    50    50 6    50     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   11 ]
+    MP    51    50 6    55     4 -13.101 -13.308  -0.006  -8.103                 -7.894 -6.882 -8.838  2.191 -9.502 -8.695 -0.588 -8.333 -8.014  2.763 -7.697 -0.800  1.741 -8.056 -5.405 -7.203 
+    ML    52    50 6    55     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    53    50 6    55     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    54    50 6    55     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    55    55 5    55     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    56    56 6    56     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   12 ]
+    ML    57    56 6    59     3 -14.007  -0.005  -8.118                         -7.763 -7.499 -4.305  1.978 
+     D    58    56 6    59     3  -7.779  -0.371  -2.171                         
+    IL    59    59 3    59     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   13 ]
+    ML    60    59 3    62     2 -14.659  -0.000                                  1.348 -2.468  0.202 -3.024 
+     D    61    59 3    62     2  -8.617  -0.004                                 
+    IL    62    62 3    62     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ BIF    14 ]
+     B    63    62 3    64   173                                                 
+				[ BEGL   15 ]
+     S    64    63 1    65     1   0.000                                         
+				[ BIF    16 ]
+     B    65    64 1    66   116                                                 
+				[ BEGL   17 ]
+     S    66    65 1    67     4  -0.001 -12.021 -11.428 -12.068                 
+				[ MATP   18 ]
+    MP    67    66 1    71     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -11.606 -6.912 -12.457 -2.375 -11.305 -7.102  0.280 -10.922 -8.071  3.771 -7.538 -0.565 -2.126 -7.218 -7.324 -9.448 
+    ML    68    66 1    71     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    69    66 1    71     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    70    66 1    71     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    71    71 5    71     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    72    72 6    72     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   19 ]
+    MP    73    72 6    77     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -9.240 -9.577 -7.207 -0.703 -6.953 -7.803  3.525 -7.976 -11.664 -2.259 -4.137 -7.040  1.735 -10.062 -2.061 -8.224 
+    ML    74    72 6    77     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    75    72 6    77     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    76    72 6    77     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    77    77 5    77     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    78    78 6    78     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   20 ]
+    MP    79    78 6    83     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -7.115 -7.535 -7.452 -0.649 -6.118 -4.162  1.464 -7.553 -2.412  2.100 -7.790 -4.927  2.952 -7.255 -2.078 -6.220 
+    ML    80    78 6    83     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    81    78 6    83     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    82    78 6    83     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    83    83 5    83     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    84    84 6    84     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   21 ]
+    MP    85    84 6    89     4 -13.101 -13.308  -0.001 -11.722                  1.474 -8.224 -7.865 -1.561 -3.150 -8.836  3.078 -3.335  1.394 -6.594 -4.545 -6.996 -1.665 -7.647 -0.097 -1.864 
+    ML    86    84 6    89     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    87    84 6    89     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    88    84 6    89     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    89    89 5    89     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    90    90 6    90     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   22 ]
+    ML    91    90 6    93     3 -14.012  -0.000 -12.666                          1.969 -5.517 -5.623 -4.509 
+     D    92    90 6    93     3  -6.174  -1.687  -0.566                         
+    IL    93    93 3    93     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   23 ]
+    ML    94    93 3    96     3 -14.012  -0.028  -5.681                         -0.099 -3.932  1.558 -4.175 
+     D    95    93 3    96     3  -6.174  -1.687  -0.566                         
+    IL    96    96 3    96     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   24 ]
+    ML    97    96 3    99     3 -13.984  -0.616  -1.525                         -2.120  0.318 -3.020  1.263 
+     D    98    96 3    99     3  -9.856  -5.369  -0.037                         
+    IL    99    99 3    99     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   25 ]
+    ML   100    99 3   102     3  -2.893  -0.209 -12.022                         -1.849 -0.318 -6.368  1.540 
+     D   101    99 3   102     3 -13.963  -0.005  -8.354                         
+    IL   102   102 3   102     3  -3.488  -0.141  -8.069                          0.000  0.000  0.000  0.000 
+				[ MATL   26 ]
+    ML   103   102 3   105     3 -14.012  -0.000 -12.666                         -7.659 -9.041  1.985 -4.890 
+     D   104   102 3   105     3  -6.174  -1.687  -0.566                         
+    IL   105   105 3   105     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   27 ]
+    ML   106   105 3   108     3 -14.012  -0.000 -12.666                         -9.488 -10.488  1.999 -10.286 
+     D   107   105 3   108     3  -6.174  -1.687  -0.566                         
+    IL   108   108 3   108     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   28 ]
+    ML   109   108 3   111     3  -0.920  -1.085 -12.666                         -1.932 -0.228 -2.234  1.418 
+     D   110   108 3   111     3  -6.174  -1.687  -0.566                         
+    IL   111   111 3   111     3  -2.288  -0.332 -10.826                          0.000  0.000  0.000  0.000 
+				[ MATL   29 ]
+    ML   112   111 3   114     2       *   0.000                                  1.778 -6.312 -0.996 -4.154 
+     D   113   111 3   114     2       *   0.000                                 
+    IL   114   114 3   114     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    30 ]
+     E   115   114 3    -1     0                                                 
+				[ BEGR   31 ]
+     S   116    65 1   117     3 -14.012  -0.017  -6.409                         
+    IL   117   117 2   117     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   32 ]
+    ML   118   117 2   120     5 -12.931  -0.001 -12.746 -12.959 -13.850          1.154 -3.089  0.613 -2.969 
+     D   119   117 2   120     5  -7.281  -0.129  -6.542  -4.917  -4.829         
+    IL   120   120 3   120     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   33 ]
+    MP   121   120 3   125     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -7.037 -7.238 -7.181  1.483 -3.802 -7.756  2.890 -3.509 -2.786  0.308 -7.454 -0.163  1.498 -3.576 -1.631 -3.419 
+    ML   122   120 3   125     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   123   120 3   125     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   124   120 3   125     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   125   125 5   125     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   126   126 6   126     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   34 ]
+    MP   127   126 6   131     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -7.562 -7.728 -7.698  1.296 -6.285 -8.282  2.986 -7.700 -8.021  0.253 -7.975 -0.964  1.796 -7.531 -2.098 -2.634 
+    ML   128   126 6   131     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   129   126 6   131     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   130   126 6   131     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   131   131 5   131     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   132   132 6   132     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   35 ]
+    MP   133   132 6   137     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -3.770 -7.034 -8.756  1.366 -8.689 -8.741  1.613 -8.338 -8.095  2.514 -7.814 -3.330  2.142 -8.082 -5.249 -7.171 
+    ML   134   132 6   137     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   135   132 6   137     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   136   132 6   137     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   137   137 5   137     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   138   138 6   138     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   36 ]
+    MP   139   138 6   143     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -12.633 -9.383 -12.525 -2.043 -11.426 -10.132  1.965 -11.177 -10.560  3.509 -10.096 -1.569 -5.642 -10.042 -7.160 -3.277 
+    ML   140   138 6   143     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   141   138 6   143     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   142   138 6   143     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   143   143 5   143     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   144   144 6   144     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   37 ]
+    MP   145   144 6   149     4 -13.101 -13.308  -0.001 -11.722                 -9.123 -2.953 -9.846  2.544 -9.260 -9.919  2.508 -9.301 -9.311  1.305 -8.992 -3.043  0.719 -9.306 -3.360 -8.095 
+    ML   146   144 6   149     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   147   144 6   149     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   148   144 6   149     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   149   149 5   149     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   150   150 6   150     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   38 ]
+    ML   151   150 6   153     3 -14.012  -0.000 -12.666                         -3.533  1.448 -7.551  0.238 
+     D   152   150 6   153     3  -6.174  -1.687  -0.566                         
+    IL   153   153 3   153     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   39 ]
+    ML   154   153 3   156     3 -14.012  -0.000 -12.666                         -8.939 -9.084 -9.393  1.998 
+     D   155   153 3   156     3  -6.174  -1.687  -0.566                         
+    IL   156   156 3   156     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   40 ]
+    ML   157   156 3   159     3 -14.012  -0.000 -12.666                         -2.883 -0.034  0.578  0.481 
+     D   158   156 3   159     3  -6.174  -1.687  -0.566                         
+    IL   159   159 3   159     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   41 ]
+    ML   160   159 3   162     3 -14.012  -0.000 -12.666                          0.183 -0.085 -0.221  0.089 
+     D   161   159 3   162     3  -6.174  -1.687  -0.566                         
+    IL   162   162 3   162     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   42 ]
+    ML   163   162 3   165     3 -14.012  -0.000 -12.666                          0.178 -0.228 -0.328  0.285 
+     D   164   162 3   165     3  -6.174  -1.687  -0.566                         
+    IL   165   165 3   165     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   43 ]
+    ML   166   165 3   168     3 -14.012  -0.000 -12.666                          1.722 -9.712 -0.516 -9.399 
+     D   167   165 3   168     3  -6.174  -1.687  -0.566                         
+    IL   168   168 3   168     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   44 ]
+    ML   169   168 3   171     2       *   0.000                                  1.516 -0.515 -5.325 -1.267 
+     D   170   168 3   171     2       *   0.000                                 
+    IL   171   171 3   171     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    45 ]
+     E   172   171 3    -1     0                                                 
+				[ BEGR   46 ]
+     S   173    63 1   174     3 -14.012  -0.000 -12.666                         
+    IL   174   174 2   174     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   47 ]
+    ML   175   174 2   177     3 -14.012  -0.347  -2.226                          0.255 -0.169 -0.179  0.048 
+     D   176   174 2   177     3  -6.174  -1.687  -0.566                         
+    IL   177   177 3   177     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   48 ]
+    ML   178   177 3   180     2  -5.757  -0.027                                 -0.282 -3.163  1.294 -0.705 
+     D   179   177 3   180     2 -11.596  -0.000                                 
+    IL   180   180 3   180     2  -4.108  -0.086                                  0.000  0.000  0.000  0.000 
+				[ BIF    49 ]
+     B   181   180 3   182   238                                                 
+				[ BEGL   50 ]
+     S   182   181 1   183     4  -1.839  -7.503 -11.428  -0.485                 
+				[ MATP   51 ]
+    MP   183   182 1   187     6 -12.101 -12.040  -0.003 -10.817 -11.097 -11.492 -5.896 -4.895 -1.135  1.822 -7.689 -6.694 -0.351 -6.364 -6.013  2.709  0.199  0.771  0.011 -6.051 -0.531 -5.246 
+    ML   184   182 1   187     6  -7.801  -8.147  -2.861  -2.556  -7.997  -0.556 -0.705  1.288 -1.533 -0.738 
+    MR   185   182 1   187     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   186   182 1   187     6 -17.432 -16.131 -11.928 -12.610 -12.627  -0.001 
+    IL   187   187 5   187     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   188   188 6   188     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   52 ]
+    MP   189   188 6   193     6 -12.101 -12.040  -0.030 -10.817 -11.097  -5.733 -6.042 -5.966 -6.292  0.490 -4.985 -6.803  2.313 -6.238 -6.447  2.197 -2.045 -3.144  2.130 -6.059 -2.718 -4.898 
+    ML   190   188 6   193     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   191   188 6   193     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   192   188 6   193     6 -17.443 -16.141 -11.938 -12.620 -12.638  -0.001 
+    IL   193   193 5   193     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   194   194 6   194     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   53 ]
+    MP   195   194 6   199     6 -12.074 -12.013  -0.441 -10.790 -11.070  -1.934 -5.425 -5.569 -5.574  0.769 -4.218 -2.004  2.789 -5.599 -5.868  1.249 -2.214 -0.790  1.274 -5.392  0.395 -4.246 
+    ML   196   194 6   199     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   197   194 6   199     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   198   194 6   199     6 -17.454 -16.152 -11.949 -12.631 -12.648  -0.001 
+    IL   199   199 5   199     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   200   200 6   200     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   54 ]
+    MP   201   200 6   205     6 -11.637 -11.576  -0.549 -10.353 -10.633  -1.669 -1.416 -5.275 -5.261  0.796 -1.392 -5.837  2.611 -5.293 -5.525  1.880 -5.519 -2.505  1.348 -5.069 -0.390 -3.937 
+    ML   202   200 6   205     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   203   200 6   205     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   204   200 6   205     6 -17.594 -16.292 -12.089 -12.771 -12.789  -0.001 
+    IL   205   205 5   205     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   206   206 6   206     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   55 ]
+    MP   207   206 6   211     6 -11.094 -11.033  -0.509  -9.809 -10.089  -1.763 -4.464 -3.752 -5.033  1.425 -0.401 -5.071  0.164 -4.728 -4.595  2.715 -4.442  1.415 -1.117 -0.314 -0.807 -3.966 
+    ML   208   206 6   211     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   209   206 6   211     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   210   206 6   211     6 -17.708 -16.406 -12.203 -12.885 -12.903  -0.001 
+    IL   211   211 5   211     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   212   212 6   212     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   56 ]
+    MP   213   212 6   217     6 -10.592 -10.531  -0.786  -9.307  -9.587  -1.266 -4.520 -3.607 -5.395  1.492 -5.866 -5.313  1.117 -4.970 -0.766  2.781 -4.391 -1.218 -0.687 -4.663  1.092 -3.899 
+    ML   214   212 6   217     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   215   212 6   217     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   216   212 6   217     6 -17.776 -16.475 -12.272 -12.954 -12.971  -0.001 
+    IL   217   217 5   217     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   218   218 6   218     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   57 ]
+    MP   219   218 6   223     4  -8.365  -0.471  -1.902  -6.986                 -3.687 -4.181 -4.019  0.126 -2.770 -4.697  2.468 -4.147 -4.181 -0.010 -4.393 -1.619  2.199 -3.893  0.852  0.077 
+    ML   220   218 6   223     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   221   218 6   223     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   222   218 6   223     4 -13.264  -4.552  -2.325  -0.400                 
+    IL   223   223 5   223     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   224   224 6   224     3  -4.956  -0.055  -7.657                          0.000  0.000  0.000  0.000 
+				[ MATL   58 ]
+    ML   225   224 6   227     3 -12.130  -0.001 -10.784                         -1.552 -1.933  0.893  0.623 
+     D   226   224 6   227     3 -14.977 -10.490  -0.001                         
+    IL   227   227 3   227     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   59 ]
+    ML   228   227 3   230     3 -12.130  -0.001 -10.784                         -0.009 -0.075 -3.569  0.980 
+     D   229   227 3   230     3 -14.977 -10.490  -0.001                         
+    IL   230   230 3   230     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   60 ]
+    ML   231   230 3   233     3  -4.478  -0.309  -2.759                          1.306 -0.395 -2.943 -0.652 
+     D   232   230 3   233     3 -14.977 -10.490  -0.001                         
+    IL   233   233 3   233     3  -2.958  -0.232  -5.659                          0.000  0.000  0.000  0.000 
+				[ MATL   61 ]
+    ML   234   233 3   236     2       *   0.000                                  0.963 -0.810 -0.300 -0.582 
+     D   235   233 3   236     2       *   0.000                                 
+    IL   236   236 3   236     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    62 ]
+     E   237   236 3    -1     0                                                 
+				[ BEGR   63 ]
+     S   238   181 1   239     3 -14.012  -0.134  -3.491                         
+    IL   239   239 2   239     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   64 ]
+    ML   240   239 2   242     3  -0.527  -1.710 -12.532                         -1.166 -3.477  1.564 -0.980 
+     D   241   239 2   242     3 -11.963  -0.018  -6.355                         
+    IL   242   242 3   242     3  -8.059  -0.006 -10.759                          0.000  0.000  0.000  0.000 
+				[ MATL   65 ]
+    ML   243   242 3   245     5 -12.948  -0.001 -12.763 -12.975 -13.867         -4.810  1.566 -3.513 -0.127 
+     D   244   242 3   245     5  -4.959  -0.803  -4.221  -2.596  -2.508         
+    IL   245   245 3   245     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   66 ]
+    MP   246   245 3   250     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -7.688 -6.681 -8.645  1.666 -9.459 -8.489  0.368 -8.152 -7.805  2.786 -7.490  2.090 -2.079 -7.846 -5.378 -3.561 
+    ML   247   245 3   250     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   248   245 3   250     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   249   245 3   250     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   250   250 5   250     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   251   251 6   251     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   67 ]
+    MP   252   251 6   256     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -7.164 -3.930 -7.425  1.355 -6.165 -3.575  2.544 -7.386 -7.552  1.564 -7.449  0.499  1.030 -7.159 -0.127 -3.582 
+    ML   253   251 6   256     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   254   251 6   256     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   255   251 6   256     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   256   256 5   256     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   257   257 6   257     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   68 ]
+    MP   258   257 6   262     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -7.629 -3.082 -8.585  1.776 -9.406 -8.429  1.804 -4.067 -7.746  2.629 -7.432 -0.249  0.686 -7.786 -2.088 -6.973 
+    ML   259   257 6   262     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   260   257 6   262     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   261   257 6   262     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   262   262 5   262     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   263   263 6   263     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   69 ]
+    MP   264   263 6   268     6 -13.903 -13.842  -0.001 -12.619 -12.899 -13.294 -11.641 -3.835 -12.487  1.001 -11.420 -7.137 -3.552 -10.940 -8.101  3.781 -7.570 -4.706 -5.223 -7.252 -7.438 -9.487 
+    ML   265   263 6   268     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   266   263 6   268     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   267   263 6   268     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   268   268 5   268     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   269   269 6   269     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   70 ]
+    MP   270   269 6   274     4 -13.101 -13.308  -0.001 -11.722                 -11.596 -6.880 -12.474 -2.533 -11.371 -7.068 -5.211 -10.924 -8.038  3.960 -4.139 -3.060 -5.172 -7.185 -7.405 -9.447 
+    ML   271   269 6   274     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   272   269 6   274     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   273   269 6   274     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   274   274 5   274     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   275   275 6   275     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   71 ]
+    ML   276   275 6   278     3 -14.012  -0.002  -9.561                         -8.939 -9.084 -9.393  1.998 
+     D   277   275 6   278     3  -6.174  -1.687  -0.566                         
+    IL   278   278 3   278     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   72 ]
+    ML   279   278 3   281     3 -14.010  -0.000 -12.664                         -8.937 -9.081 -9.390  1.998 
+     D   280   278 3   281     3  -6.953  -0.742  -1.344                         
+    IL   281   281 3   281     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   73 ]
+    ML   282   281 3   284     3 -14.012  -0.000 -12.666                         -9.158  1.998 -9.627 -9.349 
+     D   283   281 3   284     3  -6.174  -1.687  -0.566                         
+    IL   284   284 3   284     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   74 ]
+    ML   285   284 3   287     3 -14.012  -0.000 -12.666                          0.321 -8.969  1.457 -8.325 
+     D   286   284 3   287     3  -6.174  -1.687  -0.566                         
+    IL   287   287 3   287     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   75 ]
+    ML   288   287 3   290     3 -14.012  -0.002  -9.561                          1.997 -8.633 -8.089 -8.568 
+     D   289   287 3   290     3  -6.174  -1.687  -0.566                         
+    IL   290   290 3   290     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   76 ]
+    ML   291   290 3   293     3 -14.010  -0.013  -6.815                          0.625 -2.188  0.582 -0.432 
+     D   292   290 3   293     3  -6.953  -0.742  -1.344                         
+    IL   293   293 3   293     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   77 ]
+    ML   294   293 3   296     2       *   0.000                                 -5.368 -0.963 -7.616  1.790 
+     D   295   293 3   296     2       *   0.000                                 
+    IL   296   296 3   296     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    78 ]
+     E   297   296 3    -1     0                                                 
+//
diff --git a/TRNAinf-bact-ns-c.cm b/TRNAinf-bact-ns-c.cm
new file mode 100644
index 0000000..415ea5f
--- /dev/null
+++ b/TRNAinf-bact-ns-c.cm
@@ -0,0 +1,416 @@
+INFERNAL-1 [1.0]
+NAME     tRNA1415G-bact-nostruct
+STATES   283
+NODES    95
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     249
+EFFNSEQ  249.000
+CLEN     93
+BCOM     cmbuild --rf --enone -F TRNAinf-bact-ns-nc.cm trna1415G-bact-ns.sto
+BDATE    Sun Feb  8 19:01:31 2009
+CCOM     cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf-bact-ns.hfile --exp-sfile cmcalibrate_files/TRNAinf-bact-ns.sfile --exp-qqfile cmcalibrate_files/TRNAinf-bact-ns.qqfile --exp-ffile cmcalibrate_files/TRNAinf-bact-ns.ffile --fil-dfile cmcalibrate_files/TRNAinf-bact-ns.dfile -s 208 TRNAinf-bact-ns-c.cm
+CDATE    Sun Feb  8 20:09:03 2009
+NULL     0.000  0.000  0.000  0.000 
+PART     1        0    100  
+E-LC     0      0.70264   -10.82259    -1.38740     1500000      851757  0.001321
+E-GC     0      0.28941   -34.21287   -19.62910     1500000       25529  0.014689
+E-LI     0      0.67728   -10.43186    -0.86376     1500000      733642  0.001533
+E-GI     0      0.29780   -31.78663   -17.63305     1500000       25383  0.014774
+E-LV     0      0.73241    -3.92074     2.34835    15000000      110978  0.010137
+E-GV     0      0.33174   -29.02309   -11.88229    15000000      110546  0.003392
+E-LF     0      0.69034    -1.32503     5.32787    15000000      111111  0.010125
+E-GF     0      0.36826   -24.79156    -9.35237    15000000      110472  0.003395
+FT-LC    35  0.99500  10000  1500000  0
+            6755.17    6755.17    6589.94    6243.09    5097.19    5097.19    4121.57    4034.91    3448.66    2502.68    2486.75    2348.89    2318.76    2123.49    1842.51    1728.92    1523.79    1407.62    1221.04    1108.92    998.952    899.061    808.255    786.504    786.504    785.304    16.4974    15.8164    7.60229    6.67111    4.89523     4.3201    2.60093    2.07945    1.74401 
+            5628.99    4954.11    4027.38    3613.71    3045.09    2574.82    2273.95    2046.02    1789.56    1395.78    1223.35    1087.14    947.594    784.286    454.282    405.935    363.987    315.519    283.697     250.72    223.883    199.504    173.536    154.214    131.029    130.366     75.478    67.3522    55.5144    42.7049    35.4429    25.3934    17.9935    16.1119    13.0366 
+FT-LI    37  0.99500  10000  1500000  0
+            8453.39    6879.88     5537.3    5373.85    4651.59    4430.14       3979    3940.88       3379    2957.99    2659.64    2485.79    2426.45    1870.07     1581.5    1505.05    1435.57    1342.59    1281.56    1173.99    1145.21    1135.67    748.061    721.295    657.544    653.259    24.8213    17.4623    15.6529    9.27504    8.26042    6.04424    5.52297    4.43905    3.59112    2.76614    2.34579 
+            5628.99    4954.11    4027.38    3613.71    3045.09    2574.82    2273.95    2046.02    1789.56    1395.78    1223.35    1087.14    947.594    784.286    454.282    405.935    363.987    315.519    283.697     250.72    223.883    199.504    173.536    154.214    131.029    130.366    115.002    85.4056    72.3656    47.8901    38.3449    28.8327    25.3934     18.459    15.5223    13.5767    13.0366 
+FT-GC    1  0.99500  10000  1500000  1
+          0.0401648 
+            10.6271 
+FT-GI    1  0.99500  10000  1500000  1
+          0.0373644 
+            10.6271 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     4  -4.210 -13.308  -0.097  -6.552                 
+    IL     1     1 2     1     4  -5.839  -6.522  -0.044  -9.007                  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    1 ]
+    ML     3     2 3     5     3 -13.997  -0.000 -12.651                         -2.433 -1.567  1.688 -1.970 
+     D     4     2 3     5     3  -9.048  -0.143  -3.439                         
+    IL     5     5 3     5     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    2 ]
+    ML     6     5 3     8     3 -14.012  -0.000 -12.666                         -2.883  0.487  1.147 -2.015 
+     D     7     5 3     8     3  -6.174  -1.687  -0.566                         
+    IL     8     8 3     8     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    3 ]
+    ML     9     8 3    11     3 -14.012  -0.000 -12.666                         -0.516  0.434  0.637 -1.343 
+     D    10     8 3    11     3  -6.174  -1.687  -0.566                         
+    IL    11    11 3    11     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    4 ]
+    ML    12    11 3    14     3 -14.012  -0.000 -12.666                         -1.720  0.238  0.982 -0.885 
+     D    13    11 3    14     3  -6.174  -1.687  -0.566                         
+    IL    14    14 3    14     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    5 ]
+    ML    15    14 3    17     3 -14.012  -0.000 -12.666                         -0.052  0.365  0.554 -1.840 
+     D    16    14 3    17     3  -6.174  -1.687  -0.566                         
+    IL    17    17 3    17     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    6 ]
+    ML    18    17 3    20     3  -8.201  -0.005 -12.666                         -0.230 -0.137  0.012  0.298 
+     D    19    17 3    20     3  -6.174  -1.687  -0.566                         
+    IL    20    20 3    20     3  -2.039  -0.476  -4.739                          0.000  0.000  0.000  0.000 
+				[ MATL    7 ]
+    ML    21    20 3    23     3 -14.012  -0.005  -8.162                          0.201 -2.565  0.863 -0.212 
+     D    22    20 3    23     3  -6.174  -1.687  -0.566                         
+    IL    23    23 3    23     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    8 ]
+    ML    24    23 3    26     3 -14.007  -0.005  -8.118                         -7.763 -7.499 -4.305  1.978 
+     D    25    23 3    26     3  -7.779  -0.371  -2.171                         
+    IL    26    26 3    26     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    9 ]
+    ML    27    26 3    29     3 -14.007  -0.000 -12.661                          1.348 -2.468  0.202 -3.024 
+     D    28    26 3    29     3  -7.807  -0.363  -2.198                         
+    IL    29    29 3    29     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   10 ]
+    ML    30    29 3    32     3 -14.012  -0.000 -12.666                         -4.334 -1.630  1.833 -3.960 
+     D    31    29 3    32     3  -6.174  -1.687  -0.566                         
+    IL    32    32 3    32     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   11 ]
+    ML    33    32 3    35     3 -14.012  -0.000 -12.666                         -2.529  1.501 -3.830 -0.112 
+     D    34    32 3    35     3  -6.174  -1.687  -0.566                         
+    IL    35    35 3    35     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   12 ]
+    ML    36    35 3    38     3 -14.012  -0.000 -12.666                         -2.627 -0.551  0.197  1.007 
+     D    37    35 3    38     3  -6.174  -1.687  -0.566                         
+    IL    38    38 3    38     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   13 ]
+    ML    39    38 3    41     3 -14.012  -0.000 -12.666                         -0.336  1.105 -0.569 -1.387 
+     D    40    38 3    41     3  -6.174  -1.687  -0.566                         
+    IL    41    41 3    41     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   14 ]
+    ML    42    41 3    44     3 -14.012  -0.000 -12.666                          1.969 -5.517 -5.623 -4.509 
+     D    43    41 3    44     3  -6.174  -1.687  -0.566                         
+    IL    44    44 3    44     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   15 ]
+    ML    45    44 3    47     3 -14.012  -0.028  -5.681                         -0.099 -3.932  1.558 -4.175 
+     D    46    44 3    47     3  -6.174  -1.687  -0.566                         
+    IL    47    47 3    47     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   16 ]
+    ML    48    47 3    50     3 -13.984  -0.616  -1.525                         -2.120  0.318 -3.020  1.263 
+     D    49    47 3    50     3  -9.856  -5.369  -0.037                         
+    IL    50    50 3    50     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   17 ]
+    ML    51    50 3    53     3  -2.893  -0.209 -12.022                         -1.849 -0.318 -6.368  1.540 
+     D    52    50 3    53     3 -13.963  -0.005  -8.354                         
+    IL    53    53 3    53     3  -3.488  -0.141  -8.069                          0.000  0.000  0.000  0.000 
+				[ MATL   18 ]
+    ML    54    53 3    56     3 -14.012  -0.000 -12.666                         -7.659 -9.041  1.985 -4.890 
+     D    55    53 3    56     3  -6.174  -1.687  -0.566                         
+    IL    56    56 3    56     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   19 ]
+    ML    57    56 3    59     3 -14.012  -0.000 -12.666                         -9.488 -10.488  1.999 -10.286 
+     D    58    56 3    59     3  -6.174  -1.687  -0.566                         
+    IL    59    59 3    59     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   20 ]
+    ML    60    59 3    62     3  -0.920  -1.085 -12.666                         -1.932 -0.228 -2.234  1.418 
+     D    61    59 3    62     3  -6.174  -1.687  -0.566                         
+    IL    62    62 3    62     3  -2.288  -0.332 -10.826                          0.000  0.000  0.000  0.000 
+				[ MATL   21 ]
+    ML    63    62 3    65     3 -14.012  -0.000 -12.666                          1.778 -6.312 -0.996 -4.154 
+     D    64    62 3    65     3  -6.174  -1.687  -0.566                         
+    IL    65    65 3    65     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   22 ]
+    ML    66    65 3    68     3 -14.012  -0.000 -12.666                          0.495 -7.283  1.268 -2.501 
+     D    67    65 3    68     3  -6.174  -1.687  -0.566                         
+    IL    68    68 3    68     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   23 ]
+    ML    69    68 3    71     3 -14.012  -0.000 -12.666                          1.008  0.156 -0.487 -2.631 
+     D    70    68 3    71     3  -6.174  -1.687  -0.566                         
+    IL    71    71 3    71     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   24 ]
+    ML    72    71 3    74     3 -14.012  -0.000 -12.666                         -0.212 -4.233  1.545 -2.604 
+     D    73    71 3    74     3  -6.174  -1.687  -0.566                         
+    IL    74    74 3    74     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   25 ]
+    ML    75    74 3    77     3 -14.012  -0.017  -6.409                         -3.990  1.768 -1.650 -2.228 
+     D    76    74 3    77     3  -6.174  -1.687  -0.566                         
+    IL    77    77 3    77     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   26 ]
+    ML    78    77 3    80     3 -13.995  -0.000 -12.649                          1.154 -3.089  0.613 -2.969 
+     D    79    77 3    80     3  -9.193  -0.128  -3.584                         
+    IL    80    80 3    80     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   27 ]
+    ML    81    80 3    83     3 -14.012  -0.000 -12.666                         -0.462  0.948 -0.818 -0.362 
+     D    82    80 3    83     3  -6.174  -1.687  -0.566                         
+    IL    83    83 3    83     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   28 ]
+    ML    84    83 3    86     3 -14.012  -0.000 -12.666                         -0.660  1.007 -1.254 -0.091 
+     D    85    83 3    86     3  -6.174  -1.687  -0.566                         
+    IL    86    86 3    86     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   29 ]
+    ML    87    86 3    89     3 -14.012  -0.000 -12.666                         -0.595 -0.363  0.514  0.180 
+     D    88    86 3    89     3  -6.174  -1.687  -0.566                         
+    IL    89    89 3    89     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   30 ]
+    ML    90    89 3    92     3 -14.012  -0.000 -12.666                         -3.824 -0.081  1.560 -4.819 
+     D    91    89 3    92     3  -6.174  -1.687  -0.566                         
+    IL    92    92 3    92     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   31 ]
+    ML    93    92 3    95     3 -14.012  -0.000 -12.666                          0.588  0.514 -0.671 -1.181 
+     D    94    92 3    95     3  -6.174  -1.687  -0.566                         
+    IL    95    95 3    95     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   32 ]
+    ML    96    95 3    98     3 -14.012  -0.000 -12.666                         -3.533  1.448 -7.551  0.238 
+     D    97    95 3    98     3  -6.174  -1.687  -0.566                         
+    IL    98    98 3    98     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   33 ]
+    ML    99    98 3   101     3 -14.012  -0.000 -12.666                         -8.939 -9.084 -9.393  1.998 
+     D   100    98 3   101     3  -6.174  -1.687  -0.566                         
+    IL   101   101 3   101     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   34 ]
+    ML   102   101 3   104     3 -14.012  -0.000 -12.666                         -2.883 -0.034  0.578  0.481 
+     D   103   101 3   104     3  -6.174  -1.687  -0.566                         
+    IL   104   104 3   104     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   35 ]
+    ML   105   104 3   107     3 -14.012  -0.000 -12.666                          0.183 -0.085 -0.221  0.089 
+     D   106   104 3   107     3  -6.174  -1.687  -0.566                         
+    IL   107   107 3   107     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   36 ]
+    ML   108   107 3   110     3 -14.012  -0.000 -12.666                          0.178 -0.228 -0.328  0.285 
+     D   109   107 3   110     3  -6.174  -1.687  -0.566                         
+    IL   110   110 3   110     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   37 ]
+    ML   111   110 3   113     3 -14.012  -0.000 -12.666                          1.722 -9.712 -0.516 -9.399 
+     D   112   110 3   113     3  -6.174  -1.687  -0.566                         
+    IL   113   113 3   113     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   38 ]
+    ML   114   113 3   116     3 -14.012  -0.000 -12.666                          1.516 -0.515 -5.325 -1.267 
+     D   115   113 3   116     3  -6.174  -1.687  -0.566                         
+    IL   116   116 3   116     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   39 ]
+    ML   117   116 3   119     3 -14.012  -0.000 -12.666                         -1.242 -0.648  0.530  0.581 
+     D   118   116 3   119     3  -6.174  -1.687  -0.566                         
+    IL   119   119 3   119     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   40 ]
+    ML   120   119 3   122     3 -14.012  -0.000 -12.666                         -7.294  1.520 -0.061 -2.575 
+     D   121   119 3   122     3  -6.174  -1.687  -0.566                         
+    IL   122   122 3   122     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   41 ]
+    ML   123   122 3   125     3 -14.012  -0.000 -12.666                          0.203  0.502 -0.368 -0.603 
+     D   124   122 3   125     3  -6.174  -1.687  -0.566                         
+    IL   125   125 3   125     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   42 ]
+    ML   126   125 3   128     3 -14.012  -0.000 -12.666                         -0.230 -1.753  1.041 -0.333 
+     D   127   125 3   128     3  -6.174  -1.687  -0.566                         
+    IL   128   128 3   128     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   43 ]
+    ML   129   128 3   131     3 -14.012  -0.000 -12.666                         -0.471 -1.613  0.970 -0.011 
+     D   130   128 3   131     3  -6.174  -1.687  -0.566                         
+    IL   131   131 3   131     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   44 ]
+    ML   132   131 3   134     3 -14.012  -0.347  -2.226                          0.255 -0.169 -0.179  0.048 
+     D   133   131 3   134     3  -6.174  -1.687  -0.566                         
+    IL   134   134 3   134     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   45 ]
+    ML   135   134 3   137     3  -5.759  -4.024  -0.120                         -0.282 -3.163  1.294 -0.705 
+     D   136   134 3   137     3 -13.215  -0.008  -7.607                         
+    IL   137   137 3   137     3  -3.129  -0.204  -5.829                          0.000  0.000  0.000  0.000 
+				[ MATL   46 ]
+    ML   138   137 3   140     3 -12.158  -0.029  -5.654                         -0.068 -1.916  1.228 -1.187 
+     D   139   137 3   140     3 -14.967 -10.480  -0.001                         
+    IL   140   140 3   140     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   47 ]
+    ML   141   140 3   143     3 -12.130  -0.030  -5.608                         -1.425  0.318  0.352  0.144 
+     D   142   140 3   143     3 -14.977 -10.490  -0.001                         
+    IL   143   143 3   143     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   48 ]
+    ML   144   143 3   146     3 -12.101  -0.481  -1.820                         -1.125  0.931 -0.271 -0.312 
+     D   145   143 3   146     3 -14.988 -10.501  -0.001                         
+    IL   146   146 3   146     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   49 ]
+    ML   147   146 3   149     3 -11.622  -0.623  -1.513                         -0.750  0.772  0.093 -0.664 
+     D   148   146 3   149     3 -15.128 -10.641  -0.001                         
+    IL   149   149 3   149     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   50 ]
+    ML   150   149 3   152     3 -11.001  -0.615  -1.529                         -0.778 -1.016  1.291 -1.072 
+     D   151   149 3   152     3 -15.242 -10.755  -0.001                         
+    IL   152   152 3   152     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   51 ]
+    ML   153   152 3   155     3 -10.390  -1.083  -0.923                         -0.617 -0.560  0.837 -0.179 
+     D   154   152 3   155     3 -15.311 -10.824  -0.001                         
+    IL   155   155 3   155     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   52 ]
+    ML   156   155 3   158     3  -9.315  -0.008  -7.969                         -1.416  0.193 -2.236  1.183 
+     D   157   155 3   158     3 -15.376  -2.046  -0.400                         
+    IL   158   158 3   158     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   53 ]
+    ML   159   158 3   161     3 -12.130  -0.001 -10.784                         -1.552 -1.933  0.893  0.623 
+     D   160   158 3   161     3 -14.977 -10.490  -0.001                         
+    IL   161   161 3   161     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   54 ]
+    ML   162   161 3   164     3 -12.130  -0.001 -10.784                         -0.009 -0.075 -3.569  0.980 
+     D   163   161 3   164     3 -14.977 -10.490  -0.001                         
+    IL   164   164 3   164     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   55 ]
+    ML   165   164 3   167     3  -4.478  -0.309  -2.759                          1.306 -0.395 -2.943 -0.652 
+     D   166   164 3   167     3 -14.977 -10.490  -0.001                         
+    IL   167   167 3   167     3  -2.958  -0.232  -5.659                          0.000  0.000  0.000  0.000 
+				[ MATL   56 ]
+    ML   168   167 3   170     3  -1.768  -4.343  -0.606                          0.963 -0.810 -0.300 -0.582 
+     D   169   167 3   170     3 -15.054 -10.567  -0.001                         
+    IL   170   170 3   170     3  -4.956  -1.278  -0.848                          0.000  0.000  0.000  0.000 
+				[ MATL   57 ]
+    ML   171   170 3   173     3  -9.315  -0.008  -7.969                          0.011 -2.096  1.092 -0.676 
+     D   172   170 3   173     3 -15.376  -4.479  -0.066                         
+    IL   173   173 3   173     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   58 ]
+    ML   174   173 3   176     3 -10.390  -0.004  -9.044                         -1.125  0.661  0.378 -0.598 
+     D   175   173 3   176     3 -15.311  -4.409  -0.070                         
+    IL   176   176 3   176     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   59 ]
+    ML   177   176 3   179     3 -11.001  -0.002  -9.655                         -1.259  0.839 -1.192  0.438 
+     D   178   176 3   179     3 -15.242  -3.707  -0.115                         
+    IL   179   179 3   179     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   60 ]
+    ML   180   179 3   182     3 -11.622  -0.002 -10.276                         -0.552  0.104  0.819 -1.061 
+     D   181   179 3   182     3 -15.128  -3.421  -0.141                         
+    IL   182   182 3   182     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   61 ]
+    ML   183   182 3   185     3 -12.101  -0.001 -10.755                         -1.133 -0.519  1.185 -0.806 
+     D   184   182 3   185     3 -14.988  -6.958  -0.012                         
+    IL   185   185 3   185     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   62 ]
+    ML   186   185 3   188     3 -12.130  -0.001 -10.784                          0.145  0.288  0.381 -1.430 
+     D   187   185 3   188     3 -14.977 -10.490  -0.001                         
+    IL   188   188 3   188     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   63 ]
+    ML   189   188 3   191     3 -12.130  -0.573  -1.609                         -1.703  0.654 -0.301  0.387 
+     D   190   188 3   191     3 -14.977  -0.002  -9.369                         
+    IL   191   191 3   191     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   64 ]
+    ML   192   191 3   194     3  -0.527  -1.710 -12.532                         -1.166 -3.477  1.564 -0.980 
+     D   193   191 3   194     3 -11.963  -0.018  -6.355                         
+    IL   194   194 3   194     3  -8.059  -0.006 -10.759                          0.000  0.000  0.000  0.000 
+				[ MATL   65 ]
+    ML   195   194 3   197     3 -14.012  -0.000 -12.666                         -4.810  1.566 -3.513 -0.127 
+     D   196   194 3   197     3  -6.174  -1.687  -0.566                         
+    IL   197   197 3   197     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   66 ]
+    ML   198   197 3   200     3 -14.012  -0.000 -12.666                         -0.392 -1.681  1.513 -3.788 
+     D   199   197 3   200     3  -6.174  -1.687  -0.566                         
+    IL   200   200 3   200     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   67 ]
+    ML   201   200 3   203     3 -14.012  -0.000 -12.666                         -0.577  0.585  0.144 -0.465 
+     D   202   200 3   203     3  -6.174  -1.687  -0.566                         
+    IL   203   203 3   203     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   68 ]
+    ML   204   203 3   206     3 -14.012  -0.000 -12.666                         -0.179 -0.131  0.789 -1.071 
+     D   205   203 3   206     3  -6.174  -1.687  -0.566                         
+    IL   206   206 3   206     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   69 ]
+    ML   207   206 3   209     3 -14.012  -0.000 -12.666                         -0.865 -5.525  1.774 -6.634 
+     D   208   206 3   209     3  -6.174  -1.687  -0.566                         
+    IL   209   209 3   209     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   70 ]
+    ML   210   209 3   212     3 -14.012  -0.000 -12.666                         -4.940 -9.009  1.986 -8.371 
+     D   211   209 3   212     3  -6.174  -1.687  -0.566                         
+    IL   212   212 3   212     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   71 ]
+    ML   213   212 3   215     3 -14.012  -0.002  -9.561                         -8.939 -9.084 -9.393  1.998 
+     D   214   212 3   215     3  -6.174  -1.687  -0.566                         
+    IL   215   215 3   215     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   72 ]
+    ML   216   215 3   218     3 -14.010  -0.000 -12.664                         -8.937 -9.081 -9.390  1.998 
+     D   217   215 3   218     3  -6.953  -0.742  -1.344                         
+    IL   218   218 3   218     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   73 ]
+    ML   219   218 3   221     3 -14.012  -0.000 -12.666                         -9.158  1.998 -9.627 -9.349 
+     D   220   218 3   221     3  -6.174  -1.687  -0.566                         
+    IL   221   221 3   221     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   74 ]
+    ML   222   221 3   224     3 -14.012  -0.000 -12.666                          0.321 -8.969  1.457 -8.325 
+     D   223   221 3   224     3  -6.174  -1.687  -0.566                         
+    IL   224   224 3   224     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   75 ]
+    ML   225   224 3   227     3 -14.012  -0.002  -9.561                          1.997 -8.633 -8.089 -8.568 
+     D   226   224 3   227     3  -6.174  -1.687  -0.566                         
+    IL   227   227 3   227     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   76 ]
+    ML   228   227 3   230     3 -14.010  -0.013  -6.815                          0.625 -2.188  0.582 -0.432 
+     D   229   227 3   230     3  -6.953  -0.742  -1.344                         
+    IL   230   230 3   230     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   77 ]
+    ML   231   230 3   233     3 -13.999  -0.000 -12.653                         -5.368 -0.963 -7.616  1.790 
+     D   232   230 3   233     3  -8.837  -0.166  -3.228                         
+    IL   233   233 3   233     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   78 ]
+    ML   234   233 3   236     3 -14.012  -0.000 -12.666                         -6.839  1.969 -5.804 -4.065 
+     D   235   233 3   236     3  -6.174  -1.687  -0.566                         
+    IL   236   236 3   236     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   79 ]
+    ML   237   236 3   239     3 -14.012  -0.000 -12.666                         -6.827  1.786 -5.646 -0.936 
+     D   238   236 3   239     3  -6.174  -1.687  -0.566                         
+    IL   239   239 3   239     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   80 ]
+    ML   240   239 3   242     3 -14.012  -0.000 -12.666                         -1.244  0.637 -0.073  0.101 
+     D   241   239 3   242     3  -6.174  -1.687  -0.566                         
+    IL   242   242 3   242     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   81 ]
+    ML   243   242 3   245     3 -14.012  -0.000 -12.666                         -1.057 -0.352  0.768  0.047 
+     D   244   242 3   245     3  -6.174  -1.687  -0.566                         
+    IL   245   245 3   245     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   82 ]
+    ML   246   245 3   248     3 -14.012  -0.000 -12.666                         -3.868  0.774 -1.607  0.921 
+     D   247   245 3   248     3  -6.174  -1.687  -0.566                         
+    IL   248   248 3   248     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   83 ]
+    ML   249   248 3   251     3 -14.012  -0.000 -12.666                         -0.210  0.752 -2.586  0.362 
+     D   250   248 3   251     3  -6.174  -1.687  -0.566                         
+    IL   251   251 3   251     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   84 ]
+    ML   252   251 3   254     3 -14.012  -0.000 -12.666                          0.041  0.034  0.108 -0.202 
+     D   253   251 3   254     3  -6.174  -1.687  -0.566                         
+    IL   254   254 3   254     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   85 ]
+    ML   255   254 3   257     3 -14.012  -0.000 -12.666                         -2.431  0.491  0.458  0.050 
+     D   256   254 3   257     3  -6.174  -1.687  -0.566                         
+    IL   257   257 3   257     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   86 ]
+    ML   258   257 3   260     3 -14.012  -0.000 -12.666                         -1.076  0.939  0.318 -1.466 
+     D   259   257 3   260     3  -6.174  -1.687  -0.566                         
+    IL   260   260 3   260     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   87 ]
+    ML   261   260 3   263     3 -14.012  -0.000 -12.666                         -1.376  0.490  0.441 -0.230 
+     D   262   260 3   263     3  -6.174  -1.687  -0.566                         
+    IL   263   263 3   263     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   88 ]
+    ML   264   263 3   266     3 -14.012  -0.000 -12.666                         -2.471  1.051  0.590 -2.043 
+     D   265   263 3   266     3  -6.174  -1.687  -0.566                         
+    IL   266   266 3   266     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   89 ]
+    ML   267   266 3   269     3  -6.360  -0.037  -6.213                         -1.614  1.560 -1.917 -1.121 
+     D   268   266 3   269     3  -6.174  -1.687  -0.566                         
+    IL   269   269 3   269     3  -2.958  -0.232  -5.659                          0.000  0.000  0.000  0.000 
+				[ MATL   90 ]
+    ML   270   269 3   272     3 -13.993  -0.264  -2.580                          1.183 -2.858  0.062 -0.868 
+     D   271   269 3   272     3  -9.368  -4.881  -0.052                         
+    IL   272   272 3   272     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   91 ]
+    ML   273   272 3   275     3 -13.729  -0.000 -12.383                         -8.745  1.998 -9.265 -8.847 
+     D   274   272 3   275     3 -12.955  -8.468  -0.004                         
+    IL   275   275 3   275     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   92 ]
+    ML   276   275 3   278     3 -13.729  -0.000 -12.383                         -8.745  1.998 -9.265 -8.847 
+     D   277   275 3   278     3 -12.955  -8.468  -0.004                         
+    IL   278   278 3   278     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   93 ]
+    ML   279   278 3   281     2       *   0.000                                  1.996 -8.236 -7.705 -8.011 
+     D   280   278 3   281     2       *   0.000                                 
+    IL   281   281 3   281     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    94 ]
+     E   282   281 3    -1     0                                                 
+//
diff --git a/TRNAinf-c.cm b/TRNAinf-c.cm
new file mode 100644
index 0000000..650a664
--- /dev/null
+++ b/TRNAinf-c.cm
@@ -0,0 +1,403 @@
+INFERNAL-1 [1.0]
+NAME     tRNA1415G
+STATES   289
+NODES    76
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     1415
+EFFNSEQ  1415.000
+CLEN     90
+BCOM     cmbuild --rf --enone TRNAinf.cm trna1415G.sto
+BDATE    Sun Feb  8 16:42:04 2009
+CCOM     cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf.hfile --exp-sfile cmcalibrate_files/TRNAinf.sfile --exp-qqfile cmcalibrate_files/TRNAinf.qqfile --exp-ffile cmcalibrate_files/TRNAinf.ffile --fil-dfile cmcalibrate_files/TRNAinf.dfile -s 208 TRNAinf-c.cm
+CDATE    Sun Feb  8 20:33:25 2009
+NULL     0.000  0.000  0.000  0.000 
+PART     1        0    100  
+E-LC     0      0.81122    -5.88321     1.22345     1500000      358822  0.003135
+E-GC     0      0.33246   -23.80877   -11.44044     1500000       22900  0.016376
+E-LI     0      0.70671    -5.92548     2.03289     1500000      311704  0.003609
+E-GI     0      0.33394   -22.04403    -9.70721     1500000       23079  0.016249
+E-LV     0      0.48454    -2.90587     4.34254    49520000      124497  0.029832
+E-GV     0      0.46613    -4.01423     5.85082    49520000      122964  0.010068
+E-LF     0      0.56706     1.45970     7.65260    49520000      124445  0.029845
+E-GF     0      0.47996    -1.92556     7.65678    49520000      123054  0.010061
+FT-LC    44  0.99500  10000  1500000  0
+         5.57553e-07 2.16687e-07 9.52295e-08 6.87971e-08 5.62574e-08 3.03739e-08 1.62142e-08 8.43269e-09 4.94182e-09 2.50475e-09 1.79964e-09 1.42675e-09 9.96612e-10 6.81506e-10 3.97576e-10 3.22726e-10 2.59854e-10 1.68466e-10 7.88383e-11 6.46629e-11 4.16314e-11 2.70369e-11 2.35029e-11 1.63449e-11 1.52098e-11 1.12244e-11 7.31163e-12 7.08743e-12 5.09621e-12 3.35466e-12 2.82909e-12 2.16847e-12 1.73177e-12 1.73143e-12 1.40412e-12 1.2231e-12 1.07635e-12 6.44585e-13 5.14461e-13 4.07215e-13 2.46 [...]
+            1295.06    1146.42    1029.32    880.198     729.98    652.453    581.179    523.002    453.874    400.641     359.72    320.788    287.696    254.674    215.934      190.5    169.786     151.84     136.64    122.129    109.406     97.953    85.9756    77.1065    68.5667    61.2846    52.8836    47.2671    42.0798    34.8192     30.718    26.9313     23.935    21.1517    18.4395    15.8128    14.0694    12.6467    11.2652    10.1486    7.40874    4.12192    1.53321    1.01486 
+FT-LI    46  0.99500  10000  1500000  0
+         6.89922e-06 3.06551e-06 1.57661e-06 1.49394e-06 6.04001e-07 4.45103e-07 3.26106e-07 2.32644e-07 1.27765e-07 7.47124e-08 5.71024e-08 5.43605e-08 3.49974e-08 2.45767e-08 1.51903e-08 9.20428e-09 8.18388e-09 7.08352e-09   4.38e-09 3.50359e-09 2.08868e-09 1.80038e-09 1.66966e-09 1.08623e-09 9.40417e-10  6.827e-10 5.77718e-10 5.19002e-10 3.53504e-10 2.6564e-10 2.31906e-10 2.0578e-10 1.64723e-10 1.63555e-10 1.49853e-10 1.33499e-10 1.02591e-10 7.52308e-11 5.35186e-11 4.66752e-11 8.5792e [...]
+            1295.06    1146.42    1029.32    880.198     729.98    652.453    581.179    523.002    453.874    400.641     359.72    320.788    287.696    254.674    215.934      190.5    169.786     151.84     136.64    122.129    109.406     97.953    85.9756    77.1065    68.5667    61.2846    52.8836    47.2671    42.0798    34.8192     30.718    27.3779    24.4148    21.1517    18.4395    15.8038    14.0694    12.6467    11.2652    10.1486    7.40874    4.12192    1.53321    1.35109 [...]
+FT-GC    43  0.99500  10000  1500000  0
+         0.00212796 0.00142322 0.000817938 0.000580356 0.00051241 0.000356634 0.000276589 0.000228027 0.00016251 0.000141133 0.000135338 0.000126419 0.000112685 0.000100657 8.43962e-05 7.21917e-05 6.68068e-05 6.34907e-05 5.27774e-05 3.64472e-05 3.35322e-05 2.05204e-05 1.86393e-05 1.79424e-05 1.61423e-05 1.42128e-05 1.06091e-05 9.80572e-06 9.07388e-06 7.43298e-06 7.25012e-06 6.6924e-06 5.9947e-06 5.67473e-06 5.34725e-06 5.01684e-06 4.21121e-06 3.78684e-06 3.61696e-06 3.12791e-06 6.29451e- [...]
+             1343.7    1191.19    1052.96    928.984     832.29    744.231    628.242    540.351     470.14    397.822     344.97    300.579    269.422    239.073    214.292    187.885    167.845    147.374    129.337     111.35    99.9514    79.6135    70.1724    62.8986    55.4929    49.1711    42.6181    37.6363    33.8649    29.3658    25.1124    22.0708    19.5283    17.5546    15.5547    13.5271    11.8545    10.2895    8.91819    7.84071     2.7162    1.41003   0.784071 
+FT-GI    43  0.99500  10000  1500000  0
+         0.00252739 0.00166999 0.00117539 0.000705901 0.000608685  0.0004661 0.000396784 0.000266913 0.000232868 0.000213123 0.00020136 0.000176415 0.000154849 0.000124641 0.000113922 9.76335e-05 8.7818e-05 8.03046e-05 5.66026e-05 5.31501e-05 4.0909e-05 2.82436e-05 2.59482e-05 2.34735e-05 2.21661e-05 1.80153e-05 1.44263e-05 1.3675e-05 1.23961e-05 1.06437e-05 9.5988e-06 9.20984e-06 8.33912e-06 8.05843e-06 7.57917e-06 6.70309e-06 5.78847e-06 5.21944e-06 4.93228e-06 4.56416e-06 7.25273e-08  [...]
+             1343.7    1191.19    1052.96    928.984     832.29    744.231    628.242    540.351     470.14    397.822     344.97    300.579    269.422    239.073    214.292    187.885    167.845    147.374    129.337     111.35    99.9514    79.6135    70.1724    62.8986    55.4929    49.1711    42.6181    37.6363    33.8649    29.3658    25.1124    22.0708    19.5283    17.5546    15.5547    13.5271     11.657    10.2895    8.91819    7.84071     2.7162    1.41003   0.784071 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     4  -5.648  -2.579  -0.319  -6.501                 
+    IL     1     1 2     1     4  -7.563  -1.162  -0.883  -7.444                  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     3  -0.590  -1.575 -13.397                          0.000  0.000  0.000  0.000 
+				[ MATR    1 ]
+    MR     3     2 3     5     5  -8.975  -0.004 -15.243 -10.019 -16.346          1.100 -2.060 -0.143 -0.494 
+     D     4     2 3     5     5  -9.586  -0.666  -7.212  -1.507  -6.638         
+    IR     5     5 3     5     5  -3.882  -0.160  -7.394  -5.561  -6.667          0.000  0.000  0.000  0.000 
+				[ MATP    2 ]
+    MP     6     5 3    10     6 -16.368 -16.308  -0.000 -15.084 -15.364 -15.759 -6.525 -3.792 -3.521  1.443 -3.625 -4.783  0.563 -6.319 -9.800  3.068 -7.050  0.583  0.501 -9.830 -6.513 -2.432 
+    ML     7     5 3    10     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR     8     5 3    10     6 -10.281  -9.010  -0.103  -8.988  -4.122  -7.202 -1.923 -0.767 -2.731  1.584 
+     D     9     5 3    10     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    10    10 5    10     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    11    11 6    11     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    3 ]
+    MP    12    11 6    16     6 -16.375 -16.315  -0.000 -15.091 -15.371 -15.766 -9.524 -9.538 -9.735  1.448 -4.029 -5.545  2.274 -4.561 -5.315  2.386 -5.710 -0.523  1.085 -7.201 -2.529 -4.652 
+    ML    13    11 6    16     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    14    11 6    16     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    15    11 6    16     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    16    16 5    16     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    17    17 6    17     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    4 ]
+    MP    18    17 6    22     6 -16.375 -16.315  -0.000 -15.091 -15.371 -15.766 -4.541 -5.056 -5.214  1.547 -4.251 -5.755  2.045 -4.937 -9.891  2.122 -4.743 -0.609  1.740 -6.039 -1.771 -4.282 
+    ML    19    17 6    22     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    20    17 6    22     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    21    17 6    22     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    22    22 5    22     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    23    23 6    23     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    5 ]
+    MP    24    23 6    28     6  -9.206 -16.315  -0.003 -15.091 -10.765 -15.766 -3.151 -4.461 -6.395  1.752 -3.365 -4.465  1.711 -5.161 -6.037  2.234 -5.802 -0.546  1.499 -9.381 -0.431 -5.277 
+    ML    25    23 6    28     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    26    23 6    28     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    27    23 6    28     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    28    28 5    28     6  -4.405  -4.668  -0.177  -6.323  -7.099  -6.759  0.000  0.000  0.000  0.000 
+    IR    29    29 6    29     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    6 ]
+    MP    30    29 6    34     6 -16.375 -16.314  -0.000 -15.090 -15.370 -15.765 -4.149 -3.448 -5.046  2.230 -3.502 -5.433  1.788 -4.536 -5.589  1.709 -5.018 -0.348  1.398 -7.202 -0.564 -3.383 
+    ML    31    29 6    34     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    32    29 6    34     6  -7.974  -6.703  -0.602  -6.681  -1.815  -4.895 -0.178  0.869 -1.029 -0.324 
+     D    33    29 6    34     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    34    34 5    34     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    35    35 6    35     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    7 ]
+    MP    36    35 6    40     6 -10.854 -16.315  -0.003  -9.744 -15.371 -15.766 -5.207 -4.740 -5.197  1.814 -3.776 -5.987  1.514 -4.949 -9.895  1.580 -9.857 -1.028  2.158 -4.964  0.081 -1.393 
+    ML    37    35 6    40     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    38    35 6    40     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    39    35 6    40     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    40    40 5    40     6  -3.427  -3.690  -0.373  -5.345  -6.121  -5.782  0.000  0.000  0.000  0.000 
+    IR    41    41 6    41     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    8 ]
+    MP    42    41 6    46     4 -15.599  -7.747  -0.011  -8.592                 -10.069 -5.487 -11.029  2.479 -11.887 -10.869 -0.898 -10.539 -6.032  2.548 -9.870 -0.551  1.705 -10.226 -5.615 -4.833 
+    ML    43    41 6    46     4  -5.210  -5.393  -0.165  -4.122                 -0.855 -1.359 -1.638  1.452 
+    MR    44    41 6    46     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    45    41 6    46     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    46    46 5    46     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    47    47 6    47     3  -3.769  -0.128  -6.469                          0.000  0.000  0.000  0.000 
+				[ MATL    9 ]
+    ML    48    47 6    50     3  -7.229  -0.022  -6.842                         -2.035 -4.901 -2.973  1.846 
+     D    49    47 6    50     3  -9.461  -0.106  -3.853                         
+    IL    50    50 3    50     3  -4.199  -0.094  -6.899                          0.000  0.000  0.000  0.000 
+				[ MATL   10 ]
+    ML    51    50 3    53     2  -6.781  -0.013                                  1.370 -2.907  0.244 -3.366 
+     D    52    50 3    53     2  -9.934  -0.001                                 
+    IL    53    53 3    53     2  -5.693  -0.028                                  0.000  0.000  0.000  0.000 
+				[ BIF    11 ]
+     B    54    53 3    55   164                                                 
+				[ BEGL   12 ]
+     S    55    54 1    56     1   0.000                                         
+				[ BIF    13 ]
+     B    56    55 1    57   107                                                 
+				[ BEGL   14 ]
+     S    57    56 1    58     4  -0.000 -14.504 -13.911 -14.551                 
+				[ MATP   15 ]
+    MP    58    57 1    62     6 -16.375 -16.315  -0.000 -15.091 -15.371 -15.766 -4.982 -5.279 -3.473  0.151 -5.638 -4.923 -0.527 -5.338 -4.119  3.473 -5.094  1.108 -0.938 -10.116 -4.101 -4.610 
+    ML    59    57 1    62     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    60    57 1    62     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    61    57 1    62     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    62    62 5    62     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    63    63 6    63     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   16 ]
+    MP    64    63 6    68     6 -16.375 -16.315  -0.000 -15.091 -15.371 -15.766 -9.445 -4.818 -7.218 -1.008 -5.649 -10.166  3.101 -9.620 -9.900 -0.074 -6.604 -4.832  2.450 -3.763 -1.743 -5.491 
+    ML    65    63 6    68     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    66    63 6    68     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    67    63 6    68     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    68    68 5    68     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    69    69 6    69     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   17 ]
+    MP    70    69 6    74     6 -16.375 -16.315  -0.000 -15.091 -15.371 -15.766 -3.216 -4.370 -9.589  0.965 -3.416 -6.636  1.533 -6.131 -4.906  1.423 -9.862 -3.559  2.957 -7.218 -1.772 -5.940 
+    ML    71    69 6    74     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    72    69 6    74     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    73    69 6    74     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    74    74 5    74     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    75    75 6    75     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   18 ]
+    MP    76    75 6    80     4 -15.600 -15.807  -0.004  -8.390                  0.578 -3.706 -2.865 -0.125 -2.517 -3.878  2.050 -5.093  1.038 -2.011 -3.551 -1.815  1.845 -3.332  0.894 -0.433 
+    ML    77    75 6    80     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    78    75 6    80     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    79    75 6    80     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    80    80 5    80     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    81    81 6    81     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   19 ]
+    ML    82    81 6    84     3 -16.505  -0.017  -6.438                          1.873 -5.019 -3.121 -2.389 
+     D    83    81 6    84     3  -9.649  -5.162  -0.043                         
+    IL    84    84 3    84     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   20 ]
+    ML    85    84 3    87     3 -16.489  -0.260  -2.602                          0.760 -2.963  0.888 -1.611 
+     D    86    84 3    87     3 -11.840  -7.353  -0.009                         
+    IL    87    87 3    87     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   21 ]
+    ML    88    87 3    90     3 -16.229  -1.139  -0.873                         -0.871 -0.362 -2.505  1.321 
+     D    89    87 3    90     3 -15.430 -10.943  -0.001                         
+    IL    90    90 3    90     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   22 ]
+    ML    91    90 3    93     3  -2.064  -0.410  -6.932                         -1.344  0.043 -3.899  1.327 
+     D    92    90 3    93     3 -17.254  -0.140  -3.439                         
+    IL    93    93 3    93     3  -4.644  -0.060 -10.489                          0.000  0.000  0.000  0.000 
+				[ MATL   23 ]
+    ML    94    93 3    96     3 -16.419  -0.000 -15.073                         -1.181 -2.707  1.649 -1.886 
+     D    95    93 3    96     3 -13.891  -9.404  -0.002                         
+    IL    96    96 3    96     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   24 ]
+    ML    97    96 3    99     3 -16.419  -0.319  -2.335                         -1.565 -2.573  1.615 -1.218 
+     D    98    96 3    99     3 -13.891  -9.404  -0.002                         
+    IL    99    99 3    99     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   25 ]
+    ML   100    99 3   102     3  -0.979  -1.031  -8.141                         -1.478 -1.029 -2.625  1.580 
+     D   101    99 3   102     3  -5.311  -0.057  -6.216                         
+    IL   102   102 3   102     3  -2.215  -0.364  -7.102                          0.000  0.000  0.000  0.000 
+				[ MATL   26 ]
+    ML   103   102 3   105     2       *   0.000                                  1.761 -3.648 -1.627 -2.270 
+     D   104   102 3   105     2       *   0.000                                 
+    IL   105   105 3   105     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    27 ]
+     E   106   105 3    -1     0                                                 
+				[ BEGR   28 ]
+     S   107    56 1   108     3 -16.510  -0.006  -7.945                         
+    IL   108   108 2   108     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   29 ]
+    ML   109   108 2   111     5  -7.291  -0.010 -10.711 -15.465 -16.356          0.871 -2.591  0.703 -1.403 
+     D   110   108 2   111     5  -8.103  -0.071  -7.364  -5.739  -5.652         
+    IL   111   111 3   111     5  -5.174  -0.316  -2.622  -8.685  -7.958          0.000  0.000  0.000  0.000 
+				[ MATP   30 ]
+    MP   112   111 3   116     6 -10.027 -10.988  -0.002 -15.089 -15.369 -15.764 -2.275 -4.519 -5.191  1.364 -2.449 -3.128  2.152 -2.093 -3.346 -0.037 -9.507 -0.054  2.317 -2.913 -0.382 -1.999 
+    ML   113   111 3   116     6  -8.418  -8.764  -0.206  -3.173  -8.614  -6.144 -0.633 -0.349  0.997 -0.800 
+    MR   114   111 3   116     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   115   111 3   116     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   116   116 5   116     6  -3.860  -4.123  -0.266  -5.778  -6.555  -6.215  0.000  0.000  0.000  0.000 
+    IR   117   117 6   117     5  -2.935  -0.326  -6.446  -4.614  -5.719          0.000  0.000  0.000  0.000 
+				[ MATP   31 ]
+    MP   118   117 6   122     6 -16.375 -16.315  -0.000 -15.091 -15.371 -15.766 -9.444 -9.644 -9.587  1.469 -8.195 -5.438  2.423 -3.814 -9.898  0.212 -9.860 -1.084  2.434 -9.404 -0.984 -2.166 
+    ML   119   117 6   122     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   120   117 6   122     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   121   117 6   122     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   122   122 5   122     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   123   123 6   123     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   32 ]
+    MP   124   123 6   128     6 -16.375 -16.315  -0.001 -15.091 -10.136 -15.766 -5.455 -2.800 -10.463  2.102 -4.795 -5.771  0.873 -10.218 -10.099  2.373 -7.377 -3.302  2.056 -7.863 -3.353 -3.249 
+    ML   125   123 6   128     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   126   123 6   128     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   127   123 6   128     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   128   128 5   128     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   129   129 6   129     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   33 ]
+    MP   130   129 6   134     6 -16.374 -16.313  -0.000 -15.090 -15.370 -15.765 -5.626 -5.061 -11.029  1.022 -6.809 -10.870  1.567 -5.910 -10.185  3.199 -9.871  0.030 -1.500 -5.947 -2.003 -3.280 
+    ML   131   129 6   134     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   132   129 6   134     6  -8.333  -7.062  -0.446  -7.040  -2.174  -5.253 -0.561 -1.145 -1.345  1.308 
+     D   133   129 6   134     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   134   134 5   134     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   135   135 6   135     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   34 ]
+    MP   136   135 6   140     4 -15.600 -15.807  -0.000 -14.221                 -4.643 -3.598 -4.445  2.520 -5.324 -10.061  1.891 -5.575 -5.849  1.582 -4.152 -1.774  1.115 -5.848 -0.751 -2.312 
+    ML   137   135 6   140     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   138   135 6   140     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   139   135 6   140     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   140   140 5   140     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   141   141 6   141     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   35 ]
+    ML   142   141 6   144     3  -8.892  -0.003 -15.164                         -3.426  1.205 -4.796  0.646 
+     D   143   141 6   144     3  -6.174  -1.687  -0.566                         
+    IL   144   144 3   144     3  -2.936  -0.236  -5.636                          0.000  0.000  0.000  0.000 
+				[ MATL   36 ]
+    ML   145   144 3   147     3 -16.510  -0.000 -15.164                         -9.794 -3.318 -10.511  1.963 
+     D   146   144 3   147     3  -6.174  -1.687  -0.566                         
+    IL   147   147 3   147     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   37 ]
+    ML   148   147 3   150     3 -16.510  -0.000 -15.164                         -2.395 -0.665  0.411  0.887 
+     D   149   147 3   150     3  -6.174  -1.687  -0.566                         
+    IL   150   150 3   150     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   38 ]
+    ML   151   150 3   153     3 -16.510  -0.000 -15.164                          0.200 -0.175 -0.316  0.217 
+     D   152   150 3   153     3  -6.174  -1.687  -0.566                         
+    IL   153   153 3   153     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   39 ]
+    ML   154   153 3   156     3 -16.510  -0.000 -15.164                          0.119 -0.102 -0.270  0.205 
+     D   155   153 3   156     3  -6.174  -1.687  -0.566                         
+    IL   156   156 3   156     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   40 ]
+    ML   157   156 3   159     3  -5.040  -0.045 -15.164                          1.609 -7.196 -0.129 -5.136 
+     D   158   156 3   159     3  -6.174  -1.687  -0.566                         
+    IL   159   159 3   159     3  -0.077  -4.263 -13.157                          0.000  0.000  0.000  0.000 
+				[ MATL   41 ]
+    ML   160   159 3   162     2       *   0.000                                  1.421 -0.510 -2.807 -1.067 
+     D   161   159 3   162     2       *   0.000                                 
+    IL   162   162 3   162     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    42 ]
+     E   163   162 3    -1     0                                                 
+				[ BEGR   43 ]
+     S   164    54 1   165     3 -16.510  -0.000 -15.164                         
+    IL   165   165 2   165     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   44 ]
+    ML   166   165 2   168     3 -16.510  -0.213  -2.864                          0.945 -0.909 -1.101  0.105 
+     D   167   165 2   168     3  -6.174  -1.687  -0.566                         
+    IL   168   168 3   168     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   45 ]
+    ML   169   168 3   171     2  -8.437  -0.004                                  0.209 -2.944  1.009 -0.511 
+     D   170   168 3   171     2 -13.333  -0.000                                 
+    IL   171   171 3   171     2  -4.072  -0.088                                  0.000  0.000  0.000  0.000 
+				[ BIF    46 ]
+     B   172   171 3   173   229                                                 
+				[ BEGL   47 ]
+     S   173   172 1   174     4  -2.739  -7.052 -13.911  -0.247                 
+				[ MATP   48 ]
+    MP   174   173 1   178     6 -13.651 -13.590  -0.001 -12.367 -12.646 -13.042 -7.378 -3.262 -2.664  1.401 -9.191 -8.178  0.916 -7.848 -7.494  2.950 -1.326  0.241  0.599 -2.960 -2.133 -6.726 
+    ML   175   173 1   178     6 -10.279 -10.625  -5.340  -2.063 -10.475  -0.447 -1.323 -0.765  0.179  0.911 
+    MR   176   173 1   178     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   177   173 1   178     6 -20.150 -18.848 -14.645 -15.327 -15.345  -0.000 
+    IL   178   178 5   178     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   179   179 6   179     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   49 ]
+    MP   180   179 6   184     6 -13.651 -13.590  -0.066 -12.367 -12.646  -4.502 -6.818 -2.333 -6.978  1.203 -2.760 -7.540  2.220 -6.998 -7.263  2.149 -3.605 -3.587  1.847 -6.783 -2.348 -1.991 
+    ML   181   179 6   184     6  -8.391  -8.737  -3.451  -0.174  -8.587  -6.116 -1.508 -2.625  1.693 -1.979 
+    MR   182   179 6   184     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   183   179 6   184     6 -20.160 -18.858 -14.655 -15.337 -15.355  -0.000 
+    IL   184   184 5   184     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   185   185 6   185     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   50 ]
+    MP   186   185 6   190     6  -5.550  -7.140  -0.646 -12.302 -12.582  -1.590 -2.978 -6.926 -6.872  1.351 -1.939 -2.601  2.503 -2.814 -7.180  1.357 -3.580 -1.004  1.542 -6.687 -0.240 -2.743 
+    ML   187   185 6   190     6  -8.391  -8.737  -3.451  -0.174  -8.587  -6.116 -1.508 -2.625  1.693 -1.979 
+    MR   188   185 6   190     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   189   185 6   190     6 -20.171 -18.869 -14.666 -15.348 -15.366  -0.000 
+    IL   190   190 5   190     6  -5.078  -5.341  -0.109  -6.996  -7.772  -7.433  0.000  0.000  0.000  0.000 
+    IR   191   191 6   191     5  -3.357  -0.236  -6.868  -5.036  -6.142          0.000  0.000  0.000  0.000 
+				[ MATP   51 ]
+    MP   192   191 6   196     6 -13.004 -12.943  -0.862 -11.720 -12.000  -1.155 -2.675 -6.404 -6.348  0.030 -2.186 -6.923  2.431 -6.376 -6.658  1.555 -6.621 -1.547  1.902 -1.179  0.569 -2.313 
+    ML   193   191 6   196     6  -8.391  -8.737  -3.451  -0.174  -8.587  -6.116 -1.356 -1.735 -2.137  1.624 
+    MR   194   191 6   196     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   195   191 6   196     6 -20.250 -18.948 -14.745 -15.427 -15.445  -0.000 
+    IL   196   196 5   196     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   197   197 6   197     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   52 ]
+    MP   198   197 6   202     6 -12.145 -12.084  -0.644 -10.860 -11.140  -1.480 -5.488 -5.309 -5.782  1.654 -0.421 -6.196  1.066 -5.713 -5.833  1.703 -5.746  1.008  1.654 -1.415  0.063 -4.481 
+    ML   199   197 6   202     6  -8.391  -8.737  -0.210  -3.146  -8.587  -6.116  1.778 -2.623 -2.546 -2.083 
+    MR   200   197 6   202     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   201   197 6   202     6 -20.318 -19.016 -14.813 -15.495 -15.513  -0.000 
+    IL   202   202 5   202     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   203   203 6   203     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   53 ]
+    MP   204   203 6   208     6 -11.574 -11.513  -0.890 -10.289 -10.569  -1.126 -4.895 -4.674 -5.193  1.765 -4.209 -5.561  1.609 -5.102 -1.734  1.630 -1.867 -2.226  1.414 -4.868  0.796  0.041 
+    ML   205   203 6   208     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   206   203 6   208     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   207   203 6   208     6 -20.346 -19.045 -14.842 -15.524 -15.541  -0.000 
+    IL   208   208 5   208     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   209   209 6   209     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   54 ]
+    MP   210   209 6   214     4  -9.587  -0.703  -1.392  -8.209                 -4.042 -4.606 -4.454 -0.413 -3.162 -5.149  2.248 -4.598 -1.338 -0.611 -4.856 -0.859  2.459 -4.254  1.259 -0.760 
+    ML   211   209 6   214     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   212   209 6   214     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   213   209 6   214     4 -15.793  -5.734  -3.090  -0.211                 
+    IL   214   214 5   214     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   215   215 6   215     3  -6.101  -0.024  -8.801                          0.000  0.000  0.000  0.000 
+				[ MATL   55 ]
+    ML   216   215 6   218     3 -13.770  -0.010  -7.152                         -0.289 -1.583  0.139  0.804 
+     D   217   215 6   218     3 -17.695 -13.208  -0.000                         
+    IL   218   218 3   218     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   56 ]
+    ML   219   218 3   221     3 -13.760  -0.088  -4.086                          0.094 -0.451 -1.987  0.963 
+     D   220   218 3   221     3 -17.697 -13.210  -0.000                         
+    IL   221   221 3   221     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   57 ]
+    ML   222   221 3   224     3  -5.013  -0.584  -1.729                          0.935 -0.852 -2.754  0.471 
+     D   223   221 3   224     3 -17.711 -13.224  -0.000                         
+    IL   224   224 3   224     3  -2.268  -0.355  -6.610                          0.000  0.000  0.000  0.000 
+				[ MATL   58 ]
+    ML   225   224 3   227     2       *   0.000                                  0.723 -1.172  0.113 -0.280 
+     D   226   224 3   227     2       *   0.000                                 
+    IL   227   227 3   227     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    59 ]
+     E   228   227 3    -1     0                                                 
+				[ BEGR   60 ]
+     S   229   172 1   230     3 -16.510  -0.070  -4.391                         
+    IL   230   230 2   230     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   61 ]
+    ML   231   230 2   233     3  -1.100  -0.910  -9.578                          0.539 -3.489  0.896 -0.742 
+     D   232   230 2   233     3  -5.057  -0.050  -7.937                         
+    IL   233   233 3   233     3  -5.401  -0.035 -12.774                          0.000  0.000  0.000  0.000 
+				[ MATL   62 ]
+    ML   234   233 3   236     5 -15.441  -0.000 -15.257 -15.469 -16.360         -1.725  0.910 -2.834  0.747 
+     D   235   233 3   236     5  -6.712  -0.196  -5.973  -4.348  -4.260         
+    IL   236   236 3   236     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   63 ]
+    MP   237   236 3   241     6 -16.375  -8.028  -0.006 -15.091 -15.371 -15.766 -4.363 -5.904 -4.951  2.195 -5.887 -10.865  1.261 -7.646 -10.183  2.553 -7.261  0.855 -0.188 -2.969 -2.582 -4.438 
+    ML   238   236 3   241     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   239   236 3   241     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   240   236 3   241     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   241   241 5   241     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   242   242 6   242     5  -4.580  -0.096  -8.091  -6.259  -7.365          0.000  0.000  0.000  0.000 
+				[ MATP   64 ]
+    MP   243   242 6   247     6 -16.375 -16.315  -0.000 -15.091 -15.371 -15.766 -9.443 -4.760 -9.587  1.719 -4.752 -5.369  2.210 -6.231 -9.897  1.303 -9.860 -0.406  1.985 -4.679 -0.783 -2.597 
+    ML   244   242 6   247     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   245   242 6   247     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   246   242 6   247     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   247   247 5   247     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   248   248 6   248     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   65 ]
+    MP   249   248 6   253     6  -8.053  -9.845  -0.025 -15.091 -15.371  -6.379 -10.069 -2.783 -11.026  2.249 -11.860 -10.869  1.059 -6.596 -7.201  2.500 -5.368 -1.059  1.201 -10.226 -1.256 -3.093 
+    ML   250   248 6   253     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   251   248 6   253     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   252   248 6   253     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   253   253 5   253     6  -5.319  -5.582  -0.091  -7.237  -8.013  -7.674  0.000  0.000  0.000  0.000 
+    IR   254   254 6   254     5  -3.399  -0.228  -6.910  -5.078  -6.184          0.000  0.000  0.000  0.000 
+				[ MATP   66 ]
+    MP   255   254 6   259     6 -16.358 -16.297  -0.099 -11.314 -10.478  -3.945 -10.053 -2.531 -11.013  1.762 -4.682 -7.764 -1.490 -4.833 -4.809  3.412 -9.855 -2.099 -0.242 -5.823 -2.336 -5.371 
+    ML   256   254 6   259     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   257   254 6   259     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   258   254 6   259     6 -14.063 -12.761  -8.558  -9.240  -9.258  -0.009 
+    IL   259   259 5   259     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   260   260 6   260     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   67 ]
+    MP   261   260 6   265     4 -15.484 -15.691  -0.061  -4.602                 -13.326 -2.480 -14.240 -0.224 -2.730 -4.165 -3.425 -4.997 -10.239  3.806 -6.447 -2.361 -2.185 -4.262 -3.341 -3.952 
+    ML   262   260 6   265     4  -4.389  -4.572  -0.306  -3.301                  0.095  0.542 -0.787 -0.158 
+    MR   263   260 6   265     4  -6.056  -5.085  -0.499  -2.013                 -0.341  1.024 -1.181 -0.443 
+     D   264   260 6   265     4 -12.113 -11.794  -0.905  -1.103                 
+    IL   265   265 5   265     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   266   266 6   266     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   68 ]
+    ML   267   266 6   269     3 -10.928  -0.001 -12.013                         -1.929 -2.701 -3.856  1.813 
+     D   268   266 6   269     3 -14.166  -0.088  -4.081                         
+    IL   269   269 3   269     3  -1.931  -0.520  -4.631                          0.000  0.000  0.000  0.000 
+				[ MATL   69 ]
+    ML   270   269 3   272     3 -16.503  -0.003  -8.936                         -2.119 -3.122 -1.967  1.765 
+     D   271   269 3   272     3 -10.178  -0.063  -4.570                         
+    IL   272   272 3   272     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   70 ]
+    ML   273   272 3   275     3 -16.507  -0.002  -9.836                         -0.819  1.547 -3.433 -1.258 
+     D   274   272 3   275     3  -9.161  -0.131  -3.553                         
+    IL   275   275 3   275     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   71 ]
+    ML   276   275 3   278     3  -7.363  -0.027  -6.334                          0.774 -2.691  0.903 -1.915 
+     D   277   275 3   278     3  -8.400  -0.230  -2.791                         
+    IL   278   278 3   278     3  -4.087  -0.101  -6.787                          0.000  0.000  0.000  0.000 
+				[ MATL   72 ]
+    ML   279   278 3   281     3 -16.492  -0.081  -4.192                          1.833 -3.456 -3.499 -1.953 
+     D   280   278 3   281     3 -11.623  -7.136  -0.011                         
+    IL   281   281 3   281     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   73 ]
+    ML   282   281 3   284     3  -6.078  -0.150  -3.576                          0.776 -1.355 -0.284  0.105 
+     D   283   281 3   284     3 -14.021  -5.762  -0.027                         
+    IL   284   284 3   284     3  -2.594  -0.268  -8.060                          0.000  0.000  0.000  0.000 
+				[ MATL   74 ]
+    ML   285   284 3   287     2       *   0.000                                 -2.332 -0.701 -3.752  1.638 
+     D   286   284 3   287     2       *   0.000                                 
+    IL   287   287 3   287     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    75 ]
+     E   288   287 3    -1     0                                                 
+//
diff --git a/TRNAinf-euk-c.cm b/TRNAinf-euk-c.cm
new file mode 100644
index 0000000..7773d53
--- /dev/null
+++ b/TRNAinf-euk-c.cm
@@ -0,0 +1,403 @@
+INFERNAL-1 [1.0]
+NAME     tRNA1415G-euk
+STATES   289
+NODES    76
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     242
+EFFNSEQ  242.000
+CLEN     90
+BCOM     cmbuild --rf --enone TRNAinf-euk-nc.cm trna1415G-euk.sto
+BDATE    Sun Feb  8 16:45:07 2009
+CCOM     cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf-euk.hfile --exp-sfile cmcalibrate_files/TRNAinf-euk.sfile --exp-qqfile cmcalibrate_files/TRNAinf-euk.qqfile --exp-ffile cmcalibrate_files/TRNAinf-euk.ffile --fil-dfile cmcalibrate_files/TRNAinf-euk.dfile -s 208 TRNAinf-euk-c.cm
+CDATE    Sun Feb  8 20:17:13 2009
+NULL     0.000  0.000  0.000  0.000 
+PART     1        0    100  
+E-LC     0      0.76843    -6.06830     1.50607     1500000      379229  0.002967
+E-GC     0      0.31017   -37.23547   -23.26641     1500000       28559  0.013131
+E-LI     0      0.75566    -5.52100     2.04710     1500000      342653  0.003283
+E-GI     0      0.34662   -32.61214   -20.13224     1500000       28360  0.013223
+E-LV     0      0.61855    -3.23047     2.28875    52460000      119544  0.032913
+E-GV     0      0.32711   -20.34928    -6.58891    52460000      118201  0.011096
+E-LF     0      0.54692    -1.88983     4.35276    52460000      119583  0.032902
+E-GF     0      0.34336   -17.51106    -4.39714    52460000      118391  0.011078
+FT-LC    32  0.99500  10000  1500000  0
+            57.7841    27.6065    13.7544    11.7235    8.38107     6.9866     4.4655    1.96541    1.59935    1.47049    1.26106   0.695894   0.459069    0.39849   0.291953   0.286399   0.275243   0.208035   0.189464  0.0913739  0.0703285  0.0668557  0.0511794  0.0415699   0.030963  0.0305614  0.0265798  0.0195762  0.0140099 2.0808e-14 8.3107e-15 8.23131e-16 
+            1204.97    1040.69    891.455    774.984    597.025    513.095    408.683    349.315    276.562    212.474     177.97    156.248     121.96    99.3445    86.4121    74.2236    59.9991    48.9536    39.8543    29.0049    24.7237     21.993    19.2454     17.073    15.2455      12.27    10.3225    9.06261    8.18283    3.95299   0.932945   0.818283 
+FT-LI    32  0.99500  10000  1500000  0
+            85.0841    69.0915     22.821    16.6573    13.6159    11.0926     7.3314    4.34707    2.68071    2.46422    1.86831    1.17931    1.13206   0.742786   0.682715   0.501591   0.475347   0.420293   0.339539   0.223038   0.137836   0.116618    0.11013  0.0737188  0.0596709  0.0554012  0.0477154  0.0428326  0.0236209 4.73377e-14 1.11282e-14 2.4015e-15 
+            1204.97    1040.69    891.455    774.984    597.025    513.095    408.683    349.315    276.562    212.474     177.97    156.248     121.96    99.3445    86.4121    74.2236    59.9991    48.9536    39.8543    29.0049    24.7237     21.993    19.2454     17.073    15.2455      12.27    10.3225    9.06261    8.18283    3.95299   0.932945   0.818283 
+FT-GC    6  0.99500  10000  1500000  1
+         0.000442832 1.53871e-05 5.87019e-06 5.60247e-07 4.47987e-07 1.78587e-07 
+            6.31656    1.87784    1.68418     1.0066    0.78128   0.631656 
+FT-GI    5  0.99500  10000  1500000  1
+         0.000164001 2.82835e-06 8.61323e-07 1.17306e-07 3.65116e-08 
+            6.31656    1.87784    1.68418    0.78128   0.631656 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     4 -12.856  -6.848  -0.033  -6.208                 
+    IL     1     1 2     1     4  -2.817  -4.319  -0.613  -2.698                  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     3  -0.736  -1.357  -6.767                          0.000  0.000  0.000  0.000 
+				[ MATR    1 ]
+    MR     3     2 3     5     5 -12.888  -0.001 -12.704 -12.916 -13.808          1.039 -3.030  0.513 -1.334 
+     D     4     2 3     5     5  -7.557  -0.127  -5.184  -6.615  -4.609         
+    IR     5     5 3     5     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    2 ]
+    MP     6     5 3    10     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -10.456 -7.706 -11.141 -0.956 -10.214 -8.190 -0.166 -10.242 -8.899  3.541 -8.406 -0.049  0.965 -8.222 -6.081 -8.961 
+    ML     7     5 3    10     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR     8     5 3    10     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D     9     5 3    10     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    10    10 5    10     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    11    11 6    11     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    3 ]
+    MP    12    11 6    16     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -7.453 -7.583 -7.613  0.108 -3.582 -8.183  2.743 -2.968 -7.901  1.951 -7.855  0.608  1.278 -7.430 -2.706 -6.246 
+    ML    13    11 6    16     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    14    11 6    16     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    15    11 6    16     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    16    16 5    16     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    17    17 6    17     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    4 ]
+    MP    18    17 6    22     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -7.221 -7.406 -7.358  0.542 -5.962 -7.936  2.993 -7.379 -7.677  0.738 -5.039 -0.095  1.817 -7.185 -1.512 -6.009 
+    ML    19    17 6    22     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    20    17 6    22     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    21    17 6    22     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    22    22 5    22     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    23    23 6    23     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    5 ]
+    MP    24    23 6    28     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -7.002 -7.198 -7.147  1.211 -3.082 -7.721  2.354 -3.330 -7.455  1.520 -3.212 -0.725  1.554 -6.963  0.833 -5.803 
+    ML    25    23 6    28     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    26    23 6    28     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    27    23 6    28     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    28    28 5    28     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    29    29 6    29     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    6 ]
+    MP    30    29 6    34     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -7.073 -3.328 -7.284  1.022 -5.966 -7.799  2.484 -7.274 -3.001  1.639 -2.504  0.339  1.291 -7.052 -0.103 -2.567 
+    ML    31    29 6    34     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    32    29 6    34     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    33    29 6    34     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    34    34 5    34     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    35    35 6    35     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    7 ]
+    MP    36    35 6    40     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -7.032 -7.157 -2.626  1.002 -5.838 -7.755  2.272 -4.949 -7.471  1.711 -7.418  0.311  1.174 -7.001  0.645 -0.780 
+    ML    37    35 6    40     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    38    35 6    40     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    39    35 6    40     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    40    40 5    40     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    41    41 6    41     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP    8 ]
+    MP    42    41 6    46     4 -13.060 -13.267  -0.001 -11.681                 -7.604 -3.932 -8.563  2.423 -9.408 -8.404 -0.790 -8.072 -7.720  2.630 -7.405 -1.208  1.724 -7.761 -5.329 -6.949 
+    ML    43    41 6    46     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    44    41 6    46     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    45    41 6    46     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    46    46 5    46     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    47    47 6    47     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    9 ]
+    ML    48    47 6    50     3  -5.350  -0.049  -6.847                         -8.878 -9.011 -9.336  1.998 
+     D    49    47 6    50     3  -6.174  -1.687  -0.566                         
+    IL    50    50 3    50     3  -3.659  -0.138  -6.359                          0.000  0.000  0.000  0.000 
+				[ MATL   10 ]
+    ML    51    50 3    53     2  -5.335  -0.036                                  0.772 -4.220  1.142 -4.951 
+     D    52    50 3    53     2  -8.830  -0.003                                 
+    IL    53    53 3    53     2  -4.704  -0.056                                  0.000  0.000  0.000  0.000 
+				[ BIF    11 ]
+     B    54    53 3    55   164                                                 
+				[ BEGL   12 ]
+     S    55    54 1    56     1   0.000                                         
+				[ BIF    13 ]
+     B    56    55 1    57   107                                                 
+				[ BEGL   14 ]
+     S    57    56 1    58     4  -0.001 -11.981 -11.388 -12.028                 
+				[ MATP   15 ]
+    MP    58    57 1    62     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -11.276 -6.820 -12.174 -1.662 -11.241 -7.022 -0.830 -10.765 -7.977  3.616 -4.835  1.272 -1.425 -7.134 -7.284 -9.308 
+    ML    59    57 1    62     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    60    57 1    62     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    61    57 1    62     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    62    62 5    62     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    63    63 6    63     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   16 ]
+    MP    64    63 6    68     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -9.302 -9.674 -7.661 -4.939 -3.433 -8.281  3.404 -8.359 -10.938 -1.588 -7.721 -6.781  2.218 -10.063 -1.859 -8.346 
+    ML    65    63 6    68     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    66    63 6    68     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    67    63 6    68     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    68    68 5    68     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    69    69 6    69     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   17 ]
+    MP    70    69 6    74     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -7.143 -3.244 -7.294  1.163 -3.118 -7.869  2.120 -7.316 -7.596  2.021 -7.559 -4.493  2.227 -7.111 -1.514 -5.945 
+    ML    71    69 6    74     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR    72    69 6    74     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D    73    69 6    74     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL    74    74 5    74     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR    75    75 6    75     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   18 ]
+    MP    76    75 6    80     4 -13.060 -13.267  -0.001 -11.681                 -0.076 -5.815 -2.786 -2.455 -0.706 -3.164  2.524 -4.060  1.063 -2.375 -6.172 -1.880 -0.013 -5.584  1.123  1.271 
+    ML    77    75 6    80     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR    78    75 6    80     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D    79    75 6    80     4  -4.568  -4.250  -2.265  -0.520                 
+    IL    80    80 5    80     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR    81    81 6    81     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   19 ]
+    ML    82    81 6    84     3 -13.971  -0.000 -12.625                          1.971 -6.823 -4.307 -5.535 
+     D    83    81 6    84     3  -6.174  -1.687  -0.566                         
+    IL    84    84 3    84     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   20 ]
+    ML    85    84 3    87     3 -13.971  -0.011  -7.073                         -0.530 -7.321  1.699 -4.177 
+     D    86    84 3    87     3  -6.174  -1.687  -0.566                         
+    IL    87    87 3    87     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   21 ]
+    ML    88    87 3    90     3 -13.961  -1.486  -0.637                         -2.904 -1.035 -2.328  1.669 
+     D    89    87 3    90     3  -8.586  -4.099  -0.091                         
+    IL    90    90 3    90     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   22 ]
+    ML    91    90 3    93     3  -5.000  -0.046 -11.130                         -2.808  0.243 -2.405  1.313 
+     D    92    90 3    93     3 -14.762  -0.003  -9.153                         
+    IL    93    93 3    93     3  -2.845  -0.253  -5.545                          0.000  0.000  0.000  0.000 
+				[ MATL   23 ]
+    ML    94    93 3    96     3 -13.971  -0.000 -12.625                         -9.436 -10.439  1.999 -10.233 
+     D    95    93 3    96     3  -6.174  -1.687  -0.566                         
+    IL    96    96 3    96     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   24 ]
+    ML    97    96 3    99     3 -13.971  -0.000 -12.625                         -7.395 -8.802  1.979 -4.347 
+     D    98    96 3    99     3  -6.174  -1.687  -0.566                         
+    IL    99    99 3    99     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   25 ]
+    ML   100    99 3   102     3  -0.831  -1.230  -6.424                         -1.226 -2.011 -2.555  1.657 
+     D   101    99 3   102     3  -6.174  -1.687  -0.566                         
+    IL   102   102 3   102     3  -2.392  -0.313  -7.869                          0.000  0.000  0.000  0.000 
+				[ MATL   26 ]
+    ML   103   102 3   105     2       *   0.000                                  1.965 -5.091 -6.325 -4.210 
+     D   104   102 3   105     2       *   0.000                                 
+    IL   105   105 3   105     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    27 ]
+     E   106   105 3    -1     0                                                 
+				[ BEGR   28 ]
+     S   107    56 1   108     3 -13.971  -0.000 -12.625                         
+    IL   108   108 2   108     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   29 ]
+    ML   109   108 2   111     5 -12.907  -0.006  -8.059 -12.935 -13.826         -0.433 -2.838  1.309 -0.640 
+     D   110   108 2   111     5  -4.959  -0.803  -4.221  -2.596  -2.508         
+    IL   111   111 3   111     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   30 ]
+    MP   112   111 3   116     6 -13.858 -13.797  -0.001 -12.574 -12.854 -13.249 -6.996 -7.198 -3.715  0.557 -5.748 -7.717  2.511 -7.170 -7.451 -0.581 -7.414  0.645  2.396 -3.033  0.085 -5.798 
+    ML   113   111 3   116     6  -7.432  -7.778  -0.440  -2.187  -7.628  -5.157 -0.273  0.962 -1.117 -0.391 
+    MR   114   111 3   116     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   115   111 3   116     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   116   116 5   116     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   117   117 6   117     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   31 ]
+    MP   118   117 6   122     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -7.170 -7.360 -7.312  1.274 -5.913 -7.889  2.605 -7.333 -7.626  0.764 -7.586 -2.487  2.306 -7.133 -0.892 -3.768 
+    ML   119   117 6   122     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   120   117 6   122     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   121   117 6   122     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   122   122 5   122     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   123   123 6   123     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   32 ]
+    MP   124   123 6   128     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -3.952 -6.902 -7.728  2.010 -6.709 -2.859  1.716 -7.609 -7.586  1.974 -7.456 -4.347  2.083 -7.342 -4.430 -2.484 
+    ML   125   123 6   128     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   126   123 6   128     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   127   123 6   128     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   128   128 5   128     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   129   129 6   129     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   33 ]
+    MP   130   129 6   134     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -10.836 -3.585 -11.559 -2.332 -10.474 -7.539  1.408 -10.495 -8.417  3.580 -7.903 -0.846 -2.547 -7.627 -1.473 -9.127 
+    ML   131   129 6   134     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   132   129 6   134     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   133   129 6   134     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   134   134 5   134     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   135   135 6   135     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   34 ]
+    MP   136   135 6   140     4 -13.060 -13.267  -0.001 -11.681                 -7.574 -6.590 -2.830  2.646 -9.172 -8.376  1.798 -8.040 -7.698  2.065 -7.392 -2.387  0.156 -4.778 -1.765 -1.900 
+    ML   137   135 6   140     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   138   135 6   140     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   139   135 6   140     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   140   140 5   140     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   141   141 6   141     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   35 ]
+    ML   142   141 6   144     3 -13.971  -0.000 -12.625                         -7.441  1.640 -8.378 -0.194 
+     D   143   141 6   144     3  -6.174  -1.687  -0.566                         
+    IL   144   144 3   144     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   36 ]
+    ML   145   144 3   147     3 -13.971  -0.000 -12.625                         -6.969 -3.213 -7.715  1.956 
+     D   146   144 3   147     3  -6.174  -1.687  -0.566                         
+    IL   147   147 3   147     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   37 ]
+    ML   148   147 3   150     3 -13.971  -0.000 -12.625                         -0.259  0.036  0.052  0.141 
+     D   149   147 3   150     3  -6.174  -1.687  -0.566                         
+    IL   150   150 3   150     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   38 ]
+    ML   151   150 3   153     3 -13.971  -0.000 -12.625                         -0.015 -0.285 -0.172  0.381 
+     D   152   150 3   153     3  -6.174  -1.687  -0.566                         
+    IL   153   153 3   153     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   39 ]
+    ML   154   153 3   156     3 -13.971  -0.000 -12.625                          0.299 -0.166 -0.594  0.282 
+     D   155   153 3   156     3  -6.174  -1.687  -0.566                         
+    IL   156   156 3   156     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   40 ]
+    ML   157   156 3   159     3  -2.692  -0.243 -12.625                          1.556 -4.613  0.015 -6.898 
+     D   158   156 3   159     3  -6.174  -1.687  -0.566                         
+    IL   159   159 3   159     3  -0.077  -4.265 -12.972                          0.000  0.000  0.000  0.000 
+				[ MATL   41 ]
+    ML   160   159 3   162     2       *   0.000                                  1.436 -0.207 -6.051 -1.277 
+     D   161   159 3   162     2       *   0.000                                 
+    IL   162   162 3   162     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    42 ]
+     E   163   162 3    -1     0                                                 
+				[ BEGR   43 ]
+     S   164    54 1   165     3 -13.971  -0.000 -12.625                         
+    IL   165   165 2   165     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   44 ]
+    ML   166   165 2   168     3 -13.971  -0.323  -2.318                          1.147 -1.400 -1.431  0.051 
+     D   167   165 2   168     3  -6.174  -1.687  -0.566                         
+    IL   168   168 3   168     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   45 ]
+    ML   169   168 3   171     2 -14.300  -0.000                                 -1.461 -3.767  1.768 -2.661 
+     D   170   168 3   171     2 -11.479  -0.001                                 
+    IL   171   171 3   171     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ BIF    46 ]
+     B   172   171 3   173   229                                                 
+				[ BEGL   47 ]
+     S   173   172 1   174     4  -2.207  -6.770 -11.388  -0.370                 
+				[ MATP   48 ]
+    MP   174   173 1   178     6 -11.709 -11.648  -0.003 -10.424 -10.704 -11.099 -7.768 -6.678 -8.379 -0.061 -7.362 -8.562  2.319 -7.681 -7.986  2.912 -7.619 -0.894  0.870 -8.010 -3.261 -6.444 
+    ML   175   173 1   178     6  -8.311  -8.657  -3.371  -0.185  -8.507  -6.036 -1.429 -2.524  1.671 -1.884 
+    MR   176   173 1   178     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   177   173 1   178     6 -17.507 -16.205 -12.002 -12.684 -12.702  -0.001 
+    IL   178   178 5   178     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   179   179 6   179     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   49 ]
+    MP   180   179 6   184     6 -11.709 -11.648  -0.120 -10.424 -10.704  -3.684 -5.406 -5.916 -5.801 -1.489 -0.765 -6.510  1.962 -5.912 -5.908  2.451 -6.200 -3.259  2.067 -5.622 -0.600 -0.740 
+    ML   181   179 6   184     6  -8.311  -8.657  -3.371  -0.185  -8.507  -6.036 -1.429 -2.524  1.671 -1.884 
+    MR   182   179 6   184     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   183   179 6   184     6 -17.507 -16.205 -12.002 -12.684 -12.702  -0.001 
+    IL   184   184 5   184     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   185   185 6   185     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   50 ]
+    MP   186   185 6   190     6 -11.592 -11.532  -0.330 -10.308 -10.588  -2.305 -5.936 -5.324 -6.425  1.144 -5.617 -1.650  2.767 -6.209 -6.214  2.159 -5.947 -2.664  0.200 -6.063 -0.460 -5.003 
+    ML   187   185 6   190     6  -8.311  -8.657  -3.371  -0.185  -8.507  -6.036 -1.429 -2.524  1.671 -1.884 
+    MR   188   185 6   190     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   189   185 6   190     6 -17.539 -16.237 -12.034 -12.717 -12.734  -0.001 
+    IL   190   190 5   190     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   191   191 6   191     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   51 ]
+    MP   192   191 6   196     6 -11.267 -11.206  -1.730  -9.983 -10.263  -0.523 -6.318 -6.496 -6.420 -1.439 -1.942 -7.112  2.840 -6.413 -6.857  1.932 -6.749 -3.203  1.457 -6.491  0.514 -5.133 
+    ML   193   191 6   196     6  -8.311  -8.657  -3.371  -0.185  -8.507  -6.036 -1.253 -1.658 -2.035  1.594 
+    MR   194   191 6   196     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   195   191 6   196     6 -17.614 -16.312 -12.109 -12.791 -12.809  -0.001 
+    IL   196   196 5   196     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   197   197 6   197     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   52 ]
+    MP   198   197 6   202     6  -9.553  -9.492  -0.354  -8.269  -8.549  -2.259 -3.828 -4.414 -4.360  0.011 -3.061 -5.189  1.627 -4.443 -4.341 -0.008 -4.844 -1.613  2.641 -4.221  1.904 -3.235 
+    ML   199   197 6   202     6  -8.311  -8.657  -0.223  -3.066  -8.507  -6.036  1.762 -2.527 -2.451 -1.986 
+    MR   200   197 6   202     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   201   197 6   202     6 -17.801 -16.500 -12.297 -12.979 -12.996  -0.001 
+    IL   202   202 5   202     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   203   203 6   203     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   53 ]
+    MP   204   203 6   208     6  -9.507  -9.446  -0.378  -8.222  -8.502  -2.176 -2.910 -3.433 -3.452 -0.971 -2.602 -4.146 -0.826 -3.528 -3.276 -1.206  2.699 -1.800  0.043 -3.185 -1.335  2.446 
+    ML   205   203 6   208     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   206   203 6   208     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   207   203 6   208     6 -17.817 -16.516 -12.313 -12.995 -13.012  -0.001 
+    IL   208   208 5   208     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   209   209 6   209     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   54 ]
+    MP   210   209 6   214     4  -7.055  -0.769  -1.373  -5.677                 -5.237 -5.143 -4.203 -0.508 -3.630 -4.854  3.578 -4.599 -5.956 -0.443 -4.232 -2.107  0.518 -5.604 -0.885 -4.143 
+    ML   211   209 6   214     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   212   209 6   214     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   213   209 6   214     4 -13.256  -5.912  -2.422  -0.328                 
+    IL   214   214 5   214     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   215   215 6   215     3  -3.697  -0.134  -6.397                          0.000  0.000  0.000  0.000 
+				[ MATL   55 ]
+    ML   216   215 6   218     3 -11.762  -0.001 -10.417                         -0.319 -1.578 -0.510  1.112 
+     D   217   215 6   218     3 -15.041 -10.554  -0.001                         
+    IL   218   218 3   218     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   56 ]
+    ML   219   218 3   221     3 -11.762  -0.145  -3.387                         -1.361  0.234 -2.172  1.146 
+     D   220   218 3   221     3 -15.041 -10.554  -0.001                         
+    IL   221   221 3   221     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   57 ]
+    ML   222   221 3   224     3 -11.619  -0.798  -1.236                          0.011 -0.849 -2.726  1.193 
+     D   223   221 3   224     3 -15.078 -10.591  -0.001                         
+    IL   224   224 3   224     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   58 ]
+    ML   225   224 3   227     2       *   0.000                                  0.107 -1.045  0.753 -0.409 
+     D   226   224 3   227     2       *   0.000                                 
+    IL   227   227 3   227     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    59 ]
+     E   228   227 3    -1     0                                                 
+				[ BEGR   60 ]
+     S   229   172 1   230     3 -13.971  -0.029  -5.635                         
+    IL   230   230 2   230     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   61 ]
+    ML   231   230 2   233     3  -0.713  -1.360 -12.596                         -0.131 -3.260  1.530 -3.396 
+     D   232   230 2   233     3  -9.860  -0.079  -4.252                         
+    IL   233   233 3   233     3  -6.751  -0.014 -10.646                          0.000  0.000  0.000  0.000 
+				[ MATL   62 ]
+    ML   234   233 3   236     5 -12.907  -0.001 -12.723 -12.935 -13.826         -3.231  1.707 -4.784 -0.754 
+     D   235   233 3   236     5  -4.959  -0.803  -4.221  -2.596  -2.508         
+    IL   236   236 3   236     5  -2.408  -0.496  -4.087  -5.920  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   63 ]
+    MP   237   236 3   241     6 -13.863  -5.381  -0.036 -12.579 -12.859 -13.254 -9.585 -8.508 -10.303  0.862 -4.812 -10.387  2.580 -9.640 -9.774  2.639 -9.420 -0.032 -0.745 -9.813 -1.521 -8.428 
+    ML   238   236 3   241     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   239   236 3   241     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   240   236 3   241     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   241   241 5   241     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   242   242 6   242     5  -4.686  -0.089  -8.197  -6.365  -7.471          0.000  0.000  0.000  0.000 
+				[ MATP   64 ]
+    MP   243   242 6   247     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -7.007 -7.207 -7.150  0.363 -5.758 -7.726  3.046 -3.761 -7.461  0.875 -7.422 -1.290  1.773 -4.756 -0.718 -5.807 
+    ML   244   242 6   247     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   245   242 6   247     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   246   242 6   247     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   247   247 5   247     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   248   248 6   248     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   65 ]
+    MP   249   248 6   253     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -8.223 -7.211 -9.135  1.737 -9.463 -9.029  0.920 -8.611 -8.355  3.029 -8.038 -4.659  0.497 -8.396 -0.039 -2.657 
+    ML   250   248 6   253     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   251   248 6   253     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   252   248 6   253     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   253   253 5   253     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   254   254 6   254     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   66 ]
+    MP   255   254 6   259     6 -13.863 -13.802  -0.001 -12.579 -12.859 -13.254 -9.197 -3.944 -10.148  1.192 -10.482 -5.072 -1.950 -3.859 -4.145  3.625 -7.418 -2.043 -0.876 -3.478 -6.453 -8.213 
+    ML   256   254 6   259     6  -6.250  -6.596  -1.310  -1.005  -6.446  -3.975  0.660 -0.612 -0.293 -0.076 
+    MR   257   254 6   259     6  -6.988  -5.717  -1.625  -5.695  -0.829  -3.908  0.660 -0.612 -0.293 -0.076 
+     D   258   254 6   259     6  -9.049  -7.747  -3.544  -4.226  -4.244  -0.319 
+    IL   259   259 5   259     6  -2.579  -2.842  -0.760  -4.497  -5.274  -4.934  0.000  0.000  0.000  0.000 
+    IR   260   260 6   260     5  -2.408  -0.496  -5.920  -4.087  -5.193          0.000  0.000  0.000  0.000 
+				[ MATP   67 ]
+    MP   261   260 6   265     4 -13.060 -13.267  -0.001 -11.681                 -11.930 -7.279 -12.582 -2.660 -11.672 -7.500 -5.551 -11.017 -8.434  3.964 -7.907 -2.684 -5.482 -7.604 -7.598 -9.691 
+    ML   262   260 6   265     4  -3.758  -3.940  -0.507  -2.670                  0.660 -0.612 -0.293 -0.076 
+    MR   263   260 6   265     4  -4.809  -3.838  -1.706  -0.766                  0.660 -0.612 -0.293 -0.076 
+     D   264   260 6   265     4  -4.568  -4.250  -2.265  -0.520                 
+    IL   265   265 5   265     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR   266   266 6   266     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   68 ]
+    ML   267   266 6   269     3 -13.971  -0.000 -12.625                         -2.040 -6.999 -8.040  1.905 
+     D   268   266 6   269     3  -6.174  -1.687  -0.566                         
+    IL   269   269 3   269     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   69 ]
+    ML   270   269 3   272     3 -13.971  -0.000 -12.625                         -8.878 -9.011 -9.336  1.998 
+     D   271   269 3   272     3  -6.174  -1.687  -0.566                         
+    IL   272   272 3   272     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   70 ]
+    ML   273   272 3   275     3 -13.971  -0.000 -12.625                         -6.878  1.979 -5.714 -5.080 
+     D   274   272 3   275     3  -6.174  -1.687  -0.566                         
+    IL   275   275 3   275     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   71 ]
+    ML   276   275 3   278     3 -13.971  -0.000 -12.625                         -0.336 -7.439  1.672 -6.007 
+     D   277   275 3   278     3  -6.174  -1.687  -0.566                         
+    IL   278   278 3   278     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   72 ]
+    ML   279   278 3   281     3 -13.971  -0.000 -12.625                          1.997 -8.574 -8.032 -8.484 
+     D   280   278 3   281     3  -6.174  -1.687  -0.566                         
+    IL   281   281 3   281     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   73 ]
+    ML   282   281 3   284     3 -13.971  -0.004  -8.670                          0.685 -1.627 -0.894  0.614 
+     D   283   281 3   284     3  -6.174  -1.687  -0.566                         
+    IL   284   284 3   284     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   74 ]
+    ML   285   284 3   287     2       *   0.000                                 -1.742  0.204 -5.128  1.334 
+     D   286   284 3   287     2       *   0.000                                 
+    IL   287   287 3   287     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    75 ]
+     E   288   287 3    -1     0                                                 
+//
diff --git a/TRNAinf-euk-ns-c.cm b/TRNAinf-euk-ns-c.cm
new file mode 100644
index 0000000..95f4f93
--- /dev/null
+++ b/TRNAinf-euk-ns-c.cm
@@ -0,0 +1,404 @@
+INFERNAL-1 [1.0]
+NAME     tRNA1415G-euk-nostruct
+STATES   274
+NODES    92
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     242
+EFFNSEQ  242.000
+CLEN     90
+BCOM     cmbuild --rf --enone -F TRNAinf-euk-ns-nc.cm trna1415G-euk-ns.sto
+BDATE    Sun Feb  8 18:17:36 2009
+CCOM     cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf-euk-ns.hfile --exp-sfile cmcalibrate_files/TRNAinf-euk-ns.sfile --exp-qqfile cmcalibrate_files/TRNAinf-euk-ns.qqfile --exp-ffile cmcalibrate_files/TRNAinf-euk-ns.ffile --fil-dfile cmcalibrate_files/TRNAinf-euk-ns.dfile -s 208 TRNAinf-euk-ns-c.cm
+CDATE    Sun Feb  8 20:15:06 2009
+NULL     0.000  0.000  0.000  0.000 
+PART     1        0    100  
+E-LC     0      0.70749   -10.10603    -1.17107     1500000      625883  0.001797
+E-GC     0      0.30291   -28.62205   -14.69779     1500000       25455  0.014732
+E-LI     0      0.72725    -8.91211    -0.48093     1500000      517684  0.002173
+E-GI     0      0.31349   -26.12174   -12.69584     1500000       25229  0.014864
+E-LV     0      0.69978    -2.81485     2.07065    36610000       83834  0.032752
+E-GV     0      0.32667   -20.69246    -6.90066    36610000       82826  0.011050
+E-LF     0      0.68282     0.30845     5.31514    36610000       83825  0.032756
+E-GF     0      0.33805   -18.23904    -4.90963    36610000       82888  0.011042
+FT-LC    39  0.99500  10000  1500000  0
+               5681    5280.41    4644.93    4570.26    3355.48     2994.2    2261.39    2186.97    1692.58    1617.63    1120.82    696.014    507.426     486.68    434.051    366.268     365.75    272.777    233.883    193.729    158.017    137.078    128.997    104.092    92.0756    85.7562    68.0235    51.6656    46.5404     35.139     31.294    24.4254    2.00098    1.25647    1.09382   0.479996   0.435428   0.179204   0.159217 
+            1195.64    953.773    788.331    685.825    566.862    484.475     420.33    350.756    310.614    275.065    237.184    197.925    164.939    147.063    120.974    101.711    77.0851    65.1659    57.3935    50.6518    43.9754    38.9426    34.4387     30.539    27.0624    23.7048    20.2319     17.892    15.7688    13.6997    11.8291    11.3102    10.0343    6.03747    4.19848    1.91847    1.58244    1.31962    1.13102 
+FT-LI    46  0.99500  10000  1500000  0
+            6307.44    5344.87    4260.65    4020.78    3665.28    3442.32     2935.6    2510.92    1677.93    1557.44    937.972    653.107    521.362    394.051     366.59    339.314    337.424    274.474    264.939    200.634    183.478    135.063    129.628    88.6751     82.387    69.2743    60.1612    53.4605    46.3512    38.1965    27.4666    25.0516    2.12149    1.29888      1.226      1.216   0.710586    0.68173   0.519123    0.41151   0.354207   0.306908   0.261336   0.190096 [...]
+            1195.64    953.773    788.331    685.825    566.862    484.475     420.33    350.756    310.614    275.065    237.184    197.925    164.939    147.063    120.974    101.711    77.0851    65.1659    57.3935    50.6518    43.9754    38.9426    34.4387     30.539    27.0624    23.7048    20.2319     17.892    15.7688    13.6997    11.8291    11.3102    10.0343    8.65236    7.68833    5.98003    4.85575    4.09654    3.36521    2.92763    2.34979    1.91847    1.72344    1.38517 [...]
+FT-GC    2  0.99500  10000  1500000  1
+            1.08732   0.621571 
+             1.1002   0.905077 
+FT-GI    2  0.99500  10000  1500000  1
+            1.25441   0.559613 
+             1.1002   0.905077 
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     4 -13.060  -6.839  -0.013 -11.681                 
+    IL     1     1 2     1     4  -1.686  -2.369  -1.117  -4.855                  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     3  -0.724  -1.384  -6.424                          0.000  0.000  0.000  0.000 
+				[ MATL    1 ]
+    ML     3     2 3     5     3 -13.971  -0.000 -12.625                         -2.928 -2.199  1.659 -1.020 
+     D     4     2 3     5     3  -6.174  -1.687  -0.566                         
+    IL     5     5 3     5     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    2 ]
+    ML     6     5 3     8     3 -13.971  -0.000 -12.625                         -1.873  0.800  0.466 -0.726 
+     D     7     5 3     8     3  -6.174  -1.687  -0.566                         
+    IL     8     8 3     8     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    3 ]
+    ML     9     8 3    11     3 -13.971  -0.000 -12.625                         -1.430  1.022 -0.595 -0.095 
+     D    10     8 3    11     3  -6.174  -1.687  -0.566                         
+    IL    11    11 3    11     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    4 ]
+    ML    12    11 3    14     3 -13.971  -0.000 -12.625                         -0.741  0.413 -0.128  0.208 
+     D    13    11 3    14     3  -6.174  -1.687  -0.566                         
+    IL    14    14 3    14     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    5 ]
+    ML    15    14 3    17     3 -13.971  -0.000 -12.625                         -0.880  0.499  0.255 -0.235 
+     D    16    14 3    17     3  -6.174  -1.687  -0.566                         
+    IL    17    17 3    17     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    6 ]
+    ML    18    17 3    20     3 -13.971  -0.000 -12.625                         -0.849  0.280  0.215  0.098 
+     D    19    17 3    20     3  -6.174  -1.687  -0.566                         
+    IL    20    20 3    20     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    7 ]
+    ML    21    20 3    23     3 -13.971  -0.000 -12.625                          0.454 -2.756  0.699 -0.219 
+     D    22    20 3    23     3  -6.174  -1.687  -0.566                         
+    IL    23    23 3    23     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    8 ]
+    ML    24    23 3    26     3  -5.350  -0.049  -6.847                         -8.878 -9.011 -9.336  1.998 
+     D    25    23 3    26     3  -6.174  -1.687  -0.566                         
+    IL    26    26 3    26     3  -3.659  -0.138  -6.359                          0.000  0.000  0.000  0.000 
+				[ MATL    9 ]
+    ML    27    26 3    29     3  -5.338  -0.036 -12.613                          0.772 -4.220  1.142 -4.951 
+     D    28    26 3    29     3  -8.776  -0.174  -3.167                         
+    IL    29    29 3    29     3  -3.659  -0.138  -6.359                          0.000  0.000  0.000  0.000 
+				[ MATL   10 ]
+    ML    30    29 3    32     3 -13.971  -0.000 -12.625                         -3.610 -2.739  1.874 -3.279 
+     D    31    29 3    32     3  -6.174  -1.687  -0.566                         
+    IL    32    32 3    32     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   11 ]
+    ML    33    32 3    35     3 -13.971  -0.000 -12.625                         -6.965  1.409 -3.614  0.328 
+     D    34    32 3    35     3  -6.174  -1.687  -0.566                         
+    IL    35    35 3    35     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   12 ]
+    ML    36    35 3    38     3 -13.971  -0.000 -12.625                         -0.727  0.141  0.073  0.312 
+     D    37    35 3    38     3  -6.174  -1.687  -0.566                         
+    IL    38    38 3    38     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   13 ]
+    ML    39    38 3    41     3 -13.971  -0.000 -12.625                         -1.612  0.713 -0.660  0.486 
+     D    40    38 3    41     3  -6.174  -1.687  -0.566                         
+    IL    41    41 3    41     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   14 ]
+    ML    42    41 3    44     3 -13.971  -0.000 -12.625                          1.971 -6.823 -4.307 -5.535 
+     D    43    41 3    44     3  -6.174  -1.687  -0.566                         
+    IL    44    44 3    44     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   15 ]
+    ML    45    44 3    47     3 -13.971  -0.011  -7.073                         -0.530 -7.321  1.699 -4.177 
+     D    46    44 3    47     3  -6.174  -1.687  -0.566                         
+    IL    47    47 3    47     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   16 ]
+    ML    48    47 3    50     3 -13.961  -1.486  -0.637                         -2.904 -1.035 -2.328  1.669 
+     D    49    47 3    50     3  -8.586  -4.099  -0.091                         
+    IL    50    50 3    50     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   17 ]
+    ML    51    50 3    53     3  -5.000  -0.046 -11.130                         -2.808  0.243 -2.405  1.313 
+     D    52    50 3    53     3 -14.762  -0.003  -9.153                         
+    IL    53    53 3    53     3  -2.845  -0.253  -5.545                          0.000  0.000  0.000  0.000 
+				[ MATL   18 ]
+    ML    54    53 3    56     3 -13.971  -0.000 -12.625                         -9.436 -10.439  1.999 -10.233 
+     D    55    53 3    56     3  -6.174  -1.687  -0.566                         
+    IL    56    56 3    56     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   19 ]
+    ML    57    56 3    59     3 -13.971  -0.000 -12.625                         -7.395 -8.802  1.979 -4.347 
+     D    58    56 3    59     3  -6.174  -1.687  -0.566                         
+    IL    59    59 3    59     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   20 ]
+    ML    60    59 3    62     3  -0.831  -1.230  -6.424                         -1.226 -2.011 -2.555  1.657 
+     D    61    59 3    62     3  -6.174  -1.687  -0.566                         
+    IL    62    62 3    62     3  -2.392  -0.313  -7.869                          0.000  0.000  0.000  0.000 
+				[ MATL   21 ]
+    ML    63    62 3    65     3 -13.951  -0.000 -12.605                          1.965 -5.091 -6.325 -4.210 
+     D    64    62 3    65     3  -9.404  -0.110  -3.796                         
+    IL    65    65 3    65     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   22 ]
+    ML    66    65 3    68     3 -13.971  -0.000 -12.625                          0.214 -3.713  1.024 -0.455 
+     D    67    65 3    68     3  -6.174  -1.687  -0.566                         
+    IL    68    68 3    68     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   23 ]
+    ML    69    68 3    71     3 -13.971  -0.000 -12.625                          0.255  0.112  0.199 -0.792 
+     D    70    68 3    71     3  -6.174  -1.687  -0.566                         
+    IL    71    71 3    71     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   24 ]
+    ML    72    71 3    74     3 -13.971  -0.000 -12.625                          0.274 -3.607  1.433 -6.726 
+     D    73    71 3    74     3  -6.174  -1.687  -0.566                         
+    IL    74    74 3    74     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   25 ]
+    ML    75    74 3    77     3 -13.971  -0.000 -12.625                         -3.213  1.590 -2.644 -0.471 
+     D    76    74 3    77     3  -6.174  -1.687  -0.566                         
+    IL    77    77 3    77     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   26 ]
+    ML    78    77 3    80     3 -13.971  -0.000 -12.625                         -0.433 -2.838  1.309 -0.640 
+     D    79    77 3    80     3  -6.174  -1.687  -0.566                         
+    IL    80    80 3    80     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   27 ]
+    ML    81    80 3    83     3 -13.971  -0.000 -12.625                         -1.356  0.532 -0.849  0.686 
+     D    82    80 3    83     3  -6.174  -1.687  -0.566                         
+    IL    83    83 3    83     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   28 ]
+    ML    84    83 3    86     3 -13.971  -0.000 -12.625                         -0.677  0.618 -1.111  0.461 
+     D    85    83 3    86     3  -6.174  -1.687  -0.566                         
+    IL    86    86 3    86     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   29 ]
+    ML    87    86 3    89     3 -13.971  -0.000 -12.625                          0.065 -0.223 -0.030  0.160 
+     D    88    86 3    89     3  -6.174  -1.687  -0.566                         
+    IL    89    89 3    89     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   30 ]
+    ML    90    89 3    92     3 -13.971  -0.000 -12.625                         -3.817 -0.548  1.636 -2.878 
+     D    91    89 3    92     3  -6.174  -1.687  -0.566                         
+    IL    92    92 3    92     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   31 ]
+    ML    93    92 3    95     3 -13.971  -0.000 -12.625                          0.699 -0.160  0.061 -1.189 
+     D    94    92 3    95     3  -6.174  -1.687  -0.566                         
+    IL    95    95 3    95     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   32 ]
+    ML    96    95 3    98     3 -13.971  -0.000 -12.625                         -7.441  1.640 -8.378 -0.194 
+     D    97    95 3    98     3  -6.174  -1.687  -0.566                         
+    IL    98    98 3    98     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   33 ]
+    ML    99    98 3   101     3 -13.971  -0.000 -12.625                         -6.969 -3.213 -7.715  1.956 
+     D   100    98 3   101     3  -6.174  -1.687  -0.566                         
+    IL   101   101 3   101     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   34 ]
+    ML   102   101 3   104     3 -13.971  -0.000 -12.625                         -0.259  0.036  0.052  0.141 
+     D   103   101 3   104     3  -6.174  -1.687  -0.566                         
+    IL   104   104 3   104     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   35 ]
+    ML   105   104 3   107     3 -13.971  -0.000 -12.625                         -0.015 -0.285 -0.172  0.381 
+     D   106   104 3   107     3  -6.174  -1.687  -0.566                         
+    IL   107   107 3   107     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   36 ]
+    ML   108   107 3   110     3 -13.971  -0.000 -12.625                          0.299 -0.166 -0.594  0.282 
+     D   109   107 3   110     3  -6.174  -1.687  -0.566                         
+    IL   110   110 3   110     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   37 ]
+    ML   111   110 3   113     3  -2.692  -0.243 -12.625                          1.556 -4.613  0.015 -6.898 
+     D   112   110 3   113     3  -6.174  -1.687  -0.566                         
+    IL   113   113 3   113     3  -0.077  -4.265 -12.972                          0.000  0.000  0.000  0.000 
+				[ MATL   38 ]
+    ML   114   113 3   116     3 -13.971  -0.000 -12.625                          1.436 -0.207 -6.051 -1.277 
+     D   115   113 3   116     3  -6.174  -1.687  -0.566                         
+    IL   116   116 3   116     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   39 ]
+    ML   117   116 3   119     3 -13.971  -0.000 -12.625                         -1.765  0.028 -0.004  0.756 
+     D   118   116 3   119     3  -6.174  -1.687  -0.566                         
+    IL   119   119 3   119     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   40 ]
+    ML   120   119 3   122     3 -13.971  -0.000 -12.625                         -4.436  1.584 -0.374 -2.449 
+     D   121   119 3   122     3  -6.174  -1.687  -0.566                         
+    IL   122   122 3   122     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   41 ]
+    ML   123   122 3   125     3 -13.971  -0.000 -12.625                          0.124  0.025 -0.288  0.103 
+     D   124   122 3   125     3  -6.174  -1.687  -0.566                         
+    IL   125   125 3   125     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   42 ]
+    ML   126   125 3   128     3 -13.971  -0.006  -8.052                          0.307 -1.218  0.729 -0.565 
+     D   127   125 3   128     3  -6.174  -1.687  -0.566                         
+    IL   128   128 3   128     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   43 ]
+    ML   129   128 3   131     3 -13.966  -0.000 -12.620                          0.401 -2.431  0.780 -0.363 
+     D   130   128 3   131     3  -7.828  -0.357  -2.220                         
+    IL   131   131 3   131     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   44 ]
+    ML   132   131 3   134     3 -13.971  -0.323  -2.318                          1.147 -1.400 -1.431  0.051 
+     D   133   131 3   134     3  -6.174  -1.687  -0.566                         
+    IL   134   134 3   134     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   45 ]
+    ML   135   134 3   137     3 -13.648  -5.671  -0.029                         -1.461 -3.767  1.768 -2.661 
+     D   136   134 3   137     3 -13.083  -0.008  -7.475                         
+    IL   137   137 3   137     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   46 ]
+    ML   138   137 3   140     3 -11.762  -0.001 -10.417                         -1.903  0.220  1.068 -1.084 
+     D   139   137 3   140     3 -15.041 -10.554  -0.001                         
+    IL   140   140 3   140     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   47 ]
+    ML   141   140 3   143     3 -11.762  -0.125  -3.594                         -3.146  0.057  0.660  0.342 
+     D   142   140 3   143     3 -15.041 -10.554  -0.001                         
+    IL   143   143 3   143     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   48 ]
+    ML   144   143 3   146     3 -11.639  -0.352  -2.210                         -0.832  0.836  0.282 -1.194 
+     D   145   143 3   146     3 -15.074 -10.587  -0.001                         
+    IL   146   146 3   146     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   49 ]
+    ML   147   146 3   149     3 -11.289  -2.034  -0.405                         -2.676  0.772 -0.064  0.238 
+     D   148   146 3   149     3 -15.148 -10.661  -0.001                         
+    IL   149   149 3   149     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   50 ]
+    ML   150   149 3   152     3  -9.264  -0.483  -1.822                          0.193 -0.999 -1.893  1.062 
+     D   151   149 3   152     3 -15.336 -10.849  -0.001                         
+    IL   152   152 3   152     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   51 ]
+    ML   153   152 3   155     3  -8.792  -0.747  -1.315                         -0.985 -1.661  0.875  0.427 
+     D   154   152 3   155     3 -15.352 -10.865  -0.001                         
+    IL   155   155 3   155     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   52 ]
+    ML   156   155 3   158     3  -8.064  -0.019  -6.718                         -1.435  1.602 -2.265 -1.374 
+     D   157   155 3   158     3 -15.368  -2.299  -0.328                         
+    IL   158   158 3   158     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   53 ]
+    ML   159   158 3   161     3 -11.762  -0.001 -10.417                         -0.319 -1.578 -0.510  1.112 
+     D   160   158 3   161     3 -15.041 -10.554  -0.001                         
+    IL   161   161 3   161     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   54 ]
+    ML   162   161 3   164     3 -11.762  -0.145  -3.387                         -1.361  0.234 -2.172  1.146 
+     D   163   161 3   164     3 -15.041 -10.554  -0.001                         
+    IL   164   164 3   164     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   55 ]
+    ML   165   164 3   167     3 -11.619  -0.798  -1.236                          0.011 -0.849 -2.726  1.193 
+     D   166   164 3   167     3 -15.078 -10.591  -0.001                         
+    IL   167   167 3   167     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   56 ]
+    ML   168   167 3   170     3  -2.155  -3.927  -0.495                          0.107 -1.045  0.753 -0.409 
+     D   169   167 3   170     3 -15.220 -10.733  -0.001                         
+    IL   170   170 3   170     3  -3.697  -1.311  -0.944                          0.000  0.000  0.000  0.000 
+				[ MATL   57 ]
+    ML   171   170 3   173     3  -8.064  -0.019  -6.718                         -1.429 -2.524  1.671 -1.884 
+     D   172   170 3   173     3 -15.368  -6.425  -0.017                         
+    IL   173   173 3   173     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   58 ]
+    ML   174   173 3   176     3  -8.792  -0.589  -1.588                         -0.985 -1.661  0.875  0.427 
+     D   175   173 3   176     3 -15.352  -6.444  -0.017                         
+    IL   176   176 3   176     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   59 ]
+    ML   177   176 3   179     3  -8.875  -0.011  -7.529                          0.708 -1.955  0.785 -1.374 
+     D   178   176 3   179     3 -15.350  -3.042  -0.187                         
+    IL   179   179 3   179     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   60 ]
+    ML   180   179 3   182     3 -11.203  -0.002  -9.857                         -0.543 -0.093  1.178 -3.128 
+     D   181   179 3   182     3 -15.164  -4.304  -0.075                         
+    IL   182   182 3   182     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   61 ]
+    ML   183   182 3   185     3 -11.572  -0.002 -10.226                         -1.777  0.235  0.968 -0.799 
+     D   184   182 3   185     3 -15.090  -5.473  -0.033                         
+    IL   185   185 3   185     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   62 ]
+    ML   186   185 3   188     3 -11.701  -0.002 -10.355                          0.247  0.569  0.076 -1.861 
+     D   187   185 3   188     3 -15.058 -10.571  -0.001                         
+    IL   188   188 3   188     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   63 ]
+    ML   189   188 3   191     3 -11.701  -0.080  -4.223                         -0.977  0.902  0.292 -1.328 
+     D   190   188 3   191     3 -15.058  -0.019  -6.288                         
+    IL   191   191 3   191     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   64 ]
+    ML   192   191 3   194     3  -0.713  -1.360 -12.596                         -0.131 -3.260  1.530 -3.396 
+     D   193   191 3   194     3  -9.860  -0.079  -4.252                         
+    IL   194   194 3   194     3  -6.751  -0.014 -10.646                          0.000  0.000  0.000  0.000 
+				[ MATL   65 ]
+    ML   195   194 3   197     3 -13.971  -0.000 -12.625                         -3.231  1.707 -4.784 -0.754 
+     D   196   194 3   197     3  -6.174  -1.687  -0.566                         
+    IL   197   197 3   197     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   66 ]
+    ML   198   197 3   200     3 -13.971  -0.000 -12.625                         -1.111  0.589  0.841 -2.051 
+     D   199   197 3   200     3  -6.174  -1.687  -0.566                         
+    IL   200   200 3   200     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   67 ]
+    ML   201   200 3   203     3 -13.971  -0.000 -12.625                         -1.625  1.096 -0.837 -0.032 
+     D   202   200 3   203     3  -6.174  -1.687  -0.566                         
+    IL   203   203 3   203     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   68 ]
+    ML   204   203 3   206     3 -13.971  -0.000 -12.625                         -0.258 -1.063  1.027 -0.628 
+     D   205   203 3   206     3  -6.174  -1.687  -0.566                         
+    IL   206   206 3   206     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   69 ]
+    ML   207   206 3   209     3 -13.971  -0.000 -12.625                         -0.725 -3.505  1.651 -2.591 
+     D   208   206 3   209     3  -6.174  -1.687  -0.566                         
+    IL   209   209 3   209     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   70 ]
+    ML   210   209 3   212     3 -13.971  -0.000 -12.625                         -4.940 -8.954  1.986 -8.313 
+     D   211   209 3   212     3  -6.174  -1.687  -0.566                         
+    IL   212   212 3   212     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   71 ]
+    ML   213   212 3   215     3 -13.971  -0.000 -12.625                         -2.040 -6.999 -8.040  1.905 
+     D   214   212 3   215     3  -6.174  -1.687  -0.566                         
+    IL   215   215 3   215     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   72 ]
+    ML   216   215 3   218     3 -13.971  -0.000 -12.625                         -8.878 -9.011 -9.336  1.998 
+     D   217   215 3   218     3  -6.174  -1.687  -0.566                         
+    IL   218   218 3   218     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   73 ]
+    ML   219   218 3   221     3 -13.971  -0.000 -12.625                         -6.878  1.979 -5.714 -5.080 
+     D   220   218 3   221     3  -6.174  -1.687  -0.566                         
+    IL   221   221 3   221     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   74 ]
+    ML   222   221 3   224     3 -13.971  -0.000 -12.625                         -0.336 -7.439  1.672 -6.007 
+     D   223   221 3   224     3  -6.174  -1.687  -0.566                         
+    IL   224   224 3   224     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   75 ]
+    ML   225   224 3   227     3 -13.971  -0.000 -12.625                          1.997 -8.574 -8.032 -8.484 
+     D   226   224 3   227     3  -6.174  -1.687  -0.566                         
+    IL   227   227 3   227     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   76 ]
+    ML   228   227 3   230     3 -13.971  -0.004  -8.670                          0.685 -1.627 -0.894  0.614 
+     D   229   227 3   230     3  -6.174  -1.687  -0.566                         
+    IL   230   230 3   230     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   77 ]
+    ML   231   230 3   233     3 -13.968  -0.000 -12.622                         -1.742  0.204 -5.128  1.334 
+     D   232   230 3   233     3  -7.417  -0.497  -1.808                         
+    IL   233   233 3   233     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   78 ]
+    ML   234   233 3   236     3 -13.971  -0.000 -12.625                         -7.003  1.970 -8.011 -3.850 
+     D   235   233 3   236     3  -6.174  -1.687  -0.566                         
+    IL   236   236 3   236     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   79 ]
+    ML   237   236 3   239     3 -13.971  -0.000 -12.625                         -2.652  1.642 -3.965 -0.609 
+     D   238   236 3   239     3  -6.174  -1.687  -0.566                         
+    IL   239   239 3   239     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   80 ]
+    ML   240   239 3   242     3 -13.971  -0.000 -12.625                         -1.440  1.027 -0.477 -0.191 
+     D   241   239 3   242     3  -6.174  -1.687  -0.566                         
+    IL   242   242 3   242     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   81 ]
+    ML   243   242 3   245     3  -5.350  -0.036 -12.625                         -0.280 -1.088  1.184 -1.204 
+     D   244   242 3   245     3  -6.174  -1.687  -0.566                         
+    IL   245   245 3   245     3  -3.659  -0.138  -6.359                          0.000  0.000  0.000  0.000 
+				[ MATL   82 ]
+    ML   246   245 3   248     3 -13.971  -0.000 -12.625                         -2.565  0.635  0.656 -0.509 
+     D   247   245 3   248     3  -6.174  -1.687  -0.566                         
+    IL   248   248 3   248     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   83 ]
+    ML   249   248 3   251     3 -13.971  -0.000 -12.625                         -0.218  0.625 -2.782  0.539 
+     D   250   248 3   251     3  -6.174  -1.687  -0.566                         
+    IL   251   251 3   251     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   84 ]
+    ML   252   251 3   254     3 -13.971  -0.000 -12.625                         -0.936 -0.241  0.717 -0.017 
+     D   253   251 3   254     3  -6.174  -1.687  -0.566                         
+    IL   254   254 3   254     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   85 ]
+    ML   255   254 3   257     3 -13.971  -0.000 -12.625                         -0.709 -0.284  0.753 -0.182 
+     D   256   254 3   257     3  -6.174  -1.687  -0.566                         
+    IL   257   257 3   257     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   86 ]
+    ML   258   257 3   260     3 -13.971  -0.000 -12.625                         -0.462 -0.431  0.816 -0.375 
+     D   259   257 3   260     3  -6.174  -1.687  -0.566                         
+    IL   260   260 3   260     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   87 ]
+    ML   261   260 3   263     3 -13.971  -0.000 -12.625                         -0.219 -1.250  1.081 -0.725 
+     D   262   260 3   263     3  -6.174  -1.687  -0.566                         
+    IL   263   263 3   263     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   88 ]
+    ML   264   263 3   266     3 -13.971  -0.000 -12.625                         -0.741 -0.007  0.777 -0.529 
+     D   265   263 3   266     3  -6.174  -1.687  -0.566                         
+    IL   266   266 3   266     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   89 ]
+    ML   267   266 3   269     3 -13.971  -0.019  -6.263                         -0.962  1.526 -2.136 -1.395 
+     D   268   266 3   269     3  -6.174  -1.687  -0.566                         
+    IL   269   269 3   269     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   90 ]
+    ML   270   269 3   272     2       *   0.000                                  1.039 -3.030  0.513 -1.334 
+     D   271   269 3   272     2       *   0.000                                 
+    IL   272   272 3   272     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    91 ]
+     E   273   272 3    -1     0                                                 
+//
diff --git a/TRNAinf-ns-c.cm b/TRNAinf-ns-c.cm
new file mode 100644
index 0000000..eb16491
--- /dev/null
+++ b/TRNAinf-ns-c.cm
@@ -0,0 +1,404 @@
+INFERNAL-1 [1.0]
+NAME     tRNA1415G-nostruct
+STATES   274
+NODES    92
+ALPHABET 1
+ELSELF   -0.08926734
+WBETA    1e-07
+NSEQ     1415
+EFFNSEQ  1415.000
+CLEN     90
+BCOM     cmbuild --rf --enone -F TRNAinf-ns-nc.cm trna1415G-ns.sto
+BDATE    Sun Feb  8 19:08:54 2009
+CCOM     cmcalibrate --exp-hfile cmcalibrate_files/TRNAinf-ns.hfile --exp-sfile cmcalibrate_files/TRNAinf-ns.sfile --exp-qqfile cmcalibrate_files/TRNAinf-ns.qqfile --exp-ffile cmcalibrate_files/TRNAinf-ns.ffile --fil-dfile cmcalibrate_files/TRNAinf-ns.dfile -s 208 TRNAinf-ns-c.cm
+CDATE    Sun Feb  8 20:30:24 2009
+NULL     0.000  0.000  0.000  0.000 
+PART     1        0    100  
+E-LC     0      0.49078   -12.62611    -0.78469     1500000      375887  0.002993
+E-GC     0      0.41765    -8.89028     0.64848     1500000       20146  0.018614
+E-LI     0      0.46559   -11.51012     0.52782     1500000      305685  0.003680
+E-GI     0      0.43790    -6.91908     2.16532     1500000       20030  0.018722
+E-LV     0      0.47172    -3.63429     3.80760    34250000       85962  0.029882
+E-GV     0      0.47808    -3.61099     6.00724    34250000       85034  0.010070
+E-LF     0      0.60665     1.70442     7.49428    34250000       86129  0.029824
+E-GF     0      0.49333    -1.70892     7.61160    34250000       85019  0.010071
+FT-LC    55  0.99500  10000  1500000  0
+            828.381    683.676    648.382    551.638    487.051    455.646    393.644    368.084    319.178    299.612     266.63     234.85    210.456    175.114    142.585    128.545    119.702    109.886     103.41    93.4411    81.2389    69.3969    62.3148    53.2386    50.7446    48.7088    44.4731    35.0529    31.6602    28.1016    24.3376    21.7681     20.263    19.1913    16.3107    15.1207    14.2761    12.3998    11.2004    10.4279     9.3165    3.68449     3.1511    2.56439 [...]
+             1349.3    1214.13    1082.61    968.851    869.154    763.798    659.508    586.996    511.479    458.847    397.881     353.92    316.731    284.656     255.21     228.67     205.14    182.032    162.411    145.964    131.342    115.772    103.921    93.3974    83.9902    74.9372    67.1852    58.9696     51.853    46.6585    41.8826    37.4136    33.5026    30.0551    26.9787    24.1293    21.6069    19.1847    17.2523     15.524    14.1942    11.6445    9.89123       7.85 [...]
+FT-LI    61  0.99500  10000  1500000  0
+            730.145    613.363    562.316    505.485    419.848    384.085    367.112    302.531    274.924    258.871    232.226    216.791    202.343     173.81    145.612    124.401    113.257    104.091     94.413    84.2348    72.0347    63.5166    60.6035    55.4635    51.8264    45.7608    37.8112    33.3336    31.7039    28.6252    25.7946    24.8692    22.6587    20.7227    18.5871    16.2985    15.5712    14.0906    13.4352    11.8505    11.3369     8.0177    7.31461     6.7513 [...]
+            1343.58    1190.79    1065.67    943.905    849.347    763.798    659.508    586.996    514.904    458.847    397.881    357.806    320.403    284.656    246.386    210.689    187.752    168.943     151.65    136.459    122.491    109.554      97.39    86.9453    76.8244    69.0445    62.0525    54.8958    49.0978    44.0188    39.1552     34.956     31.416    28.2346    25.4061    22.7641    20.4589    18.1873    16.2467    14.6103    14.1942    12.5315    11.2488    9.90323 [...]
+FT-GC    55  0.99500  10000  1500000  1
+              20146    5173.43    3379.23    2245.93    1487.74    1332.51    1074.51    778.898    664.417    550.594    451.233    404.656    365.616    329.337    273.841    215.146    175.661     132.26    119.913    106.551    96.5188    89.6996    74.8323    68.7454    63.5878    57.5931    52.2781    45.2188    40.1294    33.7606    31.0973    27.6475    23.8326    22.0934    20.1651    17.9638    16.9852    7.90368    7.15213    6.14099    5.59548    5.00384    4.72121    3.89203 [...]
+            704.051    609.297    547.711    486.795    434.364    381.699    339.414    304.956    273.726    245.332    216.012    188.607      167.3    149.945    134.523    119.503    106.948    95.3348    84.3563    74.4582    66.6356    59.8412    53.2907    47.6214    42.7869     38.481    34.6085    30.1881    27.1636    24.2021    21.7129    19.3934    17.3902    15.6016    14.0039    12.5636    11.3648    10.1672    9.00082    7.85893    6.74445    6.04183     5.4365    4.72111 [...]
+FT-GI    59  0.99500  10000  1500000  1
+              20030    3891.23    2110.86    1733.64    1071.72    989.149    901.971    710.174    627.136    469.001    441.797    372.657    325.842    280.263    232.646    194.586    166.599    130.733    114.122    103.102    92.9519    84.2965     74.585    67.1302    61.4245    57.9251    52.6792    45.8903     39.493    31.5045    29.5164    26.4122    24.0082     21.536    19.3965    16.6055    15.0612    10.9822    9.86983    8.94291    8.15398     7.3736    6.72621    6.06834 [...]
+            704.051    609.297    547.711    486.795    434.364    381.699    339.414    304.956    273.726    245.332    216.012    188.607      167.3    149.945    134.523    119.503    106.948    95.3348    84.3563    74.4582    66.6356    59.8412    53.2907    47.6214    42.7869     38.481    34.6256    30.1881    27.1636    24.2021    21.7129    19.3934    17.3902    15.6016    14.0039     12.545    11.3648    10.2074    9.13052    8.13908    7.31279    6.58012    5.89753    5.30666 [...]
+MODEL:
+				[ ROOT    0 ]
+     S     0    -1 0     1     4  -5.647  -2.578  -0.307  -7.818                 
+    IL     1     1 2     1     4  -6.859  -1.137  -0.900 -10.028                  0.000  0.000  0.000  0.000 
+    IR     2     2 3     2     3  -0.590  -1.580  -9.669                          0.000  0.000  0.000  0.000 
+				[ MATL    1 ]
+    ML     3     2 3     5     3 -16.502  -0.000 -15.157                         -0.476 -1.314  1.308 -1.310 
+     D     4     2 3     5     3 -10.356  -0.056  -4.747                         
+    IL     5     5 3     5     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    2 ]
+    ML     6     5 3     8     3 -16.510  -0.000 -15.164                         -0.544  0.310  0.585 -0.801 
+     D     7     5 3     8     3  -6.174  -1.687  -0.566                         
+    IL     8     8 3     8     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    3 ]
+    ML     9     8 3    11     3 -16.510  -0.000 -15.164                         -0.396  0.076  0.344 -0.126 
+     D    10     8 3    11     3  -6.174  -1.687  -0.566                         
+    IL    11    11 3    11     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    4 ]
+    ML    12    11 3    14     3  -9.201  -0.003 -10.751                         -0.168 -0.225  0.447 -0.167 
+     D    13    11 3    14     3  -6.174  -1.687  -0.566                         
+    IL    14    14 3    14     3  -2.743  -0.273  -5.443                          0.000  0.000  0.000  0.000 
+				[ MATL    5 ]
+    ML    15    14 3    17     3 -16.509  -0.000 -15.163                          0.295 -0.157  0.044 -0.243 
+     D    16    14 3    17     3  -7.715  -0.390  -2.107                         
+    IL    17    17 3    17     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    6 ]
+    ML    18    17 3    20     3 -10.851  -0.001 -15.164                         -0.139 -0.441 -0.195  0.567 
+     D    19    17 3    20     3  -6.174  -1.687  -0.566                         
+    IL    20    20 3    20     3  -1.988  -0.496  -4.688                          0.000  0.000  0.000  0.000 
+				[ MATL    7 ]
+    ML    21    20 3    23     3 -16.510  -0.004  -8.608                          0.486 -2.894  0.703 -0.257 
+     D    22    20 3    23     3  -6.174  -1.687  -0.566                         
+    IL    23    23 3    23     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL    8 ]
+    ML    24    23 3    26     3  -7.229  -0.022  -6.842                         -2.035 -4.901 -2.973  1.846 
+     D    25    23 3    26     3  -9.461  -0.106  -3.853                         
+    IL    26    26 3    26     3  -4.199  -0.094  -6.899                          0.000  0.000  0.000  0.000 
+				[ MATL    9 ]
+    ML    27    26 3    29     3  -6.782  -0.013 -15.151                          1.370 -2.907  0.244 -3.366 
+     D    28    26 3    29     3 -11.126  -0.033  -5.517                         
+    IL    29    29 3    29     3  -4.581  -0.071  -7.281                          0.000  0.000  0.000  0.000 
+				[ MATL   10 ]
+    ML    30    29 3    32     3 -16.510  -0.000 -15.164                         -1.702 -2.393  1.744 -2.714 
+     D    31    29 3    32     3  -6.174  -1.687  -0.566                         
+    IL    32    32 3    32     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   11 ]
+    ML    33    32 3    35     3 -16.510  -0.000 -15.164                         -2.916  1.111 -2.031  0.548 
+     D    34    32 3    35     3  -6.174  -1.687  -0.566                         
+    IL    35    35 3    35     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   12 ]
+    ML    36    35 3    38     3 -16.510  -0.000 -15.164                         -0.921 -0.424 -0.513  1.019 
+     D    37    35 3    38     3  -6.174  -1.687  -0.566                         
+    IL    38    38 3    38     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   13 ]
+    ML    39    38 3    41     3 -16.510  -0.004  -8.402                         -0.611  0.144 -0.593  0.657 
+     D    40    38 3    41     3  -6.174  -1.687  -0.566                         
+    IL    41    41 3    41     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   14 ]
+    ML    42    41 3    44     3 -16.505  -0.017  -6.438                          1.873 -5.019 -3.121 -2.389 
+     D    43    41 3    44     3  -9.649  -5.162  -0.043                         
+    IL    44    44 3    44     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   15 ]
+    ML    45    44 3    47     3 -16.489  -0.260  -2.602                          0.760 -2.963  0.888 -1.611 
+     D    46    44 3    47     3 -11.840  -7.353  -0.009                         
+    IL    47    47 3    47     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   16 ]
+    ML    48    47 3    50     3 -16.229  -1.139  -0.873                         -0.871 -0.362 -2.505  1.321 
+     D    49    47 3    50     3 -15.430 -10.943  -0.001                         
+    IL    50    50 3    50     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   17 ]
+    ML    51    50 3    53     3  -2.064  -0.410  -6.932                         -1.344  0.043 -3.899  1.327 
+     D    52    50 3    53     3 -17.254  -0.140  -3.439                         
+    IL    53    53 3    53     3  -4.644  -0.060 -10.489                          0.000  0.000  0.000  0.000 
+				[ MATL   18 ]
+    ML    54    53 3    56     3 -16.419  -0.000 -15.073                         -1.181 -2.707  1.649 -1.886 
+     D    55    53 3    56     3 -13.891  -9.404  -0.002                         
+    IL    56    56 3    56     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   19 ]
+    ML    57    56 3    59     3 -16.419  -0.319  -2.335                         -1.565 -2.573  1.615 -1.218 
+     D    58    56 3    59     3 -13.891  -9.404  -0.002                         
+    IL    59    59 3    59     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   20 ]
+    ML    60    59 3    62     3  -0.979  -1.031  -8.141                         -1.478 -1.029 -2.625  1.580 
+     D    61    59 3    62     3  -5.311  -0.057  -6.216                         
+    IL    62    62 3    62     3  -2.215  -0.364  -7.102                          0.000  0.000  0.000  0.000 
+				[ MATL   21 ]
+    ML    63    62 3    65     3 -16.496  -0.000 -15.150                          1.761 -3.648 -1.627 -2.270 
+     D    64    62 3    65     3 -11.226  -0.030  -5.618                         
+    IL    65    65 3    65     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   22 ]
+    ML    66    65 3    68     3 -16.510  -0.000 -15.164                          0.879 -3.096  0.636 -1.028 
+     D    67    65 3    68     3  -6.174  -1.687  -0.566                         
+    IL    68    68 3    68     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   23 ]
+    ML    69    68 3    71     3 -16.510  -0.000 -15.164                          1.008 -0.533 -0.343 -0.972 
+     D    70    68 3    71     3  -6.174  -1.687  -0.566                         
+    IL    71    71 3    71     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   24 ]
+    ML    72    71 3    74     3 -16.510  -0.000 -15.164                          0.453 -1.932  1.161 -2.913 
+     D    73    71 3    74     3  -6.174  -1.687  -0.566                         
+    IL    74    74 3    74     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   25 ]
+    ML    75    74 3    77     3 -16.510  -0.006  -7.945                         -2.659  1.485 -2.211 -0.274 
+     D    76    74 3    77     3  -6.174  -1.687  -0.566                         
+    IL    77    77 3    77     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   26 ]
+    ML    78    77 3    80     3  -7.293  -0.009 -15.158                          0.871 -2.591  0.703 -1.403 
+     D    79    77 3    80     3 -10.074  -0.068  -4.466                         
+    IL    80    80 3    80     3  -4.142  -0.097  -6.842                          0.000  0.000  0.000  0.000 
+				[ MATL   27 ]
+    ML    81    80 3    83     3 -10.025  -0.001 -15.164                         -0.483  0.314 -0.967  0.613 
+     D    82    80 3    83     3  -6.174  -1.687  -0.566                         
+    IL    83    83 3    83     3  -2.308  -0.383  -5.008                          0.000  0.000  0.000  0.000 
+				[ MATL   28 ]
+    ML    84    83 3    86     3 -16.510  -0.000 -15.164                         -0.521  0.449 -1.302  0.616 
+     D    85    83 3    86     3  -6.174  -1.687  -0.566                         
+    IL    86    86 3    86     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   29 ]
+    ML    87    86 3    89     3 -16.510  -0.001 -10.125                          0.160 -1.089  0.399  0.129 
+     D    88    86 3    89     3  -6.174  -1.687  -0.566                         
+    IL    89    89 3    89     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   30 ]
+    ML    90    89 3    92     3 -16.508  -0.000 -15.162                         -0.957 -0.419  1.355 -2.480 
+     D    91    89 3    92     3  -8.174  -0.273  -2.566                         
+    IL    92    92 3    92     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   31 ]
+    ML    93    92 3    95     3 -16.510  -0.000 -15.164                          0.574 -0.099 -0.248 -0.445 
+     D    94    92 3    95     3  -6.174  -1.687  -0.566                         
+    IL    95    95 3    95     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   32 ]
+    ML    96    95 3    98     3  -8.892  -0.003 -15.164                         -3.426  1.205 -4.796  0.646 
+     D    97    95 3    98     3  -6.174  -1.687  -0.566                         
+    IL    98    98 3    98     3  -2.936  -0.236  -5.636                          0.000  0.000  0.000  0.000 
+				[ MATL   33 ]
+    ML    99    98 3   101     3 -16.510  -0.000 -15.164                         -9.794 -3.318 -10.511  1.963 
+     D   100    98 3   101     3  -6.174  -1.687  -0.566                         
+    IL   101   101 3   101     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   34 ]
+    ML   102   101 3   104     3 -16.510  -0.000 -15.164                         -2.395 -0.665  0.411  0.887 
+     D   103   101 3   104     3  -6.174  -1.687  -0.566                         
+    IL   104   104 3   104     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   35 ]
+    ML   105   104 3   107     3 -16.510  -0.000 -15.164                          0.200 -0.175 -0.316  0.217 
+     D   106   104 3   107     3  -6.174  -1.687  -0.566                         
+    IL   107   107 3   107     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   36 ]
+    ML   108   107 3   110     3 -16.510  -0.000 -15.164                          0.119 -0.102 -0.270  0.205 
+     D   109   107 3   110     3  -6.174  -1.687  -0.566                         
+    IL   110   110 3   110     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   37 ]
+    ML   111   110 3   113     3  -5.040  -0.045 -15.164                          1.609 -7.196 -0.129 -5.136 
+     D   112   110 3   113     3  -6.174  -1.687  -0.566                         
+    IL   113   113 3   113     3  -0.077  -4.263 -13.157                          0.000  0.000  0.000  0.000 
+				[ MATL   38 ]
+    ML   114   113 3   116     3 -16.510  -0.000 -15.164                          1.421 -0.510 -2.807 -1.067 
+     D   115   113 3   116     3  -6.174  -1.687  -0.566                         
+    IL   116   116 3   116     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   39 ]
+    ML   117   116 3   119     3 -16.510  -0.000 -15.164                         -0.854 -0.363  0.131  0.655 
+     D   118   116 3   119     3  -6.174  -1.687  -0.566                         
+    IL   119   119 3   119     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   40 ]
+    ML   120   119 3   122     3 -16.510  -0.000 -15.164                         -3.364  1.205 -0.313 -0.337 
+     D   121   119 3   122     3  -6.174  -1.687  -0.566                         
+    IL   122   122 3   122     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   41 ]
+    ML   123   122 3   125     3 -16.510  -0.000 -15.164                          0.081  0.418 -1.057  0.171 
+     D   124   122 3   125     3  -6.174  -1.687  -0.566                         
+    IL   125   125 3   125     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   42 ]
+    ML   126   125 3   128     3 -10.989  -0.003  -9.167                          0.436 -1.764  0.552 -0.173 
+     D   127   125 3   128     3  -6.174  -1.687  -0.566                         
+    IL   128   128 3   128     3  -1.945  -0.514  -4.645                          0.000  0.000  0.000  0.000 
+				[ MATL   43 ]
+    ML   129   128 3   131     3 -16.507  -0.000 -15.161                          0.452 -1.668  0.386  0.015 
+     D   130   128 3   131     3  -8.964  -0.152  -3.355                         
+    IL   131   131 3   131     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   44 ]
+    ML   132   131 3   134     3 -16.510  -0.213  -2.864                          0.945 -0.909 -1.101  0.105 
+     D   133   131 3   134     3  -6.174  -1.687  -0.566                         
+    IL   134   134 3   134     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   45 ]
+    ML   135   134 3   137     3  -8.436  -5.633  -0.034                          0.209 -2.944  1.009 -0.511 
+     D   136   134 3   137     3 -15.067  -0.019  -6.226                         
+    IL   137   137 3   137     3  -3.098  -0.209  -5.798                          0.000  0.000  0.000  0.000 
+				[ MATL   46 ]
+    ML   138   137 3   140     3 -13.825  -0.056  -4.729                         -0.561 -1.046  1.188 -0.839 
+     D   139   137 3   140     3 -17.685 -13.198  -0.000                         
+    IL   140   140 3   140     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   47 ]
+    ML   141   140 3   143     3 -13.770  -0.066  -4.479                         -0.640  0.240  0.287 -0.063 
+     D   142   140 3   143     3 -17.695 -13.208  -0.000                         
+    IL   143   143 3   143     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   48 ]
+    ML   144   143 3   146     3  -5.529  -0.641  -1.569                         -0.534  0.638 -0.254 -0.129 
+     D   145   143 3   146     3 -17.706 -13.219  -0.000                         
+    IL   146   146 3   146     3  -3.321  -0.177  -6.021                          0.000  0.000  0.000  0.000 
+				[ MATL   49 ]
+    ML   147   146 3   149     3 -13.111  -0.888  -1.122                         -1.800  0.474 -0.259  0.574 
+     D   148   146 3   149     3 -17.785 -13.298  -0.000                         
+    IL   149   149 3   149     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   50 ]
+    ML   150   149 3   152     3 -12.225  -0.676  -1.420                         -0.064 -0.675  0.413  0.119 
+     D   151   149 3   152     3 -17.853 -13.366  -0.000                         
+    IL   152   152 3   152     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   51 ]
+    ML   153   152 3   155     3 -11.551  -1.040  -0.962                         -0.051 -0.478 -0.112  0.477 
+     D   154   152 3   155     3 -17.882 -13.395  -0.000                         
+    IL   155   155 3   155     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   52 ]
+    ML   156   155 3   158     3 -10.514  -0.003  -9.168                         -2.182  0.138 -1.596  1.232 
+     D   157   155 3   158     3 -17.906  -2.876  -0.211                         
+    IL   158   158 3   158     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   53 ]
+    ML   159   158 3   161     3 -13.770  -0.010  -7.152                         -0.289 -1.583  0.139  0.804 
+     D   160   158 3   161     3 -17.695 -13.208  -0.000                         
+    IL   161   161 3   161     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   54 ]
+    ML   162   161 3   164     3 -13.760  -0.088  -4.086                          0.094 -0.451 -1.987  0.963 
+     D   163   161 3   164     3 -17.697 -13.210  -0.000                         
+    IL   164   164 3   164     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   55 ]
+    ML   165   164 3   167     3  -5.013  -0.584  -1.729                          0.935 -0.852 -2.754  0.471 
+     D   166   164 3   167     3 -17.711 -13.224  -0.000                         
+    IL   167   167 3   167     3  -2.268  -0.355  -6.610                          0.000  0.000  0.000  0.000 
+				[ MATL   56 ]
+    ML   168   167 3   170     3  -1.805  -5.623  -0.528                          0.723 -1.172  0.113 -0.280 
+     D   169   167 3   170     3 -17.780  -7.730  -0.007                         
+    IL   170   170 3   170     3  -6.101  -1.520  -0.651                          0.000  0.000  0.000  0.000 
+				[ MATL   57 ]
+    ML   171   170 3   173     3 -10.514  -0.003  -9.168                          0.482 -2.966  1.029 -1.203 
+     D   172   170 3   173     3 -17.906  -5.893  -0.024                         
+    IL   173   173 3   173     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   58 ]
+    ML   174   173 3   176     3 -11.551  -0.079  -4.243                         -0.509 -0.366  0.327  0.341 
+     D   175   173 3   176     3 -17.882  -5.653  -0.029                         
+    IL   176   176 3   176     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   59 ]
+    ML   177   176 3   179     3 -12.177  -0.001 -10.831                         -0.046 -0.091 -0.544  0.492 
+     D   178   176 3   179     3 -17.855  -4.446  -0.068                         
+    IL   179   179 3   179     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   60 ]
+    ML   180   179 3   182     3  -6.502  -0.016 -11.740                         -0.017 -0.149  0.797 -1.429 
+     D   181   179 3   182     3 -17.788  -4.232  -0.079                         
+    IL   182   182 3   182     3  -2.354  -0.369  -5.054                          0.000  0.000  0.000  0.000 
+				[ MATL   61 ]
+    ML   183   182 3   185     3 -13.687  -0.000 -12.341                         -0.355 -0.499  0.726 -0.224 
+     D   184   182 3   185     3 -17.709  -6.986  -0.011                         
+    IL   185   185 3   185     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   62 ]
+    ML   186   185 3   188     3 -13.754  -0.000 -12.408                         -0.137  0.282  0.272 -0.585 
+     D   187   185 3   188     3 -17.698 -13.211  -0.000                         
+    IL   188   188 3   188     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   63 ]
+    ML   189   188 3   191     3 -13.754  -0.449  -1.902                         -1.315  0.984 -0.560 -0.087 
+     D   190   188 3   191     3 -17.698  -0.014  -6.691                         
+    IL   191   191 3   191     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   64 ]
+    ML   192   191 3   194     3  -1.100  -0.910  -9.578                          0.539 -3.489  0.896 -0.742 
+     D   193   191 3   194     3  -5.057  -0.050  -7.937                         
+    IL   194   194 3   194     3  -5.401  -0.035 -12.774                          0.000  0.000  0.000  0.000 
+				[ MATL   65 ]
+    ML   195   194 3   197     3 -16.508  -0.000 -15.162                         -1.725  0.910 -2.834  0.747 
+     D   196   194 3   197     3  -8.555  -0.205  -2.947                         
+    IL   197   197 3   197     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   66 ]
+    ML   198   197 3   200     3 -16.510  -0.000 -15.164                          0.226 -0.719  0.939 -1.709 
+     D   199   197 3   200     3  -6.174  -1.687  -0.566                         
+    IL   200   200 3   200     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   67 ]
+    ML   201   200 3   203     3 -16.510  -0.000 -15.164                         -0.254  0.230 -0.307  0.239 
+     D   202   200 3   203     3  -6.174  -1.687  -0.566                         
+    IL   203   203 3   203     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   68 ]
+    ML   204   203 3   206     3  -8.047  -0.023  -6.372                          0.295 -0.927  0.618 -0.489 
+     D   205   203 3   206     3  -6.174  -1.687  -0.566                         
+    IL   206   206 3   206     3  -3.536  -0.151  -6.236                          0.000  0.000  0.000  0.000 
+				[ MATL   69 ]
+    ML   207   206 3   209     3 -16.492  -0.098  -3.925                         -0.175 -3.230  1.453 -1.894 
+     D   208   206 3   209     3 -11.587  -7.100  -0.011                         
+    IL   209   209 3   209     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   70 ]
+    ML   210   209 3   212     3 -16.394  -0.061  -4.604                         -1.936 -3.562  1.825 -3.183 
+     D   211   209 3   212     3 -14.236  -0.892  -1.117                         
+    IL   212   212 3   212     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   71 ]
+    ML   213   212 3   215     3 -10.928  -0.001 -12.013                         -1.929 -2.701 -3.856  1.813 
+     D   214   212 3   215     3 -14.166  -0.088  -4.081                         
+    IL   215   215 3   215     3  -1.931  -0.520  -4.631                          0.000  0.000  0.000  0.000 
+				[ MATL   72 ]
+    ML   216   215 3   218     3 -16.503  -0.003  -8.936                         -2.119 -3.122 -1.967  1.765 
+     D   217   215 3   218     3 -10.178  -0.063  -4.570                         
+    IL   218   218 3   218     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   73 ]
+    ML   219   218 3   221     3 -16.507  -0.002  -9.836                         -0.819  1.547 -3.433 -1.258 
+     D   220   218 3   221     3  -9.161  -0.131  -3.553                         
+    IL   221   221 3   221     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   74 ]
+    ML   222   221 3   224     3  -7.363  -0.027  -6.334                          0.774 -2.691  0.903 -1.915 
+     D   223   221 3   224     3  -8.400  -0.230  -2.791                         
+    IL   224   224 3   224     3  -4.087  -0.101  -6.787                          0.000  0.000  0.000  0.000 
+				[ MATL   75 ]
+    ML   225   224 3   227     3 -16.492  -0.081  -4.192                          1.833 -3.456 -3.499 -1.953 
+     D   226   224 3   227     3 -11.623  -7.136  -0.011                         
+    IL   227   227 3   227     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   76 ]
+    ML   228   227 3   230     3  -6.078  -0.150  -3.576                          0.776 -1.355 -0.284  0.105 
+     D   229   227 3   230     3 -14.021  -5.762  -0.027                         
+    IL   230   230 3   230     3  -2.594  -0.268  -8.060                          0.000  0.000  0.000  0.000 
+				[ MATL   77 ]
+    ML   231   230 3   233     3 -16.286  -0.029  -5.633                         -2.332 -0.701 -3.752  1.638 
+     D   232   230 3   233     3 -15.130  -0.775  -1.267                         
+    IL   233   233 3   233     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   78 ]
+    ML   234   233 3   236     3 -16.394  -0.000 -15.048                         -3.411  1.836 -4.318 -1.806 
+     D   235   233 3   236     3 -14.230  -0.250  -2.654                         
+    IL   236   236 3   236     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   79 ]
+    ML   237   236 3   239     3  -9.824  -0.002 -15.146                         -2.110  1.441 -2.868 -0.125 
+     D   238   236 3   239     3 -11.587  -0.024  -5.979                         
+    IL   239   239 3   239     3  -2.395  -0.357  -5.095                          0.000  0.000  0.000  0.000 
+				[ MATL   80 ]
+    ML   240   239 3   242     3 -16.510  -0.000 -15.164                         -0.784  0.532 -0.660  0.422 
+     D   241   239 3   242     3  -6.174  -1.687  -0.566                         
+    IL   242   242 3   242     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   81 ]
+    ML   243   242 3   245     3  -8.023  -0.006 -15.164                         -0.007 -0.634  0.377  0.087 
+     D   244   242 3   245     3  -6.174  -1.687  -0.566                         
+    IL   245   245 3   245     3  -3.555  -0.149  -6.255                          0.000  0.000  0.000  0.000 
+				[ MATL   82 ]
+    ML   246   245 3   248     3  -7.751  -0.008  -9.740                         -2.070  0.584 -0.617  0.688 
+     D   247   245 3   248     3  -6.174  -1.687  -0.566                         
+    IL   248   248 3   248     3  -3.769  -0.128  -6.469                          0.000  0.000  0.000  0.000 
+				[ MATL   83 ]
+    ML   249   248 3   251     3 -16.508  -0.000 -15.162                         -0.278  0.549 -2.855  0.655 
+     D   250   248 3   251     3  -8.480  -0.217  -2.872                         
+    IL   251   251 3   251     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   84 ]
+    ML   252   251 3   254     3 -16.510  -0.000 -15.164                          0.187 -0.372 -0.033  0.152 
+     D   253   251 3   254     3  -6.174  -1.687  -0.566                         
+    IL   254   254 3   254     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   85 ]
+    ML   255   254 3   257     3 -16.510  -0.000 -15.164                         -0.530 -0.228  0.058  0.498 
+     D   256   254 3   257     3  -6.174  -1.687  -0.566                         
+    IL   257   257 3   257     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   86 ]
+    ML   258   257 3   260     3 -16.510  -0.000 -15.164                         -0.403  0.272  0.007  0.045 
+     D   259   257 3   260     3  -6.174  -1.687  -0.566                         
+    IL   260   260 3   260     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   87 ]
+    ML   261   260 3   263     3 -16.510  -0.000 -15.164                         -0.229  0.154  0.157 -0.121 
+     D   262   260 3   263     3  -6.174  -1.687  -0.566                         
+    IL   263   263 3   263     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   88 ]
+    ML   264   263 3   266     3 -16.510  -0.000 -15.164                         -0.877  0.403  0.326 -0.185 
+     D   265   263 3   266     3  -6.174  -1.687  -0.566                         
+    IL   266   266 3   266     3  -1.442  -0.798  -4.142                          0.000  0.000  0.000  0.000 
+				[ MATL   89 ]
+    ML   267   266 3   269     3  -8.999  -0.019  -6.512                         -1.402  1.082 -1.350  0.154 
+     D   268   266 3   269     3  -6.174  -1.687  -0.566                         
+    IL   269   269 3   269     3  -2.867  -0.248  -5.568                          0.000  0.000  0.000  0.000 
+				[ MATL   90 ]
+    ML   270   269 3   272     2       *   0.000                                  1.100 -2.060 -0.143 -0.494 
+     D   271   269 3   272     2       *   0.000                                 
+    IL   272   272 3   272     2  -1.823  -0.479                                  0.000  0.000  0.000  0.000 
+				[ END    91 ]
+     E   273   272 3    -1     0                                                 
+//
diff --git a/align.c b/align.c
new file mode 100644
index 0000000..875e0b8
--- /dev/null
+++ b/align.c
@@ -0,0 +1,471 @@
+/* align.c
+ * SRE, Tue Jun 29 14:05:48 1993
+ * 2.0: Thu Sep 30 14:43:05 1993
+ * 
+ * Code for producing a multiple sequence alignment from tracebacks. 
+ * 
+ * 
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#include "squid.h"
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+
+
+/* Function: create_master()
+ * 
+ * Purpose:  Produce a "master copy" of the linear order in
+ *           which a model's states produce a sequence. Used
+ *           for reference during alignment construction.
+ *           
+ *           This linked list is created with Init_align()
+ *           and must be free'd by Free_align(). Each structure
+ *           in the list represents a possible emission from
+ *           a match state, and contains the index of the responsible
+ *           state. The sym field is used as an internal flag
+ *           (temporary dummy structures are used for bifurc's, and
+ *           flagged in the sym field for later removal). The
+ *           pos and substate fields are not used or meaningful. ret_len
+ *           is the maximum number of symbols that can be
+ *           emitted by non-insert states.
+ */
+static int
+create_master(struct cm_s     *cm, 
+	      struct align_s **ret_master,
+	      int             *ret_len)
+{
+  struct m2ali_s *stack;	/* stack used to traverse the model cv */
+  struct align_s *master;       /* RETURN: maximal match emission alignment */
+  struct align_s *curr;
+  int             oldidx;
+  int             oldtype;
+  struct align_s *oldafter;
+  int             newidx;
+  int             newtype;
+  struct align_s *newafter;
+  int             len;
+
+  /* Initialize the linked list of state order, master
+   */
+  master = Init_align();
+
+  /* Initialize pushdown stack for traversing the model.
+   */
+  stack   = Init_m2ali();
+  newidx  = (cm->nodes > 1) ? 1 : -1;
+  newtype = uMATP_ST;		/* assume 'worst' case, all nodes generate pairs */
+  Push_m2ali(stack, newidx, newtype, master);
+
+  /* While there are still active nodes on the stack, pop one off
+   * and deal with it.
+   */
+  len = 0;
+  while (Pop_m2ali(stack, &oldidx, &oldtype, &oldafter))
+    {
+      if (oldidx == -1) continue; /* END */
+      
+      if (cm->nd[oldidx].type == BIFURC_NODE)
+	{
+				/* deal with right branch.
+				 * Gotta insert a dummy temporarily */
+	  newafter = Insafter_align(-1, '-', ' ', oldidx, uBIFURC_ST, oldafter);
+	  Push_m2ali(stack, cm->nd[oldidx].nxt2, uBEGIN_ST, newafter);
+	  len++;
+				/* deal with left branch */
+	  Push_m2ali(stack, cm->nd[oldidx].nxt,  uBEGIN_ST, oldafter);
+	}
+
+      else if (cm->nd[oldidx].type == BEGINL_NODE ||
+	       cm->nd[oldidx].type == BEGINL_NODE ||
+	       cm->nd[oldidx].type == ROOT_NODE)
+	{			/* BEGIN's aren't reponsible for any MAT states */
+	  Push_m2ali(stack, cm->nd[oldidx].nxt,  uBEGIN_ST, oldafter);
+	}
+
+      else
+	{
+	  (void) Insafter_align(-1, '.', ' ', oldidx, uMATP_ST, oldafter);
+	  newafter = Insafter_align(-1, '.', ' ', oldidx, uMATP_ST, oldafter);
+	  len += 2;
+	  Push_m2ali(stack, cm->nd[oldidx].nxt, uBEGIN_ST, newafter);
+	}
+    }
+	  
+  /* Remove the temporary dummies used to BIFURC
+   */
+  for (curr = master->nxt; curr->nxt != NULL; curr = curr->nxt)
+    if (curr->nxt->sym == '-')
+      {
+	Delafter_align(curr);
+	len--;
+      }
+
+  Free_m2ali(stack);
+  *ret_len    = len;
+  *ret_master = master;
+#ifdef DEBUG
+/*  print_align(master); */
+#endif 
+
+  return 1;
+}
+
+
+/* Function: Trace2ali()
+ * 
+ * Purpose:  Given a traceback (tree-structure alignment of a model
+ *           to a sequence), construct a linear linked list representation
+ *           (align_s) of the sequence alignment to the model.
+ *           
+ * Args:     seq         - 0..len-1 sequence to align
+ *           tr          - traceback containing tree-wise alignment
+ *           watsoncrick - if TRUE, only canonical pairs get structure annotation
+ *           ret_ali     - RETURN: linear list alignment               
+ */
+int
+Trace2ali(char *seq, struct trace_s *tr, int watsoncrick, struct align_s **ret_ali)   
+{
+  struct align_s      *ali;     /* RETURN: linear list of alignment        */
+  struct t2ali_s      *stack;	/* stack used to traverse the traceback tr */
+  struct trace_s      *currtr;
+  struct align_s      *newafter;
+  struct align_s      *oldafter;
+  struct align_s      *curr;
+  char                 ssl, ssr;/* symbols <.> for secondary structure rep. */
+
+  /* Initialize the linked list for the alignment of sequence to model
+   */
+  ali = Init_align();
+
+  /* Initialize the pushdown stack for traversal of the traceback
+   */
+  stack = Init_t2ali();
+  Push_t2ali(stack, tr, ali);
+
+  while (Pop_t2ali(stack, &currtr, &oldafter))
+    {
+      switch (currtr->type) {
+      case END_ST: 
+	break;	/* ignore END states */
+
+      case uBIFURC_ST:
+				/* deal with right branch; insert a dummy */
+	newafter = Insafter_align(-1, '*', ' ', currtr->nodeidx, currtr->type, oldafter);
+	Push_t2ali(stack, currtr->nxtr, newafter);
+				/* deal with left branch */
+	Push_t2ali(stack, currtr->nxtl, oldafter);
+	break;
+
+      case uBEGIN_ST:
+	Push_t2ali(stack, currtr->nxtl, oldafter);
+	break;
+
+      case uDEL_ST:		
+	Insafter_align(-1, '-', '.', currtr->nodeidx, currtr->type, oldafter);
+	Push_t2ali(stack, currtr->nxtl, oldafter);
+	break;
+
+      case uMATP_ST:
+	if (! watsoncrick ||
+	    IsRNAComplement(seq[currtr->emitr], seq[currtr->emitl], TRUE))
+	  { ssr = '<'; ssl = '>'; }
+	else
+	  { ssr = '.'; ssl = '.'; }
+	
+	(void) Insafter_align(currtr->emitr, seq[currtr->emitr], ssr,
+			      currtr->nodeidx, currtr->type, oldafter);
+	newafter = Insafter_align(currtr->emitl, seq[currtr->emitl], ssl,
+				  currtr->nodeidx, currtr->type, oldafter);
+	Push_t2ali(stack, currtr->nxtl, newafter);
+	break;
+
+      case uINSL_ST:
+      case uMATL_ST:
+	newafter = Insafter_align(currtr->emitl, seq[currtr->emitl], '.',
+				      currtr->nodeidx, currtr->type, oldafter);
+	Push_t2ali(stack, currtr->nxtl, newafter);
+	break;
+
+      case uINSR_ST:
+      case uMATR_ST:
+	(void) Insafter_align(currtr->emitr, seq[currtr->emitr], '.',
+			      currtr->nodeidx, currtr->type, oldafter);
+	Push_t2ali(stack, currtr->nxtl, oldafter);
+	break;
+      }
+    }
+	 
+  /* Remove the temporary dummies used to BIFURC
+   */
+  for (curr = ali->nxt; curr->nxt != NULL; curr = curr->nxt)
+    if (curr->nxt->sym == '*')
+      Delafter_align(curr);
+
+  Free_t2ali(stack);
+  *ret_ali = ali;
+
+#ifdef DEBUG
+/*   print_align(ali); */
+#endif
+  return 1;
+}
+
+
+/* Function: Traces2Alignment()
+ * 
+ * Purpose:  Given a set of tracebacks for alignments of multiple sequences to 
+ *           a model, construct a multiple sequence alignment.
+ *           
+ *           The tricky bit, which involves some precalculations, is allowing 
+ *           the proper amount of space for insertions.
+ */
+int
+Traces2Alignment(char           **rseqs,
+		 SQINFO          *sqinfo,
+		 struct trace_s **tr,
+		 int              nseq,
+		 struct cm_s     *cm,
+		 int              watsoncrick, /* TRUE to annotate only canonical pairs */
+		 char          ***ret_aseqs,
+		 AINFO           *ainfo)
+{
+  struct align_s  *master;      /* representation of how MAT columns map onto the model  */
+  struct align_s **ali;         /* array of align_s alignments of the sequences to model */
+  int             *matuse;      /* 0 if MAT column is never used, 1 otherwise, 1..len */
+  int             *insuse;      /* per sequence, count use of inserts between MAT columns; 0..len */
+  int             *max_insuse;  /* overall maxima, keep track of ins use between columns */
+  int             *matpos;      /* array of MAT column positions in the alignment, 1..len */
+  int              len;		/* length of master - maximum number of MAT columns */
+  int              idx;		/* counter for sequences */
+  struct align_s  *currmaster;
+  struct align_s  *currali;
+  int              aseqlen;	/* length of multiple sequence alignment */
+  char           **aseqs;       /* RETURN: multiple sequence alignment   */
+  char           **ss;          /* secondary structures                  */
+  int              apos;	/* position in absolute alignment columns */
+  int              matcol;	/* position in MAT column coord arrays (matuse, matpos) */
+
+  /* First we use the model to calculate "master", which will define
+   * the columns of the multiple sequence alignment (MAT-produced) and
+   * represents how they map onto the model states. Only the stateidx field of 
+   * the align_s structures is meaningful. 
+   */
+  if (! create_master(cm, &master, &len)) return 0;
+
+  /* Next we "invert" each traceback (from seq->model tree alignments 
+   * to model->seq linear alignments) and create an array "ali" of individual
+   * alignments of the model to the sequences.
+   */
+  if ((ali = (struct align_s **) malloc (nseq * sizeof(struct align_s *))) == NULL)
+    { Die("Memory failure, line %d of %s", __LINE__, __FILE__); return 0; }
+  for (idx = 0; idx < nseq; idx++)
+    if (! Trace2ali(rseqs[idx], tr[idx], watsoncrick, &ali[idx])) return 0;
+	
+  /* Now we're ready to start counting MAT and INS use.
+   * 
+   * For MAT use, all we're doing is determining whether a given 
+   * column in the master alignment is used or not (matuse[1..len] is 
+   * 1 if yes, 0 if no)
+   * 
+   * For INS use, we are counting the maximum number of occurrences
+   * of insert emissions between each MAT column of the master. max_insuse[0..len]
+   * keeps these numbers. max_insuse[5] is the maximum number of inserted
+   * symbols between columns 5 and 6, for example. Because there is 
+   * some redundancy in the model -- different INS states may emit in 
+   * the same place -- we have to first increment a counter array, insuse,
+   * for each individual sequence.
+   */
+  if (((matuse     = (int *) calloc (len+1, sizeof(int))) == NULL) ||
+      ((insuse     = (int *) calloc (len+1, sizeof(int))) == NULL) ||
+      ((max_insuse = (int *) calloc (len+1, sizeof(int))) == NULL) )
+    { Die("Memory failure, line %d of %s", __LINE__, __FILE__); return 0; }
+
+  for (idx = 0; idx < nseq; idx++)
+    {
+      for (matcol = 0; matcol <= len; matcol++)
+	insuse[matcol] = 0;
+
+      matcol = 0;
+      currmaster = master->nxt;
+      for (currali = ali[idx]->nxt; currali != NULL; currali = currali->nxt)
+	{
+	  switch (currali->type) {
+	  case uMATP_ST:
+	  case uMATR_ST:
+	  case uMATL_ST:
+	  case uDEL_ST:
+	    matcol++; 
+	    while (currmaster->nodeidx != currali->nodeidx)
+	      {	currmaster = currmaster->nxt; matcol++; }
+	    matuse[matcol] = 1;
+	    currmaster = currmaster->nxt; 
+	    break;
+
+	  case uINSR_ST:
+	  case uINSL_ST:
+	    insuse[matcol]++;
+	    break;
+	  }
+	}
+				/* update max_insuse with new maxima, if any*/
+      for (matcol = 0; matcol <= len; matcol++)
+	if (insuse[matcol] > max_insuse[matcol])
+	  max_insuse[matcol] = insuse[matcol];
+    }
+
+				/* calculate length of mult seq alignment, and alloc */
+  aseqlen = 0;
+  for (matcol = 0; matcol <= len; matcol++)
+    {
+      if (matuse[matcol] == 1) aseqlen++;
+      aseqlen += max_insuse[matcol];
+    }
+  if ((aseqs = (char **) malloc (nseq * sizeof(char *))) == NULL ||
+      (ss    = (char **) malloc (nseq * sizeof(char *))) == NULL)
+    { Die("Memory failure, line %d of %s", __LINE__, __FILE__); return 0; }
+  for (idx = 0; idx < nseq; idx++)
+    if ((aseqs[idx] = (char *) malloc ((aseqlen+1) * sizeof(char))) == NULL ||
+	(ss[idx]    = (char *) malloc ((aseqlen+1) * sizeof(char))) == NULL)
+      { Die("Memory failure, line %d of %s", __LINE__, __FILE__); return 0; }
+
+
+  /* Now we use matuse and max_insuse to calculate an array for the 
+   * coordinates of the MAT columns in the multiple alignment.
+   */
+  if ((matpos = (int *) calloc (len+1 , sizeof(int))) == NULL)
+    { Die("Memory failure, line %d of %s", __LINE__, __FILE__); return 0; }
+  for (matcol = 1; matcol <= len; matcol++)
+    matpos[matcol] = matpos[matcol-1] + max_insuse[matcol-1] + matuse[matcol-1];
+
+  /* And finally, we're ready to actually construct the multiple sequence
+   * alignment. The resulting alignment is flushed-right with gaps.
+   */
+  for (idx = 0; idx < nseq; idx++)
+    {
+      matcol = 0;
+      apos = 0;
+      currmaster = master;
+      for (currali = ali[idx]->nxt; currali != NULL; currali = currali->nxt)
+	{
+	  switch (currali->type) {
+	  case uMATP_ST:
+	  case uMATR_ST:
+	  case uMATL_ST:
+				/* goes in a MAT column */
+	    while (currmaster->nodeidx != currali->nodeidx)
+	      {	currmaster = currmaster->nxt; matcol++; }
+	    for (; apos < matpos[matcol]; apos++)
+	      {
+		aseqs[idx][apos] = '.';
+		ss[idx][apos]    = ' ';
+	      }
+
+	    aseqs[idx][apos] = toupper((int)currali->sym);
+	    ss[idx][apos]    = currali->ss;
+
+	    apos++;
+	    currmaster = currmaster->nxt; 
+	    matcol++;
+	    break;
+
+	  case uINSR_ST:
+	  case uINSL_ST:
+	    aseqs[idx][apos] = tolower((int)currali->sym);
+	    ss[idx][apos]    = currali->ss;
+	    apos++;
+	    break;
+
+	  case uDEL_ST:
+	    aseqs[idx][apos] = '.';
+	    ss[idx][apos]    = ' ';
+	    apos++;
+	    currmaster = currmaster->nxt; 
+	    matcol++;
+	    break;
+	  }
+	}
+				/* flush right */
+      for (; apos < aseqlen; apos++)
+	{
+	  aseqs[idx][apos] = '.';
+	  ss[idx][apos]    = ' ';
+	}
+      aseqs[idx][apos] = '\0';
+      ss[idx][apos]    = '\0';
+    }
+
+  for (idx = 0; idx < nseq; idx++)
+    Free_align(ali[idx]);
+  Free_align(master);
+  free(matpos);
+  free(max_insuse);
+  free(insuse);
+  free(matuse);
+  free(ali);
+
+  if (ainfo != NULL)
+    {
+      int   leftcount;
+      int   rightcount;
+
+      ainfo->flags = 0;
+
+      strcpy(ainfo->au, "CM RNA automatic alignment");
+      ainfo->flags |= AINFO_AUTH;
+
+      ainfo->alen = aseqlen;
+      ainfo->flags |= AINFO_ALEN;
+
+				/* copy sqinfo structure array */
+      if ((ainfo->sqinfo = (SQINFO *) malloc (sizeof(SQINFO) * nseq)) == NULL)
+	Die("malloc failed");
+      for (idx = 0; idx < nseq; idx++)
+	SeqinfoCopy(&(ainfo->sqinfo[idx]), &(sqinfo[idx]));
+      
+      /* Construct a consensus structure string.
+       * Secondary structure strings, ss, are currently aligned to
+       * the aseqs. Calculate an aligned consensus structure from
+       * them. 
+       */
+      if ((ainfo->cs = (char *) malloc (sizeof(char) * (aseqlen+1))) == NULL)
+	Die("malloc failed");
+      for (apos = 0; apos < aseqlen; apos ++)
+	{
+	  leftcount = rightcount = 0;
+	  for (idx = 0; idx < nseq; idx++)
+	    if      (ss[idx][apos] == '<') rightcount++;
+	    else if (ss[idx][apos] == '>') leftcount++;
+	  
+	  if      (rightcount > nseq / 2) ainfo->cs[apos] = '<';
+	  else if (leftcount  > nseq / 2) ainfo->cs[apos] = '>';
+	  else    ainfo->cs[apos] = '.';
+	}
+      ainfo->cs[aseqlen] = '\0';
+      ainfo->flags |= AINFO_CS;
+
+      /* Construct individual secondary structure strings by de-aligning
+       * the individuals.
+       */
+      for (idx = 0; idx < nseq; idx++)
+	{
+	  MakeDealignedString(aseqs[idx], aseqlen, ss[idx], &(ainfo->sqinfo[idx].ss));
+	  ainfo->sqinfo[idx].flags |= SQINFO_SS;
+	}
+    }
+
+  Free2DArray(ss, nseq);
+  *ret_aseqs = aseqs;
+  return 1;
+}
+
+
diff --git a/align_main.c b/align_main.c
new file mode 100644
index 0000000..7372d57
--- /dev/null
+++ b/align_main.c
@@ -0,0 +1,243 @@
+/* align_main.c
+ * SRE, Wed Jun 30 09:56:15 1993
+ * 2.0 Thu Sep 30 14:23:57 1993
+ *
+ * main() for covea
+ * Multiple sequence alignment to a covariance HMM model.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <math.h>
+
+#ifdef NEED_GETOPTH
+#include <getopt.h>
+#endif
+
+#include "structs.h"
+#include "funcs.h"
+#include "squid.h" 
+#include "version.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+#define OPTIONS "aho:s:S"
+
+static char usage[]  = "\
+Usage: covea [-options] <cm file> <seqfile>\n\
+where supported options are:\n\
+     -a             : annotate all base pairs, not just canonical ones\n\
+     -h             : print short help and version info\n\
+     -o <outfile>   : write alignment to <outfile> in SELEX format\n\
+     -s <scorefile> : save individual alignment scores to <scorefile>\n\
+\n\
+Experimental options:\n\
+     -S             : use small-memory variant of alignment algorithm\n";
+
+static char banner[] = "covea: multiple sequence alignment to a covariance model";
+
+int
+main(int argc, char **argv)
+{ 
+  char **rseqs;			/* raw sequences to align       */
+  char **aseqs;                 /* multiple sequence alignment  */
+  SQINFO *sqinfo;		/* array of info structures     */
+  int    nseq;			/* number of seqs               */ 
+  char  *seqfile;               /* sequence file                */
+  int    format;		/* format of sequence file      */
+  char  *cmfile;                /* cvhmm save file to read      */
+  struct cm_s *cm;              /* model                        */
+  struct trace_s **tr;          /* array of tracebacks for seqs */
+  int    idx;			/* counter for sequences        */
+  double score;                 /* score of indiv. alignment    */
+  double tot_score;		/* sum of scores                */
+  AINFO  ainfo;                 /* optional alignment info (sec structure) */
+  struct istate_s *icm;         /* model, integer log odds form */
+  int    statenum;		/* # of states in icm           */
+  double rfreq[ALPHASIZE];	/* expected background symbol frequencies */
+
+  char  *outfile;		/* file to write alignment to       */
+  char  *scorefile;		/* file to save scores to           */
+  FILE  *ofp;			/* opened outfile                   */
+  FILE  *sfp;			/* opened scorefile                 */
+  int    do_smallmemory;	/* use small-memory viterbi variant */
+  int    watsoncrick;           /* annotate only canonical pairs    */
+
+  int          optc;
+  extern char *optarg;          /* for getopt() */
+  extern int   optind;		/* for getopt() */
+
+#ifdef MEMDEBUG
+  unsigned long histid1, histid2, orig_size, current_size;
+#endif
+
+  /*********************************************** 
+   * Parse command line
+   ***********************************************/
+
+  outfile        = NULL;
+  scorefile      = NULL;
+  do_smallmemory = FALSE;
+  watsoncrick    = TRUE;
+
+  while ((optc = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optc) {
+
+    case 'a': watsoncrick = FALSE; break;
+    case 'o': outfile   = optarg;  break;
+    case 's': scorefile = optarg;  break;
+
+    case 'S': do_smallmemory = TRUE; break;
+
+    case 'h': 
+      printf("%s\n  version %s (%s)\n%s\n", banner, RELEASE, RELEASEDATE, usage);
+      exit(0);
+    default:
+      Die("unrecognized option %c\n", optc);
+    }
+
+  if (argc - optind != 2)
+    Die("%s\n", usage);
+  
+  cmfile  = argv[argc-2];
+  seqfile = argv[argc-1];
+
+#ifdef MEMDEBUG
+  orig_size = malloc_size(&histid1);
+#endif
+
+
+  /*********************************************** 
+   * Get sequence data and model; open output ptrs
+   ***********************************************/
+
+  if (! SeqfileFormat(seqfile, &format, NULL))
+    Die("Failed to determine format of file %s\n", seqfile);
+
+  if (! ReadMultipleRseqs(seqfile, format, &rseqs, &sqinfo, &nseq))
+    Die("Failed to read sequences from file %s", seqfile);
+
+  if (! ReadCM(cmfile, &cm))
+    Die("Failed to read model from file %s", cmfile);
+
+  rfreq[0] = rfreq[1] = rfreq[2] = rfreq[3] = 0.25;
+  if (! RearrangeCM(cm, rfreq, &icm, &statenum))
+    Die("Failed to convert CM to integer log odds");
+
+  if (outfile != NULL)
+    if ((ofp = fopen(outfile, "w")) == NULL)
+      Die("Open failed for alignment output file %s", outfile);
+
+  if (scorefile != NULL)
+    if ((sfp = fopen(scorefile, "w")) == NULL)
+      Die("Open failed for score output file %s", scorefile);
+
+  /*********************************************** 
+   * Print banner
+   ***********************************************/
+
+  puts(banner);
+  printf("     release %s, %s\n\n", RELEASE, RELEASEDATE);
+  printf("---------------------------------------------------\n");
+  printf("Sequence data:          %s (%d sequences)\n", seqfile, nseq);
+  printf("Covariance model:       %s (%d nodes)\n", cmfile, cm->nodes);
+  if (outfile != NULL) 
+    printf("Alignment saved to:     %s\n", outfile);
+  if (scorefile != NULL)
+    printf("Indiv. scores saved to: %s\n", scorefile);
+  printf("---------------------------------------------------\n");
+  puts("");
+
+  /*********************************************** 
+   * Do the alignment
+   ***********************************************/
+
+  if ((tr = (struct trace_s **) malloc (nseq * sizeof(struct trace_s *))) == NULL)
+    Die("Memory failure, line %d of %s", __LINE__, __FILE__);
+
+  tot_score = 0.0;
+  for (idx = 0; idx < nseq; idx++)
+    {
+      char *prepseq;
+      prepseq = Strdup(rseqs[idx]);
+      PrepareSequence(prepseq);
+
+      if (do_smallmemory)
+	{
+	  if (! SmallViterbiAlign(icm, statenum, prepseq, &score, &tr[idx]))
+	    Die("SmallViterbiAlign() failed on sequence %d", idx);
+	}
+      else if (! ViterbiAlign(icm, statenum, prepseq, &score, &tr[idx]))
+	Die("ViterbiAlign() failed on sequence %d", idx);
+
+      tot_score += score;
+      if (scorefile != NULL)
+	fprintf(sfp, "%-8.3f   : %s\n", score, sqinfo[idx].name);
+
+      free(prepseq);
+    }
+
+  if (do_smallmemory)
+    {
+      printf("aborting... no traceback/alignment code yet for small memory variant\n");
+      Free2DArray(rseqs,    nseq);
+      FreeCM(cm);
+      exit(0);
+    }
+
+  if (! Traces2Alignment(rseqs, sqinfo, tr, nseq, cm, watsoncrick, &aseqs, &ainfo))
+    Die("Traces2Alignment() failed");
+
+  /*********************************************** 
+   * Print the alignment
+   ***********************************************/
+
+  if (outfile != NULL)
+    {
+      if (! WriteSELEX(ofp, aseqs, nseq, &ainfo, 60))
+	Die("Write failed: can't save alignment to %s", outfile);
+      fclose(ofp);
+      printf("Alignment written to %s\n", outfile);
+    }
+  else
+    {
+      if (! WriteSELEX(stdout, aseqs, nseq, &ainfo, 60))
+	Die("Write failed: can't print alignment");
+    }
+
+  if (scorefile != NULL) fclose(sfp);
+
+  printf("Overall alignment score: %.2f\n", tot_score / (double) nseq);
+
+  /*********************************************** 
+   * Garbage collect and exit
+   ***********************************************/
+
+  for (idx = 0; idx < nseq; idx++)  
+    {
+      FreeTrace(tr[idx], NULL);
+      FreeSequence(rseqs[idx],&(sqinfo[idx]));
+    }
+  free(tr);
+  free(sqinfo);
+  FreeAlignment(aseqs, nseq, &ainfo);
+  FreeCM(cm);
+  free(icm);
+
+#ifdef MEMDEBUG
+  current_size = malloc_size(&histid2);
+  
+  if (current_size != orig_size)
+    malloc_list(2, histid1, histid2);
+  else
+    fprintf(stderr, "No memory leaks, sir.\n");
+  
+#endif
+  
+
+  return 0;
+}
diff --git a/alignio.c b/alignio.c
new file mode 100644
index 0000000..578d5de
--- /dev/null
+++ b/alignio.c
@@ -0,0 +1,431 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* alignio.c
+ * SRE, Mon Jul 12 11:57:37 1993
+ * 
+ * Input/output of sequence alignments.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "squid.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+/* Function: FreeAlignment()
+ * 
+ * Purpose:  Free the space allocated to alignment, names, and optional
+ *           information. 
+ *           
+ * Args:     aseqs - sequence alignment
+ *           nseq  - number of sequences
+ *           ainfo - optional extra data. May be NULL.
+ */                  
+void
+FreeAlignment(char **aseqs, int nseq, struct aliinfo_s *ainfo)
+{
+  int i;
+
+  for (i = 0; i < nseq; i++)
+    {
+      if (ainfo->sqinfo[i].flags & SQINFO_SS)   free(ainfo->sqinfo[i].ss);
+      if (ainfo->sqinfo[i].flags & SQINFO_SA)   free(ainfo->sqinfo[i].sa);
+    }
+  if (ainfo->flags & AINFO_CS) free(ainfo->cs);
+  if (ainfo->flags & AINFO_RF) free(ainfo->rf);
+  free(ainfo->sqinfo);
+  Free2DArray(aseqs, nseq);
+}
+
+/* Function: MakeAlignedString()
+ * 
+ * Purpose:  Given a raw string of some type (secondary structure, say),
+ *           align it to a given aseq by putting gaps wherever the
+ *           aseq has gaps. 
+ *           
+ * Args:     aseq:  template for alignment
+ *           alen:  length of aseq
+ *           ss:    raw string to align to aseq
+ *           ret_s: RETURN: aligned ss
+ *           
+ * Return:   1 on success, 0 on failure (and squid_errno is set.)
+ *           ret_ss is malloc'ed here and must be free'd by caller.
+ */
+int
+MakeAlignedString(char *aseq, int alen, char *ss, char **ret_s)
+{
+  char *new; 
+  int   apos, rpos;
+
+  if ((new = (char *) malloc ((alen+1) * sizeof(char))) == NULL)
+    { squid_errno = SQERR_MEM; return 0; }
+  for (apos = rpos = 0; apos < alen; apos++)
+    if (! isgap(aseq[apos]))
+      {
+	new[apos] = ss[rpos];
+	rpos++;
+      }
+    else
+      new[apos] = '.';
+  new[apos] = '\0';
+
+  if (rpos != strlen(ss))
+    { squid_errno = SQERR_PARAMETER; free(new); return 0; }
+  *ret_s = new;
+  return 1;
+}
+
+
+/* Function: MakeDealignedString()
+ * 
+ * Purpose:  Given an aligned string of some type (either sequence or 
+ *           secondary structure, for instance), dealign it relative
+ *           to a given aseq. Return a ptr to the new string.
+ *           
+ * Args:     aseq  : template alignment 
+ *           alen  : length of aseq
+ *           ss:   : string to make dealigned copy of; same length as aseq
+ *           ret_s : RETURN: dealigned copy of ss
+ *           
+ * Return:   1 on success, 0 on failure (and squid_errno is set)
+ *           ret_s is alloc'ed here and must be freed by caller
+ */
+int
+MakeDealignedString(char *aseq, int alen, char *ss, char **ret_s)
+{
+  char *new; 
+  int   apos, rpos;
+
+  if ((new = (char *) malloc ((alen+1) * sizeof(char))) == NULL)
+    { squid_errno = SQERR_MEM; return 0; }
+  for (apos = rpos = 0; apos < alen; apos++)
+    if (! isgap(aseq[apos]))
+      {
+	new[rpos] = ss[apos];
+	rpos++;
+      }
+  new[rpos] = '\0';
+  if (alen != strlen(ss))
+    { squid_errno = SQERR_PARAMETER; free(new); return 0; }
+  *ret_s = new;
+  return 1;
+}
+
+
+
+/* Function: WritePairwiseAlignment()
+ * 
+ * Purpose:  Write a nice formatted pairwise alignment out,
+ *           with a BLAST-style middle line showing identities
+ *           as themselves (single letter) and conservative
+ *           changes as '+'.
+ *           
+ * Args:     ofp          - open fp to write to (stdout, perhaps)
+ *           aseq1, aseq2 - alignments to write (not necessarily 
+ *                          flushed right with gaps)
+ *           name1, name2 - names of sequences
+ *           spos1, spos2 - starting position in each (raw) sequence
+ *           pam          - PAM matrix; positive values define
+ *                          conservative changes
+ *           indent       - how many extra spaces to print on left
+ *           
+ * Return:  1 on success, 0 on failure
+ */
+int
+WritePairwiseAlignment(FILE *ofp,
+		       char *aseq1, char *name1, int spos1,
+		       char *aseq2, char *name2, int spos2,
+		       int **pam, int indent)
+{
+  char sname1[11];              /* shortened name               */
+  char sname2[11];             
+  int  still_going;		/* True if writing another block */
+  char buf1[61];		/* buffer for writing seq1; CPL+1*/
+  char bufmid[61];              /* buffer for writing consensus  */
+  char buf2[61];
+  char *s1, *s2;                /* ptrs into each sequence          */
+  int  count1, count2;		/* number of symbols we're writing  */
+  int  rpos1, rpos2;		/* position in raw seqs             */
+  int  rawcount1, rawcount2;	/* number of nongap symbols written */
+  int  apos;
+
+  strncpy(sname1, name1, 10);
+  sname1[10] = '\0';
+  strtok(sname1, WHITESPACE);
+
+  strncpy(sname2, name2, 10);
+  sname2[10] = '\0';
+  strtok(sname2, WHITESPACE);
+
+  s1 = aseq1; 
+  s2 = aseq2;
+  rpos1 = spos1;
+  rpos2 = spos2;
+
+  still_going = True;
+  while (still_going)
+    {
+      still_going = False;
+      
+				/* get next line's worth from both */
+      strncpy(buf1, s1, 60); buf1[60] = '\0';
+      strncpy(buf2, s2, 60); buf2[60] = '\0';
+      count1 = strlen(buf1);
+      count2 = strlen(buf2);
+
+				/* is there still more to go? */
+      if ((count1 == 60 && s1[60] != '\0') ||
+	  (count2 == 60 && s2[60] != '\0'))
+	still_going = True;
+
+				/* shift seq ptrs by a line */
+      s1 += count1;
+      s2 += count2;
+
+				/* assemble the consensus line */
+      for (apos = 0; apos < count1 && apos < count2; apos++)
+	{
+	  if (!isgap(buf1[apos]) && !isgap(buf2[apos]))
+	    {
+	      if (buf1[apos] == buf2[apos])
+		bufmid[apos] = buf1[apos];
+	      else if (pam[buf1[apos] - 'A'][buf2[apos] - 'A'] > 0)
+		bufmid[apos] = '+';
+	      else
+		bufmid[apos] = ' ';
+	    }
+	  else
+	    bufmid[apos] = ' ';
+	}
+      bufmid[apos] = '\0';
+
+      rawcount1 = 0;
+      for (apos = 0; apos < count1; apos++)
+	if (!isgap(buf1[apos])) rawcount1++;
+      
+      rawcount2 = 0;
+      for (apos = 0; apos < count2; apos++)
+	if (!isgap(buf2[apos])) rawcount2++;
+
+      (void) fprintf(ofp, "%*s%-10.10s %5d %s %5d\n", indent, "", 
+		     sname1, rpos1, buf1, rpos1 + rawcount1 -1);
+      (void) fprintf(ofp, "%*s                 %s\n", indent, "",
+		     bufmid);
+      (void) fprintf(ofp, "%*s%-10.10s %5d %s %5d\n", indent, "", 
+		     sname2, rpos2, buf2, rpos2 + rawcount2 -1);
+      (void) fprintf(ofp, "\n");
+
+      rpos1 += rawcount1;
+      rpos2 += rawcount2;
+    }
+
+  return 1;
+}
+
+
+/* Function: MingapAlignment()
+ * 
+ * Purpose:  Remove all-gap columns from a multiple sequence alignment
+ *           and its associated data. The alignment is assumed to be
+ *           flushed (all aseqs the same length).
+ */
+int
+MingapAlignment(char **aseqs, int num, struct aliinfo_s *ainfo)
+{
+  int apos;			/* position in original alignment */
+  int mpos;			/* position in new alignment      */
+  int idx;
+
+  /* We overwrite aseqs, using its allocated memory.
+   */
+  for (apos = 0, mpos = 0; aseqs[0][apos] != '\0'; apos++)
+    {
+				/* check for all-gap in column */
+      for (idx = 0; idx < num; idx++)
+	if (! isgap(aseqs[idx][apos]))
+	  break;
+      if (idx == num) continue;
+	
+				/* shift alignment and ainfo */
+      if (mpos != apos)
+	{
+	  for (idx = 0; idx < num; idx++)
+	    aseqs[idx][mpos] = aseqs[idx][apos];
+	  
+	  if (ainfo->flags & AINFO_CS) ainfo->cs[mpos] = ainfo->cs[apos];
+	  if (ainfo->flags & AINFO_RF) ainfo->rf[mpos] = ainfo->rf[apos];
+	}
+      mpos++;
+    }
+				/* null terminate everything */
+  for (idx = 0; idx < num; idx++)
+    aseqs[idx][mpos] = '\0';
+  ainfo->alen = mpos;	/* set new length */
+  if (ainfo->flags & AINFO_CS) ainfo->cs[mpos] = '\0';
+  if (ainfo->flags & AINFO_RF) ainfo->rf[mpos] = '\0';
+  return 1;
+}
+
+
+
+/* Function: RandomAlignment()
+ * 
+ * Purpose:  Create a random alignment from raw sequences.
+ * 
+ *           Ideally, we would like to sample an alignment from the
+ *           space of possible alignments according to its probability,
+ *           given a prior probability distribution for alignments.
+ *           I don't see how to describe such a distribution, let alone
+ *           sample it.
+ *           
+ *           This is a rough approximation that tries to capture some
+ *           desired properties. We assume the alignment is generated
+ *           by a simple HMM composed of match and insert states.
+ *           Given parameters (pop, pex) for the probability of opening
+ *           and extending an insertion, we can find the expected number
+ *           of match states, M, in the underlying model for each sequence.
+ *           We use an average M taken over all the sequences (this is
+ *           an approximation. The expectation of M given all the sequence
+ *           lengths is a nasty-looking summation.)
+ *           
+ *           M = len / ( 1 + pop ( 1 + 1/ (1-pex) ) ) 
+ *           
+ *           Then, we assign positions in each raw sequence onto the M match
+ *           states and M+1 insert states of this "HMM", by rolling random
+ *           numbers and inserting the (rlen-M) inserted positions randomly
+ *           into the insert slots, taking into account the relative probability
+ *           of open vs. extend.
+ *           
+ *           The resulting alignment has two desired properties: insertions
+ *           tend to follow the HMM-like exponential distribution, and
+ *           the "sparseness" of the alignment is controllable through
+ *           pop and pex.
+ *           
+ * Args:     rseqs     - raw sequences to "align", 0..nseq-1
+ *           sqinfo    - array of 0..nseq-1 info structures for the sequences
+ *           nseq      - number of sequences   
+ *           pop       - probability to open insertion (0<pop<1)
+ *           pex       - probability to extend insertion (0<pex<1)
+ *           ret_aseqs - RETURN: alignment (flushed)
+ *           ainfo     - fill in: alignment info
+ * 
+ * Return:   1 on success, 0 on failure. Sets squid_errno to indicate cause
+ *           of failure.
+ */                      
+int
+RandomAlignment(char **rseqs, SQINFO *sqinfo, int nseq, float pop, float pex,
+		char ***ret_aseqs, AINFO *ainfo)
+{
+  char **aseqs;                 /* RETURN: alignment   */
+  int    alen;			/* length of alignment */
+  int   *rlen;                  /* lengths of each raw sequence */
+  int    M;			/* length of "model"   */
+  int  **ins;                   /* insertion counts, 0..nseq-1 by 0..M */
+  int   *master_ins;            /* max insertion counts, 0..M */
+  int    apos, rpos, idx;
+  int    statepos;
+  int    count;
+  int    minlen;
+
+  /* calculate expected length of model, M
+   */
+  if ((rlen = (int *) malloc (sizeof(int) * nseq)) == NULL)
+    { squid_errno = SQERR_MEM; return 0; }
+  M = 0;
+  minlen = 9999999;
+  for (idx = 0; idx < nseq; idx++)
+    {
+      rlen[idx] = strlen(rseqs[idx]);
+      M += rlen[idx];
+      minlen = (rlen[idx] < minlen) ? rlen[idx] : minlen;
+    }
+  M = (int) ((float) M / (1.0 + pop * (1.0 + 1.0 / (1.0 - pex))));
+  M /= nseq;
+  if (M > minlen) M = minlen;
+
+  /* make arrays that count insertions in M+1 possible insert states
+   */
+  if ((ins = (int **) malloc (sizeof(int *) * nseq)) == NULL ||
+      (master_ins = (int *) malloc (sizeof(int) * (M+1))) == NULL)
+    { squid_errno = SQERR_MEM; return 0; }
+  for (idx = 0; idx < nseq; idx++)
+    {
+      if ((ins[idx] = (int *) malloc (sizeof(int) * (M+1))) == NULL)
+	{ squid_errno = SQERR_MEM; return 0; }
+      for (rpos = 0; rpos <= M; rpos++)
+	ins[idx][rpos] = 0;
+    }
+				/* normalize */
+  pop = pop / (pop+pex);
+  pex = 1.0 - pop;
+				/* make insertions for individual sequences */
+  for (idx = 0; idx < nseq; idx++)
+    {
+      apos = -1;
+      for (rpos = 0; rpos < rlen[idx]-M; rpos++)
+	{
+	  if (sre_random() < pop || apos == -1)	/* open insertion */
+	    apos = CHOOSE(M+1);        /* choose 0..M */
+	  ins[idx][apos]++;
+	}
+    }
+				/* calculate master_ins, max inserts */
+  alen = M;
+  for (apos = 0; apos <= M; apos++)
+    {
+      master_ins[apos] = 0;
+      for (idx = 0; idx < nseq; idx++)
+	if (ins[idx][apos] > master_ins[apos])
+	  master_ins[apos] = ins[idx][apos];
+      alen += master_ins[apos];
+    }
+
+
+  /* Now, construct alignment
+   */
+  if ((aseqs = (char **) malloc (sizeof (char *) * nseq)) == NULL)
+    { squid_errno = SQERR_MEM; return 0; }
+  for (idx = 0; idx < nseq; idx++)
+    if ((aseqs[idx] = (char *) malloc (sizeof(char) * (alen+1))) == NULL)
+      { squid_errno = SQERR_MEM; return 0; }
+  
+  for (idx = 0; idx < nseq; idx++)
+    {
+      apos = rpos = 0;
+
+      for (statepos = 0; statepos <= M; statepos++)
+	{
+	  for (count = 0; count < ins[idx][statepos]; count++)
+	    aseqs[idx][apos++] = rseqs[idx][rpos++];
+	  for (; count < master_ins[statepos]; count++)
+	    aseqs[idx][apos++] = ' ';
+
+	  if (statepos != M)
+	    aseqs[idx][apos++] = rseqs[idx][rpos++];
+	}
+      aseqs[idx][alen] = '\0';
+    }
+  ainfo->flags = 0;
+  ainfo->alen  = alen; ainfo->flags |= AINFO_ALEN;
+
+  if ((ainfo->sqinfo = (SQINFO *) malloc (sizeof(SQINFO) * nseq)) == NULL)
+    Die("malloc failed");
+  for (idx = 0; idx < nseq; idx++)
+    SeqinfoCopy(&(ainfo->sqinfo[idx]), &(sqinfo[idx]));
+
+  free(rlen);
+  free(master_ins);
+  Free2DArray(ins, nseq);
+  *ret_aseqs = aseqs;
+  return 1;
+}
diff --git a/build_main.c b/build_main.c
new file mode 100644
index 0000000..a3cd67d
--- /dev/null
+++ b/build_main.c
@@ -0,0 +1,374 @@
+/* build_main.c
+ * SRE, Mon Sep  6 09:18:35 1993
+ * 
+ * coveb - construct a covariance model from aligned sequences
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <math.h>
+
+#ifdef NEED_GETOPTH
+#include <getopt.h>
+#endif
+
+#include "structs.h"
+#include "funcs.h"
+#include "squid.h" 
+#include "version.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+#define OPTIONS "ap:g:ho:P:"
+static void mtr2rf(struct trace_s *mtr, int alen, char **ret_rf);
+
+static char usage[]  = "\
+Usage: coveb [-options] <cmfile output> <seqfile in>\n\
+where options are:\n\
+     -a              : annotate all pairs, not just canonical Watson-Crick\n\
+     -g <gapthresh>  : -P1 or -P2 only - columns above this fractional gap \n\
+                       occurrence are assigned to INS (default 0.7)\n\
+     -h              : print out short help info\n\
+     -o <file>       : save structure-annotated alignment to <file>\n\
+     -p <priorfile>  : use prior probability info from <priorfile>\n\
+ Construction plans:\n\
+     (default)       : Maximum likelihood (slow)\n\
+     -P1             : fast heuristic (MIXY based)\n\
+     -P2             : use specified consensus structure (CS line)\n\
+     -P3             : use both specified consensus and reference info\n";
+
+static char banner[] = "coveb: construct covariance model from aligned sequences";
+
+int
+main(int argc, char **argv)
+{ 
+  char          **aseqs;        /* training sequences           */
+  AINFO           ainfo;        /* misc. associated alignment info */
+  int             nseq;		/* number of seqs               */ 
+  char           *seqfile;      /* sequence file                */
+  int             format;	/* format of sequence file      */
+  char           *cmfile;       /* OUTPUT: saved cm             */
+  FILE           *cmfp;		/* OUTPUT: fp to cmfile         */
+  struct cm_s    *cm;           /* model                        */
+  struct prior_s *prior;        /* prior prob. distributions    */
+  int             idx;		/* index for sequences          */
+  double          secinfo;      /* secondary structure info content */
+  struct trace_s *mtr;		/* master traceback for alignment */
+  struct trace_s *tr;		/* a traceback for indiv seq      */
+  struct trmem_s *pool;         /* memory pool for traceback      */
+  char          **ss;           /* secondary structures           */
+  double          worstscore;
+  double          bestscore;
+  double          sqsum;
+  double          tot_score;
+  double          score;
+  int             leftcount, rightcount;
+  int             apos;
+
+  enum plan_e { PLAN_ML, PLAN_MIXY, PLAN_CS, PLAN_CSRF } plan;
+  char        *prifile;		/* file to get prior from                */
+  FILE        *prifp;		/* open priorfile                        */
+  char        *structfile;      /* file to save structure-annotation to  */
+  FILE        *structfp;        /* open structfile                       */
+  double       gapthresh;	/* heuristic INS assignment parameter    */
+  int          watsoncrick;     /* TRUE to annotate canonical pairs only */
+
+  int          optc;		/* for getopt() */
+  extern char *optarg;          /* for getopt() */
+  extern int   optind;		/* for getopt() */
+
+
+#ifdef MEMDEBUG			/* for Cahill's dbmalloc */
+  unsigned long histid1, histid2, orig_size, current_size;
+#endif
+
+  /*********************************************** 
+   * Parse command line
+   ***********************************************/
+
+  prifile      = NULL;          /* forces use of default prior in prior.h */
+  gapthresh    = .70;	
+  structfile   = NULL;
+  watsoncrick  = TRUE;
+  plan         = PLAN_ML;
+
+  while ((optc = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optc) {
+
+    case 'a': watsoncrick  = FALSE;        break;
+    case 'g': gapthresh    = atof(optarg); break;
+    case 'o': structfile   = optarg;       break;
+    case 'p': prifile      = optarg;       break;
+
+    case 'P':
+      switch (*optarg) {
+      case '1': plan = PLAN_MIXY; break;
+      case '2': plan = PLAN_CS;   break;
+      case '3': plan = PLAN_CSRF; break;
+      default: Die("No such construction plan.\n%s", usage);
+      }
+      break;
+
+    case 'h': 
+      printf("%s\n  version %s (%s)\n%s", banner, RELEASE, RELEASEDATE, usage);
+      exit(0);
+
+    default:
+      Die("Error: unrecognized option %c\n", optc);
+    }
+
+  if (argc - optind != 2)
+    Die("Wrong number of command line arguments.\n%s\n", usage);
+  
+  cmfile  = argv[argc-2];
+  seqfile = argv[argc-1]; 
+
+#ifdef MEMDEBUG
+  orig_size = malloc_size(&histid1);
+#endif
+
+
+  /*********************************************** 
+   * Get sequence data and prior
+   ***********************************************/
+
+  if (! SeqfileFormat(seqfile, &format, NULL))
+    Die("Can't determine format of file %s", seqfile);
+
+				/* read the training seqs from file */
+  if (! ReadAlignment(seqfile, format, &aseqs, &nseq, &ainfo))
+    Die("Failed to read aligned sequence file %s", seqfile);
+
+				/* convert seq to all upper case */
+  for (idx = 0; idx < nseq; idx++)
+    s2upper(aseqs[idx]);
+
+  if (prifile == NULL)
+    {
+      if (! DefaultPrior(&prior))
+	Die("Failed to copy prior probability distribution information");
+    }
+  else
+    {
+      if ((prifp = fopen(prifile, "r")) == NULL)
+	Die("Failed to open prior probability info file %s", prifile);
+      if (! ReadPrior(prifp, &prior))
+	Die("Failed to read prior probability info file %s", prifile);
+      fclose(prifp);
+    }
+
+  /*********************************************** 
+   * Print banner
+   ***********************************************/
+
+  puts(banner);
+  printf("     release %s, %s\n\n", RELEASE, RELEASEDATE);
+  printf("---------------------------------------------------\n");
+  printf("Training alignment:     %s (%d sequences)\n", seqfile, nseq);
+  printf("Prior distributions:    ");
+  if (prifile == NULL)
+    printf("default (plus-one, Laplace)\n");
+  else
+    printf("from file %s\n", prifile);
+  
+  printf("Construction plan:      ");
+  switch (plan) {
+  case PLAN_ML:   printf("maximum likelihood\n");                    break;
+  case PLAN_MIXY: printf("fast (MIXY-based) heuristic\n");           break;
+  case PLAN_CS:   printf("specified consensus structure\n");         break;
+  case PLAN_CSRF: printf("specified structure and match columns\n"); break;
+  }
+
+  if (plan == PLAN_MIXY || plan == PLAN_CS)
+    printf("INS if gap freq >:      %.2f\n", gapthresh);
+
+  printf("---------------------------------------------------\n");
+
+
+  /*********************************************** 
+   * Create the starting model 
+   ***********************************************/
+
+#ifdef MEMDEBUG
+  printf("Checking malloc chain ");
+  malloc_chain_check(0);
+  printf("... done.\n");
+#endif
+
+  switch (plan) {
+  case PLAN_ML: 
+    if (! Maxmodelmaker(aseqs, &ainfo, nseq, -1, prior, &secinfo, &cm, &mtr))
+	Die("Maxmodelmaker failed to create starting model from alignment");
+    break;
+
+  case PLAN_MIXY:
+    if (! Fastmodelmaker(aseqs, &ainfo, nseq, prior, gapthresh, &secinfo, &cm, &mtr))
+      Die("Fastmodelmaker failed to create starting model from alignment");
+    break;
+
+  case PLAN_CS:
+    EasyModelmaker(aseqs, &ainfo, nseq, prior, gapthresh, FALSE, &cm, &mtr);
+    break;
+
+  case PLAN_CSRF:
+    EasyModelmaker(aseqs, &ainfo, nseq, prior, gapthresh, TRUE, &cm, &mtr);
+    break;
+    
+  default: Die("That must be a secret plan, pal, because I've never heard of it.");
+  }
+
+  if (! VerifyCM(cm))
+    Die("Bad covariance model. Bad, bad covariance model...\n");
+
+
+  /* Use master traceback to reconstruct individual traces.
+   * Use individual traces to a) find individual secondary structures
+   *                          b) calculate avg, high, low scores
+   * Some duplication of effort here, because the modelmakers
+   * already had to construct tracebacks and threw them away.
+   */                         
+  if ((ss = (char **) malloc (sizeof(char *) * nseq)) == NULL)
+    Die("malloc failed");
+  worstscore = HUGE_VAL;
+  bestscore  = -HUGE_VAL;
+  tot_score   = sqsum = 0.0;
+  for (idx = 0; idx < nseq; idx++)
+    {
+      Transmogrify(mtr, aseqs[idx], &tr, &pool);
+
+      score = TraceScore(cm, aseqs[idx], tr);
+      tot_score += score;
+      sqsum     += score * score;
+      if (score > bestscore)  bestscore  = score;
+      if (score < worstscore) worstscore = score;
+
+      if (ainfo.sqinfo[idx].flags & SQINFO_SS) free(ainfo.sqinfo[idx].ss); 
+      Trace2KHS(tr, aseqs[idx], ainfo.alen, watsoncrick, &(ss[idx]));
+      MakeDealignedString(aseqs[idx], ainfo.alen, ss[idx], &(ainfo.sqinfo[idx].ss));
+      ainfo.sqinfo[idx].flags |= SQINFO_SS;
+
+      FreeTrace(tr, pool);
+    }
+
+  /* Construct a consensus structure string and reference
+   * line as annotation.
+   * Secondary structure strings, ss, are currently aligned to
+   * the aseqs. Calculate an aligned consensus structure from
+   * them. 
+   */
+  if (plan == PLAN_MIXY || plan == PLAN_ML)
+    {
+      if (ainfo.flags & AINFO_CS) free(ainfo.cs);
+      if ((ainfo.cs = (char *) malloc (sizeof(char) * (ainfo.alen+1))) == NULL)
+	Die("malloc failed");
+      for (apos = 0; apos < ainfo.alen; apos++)
+	{
+	  leftcount = rightcount = 0;
+	  for (idx = 0; idx < nseq; idx++)
+	    if      (ss[idx][apos] == '<') rightcount++;
+	    else if (ss[idx][apos] == '>') leftcount++;
+	  
+	  if      (rightcount >= nseq / 2) ainfo.cs[apos] = '<';
+	  else if (leftcount  >= nseq / 2) ainfo.cs[apos] = '>';
+	  else    ainfo.cs[apos] = '.';
+	}
+      ainfo.cs[ainfo.alen] = '\0';
+      ainfo.flags |= AINFO_CS;
+    }
+
+  /* Construct a reference line to indicate which columns were assigned
+   * as match states.
+   */
+  if (plan != PLAN_CSRF)
+    {
+      if (ainfo.flags & AINFO_RF) free(ainfo.rf);
+      mtr2rf(mtr, ainfo.alen, &(ainfo.rf));
+      ainfo.flags |= AINFO_RF;
+    }
+
+  if ((cmfp = fopen(cmfile, "w")) == NULL)
+    Die("Failed to open %s for writing", cmfile);
+  if (! WriteCM(cmfp, cm))
+    Die("Failed to save the model to %s", cmfile); 
+  fclose(cmfp);
+
+  if (structfile != NULL)
+    {
+      if ((structfp = fopen(structfile, "w")) == NULL)
+	Die("Failed to open structure annotation alignment file %s", structfile);
+      if (! WriteSELEX(structfp, aseqs, nseq, &ainfo, 60))
+	Die("Failed to write annotated alignment to %s", structfile);
+      fclose(structfp);
+      printf("Structure annotated alignment file written to %s\n", structfile);
+    }
+
+  printf("Constructed a covariance model (%d nodes)\n", cm->nodes);
+  printf("Average score:                %10.2f bits\n", 
+	 tot_score / (double) nseq);
+  printf("Minimum score:                %10.2f bits\n", worstscore);
+  printf("Maximum score:                %10.2f bits\n", bestscore);
+  printf("Std. deviation:               %10.2f bits\n", 
+	 sqrt((sqsum - (tot_score * tot_score / (double) nseq)) 
+	      / ((double) nseq - 1.0)));
+
+  printf("\nCM written to file %s\n", cmfile);
+
+  FreeCM(cm);
+  FreeTrace(mtr, NULL);
+  free(prior);
+  FreeAlignment(aseqs, nseq, &ainfo);
+  Free2DArray(ss, nseq);
+
+#ifdef MEMDEBUG
+  current_size = malloc_size(&histid2);
+  
+  if (current_size != orig_size)
+    malloc_list(2, histid1, histid2);
+  else
+    fprintf(stderr, "No memory leaks, sir.\n");
+#endif
+
+  return 0;
+}
+
+
+/* Function: mtr2rf()
+ * 
+ * Purpose:  Make an #=RF line from a master traceback, to indicate
+ *           which columns were used as match columns in building
+ *           a model. Keep in mind that master traces use node type
+ *           indices, rather than state type indices like traces
+ *           are supposed to.
+ */
+static void
+mtr2rf(struct trace_s *mtr, int alen, char **ret_rf)
+{
+  struct tracestack_s *dolist;
+  struct trace_s      *curr;
+  char *rf;
+
+  rf = (char *) MallocOrDie(sizeof(char) * (alen+1));
+  memset(rf, ' ', alen);
+  rf[alen] = '\0';
+
+  dolist = InitTracestack();
+  PushTracestack(dolist, mtr->nxtl);
+  while ((curr = PopTracestack(dolist)) != NULL)
+    {
+      if ( curr->type == MATP_NODE )
+	rf[curr->emitl] = rf[curr->emitr] = '.';
+      else if ( curr->type == MATL_NODE )
+	rf[curr->emitl] = '.';
+      else if ( curr->type == MATR_NODE )
+	rf[curr->emitr] = '.';
+
+      if (curr->nxtr) PushTracestack(dolist, curr->nxtr);
+      if (curr->nxtl) PushTracestack(dolist, curr->nxtl);
+    }
+  FreeTracestack(dolist);
+  *ret_rf = rf;
+}
diff --git a/checkversion.pl b/checkversion.pl
new file mode 100644
index 0000000..e533f19
--- /dev/null
+++ b/checkversion.pl
@@ -0,0 +1,13 @@
+
+# Check for correct PERL version (>5.0)
+
+if ($] < 5.0) {
+    print STDERR "\nFATAL:  You have specified Perl version ",
+    $]+0.00," in the Makefile,\n        you must use version 5.0 or greater.\n\n",
+    "Install Perl 5.0 or greater and/or reset the \$PERLDIR variable in\n",
+    "'Makefile' to the directory in which Perl 5.0 or greater is installed.\n\n";
+    exit (1);
+}
+
+exit (0);
+
diff --git a/dbmalloc.h b/dbmalloc.h
new file mode 100644
index 0000000..e9525cd
--- /dev/null
+++ b/dbmalloc.h
@@ -0,0 +1,543 @@
+/*
+ * (c) Copyright 1990, 1991, 1992 Conor P. Cahill (uunet!virtech!cpcahil).  
+ * You may copy, distribute, and use this software as long as this
+ * copyright statement is not removed.
+ */
+/*
+ * $Id: malloc.h.org,v 1.31 1992/06/22 23:40:10 cpcahil Exp $
+ */
+
+#ifndef _DEBUG_MALLOC_INC
+#define _DEBUG_MALLOC_INC 1
+
+#ifdef    force_cproto_to_use_defines
+
+/*
+ * these are just here because cproto used the c-preprocessor to generate
+ * the prototypes and if they were left as #defines the prototypes.h file
+ * would have the contents of the define, not the define itself
+ */
+
+typedef char		DATATYPE;
+typedef int		SIZETYPE;
+typedef void		VOIDTYPE;
+typedef char		MEMDATA;
+typedef int		MEMSIZE;
+typedef int		STRSIZE;
+
+#ifdef WRTSIZE
+#undef WRTSIZE
+#endif
+typedef unsigned int	WRTSIZE;
+
+/*
+ * for now, define CONST as const.  A sed script in the makefile will change 
+ * this back to CONST in the prototypes.h file.
+ */
+#define CONST const
+
+#else  /* force_cproto_to_use_defines */
+
+/*
+ * The following entries are automatically added by the Configure script.
+ * If they are not correct for your system, then Configure is not handling
+ * your system correctly.  Please report this to the author along with
+ * a description of your system and the correct values
+ */
+
+
+
+#if       __GNUC__ && __STDC__ && __cplusplus
+
+#define VOIDTYPE void
+#define CONST const
+#define DATATYPE void
+#define SIZETYPE size_t
+#define MEMDATA void
+#define MEMSIZE size_t
+#define MEMCMPTYPE unsigned char
+#define STRSIZE size_t
+#define STRCMPTYPE unsigned char
+
+#else  /* __GNUC__ && __STDC__ && __cplusplus */
+
+#define VOIDTYPE void
+#define CONST const
+#define DATATYPE void
+#define SIZETYPE size_t
+#define MEMDATA void
+#define MEMSIZE int
+#define MEMCMPTYPE unsigned char
+#define STRSIZE size_t
+#define STRCMPTYPE unsigned char
+
+#endif /* __GNUC__ && __STDC__ && __cplusplus */
+
+/*
+ * END of automatic configuration stuff.
+ */
+
+/*
+ * if DATATYPE is not defined, then the configure script must have had a 
+ * problem, or was used with a different compiler.  So we have to stop
+ * here and get the user to fix the problem.
+ */
+#ifndef   DATATYPE
+	/*
+	 * the following string should cause a comilation error and get the
+	 * user to look at this stuff to find out what is wrong.
+	 */
+	"This file is not configured correctly for this system. Run configure
+	 and check its results" 
+	char * malloc(); /* DON'T REMOVE THIS LINE if you get a compiler error
+			    here it is because the malloc.h file is not 
+			    configured correctly  See the readme/problems
+			    files for more info */
+
+#endif /* DATATYPE */
+
+#endif /* force_cproto_to_use_defines */
+
+#define VOIDCAST (VOIDTYPE)
+
+/*
+ * since we redefine much of the stuff that is #defined in string.h and 
+ * memory.h, we should do what we can to make sure that they don't get 
+ * included after us.  This is typically accomplished by a special symbol
+ * (similar to _DEBUG_MALLOC_INC defined above) that is #defined when the
+ * file is included.  Since we don't want the file to be included we will
+ * #define the symbol ourselves.  These will typically have to change from
+ * one system to another.  I have put in several standard mechanisms used to
+ * support this mechanism, so hopefully you won't have to modify this file.
+ */
+#ifndef _H_STRING
+#define _H_STRING		1
+#endif 
+#ifndef __STRING_H
+#define __STRING_H		1
+#endif 
+#ifndef _STRING_H_
+#define _STRING_H_		1
+#endif 
+#ifndef _STRING_H 
+#define _STRING_H 		1
+#endif 
+#ifndef _STRING_INCLUDED
+#define _STRING_INCLUDED	1
+#endif
+#ifndef __string_h
+#define __string_h		1
+#endif
+#ifndef _string_h
+#define _string_h		1
+#endif
+#ifndef _strings_h
+#define _strings_h		1
+#endif
+#ifndef __strings_h
+#define __strings_h		1
+#endif
+#ifndef _H_MEMORY
+#define _H_MEMORY		1
+#endif
+#ifndef __MEMORY_H
+#define __MEMORY_H		1
+#endif
+#ifndef _MEMORY_H_
+#define _MEMORY_H_		1
+#endif
+#ifndef _MEMORY_H
+#define _MEMORY_H		1
+#endif
+#ifndef _MEMORY_INCLUDED
+#define _MEMORY_INCLUDED	1
+#endif
+#ifndef __memory_h
+#define __memory_h		1
+#endif
+#ifndef _memory_h
+#define _memory_h		1
+#endif
+
+/*
+ * Malloc warning/fatal error handler defines...
+ */
+#define M_HANDLE_DUMP	0x80  /* 128 */
+#define M_HANDLE_IGNORE	0
+#define M_HANDLE_ABORT	1
+#define M_HANDLE_EXIT	2
+#define M_HANDLE_CORE	3
+	
+/*
+ * Mallopt commands and defaults
+ *
+ * the first four settings are ignored by the debugging mallopt, but are
+ * here to maintain compatibility with the system malloc.h.
+ */
+#define M_MXFAST	1		/* ignored by mallopt		*/
+#define M_NLBLKS	2		/* ignored by mallopt		*/
+#define M_GRAIN		3		/* ignored by mallopt		*/
+#define M_KEEP		4		/* ignored by mallopt		*/
+#define MALLOC_WARN	100		/* set malloc warning handling	*/
+#define MALLOC_FATAL	101		/* set malloc fatal handling	*/
+#define MALLOC_ERRFILE	102		/* specify malloc error file	*/
+#define MALLOC_CKCHAIN	103		/* turn on chain checking	*/
+#define MALLOC_FILLAREA	104		/* turn off area filling	*/
+#define MALLOC_LOWFRAG	105		/* use best fit allocation mech	*/
+#define MALLOC_CKDATA	106		/* turn off/on data checking	*/
+#define MALLOC_REUSE	107		/* turn off/on freed seg reuse	*/
+#define MALLOC_SHOWLINKS 108		/* turn off/on adjacent link disp */
+
+union malloptarg
+{
+	int	  i;
+	char	* str;
+};
+
+/*
+ * Malloc warning/fatal error codes
+ */
+
+#define M_CODE_CHAIN_BROKE	1	/* malloc chain is broken	*/
+#define M_CODE_NO_END		2	/* chain end != endptr		*/
+#define M_CODE_BAD_PTR		3	/* pointer not in malloc area	*/
+#define M_CODE_BAD_MAGIC	4	/* bad magic number in header	*/
+#define M_CODE_BAD_CONNECT	5	/* chain poingers corrupt	*/
+#define M_CODE_OVERRUN		6	/* data overrun in malloc seg	*/
+#define M_CODE_REUSE		7	/* reuse of freed area		*/
+#define M_CODE_NOT_INUSE	8	/* pointer is not in use	*/
+#define M_CODE_NOMORE_MEM	9	/* no more memory available	*/
+#define M_CODE_OUTOF_BOUNDS	10	/* gone beyound bounds 		*/
+#define M_CODE_FREELIST_BAD	11	/* inuse segment on freelist	*/
+#define M_CODE_NOBOUND		12	/* can't calculate boundry	*/
+#define M_CODE_STK_NOCUR	13	/* no current element on stack	*/
+#define M_CODE_STK_BADFUNC	14	/* current func doesn't match	*/
+#define M_CODE_UNDERRUN		15	/* data underrun in malloc seg	*/
+
+#ifndef __STDCARGS
+#if  __STDC__ || __cplusplus
+#define __STDCARGS(a) a
+#else
+#define __STDCARGS(a) ()
+#endif
+#endif
+
+#if __cplusplus
+extern "C" {
+#endif
+
+VOIDTYPE	  malloc_dump __STDCARGS((int));
+VOIDTYPE	  malloc_list __STDCARGS((int,unsigned long, unsigned long));
+int		  mallopt __STDCARGS((int, union malloptarg));
+DATATYPE	* debug_calloc __STDCARGS((CONST char *,int,SIZETYPE,SIZETYPE));
+VOIDTYPE	  debug_cfree __STDCARGS((CONST char *, int, DATATYPE *));
+VOIDTYPE	  debug_free __STDCARGS((CONST char *, int, DATATYPE *));
+DATATYPE	* debug_malloc __STDCARGS((CONST char *,int, SIZETYPE));
+DATATYPE	* debug_realloc __STDCARGS((CONST char *,int,
+					    DATATYPE *,SIZETYPE));
+unsigned long	  DBmalloc_size __STDCARGS((CONST char *,int,unsigned long *));
+int		  DBmalloc_chain_check __STDCARGS((CONST char *,int,int));
+
+void		  StackEnter __STDCARGS((CONST char *, CONST char *, int));
+void		  StackLeave __STDCARGS((CONST char *, CONST char *, int));
+
+/*
+ * X allocation related prototypes
+ */
+char		* debug_XtMalloc __STDCARGS((CONST char *, int, unsigned int));
+char		* debug_XtRealloc __STDCARGS((CONST char *, int,
+						char *, unsigned int));
+char		* debug_XtCalloc __STDCARGS((CONST char *, int,
+						unsigned int, unsigned int));
+void		  debug_XtFree __STDCARGS((CONST char *, int, char *));
+void		* debug_XtBCopy  __STDCARGS((CONST char *, int, char *,
+						char *, int));
+extern void	(*XtAllocErrorHandler) __STDCARGS((CONST char *));
+
+/*
+ * memory(3) related prototypes
+ */
+MEMDATA  	* DBmemccpy __STDCARGS((CONST char *file, int line,
+					MEMDATA  *ptr1, CONST MEMDATA  *ptr2,
+					int ch, MEMSIZE len));
+MEMDATA  	* DBmemchr __STDCARGS((CONST char *file, int line,
+					CONST MEMDATA  *ptr1, int ch,
+					MEMSIZE len));
+MEMDATA 	* DBmemmove __STDCARGS((CONST char *file, int line,
+					MEMDATA  *ptr1, CONST MEMDATA  *ptr2,
+					MEMSIZE len));
+MEMDATA 	* DBmemcpy __STDCARGS((CONST char *file, int line,
+					MEMDATA  *ptr1, CONST MEMDATA  *ptr2,
+					MEMSIZE len));
+int		  DBmemcmp __STDCARGS((CONST char *file, int line,
+					CONST MEMDATA  *ptr1,
+					CONST MEMDATA  *ptr2, MEMSIZE len));
+MEMDATA 	* DBmemset __STDCARGS((CONST char *file, int line,
+					MEMDATA  *ptr1, int ch, MEMSIZE len));
+MEMDATA 	* DBbcopy __STDCARGS((CONST char *file, int line,
+					CONST MEMDATA  *ptr2, MEMDATA  *ptr1,
+					MEMSIZE len));
+MEMDATA  	* DBbzero __STDCARGS((CONST char *file, int line,
+					MEMDATA  *ptr1, MEMSIZE len));
+int		  DBbcmp __STDCARGS((CONST char *file, int line,
+					CONST MEMDATA  *ptr2,
+					CONST MEMDATA  *ptr1, MEMSIZE len));
+
+/*
+ * string(3) related prototypes
+ */
+char		* DBstrcat __STDCARGS((CONST char *file,int line, char *str1,
+					CONST char *str2));
+char		* DBstrdup __STDCARGS((CONST char *file, int line,
+					CONST char *str1));
+char		* DBstrncat __STDCARGS((CONST char *file, int line, char *str1,
+					CONST char *str2, STRSIZE len));
+int		  DBstrcmp __STDCARGS((CONST char *file, int line,
+					CONST char *str1, CONST char *str2));
+int		  DBstrncmp __STDCARGS((CONST char *file, int line,
+					CONST char *str1, CONST char *str2,
+					STRSIZE len));
+int		  DBstricmp __STDCARGS((CONST char *file, int line,
+					CONST char *str1, CONST char *str2));
+int		  DBstrincmp __STDCARGS((CONST char *file, int line,
+					CONST char *str1, CONST char *str2,
+					STRSIZE len));
+char		* DBstrcpy __STDCARGS((CONST char *file, int line, char *str1,
+					CONST char *str2));
+char		* DBstrncpy __STDCARGS((CONST char *file, int line, char *str1,
+					CONST char *str2, STRSIZE len));
+STRSIZE		  DBstrlen __STDCARGS((CONST char *file, int line,
+					CONST char *str1));
+char		* DBstrchr __STDCARGS((CONST char *file, int line,
+					CONST char *str1, int c));
+char		* DBstrrchr __STDCARGS((CONST char *file, int line,
+					CONST char *str1, int c));
+char		* DBindex __STDCARGS((CONST char *file, int line,
+					CONST char *str1, int c));
+char		* DBrindex __STDCARGS((CONST char *file, int line,
+					CONST char *str1, int c));
+char		* DBstrpbrk __STDCARGS((CONST char *file, int line,
+					CONST char *str1, CONST char *str2));
+STRSIZE		  DBstrspn __STDCARGS((CONST char *file, int line,
+					CONST char *str1, CONST char *str2));
+STRSIZE		  DBstrcspn __STDCARGS((CONST char *file, int line,
+					CONST char *str1, CONST char *str2));
+char		* DBstrstr __STDCARGS((CONST char *file, int line,
+					CONST char *str1, CONST char *str2));
+char		* DBstrtok __STDCARGS((CONST char *file, int line, char *str1,
+					CONST char *str2));
+
+#if __cplusplus
+};
+#endif
+
+/*
+ * Macro which enables logging of the file and line number for each allocation
+ * so that it is easier to determine where the offending malloc comes from.
+ *
+ * NOTE that only code re-compiled with this include file will have this 
+ * additional info.  Calls from libraries that have not been recompiled will
+ * just have a null string for this info.
+ */
+#ifndef IN_MALLOC_CODE
+
+/*
+ * allocation functions
+ */
+#define malloc(len)		debug_malloc( __FILE__,__LINE__, (len))
+#define realloc(ptr,len)	debug_realloc(__FILE__,__LINE__, (ptr), (len))
+#define calloc(numelem,size)	debug_calloc(__FILE__,__LINE__,(numelem),(size))
+#define cfree(ptr)		debug_cfree(__FILE__,__LINE__,(ptr))
+#define free(ptr)		debug_free(__FILE__,__LINE__,(ptr))
+#define malloc_size(histptr)	DBmalloc_size(__FILE__,__LINE__,(histptr))
+#define malloc_chain_check(todo) DBmalloc_chain_check(__FILE__,__LINE__,(todo))
+
+/* 
+ * X allocation routines
+ */
+#define XtCalloc(_num,_size)	debug_XtCalloc(__FILE__,__LINE__,_num,_size)
+#define XtMalloc(_size)		debug_XtMalloc(__FILE__,__LINE__,_size)
+#define XtRealloc(_ptr,_size)	debug_XtRealloc(__FILE__,__LINE__,_ptr,_size)
+#define XtFree(_ptr)		debug_XtFree(__FILE__,__LINE__,_ptr)
+#define _XtBCopy(ptr1,ptr2,len) debug_XtBcopy(__FILE__,__LINE__,ptr1,ptr2,len)
+
+/*
+ * Other allocation functions
+ */
+#define _malloc(_size)		debug_malloc(__FILE__,__LINE__,_size)
+#define _realloc(_ptr,_size)	debug_realloc(__FILE__,__LINE__,_ptr,_size)
+#define _calloc(_num,_size)	debug_calloc(__FILE__,__LINE__,_num,_size)
+#define _free(_ptr)		debug_free(__FILE__,__LINE__,_ptr)
+
+/*
+ * memory(3) related functions
+ */
+#ifdef bcopy
+#undef bcopy
+#endif
+#ifdef bzero
+#undef bzero
+#endif
+#ifdef bcmp
+#undef bcmp
+#endif
+#define memccpy(ptr1,ptr2,ch,len) DBmemccpy(__FILE__,__LINE__,ptr1,ptr2,ch,len)
+#define memchr(ptr1,ch,len)	  DBmemchr(__FILE__,__LINE__,ptr1,ch,len)
+#define memmove(ptr1,ptr2,len)    DBmemmove(__FILE__,__LINE__,ptr1, ptr2, len)
+#define memcpy(ptr1,ptr2,len)     DBmemcpy(__FILE__, __LINE__, ptr1, ptr2, len)
+#define memcmp(ptr1,ptr2,len)     DBmemcmp(__FILE__,__LINE__,ptr1, ptr2, len)
+#define memset(ptr1,ch,len)       DBmemset(__FILE__,__LINE__,ptr1, ch, len)
+#define bcopy(ptr2,ptr1,len)      DBbcopy(__FILE__,__LINE__,ptr2,ptr1,len)
+#define bzero(ptr1,len)           DBbzero(__FILE__,__LINE__,ptr1,len)
+#define bcmp(ptr2,ptr1,len)       DBbcmp(__FILE__, __LINE__, ptr2, ptr1, len)
+
+#define _bcopy(ptr2,ptr1,len)     DBbcopy(__FILE__,__LINE__,ptr2,ptr1,len)
+#define _bzero(ptr1,len)          DBbzero(__FILE__,__LINE__,ptr1,len)
+#define _bcmp(ptr2,ptr1,len)      DBbcmp(__FILE__,__LINE__,ptr2,ptr1,len)
+#define __dg_bcopy(ptr2,ptr1,len) DBbcopy(__FILE__,__LINE__,ptr2,ptr1,len)
+#define __dg_bzero(ptr1,len)      DBbzero(__FILE__,__LINE__,ptr1,len)
+#define __dg_bcmp(ptr2,ptr1,len)  DBbcmp(__FILE__,__LINE__,ptr2,ptr1,len)
+
+/*
+ * string(3) related functions
+ */
+#ifdef index
+#undef index
+#endif
+#ifdef rindex
+#undef rindex
+#endif
+#ifdef strcpy
+#undef strcpy
+#endif
+#ifdef strcpy
+#undef strcmp
+#endif
+#define index(str1,c)		  DBindex(__FILE__, __LINE__, str1, c)
+#define rindex(str1,c)		  DBrindex(__FILE__, __LINE__, str1, c)
+#define strcat(str1,str2)	  DBstrcat(__FILE__,__LINE__,str1,str2)
+#define strchr(str1,c)		  DBstrchr(__FILE__, __LINE__, str1,c)
+#define strcmp(str1,str2)	  DBstrcmp(__FILE__, __LINE__, str1, str2)
+#define strcpy(str1,str2)	  DBstrcpy(__FILE__, __LINE__, str1, str2)
+#define strcspn(str1,str2)	  DBstrcspn(__FILE__, __LINE__, str1,str2)
+#define strdup(str1)		  DBstrdup(__FILE__, __LINE__, str1)
+#define stricmp(str1,str2)	  DBstricmp(__FILE__, __LINE__, str1, str2)
+#define strincmp(str1,str2,len)	  DBstrincmp(__FILE__, __LINE__, str1,str2,len)
+#define strlen(str1)		  DBstrlen(__FILE__, __LINE__, str1)
+#define strncat(str1,str2,len)	  DBstrncat(__FILE__, __LINE__, str1,str2,len)
+#define strncpy(str1,str2,len)	  DBstrncpy(__FILE__,__LINE__,str1,str2,len)
+#define strncmp(str1,str2,len)	  DBstrncmp(__FILE__, __LINE__, str1,str2,len)
+#define strpbrk(str1,str2)	  DBstrpbrk(__FILE__, __LINE__, str1,str2)
+#define strrchr(str1,c)		  DBstrrchr(__FILE__,__LINE__,str1,c)
+#define strspn(str1,str2)	  DBstrspn(__FILE__, __LINE__, str1,str2)
+#define strstr(str1,str2)	  DBstrstr(__FILE__, __LINE__, str1, str2)
+#define strtok(str1,str2)	  DBstrtok(__FILE__, __LINE__, str1, str2)
+
+/*
+ * malloc stack related functions
+ */
+#define malloc_enter(func)	  StackEnter(func,__FILE__,__LINE__)
+#define malloc_leave(func)	  StackLeave(func,__FILE__,__LINE__)
+
+#endif /* IN_MALLOC_CODE */
+
+#endif /* _DEBUG_MALLOC_INC */
+
+/*
+ * $Log: malloc.h.org,v $
+ * Revision 1.31  1992/06/22  23:40:10  cpcahil
+ * many fixes for working on small int systems
+ *
+ * Revision 1.30  1992/05/06  04:53:29  cpcahil
+ * performance enhancments
+ *
+ * Revision 1.29  1992/04/22  18:17:32  cpcahil
+ * added support for Xt Alloc functions, linted code
+ *
+ * Revision 1.28  1992/04/13  19:08:18  cpcahil
+ * fixed case insensitive stuff
+ *
+ * Revision 1.27  1992/04/13  18:41:18  cpcahil
+ * added case insensitive string comparison routines
+ *
+ * Revision 1.26  1992/04/13  17:26:25  cpcahil
+ * minor portability changes
+ *
+ * Revision 1.25  1992/04/13  14:13:18  cpcahil
+ * cleanup of log message.
+ *
+ * Revision 1.24  1992/04/13  03:09:14  cpcahil
+ * lots of changes.
+ *
+ * Revision 1.23  1992/03/01  12:42:38  cpcahil
+ * added support for managing freed areas and fixed doublword bndr problems
+ *
+ * Revision 1.22  1992/02/07  15:51:07  cpcahil
+ * mods for sun4
+ *
+ * Revision 1.21  1992/01/29  01:35:32  cpcahil
+ * added sgi definition.
+ *
+ * Revision 1.20  1992/01/28  21:42:25  cpcahil
+ * changes for the ibmRS6000
+ *
+ * Revision 1.19  1992/01/28  18:05:37  cpcahil
+ * misc fixes for patch 7
+ *
+ * Revision 1.18  1992/01/22  16:21:35  cpcahil
+ * added code to prevent inclusions of string.h and memory.h after malloc.h
+ * was included.
+ *
+ * Revision 1.17  1992/01/10  17:26:46  cpcahil
+ * fixed prototypes use of void.
+ *
+ * Revision 1.16  1992/01/10  16:53:39  cpcahil
+ * added more info on sizetype and datatype. added support for overriding
+ * use of void type.
+ *
+ * Revision 1.15  1992/01/09  17:19:11  cpcahil
+ * put the close brace in the correct position.
+ *
+ * Revision 1.14  1992/01/09  17:12:36  cpcahil
+ * added code to support inclusion in C++ modules
+ *
+ * Revision 1.13  1991/12/31  21:31:26  cpcahil
+ * changes for patch 6.  See CHANGES file for more info
+ *
+ * Revision 1.12  1991/12/26  22:31:29  cpcahil
+ * added check to make sure file is not included twice.
+ *
+ * Revision 1.11  1991/12/06  17:58:46  cpcahil
+ * added cfree() for compatibility with some wierd systems
+ *
+ * Revision 1.10  91/12/06  08:54:18  cpcahil
+ * cleanup of __STDC__ usage and addition of CHANGES file
+ * 
+ * Revision 1.9  91/12/04  09:23:40  cpcahil
+ * several performance enhancements including addition of free list
+ * 
+ * Revision 1.8  91/12/02  19:10:11  cpcahil
+ * changes for patch release 5
+ * 
+ * Revision 1.7  91/11/25  14:42:00  cpcahil
+ * Final changes in preparation for patch 4 release
+ * 
+ * Revision 1.6  91/11/24  00:49:28  cpcahil
+ * first cut at patch 4
+ * 
+ * Revision 1.5  91/11/20  11:54:10  cpcahil
+ * interim checkin
+ * 
+ * Revision 1.4  90/08/29  22:23:38  cpcahil
+ * fixed mallopt to use a union as an argument.
+ * 
+ * Revision 1.3  90/05/11  11:04:10  cpcahil
+ * took out some extraneous lines
+ * 
+ * Revision 1.2  90/05/11  00:13:09  cpcahil
+ * added copyright statment
+ * 
+ * Revision 1.1  90/02/23  07:09:03  cpcahil
+ * Initial revision
+ * 
+ */
diff --git a/dbviterbi.c b/dbviterbi.c
new file mode 100644
index 0000000..3d07872
--- /dev/null
+++ b/dbviterbi.c
@@ -0,0 +1,473 @@
+/* dbviterbi.c
+ * Mon Jan 31 10:06:14 1994
+ * 
+ * Search variant of the alignment algorithm. Derived from viterbi.c
+ *
+ * To optimize memory access patterns, the score storage is implemented
+ * as a two-matrix version. amx is the
+ * main storage. bmx is a smaller auxiliary matrix with a different
+ * access pattern, holding scores of BEGIN state alignments; it
+ * is used when calculating BIFURC scores.
+ *
+ * amx is [j = 0..1] [diff = 0..j] [y = 0..statenum]
+ *  diff == 0 is for off-diagonal boundary conditions (this is why diff is shifted +1)
+ *  diff == 1 is for the diagonal, i==j
+ *  We only need to keep two j rows in memory (current and previous).
+ *
+ * bmx is [y = 0..statenum] [j = 0..N] [ diff = 0..j]
+ *   a j,diff matrix exists only where y is a BEGIN state
+ *
+ * The 2.0 implementation allows variable storage per node rather
+ * than storing and calculating a fixed max number of states per node, 
+ * which should save up to 2x in both time and space.
+ *
+ * An optimization is made which requires END states to be explicitly
+ * added, so statenum (the number of states in the integer model)
+ * is *inclusive* of ENDs.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "squid.h"
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+static int  allocate_mx(struct istate_s *icm, int statenum, int window,	
+			int ****ret_amx, int ****ret_bmx);
+static int  init_mx    (struct istate_s *icm, int statenum, int N, 
+			int ***amx, int ***bmx);
+static int  recurse_mx (struct istate_s *icm, int statenum, char *seq, int seqlen, 
+			int window, int ***amx, int ***bmx, int ithresh, 
+			int (*gotone_f)(int, int, double));
+static void free_mx    (int ***amx, int ***bmx, int statenum, int window);
+
+
+/* Function: ViterbiScan()
+ * 
+ * Purpose:  Scanning version of the Viterbi alignment algorithm,
+ *           for finding matches in a long sequence. 
+ *
+ * Args:     cm        - the model to align sequence to
+ *           seq       - sequence to align model to
+ *           window    - scanning window size (nucleotides)
+ *           thresh    - scores above this are reported through gotone_f()
+ *           gotone_f  - function which gets told about a match
+ *                       
+ * Return:   1 on success, 0 on failure.                      
+ */       
+int
+ViterbiScan(struct istate_s *icm, int statenum, char *seq, int window,
+	    double thresh, int (*gotone_f)(int, int, double))
+{
+  int   ***amx;			/* the main score matrix     */
+  int   ***bmx;                 /* the BEGIN score matrix    */
+  int      N;			/* length of sequence        */
+  int      ithresh;             /* thresh, converted and scaled to int */
+
+  N = strlen(seq);
+  seq--;			/* convert to 1..N. Ugh! */
+  ithresh = (int) (thresh * INTPRECISION);
+
+  if (! allocate_mx(icm, statenum, window, &amx, &bmx)) return 0;
+#ifdef DEBUG
+  printf("allocated matrices\n");
+#endif
+
+  if (! init_mx(icm, statenum, window, amx, bmx)) return 0;
+#ifdef DEBUG
+  printf("matrices initialized\n");
+#endif
+  
+  if (! recurse_mx(icm, statenum, seq, N, window, amx, bmx, ithresh, gotone_f)) return 0;
+#ifdef DEBUG
+  printf("recursion finished\n");
+#endif
+				/* terminate scanning hit reporting */
+  ReportScanHit(-1,-1, 0.0, gotone_f);
+  free_mx(amx, bmx, statenum, window);
+  return 1;
+}
+
+
+
+/* Function: allocate_mx()
+ * 
+ * Purpose:  Malloc space for the score matrices.
+ *           amx and atr are indexed as j, i, y.
+ *           bmx and btr are indexed as k, j, i.      
+ *           In the two sequence dimensions j, i they are
+ *           diagonal (+1 off diagonal) matrices with
+ *           rows j = 0..N, i = 1..j+1.
+ *           In the node dimension k bmx and btr are k = 0..M.
+ *           In the state dimension y amx and atr are y = 0..numstates.
+ *           
+ * Args:     icm      - the int, log-odds, state-based model
+ *           statenum - number of states in model
+ *           window   - length of scanning window
+ *           ret_amx  - RETURN: main score matrix
+ *           ret_bmx  - RETURN: BEGIN score matrix
+ * 
+ * Return:   Ptr to allocated scoring matrix, or
+ *           dies and exits.
+ */
+static int 
+allocate_mx(struct istate_s *icm,
+	    int              statenum,
+	    int              window,	
+	    int          ****ret_amx,
+	    int          ****ret_bmx)
+
+{
+  int    ***amx;              
+  int    ***bmx;
+  int     diag, j, y;		
+
+  /* Main matrix, amx: fastest varying index is y (j,i,y)
+   * we only keep two rows for j, 0 and 1.
+   */
+				/* malloc for j = 0..1 rows */
+  if ((amx = (int   ***) malloc (2 * sizeof(int   **))) == NULL)
+    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+
+  for (j = 0; j <= 1; j++)	/* loop over rows j = 0..1 */
+    {
+				/* malloc for diag = 0..window cols */
+      if ((amx[j] = (int **)   malloc ((window + 1) * sizeof(int   *))) == NULL)
+	Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+      
+				/* loop over cols diag = 0..window */
+      for (diag = 0; diag <= window; diag++)
+				/* malloc for y = 0..statenum-1 decks */
+	  if ((amx[j][diag] = (int *)   malloc ((statenum) * sizeof (int  ))) == NULL)
+	    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+    }
+
+  
+  /* B auxiliary matrix: fastest varying index is diag (y,j,diag)
+   * bmx keeps score decks for BEGIN states
+   */
+				/* 0..statenum-1 decks */
+  if ((bmx = (int ***)   malloc (statenum * sizeof(int   **))) == NULL)
+    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+
+  for (y = 0; y < statenum; y++)
+    {
+      bmx[y] = NULL;
+				/* we keep score info for BEGIN states */
+      if (icm[y].statetype == uBEGIN_ST)
+	{
+				/* j= 0..window-1 rows  */
+	  if ((bmx[y] = (int   **) malloc ((window) * sizeof(int   *))) == NULL)
+	    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+				/* diff = 0..window columns */
+	  for (j = 0; j < window; j++)
+	    if ((bmx[y][j] = (int   *) malloc ((window+1) * sizeof(int  ))) == NULL)
+	      Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+	}
+    }
+  *ret_amx = amx;
+  *ret_bmx = bmx;
+  return 1;
+}
+
+
+
+/* Function: free_mx()
+ * 
+ * Purpose:  Free the space allocated to the scoring and traceback matrices.
+ *           Precisely mirrors the allocations above in allocate_cvmx().
+ * 
+ * Return:   (void)
+ */
+static void
+free_mx(int    ***amx,
+	int    ***bmx,
+	int     statenum,
+	int     window)
+{
+  int diag, j, y;
+
+  /* Free the main matrix, amx: 
+   * amx[j][i][y] = [0..1] [0..window] [0..statenum-1]
+   */
+  for (j = 0; j <= 1; j++)
+    {
+      for (diag = 0; diag <= window; diag++)
+	free(amx[j][diag]);
+      free(amx[j]);
+    }
+  free(amx);
+
+  /* Free the auxiliary matrix, bmx 
+   * bmx[y][j][i] = [0..statenum-1] [0..window] [0..window]
+   */
+  for (y = 0; y < statenum; y++)
+    {
+      if (bmx[y] != NULL)
+	{
+	  for (j = 0; j < window; j++)
+	    free(bmx[y][j]);
+	  free(bmx[y]);
+	}
+    }
+  free(bmx);
+}
+
+
+
+/* Function: init_mx()
+ * 
+ * Purpose:  Initialization of the scoring matrices. We initialize the off-diagonal,
+ *           the diagonal, and the "floor" (end states) of the cube.
+ * 
+ * Return:   1 on success, 0 on failure.
+ */
+static int
+init_mx(struct istate_s *icm,          /* integer model  */
+	int              statenum,     /* number of states in icm */
+	int              window,       /* size of scanning window on sequence */
+	int           ***amx,
+	int           ***bmx)
+{
+  int diag, j, y;		/* counters for indices over the cvmx            */
+  int ynext;			/* index of next state k+1                       */
+  int *beam;                    /* z-axis vector of numbers in amx               */
+
+  /* Init the whole amx to -Infinity. We do this with memcpy, trying
+   * to be fast. We fill in j=0,diag=0 by hand, then memcpy() the other
+   * columns.
+   */
+  for (y = 0; y < statenum; y++)
+    amx[0][0][y] = amx[1][0][y] = NEGINFINITY;
+  for (diag = 1; diag <= window; diag++)
+    {
+      memcpy(amx[0][diag], amx[0][0], statenum * sizeof(int));
+      memcpy(amx[1][diag], amx[0][0], statenum * sizeof(int));
+    }
+
+  /* Init the whole bmx to -Inf. We know state 0 is a begin (it's ROOT), so we
+   * start there, and memcpy rows as needed.
+   */
+  for (diag = 0; diag <= window; diag++)  
+    bmx[0][0][diag] = NEGINFINITY;
+  for (j = 1; j < window; j++)
+    memcpy(bmx[0][j], bmx[0][0], (window+1) * sizeof(int));
+
+  for (y = 1; y < statenum; y++)
+    if (bmx[y] != NULL)
+      for (j = 0; j < window; j++)
+	memcpy(bmx[y][j], bmx[0][0], (window+1) * sizeof(int));
+  
+  /* Init the off-diagonal (j = 0..window-1; diag == 0) with -log P scores.
+   * End state = 0;
+   * del, bifurc states are calc'ed
+   * begin states same as del's
+   * THIS IS WASTEFUL AND SHOULD BE CHANGED.
+   */
+  for (j = 0; j < window; j++)
+    for (y = statenum-1; y >= 0; y--)
+      {
+	/* Set the alignment of END states to the off-diagonal (diag = 0)
+	 * to be zero, and never touch them again.
+	 */
+	if (icm[y].statetype == uEND_ST)
+	  amx[j%2][0][y] = 0; 
+
+	else if (icm[y].statetype == uBIFURC_ST)
+	  amx[j%2][0][y] = bmx[icm[y].tmx[0]][j][0] + bmx[icm[y].tmx[1]][j][0];
+
+	else if (icm[y].statetype == uDEL_ST || icm[y].statetype == uBEGIN_ST)
+	  {
+				/* only calc DEL-DEL and BEGIN-DEL transitions. Since
+				 * we optimized the state transition tables, removing
+				 * the unused ones, we don't know where the number
+				 * for "to DEL" is! But we can find it, because it'll
+				 * be the connection to a non-infinite score */
+	    beam = amx[j%2][0] + y + icm[y].offset;
+	    for (ynext = 0; ynext < icm[y].connectnum; ynext++)
+	      {
+		if (*beam != NEGINFINITY)
+		  amx[j%2][0][y] = *beam + icm[y].tmx[ynext];
+		beam++;
+	      }
+	  }
+				/* make a copy into bmx if y is a BEGIN */
+	if (icm[y].statetype == uBEGIN_ST)
+	  bmx[y][j][0] = amx[j%2][0][y];
+      }
+
+  return 1;
+}
+
+
+
+/* Function: recurse_mx()
+ * 
+ * Purpose:  Carry out the fill stage of the dynamic programming
+ *           algorithm. After each j row is filled in, check the score
+ *           of best full alignment ending at this row; if greater
+ *           than threshold (ithresh), report it.
+ *           
+ * Returns:  1 on success, 0 on failure.
+ */
+static int
+recurse_mx(struct istate_s *icm,      /* integer, state-form model */
+	   int              statenum, /* number of states in icm   */
+	   char            *seq,      /* sequence, 1..seqlen       */
+	   int              seqlen,   /* length of seq             */
+	   int              window,   /* length of scanning window on seq */
+	   int           ***amx,      /* main scoring matrix       */
+	   int           ***bmx,      /* bifurc scoring matrix     */
+	   int              ithresh,  /* reporting threshold       */
+	   int            (*gotone_f)(int, int, double))
+{
+  int i, j, y;		        /* indices for 3 dimensions                    */
+  int aj;			/* 0 or 1, index for j in A matrix             */
+  int bj;			/* 0..window-1, index for j in B matrix        */
+  int diff;			/* loop counter for difference: diff = j-i + 1 */
+  int symi, symj;		/* symbol indices for seq[i], seq[j]           */
+  int sc;			/* tmp for a score                             */
+  int ynext;			/* index of next state y                       */
+  int bestdiff, bestscore;
+
+  int *beam;                    /* ptr to a beam (z-axis vector)               */
+  int  leftdiff;		/* diff coord of BEGIN_L of a bifurc     */
+  int  leftj;			/* j coord of BEGIN_L of a bifurc        */
+  int **left_p;			/* pointer into whole 2D deck of BEGINL's of a bifurc */
+  int *right_p;                 /* ptr into row of BEGIN_R's of a bifurc */
+  int   *scp;			/* score pointer: ptr into beam of scores being calc'ed */
+  struct istate_s *st;		/* state pointer: ptr at current state in icm */
+  int *tmx;
+  int  emitsc;
+
+  for (j = 1; j <= seqlen; j++)
+    {
+      aj = j % 2;		/* 0 or 1 index in amx      */
+      bj = j % window;          /* 0..window-1 index in bmx */
+      symj = SymbolIndex(seq[j]);      
+
+      for (diff = 1; diff <= window && diff <= j; diff++)
+	{
+	  i = j - diff + 1;
+	  symi = SymbolIndex(seq[i]);
+
+	  scp = &amx[aj][diff][statenum-1];
+	  st  = &icm[statenum-1];
+	  for (y = statenum-1; y >= 0; y--, scp--, st--)
+	    { /* loop over states */
+
+	      if (st->statetype != uBIFURC_ST)	/* a normal (non-BIFURC) state */
+		{
+		    /* Connect the "beam" pointer to the appropriate
+		     * starting place in the ynext scores we're connecting
+		     * y to
+		     */
+		  switch (st->statetype) {
+		  case uBEGIN_ST:
+		  case uDEL_ST:
+		    beam   = amx[aj][diff];    
+		    emitsc = 0;    
+		    break;
+		  case uMATP_ST: /* !aj toggles from 0 to 1 and vice versa */
+		    if (diff == 1) continue;
+		    beam   = amx[!aj][diff-2]; 
+		    emitsc = st->emit[symi * ALPHASIZE + symj];
+		    break; 
+		  case uMATR_ST:
+		  case uINSR_ST:
+		    beam   = amx[!aj][diff-1];
+		    emitsc = st->emit[symj];
+		    break;
+		  case uMATL_ST:
+		  case uINSL_ST:  
+		    beam   = amx[aj][diff-1];   
+		    emitsc = st->emit[symi];
+		    break;
+		  case uEND_ST:   
+		    continue;
+		  default: Die("no such state type %d", st->statetype);
+		  }
+		  beam  += y + st->offset;
+		  tmx  = st->tmx;
+
+
+		  /* Init for ynext == 0 case 
+		   */		
+		  *scp = *beam + *tmx;
+		    
+		  /* Calculate remaining cases
+		   */
+		  for (ynext = 1; ynext < st->connectnum; ynext++)
+		    {
+		      beam++;
+		      tmx++;
+		      if (*beam > *scp)
+			{
+			  sc = *beam + *tmx;
+			  if (sc > *scp)
+			    *scp = sc;
+			}
+		    }
+		    
+		  /* Add emission scores now
+		   */
+		  *scp += emitsc;
+		    
+		  /* Make a copy into bmx, btr if necessary
+		   */
+		  if (st->statetype == uBEGIN_ST)
+		    bmx[y][bj][diff] = *scp;
+		} /* end block of normal state stuff */
+		
+		else		/* a BIFURC state */
+		  {
+		    leftdiff = diff;
+		    leftj    = bj;
+		    right_p  = bmx[st->tmx[1]][leftj];
+		    left_p   = bmx[st->tmx[0]];
+
+				/* init w/ case that left branch emits it all */
+		    *scp = left_p[leftj][leftdiff] + *right_p;
+		    while (leftdiff > 0)
+		      {
+			leftdiff--;
+			leftj = leftj ? leftj-1 : window-1; /* scan window wraparound */
+			right_p++;
+			
+			sc = left_p[leftj][leftdiff] + *right_p;
+			if (sc > *scp)
+			  *scp = sc;
+		      }
+		  }
+		
+	      } /* end loop over states */
+	  } /* end loop over diff */
+
+      /* We've completed a row. Now we can examine the scores in diff, 
+       * aj, ROOT_ST to decide whether to report this row. If we do, 
+       * we report the 1..seqlen i, j coords of the matching subsequence
+       * in seq, as well as the score converted to double-precision bits.
+       */
+      bestdiff  = 1;
+      bestscore = bmx[0][bj][1];
+      for (diff = 2; diff <= window; diff++)
+	if (bmx[0][bj][diff] > bestscore)
+	  {
+	    bestscore = bmx[0][bj][diff];
+	    bestdiff  = diff;
+	  }
+      if (bestscore > ithresh)
+	if (! ReportScanHit(j - bestdiff + 1, j, (double)(bestscore / INTPRECISION), gotone_f))
+	  Warn("caller ignored report of a match!");
+      } /* end loop over j */
+
+  return 1;
+}
+
diff --git a/debug.c b/debug.c
new file mode 100644
index 0000000..3782fcd
--- /dev/null
+++ b/debug.c
@@ -0,0 +1,215 @@
+/* debug.c
+ * Fri Jan 28 14:10:59 1994
+ * 
+ * Code specifically for debugging the package.
+ */
+
+
+#include <stdio.h>
+
+#include "structs.h"
+#include "funcs.h"
+
+/* Function: UstatetypeName()
+ * 
+ * Purpose:  "Ustatetypes" -- unique state types -- are used in the 
+ *           integer-style models of the alignment algorithms.
+ *           Given such a flag, return a string representation of
+ *           the unique statetype.
+ */
+char *
+UstatetypeName(int ustatetype)
+{
+  switch (ustatetype) {
+  case uDEL_ST:    return "uDEL_ST"; 
+  case uMATP_ST:   return "uMATP_ST";
+  case uMATL_ST:   return "uMATL_ST";
+  case uMATR_ST:   return "uMATR_ST";
+  case uINSL_ST:   return "uINSL_ST";
+  case uINSR_ST:   return "uINSR_ST";
+  case uBEGIN_ST:  return "uBEGIN_ST";
+  case uEND_ST:    return "uEND_ST";
+  case uBIFURC_ST: return "uBIFURC_ST";
+  default:         return "Unknown state type";
+  }
+}
+
+
+/* Function: StatetypeName()
+ * 
+ * Purpose:  Given a statetype integer, return a string representation
+ *           for that statetype.
+ */
+char *
+StatetypeName(int statetype)
+{
+  switch (statetype) {
+  case DEL_ST:   return "DEL/BEG/BIF/END";
+  case MATP_ST:  return "MATP_ST";
+  case MATL_ST:  return "MATL_ST";
+  case MATR_ST:  return "MATR_ST";
+  case INSL_ST:  return "INSL_ST";
+  case INSR_ST:  return "INSR_ST";
+  default:       return "Unknown State";
+  }
+}
+
+
+/* Function: NodetypeName()
+ * 
+ * Purpose:  Given a node type integer, return a printable name
+ *           for the node type.
+ */
+char *
+NodetypeName(int nodetype)
+{
+  switch (nodetype) {
+  case BIFURC_NODE:  return "BIF/END NODE";
+  case MATP_NODE:    return "MATP_NODE";
+  case MATL_NODE:    return "MATL_NODE";
+  case MATR_NODE:    return "MATR_NODE";
+  case BEGINL_NODE:  return "BEGINL_NODE";
+  case BEGINR_NODE:  return "BEGINR_NODE";
+  case ROOT_NODE:    return "ROOT_NODE";
+  default:           return "Unknown Node";
+  }
+}
+
+
+/* Function: PrintViterbiAMX()
+ * 
+ * Purpose:  Print out a normal main matrix from the original
+ *           Viterbi alignment algorithm.
+ * 
+ */          
+void
+PrintViterbiAMX(FILE            *fp,       /* usually stderr/stdout     */
+		struct istate_s *icm,      /* integer model             */
+		int              statenum, /* length of model in states */
+		char            *seq,      /* sequence, 1..N */
+		int              N,        /* length of seq  */
+		int           ***amx)      /* 'A' matrix */
+{
+  int diff, j, y;		/* indices for three dimensions */
+
+  for (y = 0; y < statenum; y++)
+    {
+      fprintf(fp, "### A Matrix for state %d, type %d (%s), from node %d\n",
+	      y, icm[y].statetype, UstatetypeName(icm[y].statetype), icm[y].nodeidx);
+      fprintf(fp, "     ");
+      for (diff = 0; diff <= N; diff++)
+	fprintf(fp, "%6d  ", diff);
+      fprintf(fp, "\n");
+
+      for (j = 0; j <= N; j++)
+	{
+	  fprintf(fp, "%c %3d ", ((j > 0) ? seq[j] : '*'), j);
+	  for (diff = 0; diff <= j; diff++)
+	    fprintf(fp, "%6d  ", amx[j][diff][y]);
+	  fprintf(fp, "\n");
+	}
+      fprintf(fp, "\n\n");
+    }
+}
+
+
+
+/* Function: PrintTrace()
+ * 
+ * Purpose:  Debugging tool. Print a traceback tree.
+ */
+void
+PrintTrace(FILE *fp, struct trace_s *tr)
+{
+  struct tracestack_s *stack;
+  struct trace_s      *currtr;
+
+  stack = InitTracestack();
+  PushTracestack(stack, tr->nxtl);
+  
+  fprintf(fp, "  address     emitl emitr nodeidx type     nxtl          nxtr          prv\n");
+
+  while ((currtr = PopTracestack(stack)) != NULL)
+    {
+      fprintf(fp, "(%p) %3d  %3d    %3d    %3d    %p  %p  %p  %s\n", 
+	      currtr,
+	      currtr->emitl, currtr->emitr,
+	      currtr->nodeidx, currtr->type,
+	      currtr->nxtl, currtr->nxtr, currtr->prv,
+	      UstatetypeName(currtr->type));
+      if (currtr->nxtr != NULL)
+	PushTracestack(stack, currtr->nxtr);
+      if (currtr->nxtl != NULL)
+	PushTracestack(stack, currtr->nxtl);
+    }
+  FreeTracestack(stack);
+}
+
+
+/* Function: PrintAli()
+ * 
+ * Purpose:  Debugging tool. Print out an align_s structure
+ */
+void
+PrintAli(FILE *fp, struct align_s *ali)
+{
+  struct align_s *curr;
+
+  for (curr = ali; curr != NULL; curr = curr->nxt)
+    fprintf(fp, "%4d %c %c %4d %s\n",
+	    curr->pos, curr->sym, curr->ss, curr->nodeidx, 
+	    UstatetypeName(curr->type));
+}
+
+
+
+/* Function: PrintICM()
+ * 
+ * Purpose:  Print an integer-version CM, as used by the alignment
+ *           algorithms.
+ */
+void
+PrintICM(FILE *fp, struct cm_s *cm, struct istate_s *icm, int nstates)
+{
+  int y;
+  int x;
+
+  for (y = 0; y < nstates; y++)
+    {
+      fprintf(fp, "node %d (%s)   state %d (%s)\n",
+	      icm[y].nodeidx, NodetypeName(cm->nd[icm[y].nodeidx].type),
+	      y, UstatetypeName(icm[y].statetype));
+      fprintf(fp, "     connectnum %d offset %d (connections start at %d)\n",
+	      icm[y].connectnum, icm[y].offset, y + icm[y].offset);
+      fprintf(fp, "     Transitions:  ");
+      for (x = 0; x < icm[y].connectnum; x++)
+	fprintf(fp, "%d ", icm[y].tmx[x]);
+      fputs("\n", fp);
+      
+      fprintf(fp, "     Emissions:  ");
+      switch (icm[y].statetype)
+	{
+	case uMATP_ST:
+	  for (x = 0; x < ALPHASIZE * ALPHASIZE; x++)
+	    fprintf(fp, "%d ", icm[y].emit[x]);
+	  fputs("\n", fp);
+	  break;
+
+	case uMATR_ST:
+	case uMATL_ST:
+	case uINSR_ST:
+	case uINSL_ST:
+	  for (x = 0; x < ALPHASIZE; x++)
+	    fprintf(fp, "%d ", icm[y].emit[x]);
+	  fputs("\n", fp);
+	  break;
+
+	default:
+	  fputs("NONE\n", fp);
+	  break;
+	}
+    }
+}
+
+
+
diff --git a/emit.c b/emit.c
new file mode 100644
index 0000000..65de66c
--- /dev/null
+++ b/emit.c
@@ -0,0 +1,568 @@
+/* emit.c
+ * 1.0: Fri Jun 11 12:59:33 1993
+ * 2.0: SRE, Thu Sep  9 13:44:18 1993
+ * 
+ * generate sequences randomly from a model.
+ * 
+ * The growing sequence is kept as a linked list (align_s).
+ * The model tree is traversed by pushing nodes onto a stack
+ * (m2ali_s). The information kept for each active node
+ * is nodeidx, state type, and a pointer into the growing linked
+ * list where the next emissions should go.
+ * 
+ * The recursion is to pop an active node off;
+ * then, switch (statetype)
+ *    MATP:       pick symbol pair. insert right symbol. insert
+ *                left symbol. new insertion pointer on left symbol.
+ *    INSL, MATL: pick symbol. insert symbol. new insertion pointer
+ *                on new symbol.
+ *    INSR, MATR: pick symbol. insert symbol. new insertion pointer
+ *                stays where it was.
+ *    BIFURC:     insert dummy symbol. one new insertion pointer
+ *                stays where it was (BIFL), other points to the
+ *                new dummy (BIFR).
+ *    DELETE:     no symbol. new insertion pointer stays where it
+ *                was.                                                   
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "squid.h"
+
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+static void pick_transit(struct cm_s *cm, int oldidx, int oldtype,
+			 int *ret_newidx, int *ret_newtype);
+static void pick_double_emit(struct cm_s *cm, int nodeidx, char *ret_syml, char *ret_symr);
+static void pick_single_emit(struct cm_s *cm, int nodeidx, int type, char *ret_sym);
+
+static void pick_best_transit(struct cm_s *cm, int oldidx, int oldtype,
+			      int *ret_newidx, int *ret_newtype);
+static void pick_best_double(struct cm_s *cm, int nodeidx, char *ret_syml, char *ret_symr);
+static void pick_best_single(struct cm_s *cm, int nodeidx, int type, char *ret_sym);
+
+
+/* Function:  EmitSequence()
+ * 
+ * Purpose:   Generate a sequence probabilistically from a model.
+ *            The returned sequence contains upper case letters
+ *            for MATCH-generated positions, lower case letters
+ *            for INSERT-generated positions.
+ *            
+ *            Caller is reponsible for free'ing memory allocated
+ *            to the sequence.
+ *            
+ */
+int
+EmitSequence(struct cm_s     *cm,        /* model                                  */
+	     int             watsoncrick,/* if TRUE, annotate only canonical pairs */
+	     struct align_s **ret_ali,   /* RETURN: generated "alignment"          */
+	     char           **ret_khseq, /* RETURN: generated structure            */
+	     char           **ret_seq)   /* RETURN: generated sequence             */ 
+{
+  struct m2ali_s *emstack;
+  struct align_s *emlist;
+  int             oldidx;
+  int             oldtype;
+  struct align_s *oldafter;
+  int             newidx;
+  int             newtype;
+  struct align_s *newafter;
+  char            syml;
+  char            symr;
+  int             pos;
+  char           *seq;
+  char           *khseq;
+  char            ssl, ssr;	/* secondary structure annotation */
+
+  /* Initialize the linked list of emitted sequence, emlist.
+   */
+  emlist = Init_align();
+
+  /* Initialize the pushdown stack for traversing the model,
+   * emstack.
+   */
+  emstack = Init_m2ali();
+  pick_transit(cm, 0, uBEGIN_ST, &newidx, &newtype);
+  Push_m2ali(emstack, newidx, newtype, emlist); 
+
+
+  /* While there's still active model nodes in the stack,
+   * pop one off and deal with it.
+   */
+  while (Pop_m2ali(emstack, &oldidx, &oldtype, &oldafter))
+    {
+				/* look out for end */
+      if (oldidx == -1)	continue;
+
+      /* check for BIFURC, which makes automatic transits to BEGIN states
+       * of next two segments. 
+       */
+      if (cm->nd[oldidx].type == BIFURC_NODE)
+	{
+				/* deal with right branch */
+	  newafter = Insafter_align(0, '-', ' ', oldidx, uBIFURC_ST, oldafter); /* insert a dummy */
+	  Push_m2ali(emstack, cm->nd[oldidx].nxt2, uBEGIN_ST, newafter);
+				/* deal with left branch */
+	  Push_m2ali(emstack, cm->nd[oldidx].nxt, uBEGIN_ST, oldafter);
+	}
+
+      else 
+	{
+	  switch (oldtype) {
+	  case uDEL_ST:
+	    pick_transit(cm, oldidx, oldtype, &newidx, &newtype);
+	    Push_m2ali(emstack, newidx, newtype, oldafter);
+	    break;
+
+	  case uMATP_ST:
+	    pick_double_emit(cm, oldidx, &syml, &symr);
+	    if (! watsoncrick ||
+		IsRNAComplement(syml, symr, TRUE))
+	      { ssl = '>'; ssr = '<'; }
+	    else
+	      { ssl = ssr = '.'; }
+	    (void) Insafter_align(0, symr, ssr, oldidx, oldtype, oldafter);
+	    newafter = Insafter_align(0, syml, ssl, oldidx, oldtype, oldafter);
+
+	    pick_transit(cm, oldidx, oldtype, &newidx, &newtype);
+	    Push_m2ali(emstack, newidx, newtype, newafter);
+	    break;
+	
+	  case uINSL_ST:
+	  case uMATL_ST:
+	    pick_single_emit(cm, oldidx, oldtype, &syml);
+	    newafter = Insafter_align(0, syml, '.', oldidx, oldtype, oldafter);
+
+	    pick_transit(cm, oldidx, oldtype, &newidx, &newtype);
+	    Push_m2ali(emstack, newidx, newtype, newafter);
+	    break;
+
+	  case uINSR_ST:
+	  case uMATR_ST:
+	    pick_single_emit(cm, oldidx, oldtype, &symr);
+	    (void) Insafter_align(0, symr, '.', oldidx, oldtype, oldafter);
+
+	    pick_transit(cm, oldidx, oldtype, &newidx, &newtype);
+	    Push_m2ali(emstack, newidx, newtype, oldafter);
+	    break;
+	
+	  default:
+	    Die("Unrecognized state type %d in model.", oldtype);
+	  }
+	}
+    }
+  Free_m2ali(emstack);
+  
+  /* Now go through and write the correct 'pos' fields in *emlist,
+   * because the caller might expect them for some reason. 
+   */
+  pos = 0;
+  for (newafter = emlist->nxt; newafter->nxt != NULL; newafter = newafter->nxt)
+    {
+      if (newafter->type == uDEL_ST)
+	newafter->pos = -1;
+      else
+	{
+	  newafter->pos = pos;
+	  pos++;
+	}
+    }
+
+  /* Now we extract the sequence from the linked list.
+   * For now, we leave the dummy characters in.
+   */
+  if (! Align2kh(emlist, &seq, &khseq))
+    Warn("Align2kh() failed");
+  
+  *ret_ali   = emlist;
+  *ret_khseq = khseq;
+  *ret_seq   = seq;
+  return 1;
+}
+
+
+
+/* Function: EmitBestSequence()
+ * 
+ * Purpose:  Generate the most probable sequence from a model by picking 
+ *           the most probable transitions and emissions.
+ *           Very similar to EmitSequence(), above.
+ *           
+ */
+int
+EmitBestSequence(struct cm_s     *cm,         /* model                         */
+		 int             watsoncrick, /* if TRUE, annotate only canonical pairs */
+		 struct align_s **ret_ali,    /* RETURN: generated "alignment" */
+		 char           **ret_khseq,  /* RETURN: generated structure   */
+		 char           **ret_seq)    /* RETURN: generated sequence    */
+{
+  struct align_s *ali;          /* generated "alignment" linked list       */
+  struct align_s *curr;         /* ptr to current insertion pt in ali      */
+  struct align_s *new;          /* ptr to newly inserted pt in ali         */
+  struct m2ali_s *stack;        /* pushdown stack for traversing model     */
+  int             oldidx;	/* stateidx of current insertion pt in ali */
+  int             oldtype;	/* subtype of current insertion pt in ali  */
+  int             newidx;	/* stateidx of newly inserted pt in ali    */
+  int             newtype;	/* subtype of newly inserted pt in ali     */
+  char            syml;		/* emitted symbol to the left              */
+  char            symr;		/* emitted symbol to the right             */
+  int             pos;		/* position in seq                         */
+  char           *seq;          /* RETURN: generated most probable sequence*/
+  char           *khseq;        /* RETURN: structure rep. of seq           */
+  char            ssl, ssr;	/* secondary structure annotation */
+
+  /* Initialize the linked list of emitted sequence, ali
+   */
+  ali = Init_align();
+
+  /* Initialize the pushdown stack for traversing the model
+   */
+  stack = Init_m2ali();
+  pick_best_transit(cm, 0, uBEGIN_ST, &newidx, &newtype);
+  Push_m2ali(stack, newidx, newtype, ali); 
+
+
+  /* While there's still active model nodes in the stack,
+   * pop one off and deal with it.
+   */
+  while (Pop_m2ali(stack, &oldidx, &oldtype, &curr))
+    {
+				/* look out for end */
+      if (oldidx == -1)	continue;
+
+      /* check for BIFURC, which makes automatic transits to BEGIN states
+       * of next two segments. 
+       */
+      if (cm->nd[oldidx].type == BIFURC_NODE)
+	{
+				/* deal with right branch */
+	  new = Insafter_align(0, '-', ' ', oldidx, uBIFURC_ST, curr); /* insert a dummy */
+	  Push_m2ali(stack, cm->nd[oldidx].nxt2, uBEGIN_ST, new);
+				/* deal with left branch */
+	  Push_m2ali(stack, cm->nd[oldidx].nxt, uBEGIN_ST, curr);
+	}
+
+      else 
+	{
+	  switch (oldtype) {
+	  case uDEL_ST:
+	    pick_best_transit(cm, oldidx, oldtype, &newidx, &newtype);
+	    Push_m2ali(stack, newidx, newtype, curr);
+	    break;
+
+	  case uMATP_ST:
+	    pick_best_double(cm, oldidx, &syml, &symr);
+	    if (! watsoncrick ||
+		IsRNAComplement(syml, symr, TRUE))
+	      { ssl = '>'; ssr = '<'; }
+	    else
+	      { ssl = '.'; ssr = '.'; }
+
+	    (void) Insafter_align(0, symr, ssr, oldidx, oldtype, curr);
+	    new = Insafter_align(0, syml, ssl, oldidx, oldtype, curr);
+
+	    pick_best_transit(cm, oldidx, oldtype, &newidx, &newtype);
+	    Push_m2ali(stack, newidx, newtype, new);
+	    break;
+	
+	  case uINSL_ST:
+	  case uMATL_ST:
+	    pick_best_single(cm, oldidx, oldtype, &syml);
+	    new = Insafter_align(0, syml, '.', oldidx, oldtype, curr);
+
+	    pick_best_transit(cm, oldidx, oldtype, &newidx, &newtype);
+	    Push_m2ali(stack, newidx, newtype, new);
+	    break;
+
+	  case uINSR_ST:
+	  case uMATR_ST:
+	    pick_best_single(cm, oldidx, oldtype, &symr);
+	    (void) Insafter_align(0, symr, '.', oldidx, oldtype, curr);
+
+	    pick_best_transit(cm, oldidx, oldtype, &newidx, &newtype);
+	    Push_m2ali(stack, newidx, newtype, curr);
+	    break;
+	
+	  default:
+	    Die("Unrecognized state type %d in model.", oldtype);
+	  }
+	}
+    }
+  Free_m2ali(stack);
+  
+  /* Now go through and write the correct 'pos' fields in *ali,
+   * because the caller might expect them for some reason. 
+   */
+  pos = 0;
+  for (curr = ali->nxt; curr->nxt != NULL; curr = curr->nxt)
+    {
+      if (curr->type == uDEL_ST)
+	curr->pos = -1;
+      else
+	{
+	  curr->pos = pos;
+	  pos++;
+	}
+    }
+
+  /* Now we extract the sequence from the linked list.
+   * For now, we leave the dummy characters in.
+   */
+  if (! Align2kh(ali, &seq, &khseq))
+    Warn("Align2kh() failed");
+
+  *ret_ali   = ali;
+  *ret_khseq = khseq;
+  *ret_seq   = seq;
+  return 1;
+}
+		 
+
+
+
+/* Function: pick_transit()
+ * 
+ * Purpose:  Pick a random state transition, given a current state
+ *           (specified by a stateidx and a subtype). Pass back
+ *           the new state (newidx, newtype).
+ */
+static void
+pick_transit(struct cm_s *cm,
+	     int          oldidx,
+	     int          oldtype,
+	     int         *ret_newidx,
+	     int         *ret_newtype)
+{
+  int    newidx;
+  int    newtype;
+  double sum;
+  double roll;
+
+  /* Picking a new subtype involves rolling a random
+   * fraction and examining the appropriate row of the
+   * 7x7 state transition matrix.
+   */
+  sum  = 0.0;
+  roll = sre_random();
+  for (newtype = 0; newtype < STATETYPES; newtype++)
+    {
+      sum += cm->nd[oldidx].tmx[oldtype][newtype];
+      if (roll <= sum) break;
+    }
+  if (newtype == STATETYPES)
+    Die("Failed to transit from stateidx %d subtype %d, roll %.2f",
+	oldidx, oldtype, roll);
+  
+  /* Picking a new nodeidx is a function of the current
+   * state type. This function should never be called for BIFURCs.
+   */
+  if (newtype == INSL_ST || newtype == INSR_ST)
+    newidx = oldidx;
+  else
+    newidx = cm->nd[oldidx].nxt;
+  
+  *ret_newidx  = newidx;
+  *ret_newtype = UniqueStatetype(cm->nd[newidx].type, newtype);
+}
+
+
+
+/* Function: pick_double_emit()
+ * 
+ * Purpose:  Given a model and a current state (stateidx, subtype),
+ *           which must be an INSC or MATC, pick a pairwise emission
+ *           (syml, symr) according to the probabilities in the 
+ *           appropriate emission matrix.
+ */
+static void
+pick_double_emit(struct cm_s *cm,
+		 int          nodeidx,
+		 char        *ret_syml,
+		 char        *ret_symr)
+{
+  double   sum;
+  double   roll;
+  int      i, j;
+
+  sum  = 0.0;
+  roll = sre_random();
+  for (i = 0; i < ALPHASIZE; i++)
+    for (j = 0; j < ALPHASIZE; j++)
+      {
+	sum += cm->nd[nodeidx].mp_emit[i][j];
+	if (roll <= sum) goto breakout;
+      }
+ breakout:
+  *ret_syml = ALPHABET[i];
+  *ret_symr = ALPHABET[j];
+}
+
+
+
+
+/* Function: pick_single_emit()
+ * 
+ * Purpose:  Given a model and a current state (nodeidx, type),
+ *           which must be an INS(L/R) or MAT(L/R), pick an emission
+ *           (sym) according to the probabilities in the 
+ *           appropriate emission vector.
+ */
+static void
+pick_single_emit(struct cm_s *cm,
+		 int          nodeidx,
+		 int          type,
+		 char        *ret_sym)
+{
+  double   sum;
+  double   roll;
+  int      i;
+  double  *emit;
+
+				/* find correct emission vector */
+  switch (type) {
+  case uINSL_ST: emit = cm->nd[nodeidx].il_emit; break;
+  case uINSR_ST: emit = cm->nd[nodeidx].ir_emit; break;
+  case uMATL_ST: emit = cm->nd[nodeidx].ml_emit; break;
+  case uMATR_ST: emit = cm->nd[nodeidx].mr_emit; break;
+  default:
+    Die("can't single emit from state type %d", type);
+  }
+
+  sum  = 0.0;
+  roll = sre_random();
+  for (i = 0; i < ALPHASIZE; i++)
+    {
+      sum += emit[i];
+      if (roll <= sum) break;
+    }
+  *ret_sym = ALPHABET[i];
+}
+
+
+
+
+/* Function: pick_best_transit()
+ * 
+ * Purpose:  Pick most probable state transition, given a current state
+ *           (specified by a nodeidx and a type). Pass back
+ *           the new state (newidx, newtype).
+ */
+static void
+pick_best_transit(struct cm_s *cm,
+		  int          oldidx,
+		  int          oldtype,
+		  int         *ret_newidx,
+		  int         *ret_newtype)
+{
+  int    y;
+  int    newidx;
+  int    newtype;
+  double best;
+  
+				/* find maximum probability */
+  best = 0.0;
+  for (y = 0; y < STATETYPES; y++)
+    if (cm->nd[oldidx].tmx[oldtype][y] > best)
+      {
+	best    = cm->nd[oldidx].tmx[oldtype][y];
+	newtype = y;
+      }
+  
+  /* Picking a new nodeidx is a function of the current
+   * type. This function should never be called for BIFURCs.
+   */
+  if (newtype == INSL_ST || newtype == INSR_ST)
+    newidx = oldidx;
+  else
+    newidx = cm->nd[oldidx].nxt;
+  
+  *ret_newidx  = newidx;
+  *ret_newtype = UniqueStatetype(cm->nd[newidx].type, newtype);
+}
+
+
+
+/* Function: pick_best_double()
+ * 
+ * Purpose:  Given a model and a current state (nodeidx, type),
+ *           (which must a MATP), pick most probable pairwise emission
+ *           (syml, symr) according to the probabilities in the 
+ *           appropriate emission matrix.
+ *           
+ */
+static void
+pick_best_double(struct cm_s *cm,
+		 int          nodeidx,
+		 char        *ret_syml,
+		 char        *ret_symr)
+{
+  double   best;
+  int      i, j;
+  int      besti, bestj;
+
+  best = 0.0;
+  for (i = 0; i < ALPHASIZE; i++)
+    for (j = 0; j < ALPHASIZE; j++)
+      if (cm->nd[nodeidx].mp_emit[i][j] > best)
+	{
+	  best  = cm->nd[nodeidx].mp_emit[i][j];
+	  besti = i;
+	  bestj = j;
+	}
+  *ret_syml = ALPHABET[besti];
+  *ret_symr = ALPHABET[bestj];
+}
+
+
+
+
+/* Function: pick_best_single()
+ * 
+ * Purpose:  Given a model and a current state (nodeidx, type),
+ *           which must be an INS(L/R) or MAT(L/R), pick most probable emission
+ *           (sym) according to the probabilities in the 
+ *           appropriate emission vector.
+ */
+static void
+pick_best_single(struct cm_s *cm,
+		 int          nodeidx,
+		 int          type,
+		 char        *ret_sym)
+{
+  double   best;
+  int      besti;
+  int      i;
+  double  *emit;
+
+				/* find correct emission vector */
+  switch (type) {
+  case uINSL_ST: emit = cm->nd[nodeidx].il_emit; break;
+  case uINSR_ST: emit = cm->nd[nodeidx].ir_emit; break;
+  case uMATL_ST: emit = cm->nd[nodeidx].ml_emit; break;
+  case uMATR_ST: emit = cm->nd[nodeidx].mr_emit; break;
+  default:   Die("can't single emit from type %d", type);
+  }
+
+  best = 0.0;
+  for (i = 0; i < ALPHASIZE; i++)
+    if (emit[i] > best)
+      {
+	best  = emit[i];
+	besti = i;
+      }
+  *ret_sym = ALPHABET[besti];
+}
+
+
+
+
+
+
+
+
diff --git a/emit_main.c b/emit_main.c
new file mode 100644
index 0000000..1a3d554
--- /dev/null
+++ b/emit_main.c
@@ -0,0 +1,181 @@
+/* emit_main.c
+ * main() for emitting sequences from a stored model
+ * written as a debugging aid
+ * 
+ * 1.0: SRE, Tue Jun 15 09:32:43 1993
+ * 2.0: SRE, Fri Sep 10 08:06:37 1993
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+
+#ifdef NEED_GETOPTH
+#include <getopt.h>
+#endif
+
+#include "structs.h"
+#include "funcs.h"
+#include "version.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+#define OPTIONS "abls:L"
+
+static char usage[]  = "\
+Usage: covee [-options] <cmfile>\n\
+where options are:\n\
+     -a        : annotate all pairs, not just canonical ones\n\
+     -b        : emit single most probable sequence\n\
+     -l        : print as mountain landscape\n\
+     -s <seed> : set seed for random()\n\
+  EXPERIMENTAL OPTIONS:\n\
+     -L        : calculate expected length distributions for states\n";
+
+
+static char banner[] = "covee: emit sequences from a covariance model";
+
+int
+main(int argc, char **argv)
+{
+  char           *cmfile;       /* file to read model from */
+  struct cm_s    *cm;           /* model                   */
+  int             i;		/* counter for sequences   */
+  char           *seq;          /* generated sequence      */
+  char           *khseq;        /* generated structure     */
+  struct align_s *ali;		/* generated "alignment"   */
+
+  int          emitnum;		/* number of sequences to emit      */
+  int          seed;		/* seed for random number generator */
+  int          do_best;		/* TRUE if generating only best seq */
+  int          do_landscape;	/* TRUE if printing as landscape    */
+  int          watsoncrick;     /* TRUE to annotate only canonical pairs */
+  int          do_lengths;	/* TRUE to do length distributions  */
+
+  int          optc;
+  extern char *optarg;          /* for getopt() */
+  extern int   optind;		/* for getopt() */
+
+  /*********************************************** 
+   * Parse command line
+   ***********************************************/
+
+  emitnum      = 20;
+  seed         = (int) time (0);
+  do_best      = FALSE;
+  do_landscape = FALSE;
+  watsoncrick  = TRUE;
+  do_lengths   = FALSE;
+
+  while ((optc = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optc) {
+
+    case 'a': watsoncrick  = FALSE; break;
+    case 'b': do_best      = TRUE;  break;
+    case 'l': do_landscape = TRUE;  break;
+    case 's': seed = atoi(optarg);  break;
+    case 'L': do_lengths   = TRUE;  break;
+
+    default:
+      Die("Error: unrecognized option %c\n", optc);
+    }
+
+  if (argc - optind != 1)
+    Die("Wrong number of arguments.\n%s", usage);
+  
+  cmfile  = argv[optind];
+  sre_srandom((unsigned) seed);
+
+  /*********************************************** 
+   * Read in the model
+   ***********************************************/
+  
+  if (! ReadCM(cmfile, &cm))
+    Die("Failed to read model from file %s\n", cmfile);
+
+  /*********************************************** 
+   * Generate sequences from model and print them.
+   ***********************************************/
+
+  puts(banner);
+  printf("     version %s, %s\n\n", RELEASE, RELEASEDATE);
+
+  if (do_lengths)
+    {
+      struct pstate_s *pcm;
+      int              statenum;
+      double         **lmx;
+      int             *min, *max;
+      int              y;
+      
+      MakePCM(cm, &pcm, &statenum);
+      NormalizePCM(pcm, statenum);
+      LengthDistribution(pcm, statenum, 200, &lmx);
+      LengthBounds(lmx, statenum, 200, 1.0e-6, &min, &max);
+
+      for (y = 0; y < statenum; y++)
+	printf("%4d %4d %4d (%4d) %8.8f  %s\n", 
+	       y, min[y], max[y], max[y]-min[y]+1,
+	       (float) (max[y]-min[y]+1) / 200.0,
+	       UstatetypeName(pcm[y].statetype));
+      
+      Free2DArray(lmx, statenum);
+      free(min);
+      free(max);
+      free(pcm);
+    }
+
+  else if (do_best)
+    {
+      if (! EmitBestSequence(cm, watsoncrick, &ali, &khseq, &seq)) Die("EmitBestSequence() failed");
+      
+      if (do_landscape)
+	{
+	  if (! PrintAliLandscape(stdout, cm, ali))
+	    Warn("PrintAliLandscape failed\n");
+	}
+      else
+	{
+	  printf("%s\n", seq);
+	  printf("%s\n", khseq);
+	  puts("");
+	}
+      
+      free(ali);
+      free(khseq);
+      free(seq);
+    }
+
+  else
+    {
+      for (i = 0; i < emitnum; i++)
+	{
+	  if (! EmitSequence(cm, watsoncrick, &ali, &khseq, &seq))
+	    Die("failed to generate a sequence from the model.");
+
+	  if (do_landscape)
+	    PrintAliLandscape(stdout, cm, ali);
+	  else
+	    {
+	      printf("seq %2d: %s\n", i, seq);
+	      printf("        %s\n", khseq);
+	      puts("");
+	    }
+      
+	  free(ali);
+	  free(khseq);
+	  free(seq);
+	}
+    }
+
+  /*********************************************** 
+   * Cleanup and exit
+   ***********************************************/
+  
+  FreeCM(cm);
+  return 0;
+}
+  
diff --git a/eufind_const.h b/eufind_const.h
new file mode 100644
index 0000000..d445441
--- /dev/null
+++ b/eufind_const.h
@@ -0,0 +1,51 @@
+
+/* tRNA scanning cutoffs  */
+
+#define BBOX_CUTOFF -14.14
+#define BBOX_START_IDX 45
+
+#define SEC_LOBOUND -4.9    /* orig: -3.6 euk: -3.8  prok (hflu) -4.9 */
+#define SEC_HIBOUND -2.1     /* -2.2 */
+#define MAX_PENALTY -5.442   /* log(1/231) */
+
+
+#define INT_SCORE_THRESH -31.25
+#define TOT_SCORE_THRESH -31.8  /* -31.8 */
+
+#define MAX_AB_BOX_DIST 140  /* not used anymore, instead
+			     /* AB_BOX_DIST_RANGE used */
+#define MIN_AB_BOX_DIST 24
+#define AB_BOX_DIST_RANGE 116  /* check this far over MIN_AB_BOX
+			       /* distance for A-B box pairs */
+
+#define SEC_AB_BOX_DIST 26
+#define SEC_BBOX_DIST_CORR 12
+
+#define MIN_BTERM_DIST 11
+#define MAX_TERM_SEARCH 133   /* Max distance to search for termination
+			      signal (was 59, changed to 133 (as in
+			      Pavesi paper) on  11/96
+			      since was missing 4 yeast tRNAs */
+#define ABOX_LEN 21
+#define BBOX_LEN 11
+
+#define MAX_OVLAP 10        /* max #bp tRNA hits are allowed to
+			       overlap */
+
+struct trna_info_s {
+  char iso_type[5];
+  char acodon[4];
+  int start, end, 
+    Abox_st, Abox_end, Abox_gap, 
+    Bbox_st, Bbox_end, 
+    Term_st,
+    acodon_idx, intron, idno;
+  float totSc, AboxSc, BboxSc, ABdistSc, TermSc;
+};
+
+typedef struct trna_info_s TRNA_TYPE;
+
+
+
+
+
diff --git a/eufind_main.c b/eufind_main.c
new file mode 100644
index 0000000..609f460
--- /dev/null
+++ b/eufind_main.c
@@ -0,0 +1,294 @@
+
+/* eufindtRNA  - Eukaryotic tRNA finder
+ *
+ * C implementation of algorithm described by Pavesi, Conterio, 
+ * Bolchi, Dieci, & Ottonello in NAR 22:1247-56 (94)
+ * "Identification of new eukaryotic tRNA genes in genomic DNA
+ * databases by a multistep weight matix analysis of transcriptional
+ * control regions"
+ *
+ * To be used in tRNAscan-SE package to increase sensitivity by
+ * complementing tRNAscan 1.3 first-pass scan
+ *
+ * by Todd MJ Lowe    4/8/96
+ *
+ * Uses Sean Eddy's function library for biological sequence analysis
+ * (Squid v1.5g)
+ *
+ * v1.1: Small bug fixed 8/2000 that caused second of two consecutive tRNAs 
+ * (within 40bp) to be missed if the second tRNA scored lower than the first
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "squid.h"
+#include "sqfuncs.h"
+#include "eufind_const.h"
+
+char eufind_version[] = "1.1";
+char eufind_date[]    = "Aug 2000";
+
+
+#define OPTIONS "ho:l:X:I:rsDFi:"
+char usage[] = "\n\
+Usage: eufindtRNA [-options] <sequence file>\n\
+Find tRNAs in eukaryotic sequences\n\n\
+Available options:\n\
+-h             : help - print version and usage info\n\
+-o <outfile>   : save tRNAs in <outfile>\n\
+-r             : relaxed mode (no terminators searched for)\n\
+-s             : strict mode (discard tRNAs with missing terminators)\n\
+-l <length>    : set max intron+variable loop length (default=140)\n\
+-X <Score>     : manually set final score cutoff to <Score> (def=-31.8)\n\
+-I <Score>     : set cutoff for intermediate score (def=-31.25)\n\
+-D             : save tRNA score components (for Debugging)\n\
+-F             : don't check for uppercase or DNA alphabet\n\
+-i <integer>   : start nucleotide numbering at <integer> (def=1)\n\n";
+
+int
+main (int argc, char **argv)
+{
+  char  *seqfile;               /* file containing aligned seqs */
+  char  *outfile;               /* destination file for tRNAs   */
+  int       fmt;		/* format of seqfile  */
+  FILE     *outfp;                /* open outfile                 */
+  SQFILE   *seqfp; 
+  SQINFO    sqinfo;
+  int       i, errno,
+    ShowScores,                 /* flag for type of info output when
+				   saving tRNAs */
+    RelaxedMode,                /* flag for relaxed scanning mode, do
+				   not look for poly T terminator
+				   signal */
+    StrictMode,                 /* require poly T terminator */
+    NoReformat;                 /* flag to prevent extra work of 
+				/*   changing seqs to DNA & upper case */
+				/*   alphabet */
+
+  float  NoTermPenalty;         /* penalty val for tRNAs with no */
+                                /* poly T terminator */
+
+  long int sqoffset;           /* nucleotide numbering offset (set with -i param) */
+  char *seq, *revseq,                  /* sequence */
+    *iseq, *reviseq;           /* encoded seq & encoded reverse comp */
+  int strand,                  /* 1 for orig seq, -1 for rev comp */
+    seqidx;                    /* current position in seq */
+  float FirstScore,            /* initial (Bbox) logodds score  */ 
+    IntScore, TotScore,        /* cum tRNA logodds scores */
+    IntScoreCutoff,
+    TotScoreCutoff;            /* cutoff for reporting tRNAs */
+  TRNA_TYPE *tRNA, *prev_tRNA,
+    *swap_tRNA;                 /* current & previous tRNA info */
+  int Max_AB_dist;              /* max nuc. distance searched upstream */
+				/* of candidate B boxes for A boxes */
+  int tRNA_ct;
+
+  int          optchar;
+  extern char *optarg;
+  extern int   optind;
+
+  /***********************************************
+   * Parse command line
+   ***********************************************/
+
+  outfile    = NULL;
+  TotScoreCutoff = TOT_SCORE_THRESH;
+  IntScoreCutoff = INT_SCORE_THRESH;
+  Max_AB_dist = MIN_AB_BOX_DIST + AB_BOX_DIST_RANGE;
+  sqoffset = 0;
+  ShowScores = 0;
+  NoTermPenalty = MAX_PENALTY;
+  RelaxedMode = 0;
+  StrictMode = 0;
+  NoReformat = 0;
+  
+  while ((optchar = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optchar) {
+
+    case 'o': outfile    = optarg; break;
+    case 'h': 
+      printf("eufindtRNA %s, %s\n%s\n", eufind_version, eufind_date, usage);
+      exit(EXIT_SUCCESS);
+    case 'r': RelaxedMode = 1; break;
+    case 's': NoTermPenalty = 10*MAX_PENALTY; StrictMode = 1; break;
+    case 'X': TotScoreCutoff = atof(optarg); break;
+    case 'D': ShowScores = 1; break;
+    case 'F': NoReformat = 1; break;
+    case 'l': Max_AB_dist = MIN_AB_BOX_DIST + atof(optarg); break;
+    case 'I': IntScoreCutoff = atof(optarg); break;
+    case 'i': sqoffset = atof(optarg)-1; break;
+    default:
+      Die("%s\n", usage);
+    }
+
+  if (argc -optind != 1)
+    Die("Wrong number of arguments specified on command line\n%s\n", usage);
+
+  seqfile = argv[optind];
+
+  if (outfile == NULL)
+    outfp = stdout;
+  else if ((outfp = fopen(outfile, "w")) == NULL)
+    Die("Failed to open tRNA output file %s", outfile);
+
+  
+  if ((tRNA = (TRNA_TYPE *) malloc (sizeof(TRNA_TYPE))) == NULL)
+    Die("Memory failure, couldn't allocate tRNA memory\n");
+  if ((prev_tRNA = (TRNA_TYPE *) malloc (sizeof(TRNA_TYPE))) == NULL)
+    Die("Memory failure, couldn't allocate tRNA memory\n");
+
+    
+  /***********************************************
+   * Determine seq format & open for reading     *
+   ***********************************************/
+
+  if (! SeqfileFormat(seqfile, &fmt, NULL))
+    Die("Can't determine format of file %s\n", seqfile);
+  if ((seqfp = SeqfileOpen(seqfile, fmt, NULL)) == NULL)
+    Die("Failed to open sequence file %s for reading", seqfile);
+
+  while (ReadSeq(seqfp, fmt, &seq, &sqinfo)) {
+
+    if (ShowScores) 
+      printf ("Seq: %s\n",sqinfo.name);
+    
+    tRNA_ct = 0;
+
+    if (!NoReformat) {
+      ToDNA(seq); 
+      s2upper(seq);
+    }
+
+    /* allocate mem for integer-encoded seq (A=0,C=1,G=2,T=3) */
+    if ((iseq = calloc (sqinfo.len+2, sizeof(char))) == NULL)
+      Die("Memory failure, couldn't allocate sequence\n");
+    
+    /* integer-encode sequence */ 
+    if (errno = IntEncodeSeq(iseq,seq,sqinfo.len))
+      Die("Unable to encode sequence %s at base %d\n",
+	  sqinfo.name,errno);
+    
+    /* Search both strands (0=top strand, -1=bottom strand)  */
+    for (strand=0; strand >= -1; strand--) {
+
+      Init_tRNA(prev_tRNA);     /* clear previous tRNA */
+	
+      /* take reverse complement of encoded seq if searching bottom strand */
+      if (strand == -1) {
+	if ((revseq = calloc (sqinfo.len+2, sizeof(char))) == NULL)
+	  Die("Memory failure, couldn't allocate reverse sequence\n"); 
+	revcomp(revseq, seq);
+	free(seq);
+	seq = revseq;
+	if (IntEncodeSeq(iseq,seq,sqinfo.len))
+	  Die("Unable to encode sequence\n");
+      }
+      
+      
+      /***********************************************
+       * Find transcriptional promotor elements      *
+       ***********************************************/
+      
+      seqidx=BBOX_START_IDX-2;
+      while (GetBbox(&FirstScore,&seqidx,iseq,sqinfo.len,strand,
+		     ShowScores)) {
+
+	Init_tRNA(tRNA);
+	tRNA->Bbox_st = seqidx;
+	tRNA->Bbox_end = seqidx + BBOX_LEN-1;
+	tRNA->BboxSc = FirstScore;
+
+	if (((FirstScore >= SEC_LOBOUND) && 
+	     (FirstScore <= SEC_HIBOUND))
+	    && (GetSecABox(tRNA,seq))){
+
+	  if (!GetBestTrxTerm(tRNA,seq,sqinfo.len,NoTermPenalty) &&
+	      StrictMode) 
+	    continue;       /* look for next B box */ 
+
+	  strcpy(tRNA->acodon,"TCA");
+	  /*  tRNA->Bbox_end++; */
+	  tRNA->totSc = FirstScore;
+	}
+	
+	else {           /* Searching for non-SelCys tRNA */
+	  
+	  
+	  GetBestABox(tRNA,seq,iseq,sqinfo.len,strand,ShowScores,
+		      Max_AB_dist,prev_tRNA->Abox_st);
+	  IntScore = tRNA->AboxSc + tRNA->BboxSc + tRNA->ABdistSc;
+	  if (IntScore < IntScoreCutoff) 
+	    continue;               /* look for next B box */ 
+	  
+	  if (!RelaxedMode) {
+	    if (!GetBestTrxTerm(tRNA,seq,sqinfo.len,NoTermPenalty) &&
+		StrictMode)
+	      continue;
+	    TotScore = IntScore + tRNA->TermSc;
+	    if (TotScore < TotScoreCutoff) 	      
+	      continue;               /* look for next B box */ 
+
+	    tRNA->totSc = TotScore;
+	  }
+	  else 
+	    tRNA->totSc = IntScore;
+
+	}
+	
+	Get_tRNA_stats(tRNA,seq,sqinfo.len,strand);
+	
+	if (tRNAOverlap(tRNA,prev_tRNA,strand)) {
+	  
+	  if  (tRNA->totSc < prev_tRNA->totSc) {
+	    Init_tRNA(tRNA);  /* skip repeat tRNA */
+	  }
+	  else {           /* swap, but don't save yet */
+	    
+	    swap_tRNA = prev_tRNA;
+	    prev_tRNA = tRNA;
+	    Init_tRNA(swap_tRNA);
+	    tRNA = swap_tRNA;
+	  }      
+	}
+	else {             /* no overlap, save & then swap */
+
+	  if (prev_tRNA->start > 0) {
+	    prev_tRNA->idno = ++tRNA_ct;	  
+	    Save_tRNA(prev_tRNA,&sqinfo,seq,strand,ShowScores,sqoffset);
+	  }
+	  swap_tRNA = prev_tRNA;
+	  prev_tRNA = tRNA;
+	  Init_tRNA(swap_tRNA);
+	  tRNA = swap_tRNA;
+	}
+
+      }  /* find B box */
+      
+      /* save last buffered tRNA before going to other strand */
+
+      if (prev_tRNA->start > 0) {
+	prev_tRNA->idno = ++tRNA_ct;	  
+	Save_tRNA(prev_tRNA,&sqinfo,seq,strand,ShowScores,sqoffset);
+      }
+      
+    }   /* search both strands  */
+        
+    FreeSequence(seq, &sqinfo);
+    free(iseq);
+  }
+  
+  SeqfileClose(seqfp);
+  fclose(outfp);
+  return 0;
+}
+
+  
+
+
+
+
+
+
+
+
diff --git a/fast-dbviterbi.c b/fast-dbviterbi.c
new file mode 100644
index 0000000..2f71a10
--- /dev/null
+++ b/fast-dbviterbi.c
@@ -0,0 +1,485 @@
+/* fast-dbviterbi.c
+ * SRE, Fri Sep 30 15:09:06 1994
+ * 
+ * Search with a covariance model
+ * Fast "banded search" version of dbviterbi.c; subsequence
+ * lengths are bounded by probabilistically determined bounds.
+ *
+ **********
+ *
+ * To optimize memory access patterns, the score storage is implemented
+ * as a two-matrix version. amx is the
+ * main storage. bmx is a smaller auxiliary matrix with a different
+ * access pattern, holding scores of BEGIN state alignments; it
+ * is used when calculating BIFURC scores.
+ *
+ * amx is [j = 0..1] [y = 0..statenum] [diff = 0..j] 
+ *  diff == 0 is for off-diagonal boundary conditions (this is why diff is shifted +1)
+ *  diff == 1 is for the diagonal, i==j
+ *  We only need to keep two j rows in memory (current and previous).
+ * Note that this is yet *another* memory access pattern and it's different
+ * from dbviterbi.c!!!
+ *
+ * bmx is [y = 0..statenum] [j = 0..N] [ diff = 0..j]
+ *   a j,diff matrix exists only where y is a BEGIN state
+ *
+ * The 2.0 implementation allows variable storage per node rather
+ * than storing and calculating a fixed max number of states per node, 
+ * which should save up to 2x in both time and space.
+ *
+ * An optimization is made which requires END states to be explicitly
+ * added, so statenum (the number of states in the integer model)
+ * is *inclusive* of ENDs.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "squid.h"
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+static int  allocate_mx(struct istate_s *icm, int statenum, int window,	
+			int ****ret_amx, int ****ret_bmx);
+static int  init_mx    (struct istate_s *icm, int statenum, int N, 
+			int ***amx, int ***bmx);
+static int  recurse_mx (struct istate_s *icm, int statenum, int *minb, int *maxb,
+			char *seq, int seqlen, 
+			int window, int ***amx, int ***bmx, int ithresh, 
+			int (*gotone_f)(int, int, double));
+static void free_mx    (int ***amx, int ***bmx, int statenum, int window);
+
+
+/* Function: FastViterbiScan()
+ * 
+ * Purpose:  Scanning version of the Viterbi alignment algorithm,
+ *           for finding matches in a long sequence. 
+ *
+ * Args:     icm       - the model to align sequence to (int log-odds)
+ *           statenum  - length of model in states (inclusive of END)
+ *           minb      - minimum length bounds for states
+ *           maxb      - maximum length bounds for states            
+ *           seq       - sequence to align model to
+ *           window    - scanning window size (nucleotides)
+ *           thresh    - scores above this are reported through gotone_f()
+ *           gotone_f  - function which gets told about a match
+ *                       
+ * Return:   1 on success, 0 on failure.                      
+ */       
+int
+FastViterbiScan(struct istate_s *icm, int statenum, int *minb, int *maxb,
+		char *seq, int window, double thresh,
+		int (*gotone_f)(int, int, double))
+{
+  int   ***amx;			/* the main score matrix     */
+  int   ***bmx;                 /* the BEGIN score matrix    */
+  int      N;			/* length of sequence        */
+  int      ithresh;             /* thresh, converted and scaled to int */
+
+  N = strlen(seq);
+  seq--;			/* convert to 1..N. Ugh! */
+  ithresh = (int) (thresh * INTPRECISION);
+
+  if (! allocate_mx(icm, statenum, window, &amx, &bmx)) return 0;
+#ifdef DEBUG
+  printf("allocated matrices\n");
+#endif
+
+  if (! init_mx(icm, statenum, window, amx, bmx)) return 0;
+#ifdef DEBUG
+  printf("matrices initialized\n");
+#endif
+  
+  if (! recurse_mx(icm, statenum, minb, maxb, seq, N, window, amx, bmx, ithresh, gotone_f)) 
+    return 0;
+#ifdef DEBUG
+  printf("recursion finished\n");
+#endif
+				/* terminate scanning hit reporting */
+  ReportScanHit(-1,-1, 0.0, gotone_f);
+  free_mx(amx, bmx, statenum, window);
+  return 1;
+}
+
+
+
+/* Function: allocate_mx()
+ * 
+ * Purpose:  Malloc space for the score matrices.
+ *           amx and atr are indexed as j, i, y.
+ *           bmx and btr are indexed as k, j, i.      
+ *           In the two sequence dimensions j, i they are
+ *           diagonal (+1 off diagonal) matrices with
+ *           rows j = 0..N, i = 1..j+1.
+ *           In the node dimension k bmx and btr are k = 0..M.
+ *           In the state dimension y amx and atr are y = 0..numstates.
+ *           
+ * Args:     icm      - the int, log-odds, state-based model
+ *           statenum - number of states in model
+ *           window   - length of scanning window
+ *           ret_amx  - RETURN: main score matrix
+ *           ret_bmx  - RETURN: BEGIN score matrix
+ * 
+ * Return:   Ptr to allocated scoring matrix, or
+ *           dies and exits.
+ */
+static int 
+allocate_mx(struct istate_s *icm,
+	    int              statenum,
+	    int              window,	
+	    int          ****ret_amx,
+	    int          ****ret_bmx)
+
+{
+  int    ***amx;              
+  int    ***bmx;
+  int     diag, j, y;		
+
+  /* Main matrix, amx: fastest varying index is y (j,i,y)
+   * we only keep two rows for j, 0 and 1.
+   */
+				/* malloc for j = 0..1 rows */
+  if ((amx = (int   ***) malloc (2 * sizeof(int   **))) == NULL)
+    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+
+  for (j = 0; j <= 1; j++)	/* loop over rows j = 0..1 */
+    {
+				/* malloc for diag = 0..window cols */
+      if ((amx[j] = (int **)   malloc ((window + 1) * sizeof(int   *))) == NULL)
+	Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+      
+				/* loop over cols diag = 0..window */
+      for (diag = 0; diag <= window; diag++)
+				/* malloc for y = 0..statenum-1 decks */
+	  if ((amx[j][diag] = (int *)   malloc ((statenum) * sizeof (int  ))) == NULL)
+	    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+    }
+
+  
+  /* B auxiliary matrix: fastest varying index is diag (y,j,diag)
+   * bmx keeps score decks for BEGIN states
+   */
+				/* 0..statenum-1 decks */
+  if ((bmx = (int ***)   malloc (statenum * sizeof(int   **))) == NULL)
+    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+
+  for (y = 0; y < statenum; y++)
+    {
+      bmx[y] = NULL;
+				/* we keep score info for BEGIN states */
+      if (icm[y].statetype == uBEGIN_ST)
+	{
+				/* j= 0..window-1 rows  */
+	  if ((bmx[y] = (int   **) malloc ((window) * sizeof(int   *))) == NULL)
+	    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+				/* diff = 0..window columns */
+	  for (j = 0; j < window; j++)
+	    if ((bmx[y][j] = (int   *) malloc ((window+1) * sizeof(int  ))) == NULL)
+	      Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+	}
+    }
+  *ret_amx = amx;
+  *ret_bmx = bmx;
+  return 1;
+}
+
+
+
+/* Function: free_mx()
+ * 
+ * Purpose:  Free the space allocated to the scoring and traceback matrices.
+ *           Precisely mirrors the allocations above in allocate_cvmx().
+ * 
+ * Return:   (void)
+ */
+static void
+free_mx(int    ***amx,
+	int    ***bmx,
+	int     statenum,
+	int     window)
+{
+  int diag, j, y;
+
+  /* Free the main matrix, amx: 
+   * amx[j][i][y] = [0..1] [0..window] [0..statenum-1]
+   */
+  for (j = 0; j <= 1; j++)
+    {
+      for (diag = 0; diag <= window; diag++)
+	free(amx[j][diag]);
+      free(amx[j]);
+    }
+  free(amx);
+
+  /* Free the auxiliary matrix, bmx 
+   * bmx[y][j][i] = [0..statenum-1] [0..window] [0..window]
+   */
+  for (y = 0; y < statenum; y++)
+    {
+      if (bmx[y] != NULL)
+	{
+	  for (j = 0; j < window; j++)
+	    free(bmx[y][j]);
+	  free(bmx[y]);
+	}
+    }
+  free(bmx);
+}
+
+
+
+/* Function: init_mx()
+ * 
+ * Purpose:  Initialization of the scoring matrices. We initialize the off-diagonal,
+ *           the diagonal, and the "floor" (end states) of the cube.
+ * 
+ * Return:   1 on success, 0 on failure.
+ */
+static int
+init_mx(struct istate_s *icm,          /* integer model  */
+	int              statenum,     /* number of states in icm */
+	int              window,       /* size of scanning window on sequence */
+	int           ***amx,
+	int           ***bmx)
+{
+  int diag, j, y;		/* counters for indices over the cvmx            */
+  int ynext;			/* index of next state k+1                       */
+  int *beam;                    /* z-axis vector of numbers in amx               */
+
+  /* Init the whole amx to -Infinity. We do this with memcpy, trying
+   * to be fast. We fill in j=0,diag=0 by hand, then memcpy() the other
+   * columns.
+   */
+  for (y = 0; y < statenum; y++)
+    amx[0][0][y] = amx[1][0][y] = NEGINFINITY;
+  for (diag = 1; diag <= window; diag++)
+    {
+      memcpy(amx[0][diag], amx[0][0], statenum * sizeof(int));
+      memcpy(amx[1][diag], amx[0][0], statenum * sizeof(int));
+    }
+
+  /* Init the whole bmx to -Inf. We know state 0 is a begin (it's ROOT), so we
+   * start there, and memcpy rows as needed.
+   */
+  for (diag = 0; diag <= window; diag++)  
+    bmx[0][0][diag] = NEGINFINITY;
+  for (j = 1; j < window; j++)
+    memcpy(bmx[0][j], bmx[0][0], (window+1) * sizeof(int));
+
+  for (y = 1; y < statenum; y++)
+    if (bmx[y] != NULL)
+      for (j = 0; j < window; j++)
+	memcpy(bmx[y][j], bmx[0][0], (window+1) * sizeof(int));
+  
+  /* Init the off-diagonal (j = 0..window-1; diag == 0) with -log P scores.
+   * End state = 0;
+   * del, bifurc states are calc'ed
+   * begin states same as del's
+   * THIS IS WASTEFUL AND SHOULD BE CHANGED.
+   */
+  for (j = 0; j < window; j++)
+    for (y = statenum-1; y >= 0; y--)
+      {
+	/* Set the alignment of END states to the off-diagonal (diag = 0)
+	 * to be zero, and never touch them again.
+	 */
+	if (icm[y].statetype == uEND_ST)
+	  amx[j%2][0][y] = 0; 
+
+	else if (icm[y].statetype == uBIFURC_ST)
+	  amx[j%2][0][y] = bmx[icm[y].tmx[0]][j][0] + bmx[icm[y].tmx[1]][j][0];
+
+	else if (icm[y].statetype == uDEL_ST || icm[y].statetype == uBEGIN_ST)
+	  {
+				/* only calc DEL-DEL and BEGIN-DEL transitions. Since
+				 * we optimized the state transition tables, removing
+				 * the unused ones, we don't know where the number
+				 * for "to DEL" is! But we can find it, because it'll
+				 * be the connection to a non-infinite score */
+	    beam = amx[j%2][0] + y + icm[y].offset;
+	    for (ynext = 0; ynext < icm[y].connectnum; ynext++)
+	      {
+		if (*beam != NEGINFINITY)
+		  amx[j%2][0][y] = *beam + icm[y].tmx[ynext];
+		beam++;
+	      }
+	  }
+				/* make a copy into bmx if y is a BEGIN */
+	if (icm[y].statetype == uBEGIN_ST)
+	  bmx[y][j][0] = amx[j%2][0][y];
+      }
+
+  return 1;
+}
+
+
+
+/* Function: recurse_mx()
+ * 
+ * Purpose:  Carry out the fill stage of the dynamic programming
+ *           algorithm. After each j row is filled in, check the score
+ *           of best full alignment ending at this row; if greater
+ *           than threshold (ithresh), report it.
+ *           
+ * Returns:  1 on success, 0 on failure.
+ */
+static int
+recurse_mx(struct istate_s *icm,      /* integer, state-form model */
+	   int              statenum, /* number of states in icm   */
+	   int             *minb,
+	   int             *maxb,
+	   char            *seq,      /* sequence, 1..seqlen       */
+	   int              seqlen,   /* length of seq             */
+	   int              window,   /* length of scanning window on seq */
+	   int           ***amx,      /* main scoring matrix       */
+	   int           ***bmx,      /* bifurc scoring matrix     */
+	   int              ithresh,  /* reporting threshold       */
+	   int            (*gotone_f)(int, int, double))
+{
+  int i, j, y;		        /* indices for 3 dimensions                    */
+  int aj;			/* 0 or 1, index for j in A matrix             */
+  int bj;			/* 0..window-1, index for j in B matrix        */
+  int diff;			/* loop counter for difference: diff = j-i + 1 */
+  int symi, symj;		/* symbol indices for seq[i], seq[j]           */
+  int sc;			/* tmp for a score                             */
+  int ynext;			/* index of next state y                       */
+  int bestdiff, bestscore;
+
+  int *beam;                    /* ptr to a beam (z-axis vector)               */
+  int  leftdiff;		/* diff coord of BEGIN_L of a bifurc     */
+  int  leftj;			/* j coord of BEGIN_L of a bifurc        */
+  int **left_p;			/* pointer into whole 2D deck of BEGINL's of a bifurc */
+  int *right_p;                 /* ptr into row of BEGIN_R's of a bifurc */
+  int   *scp;			/* score pointer: ptr into beam of scores being calc'ed */
+  struct istate_s *st;		/* state pointer: ptr at current state in icm */
+  int *tmx;
+  int  emitsc;
+
+  for (j = 1; j <= seqlen; j++)
+    {
+      aj = j % 2;		/* 0 or 1 index in amx      */
+      bj = j % window;          /* 0..window-1 index in bmx */
+      symj = SymbolIndex(seq[j]);      
+
+      for (y = statenum-1; y >= 0; y--)
+	{
+	  st  = &icm[y];
+	  for (diff = minb[y]; diff <= maxb[y] && diff <= j; diff++)
+	    {
+	      i = j - diff + 1;
+	      symi = SymbolIndex(seq[i]);
+	      scp = &amx[aj][diff][y];
+
+	      if (st->statetype != uBIFURC_ST)	/* a normal (non-BIFURC) state */
+		{
+		    /* Connect the "beam" pointer to the appropriate
+		     * starting place in the ynext scores we're connecting
+		     * y to
+		     */
+		  switch (st->statetype) {
+		  case uBEGIN_ST:
+		  case uDEL_ST:
+		    beam   = amx[aj][diff];    
+		    emitsc = 0;    
+		    break;
+		  case uMATP_ST: /* !aj toggles from 0 to 1 and vice versa */
+		    if (diff == 1) continue;
+		    beam   = amx[!aj][diff-2]; 
+		    emitsc = st->emit[symi * ALPHASIZE + symj];
+		    break; 
+		  case uMATR_ST:
+		  case uINSR_ST:
+		    beam   = amx[!aj][diff-1];
+		    emitsc = st->emit[symj];
+		    break;
+		  case uMATL_ST:
+		  case uINSL_ST:  
+		    beam   = amx[aj][diff-1];   
+		    emitsc = st->emit[symi];
+		    break;
+		  case uEND_ST:   
+		    continue;
+		  default: Die("no such state type %d", st->statetype);
+		  }
+		  beam  += y + st->offset;
+		  tmx  = st->tmx;
+
+		  /* Init for ynext == 0 case 
+		   */		
+		  *scp = *beam + *tmx;
+		    
+		  /* Calculate remaining cases
+		   */
+		  for (ynext = 1; ynext < st->connectnum; ynext++)
+		    {
+		      beam++;
+		      tmx++;
+		      if (*beam > *scp)
+			{
+			  sc = *beam + *tmx;
+			  if (sc > *scp)
+			    *scp = sc;
+			}
+		    }
+		    
+		  /* Add emission scores now
+		   */
+		  *scp += emitsc;
+		    
+		  /* Make a copy into bmx, btr if necessary
+		   */
+		  if (st->statetype == uBEGIN_ST)
+		    bmx[y][bj][diff] = *scp;
+		} /* end block of normal state stuff */
+		
+	      else		/* a BIFURC state */
+		{
+		  leftdiff = diff;
+		  leftj    = bj;
+		  right_p  = bmx[st->tmx[1]][leftj];
+		  left_p   = bmx[st->tmx[0]];
+
+				/* init w/ case that left branch emits it all */
+		  *scp = left_p[leftj][leftdiff] + *right_p;
+		  while (leftdiff > 0)
+		    {
+		      leftdiff--;
+		      leftj = leftj ? leftj-1 : window-1; /* scan window wraparound */
+		      right_p++;
+			
+		      sc = left_p[leftj][leftdiff] + *right_p;
+		      if (sc > *scp)
+			*scp = sc;
+		    }
+		}
+		
+	    } /* end loop over states */
+	} /* end loop over diff */
+
+      /* We've completed a row. Now we can examine the scores in diff, 
+       * aj, ROOT_ST to decide whether to report this row. If we do, 
+       * we report the 1..seqlen i, j coords of the matching subsequence
+       * in seq, as well as the score converted to double-precision bits.
+       */
+      bestdiff  = 1;
+      bestscore = bmx[0][bj][1];
+      for (diff = 2; diff <= window; diff++)
+	if (bmx[0][bj][diff] > bestscore)
+	  {
+	    bestscore = bmx[0][bj][diff];
+	    bestdiff  = diff;
+	  }
+      if (bestscore > ithresh)
+	if (! ReportScanHit(j - bestdiff + 1, j, (double)(bestscore / INTPRECISION), gotone_f))
+	  Warn("caller ignored report of a match!");
+      } /* end loop over j */
+  
+  return 1;
+}
+
diff --git a/fasta2gsi.pl b/fasta2gsi.pl
new file mode 100644
index 0000000..48f906c
--- /dev/null
+++ b/fasta2gsi.pl
@@ -0,0 +1,120 @@
+#! /usr/bin/perl
+
+# Usage: fasta2gsi.perl <seqfile>
+# Creates seqfile.gsi
+#
+# Create a .gsi sequence database index file.
+#
+# GSI allows multiple files per index, but fasta2gsi.pl
+# creates a GSI index for a single FASTA file.
+#
+# Part of the SQUID sequence analysis library.
+# Copyright (C) 1992-1996 Sean R. Eddy
+
+
+$seqfile = shift;
+$gsifile = $seqfile.".gsi";
+$tmpfile = $seqfile.".tmpgsi";
+
+# Library of Perl functions for creating GSI index files.
+#
+# GSI definition: 
+#    1 + <nfiles> + <nkeys> total records.
+#    Each record = 38 bytes.
+#
+#  one header record     :  <"GSI"    (32)> <nfiles (2)> <nkeys (4)> 
+#  <nfiles> file records :  <filename (32)> <fileno (2)> <fmt   (4)> 
+#  <nkeys>  key records  :  <key      (32)> <fileno (2)> <offset(4)> 
+#
+# Part of the SQUID sequence analysis library.
+# Copyright (C) 1992-1996 Sean R. Eddy
+
+
+# The following numbers MUST match their counterparts in squid.h
+#
+$sqd_fmt_genbank = 2;
+$sqd_fmt_embl    = 4;
+$sqd_fmt_fasta   = 7;
+$sqd_fmt_pir     = 12;
+ 
+# Function: GSI_WriteHeader(GSIFILE, $filenum, $keynum)
+# 
+# Write the header of an open GSI file.
+#
+sub GSI_WriteHeader {
+    local(*GSIFILE, $filenum, $keynum) = @_;
+    local($header); 
+    $header = pack("a32 n N", "GSI", $filenum, $keynum);
+    print GSIFILE $header;
+    1;
+}
+
+# Function: GSI_WriteFileRecord(GSIFILE, $filename, $idx, $fmt)
+#
+# Write a file record to an open GSI file.
+#
+sub GSI_WriteFileRecord {
+    local(*GSIFILE, $filename, $idx, $fmt) = @_;
+    local($record);
+    $record = pack("a32 n N", $filename, $idx, $fmt);
+    print GSIFILE $record;
+    1;
+}
+    
+# Function: GSI_WriteKeyRecord(GSIFILE, $key, $filenum, $offset)
+#
+# Write a key record to an open GSI file.
+#
+sub GSI_WriteKeyRecord {
+    local(*GSIFILE, $key, $filenum, $offset) = @_;
+    local($record);
+    $record = pack("a32 n N", $key, $filenum, $offset);
+    print GSIFILE $record;
+    1;
+}
+
+
+ 
+
+# First pass. Create an unsorted flat text file.
+#
+$curr_offset = 0;
+$recnum      = 0;
+print "Calculating offsets for $seqfile...\n";
+open(TMPFILE,">$tmpfile");
+open(SEQFILE,$seqfile);
+while (<SEQFILE>)
+{
+    if (($key) = /^>\s*(\S+)/)
+    {
+	print TMPFILE "$key 1 $curr_offset\n";
+	$recnum++;
+    }
+    $curr_offset = tell;
+}
+close(SEQFILE);
+close(TMPFILE);
+
+# Sort the temporary file alphabetically on the key.
+print "Sorting the intermediate index file...\n";
+system("sort -o $tmpfile $tmpfile");
+
+# Second pass. Convert flat text file to binary GSI.
+#
+print "Writing the final binary GSI file...\n";
+open(GSIFILE,">$gsifile");
+&GSI_WriteHeader(GSIFILE, 1, $recnum);
+&GSI_WriteFileRecord(GSIFILE, $seqfile, 1, $sqd_fmt_fasta);
+
+open(TMPFILE,$tmpfile);
+while (<TMPFILE>)
+{
+    ($key, $filenum, $offset) = split;
+    &GSI_WriteKeyRecord(GSIFILE, $key, $filenum, $offset);
+}			
+close(TMPFILE);
+close(GSIFILE);
+unlink $tmpfile;
+
+print "Complete.\n";
+print "$gsifile indexes $recnum sequence names.\n";
diff --git a/fastmodelmaker.c b/fastmodelmaker.c
new file mode 100644
index 0000000..fbf8de2
--- /dev/null
+++ b/fastmodelmaker.c
@@ -0,0 +1,604 @@
+/* fastmodelmaker.c
+ *
+ * Construct a covariance model from an alignment, using an approximate 
+ * but fast algorithm. Complexity is N^2 in memory, N^3 in time. Get
+ * back a covariance model, and information contents in bits for
+ * both primary and secondary structure.
+ *
+ *   - use Stormo/Gutell MIXY algorithm to calculate pairwise covariances
+ *     for all aligned column pairs i,j. This produces the matrix **mxy;
+ *     it is indexed 0..alen-1 by 0..alen-1, as a flipped diagonal matrix
+ *     mxy[j][i], j > i. The diagonal (i == j) is unused (and unallocated 
+ *     for).
+ *
+ *   - use a quick and dirty Zuker-like algorithm to reduce this N^2 
+ *     matrix to the optimal model of non-overlapping chords. This 
+ *     produces the matrix **zmat. zmat is a flipped diagonal matrix, 
+ *     zmat[j][i], j >= i. The diagonal (i==j) is initialized to zero. 
+ *     All other cells take on positive values, summing covariances.
+ *     
+ *   - traceback thru the zmat matrix and construct a dynamic binary 
+ *     tree *ztr, excluding inserted columns. *ztr 
+ *     is constructed much the same as a normal traceback tree is constructed.
+ *     emitl and emitr store the 0..alen-1 indices of the column this node is
+ *     responsible for, even for BEGIN and BIFURC nodes. type is
+ *     a node type (MATP_NODE), not a state type.
+ *     Note that these are exceptions to the indexing scheme used
+ *     by traceback structures everywhere else!
+ *
+ *   - Then, for each *individual* sequence, construct a fake traceback based
+ *     on *ztr. Use these tracebacks to collect statistics from the alignment
+ *     and initialize probabilities in a new model.
+ */    
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "version.h"
+#include "squid.h"
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+
+static void mixy(char **aseq, int nseq, int alen, int ***ret_mixy);
+static void free_mixy(int **mxy, int acol);
+static void zfill(int **mxy, int acol, int ***ret_zmat, double *ret_sum);
+static void free_zmat(int **zmat, int acol);
+static void ztrace(int **zmat, double *gapfq, double gapthresh, int **mxy, 
+		   int acol, struct trace_s **ret_ztr);
+
+#ifdef DEBUG
+static void dump_mixy(int **mxy, int alen);
+static void dump_zmat(int **zmat, int alen);
+static void dump_ztr(struct trace_s *ztr);
+#endif /* DEBUG */
+
+/* Function: Fastmodelmaker()
+ * 
+ * Purpose:  Given a sequence alignment, construct a reasonable
+ *           starting model. Returns the model, as well as numbers
+ *           for the primary and secondary structure information
+ *           content of the alignment.
+ *
+ * Args:     aseqs       - sequence alignment. 
+ *           ainfo       - info about the alignment
+ *           nseq        - number of sequences
+ *           prior       - prior distributions for CM construction
+ *           gapthresh   - over this fraction of gaps, assign to INS
+ *           ret_secinfo - RETURN: sec structure info content (bits) (maybe NULL)
+ *           ret_cm      - RETURN: new model                         (maybe NULL)
+ *           ret_mtr     - RETURN: master traceback for aseqs        (maybe NULL)
+ *           
+ * Return:   1 on success, 0 on failure.
+ */
+int
+Fastmodelmaker(char **aseqs, AINFO *ainfo, int nseq, struct prior_s *prior,
+	       double gapthresh, double *ret_secinfo, 
+	       struct cm_s **ret_cm, struct trace_s **ret_mtr)
+{
+  struct cm_s *cm;
+  int        **mxy;
+  int        **zmat;
+  int          M;
+  double       secinfo;
+  double      *gapfq;           /* frequencies of gap occurrence per column */
+  struct trace_s  *ztr;
+  struct trace_s  *tr;          /* individual traceback      */
+  struct trmem_s  *pool;	/* memory pool for traceback */
+  int          idx;
+  int          gaps;
+  int          apos;
+
+  /* Precalculate gap frequencies seen in each column of alignment
+   */
+  if ((gapfq = (double *) malloc (sizeof(double) * ainfo->alen)) == NULL)
+    Die("malloc failed, line %d file %s", __LINE__, __FILE__);
+  for (apos = 0; apos < ainfo->alen; apos++)
+    {
+      gaps = 0;
+      for (idx = 0; idx < nseq; idx++)
+	if (isgap(aseqs[idx][apos])) gaps++;
+      gapfq[apos] = (double) gaps / (double) nseq;
+    }
+
+				/* build Mxy matrix */
+  mixy(aseqs, nseq, ainfo->alen, &mxy); 
+				/* dynamic programming fill of zmat, using mxy */
+  zfill(mxy, ainfo->alen, &zmat, &secinfo);
+				/* traceback of zmat to make ztr tree */
+  ztrace(zmat, gapfq, gapthresh, mxy, ainfo->alen, &ztr);
+/*  PrintTrace(stdout, ztr); */
+
+  NumberMasterTrace(ztr, &M);
+				/* allocate for a model */
+  if ((cm = AllocCM(M)) == NULL) Die("AllocCM() failed");
+  TopofyNewCM(cm, ztr);
+
+  /* For each sequence: convert consensus tree ztr to individual fake traceback.
+   * Count traceback into new model. 
+   */
+  for (idx = 0; idx < nseq; idx++)
+    {
+      Transmogrify(ztr, aseqs[idx], &tr, &pool);
+
+      if (! TraceCount(cm, aseqs[idx], 
+		       (ainfo->sqinfo[idx].flags & SQINFO_WGT) ? 
+		       ainfo->sqinfo[idx].weight : 1.0, 
+		       tr))  
+	Die("TraceCount() failed");
+
+      FreeTrace(tr, pool);
+    }
+
+  if (! VerifyCM(cm))
+    Die("Bad cm after trace counts.");
+
+				/* convert CM to probabilities */
+  ProbifyCM(cm, prior);
+				/* garbage collect & return */
+  free_mixy(mxy, ainfo->alen);
+  free_zmat(zmat, ainfo->alen);
+  free(gapfq);
+
+  if (ret_mtr != NULL)     *ret_mtr     = ztr; else FreeTrace(ztr, NULL);
+  if (ret_cm != NULL)      *ret_cm      = cm;  else FreeCM(cm);
+  if (ret_secinfo != NULL) *ret_secinfo = secinfo / (double) nseq;
+  return 1;
+}
+
+
+
+
+/* Function: mixy()
+ * 
+ * Purpose:  given a set of N aligned sequences aseq, calculate
+ *           pairwise covariances (mutual information). ret_mixy
+ *           is allocated, filled, and returned, as a diagonal 2D 
+ *           (NxN) matrix of values. It must be freed by 
+ *           the caller. It is a lower diagonal matrix mxy[j][i],
+ *           j > i, 0..alen-1 by 0..j-1.
+ *
+ *           The values in mxy are integers. They are the average
+ *           secondary structure information content (i.e. weighted for
+ *           the number of pairs actually occurring in columns i,j)
+ *           in bits, to two decimal places (i.e. info*100).
+ *           
+ * Returns:  mxy, which must be free'd by caller with free_mixy().
+ */          
+static void
+mixy(char    **aseq,            /* array of aligned sequences, flushed right  */
+     int       nseq,		/* number of aligned sequences */
+     int       alen,		/* length of each sequence (all the same)  */
+     int    ***ret_mxy)         /* RETURN: mxy array           */
+{
+  int    **mxy;                 /* RETURN: diagonal covariance matrix  */
+  float   fx[ALPHASIZE];        /* singlet frequency vector            */
+  float   fy[ALPHASIZE];	/* another singlet frequency vector    */
+  float   fxy[ALPHASIZE][ALPHASIZE]; /* pairwise frequency 2D array    */
+  int     idx;			/* counter for sequences               */
+  int     i, j;			/* counters for columns x,y            */
+  int     symi, symj;		/* counters for symbols                */
+  int     pairs;		/* counter for pairs in which there are no gaps */
+  long    test;
+
+  /* Allocate for mxy
+   */
+  if ((mxy = (int **) malloc (alen * sizeof(int *))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  for (j = 1; j < alen; j++)
+    if ((mxy[j] = (int *) malloc (j * sizeof(int))) == NULL)
+      Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+
+  test = (long) mxy[20];
+
+  /* calculate mxy
+   */
+  for (j = 1; j < alen; j++)
+    for (i = 0; i < j; i++)
+      {
+				/* zero counter array */
+	for (symj = 0; symj < ALPHASIZE; symj++)
+	  {
+	    fx[symj] = fy[symj] = 0.0;
+	    for (symi = 0; symi < ALPHASIZE; symi++)
+	      fxy[symj][symi] = 0.0;
+	  }
+				/* count symbols in a column */
+	pairs = 0;
+	for (idx = 0; idx < nseq; idx++)
+	  {
+	    if (isgap(aseq[idx][i]) || isgap(aseq[idx][j]))
+	      continue;
+
+	    symi = SymbolIndex(aseq[idx][i]);
+	    symj = SymbolIndex(aseq[idx][j]);
+	    
+	    fx[symi] += 1.0;
+	    fy[symj] += 1.0;
+	    fxy[symi][symj] += 1.0;
+	    pairs++;
+	  }
+
+				/* convert to frequencies */
+	if (pairs > 0)
+	  for (symi = 0; symi < ALPHASIZE; symi++)
+	    {
+	      fx[symi] /= (float) pairs;
+	      fy[symi] /= (float) pairs;
+	      for (symj = 0; symj < ALPHASIZE; symj++)
+		fxy[symi][symj] /= (float) pairs;
+	    }
+
+	/* calculate mxy. 144.269504 is a conversion of ln's into
+         * bits * 100: i.e. 100 * (1/log(2)) 
+	 */
+	mxy[j][i] = 0;
+	for (symi = 0; symi < ALPHASIZE; symi++)
+	  for (symj = 0; symj < ALPHASIZE; symj++)
+	    {
+	      if (fxy[symi][symj] > 0.0)
+		mxy[j][i] += (int) (144.269504 * fxy[symi][symj] *
+				    log((fxy[symi][symj] / (fx[symi] * fy[symj]))));
+	    }
+
+	/* Sat Jul 17 22:17:17 1993:  We weight by pairs to get an expected score
+	 * over all the sequences. Fixes a problem that columns with few symbols
+         * could dominate the calculation just because of noise. 
+	 */
+	mxy[j][i] =  (mxy[j][i] * pairs) / nseq;
+      }
+
+  /* dump debugging info
+   */
+
+#ifdef DEBUG
+  dump_mixy(mxy, alen);
+#endif
+  *ret_mxy = mxy;
+}
+
+
+
+/* Function: free_mixy()
+ * 
+ * Purpose:  free the space allocated for a flipped diagonal
+ *           covariance matrix. To do this we also need to
+ *           know alen, the number of columns in the starting
+ *           sequence alignment.
+ *
+ * Returns:  (void)          
+ */              
+static void
+free_mixy(int    **mxy,
+	  int      alen)
+{
+  int j;
+
+  for (j = 1; j < alen; j++)
+    free(mxy[j]);
+  free(mxy);
+}
+
+
+
+
+/* Function: zfill()
+ * 
+ * Purpose:  Calculate the optimal structure for a covariance matrix
+ *           produced by mixy(). Uses a way-simplified form of the 
+ *           Zuker/Nussinov dynamic programming RNA folding algorithm
+ *           to find the structure which a) the emitted pairs sum
+ *           to a maximum number of bits of covariance and b)
+ *           has no overlapping chords (no pseudoknots). The dynamic
+ *           programming matrix is allocated, filled, and returned.
+ *           
+ * Returns:  ret_zmat is returned thru a passed pointer; it must be 
+ *           free'd by the caller using free_zmat().
+ */
+static void
+zfill(int     **mxy,             /* diagonal covariance matrix from mixy()    */
+      int       acol,		 /* size of mxy; number of aligned columns    */
+      int    ***ret_zmat,        /* RETURN: filled dynamic programming matrix */
+      double   *ret_sum)	 /* RETURN: total sum of Mxy for tree (bits)  */
+{
+  int    **zmat;
+  int      i, j;
+  int      diff;
+  int      mid;
+
+  /* Allocations.
+   * zmat is a flipped diagonal matrix, inclusive of the diagonal;
+   *  positions on both axes are numbered 0..acol-1.
+   */  
+  if ((zmat = (int **) malloc (acol * sizeof (int *))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  for (j = 0; j < acol; j++)
+    if ((zmat[j] = (int *) malloc ((j+1) * sizeof(int))) == NULL)
+      Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  
+  /* Initialization.
+   * We initialize the diagonal to 0.
+   */
+  for (j = 0; j < acol; j++)
+    zmat[j][j] = 0;
+
+  /* Dynamic programming stage.
+   * Our recursion is:
+   *    Sij = max { Si+1,j  (emit left, no covariance)
+   *                Si,j-1  (emit right, no covariance)
+   *                Si+1,j-1 + mxy[j][i].
+   *                max over mid: Si,mid + Smid+1,j (bifurcation)
+   *                }
+   */
+  for (diff = 1; diff < acol; diff++)
+    for (i = 0; (j = i+diff) < acol; i++)
+      {
+	if (j-1 >= i+1)
+	  zmat[j][i] = zmat[j-1][i+1] + mxy[j][i];
+	else
+	  zmat[j][i] = mxy[j][i];
+	if (zmat[j][i+1] > zmat[j][i])
+	  zmat[j][i] = zmat[j][i+1];
+	if (zmat[j-1][i] > zmat[j][i])
+	  zmat[j][i] = zmat[j-1][i];
+	for (mid = i+1; mid < j-1; mid++)
+	  if (zmat[mid][i] + zmat[j][mid+1] > zmat[j][i])
+	    zmat[j][i] = zmat[mid][i] + zmat[j][mid+1];
+      }
+
+  /* Return
+   */
+#ifdef DEBUG
+  dump_zmat(zmat, acol);
+#endif
+
+  *ret_sum  = (double) zmat[acol-1][0] / 100.0;
+  *ret_zmat = zmat;
+}
+
+
+static void
+free_zmat(int    **zmat,
+	  int      acol)
+{
+  int j;
+  
+  for (j = 0; j < acol; j++)
+    free(zmat[j]);
+  free(zmat);
+}
+
+
+
+/* Function: ztrace()
+ * 
+ * Purpose:  Traceback through the dynamic programming matrix constructed
+ *           by zfill(). Constructs a dynamic binary tree (ztr) of ztrace_s 
+ *           structures, which keep track of both topology and the
+ *           order in which various aligned columns are emitted.
+ *           
+ *           ztr ends up being the "shell" or template upon which the
+ *           final model is built. ztr captures the branching structure
+ *           of the model tree.
+ *           
+ *           Inserts are dealt with at this point. Columns with a gap frequency
+ *           exceeding gapthresh are excluded from ztr. The final tree ztr contains
+ *           MATR, MATL, MATP nodes only (with BEGIN and BIFURC of course).
+ *         
+ * Data:     ztr: a traceback tree.
+ *                emitl = index of column emitted left (0..acol-1) 
+ *                        or -1          
+ *                emitr = index of column emitted right (0..acol-1)
+ *                        or -1
+ *                nodeidx = index of node in new model
+ *                type   = type of node (MATP_NODE, etc.)
+ *                        
+ * Return:   ret_ztr is allocated here and must be free'd by the caller.
+ */
+static void
+ztrace(int    **zmat,           /* dynamic programming matrix from zfill()  */
+       double  *gapfq,          /* frequencies of gaps in columns 0..acol-1 */
+       double   gapthresh,      /* above this, column is INS-generated      */
+       int    **mxy,            /* the covariance matrix from mixy()        */
+       int      acol,		/* number of aligned columns (size of zmat) */
+       struct trace_s **ret_ztr)/* RETURN: binary tree of best structure    */
+{
+  struct trace_s *ztr;          /* binary tree of best structure       */
+  struct trace_s *curr_ztr;     /* ptr to node of ztr we're working on */
+  struct tracestack_s *dolist;  /* pushdown stack of active ztr nodes  */
+  int i,j;			/* coords in zmat (0..acol-1)          */
+  int mid;                      /* midpoint of a bifurcation           */
+
+  /* Initialize.
+   * Start at i = 0, j = acol-1 and work towards diagonal.
+   */
+  InitTrace(&ztr, NULL);        /* start a trace tree */
+  dolist  = InitTracestack();	/* start a stack for traversing the trace tree */
+				/* start with root aligned to 0..acol-1 */
+  curr_ztr = AttachTrace(ztr, NULL, 0, acol-1, -1, ROOT_NODE);
+  curr_ztr = AttachTrace(curr_ztr, NULL, 0, acol-1, -1, -1);
+  PushTracestack(dolist, curr_ztr);
+  
+  while ((curr_ztr = PopTracestack(dolist)) != NULL)
+    {
+				/* where we are now in the traceback. */
+      i = curr_ztr->emitl;
+      j = curr_ztr->emitr;
+
+				/* dummy END state on trace tree leaves. */
+      if (i > j) curr_ztr->type = uEND_ST; /* never executes. */
+
+				/* watch out for diagonal, where j-1,i+1 is nonsense */
+      else if (i == j)		/* default to push-left; i is explained */
+	{
+	  curr_ztr->type  = MATL_NODE;
+	  curr_ztr->nxtl->emitl = i+1;
+	  curr_ztr->nxtl->emitr = j;
+	}
+
+      else if (j-1 == i && zmat[j][i] == mxy[j][i])
+	{
+	  curr_ztr->type = MATP_NODE;
+	  curr_ztr->nxtl->emitl = i+1;
+	  curr_ztr->nxtl->emitr = j-1;
+	}
+
+      else if (zmat[j][i] == zmat[j-1][i+1] + mxy[j][i])
+	{		
+	  curr_ztr->type = MATP_NODE;
+	  if (j-1 >= i+1)
+	    PushTracestack(dolist, AttachTrace(curr_ztr, NULL, i+1, j-1, -1,-1));
+	  else
+	    {
+	      curr_ztr->nxtl->emitl = i+1;
+	      curr_ztr->nxtl->emitr = j-1;
+	    }
+	}      
+      else if (zmat[j][i] == zmat[j][i+1])
+	{		
+	  curr_ztr->type  = MATL_NODE;
+	  if ( j >= i+1)
+	    PushTracestack(dolist, AttachTrace(curr_ztr, NULL, i+1, j, -1,-1));
+	  else
+	    {
+	      curr_ztr->nxtl->emitl = i+1;
+	      curr_ztr->nxtl->emitr = j;
+	    }
+	}
+
+      else if (zmat[j][i] == zmat[j-1][i])
+	{
+	  curr_ztr->type = MATR_NODE;
+	  if ( j-1 >= i)
+	    PushTracestack(dolist, AttachTrace(curr_ztr, NULL, i, j-1, -1,-1));
+	  else
+	    {
+	      curr_ztr->nxtl->emitl = i;
+	      curr_ztr->nxtl->emitr = j-1;
+	    }
+	}
+
+      else
+	{
+	  for (mid = i+1; mid < j-1; mid++)
+	    if (zmat[j][i] == zmat[mid][i] + zmat[j][mid+1])
+	      {
+		struct trace_s *branch;
+
+				/* the current node is a bifurc node */
+		curr_ztr->type  = BIFURC_NODE;
+		
+				/* it will connect to BEGIN-SEGMENT 
+				 * nodes on either side, which are followed
+				 * by normal segments again */
+				/* right branch */
+		branch = AttachTrace(curr_ztr, NULL, mid+1, j, -1, BEGINR_NODE);
+		if (mid+1 <= j)
+		  PushTracestack(dolist, AttachTrace(branch, NULL, mid+1, j, -1,-1));
+		else
+		  { branch->nxtl->emitl = mid+1; branch->nxtl->emitr = j; }
+				/* left branch */
+		branch = AttachTrace(curr_ztr, NULL, i, mid, -1, BEGINL_NODE);
+		if (i <= mid)
+		  PushTracestack(dolist, AttachTrace(branch, NULL, i, mid, -1,-1));
+		else
+		  { branch->nxtl->emitl = i; branch->nxtl->emitr = mid; }
+		break;
+	      }
+	}
+
+				/* clean up current node: deal with insertions */
+      if (curr_ztr->type == MATP_NODE)
+	{
+	  if (gapfq[i] > gapthresh && gapfq[j] > gapthresh)
+	    DeleteTracenode(curr_ztr, NULL);
+
+	  else if (gapfq[i] > gapthresh)
+	    curr_ztr->type = MATR_NODE;
+
+	  else if (gapfq[j] > gapthresh)
+	    curr_ztr->type = MATL_NODE;
+	}
+      else if ( (curr_ztr->type == MATR_NODE && gapfq[j] > gapthresh) ||
+	        (curr_ztr->type == MATL_NODE && gapfq[i] > gapthresh))
+	DeleteTracenode(curr_ztr, NULL);
+    }
+
+  FreeTracestack(dolist);
+
+  *ret_ztr = ztr;
+}
+  
+
+
+
+#ifdef DEBUG
+static void
+dump_mixy(int    **mxy,
+	  int      alen)
+{
+  int i, j;
+
+  for (j = 1; j < alen; j++)
+    {
+      for (i = 0; i < j; i++)
+	printf("%6d", mxy[j][i]);
+      puts("\n");
+    }
+}
+
+static void
+dump_zmat(int    **zmat,
+	  int      alen)
+{
+  int i, j;
+
+  for (j = 0; j < alen; j++)
+    {
+      for (i = 0; i <= j; i++)
+	printf("%6d", zmat[j][i]);
+      puts("\n");
+    }
+}
+
+static void 
+dump_ztr(struct trace_s *ztr)
+{
+  struct tracestack_s *dolist;
+  struct trace_s      *curr;
+
+  dolist = InitTracestack();
+  PushTracestack(dolist, ztr->nxtl);
+
+  while ((curr = PopTracestack(dolist)) != NULL)
+    {
+      printf("## ZTR STATE %#x\n", curr);
+      printf("emitl    : %d\n", curr->emitl);
+      printf("emitr    : %d\n", curr->emitr);
+      printf("nodeidx  : %d\n", curr->nodeidx);
+      printf("type     : %d\n", curr->type);
+      if (curr->nxtl != NULL)
+	printf("nxtl     : %#x\n", curr->nxtl);
+      else
+	printf("nxtl     : NULL\n");
+      if (curr->nxtr != NULL)
+	printf("nxtr     : %#x\n", curr->nxtr);
+      else
+	printf("nxtr     : NULL\n");
+      
+      if (curr->nxtr != NULL)
+	PushTracestack(dolist, curr->nxtr);
+      if (curr->nxtl != NULL)
+	PushTracestack(dolist, curr->nxtl);
+    }
+  FreeTracestack(dolist);
+}
+#endif
+
+
diff --git a/funcs.h b/funcs.h
new file mode 100644
index 0000000..88eabc2
--- /dev/null
+++ b/funcs.h
@@ -0,0 +1,209 @@
+/* funcs.h
+ * Declarations and prototypes of functions
+ * SRE, Fri Sep  3 09:19:50 1993
+ * 
+ */
+
+#include <stdio.h>
+#include "structs.h"
+
+/* 
+ * from align.c
+ */
+extern int Trace2ali(char *seq, struct trace_s *tr, int watsoncrick, struct align_s **ret_ali);
+extern int Traces2Alignment(char **rseqs, SQINFO *sqinfo, struct trace_s **tr, int nseq,
+			    struct cm_s *cm, int watsoncrick, char ***ret_aseqs,
+			    AINFO *ainfo);
+
+
+/* from dbviterbi.c
+ */
+extern int ViterbiScan(struct istate_s *icm, int statenum, char *seq, int window, 
+		       double thresh, int (*gotone_f)(int, int, double));
+
+
+/* from debug.c
+ */
+extern char *UstatetypeName(int ustatetype);
+extern char *StatetypeName(int statetype);
+extern char *NodetypeName(int nodetype);
+extern void  PrintViterbiAMX(FILE *fp, struct istate_s *icm, int statenum, 
+			     char *seq, int N, int ***amx);
+extern void  PrintTrace(FILE *fp, struct trace_s *tr);
+extern void  PrintAli(FILE *fp, struct align_s *ali);
+extern void  PrintICM(FILE *fp, struct cm_s *cm, struct istate_s *icm, int nstates);
+
+
+
+/* 
+ * from emit.c
+ * 
+ * Generate sequences from a CVHMM
+ */
+extern int EmitSequence(struct cm_s *cm, int watsoncrick, struct align_s **ret_ali, 
+			char **ret_khseq, char **ret_seq);
+extern int EmitBestSequence(struct cm_s *cm, int watsoncrick, struct align_s **ret_ali, 
+			    char **ret_khseq, char **ret_seq);
+
+/* 
+ * from fastmodelmaker.c
+ */
+extern int Fastmodelmaker(char **aseqs, AINFO *ainfo, int nseq, struct prior_s *prior, 
+			  double gapthresh, double *ret_secinfo, 
+			  struct cm_s **ret_cm, struct trace_s **ret_mtr);
+
+
+/* from fast-dbviterbi.c
+ */
+extern int FastViterbiScan(struct istate_s *icm, int statenum, int *minb, int *maxb,
+			   char *seq, int window, double thresh, 
+			   int (*gotone_f)(int, int, double));
+
+
+/* 
+ * from konings.c
+ * 
+ * ASCII representation of structures and structural alignments
+ */
+extern int  Align2kh(struct align_s  *ali, char **ret_aseq, char **ret_khseq);
+extern int  PrintAliLandscape(FILE *fp, struct cm_s *cm, struct align_s *ali);
+extern void Trace2KHS(struct trace_s *tr, char *seq, int rlen, int watsoncrick, 
+		      char **ret_ss);
+extern int  KHS2ct(char *ss, int len, int allow_pknots, int **ret_ct);
+extern int  IsRNAComplement(char sym1, char sym2, int allow_gu);
+
+/* 
+ * from lengthdist.c
+ */
+extern void LengthDistribution(struct pstate_s *pcm, int statenum, int N, double ***ret_lmx);
+extern void LengthBounds(double **lmx, int statenum, int N, double epsilon, 
+			 int **ret_min, int **ret_max);
+
+
+/* 
+ * from maxmodelmaker.c
+ */
+extern int Maxmodelmaker(char **aseqs, AINFO *ainfo, int nseq, double gapthresh, 
+			 struct prior_s *prior, double *ret_ssinfo,
+			 struct cm_s **ret_cm, struct trace_s **ret_mtr);
+
+/* 
+ * from misc.c
+ */
+extern int SymbolIndex(char  sym);
+extern int PrepareSequence(char *seq);
+
+/* 
+ * from model.c
+ */
+extern struct cm_s *AllocCM(int nodes);
+extern void FreeCM(struct cm_s *cm);
+extern void NormalizeCM(struct cm_s *cm);
+extern int  VerifyCM(struct cm_s *cm);
+extern int  RearrangeCM(struct cm_s *cm, double *rfreq, struct istate_s **ret_icm, int *ret_statenum);
+extern int  MakePCM(struct cm_s *cm, struct pstate_s **ret_pcm, int *ret_statenum);
+extern void NormalizePCM(struct pstate_s *pcm, int M);
+
+/* from modelmaking.c
+ */
+extern void NumberMasterTrace(struct trace_s *mtr, int *ret_nodes);
+extern void TopofyNewCM(struct cm_s *cm, struct trace_s *mtr);
+extern void Transmogrify(struct trace_s *mtr, char *aseq, struct trace_s **ret_tr, struct trmem_s **ret_pool);
+extern void EasyModelmaker(char **aseq, AINFO *ainfo, int nseq, struct prior_s *prior, 
+			   double gapthresh, int use_rf, 
+			   struct cm_s **ret_cm, struct trace_s **ret_mtr);
+
+/*
+ * from prior.c
+ */
+extern int  DefaultPrior(struct prior_s **ret_prior);
+extern int  WritePrior(FILE *fp, struct prior_s *prior);
+extern int  ReadPrior(FILE *fp, struct prior_s **ret_prior);
+extern void NormalizePrior(struct prior_s *prior);
+
+/* 
+ * from probify.c
+ */
+extern void ProbifyCM(struct cm_s *cm, struct prior_s *prior);
+extern void ProbifyTransitionMatrix(double tmx[STATETYPES][STATETYPES],int from_node, 
+				    int to_node, struct prior_s *prior);
+extern void ProbifySingletEmission(double emvec[ALPHASIZE], int statetype, struct prior_s *prior);
+extern void ProbifyPairEmission(double emx[ALPHASIZE][ALPHASIZE], struct prior_s *prior);
+
+/* 
+ * from save.c
+ */
+extern int WriteCM(FILE *fp, struct cm_s *cm);
+extern int WriteBinaryCM(FILE  *fp, struct cm_s *cm);
+extern int ReadCM(char *filename, struct cm_s **ret_cm);
+
+/* from scorestack.c
+ */
+extern int ReportScanHit(int left, int right, double score, int (*print_hit)(int,int,double));
+
+/* from smallviterbi.c
+ */
+extern int SmallViterbiAlign(struct istate_s *icm, int statenum, char *seq, 
+			     double *ret_score, struct trace_s **ret_trace);
+
+/* 
+ * from structs.c
+ * 
+ * Implementation of data structures: trees, stacks, and linked lists
+ */
+extern int StatetypeIndex(int type);
+extern int UniqueStatetype(int nodetype, int stidx);
+extern struct m2ali_s *Init_m2ali(void);
+extern void Push_m2ali(struct m2ali_s *stack, int nodeidx, int type, struct align_s *after);
+extern int  Pop_m2ali(struct m2ali_s *stack, int *ret_nodeidx, int *ret_type, 
+		      struct align_s **ret_after);
+extern void Free_m2ali( struct m2ali_s *stack );
+
+extern struct t2ali_s *Init_t2ali(void);
+extern void Push_t2ali(struct t2ali_s *stack, struct trace_s *tracenode, struct align_s *after);
+extern int  Pop_t2ali(struct t2ali_s  *stack, struct trace_s **ret_tracenode, 
+		      struct align_s **ret_after);
+extern void Free_t2ali( struct t2ali_s *stack );
+
+extern struct align_s *Init_align(void);
+extern struct align_s *Insafter_align(int pos, char sym, char ss, int nodeidx, int type, 
+				      struct align_s *after);
+extern void Delafter_align(struct align_s *after);
+extern void Free_align(struct align_s *head);
+extern struct intstack_s *InitIntStack(void);
+extern void PushIntStack(struct intstack_s *stack, int data);
+extern int  PopIntStack(struct intstack_s  *stack, int *ret_data);
+extern int  FreeIntStack( struct intstack_s *stack );
+
+
+/* 
+ * from trace.c
+ */
+extern void            InitTrace(struct trace_s **ret_new, struct trmem_s **ret_pool);
+extern struct trace_s *AttachTrace(struct trace_s *parent, struct trmem_s *pool, 
+				   int emitl, int emitr,
+				   int nodeidx, int type);
+extern void            FreeTrace(struct trace_s *tr, struct trmem_s *pool);
+extern void            DeleteTracenode(struct trace_s *oldtr, struct trmem_s *pool);
+extern void            InitTracepool(struct trmem_s **ret_pool);
+extern struct trace_s *PopTracepool(struct trmem_s *pool);
+extern void            FreeTracepool(struct trmem_s *pool);
+extern struct tracestack_s *InitTracestack(void);
+extern void                 PushTracestack(struct tracestack_s *stack, struct trace_s *node);
+extern struct trace_s      *PopTracestack(struct tracestack_s *stack);
+extern void                 FreeTracestack(struct tracestack_s *stack);
+extern int                  TraceCount(struct cm_s *cm, char *seq, double weight, struct trace_s *tr);
+extern int TraceCountPrior(struct cm_s *cm, struct prior_s *prior, char *seq,
+			   double weight, struct trace_s   *tr);
+
+extern double TraceScore(struct cm_s *cm, char *seq, struct trace_s *tr);
+
+/* 
+ * from viterbi.c
+ */
+extern int ViterbiAlign(struct istate_s *cm, int statenum, char *seq, 
+			double *ret_score, struct trace_s **ret_trace);
+
+
+
+
diff --git a/gcode.cilnuc b/gcode.cilnuc
new file mode 100644
index 0000000..fe61605
--- /dev/null
+++ b/gcode.cilnuc
@@ -0,0 +1,6 @@
+# Ciliate, Dasycladacean, & Hexamita Nuclear translation codes
+# Format:  <Codon> <3-letter AA abreviation> <One letter AA abrev>
+
+TAR	Gln	Q
+
+
diff --git a/gcode.echdmito b/gcode.echdmito
new file mode 100644
index 0000000..65649f3
--- /dev/null
+++ b/gcode.echdmito
@@ -0,0 +1,6 @@
+# Echinoderm mitochondrial translation codes
+# Format:  <Codon> <3-letter AA abreviation> <One letter AA abrev>
+
+TGA	Trp	W
+AGR	Ser	S
+AAA	Asn	N
diff --git a/gcode.invmito b/gcode.invmito
new file mode 100644
index 0000000..dc14fec
--- /dev/null
+++ b/gcode.invmito
@@ -0,0 +1,7 @@
+# Invertebrate mitochondrial translation codes
+# Format:  <Codon> <3-letter AA abreviation> <One letter AA abrev>
+
+TGA	Trp	W
+ATA	Met	M
+AGR	Ser	S
+
diff --git a/gcode.othmito b/gcode.othmito
new file mode 100644
index 0000000..6358f8a
--- /dev/null
+++ b/gcode.othmito
@@ -0,0 +1,4 @@
+# Mold, Protozoan, & Coelenterate mitochondrial translation codes
+# Format:  <Codon> <3-letter AA abreviation> <One letter AA abrev>
+
+TGA	Trp	W
diff --git a/gcode.vertmito b/gcode.vertmito
new file mode 100644
index 0000000..061b0c8
--- /dev/null
+++ b/gcode.vertmito
@@ -0,0 +1,7 @@
+# Vertebrate mitochondrial translation codes
+# Format:  <Codon> <3-letter AA abreviation> <One letter AA abrev>
+
+TGA	Trp	W
+ATA	Met	M
+AGR	Stp	*
+
diff --git a/gcode.ystmito b/gcode.ystmito
new file mode 100644
index 0000000..57a063e
--- /dev/null
+++ b/gcode.ystmito
@@ -0,0 +1,7 @@
+# Yeast mitochondrial translation codes
+# Format:  <Codon> <3-letter AA abreviation> <One letter AA abrev>
+
+TGA	Trp	W
+ATA	Met	M
+CTN	Thr	T
+
diff --git a/getopt.c b/getopt.c
new file mode 100644
index 0000000..67dd96d
--- /dev/null
+++ b/getopt.c
@@ -0,0 +1,219 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "squid.h"
+
+/* Function: Getopt()
+ * 
+ * Purpose:  Portable command line option parsing with abbreviated
+ *           option switches. Replaces UNIX getopt(). Using UNIX getopt()
+ *           hinders portability to non-UNIX platforms, and getopt()
+ *           is also limited to single letter options.
+ *
+ *           Getopt() implements a superset of UNIX getopt().
+ *           All of getopt()'s single-character switch behavior
+ *           is emulated, and "--" by itself terminates the options.
+ *           Additionally, Getopt() provides extended switches
+ *           like "--youroptionhere", and Getopt() type checks
+ *           arguments.  
+ * 
+ *           Extended options must start with "--", as in "--option1".
+ *           Normal options must start with "-", as in "-o".
+ *           Normal options may be concatenated, as in "-a -b" == "-ab".
+ *           
+ *           See bottom of this .c file after #fdef GETOPT_TESTDRIVER
+ *           for an example of calling Getopt().
+ *           
+ * Args:     argc  - from main(). number of elems in argv.
+ *           argv  - from main(). argv[0] is the name of the command.
+ *           opt   - array of opt_s structures, defining option switches
+ *           nopts - number of switches in opt
+ *           usage - a (possibly long) string to print if usage error.
+ *           ret_optind - RETURN: the index in argv[] of the next 
+ *                        valid command-line token.
+ *           ret_optname- RETURN: ptr to the name of option switch 
+ *                        seen, or NULL if no option was seen.
+ *           ret_optarg - RETURN: ptr to the optional argument, if any;
+ *                        NULL if option takes no argument.
+ *                        
+ * Return:   1 if a valid option was parsed.
+ *           0 if no option was found, and command-line parsing is complete.
+ *           Die()'s here if an error is detected.
+ */
+int
+Getopt(int argc, char **argv, struct opt_s *opt, int nopts, char *usage,
+       int *ret_optind, char **ret_optname, char **ret_optarg)
+{
+  int i;
+  int arglen;
+  int nmatch;
+  static int optind   = 1;        /* init to 1 on first call  */
+  static char *optptr = NULL;     /* ptr to next valid switch */
+  int opti;
+
+  /* Check to see if we've run out of options.
+   */
+  if (optind >= argc || argv[optind][0] != '-')
+    { 
+      *ret_optind  = optind; 
+      *ret_optarg  = NULL; 
+      *ret_optname = NULL; 
+      return 0; 
+    }
+
+  /* Check to see if we're being told that this is the end
+   * of the options.
+   */
+  if (strcmp(argv[optind], "--") == 0)
+    { 
+      optind++;
+      *ret_optind  = optind; 
+      *ret_optname = NULL;
+      *ret_optarg  = NULL; 
+      return 0; 
+    }
+
+  /* We have a real option. Find which one it is.
+   * We handle single letter switches "-o" separately
+   * from full switches "--option", based on the "-" vs. "--"
+   * prefix -- single letter switches can be concatenated.
+   */
+				/* full option */
+  if (optptr == NULL && strncmp(argv[optind], "--", 2) == 0)
+    {
+      optptr = NULL;		/* full options can't concantenate */
+      arglen = strlen(argv[optind]);
+      nmatch = 0;
+      for (i = 0; i < nopts; i++)
+	if (opt[i].single == FALSE && 
+	    strncmp(opt[i].name, argv[optind], arglen) == 0)
+	  { 
+	    nmatch++;
+	    opti = i;
+	  }
+      if (nmatch > 1) 
+	Die("Option \"%s\" is ambiguous; please be more specific.\n%s",
+	    argv[optind], usage);
+      if (nmatch == 0)
+	Die("No such option \"%s\".\n%s", argv[optind], usage);
+
+      *ret_optname = opt[opti].name;
+
+      /* Set the argument, if there is one
+       */
+      if (opt[opti].argtype != ARG_NONE) 
+	{
+	  if (optind+1 >= argc)
+	    Die("Option %s requires an argument\n%s", opt[opti].name, usage);
+	  *ret_optarg = argv[optind+1];
+	  optind+=2;
+	}
+      else  /* ARG_NONE */
+	{
+	  *ret_optarg = NULL;
+	  optind++;
+	}
+    }
+  else				/* else, a single letter option "-o" */
+    {
+				/* find the option */
+      if (optptr == NULL) 
+	optptr = argv[optind]+1;
+      for (opti = -1, i = 0; i < nopts; i++)
+	if (opt[i].single == TRUE && *optptr == opt[i].name[1])
+	  { opti = i; break; }
+      if (opti == -1)
+	Die("No such option \"%c\".\n%s", *optptr, usage);
+      *ret_optname = opt[opti].name;
+
+				/* set the argument, if there is one */
+      if (opt[opti].argtype != ARG_NONE) 
+	{
+	  if (*(optptr+1) != '\0')   /* attached argument */
+	    {
+	      *ret_optarg = optptr+1;
+	      optind++;
+	    }
+	  else if (optind+1 < argc) /* unattached argument */
+	    {
+	      *ret_optarg = argv[optind+1];
+	      optind+=2;	      
+	    }
+	  else Die("Option %s requires an argument\n%s", opt[opti].name, usage);
+
+	  optptr = NULL;	/* can't concatenate after an argument */
+	}
+      else  /* ARG_NONE */
+	{
+	  *ret_optarg = NULL;
+	  if (*(optptr+1) != '\0')   /* concatenation */
+	    optptr++; 
+	  else
+	    {
+	      optind++;                /* move to next field */
+	      optptr = NULL;
+	    }
+	}
+
+    }
+
+  /* Type check the argument, if there is one
+   */
+  if (opt[opti].argtype != ARG_NONE) 
+    {
+      if (opt[opti].argtype == ARG_INT && ! IsInt(*ret_optarg))
+	Die("Option %s requires an integer argument\n%s",
+	    opt[opti].name, usage);
+      else if (opt[opti].argtype == ARG_FLOAT && ! IsReal(*ret_optarg))
+	Die("Option %s requires a numerical argument\n%s",
+	    opt[opti].name, usage);
+      else if (opt[opti].argtype == ARG_CHAR && strlen(*ret_optarg) != 1)
+	Die("Option %s requires a single-character argument\n%s",
+	    opt[opti].name, usage);
+      /* ARG_STRING is always ok, no type check necessary */
+    }
+
+  *ret_optind = optind;
+  return 1;
+}
+
+
+
+#ifdef GETOPT_TESTDRIVER 
+
+struct opt_s OPTIONS[] = {
+  { "--test1", FALSE, ARG_INT    },
+  { "--test2", FALSE, ARG_FLOAT  },
+  { "--test3", FALSE, ARG_STRING },
+  { "--test4", FALSE, ARG_CHAR   },
+  { "-a",      TRUE,  ARG_NONE   },
+  { "-b",      TRUE,  ARG_INT    },
+};
+#define NOPTIONS (sizeof(OPTIONS) / sizeof(struct opt_s))
+    
+int
+main(int argc, char **argv)
+{
+  int   optind;
+  char *optarg;
+  char *optname;
+
+  while (Getopt(argc, argv, OPTIONS, NOPTIONS, "Usage/help here",
+		&optind, &optname, &optarg))
+    {
+      printf("index: %d name: %s argument: %s\n",
+	     optind, optname, optarg);
+    }
+}
+
+#endif /*GETOPT_TESTDRIVER*/
diff --git a/gnuregex.c b/gnuregex.c
new file mode 100644
index 0000000..4cc9a63
--- /dev/null
+++ b/gnuregex.c
@@ -0,0 +1,4933 @@
+#ifndef lint			/* SRE: lint *hates* this code! */
+/* This is the GNU regular expression library.
+ * I've modified it for portability and clarity (!).
+ * "SRE" comments flag the changes I've made.
+ * Thanks to the GNU folks for providing this code!
+ * SRE, Sun Jan  7 09:48:26 1996
+ */
+
+/* Extended regular expression matching and search library,
+   version 0.12.
+   (Implements POSIX draft P10003.2/D11.2, except for
+   internationalization features.)
+
+   Copyright (C) 1993 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+/* AIX requires this to be the first thing in the file. */
+#if defined (_AIX) && !defined (REGEX_MALLOC)
+  #pragma alloca
+#endif
+
+#define _GNU_SOURCE
+
+/* We need this for `regex.h', and perhaps for the Emacs include files.  */
+#include <sys/types.h>
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+/* SRE: removed ifdef emacs; removed if HAVE_STRING_H; removed STDC_HEADERS */
+#include <string.h>
+#include <stdlib.h>
+
+#ifndef bcmp
+#define bcmp(s1, s2, n)	memcmp ((s1), (s2), (n))
+#endif
+#ifndef bcopy
+#define bcopy(s, d, n)	memcpy ((d), (s), (n))
+#endif
+#ifndef bzero
+#define bzero(s, n)	memset ((s), 0, (n))
+#endif
+
+
+/* Define the syntax stuff for \<, \>, etc.  */
+
+/* This must be nonzero for the wordchar and notwordchar pattern
+   commands in re_match_2.  */
+#ifndef Sword 
+#define Sword 1
+#endif
+
+#ifdef SYNTAX_TABLE
+
+extern char *re_syntax_table;
+
+#else /* not SYNTAX_TABLE */
+
+/* How many characters in the character set.  */
+#define CHAR_SET_SIZE 256
+
+static char re_syntax_table[CHAR_SET_SIZE];
+
+static void
+init_syntax_once ()
+{
+   register int c;
+   static int done = 0;
+
+   if (done)
+     return;
+
+   bzero (re_syntax_table, sizeof re_syntax_table);
+
+   for (c = 'a'; c <= 'z'; c++)
+     re_syntax_table[c] = Sword;
+
+   for (c = 'A'; c <= 'Z'; c++)
+     re_syntax_table[c] = Sword;
+
+   for (c = '0'; c <= '9'; c++)
+     re_syntax_table[c] = Sword;
+
+   re_syntax_table['_'] = Sword;
+
+   done = 1;
+}
+
+#endif /* not SYNTAX_TABLE */
+
+#define SYNTAX(c) re_syntax_table[c]
+
+
+

+/* Get the interface, including the syntax bits.  */
+#include "gnuregex.h"
+
+/* isalpha etc. are used for the character classes.  */
+#include <ctype.h>
+
+#ifndef isascii
+#define isascii(c) 1
+#endif
+
+#ifdef isblank
+#define ISBLANK(c) (isascii (c) && isblank (c))
+#else
+#define ISBLANK(c) ((c) == ' ' || (c) == '\t')
+#endif
+#ifdef isgraph
+#define ISGRAPH(c) (isascii (c) && isgraph (c))
+#else
+#define ISGRAPH(c) (isascii (c) && isprint (c) && !isspace (c))
+#endif
+
+#define ISPRINT(c) (isascii (c) && isprint (c))
+#define ISDIGIT(c) (isascii (c) && isdigit (c))
+#define ISALNUM(c) (isascii (c) && isalnum (c))
+#define ISALPHA(c) (isascii (c) && isalpha (c))
+#define ISCNTRL(c) (isascii (c) && iscntrl (c))
+#define ISLOWER(c) (isascii (c) && islower (c))
+#define ISPUNCT(c) (isascii (c) && ispunct (c))
+#define ISSPACE(c) (isascii (c) && isspace (c))
+#define ISUPPER(c) (isascii (c) && isupper (c))
+#define ISXDIGIT(c) (isascii (c) && isxdigit (c))
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+/* We remove any previous definition of `SIGN_EXTEND_CHAR',
+   since ours (we hope) works properly with all combinations of
+   machines, compilers, `char' and `unsigned char' argument types.
+   (Per Bothner suggested the basic approach.)  */
+#undef SIGN_EXTEND_CHAR
+#if __STDC__
+#define SIGN_EXTEND_CHAR(c) ((signed char) (c))
+#else  /* not __STDC__ */
+/* As in Harbison and Steele.  */
+#define SIGN_EXTEND_CHAR(c) ((((unsigned char) (c)) ^ 128) - 128)
+#endif
+

+/* Should we use malloc or alloca?  If REGEX_MALLOC is not defined, we
+   use `alloca' instead of `malloc'.  This is because using malloc in
+   re_search* or re_match* could cause memory leaks when C-g is used in
+   Emacs; also, malloc is slower and causes storage fragmentation.  On
+   the other hand, malloc is more portable, and easier to debug.  
+   
+   Because we sometimes use alloca, some routines have to be macros,
+   not functions -- `alloca'-allocated space disappears at the end of the
+   function it is called in.  */
+
+#define REGEX_MALLOC		/* SRE -- alloca not portable? */
+
+#ifdef REGEX_MALLOC
+
+#define REGEX_ALLOCATE malloc
+#define REGEX_REALLOCATE(source, osize, nsize) realloc (source, nsize)
+
+#else /* not REGEX_MALLOC  */
+
+/* Emacs already defines alloca, sometimes.  */
+#ifndef alloca
+
+/* Make alloca work the best possible way.  */
+#ifdef __GNUC__
+#define alloca __builtin_alloca
+#else /* not __GNUC__ */
+#if HAVE_ALLOCA_H
+#include <alloca.h>
+#else /* not __GNUC__ or HAVE_ALLOCA_H */
+#ifndef _AIX /* Already did AIX, up at the top.  */
+char *alloca ();
+#endif /* not _AIX */
+#endif /* not HAVE_ALLOCA_H */ 
+#endif /* not __GNUC__ */
+
+#endif /* not alloca */
+
+#define REGEX_ALLOCATE alloca
+
+/* Assumes a `char *destination' variable.  */
+#define REGEX_REALLOCATE(source, osize, nsize)				\
+  (destination = (char *) alloca (nsize),				\
+   bcopy (source, destination, osize),					\
+   destination)
+
+#endif /* not REGEX_MALLOC */
+
+
+/* True if `size1' is non-NULL and PTR is pointing anywhere inside
+   `string1' or just past its end.  This works if PTR is NULL, which is
+   a good thing.  */
+#define FIRST_STRING_P(ptr) 					\
+  (size1 && string1 <= (ptr) && (ptr) <= string1 + size1)
+
+/* (Re)Allocate N items of type T using malloc, or fail.  */
+#define TALLOC(n, t) ((t *) malloc ((n) * sizeof (t)))
+#define RETALLOC(addr, n, t) ((addr) = (t *) realloc (addr, (n) * sizeof (t)))
+#define REGEX_TALLOC(n, t) ((t *) REGEX_ALLOCATE ((n) * sizeof (t)))
+
+#define BYTEWIDTH 8 /* In bits.  */
+
+#define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
+
+#define MAX(a, b) ((a) > (b) ? (a) : (b))
+#define MIN(a, b) ((a) < (b) ? (a) : (b))
+
+typedef char boolean;
+#define false 0
+#define true 1
+

+/* These are the command codes that appear in compiled regular
+   expressions.  Some opcodes are followed by argument bytes.  A
+   command code can specify any interpretation whatsoever for its
+   arguments.  Zero bytes may appear in the compiled regular expression.
+
+   The value of `exactn' is needed in search.c (search_buffer) in Emacs.
+   So regex.h defines a symbol `RE_EXACTN_VALUE' to be 1; the value of
+   `exactn' we use here must also be 1.  */
+
+typedef enum
+{
+  no_op = 0,
+
+        /* Followed by one byte giving n, then by n literal bytes.  */
+  exactn = 1,
+
+        /* Matches any (more or less) character.  */
+  anychar,
+
+        /* Matches any one char belonging to specified set.  First
+           following byte is number of bitmap bytes.  Then come bytes
+           for a bitmap saying which chars are in.  Bits in each byte
+           are ordered low-bit-first.  A character is in the set if its
+           bit is 1.  A character too large to have a bit in the map is
+           automatically not in the set.  */
+  charset,
+
+        /* Same parameters as charset, but match any character that is
+           not one of those specified.  */
+  charset_not,
+
+        /* Start remembering the text that is matched, for storing in a
+           register.  Followed by one byte with the register number, in
+           the range 0 to one less than the pattern buffer's re_nsub
+           field.  Then followed by one byte with the number of groups
+           inner to this one.  (This last has to be part of the
+           start_memory only because we need it in the on_failure_jump
+           of re_match_2.)  */
+  start_memory,
+
+        /* Stop remembering the text that is matched and store it in a
+           memory register.  Followed by one byte with the register
+           number, in the range 0 to one less than `re_nsub' in the
+           pattern buffer, and one byte with the number of inner groups,
+           just like `start_memory'.  (We need the number of inner
+           groups here because we don't have any easy way of finding the
+           corresponding start_memory when we're at a stop_memory.)  */
+  stop_memory,
+
+        /* Match a duplicate of something remembered. Followed by one
+           byte containing the register number.  */
+  duplicate,
+
+        /* Fail unless at beginning of line.  */
+  begline,
+
+        /* Fail unless at end of line.  */
+  endline,
+
+        /* Succeeds if at beginning of buffer (if emacs) or at beginning
+           of string to be matched (if not).  */
+  begbuf,
+
+        /* Analogously, for end of buffer/string.  */
+  endbuf,
+ 
+        /* Followed by two byte relative address to which to jump.  */
+  jump, 
+
+	/* Same as jump, but marks the end of an alternative.  */
+  jump_past_alt,
+
+        /* Followed by two-byte relative address of place to resume at
+           in case of failure.  */
+  on_failure_jump,
+	
+        /* Like on_failure_jump, but pushes a placeholder instead of the
+           current string position when executed.  */
+  on_failure_keep_string_jump,
+  
+        /* Throw away latest failure point and then jump to following
+           two-byte relative address.  */
+  pop_failure_jump,
+
+        /* Change to pop_failure_jump if know won't have to backtrack to
+           match; otherwise change to jump.  This is used to jump
+           back to the beginning of a repeat.  If what follows this jump
+           clearly won't match what the repeat does, such that we can be
+           sure that there is no use backtracking out of repetitions
+           already matched, then we change it to a pop_failure_jump.
+           Followed by two-byte address.  */
+  maybe_pop_jump,
+
+        /* Jump to following two-byte address, and push a dummy failure
+           point. This failure point will be thrown away if an attempt
+           is made to use it for a failure.  A `+' construct makes this
+           before the first repeat.  Also used as an intermediary kind
+           of jump when compiling an alternative.  */
+  dummy_failure_jump,
+
+	/* Push a dummy failure point and continue.  Used at the end of
+	   alternatives.  */
+  push_dummy_failure,
+
+        /* Followed by two-byte relative address and two-byte number n.
+           After matching N times, jump to the address upon failure.  */
+  succeed_n,
+
+        /* Followed by two-byte relative address, and two-byte number n.
+           Jump to the address N times, then fail.  */
+  jump_n,
+
+        /* Set the following two-byte relative address to the
+           subsequent two-byte number.  The address *includes* the two
+           bytes of number.  */
+  set_number_at,
+
+  wordchar,	/* Matches any word-constituent character.  */
+  notwordchar,	/* Matches any char that is not a word-constituent.  */
+
+  wordbeg,	/* Succeeds if at word beginning.  */
+  wordend,	/* Succeeds if at word end.  */
+
+  wordbound,	/* Succeeds if at a word boundary.  */
+  notwordbound	/* Succeeds if not at a word boundary.  */
+
+#ifdef emacs
+  ,before_dot,	/* Succeeds if before point.  */
+  at_dot,	/* Succeeds if at point.  */
+  after_dot,	/* Succeeds if after point.  */
+
+	/* Matches any character whose syntax is specified.  Followed by
+           a byte which contains a syntax code, e.g., Sword.  */
+  syntaxspec,
+
+	/* Matches any character whose syntax is not that specified.  */
+  notsyntaxspec
+#endif /* emacs */
+} re_opcode_t;
+

+/* Common operations on the compiled pattern.  */
+
+/* Store NUMBER in two contiguous bytes starting at DESTINATION.  */
+
+#define STORE_NUMBER(destination, number)				\
+  do {									\
+    (destination)[0] = (number) & 0377;					\
+    (destination)[1] = (number) >> 8;					\
+  } while (0)
+
+/* Same as STORE_NUMBER, except increment DESTINATION to
+   the byte after where the number is stored.  Therefore, DESTINATION
+   must be an lvalue.  */
+
+#define STORE_NUMBER_AND_INCR(destination, number)			\
+  do {									\
+    STORE_NUMBER (destination, number);					\
+    (destination) += 2;							\
+  } while (0)
+
+/* Put into DESTINATION a number stored in two contiguous bytes starting
+   at SOURCE.  */
+
+#define EXTRACT_NUMBER(destination, source)				\
+  do {									\
+    (destination) = *(source) & 0377;					\
+    (destination) += SIGN_EXTEND_CHAR (*((source) + 1)) << 8;		\
+  } while (0)
+
+#ifdef DEBUG
+static void
+extract_number (dest, source)
+    int *dest;
+    unsigned char *source;
+{
+  int temp = SIGN_EXTEND_CHAR (*(source + 1)); 
+  *dest = *source & 0377;
+  *dest += temp << 8;
+}
+
+#ifndef EXTRACT_MACROS /* To debug the macros.  */
+#undef EXTRACT_NUMBER
+#define EXTRACT_NUMBER(dest, src) extract_number (&dest, src)
+#endif /* not EXTRACT_MACROS */
+
+#endif /* DEBUG */
+
+/* Same as EXTRACT_NUMBER, except increment SOURCE to after the number.
+   SOURCE must be an lvalue.  */
+
+#define EXTRACT_NUMBER_AND_INCR(destination, source)			\
+  do {									\
+    EXTRACT_NUMBER (destination, source);				\
+    (source) += 2; 							\
+  } while (0)
+
+#ifdef DEBUG
+static void
+extract_number_and_incr (destination, source)
+    int *destination;
+    unsigned char **source;
+{ 
+  extract_number (destination, *source);
+  *source += 2;
+}
+
+#ifndef EXTRACT_MACROS
+#undef EXTRACT_NUMBER_AND_INCR
+#define EXTRACT_NUMBER_AND_INCR(dest, src) \
+  extract_number_and_incr (&dest, &src)
+#endif /* not EXTRACT_MACROS */
+
+#endif /* DEBUG */
+

+/* If DEBUG is defined, Regex prints many voluminous messages about what
+   it is doing (if the variable `debug' is nonzero).  If linked with the
+   main program in `iregex.c', you can enter patterns and strings
+   interactively.  And if linked with the main program in `main.c' and
+   the other test files, you can run the already-written tests.  */
+
+#ifdef DEBUG
+
+/* We use standard I/O for debugging.  */
+#include <stdio.h>
+
+/* It is useful to test things that ``must'' be true when debugging.  */
+#include <assert.h>
+
+static int debug = 0;
+
+#define DEBUG_STATEMENT(e) e
+#define DEBUG_PRINT1(x) if (debug) printf (x)
+#define DEBUG_PRINT2(x1, x2) if (debug) printf (x1, x2)
+#define DEBUG_PRINT3(x1, x2, x3) if (debug) printf (x1, x2, x3)
+#define DEBUG_PRINT4(x1, x2, x3, x4) if (debug) printf (x1, x2, x3, x4)
+#define DEBUG_PRINT_COMPILED_PATTERN(p, s, e) 				\
+  if (debug) print_partial_compiled_pattern (s, e)
+#define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2)			\
+  if (debug) print_double_string (w, s1, sz1, s2, sz2)
+
+
+extern void printchar ();
+
+/* Print the fastmap in human-readable form.  */
+
+void
+print_fastmap (fastmap)
+    char *fastmap;
+{
+  unsigned was_a_range = 0;
+  unsigned i = 0;  
+  
+  while (i < (1 << BYTEWIDTH))
+    {
+      if (fastmap[i++])
+	{
+	  was_a_range = 0;
+          printchar (i - 1);
+          while (i < (1 << BYTEWIDTH)  &&  fastmap[i])
+            {
+              was_a_range = 1;
+              i++;
+            }
+	  if (was_a_range)
+            {
+              printf ("-");
+              printchar (i - 1);
+            }
+        }
+    }
+  putchar ('\n'); 
+}
+
+
+/* Print a compiled pattern string in human-readable form, starting at
+   the START pointer into it and ending just before the pointer END.  */
+
+void
+print_partial_compiled_pattern (start, end)
+    unsigned char *start;
+    unsigned char *end;
+{
+  int mcnt, mcnt2;
+  unsigned char *p = start;
+  unsigned char *pend = end;
+
+  if (start == NULL)
+    {
+      printf ("(null)\n");
+      return;
+    }
+    
+  /* Loop over pattern commands.  */
+  while (p < pend)
+    {
+      switch ((re_opcode_t) *p++)
+	{
+        case no_op:
+          printf ("/no_op");
+          break;
+
+	case exactn:
+	  mcnt = *p++;
+          printf ("/exactn/%d", mcnt);
+          do
+	    {
+              putchar ('/');
+	      printchar (*p++);
+            }
+          while (--mcnt);
+          break;
+
+	case start_memory:
+          mcnt = *p++;
+          printf ("/start_memory/%d/%d", mcnt, *p++);
+          break;
+
+	case stop_memory:
+          mcnt = *p++;
+	  printf ("/stop_memory/%d/%d", mcnt, *p++);
+          break;
+
+	case duplicate:
+	  printf ("/duplicate/%d", *p++);
+	  break;
+
+	case anychar:
+	  printf ("/anychar");
+	  break;
+
+	case charset:
+        case charset_not:
+          {
+            register int c;
+
+            printf ("/charset%s",
+	            (re_opcode_t) *(p - 1) == charset_not ? "_not" : "");
+            
+            assert (p + *p < pend);
+
+            for (c = 0; c < *p; c++)
+              {
+                unsigned bit;
+                unsigned char map_byte = p[1 + c];
+                
+                putchar ('/');
+
+		for (bit = 0; bit < BYTEWIDTH; bit++)
+                  if (map_byte & (1 << bit))
+                    printchar (c * BYTEWIDTH + bit);
+              }
+	    p += 1 + *p;
+	    break;
+	  }
+
+	case begline:
+	  printf ("/begline");
+          break;
+
+	case endline:
+          printf ("/endline");
+          break;
+
+	case on_failure_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/on_failure_jump/0/%d", mcnt);
+          break;
+
+	case on_failure_keep_string_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/on_failure_keep_string_jump/0/%d", mcnt);
+          break;
+
+	case dummy_failure_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/dummy_failure_jump/0/%d", mcnt);
+          break;
+
+	case push_dummy_failure:
+          printf ("/push_dummy_failure");
+          break;
+          
+        case maybe_pop_jump:
+          extract_number_and_incr (&mcnt, &p);
+  	  printf ("/maybe_pop_jump/0/%d", mcnt);
+	  break;
+
+        case pop_failure_jump:
+	  extract_number_and_incr (&mcnt, &p);
+  	  printf ("/pop_failure_jump/0/%d", mcnt);
+	  break;          
+          
+        case jump_past_alt:
+	  extract_number_and_incr (&mcnt, &p);
+  	  printf ("/jump_past_alt/0/%d", mcnt);
+	  break;          
+          
+        case jump:
+	  extract_number_and_incr (&mcnt, &p);
+  	  printf ("/jump/0/%d", mcnt);
+	  break;
+
+        case succeed_n: 
+          extract_number_and_incr (&mcnt, &p);
+          extract_number_and_incr (&mcnt2, &p);
+ 	  printf ("/succeed_n/0/%d/0/%d", mcnt, mcnt2);
+          break;
+        
+        case jump_n: 
+          extract_number_and_incr (&mcnt, &p);
+          extract_number_and_incr (&mcnt2, &p);
+ 	  printf ("/jump_n/0/%d/0/%d", mcnt, mcnt2);
+          break;
+        
+        case set_number_at: 
+          extract_number_and_incr (&mcnt, &p);
+          extract_number_and_incr (&mcnt2, &p);
+ 	  printf ("/set_number_at/0/%d/0/%d", mcnt, mcnt2);
+          break;
+        
+        case wordbound:
+	  printf ("/wordbound");
+	  break;
+
+	case notwordbound:
+	  printf ("/notwordbound");
+          break;
+
+	case wordbeg:
+	  printf ("/wordbeg");
+	  break;
+          
+	case wordend:
+	  printf ("/wordend");
+          
+#ifdef emacs
+	case before_dot:
+	  printf ("/before_dot");
+          break;
+
+	case at_dot:
+	  printf ("/at_dot");
+          break;
+
+	case after_dot:
+	  printf ("/after_dot");
+          break;
+
+	case syntaxspec:
+          printf ("/syntaxspec");
+	  mcnt = *p++;
+	  printf ("/%d", mcnt);
+          break;
+	  
+	case notsyntaxspec:
+          printf ("/notsyntaxspec");
+	  mcnt = *p++;
+	  printf ("/%d", mcnt);
+	  break;
+#endif /* emacs */
+
+	case wordchar:
+	  printf ("/wordchar");
+          break;
+	  
+	case notwordchar:
+	  printf ("/notwordchar");
+          break;
+
+	case begbuf:
+	  printf ("/begbuf");
+          break;
+
+	case endbuf:
+	  printf ("/endbuf");
+          break;
+
+        default:
+          printf ("?%d", *(p-1));
+	}
+    }
+  printf ("/\n");
+}
+
+
+void
+print_compiled_pattern (bufp)
+    struct re_pattern_buffer *bufp;
+{
+  unsigned char *buffer = bufp->buffer;
+
+  print_partial_compiled_pattern (buffer, buffer + bufp->used);
+  printf ("%d bytes used/%d bytes allocated.\n", bufp->used, bufp->allocated);
+
+  if (bufp->fastmap_accurate && bufp->fastmap)
+    {
+      printf ("fastmap: ");
+      print_fastmap (bufp->fastmap);
+    }
+
+  printf ("re_nsub: %d\t", bufp->re_nsub);
+  printf ("regs_alloc: %d\t", bufp->regs_allocated);
+  printf ("can_be_null: %d\t", bufp->can_be_null);
+  printf ("newline_anchor: %d\n", bufp->newline_anchor);
+  printf ("no_sub: %d\t", bufp->no_sub);
+  printf ("not_bol: %d\t", bufp->not_bol);
+  printf ("not_eol: %d\t", bufp->not_eol);
+  printf ("syntax: %d\n", bufp->syntax);
+  /* Perhaps we should print the translate table?  */
+}
+
+
+void
+print_double_string (where, string1, size1, string2, size2)
+    char *where;
+    char *string1;
+    char *string2;
+    int size1;
+    int size2;
+{
+  unsigned this_char;
+  
+  if (where == NULL)
+    printf ("(null)");
+  else
+    {
+      if (FIRST_STRING_P (where))
+        {
+          for (this_char = where - string1; this_char < size1; this_char++)
+            printchar (string1[this_char]);
+
+          where = string2;    
+        }
+
+      for (this_char = where - string2; this_char < size2; this_char++)
+        printchar (string2[this_char]);
+    }
+}
+
+#else /* not DEBUG */
+
+#undef assert
+#define assert(e)
+
+#define DEBUG_STATEMENT(e)
+#define DEBUG_PRINT1(x)
+#define DEBUG_PRINT2(x1, x2)
+#define DEBUG_PRINT3(x1, x2, x3)
+#define DEBUG_PRINT4(x1, x2, x3, x4)
+#define DEBUG_PRINT_COMPILED_PATTERN(p, s, e)
+#define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2)
+
+#endif /* not DEBUG */
+

+/* Set by `re_set_syntax' to the current regexp syntax to recognize.  Can
+   also be assigned to arbitrarily: each pattern buffer stores its own
+   syntax, so it can be changed between regex compilations.  */
+reg_syntax_t re_syntax_options = RE_SYNTAX_EMACS;
+
+
+/* Specify the precise syntax of regexps for compilation.  This provides
+   for compatibility for various utilities which historically have
+   different, incompatible syntaxes.
+
+   The argument SYNTAX is a bit mask comprised of the various bits
+   defined in regex.h.  We return the old syntax.  */
+
+reg_syntax_t
+re_set_syntax (syntax)
+    reg_syntax_t syntax;
+{
+  reg_syntax_t ret = re_syntax_options;
+  
+  re_syntax_options = syntax;
+  return ret;
+}
+

+/* This table gives an error message for each of the error codes listed
+   in regex.h.  Obviously the order here has to be same as there.  */
+
+static char *re_error_msg[] =
+  { NULL,					/* REG_NOERROR */
+    "No match",					/* REG_NOMATCH */
+    "Invalid regular expression",		/* REG_BADPAT */
+    "Invalid collation character",		/* REG_ECOLLATE */
+    "Invalid character class name",		/* REG_ECTYPE */
+    "Trailing backslash",			/* REG_EESCAPE */
+    "Invalid back reference",			/* REG_ESUBREG */
+    "Unmatched [ or [^",			/* REG_EBRACK */
+    "Unmatched ( or \\(",			/* REG_EPAREN */
+    "Unmatched \\{",				/* REG_EBRACE */
+    "Invalid content of \\{\\}",		/* REG_BADBR */
+    "Invalid range end",			/* REG_ERANGE */
+    "Memory exhausted",				/* REG_ESPACE */
+    "Invalid preceding regular expression",	/* REG_BADRPT */
+    "Premature end of regular expression",	/* REG_EEND */
+    "Regular expression too big",		/* REG_ESIZE */
+    "Unmatched ) or \\)",			/* REG_ERPAREN */
+  };
+

+/* Subroutine declarations and macros for regex_compile.  */
+
+static void store_op1 (), store_op2 ();
+static void insert_op1 (), insert_op2 ();
+static boolean at_begline_loc_p (), at_endline_loc_p ();
+static boolean group_in_compile_stack ();
+static reg_errcode_t compile_range ();
+
+/* Fetch the next character in the uncompiled pattern---translating it 
+   if necessary.  Also cast from a signed character in the constant
+   string passed to us by the user to an unsigned char that we can use
+   as an array index (in, e.g., `translate').  */
+#define PATFETCH(c)							\
+  do {if (p == pend) return REG_EEND;					\
+    c = (unsigned char) *p++;						\
+    if (translate) c = translate[c]; 					\
+  } while (0)
+
+/* Fetch the next character in the uncompiled pattern, with no
+   translation.  */
+#define PATFETCH_RAW(c)							\
+  do {if (p == pend) return REG_EEND;					\
+    c = (unsigned char) *p++; 						\
+  } while (0)
+
+/* Go backwards one character in the pattern.  */
+#define PATUNFETCH p--
+
+
+/* If `translate' is non-null, return translate[D], else just D.  We
+   cast the subscript to translate because some data is declared as
+   `char *', to avoid warnings when a string constant is passed.  But
+   when we use a character as a subscript we must make it unsigned.  */
+#define TRANSLATE(d) (translate ? translate[(unsigned char) (d)] : (d))
+
+
+/* Macros for outputting the compiled pattern into `buffer'.  */
+
+/* If the buffer isn't allocated when it comes in, use this.  */
+#define INIT_BUF_SIZE  32
+
+/* Make sure we have at least N more bytes of space in buffer.  */
+#define GET_BUFFER_SPACE(n)						\
+    while (b - bufp->buffer + (n) > bufp->allocated)			\
+      EXTEND_BUFFER ()
+
+/* Make sure we have one more byte of buffer space and then add C to it.  */
+#define BUF_PUSH(c)							\
+  do {									\
+    GET_BUFFER_SPACE (1);						\
+    *b++ = (unsigned char) (c);						\
+  } while (0)
+
+
+/* Ensure we have two more bytes of buffer space and then append C1 and C2.  */
+#define BUF_PUSH_2(c1, c2)						\
+  do {									\
+    GET_BUFFER_SPACE (2);						\
+    *b++ = (unsigned char) (c1);					\
+    *b++ = (unsigned char) (c2);					\
+  } while (0)
+
+
+/* As with BUF_PUSH_2, except for three bytes.  */
+#define BUF_PUSH_3(c1, c2, c3)						\
+  do {									\
+    GET_BUFFER_SPACE (3);						\
+    *b++ = (unsigned char) (c1);					\
+    *b++ = (unsigned char) (c2);					\
+    *b++ = (unsigned char) (c3);					\
+  } while (0)
+
+
+/* Store a jump with opcode OP at LOC to location TO.  We store a
+   relative address offset by the three bytes the jump itself occupies.  */
+#define STORE_JUMP(op, loc, to) \
+  store_op1 (op, loc, (to) - (loc) - 3)
+
+/* Likewise, for a two-argument jump.  */
+#define STORE_JUMP2(op, loc, to, arg) \
+  store_op2 (op, loc, (to) - (loc) - 3, arg)
+
+/* Like `STORE_JUMP', but for inserting.  Assume `b' is the buffer end.  */
+#define INSERT_JUMP(op, loc, to) \
+  insert_op1 (op, loc, (to) - (loc) - 3, b)
+
+/* Like `STORE_JUMP2', but for inserting.  Assume `b' is the buffer end.  */
+#define INSERT_JUMP2(op, loc, to, arg) \
+  insert_op2 (op, loc, (to) - (loc) - 3, arg, b)
+
+
+/* This is not an arbitrary limit: the arguments which represent offsets
+   into the pattern are two bytes long.  So if 2^16 bytes turns out to
+   be too small, many things would have to change.  */
+#define MAX_BUF_SIZE (1L << 16)
+
+
+/* Extend the buffer by twice its current size via realloc and
+   reset the pointers that pointed into the old block to point to the
+   correct places in the new one.  If extending the buffer results in it
+   being larger than MAX_BUF_SIZE, then flag memory exhausted.  */
+#define EXTEND_BUFFER()							\
+  do { 									\
+    unsigned char *old_buffer = bufp->buffer;				\
+    if (bufp->allocated == MAX_BUF_SIZE) 				\
+      return REG_ESIZE;							\
+    bufp->allocated <<= 1;						\
+    if (bufp->allocated > MAX_BUF_SIZE)					\
+      bufp->allocated = MAX_BUF_SIZE; 					\
+    bufp->buffer = (unsigned char *) realloc (bufp->buffer, bufp->allocated);\
+    if (bufp->buffer == NULL)						\
+      return REG_ESPACE;						\
+    /* If the buffer moved, move all the pointers into it.  */		\
+    if (old_buffer != bufp->buffer)					\
+      {									\
+        b = (b - old_buffer) + bufp->buffer;				\
+        begalt = (begalt - old_buffer) + bufp->buffer;			\
+        if (fixup_alt_jump)						\
+          fixup_alt_jump = (fixup_alt_jump - old_buffer) + bufp->buffer;\
+        if (laststart)							\
+          laststart = (laststart - old_buffer) + bufp->buffer;		\
+        if (pending_exact)						\
+          pending_exact = (pending_exact - old_buffer) + bufp->buffer;	\
+      }									\
+  } while (0)
+
+
+/* Since we have one byte reserved for the register number argument to
+   {start,stop}_memory, the maximum number of groups we can report
+   things about is what fits in that byte.  */
+#define MAX_REGNUM 255
+
+/* But patterns can have more than `MAX_REGNUM' registers.  We just
+   ignore the excess.  */
+typedef unsigned regnum_t;
+
+
+/* Macros for the compile stack.  */
+
+/* Since offsets can go either forwards or backwards, this type needs to
+   be able to hold values from -(MAX_BUF_SIZE - 1) to MAX_BUF_SIZE - 1.  */
+typedef int pattern_offset_t;
+
+typedef struct
+{
+  pattern_offset_t begalt_offset;
+  pattern_offset_t fixup_alt_jump;
+  pattern_offset_t inner_group_offset;
+  pattern_offset_t laststart_offset;  
+  regnum_t regnum;
+} compile_stack_elt_t;
+
+
+typedef struct
+{
+  compile_stack_elt_t *stack;
+  unsigned size;
+  unsigned avail;			/* Offset of next open position.  */
+} compile_stack_type;
+
+
+#define INIT_COMPILE_STACK_SIZE 32
+
+#define COMPILE_STACK_EMPTY  (compile_stack.avail == 0)
+#define COMPILE_STACK_FULL  (compile_stack.avail == compile_stack.size)
+
+/* The next available element.  */
+#define COMPILE_STACK_TOP (compile_stack.stack[compile_stack.avail])
+
+
+/* Set the bit for character C in a list.  */
+#define SET_LIST_BIT(c)                               \
+  (b[((unsigned char) (c)) / BYTEWIDTH]               \
+   |= 1 << (((unsigned char) c) % BYTEWIDTH))
+
+
+/* Get the next unsigned number in the uncompiled pattern.  */
+#define GET_UNSIGNED_NUMBER(num) 					\
+  { if (p != pend)							\
+     {									\
+       PATFETCH (c); 							\
+       while (ISDIGIT (c)) 						\
+         { 								\
+           if (num < 0)							\
+              num = 0;							\
+           num = num * 10 + c - '0'; 					\
+           if (p == pend) 						\
+              break; 							\
+           PATFETCH (c);						\
+         } 								\
+       } 								\
+    }		
+
+#define CHAR_CLASS_MAX_LENGTH  6 /* Namely, `xdigit'.  */
+
+#define IS_CHAR_CLASS(string)						\
+   (STREQ (string, "alpha") || STREQ (string, "upper")			\
+    || STREQ (string, "lower") || STREQ (string, "digit")		\
+    || STREQ (string, "alnum") || STREQ (string, "xdigit")		\
+    || STREQ (string, "space") || STREQ (string, "print")		\
+    || STREQ (string, "punct") || STREQ (string, "graph")		\
+    || STREQ (string, "cntrl") || STREQ (string, "blank"))
+

+/* `regex_compile' compiles PATTERN (of length SIZE) according to SYNTAX.
+   Returns one of error codes defined in `regex.h', or zero for success.
+
+   Assumes the `allocated' (and perhaps `buffer') and `translate'
+   fields are set in BUFP on entry.
+
+   If it succeeds, results are put in BUFP (if it returns an error, the
+   contents of BUFP are undefined):
+     `buffer' is the compiled pattern;
+     `syntax' is set to SYNTAX;
+     `used' is set to the length of the compiled pattern;
+     `fastmap_accurate' is zero;
+     `re_nsub' is the number of subexpressions in PATTERN;
+     `not_bol' and `not_eol' are zero;
+   
+   The `fastmap' and `newline_anchor' fields are neither
+   examined nor set.  */
+
+static reg_errcode_t
+regex_compile (pattern, size, syntax, bufp)
+     char *pattern;
+     int size;
+     reg_syntax_t syntax;
+     struct re_pattern_buffer *bufp;
+{
+  /* We fetch characters from PATTERN here.  Even though PATTERN is
+     `char *' (i.e., signed), we declare these variables as unsigned, so
+     they can be reliably used as array indices.  */
+  register unsigned char c, c1;
+  
+  /* A random tempory spot in PATTERN.  */
+  char *p1;
+
+  /* Points to the end of the buffer, where we should append.  */
+  register unsigned char *b;
+  
+  /* Keeps track of unclosed groups.  */
+  compile_stack_type compile_stack;
+
+  /* Points to the current (ending) position in the pattern.  */
+  char *p = pattern;
+  char *pend = pattern + size;
+  
+  /* How to translate the characters in the pattern.  */
+  char *translate = bufp->translate;
+
+  /* Address of the count-byte of the most recently inserted `exactn'
+     command.  This makes it possible to tell if a new exact-match
+     character can be added to that command or if the character requires
+     a new `exactn' command.  */
+  unsigned char *pending_exact = 0;
+
+  /* Address of start of the most recently finished expression.
+     This tells, e.g., postfix * where to find the start of its
+     operand.  Reset at the beginning of groups and alternatives.  */
+  unsigned char *laststart = 0;
+
+  /* Address of beginning of regexp, or inside of last group.  */
+  unsigned char *begalt;
+
+  /* Place in the uncompiled pattern (i.e., the {) to
+     which to go back if the interval is invalid.  */
+  char *beg_interval;
+                
+  /* Address of the place where a forward jump should go to the end of
+     the containing expression.  Each alternative of an `or' -- except the
+     last -- ends with a forward jump of this sort.  */
+  unsigned char *fixup_alt_jump = 0;
+
+  /* Counts open-groups as they are encountered.  Remembered for the
+     matching close-group on the compile stack, so the same register
+     number is put in the stop_memory as the start_memory.  */
+  regnum_t regnum = 0;
+
+#ifdef DEBUG
+  DEBUG_PRINT1 ("\nCompiling pattern: ");
+  if (debug)
+    {
+      unsigned debug_count;
+      
+      for (debug_count = 0; debug_count < size; debug_count++)
+        printchar (pattern[debug_count]);
+      putchar ('\n');
+    }
+#endif /* DEBUG */
+
+  /* Initialize the compile stack.  */
+  compile_stack.stack = TALLOC (INIT_COMPILE_STACK_SIZE, compile_stack_elt_t);
+  if (compile_stack.stack == NULL)
+    return REG_ESPACE;
+
+  compile_stack.size = INIT_COMPILE_STACK_SIZE;
+  compile_stack.avail = 0;
+
+  /* Initialize the pattern buffer.  */
+  bufp->syntax = syntax;
+  bufp->fastmap_accurate = 0;
+  bufp->not_bol = bufp->not_eol = 0;
+
+  /* Set `used' to zero, so that if we return an error, the pattern
+     printer (for debugging) will think there's no pattern.  We reset it
+     at the end.  */
+  bufp->used = 0;
+  
+  /* Always count groups, whether or not bufp->no_sub is set.  */
+  bufp->re_nsub = 0;				
+
+#if !defined (emacs) && !defined (SYNTAX_TABLE)
+  /* Initialize the syntax table.  */
+   init_syntax_once ();
+#endif
+
+  if (bufp->allocated == 0)
+    {
+      if (bufp->buffer)
+	{ /* If zero allocated, but buffer is non-null, try to realloc
+             enough space.  This loses if buffer's address is bogus, but
+             that is the user's responsibility.  */
+          RETALLOC (bufp->buffer, INIT_BUF_SIZE, unsigned char);
+        }
+      else
+        { /* Caller did not allocate a buffer.  Do it for them.  */
+          bufp->buffer = TALLOC (INIT_BUF_SIZE, unsigned char);
+        }
+      if (!bufp->buffer) return REG_ESPACE;
+
+      bufp->allocated = INIT_BUF_SIZE;
+    }
+
+  begalt = b = bufp->buffer;
+
+  /* Loop through the uncompiled pattern until we're at the end.  */
+  while (p != pend)
+    {
+      PATFETCH (c);
+
+      switch (c)
+        {
+        case '^':
+          {
+            if (   /* If at start of pattern, it's an operator.  */
+                   p == pattern + 1
+                   /* If context independent, it's an operator.  */
+                || syntax & RE_CONTEXT_INDEP_ANCHORS
+                   /* Otherwise, depends on what's come before.  */
+                || at_begline_loc_p (pattern, p, syntax))
+              BUF_PUSH (begline);
+            else
+              goto normal_char;
+          }
+          break;
+
+
+        case '$':
+          {
+            if (   /* If at end of pattern, it's an operator.  */
+                   p == pend 
+                   /* If context independent, it's an operator.  */
+                || syntax & RE_CONTEXT_INDEP_ANCHORS
+                   /* Otherwise, depends on what's next.  */
+                || at_endline_loc_p (p, pend, syntax))
+               BUF_PUSH (endline);
+             else
+               goto normal_char;
+           }
+           break;
+
+
+	case '+':
+        case '?':
+          if ((syntax & RE_BK_PLUS_QM)
+              || (syntax & RE_LIMITED_OPS))
+            goto normal_char;
+        handle_plus:
+        case '*':
+          /* If there is no previous pattern... */
+          if (!laststart)
+            {
+              if (syntax & RE_CONTEXT_INVALID_OPS)
+                return REG_BADRPT;
+              else if (!(syntax & RE_CONTEXT_INDEP_OPS))
+                goto normal_char;
+            }
+
+          {
+            /* Are we optimizing this jump?  */
+            boolean keep_string_p = false;
+            
+            /* 1 means zero (many) matches is allowed.  */
+            char zero_times_ok = 0, many_times_ok = 0;
+
+            /* If there is a sequence of repetition chars, collapse it
+               down to just one (the right one).  We can't combine
+               interval operators with these because of, e.g., `a{2}*',
+               which should only match an even number of `a's.  */
+
+            for (;;)
+              {
+                zero_times_ok |= c != '+';
+                many_times_ok |= c != '?';
+
+                if (p == pend)
+                  break;
+
+                PATFETCH (c);
+
+                if (c == '*'
+                    || (!(syntax & RE_BK_PLUS_QM) && (c == '+' || c == '?')))
+                  ;
+
+                else if (syntax & RE_BK_PLUS_QM  &&  c == '\\')
+                  {
+                    if (p == pend) return REG_EESCAPE;
+
+                    PATFETCH (c1);
+                    if (!(c1 == '+' || c1 == '?'))
+                      {
+                        PATUNFETCH;
+                        PATUNFETCH;
+                        break;
+                      }
+
+                    c = c1;
+                  }
+                else
+                  {
+                    PATUNFETCH;
+                    break;
+                  }
+
+                /* If we get here, we found another repeat character.  */
+               }
+
+            /* Star, etc. applied to an empty pattern is equivalent
+               to an empty pattern.  */
+            if (!laststart)  
+              break;
+
+            /* Now we know whether or not zero matches is allowed
+               and also whether or not two or more matches is allowed.  */
+            if (many_times_ok)
+              { /* More than one repetition is allowed, so put in at the
+                   end a backward relative jump from `b' to before the next
+                   jump we're going to put in below (which jumps from
+                   laststart to after this jump).  
+
+                   But if we are at the `*' in the exact sequence `.*\n',
+                   insert an unconditional jump backwards to the .,
+                   instead of the beginning of the loop.  This way we only
+                   push a failure point once, instead of every time
+                   through the loop.  */
+                assert (p - 1 > pattern);
+
+                /* Allocate the space for the jump.  */
+                GET_BUFFER_SPACE (3);
+
+                /* We know we are not at the first character of the pattern,
+                   because laststart was nonzero.  And we've already
+                   incremented `p', by the way, to be the character after
+                   the `*'.  Do we have to do something analogous here
+                   for null bytes, because of RE_DOT_NOT_NULL?  */
+                if (TRANSLATE (*(p - 2)) == TRANSLATE ('.')
+		    && zero_times_ok
+                    && p < pend && TRANSLATE (*p) == TRANSLATE ('\n')
+                    && !(syntax & RE_DOT_NEWLINE))
+                  { /* We have .*\n.  */
+                    STORE_JUMP (jump, b, laststart);
+                    keep_string_p = true;
+                  }
+                else
+                  /* Anything else.  */
+                  STORE_JUMP (maybe_pop_jump, b, laststart - 3);
+
+                /* We've added more stuff to the buffer.  */
+                b += 3;
+              }
+
+            /* On failure, jump from laststart to b + 3, which will be the
+               end of the buffer after this jump is inserted.  */
+            GET_BUFFER_SPACE (3);
+            INSERT_JUMP (keep_string_p ? on_failure_keep_string_jump
+                                       : on_failure_jump,
+                         laststart, b + 3);
+            pending_exact = 0;
+            b += 3;
+
+            if (!zero_times_ok)
+              {
+                /* At least one repetition is required, so insert a
+                   `dummy_failure_jump' before the initial
+                   `on_failure_jump' instruction of the loop. This
+                   effects a skip over that instruction the first time
+                   we hit that loop.  */
+                GET_BUFFER_SPACE (3);
+                INSERT_JUMP (dummy_failure_jump, laststart, laststart + 6);
+                b += 3;
+              }
+            }
+	  break;
+
+
+	case '.':
+          laststart = b;
+          BUF_PUSH (anychar);
+          break;
+
+
+        case '[':
+          {
+            boolean had_char_class = false;
+
+            if (p == pend) return REG_EBRACK;
+
+            /* Ensure that we have enough space to push a charset: the
+               opcode, the length count, and the bitset; 34 bytes in all.  */
+	    GET_BUFFER_SPACE (34);
+
+            laststart = b;
+
+            /* We test `*p == '^' twice, instead of using an if
+               statement, so we only need one BUF_PUSH.  */
+            BUF_PUSH (*p == '^' ? charset_not : charset); 
+            if (*p == '^')
+              p++;
+
+            /* Remember the first position in the bracket expression.  */
+            p1 = p;
+
+            /* Push the number of bytes in the bitmap.  */
+            BUF_PUSH ((1 << BYTEWIDTH) / BYTEWIDTH);
+
+            /* Clear the whole map.  */
+            bzero (b, (1 << BYTEWIDTH) / BYTEWIDTH);
+
+            /* charset_not matches newline according to a syntax bit.  */
+            if ((re_opcode_t) b[-2] == charset_not
+                && (syntax & RE_HAT_LISTS_NOT_NEWLINE))
+              SET_LIST_BIT ('\n');
+
+            /* Read in characters and ranges, setting map bits.  */
+            for (;;)
+              {
+                if (p == pend) return REG_EBRACK;
+
+                PATFETCH (c);
+
+                /* \ might escape characters inside [...] and [^...].  */
+                if ((syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && c == '\\')
+                  {
+                    if (p == pend) return REG_EESCAPE;
+
+                    PATFETCH (c1);
+                    SET_LIST_BIT (c1);
+                    continue;
+                  }
+
+                /* Could be the end of the bracket expression.  If it's
+                   not (i.e., when the bracket expression is `[]' so
+                   far), the ']' character bit gets set way below.  */
+                if (c == ']' && p != p1 + 1)
+                  break;
+
+                /* Look ahead to see if it's a range when the last thing
+                   was a character class.  */
+                if (had_char_class && c == '-' && *p != ']')
+                  return REG_ERANGE;
+
+                /* Look ahead to see if it's a range when the last thing
+                   was a character: if this is a hyphen not at the
+                   beginning or the end of a list, then it's the range
+                   operator.  */
+                if (c == '-' 
+                    && !(p - 2 >= pattern && p[-2] == '[') 
+                    && !(p - 3 >= pattern && p[-3] == '[' && p[-2] == '^')
+                    && *p != ']')
+                  {
+                    reg_errcode_t ret
+                      = compile_range (&p, pend, translate, syntax, b);
+                    if (ret != REG_NOERROR) return ret;
+                  }
+
+                else if (p[0] == '-' && p[1] != ']')
+                  { /* This handles ranges made up of characters only.  */
+                    reg_errcode_t ret;
+
+		    /* Move past the `-'.  */
+                    PATFETCH (c1);
+                    
+                    ret = compile_range (&p, pend, translate, syntax, b);
+                    if (ret != REG_NOERROR) return ret;
+                  }
+
+                /* See if we're at the beginning of a possible character
+                   class.  */
+
+                else if (syntax & RE_CHAR_CLASSES && c == '[' && *p == ':')
+                  { /* Leave room for the null.  */
+                    char str[CHAR_CLASS_MAX_LENGTH + 1];
+
+                    PATFETCH (c);
+                    c1 = 0;
+
+                    /* If pattern is `[[:'.  */
+                    if (p == pend) return REG_EBRACK;
+
+                    for (;;)
+                      {
+                        PATFETCH (c);
+                        if (c == ':' || c == ']' || p == pend
+                            || c1 == CHAR_CLASS_MAX_LENGTH)
+                          break;
+                        str[c1++] = c;
+                      }
+                    str[c1] = '\0';
+
+                    /* If isn't a word bracketed by `[:' and:`]':
+                       undo the ending character, the letters, and leave 
+                       the leading `:' and `[' (but set bits for them).  */
+                    if (c == ':' && *p == ']')
+                      {
+                        int ch;
+                        boolean is_alnum = STREQ (str, "alnum");
+                        boolean is_alpha = STREQ (str, "alpha");
+                        boolean is_blank = STREQ (str, "blank");
+                        boolean is_cntrl = STREQ (str, "cntrl");
+                        boolean is_digit = STREQ (str, "digit");
+                        boolean is_graph = STREQ (str, "graph");
+                        boolean is_lower = STREQ (str, "lower");
+                        boolean is_print = STREQ (str, "print");
+                        boolean is_punct = STREQ (str, "punct");
+                        boolean is_space = STREQ (str, "space");
+                        boolean is_upper = STREQ (str, "upper");
+                        boolean is_xdigit = STREQ (str, "xdigit");
+                        
+                        if (!IS_CHAR_CLASS (str)) return REG_ECTYPE;
+
+                        /* Throw away the ] at the end of the character
+                           class.  */
+                        PATFETCH (c);					
+
+                        if (p == pend) return REG_EBRACK;
+
+                        for (ch = 0; ch < 1 << BYTEWIDTH; ch++)
+                          {
+                            if (   (is_alnum  && ISALNUM (ch))
+                                || (is_alpha  && ISALPHA (ch))
+                                || (is_blank  && ISBLANK (ch))
+                                || (is_cntrl  && ISCNTRL (ch))
+                                || (is_digit  && ISDIGIT (ch))
+                                || (is_graph  && ISGRAPH (ch))
+                                || (is_lower  && ISLOWER (ch))
+                                || (is_print  && ISPRINT (ch))
+                                || (is_punct  && ISPUNCT (ch))
+                                || (is_space  && ISSPACE (ch))
+                                || (is_upper  && ISUPPER (ch))
+                                || (is_xdigit && ISXDIGIT (ch)))
+                            SET_LIST_BIT (ch);
+                          }
+                        had_char_class = true;
+                      }
+                    else
+                      {
+                        c1++;
+                        while (c1--)    
+                          PATUNFETCH;
+                        SET_LIST_BIT ('[');
+                        SET_LIST_BIT (':');
+                        had_char_class = false;
+                      }
+                  }
+                else
+                  {
+                    had_char_class = false;
+                    SET_LIST_BIT (c);
+                  }
+              }
+
+            /* Discard any (non)matching list bytes that are all 0 at the
+               end of the map.  Decrease the map-length byte too.  */
+            while ((int) b[-1] > 0 && b[b[-1] - 1] == 0) 
+              b[-1]--; 
+            b += b[-1];
+          }
+          break;
+
+
+	case '(':
+          if (syntax & RE_NO_BK_PARENS)
+            goto handle_open;
+          else
+            goto normal_char;
+
+
+        case ')':
+          if (syntax & RE_NO_BK_PARENS)
+            goto handle_close;
+          else
+            goto normal_char;
+
+
+        case '\n':
+          if (syntax & RE_NEWLINE_ALT)
+            goto handle_alt;
+          else
+            goto normal_char;
+
+
+	case '|':
+          if (syntax & RE_NO_BK_VBAR)
+            goto handle_alt;
+          else
+            goto normal_char;
+
+
+        case '{':
+           if (syntax & RE_INTERVALS && syntax & RE_NO_BK_BRACES)
+             goto handle_interval;
+           else
+             goto normal_char;
+
+
+        case '\\':
+          if (p == pend) return REG_EESCAPE;
+
+          /* Do not translate the character after the \, so that we can
+             distinguish, e.g., \B from \b, even if we normally would
+             translate, e.g., B to b.  */
+          PATFETCH_RAW (c);
+
+          switch (c)
+            {
+            case '(':
+              if (syntax & RE_NO_BK_PARENS)
+                goto normal_backslash;
+
+            handle_open:
+              bufp->re_nsub++;
+              regnum++;
+
+              if (COMPILE_STACK_FULL)
+                { 
+                  RETALLOC (compile_stack.stack, compile_stack.size << 1,
+                            compile_stack_elt_t);
+                  if (compile_stack.stack == NULL) return REG_ESPACE;
+
+                  compile_stack.size <<= 1;
+                }
+
+              /* These are the values to restore when we hit end of this
+                 group.  They are all relative offsets, so that if the
+                 whole pattern moves because of realloc, they will still
+                 be valid.  */
+              COMPILE_STACK_TOP.begalt_offset = begalt - bufp->buffer;
+              COMPILE_STACK_TOP.fixup_alt_jump 
+                = fixup_alt_jump ? fixup_alt_jump - bufp->buffer + 1 : 0;
+              COMPILE_STACK_TOP.laststart_offset = b - bufp->buffer;
+              COMPILE_STACK_TOP.regnum = regnum;
+
+              /* We will eventually replace the 0 with the number of
+                 groups inner to this one.  But do not push a
+                 start_memory for groups beyond the last one we can
+                 represent in the compiled pattern.  */
+              if (regnum <= MAX_REGNUM)
+                {
+                  COMPILE_STACK_TOP.inner_group_offset = b - bufp->buffer + 2;
+                  BUF_PUSH_3 (start_memory, regnum, 0);
+                }
+                
+              compile_stack.avail++;
+
+              fixup_alt_jump = 0;
+              laststart = 0;
+              begalt = b;
+	      /* If we've reached MAX_REGNUM groups, then this open
+		 won't actually generate any code, so we'll have to
+		 clear pending_exact explicitly.  */
+	      pending_exact = 0;
+              break;
+
+
+            case ')':
+              if (syntax & RE_NO_BK_PARENS) goto normal_backslash;
+
+              if (COMPILE_STACK_EMPTY)
+                if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
+                  goto normal_backslash;
+                else
+                  return REG_ERPAREN;
+
+            handle_close:
+              if (fixup_alt_jump)
+                { /* Push a dummy failure point at the end of the
+                     alternative for a possible future
+                     `pop_failure_jump' to pop.  See comments at
+                     `push_dummy_failure' in `re_match_2'.  */
+                  BUF_PUSH (push_dummy_failure);
+                  
+                  /* We allocated space for this jump when we assigned
+                     to `fixup_alt_jump', in the `handle_alt' case below.  */
+                  STORE_JUMP (jump_past_alt, fixup_alt_jump, b - 1);
+                }
+
+              /* See similar code for backslashed left paren above.  */
+              if (COMPILE_STACK_EMPTY)
+                if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
+                  goto normal_char;
+                else
+                  return REG_ERPAREN;
+
+              /* Since we just checked for an empty stack above, this
+                 ``can't happen''.  */
+              assert (compile_stack.avail != 0);
+              {
+                /* We don't just want to restore into `regnum', because
+                   later groups should continue to be numbered higher,
+                   as in `(ab)c(de)' -- the second group is #2.  */
+                regnum_t this_group_regnum;
+
+                compile_stack.avail--;		
+                begalt = bufp->buffer + COMPILE_STACK_TOP.begalt_offset;
+                fixup_alt_jump
+                  = COMPILE_STACK_TOP.fixup_alt_jump
+                    ? bufp->buffer + COMPILE_STACK_TOP.fixup_alt_jump - 1 
+                    : 0;
+                laststart = bufp->buffer + COMPILE_STACK_TOP.laststart_offset;
+                this_group_regnum = COMPILE_STACK_TOP.regnum;
+		/* If we've reached MAX_REGNUM groups, then this open
+		   won't actually generate any code, so we'll have to
+		   clear pending_exact explicitly.  */
+		pending_exact = 0;
+
+                /* We're at the end of the group, so now we know how many
+                   groups were inside this one.  */
+                if (this_group_regnum <= MAX_REGNUM)
+                  {
+                    unsigned char *inner_group_loc
+                      = bufp->buffer + COMPILE_STACK_TOP.inner_group_offset;
+                    
+                    *inner_group_loc = regnum - this_group_regnum;
+                    BUF_PUSH_3 (stop_memory, this_group_regnum,
+                                regnum - this_group_regnum);
+                  }
+              }
+              break;
+
+
+            case '|':					/* `\|'.  */
+              if (syntax & RE_LIMITED_OPS || syntax & RE_NO_BK_VBAR)
+                goto normal_backslash;
+            handle_alt:
+              if (syntax & RE_LIMITED_OPS)
+                goto normal_char;
+
+              /* Insert before the previous alternative a jump which
+                 jumps to this alternative if the former fails.  */
+              GET_BUFFER_SPACE (3);
+              INSERT_JUMP (on_failure_jump, begalt, b + 6);
+              pending_exact = 0;
+              b += 3;
+
+              /* The alternative before this one has a jump after it
+                 which gets executed if it gets matched.  Adjust that
+                 jump so it will jump to this alternative's analogous
+                 jump (put in below, which in turn will jump to the next
+                 (if any) alternative's such jump, etc.).  The last such
+                 jump jumps to the correct final destination.  A picture:
+                          _____ _____ 
+                          |   | |   |   
+                          |   v |   v 
+                         a | b   | c   
+
+                 If we are at `b', then fixup_alt_jump right now points to a
+                 three-byte space after `a'.  We'll put in the jump, set
+                 fixup_alt_jump to right after `b', and leave behind three
+                 bytes which we'll fill in when we get to after `c'.  */
+
+              if (fixup_alt_jump)
+                STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
+
+              /* Mark and leave space for a jump after this alternative,
+                 to be filled in later either by next alternative or
+                 when know we're at the end of a series of alternatives.  */
+              fixup_alt_jump = b;
+              GET_BUFFER_SPACE (3);
+              b += 3;
+
+              laststart = 0;
+              begalt = b;
+              break;
+
+
+            case '{': 
+              /* If \{ is a literal.  */
+              if (!(syntax & RE_INTERVALS)
+                     /* If we're at `\{' and it's not the open-interval 
+                        operator.  */
+                  || ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES))
+                  || (p - 2 == pattern  &&  p == pend))
+                goto normal_backslash;
+
+            handle_interval:
+              {
+                /* If got here, then the syntax allows intervals.  */
+
+                /* At least (most) this many matches must be made.  */
+                int lower_bound = -1, upper_bound = -1;
+
+                beg_interval = p - 1;
+
+                if (p == pend)
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else
+                      return REG_EBRACE;
+                  }
+
+                GET_UNSIGNED_NUMBER (lower_bound);
+
+                if (c == ',')
+                  {
+                    GET_UNSIGNED_NUMBER (upper_bound);
+                    if (upper_bound < 0) upper_bound = RE_DUP_MAX;
+                  }
+                else
+                  /* Interval such as `{1}' => match exactly once. */
+                  upper_bound = lower_bound;
+
+                if (lower_bound < 0 || upper_bound > RE_DUP_MAX
+                    || lower_bound > upper_bound)
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else 
+                      return REG_BADBR;
+                  }
+
+                if (!(syntax & RE_NO_BK_BRACES)) 
+                  {
+                    if (c != '\\') return REG_EBRACE;
+
+                    PATFETCH (c);
+                  }
+
+                if (c != '}')
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else 
+                      return REG_BADBR;
+                  }
+
+                /* We just parsed a valid interval.  */
+
+                /* If it's invalid to have no preceding re.  */
+                if (!laststart)
+                  {
+                    if (syntax & RE_CONTEXT_INVALID_OPS)
+                      return REG_BADRPT;
+                    else if (syntax & RE_CONTEXT_INDEP_OPS)
+                      laststart = b;
+                    else
+                      goto unfetch_interval;
+                  }
+
+                /* If the upper bound is zero, don't want to succeed at
+                   all; jump from `laststart' to `b + 3', which will be
+                   the end of the buffer after we insert the jump.  */
+                 if (upper_bound == 0)
+                   {
+                     GET_BUFFER_SPACE (3);
+                     INSERT_JUMP (jump, laststart, b + 3);
+                     b += 3;
+                   }
+
+                 /* Otherwise, we have a nontrivial interval.  When
+                    we're all done, the pattern will look like:
+                      set_number_at <jump count> <upper bound>
+                      set_number_at <succeed_n count> <lower bound>
+                      succeed_n <after jump addr> <succed_n count>
+                      <body of loop>
+                      jump_n <succeed_n addr> <jump count>
+                    (The upper bound and `jump_n' are omitted if
+                    `upper_bound' is 1, though.)  */
+                 else 
+                   { /* If the upper bound is > 1, we need to insert
+                        more at the end of the loop.  */
+                     unsigned nbytes = 10 + (upper_bound > 1) * 10;
+
+                     GET_BUFFER_SPACE (nbytes);
+
+                     /* Initialize lower bound of the `succeed_n', even
+                        though it will be set during matching by its
+                        attendant `set_number_at' (inserted next),
+                        because `re_compile_fastmap' needs to know.
+                        Jump to the `jump_n' we might insert below.  */
+                     INSERT_JUMP2 (succeed_n, laststart,
+                                   b + 5 + (upper_bound > 1) * 5,
+                                   lower_bound);
+                     b += 5;
+
+                     /* Code to initialize the lower bound.  Insert 
+                        before the `succeed_n'.  The `5' is the last two
+                        bytes of this `set_number_at', plus 3 bytes of
+                        the following `succeed_n'.  */
+                     insert_op2 (set_number_at, laststart, 5, lower_bound, b);
+                     b += 5;
+
+                     if (upper_bound > 1)
+                       { /* More than one repetition is allowed, so
+                            append a backward jump to the `succeed_n'
+                            that starts this interval.
+                            
+                            When we've reached this during matching,
+                            we'll have matched the interval once, so
+                            jump back only `upper_bound - 1' times.  */
+                         STORE_JUMP2 (jump_n, b, laststart + 5,
+                                      upper_bound - 1);
+                         b += 5;
+
+                         /* The location we want to set is the second
+                            parameter of the `jump_n'; that is `b-2' as
+                            an absolute address.  `laststart' will be
+                            the `set_number_at' we're about to insert;
+                            `laststart+3' the number to set, the source
+                            for the relative address.  But we are
+                            inserting into the middle of the pattern --
+                            so everything is getting moved up by 5.
+                            Conclusion: (b - 2) - (laststart + 3) + 5,
+                            i.e., b - laststart.
+                            
+                            We insert this at the beginning of the loop
+                            so that if we fail during matching, we'll
+                            reinitialize the bounds.  */
+                         insert_op2 (set_number_at, laststart, b - laststart,
+                                     upper_bound - 1, b);
+                         b += 5;
+                       }
+                   }
+                pending_exact = 0;
+                beg_interval = NULL;
+              }
+              break;
+
+            unfetch_interval:
+              /* If an invalid interval, match the characters as literals.  */
+               assert (beg_interval);
+               p = beg_interval;
+               beg_interval = NULL;
+
+               /* normal_char and normal_backslash need `c'.  */
+               PATFETCH (c);	
+
+               if (!(syntax & RE_NO_BK_BRACES))
+                 {
+                   if (p > pattern  &&  p[-1] == '\\')
+                     goto normal_backslash;
+                 }
+               goto normal_char;
+
+#ifdef emacs
+            /* There is no way to specify the before_dot and after_dot
+               operators.  rms says this is ok.  --karl  */
+            case '=':
+              BUF_PUSH (at_dot);
+              break;
+
+            case 's':	
+              laststart = b;
+              PATFETCH (c);
+              BUF_PUSH_2 (syntaxspec, syntax_spec_code[c]);
+              break;
+
+            case 'S':
+              laststart = b;
+              PATFETCH (c);
+              BUF_PUSH_2 (notsyntaxspec, syntax_spec_code[c]);
+              break;
+#endif /* emacs */
+
+
+            case 'w':
+              laststart = b;
+              BUF_PUSH (wordchar);
+              break;
+
+
+            case 'W':
+              laststart = b;
+              BUF_PUSH (notwordchar);
+              break;
+
+
+            case '<':
+              BUF_PUSH (wordbeg);
+              break;
+
+            case '>':
+              BUF_PUSH (wordend);
+              break;
+
+            case 'b':
+              BUF_PUSH (wordbound);
+              break;
+
+            case 'B':
+              BUF_PUSH (notwordbound);
+              break;
+
+            case '`':
+              BUF_PUSH (begbuf);
+              break;
+
+            case '\'':
+              BUF_PUSH (endbuf);
+              break;
+
+            case '1': case '2': case '3': case '4': case '5':
+            case '6': case '7': case '8': case '9':
+              if (syntax & RE_NO_BK_REFS)
+                goto normal_char;
+
+              c1 = c - '0';
+
+              if (c1 > regnum)
+                return REG_ESUBREG;
+
+              /* Can't back reference to a subexpression if inside of it.  */
+              if (group_in_compile_stack (compile_stack, c1))
+                goto normal_char;
+
+              laststart = b;
+              BUF_PUSH_2 (duplicate, c1);
+              break;
+
+
+            case '+':
+            case '?':
+              if (syntax & RE_BK_PLUS_QM)
+                goto handle_plus;
+              else
+                goto normal_backslash;
+
+            default:
+            normal_backslash:
+              /* You might think it would be useful for \ to mean
+                 not to translate; but if we don't translate it
+                 it will never match anything.  */
+              c = TRANSLATE (c);
+              goto normal_char;
+            }
+          break;
+
+
+	default:
+        /* Expects the character in `c'.  */
+	normal_char:
+	      /* If no exactn currently being built.  */
+          if (!pending_exact 
+
+              /* If last exactn not at current position.  */
+              || pending_exact + *pending_exact + 1 != b
+              
+              /* We have only one byte following the exactn for the count.  */
+	      || *pending_exact == (1 << BYTEWIDTH) - 1
+
+              /* If followed by a repetition operator.  */
+              || *p == '*' || *p == '^'
+	      || ((syntax & RE_BK_PLUS_QM)
+		  ? *p == '\\' && (p[1] == '+' || p[1] == '?')
+		  : (*p == '+' || *p == '?'))
+	      || ((syntax & RE_INTERVALS)
+                  && ((syntax & RE_NO_BK_BRACES)
+		      ? *p == '{'
+                      : (p[0] == '\\' && p[1] == '{'))))
+	    {
+	      /* Start building a new exactn.  */
+              
+              laststart = b;
+
+	      BUF_PUSH_2 (exactn, 0);
+	      pending_exact = b - 1;
+            }
+            
+	  BUF_PUSH (c);
+          (*pending_exact)++;
+	  break;
+        } /* switch (c) */
+    } /* while p != pend */
+
+  
+  /* Through the pattern now.  */
+  
+  if (fixup_alt_jump)
+    STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
+
+  if (!COMPILE_STACK_EMPTY) 
+    return REG_EPAREN;
+
+  free (compile_stack.stack);
+
+  /* We have succeeded; set the length of the buffer.  */
+  bufp->used = b - bufp->buffer;
+
+#ifdef DEBUG
+  if (debug)
+    {
+      DEBUG_PRINT1 ("\nCompiled pattern: ");
+      print_compiled_pattern (bufp);
+    }
+#endif /* DEBUG */
+
+  return REG_NOERROR;
+} /* regex_compile */
+

+/* Subroutines for `regex_compile'.  */
+
+/* Store OP at LOC followed by two-byte integer parameter ARG.  */
+
+static void
+store_op1 (op, loc, arg)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg;
+{
+  *loc = (unsigned char) op;
+  STORE_NUMBER (loc + 1, arg);
+}
+
+
+/* Like `store_op1', but for two two-byte parameters ARG1 and ARG2.  */
+
+static void
+store_op2 (op, loc, arg1, arg2)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg1, arg2;
+{
+  *loc = (unsigned char) op;
+  STORE_NUMBER (loc + 1, arg1);
+  STORE_NUMBER (loc + 3, arg2);
+}
+
+
+/* Copy the bytes from LOC to END to open up three bytes of space at LOC
+   for OP followed by two-byte integer parameter ARG.  */
+
+static void
+insert_op1 (op, loc, arg, end)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg;
+    unsigned char *end;    
+{
+  register unsigned char *pfrom = end;
+  register unsigned char *pto = end + 3;
+
+  while (pfrom != loc)
+    *--pto = *--pfrom;
+    
+  store_op1 (op, loc, arg);
+}
+
+
+/* Like `insert_op1', but for two two-byte parameters ARG1 and ARG2.  */
+
+static void
+insert_op2 (op, loc, arg1, arg2, end)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg1, arg2;
+    unsigned char *end;    
+{
+  register unsigned char *pfrom = end;
+  register unsigned char *pto = end + 5;
+
+  while (pfrom != loc)
+    *--pto = *--pfrom;
+    
+  store_op2 (op, loc, arg1, arg2);
+}
+
+
+/* P points to just after a ^ in PATTERN.  Return true if that ^ comes
+   after an alternative or a begin-subexpression.  We assume there is at
+   least one character before the ^.  */
+
+static boolean
+at_begline_loc_p (pattern, p, syntax)
+    char *pattern, *p;
+    reg_syntax_t syntax;
+{
+  char *prev = p - 2;
+  boolean prev_prev_backslash = prev > pattern && prev[-1] == '\\';
+  
+  return
+       /* After a subexpression?  */
+       (*prev == '(' && (syntax & RE_NO_BK_PARENS || prev_prev_backslash))
+       /* After an alternative?  */
+    || (*prev == '|' && (syntax & RE_NO_BK_VBAR || prev_prev_backslash));
+}
+
+
+/* The dual of at_begline_loc_p.  This one is for $.  We assume there is
+   at least one character after the $, i.e., `P < PEND'.  */
+
+static boolean
+at_endline_loc_p (p, pend, syntax)
+    char *p, *pend;
+    int syntax;
+{
+  char *next = p;
+  boolean next_backslash = *next == '\\';
+  char *next_next = p + 1 < pend ? p + 1 : NULL;
+  
+  return
+       /* Before a subexpression?  */
+       (syntax & RE_NO_BK_PARENS ? *next == ')'
+        : next_backslash && next_next && *next_next == ')')
+       /* Before an alternative?  */
+    || (syntax & RE_NO_BK_VBAR ? *next == '|'
+        : next_backslash && next_next && *next_next == '|');
+}
+
+
+/* Returns true if REGNUM is in one of COMPILE_STACK's elements and 
+   false if it's not.  */
+
+static boolean
+group_in_compile_stack (compile_stack, regnum)
+    compile_stack_type compile_stack;
+    regnum_t regnum;
+{
+  int this_element;
+
+  for (this_element = compile_stack.avail - 1;  
+       this_element >= 0; 
+       this_element--)
+    if (compile_stack.stack[this_element].regnum == regnum)
+      return true;
+
+  return false;
+}
+
+
+/* Read the ending character of a range (in a bracket expression) from the
+   uncompiled pattern *P_PTR (which ends at PEND).  We assume the
+   starting character is in `P[-2]'.  (`P[-1]' is the character `-'.)
+   Then we set the translation of all bits between the starting and
+   ending characters (inclusive) in the compiled pattern B.
+   
+   Return an error code.
+   
+   We use these short variable names so we can use the same macros as
+   `regex_compile' itself.  */
+
+static reg_errcode_t
+compile_range (p_ptr, pend, translate, syntax, b)
+    char **p_ptr, *pend;
+    char *translate;
+    reg_syntax_t syntax;
+    unsigned char *b;
+{
+  unsigned this_char;
+
+  char *p = *p_ptr;
+  int range_start, range_end;
+  
+  if (p == pend)
+    return REG_ERANGE;
+
+  /* Even though the pattern is a signed `char *', we need to fetch
+     with unsigned char *'s; if the high bit of the pattern character
+     is set, the range endpoints will be negative if we fetch using a
+     signed char *.
+
+     We also want to fetch the endpoints without translating them; the 
+     appropriate translation is done in the bit-setting loop below.  */
+  range_start = ((unsigned char *) p)[-2];
+  range_end   = ((unsigned char *) p)[0];
+
+  /* Have to increment the pointer into the pattern string, so the
+     caller isn't still at the ending character.  */
+  (*p_ptr)++;
+
+  /* If the start is after the end, the range is empty.  */
+  if (range_start > range_end)
+    return syntax & RE_NO_EMPTY_RANGES ? REG_ERANGE : REG_NOERROR;
+
+  /* Here we see why `this_char' has to be larger than an `unsigned
+     char' -- the range is inclusive, so if `range_end' == 0xff
+     (assuming 8-bit characters), we would otherwise go into an infinite
+     loop, since all characters <= 0xff.  */
+  for (this_char = range_start; this_char <= range_end; this_char++)
+    {
+      SET_LIST_BIT (TRANSLATE (this_char));
+    }
+  
+  return REG_NOERROR;
+}
+

+/* Failure stack declarations and macros; both re_compile_fastmap and
+   re_match_2 use a failure stack.  These have to be macros because of
+   REGEX_ALLOCATE.  */
+   
+
+/* Number of failure points for which to initially allocate space
+   when matching.  If this number is exceeded, we allocate more
+   space, so it is not a hard limit.  */
+#ifndef INIT_FAILURE_ALLOC
+#define INIT_FAILURE_ALLOC 5
+#endif
+
+/* Roughly the maximum number of failure points on the stack.  Would be
+   exactly that if always used MAX_FAILURE_SPACE each time we failed.
+   This is a variable only so users of regex can assign to it; we never
+   change it ourselves.  */
+int re_max_failures = 2000;
+
+typedef unsigned char *fail_stack_elt_t;
+
+typedef struct
+{
+  fail_stack_elt_t *stack;
+  unsigned size;
+  unsigned avail;			/* Offset of next open position.  */
+} fail_stack_type;
+
+#define FAIL_STACK_EMPTY()     (fail_stack.avail == 0)
+#define FAIL_STACK_PTR_EMPTY() (fail_stack_ptr->avail == 0)
+#define FAIL_STACK_FULL()      (fail_stack.avail == fail_stack.size)
+#define FAIL_STACK_TOP()       (fail_stack.stack[fail_stack.avail])
+
+
+/* Initialize `fail_stack'.  Do `return -2' if the alloc fails.  */
+
+#define INIT_FAIL_STACK()						\
+  do {									\
+    fail_stack.stack = (fail_stack_elt_t *)				\
+      REGEX_ALLOCATE (INIT_FAILURE_ALLOC * sizeof (fail_stack_elt_t));	\
+									\
+    if (fail_stack.stack == NULL)					\
+      return -2;							\
+									\
+    fail_stack.size = INIT_FAILURE_ALLOC;				\
+    fail_stack.avail = 0;						\
+  } while (0)
+
+
+/* Double the size of FAIL_STACK, up to approximately `re_max_failures' items.
+
+   Return 1 if succeeds, and 0 if either ran out of memory
+   allocating space for it or it was already too large.  
+   
+   REGEX_REALLOCATE requires `destination' be declared.   */
+
+#define DOUBLE_FAIL_STACK(fail_stack)					\
+  ((fail_stack).size > re_max_failures * MAX_FAILURE_ITEMS		\
+   ? 0									\
+   : ((fail_stack).stack = (fail_stack_elt_t *)				\
+        REGEX_REALLOCATE ((fail_stack).stack, 				\
+          (fail_stack).size * sizeof (fail_stack_elt_t),		\
+          ((fail_stack).size << 1) * sizeof (fail_stack_elt_t)),	\
+									\
+      (fail_stack).stack == NULL					\
+      ? 0								\
+      : ((fail_stack).size <<= 1, 					\
+         1)))
+
+
+/* Push PATTERN_OP on FAIL_STACK. 
+
+   Return 1 if was able to do so and 0 if ran out of memory allocating
+   space to do so.  */
+#define PUSH_PATTERN_OP(pattern_op, fail_stack)				\
+  ((FAIL_STACK_FULL ()							\
+    && !DOUBLE_FAIL_STACK (fail_stack))					\
+    ? 0									\
+    : ((fail_stack).stack[(fail_stack).avail++] = pattern_op,		\
+       1))
+
+/* This pushes an item onto the failure stack.  Must be a four-byte
+   value.  Assumes the variable `fail_stack'.  Probably should only
+   be called from within `PUSH_FAILURE_POINT'.  */
+#define PUSH_FAILURE_ITEM(item)						\
+  fail_stack.stack[fail_stack.avail++] = (fail_stack_elt_t) item
+
+/* The complement operation.  Assumes `fail_stack' is nonempty.  */
+#define POP_FAILURE_ITEM() fail_stack.stack[--fail_stack.avail]
+
+/* Used to omit pushing failure point id's when we're not debugging.  */
+#ifdef DEBUG
+#define DEBUG_PUSH PUSH_FAILURE_ITEM
+#define DEBUG_POP(item_addr) *(item_addr) = POP_FAILURE_ITEM ()
+#else
+#define DEBUG_PUSH(item)
+#define DEBUG_POP(item_addr)
+#endif
+
+
+/* Push the information about the state we will need
+   if we ever fail back to it.  
+   
+   Requires variables fail_stack, regstart, regend, reg_info, and
+   num_regs be declared.  DOUBLE_FAIL_STACK requires `destination' be
+   declared.
+   
+   Does `return FAILURE_CODE' if runs out of memory.  */
+
+#define PUSH_FAILURE_POINT(pattern_place, string_place, failure_code)	\
+  do {									\
+    char *destination;							\
+    /* Must be int, so when we don't save any registers, the arithmetic	\
+       of 0 + -1 isn't done as unsigned.  */				\
+    int this_reg;							\
+    									\
+    DEBUG_STATEMENT (failure_id++);					\
+    DEBUG_STATEMENT (nfailure_points_pushed++);				\
+    DEBUG_PRINT2 ("\nPUSH_FAILURE_POINT #%u:\n", failure_id);		\
+    DEBUG_PRINT2 ("  Before push, next avail: %d\n", (fail_stack).avail);\
+    DEBUG_PRINT2 ("                     size: %d\n", (fail_stack).size);\
+									\
+    DEBUG_PRINT2 ("  slots needed: %d\n", NUM_FAILURE_ITEMS);		\
+    DEBUG_PRINT2 ("     available: %d\n", REMAINING_AVAIL_SLOTS);	\
+									\
+    /* Ensure we have enough space allocated for what we will push.  */	\
+    while (REMAINING_AVAIL_SLOTS < NUM_FAILURE_ITEMS)			\
+      {									\
+        if (!DOUBLE_FAIL_STACK (fail_stack))			\
+          return failure_code;						\
+									\
+        DEBUG_PRINT2 ("\n  Doubled stack; size now: %d\n",		\
+		       (fail_stack).size);				\
+        DEBUG_PRINT2 ("  slots available: %d\n", REMAINING_AVAIL_SLOTS);\
+      }									\
+									\
+    /* Push the info, starting with the registers.  */			\
+    DEBUG_PRINT1 ("\n");						\
+									\
+    for (this_reg = lowest_active_reg; this_reg <= highest_active_reg;	\
+         this_reg++)							\
+      {									\
+	DEBUG_PRINT2 ("  Pushing reg: %d\n", this_reg);			\
+        DEBUG_STATEMENT (num_regs_pushed++);				\
+									\
+	DEBUG_PRINT2 ("    start: 0x%x\n", regstart[this_reg]);		\
+        PUSH_FAILURE_ITEM (regstart[this_reg]);				\
+                                                                        \
+	DEBUG_PRINT2 ("    end: 0x%x\n", regend[this_reg]);		\
+        PUSH_FAILURE_ITEM (regend[this_reg]);				\
+									\
+	DEBUG_PRINT2 ("    info: 0x%x\n      ", reg_info[this_reg]);	\
+        DEBUG_PRINT2 (" match_null=%d",					\
+                      REG_MATCH_NULL_STRING_P (reg_info[this_reg]));	\
+        DEBUG_PRINT2 (" active=%d", IS_ACTIVE (reg_info[this_reg]));	\
+        DEBUG_PRINT2 (" matched_something=%d",				\
+                      MATCHED_SOMETHING (reg_info[this_reg]));		\
+        DEBUG_PRINT2 (" ever_matched=%d",				\
+                      EVER_MATCHED_SOMETHING (reg_info[this_reg]));	\
+	DEBUG_PRINT1 ("\n");						\
+        PUSH_FAILURE_ITEM (reg_info[this_reg].word);			\
+      }									\
+									\
+    DEBUG_PRINT2 ("  Pushing  low active reg: %d\n", lowest_active_reg);\
+    PUSH_FAILURE_ITEM (lowest_active_reg);				\
+									\
+    DEBUG_PRINT2 ("  Pushing high active reg: %d\n", highest_active_reg);\
+    PUSH_FAILURE_ITEM (highest_active_reg);				\
+									\
+    DEBUG_PRINT2 ("  Pushing pattern 0x%x: ", pattern_place);		\
+    DEBUG_PRINT_COMPILED_PATTERN (bufp, pattern_place, pend);		\
+    PUSH_FAILURE_ITEM (pattern_place);					\
+									\
+    DEBUG_PRINT2 ("  Pushing string 0x%x: `", string_place);		\
+    DEBUG_PRINT_DOUBLE_STRING (string_place, string1, size1, string2,   \
+				 size2);				\
+    DEBUG_PRINT1 ("'\n");						\
+    PUSH_FAILURE_ITEM (string_place);					\
+									\
+    DEBUG_PRINT2 ("  Pushing failure id: %u\n", failure_id);		\
+    DEBUG_PUSH (failure_id);						\
+  } while (0)
+
+/* This is the number of items that are pushed and popped on the stack
+   for each register.  */
+#define NUM_REG_ITEMS  3
+
+/* Individual items aside from the registers.  */
+#ifdef DEBUG
+#define NUM_NONREG_ITEMS 5 /* Includes failure point id.  */
+#else
+#define NUM_NONREG_ITEMS 4
+#endif
+
+/* We push at most this many items on the stack.  */
+#define MAX_FAILURE_ITEMS ((num_regs - 1) * NUM_REG_ITEMS + NUM_NONREG_ITEMS)
+
+/* We actually push this many items.  */
+#define NUM_FAILURE_ITEMS						\
+  ((highest_active_reg - lowest_active_reg + 1) * NUM_REG_ITEMS 	\
+    + NUM_NONREG_ITEMS)
+
+/* How many items can still be added to the stack without overflowing it.  */
+#define REMAINING_AVAIL_SLOTS ((fail_stack).size - (fail_stack).avail)
+
+
+/* Pops what PUSH_FAIL_STACK pushes.
+
+   We restore into the parameters, all of which should be lvalues:
+     STR -- the saved data position.
+     PAT -- the saved pattern position.
+     LOW_REG, HIGH_REG -- the highest and lowest active registers.
+     REGSTART, REGEND -- arrays of string positions.
+     REG_INFO -- array of information about each subexpression.
+   
+   Also assumes the variables `fail_stack' and (if debugging), `bufp',
+   `pend', `string1', `size1', `string2', and `size2'.  */
+
+#define POP_FAILURE_POINT(str, pat, low_reg, high_reg, regstart, regend, reg_info)\
+{									\
+  DEBUG_STATEMENT (fail_stack_elt_t failure_id;)			\
+  int this_reg;								\
+  unsigned char *string_temp;					\
+									\
+  assert (!FAIL_STACK_EMPTY ());					\
+									\
+  /* Remove failure points and point to how many regs pushed.  */	\
+  DEBUG_PRINT1 ("POP_FAILURE_POINT:\n");				\
+  DEBUG_PRINT2 ("  Before pop, next avail: %d\n", fail_stack.avail);	\
+  DEBUG_PRINT2 ("                    size: %d\n", fail_stack.size);	\
+									\
+  assert (fail_stack.avail >= NUM_NONREG_ITEMS);			\
+									\
+  DEBUG_POP (&failure_id);						\
+  DEBUG_PRINT2 ("  Popping failure id: %u\n", failure_id);		\
+									\
+  /* If the saved string location is NULL, it came from an		\
+     on_failure_keep_string_jump opcode, and we want to throw away the	\
+     saved NULL, thus retaining our current position in the string.  */	\
+  string_temp = POP_FAILURE_ITEM ();					\
+  if (string_temp != NULL)						\
+    str = (char *) string_temp;					\
+									\
+  DEBUG_PRINT2 ("  Popping string 0x%x: `", str);			\
+  DEBUG_PRINT_DOUBLE_STRING (str, string1, size1, string2, size2);	\
+  DEBUG_PRINT1 ("'\n");							\
+									\
+  pat = (unsigned char *) POP_FAILURE_ITEM ();				\
+  DEBUG_PRINT2 ("  Popping pattern 0x%x: ", pat);			\
+  DEBUG_PRINT_COMPILED_PATTERN (bufp, pat, pend);			\
+									\
+  /* Restore register info.  */						\
+  high_reg = (unsigned) POP_FAILURE_ITEM ();				\
+  DEBUG_PRINT2 ("  Popping high active reg: %d\n", high_reg);		\
+									\
+  low_reg = (unsigned) POP_FAILURE_ITEM ();				\
+  DEBUG_PRINT2 ("  Popping  low active reg: %d\n", low_reg);		\
+									\
+  for (this_reg = high_reg; this_reg >= low_reg; this_reg--)		\
+    {									\
+      DEBUG_PRINT2 ("    Popping reg: %d\n", this_reg);			\
+									\
+      reg_info[this_reg].word = POP_FAILURE_ITEM ();			\
+      DEBUG_PRINT2 ("      info: 0x%x\n", reg_info[this_reg]);		\
+									\
+      regend[this_reg] = (char *) POP_FAILURE_ITEM ();		\
+      DEBUG_PRINT2 ("      end: 0x%x\n", regend[this_reg]);		\
+									\
+      regstart[this_reg] = (char *) POP_FAILURE_ITEM ();		\
+      DEBUG_PRINT2 ("      start: 0x%x\n", regstart[this_reg]);		\
+    }									\
+									\
+  DEBUG_STATEMENT (nfailure_points_popped++);				\
+} /* POP_FAILURE_POINT */
+

+/* re_compile_fastmap computes a ``fastmap'' for the compiled pattern in
+   BUFP.  A fastmap records which of the (1 << BYTEWIDTH) possible
+   characters can start a string that matches the pattern.  This fastmap
+   is used by re_search to skip quickly over impossible starting points.
+
+   The caller must supply the address of a (1 << BYTEWIDTH)-byte data
+   area as BUFP->fastmap.
+   
+   We set the `fastmap', `fastmap_accurate', and `can_be_null' fields in
+   the pattern buffer.
+
+   Returns 0 if we succeed, -2 if an internal error.   */
+
+int
+re_compile_fastmap (bufp)
+     struct re_pattern_buffer *bufp;
+{
+  int j, k;
+  fail_stack_type fail_stack;
+#ifndef REGEX_MALLOC
+  char *destination;
+#endif
+  /* We don't push any register information onto the failure stack.  */
+  unsigned num_regs = 0;
+  
+  register char *fastmap = bufp->fastmap;
+  unsigned char *pattern = bufp->buffer;
+  unsigned long size = bufp->used;
+  unsigned char *p = pattern;
+  register unsigned char *pend = pattern + size;
+
+  /* Assume that each path through the pattern can be null until
+     proven otherwise.  We set this false at the bottom of switch
+     statement, to which we get only if a particular path doesn't
+     match the empty string.  */
+  boolean path_can_be_null = true;
+
+  /* We aren't doing a `succeed_n' to begin with.  */
+  boolean succeed_n_p = false;
+
+  assert (fastmap != NULL && p != NULL);
+  
+  INIT_FAIL_STACK ();
+  bzero (fastmap, 1 << BYTEWIDTH);  /* Assume nothing's valid.  */
+  bufp->fastmap_accurate = 1;	    /* It will be when we're done.  */
+  bufp->can_be_null = 0;
+      
+  while (p != pend || !FAIL_STACK_EMPTY ())
+    {
+      if (p == pend)
+        {
+          bufp->can_be_null |= path_can_be_null;
+          
+          /* Reset for next path.  */
+          path_can_be_null = true;
+          
+          p = fail_stack.stack[--fail_stack.avail];
+	}
+
+      /* We should never be about to go beyond the end of the pattern.  */
+      assert (p < pend);
+      
+#ifdef SWITCH_ENUM_BUG
+      switch ((int) ((re_opcode_t) *p++))
+#else
+      switch ((re_opcode_t) *p++)
+#endif
+	{
+
+        /* I guess the idea here is to simply not bother with a fastmap
+           if a backreference is used, since it's too hard to figure out
+           the fastmap for the corresponding group.  Setting
+           `can_be_null' stops `re_search_2' from using the fastmap, so
+           that is all we do.  */
+	case duplicate:
+	  bufp->can_be_null = 1;
+          return 0;
+
+
+      /* Following are the cases which match a character.  These end
+         with `break'.  */
+
+	case exactn:
+          fastmap[p[1]] = 1;
+	  break;
+
+
+        case charset:
+          for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
+	    if (p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH)))
+              fastmap[j] = 1;
+	  break;
+
+
+	case charset_not:
+	  /* Chars beyond end of map must be allowed.  */
+	  for (j = *p * BYTEWIDTH; j < (1 << BYTEWIDTH); j++)
+            fastmap[j] = 1;
+
+	  for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
+	    if (!(p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH))))
+              fastmap[j] = 1;
+          break;
+
+
+	case wordchar:
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) == Sword)
+	      fastmap[j] = 1;
+	  break;
+
+
+	case notwordchar:
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) != Sword)
+	      fastmap[j] = 1;
+	  break;
+
+
+        case anychar:
+          /* `.' matches anything ...  */
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+            fastmap[j] = 1;
+
+          /* ... except perhaps newline.  */
+          if (!(bufp->syntax & RE_DOT_NEWLINE))
+            fastmap['\n'] = 0;
+
+          /* Return if we have already set `can_be_null'; if we have,
+             then the fastmap is irrelevant.  Something's wrong here.  */
+	  else if (bufp->can_be_null)
+	    return 0;
+
+          /* Otherwise, have to check alternative paths.  */
+	  break;
+
+
+#ifdef emacs
+        case syntaxspec:
+	  k = *p++;
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) == (enum syntaxcode) k)
+	      fastmap[j] = 1;
+	  break;
+
+
+	case notsyntaxspec:
+	  k = *p++;
+	  for (j = 0; j < (1 << BYTEWIDTH); j++)
+	    if (SYNTAX (j) != (enum syntaxcode) k)
+	      fastmap[j] = 1;
+	  break;
+
+
+      /* All cases after this match the empty string.  These end with
+         `continue'.  */
+
+
+	case before_dot:
+	case at_dot:
+	case after_dot:
+          continue;
+#endif /* not emacs */
+
+
+        case no_op:
+        case begline:
+        case endline:
+	case begbuf:
+	case endbuf:
+	case wordbound:
+	case notwordbound:
+	case wordbeg:
+	case wordend:
+        case push_dummy_failure:
+          continue;
+
+
+	case jump_n:
+        case pop_failure_jump:
+	case maybe_pop_jump:
+	case jump:
+        case jump_past_alt:
+	case dummy_failure_jump:
+          EXTRACT_NUMBER_AND_INCR (j, p);
+	  p += j;	
+	  if (j > 0)
+	    continue;
+            
+          /* Jump backward implies we just went through the body of a
+             loop and matched nothing.  Opcode jumped to should be
+             `on_failure_jump' or `succeed_n'.  Just treat it like an
+             ordinary jump.  For a * loop, it has pushed its failure
+             point already; if so, discard that as redundant.  */
+          if ((re_opcode_t) *p != on_failure_jump
+	      && (re_opcode_t) *p != succeed_n)
+	    continue;
+
+          p++;
+          EXTRACT_NUMBER_AND_INCR (j, p);
+          p += j;		
+	  
+          /* If what's on the stack is where we are now, pop it.  */
+          if (!FAIL_STACK_EMPTY () 
+	      && fail_stack.stack[fail_stack.avail - 1] == p)
+            fail_stack.avail--;
+
+          continue;
+
+
+        case on_failure_jump:
+        case on_failure_keep_string_jump:
+	handle_on_failure_jump:
+          EXTRACT_NUMBER_AND_INCR (j, p);
+
+          /* For some patterns, e.g., `(a?)?', `p+j' here points to the
+             end of the pattern.  We don't want to push such a point,
+             since when we restore it above, entering the switch will
+             increment `p' past the end of the pattern.  We don't need
+             to push such a point since we obviously won't find any more
+             fastmap entries beyond `pend'.  Such a pattern can match
+             the null string, though.  */
+          if (p + j < pend)
+            {
+              if (!PUSH_PATTERN_OP (p + j, fail_stack))
+                return -2;
+            }
+          else
+            bufp->can_be_null = 1;
+
+          if (succeed_n_p)
+            {
+              EXTRACT_NUMBER_AND_INCR (k, p);	/* Skip the n.  */
+              succeed_n_p = false;
+	    }
+
+          continue;
+
+
+	case succeed_n:
+          /* Get to the number of times to succeed.  */
+          p += 2;		
+
+          /* Increment p past the n for when k != 0.  */
+          EXTRACT_NUMBER_AND_INCR (k, p);
+          if (k == 0)
+	    {
+              p -= 4;
+  	      succeed_n_p = true;  /* Spaghetti code alert.  */
+              goto handle_on_failure_jump;
+            }
+          continue;
+
+
+	case set_number_at:
+          p += 4;
+          continue;
+
+
+	case start_memory:
+        case stop_memory:
+	  p += 2;
+	  continue;
+
+
+	default:
+          abort (); /* We have listed all the cases.  */
+        } /* switch *p++ */
+
+      /* Getting here means we have found the possible starting
+         characters for one path of the pattern -- and that the empty
+         string does not match.  We need not follow this path further.
+         Instead, look at the next alternative (remembered on the
+         stack), or quit if no more.  The test at the top of the loop
+         does these things.  */
+      path_can_be_null = false;
+      p = pend;
+    } /* while p */
+
+  /* Set `can_be_null' for the last path (also the first path, if the
+     pattern is empty).  */
+  bufp->can_be_null |= path_can_be_null;
+  return 0;
+} /* re_compile_fastmap */
+

+/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
+   ENDS.  Subsequent matches using PATTERN_BUFFER and REGS will use
+   this memory for recording register information.  STARTS and ENDS
+   must be allocated using the malloc library routine, and must each
+   be at least NUM_REGS * sizeof (regoff_t) bytes long.
+
+   If NUM_REGS == 0, then subsequent matches should allocate their own
+   register data.
+
+   Unless this function is called, the first search or match using
+   PATTERN_BUFFER will allocate its own register data, without
+   freeing the old data.  */
+
+void
+re_set_registers (bufp, regs, num_regs, starts, ends)
+    struct re_pattern_buffer *bufp;
+    struct re_registers *regs;
+    unsigned num_regs;
+    regoff_t *starts, *ends;
+{
+  if (num_regs)
+    {
+      bufp->regs_allocated = REGS_REALLOCATE;
+      regs->num_regs = num_regs;
+      regs->start = starts;
+      regs->end = ends;
+    }
+  else
+    {
+      bufp->regs_allocated = REGS_UNALLOCATED;
+      regs->num_regs = 0;
+      regs->start = regs->end = (regoff_t) 0;
+    }
+}
+

+/* Searching routines.  */
+
+/* Like re_search_2, below, but only one string is specified, and
+   doesn't let you say where to stop matching. */
+
+int
+re_search (bufp, string, size, startpos, range, regs)
+     struct re_pattern_buffer *bufp;
+     char *string;
+     int size, startpos, range;
+     struct re_registers *regs;
+{
+  return re_search_2 (bufp, NULL, 0, string, size, startpos, range, 
+		      regs, size);
+}
+
+
+/* Using the compiled pattern in BUFP->buffer, first tries to match the
+   virtual concatenation of STRING1 and STRING2, starting first at index
+   STARTPOS, then at STARTPOS + 1, and so on.
+   
+   STRING1 and STRING2 have length SIZE1 and SIZE2, respectively.
+   
+   RANGE is how far to scan while trying to match.  RANGE = 0 means try
+   only at STARTPOS; in general, the last start tried is STARTPOS +
+   RANGE.
+   
+   In REGS, return the indices of the virtual concatenation of STRING1
+   and STRING2 that matched the entire BUFP->buffer and its contained
+   subexpressions.
+   
+   Do not consider matching one past the index STOP in the virtual
+   concatenation of STRING1 and STRING2.
+
+   We return either the position in the strings at which the match was
+   found, -1 if no match, or -2 if error (such as failure
+   stack overflow).  */
+
+int
+re_search_2 (bufp, string1, size1, string2, size2, startpos, range, regs, stop)
+     struct re_pattern_buffer *bufp;
+     char *string1, *string2;
+     int size1, size2;
+     int startpos;
+     int range;
+     struct re_registers *regs;
+     int stop;
+{
+  int val;
+  register char *fastmap = bufp->fastmap;
+  register char *translate = bufp->translate;
+  int total_size = size1 + size2;
+  int endpos = startpos + range;
+
+  /* Check for out-of-range STARTPOS.  */
+  if (startpos < 0 || startpos > total_size)
+    return -1;
+    
+  /* Fix up RANGE if it might eventually take us outside
+     the virtual concatenation of STRING1 and STRING2.  */
+  if (endpos < -1)
+    range = -1 - startpos;
+  else if (endpos > total_size)
+    range = total_size - startpos;
+
+  /* If the search isn't to be a backwards one, don't waste time in a
+     search for a pattern that must be anchored.  */
+  if (bufp->used > 0 && (re_opcode_t) bufp->buffer[0] == begbuf && range > 0)
+    {
+      if (startpos > 0)
+	return -1;
+      else
+	range = 1;
+    }
+
+  /* Update the fastmap now if not correct already.  */
+  if (fastmap && !bufp->fastmap_accurate)
+    if (re_compile_fastmap (bufp) == -2)
+      return -2;
+  
+  /* Loop through the string, looking for a place to start matching.  */
+  for (;;)
+    { 
+      /* If a fastmap is supplied, skip quickly over characters that
+         cannot be the start of a match.  If the pattern can match the
+         null string, however, we don't need to skip characters; we want
+         the first null string.  */
+      if (fastmap && startpos < total_size && !bufp->can_be_null)
+	{
+	  if (range > 0)	/* Searching forwards.  */
+	    {
+	      register char *d;
+	      register int lim = 0;
+	      int irange = range;
+
+              if (startpos < size1 && startpos + range >= size1)
+                lim = range - (size1 - startpos);
+
+	      d = (startpos >= size1 ? string2 - size1 : string1) + startpos;
+   
+              /* Written out as an if-else to avoid testing `translate'
+                 inside the loop.  */
+	      if (translate)
+                while (range > lim
+                       && !fastmap[(unsigned char)
+				   translate[(unsigned char) *d++]])
+                  range--;
+	      else
+                while (range > lim && !fastmap[(unsigned char) *d++])
+                  range--;
+
+	      startpos += irange - range;
+	    }
+	  else				/* Searching backwards.  */
+	    {
+	      register char c = (size1 == 0 || startpos >= size1
+                                 ? string2[startpos - size1] 
+                                 : string1[startpos]);
+
+	      if (!fastmap[(unsigned char) TRANSLATE (c)])
+		goto advance;
+	    }
+	}
+
+      /* If can't match the null string, and that's all we have left, fail.  */
+      if (range >= 0 && startpos == total_size && fastmap
+          && !bufp->can_be_null)
+	return -1;
+
+      val = re_match_2 (bufp, string1, size1, string2, size2,
+	                startpos, regs, stop);
+      if (val >= 0)
+	return startpos;
+        
+      if (val == -2)
+	return -2;
+
+    advance:
+      if (!range) 
+        break;
+      else if (range > 0) 
+        {
+          range--; 
+          startpos++;
+        }
+      else
+        {
+          range++; 
+          startpos--;
+        }
+    }
+  return -1;
+} /* re_search_2 */
+

+/* Declarations and macros for re_match_2.  */
+
+static int bcmp_translate ();
+static boolean alt_match_null_string_p (),
+               common_op_match_null_string_p (),
+               group_match_null_string_p ();
+
+/* Structure for per-register (a.k.a. per-group) information.
+   This must not be longer than one word, because we push this value
+   onto the failure stack.  Other register information, such as the
+   starting and ending positions (which are addresses), and the list of
+   inner groups (which is a bits list) are maintained in separate
+   variables.  
+   
+   We are making a (strictly speaking) nonportable assumption here: that
+   the compiler will pack our bit fields into something that fits into
+   the type of `word', i.e., is something that fits into one item on the
+   failure stack.  */
+typedef union
+{
+  fail_stack_elt_t word;
+  struct
+  {
+      /* This field is one if this group can match the empty string,
+         zero if not.  If not yet determined,  `MATCH_NULL_UNSET_VALUE'.  */
+#define MATCH_NULL_UNSET_VALUE 3
+    unsigned match_null_string_p : 2;
+    unsigned is_active : 1;
+    unsigned matched_something : 1;
+    unsigned ever_matched_something : 1;
+  } bits;
+} register_info_type;
+
+#define REG_MATCH_NULL_STRING_P(R)  ((R).bits.match_null_string_p)
+#define IS_ACTIVE(R)  ((R).bits.is_active)
+#define MATCHED_SOMETHING(R)  ((R).bits.matched_something)
+#define EVER_MATCHED_SOMETHING(R)  ((R).bits.ever_matched_something)
+
+
+/* Call this when have matched a real character; it sets `matched' flags
+   for the subexpressions which we are currently inside.  Also records
+   that those subexprs have matched.  */
+#define SET_REGS_MATCHED()						\
+  do									\
+    {									\
+      unsigned r;							\
+      for (r = lowest_active_reg; r <= highest_active_reg; r++)		\
+        {								\
+          MATCHED_SOMETHING (reg_info[r])				\
+            = EVER_MATCHED_SOMETHING (reg_info[r])			\
+            = 1;							\
+        }								\
+    }									\
+  while (0)
+
+
+/* This converts PTR, a pointer into one of the search strings `string1'
+   and `string2' into an offset from the beginning of that string.  */
+#define POINTER_TO_OFFSET(ptr)						\
+  (FIRST_STRING_P (ptr) ? (ptr) - string1 : (ptr) - string2 + size1)
+
+/* Registers are set to a sentinel when they haven't yet matched.  */
+#define REG_UNSET_VALUE ((char *) -1)
+#define REG_UNSET(e) ((e) == REG_UNSET_VALUE)
+
+
+/* Macros for dealing with the split strings in re_match_2.  */
+
+#define MATCHING_IN_FIRST_STRING  (dend == end_match_1)
+
+/* Call before fetching a character with *d.  This switches over to
+   string2 if necessary.  */
+#define PREFETCH()							\
+  while (d == dend)						    	\
+    {									\
+      /* End of string2 => fail.  */					\
+      if (dend == end_match_2) 						\
+        goto fail;							\
+      /* End of string1 => advance to string2.  */ 			\
+      d = string2;						        \
+      dend = end_match_2;						\
+    }
+
+
+/* Test if at very beginning or at very end of the virtual concatenation
+   of `string1' and `string2'.  If only one string, it's `string2'.  */
+#define AT_STRINGS_BEG(d) ((d) == (size1 ? string1 : string2) || !size2)
+#define AT_STRINGS_END(d) ((d) == end2)	
+
+
+/* Test if D points to a character which is word-constituent.  We have
+   two special cases to check for: if past the end of string1, look at
+   the first character in string2; and if before the beginning of
+   string2, look at the last character in string1.  */
+#define WORDCHAR_P(d)							\
+  (SYNTAX ((d) == end1 ? *string2					\
+           : (d) == string2 - 1 ? *(end1 - 1) : *(d))			\
+   == Sword)
+
+/* Test if the character before D and the one at D differ with respect
+   to being word-constituent.  */
+#define AT_WORD_BOUNDARY(d)						\
+  (AT_STRINGS_BEG (d) || AT_STRINGS_END (d)				\
+   || WORDCHAR_P (d - 1) != WORDCHAR_P (d))
+
+
+/* Free everything we malloc.  */
+#ifdef REGEX_MALLOC
+#define FREE_VAR(var) if (var) free (var); var = NULL
+#define FREE_VARIABLES()						\
+  do {									\
+    FREE_VAR (fail_stack.stack);					\
+    FREE_VAR (regstart);						\
+    FREE_VAR (regend);							\
+    FREE_VAR (old_regstart);						\
+    FREE_VAR (old_regend);						\
+    FREE_VAR (best_regstart);						\
+    FREE_VAR (best_regend);						\
+    FREE_VAR (reg_info);						\
+    FREE_VAR (reg_dummy);						\
+    FREE_VAR (reg_info_dummy);						\
+  } while (0)
+#else /* not REGEX_MALLOC */
+/* Some MIPS systems (at least) want this to free alloca'd storage.  */
+#define FREE_VARIABLES() alloca (0)
+#endif /* not REGEX_MALLOC */
+
+
+/* These values must meet several constraints.  They must not be valid
+   register values; since we have a limit of 255 registers (because
+   we use only one byte in the pattern for the register number), we can
+   use numbers larger than 255.  They must differ by 1, because of
+   NUM_FAILURE_ITEMS above.  And the value for the lowest register must
+   be larger than the value for the highest register, so we do not try
+   to actually save any registers when none are active.  */
+#define NO_HIGHEST_ACTIVE_REG (1 << BYTEWIDTH)
+#define NO_LOWEST_ACTIVE_REG (NO_HIGHEST_ACTIVE_REG + 1)
+

+/* Matching routines.  */
+
+#ifndef emacs   /* Emacs never uses this.  */
+/* re_match is like re_match_2 except it takes only a single string.  */
+
+int
+re_match (bufp, string, size, pos, regs)
+     struct re_pattern_buffer *bufp;
+     char *string;
+     int size, pos;
+     struct re_registers *regs;
+ {
+  return re_match_2 (bufp, NULL, 0, string, size, pos, regs, size); 
+}
+#endif /* not emacs */
+
+
+/* re_match_2 matches the compiled pattern in BUFP against the
+   the (virtual) concatenation of STRING1 and STRING2 (of length SIZE1
+   and SIZE2, respectively).  We start matching at POS, and stop
+   matching at STOP.
+   
+   If REGS is non-null and the `no_sub' field of BUFP is nonzero, we
+   store offsets for the substring each group matched in REGS.  See the
+   documentation for exactly how many groups we fill.
+
+   We return -1 if no match, -2 if an internal error (such as the
+   failure stack overflowing).  Otherwise, we return the length of the
+   matched substring.  */
+
+int
+re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
+     struct re_pattern_buffer *bufp;
+     char *string1, *string2;
+     int size1, size2;
+     int pos;
+     struct re_registers *regs;
+     int stop;
+{
+  /* General temporaries.  */
+  int mcnt;
+  unsigned char *p1;
+
+  /* Just past the end of the corresponding string.  */
+  char *end1, *end2;
+
+  /* Pointers into string1 and string2, just past the last characters in
+     each to consider matching.  */
+  char *end_match_1, *end_match_2;
+
+  /* Where we are in the data, and the end of the current string.  */
+  char *d, *dend;
+  
+  /* Where we are in the pattern, and the end of the pattern.  */
+  unsigned char *p = bufp->buffer;
+  register unsigned char *pend = p + bufp->used;
+
+  /* We use this to map every character in the string.  */
+  char *translate = bufp->translate;
+
+  /* Failure point stack.  Each place that can handle a failure further
+     down the line pushes a failure point on this stack.  It consists of
+     restart, regend, and reg_info for all registers corresponding to
+     the subexpressions we're currently inside, plus the number of such
+     registers, and, finally, two char *'s.  The first char * is where
+     to resume scanning the pattern; the second one is where to resume
+     scanning the strings.  If the latter is zero, the failure point is
+     a ``dummy''; if a failure happens and the failure point is a dummy,
+     it gets discarded and the next next one is tried.  */
+  fail_stack_type fail_stack;
+#ifdef DEBUG
+  static unsigned failure_id = 0;
+  unsigned nfailure_points_pushed = 0, nfailure_points_popped = 0;
+#endif
+
+  /* We fill all the registers internally, independent of what we
+     return, for use in backreferences.  The number here includes
+     an element for register zero.  */
+  unsigned num_regs = bufp->re_nsub + 1;
+  
+  /* The currently active registers.  */
+  unsigned lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+  unsigned highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+
+  /* Information on the contents of registers. These are pointers into
+     the input strings; they record just what was matched (on this
+     attempt) by a subexpression part of the pattern, that is, the
+     regnum-th regstart pointer points to where in the pattern we began
+     matching and the regnum-th regend points to right after where we
+     stopped matching the regnum-th subexpression.  (The zeroth register
+     keeps track of what the whole pattern matches.)  */
+  char **regstart, **regend;
+
+  /* If a group that's operated upon by a repetition operator fails to
+     match anything, then the register for its start will need to be
+     restored because it will have been set to wherever in the string we
+     are when we last see its open-group operator.  Similarly for a
+     register's end.  */
+  char **old_regstart, **old_regend;
+
+  /* The is_active field of reg_info helps us keep track of which (possibly
+     nested) subexpressions we are currently in. The matched_something
+     field of reg_info[reg_num] helps us tell whether or not we have
+     matched any of the pattern so far this time through the reg_num-th
+     subexpression.  These two fields get reset each time through any
+     loop their register is in.  */
+  register_info_type *reg_info; 
+
+  /* The following record the register info as found in the above
+     variables when we find a match better than any we've seen before. 
+     This happens as we backtrack through the failure points, which in
+     turn happens only if we have not yet matched the entire string. */
+  unsigned best_regs_set = false;
+  char **best_regstart, **best_regend;
+  
+  /* Logically, this is `best_regend[0]'.  But we don't want to have to
+     allocate space for that if we're not allocating space for anything
+     else (see below).  Also, we never need info about register 0 for
+     any of the other register vectors, and it seems rather a kludge to
+     treat `best_regend' differently than the rest.  So we keep track of
+     the end of the best match so far in a separate variable.  We
+     initialize this to NULL so that when we backtrack the first time
+     and need to test it, it's not garbage.  */
+  char *match_end = NULL;
+
+  /* Used when we pop values we don't care about.  */
+  char **reg_dummy;
+  register_info_type *reg_info_dummy;
+
+#ifdef DEBUG
+  /* Counts the total number of registers pushed.  */
+  unsigned num_regs_pushed = 0; 	
+#endif
+
+  DEBUG_PRINT1 ("\n\nEntering re_match_2.\n");
+  
+  INIT_FAIL_STACK ();
+  
+  /* Do not bother to initialize all the register variables if there are
+     no groups in the pattern, as it takes a fair amount of time.  If
+     there are groups, we include space for register 0 (the whole
+     pattern), even though we never use it, since it simplifies the
+     array indexing.  We should fix this.  */
+  if (bufp->re_nsub)
+    {
+      regstart = REGEX_TALLOC (num_regs, char *);
+      regend = REGEX_TALLOC (num_regs, char *);
+      old_regstart = REGEX_TALLOC (num_regs, char *);
+      old_regend = REGEX_TALLOC (num_regs, char *);
+      best_regstart = REGEX_TALLOC (num_regs, char *);
+      best_regend = REGEX_TALLOC (num_regs, char *);
+      reg_info = REGEX_TALLOC (num_regs, register_info_type);
+      reg_dummy = REGEX_TALLOC (num_regs, char *);
+      reg_info_dummy = REGEX_TALLOC (num_regs, register_info_type);
+
+      if (!(regstart && regend && old_regstart && old_regend && reg_info 
+            && best_regstart && best_regend && reg_dummy && reg_info_dummy)) 
+        {
+          FREE_VARIABLES ();
+          return -2;
+        }
+    }
+#ifdef REGEX_MALLOC
+  else
+    {
+      /* We must initialize all our variables to NULL, so that
+         `FREE_VARIABLES' doesn't try to free them.  */
+      regstart = regend = old_regstart = old_regend = best_regstart
+        = best_regend = reg_dummy = NULL;
+      reg_info = reg_info_dummy = (register_info_type *) NULL;
+    }
+#endif /* REGEX_MALLOC */
+
+  /* The starting position is bogus.  */
+  if (pos < 0 || pos > size1 + size2)
+    {
+      FREE_VARIABLES ();
+      return -1;
+    }
+    
+  /* Initialize subexpression text positions to -1 to mark ones that no
+     start_memory/stop_memory has been seen for. Also initialize the
+     register information struct.  */
+  for (mcnt = 1; mcnt < num_regs; mcnt++)
+    {
+      regstart[mcnt] = regend[mcnt] 
+        = old_regstart[mcnt] = old_regend[mcnt] = REG_UNSET_VALUE;
+        
+      REG_MATCH_NULL_STRING_P (reg_info[mcnt]) = MATCH_NULL_UNSET_VALUE;
+      IS_ACTIVE (reg_info[mcnt]) = 0;
+      MATCHED_SOMETHING (reg_info[mcnt]) = 0;
+      EVER_MATCHED_SOMETHING (reg_info[mcnt]) = 0;
+    }
+  
+  /* We move `string1' into `string2' if the latter's empty -- but not if
+     `string1' is null.  */
+  if (size2 == 0 && string1 != NULL)
+    {
+      string2 = string1;
+      size2 = size1;
+      string1 = 0;
+      size1 = 0;
+    }
+  end1 = string1 + size1;
+  end2 = string2 + size2;
+
+  /* Compute where to stop matching, within the two strings.  */
+  if (stop <= size1)
+    {
+      end_match_1 = string1 + stop;
+      end_match_2 = string2;
+    }
+  else
+    {
+      end_match_1 = end1;
+      end_match_2 = string2 + stop - size1;
+    }
+
+  /* `p' scans through the pattern as `d' scans through the data. 
+     `dend' is the end of the input string that `d' points within.  `d'
+     is advanced into the following input string whenever necessary, but
+     this happens before fetching; therefore, at the beginning of the
+     loop, `d' can be pointing at the end of a string, but it cannot
+     equal `string2'.  */
+  if (size1 > 0 && pos <= size1)
+    {
+      d = string1 + pos;
+      dend = end_match_1;
+    }
+  else
+    {
+      d = string2 + pos - size1;
+      dend = end_match_2;
+    }
+
+  DEBUG_PRINT1 ("The compiled pattern is: ");
+  DEBUG_PRINT_COMPILED_PATTERN (bufp, p, pend);
+  DEBUG_PRINT1 ("The string to match is: `");
+  DEBUG_PRINT_DOUBLE_STRING (d, string1, size1, string2, size2);
+  DEBUG_PRINT1 ("'\n");
+  
+  /* This loops over pattern commands.  It exits by returning from the
+     function if the match is complete, or it drops through if the match
+     fails at this starting point in the input data.  */
+  for (;;)
+    {
+      DEBUG_PRINT2 ("\n0x%x: ", p);
+
+      if (p == pend)
+	{ /* End of pattern means we might have succeeded.  */
+          DEBUG_PRINT1 ("end of pattern ... ");
+          
+	  /* If we haven't matched the entire string, and we want the
+             longest match, try backtracking.  */
+          if (d != end_match_2)
+	    {
+              DEBUG_PRINT1 ("backtracking.\n");
+              
+              if (!FAIL_STACK_EMPTY ())
+                { /* More failure points to try.  */
+                  boolean same_str_p = (FIRST_STRING_P (match_end) 
+	        	                == MATCHING_IN_FIRST_STRING);
+
+                  /* If exceeds best match so far, save it.  */
+                  if (!best_regs_set
+                      || (same_str_p && d > match_end)
+                      || (!same_str_p && !MATCHING_IN_FIRST_STRING))
+                    {
+                      best_regs_set = true;
+                      match_end = d;
+                      
+                      DEBUG_PRINT1 ("\nSAVING match as best so far.\n");
+                      
+                      for (mcnt = 1; mcnt < num_regs; mcnt++)
+                        {
+                          best_regstart[mcnt] = regstart[mcnt];
+                          best_regend[mcnt] = regend[mcnt];
+                        }
+                    }
+                  goto fail;	       
+                }
+
+              /* If no failure points, don't restore garbage.  */
+              else if (best_regs_set)   
+                {
+  	        restore_best_regs:
+                  /* Restore best match.  It may happen that `dend ==
+                     end_match_1' while the restored d is in string2.
+                     For example, the pattern `x.*y.*z' against the
+                     strings `x-' and `y-z-', if the two strings are
+                     not consecutive in memory.  */
+                  DEBUG_PRINT1 ("Restoring best registers.\n");
+                  
+                  d = match_end;
+                  dend = ((d >= string1 && d <= end1)
+		           ? end_match_1 : end_match_2);
+
+		  for (mcnt = 1; mcnt < num_regs; mcnt++)
+		    {
+		      regstart[mcnt] = best_regstart[mcnt];
+		      regend[mcnt] = best_regend[mcnt];
+		    }
+                }
+            } /* d != end_match_2 */
+
+          DEBUG_PRINT1 ("Accepting match.\n");
+
+          /* If caller wants register contents data back, do it.  */
+          if (regs && !bufp->no_sub)
+	    {
+              /* Have the register data arrays been allocated?  */
+              if (bufp->regs_allocated == REGS_UNALLOCATED)
+                { /* No.  So allocate them with malloc.  We need one
+                     extra element beyond `num_regs' for the `-1' marker
+                     GNU code uses.  */
+                  regs->num_regs = MAX (RE_NREGS, num_regs + 1);
+                  regs->start = TALLOC (regs->num_regs, regoff_t);
+                  regs->end = TALLOC (regs->num_regs, regoff_t);
+                  if (regs->start == NULL || regs->end == NULL)
+                    return -2;
+                  bufp->regs_allocated = REGS_REALLOCATE;
+                }
+              else if (bufp->regs_allocated == REGS_REALLOCATE)
+                { /* Yes.  If we need more elements than were already
+                     allocated, reallocate them.  If we need fewer, just
+                     leave it alone.  */
+                  if (regs->num_regs < num_regs + 1)
+                    {
+                      regs->num_regs = num_regs + 1;
+                      RETALLOC (regs->start, regs->num_regs, regoff_t);
+                      RETALLOC (regs->end, regs->num_regs, regoff_t);
+                      if (regs->start == NULL || regs->end == NULL)
+                        return -2;
+                    }
+                }
+              else
+                assert (bufp->regs_allocated == REGS_FIXED);
+
+              /* Convert the pointer data in `regstart' and `regend' to
+                 indices.  Register zero has to be set differently,
+                 since we haven't kept track of any info for it.  */
+              if (regs->num_regs > 0)
+                {
+                  regs->start[0] = pos;
+                  regs->end[0] = (MATCHING_IN_FIRST_STRING ? d - string1
+			          : d - string2 + size1);
+                }
+              
+              /* Go through the first `min (num_regs, regs->num_regs)'
+                 registers, since that is all we initialized.  */
+	      for (mcnt = 1; mcnt < MIN (num_regs, regs->num_regs); mcnt++)
+		{
+                  if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt]))
+                    regs->start[mcnt] = regs->end[mcnt] = -1;
+                  else
+                    {
+		      regs->start[mcnt] = POINTER_TO_OFFSET (regstart[mcnt]);
+                      regs->end[mcnt] = POINTER_TO_OFFSET (regend[mcnt]);
+                    }
+		}
+              
+              /* If the regs structure we return has more elements than
+                 were in the pattern, set the extra elements to -1.  If
+                 we (re)allocated the registers, this is the case,
+                 because we always allocate enough to have at least one
+                 -1 at the end.  */
+              for (mcnt = num_regs; mcnt < regs->num_regs; mcnt++)
+                regs->start[mcnt] = regs->end[mcnt] = -1;
+	    } /* regs && !bufp->no_sub */
+
+          FREE_VARIABLES ();
+          DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n",
+                        nfailure_points_pushed, nfailure_points_popped,
+                        nfailure_points_pushed - nfailure_points_popped);
+          DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed);
+
+          mcnt = d - pos - (MATCHING_IN_FIRST_STRING 
+			    ? string1 
+			    : string2 - size1);
+
+          DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt);
+
+          return mcnt;
+        }
+
+      /* Otherwise match next pattern command.  */
+#ifdef SWITCH_ENUM_BUG
+      switch ((int) ((re_opcode_t) *p++))
+#else
+      switch ((re_opcode_t) *p++)
+#endif
+	{
+        /* Ignore these.  Used to ignore the n of succeed_n's which
+           currently have n == 0.  */
+        case no_op:
+          DEBUG_PRINT1 ("EXECUTING no_op.\n");
+          break;
+
+
+        /* Match the next n pattern characters exactly.  The following
+           byte in the pattern defines n, and the n bytes after that
+           are the characters to match.  */
+	case exactn:
+	  mcnt = *p++;
+          DEBUG_PRINT2 ("EXECUTING exactn %d.\n", mcnt);
+
+          /* This is written out as an if-else so we don't waste time
+             testing `translate' inside the loop.  */
+          if (translate)
+	    {
+	      do
+		{
+		  PREFETCH ();
+		  if (translate[(unsigned char) *d++] != (char) *p++)
+                    goto fail;
+		}
+	      while (--mcnt);
+	    }
+	  else
+	    {
+	      do
+		{
+		  PREFETCH ();
+		  if (*d++ != (char) *p++) goto fail;
+		}
+	      while (--mcnt);
+	    }
+	  SET_REGS_MATCHED ();
+          break;
+
+
+        /* Match any character except possibly a newline or a null.  */
+	case anychar:
+          DEBUG_PRINT1 ("EXECUTING anychar.\n");
+
+          PREFETCH ();
+
+          if ((!(bufp->syntax & RE_DOT_NEWLINE) && TRANSLATE (*d) == '\n')
+              || (bufp->syntax & RE_DOT_NOT_NULL && TRANSLATE (*d) == '\000'))
+	    goto fail;
+
+          SET_REGS_MATCHED ();
+          DEBUG_PRINT2 ("  Matched `%d'.\n", *d);
+          d++;
+	  break;
+
+
+	case charset:
+	case charset_not:
+	  {
+	    register unsigned char c;
+	    boolean not = (re_opcode_t) *(p - 1) == charset_not;
+
+            DEBUG_PRINT2 ("EXECUTING charset%s.\n", not ? "_not" : "");
+
+	    PREFETCH ();
+	    c = TRANSLATE (*d); /* The character to match.  */
+
+            /* Cast to `unsigned' instead of `unsigned char' in case the
+               bit list is a full 32 bytes long.  */
+	    if (c < (unsigned) (*p * BYTEWIDTH)
+		&& p[1 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
+	      not = !not;
+
+	    p += 1 + *p;
+
+	    if (!not) goto fail;
+            
+	    SET_REGS_MATCHED ();
+            d++;
+	    break;
+	  }
+
+
+        /* The beginning of a group is represented by start_memory.
+           The arguments are the register number in the next byte, and the
+           number of groups inner to this one in the next.  The text
+           matched within the group is recorded (in the internal
+           registers data structure) under the register number.  */
+        case start_memory:
+	  DEBUG_PRINT3 ("EXECUTING start_memory %d (%d):\n", *p, p[1]);
+
+          /* Find out if this group can match the empty string.  */
+	  p1 = p;		/* To send to group_match_null_string_p.  */
+          
+          if (REG_MATCH_NULL_STRING_P (reg_info[*p]) == MATCH_NULL_UNSET_VALUE)
+            REG_MATCH_NULL_STRING_P (reg_info[*p]) 
+              = group_match_null_string_p (&p1, pend, reg_info);
+
+          /* Save the position in the string where we were the last time
+             we were at this open-group operator in case the group is
+             operated upon by a repetition operator, e.g., with `(a*)*b'
+             against `ab'; then we want to ignore where we are now in
+             the string in case this attempt to match fails.  */
+          old_regstart[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
+                             ? REG_UNSET (regstart[*p]) ? d : regstart[*p]
+                             : regstart[*p];
+	  DEBUG_PRINT2 ("  old_regstart: %d\n", 
+			 POINTER_TO_OFFSET (old_regstart[*p]));
+
+          regstart[*p] = d;
+	  DEBUG_PRINT2 ("  regstart: %d\n", POINTER_TO_OFFSET (regstart[*p]));
+
+          IS_ACTIVE (reg_info[*p]) = 1;
+          MATCHED_SOMETHING (reg_info[*p]) = 0;
+          
+          /* This is the new highest active register.  */
+          highest_active_reg = *p;
+          
+          /* If nothing was active before, this is the new lowest active
+             register.  */
+          if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
+            lowest_active_reg = *p;
+
+          /* Move past the register number and inner group count.  */
+          p += 2;
+          break;
+
+
+        /* The stop_memory opcode represents the end of a group.  Its
+           arguments are the same as start_memory's: the register
+           number, and the number of inner groups.  */
+	case stop_memory:
+	  DEBUG_PRINT3 ("EXECUTING stop_memory %d (%d):\n", *p, p[1]);
+             
+          /* We need to save the string position the last time we were at
+             this close-group operator in case the group is operated
+             upon by a repetition operator, e.g., with `((a*)*(b*)*)*'
+             against `aba'; then we want to ignore where we are now in
+             the string in case this attempt to match fails.  */
+          old_regend[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
+                           ? REG_UNSET (regend[*p]) ? d : regend[*p]
+			   : regend[*p];
+	  DEBUG_PRINT2 ("      old_regend: %d\n", 
+			 POINTER_TO_OFFSET (old_regend[*p]));
+
+          regend[*p] = d;
+	  DEBUG_PRINT2 ("      regend: %d\n", POINTER_TO_OFFSET (regend[*p]));
+
+          /* This register isn't active anymore.  */
+          IS_ACTIVE (reg_info[*p]) = 0;
+          
+          /* If this was the only register active, nothing is active
+             anymore.  */
+          if (lowest_active_reg == highest_active_reg)
+            {
+              lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+              highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+            }
+          else
+            { /* We must scan for the new highest active register, since
+                 it isn't necessarily one less than now: consider
+                 (a(b)c(d(e)f)g).  When group 3 ends, after the f), the
+                 new highest active register is 1.  */
+              unsigned char r = *p - 1;
+              while (r > 0 && !IS_ACTIVE (reg_info[r]))
+                r--;
+              
+              /* If we end up at register zero, that means that we saved
+                 the registers as the result of an `on_failure_jump', not
+                 a `start_memory', and we jumped to past the innermost
+                 `stop_memory'.  For example, in ((.)*) we save
+                 registers 1 and 2 as a result of the *, but when we pop
+                 back to the second ), we are at the stop_memory 1.
+                 Thus, nothing is active.  */
+	      if (r == 0)
+                {
+                  lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+                  highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+                }
+              else
+                highest_active_reg = r;
+            }
+          
+          /* If just failed to match something this time around with a
+             group that's operated on by a repetition operator, try to
+             force exit from the ``loop'', and restore the register
+             information for this group that we had before trying this
+             last match.  */
+          if ((!MATCHED_SOMETHING (reg_info[*p])
+               || (re_opcode_t) p[-3] == start_memory)
+	      && (p + 2) < pend)              
+            {
+              boolean is_a_jump_n = false;
+              
+              p1 = p + 2;
+              mcnt = 0;
+              switch ((re_opcode_t) *p1++)
+                {
+                  case jump_n:
+		    is_a_jump_n = true;
+                  case pop_failure_jump:
+		  case maybe_pop_jump:
+		  case jump:
+		  case dummy_failure_jump:
+                    EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+		    if (is_a_jump_n)
+		      p1 += 2;
+                    break;
+                  
+                  default:
+                    /* do nothing */ ;
+                }
+	      p1 += mcnt;
+        
+              /* If the next operation is a jump backwards in the pattern
+	         to an on_failure_jump right before the start_memory
+                 corresponding to this stop_memory, exit from the loop
+                 by forcing a failure after pushing on the stack the
+                 on_failure_jump's jump in the pattern, and d.  */
+              if (mcnt < 0 && (re_opcode_t) *p1 == on_failure_jump
+                  && (re_opcode_t) p1[3] == start_memory && p1[4] == *p)
+		{
+                  /* If this group ever matched anything, then restore
+                     what its registers were before trying this last
+                     failed match, e.g., with `(a*)*b' against `ab' for
+                     regstart[1], and, e.g., with `((a*)*(b*)*)*'
+                     against `aba' for regend[3].
+                     
+                     Also restore the registers for inner groups for,
+                     e.g., `((a*)(b*))*' against `aba' (register 3 would
+                     otherwise get trashed).  */
+                     
+                  if (EVER_MATCHED_SOMETHING (reg_info[*p]))
+		    {
+		      unsigned r; 
+        
+                      EVER_MATCHED_SOMETHING (reg_info[*p]) = 0;
+                      
+		      /* Restore this and inner groups' (if any) registers.  */
+                      for (r = *p; r < *p + *(p + 1); r++)
+                        {
+                          regstart[r] = old_regstart[r];
+
+                          /* xx why this test?  */
+                          if ((long) old_regend[r] >= (long) regstart[r])
+                            regend[r] = old_regend[r];
+                        }     
+                    }
+		  p1++;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  PUSH_FAILURE_POINT (p1 + mcnt, d, -2);
+
+                  goto fail;
+                }
+            }
+          
+          /* Move past the register number and the inner group count.  */
+          p += 2;
+          break;
+
+
+	/* \<digit> has been turned into a `duplicate' command which is
+           followed by the numeric value of <digit> as the register number.  */
+        case duplicate:
+	  {
+	    register char *d2, *dend2;
+	    int regno = *p++;   /* Get which register to match against.  */
+	    DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno);
+
+	    /* Can't back reference a group which we've never matched.  */
+            if (REG_UNSET (regstart[regno]) || REG_UNSET (regend[regno]))
+              goto fail;
+              
+            /* Where in input to try to start matching.  */
+            d2 = regstart[regno];
+            
+            /* Where to stop matching; if both the place to start and
+               the place to stop matching are in the same string, then
+               set to the place to stop, otherwise, for now have to use
+               the end of the first string.  */
+
+            dend2 = ((FIRST_STRING_P (regstart[regno]) 
+		      == FIRST_STRING_P (regend[regno]))
+		     ? regend[regno] : end_match_1);
+	    for (;;)
+	      {
+		/* If necessary, advance to next segment in register
+                   contents.  */
+		while (d2 == dend2)
+		  {
+		    if (dend2 == end_match_2) break;
+		    if (dend2 == regend[regno]) break;
+
+                    /* End of string1 => advance to string2. */
+                    d2 = string2;
+                    dend2 = regend[regno];
+		  }
+		/* At end of register contents => success */
+		if (d2 == dend2) break;
+
+		/* If necessary, advance to next segment in data.  */
+		PREFETCH ();
+
+		/* How many characters left in this segment to match.  */
+		mcnt = dend - d;
+                
+		/* Want how many consecutive characters we can match in
+                   one shot, so, if necessary, adjust the count.  */
+                if (mcnt > dend2 - d2)
+		  mcnt = dend2 - d2;
+                  
+		/* Compare that many; failure if mismatch, else move
+                   past them.  */
+		if (translate 
+                    ? bcmp_translate (d, d2, mcnt, translate) 
+                    : bcmp (d, d2, mcnt))
+		  goto fail;
+		d += mcnt, d2 += mcnt;
+	      }
+	  }
+	  break;
+
+
+        /* begline matches the empty string at the beginning of the string
+           (unless `not_bol' is set in `bufp'), and, if
+           `newline_anchor' is set, after newlines.  */
+	case begline:
+          DEBUG_PRINT1 ("EXECUTING begline.\n");
+          
+          if (AT_STRINGS_BEG (d))
+            {
+              if (!bufp->not_bol) break;
+            }
+          else if (d[-1] == '\n' && bufp->newline_anchor)
+            {
+              break;
+            }
+          /* In all other cases, we fail.  */
+          goto fail;
+
+
+        /* endline is the dual of begline.  */
+	case endline:
+          DEBUG_PRINT1 ("EXECUTING endline.\n");
+
+          if (AT_STRINGS_END (d))
+            {
+              if (!bufp->not_eol) break;
+            }
+          
+          /* We have to ``prefetch'' the next character.  */
+          else if ((d == end1 ? *string2 : *d) == '\n'
+                   && bufp->newline_anchor)
+            {
+              break;
+            }
+          goto fail;
+
+
+	/* Match at the very beginning of the data.  */
+        case begbuf:
+          DEBUG_PRINT1 ("EXECUTING begbuf.\n");
+          if (AT_STRINGS_BEG (d))
+            break;
+          goto fail;
+
+
+	/* Match at the very end of the data.  */
+        case endbuf:
+          DEBUG_PRINT1 ("EXECUTING endbuf.\n");
+	  if (AT_STRINGS_END (d))
+	    break;
+          goto fail;
+
+
+        /* on_failure_keep_string_jump is used to optimize `.*\n'.  It
+           pushes NULL as the value for the string on the stack.  Then
+           `pop_failure_point' will keep the current value for the
+           string, instead of restoring it.  To see why, consider
+           matching `foo\nbar' against `.*\n'.  The .* matches the foo;
+           then the . fails against the \n.  But the next thing we want
+           to do is match the \n against the \n; if we restored the
+           string value, we would be back at the foo.
+           
+           Because this is used only in specific cases, we don't need to
+           check all the things that `on_failure_jump' does, to make
+           sure the right things get saved on the stack.  Hence we don't
+           share its code.  The only reason to push anything on the
+           stack at all is that otherwise we would have to change
+           `anychar's code to do something besides goto fail in this
+           case; that seems worse than this.  */
+        case on_failure_keep_string_jump:
+          DEBUG_PRINT1 ("EXECUTING on_failure_keep_string_jump");
+          
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+          DEBUG_PRINT3 (" %d (to 0x%x):\n", mcnt, p + mcnt);
+
+          PUSH_FAILURE_POINT (p + mcnt, NULL, -2);
+          break;
+
+
+	/* Uses of on_failure_jump:
+        
+           Each alternative starts with an on_failure_jump that points
+           to the beginning of the next alternative.  Each alternative
+           except the last ends with a jump that in effect jumps past
+           the rest of the alternatives.  (They really jump to the
+           ending jump of the following alternative, because tensioning
+           these jumps is a hassle.)
+
+           Repeats start with an on_failure_jump that points past both
+           the repetition text and either the following jump or
+           pop_failure_jump back to this on_failure_jump.  */
+	case on_failure_jump:
+        on_failure:
+          DEBUG_PRINT1 ("EXECUTING on_failure_jump");
+
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+          DEBUG_PRINT3 (" %d (to 0x%x)", mcnt, p + mcnt);
+
+          /* If this on_failure_jump comes right before a group (i.e.,
+             the original * applied to a group), save the information
+             for that group and all inner ones, so that if we fail back
+             to this point, the group's information will be correct.
+             For example, in \(a*\)*\1, we need the preceding group,
+             and in \(\(a*\)b*\)\2, we need the inner group.  */
+
+          /* We can't use `p' to check ahead because we push
+             a failure point to `p + mcnt' after we do this.  */
+          p1 = p;
+
+          /* We need to skip no_op's before we look for the
+             start_memory in case this on_failure_jump is happening as
+             the result of a completed succeed_n, as in \(a\)\{1,3\}b\1
+             against aba.  */
+          while (p1 < pend && (re_opcode_t) *p1 == no_op)
+            p1++;
+
+          if (p1 < pend && (re_opcode_t) *p1 == start_memory)
+            {
+              /* We have a new highest active register now.  This will
+                 get reset at the start_memory we are about to get to,
+                 but we will have saved all the registers relevant to
+                 this repetition op, as described above.  */
+              highest_active_reg = *(p1 + 1) + *(p1 + 2);
+              if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
+                lowest_active_reg = *(p1 + 1);
+            }
+
+          DEBUG_PRINT1 (":\n");
+          PUSH_FAILURE_POINT (p + mcnt, d, -2);
+          break;
+
+
+        /* A smart repeat ends with `maybe_pop_jump'.
+	   We change it to either `pop_failure_jump' or `jump'.  */
+        case maybe_pop_jump:
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+          DEBUG_PRINT2 ("EXECUTING maybe_pop_jump %d.\n", mcnt);
+          {
+	    register unsigned char *p2 = p;
+
+            /* Compare the beginning of the repeat with what in the
+               pattern follows its end. If we can establish that there
+               is nothing that they would both match, i.e., that we
+               would have to backtrack because of (as in, e.g., `a*a')
+               then we can change to pop_failure_jump, because we'll
+               never have to backtrack.
+               
+               This is not true in the case of alternatives: in
+               `(a|ab)*' we do need to backtrack to the `ab' alternative
+               (e.g., if the string was `ab').  But instead of trying to
+               detect that here, the alternative has put on a dummy
+               failure point which is what we will end up popping.  */
+
+	    /* Skip over open/close-group commands.  */
+	    while (p2 + 2 < pend
+		   && ((re_opcode_t) *p2 == stop_memory
+		       || (re_opcode_t) *p2 == start_memory))
+	      p2 += 3;			/* Skip over args, too.  */
+
+            /* If we're at the end of the pattern, we can change.  */
+            if (p2 == pend)
+	      {
+		/* Consider what happens when matching ":\(.*\)"
+		   against ":/".  I don't really understand this code
+		   yet.  */
+  	        p[-3] = (unsigned char) pop_failure_jump;
+                DEBUG_PRINT1
+                  ("  End of pattern: change to `pop_failure_jump'.\n");
+              }
+
+            else if ((re_opcode_t) *p2 == exactn
+		     || (bufp->newline_anchor && (re_opcode_t) *p2 == endline))
+	      {
+		register unsigned char c
+                  = *p2 == (unsigned char) endline ? '\n' : p2[2];
+		p1 = p + mcnt;
+
+                /* p1[0] ... p1[2] are the `on_failure_jump' corresponding
+                   to the `maybe_finalize_jump' of this case.  Examine what 
+                   follows.  */
+                if ((re_opcode_t) p1[3] == exactn && p1[5] != c)
+                  {
+  		    p[-3] = (unsigned char) pop_failure_jump;
+                    DEBUG_PRINT3 ("  %c != %c => pop_failure_jump.\n",
+                                  c, p1[5]);
+                  }
+                  
+		else if ((re_opcode_t) p1[3] == charset
+			 || (re_opcode_t) p1[3] == charset_not)
+		  {
+		    int not = (re_opcode_t) p1[3] == charset_not;
+                    
+		    if (c < (unsigned char) (p1[4] * BYTEWIDTH)
+			&& p1[5 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
+		      not = !not;
+
+                    /* `not' is equal to 1 if c would match, which means
+                        that we can't change to pop_failure_jump.  */
+		    if (!not)
+                      {
+  		        p[-3] = (unsigned char) pop_failure_jump;
+                        DEBUG_PRINT1 ("  No match => pop_failure_jump.\n");
+                      }
+		  }
+	      }
+	  }
+	  p -= 2;		/* Point at relative address again.  */
+	  if ((re_opcode_t) p[-1] != pop_failure_jump)
+	    {
+	      p[-1] = (unsigned char) jump;
+              DEBUG_PRINT1 ("  Match => jump.\n");
+	      goto unconditional_jump;
+	    }
+        /* Note fall through.  */
+
+
+	/* The end of a simple repeat has a pop_failure_jump back to
+           its matching on_failure_jump, where the latter will push a
+           failure point.  The pop_failure_jump takes off failure
+           points put on by this pop_failure_jump's matching
+           on_failure_jump; we got through the pattern to here from the
+           matching on_failure_jump, so didn't fail.  */
+        case pop_failure_jump:
+          {
+            /* We need to pass separate storage for the lowest and
+               highest registers, even though we don't care about the
+               actual values.  Otherwise, we will restore only one
+               register from the stack, since lowest will == highest in
+               `pop_failure_point'.  */
+            unsigned dummy_low_reg, dummy_high_reg;
+            unsigned char *pdummy;
+            char *sdummy;
+
+            DEBUG_PRINT1 ("EXECUTING pop_failure_jump.\n");
+            POP_FAILURE_POINT (sdummy, pdummy,
+                               dummy_low_reg, dummy_high_reg,
+                               reg_dummy, reg_dummy, reg_info_dummy);
+          }
+          /* Note fall through.  */
+
+          
+        /* Unconditionally jump (without popping any failure points).  */
+        case jump:
+	unconditional_jump:
+	  EXTRACT_NUMBER_AND_INCR (mcnt, p);	/* Get the amount to jump.  */
+          DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt);
+	  p += mcnt;				/* Do the jump.  */
+          DEBUG_PRINT2 ("(to 0x%x).\n", p);
+	  break;
+
+	
+        /* We need this opcode so we can detect where alternatives end
+           in `group_match_null_string_p' et al.  */
+        case jump_past_alt:
+          DEBUG_PRINT1 ("EXECUTING jump_past_alt.\n");
+          goto unconditional_jump;
+
+
+        /* Normally, the on_failure_jump pushes a failure point, which
+           then gets popped at pop_failure_jump.  We will end up at
+           pop_failure_jump, also, and with a pattern of, say, `a+', we
+           are skipping over the on_failure_jump, so we have to push
+           something meaningless for pop_failure_jump to pop.  */
+        case dummy_failure_jump:
+          DEBUG_PRINT1 ("EXECUTING dummy_failure_jump.\n");
+          /* It doesn't matter what we push for the string here.  What
+             the code at `fail' tests is the value for the pattern.  */
+          PUSH_FAILURE_POINT (0, 0, -2);
+          goto unconditional_jump;
+
+
+        /* At the end of an alternative, we need to push a dummy failure
+           point in case we are followed by a `pop_failure_jump', because
+           we don't want the failure point for the alternative to be
+           popped.  For example, matching `(a|ab)*' against `aab'
+           requires that we match the `ab' alternative.  */
+        case push_dummy_failure:
+          DEBUG_PRINT1 ("EXECUTING push_dummy_failure.\n");
+          /* See comments just above at `dummy_failure_jump' about the
+             two zeroes.  */
+          PUSH_FAILURE_POINT (0, 0, -2);
+          break;
+
+        /* Have to succeed matching what follows at least n times.
+           After that, handle like `on_failure_jump'.  */
+        case succeed_n: 
+          EXTRACT_NUMBER (mcnt, p + 2);
+          DEBUG_PRINT2 ("EXECUTING succeed_n %d.\n", mcnt);
+
+          assert (mcnt >= 0);
+          /* Originally, this is how many times we HAVE to succeed.  */
+          if (mcnt > 0)
+            {
+               mcnt--;
+	       p += 2;
+               STORE_NUMBER_AND_INCR (p, mcnt);
+               DEBUG_PRINT3 ("  Setting 0x%x to %d.\n", p, mcnt);
+            }
+	  else if (mcnt == 0)
+            {
+              DEBUG_PRINT2 ("  Setting two bytes from 0x%x to no_op.\n", p+2);
+	      p[2] = (unsigned char) no_op;
+              p[3] = (unsigned char) no_op;
+              goto on_failure;
+            }
+          break;
+        
+        case jump_n: 
+          EXTRACT_NUMBER (mcnt, p + 2);
+          DEBUG_PRINT2 ("EXECUTING jump_n %d.\n", mcnt);
+
+          /* Originally, this is how many times we CAN jump.  */
+          if (mcnt)
+            {
+               mcnt--;
+               STORE_NUMBER (p + 2, mcnt);
+	       goto unconditional_jump;	     
+            }
+          /* If don't have to jump any more, skip over the rest of command.  */
+	  else      
+	    p += 4;		     
+          break;
+        
+	case set_number_at:
+	  {
+            DEBUG_PRINT1 ("EXECUTING set_number_at.\n");
+
+            EXTRACT_NUMBER_AND_INCR (mcnt, p);
+            p1 = p + mcnt;
+            EXTRACT_NUMBER_AND_INCR (mcnt, p);
+            DEBUG_PRINT3 ("  Setting 0x%x to %d.\n", p1, mcnt);
+	    STORE_NUMBER (p1, mcnt);
+            break;
+          }
+
+        case wordbound:
+          DEBUG_PRINT1 ("EXECUTING wordbound.\n");
+          if (AT_WORD_BOUNDARY (d))
+	    break;
+          goto fail;
+
+	case notwordbound:
+          DEBUG_PRINT1 ("EXECUTING notwordbound.\n");
+	  if (AT_WORD_BOUNDARY (d))
+	    goto fail;
+          break;
+
+	case wordbeg:
+          DEBUG_PRINT1 ("EXECUTING wordbeg.\n");
+	  if (WORDCHAR_P (d) && (AT_STRINGS_BEG (d) || !WORDCHAR_P (d - 1)))
+	    break;
+          goto fail;
+
+	case wordend:
+          DEBUG_PRINT1 ("EXECUTING wordend.\n");
+	  if (!AT_STRINGS_BEG (d) && WORDCHAR_P (d - 1)
+              && (!WORDCHAR_P (d) || AT_STRINGS_END (d)))
+	    break;
+          goto fail;
+
+#ifdef emacs
+#ifdef emacs19
+  	case before_dot:
+          DEBUG_PRINT1 ("EXECUTING before_dot.\n");
+ 	  if (PTR_CHAR_POS ((unsigned char *) d) >= point)
+  	    goto fail;
+  	  break;
+  
+  	case at_dot:
+          DEBUG_PRINT1 ("EXECUTING at_dot.\n");
+ 	  if (PTR_CHAR_POS ((unsigned char *) d) != point)
+  	    goto fail;
+  	  break;
+  
+  	case after_dot:
+          DEBUG_PRINT1 ("EXECUTING after_dot.\n");
+          if (PTR_CHAR_POS ((unsigned char *) d) <= point)
+  	    goto fail;
+  	  break;
+#else /* not emacs19 */
+	case at_dot:
+          DEBUG_PRINT1 ("EXECUTING at_dot.\n");
+	  if (PTR_CHAR_POS ((unsigned char *) d) + 1 != point)
+	    goto fail;
+	  break;
+#endif /* not emacs19 */
+
+	case syntaxspec:
+          DEBUG_PRINT2 ("EXECUTING syntaxspec %d.\n", mcnt);
+	  mcnt = *p++;
+	  goto matchsyntax;
+
+        case wordchar:
+          DEBUG_PRINT1 ("EXECUTING Emacs wordchar.\n");
+	  mcnt = (int) Sword;
+        matchsyntax:
+	  PREFETCH ();
+	  if (SYNTAX (*d++) != (enum syntaxcode) mcnt)
+            goto fail;
+          SET_REGS_MATCHED ();
+	  break;
+
+	case notsyntaxspec:
+          DEBUG_PRINT2 ("EXECUTING notsyntaxspec %d.\n", mcnt);
+	  mcnt = *p++;
+	  goto matchnotsyntax;
+
+        case notwordchar:
+          DEBUG_PRINT1 ("EXECUTING Emacs notwordchar.\n");
+	  mcnt = (int) Sword;
+        matchnotsyntax:
+	  PREFETCH ();
+	  if (SYNTAX (*d++) == (enum syntaxcode) mcnt)
+            goto fail;
+	  SET_REGS_MATCHED ();
+          break;
+
+#else /* not emacs */
+	case wordchar:
+          DEBUG_PRINT1 ("EXECUTING non-Emacs wordchar.\n");
+	  PREFETCH ();
+          if (!WORDCHAR_P (d))
+            goto fail;
+	  SET_REGS_MATCHED ();
+          d++;
+	  break;
+	  
+	case notwordchar:
+          DEBUG_PRINT1 ("EXECUTING non-Emacs notwordchar.\n");
+	  PREFETCH ();
+	  if (WORDCHAR_P (d))
+            goto fail;
+          SET_REGS_MATCHED ();
+          d++;
+	  break;
+#endif /* not emacs */
+          
+        default:
+          abort ();
+	}
+      continue;  /* Successfully executed one pattern command; keep going.  */
+
+
+    /* We goto here if a matching operation fails. */
+    fail:
+      if (!FAIL_STACK_EMPTY ())
+	{ /* A restart point is known.  Restore to that state.  */
+          DEBUG_PRINT1 ("\nFAIL:\n");
+          POP_FAILURE_POINT (d, p,
+                             lowest_active_reg, highest_active_reg,
+                             regstart, regend, reg_info);
+
+          /* If this failure point is a dummy, try the next one.  */
+          if (!p)
+	    goto fail;
+
+          /* If we failed to the end of the pattern, don't examine *p.  */
+	  assert (p <= pend);
+          if (p < pend)
+            {
+              boolean is_a_jump_n = false;
+              
+              /* If failed to a backwards jump that's part of a repetition
+                 loop, need to pop this failure point and use the next one.  */
+              switch ((re_opcode_t) *p)
+                {
+                case jump_n:
+                  is_a_jump_n = true;
+                case maybe_pop_jump:
+                case pop_failure_jump:
+                case jump:
+                  p1 = p + 1;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  p1 += mcnt;	
+
+                  if ((is_a_jump_n && (re_opcode_t) *p1 == succeed_n)
+                      || (!is_a_jump_n
+                          && (re_opcode_t) *p1 == on_failure_jump))
+                    goto fail;
+                  break;
+                default:
+                  /* do nothing */ ;
+                }
+            }
+
+          if (d >= string1 && d <= end1)
+	    dend = end_match_1;
+        }
+      else
+        break;   /* Matching at this starting point really fails.  */
+    } /* for (;;) */
+
+  if (best_regs_set)
+    goto restore_best_regs;
+
+  FREE_VARIABLES ();
+
+  return -1;         			/* Failure to match.  */
+} /* re_match_2 */
+

+/* Subroutine definitions for re_match_2.  */
+
+
+/* We are passed P pointing to a register number after a start_memory.
+   
+   Return true if the pattern up to the corresponding stop_memory can
+   match the empty string, and false otherwise.
+   
+   If we find the matching stop_memory, sets P to point to one past its number.
+   Otherwise, sets P to an undefined byte less than or equal to END.
+
+   We don't handle duplicates properly (yet).  */
+
+static boolean
+group_match_null_string_p (p, end, reg_info)
+    unsigned char **p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  /* Point to after the args to the start_memory.  */
+  unsigned char *p1 = *p + 2;
+  
+  while (p1 < end)
+    {
+      /* Skip over opcodes that can match nothing, and return true or
+	 false, as appropriate, when we get to one that can't, or to the
+         matching stop_memory.  */
+      
+      switch ((re_opcode_t) *p1)
+        {
+        /* Could be either a loop or a series of alternatives.  */
+        case on_failure_jump:
+          p1++;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+          
+          /* If the next operation is not a jump backwards in the
+	     pattern.  */
+
+	  if (mcnt >= 0)
+	    {
+              /* Go through the on_failure_jumps of the alternatives,
+                 seeing if any of the alternatives cannot match nothing.
+                 The last alternative starts with only a jump,
+                 whereas the rest start with on_failure_jump and end
+                 with a jump, e.g., here is the pattern for `a|b|c':
+
+                 /on_failure_jump/0/6/exactn/1/a/jump_past_alt/0/6
+                 /on_failure_jump/0/6/exactn/1/b/jump_past_alt/0/3
+                 /exactn/1/c						
+
+                 So, we have to first go through the first (n-1)
+                 alternatives and then deal with the last one separately.  */
+
+
+              /* Deal with the first (n-1) alternatives, which start
+                 with an on_failure_jump (see above) that jumps to right
+                 past a jump_past_alt.  */
+
+              while ((re_opcode_t) p1[mcnt-3] == jump_past_alt)
+                {
+                  /* `mcnt' holds how many bytes long the alternative
+                     is, including the ending `jump_past_alt' and
+                     its number.  */
+
+                  if (!alt_match_null_string_p (p1, p1 + mcnt - 3, 
+				                      reg_info))
+                    return false;
+
+                  /* Move to right after this alternative, including the
+		     jump_past_alt.  */
+                  p1 += mcnt;	
+
+                  /* Break if it's the beginning of an n-th alternative
+                     that doesn't begin with an on_failure_jump.  */
+                  if ((re_opcode_t) *p1 != on_failure_jump)
+                    break;
+		
+		  /* Still have to check that it's not an n-th
+		     alternative that starts with an on_failure_jump.  */
+		  p1++;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  if ((re_opcode_t) p1[mcnt-3] != jump_past_alt)
+                    {
+		      /* Get to the beginning of the n-th alternative.  */
+                      p1 -= 3;
+                      break;
+                    }
+                }
+
+              /* Deal with the last alternative: go back and get number
+                 of the `jump_past_alt' just before it.  `mcnt' contains
+                 the length of the alternative.  */
+              EXTRACT_NUMBER (mcnt, p1 - 2);
+
+              if (!alt_match_null_string_p (p1, p1 + mcnt, reg_info))
+                return false;
+
+              p1 += mcnt;	/* Get past the n-th alternative.  */
+            } /* if mcnt > 0 */
+          break;
+
+          
+        case stop_memory:
+	  assert (p1[1] == **p);
+          *p = p1 + 2;
+          return true;
+
+        
+        default: 
+          if (!common_op_match_null_string_p (&p1, end, reg_info))
+            return false;
+        }
+    } /* while p1 < end */
+
+  return false;
+} /* group_match_null_string_p */
+
+
+/* Similar to group_match_null_string_p, but doesn't deal with alternatives:
+   It expects P to be the first byte of a single alternative and END one
+   byte past the last. The alternative can contain groups.  */
+   
+static boolean
+alt_match_null_string_p (p, end, reg_info)
+    unsigned char *p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  unsigned char *p1 = p;
+  
+  while (p1 < end)
+    {
+      /* Skip over opcodes that can match nothing, and break when we get 
+         to one that can't.  */
+      
+      switch ((re_opcode_t) *p1)
+        {
+	/* It's a loop.  */
+        case on_failure_jump:
+          p1++;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+          p1 += mcnt;
+          break;
+          
+	default: 
+          if (!common_op_match_null_string_p (&p1, end, reg_info))
+            return false;
+        }
+    }  /* while p1 < end */
+
+  return true;
+} /* alt_match_null_string_p */
+
+
+/* Deals with the ops common to group_match_null_string_p and
+   alt_match_null_string_p.  
+   
+   Sets P to one after the op and its arguments, if any.  */
+
+static boolean
+common_op_match_null_string_p (p, end, reg_info)
+    unsigned char **p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  boolean ret;
+  int reg_no;
+  unsigned char *p1 = *p;
+
+  switch ((re_opcode_t) *p1++)
+    {
+    case no_op:
+    case begline:
+    case endline:
+    case begbuf:
+    case endbuf:
+    case wordbeg:
+    case wordend:
+    case wordbound:
+    case notwordbound:
+#ifdef emacs
+    case before_dot:
+    case at_dot:
+    case after_dot:
+#endif
+      break;
+
+    case start_memory:
+      reg_no = *p1;
+      assert (reg_no > 0 && reg_no <= MAX_REGNUM);
+      ret = group_match_null_string_p (&p1, end, reg_info);
+      
+      /* Have to set this here in case we're checking a group which
+         contains a group and a back reference to it.  */
+
+      if (REG_MATCH_NULL_STRING_P (reg_info[reg_no]) == MATCH_NULL_UNSET_VALUE)
+        REG_MATCH_NULL_STRING_P (reg_info[reg_no]) = ret;
+
+      if (!ret)
+        return false;
+      break;
+          
+    /* If this is an optimized succeed_n for zero times, make the jump.  */
+    case jump:
+      EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+      if (mcnt >= 0)
+        p1 += mcnt;
+      else
+        return false;
+      break;
+
+    case succeed_n:
+      /* Get to the number of times to succeed.  */
+      p1 += 2;		
+      EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+
+      if (mcnt == 0)
+        {
+          p1 -= 4;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+          p1 += mcnt;
+        }
+      else
+        return false;
+      break;
+
+    case duplicate: 
+      if (!REG_MATCH_NULL_STRING_P (reg_info[*p1]))
+        return false;
+      break;
+
+    case set_number_at:
+      p1 += 4;
+
+    default:
+      /* All other opcodes mean we cannot match the empty string.  */
+      return false;
+  }
+
+  *p = p1;
+  return true;
+} /* common_op_match_null_string_p */
+
+
+/* Return zero if TRANSLATE[S1] and TRANSLATE[S2] are identical for LEN
+   bytes; nonzero otherwise.  */
+   
+static int
+bcmp_translate (s1, s2, len, translate)
+     unsigned char *s1, *s2;
+     register int len;
+     char *translate;
+{
+  register unsigned char *p1 = s1, *p2 = s2;
+  while (len)
+    {
+      if (translate[*p1++] != translate[*p2++]) return 1;
+      len--;
+    }
+  return 0;
+}
+

+/* Entry points for GNU code.  */
+
+/* re_compile_pattern is the GNU regular expression compiler: it
+   compiles PATTERN (of length SIZE) and puts the result in BUFP.
+   Returns 0 if the pattern was valid, otherwise an error string.
+   
+   Assumes the `allocated' (and perhaps `buffer') and `translate' fields
+   are set in BUFP on entry.
+   
+   We call regex_compile to do the actual compilation.  */
+
+char *
+re_compile_pattern (char *pattern, int length, struct re_pattern_buffer *bufp)
+{
+  reg_errcode_t ret;
+  
+  /* GNU code is written to assume at least RE_NREGS registers will be set
+     (and at least one extra will be -1).  */
+  bufp->regs_allocated = REGS_UNALLOCATED;
+  
+  /* And GNU code determines whether or not to get register information
+     by passing null for the REGS argument to re_match, etc., not by
+     setting no_sub.  */
+  bufp->no_sub = 0;
+  
+  /* Match anchors at newline.  */
+  bufp->newline_anchor = 1;
+  
+  ret = regex_compile (pattern, length, re_syntax_options, bufp);
+
+  return re_error_msg[(int) ret];
+}     
+

+/* Entry points compatible with 4.2 BSD regex library.  We don't define
+   them if this is an Emacs or POSIX compilation.  */
+
+#if !defined (emacs) && !defined (_POSIX_SOURCE)
+
+/* BSD has one and only one pattern buffer.  */
+static struct re_pattern_buffer re_comp_buf;
+
+char *
+re_comp (s)
+    char *s;
+{
+  reg_errcode_t ret;
+  
+  if (!s)
+    {
+      if (!re_comp_buf.buffer)
+	return "No previous regular expression";
+      return 0;
+    }
+
+  if (!re_comp_buf.buffer)
+    {
+      re_comp_buf.buffer = (unsigned char *) malloc (200);
+      if (re_comp_buf.buffer == NULL)
+        return "Memory exhausted";
+      re_comp_buf.allocated = 200;
+
+      re_comp_buf.fastmap = (char *) malloc (1 << BYTEWIDTH);
+      if (re_comp_buf.fastmap == NULL)
+	return "Memory exhausted";
+    }
+
+  /* Since `re_exec' always passes NULL for the `regs' argument, we
+     don't need to initialize the pattern buffer fields which affect it.  */
+
+  /* Match anchors at newlines.  */
+  re_comp_buf.newline_anchor = 1;
+
+  ret = regex_compile (s, strlen (s), re_syntax_options, &re_comp_buf);
+  
+  /* Yes, we're discarding `const' here.  */
+  return (char *) re_error_msg[(int) ret];
+}
+
+
+int
+re_exec (s)
+    char *s;
+{
+  int len = strlen (s);
+  return
+    0 <= re_search (&re_comp_buf, s, len, 0, len, (struct re_registers *) 0);
+}
+#endif /* not emacs and not _POSIX_SOURCE */
+

+/* POSIX.2 functions.  Don't define these for Emacs.  */
+
+#ifndef emacs
+
+/* regcomp takes a regular expression as a string and compiles it.
+
+   PREG is a regex_t *.  We do not expect any fields to be initialized,
+   since POSIX says we shouldn't.  Thus, we set
+
+     `buffer' to the compiled pattern;
+     `used' to the length of the compiled pattern;
+     `syntax' to RE_SYNTAX_POSIX_EXTENDED if the
+       REG_EXTENDED bit in CFLAGS is set; otherwise, to
+       RE_SYNTAX_POSIX_BASIC;
+     `newline_anchor' to REG_NEWLINE being set in CFLAGS;
+     `fastmap' and `fastmap_accurate' to zero;
+     `re_nsub' to the number of subexpressions in PATTERN.
+
+   PATTERN is the address of the pattern string.
+
+   CFLAGS is a series of bits which affect compilation.
+
+     If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we
+     use POSIX basic syntax.
+
+     If REG_NEWLINE is set, then . and [^...] don't match newline.
+     Also, regexec will try a match beginning after every newline.
+
+     If REG_ICASE is set, then we considers upper- and lowercase
+     versions of letters to be equivalent when matching.
+
+     If REG_NOSUB is set, then when PREG is passed to regexec, that
+     routine will report only success or failure, and nothing about the
+     registers.
+
+   It returns 0 if it succeeds, nonzero if it doesn't.  (See regex.h for
+   the return codes and their meanings.)  */
+
+int
+regcomp (preg, pattern, cflags)
+    regex_t *preg;
+    char *pattern; 
+    int cflags;
+{
+  reg_errcode_t ret;
+  unsigned syntax
+    = (cflags & REG_EXTENDED) ?
+      RE_SYNTAX_POSIX_EXTENDED : RE_SYNTAX_POSIX_BASIC;
+
+  /* regex_compile will allocate the space for the compiled pattern.  */
+  preg->buffer = 0;
+  preg->allocated = 0;
+  
+  /* Don't bother to use a fastmap when searching.  This simplifies the
+     REG_NEWLINE case: if we used a fastmap, we'd have to put all the
+     characters after newlines into the fastmap.  This way, we just try
+     every character.  */
+  preg->fastmap = 0;
+  
+  if (cflags & REG_ICASE)
+    {
+      unsigned i;
+      
+      preg->translate = (char *) malloc (CHAR_SET_SIZE);
+      if (preg->translate == NULL)
+        return (int) REG_ESPACE;
+
+      /* Map uppercase characters to corresponding lowercase ones.  */
+      for (i = 0; i < CHAR_SET_SIZE; i++)
+        preg->translate[i] = ISUPPER (i) ? tolower (i) : i;
+    }
+  else
+    preg->translate = NULL;
+
+  /* If REG_NEWLINE is set, newlines are treated differently.  */
+  if (cflags & REG_NEWLINE)
+    { /* REG_NEWLINE implies neither . nor [^...] match newline.  */
+      syntax &= ~RE_DOT_NEWLINE;
+      syntax |= RE_HAT_LISTS_NOT_NEWLINE;
+      /* It also changes the matching behavior.  */
+      preg->newline_anchor = 1;
+    }
+  else
+    preg->newline_anchor = 0;
+
+  preg->no_sub = !!(cflags & REG_NOSUB);
+
+  /* POSIX says a null character in the pattern terminates it, so we 
+     can use strlen here in compiling the pattern.  */
+  ret = regex_compile (pattern, strlen (pattern), syntax, preg);
+  
+  /* POSIX doesn't distinguish between an unmatched open-group and an
+     unmatched close-group: both are REG_EPAREN.  */
+  if (ret == REG_ERPAREN) ret = REG_EPAREN;
+  
+  return (int) ret;
+}
+
+
+/* regexec searches for a given pattern, specified by PREG, in the
+   string STRING.
+   
+   If NMATCH is zero or REG_NOSUB was set in the cflags argument to
+   `regcomp', we ignore PMATCH.  Otherwise, we assume PMATCH has at
+   least NMATCH elements, and we set them to the offsets of the
+   corresponding matched substrings.
+   
+   EFLAGS specifies `execution flags' which affect matching: if
+   REG_NOTBOL is set, then ^ does not match at the beginning of the
+   string; if REG_NOTEOL is set, then $ does not match at the end.
+   
+   We return 0 if we find a match and REG_NOMATCH if not.  */
+
+int
+regexec (preg, string, nmatch, pmatch, eflags)
+    regex_t *preg;
+    char *string; 
+    size_t nmatch; 
+    regmatch_t pmatch[]; 
+    int eflags;
+{
+  int ret;
+  struct re_registers regs;
+  regex_t private_preg;
+  int len = strlen (string);
+  boolean want_reg_info = !preg->no_sub && nmatch > 0;
+
+  private_preg = *preg;
+  
+  private_preg.not_bol = !!(eflags & REG_NOTBOL);
+  private_preg.not_eol = !!(eflags & REG_NOTEOL);
+  
+  /* The user has told us exactly how many registers to return
+     information about, via `nmatch'.  We have to pass that on to the
+     matching routines.  */
+  private_preg.regs_allocated = REGS_FIXED;
+  
+  if (want_reg_info)
+    {
+      regs.num_regs = nmatch;
+      regs.start = TALLOC (nmatch, regoff_t);
+      regs.end = TALLOC (nmatch, regoff_t);
+      if (regs.start == NULL || regs.end == NULL)
+        return (int) REG_NOMATCH;
+    }
+
+  /* Perform the searching operation.  */
+  ret = re_search (&private_preg, string, len,
+                   /* start: */ 0, /* range: */ len,
+                   want_reg_info ? &regs : (struct re_registers *) 0);
+  
+  /* Copy the register information to the POSIX structure.  */
+  if (want_reg_info)
+    {
+      if (ret >= 0)
+        {
+          unsigned r;
+
+          for (r = 0; r < nmatch; r++)
+            {
+              pmatch[r].rm_so = regs.start[r];
+              pmatch[r].rm_eo = regs.end[r];
+            }
+        }
+
+      /* If we needed the temporary register info, free the space now.  */
+      free (regs.start);
+      free (regs.end);
+    }
+
+  /* We want zero return to mean success, unlike `re_search'.  */
+  return ret >= 0 ? (int) REG_NOERROR : (int) REG_NOMATCH;
+}
+
+
+/* Returns a message corresponding to an error code, ERRCODE, returned
+   from either regcomp or regexec.   We don't use PREG here.  */
+
+size_t
+regerror (errcode, preg, errbuf, errbuf_size)
+    int errcode;
+    regex_t *preg;
+    char *errbuf;
+    size_t errbuf_size;
+{
+  char *msg;
+  size_t msg_size;
+
+  if (errcode < 0
+      || errcode >= (sizeof (re_error_msg) / sizeof (re_error_msg[0])))
+    /* Only error codes returned by the rest of the code should be passed 
+       to this routine.  If we are given anything else, or if other regex
+       code generates an invalid error code, then the program has a bug.
+       Dump core so we can fix it.  */
+    abort ();
+
+  msg = re_error_msg[errcode];
+
+  /* POSIX doesn't require that we do anything in this case, but why
+     not be nice.  */
+  if (! msg)
+    msg = "Success";
+
+  msg_size = strlen (msg) + 1; /* Includes the null.  */
+  
+  if (errbuf_size != 0)
+    {
+      if (msg_size > errbuf_size)
+        {
+          strncpy (errbuf, msg, errbuf_size - 1);
+          errbuf[errbuf_size - 1] = 0;
+        }
+      else
+        strcpy (errbuf, msg);
+    }
+
+  return msg_size;
+}
+
+
+/* Free dynamically allocated space used by PREG.  */
+
+void
+regfree (preg)
+    regex_t *preg;
+{
+  if (preg->buffer != NULL)
+    free (preg->buffer);
+  preg->buffer = NULL;
+  
+  preg->allocated = 0;
+  preg->used = 0;
+
+  if (preg->fastmap != NULL)
+    free (preg->fastmap);
+  preg->fastmap = NULL;
+  preg->fastmap_accurate = 0;
+
+  if (preg->translate != NULL)
+    free (preg->translate);
+  preg->translate = NULL;
+}
+
+#endif /* not emacs  */
+

+/*
+Local variables:
+make-backup-files: t
+version-control: t
+trim-versions-without-asking: nil
+End:
+*/
+#endif /* not lint */
diff --git a/gnuregex.h b/gnuregex.h
new file mode 100644
index 0000000..48f759f
--- /dev/null
+++ b/gnuregex.h
@@ -0,0 +1,490 @@
+/* Definitions for data structures and routines for the regular
+   expression library, version 0.12.
+
+   Copyright (C) 1985,1989,1990,1991,1992,1993 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#ifndef __REGEXP_LIBRARY_H__
+#define __REGEXP_LIBRARY_H__
+
+/* POSIX says that <sys/types.h> must be included (by the caller) before
+   <regex.h>.  */
+
+#ifdef VMS
+/* VMS doesn't have `size_t' in <sys/types.h>, even though POSIX says it
+   should be there.  */
+#include <stddef.h>
+#endif
+
+
+/* The following bits are used to determine the regexp syntax we
+   recognize.  The set/not-set meanings are chosen so that Emacs syntax
+   remains the value 0.  The bits are given in alphabetical order, and
+   the definitions shifted by one from the previous bit; thus, when we
+   add or remove a bit, only one other definition need change.  */
+typedef unsigned reg_syntax_t;
+
+/* If this bit is not set, then \ inside a bracket expression is literal.
+   If set, then such a \ quotes the following character.  */
+#define RE_BACKSLASH_ESCAPE_IN_LISTS (1)
+
+/* If this bit is not set, then + and ? are operators, and \+ and \? are
+     literals. 
+   If set, then \+ and \? are operators and + and ? are literals.  */
+#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
+
+/* If this bit is set, then character classes are supported.  They are:
+     [:alpha:], [:upper:], [:lower:],  [:digit:], [:alnum:], [:xdigit:],
+     [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
+   If not set, then character classes are not supported.  */
+#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
+
+/* If this bit is set, then ^ and $ are always anchors (outside bracket
+     expressions, of course).
+   If this bit is not set, then it depends:
+        ^  is an anchor if it is at the beginning of a regular
+           expression or after an open-group or an alternation operator;
+        $  is an anchor if it is at the end of a regular expression, or
+           before a close-group or an alternation operator.  
+
+   This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
+   POSIX draft 11.2 says that * etc. in leading positions is undefined.
+   We already implemented a previous draft which made those constructs
+   invalid, though, so we haven't changed the code back.  */
+#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
+
+/* If this bit is set, then special characters are always special
+     regardless of where they are in the pattern.
+   If this bit is not set, then special characters are special only in
+     some contexts; otherwise they are ordinary.  Specifically, 
+     * + ? and intervals are only special when not after the beginning,
+     open-group, or alternation operator.  */
+#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
+
+/* If this bit is set, then *, +, ?, and { cannot be first in an re or
+     immediately after an alternation or begin-group operator.  */
+#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
+
+/* If this bit is set, then . matches newline.
+   If not set, then it doesn't.  */
+#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
+
+/* If this bit is set, then . doesn't match NUL.
+   If not set, then it does.  */
+#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
+
+/* If this bit is set, nonmatching lists [^...] do not match newline.
+   If not set, they do.  */
+#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
+
+/* If this bit is set, either \{...\} or {...} defines an
+     interval, depending on RE_NO_BK_BRACES. 
+   If not set, \{, \}, {, and } are literals.  */
+#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
+
+/* If this bit is set, +, ? and | aren't recognized as operators.
+   If not set, they are.  */
+#define RE_LIMITED_OPS (RE_INTERVALS << 1)
+
+/* If this bit is set, newline is an alternation operator.
+   If not set, newline is literal.  */
+#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
+
+/* If this bit is set, then `{...}' defines an interval, and \{ and \}
+     are literals.
+  If not set, then `\{...\}' defines an interval.  */
+#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
+
+/* If this bit is set, (...) defines a group, and \( and \) are literals.
+   If not set, \(...\) defines a group, and ( and ) are literals.  */
+#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
+
+/* If this bit is set, then \<digit> matches <digit>.
+   If not set, then \<digit> is a back-reference.  */
+#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
+
+/* If this bit is set, then | is an alternation operator, and \| is literal. 
+   If not set, then \| is an alternation operator, and | is literal.  */
+#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
+
+/* If this bit is set, then an ending range point collating higher
+     than the starting range point, as in [z-a], is invalid.
+   If not set, then when ending range point collates higher than the
+     starting range point, the range is ignored.  */
+#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
+
+/* If this bit is set, then an unmatched ) is ordinary.
+   If not set, then an unmatched ) is invalid.  */
+#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
+
+/* This global variable defines the particular regexp syntax to use (for
+   some interfaces).  When a regexp is compiled, the syntax used is
+   stored in the pattern buffer, so changing this does not affect
+   already-compiled regexps.  */
+extern reg_syntax_t re_syntax_options;
+

+/* Define combinations of the above bits for the standard possibilities.
+   (The [[[ comments delimit what gets put into the Texinfo file, so
+   don't delete them!)  */ 
+/* [[[begin syntaxes]]] */
+#define RE_SYNTAX_EMACS 0
+
+#define RE_SYNTAX_AWK							\
+  (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL			\
+   | RE_NO_BK_PARENS            | RE_NO_BK_REFS				\
+   | RE_NO_BK_VBAR               | RE_NO_EMPTY_RANGES			\
+   | RE_UNMATCHED_RIGHT_PAREN_ORD)
+
+#define RE_SYNTAX_POSIX_AWK 						\
+  (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS)
+
+#define RE_SYNTAX_GREP							\
+  (RE_BK_PLUS_QM              | RE_CHAR_CLASSES				\
+   | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS				\
+   | RE_NEWLINE_ALT)
+
+#define RE_SYNTAX_EGREP							\
+  (RE_CHAR_CLASSES        | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE			\
+   | RE_NEWLINE_ALT       | RE_NO_BK_PARENS				\
+   | RE_NO_BK_VBAR)
+
+#define RE_SYNTAX_POSIX_EGREP						\
+  (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)
+
+/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff.  */
+#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
+
+#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC
+
+/* Syntax bits common to both basic and extended POSIX regex syntax.  */
+#define _RE_SYNTAX_POSIX_COMMON						\
+  (RE_CHAR_CLASSES | RE_DOT_NEWLINE      | RE_DOT_NOT_NULL		\
+   | RE_INTERVALS  | RE_NO_EMPTY_RANGES)
+
+#define RE_SYNTAX_POSIX_BASIC						\
+  (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)
+
+/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
+   RE_LIMITED_OPS, i.e., \? \+ \| are not recognized.  Actually, this
+   isn't minimal, since other operators, such as \`, aren't disabled.  */
+#define RE_SYNTAX_POSIX_MINIMAL_BASIC					\
+  (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
+
+#define RE_SYNTAX_POSIX_EXTENDED					\
+  (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INDEP_OPS  | RE_NO_BK_BRACES				\
+   | RE_NO_BK_PARENS       | RE_NO_BK_VBAR				\
+   | RE_UNMATCHED_RIGHT_PAREN_ORD)
+
+/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS
+   replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added.  */
+#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED				\
+  (_RE_SYNTAX_POSIX_COMMON  | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES				\
+   | RE_NO_BK_PARENS        | RE_NO_BK_REFS				\
+   | RE_NO_BK_VBAR	    | RE_UNMATCHED_RIGHT_PAREN_ORD)
+/* [[[end syntaxes]]] */
+

+/* Maximum number of duplicates an interval can allow.  Some systems
+   (erroneously) define this in other header files, but we want our
+   value, so remove any previous define.  */
+#ifdef RE_DUP_MAX
+#undef RE_DUP_MAX
+#endif
+#define RE_DUP_MAX ((1 << 15) - 1) 
+
+
+/* POSIX `cflags' bits (i.e., information for `regcomp').  */
+
+/* If this bit is set, then use extended regular expression syntax.
+   If not set, then use basic regular expression syntax.  */
+#define REG_EXTENDED 1
+
+/* If this bit is set, then ignore case when matching.
+   If not set, then case is significant.  */
+#define REG_ICASE (REG_EXTENDED << 1)
+ 
+/* If this bit is set, then anchors do not match at newline
+     characters in the string.
+   If not set, then anchors do match at newlines.  */
+#define REG_NEWLINE (REG_ICASE << 1)
+
+/* If this bit is set, then report only success or fail in regexec.
+   If not set, then returns differ between not matching and errors.  */
+#define REG_NOSUB (REG_NEWLINE << 1)
+
+
+/* POSIX `eflags' bits (i.e., information for regexec).  */
+
+/* If this bit is set, then the beginning-of-line operator doesn't match
+     the beginning of the string (presumably because it's not the
+     beginning of a line).
+   If not set, then the beginning-of-line operator does match the
+     beginning of the string.  */
+#define REG_NOTBOL 1
+
+/* Like REG_NOTBOL, except for the end-of-line.  */
+#define REG_NOTEOL (1 << 1)
+
+
+/* If any error codes are removed, changed, or added, update the
+   `re_error_msg' table in regex.c.  */
+typedef enum
+{
+  REG_NOERROR = 0,	/* Success.  */
+  REG_NOMATCH,		/* Didn't find a match (for regexec).  */
+
+  /* POSIX regcomp return error codes.  (In the order listed in the
+     standard.)  */
+  REG_BADPAT,		/* Invalid pattern.  */
+  REG_ECOLLATE,		/* Not implemented.  */
+  REG_ECTYPE,		/* Invalid character class name.  */
+  REG_EESCAPE,		/* Trailing backslash.  */
+  REG_ESUBREG,		/* Invalid back reference.  */
+  REG_EBRACK,		/* Unmatched left bracket.  */
+  REG_EPAREN,		/* Parenthesis imbalance.  */ 
+  REG_EBRACE,		/* Unmatched \{.  */
+  REG_BADBR,		/* Invalid contents of \{\}.  */
+  REG_ERANGE,		/* Invalid range end.  */
+  REG_ESPACE,		/* Ran out of memory.  */
+  REG_BADRPT,		/* No preceding re for repetition op.  */
+
+  /* Error codes we've added.  */
+  REG_EEND,		/* Premature end.  */
+  REG_ESIZE,		/* Compiled pattern bigger than 2^16 bytes.  */
+  REG_ERPAREN		/* Unmatched ) or \); not returned from regcomp.  */
+} reg_errcode_t;
+

+/* This data structure represents a compiled pattern.  Before calling
+   the pattern compiler, the fields `buffer', `allocated', `fastmap',
+   `translate', and `no_sub' can be set.  After the pattern has been
+   compiled, the `re_nsub' field is available.  All other fields are
+   private to the regex routines.  */
+
+struct re_pattern_buffer
+{
+/* [[[begin pattern_buffer]]] */
+	/* Space that holds the compiled pattern.  It is declared as
+          `unsigned char *' because its elements are
+           sometimes used as array indexes.  */
+  unsigned char *buffer;
+
+	/* Number of bytes to which `buffer' points.  */
+  unsigned long allocated;
+
+	/* Number of bytes actually used in `buffer'.  */
+  unsigned long used;	
+
+        /* Syntax setting with which the pattern was compiled.  */
+  reg_syntax_t syntax;
+
+        /* Pointer to a fastmap, if any, otherwise zero.  re_search uses
+           the fastmap, if there is one, to skip over impossible
+           starting points for matches.  */
+  char *fastmap;
+
+        /* Either a translate table to apply to all characters before
+           comparing them, or zero for no translation.  The translation
+           is applied to a pattern when it is compiled and to a string
+           when it is matched.  */
+  char *translate;
+
+	/* Number of subexpressions found by the compiler.  */
+  size_t re_nsub;
+
+        /* Zero if this pattern cannot match the empty string, one else.
+           Well, in truth it's used only in `re_search_2', to see
+           whether or not we should use the fastmap, so we don't set
+           this absolutely perfectly; see `re_compile_fastmap' (the
+           `duplicate' case).  */
+  unsigned can_be_null : 1;
+
+        /* If REGS_UNALLOCATED, allocate space in the `regs' structure
+             for `max (RE_NREGS, re_nsub + 1)' groups.
+           If REGS_REALLOCATE, reallocate space if necessary.
+           If REGS_FIXED, use what's there.  */
+#define REGS_UNALLOCATED 0
+#define REGS_REALLOCATE 1
+#define REGS_FIXED 2
+  unsigned regs_allocated : 2;
+
+        /* Set to zero when `regex_compile' compiles a pattern; set to one
+           by `re_compile_fastmap' if it updates the fastmap.  */
+  unsigned fastmap_accurate : 1;
+
+        /* If set, `re_match_2' does not return information about
+           subexpressions.  */
+  unsigned no_sub : 1;
+
+        /* If set, a beginning-of-line anchor doesn't match at the
+           beginning of the string.  */ 
+  unsigned not_bol : 1;
+
+        /* Similarly for an end-of-line anchor.  */
+  unsigned not_eol : 1;
+
+        /* If true, an anchor at a newline matches.  */
+  unsigned newline_anchor : 1;
+
+/* [[[end pattern_buffer]]] */
+};
+
+typedef struct re_pattern_buffer regex_t;
+
+
+/* search.c (search_buffer) in Emacs needs this one opcode value.  It is
+   defined both in `regex.c' and here.  */
+#define RE_EXACTN_VALUE 1
+

+/* Type for byte offsets within the string.  POSIX mandates this.  */
+typedef int regoff_t;
+
+
+/* This is the structure we store register match data in.  See
+   regex.texinfo for a full description of what registers match.  */
+struct re_registers
+{
+  unsigned num_regs;
+  regoff_t *start;
+  regoff_t *end;
+};
+
+
+/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
+   `re_match_2' returns information about at least this many registers
+   the first time a `regs' structure is passed.  */
+#ifndef RE_NREGS
+#define RE_NREGS 30
+#endif
+
+
+/* POSIX specification for registers.  Aside from the different names than
+   `re_registers', POSIX uses an array of structures, instead of a
+   structure of arrays.  */
+typedef struct
+{
+  regoff_t rm_so;  /* Byte offset from string's start to substring's start.  */
+  regoff_t rm_eo;  /* Byte offset from string's start to substring's end.  */
+} regmatch_t;
+

+/* Declarations for routines.  */
+
+/* To avoid duplicating every routine declaration -- once with a
+   prototype (if we are ANSI), and once without (if we aren't) -- we
+   use the following macro to declare argument types.  This
+   unfortunately clutters up the declarations a bit, but I think it's
+   worth it.  */
+
+#if __STDC__
+
+#define _RE_ARGS(args) args
+
+#else /* not __STDC__ */
+
+#define _RE_ARGS(args) ()
+
+#endif /* not __STDC__ */
+
+/* Sets the current default syntax to SYNTAX, and return the old syntax.
+   You can also simply assign to the `re_syntax_options' variable.  */
+extern reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax));
+
+/* Compile the regular expression PATTERN, with length LENGTH
+   and syntax given by the global `re_syntax_options', into the buffer
+   BUFFER.  Return NULL if successful, and an error string if not.  */
+extern char *re_compile_pattern
+  _RE_ARGS ((char *pattern, int length,
+             struct re_pattern_buffer *buffer));
+
+
+/* Compile a fastmap for the compiled pattern in BUFFER; used to
+   accelerate searches.  Return 0 if successful and -2 if was an
+   internal error.  */
+extern int re_compile_fastmap _RE_ARGS ((struct re_pattern_buffer *buffer));
+
+
+/* Search in the string STRING (with length LENGTH) for the pattern
+   compiled into BUFFER.  Start searching at position START, for RANGE
+   characters.  Return the starting position of the match, -1 for no
+   match, or -2 for an internal error.  Also return register
+   information in REGS (if REGS and BUFFER->no_sub are nonzero).  */
+extern int re_search
+  _RE_ARGS ((struct re_pattern_buffer *buffer, char *string,
+            int length, int start, int range, struct re_registers *regs));
+
+
+/* Like `re_search', but search in the concatenation of STRING1 and
+   STRING2.  Also, stop searching at index START + STOP.  */
+extern int re_search_2
+  _RE_ARGS ((struct re_pattern_buffer *buffer, char *string1,
+             int length1, char *string2, int length2,
+             int start, int range, struct re_registers *regs, int stop));
+
+
+/* Like `re_search', but return how many characters in STRING the regexp
+   in BUFFER matched, starting at position START.  */
+extern int re_match
+  _RE_ARGS ((struct re_pattern_buffer *buffer, char *string,
+             int length, int start, struct re_registers *regs));
+
+
+/* Relates to `re_match' as `re_search_2' relates to `re_search'.  */
+extern int re_match_2 
+  _RE_ARGS ((struct re_pattern_buffer *buffer, char *string1,
+             int length1, char *string2, int length2,
+             int start, struct re_registers *regs, int stop));
+
+
+/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
+   ENDS.  Subsequent matches using BUFFER and REGS will use this memory
+   for recording register information.  STARTS and ENDS must be
+   allocated with malloc, and must each be at least `NUM_REGS * sizeof
+   (regoff_t)' bytes long.
+
+   If NUM_REGS == 0, then subsequent matches should allocate their own
+   register data.
+
+   Unless this function is called, the first search or match using
+   PATTERN_BUFFER will allocate its own register data, without
+   freeing the old data.  */
+extern void re_set_registers
+  _RE_ARGS ((struct re_pattern_buffer *buffer, struct re_registers *regs,
+             unsigned num_regs, regoff_t *starts, regoff_t *ends));
+
+/* 4.2 bsd compatibility.  */
+extern char *re_comp _RE_ARGS ((char *));
+extern int re_exec _RE_ARGS ((char *));
+
+/* POSIX compatibility.  */
+extern int regcomp _RE_ARGS ((regex_t *preg, char *pattern, int cflags));
+extern int regexec
+  _RE_ARGS ((regex_t *preg, char *string, size_t nmatch,
+             regmatch_t pmatch[], int eflags));
+extern size_t regerror
+  _RE_ARGS ((int errcode, regex_t *preg, char *errbuf,
+             size_t errbuf_size));
+extern void regfree _RE_ARGS ((regex_t *preg));
+
+#endif /* not __REGEXP_LIBRARY_H__ */
+

+/*
+Local variables:
+make-backup-files: t
+version-control: t
+trim-versions-without-asking: nil
+End:
+*/
diff --git a/instman.pl b/instman.pl
new file mode 100644
index 0000000..0239705
--- /dev/null
+++ b/instman.pl
@@ -0,0 +1,23 @@
+#! /usr/bin/perl
+
+# Sean Eddy, Wed Jul 29 15:24:43 1992
+
+# instman - "cp" replacement for formatting and installing man pages
+#           Requires that GNU groff is installed: geqn, gtbl, groff.
+#
+# Usage:  instman <man-formatted file> <destination for formatted file>
+#
+
+
+$usage = "Usage: instman <infile> <outfile>\n  where <infile> is a man-formatted input file,\n  and <outfile> is the name to store the formatted file under\n  (such as /usr/catman/local/cat1/foo)\n";
+
+if ($#ARGV != 1) { die "Incorrect argument number.\n$usage"; } 
+$man  = shift(@ARGV);	
+$dest = shift(@ARGV);
+print "Reading $man, installing as $dest\n";
+
+die "Error: can't read $man.\n$usage" unless -r $man;
+die "Error: can't write $dest.\n$usage" unless -w $man;
+die "Error: $dest is a directory, not a file name\n$usage" if -d $dest;
+
+system "geqn $man | gtbl | groff -man -Tascii > $dest";
diff --git a/interleaved.c b/interleaved.c
new file mode 100644
index 0000000..d0640f5
--- /dev/null
+++ b/interleaved.c
@@ -0,0 +1,509 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* interleaved.c 
+ * I/O of interleaved format multiple alignments. 
+ * Modified from selex.c
+ * 
+ * Fri Dec  4 17:43:24 1992, SRE:
+ * Reading and writing aligned sequences to/from disk files.
+ * Implements a new, broader specification of SELEX format
+ * and supercedes alignio.c.
+ *
+ * SRE, Tue Nov  9 17:40:50 1993: 
+ * major revision. #= special comments and aliinfo_s optional
+ * alignment info support added. Support for #=CS (consensus
+ * secondary structure), #=SS (individual secondary structure),
+ * #=RF (reference coordinate system), #=SQ (per-sequence header info),
+ * and #=AU ("author") added.
+ *
+ * SRE, Mon Jan 30 14:41:49 1995:
+ * #=SA side chain % surface accessibility annotation supported
+ * 
+ * SRE, Mon Sep 11 09:20:08 1995
+ * selex.c generalized and simplified to make interleaved.c
+ * 
+ * SELEX format is documented in Docs/formats.tex.
+ ****************************************************************************
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <memory.h>
+#include <unistd.h>		/* SunOS 4.x isn't fully ANSI-compliant. */
+#include "squid.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+
+static void homogenize_gapsym(char *s, char gapsym);
+static int  copy_alignment_line(char *aseq, int apos, int name_rcol, 
+				char *buffer, int lcol, int rcol);
+static char commentsyms[] = "#%";
+
+
+
+/* Function: homogenize_gapsym()
+ * 
+ * Purpose:  Make gap symbols homogeneous.
+ */
+static void 
+homogenize_gapsym(char *s, char gapsym)
+{
+  for (; *s != '\0'; s++)
+    if (isgap(*s)) *s = gapsym; 
+}
+      
+
+/* Function: copy_alignment_line()
+ * 
+ * Purpose:  Given a line from an alignment file, and bounds lcol,rcol
+ *           on what part of it may be sequence, save the alignment into
+ *           aseq starting at position apos.
+ *           
+ *           name_rcol is set to the rightmost column this aseqs's name
+ *           occupies; if name_rcol >= lcol, we have a special case in
+ *           which the name intrudes into the sequence zone.
+ */
+static int
+copy_alignment_line(char *aseq, int apos, int name_rcol, 
+		    char *buffer, int lcol, int rcol)
+{
+  char *s1, *s2;
+  int   i;
+  
+  s1 = aseq + apos;
+  s2 = buffer;			/* be careful that buffer doesn't end before lcol! */
+  for (i = 0; i < lcol; i++)
+    if (*s2) s2++;
+
+  for (i = lcol; i <= rcol; i++)
+    {
+      if (*s2 == '\t') {
+	Warn("TAB characters will corrupt a SELEX alignment! Please remove them first.");
+	return 0;
+      }
+
+      if (name_rcol >= i)                  *s1 = '.'; /* name intrusion: pad left w/ gaps */
+      else if (*s2 == '\0' || *s2 == '\n') *s1 = '.'; /* short buffer: pad right w/ gaps  */
+      else			           *s1 = *s2; /* normal: copy buffer into aseq */
+
+      s1++;
+      if (*s2) s2++;
+    }
+  return 1;
+}
+
+
+
+/* Function: is_blankline()
+ * 
+ * Return TRUE if line is all whitespace.
+ */
+static int
+is_blankline(char *buffer)
+{
+  for (; *buffer != '\0'; buffer++) if (! isspace(*buffer)) return 0;
+  return 1;
+}
+
+
+/* CLUSTALV and CLUSTALW support
+ * 
+ * parse_header() and is_dataline() functions for ClustalV and ClustalW
+ * interleaved multiple alignment format
+ */
+/*ARGSUSED*/
+static int
+parse_clustal(FILE *fp, AINFO *ainfo, int *got_sqinfo)
+{
+  char buffer[LINEBUFLEN];
+
+  do {
+    if (fgets(buffer, LINEBUFLEN, fp) == NULL) { squid_errno = SQERR_FORMAT; return 0; }
+  } while (strncmp(buffer, "CLUSTAL ", 8) != 0 ||
+	   strstr(buffer, "multiple sequence alignment") == NULL);
+
+  *got_sqinfo = FALSE;
+  return 1;
+}
+static int 
+dataline_clustal(char *buf, char *expected_name) 
+{
+  while (*buf && isspace(*buf)) buf++;
+  if (*buf == '\0' || strchr(commentsyms, *buf) != NULL) 
+    return 0;			/* blank or comment */
+  if (expected_name != NULL && strncmp(buf, expected_name, strlen(expected_name) == 0))
+    return 1;			/* matches expected seq name */
+  for (; *buf != '\0'; buf++)
+    {				/* Clustal has no coord lines to worry about */
+      if (*buf == '*' || *buf == '.') continue;   /* possible consensus line */
+      if (isalnum(*buf))              return 1;   /* name or seq character   */
+      if (*buf != ' ' && isgap(*buf)) return 1;   /* possible all-gap line   */
+    }
+  return 0;
+}
+
+
+/* GCG MSF support
+ * 
+ * parse_header() and is_dataline() routines for GCG MSF alignments
+ */
+static int 
+parse_MSF(FILE *fp, AINFO *ainfo, int *got_sqinfo)
+{
+  char buffer[LINEBUFLEN];
+  char *sptr;
+  int  nseq;
+  
+  /* Get first dividing line. MSF format specifies ints after MSF: and Check:
+   * but we don't make sure of this 
+   */
+  do {
+    if (fgets(buffer, LINEBUFLEN, fp) == NULL) { squid_errno = SQERR_FORMAT; return 0; }
+  } while (strstr(buffer, " MSF: ") == NULL ||
+	   strstr(buffer, " Check: ") == NULL ||
+	   strstr(buffer, " ..") == NULL);
+
+  /* Get names, weight from header
+   */
+  nseq = 0;
+  /*CONSTCOND*/
+  while (1) 
+    {
+      if (fgets(buffer, LINEBUFLEN, fp) == NULL) { squid_errno = SQERR_FORMAT; return 0; }
+      if (is_blankline(buffer)) continue; 
+      if (strncmp(buffer, "//", 2) == 0) break;
+
+      sptr = strtok(buffer, WHITESPACE);
+      if (sptr == NULL || strcmp(sptr, "Name:") != 0 || strstr(sptr+5, "Weight:") != 0)
+	{ squid_errno = SQERR_FORMAT; return 0; }
+      
+      if (nseq == 0)  ainfo->sqinfo = (SQINFO *) malloc (sizeof(SQINFO));
+      else  ainfo->sqinfo = (SQINFO *) realloc (ainfo->sqinfo, (nseq + 1) * sizeof(SQINFO));
+      if (ainfo->sqinfo == NULL) { squid_errno = SQERR_MEM; return 0; }
+      ainfo->sqinfo[nseq].flags = 0;
+      
+      if ((sptr = strtok(NULL, WHITESPACE)) == NULL) {squid_errno=SQERR_FORMAT; return 0; }
+      SetSeqinfoString(&(ainfo->sqinfo[nseq]), sptr, SQINFO_NAME);
+
+      while (sptr != NULL && strcmp(sptr, "Weight:") != 0) sptr = strtok(NULL, WHITESPACE);
+      if ((sptr = strtok(NULL, WHITESPACE)) == NULL) {squid_errno=SQERR_FORMAT; return 0; }
+      SetSeqinfoString(&(ainfo->sqinfo[nseq]), sptr, SQINFO_WGT);
+      
+      nseq++;
+    }
+
+  *got_sqinfo = TRUE;
+  return 1;
+}
+static int
+dataline_MSF(char *buf, char *expected_name)
+{
+  while (*buf && isspace(*buf)) buf++;
+  if (*buf == '\0' || strchr(commentsyms, *buf) != NULL) 
+    return 0;			/* blank or comment */
+  if (expected_name != NULL && strncmp(buf, expected_name, strlen(expected_name) == 0))
+    return 1;			/* matches expected seq name */
+  for (; *buf != '\0'; buf++)
+    {				/* MSF has coordinate lines to worry about */
+      if (isspace(*buf))              continue;   /* no info from spaces     */
+      if (isalpha(*buf)||isgap(*buf)) return 1;   /* has data on it          */
+    }
+  return 0;
+}
+
+
+
+/* Function: ReadInterleaved()
+ * 
+ * Purpose:  Read multiple aligned sequences from the file seqfile.
+ *           Store aligned sequences in aseqs, names in names, and
+ *           the number of sequences in num. 
+ * 
+ *           Memory is allocated for aseqs and names, and they must be
+ *           free'd by the caller.
+ * 
+ *           If optional information is desired, a non-NULL ainfo
+ *           pointer is passed. 
+ * 
+ * Args:     seqfile:        name of alignment file to read.
+ *           parse_header(): routine to parse the header of the file
+ *           is_dataline():  routine to determine if a line contains data
+ *           ret_aseqs:      RETURN: 2D array of aligned sequences
+ *           ret_anum:       RETURN: number of aligned sequences
+ *           ainfo:          RETURN: optional alignment information
+ *
+ * Returns 1 on success. Returns 0 on failure and sets
+ * squid_errno to indicate the cause of the failure.
+ */
+int
+ReadInterleaved(char *seqfile, 
+		int (*parse_header)(FILE *, AINFO *, int *),
+		int (*is_dataline)(char *, char *),
+		char ***ret_aseqs, int *ret_num, AINFO *ainfo)
+{
+  FILE    *fp;                  /* ptr to opened seqfile        */
+  char   **aseqs;               /* aligned seqs                 */
+  int      nseq;		/* number of seqs read          */
+  char     buffer[LINEBUFLEN];	/* input buffer for lines       */
+  char     bufcpy[LINEBUFLEN];	/* copy of buffer for strtok    */
+  struct block_struc {          /** alignment data for a block: */
+    int lcol;			/* furthest left aligned sym    */
+    int rcol;			/* furthest right aligned sym   */
+  } *blocks;
+  int      blocknum;		/* number of blocks in file     */
+  char    *sptr;                /* ptr into line during parsing */
+  int      currblock;		/* index for blocks             */
+  int      seqidx;		/* counter for seqs             */
+  int      alen;                /* length of alignment          */
+  int      warn_names;          /* becomes TRUE if names don't match between blocks */
+  int      currlen;
+  int      count;
+  int      inblock;		/* TRUE if in a block of data   */
+  long     offset;		/* used for skipping header     */
+  int      got_sqinfo;		/* TRUE if header gave us sqinfo */
+
+  /***************************************************
+   * Parse the header of the file, according to caller-supplied function.
+   * The parser is responsible for making sure there are
+   * no non-comment lines before the first block. Comment
+   * or blank lines are OK. The parser may also fill fields
+   * into ainfo.
+   ***************************************************/
+				/* open the file for reading */
+  fp = fopen(seqfile, "r");
+  if (fp == NULL) { squid_errno = SQERR_NOFILE; return 0; }
+
+  if (! (*parse_header) (fp, ainfo, &got_sqinfo)) return 0;
+  offset = ftell(fp);		/* where are we in the file? */
+
+  /***************************************************
+   * First pass across file. 
+   * Count seqs, get names, determine column info
+   ***************************************************/
+  ainfo->flags = 0;
+
+  blocknum   = 0;
+  nseq       = 0;
+  inblock    = FALSE;
+  blocks     = NULL;
+  warn_names = FALSE;
+  while (!feof(fp))
+    {
+				/* allocate for info about this block. */
+      if (blocknum == 0)
+	blocks = (struct block_struc *) malloc  (sizeof(struct block_struc));
+      else 
+	blocks = (struct block_struc *) realloc (blocks, (blocknum+1) * sizeof(struct block_struc));
+      if (blocks == NULL) { squid_errno = SQERR_MEM; return 0; }
+      blocks[blocknum].lcol = LINEBUFLEN+1;
+      blocks[blocknum].rcol = -1;
+	
+      seqidx = 0;
+      /*CONSTCOND*/
+      while (1)			/* breaks out when blank line or EOF is hit, see below */
+      {
+				/* get a data line */
+	do
+	  {
+	    if (fgets(buffer, LINEBUFLEN, fp) == NULL) goto BREAKOUT;
+	    if (inblock && is_blankline(buffer))       goto BREAKOUT;
+	  } while (! (*is_dataline)(buffer, 
+				    (got_sqinfo || (seqidx < nseq && blocknum > 0)) ?
+				    ainfo->sqinfo[seqidx].name : NULL));
+
+				/* copy line for strtok'ing. set sptr to first word */
+	inblock = TRUE;
+	strcpy(bufcpy, buffer);
+	sptr = strtok(bufcpy, WHITESPACE);
+
+				/* First block only: save names */
+	if (blocknum == 0 && !got_sqinfo)
+	  {
+	    if (seqidx == 0)  ainfo->sqinfo = (SQINFO *) malloc (sizeof(SQINFO));
+	    else  ainfo->sqinfo = (SQINFO *) realloc (ainfo->sqinfo, (seqidx + 1) * sizeof(SQINFO));
+	    if (ainfo->sqinfo == NULL) { squid_errno = SQERR_MEM; return 0; }
+
+	    ainfo->sqinfo[seqidx].flags = 0;
+	    SetSeqinfoString(&(ainfo->sqinfo[seqidx]), sptr, SQINFO_NAME);
+	  }
+	else			/* in each additional block: check names */
+	  {
+	    if (strcmp(ainfo->sqinfo[seqidx].name, sptr) != 0)
+	      warn_names = TRUE;
+	  }
+	seqidx++;		/* bump sequence counter */
+
+
+				/* check rcol, lcol */
+	if ((sptr = strtok(NULL, WHITESPACE)) != NULL)
+	  {
+				/* is this the furthest left we've
+				   seen word 2 in this block? */
+	    if (sptr - bufcpy < blocks[blocknum].lcol) 
+	      blocks[blocknum].lcol = sptr - bufcpy;
+				/* look for right side in buffer */
+	    for (sptr = buffer + strlen(buffer) - 1; isspace(*sptr); sptr --)
+	      /* do nothing */ ;
+	    if (sptr - buffer > blocks[blocknum].rcol)
+	      blocks[blocknum].rcol = sptr - buffer;
+	  }
+      }
+
+				/* check that number of sequences matches expected */
+    BREAKOUT:
+      if (inblock) {
+	if (blocknum != 0 && seqidx != nseq) 
+	  { squid_errno = SQERR_FORMAT; return 0; }
+	nseq = seqidx;
+	blocknum++;
+	inblock = FALSE;
+      }
+    }
+
+  
+  /***************************************************
+   * Get ready for second pass:
+   *   figure out the length of the alignment
+   *   malloc space
+   *   rewind the file
+   ***************************************************/
+
+
+  alen = 0;
+  for (currblock = 0; currblock < blocknum; currblock++)
+    alen += blocks[currblock].rcol - blocks[currblock].lcol + 1;
+
+  fseek(fp, offset, SEEK_SET);	/* rewind to first data block */
+
+  /* allocations
+   */
+  if ((aseqs     = (char **) malloc (nseq * sizeof(char *))) == NULL)
+    { squid_errno = SQERR_MEM; return 0; }
+  for (seqidx = 0; seqidx < nseq; seqidx++)
+    if ((aseqs[seqidx] = (char *) malloc ((alen+1) * sizeof(char))) == NULL)
+      { squid_errno = SQERR_MEM; return 0; }
+  ainfo->alen   = alen;
+  ainfo->flags |= AINFO_ALEN;
+
+  /***************************************************
+   * Second pass across file. Parse alignment
+   ***************************************************/
+  /* We've now made a complete first pass over the file. We know how
+   * many blocks it contains, we know the number of seqs in the first
+   * block, and we know every block has the same number of blocks;
+   * so we can be a bit more cavalier about error-checking as we
+   * make the second pass.
+   */
+
+  currlen = 0;
+  for (currblock = 0 ; currblock < blocknum; currblock++)
+    {
+      for (seqidx = 0; seqidx < nseq; seqidx++)
+	{
+				/* get next line */
+	  do {
+	    if (fgets(buffer, LINEBUFLEN, fp) == NULL) 
+	      { squid_errno = SQERR_FORMAT; return 0; }
+	  } while (! (*is_dataline)(buffer, ainfo->sqinfo[seqidx].name));
+
+				/* find right boundary of name */
+	  sptr = buffer;
+	  while (*sptr && isspace(*sptr))  sptr++;
+	  while (*sptr && !isspace(*sptr)) sptr++; 
+
+				/* parse line */
+	  if (! copy_alignment_line(aseqs[seqidx], currlen, sptr - buffer,
+				    buffer, blocks[currblock].lcol, 
+				    blocks[currblock].rcol))
+	    { squid_errno = SQERR_FORMAT; return 0; }
+      }
+      currlen += blocks[currblock].rcol - blocks[currblock].lcol + 1;
+    } 
+
+				/* NULL-terminate all the strings */
+  for (seqidx = 0; seqidx < nseq; seqidx++)
+    {
+      aseqs[seqidx][alen]            = '\0';
+      homogenize_gapsym(aseqs[seqidx], (char) '.');
+    }
+
+				/* find raw sequence lengths for sqinfo */
+  for (seqidx = 0; seqidx < nseq; seqidx++)
+    {
+      count = 0;
+      for (sptr = aseqs[seqidx]; *sptr != '\0'; sptr++)
+	if (!isgap(*sptr)) count++;
+      ainfo->sqinfo[seqidx].len    = count;
+      ainfo->sqinfo[seqidx].flags |= SQINFO_LEN;
+    }
+
+				/* tidy up the alignment */
+  MingapAlignment(aseqs, nseq, ainfo);
+
+  /***************************************************
+   * Garbage collection and return
+   ***************************************************/
+  fclose(fp);
+  free(blocks);
+
+  if (warn_names) 
+    Warn("sequences may be in different orders in blocks of %s?", seqfile);
+
+  *ret_num   = nseq;
+  *ret_aseqs = aseqs;
+  return 1;
+}
+
+
+
+/* Function: ReadAlignment()
+ * 
+ * Purpose:  Given a seqfile name and format, hand it off to appropriate
+ *           parser.
+ *           
+ *           Currently, squid can parse alignments from the following
+ *           multiple sequence alignment formats:
+ *               MSF     (U. of Wisconsin GCG package MSF format)
+ *               SELEX   (NeXagen/CU Boulder SELEX format)
+ *               CLUSTAL (Des Higgins' CLUSTALV and CLUSTALW programs)
+ *               
+ * Return:   1 on success; 0 on failure.
+ *           Returned data should be freed by caller with FreeAlignment()
+ */
+int
+ReadAlignment(char             *seqfile, 
+	      int               format,
+	      char           ***ret_aseqs,
+	      int              *ret_num,
+	      struct aliinfo_s *ret_ainfo)
+{
+  switch (format) {
+  case kMSF: 
+    if (! ReadInterleaved(seqfile, parse_MSF, dataline_MSF, ret_aseqs, ret_num, ret_ainfo)) 
+      return 0;
+    break;
+  case kSelex:
+    if (! ReadSELEX(seqfile, ret_aseqs, ret_num, ret_ainfo)) 
+      return 0;
+    break;
+  case kClustal: 
+    if (! ReadInterleaved(seqfile, parse_clustal, dataline_clustal, 
+			  ret_aseqs, ret_num, ret_ainfo)) 
+      return 0;
+    break;
+  default: squid_errno = SQERR_FORMAT; return 0;
+  }
+  return 1;
+}
diff --git a/iupac.c b/iupac.c
new file mode 100644
index 0000000..acde7ce
--- /dev/null
+++ b/iupac.c
@@ -0,0 +1,197 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* iupac.c
+ * 
+ * Globally defines the IUPAC symbols for nucleic acid sequence
+ * Slowly evolving into a repository of globals. Tue Apr 20 1993
+ */
+#include "squid.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+char squid_version[] = "1.5g";
+char squid_date[]    = "March 1996";
+
+/* Dayhoff f(i) amino acid occurrence frequencies. From BLAST 1.0.5, NCBI.
+ * In alphabetic order by single-letter code.
+ */
+float aafq[20] = {
+  .08713, .03347, .04687, .04953, .03977, .08861, .03362, .03689, .08048, .08536, 
+  .01475, .04043, .05068, .03826, .04090, .06958, .05854, .06472, .01049, .02992
+};
+
+char aa_alphabet[] = AMINO_ALPHABET;
+				/* aa_index converts to pam's 27x27 scheme */
+int  aa_index[20]  = { 0,  2,  3,  4,  5,  6,  7,  8, 10, 11, 
+	              12, 13, 15, 16, 17, 18, 19, 21, 22, 24 };
+
+				/* IUPAC code translations */
+				/* note: sequence chars are UPPER CASE */
+struct iupactype iupac[] = {
+  { 'A', 'T', NTA, NTT, },
+  { 'C', 'G', NTC, NTG, },
+  { 'G', 'C', NTG, NTC, },
+  { 'T', 'A', NTT, NTA, },
+  { 'U', 'A', NTU, NTA, },
+  { 'N', 'N', NTN, NTN, },
+  { ' ', ' ', NTGAP, NTGAP, },
+  { 'R', 'Y', NTR, NTY, },
+  { 'Y', 'R', NTY, NTR, },
+  { 'M', 'K', NTM, NTK, },
+  { 'K', 'M', NTK, NTM, },
+  { 'S', 'S', NTS, NTS, },
+  { 'W', 'W', NTW, NTW, },
+  { 'H', 'D', NTH, NTD, },
+  { 'B', 'V', NTB, NTV, },
+  { 'V', 'B', NTV, NTB, },
+  { 'D', 'H', NTD, NTH, },
+  };
+
+
+char *stdcode1[65] = {
+  "K",				/* AAA */
+  "N",				/* AAC */
+  "K",				/* AAG */
+  "N",				/* AAU */
+  "T",				/* ACA */
+  "T",				/* ACC */
+  "T",				/* ACG */
+  "T",				/* ACU */
+  "R",				/* AGA */
+  "S",				/* AGC */
+  "R",				/* AGG */
+  "S",				/* AGU */
+  "I",				/* AUA */
+  "I",				/* AUC */
+  "M",				/* AUG */
+  "I",				/* AUU */
+  "Q",				/* CAA */
+  "H",				/* CAC */
+  "Q",				/* CAG */
+  "H",				/* CAU */
+  "P",				/* CCA */
+  "P",				/* CCC */
+  "P",				/* CCG */
+  "P",				/* CCU */
+  "R",				/* CGA */
+  "R",				/* CGC */
+  "R",				/* CGG */
+  "R",				/* CGU */
+  "L",				/* CUA */
+  "L",				/* CUC */
+  "L",				/* CUG */
+  "L",				/* CUU */
+  "E",				/* GAA */
+  "D",				/* GAC */
+  "E",				/* GAG */
+  "D",				/* GAU */
+  "A",				/* GCA */
+  "A",				/* GCC */
+  "A",				/* GCG */
+  "A",				/* GCU */
+  "G",				/* GGA */
+  "G",				/* GGC */
+  "G",				/* GGG */
+  "G",				/* GGU */
+  "V",				/* GUA */
+  "V",				/* GUC */
+  "V",				/* GUG */
+  "V",				/* GUU */
+  "*",				/* UAA */
+  "Y",				/* UAC */
+  "*",				/* UAG */
+  "Y",				/* UAU */
+  "S",				/* UCA */
+  "S",				/* UCC */
+  "S",				/* UCG */
+  "S",				/* UCU */
+  "*",				/* UGA */
+  "C",				/* UGC */
+  "W",				/* UGG */
+  "C",				/* UGU */
+  "L",				/* UUA */
+  "F",				/* UUC */
+  "L",				/* UUG */
+  "F",				/* UUU */
+  "X",				/* unknown */
+};
+
+
+
+
+char *stdcode3[65] = {
+  "Lys",			/* AAA */
+  "Asn",			/* AAC */
+  "Lys",			/* AAG */
+  "Asn",			/* AAU */
+  "Thr",			/* ACA */
+  "Thr",			/* ACC */
+  "Thr",			/* ACG */
+  "Thr",			/* ACU */
+  "Arg",			/* AGA */
+  "Ser",			/* AGC */
+  "Arg",			/* AGG */
+  "Ser",			/* AGU */
+  "Ile",			/* AUA */
+  "Ile",			/* AUC */
+  "Met",			/* AUG */
+  "Ile",			/* AUU */
+  "Gln",			/* CAA */
+  "His",			/* CAC */
+  "Gln",			/* CAG */
+  "His",			/* CAU */
+  "Pro",			/* CCA */
+  "Pro",			/* CCC */
+  "Pro",			/* CCG */
+  "Pro",			/* CCU */
+  "Arg",			/* CGA */
+  "Arg",			/* CGC */
+  "Arg",			/* CGG */
+  "Arg",			/* CGU */
+  "Leu",			/* CUA */
+  "Leu",			/* CUC */
+  "Leu",			/* CUG */
+  "Leu",			/* CUU */
+  "Glu",			/* GAA */
+  "Asp",			/* GAC */
+  "Glu",			/* GAG */
+  "Asp",			/* GAU */
+  "Ala",			/* GCA */
+  "Ala",			/* GCC */
+  "Ala",			/* GCG */
+  "Ala",			/* GCU */
+  "Gly",			/* GGA */
+  "Gly",			/* GGC */
+  "Gly",			/* GGG */
+  "Gly",			/* GGU */
+  "Val",			/* GUA */
+  "Val",			/* GUC */
+  "Val",			/* GUG */
+  "Val",			/* GUU */
+  "***",			/* UAA */
+  "Tyr",			/* UAC */
+  "***",			/* UAG */
+  "Tyr",			/* UAU */
+  "Ser",			/* UCA */
+  "Ser",			/* UCC */
+  "Ser",			/* UCG */
+  "Ser",			/* UCU */
+  "***",			/* UGA */
+  "Cys",			/* UGC */
+  "Trp",			/* UGG */
+  "Cys",			/* UGU */
+  "Leu",			/* UUA */
+  "Phe",			/* UUC */
+  "Leu",			/* UUG */
+  "Trp",			/* UUU */
+  "XXX",			/* unknown */
+};
diff --git a/konings.c b/konings.c
new file mode 100644
index 0000000..e46deec
--- /dev/null
+++ b/konings.c
@@ -0,0 +1,324 @@
+/* konings.c
+ * 1.0: SRE, Wed Jul  7 08:53:37 1993
+ * adapted for 2.0: SRE, Thu Sep  9 13:38:13 1993
+ * 
+ * Representation of secondary structure and secondary structural 
+ * alignments using Danielle Konings' string notation, and Hogeweg's
+ * mountain notation.
+ * 
+ * See: Konings and Hogeweg, J. Mol. Biol. 207:597-614 1989
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+
+/* Function: Align2kh()
+ * 
+ * Purpose:  Convert an alignment (align_s linked list) into
+ *           a secondary structure string. The symbols used
+ *           are > and < for the two sides of a MATP; '.' 
+ *           for other symbols.
+ * 
+ *           Also may return the "aligned" sequence; this 
+ *           sequence is only aligned in the sense that deleted
+ *           consensus positions are represented as '.'
+ *           and insert positions are lower case.
+ *
+ *           Either ret_aseq or ret_khseq may be passed as NULL
+ *           if you don't want one of them.
+ */
+int
+Align2kh(struct align_s  *ali,
+	 char           **ret_aseq,
+	 char           **ret_khseq)
+{
+  struct align_s *curr;         /* ptr into alignment list     */
+  char           *aseq;         /* RETURN: aligned seq         */
+  char           *khseq;        /* RETURN: structure string    */
+  int             len;		/* length of alignment, khseq  */
+  int             pos;		/* position in khseq           */
+
+  
+  /* Count the length of the list and malloc for khseq.
+   */
+  len = 0;
+  for (curr = ali->nxt; curr->nxt != NULL; curr = curr->nxt)
+    len++;
+  if ((khseq = (char *) malloc ((len+1) * sizeof(char))) == NULL ||
+      (aseq  = (char *) malloc ((len+1) * sizeof(char))) == NULL)
+    Die("Memory allocation failed, line %d of %s", __LINE__, __FILE__);
+
+  /* This used to be harder. Now align_s already has a field for
+   * secondary structure annotation, and we just have to copy it.
+   */
+  pos  = 0;
+  for (curr = ali->nxt; curr->nxt != NULL; curr = curr->nxt)
+    {
+      switch (curr->type) 
+	{
+	case uBEGIN_ST:
+	case uBIFURC_ST:
+	  break;		/* neither should appear in an align_s! */
+
+	case uDEL_ST:  
+	  khseq[pos] = ' ';       
+	  aseq[pos] = '-';                    
+	  break;
+
+	case uINSL_ST: 
+        case uINSR_ST: 
+	  khseq[pos] = curr->ss;  
+	  aseq[pos] = sre_tolower(curr->sym);
+	  break;
+
+        case uMATL_ST: 
+        case uMATR_ST: 
+	case uMATP_ST: 
+	  khseq[pos] = curr->ss;  
+	  aseq[pos] = sre_toupper(curr->sym); 
+	  break;
+
+	default:
+	  Die("unrecognized state type %d in Align2kh()", curr->type);
+	}
+      pos++;
+    }
+      
+  khseq[pos] = '\0';
+  aseq[pos]  = '\0';
+
+  if (ret_khseq == NULL) free(khseq); else *ret_khseq = khseq;
+  if (ret_aseq  == NULL) free(aseq);  else *ret_aseq  = aseq;
+  return 1;
+}
+
+
+
+
+/* Function: PrintAliLandscape()
+ * 
+ * Purpose:  Print an alignment of sequence to model in the form 
+ *           of a Konings/Hogeweg "mountain".
+ */
+int
+PrintAliLandscape(FILE           *fp, 
+		  struct cm_s    *cm,
+		  struct align_s *ali)
+{
+  int   altitude;		/* current height on the mountain */
+  struct align_s *curr;         /* ptr to current ali element     */
+  struct align_s *prev;         /* ptr to previous ali element    */
+  int   i;
+
+  altitude = 0;
+  prev     = NULL;
+  for (curr = ali->nxt; curr->nxt != NULL; curr = curr->nxt)
+    {
+      if (curr->pos >= 0)
+	fprintf(fp, "%4d  %c ", curr->pos+1, curr->sym);
+      else
+	fprintf(fp, "      %c ", curr->sym);
+
+      for (i = 0; i < altitude; i++)
+	fputc(' ', fp);
+      
+      switch (curr->type) 
+	{
+	case uBEGIN_ST:
+	case uBIFURC_ST: break;
+	case uDEL_ST:    fputs("   DEL ", fp);  break;
+	case uINSL_ST:   fputs("`  INSL", fp);  break;
+        case uINSR_ST:   fputs("\'  INSR", fp); break;
+	case uMATL_ST:   fputs("\\  MATL", fp); break;
+	case uMATR_ST:   fputs("/  MATR", fp);  break;
+
+	case uMATP_ST: 
+	  if (prev == NULL || curr->nodeidx > prev->nodeidx)
+	    {
+	      fputs(" v  MATP", fp);
+	      altitude++;
+	    }
+	  else
+	    {
+	      fputs("^  MATP", fp);
+	      altitude--;
+	    }
+	  break;
+
+	  
+	default:
+	  Die("unrecognized state type %d in PrintAliLandscape()", curr->type);
+	}
+
+      printf("  %d\n", curr->nodeidx);
+      prev = curr;
+    }
+
+  return 1;
+}
+    
+  
+
+/* Function: Trace2KHS()
+ * 
+ * Purpose:  From a traceback tree of seq, produce a
+ *           secondary structure string. ">" and "<" are
+ *           used for pairwise emissions; "." for single-stranded stuff.
+ *           Note that structure is defined by pairwise emissions,
+ *           not by Watson-Crick-isms and stacking rules.
+ *           
+ * Args:     tr          - traceback structure
+ *           seq         - sequence, 0..rlen-1
+ *           rlen        - length of seq and returned ss string
+ *           watsoncrick - TRUE to annotate canonical pairs only
+ *           ret_ss      - RETURN: alloc'ed secondary structure string
+ *
+ * Return:   ret_ss contains a string 0..rlen-1 containing the
+ *           secondary structure. Must be free'd by caller.
+ */
+void
+Trace2KHS(struct trace_s *tr, char *seq, int rlen, int watsoncrick, 
+          char **ret_ss)  
+{
+  struct tracestack_s *dolist;
+  struct trace_s      *curr;
+  char                *ss;
+
+  if ((ss = (char *) malloc (sizeof(char) * rlen+1)) == NULL)
+    Die("malloc failed");
+  memset(ss, '.', rlen);
+  ss[rlen] = '\0';
+
+  dolist = InitTracestack();
+  PushTracestack(dolist, tr->nxtl);
+
+  while ((curr = PopTracestack(dolist)) != NULL)
+    {
+      if ( curr->type      == uMATP_ST )
+	{
+	  if (! watsoncrick  ||
+	      IsRNAComplement(seq[curr->emitl], seq[curr->emitr], TRUE))
+	    {
+	      ss[curr->emitl] = '>';
+	      ss[curr->emitr] = '<';
+	    }
+	}
+
+      if (curr->nxtr) PushTracestack(dolist, curr->nxtr);
+      if (curr->nxtl) PushTracestack(dolist, curr->nxtl);
+    }
+  FreeTracestack(dolist);
+  *ret_ss = ss;
+}
+
+/* Function: IsRNAComplement()
+ * 
+ * Purpose:  Returns TRUE if sym1, sym2 are Watson-Crick complementary.
+ *           If allow_gu is TRUE, GU pairs also return TRUE.
+ */
+int
+IsRNAComplement(char sym1, char sym2, int allow_gu)
+{
+  sym1 = toupper(sym1);
+  sym2 = toupper(sym2);
+  if (sym1 == 'T') sym1 = 'U';
+  if (sym2 == 'T') sym2 = 'U';
+
+  if ((sym1 == 'A' && sym2 == 'U') ||
+      (sym1 == 'C' && sym2 == 'G') ||
+      (sym1 == 'G' && sym2 == 'C') ||
+      (sym1 == 'U' && sym2 == 'A') ||
+      (allow_gu && sym1 == 'G' && sym2 == 'U') ||
+      (allow_gu && sym1 == 'U' && sym2 == 'G'))
+    return TRUE;
+  else
+    return FALSE;
+}
+
+
+/* Function: KHS2ct()
+ * 
+ * Purpose:  Convert a secondary structure string to an array of integers
+ *           representing what position each position is base-paired 
+ *           to (0..len-1), or -1 if none. This is off-by-one from a
+ *           Zuker .ct file representation.
+ *           
+ *           The .ct representation can accomodate pseudoknots but the 
+ *           secondary structure string cannot easily; the string contains
+ *           "Aa", "Bb", etc. pairs as a limited representation of
+ *           pseudoknots. The string contains "><" for base pairs.
+ *           Other symbols are ignored. If allow_pseudoknots is FALSE,
+ *           the pseudoknot symbols will be ignored and these positions
+ *           will be treated as single stranded.
+ *           
+ * Return:   ret_ct is allocated here and must be free'd by caller.
+ *           Returns 1 on success, 0 if ss is somehow inconsistent.
+ */
+int 
+KHS2ct(char *ss, int len, int allow_pseudoknots, int **ret_ct)
+{
+  struct intstack_s *dolist[27];
+  int *ct;
+  int  i;
+  int  pos, pair;
+  int  status = 1;		/* success or failure return status */
+
+  for (i = 0; i < 27; i++)
+    dolist[i] = InitIntStack();
+
+  if ((ct = (int *) malloc (len * sizeof(int))) == NULL)
+    Die("malloc failed");
+  for (pos = 0; pos < len; pos++)
+    ct[pos] = -1;
+
+  for (pos = 0; ss[pos] != '\0'; pos++)
+    {
+      if (ss[pos] > 127) status = 0; /* bulletproof against SGI buggy ctype.h */
+
+      else if (ss[pos] == '>')	/* left side of a pair: push onto stack 0 */
+	PushIntStack(dolist[0], pos);
+      else if (ss[pos] == '<')	/* right side of a pair; resolve pair */
+	{
+	  if (! PopIntStack(dolist[0], &pair))
+	    { status = 0; }
+	  else
+	    {
+	      ct[pos]  = pair;
+	      ct[pair] = pos;
+	    }
+	}
+				/* same stuff for pseudoknots */
+      else if (allow_pseudoknots && isupper((int) ss[pos]))
+	PushIntStack(dolist[ss[pos] - 'A' + 1], pos);
+      else if (allow_pseudoknots && islower((int) ss[pos]))
+	{
+	  if (! PopIntStack(dolist[ss[pos] - 'a' + 1], &pair))
+	    { status = 0; }
+	  else
+	    {
+	      ct[pos]  = pair;
+	      ct[pair] = pos;
+	    }
+	}
+      else if (allow_pseudoknots && !isgap(ss[pos])) status = 0; /* bad character */
+    }
+
+  for (i = 0; i < 27; i++)
+    if ( FreeIntStack(dolist[i]) > 0)
+      status = 0;
+
+  *ret_ct = ct;
+  return status;
+}
+
+
diff --git a/lengthdist.c b/lengthdist.c
new file mode 100644
index 0000000..cbc56d5
--- /dev/null
+++ b/lengthdist.c
@@ -0,0 +1,200 @@
+/* lengthdist.c
+ * SRE, Fri Sep 30 09:51:14 1994
+ * 
+ * Calculate length distributions expected at each state.
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "squid.h"
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+#ifdef DEBUG
+#include <assert.h>
+#endif
+
+
+/* Function: LengthDistribution()
+ * 
+ * Purpose:  Given a covariance model, calculate the
+ *           length distribution that we expect each state
+ *           to be aligned to. Uses a full forward 
+ *           (summed probabilities) calculation.
+ *           
+ * Args:     cm      - covariance model (probability form)
+ *           N       - maximum length to look at.                 
+ *           ret_lmx - RETURN: (0..M-1) by (0..N) matrix of probabilities
+ *                     for states 0..M-1 emitting lengths of (0..N).
+ *                     
+ * Return:   (void)
+ *           ret_lmx is alloc'ed here. Free2DArray(*ret_lmx, M)
+ */
+void
+LengthDistribution(struct pstate_s *pcm, int statenum, int N, double ***ret_lmx)
+{
+  double **lmx;
+  int      y, len;
+  int      ynext;
+  int      mid;
+
+  /* Allocate the matrix for storing probability
+   * distributions.
+   */
+  lmx = (double **) MallocOrDie(statenum * sizeof(double *));
+  for (y = 0; y < statenum; y++)
+    lmx[y] = (double *) MallocOrDie ( (N+1) * sizeof(double));
+
+  /* Set whole thing to zero.
+   */
+  for (y = 0; y < statenum; y++)
+    for (len = 0; len <= N; len++)
+      lmx[y][len] = 0.0;
+
+  /* Initialize at length = 0.
+   */
+  for (y = statenum-1; y >= 0; y--)
+    switch (pcm[y].statetype) {
+    case uEND_ST:
+      lmx[y][0] = 1.0;
+      break;
+      
+    case uBIFURC_ST:
+      lmx[y][0] = lmx[y+1][0] * lmx[pcm[y].bifr][0];
+      break;
+      
+    case uDEL_ST:
+    case uBEGIN_ST:
+      for (ynext = 0; ynext < pcm[y].connectnum; ynext++)
+	lmx[y][0] += pcm[y].tmx[ynext] * lmx[y + pcm[y].offset + ynext][0];
+      break;
+    }
+
+
+  /* Recurse for lengths 1..N.
+   */
+  for (len = 1; len <= N; len++)
+    for (y = statenum-1; y >= 0; y--)
+      switch (pcm[y].statetype) {
+      case uEND_ST: 
+	break;
+
+      case uBIFURC_ST:
+	for (mid = 0; mid <= len; mid++)
+	  lmx[y][len] += lmx[y+1][mid] * lmx[pcm[y].bifr][len-mid];
+	break;
+      
+      case uDEL_ST:
+      case uBEGIN_ST:
+	for (ynext = 0; ynext < pcm[y].connectnum; ynext++)
+	  lmx[y][len] += pcm[y].tmx[ynext] * lmx[y + pcm[y].offset + ynext][len];
+	break;
+      
+      case uMATP_ST:
+	if (len > 1)
+	  for (ynext = 0; ynext < pcm[y].connectnum; ynext++)
+	    lmx[y][len] += pcm[y].tmx[ynext] * lmx[y + pcm[y].offset + ynext][len-2];
+	break;
+
+      case uMATR_ST:
+      case uMATL_ST:
+      case uINSL_ST:
+      case uINSR_ST:
+	for (ynext = 0; ynext < pcm[y].connectnum; ynext++)
+	  lmx[y][len] += pcm[y].tmx[ynext] * lmx[y + pcm[y].offset + ynext][len-1];
+	break;
+
+      default: Die("unrecognized state type %d", pcm[y].statetype);
+      }
+
+  *ret_lmx = lmx;
+  return;
+}
+
+
+
+/* Function: LengthBounds()
+ * 
+ * Purpose:  Takes the probability distributions produced by 
+ *           LengthDistribution() and produces a set of
+ *           minimum and maximum length bounds, within which
+ *           lies a specified amount of the probability.
+ *           
+ *           The algorithm is simple. Find the peak of the 
+ *           probability distribution and include it. Then
+ *           look left and right; choose whichever one is
+ *           higher P, and include it. Continue until the
+ *           included probability exceeds the target.
+ *           
+ * Args:     lmx:      probability distributions from LengthDistribution()
+ *           statenum: # of rows in lmx
+ *           N:        max length (lmx is [0..statenum-1[0..N])
+ *           epsilon:  target probability is 1.0 - epsilon.
+ *           ret_min:  RETURN: [0..statenum-1] array of minimum 
+ *                     lengths for each state
+ *           ret_max:  RETURN: [0..statenum-1] array of maximum 
+ *                     lengths for each state        
+ *                     
+ * Return:   (void)
+ *           ret_min, ret_max alloced here. free().
+ */                    
+void
+LengthBounds(double **lmx, int statenum, int N, double epsilon, 
+	     int **ret_min, int **ret_max)
+{
+  int *min, *max;
+  int y, len;
+  int cmin, cmax;		/* current min and max */
+  double best;
+  double p_remain;
+
+  min = (int *) MallocOrDie (sizeof(int) * statenum);
+  max = (int *) MallocOrDie (sizeof(int) * statenum);
+
+  for (y = 0; y < statenum; y++)
+    {
+				/* danger! assuming that N was large enough! */
+      DNorm(lmx[y], (N+1));
+
+				/* step 1. find peak */
+      best = lmx[y][0];
+      cmin = 0;
+      for (len = 1; len <= N; len++)
+	if (lmx[y][len] > best) { best = lmx[y][len]; cmin = len; }
+
+				/* that's where we start */
+      cmax     = cmin;
+      p_remain = 1.0 - lmx[y][cmin];
+
+				/* extend to find bounds */
+      while (p_remain > epsilon)
+	{
+	  if (cmin == 0 && cmax == N)
+	    break;
+/*
+	    Die("state %d distribution not within set bound of %d; %f remains\n",
+		 y, N, p_remain);
+*/
+	  else if (cmin == 0)	/* must look right */
+	    p_remain -= lmx[y][++cmax];
+	  else if (cmax == N)   /* must look left */
+	    p_remain -= lmx[y][--cmin];
+	  else			/* look left and right */
+	    {
+	      if (lmx[y][cmin-1] > lmx[y][cmax+1])
+		p_remain -= lmx[y][--cmin];
+	      else
+		p_remain -= lmx[y][++cmax];
+	    }
+	}
+      min[y] = cmin;
+      max[y] = cmax;
+    }
+  *ret_min = min;
+  *ret_max = max;
+}
diff --git a/maspar.h b/maspar.h
new file mode 100644
index 0000000..fef4017
--- /dev/null
+++ b/maspar.h
@@ -0,0 +1,10 @@
+/* Header file specifically for MasPar parallelized version
+ */
+
+/* These define's affect mpcovels.
+ */
+#define NYPROC    64	/* how many rows of processors (nyproc)             */
+#define BLOCKSIZE 128	/* size of sequence blocks sent to DPU              */
+#define VPENUM    3	/* # of virtual PE's per PE. N = NYPROC * VPENUM -1 */
+
+
diff --git a/maxmodelmaker.c b/maxmodelmaker.c
new file mode 100644
index 0000000..a6ace72
--- /dev/null
+++ b/maxmodelmaker.c
@@ -0,0 +1,1904 @@
+/* maxmodelmaker.c - maximum likelihood construction of a covariance model
+ * Tue Aug 31 14:54:35 1993
+ * 
+ * Given a multiple sequence alignment, construct the model
+ * which generates that alignment with maximal likelihood.
+ * Uses a dynamic programming algorithm to assign a score
+ * to the optimal subtree with a "root" node MATP, MATR, MATL,
+ * BEGINL, BEGINR, or BIFURC aligned to matrix cell i,j,
+ * where i and j are column and row positions in a multiple
+ * sequence alignment. The alignment of ROOT to i=0,j=N-1 is
+ * the score of the best model; a traceback from this point
+ * creates the optimal tree structure. The tree structure is
+ * explicitly aligned to the multiple sequence alignment,
+ * so it is trivial to estimate the parameters of the model.
+ * 
+ * 
+ * 
+ */
+
+#include <string.h>
+#include <stdlib.h>
+#include <math.h>
+#include "version.h"
+#include "structs.h"
+#include "funcs.h"
+
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+#define MAXINSERT 6		/* maximum INSL or INSR path length between MATP nodes */
+
+
+/* Structure maxmx_s
+ * 
+ * One per cell of the 2D diagonal matrix of the alignment
+ * against itself.
+ */
+struct maxmx_s {
+  int   sc[NODETYPES-1];	/* scores of assigning each possible node type */
+
+				/*** Traceback info:  */
+  short matp_i2;		/* matp assignment connects to node ftype at i2,j2 */
+  short matp_j2;
+  char  matp_ftype;
+  short matl_i2;		/* matl assignment connects to node ftype at i2,j  */
+  char  matl_ftype;
+  short matr_j2;		/* matr assignment connects to node ftype at i,j2  */
+  char  matr_ftype;
+  char  begl_ftype;		/* begl assignment connects to node ftype at i,j   */
+  short begr_i2;		/* begr assignment connects to node ftype at i2, j */
+  char  begr_ftype;
+  short bifurc_mid;		/* best bifurcation is into i,mid, mid+1,j */
+};
+  
+static struct maxmx_s **alloc_maxmx(int alen);
+static void init_maxmx(struct maxmx_s **mmx, int nseq, int alen,
+		       struct prior_s *prior, int *mscore, double *gapcount);
+static void recurse_maxmx(int **aseqsT, float *weights, int alen, int nseq, 
+			  struct prior_s *prior, int *mscore, double *gapcount,
+			  double gapthresh, struct maxmx_s **mmx);
+static void trace_maxmx(struct maxmx_s **mmx, int alen, struct trace_s **ret_mtr);
+static void transpose_alignment(char **aseqs, int alen, int nseq, int ***ret_aseqsT);
+static void singlet_emissions(int **aseqsT, float *weights, int alen,int nseq,
+			      struct prior_s *prior, int **ret_mscore, double **ret_gapcount);
+static int  pair_emissioncost(int *coli, int *colj,float *weights, int nseq, struct prior_s *prior);
+static void frommatp_transtable(int **aseqsT, float *weights, int nseq,
+				int i, int j, int i2, int j2, int *accum_insl,
+				int *accum_insr, 
+				double  trans[STATETYPES][STATETYPES]);
+static void frommatl_transtable(int **aseqsT, float *weights, int  nseq,
+				int i, int  j, int i2, int    *accum_insl,
+				double  trans[STATETYPES][STATETYPES]);
+static void frommatr_transtable(int **aseqsT, float *weights, int nseq, int i, 
+				int j, int j2, int *accum_insr, 
+				double  trans[STATETYPES][STATETYPES]);
+static void frombeginr_transtable(int **aseqsT, float *weights, int nseq,
+				  int j, int i2, int *accum_insl,
+				  double  trans[STATETYPES][STATETYPES]);
+static void frombeginl_transtable(int **aseqsT, float *weights, int nseq,
+				  int i, int j, double  trans[STATETYPES][STATETYPES]);
+static void fromroot_transtable(int **aseqsT, float *weights, int nseq, int i2,int j2,
+				int *accum_insl, int *accum_insr,
+				double  trans[STATETYPES][STATETYPES]);
+static int assign_cell(int i, int j, int symi, int symj);
+static void to_matp_transtable(double master_table[STATETYPES][STATETYPES],
+			       double trans[STATETYPES][STATETYPES]);
+static void to_matr_transtable(double master_table[STATETYPES][STATETYPES],
+			       double trans[STATETYPES][STATETYPES]);
+static void to_matl_transtable(double master_table[STATETYPES][STATETYPES],
+			       double trans[STATETYPES][STATETYPES]);
+static void to_bifurc_transtable(double master_table[STATETYPES][STATETYPES],
+				 double trans[STATETYPES][STATETYPES]);
+static int dot_score(double *cvec, double *pvec, int veclen);
+
+#ifdef DEBUG
+static void print_mmx(struct maxmx_s **mmx, int alen);
+static void print_assignments(struct trace_s *mtr, int nseq, int alen, double *gapcount);
+#endif
+
+/* MACROS: copy_transtable()
+ *         copy_singlet()
+ *         copy_pairwise()
+ *         
+ * For speed, we use memcpy() to do the operations, relying
+ * on the fact that C stores 2D arrays in 1D.
+ */
+#define copy_transtable(tomx, frommx) memcpy((void *) tomx, (void *) frommx, sizeof(double) * STATETYPES * STATETYPES)
+#define copy_singlet(tovec, fromvec)  memcpy((void *) tovec, (void *) fromvec, sizeof(double) * ALPHASIZE)
+#define copy_pairwise(tomx, frommx)   memcpy((void *) tomx, (void *) frommx, sizeof(double) * ALPHASIZE * ALPHASIZE)
+
+/* MACROS: zero_transtable()
+ *         zero_singlet()
+ *         zero_pairwise()
+ *         
+ * For speed, we use memset() to initialize, relying
+ * on the fact that C stores 2D arrays in 1D. Are doubles
+ * really eight 0 bytes when they're == 0.0?
+ */
+#define zero_transtable(mx) memset(mx,  (char) 0, sizeof(double) * STATETYPES * STATETYPES)
+#define zero_singlet(vec)   memset(vec, (char) 0, sizeof(double) * ALPHASIZE)
+#define zero_pairwise(mx)   memset(mx,  (char) 0, sizeof(double) * ALPHASIZE * ALPHASIZE)
+
+/* Function: Maxmodelmaker()
+ * 
+ * Purpose:  Create a maximally likely model structure from a multiple
+ *           sequence alignment.
+ *           
+ * Args:     aseqs       - flushed sequence alignment; each seq is 0..alen-1
+ *           ainfo       - information about the alignment
+ *           nseq        - number of sequences
+ *           gapthresh   - heuristic: fractional occupancy <= a column must be a MAT of some kind
+ *           prior       - prior probability distributions, and alphabet info
+ *           ret_ssinfo  - RETURN: total info content of the alignment (may pass NULL)
+ *           ret_cm      - RETURN: the new covariance model            (may pass NULL)
+ *           ret_mtr     - RETURN: master traceback for aseqs          (may pass NULL)
+ *           
+ * Return:   1 on success, 0 on failure. 
+ *           ret_cm is alloc'ed here and must be free'd by the caller.
+ */
+int
+Maxmodelmaker(char **aseqs, AINFO  *ainfo, int nseq, double gapthresh, struct prior_s *prior, 
+	      double *ret_ssinfo, struct cm_s **ret_cm, struct trace_s **ret_mtr)       
+{
+  int            **aseqsT;      /* transpose of alignment, [1..alen+1][0..nseq-1]    */
+  int             *mscore;      /* emission scores of single columns as MATR or MATL */
+  double          *gapcount;    /* weighted count of gap occurrence in each column   */
+  struct maxmx_s **mmx;         /* saved score and traceback pointer matrix          */
+  struct cm_s     *cm;          /* RETURN: new model                                 */
+  int              nodes;	/* size of new model in nodes                        */
+  struct trace_s  *mtr;         /* consensus master traceback                        */
+  struct trace_s  *tr;          /* individual "fake" traceback                       */
+  struct trmem_s  *pool;	/* memory pool for traceback                         */
+  int              idx;		/* counter for sequences                             */
+  float           *wt;		/* array of 0..nseq-1 weights                        */
+  double           ssinfo;      /* information content                               */
+
+  /* Set up an array of sequence weights
+   */
+  if ((wt = (float *) malloc (sizeof(float) * nseq)) == NULL)
+    Die("malloc failed");
+  for (idx = 0; idx < nseq; idx++)
+    wt[idx] = (ainfo->sqinfo[idx].flags & SQINFO_WGT) ? 
+      ainfo->sqinfo[idx].weight : 1.0;
+
+  /* Transpose (and shift by 1 column index) aseqs[0..nseq-1][0..alen-1] to 
+   * aseqsT[1..alen+1][0..nseq-1].
+   */
+  transpose_alignment(aseqs, ainfo->alen, nseq, &aseqsT);
+
+  /* Pre-calculate expected singlet emission scores for each column;
+   * also, pick up a weighted count of gap occurrences in each column.
+   */
+  singlet_emissions(aseqsT, wt, ainfo->alen, nseq, prior, &mscore, &gapcount);
+  
+
+  /* Allocate the scoring matrix. It is j=0..alen rows by i=1..j+1 columns;
+   * i.e., a lower left diagonal matrix for 1..alen, with an extra off-diagonal
+   * (j+1,j) for boundary conditions.
+   */
+  mmx = alloc_maxmx(ainfo->alen);
+
+  /* Initialize the off-diagonal (j+1,j) and the diagonal (j,j), to
+   * set our boundary conditions.
+   */
+  init_maxmx(mmx, nseq, ainfo->alen, prior, mscore, gapcount);
+
+  /* The heart of the calculation: recursively calculate scores for all
+   * subsequences i..j, and save traceback pointers.
+   */
+  recurse_maxmx(aseqsT, wt, ainfo->alen, nseq, prior, mscore, gapcount, gapthresh, mmx);
+#ifdef DEBUG
+  print_mmx(mmx,ainfo->alen);
+#endif
+
+  /* Now we know the info content
+   */
+  ssinfo = (double) (mmx[ainfo->alen][0].sc[MATP_NODE] / INTPRECISION);
+
+  /* Traceback, constructing a consensus tree.
+   */
+  trace_maxmx(mmx, ainfo->alen, &mtr);
+/*  PrintTrace(stdout, mtr); */
+
+  /* Count nodes in the consensus tree and number them
+   */
+  NumberMasterTrace(mtr, &nodes);
+  
+  /* Create a new model
+   */
+  if ((cm = AllocCM(nodes)) == NULL)
+    Die("failed to allocate for new model of %d nodes\n", nodes);
+  TopofyNewCM(cm, mtr);
+  
+  /* For each sequence, construct an individual "fake" traceback
+   * using the master, and count it into the new model.
+   */
+  for (idx = 0; idx < nseq; idx++)
+    {
+      Transmogrify(mtr, aseqs[idx], &tr, &pool);
+
+      if (! TraceCount(cm, aseqs[idx], wt[idx], tr))
+	Die("TraceCount() failed");
+
+      FreeTrace(tr, pool);
+    }
+#ifdef DEBUG
+  printf("Checking model after trace counts\n");
+  if (! VerifyCM(cm))
+    Die("Verification fails -- baaaad model\n");
+#endif
+
+  /* And, finally, convert the new model to probabilities. 
+   * There. Wasn't that simple?
+   */
+  ProbifyCM(cm, prior);
+
+#ifdef DEBUG
+  printf("Checking model after probify\n");
+  if (! VerifyCM(cm))
+    Die("Verification fails -- baaaad model\n");
+#endif
+
+
+  free(mscore);
+  free(gapcount);
+  Free2DArray(mmx, ainfo->alen+1);
+  Free2DArray(aseqsT, ainfo->alen+2);
+  free(wt);
+
+  if (ret_mtr != NULL)    *ret_mtr    = mtr; else FreeTrace(mtr, NULL);
+  if (ret_ssinfo != NULL) *ret_ssinfo = ssinfo;
+  if (ret_cm != NULL)     *ret_cm     = cm;  else FreeCM(cm);
+  return 1;
+}
+ 
+
+
+
+/* Function: alloc_maxmx()
+ * 
+ * Purpose:  allocate the storage matrix. It is a lower left diagonal
+ *           matrix with inverted indexing, mmx[j][i], i <= j+1.
+ *           
+ * Args:     alen - width of alignment
+ *                  
+ * Return:   mmx: allocated storage matrix. Can be free'd by Free2DArray(mmx, alen+1).
+ */
+static struct maxmx_s **
+alloc_maxmx(int alen)
+{
+  struct maxmx_s **mmx;
+  int            i, j, y;
+
+  if ((mmx = (struct maxmx_s **) malloc ((alen+1) * sizeof(struct maxmx_s))) == NULL)
+    Die("malloc failed");
+  for (j = 0; j <= alen; j++)
+    if ((mmx[j] = (struct maxmx_s *) malloc ((j+2) * sizeof(struct maxmx_s))) == NULL)
+      Die("malloc failed");
+
+  /* Set the whole matrix so that scores are NEGINFINITY and
+   * each cell's traceback pointers point at itself. 
+   */
+  for (j = 0; j <= alen; j++)
+    for (i = 0; i <= j+1; i++)
+      {
+	for (y = 0; y < NODETYPES-1; y++)
+	  mmx[j][i].sc[y] = NEGINFINITY;
+
+	mmx[j][i].matp_i2    = (short) i;
+	mmx[j][i].matp_j2    = (short) j;
+	mmx[j][i].matp_ftype = (char)  MATP_NODE;
+	mmx[j][i].matl_i2    = (short) i;
+	mmx[j][i].matl_ftype = (char)  MATL_NODE;
+	mmx[j][i].matr_j2    = (short) j;
+	mmx[j][i].matr_ftype = (char)  MATR_NODE;
+	mmx[j][i].begl_ftype = (char)  BEGINL_NODE;
+	mmx[j][i].begr_i2    = (short) i;
+	mmx[j][i].begr_ftype = (char)  BEGINR_NODE;
+	mmx[j][i].bifurc_mid = (short) i;
+      }
+  return mmx;
+}
+
+
+/* Function: init_maxmx()
+ * 
+ * Purpose:  Initialize the scoring matrix. The offdiagonal j+1,j and the
+ *           diagonal j,j are initialized.
+ *           
+ *           In the offdiagonal, we use BIFURC to represent END, and set
+ *           its score to zero.
+ *           
+ *           In the diagonal, it doesn't matter whether we use MATL or
+ *           MATR to generate single symbols; we use MATL for an implementation-
+ *           specific reason (if we use MATR, we need an extra row for i=0,j=-1)
+ *           MATL's get calculated scores and traceback pointers to 
+ *           (j+1,j,END). BEGINL, BEGINR are also calculated here.
+ *           MATR, MATP, BIFURC are left at NEGINFINITY.
+ *           
+ * Args:     mmx:      saved score/traceback pointer matrix
+ *           nseq:     number of sequences in alignment
+ *           alen:     number of columns in alignment
+ *           prior:    prior probability distributions
+ *           mscore:   singlet emission costs for each column
+ *           gapcount: weighted counts of gaps in each column
+ *           
+ * Return:   (void). maxmx() is initialized.          
+ */
+static void 
+init_maxmx(struct maxmx_s **mmx,
+	   int              nseq,
+	   int              alen,
+	   struct prior_s  *prior,
+	   int             *mscore,
+	   double           *gapcount)
+{
+  int    j;
+  int    fromstate, tostate;
+  double trans[STATETYPES][STATETYPES];	/* state transition matrix */
+
+  /* Do the offdiagonal (j+1,j).
+   * set BIFURC/END alignment costs to zero.
+   * Everything else is left at -oo.
+   */
+  for (j = 0; j <= alen; j++)
+    mmx[j][j+1].sc[END_NODE]    = 0;
+
+  /* Do the diagonal (j,j).
+   * MATL is calculated; MATR is the same; then BEGINL, BEGINR are calculated.
+   */
+  for (j = 1; j <= alen; j++)
+    {
+      /* Make a transition matrix for MATL -> END for this (j,j)
+       */
+      for (fromstate = 0; fromstate < STATETYPES; fromstate++)
+	for (tostate = 0; tostate < STATETYPES; tostate++)
+	  trans[fromstate][tostate] = 0.0;
+      trans[MATL_ST][END_ST] = (double) nseq - gapcount[j];
+      trans[DEL_ST][END_ST]  = gapcount[j];
+      ProbifyTransitionMatrix(trans, MATL_NODE, END_NODE, prior);
+
+      /* Score = sum P(j | MATL) + sum T(END | j,j,(DEL|MATL))
+       * Set traceback pointers.
+       */
+      mmx[j][j].sc[MATL_NODE] = mscore[j] +
+	(int) (INTPRECISION * 
+	       ((log(trans[MATL_ST][END_ST]) * ((double) nseq - gapcount[j])) +
+		(log(trans[DEL_ST][END_ST]) * gapcount[j]))
+	      );
+      mmx[j][j].matl_i2    = j+1;
+      mmx[j][j].matl_ftype = END_NODE;
+
+      /* MATR_NODE scores are exactly the same as MATL_NODE on
+       * the diagonal
+       */
+      mmx[j][j].sc[MATR_NODE] = mmx[j][j].sc[MATL_NODE];
+      mmx[j][j].matr_j2       = j-1;
+      mmx[j][j].matr_ftype    = END_NODE;
+
+      /* Calculate BEGINL -> MATL;
+       * set traceback pointer.
+       */
+      for (fromstate = 0; fromstate < STATETYPES; fromstate++)
+	for (tostate = 0; tostate < STATETYPES; tostate++)
+	  trans[fromstate][tostate] = 0.0;
+      trans[BEGIN_ST][MATL_ST] = (double) nseq - gapcount[j];
+      trans[BEGIN_ST][DEL_ST]  = gapcount[j];
+      ProbifyTransitionMatrix(trans, BEGINL_NODE, MATL_NODE, prior);
+      mmx[j][j].sc[BEGINL_NODE] = mmx[j][j].sc[MATL_NODE] 
+	+ (int) (INTPRECISION * 
+		 ((log(trans[BEGIN_ST][MATL_ST]) * ((double) nseq - gapcount[j])) +
+		  (log(trans[BEGIN_ST][DEL_ST]) * gapcount[j]))
+	      );
+      mmx[j][j].begl_ftype      = MATL_NODE;
+
+      /* Make a transition matrix for BEGINR -> MATL for this (j,j)
+       */
+      for (fromstate = 0; fromstate < STATETYPES; fromstate++)
+	for (tostate = 0; tostate < STATETYPES; tostate++)
+	  trans[fromstate][tostate] = 0.0;
+      trans[BEGIN_ST][DEL_ST]  = gapcount[j];
+      trans[BEGIN_ST][MATL_ST] = (double) nseq - gapcount[j];
+      ProbifyTransitionMatrix(trans, BEGINR_NODE, MATL_NODE, prior);
+      
+      /* Score for (j,j,BEGINR_NODE), and set traceback pointers
+       */
+      mmx[j][j].sc[BEGINR_NODE] = mmx[j][j].sc[MATL_NODE] + 
+	(int) (INTPRECISION * 
+	       ((log(trans[BEGIN_ST][MATL_ST]) * ((double) nseq - gapcount[j])) +
+		(log(trans[BEGIN_ST][DEL_ST]) * gapcount[j]))
+	      );
+      mmx[j][j].begr_i2    = j;
+      mmx[j][j].begr_ftype = MATL_NODE;
+    }
+}
+
+
+/* Function: recurse_maxmx()
+ * 
+ * Purpose:  Recursion calculations of the maximum likelihood CM construction
+ *           algorithm.
+ *           
+ * Args:     aseqsT  - transposed alignment; [1..alen+1][0..nseq-1]
+ *           weights - weights assigned to each sequence, usually 1.0
+ *           alen    - number of columns in alignment
+ *           nseq    - number of aseqs
+ *           prior   - structure containing prior probability distributions
+ *           mscore  - singlet match emission costs
+ *           mmx     - scoring matrix we fill in; mmx[j][i], lower diagonal
+ *           
+ * Return:   (void). mmx is filled with scores and traceback pointers.
+ */
+static void
+recurse_maxmx(int    **aseqsT, 
+	      float   *weights, 
+	      int      alen, 
+	      int      nseq, 
+	      struct prior_s *prior, 
+	      int     *mscore, 
+	      double  *gapcount,
+	      double   gapthresh,
+	      struct maxmx_s **mmx)
+{
+  int **insl_accum;     /* accumulated INSL counts for all starting positions, all seqs */
+  int **insr_accum;     /* accumulated INSR counts for all starting positions, all seqs */
+  double tmaster[STATETYPES][STATETYPES]; /* master copy of state transition table, counts */
+  double tcounts[STATETYPES][STATETYPES]; /* state transition table, counts */
+  double tmx[STATETYPES][STATETYPES]; /* state transition probabilities post-regularization */
+  int    tonode;		/* node type to connect to       */
+  int    i,j;                   /* current cell column, row      */
+  int    i2, j2;		/* i', j': cell to connect to    */
+  int    idx;			/* counter for sequences         */
+  int    sc;			/* temp variable holding a score */
+  int    mid;			/* midpoint for a bifurcation    */
+
+  if ((insr_accum = (int **) malloc ((alen+1) * sizeof(int *))) == NULL ||
+      (insl_accum = (int **) malloc ((alen+2) * sizeof(int *))) == NULL)
+    Die("malloc failed");
+  for (i = 0; i <= alen; i++)
+    if ((insr_accum[i] = (int *) malloc (nseq * sizeof(int))) == NULL)
+      Die("malloc failed");
+  for (i = 0; i <= alen+1; i++)
+    if ((insl_accum[i] = (int *) malloc (nseq * sizeof(int))) == NULL)
+      Die("malloc failed");
+
+  gapthresh *= (double) nseq; /* scale gapthresh to be comparable to counts in gapcount array */
+
+  /* Initialize insr_accum. (Vertical, j insertion accumulator)
+   * insr_accum contains, for each sequence, a count of how many symbols
+   * must be inserted to get from any row fromj to the current row (exclusive
+   * of fromj and the current column).
+   * insr_accum is therefore [0..alen-1][0..nseq-1]
+   */
+  for (j2 = 1; j2 <= alen; j2++)
+    for (idx = 0; idx < nseq; idx++)
+      insr_accum[j2][idx] = 0;
+  for (idx = 0; idx < nseq; idx++)
+    if (aseqsT[1][idx] >= 0)
+      insr_accum[0][idx] = 1;
+
+  for (j = 2; j <= alen; j++)
+    {
+      /* Initialize insl_accum (horizontal, i insertion) array each time we start
+       * a new row. insl_accum contains, for each sequence, how many symbols
+       * must be inserted to get from any column i2 to the current column,
+       * exclusive. insl_accum is therefore [1..alen+1][0..nseq]
+       */
+      for (i2 = 1; i2 <= j+1; i2++)
+	for (idx = 0; idx < nseq; idx++)
+	  insl_accum[i2][idx] = 0;
+      for (idx = 0; idx < nseq; idx++)
+	if (aseqsT[j][idx] >= 0)
+	  insl_accum[j+1][idx]++;
+      
+      for (i = j-1; i > 0; i--)
+	{
+
+	  /* BIFURC: explain i,j as sum of i,mid,BEGINL + mid+1,j,BEGINR
+	   * i <= mid <= j
+	   */
+	  for (mid = i; mid <= j; mid++)
+	    {
+	      sc = mmx[mid][i].sc[BEGINL_NODE] + mmx[j][mid+1].sc[BEGINR_NODE];
+	      if (sc > mmx[j][i].sc[BIFURC_NODE])
+		{
+		  mmx[j][i].sc[BIFURC_NODE] = sc;
+		  mmx[j][i].bifurc_mid      = mid;
+		}
+	    }
+
+	  /* MATP: Score subsequence i,j, given that i,j are emitted by MATP
+           * Look at all possible connections i'j': i < i' < j, i < j' < j,
+           * i' <= j'+1
+           * Could be i < i' <= j' < j: the extra i' <= j'+1 condition
+           * allows for checking all the ways of generating i'..j'
+           * as entirely insertion, and we may just as well define a
+           * default...
+	   */
+	  for (j2 = j-1; j2 >= i && j - j2 - 1 <= MAXINSERT ; j2--)
+/*	  for (j2 = j-1; j2 >= i; j2--) */
+	    {
+	      for (i2 = i+1; i2 <= j2+1 && i2 - i - 1 <= MAXINSERT; i2++) 
+/*	      for (i2 = i+1; i2 <= j2+1; i2++) */
+		{
+		  if (mmx[j2][i2].sc[MATP_NODE]   < mmx[j][i].sc[MATP_NODE] &&
+		      mmx[j2][i2].sc[MATL_NODE]   < mmx[j][i].sc[MATP_NODE] &&
+		      mmx[j2][i2].sc[MATR_NODE]   < mmx[j][i].sc[MATP_NODE] &&
+		      mmx[j2][i2].sc[BIFURC_NODE] < mmx[j][i].sc[MATP_NODE])
+		    continue;
+
+		  frommatp_transtable(aseqsT, weights, nseq, i,j, i2, j2, insl_accum[i2],
+				      insr_accum[j2], tmaster);
+		  
+		  for (tonode = 0; tonode < 4; tonode++)
+		    {
+		      if (i2 >  j2 && tonode != BIFURC_NODE) continue;
+		      if (i2 == j2 && tonode == MATP_NODE)   continue;
+
+		      if (mmx[j2][i2].sc[tonode] < mmx[j][i].sc[MATP_NODE]) continue;
+
+		      switch (tonode) {
+		      case MATP_NODE:   to_matp_transtable(tmaster, tcounts);   break;
+		      case MATL_NODE:   to_matl_transtable(tmaster, tcounts);   break;
+		      case MATR_NODE:   to_matr_transtable(tmaster, tcounts);   break;
+		      case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break;
+		      default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3");
+		      }
+		      
+		      copy_transtable(tmx, tcounts);
+		      ProbifyTransitionMatrix(tmx, MATP_NODE, tonode, prior);
+		      
+		      sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES)
+			+ mmx[j2][i2].sc[tonode];
+		      
+		      if (sc > mmx[j][i].sc[MATP_NODE])
+			{
+			  mmx[j][i].sc[MATP_NODE] = sc;
+			  mmx[j][i].matp_i2       = i2;
+			  mmx[j][i].matp_j2       = j2;
+			  mmx[j][i].matp_ftype    = tonode;
+			}
+		    }		
+		  if (gapcount[i2] <= gapthresh) break;
+		}
+	      if (gapcount[j2] <= gapthresh) break;
+	    }
+	  mmx[j][i].sc[MATP_NODE] += pair_emissioncost(aseqsT[i], aseqsT[j], weights, nseq, prior);
+
+	  /* MATR: i,j is accounted for by emitting j and connecting 
+	   * to some i,j2.
+	   */
+	  for (j2 = j-1; j2 >= i-1; j2--)
+	    {
+	      if (mmx[j2][i].sc[MATP_NODE]   < mmx[j][i].sc[MATR_NODE] &&
+		  mmx[j2][i].sc[MATL_NODE]   < mmx[j][i].sc[MATR_NODE] &&
+		  mmx[j2][i].sc[MATR_NODE]   < mmx[j][i].sc[MATR_NODE] &&
+		  mmx[j2][i].sc[BIFURC_NODE] < mmx[j][i].sc[MATR_NODE])
+		continue;
+	      frommatr_transtable(aseqsT, weights, nseq, i, j, j2, insr_accum[j2], tmaster);
+	      
+	      for (tonode = 0; tonode < 4; tonode++)
+		{
+		  if (i >  j2 && tonode != BIFURC_NODE) continue;
+		  if (i == j2 && tonode == MATP_NODE)   continue;
+
+		  if (mmx[j2][i].sc[tonode] < mmx[j][i].sc[MATR_NODE]) continue;
+
+		  switch (tonode) {
+		  case MATP_NODE:   to_matp_transtable(tmaster, tcounts);   break;
+		  case MATL_NODE:   to_matl_transtable(tmaster, tcounts);   break;
+		  case MATR_NODE:   to_matr_transtable(tmaster, tcounts);   break;
+		  case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break;
+		  default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3");
+		  }
+		  
+		  copy_transtable(tmx, tcounts);
+		  ProbifyTransitionMatrix(tmx, MATR_NODE, tonode, prior);
+
+		  sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES)
+		    + mmx[j2][i].sc[tonode];
+		  if (sc > mmx[j][i].sc[MATR_NODE])
+		    {
+		      mmx[j][i].sc[MATR_NODE] = sc;
+		      mmx[j][i].matr_j2       = j2;
+		      mmx[j][i].matr_ftype    = tonode;
+		    }
+		}		
+	      if (gapcount[j2] <= gapthresh) break;
+	    }
+	  mmx[j][i].sc[MATR_NODE] += mscore[j];
+
+
+	  /* MATL: account for i,j by emitting i and connecting to some (i2,j)
+	   */
+	  for (i2 = i+1; i2 <= j+1; i2++)
+	    {
+	      if (mmx[j][i2].sc[MATP_NODE]   < mmx[j][i].sc[MATL_NODE] &&
+		  mmx[j][i2].sc[MATL_NODE]   < mmx[j][i].sc[MATL_NODE] &&
+		  mmx[j][i2].sc[MATR_NODE]   < mmx[j][i].sc[MATL_NODE] &&
+		  mmx[j][i2].sc[BIFURC_NODE] < mmx[j][i].sc[MATL_NODE])
+		continue;
+
+	      frommatl_transtable(aseqsT, weights, nseq, i, j, i2, insl_accum[i2], tmaster);
+
+	      for (tonode = 0; tonode < 4; tonode++)
+		{
+		  if (i2 >  j && tonode != BIFURC_NODE) continue;
+		  if (i2 == j && tonode == MATP_NODE)   continue;
+		  
+		  if (mmx[j][i2].sc[tonode] < mmx[j][i].sc[MATL_NODE]) continue;
+
+		  switch (tonode) {
+		  case MATP_NODE:   to_matp_transtable(tmaster, tcounts);   break;
+		  case MATL_NODE:   to_matl_transtable(tmaster, tcounts);   break;
+		  case MATR_NODE:   to_matr_transtable(tmaster, tcounts);   break; 
+		  case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break;
+		  default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3");
+		  }
+		  
+		  copy_transtable(tmx, tcounts);
+		  ProbifyTransitionMatrix(tmx, MATL_NODE, tonode, prior);
+
+		  sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES) + 
+		    mmx[j][i2].sc[tonode];
+
+		  if (sc > mmx[j][i].sc[MATL_NODE])
+		    {
+		      mmx[j][i].sc[MATL_NODE] = sc;
+		      mmx[j][i].matl_i2       = i2;
+		      mmx[j][i].matl_ftype    = tonode;
+		    }
+		}		
+	      if (gapcount[i2] <= gapthresh) break;
+	    }
+	  mmx[j][i].sc[MATL_NODE] += mscore[i];
+
+
+	  /* bump insl_accum: add column i to horizontal accumulator as insertion.
+	   */
+	  for (i2 = i+1; i2 <= j+1; i2++)
+	    for (idx = 0; idx < nseq; idx++)
+	      if (aseqsT[i][idx] >= 0)
+		insl_accum[i2][idx]++;
+
+
+	  /* BEGINR: has an INSL state, so it can connect to any
+	   * (i2,j) *inclusive* of (i,j) -- that's why we just bumped
+	   * the insl_accum insert counters
+	   */
+	  for (i2 = i; i2 <= j+1; i2++)
+	    {
+	      if (mmx[j][i2].sc[MATP_NODE]   < mmx[j][i].sc[BEGINR_NODE] &&
+		  mmx[j][i2].sc[MATL_NODE]   < mmx[j][i].sc[BEGINR_NODE] &&
+		  mmx[j][i2].sc[MATR_NODE]   < mmx[j][i].sc[BEGINR_NODE] &&
+		  mmx[j][i2].sc[BIFURC_NODE] < mmx[j][i].sc[BEGINR_NODE])
+		continue;
+
+	      frombeginr_transtable(aseqsT, weights, nseq, j, i2, insl_accum[i2], tmaster);
+
+	      for (tonode = 0; tonode < 4; tonode++)
+		{
+		  if (i2 >  j && tonode != BIFURC_NODE) continue;
+		  if (i2 == j && tonode == MATP_NODE)   continue;
+
+		  if (mmx[j][i2].sc[tonode] < mmx[j][i].sc[BEGINR_NODE]) continue;
+
+		  switch (tonode) {
+		  case MATP_NODE:   to_matp_transtable(tmaster, tcounts);   break;
+		  case MATL_NODE:   to_matl_transtable(tmaster, tcounts);   break;
+		  case MATR_NODE:   to_matr_transtable(tmaster, tcounts);   break;
+		  case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break;
+		  default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3");
+		  }
+		  
+		  copy_transtable(tmx, tcounts);
+		  ProbifyTransitionMatrix(tmx, BEGINR_NODE, tonode, prior);
+
+		  sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES)
+		    + mmx[j][i2].sc[tonode];
+
+		  if (sc > mmx[j][i].sc[BEGINR_NODE])
+		    {
+		      mmx[j][i].sc[BEGINR_NODE] = sc;
+		      mmx[j][i].begr_i2         = i2;
+		      mmx[j][i].begr_ftype      = tonode;
+		    }
+		}		
+	      if (gapcount[i2] <= gapthresh) break;
+	    }
+
+	      
+	  /* BEGINL: has no inserts, so must connect to (i,j)
+	   */
+	  frombeginl_transtable(aseqsT, weights, nseq, i, j, tmaster);
+	  for (tonode = 0; tonode < 4; tonode++)
+	    {
+	      if (mmx[j][i].sc[MATP_NODE]   < mmx[j][i].sc[BEGINL_NODE] &&
+		  mmx[j][i].sc[MATL_NODE]   < mmx[j][i].sc[BEGINL_NODE] &&
+		  mmx[j][i].sc[MATR_NODE]   < mmx[j][i].sc[BEGINL_NODE] &&
+		  mmx[j][i].sc[BIFURC_NODE] < mmx[j][i].sc[BEGINL_NODE])
+		continue;
+
+	      switch (tonode) {
+	      case MATP_NODE:   to_matp_transtable(tmaster, tcounts);   break;
+	      case MATL_NODE:   to_matl_transtable(tmaster, tcounts);   break;
+	      case MATR_NODE:   to_matr_transtable(tmaster, tcounts);   break;
+	      case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break;
+	      default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3");
+	      }
+		  
+	      copy_transtable(tmx, tcounts);
+	      ProbifyTransitionMatrix(tmx, BEGINL_NODE, tonode, prior);
+
+	      sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES)
+		+ mmx[j][i].sc[tonode];
+
+	      if (sc > mmx[j][i].sc[BEGINL_NODE])
+		{
+		  mmx[j][i].sc[BEGINL_NODE] = sc;
+		  mmx[j][i].begl_ftype      = tonode;
+		}
+	    }
+
+
+	}			/* end loop over columns i */
+
+      /* bump insr_accum: add row j to vertical accumulator as insertion.
+       */
+      for (j2 = 0; j2 < j; j2++)
+	for (idx = 0; idx < nseq; idx++)
+	  if (aseqsT[j][idx] >= 0)
+	    insr_accum[j2][idx]++;
+
+    }				/* end loop over rows j */
+  
+
+  /* Termination. ROOT can connect anywhere.
+   * We hack here: ROOT alignment info is stored in the cell mmx[alen][0]
+   * (otherwise, the i==0 column is unused), and score/traceback info is kept as if
+   * for MATP_NODE (because ROOT and MATP have similar traceback requirements,
+   * since they permit inserts on both sides.)
+   * 
+   */
+  for (j2 = alen; j2 >= 0; j2--)
+    {
+      for (i2 = 1; i2 <= j2+1; i2++)
+	{
+	  if (mmx[j2][i2].sc[MATP_NODE]   < mmx[alen][0].sc[MATP_NODE] &&
+	      mmx[j2][i2].sc[MATL_NODE]   < mmx[alen][0].sc[MATP_NODE] &&
+	      mmx[j2][i2].sc[MATR_NODE]   < mmx[alen][0].sc[MATP_NODE] &&
+	      mmx[j2][i2].sc[BIFURC_NODE] < mmx[alen][0].sc[MATP_NODE])
+	    continue;
+	  
+	  fromroot_transtable(aseqsT, weights, nseq, i2, j2, insl_accum[i2],
+			      insr_accum[j2], tmaster);
+	  
+	  for (tonode = 0; tonode < 4; tonode++)
+	    {
+	      if (i2 >  j2 && tonode != BIFURC_NODE) continue;
+	      if (i2 == j2 && tonode == MATP_NODE)   continue;
+	      if (mmx[j2][i2].sc[tonode] < mmx[alen][0].sc[MATP_NODE]) continue;
+	      
+	      switch (tonode) {
+	      case MATP_NODE:   to_matp_transtable(tmaster, tcounts);   break;
+	      case MATL_NODE:   to_matl_transtable(tmaster, tcounts);   break;
+	      case MATR_NODE:   to_matr_transtable(tmaster, tcounts);   break;
+	      case BIFURC_NODE: to_bifurc_transtable(tmaster, tcounts); break;
+	      default: Die("Gotcha. MATP, MATL, MATR, BIFURC nodes must be numbered 0..3");
+	      }
+	      
+	      copy_transtable(tmx, tcounts);
+	      ProbifyTransitionMatrix(tmx, ROOT_NODE, tonode, prior);
+	      
+	      sc = dot_score((double *) tcounts, (double *) tmx, STATETYPES*STATETYPES)
+		+ mmx[j2][i2].sc[tonode];
+	      if (sc > mmx[alen][0].sc[MATP_NODE])
+		{
+		  mmx[alen][0].sc[MATP_NODE] = sc;
+		  mmx[alen][0].matp_i2       = i2;
+		  mmx[alen][0].matp_j2       = j2;
+		  mmx[alen][0].matp_ftype    = tonode;
+		}
+	    }		
+	  if (gapcount[i2] <= gapthresh) break;
+	}
+      if (gapcount[j2] <= gapthresh) break;
+    }
+
+  Free2DArray(insr_accum, alen+1);
+  Free2DArray(insl_accum, alen+2);
+}
+
+
+
+/* Function: trace_maxmx()
+ * 
+ * Purpose:  Traceback of the filled matrix. Constructs a consensus 
+ *           tree structure. The trace_s structures are only partially
+ *           used: emitl and emitr hold 0..alen-1 column coords of emitted
+ *           columns (even if not responsible for the emission); nodeidx 
+ *           is unused; type holds a *node* type, not a state type.
+ *           
+ *           Note that the alignment of ROOT_NODE has been stored in
+ *           mmx[alen][0] like a MATP_NODE, due to some convenient
+ *           hacking by the recursion routine.
+ *      
+ *           The mmx[] scoring matrix traceback pointers are 1..alen coords.
+ *           They have to be converted to 0..alen-1 for the traceback tree.
+ *           
+ * Args:     mmx     - filled scoring matrix: mmx[j][i], lower diagonal
+ *           alen    - width of alignment
+ *           ret_mtr - RETURN: master (consensus) traceback          
+ * 
+ * Return:   (void). ret_mtr must be free'd by the caller.
+ */
+static void
+trace_maxmx(struct maxmx_s **mmx,
+	    int              alen,
+	    struct trace_s **ret_mtr)
+{
+  struct trace_s *mtr;	        /* master (consensus) traceback               */
+  struct trace_s *curr_mtr;     /* current node on traceback tree             */
+  struct tracestack_s *dolist;  /* pushdown stack for traversing mtr          */
+  int i,j;			/* coords to connect to, next trace ssegment  */
+  int nxti, nxtj;
+
+  InitTrace(&mtr, NULL);
+  dolist = InitTracestack();
+  
+  /* Initialization. First attach a root node. Then, trace first segment,
+   * attach it, and start the tracestack to-do list with it.
+   */
+  curr_mtr = AttachTrace(mtr, NULL, 0, alen-1, 0, ROOT_NODE); 
+  PushTracestack(dolist, AttachTrace(curr_mtr, NULL, mmx[alen][0].matp_i2 -1,
+				     mmx[alen][0].matp_j2 -1, 
+				     0, mmx[alen][0].matp_ftype));
+		 
+
+  while ((curr_mtr = PopTracestack(dolist)) != NULL)
+    {
+      i = curr_mtr->emitl + 1;	/* i,j are 1..alen */
+      j = curr_mtr->emitr + 1;
+
+      /* avoid dummy END node on trace tree leaves, and
+       * avoid tracing back from off-diagonal */
+      if (curr_mtr->nxtl == NULL || i > j)
+	continue;
+  
+      switch (curr_mtr->type) {
+      case MATP_NODE:
+	nxti = mmx[j][i].matp_i2 - 1;
+	nxtj = mmx[j][i].matp_j2 - 1;
+	if (nxti <= nxtj)
+	  PushTracestack(dolist, AttachTrace(curr_mtr, NULL, nxti, nxtj, 0, mmx[j][i].matp_ftype));
+	else
+	  { curr_mtr->nxtl->emitl = nxti; curr_mtr->nxtl->emitr = nxtj; }
+	break;
+
+      case MATL_NODE:
+	nxti = mmx[j][i].matl_i2 - 1;
+	nxtj = j-1;
+	if (nxti <= nxtj)
+	  PushTracestack(dolist, AttachTrace(curr_mtr, NULL, nxti, nxtj, 0, mmx[j][i].matl_ftype));
+	else
+	  { curr_mtr->nxtl->emitl = nxti; curr_mtr->nxtl->emitr = nxtj; }
+	break;
+
+      case MATR_NODE:
+	nxti = i-1;
+	nxtj = mmx[j][i].matr_j2 -1;
+	if (nxti <= nxtj)
+	  PushTracestack(dolist, AttachTrace(curr_mtr, NULL, nxti, nxtj, 0, mmx[j][i].matr_ftype));
+	else
+	  { curr_mtr->nxtl->emitl = nxti; curr_mtr->nxtl->emitr = nxtj; }
+	break;
+
+      case BIFURC_NODE:		/* BIFURC must attach right side first */
+	PushTracestack(dolist, AttachTrace(curr_mtr, NULL, mmx[j][i].bifurc_mid, j -1,
+					   0, BEGINR_NODE));
+	PushTracestack(dolist, AttachTrace(curr_mtr, NULL, i -1, mmx[j][i].bifurc_mid -1,
+					   0, BEGINL_NODE));
+	break;
+
+      case BEGINL_NODE:
+	nxti = i-1;
+	nxtj = j-1;
+	if (nxti <= nxtj)
+	  PushTracestack(dolist, AttachTrace(curr_mtr, NULL, nxti, nxtj, 0, mmx[j][i].begl_ftype));
+	else
+	  { curr_mtr->nxtl->emitl = nxti; curr_mtr->nxtl->emitr = nxtj; }
+	break;
+
+      case BEGINR_NODE:
+	nxti = mmx[j][i].begr_i2 - 1;
+	nxtj = j-1;
+	if (nxti <= nxtj)
+	  PushTracestack(dolist, AttachTrace(curr_mtr, NULL, nxti, nxtj, 0, mmx[j][i].begr_ftype));
+	else
+	  { curr_mtr->nxtl->emitl = nxti; curr_mtr->nxtl->emitr = nxtj; }
+	break;
+
+      default: Die("Invalid node type %d", curr_mtr->type);
+      }
+    }
+
+  FreeTracestack(dolist);
+  *ret_mtr = mtr;
+}
+
+
+/* Function: transpose_alignment()
+ * 
+ * Purpose:  Alignments are indexed [seqidx][position]; it turns out to
+ *           be more convenient here to index them as [position][seqidx],
+ *           because of memory access patterns. This transpose also
+ *           lets us switch to a 1..alen indexing scheme for the alignment
+ *           columns, from 0..alen-1; this is important for implementing
+ *           boundary conditions properly in the scoring matrix. And
+ *           finally, we store the symbols as indices to save time in
+ *           further lookups: -1 for gaps, 0..3 for ACGU (or 0..19 for aminos)
+ *           
+ * Args:     aseqs      - flushed sequence alignment, each seq indexed 0..alen-1
+ *           alen       - number of columns in alignment
+ *           nseq       - number of sequences
+ *           prior      - contains alphabet info
+ *           ret_aseqsT - RETURN: transposed alignment, [1..alen][0..nseq-1]
+ *           
+ * Return:   (void). ret_aseqsT is malloc'ed here and must be free'd 
+ *           by caller.          
+ */
+static void
+transpose_alignment(char  **aseqs,
+		    int     alen,
+		    int     nseq,
+		    int  ***ret_aseqsT)
+{
+  int  **aseqsT;
+  int    acol;
+  int    seqidx;
+
+  if ((aseqsT = (int **) malloc ((alen+2) * sizeof(int *))) == NULL)
+    Die("malloc failed");
+  for (acol = 0; acol <= alen+1; acol++)
+    if ((aseqsT[acol] = (int *) malloc (nseq * sizeof(int))) == NULL)
+      Die("malloc failed");
+
+				/* "guard" columns 0 and alen+1 */
+  for (seqidx = 0; seqidx < nseq; seqidx++)
+    {
+      aseqsT[0][seqidx]      = -1;
+      aseqsT[alen+1][seqidx] = -1;
+    }
+
+				/* gaps are assigned value -1 in aseqsT */
+  for (seqidx = 0; seqidx < nseq; seqidx++)
+    for (acol = 0; acol < alen; acol++)
+      aseqsT[acol+1][seqidx] = isgap(aseqs[seqidx][acol]) ? 
+	-1 : SymbolIndex(aseqs[seqidx][acol]);
+
+  *ret_aseqsT = aseqsT;
+}
+
+
+
+
+
+/* Function: singlet_emissions()
+ * 
+ * Purpose:  Count emission statistics for all the columns of 
+ *           a multiple alignment; calculate and return an
+ *           array of emission scores for each column emitted
+ *           by MATL. (The caller can assume that MATR is scored
+ *           the same way.)
+ *           
+ * Args:     aseqsT        - [1..alen][0..nseqs-1] transpose of sequence alignment          
+ *           weights       - weights on sequences (usually just 1.0 for each)
+ *           alen          - number of columns in alignment
+ *           nseq          - number of sequences    
+ *           prior         - prior probability distributions, and alphabet info
+ *           ret_mscore    - RETURN: array of singlet emission costs
+ *           ret_gapcount  - RETURN: weighted counts of gaps in each column
+ *           
+ * Return:   (void). ret_mscore is passed back; it is malloc'ed here
+ *           and must be free'd by the caller.
+ */          
+static void
+singlet_emissions(int    **aseqsT,
+		  float   *weights,
+		  int      alen,
+		  int      nseq,
+		  struct prior_s *prior,
+		  int    **ret_mscore,
+		  double **ret_gapcount)
+{
+  double **emcounts;
+  double  *gapcount;
+  int     *mscore;
+  double   emvec[ALPHASIZE];
+  int i;
+  int idx;
+  int sym;
+
+  /* Allocations
+   */
+  if ((emcounts = (double **) malloc ((alen+1) *             sizeof(double *))) == NULL ||
+      (mscore   = (int *)     malloc ((alen+1) *             sizeof(int)))      == NULL ||
+      (gapcount = (double *)  malloc ((alen+2) *             sizeof(double)))   == NULL)
+    Die("malloc failed");
+  for (i = 0; i <= alen; i++)
+    if ((emcounts[i] = (double *) malloc (ALPHASIZE * sizeof(double))) == NULL)
+      Die("malloc failed");
+
+  /* Count symbol occurrences in each column
+   */
+  for (i = 1; i <= alen; i++)
+    {
+      gapcount[i] = 0.0;
+      for (sym = 0; sym < ALPHASIZE; sym++)
+	emcounts[i][sym] = 0.0;
+
+      for (idx = 0; idx < nseq; idx++)
+	{
+	  if (aseqsT[i][idx] >= 0)
+	    emcounts[i][aseqsT[i][idx]] += weights[idx];
+	  else
+	    gapcount[i] += weights[idx];
+	}
+    }
+  gapcount[0]      = 0.0; 
+  gapcount[alen+1] = 0.0;
+
+  /* For each column, create an emission probability vector, 
+   * and calculate score using emcounts.
+   */
+  for (i = 1; i <= alen; i++)
+    {
+      for (sym = 0; sym < ALPHASIZE; sym++)
+	emvec[sym] = emcounts[i][sym];
+
+      ProbifySingletEmission(emvec, uMATL_ST, prior);
+      
+      mscore[i] = dot_score(emcounts[i], emvec, ALPHASIZE);
+      mscore[i] += (nseq - gapcount[i]) * (int) (INTPRECISION * log((float) ALPHASIZE));
+    }
+
+  Free2DArray(emcounts, alen+1);
+  *ret_gapcount = gapcount;
+  *ret_mscore = mscore;
+}
+
+
+
+
+/* Function: pair_emissioncost()
+ * 
+ * Purpose:  Count emission statistics for a given MATP_NODE-assigned
+ *           i,j, and assign a cost.
+ *           
+ * Args:     coli     - ptr to column i from aseqsT transposed alignment, [0..nseq-1]
+ *           colj     - ptr to column j from aseqsT transposed alignment, [0..nseq-1]
+ *           weights  - weights on sequences (usually just 1.0 for each)
+ *           nseq     - number of sequences
+ *           prior    - prior probability distributions  
+ * 
+ * Return:   The cost of emitting the (i,j) column pair (integer).
+ */
+static int
+pair_emissioncost(int            *coli,
+		  int            *colj,
+		  float          *weights,
+		  int             nseq,
+		  struct prior_s *prior)
+{
+  double matp_count[ALPHASIZE][ALPHASIZE];
+  double matl_count[ALPHASIZE];
+  double matr_count[ALPHASIZE];
+  double matp_emit[ALPHASIZE][ALPHASIZE];
+  double matl_emit[ALPHASIZE];
+  double matr_emit[ALPHASIZE];
+  int sc;
+  int symi, symj;
+  int idx;
+
+  /* Zero the counter arrays
+   */
+  for (symi = 0; symi < ALPHASIZE; symi++)
+    {
+      matr_count[symi] = 0.0;
+      matl_count[symi] = 0.0;
+      for (symj = 0; symj < ALPHASIZE; symj++)
+	matp_count[symi][symj] = 0.0;
+    }
+  
+  /* Count pairs, singlets
+   */
+  for (idx = 0; idx < nseq; idx++)
+    {
+      if (coli[idx] == -1)
+	{
+	  if (colj[idx] == -1)  continue;
+	  else                  matl_count[colj[idx]] += weights[idx];
+	}
+      else if (colj[idx] == -1)	matr_count[coli[idx]] += weights[idx];
+      else                      matp_count[coli[idx]][colj[idx]] += weights[idx];
+    }
+
+  /* Create probability matrices
+   */
+  copy_singlet(matl_emit, matl_count);
+  copy_singlet(matr_emit, matr_count);
+  copy_pairwise(matp_emit, matp_count);
+  ProbifySingletEmission(matl_emit, uMATL_ST, prior);
+  ProbifySingletEmission(matr_emit, uMATR_ST, prior);
+  ProbifyPairEmission(matp_emit, prior);
+
+  /* convert probs to log odds 
+   */
+  for (symi = 0; symi < ALPHASIZE; symi++)
+    {
+      matl_emit[symi] *= (double) ALPHASIZE;
+      matr_emit[symi] *= (double) ALPHASIZE;
+      for (symj = 0; symj < ALPHASIZE; symj ++)
+	matp_emit[symi][symj] *= (double) (ALPHASIZE*ALPHASIZE);
+    }
+  
+  /* Score is the sum of dot products of counts and probability matrices
+   */
+  sc = dot_score((double *) matl_count, (double *) matl_emit, ALPHASIZE) + 
+       dot_score((double *) matr_count, (double *) matr_emit, ALPHASIZE) +
+       dot_score((double *) matp_count, (double *) matp_emit, ALPHASIZE*ALPHASIZE);
+  return sc;
+}
+
+
+
+
+
+/* Function: frommatp_transtable()
+ * 
+ * Purpose:  Given an starting cell i,j and an ending cell
+ *           i',j' (i < i' < j' < j), calculate the
+ *           6x6 transition table between these pairs,
+ *           assuming both (i,j) and (i',j') are assigned
+ *           to MATP. Transitions to other types of nodes
+ *           at i',j' (MATR, MATL, BIFURC) are easily derived from this one.
+ *           
+ * Args:     aseqsT     - transpose of alignment, [1..alen][0..nseq-1]
+ *           weights    - weights on sequences (usually just 1.0 for each)
+ *           nseq       - number of sequences                   
+ *           i,j        - i,j
+ *           i2,j2      - i',j'
+ *           accum_insl - (0..nseq-1) array of number of inserted symbols
+ *                        between i,i' for each sequence
+ *           accum_insr - (0..nseq-1) array of number of inserted symbols
+ *                        between j',j for each sequence
+ *           trans[][]  - filled in: state transition matrix (counts)
+ *           
+ * Return:   (void)
+ *           trans[][] is filled in.          
+ */
+static void
+frommatp_transtable(int   **aseqsT,
+		    float  *weights,
+		    int     nseq,
+		    int     i, 
+		    int     j,
+		    int     i2, 
+		    int     j2,
+		    int    *accum_insl,
+		    int    *accum_insr,
+		    double  trans[STATETYPES][STATETYPES])
+{
+  int fy, ty;			/* from state index, to state index */
+  int idx;			/* counter for sequences */
+
+  /* Zero the counter array
+   */
+  for (fy = 0; fy < STATETYPES; fy++)
+    for (ty = 0; ty < STATETYPES; ty++)
+      trans[fy][ty] = 0.0;
+
+  /* For each sequence:
+   *    assign fy, based on symbols vs. gaps at i,j
+   *    assign ty, based on symbols vs. gaps at i',j'
+   *    use accum_insr and accum_insl and bump counters appropriately.
+   */
+  for (idx = 0; idx < nseq; idx++)
+    {
+      fy = assign_cell(i,j,aseqsT[i][idx], aseqsT[j][idx]);
+      ty = assign_cell(i2,j2,aseqsT[i2][idx], aseqsT[j2][idx]);
+
+      if (accum_insl[idx] == 0 && accum_insr[idx] == 0)
+	{
+	  trans[fy][ty] += weights[idx];
+	}
+      else if (accum_insl[idx] > 0)
+	{
+	  trans[fy][INSL_ST]      += weights[idx];
+	  trans[INSL_ST][INSL_ST] += (accum_insl[idx]-1) * weights[idx];
+	  if (accum_insr[idx] > 0)
+	    {
+	      trans[INSL_ST][INSR_ST] += weights[idx];
+	      trans[INSR_ST][INSR_ST] += (accum_insr[idx]-1) * weights[idx];
+	      trans[INSR_ST][ty]      += weights[idx];
+	    }
+	  else
+	    {
+	      trans[INSL_ST][ty] += weights[idx];
+	    }
+	}
+      else if (accum_insr[idx] > 0)
+	{
+	  trans[fy][INSR_ST]      += weights[idx];
+	  trans[INSR_ST][INSR_ST] += (accum_insr[idx]-1) * weights[idx];
+	  trans[INSR_ST][ty]      += weights[idx];
+	}
+    } /* end loop over all sequences */
+}
+
+
+
+
+/* Function: frommatl_transtable()
+ * 
+ * Purpose:  Given an starting cell i,j assigned to MATL_NODE 
+ *           and an ending cell i',j (i < i' < j), calculate the
+ *           6x6 transition table between these pairs,
+ *           assuming (i',j) is assigned to MATP. 
+ *           Transitions to other types of nodes
+ *           at i',j (MATR, MATL, BIFURC) are easily derived from this one.
+ *           
+ * Args:     aseqsT     - transpose of alignment, [1..alen][0..nseq-1]
+ *           weights    - weights on sequences (usually just 1.0 for each)
+ *           nseq       - number of sequences                   
+ *           i,j        - i,j
+ *           i2         - i'
+ *           accum_insl - (0..nseq-1) array of number of inserted symbols
+ *                        between i,i' for each sequence
+ *           trans[][]  - filled in: state transition matrix (counts)
+ *           
+ * Return:   (void)
+ *           trans[][] is filled in.          
+ */
+static void
+frommatl_transtable(int   **aseqsT,
+		    float  *weights,
+		    int     nseq,
+		    int     i, 
+		    int     j,
+		    int     i2, 
+		    int    *accum_insl,
+		    double  trans[STATETYPES][STATETYPES])
+{
+  int fy, ty;			/* from state index, to state index */
+  int idx;			/* counter for sequences */
+
+  /* Zero the counter array
+   */
+  for (fy = 0; fy < STATETYPES; fy++)
+    for (ty = 0; ty < STATETYPES; ty++)
+      trans[fy][ty] = 0.0;
+
+
+  /* For each sequence:
+   *    assign fy, based on symbols vs. gaps at i
+   *    assign ty, based on symbols vs. gaps at i',j
+   *    use accum_insl and bump counters appropriately.
+   */
+  for (idx = 0; idx < nseq; idx++)
+    {
+      fy = (aseqsT[i][idx] == -1) ? DEL_ST : MATL_ST;
+      ty = assign_cell(i2, j, aseqsT[i2][idx], aseqsT[j][idx]);
+
+      if (accum_insl[idx] == 0)
+	{
+	  trans[fy][ty] += weights[idx];
+	}
+      else 
+	{
+	  trans[fy][INSL_ST]      += weights[idx];
+	  trans[INSL_ST][INSL_ST] += (accum_insl[idx]-1) * weights[idx];
+	  trans[INSL_ST][ty] += weights[idx];
+	}
+    } /* end loop over all sequences */
+}
+
+
+
+
+/* Function: frommatr_transtable()
+ * 
+ * Purpose:  Given an starting cell i,j assigned to MATR_NODE
+ *           and an ending cell i,j' (i < j' < j), calculate the
+ *           6x6 transition table between these pairs,
+ *           assuming (i,j') is assigned to MATP. 
+ *           Transitions to other types of nodes
+ *           at i,j' (MATR, MATL, BIFURC) are easily derived from this one.
+ *           
+ * Args:     aseqsT     - transpose of alignment, [1..alen][0..nseq-1]
+ *           weights    - weights on sequences (usually just 1.0 for each)
+ *           nseq       - number of sequences                   
+ *           i,j        - i,j
+ *           j2         - j'
+ *           accum_insr - (0..nseq-1) array of number of inserted symbols
+ *                        between j',j for each sequence
+ *           trans[][]  - filled in: state transition matrix (counts)
+ *           
+ * Return:   (void)
+ *           trans[][] is filled in.          
+ */
+static void
+frommatr_transtable(int   **aseqsT,
+		    float  *weights,
+		    int     nseq,
+		    int     i, 
+		    int     j,
+		    int     j2,
+		    int    *accum_insr,
+		    double  trans[STATETYPES][STATETYPES])
+{
+  int fy, ty;			/* from state index, to state index */
+  int idx;			/* counter for sequences */
+
+  /* Zero the counter array
+   */
+  for (fy = 0; fy < STATETYPES; fy++)
+    for (ty = 0; ty < STATETYPES; ty++)
+      trans[fy][ty] = 0.0;
+
+  /* For each sequence:
+   *    assign fy, based on symbols vs. gaps at j
+   *    assign ty, based on symbols vs. gaps at i,j'
+   *    use accum_insr and bump counters appropriately.
+   */
+  for (idx = 0; idx < nseq; idx++)
+    {
+      fy = (aseqsT[j][idx] == -1) ? DEL_ST : MATR_ST;
+      ty = assign_cell(i, j2, aseqsT[i][idx], aseqsT[j2][idx]);
+
+      if (accum_insr[idx] == 0)
+	{
+	  trans[fy][ty] += weights[idx];
+	}
+      else 
+	{
+	  trans[fy][INSR_ST]      += weights[idx];
+	  trans[INSR_ST][INSR_ST] += (accum_insr[idx]-1) * weights[idx];
+	  trans[INSR_ST][ty]      += weights[idx];
+	}
+    } /* end loop over all sequences */
+}
+
+
+
+
+/* Function: frombeginr_transtable()
+ * 
+ * Purpose:  Given an starting cell i,j assigned to BEGINR_NODE
+ *           and an ending cell i',j (i < i' < j), calculate the
+ *           6x6 transition table between these pairs,
+ *           assuming (i',j) is assigned to MATP. 
+ *           Transitions to other types of nodes
+ *           at i',j (MATR, MATL, BIFURC) are easily derived from this one.
+ *           
+ * Args:     aseqsT     - transpose of alignment, [1..alen][0..nseq-1]
+ *           weights    - weights on sequences (usually just 1.0 for each)
+ *           nseq       - number of sequences                   
+ *           i,j        - i,j
+ *           i2         - i'
+ *           accum_insl - (0..nseq-1) array of number of inserted symbols
+ *                        between j',j for each sequence
+ *           trans[][]  - filled in: state transition matrix (counts)
+ *           
+ * Return:   (void)
+ *           trans[][] is filled in.          
+ */
+static void
+frombeginr_transtable(int   **aseqsT,
+		      float  *weights,
+		      int     nseq,
+		      int     j,
+		      int     i2,
+		      int    *accum_insl,
+		      double  trans[STATETYPES][STATETYPES])
+{
+  int fy, ty;			/* from state index, to state index */
+  int idx;			/* counter for sequences */
+
+  /* Zero the counter array
+   */
+  for (fy = 0; fy < STATETYPES; fy++)
+    for (ty = 0; ty < STATETYPES; ty++)
+      trans[fy][ty] = 0.0;
+
+  /* For each sequence:
+   *    assign ty, based on symbols vs. gaps at i',j
+   *    use accum_insr and bump counters appropriately.
+   */
+  fy = BEGIN_ST;
+  for (idx = 0; idx < nseq; idx++)
+    {
+      ty = assign_cell(i2, j, aseqsT[i2][idx], aseqsT[j][idx]);
+
+      if (accum_insl[idx] == 0)
+	{
+	  trans[fy][ty] += weights[idx];
+	}
+      else 
+	{
+	  trans[fy][INSL_ST]      += weights[idx];
+	  trans[INSL_ST][INSL_ST] += (accum_insl[idx]-1) * weights[idx];
+	  trans[INSL_ST][ty]      += weights[idx];
+	}
+    } /* end loop over all sequences */
+}
+
+
+/* Function: frombeginl_transtable()
+ * 
+ * Purpose:  Given an starting cell i,j assigned to BEGINR_NODE (which must
+ *           connect to i,j itself),
+ *           calculate the 6x6 transition table between the BEGINR
+ *           and the other states in the cell, assuming i,j is
+ *           assigned to MATP.
+ *           Transitions to other types of nodes
+ *           at i,j (MATR, MATL, BIFURC) are easily derived from this one.
+ *           
+ * Args:     aseqsT     - transpose of alignment, [1..alen][0..nseq-1]
+ *           weights    - weights on sequences (usually just 1.0 for each)
+ *           nseq       - number of sequences                   
+ *           i,j        - i,j
+ *           trans[][]  - filled in: state transition matrix (counts)
+ *           
+ * Return:   (void)
+ *           trans[][] is filled in.          
+ */
+static void
+frombeginl_transtable(int   **aseqsT,
+		      float  *weights,
+		      int     nseq,
+		      int     i, 
+		      int     j,
+		      double  trans[STATETYPES][STATETYPES])
+{
+  int fy, ty;			/* from state index, to state index */
+  int idx;			/* counter for sequences */
+
+  /* Zero the counter array
+   */
+  for (fy = 0; fy < STATETYPES; fy++)
+    for (ty = 0; ty < STATETYPES; ty++)
+      trans[fy][ty] = 0.0;
+
+  /* For each sequence:
+   *    assign ty, based on symbols vs. gaps at i',j
+   *    use accum_insr and bump counters appropriately.
+   */
+  fy = BEGIN_ST;
+  for (idx = 0; idx < nseq; idx++)
+    {
+      ty = assign_cell(i, j, aseqsT[i][idx], aseqsT[j][idx]);
+      trans[fy][ty] += weights[idx];
+    }
+}
+
+
+
+/* Function: fromroot_transtable()
+ * 
+ * Purpose:  Given an ending cell i2,j2, calculate the
+ *           6x6 transition table between 1,alen,ROOT and this pair,
+ *           assuming (i',j') is assigned
+ *           to MATP. Transitions to other types of nodes
+ *           at i',j' (MATR, MATL, BIFURC) are easily derived from this one.
+ *           
+ * Args:     aseqsT     - transpose of alignment, [1..alen][0..nseq-1]
+ *           weights    - weights on sequences (usually just 1.0 for each)
+ *           nseq       - number of sequences                   
+ *           i2,j2      - i',j'
+ *           accum_insl - (0..nseq-1) array of number of inserted symbols
+ *                        between i,i' for each sequence
+ *           accum_insr - (0..nseq-1) array of number of inserted symbols
+ *                        between j',j for each sequence
+ *           trans[][]  - filled in: state transition matrix (counts)
+ *           
+ * Return:   (void)
+ *           trans[][] is filled in.          
+ */
+static void
+fromroot_transtable(int   **aseqsT,
+		    float  *weights,
+		    int     nseq,
+		    int     i2, 
+		    int     j2,
+		    int    *accum_insl,
+		    int    *accum_insr,
+		    double  trans[STATETYPES][STATETYPES])
+{
+  int fy, ty;			/* from state index, to state index */
+  int idx;			/* counter for sequences */
+
+  /* Zero the counter array
+   */
+  for (fy = 0; fy < STATETYPES; fy++)
+    for (ty = 0; ty < STATETYPES; ty++)
+      trans[fy][ty] = 0.0;
+
+  /* For each sequence:
+   *    assign ty, based on symbols vs. gaps at i',j'
+   *    use accum_insr and accum_insl and bump counters appropriately.
+   */
+  for (idx = 0; idx < nseq; idx++)
+    {
+      ty = assign_cell(i2,j2,aseqsT[i2][idx], aseqsT[j2][idx]);
+
+      if (accum_insl[idx] == 0 && accum_insr[idx] == 0)
+	{
+	  trans[BEGIN_ST][ty] += weights[idx];
+	}
+      else if (accum_insl[idx] > 0)
+	{
+	  trans[BEGIN_ST][INSL_ST] += weights[idx];
+	  trans[INSL_ST][INSL_ST]  += (accum_insl[idx]-1) * weights[idx];
+	  if (accum_insr[idx] > 0)
+	    {
+	      trans[INSL_ST][INSR_ST] += weights[idx];
+	      trans[INSR_ST][INSR_ST] += (accum_insr[idx]-1) * weights[idx];
+	      trans[INSR_ST][ty]      += weights[idx];
+	    }
+	  else
+	    {
+	      trans[INSL_ST][ty] += weights[idx];
+	    }
+	}
+      else if (accum_insr[idx] > 0)
+	{
+	  trans[BEGIN_ST][INSR_ST] += weights[idx];
+	  trans[INSR_ST][INSR_ST]  += (accum_insr[idx]-1) * weights[idx];
+	  trans[INSR_ST][ty]       += weights[idx];
+	}
+    } /* end loop over all sequences */
+}
+
+
+
+/* Function: assign_cell()
+ * 
+ * Purpose:  Given that we assign a cell i,j to MATP for the
+ *           whole alignment, return the actual assignment
+ *           for the given sequence seq. This will be MATP
+ *           if seq has symbols in both columns i,j; 
+ *           MATL if j is a gap; MATR if i is a gap;
+ *           DEL if both i,j are gaps.
+ *
+ *           If i == j, assign_cell returns MATP or DEL even though
+ *           MATP is not a valid assignment; the to_matr or to_matl functions
+ *           straighten this out later.
+ *           
+ * Args:     i,j : coordinates (columns in alignment)
+ *           symi: symbol in position i
+ *           symj: symbol in position j
+ *           
+ * Return:   DEL_ST, MATP_ST, MATR_ST, or MATL_ST
+ */
+static int
+assign_cell(int i, int j, int symi, int symj)
+{
+  if (i > j)          return END_ST;
+  else if (symi >= 0) 
+    {
+      if (symj >= 0)  return MATP_ST;
+      else            return MATL_ST;
+    }
+  else if (symj >= 0) return MATR_ST;
+  else                return DEL_ST;
+}
+
+
+
+
+/* Function: to_matp_transtable()
+ * 
+ * Purpose:  Given a master state transition tables containing
+ *           counts, create a table specific for transitions
+ *           to an (i',j') assigned to MATP_NODE.
+ *           
+ * Args:     master_table[][]  - the master table containing counts
+ *           trans[][]         - the new table, returned containing counts
+ * 
+ * Return:   (void)
+ *           trans[][] is filled.
+ */                              
+static void
+to_matp_transtable(double master_table[STATETYPES][STATETYPES],
+		   double trans[STATETYPES][STATETYPES])
+{
+  int fy,ty;			/* indices for from state, to state */
+
+  /* Just copy the table.
+   */
+  for (fy = 0; fy < STATETYPES; fy++)
+    for (ty = 0; ty < STATETYPES; ty++)
+      trans[fy][ty] = master_table[fy][ty];
+}
+
+
+/* Function: to_matr_transtable()
+ * 
+ * Purpose:  Given a master state transition tables containing
+ *           counts, create a table specific for transitions
+ *           to an (i',j') assigned to MATR_NODE.
+ *           
+ * Args:     master_table[][]  - the master table containing counts
+ *           trans[][]         - the new table, returned containing counts
+ * 
+ * Return:   (void)
+ *           trans[][] is filled.
+ */                              
+static void
+to_matr_transtable(double master_table[STATETYPES][STATETYPES],
+		   double trans[STATETYPES][STATETYPES])
+{
+  int fy;			/* indices for from state, to state */
+
+  for (fy = 0; fy < STATETYPES; fy++)
+    {
+      trans[fy][DEL_ST]  = master_table[fy][DEL_ST] + master_table[fy][MATL_ST];
+      trans[fy][MATP_ST] = 0.0;
+      trans[fy][MATL_ST] = 0.0;
+      trans[fy][MATR_ST] = master_table[fy][MATR_ST] + master_table[fy][MATP_ST];
+      trans[fy][INSL_ST] = master_table[fy][INSL_ST];
+      trans[fy][INSR_ST] = master_table[fy][INSR_ST];
+    }
+}
+
+
+/* Function: to_matl_transtable()
+ * 
+ * Purpose:  Given a master state transition tables containing
+ *           counts, create a table specific for transitions
+ *           to an (i',j') assigned to MATL_NODE.
+ *           
+ * Args:     master_table[][]  - the master table containing counts
+ *           trans[][]         - the new table, returned containing counts
+ * 
+ * Return:   (void)
+ *           trans[][] is filled.
+ */                              
+static void
+to_matl_transtable(double master_table[STATETYPES][STATETYPES],
+		   double trans[STATETYPES][STATETYPES])
+{
+  int fy;			/* indices for from state, to state */
+
+  for (fy = 0; fy < STATETYPES; fy++)
+    {
+      trans[fy][DEL_ST]  = master_table[fy][DEL_ST] + master_table[fy][MATR_ST];
+      trans[fy][MATP_ST] = 0.0;
+      trans[fy][MATL_ST] = master_table[fy][MATL_ST] + master_table[fy][MATP_ST];
+      trans[fy][MATR_ST] = 0.0;
+      trans[fy][INSL_ST] = master_table[fy][INSL_ST];
+      trans[fy][INSR_ST] = master_table[fy][INSR_ST];
+    }
+}
+
+
+/* Function: to_bifurc_transtable()
+ * 
+ * Purpose:  Given a master state transition tables containing
+ *           counts, create a table specific for transitions
+ *           to an (i',j') assigned to BIFURC_NODE.
+ *           
+ * Args:     master_table[][]  - the master table containing counts
+ *           trans[][]         - the new table, returned containing counts
+ * 
+ * Return:   (void)
+ *           trans[][] is filled.
+ */                              
+static void
+to_bifurc_transtable(double master_table[STATETYPES][STATETYPES],
+		     double trans[STATETYPES][STATETYPES])
+{
+  int fy;			/* indices for from state, to state */
+
+  for (fy = 0; fy < STATETYPES; fy++)
+    {
+      trans[fy][BIFURC_ST] = master_table[fy][DEL_ST] + master_table[fy][MATR_ST] +
+	                     master_table[fy][MATL_ST] + master_table[fy][MATP_ST];
+      trans[fy][MATP_ST] = 0.0;
+      trans[fy][MATL_ST] = 0.0;
+      trans[fy][MATR_ST] = 0.0;
+      trans[fy][INSL_ST] = master_table[fy][INSL_ST];
+      trans[fy][INSR_ST] = master_table[fy][INSR_ST];
+    }
+}
+
+
+
+
+
+/* Function: dot_score()
+ * 
+ * Purpose:  Calculate the dot product of counts by probabilities
+ *           for s set of state transitions: i.e. a total score
+ *           
+ * Args:     cmx:  count vector
+ *           pmx:  probability vector
+ *           
+ * Return:   score, the dot product, as an integer
+ */          
+static int
+dot_score(double *cvec, 
+	  double *pvec,
+	  int     veclen)
+{
+  int i;
+  double score = 0.0;
+
+  for (i = 0; i < veclen; i++, cvec++, pvec++)
+    if (*pvec > 0.0) score +=  *cvec * log(*pvec);
+  return ((int) INTPRECISION * score);
+}
+      
+
+
+
+#ifdef DEBUG
+
+static void
+print_mmx(struct maxmx_s **mmx, int alen)
+{
+  int i,j,y;
+
+  for (j = 0; j <= alen; j++)
+    {
+      for (y = 0; y < NODETYPES-1; y++)
+	{
+	  for (i = 0; i <= j+1; i++)
+	    printf("%5d ", mmx[j][i].sc[y] * 10 / (int) INTPRECISION);
+	  printf("\n");
+	}
+      puts("");
+    }
+}
+
+/* Function: print_assignments()
+ * 
+ * Purpose:  Using a master max likelihood tree constructed from an
+ *           alignment, print a line for each column of the alignment:
+ *           (column)  (fractional occupancy)  (assignment)
+ *           
+ *           The master tree, mtr, is a traceback tree with some of
+ *           the fields misused. emitl, emitr contain 0..alen-1 column
+ *           coordinates (even if only one of them is emitted by
+ *           this tree node). nodeidx is unused. type contains
+ *           a node type, not a state type. 
+ *           
+ *           Code partly borrowed from Trace2ali().
+ */
+static void
+print_assignments(struct trace_s *mtr, int nseq, int alen, double *gapcount)
+{
+  struct align_s      *ali;     /* linear list of alignment        */
+  struct t2ali_s      *stack;	/* stack used to traverse the traceback tr */
+  struct trace_s      *currtr;
+  struct align_s      *currali;
+  struct align_s      *newafter;
+  struct align_s      *oldafter; 
+  int                  currpos;
+
+  /* First, we generate a linear linked align_s list from the tree.
+   * The align_s structure fields are used as follows:
+   *   pos     = 0..alen-1 position in alignment
+   *   sym     = unused
+   *   nodeidx = unused
+   *   type    = node type (e.g. MATP_NODE)
+   */
+
+  /* Initialize the linked list for the alignment of sequence to model
+   */
+  ali = Init_align();
+
+  /* Initialize the pushdown stack for traversal of the traceback
+   */
+  stack = Init_t2ali();
+  Push_t2ali(stack, mtr->nxtl, ali);
+
+  while (Pop_t2ali(stack, &currtr, &oldafter))
+    {
+      if (currtr->nxtl == NULL) continue;	/* ignore END nodes */
+
+      if (currtr->nxtr != NULL)	/* BIFURC node */
+	{
+				/* deal with right branch; insert a dummy */
+	  newafter = Insafter_align(-1, '-', ' ', 0, currtr->type, oldafter);
+	  Push_t2ali(stack, currtr->nxtr, newafter);
+				/* deal with left branch */
+	  Push_t2ali(stack, currtr->nxtl, oldafter);
+	}
+      else{
+	  switch (currtr->type) {
+	  case BEGINL_NODE:
+	  case BEGINR_NODE:
+	  case ROOT_NODE:
+	    Push_t2ali(stack, currtr->nxtl, oldafter);
+	    break;
+
+	  case MATP_NODE:
+	    (void) Insafter_align(currtr->emitr, ' ', ' ', 0, currtr->type, oldafter);
+	    newafter = Insafter_align(currtr->emitl, ' ', ' ', 0, currtr->type, oldafter);
+	    Push_t2ali(stack, currtr->nxtl, newafter);
+	    break;
+
+	  case MATL_NODE:
+	    newafter = Insafter_align(currtr->emitl, ' ', ' ', 0, currtr->type, oldafter);
+	    Push_t2ali(stack, currtr->nxtl, newafter);
+	    break;
+
+	  case MATR_NODE:
+	    (void) Insafter_align(currtr->emitr, ' ', ' ', 0, currtr->type, oldafter);
+	    Push_t2ali(stack, currtr->nxtl, oldafter);
+	    break;
+	    
+	  case END_NODE:
+	    break;
+
+	  default:
+	    Die("no such node type %d", currtr->type);
+	  }
+	}
+    }
+  Free_t2ali(stack);
+
+  currpos = 0;
+  for (currali = ali->nxt; currali != NULL; currali = currali->nxt)
+    {
+      currpos++;
+      while (currpos < currali->pos)
+	{
+	  printf("%4d %.3f INS\n",
+		 currpos,
+		 ((double) nseq - gapcount[currpos]) / (double) nseq);
+	  currpos++;
+	}
+
+
+      switch (currali->type) {
+      case BEGINL_NODE:
+      case BEGINR_NODE:
+      case ROOT_NODE:
+	break;
+	
+      case MATL_NODE:
+      case MATR_NODE:
+	printf("%4d %.3f MAT singlet\n",
+	       currali->pos,
+	       ((double) nseq - gapcount[currali->pos]) / (double) nseq);
+	break;
+
+      case MATP_NODE:
+	printf("%4d %.3f MAT pairwise\n",
+	       currali->pos,
+	       ((double) nseq - gapcount[currali->pos]) / (double) nseq);
+	break;
+      }
+    }
+
+  while (currpos <= alen)
+    {
+      printf("%4d %.3f INS\n",
+	     currpos,
+	     ((double) nseq - gapcount[currpos]) / (double) nseq);
+      currpos++;
+    }
+
+  Free_align(ali);
+}
+
+#endif /* DEBUG */
+
+
+
diff --git a/misc.c b/misc.c
new file mode 100644
index 0000000..61fbe96
--- /dev/null
+++ b/misc.c
@@ -0,0 +1,196 @@
+/* misc.c
+ * Stuff with no obvious other place to go;
+ * mostly alphabet-related functions.
+ * SRE, Mon Sep  6 10:50:46 1993
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#include "squid.h"
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+char *ALPHABET = RNA_ALPHABET;
+
+
+/* Function: SymbolIndex()
+ * 
+ * Purpose:  Given a sequence symbol, return an array index. 
+ *           Used for retrieving emission statistics from the
+ *           model. This would be trivial, except that we must
+ *           expect to see degenerate codes for both RNA and
+ *           protein sequence. The rule we follow for degenerate
+ *           codes is like BLAST -- we choose one possibility
+ *           at random. Note that this is unlike the HMM package,
+ *           which goes to the trouble of calculating a weighted
+ *           average of the possibilities.
+ *           
+ *           If the symbol is not recognized, print a warning but
+ *           treat it as a fully ambiguous position (N or X).
+ *           
+ * Return:   the index, usually 0..3 or 0..19.
+ */
+int
+SymbolIndex(char  sym)
+{
+  char *sptr;
+				/* trivial case: sym is in alphabet */
+  if ((sptr = strchr(ALPHABET, sym)) != NULL)
+    return (sptr - ALPHABET);
+
+				/* non-trivial case: possible degenerate symbol */
+  if (ALPHATYPE == kAmino)
+    {
+      switch (sym) {
+      case 'B': return (strchr(ALPHABET, "ND"[CHOOSE(2)]) - ALPHABET);
+      case 'Z': return (strchr(ALPHABET, "QE"[CHOOSE(2)]) - ALPHABET);
+      default:
+	Warn("Warning: unrecognized character %c in sequence\n", sym);
+				/* break thru to case 'X' */
+      case 'X':
+	return(CHOOSE(20));
+      }
+    }
+
+  else if (ALPHATYPE == kDNA)
+    {
+      switch (sym) {
+      case 'B': return (strchr(ALPHABET, "CGT"[CHOOSE(3)]) - ALPHABET);
+      case 'D': return (strchr(ALPHABET, "AGT"[CHOOSE(3)]) - ALPHABET);
+      case 'H': return (strchr(ALPHABET, "ACT"[CHOOSE(3)]) - ALPHABET);
+      case 'K': return (strchr(ALPHABET, "GT" [CHOOSE(2)]) - ALPHABET);
+      case 'M': return (strchr(ALPHABET, "AC" [CHOOSE(2)]) - ALPHABET);
+      case 'R': return (strchr(ALPHABET, "AG" [CHOOSE(2)]) - ALPHABET);
+      case 'S': return (strchr(ALPHABET, "CG" [CHOOSE(2)]) - ALPHABET);
+      case 'U': return (strchr(ALPHABET, 'T')                 - ALPHABET);
+      case 'V': return (strchr(ALPHABET, "ACG"[CHOOSE(3)]) - ALPHABET);
+      case 'W': return (strchr(ALPHABET, "AT" [CHOOSE(2)]) - ALPHABET);
+      case 'Y': return (strchr(ALPHABET, "CT" [CHOOSE(2)]) - ALPHABET);
+
+      case 'N': return (CHOOSE(4));
+      case 'X': return (CHOOSE(4)); /* X is not IUPAC, but that doesn't stop 
+					  biologists from using it. */
+      default:	
+	Warn("Warning: unrecognized character %c in sequence\n", sym);
+	return (CHOOSE(4));
+      }
+    }
+
+  else if (ALPHATYPE == kRNA)
+    {
+      switch (sym) {
+      case 'B': return (strchr(ALPHABET, "CGU"[CHOOSE(3)]) - ALPHABET);
+      case 'D': return (strchr(ALPHABET, "AGU"[CHOOSE(3)]) - ALPHABET);
+      case 'H': return (strchr(ALPHABET, "ACU"[CHOOSE(3)]) - ALPHABET);
+      case 'K': return (strchr(ALPHABET, "GU" [CHOOSE(2)]) - ALPHABET);
+      case 'M': return (strchr(ALPHABET, "AC" [CHOOSE(2)]) - ALPHABET);
+      case 'R': return (strchr(ALPHABET, "AG" [CHOOSE(2)]) - ALPHABET);
+      case 'S': return (strchr(ALPHABET, "CG" [CHOOSE(2)]) - ALPHABET);
+      case 'T': return (strchr(ALPHABET, 'U')                 - ALPHABET);
+      case 'V': return (strchr(ALPHABET, "ACG"[CHOOSE(3)]) - ALPHABET);
+      case 'W': return (strchr(ALPHABET, "AU" [CHOOSE(2)]) - ALPHABET);
+      case 'Y': return (strchr(ALPHABET, "CU" [CHOOSE(2)]) - ALPHABET);
+
+      case 'N': return (CHOOSE(4));
+      case 'X': return (CHOOSE(4));  /* X is not IUPAC, but that doesn't stop 
+					  biologists from using it. */
+      default:	
+	Warn("Warning: unrecognized character %c in sequence\n", sym);
+	return (CHOOSE(4));
+      }
+    }
+  return 0;			/* not reached */
+}
+
+
+/* Function: PrepareSequence()
+ * 
+ * Purpose:  Ran into a severe bug caused by degenerate symbols. Original
+ *           strategy was to randomly assign a single symbol as we do
+ *           Viterbi calculations, but since we don't keep traceback pointers
+ *           when the trace tries to recalculate, it doesn't know the
+ *           random choices made by VitFill(). 
+ *           
+ *           This is a fix, and it's a bit more extreme. Go through a
+ *           sequence and *replace* degenerate symbols once
+ *           and for all with single randomly chosen ones. Also,
+ *           we convert to upper case ALPHATYPE alphabet.
+ *           
+ * Args:     seq - sequence to prepare.
+ *           
+ * Return:   1 on success, 0 on failure.
+ */
+int
+PrepareSequence(char *seq)
+{
+  char *sym;
+
+  for (sym = seq; *sym != '\0'; sym++)
+    {
+      *sym = toupper((int)*sym);
+				/* sym is in alphabet, or a gap? ok, go to next one */
+      if (strchr(ALPHABET, *sym) != NULL ||
+	  isgap(*sym)) 
+	continue;
+
+      /* then it's a degenerate symbol.
+       * According to alphabet, choose a single symbol to represent it.
+       * watch out for too-clever scheme for random choice: "ABC"[random() % 3]
+       */
+      if (ALPHATYPE == kRNA)
+	{
+	  switch (*sym) {
+	  case 'B': *sym = "CGU"[CHOOSE(3)]; break;
+	  case 'D': *sym = "AGU"[CHOOSE(3)]; break;
+	  case 'H': *sym = "ACU"[CHOOSE(3)]; break;
+	  case 'K': *sym = "GU" [CHOOSE(2)]; break;
+	  case 'M': *sym = "AC" [CHOOSE(2)]; break;
+	  case 'R': *sym = "AG" [CHOOSE(2)]; break;
+	  case 'S': *sym = "CG" [CHOOSE(2)]; break;
+	  case 'T': *sym = 'U';                 break;
+	  case 'V': *sym = "ACG"[CHOOSE(3)]; break;
+	  case 'W': *sym = "AU" [CHOOSE(2)]; break;
+	  case 'Y': *sym = "CU" [CHOOSE(2)]; break;
+	  default:	Warn("Warning: unrecognized character %c in sequence\n", *sym);
+	    /* break through to case 'N' */
+	  case 'N': *sym = ALPHABET[CHOOSE(4)]; break;
+	  }
+	}
+      else if (ALPHATYPE == kDNA)
+	{
+	  switch (*sym) {
+	  case 'B': *sym = "CGT"[CHOOSE(3)]; break;
+	  case 'D': *sym = "AGT"[CHOOSE(3)]; break;
+	  case 'H': *sym = "ACT"[CHOOSE(3)]; break;
+	  case 'K': *sym = "GT" [CHOOSE(2)]; break;
+	  case 'M': *sym = "AC" [CHOOSE(2)]; break;
+	  case 'R': *sym = "AG" [CHOOSE(2)]; break;
+	  case 'S': *sym = "CG" [CHOOSE(2)]; break;
+	  case 'U': *sym = 'T';                 break;
+	  case 'V': *sym = "ACG"[CHOOSE(3)]; break;
+	  case 'W': *sym = "AT" [CHOOSE(2)]; break;
+	  case 'Y': *sym = "CT" [CHOOSE(3)]; break;
+	  default:	Warn("Warning: unrecognized character %c in sequence\n", *sym);
+	    /* break through to case 'N' */
+	  case 'N': *sym = ALPHABET[CHOOSE(4)]; break;
+	  }
+	}
+      else
+	{
+	  Warn("Warning: non-nucleic acid alphabet, unrecognized character %c in sequence\n", *sym);
+	  *sym = ALPHABET[CHOOSE(ALPHASIZE)];
+	}
+    }
+  return 1;
+}
+
+
+
diff --git a/model.c b/model.c
new file mode 100644
index 0000000..5517788
--- /dev/null
+++ b/model.c
@@ -0,0 +1,771 @@
+/* model.c
+ * Allocation, initialization, free'ing of models.
+ *
+ * Includes code supporting both original node-based CM structure, as well
+ * as the modified, state-based CM structure used by the newer alignment
+ * implementations.
+ *
+ * SRE, Tue Sep  7 09:22:03 1993
+ * 
+ */
+
+
+#include <stdlib.h>
+#include <string.h>
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+static void fill_state(struct istate_s *st, int nodeidx, int statetype, int offset);
+static void copy_singlet_emissions(struct istate_s *st, double *emvec, double *rfreq);
+static void copy_pairwise_emissions(struct istate_s *st, double *em, double *rfreq);
+static void copy_state_transitions(struct istate_s *st, double *tvec, int tflags);
+static void copy_pstate_transitions(struct pstate_s *st, double *tvec, int tflags);
+static void fill_pstate(struct pstate_s *st, int nodeidx, int statetype, int offset);
+
+/* Function: AllocCM()
+ * 
+ * Purpose:  Allocate for a model containing some number of nodes,
+ *           inclusive of root but exclusive of ENDs. Blank the model.
+ *           
+ * Args:     nodes - number of nodes to allocate for
+ *                   
+ * Return:   pointer to the new model. Caller must free, with FreeCM()
+ */
+struct cm_s *
+AllocCM(int nodes)
+{
+  struct cm_s *cm;
+  int          k;
+
+  if ((cm = (struct cm_s *) malloc (sizeof(struct cm_s))) == NULL)
+    Die("malloc failed");
+
+  cm->nodes  = nodes;
+
+  if ((cm->nd = (struct node_s *) malloc (nodes * sizeof(struct node_s))) == NULL)
+    Die("malloc failed");
+
+  /* fast way to wipe everything to zero  */
+  memset(cm->nd, 0, (nodes * sizeof(struct node_s)));
+  
+  /* set all the topology connections to -1 */
+  for (k = 0; k < nodes; k++)
+    cm->nd[k].nxt = cm->nd[k].nxt2 = -1;
+      
+  return cm;
+}
+      
+
+/* Function: FreeCM()
+ * 
+ * Purpose:  Free memory allocated to a covariance model.
+ * 
+ * Return:   (void)
+ */
+void
+FreeCM(struct cm_s *cm)
+{
+ free(cm->nd);
+ free(cm);
+}
+
+
+
+/* Function: NormalizeCM()
+ * 
+ * Purpose:  Normalize all the probability distributions in a model.
+ *           Only normalizes the meaningful ones: i.e., matr_emit
+ *           emission statistics are ignored for MATL_NODEs, etc.
+ *           
+ * Return:  (void)
+ */
+void
+NormalizeCM(struct cm_s *cm)
+{
+  int    k;			/* counter over nodes            */
+  int    fy;        		/* from statetype, to statetype  */
+
+
+  for (k = 0; k < cm->nodes; k++)
+    {
+      for (fy = 0; fy < STATETYPES; fy++)
+	DNorm(cm->nd[k].tmx[fy], STATETYPES);       /* state transitions */
+      
+      DNorm((double *) cm->nd[k].mp_emit, ALPHASIZE * ALPHASIZE); /* MATP emissions */
+      DNorm(cm->nd[k].ml_emit, ALPHASIZE);             /* MATL emissions */
+      DNorm(cm->nd[k].mr_emit, ALPHASIZE);             /* MATR emissions */
+      DNorm(cm->nd[k].il_emit, ALPHASIZE);             /* INSL emissions */
+      DNorm(cm->nd[k].ir_emit, ALPHASIZE);             /* INSR emissions */
+    }
+}
+
+
+
+/* Function: VerifyCM()
+ * 
+ * Purpose:  Have a look at a CM and make sure nothing stupid
+ *           is wrong with it. Returns 0 if something's wrong
+ *           and writes diagnostics to stderr. Returns 1 if
+ *           everything looks OK.
+ */
+int
+VerifyCM(struct cm_s *cm)
+{
+  int status = 1;
+  int    k;			/* counter over nodes            */
+
+  for (k = 0; k < cm->nodes; k++)
+    {
+      if (cm->nd[k].type < 0 || cm->nd[k].type >= NODETYPES)
+	{
+	  status = 0;
+	  fprintf(stderr, "Node %d has invalid type %d\n", k, cm->nd[k].type);
+	}
+
+      if ((cm->nd[k].nxt <= k && cm->nd[k].nxt != -1) ||
+	  (cm->nd[k].nxt >= cm->nodes))
+	{
+	  status = 0;
+	  fprintf(stderr, "Node %d points to invalid left child %d\n", k, cm->nd[k].nxt);
+	}
+
+      if ((cm->nd[k].nxt2 <= k && cm->nd[k].nxt2 != -1) ||
+	  (cm->nd[k].nxt2 >= cm->nodes))
+	{
+	  status = 0;
+	  fprintf(stderr, "Node %d points to invalid right child %d\n", k, cm->nd[k].nxt2);
+	}
+    }
+  return status;
+}
+
+
+/* Function: RearrangeCM()
+ * 
+ * Purpose:  Convert a cm into an "integer cm", a specialized structure
+ *           used only in the alignment algorithms.
+ *
+ *           The integer CM is an array of istate_s structures; i.e., rather 
+ *           than a node-oriented form, a state-oriented form. Rearrange
+ *           transition tables to optimize the recursion in recurse_mx().
+ * 
+ *           The node is expanded into states in proper order (uDEL_ST,
+ *           uMATP_ST, uMATL_ST, uMATR_ST, uINSL_ST, uINSR_ST). However, the 
+ *           state transition vectors are rearranged such that INSL, INSR
+ *           are the first elements.
+ *
+ *           Insert states are explicitly assumed to have a zero emission
+ *           score!
+ *           
+ * Args:     cm -      a covariance model, probability form
+ *           rfreq  -  frequencies to use as a random model (expected background)
+ *           ret_icm - RETURN: array of istate_s structures for states 
+ *                     in model. Contains a state 0 for the root;
+ *                     does not contain anything for the end
+ *           ret_statenum - number of states in ret_icm, 0..statenum-1            
+ *           
+ * Return:   1 on success, 0 on failure.
+ *           ret_icm is malloc'ed here and must be free'ed by caller;
+ *           use free(*ret_icm).
+ */          
+int  
+RearrangeCM(struct cm_s      *cm, 
+	    double           *rfreq,
+	    struct istate_s **ret_icm, 
+	    int              *ret_statenum)
+{
+  struct istate_s *icm;         /* new int-lod states-based model */
+  struct istate_s *smallicm;    /* streamlined (realloc'ed) icm   */
+  struct m2ali_s  *bifstack;    /* pda for deferring bifurc connection assignment */
+  int        bifidx;		/* state index of a BEGINR's parent bifurc        */
+  int        k;			/* counter for nodes              */
+  int        y;			/* counter for states             */
+  int        tflags;		/* flags for which to state transitions are used   */
+  int        fflags;		/* flags for which from state transitions are used */
+  int        offset;		/* offset to next connected state */
+
+  /* We know we can fit the new model into cm->nodes * STATETYPES 
+   * states. We'll give back the excess memory later.
+   */
+  if ((icm = (struct istate_s *) calloc ((cm->nodes * STATETYPES), sizeof(struct istate_s))) == NULL)
+    return 0;
+  
+  bifstack = Init_m2ali();
+  
+  y = 0;
+  for (k = 0; k < cm->nodes; k++)
+    {
+				/* figure out what we're connected to */
+      if (cm->nd[k].nxt == -1)
+	tflags = uEND_ST;
+      else
+	{
+	  switch (cm->nd[cm->nd[k].nxt].type) {
+	  case BIFURC_NODE: 
+	    tflags = uBIFURC_ST; 
+	    break;
+
+	  case MATP_NODE:  
+	    tflags = uDEL_ST | uMATP_ST | uMATR_ST | uMATL_ST;
+	    break; 
+
+	  case MATL_NODE:   
+	    tflags = uDEL_ST | uMATL_ST;
+	    break;
+
+	  case MATR_NODE:  
+	    tflags = uDEL_ST | uMATR_ST;
+	    break;
+
+	  case BEGINL_NODE:
+	  case BEGINR_NODE: 
+	    tflags = uBEGIN_ST;
+	    break;
+
+	  default: Die("no such node type %d", cm->nd[cm->nd[k].nxt].type);
+	  }
+	}
+
+				/* figure out what we're coming from */
+      switch (cm->nd[k].type) {
+      case BIFURC_NODE: 
+	fflags = uBIFURC_ST;
+	offset = 1;
+	break;
+
+      case MATP_NODE:
+	fflags = uDEL_ST | uMATP_ST | uMATL_ST | uMATR_ST | uINSL_ST | uINSR_ST;
+	tflags |= uINSL_ST | uINSR_ST;
+	offset = 4;
+	break;
+
+      case MATL_NODE:
+	fflags = uDEL_ST | uMATL_ST | uINSL_ST;
+	tflags |= uINSL_ST;
+	offset = 2;
+	break;
+	
+      case MATR_NODE:
+	fflags = uDEL_ST | uMATR_ST | uINSR_ST;
+	tflags |=  uINSR_ST;
+	offset = 2;
+	break;
+
+      case BEGINL_NODE:
+	fflags = uBEGIN_ST;
+	offset = 1;
+	break;
+	
+      case BEGINR_NODE:
+	fflags  = uBEGIN_ST | uINSL_ST;
+	offset  = 1;
+	tflags |= uINSL_ST;
+	break;
+
+      case ROOT_NODE:
+	fflags = uBEGIN_ST | uINSL_ST | uINSR_ST;
+	offset = 1;
+	tflags |= uINSL_ST | uINSR_ST;
+	break;
+
+      default: Die("No such node type %d\n", cm->nd[k].type);
+	
+      }
+
+      if (fflags & uDEL_ST)
+	{
+	  fill_state(&icm[y],   k, uDEL_ST,  offset);
+	  copy_state_transitions(&icm[y], cm->nd[k].tmx[DEL_ST], tflags);
+	  offset--;
+	  y++;
+	}
+      else if (fflags & uBIFURC_ST)
+	{
+	  fill_state(&icm[y],   k, uBIFURC_ST,  offset);
+	  /* A hack. tmx[0] gets the state index of the left connected BEGIN
+	   * child; tmx[1] gets the right connected BEGIN child. The left
+           * child is guaranteed to be the next state, but the assignment
+           * of the right state must be deferred: we push the bifurc state index
+	   * into a pda
+	   */
+	  icm[y].tmx[0] = y+1;
+	  Push_m2ali(bifstack, y, 0, NULL);
+	  y++;
+	}
+      else if (fflags & uBEGIN_ST)
+	{
+	  fill_state(&icm[y],   k, uBEGIN_ST,  offset);
+	  copy_state_transitions(&icm[y], cm->nd[k].tmx[DEL_ST], tflags);
+
+	  /* continuation of the above commentary. If we're a right BEGIN_ST,
+	   * then we pop the state index of our parent bifurc off the pda
+	   */
+	  if (cm->nd[k].type == BEGINR_NODE)
+	    {
+	      Pop_m2ali(bifstack, &bifidx, (int *) NULL, (struct align_s **) NULL);
+	      icm[bifidx].tmx[1] = y;
+	    }
+
+	  offset--;
+	  y++;
+	}
+
+      if (fflags & uMATP_ST)
+	{
+	  fill_state(&icm[y], k, uMATP_ST, offset);
+	  copy_pairwise_emissions(&icm[y], (double *) cm->nd[k].mp_emit, rfreq);
+	  copy_state_transitions(&icm[y], cm->nd[k].tmx[MATP_ST], tflags);
+	  offset--;
+	  y++;
+	}
+
+      if (fflags & uMATL_ST)
+	{
+	  fill_state(&icm[y], k, uMATL_ST, offset);
+	  copy_singlet_emissions(&icm[y], cm->nd[k].ml_emit, rfreq);
+	  copy_state_transitions(&icm[y], cm->nd[k].tmx[MATL_ST], tflags);
+	  offset--;
+	  y++;
+	}
+
+      if (fflags & uMATR_ST)
+	{
+	  fill_state(&icm[y], k, uMATR_ST, offset);
+	  copy_singlet_emissions(&icm[y], cm->nd[k].mr_emit, rfreq);
+	  copy_state_transitions(&icm[y], cm->nd[k].tmx[MATR_ST], tflags);
+	  offset--;
+	  y++;
+	}
+
+      if (fflags & uINSL_ST)
+	{
+	  fill_state(&icm[y], k, uINSL_ST, 0);
+	  copy_singlet_emissions(&icm[y], cm->nd[k].il_emit, rfreq);
+	  copy_state_transitions(&icm[y], cm->nd[k].tmx[INSL_ST], tflags);
+	  y++;
+	}
+
+      if (fflags & uINSR_ST)
+	{
+				/* beware an asymmetry: INSR->INSL transits are disallowed */
+	  fill_state(&icm[y], k, uINSR_ST, 0);
+	  copy_singlet_emissions(&icm[y], cm->nd[k].ir_emit, rfreq);
+	  copy_state_transitions(&icm[y], cm->nd[k].tmx[INSR_ST], tflags & ~uINSL_ST);
+	  y++;
+	}
+      
+
+      /* End states must be added
+       */
+      if  (cm->nd[k].nxt == -1)
+	{
+	  fill_state(&icm[y], -1, uEND_ST, 0);
+	  y++;
+	}
+    } /* end loop over nodes */
+
+
+  Free_m2ali(bifstack);
+  
+  /* Return some of the alloc'ed memory
+   */
+  smallicm = (struct istate_s *) realloc (icm, y * sizeof(struct istate_s));
+  *ret_icm = (smallicm != NULL) ? smallicm : icm;
+  *ret_statenum = y;
+  return 1;
+}
+
+
+
+/* Function: fill_state()
+ * 
+ * Purpose:  fill in values in a state: node index, state type unique
+ *           identifier, offset to first of the next states, and number 
+ *           of ynext connections.
+ *           
+ *           transition and emission probabilities are dealt with
+ *           elsewhere.
+ *           
+ */
+static void
+fill_state(struct istate_s *st,
+	   int              nodeidx,
+	   int              statetype,
+	   int              offset)
+{
+  st->nodeidx    = nodeidx;
+  st->statetype  = statetype;
+  st->offset     = offset;
+}
+
+
+
+/* Function: copy_singlet_emissions()
+ * 
+ * Purpose:  Copy a singlet emission vector into a state structure,
+ *           converting the probabilities into integer log odds.
+ */
+static void
+copy_singlet_emissions(struct istate_s *st, double *emvec, double *rfreq)
+{
+  int x;
+
+  for (x = 0; x < ALPHASIZE; x++)
+    st->emit[x] = ILOG2(emvec[x] / rfreq[x]);
+}
+
+
+
+
+/* Function: copy_pairwise_emissions()
+ * 
+ * Purpose:  Copy a pairwise emission table into a state structure,
+ *           converting the probabilities into integer log odds.
+ *           Beware the funny business with the pairwise emission
+ *           array; it was mp_emit[4][4], now cast to a pointer,
+ *           and accessed like a vector.
+ */
+static void
+copy_pairwise_emissions(struct istate_s *st, double *em, double *rfreq)
+{
+  int x; 
+
+  for (x = 0; x < ALPHASIZE * ALPHASIZE; x++)
+    st->emit[x] = ILOG2(em[x] / (rfreq[x % ALPHASIZE] * rfreq[x / ALPHASIZE]));
+}
+
+
+
+
+/* Function: copy_state_transitions()
+ * 
+ * Purpose:  Copy a state transition vector from a CM into a state
+ *           structure, copying only the used state transitions
+ *           as given by tflags. The state transition vector is
+ *           rearranged for an optimization: transits to INSL, INSR 
+ *           are placed first.
+ */
+static void
+copy_state_transitions(struct istate_s *st,
+		       double          *tvec,
+		       int              tflags)
+{
+  int stx;		/* counter for state vector */
+
+  stx = 0; 
+  if (tflags & uINSL_ST)
+    { st->tmx[stx] = ILOG2(tvec[INSL_ST]);  stx++; }
+  
+  if (tflags & uINSR_ST)
+    { st->tmx[stx] = ILOG2(tvec[INSR_ST]);  stx++; }
+
+  if (tflags & uDEL_ST || tflags & uBIFURC_ST ||
+      tflags & uBEGIN_ST || tflags & uEND_ST)
+    { st->tmx[stx] = ILOG2(tvec[DEL_ST]);   stx++; }
+      
+  if (tflags & uMATP_ST)
+    { st->tmx[stx] = ILOG2(tvec[MATP_ST]);  stx++; }
+
+  if (tflags & uMATL_ST)
+    { st->tmx[stx] = ILOG2(tvec[MATL_ST]);  stx++; }
+
+  if (tflags & uMATR_ST)
+    { st->tmx[stx] = ILOG2(tvec[MATR_ST]);  stx++; }
+
+  st->connectnum = stx;
+}    
+
+
+/* Function: MakePCM()
+ * 
+ * Purpose:  Like RearrangeCM(), but leaving the model
+ *           in floating-point probabilities in struct pstate_s
+ *           structures.
+ *           
+ * Args:     cm -      a covariance model, probability form
+ *           ret_pcm - RETURN: array of pstate_s structures for states 
+ *                     in model. Contains a state 0 for the root.
+ *                     end states are explicit.
+ *           ret_statenum - number of states in ret_pcm, 0..statenum-1            
+ *           
+ * Return:   1 on success, 0 on failure.
+ *           ret_pcm is malloc'ed here and must be free'ed by caller;
+ *           use free(*ret_pcm).
+ */          
+int  
+MakePCM(struct cm_s      *cm, 
+	struct pstate_s **ret_pcm, 
+	int              *ret_statenum)
+{
+  struct pstate_s *pcm;         /* new states-based model */
+  struct pstate_s *smallpcm;    /* streamlined (realloc'ed) pcm   */
+  struct intstack_s *bifstack;  /* pda for deferring bifurc connection assignment */
+  int        bifidx;		/* state index of a BEGINR's parent bifurc        */
+  int        k;			/* counter for nodes              */
+  int        y;			/* counter for states             */
+  int        tflags;		/* flags for which to state transitions are used   */
+  int        fflags;		/* flags for which from state transitions are used */
+  int        offset;		/* offset to next connected state */
+
+  /* We know we can fit the new model into cm->nodes * STATETYPES 
+   * states. We'll give back the excess memory later.
+   */
+  if ((pcm = (struct pstate_s *) calloc ((cm->nodes * STATETYPES), sizeof(struct pstate_s))) == NULL)
+    return 0;
+
+  bifstack = InitIntStack();
+  
+  y = 0;
+  for (k = 0; k < cm->nodes; k++)
+    {
+				/* figure out what we're connected to */
+      if (cm->nd[k].nxt == -1)
+	tflags = uEND_ST;
+      else
+	{
+	  switch (cm->nd[cm->nd[k].nxt].type) {
+	  case BIFURC_NODE: tflags = uBIFURC_ST; 	                       break;
+	  case MATP_NODE:   tflags = uDEL_ST | uMATP_ST | uMATR_ST | uMATL_ST; break;
+	  case MATL_NODE:   tflags = uDEL_ST | uMATL_ST;                       break;
+	  case MATR_NODE:   tflags = uDEL_ST | uMATR_ST;                       break;
+	  case BEGINL_NODE: tflags = uBEGIN_ST;                                break;
+	  case BEGINR_NODE: tflags = uBEGIN_ST;                                break;
+	  default: Die("no such node type %d", cm->nd[cm->nd[k].nxt].type);
+	  }
+	}
+
+				/* figure out what we're coming from */
+      switch (cm->nd[k].type) {
+      case BIFURC_NODE: 
+	fflags = uBIFURC_ST;
+	offset = 1;
+	break;
+
+      case MATP_NODE:
+	fflags = uDEL_ST | uMATP_ST | uMATL_ST | uMATR_ST | uINSL_ST | uINSR_ST;
+	tflags |= uINSL_ST | uINSR_ST;
+	offset = 4;
+	break;
+
+      case MATL_NODE:
+	fflags = uDEL_ST | uMATL_ST | uINSL_ST;
+	tflags |= uINSL_ST;
+	offset = 2;
+	break;
+	
+      case MATR_NODE:
+	fflags = uDEL_ST | uMATR_ST | uINSR_ST;
+	tflags |=  uINSR_ST;
+	offset = 2;
+	break;
+
+      case BEGINL_NODE:
+	fflags = uBEGIN_ST;
+	offset = 1;
+	break;
+	
+      case BEGINR_NODE:
+	fflags  = uBEGIN_ST | uINSL_ST;
+	offset  = 1;
+	tflags |= uINSL_ST;
+	break;
+
+      case ROOT_NODE:
+	fflags = uBEGIN_ST | uINSL_ST | uINSR_ST;
+	offset = 1;
+	tflags |= uINSL_ST | uINSR_ST;
+	break;
+
+      default: Die("No such node type %d\n", cm->nd[k].type);
+	
+      }
+
+      if (fflags & uDEL_ST)
+	{
+	  fill_pstate(&pcm[y],   k, uDEL_ST,  offset);
+	  copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[DEL_ST], tflags);
+	  offset--;
+	  y++;
+	}
+      else if (fflags & uBIFURC_ST)
+	{
+	  fill_pstate(&pcm[y],   k, uBIFURC_ST,  offset);
+				/* We defer the assignment of bifr */
+	  PushIntStack(bifstack, y);
+	  y++;
+	}
+      else if (fflags & uBEGIN_ST)
+	{
+	  fill_pstate(&pcm[y],   k, uBEGIN_ST,  offset);
+	  copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[DEL_ST], tflags);
+
+	  /* continuation of the above commentary. If we're a right BEGIN_ST,
+	   * then we pop the state index of our parent bifurc off the pda
+	   */
+	  if (cm->nd[k].type == BEGINR_NODE)
+	    {
+	      PopIntStack(bifstack, &bifidx);
+	      pcm[bifidx].bifr = y;
+	    }
+	  offset--;
+	  y++;
+	}
+
+      if (fflags & uMATP_ST)
+	{
+	  fill_pstate(&pcm[y], k, uMATP_ST, offset);
+	  memcpy(pcm[y].emit, cm->nd[k].mp_emit, sizeof(double) * ALPHASIZE * ALPHASIZE);
+	  copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[MATP_ST], tflags);
+	  offset--;
+	  y++;
+	}
+
+      if (fflags & uMATL_ST)
+	{
+	  fill_pstate(&pcm[y], k, uMATL_ST, offset);
+	  memcpy(pcm[y].emit, cm->nd[k].ml_emit, sizeof(double) * ALPHASIZE);
+	  copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[MATL_ST], tflags);
+	  offset--;
+	  y++;
+	}
+
+      if (fflags & uMATR_ST)
+	{
+	  fill_pstate(&pcm[y], k, uMATR_ST, offset);
+	  memcpy(pcm[y].emit, cm->nd[k].mr_emit, sizeof(double) * ALPHASIZE);
+	  copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[MATR_ST], tflags);
+	  offset--;
+	  y++;
+	}
+
+      if (fflags & uINSL_ST)
+	{
+	  fill_pstate(&pcm[y], k, uINSL_ST, 0);
+	  memcpy(pcm[y].emit, cm->nd[k].il_emit, sizeof(double) * ALPHASIZE);
+	  copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[INSL_ST], tflags);
+	  y++;
+	}
+
+      if (fflags & uINSR_ST)
+	{
+				/* beware an asymmetry: INSR->INSL transits are disallowed */
+	  fill_pstate(&pcm[y], k, uINSR_ST, 0);
+	  memcpy(pcm[y].emit, cm->nd[k].ir_emit, sizeof(double) * ALPHASIZE);
+	  copy_pstate_transitions(&pcm[y], cm->nd[k].tmx[INSR_ST], tflags & ~uINSL_ST);
+	  y++;
+	}
+      
+
+      /* End states must be added
+       */
+      if  (cm->nd[k].nxt == -1)
+	{
+	  fill_pstate(&pcm[y], -1, uEND_ST, 0);
+	  y++;
+	}
+    } /* end loop over nodes */
+
+
+  FreeIntStack(bifstack);
+  
+  /* Return some of the alloc'ed memory
+   */
+  smallpcm = (struct pstate_s *) realloc (pcm, y * sizeof(struct pstate_s));
+  *ret_pcm = (smallpcm != NULL) ? smallpcm : pcm;
+  *ret_statenum = y;
+  return 1;
+}
+
+
+
+
+/* Function: copy_pstate_transitions()
+ * 
+ * Purpose:  Copy a state transition vector from a CM into a state
+ *           structure, copying only the used state transitions
+ *           as given by tflags. The state transition vector is
+ *           rearranged for an optimization: transits to INSL, INSR 
+ *           are placed first.
+ */
+static void
+copy_pstate_transitions(struct pstate_s *st,
+		       double          *tvec,
+		       int              tflags)
+{
+  int stx;		/* counter for state vector */
+
+  stx = 0; 
+  if (tflags & uINSL_ST)
+    { st->tmx[stx] = tvec[INSL_ST];  stx++; }
+  
+  if (tflags & uINSR_ST)
+    { st->tmx[stx] = tvec[INSR_ST];  stx++; }
+
+  if (tflags & uDEL_ST || tflags & uBIFURC_ST ||
+      tflags & uBEGIN_ST || tflags & uEND_ST)
+    { st->tmx[stx] = tvec[DEL_ST];   stx++; }
+      
+  if (tflags & uMATP_ST)
+    { st->tmx[stx] = tvec[MATP_ST];  stx++; }
+
+  if (tflags & uMATL_ST)
+    { st->tmx[stx] = tvec[MATL_ST];  stx++; }
+
+  if (tflags & uMATR_ST)
+    { st->tmx[stx] = tvec[MATR_ST];  stx++; }
+
+  st->connectnum = stx;
+}    
+
+
+/* Function: fill_pstate()
+ * 
+ * Purpose:  fill in values in a state: node index, state type unique
+ *           identifier, offset to first of the next states.
+ *           
+ *           transition and emission probabilities are dealt with
+ *           elsewhere.
+ *           
+ */
+static void
+fill_pstate(struct pstate_s *st,
+	    int              nodeidx,
+	    int              statetype,
+	    int              offset)
+{
+  st->nodeidx    = nodeidx;
+  st->statetype  = statetype;
+  st->offset     = offset;
+}
+
+
+/* Function: NormalizePCM()
+ * 
+ * Purpose:  Make damn sure a probability-form, states-based CM is
+ *           properly normalized. Workaround for a bug!
+ */
+void
+NormalizePCM(struct pstate_s *pcm, int M)
+{
+  int    y;
+
+  for (y = 0; y < M; y++)
+    {
+				/* emission distributions */
+      switch (pcm[y].statetype) {
+      case uMATP_ST: DNorm(pcm[y].emit, ALPHASIZE * ALPHASIZE); break;
+      case uMATL_ST:
+      case uMATR_ST:
+      case uINSL_ST:
+      case uINSR_ST: DNorm(pcm[y].emit, ALPHASIZE); break;
+      }
+
+				/* transition distributions */
+      if (pcm[y].statetype != uBIFURC_ST)
+	DNorm(pcm[y].tmx, pcm[y].connectnum);
+    }
+}
diff --git a/modelmaking.c b/modelmaking.c
new file mode 100644
index 0000000..71c5968
--- /dev/null
+++ b/modelmaking.c
@@ -0,0 +1,462 @@
+/* modelmaking.c
+ * Tue Oct  4 15:33:21 1994
+ * 
+ * Bring together common elements of the model construction process.
+ * Also, provides EasyModelmaker() for making a model given a structure.
+ * 
+ * All model makers have in common that they construct a "master" traceback
+ * for the alignment, specifying which columns are match vs. insert and
+ * how the model tree branches. This traceback is assigned a numbering
+ * system by NumberMasterTrace(), which returns the number of nodes;
+ * the caller then allocates a new CM. This new model is numbered (assigned
+ * a branching structure) by TopofyNewCM(). Then individual tracebacks 
+ * are constructed from individual aligned sequences by Transmogrify(). 
+ * The individual tracebacks are counted into a new model with TraceCount()
+ * and the counts converted to probabilities with ProbifyCM().
+ * 
+ * The master tree is a (slightly misused) trace_s structure with the following 
+ * properties:
+ *     insert columns are not represented at all. Transmogrify() must deal.
+ *         
+ *     emitl, emitr == 0..alen-1 coords of assigned columns. Set and valid for all
+ *                     nodes, even non-emitters. END values will be
+ *                     on the off-diagonal, emitl = emitr+1. (If this is
+ *                     not true, Transmogrify() breaks.) The trace
+ *                     construction function is responsible for this.
+ *                     
+ *     nodeidx == this is numbered by preorder traversal by NumberMasterTrace(),
+ *                which also numbers a model. ENDs are not explicitly 
+ *                represented in a CM, so they get nodeidx = -1.
+ *                
+ *     type == a number 0..6 for *node* type. (Usually this is a unique
+ *             state type identifier.) ENDs are -1. The trace construction
+ *             function is reponsible for this.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "version.h"
+#include "squid.h"
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+/* Function: NumberMasterTrace()
+ * 
+ * Purpose:  Given a master trace for an alignment, number the trace tree
+ *           (in the nodeidx field) in preorder traversal. END nodes
+ *           will not be represented explicitly in the final CM. They
+ *           get numbered -1.
+ */
+void
+NumberMasterTrace(struct trace_s *mtr, int *ret_nodes)
+{
+  struct trace_s      *curr;
+  struct tracestack_s *dolist;
+  int nodes = 0;  
+
+  dolist = InitTracestack();
+  PushTracestack(dolist, mtr->nxtl); /* push root onto stack */
+
+  while ((curr = PopTracestack(dolist)) != NULL)
+    {
+      if (curr->nxtl == NULL)   /* END node */
+	curr->nodeidx = -1; 
+      else		            /* other nodes */
+	curr->nodeidx = nodes++;
+
+      if (curr->nxtr != NULL)  PushTracestack(dolist, curr->nxtr);
+      if (curr->nxtl != NULL)  PushTracestack(dolist, curr->nxtl);
+    }      
+
+  FreeTracestack(dolist);
+  *ret_nodes = nodes;
+}
+
+
+/* Function: TopofyNewCM()
+ * 
+ * Purpose:  Given the mtr master traceback tree, which defines the
+ *           topology of the model, write the nxt and nxt2 connections
+ *           into the model. For the most part, these are already
+ *           contained in mtr thanks to NumberMasterTrace(); the
+ *           only tricky bit is converting END states from multiple 
+ *           real states (in mtr) to -1 nxt flags in the cm.
+ *           
+ * Return:   1 on success, 0 on failure.         
+ */
+void
+TopofyNewCM(struct cm_s *cm, struct trace_s *mtr)
+{
+  struct tracestack_s *dolist;
+  struct trace_s      *curr;
+
+  dolist = InitTracestack();
+  PushTracestack(dolist, mtr->nxtl); /* push ROOT onto stack */
+
+  while ((curr = PopTracestack(dolist)) != NULL)
+    {
+      if (curr->nxtl == NULL) continue; /* ignore ENDs */
+      if (curr->nxtr != NULL)		/* deal with BIFURC states */
+	{
+	  cm->nd[curr->nodeidx].nxt2 = curr->nxtr->nodeidx;
+	  PushTracestack(dolist, curr->nxtr);
+	}
+      else
+	cm->nd[curr->nodeidx].nxt2 = -1;
+
+				/* watch out for curr pointing to END states. */
+      cm->nd[curr->nodeidx].type = curr->type;
+      cm->nd[curr->nodeidx].nxt = (curr->nxtl->nxtl == NULL) ? -1 : curr->nxtl->nodeidx;
+      PushTracestack(dolist, curr->nxtl);
+    }      
+  FreeTracestack(dolist);
+}
+
+
+/* Function: Transmogrify()
+ * 
+ * Purpose:  Given a master consensus traceback, create an individual
+ *           "fake" traceback. The fake traceback contains inserts
+ *           and converts the type field of mtr (which contains NODE
+ *           type indices) into _ST type indices, including proper
+ *           classification of nodes into DEL_ST or the various match
+ *           states depending on what aseq[idx] looks like.
+ *           
+ * Args:     mtr      - master consensus traceback tree
+ *           aseq     - 0..alen-1 aligned sequence.
+ *           ret_tr   - RETURN: individual traceback
+ *           ret_pool - RETURN: memory pool for traceback
+ *           
+ * Return:   (void). *ret_tr must be free'd by the caller
+ */
+void
+Transmogrify(struct trace_s *mtr, char *aseq, struct trace_s **ret_tr, struct trmem_s **ret_pool)
+{
+  struct trace_s *tr;
+  struct trmem_s *pool;
+  struct tracestack_s *mtr_stack;
+  struct tracestack_s *tr_stack;
+  struct trace_s      *curr_mtr;
+  struct trace_s      *curr_tr;
+  int                 i2,j2;
+
+  mtr_stack = InitTracestack();
+  tr_stack  = InitTracestack();
+  InitTrace(&tr, &pool);
+
+  /* Push ROOT onto both stacks
+   */
+  PushTracestack(mtr_stack, mtr->nxtl);
+  PushTracestack(tr_stack, AttachTrace(tr, pool, -1, -1, 0, uBEGIN_ST));
+
+  while ((curr_mtr = PopTracestack(mtr_stack)) != NULL)
+    {
+      curr_tr = PopTracestack(tr_stack);
+
+      switch (curr_mtr->type) {
+      case uEND_ST: 
+	DeleteTracenode(curr_tr, pool);
+	break;
+
+      case MATP_NODE:
+	if (isgap(aseq[curr_mtr->emitl]))
+	  {
+	    if (isgap(aseq[curr_mtr->emitr])) curr_tr->type = uDEL_ST;
+	    else                              curr_tr->type = uMATR_ST;
+	  }
+	else
+	  {
+	    if (isgap(aseq[curr_mtr->emitr])) curr_tr->type = uMATL_ST;
+	    else                              curr_tr->type = uMATP_ST;
+	  }
+		
+	/* May have to deal with INSL and INSR; INSL precedes INSR
+	 */
+	for (i2 = curr_mtr->emitl+1; i2 < curr_mtr->nxtl->emitl; i2++)
+	  if (!isgap(aseq[i2]))
+	    curr_tr = AttachTrace(curr_tr, pool, i2, curr_mtr->emitr, curr_mtr->nodeidx, uINSL_ST);
+
+	/* May have to deal with INSR
+	 */
+	for (j2 = curr_mtr->emitr-1; j2 > curr_mtr->nxtl->emitr; j2--)
+	  if (! isgap(aseq[j2]))
+	    curr_tr = AttachTrace(curr_tr, pool, curr_mtr->nxtl->emitl, j2, curr_mtr->nodeidx, uINSR_ST);
+	break;
+	
+      case MATL_NODE:
+	if (isgap(aseq[curr_mtr->emitl])) curr_tr->type = uDEL_ST;
+	else                              curr_tr->type = uMATL_ST;
+	    
+	/* May have to deal with INSL
+	 */
+	for (i2 = curr_mtr->emitl+1; i2 < curr_mtr->nxtl->emitl; i2++)
+	  if (!isgap(aseq[i2]))
+	    curr_tr = AttachTrace(curr_tr, pool, i2, curr_mtr->emitr, curr_mtr->nodeidx, uINSL_ST);
+	break;
+
+      case MATR_NODE:
+	if (isgap(aseq[curr_mtr->emitr])) curr_tr->type = uDEL_ST;
+	else                              curr_tr->type = uMATR_ST;
+
+	/* May have to deal with INSR */
+	for (j2 = curr_mtr->emitr-1; j2 > curr_mtr->nxtl->emitr; j2--)
+	  if (! isgap(aseq[j2]))
+	    curr_tr = AttachTrace(curr_tr, pool, curr_mtr->nxtl->emitl, j2, curr_mtr->nodeidx, uINSR_ST);
+	break;
+
+      case BIFURC_NODE: curr_tr->type  = uBIFURC_ST;  break;
+      case BEGINL_NODE: curr_tr->type  = uBEGIN_ST;   break;
+
+      case BEGINR_NODE:
+	curr_tr->type  = uBEGIN_ST; 
+
+	/* May have to deal with INSL.
+	 * Inserts from BEGINR are *inclusive* of i
+	 */
+	for (i2 = curr_mtr->emitl; i2 < curr_mtr->nxtl->emitl; i2++)
+	  if (!isgap(aseq[i2]))
+	    curr_tr = AttachTrace(curr_tr, pool, i2, curr_mtr->emitr, curr_mtr->nodeidx, uINSL_ST);
+
+	break;
+	    
+      case ROOT_NODE:
+	curr_tr->type  = uBEGIN_ST; 
+
+	/* May have to deal with INSL and INSR; note INSL precedes INSR
+	 * inserts from root are inclusive of i  
+	 */
+	for (i2 = curr_mtr->emitl; i2 < curr_mtr->nxtl->emitl; i2++)
+	  if (!isgap(aseq[i2]))
+	    curr_tr = AttachTrace(curr_tr, pool, i2, curr_mtr->emitr, curr_mtr->nodeidx, uINSL_ST);
+
+	/* May have to deal with INSR
+	 */
+	for (j2 = curr_mtr->emitr; j2 > curr_mtr->nxtl->emitr; j2--)
+	  if (! isgap(aseq[j2]))
+	    curr_tr = AttachTrace(curr_tr, pool, curr_mtr->nxtl->emitl, j2, curr_mtr->nodeidx, uINSR_ST);
+	break;
+
+      default: Die("Invalid node type %d", curr_mtr->type);
+      }
+
+      /* Push the children onto stacks, if they're not END nodes
+       */
+      if (curr_mtr->nxtr != NULL) 
+	{
+	  PushTracestack(mtr_stack, curr_mtr->nxtr);
+	  PushTracestack(tr_stack, AttachTrace(curr_tr, pool, curr_mtr->nxtr->emitl, curr_mtr->nxtr->emitr,
+					       curr_mtr->nxtr->nodeidx, curr_mtr->nxtr->type));
+	}
+      if (curr_mtr->nxtl != NULL) 
+	{
+	  PushTracestack(mtr_stack, curr_mtr->nxtl);
+	  PushTracestack(tr_stack, AttachTrace(curr_tr, pool, curr_mtr->nxtl->emitl, curr_mtr->nxtl->emitr,
+					       curr_mtr->nxtl->nodeidx, curr_mtr->nxtl->type));
+	}
+    }
+  FreeTracestack(mtr_stack);
+  FreeTracestack(tr_stack);
+  *ret_pool = pool;
+  *ret_tr   = tr;
+}
+
+
+
+/* Function: EasyModelmaker()
+ * 
+ * Purpose:  The customer always knows best.
+ * 
+ *           Construct a model given a stated structure. The structure
+ *           is provided via a "cs" (consensus sequence) line, as would
+ *           occur in an annotated SELEX file. Only > and < characters
+ *           in this line are interpreted (as base pairs).
+ *           
+ *           Match vs. insert can be determined one of two ways. By default,
+ *           the assignment is made by "gapthresh"; for columns with
+ *           fractional occurence of gaps greater than this, the column
+ *           is assigned to insert. If "use_rf" is TRUE, the rf (reference)
+ *           line is interpreted as the assignment -- columns with non-space
+ *           characters in the rf line are assigned to MATCH.
+ *           
+ *           Both rf and cs are provided in the ainfo structure.
+ *           
+ * Args:     aseq    - aligned sequences. [0..nseq-1] by [0..alen-1]
+ *           ainfo   - info about the alignment, including alen, cs, 
+ *                     and rf
+ *           nseq    - number of seqs in aseq
+ *           prior   - prior distributions for CM construction
+ *           gapthresh - over this fraction of gaps, assign column as INS
+ *           use_rf  - if TRUE, use rf field of ainfo for MAT/INS assignment
+ *           ret_cm  - RETURN: new model                      (maybe NULL)
+ *           ret_mtr - RETURN: master traceback for alignment (maybe NULL)
+ *           
+ * Return:   void
+ *           cm is allocated here. FreeCM(*ret_cm).
+ *           tr is allocated here. FreeTrace() on each one, then free(*ret_tr).
+ */
+void
+EasyModelmaker(char **aseq, AINFO *ainfo, int nseq, struct prior_s *prior, 
+	       double gapthresh, int use_rf, struct cm_s **ret_cm, struct trace_s **ret_mtr)
+{
+  struct cm_s         *cm;	/* new covariance model                */
+  struct trace_s      *mtr;	/* master traceback tree for alignment */
+  struct trace_s      *tr;      /* individual sequence traceback tree  */
+  struct trmem_s      *pool;	/* memory pool for traceback tree      */
+  struct tracestack_s *dolist;
+  struct trace_s      *cur;
+  int   *matassign;
+  int    nodes;
+  int    idx, apos;
+  int   *ct;
+  int    i,j, nxti, nxtj;
+
+  if (! (ainfo->flags & AINFO_CS)) Die("No cs (consensus structure) line available for that alignment.");
+
+  /* Determine match/insert assignments
+   * matassign is 0..alen-1. Values are 1 if MAT, 0 if INS.
+   */
+  matassign = (int *) MallocOrDie(sizeof(int) * ainfo->alen);
+  if (use_rf)
+    {
+      if (! (ainfo->flags & AINFO_RF)) Die("No rf (reference coord) line available for that alignment.");
+      for (apos = 0; apos < ainfo->alen; apos++)
+	matassign[apos] = (ainfo->rf[apos] == ' ') ? 0 : 1;
+    }
+  else
+    {
+      int gaps;
+      for (apos = 0; apos < ainfo->alen; apos++)
+	{
+	  for (gaps = 0, idx = 0; idx < nseq; idx++)
+	    if (isgap(aseq[idx][apos])) gaps++;
+	  matassign[apos] = ((double) gaps / (double) nseq > gapthresh) ? 0 : 1;
+	}
+    }
+
+  /* Determine a "ct" array, base-pairing partners for each position
+   */
+  if (! KHS2ct(ainfo->cs, ainfo->alen, FALSE, &ct))  Die("Consensus structure string is inconsistent"); 
+
+  /* Make sure the consensus structure "ct" is consistent with the match assignments.
+   * Wipe out all structure under INS; including the base-paired 
+   * partner of INS-assigned positions
+   */
+  for (apos = 0; apos < ainfo->alen; apos++)
+    if (! matassign[apos])
+      { 
+	if (ct[apos] != -1)  ct[ct[apos]] = -1;
+	ct[apos] = -1;
+      }
+
+  /* Construct a master traceback tree.
+   * This code is borrowed from yarn's KHS2Trace().
+   * mtr's emitl, emitr, and type are properly set by this section.
+   */
+  InitTrace(&mtr, NULL);
+  dolist = InitTracestack();
+  cur = AttachTrace(mtr, NULL, 0, ainfo->alen-1, -1, ROOT_NODE);    /* attach the root       */
+  PushTracestack(dolist, cur);
+
+  while ((cur = PopTracestack(dolist)) != NULL)
+    {
+      i = cur->emitl;
+      j = cur->emitr;
+      
+      /* This node accounts for i..j, but we don't know how yet.
+       * Six possibilities:
+       *    i > j; this is an END state; do nothing.
+       *    this is already assigned as a BEGIN; push i,j
+       *    i is unpaired; this is a MATL state; push i+1, j
+       *    j is unpaired; this is a MATR state; push i,j-1
+       *    i,j pair to each other; this is a MATP state; push i+1,j-1
+       *    i,j pair but not to each other; this is a BIFURC state;
+       *        pick mid ip <= mid < jp; push BEGIN i,mid and working i,mid,
+       *        and push BEGIN mid+1,j and working mid+1,j
+       */
+      if (i > j) cur->type = uEND_ST;
+
+      else if (cur->type == ROOT_NODE)
+	{ /* try to push i,j; but deal with INSL and INSR */
+	  for (nxti = i; nxti <= j; nxti++)    if (matassign[nxti]) break;
+	  for (nxtj = j; nxtj >= nxti; nxtj--) if (matassign[nxtj]) break;
+	  if (nxti <= nxtj) PushTracestack(dolist, AttachTrace(cur, NULL, nxti, nxtj, -1, uEND_ST));
+	  else { cur->nxtl->emitl = nxti; cur->nxtl->emitr = nxtj; } /* deal with END_ST */             
+	}
+
+      else if (cur->type == BEGINL_NODE) /* no inserts */
+	{
+	  if (i <= j)
+	    PushTracestack(dolist, AttachTrace(cur, NULL, i, j, -1, uEND_ST));
+	  else
+	    { cur->nxtl->emitl = nxti; cur->nxtl->emitr = j; }
+	}
+
+      else if (cur->type == BEGINR_NODE) /* INSL */
+	{
+	  for (nxti = i; nxti <= j; nxti++)    if (matassign[nxti]) break;
+	  if (nxti <= j) PushTracestack(dolist, AttachTrace(cur, NULL, nxti, j, -1, uEND_ST));
+	  else { cur->nxtl->emitl = nxti; cur->nxtl->emitr = j; } /* deal with END_ST */   
+	}
+
+      else if (ct[i] == -1) 	/* i unpaired. This is a MATL node; allow INSL */
+	{
+	  cur->type = MATL_NODE;
+	  for (nxti = i+1; nxti <= j; nxti++)  if (matassign[nxti]) break;
+	  if (nxti <= j) PushTracestack(dolist, AttachTrace(cur, NULL, nxti, j, -1, uEND_ST));
+	  else { cur->nxtl->emitl = nxti; cur->nxtl->emitr = j; } /* deal with END_ST */
+	}
+
+      else if (ct[j] == -1) 	/* j unpaired. MATR node. Deal with INSR */
+	{
+	  cur->type = MATR_NODE;
+	  for (nxtj = j-1; nxtj >= i; nxtj--) if (matassign[nxtj]) break;
+	  if (i <= nxtj) PushTracestack(dolist, AttachTrace(cur, NULL, i, nxtj, -1, uEND_ST));
+	  else { cur->nxtl->emitl = i; cur->nxtl->emitr = nxtj; } /* deal with END_ST */
+	}
+
+      else if (ct[i] == j) 	/* i,j paired to each other. MATP. deal with INSL, INSR */
+	{
+	  cur->type = MATP_NODE;
+	  for (nxti = i+1; nxti <= j; nxti++)    if (matassign[nxti]) break;
+	  for (nxtj = j-1; nxtj >= nxti; nxtj--) if (matassign[nxtj]) break;
+	  if (nxti <= nxtj) PushTracestack(dolist, AttachTrace(cur, NULL, nxti, nxtj, -1, uEND_ST));
+	  else { cur->nxtl->emitl = nxti; cur->nxtl->emitr = nxtj; } /* deal with END_ST */
+	}
+
+      else /* i,j paired but not to each other. BIFURC. no INS. */
+	{  /* by convention, right side of bifurc deals with insert in middle */
+	  cur->type = BIFURC_NODE;
+	  PushTracestack(dolist, AttachTrace(cur, NULL, ct[i]+1, j, -1, BEGINR_NODE));
+	  PushTracestack(dolist, AttachTrace(cur, NULL, i, ct[i], -1, BEGINL_NODE));
+	}
+    }	/* while something's on dolist stack */
+  FreeTracestack(dolist);
+  free(ct);
+
+  /* Now, do the drill for constructing a model using this master trace.
+   */
+  NumberMasterTrace(mtr, &nodes);
+  if ((cm = AllocCM(nodes)) == NULL)
+    Die("failed to allocate for new model of %d nodes\n", nodes);
+  TopofyNewCM(cm, mtr);
+  
+  for (idx = 0; idx < nseq; idx++)
+    {
+      Transmogrify(mtr, aseq[idx], &tr, &pool);
+      if (! TraceCount(cm, aseq[idx], 
+		       (ainfo->sqinfo[idx].flags & SQINFO_WGT) ? (double) ainfo->sqinfo[idx].weight : 1.0,
+		       tr))
+	Die("TraceCount() failed");
+      FreeTrace(tr, pool);
+    }
+  ProbifyCM(cm, prior);
+  
+  free(matassign);
+  if (ret_cm  != NULL) *ret_cm  = cm;  else FreeCM(cm);
+  if (ret_mtr != NULL) *ret_mtr = mtr; else FreeTrace(mtr, NULL);
+}
diff --git a/mp-dbviterbi.m b/mp-dbviterbi.m
new file mode 100644
index 0000000..aa2083c
--- /dev/null
+++ b/mp-dbviterbi.m
@@ -0,0 +1,784 @@
+/* mp-dbviterbi.m
+ * MasPar MPL code for parallelized covariance model alignment algorithm
+ * Database scanning version
+ * Prototype started Fri Aug 19 08:44:43 1994
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <mpl.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <ppeio.h>    /* parallel i/o */
+
+#include "squid.h"
+#include "structs.h"
+#include "funcs.h"
+#include "maspar.h"
+
+#define PROHIBIT  -99999999	/* "negative infinity" */
+#define MAXDEBUGWIDTH  10
+
+/* mpcovels_main.c: 
+ * functions that the DPU calls back to
+ */
+visible extern int DPUReportsHit(int *dpu_i, int *dpu_j, int *dpu_score);
+visible extern int NextSequenceBlock(void);
+
+/* Debugging functions.
+ */
+static void  mp_print_icm(FILE *fp, struct istate_s *icm, int nstates);
+static char *mp_UstatetypeName(int ustatetype);
+static char *mp_StatetypeName(int statetype);
+static char *mp_NodetypeName(int nodetype);
+static void  mp_print_mx(plural int *curr[VPENUM],
+			struct istate_s *icm, int statenum,
+			plural char symi[VPENUM], plural char symj);
+static char NucSymbol(int symidx);
+
+/* Function: MPViterbiScan()
+ * 
+ * Purpose:  MasPar MPL parallelized version of ViterbiScan().
+ * 
+ *           Scan a database of sequences with a covariance model.
+ *           See Notes, dbviterbi-parallel, for more detailed
+ *           commentary.
+ *           
+ * Args:     fe_icm:       ptr to the model (on front end)
+ *           fe_statenum:  ptr to length of model (on front end)
+ *           fe_threshold: report scores above this (scaled integer)
+ *           fe_buffer:    where we'll fetch sequence from on FE
+ *                     
+ * Return:   nothing (I think this is proper for an MPL subroutine)
+ */
+visible int
+MPViterbiScan(struct istate_s *fe_icm, int *fe_statenum,
+	      int  *fe_threshold, char *fe_buffer)
+{
+  struct istate_s *icm;         /* covariance model, integer log odds form  */
+  int         statenum;         /* length of icm                            */
+  int         N;                /* maximum match size                       */
+  int         vpe;		/* index of VPE: 0..VPENUM-1                */
+  int         y;		/* index of state: 0..statenum-1            */
+  int         j;		/* index of database position               */
+  int         bpos;		/* index in bif arm: 0..N                   */
+  int         sbuff_idx;        /* index in sequence buffers                */
+  int         xdist;		/* how far we're xnetting                   */
+  int         vpeconn;		/* index of VPE to connect to               */
+  int         yl, yr;		/* connected state indices for a bifurc     */
+  int         threshold;        /* hit reporting threshold                  */
+  int         done;		/* flag for if there's any database left    */
+  int         yidx, ynext;	/* indices for states                       */
+  int         extend;		/* gap-extend cost for an insert state      */
+  double      dtime;
+  int 	      v;
+  int	      sbifx;
+
+  plural int *atmp; 	/* temporary storage while shoving bif over  */
+  plural int *btmp;
+  plural int  temp[VPENUM];   
+  plural int  *prev[VPENUM];    /* beam of scores for previous row */
+  plural int  *curr[VPENUM];    /* beam of scores for current row  */
+  plural int  *tmp[VPENUM];     /* tmp pointers used for swapping prev, curr */
+  plural int ***bif;            /* bifurcation "arms", remembering BEGINL diagonals */
+  plural char  seqbuffer[BLOCKSIZE]; /* a block of sequence characters */
+  plural char  symi[VPENUM];	/* index of symbol i, 0..3 for ACGU  */
+  plural char  symj;		/* index of symbol j, 0..3 for ACGU  */
+  plural int   score;           /* score                             */
+  plural int   d;		/* d -- virtual column position, ixproc * VPENUM + vpe */
+  plural int   bestconn;	/* best insert-left score to connect to on row */
+  plural int   bifx;		/* plural circularly permuted bifurc arm position  */
+  plural int   lasti;		/* i position of last hit */
+  plural int   lastj;		/* j position of last hit */
+  plural int   lastscore;	/* score of last hit      */
+  plural int   myj;		/* what sequence position this row is working on */
+  plural char  tmpi;		/* temporary storage while shoving symi over */
+  plural int   seeme;		/* TRUE if we're reporting a hit in this row */
+
+  dpuTimerStart();
+
+  /* Transfer model and threshold from the front end to the ACU
+   * fe_buffer address will be used for blockIn() calls later.
+   */
+  copyIn(fe_statenum,  &statenum,  sizeof(int));
+  copyIn(fe_threshold, &threshold, sizeof(int));
+
+  if ((icm     = (struct istate_s *) malloc (statenum * sizeof(struct istate_s))) == NULL)
+    { fprintf(stderr, "ACU malloc failed"); exit(1); }
+  copyIn(fe_icm,     icm,     statenum * sizeof(struct istate_s));
+
+
+  /* Allocation of the scoring matrix
+   * Each PE keeps a number of virtual PE's, #defined as VPENUM
+   * each VPE keeps two scoring beams, prev and curr, and one
+   * BEGINL diagonal, bif.
+   */
+  N = nxproc * VPENUM - 1;
+
+  if ((atmp = (plural int *)  p_malloc ((N+1) * sizeof(int))) == NULL)
+    { fprintf(stderr, "PE malloc failed, atmp\n"); exit(1); }
+
+  if ((bif  = (plural int ***) malloc (VPENUM * sizeof(int **))) == NULL)
+    { fprintf(stderr, "PE malloc failed, bifurc arm, level 1\n"); exit(1); }
+  for (vpe = 0; vpe < VPENUM; vpe++)
+    {
+      if ((prev[vpe] = (plural int *)  p_malloc (statenum * sizeof(int))) == NULL ||
+	  (curr[vpe] = (plural int *)  p_malloc (statenum * sizeof(int))) == NULL)
+	{ fprintf(stderr, "PE malloc failed, score beam; vpe %d\n", vpe); exit(1); }
+      if ((bif[vpe]  = (plural int **) malloc (statenum * sizeof(int *))) == NULL)
+	{ fprintf(stderr, "PE malloc failed, bifurc arm, level 2; vpe %d\n", vpe); exit(1); }
+
+      /* we don't have BEGINL states labeled directly, but we can
+       * find BEGINL indices via their parent BIFURC state
+       */
+      for (y = statenum-1; y >= 0; y--)
+	{
+	  bif[vpe][y] = NULL;
+	  if (icm[y].statetype == uBIFURC_ST)
+	    {
+	      yl = icm[y].tmx[0]; /* yl guaranteed > y */
+	      if ((bif[vpe][yl] = (plural int *) p_malloc ((N+1) * sizeof(int))) == NULL)
+		{ fprintf(stderr, "PE malloc failed, bifurc arm, level 3; vpe %d state %d\n", vpe, yl);
+		  exit(1); }
+	    }
+	}
+    }
+
+
+  /* Initialize the scoring matrix.
+   *   1) set the whole thing to -Infinity
+   *   2) set the off-diagonal (d = 0): end state gets set to zero,
+   *                                    begin, delete and bifurc's are calculated
+   *      the d=0 column (VPE0 in ixproc 0) will not be modified ever again.
+   */
+				/* everything to negative infinity */
+  for (y = 0; y < statenum; y++)
+    for (vpe = 0; vpe < VPENUM; vpe++)
+      curr[vpe][y] = prev[vpe][y] = PROHIBIT;
+  for (vpe = 0; vpe < VPENUM; vpe++)
+    for (y = statenum-1; y >= 0; y--)
+      if (icm[y].statetype == uBIFURC_ST)
+	{ 
+	  yl = icm[y].tmx[0];
+	  for (bpos = 0; bpos < N+1; bpos++)
+	    bif[vpe][yl][bpos] = PROHIBIT;
+	}
+				/* d=0 column initialized in both prev and curr */
+  for (y = statenum-1; y >= 0; y--)
+    if (ixproc == 0)
+      {
+	switch (icm[y].statetype) {
+	case uEND_ST:    
+	  curr[0][y] = prev[0][y] = 0;
+	  break;
+
+	case uBIFURC_ST: 
+	  curr[0][y] = prev[0][y] = curr[0][icm[y].tmx[0]] + curr[0][icm[y].tmx[1]]; 
+	  break;
+
+	case uDEL_ST:
+	case uBEGIN_ST:  
+	  for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+	    if (curr[0][ynext] != PROHIBIT)
+	      curr[0][y] = prev[0][y] = curr[0][ynext] + icm[y].tmx[yidx];
+
+	  if (bif[0][y] != NULL) /* is this a BEGINL state? */
+	    bif[0][y][0] = curr[0][y];
+	  break;
+
+	case uMATP_ST:
+	case uMATL_ST:
+	case uMATR_ST:
+	case uINSL_ST:
+	case uINSR_ST:
+	  break;
+
+	default:
+	  fprintf(stderr, "init stage: unrecognized state type %d (%s), state %d\n", 
+		  icm[y].statetype, mp_UstatetypeName(icm[y].statetype), y);
+	  exit(1);
+	}
+      }
+
+  /* Initialize coords for each of [nyproc] target sequences
+   */
+  myj = 0;
+
+  /* Initialize scoring
+   */
+  if (ixproc == 0)
+    lastj  = -1;
+
+  /* Ready to sweep across the database.
+   * j treats the database as (nyproc) streams of continuous sequence
+   * rather than individual sequences.
+   */
+  for (j = 1, done = FALSE; !done; j++)
+    {
+      seeme = FALSE;		/* init: no rows reporting hits yet for this j */
+
+      /* Check if we need to load new blocks of sequence from the
+       * database. If we do, we read a new block into the first
+       * PE of each row. If the read fails, we're done.
+       */
+      if ((sbuff_idx = (j-1) % BLOCKSIZE) == 0)
+	{
+	  if (callRequest(NextSequenceBlock, 0))
+	    blockIn(fe_buffer, seqbuffer, 0, 0, 1, NYPROC, BLOCKSIZE);
+	  else
+	    break;		/* no more sequence. search terminates */
+	}
+
+
+      /* set up symbol indices symi, symj
+       *   - shift symi one to the right
+       *      (don't worry about wraparound, we'll overwrite the start)
+       *   - xnet copy the new symj all the way thru 
+       *   - set symi = symj in d = 1 (vpe 1, ixproc 0)
+       */
+      xnetE[1].tmpi = symi[VPENUM-1];      /* inter-PE shift to temp storage */
+      for (vpe = VPENUM-1; vpe > 0; vpe--) /* intra-PE shifts */
+	symi[vpe] = symi[vpe-1];
+      symi[0] = tmpi;		           /* get vpe=0 from temp storage */
+      if (ixproc == 0)		           /* take special care with ixproc=0 */
+	{
+	  xnetcE[N].symj = seqbuffer[sbuff_idx];
+	  symi[1] = symj;
+	}
+
+      /* Swap curr, prev scoring rows
+       * and shove the bif arrays eastwards by one.
+       */
+      for (vpe = 0; vpe < VPENUM; vpe++)
+	{ tmp[vpe] = prev[vpe]; prev[vpe] = curr[vpe]; curr[vpe] = tmp[vpe]; }
+
+      for (y = 0; y < statenum; y++)
+	if (icm[y].statetype == uBIFURC_ST)
+	  {
+	    yl = icm[y].tmx[0];
+
+            if (ixproc != nxproc-1)
+	       for (sbifx = 0; sbifx <= N; sbifx++) 
+		    xnetE[1].atmp[sbifx] = bif[VPENUM-1][yl][sbifx];
+
+	    btmp = bif[VPENUM-1][yl];
+	    for (vpe = VPENUM-1; vpe > 0; vpe--)      /* intra-PE shifts */
+		  bif[vpe][yl] = bif[vpe-1][yl]; 
+	    bif[0][yl] = btmp;
+
+            if (ixproc != 0) {
+		  btmp = bif[0][yl];
+		  bif[0][yl] = atmp;	         /* get vpe=0 from temp storage */
+	 	  atmp = btmp;
+            }
+	  }
+
+      /* Reinitialize the current row -- blank it out to negative infinity.
+       */
+      if (ixproc > 0)	/* don't reinit vpe 0 in PE's ixproc == 0 */
+	for (y = 0; y < statenum; y++)
+	  curr[0][y] = PROHIBIT;
+      for (y = 0; y < statenum; y++)
+	for (vpe = 1; vpe < VPENUM; vpe++)
+	  curr[vpe][y] = PROHIBIT;
+      
+
+      /* Check if we need to completely re-initialize a row (new sequence coming)
+       * Reinitialization might go faster by recursive doubling with memcpy's.
+       * This may not be terrific -- anyone who's asking for reinitialization forces
+       * the other processors to idle.
+       */
+      if (symj == 4)		/* 4 is special flag, saying 'end of sequence' */
+	{
+				/* do we have a score to report? */
+	  if (lastj != -1 && ixproc == 0)
+	    {
+	      seeme = TRUE;	/* sets seeme TRUE for all valid rows */
+	      callRequest(DPUReportsHit, 16, &seeme, &lasti, &lastj, &lastscore);
+	      lastj = -1;
+	    }
+
+	  if (ixproc > 0)
+	    {			/* don't reinit vpe 0 in PE's ixproc == 0 */
+	      for (y = 0; y < statenum; y++)
+		curr[0][y] = prev[0][y] = PROHIBIT;
+	      for (y = statenum-1; y >= 0; y--)
+		if (icm[y].statetype == uBIFURC_ST)
+		  {
+		    yl = icm[y].tmx[0];
+		    for (bpos = 0; bpos < N+1; bpos++)
+		      bif[0][yl][bpos] = PROHIBIT;
+		  }
+	    }
+	  
+	  for (y = 0; y < statenum; y++)
+	    for (vpe = 1; vpe < VPENUM; vpe++)
+	      curr[vpe][y] = prev[vpe][y] = PROHIBIT;
+	  for (vpe = 1; vpe < VPENUM; vpe++)
+	    for (y = statenum-1; y >= 0; y--)
+	      if (icm[y].statetype == uBIFURC_ST)
+		{ 
+		  yl = icm[y].tmx[0];
+		  for (bpos = 0; bpos < N+1; bpos++)
+		    bif[vpe][yl][bpos] = PROHIBIT;
+		}
+				/* reset individual sequence coord counters */
+	  myj = 0;
+	}
+
+
+      /* Otherwise, go on to do the main recursion, stepping
+       * through the states from end to root.
+       */
+      else
+	{
+	  for (y = statenum-1; y >= 0; y--)
+	    switch (icm[y].statetype) {
+
+	    case uBEGIN_ST:
+	    case uDEL_ST:
+	      /* OK to do VPE0 ixproc 0 init row */
+	      for (vpe = 0; vpe < VPENUM; vpe++)
+		{
+		  if (ixproc * VPENUM + vpe <= myj+1) /* inactivate off-diag PE's */
+		    {
+		      for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; 
+			   ynext++, yidx++)
+			{
+			  score = curr[vpe][ynext] + icm[y].tmx[yidx];
+			  if (score > curr[vpe][y]) curr[vpe][y] = score;
+			}
+		      
+		      if (bif[vpe][y] != NULL) /* is this a BEGINL state? save score if it is */
+			bif[vpe][y][j % (N+1)] = curr[vpe][y];
+		    }
+		}
+	      break;
+	      
+	    case uMATP_ST:
+	      for (vpe = 0; vpe < VPENUM; vpe++)
+		{
+		  if (ixproc * VPENUM + vpe <= myj+1) /* inactivate off-diag PE's */
+		    {
+		      d = ixproc * VPENUM + vpe;
+		      if      (VPENUM == 1 && vpe == 0) { xdist = 2; vpeconn = 0; }
+		      else if (VPENUM > 1  && vpe < 2)  { xdist = 1; vpeconn = vpe + VPENUM - 2; }
+		      else { xdist = 0; vpeconn = vpe-2; }
+		      
+		      if (d > 1)
+			{
+			  if (xdist > 0)
+			    for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; 
+				 ynext++, yidx++)
+			      {
+				score = xnetW[xdist].prev[vpeconn][ynext] + icm[y].tmx[yidx];
+				if (score > curr[vpe][y]) curr[vpe][y] = score;
+			      }
+			  else	/* else intra PE communication */
+			    for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; 
+				 ynext++, yidx++)
+			      {
+				score = prev[vpeconn][ynext] + icm[y].tmx[yidx];
+				if (score > curr[vpe][y]) curr[vpe][y] = score;
+			      }
+			  curr[vpe][y] += icm[y].emit[symi[vpe] * ALPHASIZE + symj];   
+			}
+		    }
+		}
+	      break;
+	      
+	      
+	    case uMATR_ST:
+	    case uINSR_ST:
+	      /* VPE 0 case is interprocessor communication */
+	      if (ixproc > 0 && ixproc * VPENUM <= myj+1) /* inactivate off-diag PE's */
+		{
+		  for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+		    {
+		      score = xnetW[1].prev[VPENUM-1][ynext] + icm[y].tmx[yidx];
+		      if (score > curr[0][y]) curr[0][y] = score;
+		    }
+		  curr[0][y] += icm[y].emit[symj]; 
+		}
+	      
+	      for (vpe = 1; vpe < VPENUM; vpe++) /* others are intraprocessor */
+		{
+		  if (ixproc * VPENUM + vpe <= myj+1) /* inactivate off-diag PE's */
+		    {
+		      for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+			{
+			  score = prev[vpe-1][ynext] + icm[y].tmx[yidx];
+			  if (score > curr[vpe][y]) curr[vpe][y] = score;
+			}
+		      curr[vpe][y] += icm[y].emit[symj]; 
+		    }
+		}
+	      break;
+	      
+	      
+	    case uMATL_ST:
+	      /* VPE 0 case is interprocessor communication */
+	      if (ixproc > 0 && ixproc * VPENUM <= myj+1)
+		{
+		  for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+		    {
+		      score = xnetW[1].curr[VPENUM-1][ynext] + icm[y].tmx[yidx];
+		      if (score > curr[0][y]) curr[0][y] = score;
+		    }
+		  curr[0][y] += icm[y].emit[symi[0]]; 
+		}
+	      
+	      for (vpe = 1; vpe < VPENUM; vpe++) /* others are intraprocessor */
+		{
+		  if (ixproc * VPENUM + vpe <= myj+1) /* inactivate off-diag PE's */
+		    {
+		      for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+			{
+			  score = curr[vpe-1][ynext] + icm[y].tmx[yidx];
+			  if (score > curr[vpe][y]) curr[vpe][y] = score;
+			}
+		      curr[vpe][y] += icm[y].emit[symi[vpe]]; 
+		    }
+		}
+	      break;
+	      
+	      
+	    case uINSL_ST:
+	      /* INSL states are tricky because the recursion isn't 
+	       * valid for y == ynext. We calculate for the connections
+	       * that are valid first (yidx = 1..connectnum-1;
+	       * then we do the y->y connections using a recursive doubling 
+	       * trick.
+	       */
+	      /* VPE 0 is interprocessor */
+	      if (ixproc > 0 && ixproc * VPENUM <= myj+1)
+		{
+		  for (ynext = y + 1, yidx = 1; yidx < icm[y].connectnum; ynext++, yidx++)
+		    {
+		      score = xnetW[1].curr[VPENUM-1][ynext] + icm[y].tmx[yidx];
+		      if (score > curr[0][y]) curr[0][y] = score;
+		    }
+		  curr[0][y] += icm[y].emit[symi[0]]; 
+		}
+	      /* remaining VPEs intraprocessor */
+	      for (vpe = 1; vpe < VPENUM; vpe++) /* others are intraprocessor */
+		{
+		  if (ixproc * VPENUM + vpe <= myj+1) /* inactivate off-diag PE's */
+		    {
+		      for (ynext = y + 1, yidx = 1; yidx < icm[y].connectnum; ynext++, yidx++)
+			{
+			  score = curr[vpe-1][ynext] + icm[y].tmx[yidx];
+			  if (score > curr[vpe][y]) curr[vpe][y] = score;
+			}
+		      curr[vpe][y] += icm[y].emit[symi[vpe]]; 
+		    }
+		}
+	      
+	      /* Now the recursive doubling trick:
+	       */
+	      /* step 1. scan VPE's to get best score in a PE */
+	      extend = icm[y].tmx[0];
+	      for (vpe = 1; vpe < VPENUM; vpe++)
+		if ((score = curr[vpe-1][y] + extend) > curr[vpe][y])
+		  curr[vpe][y] = score;
+	      
+	      /* step 2. recursive double to find best connect */
+	      bestconn = PROHIBIT;
+	      for (xdist = 1; xdist < nxproc; xdist += xdist)
+		if (ixproc > xdist) /* active PEs */
+		  if ((score = xnetW[xdist].curr[VPENUM-1][y] + extend * VPENUM * (xdist-1)) > bestconn)
+		    bestconn = score;
+	      
+	      /* step 3. scan bestconn back onto vpe's */
+	      for (vpe = 0; vpe < VPENUM; vpe++)
+		if (ixproc * VPENUM + vpe <= myj+1 &&
+		    (score = bestconn + extend * (vpe+1)) > curr[vpe][y])
+		  curr[vpe][y] = score;
+	      
+	      break;
+	      
+	    case uBIFURC_ST:
+	      yl = icm[y].tmx[0]; /* deconvolute the hack to get connected indices */
+	      yr = icm[y].tmx[1];
+
+#ifdef SRE_REMOVED 	/* debug */
+	      if (myj == 5)
+		printf("bifurc connects to states %d and %d\n", yl, yr);
+#endif
+	      
+	      for (vpe = 0; vpe < VPENUM; vpe++)
+		{
+		  for (v = 0; v < VPENUM; v++) temp[v]=curr[v][yr];
+		  if (ixproc * VPENUM + vpe <= myj+1) /* inactivate off-diag PE's */
+		    {
+		      vpeconn = vpe;
+		      xdist   = 0;
+		      bifx    = (j - (ixproc * VPENUM + vpe)) % (N+1);
+		      while (xdist <= nxproc)
+			{
+			  if (xdist == 0)
+			    {
+			      if ((score = bif[vpe][yl][bifx] + curr[vpeconn][yr]) > curr[vpe][y])
+				curr[vpe][y] = score;
+			    }
+			  else if (xdist <= ixproc)
+			    {
+				all temp[vpeconn]=xnetW[1].temp[vpeconn];
+				score = bif[vpe][yl][bifx] + temp[vpeconn];
+				if (score > curr[vpe][y]) curr[vpe][y] = score;
+			    }
+			  vpeconn--;
+			  if (vpeconn < 0) 
+			    { vpeconn = VPENUM-1;
+			      xdist++;
+			    }
+			  bifx++;
+			  if (bifx > N) bifx = 0;
+			}
+		    }
+		}
+	      break;
+
+	    case uEND_ST:
+	      break;
+	      
+	    default:
+	      fprintf(stderr, "Bogus statetype %d\n", icm[y].statetype);
+	      exit(1);
+
+	    } /* end switch over states */
+
+	  
+	  
+	  
+	  /* Now we've finished a row j.
+	   * Collect best score, and report it if it's over the threshold
+	   * Might be faster to check if there is such a score first?
+	   */
+	  /* step 1. scan vpe's to get best score in a PE */
+	  bestconn = curr[0][0];
+	  d        = ixproc * VPENUM;
+	  for (vpe = 1; vpe < VPENUM; vpe++)
+	    if (curr[vpe][0] > bestconn)
+	      { 
+		bestconn = curr[vpe][0];
+		d = ixproc * VPENUM + vpe;
+	      }
+	  /* step 2. recursive doubling to get best score */
+	  for (xdist = 1; xdist < nxproc; xdist += xdist)
+	    {
+	      if (ixproc + xdist <= nxproc)
+		if (xnetW[xdist].bestconn < bestconn)
+		  {
+		    xnetW[xdist].bestconn = bestconn;
+		    xnetW[xdist].d        = d;
+		  }
+	    }
+	  
+	  /* step 3. best scores now in ixproc 0.
+	     check value, report if necessary */
+	  if (ixproc == 0 && bestconn > threshold)
+	    {
+	      /* check for overlap with last hit: */
+	      if ((myj - d + 1) > lastj) 
+		{			/* no overlap. Report old, store new. */
+		  if (lastj != -1)
+		    {
+		      seeme = TRUE;
+		      callRequest(DPUReportsHit, 16, &seeme, &lasti, &lastj, &lastscore);
+		    }
+		  lasti      = myj - d + 1;
+		  lastj      = myj;
+		  lastscore  = bestconn;
+		}
+	      else if (bestconn > lastscore)
+		{	/* overlap. compare 'em. keep new if it's better */
+		  lasti = myj - d + 1;
+		  lastj      = myj;
+		  lastscore  = bestconn;
+		}
+	    }
+	  
+
+#ifdef SRE_REMOVED
+	  mp_print_mx(curr, icm, statenum, symi, symj);  /* debugging */
+	  printf("myj on row 0 is %d (%c)\n\n", proc[0][0].myj, NucSymbol(proc[0][0].symj)); 
+#endif
+
+
+	  myj++;		/* bump the individual sequence coord counters */
+
+	} /* end "else we're not reinitializing, do main recursion stuff" */
+    } /* end loop over database position j */
+
+
+/*  mp_print_icm(stderr, icm, statenum); */  /* debugging */
+
+  /* Cleanup and return
+   */
+  for (vpe = 0; vpe < VPENUM; vpe++)
+    {
+      p_free(prev[vpe]);
+      p_free(curr[vpe]);
+      for (y = statenum-1; y >= 0; y--)
+	if (icm[y].statetype == uBIFURC_ST)
+	  p_free(bif[vpe][y]);
+      p_free(bif[vpe]);
+    }
+  free(icm);
+  dtime=dpuTimerElapsed();
+  printf("time for MPViterbiScan on DPU is %g \n",dtime);
+  return 1;
+}
+  
+
+      
+/* Function: mp_print_icm()
+ * 
+ * Purpose:  Print an integer-version CM, as used by the alignment
+ *           algorithms. MPL version of a function in debug.c.
+ */
+static void
+mp_print_icm(FILE *fp, struct istate_s *icm, int nstates)
+{
+  int y;
+  int x;
+
+  for (y = 0; y < nstates; y++)
+    {
+      fprintf(fp, "node %d state %d (%s)\n", icm[y].nodeidx,
+	      y, mp_UstatetypeName(icm[y].statetype));
+      fprintf(fp, "     connectnum %d offset %d (connections start at %d)\n",
+	      icm[y].connectnum, icm[y].offset, y + icm[y].offset);
+      fprintf(fp, "     Transitions:  ");
+      for (x = 0; x < icm[y].connectnum; x++)
+	fprintf(fp, "%d ", icm[y].tmx[x]);
+      fputs("\n", fp);
+      
+      fprintf(fp, "     Emissions:  ");
+      switch (icm[y].statetype)
+	{
+	case uMATP_ST:
+	  for (x = 0; x < ALPHASIZE * ALPHASIZE; x++)
+	    fprintf(fp, "%d ", icm[y].emit[x]);
+	  fputs("\n", fp);
+	  break;
+
+	case uMATR_ST:
+	case uMATL_ST:
+	case uINSR_ST:
+	case uINSL_ST:
+	  for (x = 0; x < ALPHASIZE; x++)
+	    fprintf(fp, "%d ", icm[y].emit[x]);
+	  fputs("\n", fp);
+	  break;
+
+	default:
+	  fputs("NONE\n", fp);
+	  break;
+	}
+    }
+}
+
+static char *
+mp_UstatetypeName(int ustatetype)
+{
+  switch (ustatetype) {
+  case uDEL_ST:    return "uDEL_ST"; 
+  case uMATP_ST:   return "uMATP_ST";
+  case uMATL_ST:   return "uMATL_ST";
+  case uMATR_ST:   return "uMATR_ST";
+  case uINSL_ST:   return "uINSL_ST";
+  case uINSR_ST:   return "uINSR_ST";
+  case uBEGIN_ST:  return "uBEGIN_ST";
+  case uEND_ST:    return "uEND_ST";
+  case uBIFURC_ST: return "uBIFURC_ST";
+  default:         return "Unknown state type";
+  }
+}
+
+static char *
+mp_StatetypeName(int statetype)
+{
+  switch (statetype) {
+  case DEL_ST:   return "DEL/BEG/BIF/END";
+  case MATP_ST:  return "MATP_ST";
+  case MATL_ST:  return "MATL_ST";
+  case MATR_ST:  return "MATR_ST";
+  case INSL_ST:  return "INSL_ST";
+  case INSR_ST:  return "INSR_ST";
+  default:       return "Unknown State";
+  }
+}
+
+static char *
+mp_NodetypeName(int nodetype)
+{
+  switch (nodetype) {
+  case BIFURC_NODE:  return "BIF/END NODE";
+  case MATP_NODE:    return "MATP_NODE";
+  case MATL_NODE:    return "MATL_NODE";
+  case MATR_NODE:    return "MATR_NODE";
+  case BEGINL_NODE:  return "BEGINL_NODE";
+  case BEGINR_NODE:  return "BEGINR_NODE";
+  case ROOT_NODE:    return "ROOT_NODE";
+  default:           return "Unknown Node";
+  }
+}
+
+
+static char
+NucSymbol(int symidx)
+{
+  switch (symidx) {
+  case 0: return 'A'; 
+  case 1: return 'C';
+  case 2: return 'G';
+  case 3: return 'U';
+  case 4: return '*';
+  default: return '?';
+  }
+}
+
+static void
+mp_print_mx(plural int *curr[VPENUM],
+	    struct istate_s *icm, int statenum,
+	    plural char symi[VPENUM], plural char symj)
+{
+  int d, vpe, xpr, y;
+
+  /* Print out header
+   */
+  printf("%13s ", "");
+  for (d = 0; d < MAXDEBUGWIDTH; d++)
+    printf("    %2d     ", d);
+  printf("\n%13s ", "");
+  for (d = 0; d < MAXDEBUGWIDTH; d++)
+    {
+      xpr = d / VPENUM;
+      vpe = d % VPENUM;
+      printf("     %c     ", NucSymbol(proc[0][xpr].symi[vpe]));
+    }
+  printf("\n");
+
+  /* Print out curr for all states
+   */
+  printf("\n");
+  for (y = 0; y < statenum; y++)
+    {
+      printf("%2d %10s ", y, mp_UstatetypeName(icm[y].statetype));
+      for (d = 0; d < MAXDEBUGWIDTH; d++)
+	{
+	  xpr = d / VPENUM;
+	  vpe = d % VPENUM;
+	  printf("%10d ", proc[0][xpr].curr[vpe][y]);
+	}
+      printf("\n");
+    }
+
+}
+  
+
diff --git a/mpcovels_main.c b/mpcovels_main.c
new file mode 100644
index 0000000..c6b1602
--- /dev/null
+++ b/mpcovels_main.c
@@ -0,0 +1,366 @@
+/* mpcovels_main.c
+ * Sun Aug 21 12:25:52 1994
+ * 
+ * main() for MasPar version of covels
+ * 
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <math.h>
+
+#ifdef NEED_GETOPTH
+#include <getopt.h>
+#endif
+
+#include "structs.h"
+#include "funcs.h"
+#include "squid.h" 
+#include "version.h"
+#include "maspar.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+#define OPTIONS "cg:ho:t:A:D:"
+
+static char usage[]  = "\
+Usage: mpcovels [-options] <CM file> <seqfile>\n\
+where options are:\n\
+    -c          : do complementary strand too\n\
+    -g <fracGC> : set background expected GC content (0.5 default)\n\
+    -h          : print short help and version info\n\
+    -o <file>   : save hits in <file>\n\
+    -t <thresh> : set score reporting threshold\n\
+ CRASH PROTECTION OPTIONS:\n\
+    -A <filename> : maintain file of names of active seqs\n\
+    -D <filename> : save names of finished seqs here\n";
+
+static char banner[] = "mpcovels - scan sequences for matches to an RNA covariance model";
+
+
+extern int MPViterbiScan(struct istate_s *fe_icm, int *fe_statenum,
+			 int  *fe_threshold, char *fe_buffer);
+
+/* Because we do some back-and-forth communication between the 
+ * DPU and the front end, I need to make the following variables
+ * available externally to the functions that the DPU calls back to.
+ */
+static SQFILE  *fp;             /* open sequence file                            */
+static int      format;		/* format of sequence file                       */
+static char   **seq;		/* array of NYPROC sequences                     */
+static SQINFO  *sqinfo;         /* array of NYPROC sequence info structures      */
+static char   **sptr;           /* ptrs into NYPROC active sequences             */
+static char    *buffer;         /* NYPROC blocks of processed seq to go to PE's  */
+static int      moreseqs;	/* TRUE if there's still more seqs in the file   */
+static int      morebases;	/* TRUE if there's still more bases in **seq     */
+static int      ithresh;	/* scaled integer score threshold                */
+static FILE    *ofp;		/* output file for scores                        */
+static int      do_revcomp;	/* TRUE to do reverse complements too            */
+static int      inrev[NYPROC];  /* TRUE if we're doing a revcomp in this row now */
+static char    *activefile;	/* name of active seq file to save to, or NULL   */
+static FILE    *donefp;		/* open finished seq name file, or NULL          */
+
+
+int
+main(int argc, char **argv)
+{ 
+  char    *seqfile;             /* sequence file                                 */
+  char    *cmfile;              /* file containing covariance model        */
+  struct cm_s *cm;              /* model                                   */
+  struct istate_s *icm;		/* integer log-odds model                  */
+  int      statenum;		/* number of states in icm                 */
+  int      y;			/* counter for rows */
+  double   rfreq[ALPHASIZE];	/* expected background symbol frequencies  */
+
+  char    *outfile;		/* save file for scores                    */
+  char    *donefile;		/* save file for finished seq names        */
+  float    thresh;		/* threshold score for reporting a match   */
+  double   gcfrac;		/* fraction GC expected background         */
+
+  int          optc;
+  extern char *optarg;          /* for getopt() */
+  extern int   optind;		/* for getopt() */
+
+#ifdef MEMDEBUG
+  unsigned long histid1, histid2, orig_size, curr_size;
+#endif
+
+  /*********************************************** 
+   * Parse command line
+   ***********************************************/
+
+  thresh        = 0.0;
+  do_revcomp    = FALSE;
+  outfile       = NULL;
+  activefile    = NULL;
+  donefile      = NULL;
+  gcfrac        = 0.5;
+
+  while ((optc = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optc) {
+
+    case 'c': do_revcomp = TRUE;                 break;
+    case 'g': gcfrac     = (double) atof(optarg);break;      
+    case 'o': outfile    = optarg;               break;
+    case 't': thresh     = (float) atof(optarg); break;
+
+    case 'A': activefile = optarg;               break;
+    case 'D': donefile   = optarg;               break;
+
+    case 'h': 
+      printf("%s\n  version %s (%s)\n%s\n", 
+	     banner, RELEASE, RELEASEDATE, usage);
+      exit(0);
+
+    default: Die("unrecognized option %c\n", optc);
+    }
+
+  if (argc - optind != 2)
+    Die("%s\n", usage);
+  
+  cmfile  = argv[optind]; optind++;
+  seqfile = argv[optind]; 
+
+  /* The random model probabilities
+   */
+  rfreq[1] = rfreq[2] = gcfrac / 2.0;
+  rfreq[0] = rfreq[3] = (1.0 - gcfrac) / 2.0;
+
+  ofp = stdout;
+  if (outfile != NULL && (ofp = fopen(outfile, "w")) == NULL)
+    Die("Failed to open output file %s", outfile);
+
+  donefp = NULL;
+  if (donefile != NULL && (donefp = fopen(donefile, "w")) == NULL)
+    Die("Failed to open finished sequence names file %s", donefile);
+
+  /*********************************************** 
+   * Print banner
+   ***********************************************/
+
+  puts(banner);
+  printf("     version %s, %s\n\n", RELEASE, RELEASEDATE);
+
+  printf("---------------------------------------------------\n");
+  printf("Database to search/score:      %s\n", seqfile);
+  printf("Model:                         %s\n", cmfile);
+  printf("Reporting threshold:           %.2f\n", thresh);
+  if (outfile != NULL)
+    printf("Scores saved to file:          %s\n", outfile);  
+  printf("Reverse complement too?        %s\n", do_revcomp ? "yes" : "no");
+  printf("---------------------------------------------------\n");
+  puts("");
+
+  /*********************************************** 
+   * Get the model, open the sequence database
+   ***********************************************/
+
+  if (! ReadCM(cmfile, &cm))	
+    Die("Failed to read model from file %s", cmfile);
+
+  if (! RearrangeCM(cm, rfreq, &icm, &statenum))
+    Die("Failed to convert CM to integer log-odds form\n");  
+
+  if (! SeqfileFormat(seqfile, &format, NULL)) 
+    switch (squid_errno) {
+    case SQERR_NOFILE: Die("Sequence file %s could not be opened for reading", seqfile);
+    case SQERR_FORMAT: 
+    default:           Die("Failed to determine format of sequence file %s", seqfile);
+    }
+
+  if ((fp = SeqfileOpen(seqfile, format, NULL)) == NULL)
+    Die("Failed to open sequence file %s for reading", seqfile);
+
+  ithresh = (int) (thresh * INTPRECISION);
+
+  /* Load the first set of sequences
+   */
+  if ((seq   = (char **)  malloc (sizeof(char *) * NYPROC)) == NULL ||
+      (sqinfo= (SQINFO *) malloc (sizeof(SQINFO) * NYPROC)) == NULL ||
+      (sptr  = (char **)  malloc (sizeof(char *) * NYPROC)) == NULL ||
+      (buffer= (char *)   malloc (sizeof(char) * (NYPROC * BLOCKSIZE))) == NULL)
+    Die("malloc failed");
+
+  moreseqs  = TRUE;
+  morebases = TRUE;
+  for (y = 0; y < NYPROC; y++)
+    {
+      if (! moreseqs || ! ReadSeq(fp, format, &seq[y], &(sqinfo[y])))
+	{ moreseqs = FALSE; seq[y] = NULL; }
+      if (seq[y] != NULL) s2upper(seq[y]);
+      sptr[y] = seq[y];
+      inrev[y] = FALSE;
+    }
+
+  /* Call the parallel scanning function.
+   * It will load the model up, then immediately call us
+   * back and ask us to prepare the first block of sequence data.
+   * We tell it where the sequence data is by passing the address of buffer.
+   */
+  callRequest(MPViterbiScan, 16, icm, &statenum, &ithresh, buffer);
+
+  /* Cleanup and exit
+   */
+  free(seq);
+  free(sqinfo);
+  free(sptr);
+  free(buffer);
+  SeqfileClose(fp);
+  fclose(ofp);
+  if (donefp != NULL) fclose(donefp);
+  
+  return 0;
+}
+
+
+
+/* Function: NextSequenceBlock()
+ * 
+ * Purpose:  Prepare a sequence buffer for the DPU.
+ *           The buffer consists of NYPROC blocks of size BLOCKSIZE.
+ *           The values are 0,1,2,3 for A,C,G,U, or 4 for no seq.
+ *           If we return 1, the DPU blockIn()'s this buffer.
+ *           If we return 0, the DPU concludes that the search is complete.
+ *           
+ * Note:          
+ *    There's some intricacy below, so be careful what you muck with.
+ *    These next two functions are written carefully to make sure that
+ *    sqinfo[y] is still valid for the hits that are reported to
+ *    DPUReportsHit(). This has the following consequences:
+ *       1) NextSequenceBlock() must make sure that there's only one
+ *          sequence in a BLOCKSIZE. It must wait for the next block
+ *          to start sending a new sequence.
+ *       2) Moreover, it's got to make sure that the terminating '\0'
+ *          was part of the block -- so the DPU can clean up and report
+ *          the final hit on that sequence *before* we free it and its
+ *          info. Hence, the delayed FreeSequence() call here.
+ *
+ *    This results in some inefficiency, since we can't start new sequences
+ *    until the next block.
+ */
+int
+NextSequenceBlock(void)
+{
+  int changed;			/* TRUE if active sequence list changed */
+  int y, pos;
+  char *rev;
+
+  /* Load new sequences if we have to.
+   */
+  morebases = FALSE;
+  changed   = FALSE;
+  for (y = 0; y < NYPROC; y++)
+    {
+				/* where we have a seq, but now we're 
+				 * done with it...
+				 * free the old seq, load a new one */
+      if (seq[y] != NULL && sptr[y] == NULL)
+	{
+	  if (do_revcomp && !inrev[y])
+	    {
+	      if ((rev = (char *) malloc (sizeof(char) * (sqinfo[y].len + 1))) == NULL)
+		Die("malloc failed");
+	      if (revcomp(rev, seq[y]) == NULL)
+		Die("revcomp failed");
+	      free(seq[y]);
+	      seq[y] = sptr[y] = rev;
+	      inrev[y] = TRUE;
+	      changed  = TRUE;
+	    }
+	  else
+	    {
+	      if (donefp != NULL) /* save name to finished seq file */
+		{ fprintf(donefp, "%s\n", sqinfo[y].name); fflush(donefp); }
+	      FreeSequence(seq[y], &sqinfo[y]);
+	      if (! moreseqs || ! ReadSeq(fp, format, &seq[y], &sqinfo[y]))
+		{ moreseqs = FALSE; seq[y] = NULL; }
+	      if (seq[y] != NULL) s2upper(seq[y]);
+	      sptr[y] = seq[y];
+	      inrev[y] = FALSE;
+	      changed = TRUE;
+	    }
+	}
+      if (seq[y] != NULL) morebases = TRUE;
+    }
+  if (morebases == FALSE) return 0;
+  
+  /* Construct a new block of sequence data for the DPU to blockIn().
+   */
+  for (y = 0; y < NYPROC; y++)
+    {
+      for (pos = 0; pos < BLOCKSIZE; pos++)
+	{
+	  if (seq[y] == NULL || sptr[y] == NULL)
+	    buffer[y * BLOCKSIZE + pos] = 4;
+	  else if (*(sptr[y]) == '\0')
+	    {
+	      buffer[y * BLOCKSIZE + pos] = 4;
+	      sptr[y] = NULL;	/* signal that we're done w/ this seq */
+	    }
+	  else 
+	    {
+	      buffer[y * BLOCKSIZE + pos] = SymbolIndex(*(sptr[y]));
+	      sptr[y] ++;
+	    }
+	}
+    }
+				/* crash protection: maintain list of active names */
+  if (changed == TRUE && activefile != NULL)
+    {
+      FILE *actfp;
+
+      if ((actfp = fopen(activefile, "w")) == NULL)
+	Die("failed to open active sequence name list file %s", activefile);
+      for (y = 0; y < NYPROC; y++)
+	fprintf(actfp, "%s\n", sqinfo[y].name);
+      fclose(actfp);
+    }
+
+  return 1;
+}
+
+
+/* Function: DPUReportsHit()
+ * 
+ * Purpose:  The DPU is reporting one or more hits (up to NYPROC).
+ *           The easiest thing to do is to blockIn() from *all*
+ *           NYPROC rows, and find what rows actually have real
+ *           hits here. 
+ */
+int
+DPUReportsHit(int *dpu_seeme, int *dpu_i, int *dpu_j, int *dpu_score)
+{
+  int seeme[NYPROC];		/* TRUE if we're reporting in this row */
+  int start[NYPROC];
+  int end[NYPROC];
+  int score[NYPROC];
+  int y;
+
+  blockIn(dpu_seeme, seeme, 0, 0, 1, NYPROC, sizeof(int));
+  blockIn(dpu_i,     start, 0, 0, 1, NYPROC, sizeof(int));
+  blockIn(dpu_j,     end,   0, 0, 1, NYPROC, sizeof(int));
+  blockIn(dpu_score, score, 0, 0, 1, NYPROC, sizeof(int));
+
+  for (y = 0; y < NYPROC; y++)
+    if (seeme[y])
+      {
+	if (inrev[y])
+	  fprintf(ofp, "%6.2f  %5d  %5d   : %s %s\n",  
+		  (float) score[y] / INTPRECISION, 
+		  sqinfo[y].len - start[y], sqinfo[y].len - end[y], 
+		  sqinfo[y].name,
+		  (sqinfo[y].flags & SQINFO_DESC) ? sqinfo[y].desc : "");
+	else
+	  fprintf(ofp, "%6.2f  %5d  %5d   : %s %s\n",  
+		  (float) score[y] / INTPRECISION, 
+		  start[y] + 1, end[y] + 1, 
+		  sqinfo[y].name,
+		  (sqinfo[y].flags & SQINFO_DESC) ? sqinfo[y].desc : "");
+	fflush(ofp);
+      }
+  return 1;	
+}
diff --git a/mpviterbi.m b/mpviterbi.m
new file mode 100644
index 0000000..5e413da
--- /dev/null
+++ b/mpviterbi.m
@@ -0,0 +1,405 @@
+/* mpviterbi.m
+ * MasPar MPL code for parallelized covariance model alignment algorithm
+ * Prototype started Thu Jul  7 12:04:04 1994, SRE
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <mpl.h>
+
+#include "squid.h"
+#include "structs.h"
+#include "funcs.h"
+
+/* Debugging functions.
+ */
+static void  mp_print_icm(FILE *fp, struct istate_s *icm, int nstates);
+static void  mp_print_mx(FILE *fp, struct istate_s *icm, int statenum,
+			 char *seq, int N, plural int *mx);
+static char *mp_UstatetypeName(int ustatetype);
+static char *mp_StatetypeName(int statetype);
+static char *mp_NodetypeName(int nodetype);
+
+
+/* Function: MPViterbiAlign()
+ * 
+ * Purpose:  MasPar MPL parallelized version of ViterbiAlign().
+ * 
+ *           Align a covariance model to a sequence. Return the alignment
+ *           score and a traceback.
+ *           
+ * Args:     fe_icm:      ptr to the model (on front end)
+ *           fe_statenum: ptr to length of model (on front end)
+ *           fe_seq:      ptr to sequence (on front end)
+ *           fe_N:        ptr to length of sequence (on front end)
+ *           fe_score:    RETURN: ptr to score of alignment
+ *           fe_trace:    RETURN: ptr to traceback
+ *                     
+ * Return:   nothing (I think this is proper for an MPL subroutine)
+ */
+visible int
+MPViterbiAlign(struct istate_s *fe_icm, int *fe_statenum, char *fe_seq, 
+	       int *fe_N, double *fe_score, struct trace_s *fe_trace)
+{
+  struct istate_s *icm;         /* covariance model, integer log odds form */
+  int         statenum;         /* length of icm */
+  char       *seq;              /* sequence to align to */
+  int         N;                /* length of seq, 1..N */
+  plural int  score;		/* temp variable for holding calc'ed scores */
+  plural int *mx;               /* 3D scoring matrix, distributed across PE's */
+  plural int *bscores;          /* tmp array used for bifurc calculations, 0..N */
+  plural int  i,j;              /* each PE has its own base pair i,j */
+  plural int  symi, symj;       /* each PE keeps an index for the base symbol at i,j */
+  int         y, ynext, yidx;	/* indices for states */
+  int         yl, yr;		/* state indices for bifurc children */
+  int         hdist, vdist;     /* distances from i,j for bifurc calculation */
+  int         extend;		/* length of insert extension */
+
+  double      alignscore;       /* calculated alignment score */
+
+  /* Transfer data from the front end to the ACU
+   */
+  copyIn(fe_statenum, &statenum, sizeof(int));
+  copyIn(fe_N,        &N,        sizeof(int));
+  if ((icm = (struct istate_s *) malloc (statenum * sizeof(struct istate_s))) == NULL ||
+      (seq = (char *)            malloc ((N+2)    * sizeof(char)))            == NULL)
+    { fprintf(stderr, "malloc failed"); exit(1); }
+  copyIn(fe_icm, icm, statenum * sizeof(struct istate_s));
+  copyIn(fe_seq, seq, (N+2) * sizeof(char));     /* (N+1) picks up the trailing '\0' */
+  
+  /* Allocation of the scoring matrix
+   * Each PE keeps a "beam" of 0..statenum-1 scores. 
+   */
+  i  = ixproc;
+  j  = iyproc;
+  if (i <= N+1 && j <= N)
+    {
+      mx      = (plural int *) p_malloc (statenum * sizeof(int));
+      bscores = (plural int *) p_malloc ((N+1)    * sizeof(int));
+    }
+
+  /* Set up the sequence in the PE's
+   */
+  if (i > 0 && j > 0 && i <= N+1 && j <= N)
+    {
+      switch (seq[i]) {
+      case 'A': symi = 0; break;
+      case 'C': symi = 1; break;
+      case 'G': symi = 2; break;
+      case 'T': symi = 3; break;
+      case 'U': symi = 3; break;
+      default:  symi = 0; break; /* sloppy garbage! */
+      }
+      switch (seq[j]) {
+      case 'A': symj = 0; break;
+      case 'C': symj = 1; break;
+      case 'G': symj = 2; break;
+      case 'T': symj = 3; break;
+      case 'U': symj = 3; break;
+      default:  symj = 0; break; /* sloppy garbage! */
+      }
+    }
+
+  /* Initialize the scoring matrix.
+   *   1) set the whole thing to -Infinity
+   *   2) set the off-diagonal (i=j+1): end state gets set to zero,
+   *                                    begin, delete and bifurc's are calculated
+   */
+  if (i <= N+1 && j <= N)
+    for (y = 0; y < statenum; y++)
+      mx[y] = -99999999;
+
+  for (y = statenum-1; y >= 0; y--)
+    if (i == j+1)
+      {
+	switch (icm[y].statetype) {
+	case uEND_ST:    
+	  mx[y] = 0;
+	  break;
+
+	case uBIFURC_ST: 
+	  mx[y] = mx[icm[y].tmx[0]] + mx[icm[y].tmx[1]]; 
+	  break;
+
+	case uDEL_ST:
+	case uBEGIN_ST:  
+	  for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+	    if (mx[ynext] != -99999999)
+	      mx[y] = mx[ynext] + icm[y].tmx[yidx];
+	  break;
+
+	case uMATP_ST:
+	case uMATL_ST:
+	case uMATR_ST:
+	case uINSL_ST:
+	case uINSR_ST:
+	  break;
+
+	default:
+	  fprintf(stderr, "init stage: unrecognized state type %d\n", icm[y].statetype);
+	  exit(1);
+	}
+      }
+
+  /* Recursion
+   */
+  if (j > 0 && j <= N && i <= j) 
+    for (y = statenum-1; y >= 0; y--)
+      {
+	switch (icm[y].statetype) {
+	case uBEGIN_ST:
+	case uDEL_ST:
+	  for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+	    {
+	      score = mx[ynext] + icm[y].tmx[yidx];
+	      if (score > mx[y]) mx[y] = score;
+	    }
+	  break;
+	  
+	case uMATP_ST:
+	  if (j > i)
+	    {
+	      for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+		{
+		  score = xnetNE[1].mx[ynext] + icm[y].tmx[yidx];
+		  if (score > mx[y]) mx[y] = score;
+		}
+	      mx[y] += icm[y].emit[symi * ALPHASIZE + symj]; 
+	    }
+	  break;
+	  
+	case uMATR_ST:
+	  for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+	    {
+	      score = xnetN[1].mx[ynext] + icm[y].tmx[yidx];
+	      if (score > mx[y]) mx[y] = score;
+	    }
+	  mx[y] += icm[y].emit[symj]; 
+	  break;
+	  
+	case uMATL_ST:
+	  for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+	    {
+	      score = xnetE[1].mx[ynext] + icm[y].tmx[yidx];
+	      if (score > mx[y]) mx[y] = score;
+	    }
+	  mx[y] += icm[y].emit[symi]; 
+	  break;
+	  
+	case uINSR_ST:
+	  for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+	    {
+	      score = xnetN[1].mx[ynext] + icm[y].tmx[yidx];
+	      if (score > mx[y]) mx[y] = score;
+	    }
+	  /* that only gave us insert-opens. Now check all
+	     lengths of insert-extend */
+	  for (extend = 1; extend < N; extend++)
+
+/*	    if (j - extend > 0) This is probably a bug. Thu Aug  4 09:52:15 1994 */
+	    if (i + extend <= j) /* This is probably the right fix. */
+	      {
+		score = xnetN[extend].mx[y] + extend * icm[y].tmx[0];
+		if (score > mx[y]) mx[y] = score;
+	      }
+	  mx[y] += icm[y].emit[symi]; 
+	  
+	  
+	  break;
+	  
+	case uINSL_ST:
+	  for (ynext = y + icm[y].offset, yidx = 0; yidx < icm[y].connectnum; ynext++, yidx++)
+	    {
+	      score = xnetE[1].mx[ynext] + icm[y].tmx[yidx];
+	      if (score > mx[y]) mx[y] = score;
+	    }
+	  /* that only gave us insert-opens. Now check all
+	     lengths of insert-extend */
+	  for (extend = 1; extend < N; extend++)
+	    if (i + extend <= j)
+	      {
+		score = xnetE[extend].mx[y] + extend * icm[y].tmx[0];
+		if (score > mx[y]) mx[y] = score;
+	      }
+	  mx[y] += icm[y].emit[symi]; 
+	  break;
+	  
+	case uBIFURC_ST:
+	  yl = icm[y].tmx[0];
+	  yr = icm[y].tmx[1];
+				/* First: suck in the horizontal row */
+	  for (hdist = 0; hdist <= N; hdist++)
+	    if (i + hdist <= j+1) /* choose active PE's */
+	      bscores[hdist] = xnetE[hdist].mx[yr];
+
+				/* Second: suck in vertical row, backwards;
+				   indices are more convoluted */
+	  for (vdist = N; vdist >= 0; vdist--)
+	    if (j-vdist >= i-1)	/* choose active PE's */
+	      {
+		score = bscores[j - vdist - i + 1] + xnetN[vdist].mx[yl];
+		if (score > mx[y]) mx[y] = score;
+	      }
+	  break;
+	  
+	case uEND_ST:
+	  break;
+
+	default:
+	  fprintf(stderr, "Bogus statetype %d\n", icm[y].statetype);
+	  exit(1);
+	}
+      }
+
+  /* Uncomment these next two lines to get debugging output.
+   */
+/*  mp_print_icm(stderr, icm, statenum);  */
+/*  mp_print_mx(stderr, icm, statenum, seq, N, mx);  */
+
+
+  /* Cleanup and return
+   */
+  alignscore = (double) proc[N][1].mx[0] / INTPRECISION;
+  copyOut(&alignscore, fe_score, sizeof(double));
+  p_free(mx);
+  p_free(bscores);
+  free(icm);
+  free(seq);
+  return 1;
+}
+  
+
+      
+/* Function: mp_print_icm()
+ * 
+ * Purpose:  Print an integer-version CM, as used by the alignment
+ *           algorithms. MPL version of a function in debug.c.
+ */
+static void
+mp_print_icm(FILE *fp, struct istate_s *icm, int nstates)
+{
+  int y;
+  int x;
+
+  for (y = 0; y < nstates; y++)
+    {
+      fprintf(fp, "node %d state %d (%s)\n", icm[y].nodeidx,
+	      y, mp_UstatetypeName(icm[y].statetype));
+      fprintf(fp, "     connectnum %d offset %d (connections start at %d)\n",
+	      icm[y].connectnum, icm[y].offset, y + icm[y].offset);
+      fprintf(fp, "     Transitions:  ");
+      for (x = 0; x < icm[y].connectnum; x++)
+	fprintf(fp, "%d ", icm[y].tmx[x]);
+      fputs("\n", fp);
+      
+      fprintf(fp, "     Emissions:  ");
+      switch (icm[y].statetype)
+	{
+	case uMATP_ST:
+	  for (x = 0; x < ALPHASIZE * ALPHASIZE; x++)
+	    fprintf(fp, "%d ", icm[y].emit[x]);
+	  fputs("\n", fp);
+	  break;
+
+	case uMATR_ST:
+	case uMATL_ST:
+	case uINSR_ST:
+	case uINSL_ST:
+	  for (x = 0; x < ALPHASIZE; x++)
+	    fprintf(fp, "%d ", icm[y].emit[x]);
+	  fputs("\n", fp);
+	  break;
+
+	default:
+	  fputs("NONE\n", fp);
+	  break;
+	}
+    }
+}
+
+/* Function: mp_print_mx()
+ * 
+ * Purpose:  Debugging: print out a (small) 3D scoring matrix.
+ * 
+ * Args:     fp  - usually stdout or stderr
+ *           seq - 1..N sequence
+ *           mx  - scoring matrix on the PE's     
+ */
+static void
+mp_print_mx(FILE *fp, struct istate_s *icm, int statenum,
+	    char *seq, int N, plural int *mx)
+{
+
+  int i, j, y;		/* indices for three dimensions */
+
+  for (y = 0; y < statenum; y++)
+    {
+      fprintf(fp, "### Matrix for state %d, type %d (%s), from node %d\n",
+	      y, icm[y].statetype, mp_UstatetypeName(icm[y].statetype), icm[y].nodeidx);
+      fprintf(fp, "     ");
+      for (i = 1; i <= N+1; i++)
+	fprintf(fp, "%6d  ", i);
+      fprintf(fp, "\n");
+
+      for (j = 0; j <= N; j++)
+	{
+	  fprintf(fp, "%c %3d ", (j > 0) ? seq[j] : '*', j);
+	  for (i = 1; i <= j+1; i++)
+	    {
+	      if (proc[j][i].mx[y] == -99999999)
+		fprintf(fp, "%6s  ", "-INF");
+	      else
+		fprintf(fp, "%6d  ", proc[j][i].mx[y]);
+	    }
+	  fprintf(fp, "\n");
+	}
+      fprintf(fp, "\n\n");
+    }
+}
+
+static char *
+mp_UstatetypeName(int ustatetype)
+{
+  switch (ustatetype) {
+  case uDEL_ST:    return "uDEL_ST"; 
+  case uMATP_ST:   return "uMATP_ST";
+  case uMATL_ST:   return "uMATL_ST";
+  case uMATR_ST:   return "uMATR_ST";
+  case uINSL_ST:   return "uINSL_ST";
+  case uINSR_ST:   return "uINSR_ST";
+  case uBEGIN_ST:  return "uBEGIN_ST";
+  case uEND_ST:    return "uEND_ST";
+  case uBIFURC_ST: return "uBIFURC_ST";
+  default:         return "Unknown state type";
+  }
+}
+
+static char *
+mp_StatetypeName(int statetype)
+{
+  switch (statetype) {
+  case DEL_ST:   return "DEL/BEG/BIF/END";
+  case MATP_ST:  return "MATP_ST";
+  case MATL_ST:  return "MATL_ST";
+  case MATR_ST:  return "MATR_ST";
+  case INSL_ST:  return "INSL_ST";
+  case INSR_ST:  return "INSR_ST";
+  default:       return "Unknown State";
+  }
+}
+
+static char *
+mp_NodetypeName(int nodetype)
+{
+  switch (nodetype) {
+  case BIFURC_NODE:  return "BIF/END NODE";
+  case MATP_NODE:    return "MATP_NODE";
+  case MATL_NODE:    return "MATL_NODE";
+  case MATR_NODE:    return "MATR_NODE";
+  case BEGINL_NODE:  return "BEGINL_NODE";
+  case BEGINR_NODE:  return "BEGINR_NODE";
+  case ROOT_NODE:    return "ROOT_NODE";
+  default:           return "Unknown Node";
+  }
+}
diff --git a/msf.c b/msf.c
new file mode 100644
index 0000000..4727c24
--- /dev/null
+++ b/msf.c
@@ -0,0 +1,164 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* msf.c
+ * SRE, Sun Jul 11 16:17:32 1993
+ * 
+ * Export of GCG MSF multiple sequence alignment
+ * formatted files.
+ * 
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include "squid.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+
+/* Function: WriteMSF()
+ * 
+ * Purpose:  Write aseqs, names, weights to an open fp,
+ *           in GCG MSF format. The alignment must
+ *           be flushed (all aseqs the same length, padded
+ *           with gaps)
+ * 
+ * Returns 1 on success. Returns 0 on failure, and sets
+ * squid_errno to indicate the cause.
+ */
+int
+WriteMSF(FILE   *fp,            /* open fp for writing           */
+	 char  **aseqs,         /* aligned sequences             */
+	 int     num,
+	 struct aliinfo_s *ainfo)
+{
+  int    still_going;		/* True if writing another block */
+  int    idx;			/* counter for sequences         */
+  int    pos;			/* position counter              */
+  int    namelen;		/* maximum name length used      */
+  int    len;			/* tmp variable for name lengths */
+  char   buffer[51];		/* buffer for writing seq        */
+  char **sqptr;                 /* ptrs into each sequence       */
+  int    charcount;		/* num. symbols we're writing    */
+  float weight;
+
+				/* allocate seq pointers that we'll
+				   move across each sequence */
+  if ((sqptr = (char **) malloc (num * sizeof(char *))) == NULL)
+    { squid_errno = SQERR_MEM; return 0; }
+
+				/* set sqptrs to start of each seq */
+  for (idx = 0; idx < num; idx++)
+    sqptr[idx] = aseqs[idx];
+				/* calculate max namelen used */
+  namelen = 0;
+  for (idx = 0; idx < num; idx++)
+    if ((len = strlen(ainfo->sqinfo[idx].name)) > namelen) 
+      namelen = len;
+
+  /*****************************************************
+   * Write the title line
+   *****************************************************/
+  fprintf(fp, "\n");
+				/* ack! we're writing bullshit here */
+  fprintf(fp, "    MSF:  000  Type: X  Check: 0000  ..\n");
+  fprintf(fp, "\n");
+
+  /*****************************************************
+   * Write the names
+   *****************************************************/
+
+  for (idx = 0; idx < num; idx++)
+    {
+      weight = 1.0;
+      if (ainfo->sqinfo[idx].flags & SQINFO_WGT)
+	weight = ainfo->sqinfo[idx].weight;
+      fprintf(fp, "  Name: %-*.*s  Len:  %5d  Check:  %5d  Weight: %.4f\n",
+	      namelen, namelen,
+	      ainfo->sqinfo[idx].name,
+	      ainfo->alen,
+	      GCGchecksum(aseqs[idx], ainfo->alen),
+	      weight);
+    }
+  fprintf(fp, "\n");
+  fprintf(fp, "//\n");
+  fprintf(fp, "\n");
+
+  /*****************************************************
+   * Write the sequences
+   *****************************************************/
+
+  still_going = 1;
+  while (still_going)
+    {
+      still_going = 0;
+      for (idx = 0; idx < num; idx++)
+	{
+	  fprintf(fp, "%-*.*s  ", namelen, namelen, 
+		  ainfo->sqinfo[idx].name);
+
+				/* get next line's worth of 50 from seq */
+	  strncpy(buffer, sqptr[idx], 50);
+	  buffer[50] = '\0';
+	  charcount = strlen(buffer);
+
+				/* is there still more to go? */
+	  if (charcount == 50 && sqptr[idx][50] != '\0')
+	    still_going = 1;
+
+				/* shift the seq ptr by a line */
+	  sqptr[idx] += charcount;
+
+				/* draw the sequence line */
+	  pos = 0; 
+	  while (pos < charcount)
+	    {
+	      if (isgap(buffer[pos])) fputc('.', fp);
+	      else fputc(buffer[pos], fp);
+	      pos++;
+	      if (!(pos % 10)) fputc(' ', fp);
+	    }
+	  fputc('\n', fp);
+	}
+				/* put blank line between blocks */
+      fputc('\n', fp);
+    }
+
+  free(sqptr);
+  return 1;
+}
+
+
+
+void
+FlushAlignment(char **aseqs, int num, int *ret_alen)
+{
+  int len, alen;
+  int idx;
+  int apos;
+
+  alen = strlen(aseqs[0]);
+  for (idx = 1; idx < num; idx++)
+    if ((len = strlen(aseqs[idx])) > alen)
+      alen = len;
+  
+  for (idx = 0; idx < num; idx++)
+    {
+      if ((aseqs[idx] = (char *) realloc (aseqs[idx], sizeof(char) * (alen+1))) == NULL)
+	Die("realloc failed");
+      for (apos = strlen(aseqs[idx]); apos < alen; apos++)
+	aseqs[idx][apos] = '.';
+      aseqs[idx][apos] = '\0';
+    }
+  *ret_alen = alen;
+}
diff --git a/pavesi.c b/pavesi.c
new file mode 100644
index 0000000..1e9884a
--- /dev/null
+++ b/pavesi.c
@@ -0,0 +1,508 @@
+/* eufindtRNA  - Eukaryotic tRNA finder
+ *
+ * pavesi.c - functions for finding transcriptional control regions 
+ *
+ * C implementation of algorithm described by Pavesi, Conterio, 
+ * Bolchi, Dieci, & Ottonello in NAR 22:1247-56 (94)
+ * "Identification of new eukaryotic tRNA genes in genomic DNA
+ * databases by a multistep weight matix analysis of transcriptional
+ * control regions"
+ *
+ * To be used in tRNAscan-SE package to increase sensitivity by
+ * complementing tRNAscan 1.3 first-pass scan
+ *
+ * by Todd MJ Lowe    4/8/96
+ *
+ * Uses Sean Eddy's function library for biological sequence analysis
+ * (Squid v1.5g)
+ *
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "squid.h"
+#include "eufind_const.h"
+
+/* #define NO_AMBIG       -use this option to eliminate conservative
+ *                         calling of 'N's as best possible matches
+ *                         in tRNAs -- useful for unfinished seqs with many N's
+ */ 
+
+
+/* log scores for each position in A Box */
+/* six rows are for 1) A, 2) C, 3) G, 4) T, 5) (gap), 6) ambiguous base
+   the ambiguous base value is the MIN (best score) of the ACGT rows  */
+
+/* position 17a eliminated since always an empty pos (gap) */
+
+float Abox_Mat[6][ABOX_LEN] = {
+  {-1.268,-3.651,-0.899,-4.749,-5.442,-2.351,-3.363,-0.009,-1.977,-3.497,-5.442,
+   -5.442,-5.442,-2.498,-4.749,-5.442,-0.031,-1.417,-1.180,-1.048,-4.344}, 
+
+  {-3.651,-5.442,-4.056,-2.958,-0.480,-1.073,-0.857,-5.442,-5.442,-1.887,-2.498,
+   -5.442,-5.442,-2.958,-2.224,-5.442,-5.442,-3.363,-1.417,-3.651,-0.393},
+
+  {-0.779,-5.442,-0.598,-0.076,-3.651,-1.435,-1.614,-4.749,-0.154,-2.803,-5.442,
+   0.000,0.000,-3.363,-3.651,-5.442,-3.497,-0.672,-1.012,-0.473,-3.651},
+
+  {-1.453,-0.026,-3.651,-4.344,-1.036,-1.125,-1.073,-5.442,-5.442,-0.278,-1.399,
+   -5.442,-5.442,-0.185,-0.827,-2.041,-5.442,-1.551,-2.447,-5.442,-1.253},
+
+  {-5.442,-5.442,-5.442,-5.442,-5.442,-5.442,-5.442,-5.442,-5.442,-5.442,-0.412,
+   -5.442,-5.442,-5.442,-0.868,-0.144,-5.442,-5.442,-5.442,-5.442,-5.442},
+#ifdef NO_AMBIG
+  {-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,
+   -3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245}
+#else
+  {-0.779,-0.026,-0.598,-0.076,-0.480,-1.073,-0.857,-0.009,-0.154,-0.278,-1.399,
+    0.000,0.000,-0.185,-0.827,-2.041,-0.031,-0.672,-1.012,-0.473,-0.393}
+#endif
+};
+
+#define GAP_ROW 4             /* row in ABox mat with Gap weight */
+
+float Bbox_Mat[6][BBOX_LEN] = {
+  {-2.351,-5.442,-2.670,-5.442,-5.442,-1.472,0.000,-0.798,-2.498,-5.442,-3.497},
+  {-3.245,-5.442,-5.442,-5.442,-0.004,-5.442,-5.442,-2.498,-1.435,-0.009,-0.190},
+  {-0.175,-0.004,-5.442,-5.442,-5.442,-0.272,-5.442,-2.147,-5.442,-5.442,-3.651},
+  {-3.651,-5.442,-0.072,0.000,-5.442,-4.749,-5.442,-1.048,-0.393,-5.442,-2.147},
+  {-5.442,-5.442,-5.442,-5.442,-5.442,-5.442,-5.442,-5.442,-5.442,-5.442,-5.442},
+#ifdef NO_AMBIG
+  {-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245,-3.245}
+#else
+  {-0.175,-0.004,-0.072,0.000,-0.004,-0.272,0.000,-0.798,-0.393,-0.009,-0.190}
+#endif
+};
+
+#define ABDIST_MAT_SIZE 7
+int ABDistIdx_Mat[ABDIST_MAT_SIZE] = {30,36,42,48,54,60,66};
+float ABDistSc_Mat[ABDIST_MAT_SIZE] = {-0.46,-1.83,-2.35,-3.24,
+				       -4.06,-3.83,-4.75};  
+
+#define BTERM_MAT_SIZE 9
+int BTermDistIdx_Mat[BTERM_MAT_SIZE] = {17,23,29,35,41,47,53,59,100};
+
+float BTermDistSc_Mat[BTERM_MAT_SIZE] = {-0.54,-1.40,-2.80,-3.36,
+					 -3.24,-5.44,-5.44,-4.06,-5.44}; 
+
+
+int
+Init_tRNA(TRNA_TYPE *tRNA) {
+  
+  strcpy(tRNA->iso_type,"???");
+  strcpy(tRNA->acodon,"???");
+  tRNA->start = tRNA->end = 0;
+  tRNA->Abox_st = tRNA->Abox_end = tRNA->Abox_gap = 0; 
+  tRNA->Bbox_st = tRNA->Bbox_end = tRNA->Term_st = tRNA->acodon_idx= 0; 
+  tRNA->intron = tRNA->idno = 0;
+  tRNA->totSc = tRNA->AboxSc = tRNA->BboxSc = -1000;
+  tRNA->ABdistSc = tRNA->TermSc = -100;
+}  
+
+int
+IntEncodeSeq (char *intseq, char *seq, int seqlen)
+{
+  int i;
+  
+  for (i=0; i<seqlen; i++) {
+    switch (seq[i]) {
+    case 'A': intseq[i]=0; break;
+    case 'C': intseq[i]=1; break;
+    case 'G': intseq[i]=2; break;
+    case 'T': intseq[i]=3; break;
+    default:               /* if not ACGT, assume ambiguous base */
+      intseq[i]= 5;        /* ambig base will give score equal to best base
+			      at that position in scoring matrix */
+    }
+  }
+  return 0;
+}
+
+
+int
+GetBbox (float *score, int *seqidx, char *iseq, int seqlen,
+	 int strand, int verbose)
+{
+  int i,j, endidx;
+  
+  (*seqidx)++;
+  endidx = seqlen - BBOX_LEN;
+  for (i=*seqidx; i<endidx; i++) {
+    *score = 0;
+    for (j=0; j< BBOX_LEN; j++) {
+      *score += Bbox_Mat[(int)(iseq[i+j])][j];
+    }
+    if (*score > BBOX_CUTOFF) {
+      if (verbose)
+	if (strand == 0) {
+	  printf("Bbox at %i (End=%d), Sc= %.2f\n",i,i+BBOX_LEN+11,
+		 *score);
+	}
+	else {
+	  printf("Bbox at %i (End=%d), Sc= %.2f\n",seqlen-i+1,
+		 seqlen-(i+BBOX_LEN+11)+1,*score);
+	}
+      *seqidx = i;
+      return 1;
+    }
+  }
+  return 0;
+}
+
+float 
+Get_ABdist_weight(int ABdist)
+{
+  int ct;
+
+  if (ABdist < MIN_AB_BOX_DIST)
+    return MAX_PENALTY; 
+  for (ct=0; ct < ABDIST_MAT_SIZE; ct++) {
+    if (ABdist <= ABDistIdx_Mat[ct])
+      return ABDistSc_Mat[ct];
+  }
+  return MAX_PENALTY;
+}
+
+
+int
+GetSecABox(TRNA_TYPE *tRNA, char *seq)
+{
+  char *seqp;
+  int i, startidx;
+
+  /* Search for eukaryotic SelCys motif */
+
+  startidx = tRNA->Bbox_st - ABOX_LEN - SEC_AB_BOX_DIST - 1;
+
+  seqp = seq + MAX(0,startidx); 
+  for (i=0; i<5; i++, seqp++) {
+    if ((!strncmp(seqp,"GGTC",4) && 
+	 (seqp[4] == 'T' || seqp[4] == 'C') &&
+	 (seqp[5] == 'G') &&
+	 (seqp[6] == 'T' || seqp[6] == 'G') &&
+	 (seqp[7] == 'G') &&
+	 (seqp[8] == 'G') &&
+	 (seqp[9] == 'T'))) {
+      
+      tRNA->Abox_st = MAX(0,startidx+i-SEC_BBOX_DIST_CORR);
+      strcpy(tRNA->iso_type,"SeCe");
+      return 1;
+    }
+  }
+
+  /* Search for Prokaryotic SelCys */
+
+  startidx = tRNA->Bbox_st - 46 - 1;
+  
+  seqp = seq + MAX(0,startidx); 
+  for (i=0; i<16; i++, seqp++) {
+    if ((!strncmp(seqp,"GG",2) &&
+	 (seqp[2] == 'A' || seqp[2] == 'T') &&
+	 (seqp[3] == 'C' || seqp[3] == 'T') &&
+	 (seqp[4] == 'T') &&
+	 (seqp[5] == 'T') &&
+	 (seqp[6] == 'C') &&
+	 (seqp[7] == 'A') &&
+	 (seqp[8] == 'A') &&
+	 (seqp[9] == 'A') &&
+	 (seqp[10] == 'A' || seqp[10] == 'T') &&
+	 (seqp[11] == 'C') &&
+	 (seqp[12] == 'C'))) {
+      
+      tRNA->Abox_st = MAX(0,startidx+i-23);
+      strcpy(tRNA->iso_type,"SeCp");
+      return 1;
+    }
+  }
+  return 0;
+  
+}
+
+
+int
+GetBestABox (TRNA_TYPE *tRNA, char *seq, char *iseq, int seqlen,
+	     int strand, int verbose, int Max_AB_dist, int prev_Abox_st)
+{
+  int i,           /* sequence position index */
+    startidx, endidx,
+    abox_end;
+  int j,                /* matrix position index */
+    offset1, offset2,   /* offset counters to keep track of gaps */
+    gapct,              /* keeps track of 4 types of 2bp gaps in
+			   positions 20a & 20b */
+    best_gap,           /* gapct & offset1 vals for best score so far */ 
+    best_offset1;
+
+  float sc1, sc2, sc3,  /* components of total score */
+    bestsc,             /* best score so far */
+    abdistSc;
+
+
+  startidx = MAX(MAX(0,(tRNA->Bbox_st - Max_AB_dist - ABOX_LEN)), prev_Abox_st+2);
+  endidx =   MAX(0,(tRNA->Bbox_st - MIN_AB_BOX_DIST - ABOX_LEN +4));
+
+  for (i=startidx; i < endidx; i++) {
+    
+    sc1=sc2=sc3=0;
+    
+    /* scoring Abox with weight matrix at tRNA pos 7-16 */
+    for (j=0; j<=9; j++) {             
+      sc1 += Abox_Mat[(int)(iseq[i+j])][j];
+    }
+
+    j=10;
+
+    /* score gap at pos 17 by looking for conserved 'GG' at pos 18 &
+       19 */
+
+    if ((seq[i+j] == 'G')) {   /*  && (seq[i+j+1] == 'G')) { */
+      sc2 = Abox_Mat[GAP_ROW][j];
+      offset1 = 1;
+    }
+    else {
+      sc2 = 0;
+      offset1 = 0;
+    }
+    
+    /* scoring Abox with weight matrix at tRNA pos 18-20 */
+    for (j=10; (j+offset1) < 14; j++) {
+      sc2 += Abox_Mat[(int)(iseq[i+j])][j+offset1];
+    }
+    
+    /* score potential gap at 20a & 20b, plus rest of matrix up to
+       position;  gapct, enumerates all possible 2bp gaps */
+
+    for (gapct=0; gapct<4; gapct++) {
+      j=14-offset1;
+      offset2=0;
+      switch (gapct) {
+      case 0:
+	sc3  = Abox_Mat[(int)(iseq[i+j])][j+offset1+offset2];
+	j++;
+	sc3 += Abox_Mat[(int)(iseq[i+j])][j+offset1+offset2];
+	j++;
+	break;
+      case 1:
+	sc3  = Abox_Mat[GAP_ROW][j+offset1+offset2];
+	offset2++; 	
+	sc3 += Abox_Mat[(int)(iseq[i+j])][j+offset1+offset2];
+	j++;
+	break;
+      case 2:
+	sc3 = Abox_Mat[(int)(iseq[i+j])][j+offset1+offset2];
+	j++;
+	sc3 += Abox_Mat[GAP_ROW][j+offset1+offset2];
+	offset2++;
+	break;
+      case 3:
+	sc3 = Abox_Mat[GAP_ROW][j+offset1+offset2];
+	offset2++;
+	sc3 += Abox_Mat[GAP_ROW][j+offset1+offset2];
+	offset2++;
+	break;
+      }
+      for (; (j+offset1+offset2) < ABOX_LEN; j++) {
+	sc3+= Abox_Mat[(int)(iseq[i+j])][j+offset1+offset2];
+      }
+      
+      abox_end = i+ABOX_LEN-offset1-offset2-1;
+      abdistSc = Get_ABdist_weight(tRNA->Bbox_st-abox_end-1);
+      
+      if ((sc1 + sc2 + sc3 + abdistSc) > (tRNA->AboxSc + tRNA->ABdistSc)) {
+	tRNA->Abox_st = i;
+	tRNA->Abox_end = abox_end;
+	tRNA->ABdistSc = abdistSc;
+	tRNA->AboxSc = sc1+sc2+sc3;
+	best_offset1= offset1;
+	best_gap = gapct;
+	if (verbose)
+	  if (strand == 0) {
+	  printf("Abox at %d (St=%d) A:%.2f AB(%d):%.2f I:%.2f\n",
+		 i,i-5,tRNA->AboxSc, tRNA->Bbox_st-abox_end-1,tRNA->ABdistSc,
+		 tRNA->AboxSc+tRNA->BboxSc+tRNA->ABdistSc);
+	  }
+	  else {
+	    printf("Abox at %d (St=%d) A:%.2f AB(%d):%.2f I:%.2f\n",
+		   seqlen-i+1,seqlen-(i-5)+1,tRNA->AboxSc, 
+		   tRNA->Bbox_st-abox_end-1,tRNA->ABdistSc,
+		   tRNA->AboxSc+tRNA->BboxSc+tRNA->ABdistSc);
+	  }
+	    
+      }
+    }   /* for gapct, enumerating all possible gaps */
+  }   /* for i, starting pos for A box */
+}
+
+
+int
+GetBestTrxTerm (TRNA_TYPE *tRNA, char *seq, int seqlen,
+		float TermPenalty)
+{
+  int i,     /* current seq position */
+    startidx, endidx;    /* start & end points for term search */
+  int ct, BTermdist;
+
+  float score;               /* current score */
+
+  startidx = tRNA->Bbox_end+MIN_BTERM_DIST-1;
+  endidx = MIN(startidx+MAX_TERM_SEARCH,(seqlen-4));
+
+  for (i=startidx; i<endidx; i++) {
+    
+    if ((seq[i] == 'T') && (seq[i+1] == 'T') && 
+	(seq[i+2] == 'T') && (seq[i+3] == 'T')) {
+      
+      BTermdist = i-tRNA->Bbox_end-1;
+      for (ct=0; BTermDistIdx_Mat[ct] < BTermdist; ct++) {
+      }
+      tRNA->TermSc = BTermDistSc_Mat[ct];
+      tRNA->Term_st = i;
+      return 1;
+    }
+  }
+  
+  tRNA->Term_st = -1;
+  
+  if (endidx ==  (seqlen-4)) {
+    tRNA->TermSc =  TOT_SCORE_THRESH - (INT_SCORE_THRESH);
+    return 1;
+  }
+  else { 
+    tRNA->TermSc = MAX_PENALTY;
+    return 0;
+  }
+}
+
+
+/* Uses tranlation scheme & AA lookup table from Squid library */
+
+void
+Get_IsoType (TRNA_TYPE *tRNA)
+{
+  int i, codon;
+  char codon_seq[4];
+  
+  revcomp(codon_seq,tRNA->acodon);
+  
+  codon = 0;
+  for (i = 0; i < 3; i++)
+    {
+      codon *= 4;
+      switch (codon_seq[i]) {
+      case 'A': case 'a':             break;
+      case 'C': case 'c': codon += 1; break;
+      case 'G': case 'g': codon += 2; break;
+      case 'T': case 't': codon += 3; break;
+      case 'U': case 'u': codon += 3; break;
+      default: codon = 64; break;
+      }
+      if (codon == 64) break;
+    }
+  strcpy(tRNA->iso_type,stdcode3[codon]);
+}
+
+void
+Get_anticodon (TRNA_TYPE *tRNA, char *seq)
+{
+  char *acodonp;
+  int startidx, i, besti, score, bestsc;
+
+  startidx =  tRNA->Abox_end + 7;
+  acodonp = seq + startidx;
+  bestsc = besti = 0;
+  for (i=0; i<7; i++) {
+    score = 0;
+    if ((acodonp[i-2] == 'C') || (acodonp[i-2] == 'T')) 
+      score++;
+    if (acodonp[i-1] == 'T')  
+      score++;
+    if ((acodonp[i+3] == 'A') || (acodonp[i+3] == 'G')) 
+      score++;
+    if (score > bestsc) {
+      bestsc = score;
+      besti = i;
+    }
+  }
+  strncpy(tRNA->acodon,acodonp+besti,3);
+  /*  tRNA->acodon[3]='\0'; */
+  tRNA->acodon_idx = startidx + besti;
+}
+
+
+void
+Get_tRNA_stats (TRNA_TYPE *tRNA, char *seq, int seqlen, int strand)
+{
+
+  tRNA->start = MAX(1,(tRNA->Abox_st - 5));
+  tRNA->end = MIN((tRNA->Bbox_end + 12),seqlen);
+    
+  if (strand == -1) {
+    tRNA->start = seqlen - tRNA->start + 1;
+    tRNA->end = seqlen - tRNA->end + 1;
+  }
+  
+  if (!strncmp("SeC",tRNA->iso_type,3)) {
+    strcpy(tRNA->acodon,"TCA");
+    tRNA->Bbox_end++;
+  }
+  else {
+    Get_anticodon(tRNA,seq);
+    Get_IsoType(tRNA);
+  }
+}
+
+void
+Save_tRNA  (TRNA_TYPE *tRNA, SQINFO *sqinfo, char *seq, int strand,
+	    int ShowScores, long int sqoffset)
+{
+
+  if (ShowScores) 
+    printf("%s.%d\t%ld\t%ld\t%s\t%d\tA:%.2f B:%.2f AB:%.2f T:%.2f Tot:%.2f\n",
+	   sqinfo->name,tRNA->idno,tRNA->start+sqoffset,tRNA->end+sqoffset,
+	   tRNA->acodon,strand, tRNA->AboxSc,tRNA->BboxSc,tRNA->ABdistSc,
+	   tRNA->TermSc,tRNA->totSc);
+
+  else
+    printf("%-10s\t%d\t%ld\t%ld\t%s\t%s\t0\t0\t%.2f\n",
+	   sqinfo->name,tRNA->idno,tRNA->start+sqoffset,tRNA->end+sqoffset,
+	   tRNA->iso_type,tRNA->acodon,tRNA->totSc);
+    
+}
+
+int
+tRNAOverlap (TRNA_TYPE *tRNA1, TRNA_TYPE *tRNA2, int strand)
+{
+  if (strand == 0) {
+    if ((((tRNA1->start >= tRNA2->start) && 
+	  (tRNA1->start <  tRNA2->end-MAX_OVLAP)) ||
+	 ((tRNA1->end > tRNA2->start+MAX_OVLAP) && 
+	  (tRNA1->end <= tRNA2->end))) ||
+
+	(((tRNA2->start >= tRNA1->start) && 
+	  (tRNA2->start < tRNA1->end-MAX_OVLAP)) ||
+	 ((tRNA2->end > tRNA1->start+MAX_OVLAP) && 
+	  (tRNA2->end <= tRNA1->end))))
+      return 1;
+    else
+      return 0;
+  }
+  else {
+    if ((((tRNA1->start <= tRNA2->start) && 
+	  (tRNA1->start > tRNA2->end+MAX_OVLAP)) ||
+	 ((tRNA1->end < tRNA2->start-MAX_OVLAP) && 
+	  (tRNA1->end >= tRNA2->end))) ||
+
+	(((tRNA2->start <= tRNA1->start) && 
+	  (tRNA2->start > tRNA1->end+MAX_OVLAP)) ||
+	 ((tRNA2->end < tRNA1->start-MAX_OVLAP) && 
+	  (tRNA2->end >= tRNA1->end))))
+      return 1;
+    else
+      return 0;
+  }
+}
+
+
+
diff --git a/prior.c b/prior.c
new file mode 100644
index 0000000..584c53f
--- /dev/null
+++ b/prior.c
@@ -0,0 +1,404 @@
+/* prior.c
+ * Configure prior probability distributions
+ * Mon Sep  6 09:42:16 1993
+ * 
+ * Designed to make it fairly easy to replace the prior with
+ * different numbers, or ever completely different structures,
+ * but for now we just copy a default prior out of prior.h
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "structs.h"
+#include "prior.h"
+
+static int get_real(FILE *fp, double *ret_real);
+
+
+
+/* Function: DefaultPrior()
+ * 
+ * Purpose:  Copy the default prior from prior.h into a structure.
+ * 
+ * Args:     ret_prior: RETURN: new struct containing prior prob. distributions
+ * 
+ * Return:   1 on success, 0 on failure. ret_prior is malloc'ed here and
+ *           must be free'd by caller by a free(*ret_prior).
+ */
+int
+DefaultPrior(struct prior_s **ret_prior)
+{
+  struct prior_s *prior;
+  int    i,j,fy,ty;		/* counters */
+
+  if ((prior = (struct prior_s *) malloc (sizeof(struct prior_s))) == NULL)
+    Die("malloc failed");
+  
+  for (i = 0; i < 7; i++)
+    for (j = 0; j < 4; j++)
+      for (fy = 0; fy < STATETYPES; fy++)
+	for (ty = 0; ty < STATETYPES; ty++)
+	  prior->tprior[i][j][fy][ty] = def_tprior[i][j][fy][ty];
+  
+  for (i = 0; i < ALPHASIZE; i++)
+    {
+      prior->rfreq[i]      = def_rfreq[i];
+      prior->matl_prior[i] = def_matl_prior[i];
+      prior->matr_prior[i] = def_matr_prior[i];
+      prior->insl_prior[i] = def_insl_prior[i];
+      prior->insr_prior[i] = def_insr_prior[i];
+      for (j = 0; j < ALPHASIZE; j++)
+	prior->matp_prior[i][j] = def_matp_prior[i][j];
+    }
+
+  for (ty = 0; ty < STATETYPES; ty++)
+    {
+      prior->talpha[ty]  = def_talpha[ty];
+      prior->emalpha[ty] = def_emalpha[ty];
+    }
+  
+  *ret_prior = prior;
+  return 1;
+}
+
+
+
+/* Function: ReadPrior()
+ * 
+ * Purpose:  Get a prior from a file.
+ * 
+ * Return:   1 on success, 0 on failure.
+ *           ret_prior is alloced here, must be free'd by caller
+ */
+int
+ReadPrior(FILE *fp, struct prior_s **ret_prior)
+{
+  struct prior_s *prior;
+  double         param;
+  int    fnode,tnode,fs,ts;		/* counters */
+  int    i,j;    
+
+  if ((prior = (struct prior_s *) malloc (sizeof(struct prior_s))) == NULL)
+    Die("malloc failed");
+
+  /* Read rfreq's: expected symbol emission probability distribution for 
+   * unrelated background sequence (the "random model")
+   */
+  if (!get_real(fp, &param)) return 0;
+  prior->rfreq[0] = param;
+  for (i = 1; i < ALPHASIZE; i++)
+    {
+      if (!get_real(NULL, &param)) return 0;
+      prior->rfreq[i] = param;
+    }
+
+  /* Read talpha's: weights attached to state transition priors.
+   * Often all 1.0
+   */
+  for (i = 0; i < STATETYPES; i++)
+    {
+      if (!get_real(NULL, &param)) return 0;
+      prior->talpha[i] = param;
+    }
+  
+  /* Read emalpha's: weights attached to symbol emission priors.
+   * Often all 1.0. INSR_ST, INSL_ST sometimes set very high to
+   * fix insert states as unlearnable
+   */
+  for (i = 0; i < STATETYPES; i++)
+    {
+      if (!get_real(NULL, &param)) return 0;
+      prior->emalpha[i] = param;
+    }
+
+  /* Read matp_prior: symbol emission priors for matp
+   */
+  for (i = 0; i < ALPHASIZE; i++)
+    for (j = 0; j < ALPHASIZE; j++)
+      {
+	if (!get_real(NULL, &param)) return 0;
+	prior->matp_prior[i][j] = param;
+      }
+
+  /* Read singlet emission priors, in order MATL, MATR, INSL, INSR
+   */
+  for (i = 0; i < ALPHASIZE; i++)
+    {
+      if (!get_real(NULL, &param)) return 0;
+      prior->matl_prior[i] = param;
+    }
+  for (i = 0; i < ALPHASIZE; i++)
+    {
+      if (!get_real(NULL, &param)) return 0;
+      prior->matr_prior[i] = param;
+    }
+  for (i = 0; i < ALPHASIZE; i++)
+    {
+      if (!get_real(NULL, &param)) return 0;
+      prior->insl_prior[i] = param;
+    }
+  for (i = 0; i < ALPHASIZE; i++)
+    {
+      if (!get_real(NULL, &param)) return 0;
+      prior->insr_prior[i] = param;
+    }
+
+  /* Read tprior: state transition priors.
+   * In order [7 from nodes][4 to nodes][from state][to state]
+   */
+  for (fnode = 0; fnode < 7; fnode++)
+    for (tnode = 0; tnode < 4; tnode++)
+      for (fs = 0; fs < STATETYPES; fs++)
+	for (ts = 0; ts < STATETYPES; ts++)
+	  {
+	    if (!get_real(NULL, &param)) return 0;
+	    prior->tprior[fnode][tnode][fs][ts] = param;
+	  }
+
+  *ret_prior = prior;
+  return 1;
+}
+
+
+
+/* Function: WritePrior()
+ * 
+ * Purpose:  Write a prior to an open file pointer.
+ *           The file is usable as a prior.h header file.
+ * 
+ * Return:   1 on success, 0 on failure.
+ */
+int
+WritePrior(FILE *fp, struct prior_s *prior)
+{
+  int    fnode,tnode,fs,ts;		/* counters */
+  int    i,j;
+
+  if (fp == NULL) return 0;
+
+
+  fprintf(fp, "#ifdef PRIORH_INCLUDED\n\n");
+  fprintf(fp, "#include \"structs.h\"\n\n");
+  
+  /* Write rfreq
+   */
+  fprintf(fp, "static double def_rfreq[ALPHASIZE] = { ");
+  for (i = 0; i < ALPHASIZE; i++)
+    fprintf(fp, "%f%s", prior->rfreq[i],
+	    (i == ALPHASIZE-1) ? " };\n\n" : ", ");
+
+  /* Write talpha
+   */
+  fprintf(fp, "static double def_talpha[STATETYPES] =\n{ ");
+  for (i = 0; i < STATETYPES; i++)
+    fprintf(fp, "%f%s", prior->talpha[i],
+	    (i == STATETYPES-1) ? " };\n\n" : ", ");
+
+  /* Write emalpha
+   */
+  fprintf(fp, "static double def_emalpha[STATETYPES] =\n{ ");
+  for (i = 0; i < STATETYPES; i++)
+    fprintf(fp, "%f%s", prior->emalpha[i],
+	    (i == STATETYPES-1) ? " };\n\n" : ", ");
+
+  /* Write matp_prior
+   */
+  fprintf(fp, "static double def_matp_prior[ALPHASIZE][ALPHASIZE] =\n{\n");
+  for (i = 0; i < ALPHASIZE; i++)
+    {
+      fprintf(fp, "  { ");
+      for (j = 0; j < ALPHASIZE; j++)
+	fprintf(fp, "%f%s", prior->matp_prior[i][j],
+		(j == ALPHASIZE-1) ? " },\n" : ", ");
+    }
+  fprintf(fp, "};\n\n");
+
+  /* Write the singlet emission priors, in order MATL, MATR, INSL, INSR
+   */
+  fprintf(fp, "static double def_matl_prior[ALPHASIZE] = { ");
+  for (i = 0; i < ALPHASIZE; i++)
+    fprintf(fp, "%f%s", prior->matl_prior[i],
+	    (i == ALPHASIZE-1) ? " };\n\n" : ", ");
+  fprintf(fp, "static double def_matr_prior[ALPHASIZE] = { ");
+  for (i = 0; i < ALPHASIZE; i++)
+    fprintf(fp, "%f%s", prior->matr_prior[i],
+	    (i == ALPHASIZE-1) ? " };\n\n" : ", ");
+  fprintf(fp, "static double def_insl_prior[ALPHASIZE] = { ");
+  for (i = 0; i < ALPHASIZE; i++)
+    fprintf(fp, "%f%s", prior->insl_prior[i],
+	    (i == ALPHASIZE-1) ? " };\n\n" : ", ");
+  fprintf(fp, "static double def_insr_prior[ALPHASIZE] = { ");
+  for (i = 0; i < ALPHASIZE; i++)
+    fprintf(fp, "%f%s", prior->insr_prior[i],
+	    (i == ALPHASIZE-1) ? " };\n\n" : ", ");
+
+  /* Write the state transition priors
+   */
+  fprintf(fp, "static double def_tprior[7][4][STATETYPES][STATETYPES] =\n{\n");
+  for (fnode = 0; fnode < 7; fnode++)
+    {
+      fprintf(fp, "  {\n");	/* open block of 4 tonodes */
+      for (tnode = 0; tnode < 4; tnode++)
+	{
+	  fprintf(fp, "   { "); /* open block of 6 from states */
+	  for (fs = 0; fs < STATETYPES; fs++)
+	    {
+	      fprintf(fp, "%s", fs == 0? " { " : "      { ");
+	      for (ts = 0; ts < STATETYPES; ts++)
+		fprintf(fp, "%f%s", prior->tprior[fnode][tnode][fs][ts],
+			(ts == STATETYPES-1) ? " },\n" : ", ");
+	    }
+	  fprintf(fp, "   },\n\n"); /* end block of 6 from states */
+	}
+      fprintf(fp, "  },\n\n"); /* end block of 4 tonodes */
+    }
+  fprintf(fp, "};\n");
+  fprintf(fp, "#endif /* PRIORH_INCLUDED */\n");
+  return 1;
+}
+
+
+
+/* Function: NormalizePrior()
+ * 
+ * Purpose:  convert a prior containing counts to one suitable for saving;
+ *           the sum of each vector is the number of possibilities.
+ *           i.e., an emission vector sums to ALPHASIZE, a state transition
+ *           vector sums to the number of downstream states, and the MATP
+ *           emission table sums to ALPHASIZE*ALPHASIZE.
+ */
+void
+NormalizePrior(struct prior_s *prior)
+{
+  int fnode, tnode, fs, ts;     /* counters */
+  double sum;
+  double conn;			/* count of downstream connected states */
+
+
+  /* Normalize the vectors
+   */
+  DNorm(prior->rfreq,      ALPHASIZE);             /* rfreq, random model */
+  DNorm((double *) prior->matp_prior, ALPHASIZE * ALPHASIZE); /* MATP emission prior */
+  DNorm(prior->matl_prior, ALPHASIZE);             /* MATL emission prior */
+  DNorm(prior->matr_prior, ALPHASIZE);             /* MATR emission prior */
+  DNorm(prior->insl_prior, ALPHASIZE);             /* INSL emission prior */
+  DNorm(prior->insr_prior, ALPHASIZE);             /* INSR emission prior */
+
+  /* Scale them to ALPHASIZE or ALPHASIZE*ALPHASIZE
+   */
+  DScale(prior->rfreq,      ALPHASIZE, (double) ALPHASIZE);         /* rfreq, random model */
+  DScale((double *) prior->matp_prior, ALPHASIZE*ALPHASIZE, (double)(ALPHASIZE * ALPHASIZE)); /* MATP */
+  DScale(prior->matl_prior, ALPHASIZE, (double) ALPHASIZE);         /* MATL emission prior */
+  DScale(prior->matr_prior, ALPHASIZE, (double) ALPHASIZE);         /* MATR emission prior */
+  DScale(prior->insl_prior, ALPHASIZE, (double) ALPHASIZE);         /* INSL emission prior */
+  DScale(prior->insr_prior, ALPHASIZE, (double) ALPHASIZE);         /* INSR emission prior */
+
+  /* state transition priors
+   * deal with specially
+   */
+  for (fnode = 0; fnode < 7; fnode++)
+    for (tnode = 0; tnode < 4; tnode++)
+      for (fs = 0; fs < STATETYPES; fs++)
+	{
+	  sum = conn = 0.0;
+	  for (ts = 0; ts < STATETYPES; ts++)
+	    if (prior->tprior[fnode][tnode][fs][ts] > 0.0)
+	      {
+		conn += 1.0;
+		sum  += prior->tprior[fnode][tnode][fs][ts];
+	      }
+
+	  if (sum > 0.0)
+	    for (ts = 0; ts < STATETYPES; ts++)
+	      prior->tprior[fnode][tnode][fs][ts] = prior->tprior[fnode][tnode][fs][ts] * conn / sum;
+	}
+}
+
+
+/* Function: get_real()
+ * 
+ * Purpose:  Read next parameter from fp.
+ *           This is a very general reading function for reading
+ *           parameters from files with C-style comments.
+ *           As long as the caller
+ *           knows the order of what he's reading, he can format
+ *           the file any way he wants.
+ *
+ *           Works somewhat like strtok. Call it with fp
+ *           on first invocation; call with NULL on subsequent
+ *           invocations. Can't work on multiple files
+ *           simultaneously, and can't do anything else
+ *           to them (lest we lose track of begin/end comments)
+ *
+ *           Also note that we use strtok internally, so
+ *           the caller can't call strtok() between get_real calls
+ *           on the same file.
+ *
+ * Return:   1 on success; 0 on failure (such as end of file)
+ */
+static int
+get_real(FILE *fp, double *ret_real)
+{
+  static int in_comment   = 0;
+  static FILE *internalfp = NULL;
+  static char *lineptr    = NULL;
+  static char stripbuffer[512];	/* buffer with comments removed */
+  char buffer[512];
+  char *sptr;
+  char *stripptr;
+
+  if (fp != NULL) { internalfp = fp; lineptr = NULL; }
+
+  while (1)
+    {
+      if (lineptr == NULL)
+	{
+	  /* Get next line.
+	   */
+	  if (fgets(buffer, 512, internalfp) == NULL) return 0;
+  
+	  /* Preprocess the line, stripping out comments.
+	   * The stripped copy goes into stripbuffer.
+	   */
+	  stripptr = stripbuffer;
+	  for (sptr = buffer; *sptr; sptr++)
+	    {
+	      /* If we're in a comment, we're ignoring stuff
+	       * until we see end-comment. Else, we're saving
+	       * stuff until we see start-comment.
+	       */
+	      if (in_comment)
+		{
+		  if (*sptr == '*' && *(sptr+1) == '/')
+		    { in_comment = 0; sptr++; }
+		}
+	      else
+		{
+		  if (*sptr == '/' && *(sptr+1) == '*')
+		    { in_comment = 1; sptr++; }
+		  else
+		    { *stripptr = *sptr; stripptr++; }
+		}
+	    }
+	  *stripptr = '\0';
+	  lineptr = strtok(stripbuffer, WHITESPACE);
+	}
+
+      /* Now, get the first real and return it
+       */
+      while (lineptr != NULL)
+	{
+	  if (IsReal(lineptr))
+	    {
+	      *ret_real = atof(lineptr);
+	      lineptr = strtok(NULL, WHITESPACE);
+	      return 1;
+	    }
+	  else
+	    lineptr = strtok(NULL, WHITESPACE);
+	}
+    }
+
+  /*NOTREACHED*/
+  return 0;
+}
diff --git a/prior.h b/prior.h
new file mode 100644
index 0000000..3bde99c
--- /dev/null
+++ b/prior.h
@@ -0,0 +1,385 @@
+#ifndef PRIORH_INCLUDED
+#define PRIORH_INCLUDED
+/* prior.h -- prior probability distributions, for regularization
+ * SRE, Wed Sep  1 15:47:42 1993
+ * 
+ * There are 24 different node-node transitions; 6 kinds of node
+ * we can come from (BIFURC_NODES are the exception, always with p=1.0
+ * transitions), and four kinds of node we can go to (MATP, MATL,
+ * MATR, BIFURC; END is treated the same as BIFURC).
+ * 
+ * There are 256 different kinds of state transitions, total.
+ * For ease of indexing, we keep them in a [7][4][6][6] sparse
+ * array, indexed [from node][to node][from statetype][to statetype].
+ * Thus there are 1008 numbers, 752 are 0's. Any given row
+ * tprior[fn][tn][fs] sums to 1.0 * the number of possible
+ * transitions.
+ * 
+ * The tables are currently set up to do Laplace corrections; i.e.,
+ * a "plus-one" prior.
+ *
+ * Christ. This really _is_ the best way to do it, I think.
+ */
+
+/* DO NOT CHANGE THE ORDER OF THE DEFINITIONS IN THIS FILE.
+ * The prior.h header files are sometimes parsed at run-time,
+ * and they're expected to be in this format.
+ */
+
+#include "structs.h"
+
+                                      /* A     C     G     T */
+static double def_rfreq[ALPHASIZE] = { 0.25, 0.25, 0.25, 0.25 };
+
+static double def_talpha[STATETYPES] =
+/* DEL_ST  MATP_ST MATL_ST MATR_ST INSL_ST INSR_ST */
+{   1.00,   1.00,   1.00,   1.00,   1.00,   1.00 };
+
+static double def_emalpha[STATETYPES] =
+/* DEL_ST  MATP_ST MATL_ST MATR_ST INSL_ST INSR_ST */
+{   1.00,   1.00,   1.00,   1.00,   1.00,   1.00 };
+
+static double def_matp_prior[ALPHASIZE][ALPHASIZE] = 
+{
+  { 1.00, 1.00, 1.00, 1.00 },
+  { 1.00, 1.00, 1.00, 1.00 },
+  { 1.00, 1.00, 1.00, 1.00 },
+  { 1.00, 1.00, 1.00, 1.00 },
+};
+				          /* A      C    G      T */
+static double def_matl_prior[ALPHASIZE] = { 1.00, 1.00, 1.00, 1.00 };
+static double def_matr_prior[ALPHASIZE] = { 1.00, 1.00, 1.00, 1.00 };
+static double def_insl_prior[ALPHASIZE] = { 1.00, 1.00, 1.00, 1.00 };
+static double def_insr_prior[ALPHASIZE] = { 1.00, 1.00, 1.00, 1.00 };
+
+static double def_tprior[7][4][STATETYPES][STATETYPES] =
+{
+  {
+  /* BIFURC_NODE --> BIFURC_NODE or END: never happens
+   */
+/* fs:     */ /* ts:  BIFURC_ST MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATP_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+
+  /* BIFURC_NODE --> MATP_NODE: never happens.
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATP_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+	      
+  /* BIFURC_NODE --> MATL_NODE: never happens.
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATP_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+		},      
+
+  /* BIFURC_NODE --> MATR_NODE: never happens
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATP_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {     0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+	    },
+
+
+  {
+  /* MATP_NODE --> BIFURC_NODE or END
+   */
+/* fs:     */ /* ts:  BIFURC_ST MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,     0.00,    0.00,    0.00,    1.00,    1.00 },
+/* MATP_ST */   {      1.00,     0.00,    0.00,    0.00,    1.00,    1.00 },
+/* MATL_ST */   {      1.00,     0.00,    0.00,    0.00,    1.00,    1.00 },
+/* MATR_ST */   {      1.00,     0.00,    0.00,    0.00,    1.00,    1.00 },
+/* INSL_ST */   {      1.00,     0.00,    0.00,    0.00,    1.00,    1.00 },
+/* INSR_ST */   {      1.00,     0.00,    0.00,    0.00,    0.00,    1.00 },
+		},
+
+  /* MATP_NODE --> MATP_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   1.00,    1.00,    1.00,    1.00,    1.00 },
+/* MATP_ST */   {      1.00,   1.00,    1.00,    1.00,    1.00,    1.00 },
+/* MATL_ST */   {      1.00,   1.00,    1.00,    1.00,    1.00,    1.00 },
+/* MATR_ST */   {      1.00,   1.00,    1.00,    1.00,    1.00,    1.00 },
+/* INSL_ST */   {      1.00,   1.00,    1.00,    1.00,    1.00,    1.00 },
+/* INSR_ST */   {      1.00,   1.00,    1.00,    1.00,    0.00,    1.00 },
+		},
+	      
+  /* MATP_NODE --> MATL_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   0.00,    1.00,    0.00,    1.00,    1.00 },
+/* MATP_ST */   {      1.00,   0.00,    1.00,    0.00,    1.00,    1.00 },   
+/* MATL_ST */   {      1.00,   0.00,    1.00,    0.00,    1.00,    1.00 },     
+/* MATR_ST */   {      1.00,   0.00,    1.00,    0.00,    1.00,    1.00 },     
+/* INSL_ST */   {      1.00,   0.00,    1.00,    0.00,    1.00,    1.00 },     
+/* INSR_ST */   {      1.00,   0.00,    1.00,    0.00,    0.00,    1.00 },     
+		},      
+
+  /* MATP_NODE --> MATR_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   0.00,    0.00,    1.00,    1.00,    1.00 },
+/* MATP_ST */   {      1.00,   0.00,    0.00,    1.00,    1.00,    1.00 },
+/* MATL_ST */   {      1.00,   0.00,    0.00,    1.00,    1.00,    1.00 },
+/* MATR_ST */   {      1.00,   0.00,    0.00,    1.00,    1.00,    1.00 },
+/* INSL_ST */   {      1.00,   0.00,    0.00,    1.00,    1.00,    1.00 },
+/* INSR_ST */   {      1.00,   0.00,    0.00,    1.00,    0.00,    1.00 },
+		},
+	    },
+
+  {
+  /* MATL_NODE --> BIFURC_NODE or END
+   */
+/* fs:     */ /* ts:  BIFURC_ST MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,     0.00,    0.00,    0.00,    1.00,    0.00 },
+/* MATP_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      1.00,     0.00,    0.00,    0.00,    1.00,    0.00 },
+/* MATR_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,     0.00,    0.00,    0.00,    1.00,    0.00 },
+/* INSR_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+
+ /* MATL_NODE --> MATP_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   1.00,    1.00,    1.00,    1.00,    0.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      1.00,   1.00,    1.00,    1.00,    1.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,   1.00,    1.00,    1.00,    1.00,    0.00 },
+/* INSR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+
+  /* MATL_NODE --> MATL_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   0.00,    1.00,    0.00,    1.00,    0.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      1.00,   0.00,    1.00,    0.00,    1.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,   0.00,    1.00,    0.00,    1.00,    0.00 },
+/* INSR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+
+  /* MATL_NODE --> MATR_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   0.00,    0.00,    1.00,    1.00,    0.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      1.00,   0.00,    0.00,    1.00,    1.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,   0.00,    0.00,    1.00,    1.00,    0.00 },
+/* INSR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+            },
+
+
+  {
+  /* MATR_NODE --> BIFURC_NODE or END
+   */
+/* fs:     */ /* ts:  BIFURC_ST MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,     0.00,    0.00,    0.00,    0.00,    1.00 },
+/* MATP_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      1.00,     0.00,    0.00,    0.00,    0.00,    1.00 },
+/* INSL_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {      1.00,     0.00,    0.00,    0.00,    0.00,    1.00 },
+		},
+
+  /* MATR_NODE --> MATP_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   1.00,    1.00,    1.00,    0.00,    1.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },  
+/* MATR_ST */   {      1.00,   1.00,    1.00,    1.00,    0.00,    1.00 },
+/* INSL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {      1.00,   1.00,    1.00,    1.00,    0.00,    1.00 },
+		},
+	      
+  /* MATR_NODE --> MATL_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   0.00,    1.00,    0.00,    0.00,    1.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      1.00,   0.00,    1.00,    0.00,    0.00,    1.00 },
+/* INSL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {      1.00,   0.00,    1.00,    0.00,    0.00,    1.00 },
+		},      
+
+  /* MATR_NODE --> MATR_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   0.00,    0.00,    1.00,    0.00,    1.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      1.00,   0.00,    0.00,    1.00,    0.00,    1.00 },
+/* INSL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {      1.00,   0.00,    0.00,    1.00,    0.00,    1.00 },
+		},
+	    },
+
+
+  {
+  /* BEGINL_NODE --> BIFURC_NODE or END
+   */
+/* fs:     */ /* ts:  BIFURC_ST MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* BEGIN   */ { {      1.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATP_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+
+  /* BEGINL_NODE --> MATP_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* BEGIN   */ { {      1.00,   1.00,    1.00,    1.00,    0.00,    0.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+	      
+  /* BEGINL_NODE --> MATL_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* BEGIN   */ { {      1.00,   0.00,    1.00,    0.00,    0.00,    0.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+		},      
+
+  /* BEGINL_NODE --> MATR_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* BEGIN   */ { {      1.00,   0.00,    0.00,    1.00,    0.00,    0.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+	    },
+
+  {
+  /* BEGINR_NODE --> BIFURC_NODE or END
+   */
+/* fs:     */ /* ts:  BIFURC_ST MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,     0.00,    0.00,    0.00,    1.00,    0.00 },
+/* MATP_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,     0.00,    0.00,    0.00,    1.00,    0.00 },
+/* INSR_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+
+  /* BEGINR_NODE --> MATP_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   1.00,    1.00,    1.00,    1.00,    0.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,   1.00,    1.00,    1.00,    1.00,    0.00 },
+/* INSR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+	      
+  /* BEGINR_NODE --> MATL_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   0.00,    1.00,    0.00,    1.00,    0.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,   1.00,    1.00,    1.00,    1.00,    1.00 },
+/* INSR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+		},      
+
+  /* BEGINR_NODE --> MATR_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* DEL_ST  */ { {      1.00,   0.00,    0.00,    1.00,    1.00,    0.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,   0.00,    0.00,    1.00,    1.00,    0.00 },
+/* INSR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+		},
+	    },
+
+
+  {
+  /* ROOT_NODE --> BIFURC_NODE or END
+   */
+/* fs:     */ /* ts:  BIFURC_ST MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* BEGIN   */ { {      1.00,     0.00,    0.00,    0.00,    1.00,    1.00 },
+/* MATP_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,     0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,     0.00,    0.00,    0.00,    1.00,    1.00 },
+/* INSR_ST */   {      1.00,     0.00,    0.00,    0.00,    0.00,    1.00 },
+		},
+
+  /* ROOT_NODE --> MATP_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* BEGIN   */ { {      1.00,   1.00,    1.00,    1.00,    1.00,    1.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,   1.00,    1.00,    1.00,    1.00,    1.00 },
+/* INSR_ST */   {      1.00,   1.00,    1.00,    1.00,    0.00,    1.00 },
+		},
+	      
+  /* ROOT_NODE --> MATL_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* BEGIN   */ { {      1.00,   0.00,    1.00,    0.00,    1.00,    1.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,   0.00,    1.00,    0.00,    1.00,    1.00 },     
+/* INSR_ST */   {      1.00,   0.00,    1.00,    0.00,    0.00,    1.00 },     
+		},      
+
+  /* ROOT_NODE --> MATR_NODE
+   */
+/* fs:     */ /* ts:  DEL_ST  MATP_ST  MATL_ST  MATR_ST  INSL_ST  INSR_ST */
+/* BEGIN   */ { {      1.00,   0.00,    0.00,    1.00,    1.00,    1.00 },
+/* MATP_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATL_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* MATR_ST */   {      0.00,   0.00,    0.00,    0.00,    0.00,    0.00 },
+/* INSL_ST */   {      1.00,   0.00,    0.00,    1.00,    1.00,    1.00 },
+/* INSR_ST */   {      1.00,   0.00,    0.00,    1.00,    0.00,    1.00 },
+		},
+	    },
+};
+
+
+#endif /* PRIORH_INCLUDED */
diff --git a/probify.c b/probify.c
new file mode 100644
index 0000000..6f9aa1b
--- /dev/null
+++ b/probify.c
@@ -0,0 +1,225 @@
+/* probify.c
+ * Convert counts to probabilities, using regularization.
+ * SRE, Fri Sep  3 08:02:49 1993
+ *
+ * Because our training sequence set is finite (and often small)
+ * and our number of free parameters is large, we have a small
+ * sample statistics problem in estimating each parameter.
+ *
+ * The simplest way to deal with this problem is to use the
+ * so-called Laplace law of succession. If I have N sequences
+ * with a base symbol assigned to some state, and see n A's,
+ * I calculate the emission probability of A as (n+1)/(N+4),
+ * i.e., adding 1 to the numerator and the number of possible
+ * outcomes (4) to the denominator. A summary of the proof of
+ * this appears in Berg & von Hippel (J Mol Biol 193:723-750, 1987).
+ * It is referred to as the "plus-one prior" by David Haussler
+ * and by us.
+ *
+ * The plus-one prior implies that we have no knowledge at all about
+ * the prior probabilities; in absence of any data, the probabilities
+ * default to 1/4. What if we do have prior information? (For instance,
+ * for state transitions, we know that deletes and inserts are
+ * relatively rare.) We use a generalization of the Laplace law
+ * of succession:
+ *                n(x) + alpha * R(x)
+ *         P(x) = -------------------
+ *                ---
+ * 		  \   n(i) + alpha * R(i)
+ * 		  /__
+ * 		   i
+ * 
+ * Here, R(x) is a "regularizer" and alpha is a weight applied
+ * to the regularizer. Both were 1.0 in the plus-one prior.
+ * Now, we can bias R(x) to reflect our prior expectations
+ * about the probability distribution P(x). (In practice,
+ * we calculate R(x) by specifying a prior probability distribution
+ * and multiplying each term by the number of possible outcomes.)
+ * alpha is a "confidence" term; the higher alpha is, the more
+ * data it takes to outweigh the prior. We usually set alpha to
+ * 1.0, but sometimes -- such as for insert state emissions, 
+ * where we may assert that the emission probabilities are
+ * the same as random regardless of the data -- we might use
+ * arbitrarily high alpha's to freeze certain probability distributions
+ * at their priors.
+ * 
+ * All this follows the description in Krogh et. al's HMM paper
+ * (in press, JMB, 1993). 
+ * 
+ */
+
+
+#include "structs.h"
+#include "funcs.h"
+
+
+/* Function: ProbifyCM()
+ * 
+ * Purpose:  Convert all the state transitions and symbol emissions in
+ *           a covariance model from counts to probabilities.
+ *           
+ * Args:     cm - the model to convert
+ *                
+ * Return:   (void). Counts in cm become probabilities.
+ */
+void
+ProbifyCM(struct cm_s *cm, struct prior_s *prior)
+{
+  int k;
+
+  for (k = 0; k < cm->nodes; k++)
+    {
+      if (cm->nd[k].type != BIFURC_NODE)
+	{
+	  if (cm->nd[k].nxt == -1)
+	    ProbifyTransitionMatrix(cm->nd[k].tmx, cm->nd[k].type, END_NODE, prior);
+	  else
+	    ProbifyTransitionMatrix(cm->nd[k].tmx, cm->nd[k].type, cm->nd[k+1].type, prior);
+	}
+      
+      switch (cm->nd[k].type) {
+      case MATP_NODE:
+	ProbifySingletEmission(cm->nd[k].il_emit, uINSL_ST, prior);
+	ProbifySingletEmission(cm->nd[k].ir_emit, uINSR_ST, prior);
+	ProbifySingletEmission(cm->nd[k].ml_emit, uMATL_ST, prior);
+	ProbifySingletEmission(cm->nd[k].mr_emit, uMATR_ST, prior);
+	ProbifyPairEmission(cm->nd[k].mp_emit, prior);
+	break;
+
+      case MATL_NODE:
+	ProbifySingletEmission(cm->nd[k].il_emit, uINSL_ST, prior);
+	ProbifySingletEmission(cm->nd[k].ml_emit, uMATL_ST, prior);
+	break;
+	
+      case MATR_NODE:
+	ProbifySingletEmission(cm->nd[k].ir_emit, uINSR_ST, prior);
+	ProbifySingletEmission(cm->nd[k].mr_emit, uMATR_ST, prior);
+	break;
+
+      case BEGINR_NODE:
+	ProbifySingletEmission(cm->nd[k].il_emit, uINSL_ST, prior);
+	break;
+
+      case ROOT_NODE:
+	ProbifySingletEmission(cm->nd[k].il_emit, uINSL_ST, prior);
+	ProbifySingletEmission(cm->nd[k].ir_emit, uINSR_ST, prior);
+	break;
+	
+      case BIFURC_NODE: break;
+      case BEGINL_NODE: break;
+      default: Die("Unrecognized node type %d at node %d", cm->nd[k].type, k);
+      }
+    }
+}
+	
+	
+
+/* Function: ProbifyTransitionMatrix()
+ * 
+ * Purpose:  Convert the state transition matrix between two nodes
+ *           from counts to probabilities.
+ *           
+ * Args:     tmx:       6x6 state transition matrix of counts
+ *           from_node: e.g. MATP_NODE, type of node we transit from
+ *           to_node:   type of node we transit to
+ *           prior:     prior probability distributions
+ *           
+ * Return:   (void). Values in tmx become probabilities.
+ */
+void
+ProbifyTransitionMatrix(double          tmx[STATETYPES][STATETYPES],
+			int             from_node,
+			int             to_node,
+			struct prior_s *prior)
+{
+  int    i,j;
+  double denom;
+  
+  for (i = 0; i < STATETYPES; i++)
+    {
+      /* if no transitions to DEL in prior, this must be an unused vector */
+      if (prior->tprior[from_node][to_node][i][0] > 0.0)
+	{
+	  denom = 0.0;
+	  for (j = 0; j < STATETYPES; j++)
+	    { 
+	      tmx[i][j] = tmx[i][j] + prior->talpha[i] * prior->tprior[from_node][to_node][i][j];
+	      denom += tmx[i][j];
+	    }
+	  for (j = 0; j < STATETYPES; j++)
+	    tmx[i][j] /= denom;
+	}
+    }
+}
+
+
+
+/* Function: ProbifySingletEmission()
+ * 
+ * Purpose:  Convert a singlet emission vector from counts to probabilities.
+ * 
+ * Args:     emvec:     the emission vector
+ *           statetype: type of state: uMATL_ST, uMATR_ST, uINSL_ST, uINSR_ST
+ *           prior:     prior probability distributions 
+ *           
+ * Return:   (void). Values in emvec become probabilities.
+ */          
+void
+ProbifySingletEmission(double          emvec[ALPHASIZE],
+		       int             statetype,
+		       struct prior_s *prior)
+{
+  int x;
+  double denom;
+  double *em_prior;
+
+  /* Choose the correct prior probability distribution to use.
+   */
+  switch (statetype) {
+  case uMATL_ST: em_prior = prior->matl_prior; break;
+  case uMATR_ST: em_prior = prior->matr_prior; break;
+  case uINSL_ST: em_prior = prior->insl_prior; break;
+  case uINSR_ST: em_prior = prior->insr_prior; break;
+  default: Die("statetype %d is not a singlet emitting state\n", statetype);
+  }
+
+  denom = 0.0;
+  for (x = 0; x < ALPHASIZE; x++)
+    {
+      emvec[x] = emvec[x] + prior->emalpha[StatetypeIndex(statetype)] * em_prior[x];
+      denom += emvec[x];
+    }
+  if (denom > 0.0)
+    for (x = 0; x < ALPHASIZE; x++)
+      emvec[x] /= denom;
+}
+
+
+/* Function: ProbifyPairEmission()
+ * 
+ * Purpose:  Convert a MATP pairwise emission matrix from counts to probabilities.
+ * 
+ * Args:     emx:       the emission matrix
+ *           prior:     prior probability distributions 
+ *           
+ * Return:   (void). Values in emx become probabilities.
+ */          
+void
+ProbifyPairEmission(double          emx[ALPHASIZE][ALPHASIZE],
+		    struct prior_s *prior)
+{
+  int x,y;
+  double denom;
+
+  denom = 0.0;
+  for (x = 0; x < ALPHASIZE; x++)
+    for (y = 0; y < ALPHASIZE; y++)
+      {
+	emx[x][y] = emx[x][y] + prior->emalpha[MATP_ST] * prior->matp_prior[x][y];
+	denom += emx[x][y];
+      }
+  if (denom > 0.0)
+    for (x = 0; x < ALPHASIZE; x++)
+      for (y = 0; y < ALPHASIZE; y++)
+	emx[x][y] /= denom;      
+}
diff --git a/reformat_main.c b/reformat_main.c
new file mode 100644
index 0000000..e10328e
--- /dev/null
+++ b/reformat_main.c
@@ -0,0 +1,189 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* reformat_main.c
+ * Mon Sep 13 13:06:51 1993
+ * 
+ * reformat - reformat sequence files.
+ */
+
+
+#include <stdio.h>
+#include <string.h>
+#include "squid.h"
+
+#define OPTIONS "dhlru"
+
+char usage[]  = "Usage: reformat [-options] <format> <seqfile>\n\
+  Convert between sequence file formats.\n\
+  Available formats are:\n\
+    embl\n\
+    fasta\n\
+    xfasta\n\
+    genbank\n\
+    gcg\n\
+    gcgdata\n\
+    msf\n\
+    strider\n\
+    zuker\n\
+    ig\n\
+    nbrf\n\
+    pir\n\
+    selex\n\
+    squid\n\
+    raw\n\n\
+  Available options are:\n\
+    -d  : force DNA alphabet for nucleic acid sequence\n\
+    -r  : force RNA alphabet for nucleic acid sequence\n\
+    -l  : force lower case\n\
+    -u  : force upper case\n\
+    -h  : print short help and usage info\n";
+
+struct seqfmt_s {  char *formatname; int fmt; } seqfmt[] =
+{
+  { "embl",    kEMBL    },
+  { "fasta",   kPearson },
+  { "xfasta",  kXPearson},
+  { "genbank", kGenBank },
+  { "gcg",     kGCG     },
+  { "gcgdata", kGCGdata },
+  { "msf",     kMSF     },
+  { "strider", kStrider },
+  { "zuker",   kZuker   },
+  { "ig",      kIG      },
+  { "nbrf",    kNBRF    },
+  { "pir",     kPIR     },
+  { "selex",   kSelex   },
+  { "squid",   kSquid   },
+  { "raw",     kRaw     },
+};
+#define NUMFORMATS  (sizeof(seqfmt) / sizeof(struct seqfmt_s))
+
+
+int
+main(int argc, char **argv)
+{
+  char     *seqfile;            /* name of sequence file */
+  char     *format;
+  SQFILE   *dbfp;		/* open sequence file */
+  int       fmt;		/* format of seqfile  */
+  int       outfmt;		/* output format */
+  char     *seq;		/* sequence */
+  SQINFO    sqinfo;
+  int       i;
+
+  int    force_rna;		/* TRUE to force RNA alphabet */
+  int    force_dna;		/* TRUE to force DNA alphabet */
+  int    force_lower;		/* TRUE to force lower case   */
+  int    force_upper;		/* TRUE to force upper case   */
+
+  int    optchar;		/* option character, command line */
+  extern int   optind;
+  
+  /***********************************************
+   * Parse command line
+   ***********************************************/
+
+  force_rna   = FALSE;
+  force_dna   = FALSE;
+  force_upper = FALSE;
+  force_lower = FALSE;
+
+  while ((optchar = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optchar) {
+
+    case 'd': force_dna   = TRUE; break;
+    case 'l': force_lower = TRUE; break;
+    case 'r': force_rna   = TRUE; break;
+    case 'u': force_upper = TRUE; break;
+
+    case 'h': 
+      printf("reformat %s, %s\n%s\n", squid_version, squid_date, usage);
+      exit(EXIT_SUCCESS);
+    default:
+      Die("%s\n", usage);
+    }
+
+  if (argc - optind != 2)
+    Die("%s\n", usage); 
+  if (force_lower && force_upper)
+    Die("Can't force both upper case and lower case. Stop trying to confuse me.\n%s", 
+	usage);
+  if (force_rna && force_dna)
+    Die("Can't force both RNA and DNA. Stop trying to find bugs, you'll be sorry.\n%s", 
+	usage);
+
+  format  = argv[optind]; optind++;
+  seqfile = argv[optind]; optind++;
+  
+  /***********************************************
+   * Figure out what format we're supposed to write
+   ***********************************************/
+
+  outfmt = kUnknown;
+  for (i = 0; i < NUMFORMATS; i++)
+    if (strcasecmp(format, seqfmt[i].formatname) == 0)
+      outfmt = seqfmt[i].fmt;
+  
+  if (outfmt == kUnknown)
+    Die("Unknown output format %s\n%s", format, usage);
+
+  /***********************************************
+   * Reformat the file, printing to stdout.
+   ***********************************************/
+
+  if (! SeqfileFormat(seqfile, &fmt, NULL))
+    Die("Can't determine format of file %s\n", seqfile);
+
+  if ((fmt == kMSF || fmt == kSelex || fmt == kClustal) &&
+      (outfmt == kMSF || outfmt == kSelex))
+    {
+      char **aseqs;
+      int    num;
+      AINFO  ainfo;
+
+      ReadAlignment(seqfile, fmt, &aseqs, &num, &ainfo);
+
+      for (i = 0; i < num; i++)
+	{
+	  if (force_dna)   ToDNA(aseqs[i]);
+	  if (force_rna)   ToRNA(aseqs[i]);
+	  if (force_lower) s2lower(aseqs[i]);
+	  if (force_upper) s2upper(aseqs[i]);
+	}
+      
+      switch (outfmt) {
+      case kMSF:   WriteMSF(stdout, aseqs, num, &ainfo);       break;
+      case kSelex: WriteSELEX(stdout, aseqs, num, &ainfo, 50); break;
+      }
+      FreeAlignment(aseqs, num, &ainfo);
+    }
+  else if (outfmt == kMSF || outfmt == kSelex)
+    {
+      Die("Sorry, you can't make alignment files from unaligned files");
+    }
+  else
+    {
+      if ((dbfp = SeqfileOpen(seqfile, fmt, NULL)) == NULL)
+	Die("Failed to open sequence file %s for reading", seqfile);
+  
+      while (ReadSeq(dbfp, fmt, &seq, &sqinfo))
+	{
+	  if (force_dna)   ToDNA(seq);
+	  if (force_rna)   ToRNA(seq);
+	  if (force_lower) s2lower(seq);
+	  if (force_upper) s2upper(seq);
+
+	  WriteSeq(stdout, outfmt, seq, &sqinfo);
+	  FreeSequence(seq, &sqinfo);
+	}
+      SeqfileClose(dbfp);
+    }
+  return 0;
+}
diff --git a/revcomp.c b/revcomp.c
new file mode 100644
index 0000000..1363099
--- /dev/null
+++ b/revcomp.c
@@ -0,0 +1,61 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* revcomp.c
+ * 
+ * Reverse complement of a IUPAC character string
+ * 
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include "squid.h"
+
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+
+char *
+revcomp(char *comp, char *seq)
+{
+  long  bases;
+  char *bckp, *fwdp;
+  int   idx;
+  long  pos;
+  int   c;
+
+  if (comp == NULL) return NULL;
+  if (seq == NULL)  return NULL;
+  bases = strlen(seq);
+
+  fwdp = comp;
+  bckp = seq + bases -1;
+  for (pos = 0; pos < bases; pos++)
+    {
+      c = *bckp;
+      c = sre_toupper(c);
+      for (idx = 0; c != iupac[idx].sym && idx < IUPACSYMNUM; idx++);
+      if (idx == IUPACSYMNUM)
+	{
+	  Warn("Can't reverse complement an %c, pal. Using N.", c);
+	  *fwdp = 'N';
+	}
+      else
+	*fwdp = iupac[idx].symcomp;
+      if (islower((int) *bckp)) *fwdp = sre_tolower((int) *fwdp);
+      fwdp++;
+      bckp--;
+    }
+  *fwdp = '\0';
+  return comp;
+}
+  
diff --git a/revcomp_main.c b/revcomp_main.c
new file mode 100644
index 0000000..83d7bc2
--- /dev/null
+++ b/revcomp_main.c
@@ -0,0 +1,90 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* main for revcomp
+ *
+ * revcomp - generate reverse complement of sequences
+ * SRE, Thu Aug  5 17:36:57 1993
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "squid.h"
+
+#define OPTIONS "h"
+
+char usage[]  = "Usage: revcomp [-options] <seqfile>\n\
+  Reverse complement a nucleic acid sequence.\n\
+  Available options:\n\
+  -h    : help; print version and usage info\n";
+
+int
+main(int argc, char **argv)
+{
+  char  *seqfile;               /* name of sequence file */
+  SQFILE *dbfp;			/* open sequence file */
+  int    fmt;			/* format of seqfile  */
+  char  *seq;			/* sequence */
+  SQINFO sqinfo;                /* additional sequence info */
+  char  *rev;			/* reverse complement */
+  int    swap;
+
+  int    optchar;		/* option character, command line */
+  extern int   optind;
+
+  /***********************************************
+   * Parse command line
+   ***********************************************/
+
+  while ((optchar = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optchar) {
+    case 'h': 
+      printf("revcomp %s, %s\n%s\n", squid_version, squid_date, usage);
+      exit(EXIT_SUCCESS);
+    default:
+      Die("%s\n", usage);
+    }
+
+  if (argc - optind != 1) Die("%s\n", usage); 
+  seqfile = argv[optind];
+		 
+  if (! SeqfileFormat(seqfile, &fmt, NULL))
+    Die("Failed to determine format of file %s", seqfile);
+  if ((dbfp = SeqfileOpen(seqfile, fmt, NULL)) == NULL)
+    Die("Failed to open sequence file %s for reading", seqfile);
+  
+  while (ReadSeq(dbfp, fmt, &seq, &sqinfo))
+    {
+      if ((rev = (char *) malloc ((sqinfo.len + 1) * sizeof(char))) == NULL)
+	Die("malloc failed");
+
+      revcomp(rev, seq);
+      if (sqinfo.flags & (SQINFO_START | SQINFO_STOP))
+	{
+	  swap         = sqinfo.start;
+	  sqinfo.start = sqinfo.stop;
+	  sqinfo.stop  = swap;
+	}
+	/* secondary structure of reverse strand is nonsense
+	 */
+      if (sqinfo.flags & SQINFO_SS)
+	{
+	  sqinfo.flags = sqinfo.flags & ~SQINFO_SS;
+	  free(sqinfo.ss);
+	}
+
+      WriteSeq(stdout, kPearson, rev, &sqinfo);
+
+      free(rev);
+      FreeSequence(seq, &sqinfo);
+    }
+
+  SeqfileClose(dbfp);
+  return 0;
+}
diff --git a/save.c b/save.c
new file mode 100644
index 0000000..6a37015
--- /dev/null
+++ b/save.c
@@ -0,0 +1,315 @@
+/* save.c
+ * Saving models to disk, and reading them back in
+ * SRE, Wed Sep  8 17:14:43 1993
+ * 
+ * Both binary and flat text save formats are supported.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "funcs.h"
+#include "structs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+/* The magic number for our binary file is "cm20" + 0x80808080 */
+static int v20magic = 0xe3edb2b0;
+
+static int read_cm20   (FILE *fp, struct cm_s **ret_cm);
+static int read_bincm20(FILE *fp, struct cm_s **ret_cm);
+
+/* Function: WriteCM()
+ * 
+ * Purpose:  Print a flat text copy of the data from a model
+ *           to a file handle.
+ *           
+ * Returns:  1 on success, 0 on failure.
+ */
+int
+WriteCM(FILE *fp, struct cm_s *cm)
+{
+  int i, j, k;
+
+				/* header info */
+  fprintf(fp, "### cove V2\n");
+  fprintf(fp, "%d \tnodes\n",  cm->nodes);
+
+				/* over all nodes, 0..cm->nodes-1 */
+  for (k = 0; k < cm->nodes; k++)
+    {
+      fprintf(fp, "### node %d type %d\n", k, cm->nd[k].type);
+      fprintf(fp, "%d  %d\n", cm->nd[k].nxt, cm->nd[k].nxt2);
+      
+				/* transitions */
+      for (i = 0; i < STATETYPES; i++)
+	{
+	  for (j = 0; j < STATETYPES; j++)
+	    fprintf(fp, "%.5f ", cm->nd[k].tmx[i][j]);
+	  putc('\n', fp);
+	}
+				/* INSL emissions */
+      for (i = 0; i < ALPHASIZE; i++)
+	fprintf(fp, "%.5f ", cm->nd[k].il_emit[i]);
+      fputs("# INSL\n", fp);
+				/* INSR emissions */
+      for (i = 0; i < ALPHASIZE; i++)
+	fprintf(fp, "%.5f ", cm->nd[k].ir_emit[i]);
+      fputs("# INSR\n", fp);
+
+				/* MATP emissions */
+      for (i = 0; i < ALPHASIZE; i++)
+	{
+	  for (j = 0; j < ALPHASIZE; j++)
+	    fprintf(fp, "%.5f ", cm->nd[k].mp_emit[i][j]);
+	  fputs("# MATP\n", fp);
+	}
+				/* MATL emissions */
+      for (i = 0; i < ALPHASIZE; i++)
+	fprintf(fp, "%.5f ", cm->nd[k].ml_emit[i]);
+      fputs("# MATL\n", fp);
+				/* MATR emissions */
+      for (i = 0; i < ALPHASIZE; i++)
+	fprintf(fp, "%.5f ", cm->nd[k].mr_emit[i]);
+      fputs("# MATR\n", fp);
+    }
+  return 1;
+}
+
+
+
+/* Function: WriteBinaryCM()
+ * 
+ * Purpose:  Save a model in binary format; somewhat nonportable
+ *           but much more compressed.
+ *           
+ * Args:     fp - open file pointer to write to          
+ *           cm - model to save
+ *           
+ * Return:   1 on success, 0 on failure.
+ */
+int
+WriteBinaryCM(FILE  *fp, struct cm_s *cm)
+{
+  int k;			/* counter for nodes */
+
+  /* Write the four-byte magic number. It identifies the file
+   * as binary (because the high bits are set), and identifies
+   * the major version of the program. It can be used to
+   * identify and possibly humor byte-swapped architectures,
+   * although we don't bother for now.
+   */
+  fwrite((void *) &v20magic, 4, 1, fp);
+
+				/* header info */
+  fwrite((void *) &(cm->nodes),  sizeof(int), 1, fp);
+
+				/* loop over all nodes in model */
+  for (k = 0; k < cm->nodes; k++)
+    {
+				/* type of node */
+      fwrite((void *) &cm->nd[k].type,  sizeof(int), 1, fp);
+
+				/* indices of child nodes */
+      fwrite((void *) &cm->nd[k].nxt,  sizeof(int), 1, fp);
+      fwrite((void *) &cm->nd[k].nxt2, sizeof(int), 1, fp);
+      
+				/* transitions */
+      fwrite((void *) cm->nd[k].tmx, sizeof(double), STATETYPES*STATETYPES, fp);
+
+				/* INS emissions */
+      fwrite((void *) cm->nd[k].il_emit, sizeof(double), ALPHASIZE, fp);
+      fwrite((void *) cm->nd[k].ir_emit, sizeof(double), ALPHASIZE, fp);
+      
+				/* MAT emissions */
+      fwrite((void *) cm->nd[k].mp_emit, sizeof(double), ALPHASIZE * ALPHASIZE, fp);
+      fwrite((void *) cm->nd[k].ml_emit, sizeof(double), ALPHASIZE, fp);
+      fwrite((void *) cm->nd[k].mr_emit, sizeof(double), ALPHASIZE, fp);
+    }
+  return 1;
+}
+
+
+
+
+/* Function: ReadCM()
+ * 
+ * Purpose:  Read a flat text copy of the data from a model
+ *           from a file.
+ *           
+ * Returns:  1 on success, 0 on failure.
+ */
+int
+ReadCM(char *filename, struct cm_s **ret_cm)
+{
+  FILE           *fp;
+  char            buffer[512];
+  int             magic_number;
+
+  /* Open file for reading
+   */
+  if ((fp = fopen(filename, "r")) == NULL)
+    {
+      Warn("Cannot open model file %s for reading", filename);
+      return 0;
+    }
+
+  /* Look for "magic" header and dispatch reading
+   * to the appropriate routine. First we check the leading
+   * 4 bytes to see if it's a binary save file.
+   */
+  if (! fread((void *) &magic_number, 4, 1, fp)) 
+    Die("Failed to read magic number from model file %s", filename);
+  if (magic_number == v20magic)
+    {
+      if (! read_bincm20(fp, ret_cm))
+	Die("Failed to read binary model file %s", filename);
+    }
+  else
+    {
+      rewind(fp);
+
+      if (fgets(buffer, 512, fp) == NULL)
+	{
+	  Warn("ain't no data in the model file %s, pal", filename);
+	  return 0;
+	}
+      if (strncmp(buffer, "### cove V2", 11) == 0)
+	{
+	  if (! read_cm20(fp, ret_cm)) return 0;
+	}
+      else
+	{
+	  Warn("File %s is not a recognized covariance model format", filename);
+	  return 0;
+	}
+    }
+
+  /* We're vulnerable to some roundoff error when we've read
+   * files in; make sure all probabilities sum to 1.
+   */
+  NormalizeCM(*ret_cm);
+  fclose(fp);
+  return 1;
+}
+
+
+/* Function: read_cm20()
+ * 
+ * Purpose:  Read flat text model files from version 2.0 of the
+ *           package. The file pointer fp is positioned on the line
+ *           just after the "magic" header. Allocates, reads in,
+ *           and returns the model.
+ */
+static int
+read_cm20(FILE *fp, struct cm_s **ret_cm)
+{
+  struct cm_s *cm;
+  int          i, j, k;
+  int          nodes;
+  int		   ret = 0;
+
+
+				/* header info */
+  ret = fscanf(fp, "%d \tnodes\n", &nodes);
+  
+  /* Given that header info, alloc for a model.
+   */
+  cm = AllocCM(nodes);
+  if (cm == NULL) { Warn("Failed to allocate model"); return 0; }
+
+				/* over all nodes, 0..nodes-1 */
+  for (k = 0; k < nodes; k++)
+    {
+      ret = fscanf(fp, "### node %*d");
+      ret = fscanf(fp, " type %d\n", &cm->nd[k].type);
+      ret = fscanf(fp, "%d  %d\n", &cm->nd[k].nxt, &cm->nd[k].nxt2);
+      
+				/* transitions */
+      for (i = 0; i < STATETYPES; i++)
+	{
+	  for (j = 0; j < STATETYPES; j++)
+	    ret = fscanf(fp, "%lf ", &cm->nd[k].tmx[i][j]);
+	  ret = fscanf(fp, "\n");
+	}
+      
+				/* INSL emissions */
+      for (i = 0; i < ALPHASIZE; i++)
+	ret = fscanf(fp, "%lf ", &cm->nd[k].il_emit[i]);
+      ret = fscanf(fp, "# INSL\n");
+				/* INSR emissions */
+      for (i = 0; i < ALPHASIZE; i++)
+	ret = fscanf(fp, "%lf ", &cm->nd[k].ir_emit[i]);
+      ret = fscanf(fp, "# INSR\n");
+
+				/* MATP emissions */
+      for (i = 0; i < ALPHASIZE; i++)
+	{
+	  for (j = 0; j < ALPHASIZE; j++)
+	    ret = fscanf(fp, "%lf ", &cm->nd[k].mp_emit[i][j]);
+	  ret = fscanf(fp, "# MATP\n");
+	}
+				/* MATL emissions */
+      for (i = 0; i < ALPHASIZE; i++)
+	ret = fscanf(fp, "%lf ", &cm->nd[k].ml_emit[i]);
+      ret = fscanf(fp, "# MATL\n");
+				/* MATR emissions */
+      for (i = 0; i < ALPHASIZE; i++)
+	ret = fscanf(fp, "%lf ", &cm->nd[k].mr_emit[i]);
+      ret = fscanf(fp, "# MATR\n");
+    }
+  *ret_cm = cm;
+  return 1;
+}
+
+
+
+/* Function: read_bincm20()
+ * 
+ * Purpose:  Read binary save files.
+ *           
+ * Args:     fp     - open file pointer for reading, positioned after magic number
+ *           ret_cm - RETURN: model
+ *                    
+ * Return:   1 on success, 0 on failure                   
+ */
+static int
+read_bincm20(FILE *fp, struct cm_s **ret_cm)
+{
+  struct cm_s *cm;
+  int          nodes;
+  int          k;            /* counter for nodes       */
+
+  if (! fread((void *) &(nodes), sizeof(int), 1, fp)) return 0;
+
+				/* now create space for CM. */
+  cm = AllocCM(nodes);
+  if (cm == NULL) return 0;
+				/* everything else is nodes */
+  for (k = 0; k < nodes; k++)
+    {
+				/* type of node */
+      if (! fread((void *) &cm->nd[k].type, sizeof(int), 1, fp)) return 0;
+
+				/* indices of child nodes */
+      if (! fread((void *) &cm->nd[k].nxt,  sizeof(int), 1, fp)) return 0;
+      if (! fread((void *) &cm->nd[k].nxt2, sizeof(int), 1, fp)) return 0;
+      
+				/* transitions */
+      if (! fread((void *) cm->nd[k].tmx, sizeof(double), STATETYPES*STATETYPES, fp)) return 0;
+
+				/* INS emissions */
+      if (! fread((void *) cm->nd[k].il_emit, sizeof(double), ALPHASIZE, fp)) return 0;
+      if (! fread((void *) cm->nd[k].ir_emit, sizeof(double), ALPHASIZE, fp)) return 0;
+      
+				/* MAT emissions */
+      if (! fread((void *) cm->nd[k].mp_emit, sizeof(double), ALPHASIZE*ALPHASIZE, fp)) return 0;
+      if (! fread((void *) cm->nd[k].ml_emit, sizeof(double), ALPHASIZE, fp)) return 0;
+      if (! fread((void *) cm->nd[k].mr_emit, sizeof(double), ALPHASIZE, fp)) return 0;
+    }
+  *ret_cm = cm;
+  return 1;
+}
diff --git a/scan_main.c b/scan_main.c
new file mode 100644
index 0000000..a7410bf
--- /dev/null
+++ b/scan_main.c
@@ -0,0 +1,306 @@
+/* scan_main.c
+ * Mon Jan 31 11:04:57 1994
+ * 
+ * main() for database scanning with a covariance model.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <math.h>
+
+#ifdef NEED_GETOPTH
+#include <getopt.h>
+#endif
+
+#include "structs.h"
+#include "funcs.h"
+#include "squid.h" 
+#include "version.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+#define OPTIONS "cg:ho:t:w:D:E:F"
+
+static char usage[]  = "\
+Usage: covels [-options] <CM file> <seqfile>\n\
+where options are:\n\
+    -c          : do complementary strand too\n\
+    -g <fracGC> : set background expected GC content (0.5 default)\n\
+    -h          : print short help and version info\n\
+    -o <file>   : save hits in <file>\n\
+    -t <thresh> : set score reporting threshold\n\
+    -w <window> : set scanning window size\n\
+ CRASH PROTECTION OPTIONS:\n\
+    -D <filename> : save name of last sequence processed\n\
+ EXPERIMENTAL OPTIONS:\n\
+    -E          : set epsilon for fast search\n\
+    -F          : fast heuristic search\n";
+
+
+static char banner[] = "covels - scan sequences for matches to an RNA covariance model";
+
+static char *ext_seqname;
+static int   ext_seqlen;
+static int   in_complement;
+static FILE *ext_ofp;
+
+static int print_hit(int i, int j, double sc);
+
+int
+main(int argc, char **argv)
+{ 
+  char  *seq;                   /* a sequence to score            */
+  SQINFO sqinfo;                /* info about sequence            */
+  char  *rev;			/* rev complement of seq          */
+  char  *seqfile;               /* sequence file                  */
+  int    fmt;			/* format of sequence file        */
+  SQFILE *dbfp;                 /* open sequence file for reading */
+  char  *cmfile;                /* file containing covariance model */
+  struct cm_s *cm;              /* model                          */
+  struct istate_s *icm;         /* integer log-odds search model  */
+  struct pstate_s *pcm;		/* rearranged probability model   */
+  int    statenum;              /* # of states in icm, pcm        */
+  int   *minb, *maxb;		/* bounds for fast heuristic search */
+  double rfreq[ALPHASIZE];      /* random model                   */
+
+  int        fast;		/* TRUE if trying fast heuristic search       */
+  double     epsilon;		/* how much probability we're willing to lose */
+  int        do_complement;	/* TRUE if searching complementary strand too */
+  double     thresh;		/* threshold score for reporting a match      */
+  char      *outfile;		/* save file for scores                       */
+  int        window;		/* size of search window, symbols             */
+  char      *donefile;		/* crash protection: save name of last seq    */
+  double     gcfrac;		/* background gc fraction                     */
+
+#ifdef MEMDEBUG
+  unsigned long histid1, histid2, orig_size, curr_size;
+#endif
+
+  int          optc;
+  extern char *optarg;          /* for getopt() */
+  extern int   optind;		/* for getopt() */
+
+  /*********************************************** 
+   * Parse command line
+   ***********************************************/
+
+  do_complement = FALSE;
+  thresh        = 0.0;
+  window        = 100;
+  outfile       = NULL;
+  fast          = FALSE;
+  epsilon       = 1e-9;
+  donefile      = NULL;
+  gcfrac        = 0.5;
+
+  while ((optc = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optc) {
+
+    case 'c': do_complement = TRUE;                  break;
+    case 'g': gcfrac        = (double) atof(optarg); break;
+    case 'o': outfile       = optarg;                break;
+    case 't': thresh        = (double) atof(optarg); break;
+    case 'w': window        = atoi(optarg);          break;
+
+    case 'D': donefile      = optarg;                break;
+    case 'E': epsilon       = atof(optarg);          break;
+    case 'F': fast          = TRUE;                  break;
+
+    case 'h': 
+      printf("%s\n  version %s (%s)\n%s\n", banner, RELEASE, RELEASEDATE, usage);
+      exit(0);
+
+    default: Die("unrecognized option %c\n", optc);
+    }
+
+  if (argc - optind != 2)
+    Die("%s\n", usage);
+  
+  cmfile  = argv[argc-2];
+  seqfile = argv[argc-1]; 
+
+  /* The random model probabilities
+   */
+  rfreq[1] = rfreq[2] = gcfrac / 2.0;
+  rfreq[0] = rfreq[3] = (1.0 - gcfrac) / 2.0;
+
+  if (! SeqfileFormat(seqfile, &fmt, NULL))
+    Die("Failed to determine format of sequence database %s", seqfile);
+
+  if ((dbfp = SeqfileOpen(seqfile, fmt, NULL)) == NULL)
+    Die("Failed to open sequence file %s for reading", seqfile);
+
+  if (! ReadCM(cmfile, &cm))
+    Die("Failed to read model from file %s", cmfile);
+
+  if (! RearrangeCM(cm, rfreq, &icm, &statenum))
+    Die("Failed to create search CM");
+
+  /* Fast version.
+   * Use lower/upper bounds on possible subsequence lengths
+   * for each state. These are obtained probabilistically.
+   */
+  if (fast)
+    {
+      double **lmx;
+
+      if (! MakePCM(cm, &pcm, &statenum))
+	Die("Failed to rearrange CM for bounds calculations");
+      NormalizePCM(pcm, statenum);
+      LengthDistribution(pcm, statenum, window, &lmx);
+      LengthBounds(lmx, statenum, window, epsilon, &minb, &maxb);
+      Free2DArray(lmx, statenum);
+      free(pcm);
+    }
+
+  ext_ofp = NULL;
+  if (outfile != NULL)
+    if ((ext_ofp = fopen(outfile, "w")) == NULL)
+      Die("Failed to open score output file %s for writing", outfile);
+
+  /*********************************************** 
+   * Print banner
+   ***********************************************/
+
+  puts(banner);
+  printf("     version %s, %s\n\n", RELEASE, RELEASEDATE);
+
+  printf("---------------------------------------------------\n");
+  printf("Database to search/score:      %s\n", seqfile);
+  printf("Model:                         %s\n", cmfile);
+  printf("Reporting threshold:           %.2f\n", thresh);
+  printf("Maximum match size:            %d\n", window);
+  printf("Complementary strand searched: %s\n", do_complement? "yes":"no");
+  if (outfile != NULL)
+    printf("Scores saved to file:          %s\n", outfile);  
+  printf("GC%% of background model:       %.0f%%\n", (gcfrac*100.));
+  printf("---------------------------------------------------\n");
+  puts("");
+
+  /*********************************************** 
+   * Score each sequence
+   ***********************************************/
+
+#ifdef MEMDEBUG
+  orig_size = malloc_size(&histid1);
+#endif
+
+  while (ReadSeq(dbfp, fmt, &seq, &sqinfo))
+    {
+      s2upper(seq);
+
+		/* some communication to report_local through statics */
+      ext_seqname   = sqinfo.name;
+      ext_seqlen    = sqinfo.len;
+      in_complement = FALSE;
+
+      if (fast)
+	{
+	  if (! FastViterbiScan(icm, statenum, minb, maxb, seq, window, thresh, print_hit))
+	    Die("Search across sequence %s failed", sqinfo.name);
+	}
+      else if (! ViterbiScan(icm, statenum, seq, window, thresh, print_hit))
+	Die("Search across sequence %s failed", sqinfo.name);
+
+      if (do_complement)
+	{
+	  in_complement = TRUE;
+	  
+	  if ((rev = (char *) malloc ((sqinfo.len+1) * sizeof(char))) == NULL)
+	    Die("malloc failed");
+	  revcomp(rev, seq);
+	      
+	  if (fast)
+	    {
+	      if (! FastViterbiScan(icm, statenum, minb, maxb, rev, window, thresh, print_hit))
+		Die("Search across sequence %s failed", sqinfo.name);
+	    }
+	  else if (! ViterbiScan(icm, statenum, rev, window, thresh, print_hit))
+	    Die("Search across complement of sequence %s failed", sqinfo.name);
+
+	  free(rev);
+	}
+      
+      if (donefile != NULL)
+	{
+	  FILE *dfp;
+	  if ((dfp = fopen(donefile, "w")) == NULL)
+	    Die("Failed to open file for saving name of last finished sequence");
+	  fprintf(dfp, "%s\n", sqinfo.name);
+	  fclose(dfp);
+	}
+
+
+      FreeSequence(seq, &sqinfo);
+#ifdef MEMDEBUG
+      curr_size = malloc_size(&histid2);
+
+      if (curr_size != orig_size)
+	{
+	  Warn("memory leak: current size %ul, starting size %ul\n", curr_size, orig_size);
+	  malloc_list(2,histid1, histid2);
+	}
+#endif
+    }
+
+  if (donefile != NULL)
+    {
+      FILE *dfp;
+      if ((dfp = fopen(donefile, "w")) == NULL)
+	Die("Failed to open file for saving name of last finished sequence");
+      fprintf(dfp, "Search complete.");
+      fclose(dfp);
+    }
+
+
+  if (fast)
+    {
+      free(minb);
+      free(maxb);
+    }
+  free(icm);
+  FreeCM(cm);
+
+  SeqfileClose(dbfp);
+  return 0;
+}
+
+
+/* Function: print_hit()
+ * 
+ * Purpose:  Simple function that determines the format of printing
+ *           out scanning hits. It gets the start point, end point,
+ *           and score of the match; any other info it wants to print
+ *           must come through static external variables in this file.
+ *           
+ * Args:     i  - start point of match
+ *           j  - end point of match
+ *           sc - score of match
+ *
+ * Return:   (void)
+ */                          
+static int
+print_hit(int    i,
+	  int    j,
+	  double sc)
+{
+  if (in_complement)
+    printf("%6.2f  %5d  %5d   : %s\n",  sc, ext_seqlen-i+1, ext_seqlen-j+1, ext_seqname);
+  else
+    printf("%6.2f  %5d  %5d   : %s\n",  sc, i, j, ext_seqname);
+
+  if (ext_ofp != NULL)
+    {
+      if (in_complement)
+	 fprintf(ext_ofp, "%6.2f  %5d  %5d   : %s\n",  
+		 sc, ext_seqlen-i+1, ext_seqlen-j+1, ext_seqname);
+      else
+	fprintf(ext_ofp, "%6.2f  %5d  %5d   : %s\n",  sc, i, j, ext_seqname);
+      fflush(ext_ofp);
+    }
+  return 1;
+}
diff --git a/score_main.c b/score_main.c
new file mode 100644
index 0000000..04f0f9b
--- /dev/null
+++ b/score_main.c
@@ -0,0 +1,209 @@
+/* score_main.c
+ * Fri Feb 18 10:31:48 1994
+ * 
+ * main() for scoring test sequences with a model.
+ *   Also, can print out alignments of model to sequence so
+ *   that the pairwise assignments can be seen.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <math.h>
+
+#ifdef NEED_GETOPTH
+#include <getopt.h>
+#endif
+
+#include "structs.h"
+#include "funcs.h"
+#include "squid.h" 
+#include "version.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+#define OPTIONS "ag:ms"
+
+static char usage[]  = "\
+Usage: coves [-options] <CM file> <seqfile>\n\
+where options are:\n\
+    -a          : show all pairs, not just Watson-Crick\n\
+    -g <gcfrac> : set expected background GC composition (default 0.5)\n\
+    -m          : mountain representation of structural alignment\n\
+    -s          : secondary structure string representation of \n\
+                  structural alignment\n";
+
+static char banner[] = "\
+coves - scoring and structure prediction of RNA sequences\n\
+        using a covariance model";
+
+int
+main(int argc, char **argv)
+{ 
+  char  *seq;                   /* a sequence to score            */
+  SQINFO sqinfo;                /* info about seq                 */
+  char  *seqfile;               /* sequence file                  */
+  int    fmt;			/* format of sequence file        */
+  SQFILE *dbfp;                 /* open sequence file for reading */
+  char  *cmfile;                /* file containing covariance model */
+  struct cm_s *cm;              /* model                          */
+  double score;                 /* score of alignment             */
+  struct trace_s *tr;           /* traceback of alignment         */
+  struct align_s *ali;		/* alignment of seq to model      */
+  char  *aseq;                  /* "aligned" sequence string      */
+  char  *khstruct;              /* secondary structure string     */
+  char   buffer[61];		/* output buffer for structures   */
+  int    len;			/* length of aseq, khstruct       */
+  int    apos;			/* position in aseq, khstruct     */
+  double rfreq[ALPHASIZE];      /* expected background symbol frequencies */
+  struct istate_s *icm;		/* integer log odds model         */
+  int    statenum;		/* # of states in icm             */
+
+  int     do_khstructure;	/* TRUE if we print a structure string  */
+  int     do_mountain;		/* TRUE if we show a mountain structure */
+  int     watsoncrick;          /* TRUE if only canonical pairs are indicated */
+  double  gcfrac;		/* expected background GC fraction */
+
+#ifdef MEMDEBUG
+  unsigned long histid1, histid2, orig_size, curr_size;
+#endif
+
+  int          optc;
+  extern char *optarg;          /* for getopt() */
+  extern int   optind;		/* for getopt() */
+
+  /*********************************************** 
+   * Parse command line
+   ***********************************************/
+
+  do_khstructure = FALSE;
+  do_mountain    = FALSE;
+  watsoncrick    = TRUE;
+  gcfrac         = 0.5;
+
+  while ((optc = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optc) {
+
+    case 'a': watsoncrick    = FALSE;                 break;
+    case 'g': gcfrac         = (double) atof(optarg); break;
+    case 'm': do_mountain    = TRUE;                  break;
+    case 's': do_khstructure = TRUE;                  break;
+
+    case 'h': 
+      printf("%s\n  version %s (%s)\n%s\n", banner, RELEASE, RELEASEDATE, usage);
+      exit(0);
+
+    default: Die("unrecognized option %c\n", optc);
+    }
+
+  if (argc - optind != 2)
+    Die("%s\n", usage);
+  
+  cmfile  = argv[argc-2];
+  seqfile = argv[argc-1]; 
+
+  if (! SeqfileFormat(seqfile, &fmt, NULL))
+    Die("Failed to determine format of sequence database %s", seqfile);
+
+  if ((dbfp = SeqfileOpen(seqfile, fmt, NULL)) == NULL)
+    Die("Failed to open sequence file %s for reading", seqfile);
+
+  if (! ReadCM(cmfile, &cm))
+    Die("Failed to read model from file %s", cmfile);
+
+  rfreq[1] = rfreq[2] = gcfrac / 2.;
+  rfreq[0] = rfreq[3] = (1. - gcfrac) / 2.;
+              
+  if (! RearrangeCM(cm, rfreq, &icm, &statenum))
+    Die("failed to make integer log odds model");
+
+  /*********************************************** 
+   * Print banner
+   ***********************************************/
+
+  puts(banner);
+  printf("     version %s, %s\n\n", RELEASE, RELEASEDATE);
+
+  printf("---------------------------------------------------\n");
+  printf("Database to search/score:      %s\n", seqfile);
+  printf("Model:                         %s\n", cmfile);
+  printf("GC%% of background model:       %.0f%%\n", (gcfrac*100.));
+  printf("---------------------------------------------------\n");
+  puts("");
+
+  /*********************************************** 
+   * Score each sequence
+   ***********************************************/
+
+#ifdef MEMDEBUG
+  orig_size = malloc_size(&histid1);
+#endif
+
+  while (ReadSeq(dbfp, fmt, &seq, &sqinfo))
+    {
+      char *prepseq;
+      prepseq = Strdup(seq);
+      PrepareSequence(prepseq);
+
+      if (! ViterbiAlign(icm, statenum, prepseq, &score, &tr))
+	Die("ViterbiAlign() failed on sequence %s", sqinfo.name);
+      free(prepseq);
+      
+      printf("%6.2f bits : %s\n", score, sqinfo.name);
+      
+      if (do_khstructure || do_mountain)
+	{
+	  if (! Trace2ali(seq, tr, watsoncrick, &ali)) Die("Trace2ali failed");
+
+	  if (do_khstructure)
+	    {
+	      if (! Align2kh(ali, &aseq, &khstruct)) Die("Align2kh failed\n");
+	      
+	      /* Print out the sequence and structure
+	       */
+	      len = strlen(aseq);
+	      buffer[60] = '\0';
+	      for (apos = 1; apos <= len; apos += 60)
+		{
+		  strncpy(buffer, aseq + apos - 1, 60);
+		  printf("    %10s %s\n", sqinfo.name, buffer);
+		  strncpy(buffer, khstruct + apos - 1, 60);
+		  printf("    %10s %s\n", sqinfo.name, buffer);
+		  puts("");
+		}
+	      free(aseq);
+	      free(khstruct);
+	    }
+	  
+	  if (do_mountain)
+	    {
+	      PrintAliLandscape(stdout, cm, ali);
+	      puts("");
+	    }
+
+	  Free_align(ali);
+	}
+
+      FreeSequence(seq, &sqinfo);
+
+#ifdef MEMDEBUG
+      curr_size = malloc_size(&histid2);
+      if (curr_size != orig_size)
+	{
+	  Warn("malloc-debug: current size %ul, starting size %ul\n", curr_size, orig_size);
+	  malloc_list(2,histid1, histid2);
+	}
+#endif
+
+    }
+
+  SeqfileClose(dbfp);
+  FreeCM(cm);
+  free(icm);
+  return 0;
+}
+
+
diff --git a/scorestack.c b/scorestack.c
new file mode 100644
index 0000000..7c00b73
--- /dev/null
+++ b/scorestack.c
@@ -0,0 +1,250 @@
+/* scorestack.c
+ * SRE, Tue Aug 17 09:50:39 1993
+ * 
+ * For unidirectional scanning search procedures, implement
+ * a score reporting system that filters out hits that overlap
+ * with higher-scoring printed scores.
+ * 
+ * The simplest rule to use would be to keep a record of the last hit;
+ * on receiving a new hit: 1) if new hit overlaps with last hit and
+ * new hit is higher, replace last with new; 2) if new hit overlaps
+ * with last hit and new hit is lower, ignore new; 3) if new hit
+ * does not overlap with last, report last and assign new to last.
+ * At end, report last. This is essentially the rule used by the
+ * original hmm and cove scanning procedures.
+ * 
+ * There is a small weakness in this strategy, in that for three
+ * hits A > B > C which all overlap, only A will be reported; but
+ * although A overlaps B and B overlaps C, A may not overlap C.
+ * (Will this ever happen in reality? I dunno. I don't want to
+ * be surprised.)
+ * 
+ * Thus, this more complicated strategy.
+ *    Keep a stack of last hits.
+ *    On receiving a new hit:
+ *      1) if new overlaps last and new >  last, push new onto stack
+ *      2) if new overlaps last and new <= last, ignore new
+ *      3) if new doesn't overlap, resolve stack; start new stack and
+ *         push new onto it.
+ *    At end: resolve stack.
+ *    
+ *    Stack resolution:
+ *      set "previously reported hit" to -1,-1 so it won't overlap w/ anything
+ *      while something is in the stack:
+ *         pop top hit off stack
+ *         if it overlaps with previously reported hit, continue;
+ *         if it doesn't overlap, report it 
+ * 
+ *    Testing overlap:
+ *      Given two subsequences with endpoints al,ar and bl, br,
+ *      with no other knowledge, we would need to test whether any of 
+ *      the four endpoints are within the opposing subsequence. 
+ *      However, because we're scanning unidirectionally, we know
+ *      that the new right end is greater than the old right end,
+ *      so we only need to test whether the old right end  >= new left 
+ *      end.
+ *      
+ * External function:
+ * 
+ * ReportScanHit()   - report a hit
+ *                     or, if reported coords are -1,-1, resolve old
+ *                     stack, cleanup and exit.
+ * 
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+#include "squid.h"
+
+/* Data structure for the stack of previous hits;
+ * declarations of the functions to manipulate it.
+ */
+struct hitstack_s {
+  int    left;			/* left coord of matched segment  */
+  int    right;			/* right coord of matched segment */
+  double score;			/* score of match                 */
+  struct hitstack_s *nxt;       /* pointer to next elem in stack  */
+};
+static struct hitstack_s *init_hitstack(void);
+static void push_hitstack(struct hitstack_s *hstack,int left,int right, double score);
+static int  pop_hitstack(struct hitstack_s *hstack, int *ret_left, int *ret_right, double *ret_score);
+static void free_hitstack(struct hitstack_s *hstack);
+
+
+
+
+/* Function: ReportScanHit()
+ * 
+ * Purpose:  Caller reports a hit during a search scan, and
+ *           provides a pointer to a function we can call to
+ *           print non-overlapping hits. Caller reports
+ *           -1,-1 for coords to request cleanup and end.
+ *           
+ *           Two special cases must be dealt with:
+ *             INIT: If the hit stack hasn't been started yet,
+ *                   we need to initialize it before doing
+ *                   anything else
+ *             END:  If coords are -1,-1, we resolve the stack
+ *                   and cleanup; caller is finished with us
+ *                   for now.
+ *                   
+ * Args:     left       - left coord of hit segment
+ *           right      - right coord of hit segment
+ *           score      - score of the hit
+ *           print_hit  - pointer to a function to print 
+ *                        nonoverlapping hits
+ *                        
+ * Return:   1 on success, 0 on failure.
+ */          
+int
+ReportScanHit(int      left,
+	      int      right,
+	      double   score,
+	      int    (*print_hit)(int,int,double))
+{
+  static struct hitstack_s *hstack = NULL;   /* static local handle; set to NULL on 1st entry   */
+  static int oldright = -1;	             /* -1 is guaranteed not to overlap w/ first report */
+  int    oldleft;
+  int    newleft, newright;
+  double newscore;
+
+  /* Check whether this is first entry; 
+   * init hit stack if so.
+   */
+  if (hstack == NULL) hstack = init_hitstack();
+
+  
+  /* Check whether we have to resolve the old stack:
+   * if caller is reporting it's done (-1,-1 coords),
+   * or if new hit doesn't overlap last stacked hit.
+   */
+  if (left > oldright || (left == -1 && right == -1))
+    {
+      /* Stack resolution.
+       */
+      oldleft = INT_MAX;
+      while (pop_hitstack(hstack, &newleft, &newright, &newscore))
+	{
+				/* does this hit not overlap w/ previous printed one? */
+	  if (newright < oldleft)
+	    {
+	      (*print_hit)(newleft, newright, newscore);
+	      oldleft = newleft;
+	    }
+	}
+      free_hitstack(hstack);
+      hstack   = NULL;
+      oldright = -1;
+
+      /* Start new stack, if not done.
+       */
+      if (left != -1 || right != -1)
+	{
+	  hstack = init_hitstack();
+	  push_hitstack(hstack, left, right, score);
+	  oldright = right;
+	}
+    }
+
+
+  /* else, they overlap; if new reported score is better than last one,
+   * push new one. We're guaranteed to have something in
+   * the stack, so we can use the score in hstack->nxt->score.
+   * Reset oldright to be the new right edge of the stack, if we add something.
+   */
+  else if (score > hstack->nxt->score)
+    {
+      push_hitstack(hstack, left, right, score);
+      oldright = right;
+    }
+  
+  /* else, they overlap and the newly reported score
+   * isn't better, so we ignore it.
+   */
+  return 1;
+}
+  
+
+
+
+
+
+
+
+/* Functions: init_hitstack()
+ *            push_hitstack()
+ *            pop_hitstack()
+ *            free_hitstack()
+ *            
+ * Purpose:   Implementation of the pushdown stack for
+ *            keeping old hit positions and scores.
+ *
+ *            The hitstack has a dummy begin element,
+ *            so the first legitimate element is
+ *            hstack->nxt. The last legitimate element
+ *            has a NULL nxt pointer.
+ */            
+static struct hitstack_s *
+init_hitstack(void)
+{
+  struct hitstack_s *hstack;
+
+  if ((hstack = (struct hitstack_s *) malloc (sizeof(struct hitstack_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  hstack->nxt = NULL;
+  return hstack;
+}
+static void
+push_hitstack(struct hitstack_s *hstack,
+	      int                left,
+	      int                right,
+	      double             score)
+{
+  struct hitstack_s *new;
+
+  if ((new = (struct hitstack_s *) malloc (sizeof(struct hitstack_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+
+  new->left   = left;
+  new->right  = right;
+  new->score  = score;
+
+  new->nxt    = hstack->nxt;
+  hstack->nxt = new;
+}
+static int
+pop_hitstack(struct hitstack_s *hstack,
+	     int               *ret_left,
+	     int               *ret_right,
+	     double            *ret_score)
+{
+  struct hitstack_s *old;
+
+  if (hstack->nxt == NULL) return 0;
+
+  old         = hstack->nxt;
+  hstack->nxt = old->nxt;
+
+  *ret_left  = old->left;
+  *ret_right = old->right;
+  *ret_score = old->score;
+
+  free(old);
+  return 1;
+}
+static void
+free_hitstack(struct hitstack_s *hstack)
+{
+  int left, right;
+  double score;
+
+  while (pop_hitstack(hstack, &left, &right, &score) != 0)
+    ; /* do nothing */
+  free(hstack);
+}
diff --git a/selex.c b/selex.c
new file mode 100644
index 0000000..7f21f1c
--- /dev/null
+++ b/selex.c
@@ -0,0 +1,793 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* selex.c 
+ * 
+ * Fri Dec  4 17:43:24 1992, SRE:
+ * Reading and writing aligned sequences to/from disk files.
+ * Implements a new, broader specification of SELEX format
+ * and supercedes alignio.c.
+ *
+ * SRE, Tue Nov  9 17:40:50 1993: 
+ * major revision. #= special comments and aliinfo_s optional
+ * alignment info support added. Support for #=CS (consensus
+ * secondary structure), #=SS (individual secondary structure),
+ * #=RF (reference coordinate system), #=SQ (per-sequence header info),
+ * and #=AU ("author") added.
+ *
+ * SRE, Mon Jan 30 14:41:49 1995:
+ * #=SA side chain % surface accessibility annotation supported
+ * 
+ * SELEX format is documented in Docs/formats.tex.
+ ****************************************************************************
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <memory.h>
+#include "squid.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+static void homogenize_gapsym(char *s, char gapsym);
+static int  copy_alignment_line(char *aseq, int apos, int name_rcol, 
+				char *buffer, int lcol, int rcol, char gapsym);
+
+static char commentsyms[] = "%#";
+
+/* Function: ReadSELEX()
+ * 
+ * Read multiple aligned sequences from the file seqfile.
+ * Store aligned sequences in aseqs, names in names, and
+ * the number of sequences in num. 
+ * 
+ * Memory is allocated for aseqs and names, and they must be
+ * free'd by the caller.
+ * 
+ * If optional information is desired, a non-NULL ainfo
+ * pointer is passed.
+ *
+ * Returns 1 on success. Returns 0 on failure and sets
+ * squid_errno to indicate the cause of the failure.
+ */
+int
+ReadSELEX(char *seqfile, char ***ret_aseqs, int *ret_num, AINFO   *ainfo)
+{
+  FILE    *fp;                  /* ptr to opened seqfile        */
+  char   **aseqs;               /* aligned seqs                 */
+  int      num;			/* number of seqs read          */
+  char     buffer[LINEBUFLEN];	/* input buffer for lines       */
+  char     bufcpy[LINEBUFLEN];	/* strtok'able copy of buffer   */
+  struct block_struc {          /** alignment data for a block: */
+    int lcol;			/* furthest left aligned sym    */
+    int rcol;			/* furthest right aligned sym   */
+  } *blocks;
+  int      blocknum;		/* number of blocks in file     */
+  char    *nptr;                /* ptr to start of name on line */
+  char    *sptr;                /* ptr into sequence on line    */
+  int      currnum;		/* num. seqs in given block     */
+  int      currblock;		/* index for blocks             */
+  int      i;			/* loop counter                 */
+  int      seqidx;		/* counter for seqs             */
+  int      alen;                /* length of alignment          */
+  int      warn_names;          /* becomes TRUE if names don't match between blocks */
+  int      headnum;		/* seqidx in per-sequence header info */
+  int      currlen;
+  int      count;
+
+  /***************************************************
+   * First pass across file. 
+   * Count seqs, get names, determine column info
+   * Determine what sorts of info are active in this file.
+   ***************************************************/
+  ainfo->flags = 0;
+				/* open the file for reading */
+  fp = fopen(seqfile, "r");
+  if (fp == NULL) { squid_errno = SQERR_NOFILE; return 0; }
+
+				/* get first line of the block 
+				 * (non-comment, non-blank) */
+  do
+    {
+      if (fgets(buffer, LINEBUFLEN, fp) == NULL)
+	{ squid_errno = SQERR_NODATA; return 0; }
+      strcpy(bufcpy, buffer);
+      if (*buffer == '#')
+	{
+	  if      (strncmp(buffer, "#=CS", 4) == 0) ainfo->flags |= AINFO_CS;
+	  else if (strncmp(buffer, "#=RF", 4) == 0) ainfo->flags |= AINFO_RF;
+	}
+    }
+  while ((nptr = strtok(bufcpy, WHITESPACE)) == NULL || 
+	 (strchr(commentsyms, *nptr) != NULL));
+
+  blocknum   = 0;
+  warn_names = FALSE;
+  while (!feof(fp))
+    {
+				/* allocate for info about this block. */
+      if (blocknum == 0)
+	blocks = (struct block_struc *) malloc  (sizeof(struct block_struc));
+      else 
+	blocks = (struct block_struc *) realloc (blocks, (blocknum+1) * sizeof(struct block_struc));
+      if (blocks == NULL) { squid_errno = SQERR_MEM; return 0; }
+      blocks[blocknum].lcol = LINEBUFLEN+1;
+      blocks[blocknum].rcol = -1;
+	
+      currnum = 0;
+      while (nptr != NULL)	/* becomes NULL when this block ends. */
+      {
+				/* First block only: save names */
+	if (blocknum == 0)
+	  {
+	    if (currnum == 0)
+	      ainfo->sqinfo = (SQINFO *) malloc (sizeof(SQINFO));
+	    else 
+	      ainfo->sqinfo = (SQINFO *) realloc (ainfo->sqinfo, (currnum + 1) * sizeof(SQINFO));
+	    if (ainfo->sqinfo == NULL)
+	      { squid_errno = SQERR_MEM; return 0; }
+
+	    ainfo->sqinfo[currnum].flags = 0;
+	    SetSeqinfoString(&(ainfo->sqinfo[currnum]), nptr, SQINFO_NAME);
+	  }
+	else			/* in each additional block: check names */
+	  {
+	    if (strcmp(ainfo->sqinfo[currnum].name, nptr) != 0)
+	      warn_names = TRUE;
+	  }
+	currnum++;
+
+				/* check rcol, lcol */
+	if ((sptr = strtok(NULL, WHITESPACE)) != NULL)
+	  {
+				/* is this the furthest left we've
+				   seen word 2 in this block? */
+	    if (sptr - bufcpy < blocks[blocknum].lcol) 
+	      blocks[blocknum].lcol = sptr - bufcpy;
+				/* look for right side in buffer */
+	    for (sptr = buffer + strlen(buffer) - 1;  
+		 strchr(WHITESPACE, *sptr) != NULL;
+		 sptr --)
+	      /* do nothing */ ;
+	    if (sptr - buffer > blocks[blocknum].rcol)
+	      blocks[blocknum].rcol = sptr - buffer;
+	  }
+
+				/* get the next line; blank line means end of block */
+	do
+	  {
+	    if (fgets(buffer, LINEBUFLEN, fp) == NULL) 
+	      { nptr = NULL; break; }
+	    strcpy(bufcpy, buffer);
+
+	    if (strncmp(buffer, "#=SS", 4) == 0) ainfo->sqinfo[currnum-1].flags |= SQINFO_SS;
+	    else if (strncmp(buffer, "#=SA", 4) == 0) ainfo->sqinfo[currnum-1].flags |= SQINFO_SA;
+	    else if (strncmp(buffer, "#=CS", 4) == 0) ainfo->flags |= AINFO_CS;
+	    else if (strncmp(buffer, "#=RF", 4) == 0) ainfo->flags |= AINFO_RF;
+
+	    if ((nptr = strtok(bufcpy, WHITESPACE)) == NULL) 
+	      break;
+	  } while (strchr(commentsyms, *nptr) != NULL);
+      }
+
+
+				/* check that number of sequences matches expected */
+      if (blocknum == 0)
+	num = currnum;
+      else if (currnum != num)
+	{ squid_errno = SQERR_FORMAT; return 0; }
+      blocknum++;
+
+				/* get first line of next block 
+				 * (non-comment, non-blank) */
+      do
+	{
+	  if (fgets(buffer, LINEBUFLEN, fp) == NULL) { nptr = NULL; break; }
+	  strcpy(bufcpy, buffer);
+	}
+      while ((nptr = strtok(bufcpy, WHITESPACE)) == NULL || 
+	     (strchr(commentsyms, *nptr) != NULL));
+    }
+
+  
+  /***************************************************
+   * Get ready for second pass:
+   *   figure out the length of the alignment
+   *   malloc space
+   *   rewind the file
+   ***************************************************/
+
+  alen = 0;
+  for (currblock = 0; currblock < blocknum; currblock++)
+    alen += blocks[currblock].rcol - blocks[currblock].lcol + 1;
+
+  rewind(fp);
+
+  /* allocations
+   */
+  if ((aseqs     = (char **) malloc (num * sizeof(char *))) == NULL)
+    { squid_errno = SQERR_MEM; return 0; }
+  if ((ainfo->flags & AINFO_CS) &&
+      (ainfo->cs = (char *) malloc ((alen+1) * sizeof(char))) == NULL)
+    { squid_errno = SQERR_MEM; return 0; }
+  if ((ainfo->flags & AINFO_RF) &&
+      (ainfo->rf = (char *) malloc ((alen+1) * sizeof(char))) == NULL)
+    { squid_errno = SQERR_MEM; return 0; }
+  
+  for (i = 0; i < num; i++)
+    {
+      if ((aseqs[i]     = (char *) malloc ((alen+1) * sizeof(char))) == NULL)
+	{ squid_errno = SQERR_MEM; return 0; }
+      if ((ainfo->sqinfo[i].flags & SQINFO_SS) &&
+	  (ainfo->sqinfo[i].ss = (char *) malloc ((alen+1) * sizeof(char))) == NULL)
+	{ squid_errno = SQERR_MEM; return 0; }
+      if ((ainfo->sqinfo[i].flags & SQINFO_SA) &&
+	  (ainfo->sqinfo[i].sa = (char *) malloc ((alen+1) * sizeof(char))) == NULL)
+	{ squid_errno = SQERR_MEM; return 0; }
+    }
+  
+  ainfo->alen   = alen;
+  ainfo->flags |= AINFO_ALEN;
+
+  /***************************************************
+   * Second pass across file. Parse header; assemble sequences
+   ***************************************************/
+  /* We've now made a complete first pass over the file. We know how
+   * many blocks it contains, we know the number of seqs in the first
+   * block, and we know every block has the same number of blocks;
+   * so we can be a bit more cavalier about error-checking as we
+   * make the second pass.
+   */
+
+  /* Look for header
+   */
+  headnum = 0;
+  for (;;)
+    {
+      if (fgets(buffer, LINEBUFLEN, fp) == NULL)
+	{ squid_errno = SQERR_NODATA; return 0; }
+      strcpy(bufcpy, buffer);
+      if ((nptr = strtok(bufcpy, WHITESPACE)) == NULL) continue; /* skip blank lines */
+
+      if (strcmp(nptr, "#=AU") == 0 && /* "author" info */
+	  (sptr = strtok(NULL, "\n")) != NULL)
+	{
+          strncpy(ainfo->au,sptr,63);
+          ainfo->au[63] = '\0';
+          ainfo->flags |= AINFO_AUTH;
+        }
+
+      else if (strcmp(nptr, "#=SQ") == 0)      /* per-sequence header info */
+	{
+				/* first field is the name */
+	  if ((sptr = strtok(NULL, WHITESPACE)) == NULL)
+	    { squid_errno = SQERR_FORMAT; return 0; }
+	  if (strcmp(sptr, ainfo->sqinfo[headnum].name) != 0) warn_names = TRUE;
+
+				/* second field is the weight */
+	  if ((sptr = strtok(NULL, WHITESPACE)) == NULL)
+	    { squid_errno = SQERR_FORMAT; return 0; }
+	  SetSeqinfoString(&(ainfo->sqinfo[headnum]), sptr, SQINFO_WGT);
+
+				/* third field is database source id */
+	  if ((sptr = strtok(NULL, WHITESPACE)) == NULL)
+	    { squid_errno = SQERR_FORMAT; return 0; }
+	  SetSeqinfoString(&(ainfo->sqinfo[headnum]), sptr, SQINFO_ID);
+
+				/* fourth field is database accession number */
+	  if ((sptr = strtok(NULL, WHITESPACE)) == NULL)
+	    { squid_errno = SQERR_FORMAT; return 0; }
+	  SetSeqinfoString(&(ainfo->sqinfo[headnum]), sptr, SQINFO_ACC);
+
+				/* fifth field is start..stop::olen */
+	  if ((sptr = strtok(NULL, ".:")) == NULL)
+	    { squid_errno = SQERR_FORMAT; return 0; }
+	  SetSeqinfoString(&(ainfo->sqinfo[headnum]), sptr, SQINFO_START);
+
+	  if ((sptr = strtok(NULL, ".:")) == NULL)
+	    { squid_errno = SQERR_FORMAT; return 0; }
+	  SetSeqinfoString(&(ainfo->sqinfo[headnum]), sptr, SQINFO_STOP);
+	  
+	  if ((sptr = strtok(NULL, ":\t ")) == NULL)
+	    { squid_errno = SQERR_FORMAT; return 0; }
+	  SetSeqinfoString(&(ainfo->sqinfo[headnum]), sptr, SQINFO_OLEN);
+
+				/* rest of line is optional description */
+	  if ((sptr = strtok(NULL, "\n")) != NULL)
+	    SetSeqinfoString(&(ainfo->sqinfo[headnum]), sptr, SQINFO_DESC);
+	  
+	  headnum++;
+	}
+      else if (strcmp(nptr, "#=CS") == 0) break;
+      else if (strcmp(nptr, "#=RF") == 0) break;
+      else if (strchr(commentsyms, *nptr) == NULL) break; /* non-comment, non-header */
+    }
+  
+
+  currlen = 0;
+  for (currblock = 0 ; currblock < blocknum; currblock++)
+    {
+				/* parse the block */
+      seqidx = 0;
+      while (nptr != NULL)
+	{
+				/* Consensus structure */
+	  if (strcmp(nptr, "#=CS") == 0)
+	    {
+	      if (! copy_alignment_line(ainfo->cs, currlen, strlen(nptr)-1, 
+					buffer, blocks[currblock].lcol, blocks[currblock].rcol, (char) '.'))
+		{ squid_errno = SQERR_FORMAT; return 0; }
+	    }
+
+				/* Reference coordinates */
+	  else if (strcmp(nptr, "#=RF") == 0)
+	    {
+	      if (! copy_alignment_line(ainfo->rf, currlen, strlen(nptr)-1, 
+					buffer, blocks[currblock].lcol, blocks[currblock].rcol, (char) ' '))
+		{ squid_errno = SQERR_FORMAT; return 0; }
+	    }
+
+				/* Individual secondary structure */
+	  else if (strcmp(nptr, "#=SS") == 0)
+	    {
+	      if (! copy_alignment_line(ainfo->sqinfo[seqidx-1].ss, currlen, strlen(nptr)-1,
+					buffer, blocks[currblock].lcol, 
+					blocks[currblock].rcol, (char) '.'))
+		{ squid_errno = SQERR_FORMAT; return 0; }
+	    }
+
+				/* Side chain % surface accessibility code */
+	  else if (strcmp(nptr, "#=SA") == 0)
+	    {
+	      if (! copy_alignment_line(ainfo->sqinfo[seqidx-1].sa, currlen, strlen(nptr)-1,
+					buffer, blocks[currblock].lcol, 
+					blocks[currblock].rcol, (char) '.'))
+		{ squid_errno = SQERR_FORMAT; return 0; }
+	    }
+				/* Aligned sequence; avoid unparsed machine comments */
+	  else if (strncmp(nptr, "#=", 2) != 0)
+	    {
+	      if (! copy_alignment_line(aseqs[seqidx], currlen, strlen(nptr)-1, 
+					buffer, blocks[currblock].lcol, blocks[currblock].rcol, (char) '.'))
+		{ squid_errno = SQERR_FORMAT; return 0; }
+	      seqidx++;
+	    }
+
+				/* get next line */
+	  for (;;)
+	    {
+	      nptr = NULL;
+	      if (fgets(buffer, LINEBUFLEN, fp) == NULL) break;	/* EOF */
+	      strcpy(bufcpy, buffer);
+	      if ((nptr = strtok(bufcpy, WHITESPACE)) == NULL) break; /* blank */
+	      if (strncmp(buffer, "#=", 2) == 0) break;      /* machine comment */
+	      if (strchr(commentsyms, *nptr) == NULL) break; /* data */
+	    }
+	} /* end of a block */
+
+      currlen += blocks[currblock].rcol - blocks[currblock].lcol + 1;
+
+				/* get line 1 of next block */
+      for (;;)
+	{
+	  if (fgets(buffer, LINEBUFLEN, fp) == NULL) break; /* no data */
+	  strcpy(bufcpy, buffer);
+	  if ((nptr = strtok(bufcpy, WHITESPACE)) == NULL) continue; /* blank */
+	  if (strncmp(buffer, "#=", 2) == 0)       break; /* machine comment */
+	  if (strchr(commentsyms, *nptr) == NULL) break; /* non-comment */
+	}
+    } /* end of the file */
+
+  /* Lengths in sqinfo are for raw sequence (ungapped),
+   * and SS, SA are 0..rlen-1 not 0..alen-1.
+   * Only the seqs with structures come out of here with lengths set.
+   */
+  for (seqidx = 0; seqidx < num; seqidx++)
+    {
+      int apos, rpos;
+				/* secondary structures */
+      if (ainfo->sqinfo[seqidx].flags & SQINFO_SS)
+	{
+	  for (apos = rpos = 0; apos < alen; apos++)
+	    if (! isgap(aseqs[seqidx][apos]))
+	      {
+		ainfo->sqinfo[seqidx].ss[rpos] = ainfo->sqinfo[seqidx].ss[apos];
+		rpos++;
+	      }
+	  ainfo->sqinfo[seqidx].ss[rpos] = '\0';
+	  homogenize_gapsym(ainfo->sqinfo[seqidx].ss, (char) '.');
+	}
+				/* Surface accessibility */
+      if (ainfo->sqinfo[seqidx].flags & SQINFO_SA)
+	{
+	  for (apos = rpos = 0; apos < alen; apos++)
+	    if (! isgap(aseqs[seqidx][apos]))
+	      {
+		ainfo->sqinfo[seqidx].sa[rpos] = ainfo->sqinfo[seqidx].sa[apos];
+		rpos++;
+	      }
+	  ainfo->sqinfo[seqidx].sa[rpos] = '\0';
+	  homogenize_gapsym(ainfo->sqinfo[seqidx].sa, (char) '.');
+	}
+    }
+
+				/* NULL-terminate all the strings */
+  if (ainfo->flags & AINFO_RF) ainfo->rf[alen] = '\0';
+  if (ainfo->flags & AINFO_CS) {
+    ainfo->cs[alen] = '\0';
+    homogenize_gapsym(ainfo->cs, (char) '.');
+  }
+  for (seqidx = 0; seqidx < num; seqidx++)
+    {
+      aseqs[seqidx][alen]            = '\0';
+      homogenize_gapsym(aseqs[seqidx], (char) '.');
+    }
+  
+				/* find raw sequence lengths for sqinfo */
+  for (seqidx = 0; seqidx < num; seqidx++)
+    {
+      count = 0;
+      for (sptr = aseqs[seqidx]; *sptr != '\0'; sptr++)
+	if (!isgap(*sptr)) count++;
+      ainfo->sqinfo[seqidx].len    = count;
+      ainfo->sqinfo[seqidx].flags |= SQINFO_LEN;
+    }
+
+
+  /***************************************************
+   * Garbage collection and return
+   ***************************************************/
+  fclose(fp);
+  free(blocks);
+
+  if (warn_names) 
+    Warn("sequences may be in different orders in blocks of %s?", seqfile);
+
+  *ret_num   = num;
+  *ret_aseqs = aseqs;
+  return 1;
+}
+
+
+
+
+/* Function: WriteSELEX()
+ * 
+ * Write aligned sequences to an open file pointer,
+ * breaking into multiple blocks if the sequences are
+ * long. Number of symbols written per line is set by cpl.
+ * The alignment must be flushed (all aseqs the same length).
+ *
+ * cpl cannot exceed 255.
+ *
+ * May also write optional information from ainfo;
+ * ainfo may be NULL.
+ * 
+ * Returns 1 on success. Returns 0 on failure, and sets
+ * squid_errno to indicate the cause.
+ */
+int
+WriteSELEX(FILE *fp, char **aseqs, int num, struct aliinfo_s *ainfo, int cpl)
+{
+  int    idx;			/* counter for sequences         */
+  int    namelen;		/* maximum name length used      */
+  int    len;			/* tmp variable for name lengths */
+  char   buffer[256];     	/* buffer for writing seq        */
+  int    alen;
+  int    currpos;
+  char **ss;                    /* aligned secondary structure strings */
+  char **sa;			/* aligned accessibility strings       */
+
+  alen = (ainfo->flags & AINFO_ALEN) ? ainfo->alen : strlen(aseqs[0]);
+
+			/* calculate max namelen used */
+  namelen = 0;
+  for (idx = 0; idx < num; idx++)
+    if ((len = strlen(ainfo->sqinfo[idx].name)) > namelen) 
+      namelen = len;
+  if (namelen < 6) namelen = 6;
+
+
+  /* Make aligned secondary structure strings
+   */
+  ss = (char **) MallocOrDie(sizeof(char *) * num);
+  sa = (char **) MallocOrDie(sizeof(char *) * num);
+  for (idx = 0; idx < num; idx++)
+    {
+      if (ainfo->sqinfo[idx].flags & SQINFO_SS)
+	MakeAlignedString(aseqs[idx], alen, ainfo->sqinfo[idx].ss, &(ss[idx]));
+      if (ainfo->sqinfo[idx].flags & SQINFO_SA)
+	MakeAlignedString(aseqs[idx], alen, ainfo->sqinfo[idx].sa, &(sa[idx]));
+    }
+
+  /* Write header info
+   */
+  if (ainfo->flags & AINFO_AUTH)
+    fprintf(fp, "#=AU %s\n", ainfo->au);
+
+  if ((ainfo->sqinfo[0].flags & SQINFO_WGT)   ||
+      (ainfo->sqinfo[0].flags & SQINFO_ID)    ||
+      (ainfo->sqinfo[0].flags & SQINFO_ACC)   ||
+      (ainfo->sqinfo[0].flags & SQINFO_START) ||
+      (ainfo->sqinfo[0].flags & SQINFO_STOP)  ||
+      (ainfo->sqinfo[0].flags & SQINFO_OLEN)  ||
+      (ainfo->sqinfo[0].flags & SQINFO_DESC))
+    for (idx = 0; idx < num; idx++)
+      fprintf(fp, "#=SQ %-*.*s %6.4f %s %s %d..%d::%d %s\n", 
+	      namelen, namelen, ainfo->sqinfo[idx].name,
+	      (ainfo->sqinfo[idx].flags & SQINFO_WGT)   ? ainfo->sqinfo[idx].weight : 1.0,
+	      (ainfo->sqinfo[idx].flags & SQINFO_ID)    ? ainfo->sqinfo[idx].id     : "-",
+	      (ainfo->sqinfo[idx].flags & SQINFO_ACC)   ? ainfo->sqinfo[idx].id     : "-",
+	      (ainfo->sqinfo[idx].flags & SQINFO_START) ? ainfo->sqinfo[idx].start  : 0,
+	      (ainfo->sqinfo[idx].flags & SQINFO_STOP)  ? ainfo->sqinfo[idx].stop   : 0,
+	      (ainfo->sqinfo[idx].flags & SQINFO_OLEN)  ? ainfo->sqinfo[idx].olen   : 0,
+	      (ainfo->sqinfo[idx].flags & SQINFO_DESC)  ? ainfo->sqinfo[idx].desc   : "-");
+  fprintf(fp, "\n");
+
+				/* main loop: write seqs in blocks. */
+  for (currpos = 0; currpos < alen; currpos += cpl)
+    {
+				/* Reference coord system */
+      if (ainfo->flags & AINFO_RF)
+	{
+	  strncpy(buffer, ainfo->rf + currpos, cpl);
+	  buffer[cpl] = '\0';
+	  fprintf(fp, "%-*.*s  %s\n", namelen, namelen, "#=RF", buffer);
+	}
+
+				/* Consensus secondary structure */
+      if (ainfo->flags & AINFO_CS)
+	{
+	  strncpy(buffer, ainfo->cs + currpos, cpl);
+	  buffer[cpl] = '\0';
+	  fprintf(fp, "%-*.*s  %s\n", namelen, namelen, "#=CS", buffer);
+	}      
+      
+      for (idx = 0; idx < num; idx++)
+	{
+				/* Aligned sequence */
+	  strncpy(buffer, aseqs[idx] + currpos, cpl);
+	  buffer[cpl] = '\0';
+	  fprintf(fp, "%-*.*s  %s\n", namelen, namelen, 
+		  ainfo->sqinfo[idx].name, buffer);
+
+				/* Individual secondary structure */
+	  if (ainfo->sqinfo[idx].flags & SQINFO_SS)
+	    {
+	      strncpy(buffer, ss[idx] + currpos, cpl);
+	      buffer[cpl] = '\0';
+	      fprintf(fp, "%-*.*s  %s\n", namelen, namelen, "#=SS", buffer);
+	    }
+
+				/* Surface accessibility */
+	  if (ainfo->sqinfo[idx].flags & SQINFO_SA)
+	    {
+	      strncpy(buffer, sa[idx] + currpos, cpl);
+	      buffer[cpl] = '\0';
+	      fprintf(fp, "%-*.*s  %s\n", namelen, namelen, "#=SA", buffer);
+	    }
+	}
+				/* put blank line between blocks */
+      fprintf(fp, "\n");
+    }
+
+  /* Garbage collection
+   */
+  for (idx = 0; idx < num; idx++)
+    if (ainfo->sqinfo[idx].flags & SQINFO_SS)
+      free(ss[idx]);
+  free(ss);
+
+  return 1;
+}
+
+
+
+
+/* Function: homogenize_gapsym()
+ * 
+ * Purpose:  Make gap symbols homogeneous.
+ */
+static void 
+homogenize_gapsym(char *s, char gapsym)
+{
+  for (; *s != '\0'; s++)
+    if (isgap(*s)) *s = gapsym; 
+}
+      
+
+/* Function: copy_alignment_line()
+ * 
+ * Purpose:  Given a line from an alignment file, and bounds lcol,rcol
+ *           on what part of it may be sequence, save the alignment into
+ *           aseq starting at position apos.
+ *           
+ *           name_rcol is set to the rightmost column this aseqs's name
+ *           occupies; if name_rcol >= lcol, we have a special case in
+ *           which the name intrudes into the sequence zone.
+ */
+static int
+copy_alignment_line(char *aseq, int apos, int name_rcol, 
+		    char *buffer, int lcol, int rcol, char gapsym)
+{
+  char *s1, *s2;
+  int   i;
+  
+  s1 = aseq + apos;
+  s2 = buffer;			/* be careful that buffer doesn't end before lcol! */
+  for (i = 0; i < lcol; i++)
+    if (*s2) s2++;
+
+  for (i = lcol; i <= rcol; i++)
+    {
+      if (*s2 == '\t') {
+	Warn("TAB characters will corrupt a SELEX alignment! Please remove them first.");
+	return 0;
+      }
+      if (name_rcol >= i)	/* name intrusion special case: pad left w/ gaps */
+	*s1 = gapsym;
+				/* short buffer special case: pad right w/ gaps  */
+      else if (*s2 == '\0' || *s2 == '\n')
+	*s1 = gapsym;
+
+      else			/* normal case: copy buffer into aseq */
+	*s1 = *s2;
+
+      s1++;
+      if (*s2) s2++;
+    }
+  return 1;
+}
+
+  
+      
+
+
+/* Function: DealignAseqs()
+ * 
+ * Given an array of (num) aligned sequences aseqs,
+ * strip the gaps, represented by ' ' space characters.
+ * Store the raw sequences in a new allocated array.
+ * 
+ * Caller is responsible for free'ing the memory allocated to
+ * rseqs.
+ * 
+ * Returns 1 on success. Returns 0 and sets squid_errno on
+ * failure.
+ */
+int
+DealignAseqs(char **aseqs, int num, char ***ret_rseqs)
+{
+  char **rseqs;                 /* de-aligned sequence array   */
+  int    idx;			/* counter for sequences       */
+  int    depos; 		/* position counter for dealigned seq*/
+  int    apos;			/* position counter for aligned seq */
+  int    seqlen;		/* length of aligned seq */
+
+				/* alloc space */
+  if ((rseqs = (char **) malloc (num * sizeof(char *))) == NULL) 
+    { squid_errno = SQERR_MEM; return 0; }
+
+				/* main loop */
+  for (idx = 0; idx < num; idx++)
+    {
+      seqlen = strlen(aseqs[idx]);
+				/* alloc space */
+      if ((rseqs[idx] = (char *) malloc ((seqlen + 1) * sizeof(char))) == NULL) 
+	{ squid_errno = SQERR_MEM; return 0; }
+
+				/* strip gaps */
+      depos = 0;
+      for (apos = 0; aseqs[idx][apos] != '\0'; apos++)
+	if (!isgap(aseqs[idx][apos]))
+	  {
+	    rseqs[idx][depos] = aseqs[idx][apos];
+	    depos++;
+	  }
+      rseqs[idx][depos] = '\0';
+    }
+  *ret_rseqs = rseqs;
+  return 1;
+}
+
+
+/* Function: IsSELEXFormat()
+ * 
+ * Return TRUE if filename may be in SELEX format.
+ * 
+ * Accuracy is sacrificed for speed; a TRUE return does
+ * *not* guarantee that the file will pass the stricter
+ * error-checking of ReadSELEX(). All it checks is that
+ * the first 500 non-comment lines of a file are 
+ * blank, or if there's a second "word" on the line
+ * it looks like sequence (i.e., it's not kOtherSeq).
+ * 
+ * Returns TRUE or FALSE.
+ */
+int
+IsSELEXFormat(char *filename)
+{
+  FILE *fp;                     /* ptr to open sequence file */
+  char  buffer[LINEBUFLEN];
+  char *sptr;                   /* ptr to first word          */
+  int   linenum;
+
+
+  if ((fp = fopen(filename, "r")) == NULL)
+    { squid_errno = SQERR_NOFILE; return 0; }
+
+  linenum = 0;
+  while (linenum < 500 && 
+	 fgets(buffer, LINEBUFLEN, fp) != NULL)
+    {
+      linenum++;
+				/* dead giveaways for extended SELEX */
+      if      (strncmp(buffer, "#=AU", 4) == 0) goto DONE;
+      else if (strncmp(buffer, "#=SQ", 4) == 0) goto DONE;
+      else if (strncmp(buffer, "#=SS", 4) == 0) goto DONE;
+      else if (strncmp(buffer, "#=CS", 4) == 0) goto DONE;
+      else if (strncmp(buffer, "#=RF", 4) == 0) goto DONE;
+
+				/* a comment? */
+      if (strchr(commentsyms, *buffer) != NULL) continue;
+
+				/* a blank line? */
+      if ((sptr = strtok(buffer, WHITESPACE)) == NULL) continue;
+
+				/* a one-word line (name only)
+				   is possible, though rare */
+      if ((sptr = strtok(NULL, "\n")) == NULL) continue;
+      
+      if (Seqtype(sptr) == kOtherSeq) {fclose(fp); return 0;}
+    }
+
+ DONE:
+  fclose(fp);
+  return 1;
+}
+
+
+/* Function: TruncateNames()
+ * 
+ * Make sure all names are a single word. 
+ *   - if they are blank, make a name up (use the number of the sequence)
+ *   - if it's already one word, leave it alone
+ *   - if it's more than one word, put a terminator '\0' after the 
+ *         first word 
+ *         
+ * Used to check an array of names before writing a SELEX-format file.
+ * 
+ * Returns 1 on success. Returns 0 on failure and sets squid_errno
+ * to indicate the cause.
+ */
+int
+TruncateNames(char **names, int N)
+{
+  int  idx;
+  char newname[32];
+
+  for (idx = 0; idx < N; idx++)
+    if (names[idx] == NULL || strtok(names[idx], " \t\n") == NULL)
+      {
+	(void) sprintf(newname, "%d", idx);
+	if (names[idx] != NULL) free(names[idx]);
+	names[idx] = Strdup(newname);
+      }
+  return 1;
+}
+
+
+
+
+
+
diff --git a/seqstat_main.c b/seqstat_main.c
new file mode 100644
index 0000000..6f108d2
--- /dev/null
+++ b/seqstat_main.c
@@ -0,0 +1,131 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* seqstat_main.c
+ * Wed Aug 10 15:47:14 1994
+ * 
+ * Look at a sequence file, determine some simple statistics.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "squid.h"
+
+#define OPTIONS "ah"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+char usage[]  = "Usage: seqstat [-options] <seqfile>\n\
+  Verify a sequence file; print some simple statistics and info.\n\
+  Available options:\n\
+  -a    : report per-sequence info, not just a summary\n\
+  -h    : help; display usage and version\n";
+
+int
+main(int argc, char **argv)
+{
+  char     *seqfile;            /* name of sequence file     */
+  SQFILE   *dbfp;		/* open sequence file        */
+  int       fmt;		/* format of seqfile         */
+  char     *seq;		/* sequence                  */
+  SQINFO    sqinfo;             /* extra info about sequence */
+  int       nseqs;
+  int       small;		/* smallest length */
+  int       large;		/* largest length  */
+  int       total;              /* total length    */
+
+  int    optchar;		/* option character, command line */
+  extern int   optind;
+  int    allreport;
+
+#ifdef MEMDEBUG
+  unsigned long histid1, histid2, orig_size, current_size;
+#endif
+
+  /***********************************************
+   * Parse command line
+   ***********************************************/
+
+  allreport = FALSE;		/* default: summary only */
+  while ((optchar = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optchar) {
+    case 'a': allreport = TRUE; break;
+    case 'h': 
+      printf("seqstat %s, %s\n%s\n", squid_version, squid_date, usage);
+      exit(EXIT_SUCCESS);
+    default:
+      Die("%s\n", usage);
+    }
+
+  if (argc - optind != 1) Die("%s\n", usage);
+
+  seqfile = argv[argc-1];
+
+#ifdef MEMDEBUG
+  orig_size = malloc_size(&histid1);
+#endif
+
+  /***********************************************
+   * Read the file.
+   ***********************************************/
+
+  printf("seqstat %s, %s\n\n", squid_version, squid_date);
+
+  if (! SeqfileFormat(seqfile, &fmt, NULL))
+    Die("Can't determine format of file %s\n", seqfile);
+
+  if ((dbfp = SeqfileOpen(seqfile, fmt, NULL)) == NULL)
+    Die("Failed to open sequence file %s for reading", seqfile);
+  
+  if (allreport) {
+    printf("  %-15s %-5s %s\n", "  NAME", "LEN", "DESCRIPTION");
+    printf("  --------------- ----- -----------\n");
+  }
+
+  small = 9999999;
+  large = 0;
+  nseqs = 0;
+  total = 0;
+  while (ReadSeq(dbfp, fmt, &seq, &sqinfo))
+    {
+      if (allreport) 
+	printf("* %-15s %5d %-50.50s\n", sqinfo.name, sqinfo.len, 
+	       sqinfo.flags & SQINFO_DESC ? sqinfo.desc : "");
+
+      if (sqinfo.len < small) small = sqinfo.len;
+      if (sqinfo.len > large) large = sqinfo.len;
+      total += sqinfo.len;
+      nseqs++;
+      FreeSequence(seq, &sqinfo);
+    }
+  if (allreport) puts("");
+
+  printf("Format:              %s\n", SeqFormatString(fmt));
+  printf("Number of sequences: %d\n", nseqs);
+  printf("Total # residues:    %d\n", total);
+  printf("Smallest:            %d\n", small);
+  printf("Largest:             %d\n", large);
+  printf("Average length:      %.1f\n", (float) total / (float) nseqs);
+
+  SeqfileClose(dbfp);
+
+#ifdef MEMDEBUG
+  current_size = malloc_size(&histid2);
+  
+  if (current_size != orig_size)
+    malloc_list(2, histid1, histid2);
+  else
+    fprintf(stderr, "[No memory leaks]\n");
+#endif
+    
+
+  return 0;
+}
diff --git a/shuffle_main.c b/shuffle_main.c
new file mode 100644
index 0000000..5c6dd5f
--- /dev/null
+++ b/shuffle_main.c
@@ -0,0 +1,100 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* main for shuffle
+ *
+ * shuffle - generate shuffled sequences
+ * Mon Feb 26 16:56:08 1996
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <time.h>
+#include "squid.h"
+
+struct opt_s OPTIONS[] = {
+  { "-h",     TRUE, ARG_NONE },	    /* help                                  */
+  { "-n",     TRUE, ARG_INT  },     /* number of shuffled seqs per input seq */
+  { "--seed", FALSE, ARG_INT },	    /* set the random number seed            */
+};
+#define NOPTIONS (sizeof(OPTIONS) / sizeof(struct opt_s))
+
+
+char usage[]  = "Usage: shuffle [-options] <seqfile>\n\
+  Generate shuffled copies of input sequences.\n\
+  Available options:\n\
+  -h         : help; print version and usage info\n\
+  -n <num>   : make <num> shuffles per input seq (default 1)\n\
+  --seed <s> : set random number seed to <s>\n\
+";
+
+
+int
+main(int argc, char **argv)
+{
+  char  *seqfile;               /* name of sequence file */
+  SQFILE *dbfp;			/* open sequence file */
+  int    fmt;			/* format of seqfile  */
+  char  *seq;			/* sequence */
+  SQINFO sqinfo;                /* additional sequence info */
+  char  *shuff;                 /* shuffled sequence */
+  int    num;			/* number to generate */
+  int    seed;			/* random number generator seed */
+  int    i;
+
+  char  *optname;               /* option name */
+  char  *optarg;                /* option argument (or NULL) */
+  int    optind;                /* index of next argv[] */  
+
+
+  /***********************************************
+   * Parse command line
+   ***********************************************/
+
+  num  = 1;
+  seed = (int) time ((time_t *) NULL);
+
+  while (Getopt(argc, argv, OPTIONS, NOPTIONS, usage, &optind, &optname, &optarg))
+    {
+      if      (strcmp(optname, "-n")     == 0) { num  = atoi(optarg); }
+      else if (strcmp(optname, "--seed") == 0) { seed = atoi(optarg); }
+      else if (strcmp(optname, "-h")     == 0) {
+	printf("shuffle %s, %s\n%s\n", squid_version, squid_date, usage);
+	exit(EXIT_SUCCESS);
+      }
+    }
+
+  if (argc - optind != 1) Die("%s\n", usage); 
+  seqfile = argv[optind];
+
+  sre_srandom(seed);
+		 
+  if (! SeqfileFormat(seqfile, &fmt, NULL))
+    Die("Failed to determine format of file %s", seqfile);
+  if ((dbfp = SeqfileOpen(seqfile, fmt, NULL)) == NULL)
+    Die("Failed to open sequence file %s for reading", seqfile);
+  
+  while (ReadSeq(dbfp, fmt, &seq, &sqinfo))
+    {
+      shuff = (char *) MallocOrDie ((sqinfo.len + 1) * sizeof(char));
+
+      for (i = 0; i < num; i++)
+	{
+	  StrShuffle(shuff, seq);
+	  WriteSeq(stdout, kPearson, shuff, &sqinfo);
+	}
+
+      free(shuff);
+      FreeSequence(seq, &sqinfo);
+    }
+
+  SeqfileClose(dbfp);
+  return 0;
+}
+
diff --git a/smallviterbi.c b/smallviterbi.c
new file mode 100644
index 0000000..e5acf0f
--- /dev/null
+++ b/smallviterbi.c
@@ -0,0 +1,786 @@
+/* smallviterbi.c
+ * Mon Jan 24 11:38:21 1994
+ * 
+ * Small-memory version of viterbi.c
+ * 
+ * In the two-matrix version of the alignment algorithm, we keep
+ * a matrix for the BEGIN states (B matrix) and a full matrix for all
+ * the scores (A matrix). The database scanning version of the algorithm takes
+ * advantage of the fact that, for scoring, we don't need to keep
+ * a full cube around for matrix A; we only need the current row and the
+ * last row. We only need a full cube of information for the BEGIN
+ * state scores, which we get from the B matrix. 
+ * 
+ * This trick saves a large amount of memory, depending on the structure
+ * of the model. (The fewer bifurcations and begins in the model, the more
+ * memory this trick can save.) Unfortunately, it gives up the ability
+ * to trace back and recover an alignment.
+ * 
+ * In this module, we add back just enough information to the scanning
+ * algorithm to enable a traceback, at the expense of re-doing some 
+ * calculation. The goal is to be able to fit 200-400 nt RNA sequences
+ * into memory.
+ * 
+ * I will refer to a model "segment". A segment is a linear (unbranched)
+ * chunk of the model, starting at a BEGIN/ROOT state, ending at a 
+ * BIFURC/END state.
+ * 
+ * Matrix cells now carry traceback information. This number, tback, indicates
+ * the i,j coords that this segment's BIFURC/END aligns to. 
+ * tback is determined recursively. A BIFURC/END's tback points to itself.
+ * All other tbacks are copied from the state that is connected to by
+ * the maximally likely path.
+ * 
+ * A traceback is done by using bmx as a framework, and recalculating bits
+ * of the alignment in between BEGINs and BIFURC/ENDs.  Thus, if
+ * we know that a BEGIN aligns to i1, j1, we can get two numbers i2,j2 from
+ * the BEGIN's tback, and know that the segment aligns to the sequence
+ * (i1..i2-1)(j2+1..j1). Then we can recalculate the alignment of this
+ * model segment to that subsequence, and reconstruct a full traceback.
+ * 
+ * tback is a single unsigned integer. The two numbers i,j are restricted
+ * to 16 bits and are packed into tback by bit-shifting, i<<16.
+ * 
+ * 
+ */
+
+/*
+ * amx and atr are [j = 0..N] [diff = 0..j] [y = 0..statenum]
+ *  diff == 0 is for off-diagonal boundary conditions (this is why diff is shifted +1)
+ *  diff == 1 is for the diagonal, i==j
+ *
+ * bmx and btr are [y = 0..statenum] [j = 0..N] [ diff = 0..j]
+ *   a j,diff matrix exists only where y is a BEGIN state
+ *
+ * An optimization is made which requires END states to be explicitly
+ * added, so statenum (the number of states in the integer model)
+ * is *inclusive* of ENDs.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "squid.h"
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+/* This is how we pack tracebacks into a single machine word.
+ * We assume a 32 bit int. 
+ * If you're porting this code, all you have to do is make sure
+ * pack_tb() puts two 16-bit ints in one data type TBACK, and unpack_tb()
+ * gets them back.
+ */
+typedef unsigned int TBACK;
+#define pack_tb(i,j)           ((i)<<16 | (j))
+#define PACKED_I               0xFFFF0000U
+#define PACKED_J               0x0000FFFFU
+static void unpack_tb(TBACK tback, int *ret_i, int *ret_j)
+{
+  *ret_j =  tback & PACKED_J;
+  *ret_i = (tback & PACKED_I) >> 16;
+}
+
+
+
+static int  allocate_mx(struct istate_s *icm,int statenum, int seqlen,	
+			int ****ret_amx, TBACK ****ret_atr,
+			int ****ret_bmx, TBACK ****ret_btr);
+static int  init_mx    (struct istate_s *icm, int statenum, int N, 
+			int ***amx, TBACK ***atr,
+			int ***bmx, TBACK ***btr);
+static int  recurse_mx (struct istate_s *icm, int statenum, char *seq, int N, 
+			int ***amx, TBACK ***atr,
+			int ***bmx, TBACK ***btr);
+static int  trace_mx   (struct istate_s *icm, char *seq, int N, 
+			int ***bmx, TBACK ***btr, struct trace_s **ret_tr);
+static void free_mx    (int ***amx, TBACK ***atr, 
+			int ***bmx, TBACK ***btr,
+			int statenum, int seqlen);
+
+#ifdef DEBUG
+static void  print_tb(int tb);
+static void  print_small_mx(FILE *fp, struct istate_s *icm, int statenum,
+			    char *seq, int N, int ***bmx, TBACK ***btr);
+#endif /* DEBUG */
+
+
+/* Function: SmallViterbiAlign()
+ * 
+ * Purpose:  Align a sequence to a model, using the small-memory
+ *           variant of the alignment algorithm. Return the score 
+ *           of the alignment and the traceback.
+ *
+ * Args:     icm       - the model to align sequence to
+ *           statenum  = number of states in icm
+ *           seq       - sequence to align model to
+ *           ret_score - RETURN: global alignment score
+ *           ret_trace - RETURN: traceback tree
+ *                       
+ * Return:   1 on success, 0 on failure.                      
+ */       
+int
+SmallViterbiAlign(struct istate_s *icm,       
+		  int              statenum,
+		  char            *seq,      
+		  double          *ret_score,
+		  struct trace_s **ret_trace)
+{
+  int   ***amx;			/* the main score matrix     */
+  TBACK ***atr;                 /* amx's traceback pointers  */
+  int   ***bmx;                 /* the BEGIN score matrix    */
+  TBACK ***btr;                 /* bmx's traceback pointers  */
+  int      N;			/* length of sequence        */
+
+  N = strlen(seq);
+  seq--;			/* convert to 1..N. Ugh! */
+
+  if (! allocate_mx(icm, statenum, N, &amx, &atr, &bmx, &btr)) return 0;
+#ifdef DEBUG
+  printf("allocated matrices\n");
+#endif
+
+  if (! init_mx(icm, statenum, N, amx, atr, bmx, btr)) return 0;
+#ifdef DEBUG
+  printf("matrices initialized\n");
+  print_small_mx(stdout, icm, statenum, seq, N, bmx, btr);
+#endif
+  
+  if (! recurse_mx(icm, statenum, seq, N, amx, atr, bmx, btr)) return 0;
+#ifdef DEBUG
+  printf("recursion finished\n");
+  print_small_mx(stdout, icm, statenum, seq, N, bmx, btr);
+#endif
+
+  *ret_score = ((double) bmx[0][N][N] / INTPRECISION);
+#ifdef DEBUG
+  printf("have a score of %.2f, starting traceback\n", *ret_score);
+#endif
+
+  if (! trace_mx(icm, seq, N, bmx, btr, ret_trace)) return 0;
+#ifdef DEBUG
+  printf("trace complete\n");
+#endif
+
+  free_mx(amx, atr, bmx, btr, statenum, N);
+  return 1;
+}
+
+
+
+/* Function: allocate_mx()
+ * 
+ * Purpose:  Malloc space for the score matrices.
+ *           amx and atr are indexed as j, i, y.
+ *           bmx and btr are indexed as k, j, i.      
+ *           In the two sequence dimensions j, i they are
+ *           diagonal (+1 off diagonal) matrices with
+ *           rows j = 0..N, i = 1..j+1.
+ *           In the node dimension k bmx and btr are k = 0..M.
+ *           In the state dimension y amx and atr are y = 0..numstates.
+ *           
+ * Args:     icm      - the int, log-odds, state-based model
+ *           statenum - number of states in model
+ *           seqlen   - length of sequence
+ *           ret_amx  - RETURN: main score matrix
+ *           ret_atr  - RETURN: amx's traceback pointers
+ *           ret_bmx  - RETURN: BEGIN/BIFURC/END score matrix
+ *           ret_btr  - RETURN: bmx's traceback pointers
+ * 
+ * Return:   Ptr to allocated scoring matrix, or
+ *           dies and exits.
+ */
+static int 
+allocate_mx(struct istate_s *icm,
+	    int       statenum,
+	    int       seqlen,	
+	    int   ****ret_amx,
+	    TBACK ****ret_atr,
+	    int   ****ret_bmx,
+	    TBACK ****ret_btr)	
+{
+  int    ***amx;              
+  TBACK  ***atr;
+  int    ***bmx;
+  TBACK  ***btr;
+  int     diag, j, y;		
+
+  /* Main matrix, amx: fastest varying index is y (j,i,y)
+   * we only keep two rows for j, 0 and 1.
+   */
+				/* malloc for j = 0..1 rows */
+  if ((amx = (int   ***) malloc (2 * sizeof(int   **))) == NULL ||
+      (atr = (TBACK ***) malloc (2 * sizeof(TBACK **))) == NULL)
+    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+
+
+  for (j = 0; j <= 1; j++)	/* loop over rows j = 0..1 */
+    {
+				/* malloc for diag = 0..j (0..seqlen) cols */
+      if ((amx[j] = (int **)   malloc ((seqlen + 1) * sizeof(int   *))) == NULL ||
+	  (atr[j] = (TBACK **) malloc ((seqlen + 1) * sizeof(TBACK *))) == NULL)
+	Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+      
+				/* loop over cols diag = 0..seqlen */
+      for (diag = 0; diag <= seqlen; diag++)
+				/* malloc for y = 0..statenum-1 decks */
+	  if ((amx[j][diag] = (int *)   malloc ((statenum) * sizeof (int  ))) == NULL ||
+	      (atr[j][diag] = (TBACK *) malloc ((statenum) * sizeof (TBACK))) == NULL)
+	    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+    }
+
+  
+  /* B auxiliary matrices: fastest varying index is diag (y,j,diag)
+   * bmx, btr keeps score, traceback decks for BEGIN states
+   */
+				/* 0..statenum-1 decks */
+  if ((bmx = (int ***)   malloc (statenum * sizeof(int   **))) == NULL ||
+      (btr = (TBACK ***) malloc (statenum * sizeof(TBACK **))) == NULL)
+    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+
+  for (y = 0; y < statenum; y++)
+    {
+      bmx[y] = NULL;
+      btr[y] = NULL;
+
+				/* we keep score info for BEGIN and BIFURC states */
+      if (icm[y].statetype == uBEGIN_ST || icm[y].statetype == uBIFURC_ST)
+	{
+				/* j= 0..seqlen rows  */
+	  if ((bmx[y] = (int   **) malloc ((seqlen+1) * sizeof(int   *))) == NULL)
+	    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+				/* i = 0..j columns */
+	  for (j = 0; j <= seqlen; j++)
+	    if ((bmx[y][j] = (int   *) malloc ((j+1) * sizeof(int  ))) == NULL)
+	      Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+	}
+				/* We keep traceback info only for BEGIN states */
+      if (icm[y].statetype == uBEGIN_ST)
+	{
+	  			/* j= 0..seqlen rows  */
+	  if ((btr[y] = (TBACK **) malloc ((seqlen+1) * sizeof(TBACK *))) == NULL)
+	    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+				/* i = 0..j columns */
+	  for (j = 0; j <= seqlen; j++)
+	    if ((btr[y][j] = (TBACK *) malloc ((j+1) * sizeof(TBACK))) == NULL)
+	      Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+	}
+
+    }
+
+  *ret_amx = amx;
+  *ret_atr = atr;
+  *ret_bmx = bmx;
+  *ret_btr = btr;
+  return 1;
+}
+
+
+
+/* Function: free_mx()
+ * 
+ * Purpose:  Free the space allocated to the scoring and traceback matrices.
+ *           Precisely mirrors the allocations above in allocate_cvmx().
+ * 
+ * Return:   (void)
+ */
+static void
+free_mx(int    ***amx,
+	TBACK  ***atr,
+	int    ***bmx,
+	TBACK  ***btr,
+	int     statenum,
+	int     seqlen)
+{
+  int diag, j, y;
+
+  /* Free the main matrix, amx: 
+   * amx[j][i][y] = [0..1] [0..seqlen] [0..statenum-1]
+   */
+  for (j = 0; j <= 1; j++)
+    {
+      for (diag = 0; diag <= seqlen; diag++)
+	{
+	  free(amx[j][diag]);
+	  free(atr[j][diag]);
+	}
+      free(amx[j]);
+      free(atr[j]);
+    }
+  free(amx);
+  free(atr);
+
+  /* Free the auxiliary matrices, bmx and btr
+   * bmx[y][j][i] = [0..statenum-1] [0..seqlen] [0..seqlen]
+   */
+  for (y = 0; y < statenum; y++)
+    {
+      if (bmx[y] != NULL)
+	{
+	  for (j = 0; j <= seqlen; j++)
+	    free(bmx[y][j]);
+	  free(bmx[y]);
+	}
+      if (btr[y] != NULL)
+	{
+	  for (j = 0; j <= seqlen; j++)
+	    free(btr[y][j]);
+	  free(btr[y]);
+	}
+    }
+  free(bmx);
+  free(btr);
+}
+
+
+
+/* Function: init_mx()
+ * 
+ * Purpose:  Initialization of the scoring matrices. We initialize the off-diagonal,
+ *           the diagonal, and the "floor" (end states) of the cube.
+ * 
+ * Return:   1 on success, 0 on failure.
+ */
+static int
+init_mx(struct istate_s *icm,          /* integer model  */
+	int              statenum,     /* number of states in icm */
+	int              N,	       /* length of seq  */
+	int           ***amx,
+	TBACK         ***atr,
+	int           ***bmx,
+	TBACK         ***btr)
+{
+  int diag, j, y;		/* counters for indices over the cvmx            */
+  int ynext;			/* index of next state k+1                       */
+  int *beam;                    /* z-axis vector of numbers in amx               */
+
+  /* Init the whole amx to -Infinity. We do this with memcpy, trying
+   * to be fast. We fill in j=0,diag=0 by hand, then memcpy() the other
+   * columns.
+   */
+  for (y = 0; y < statenum; y++)
+    amx[0][0][y] = amx[1][0][y] = NEGINFINITY;
+  for (diag = 1; diag <= N; diag++)
+    {
+      memcpy(amx[0][diag], amx[0][0], statenum * sizeof(int));
+      memcpy(amx[1][diag], amx[0][0], statenum * sizeof(int));
+    }
+
+  /* atr END and BIFURC traceback pointers point to themselves.
+   * just set everything to point at itself.
+   */
+  for (j = 0; j <= 1; j++)
+    for (diag = 0; diag <= N; diag++)
+      for (y = 0; y < statenum; y++)
+	atr[j][diag][y] = pack_tb(diag, j);
+
+  /* Init the whole bmx to -Inf. We know state 0 is a begin (it's ROOT), so we
+   * start there, and memcpy rows as needed.
+   */
+  for (diag = 0; diag <= N; diag++)  
+    bmx[0][N][diag] = NEGINFINITY;
+  for (j = 0; j < N; j++)
+    memcpy(bmx[0][j], bmx[0][N], (j+1) * sizeof(int));
+
+  for (y = 1; y < statenum; y++)
+    if (bmx[y] != NULL)
+      for (j = 0; j <= N; j++)
+	memcpy(bmx[y][j], bmx[0][N], (j+1) * sizeof(int));
+  
+  /* Set all btr traceback ptrs to point at themselves
+   */
+  for (y = 0; y < statenum; y++)
+    if (btr[y] != NULL)
+      for (j = 0; j <= N; j++)
+	for (diag = 0; diag <= j; diag++)
+	  btr[y][j][diag] = pack_tb(diag,j);
+
+  /* Init the off-diagonal (j = 0..N; diag == 0) with -log P scores.
+   * End state = 0;
+   * del, bifurc states are calc'ed
+   * begin states same as del's
+   * THIS IS WASTEFUL AND SHOULD BE CHANGED.
+   */
+  for (j = 0; j <= N; j++)
+    for (y = statenum-1; y >= 0; y--)
+      {
+	if (icm[y].statetype == uEND_ST)
+	  amx[j%2][0][y] = 0; 
+
+      else if (icm[y].statetype == uBIFURC_ST)
+	amx[j%2][0][y] = bmx[icm[y].tmx[0]][j][0] + bmx[icm[y].tmx[1]][j][0];
+
+      else if (icm[y].statetype == uDEL_ST || icm[y].statetype == uBEGIN_ST)
+	{
+				/* only calc DEL-DEL and BEGIN-DEL transitions. Since
+				 * we optimized the state transition tables, removing
+				 * the unused ones, we don't know where the number
+				 * for "to DEL" is! But we can find it, because it'll
+				 * be the connection to a non-infinite score */
+	  beam = amx[j%2][0] + y + icm[y].offset;
+	  for (ynext = 0; ynext < icm[y].connectnum; ynext++)
+	    {
+	      if (*beam != NEGINFINITY)
+		amx[j%2][0][y] = *beam + icm[y].tmx[ynext];
+	      beam++;
+	    }
+	}
+				/* make a copy into bmx if y is a BEGIN or BIFURC */
+      if (icm[y].statetype == uBEGIN_ST ||
+	  icm[y].statetype == uBIFURC_ST )
+	bmx[y][j][0] = amx[j%2][0][y];
+    }
+  return 1;
+}
+
+
+
+/* Function: recurse_mx()
+ * 
+ * Purpose:  Carry out the fill stage of the dynamic programming
+ *           algorithm.
+ *           
+ * Returns:  1 on success, 0 on failure.
+ */
+static int
+recurse_mx(struct istate_s *icm,      /* integer, state-form model */
+	   int              statenum, /* number of states in icm   */
+	   char            *seq,      /* sequence, 1..N            */
+	   int              N,	      /* length of seq             */
+	   int           ***amx,      /* main scoring matrix       */
+	   TBACK         ***atr,      /* tracebacks for amx        */
+	   int           ***bmx,      /* bifurc scoring matrix     */
+	   TBACK         ***btr)      /* tracebacks for btr        */
+{
+  int i, j, y;		        /* indices for 3 dimensions                    */
+  int aj;			/* 0 or 1, index for j in A matrices           */
+  int diff;			/* loop counter for difference: diff = j-i + 1 */
+  int symi, symj;		/* symbol indices for seq[i], seq[j]           */
+  int sc;			/* tmp for a score                             */
+  int ynext;			/* index of next state y                       */
+
+  int *beam;                    /* ptr to a beam (z-axis vector)               */
+  TBACK *beamt;                 /* ptr into connected traceback beam           */
+  int  leftdiff;		/* diff coord of BEGIN_L of a bifurc     */
+  int  leftj;			/* j coord of BEGIN_L of a bifurc        */
+  int **left_p;			/* pointer into whole 2D deck of BEGINL's of a bifurc */
+  int *right_p;                 /* ptr into row of BEGIN_R's of a bifurc */
+  int   *scp;			/* score pointer: ptr into beam of scores being calc'ed */
+  TBACK *sct;                   /* tback beam being calc'ed */
+  struct istate_s *st;		/* state pointer: ptr at current state in icm */
+  int *tmx;
+  int  emitsc;
+
+  for (j = 1; j <= N; j++)
+    {
+      aj = j % 2;
+      symj = SymbolIndex(seq[j]);      
+
+				/* we have to init END and BIF states to point
+				   at themselves in this row of atr */
+      for (diff = 0; diff <= j; diff++)
+	for (y = 0; y < statenum; y++)
+	  if (icm[y].statetype == uBIFURC_ST ||
+	      icm[y].statetype == uEND_ST)
+	    atr[aj][diff][y] = pack_tb(diff, j);
+
+      for (diff = 1; diff <= j; diff++)
+	{
+	  i = j - diff + 1;
+	  symi = SymbolIndex(seq[i]);
+
+
+	  scp = &amx[aj][diff][statenum-1];
+	  sct = &atr[aj][diff][statenum-1];
+	  st  = &icm[statenum-1];
+	  for (y = statenum-1; y >= 0; y--, scp--, sct--, st--)
+	    { /* loop over states */
+
+	      if (st->statetype != uBIFURC_ST)	/* a normal (non-BIFURC) state */
+		{
+		    /* Connect the "beam" pointer to the appropriate
+		     * starting place in the ynext scores we're connecting
+		     * y to
+		     */
+		  switch (st->statetype) {
+		  case uBEGIN_ST:
+		  case uDEL_ST:
+		    beam   = amx[aj][diff];    
+		    beamt  = atr[aj][diff];
+		    emitsc = 0;    
+		    break;
+		  case uMATP_ST: /* !aj toggles from 0 to 1 and vice versa */
+		    if (diff == 1) continue;
+		    beam   = amx[!aj][diff-2]; 
+		    beamt  = atr[!aj][diff-2]; 
+		    emitsc = st->emit[symi * ALPHASIZE + symj];
+		    break; 
+		  case uMATR_ST:
+		  case uINSR_ST:
+		    beam   = amx[!aj][diff-1];
+		    beamt  = atr[!aj][diff-1];
+		    emitsc = st->emit[symj];
+		    break;
+		  case uMATL_ST:
+		  case uINSL_ST:  
+		    beam   = amx[aj][diff-1];   
+		    beamt  = atr[aj][diff-1];
+		    emitsc = st->emit[symi];
+		    break;
+		  case uEND_ST:   
+		    continue;
+		  default: Die("no such state type %d", st->statetype);
+		  }
+		  beam  += y + st->offset;
+		  beamt += y + st->offset;
+		  tmx  = st->tmx;
+
+
+		  /* Init for ynext == 0 case 
+		   */		
+		  *scp = *beam + *tmx;
+		  *sct = *beamt;
+		    
+		  /* Calculate remaining cases
+		   */
+		  for (ynext = 1; ynext < st->connectnum; ynext++)
+		    {
+		      beam++;
+		      beamt++;
+		      tmx++;
+		      if (*beam > *scp)
+			{
+			  sc = *beam + *tmx;
+			  if (sc > *scp)
+			    {
+			      *scp = sc;
+			      *sct = *beamt;
+			    }
+			}
+		    }
+		    
+		  /* Add emission scores now
+		   */
+		  *scp += emitsc;
+		    
+		  /* Make a copy into bmx, btr if necessary
+		   */
+		  if (st->statetype == uBEGIN_ST)
+		    {
+		      bmx[y][j][diff] = *scp;
+		      btr[y][j][diff] = *sct;
+		    }
+		} /* end block of normal state stuff */
+		
+		else		/* a BIFURC state */
+		  {
+		    leftdiff = diff;
+		    leftj    = j;
+		    right_p  = bmx[st->tmx[1]][j];
+		    left_p   = bmx[st->tmx[0]];
+
+				/* init w/ case that left branch emits it all */
+		    *scp = left_p[leftj][leftdiff] + *right_p;
+		    while (leftdiff > 0)
+		      {
+			leftdiff--;
+			leftj--;
+			right_p++;
+			
+			sc = left_p[leftj][leftdiff] + *right_p;
+			if (sc > *scp)
+			  *scp = sc;
+		      }
+				/* keep copy of score in bmx, for tracing */
+		    bmx[y][j][diff] = *scp;
+		  }
+		
+	      } /* end loop over states */
+	  } /* end loop over diff */
+      } /* end loop over j */
+  return 1;
+}
+
+
+/* Function: trace_mx()
+ * 
+ * Purpose:  Trace stage of the dynamic programming: starting
+ *           at j=N, i=1, k=0/BEGIN, trace back the optimal
+ *           path. Returns a binary tree, ret_trace.
+ *           Caller is reponsible for free'ing ret_trace.
+ */
+static int
+trace_mx(struct istate_s *icm,       /* the model to align               */   
+	 char            *seq,       /* sequence to align it to  1..N    */
+	 int              N,
+	 int           ***bmx,       /* matrix of BEGIN scores           */
+	 TBACK         ***btr,       /* matrix of BIFURC/END tbacks      */
+	 struct trace_s **ret_trace) /* RETURN: the traceback tree       */
+{
+  struct trace_s *tr;           /* the traceback tree under construction */
+  struct trace_s *curr_tr;      /* ptr to node of tr we're working on    */
+  struct tracestack_s *dolist;  /* pushdown stack of active tr nodes     */
+  int diff,i, j;		/* coords in mx (0..N)                   */
+  int y;			/* counter for states (0..statenum-1)    */
+  int leftdiff;
+  int leftj;
+  int *right_p;
+  int  i2, j2;			/* what's left unaccounted for at segment end */
+  int  diff2;
+  int  end_y;			/* index of state that ends segment           */
+
+  /* Initialize.
+   * Start at i = 1, j = N and work towards diagonal
+   */
+  InitTrace(&tr, NULL);         /* start a trace tree */
+  dolist = InitTracestack();	/* start a stack for traversing the trace tree */
+
+  curr_tr = AttachTrace(tr, NULL, 0, N-1, 0, BEGIN_ST);
+  PushTracestack(dolist, curr_tr);
+
+  /* Recursion. While there's active nodes in the stack, trace from them.
+   * 
+   * This is cribbed from recurse_cvmx(); it's almost the exact reverse.
+   * We know the best score, we just have to figure out where it came from.
+   */
+  while ((curr_tr = PopTracestack(dolist)) != NULL)
+    {
+				/* get some useful numbers, mostly for clarity */
+				/* which is important, since we're sort of misusing
+				 * fields in the trace structures! */
+      i    = curr_tr->emitl+1;
+      j    = curr_tr->emitr+1;
+      y    = curr_tr->nodeidx;
+      diff = j - i + 1;
+      
+				/* find out which bifurc/end state terminates this
+				   segment */
+      end_y = y+1;
+      while (icm[end_y].statetype != uBIFURC_ST &&
+	     icm[end_y].statetype != uEND_ST)
+	end_y++;
+
+				/* find out i2,j2 that the terminal bifurc/end
+				   aligns to */
+      unpack_tb(btr[y][j][diff], &diff2, &j2);
+      i2 = j2 - diff2 + 1;
+
+      /* For now, just write out what the traceback looks like.
+       */
+      printf("Segment from state %d to %d: aligns to %d..%d/%d..%d\n",
+	     y, end_y, i, i2-1, j2+1, j);
+
+
+				/* push next BEGINs onto stack; they are connected
+				   to BIFURC end_y */
+      if (icm[end_y].statetype == uBIFURC_ST)
+	{
+	  if (i2 > j2)
+	    {
+	      PushTracestack(dolist, AttachTrace(curr_tr, NULL, i2-1, j2-1, icm[end_y].tmx[1], BEGIN_ST));
+	      PushTracestack(dolist, AttachTrace(curr_tr, NULL, i2-1, j2-1, icm[end_y].tmx[0], BEGIN_ST));
+	    }
+	  else
+	    {
+	      leftdiff = diff2;
+	      leftj    = j2;
+	      right_p  = bmx[icm[end_y].tmx[1]][j2];
+	      
+	      while (leftdiff >= 0)
+		{
+		  if (bmx[end_y][j2][diff] == bmx[icm[end_y].tmx[0]][leftj][leftdiff] + *right_p)
+		    {
+		      printf("found the bifurc: it is %d-%d and %d-%d\n",
+			     i2 -1, i2+leftdiff-2, i2 + leftdiff-1, j2-1);
+		      PushTracestack(dolist, AttachTrace(curr_tr, NULL, i2 + leftdiff-1, j2-1, 
+							 icm[end_y].tmx[1], BEGIN_ST));
+		      PushTracestack(dolist, AttachTrace(curr_tr, NULL, i2 -1, i2+leftdiff-2, 
+							 icm[end_y].tmx[0], BEGIN_ST));
+		      break;
+		    }
+		  leftdiff--;
+		  leftj--;
+		  right_p++;
+		}
+	      if (leftdiff < 0)
+		Die("bifurc reconstruction failed at ijy %d,%d,%d", i,j,y);
+	    }
+	}
+    } /* (while something is in the tracestack) */
+
+  FreeTracestack(dolist);
+
+  *ret_trace = tr;
+  return 1;
+}
+
+
+
+#ifdef DEBUG
+
+/* Function: print_tb()
+ * 
+ * Purpose:  Print the two numbers of a packed traceback.
+ */
+static void
+print_tb(int tb)
+{
+  int i, j;
+
+  unpack_tb(tb, &i, &j);
+  printf("%d %d\n", i, j);
+}
+
+/* Function: PrintSmallMX()
+ * 
+ * Purpose:  Debugging output; print out the three-dimensional
+ *           auxiliary alignment matrix produced by the 
+ *           small-memory version.
+ */
+static void
+print_small_mx(FILE            *fp,    /* open file or just stdout/stderr */
+	       struct istate_s *icm,   /* the model to align           */   
+	       int              statenum, /*  number of states in icm  */
+	       char            *seq,   /* sequence, 1..N               */   
+	       int              N,     /* length of seq                */
+	       int           ***bmx,   /* auxiliary matrix             */
+	       TBACK         ***btr)   /* traceback ptrs for bmx       */
+{
+  int j, diff, y;		/* indices in 3D matrix */
+  int tbdiff, tbj;              /* traceback pointers to a j, diff position */
+
+  for (y = 0; y < statenum; y++)
+    if (bmx[y] != NULL)
+      {
+	fprintf(fp, "### B Matrix for state %d, type %d (%s), from node %d\n",
+		y, icm[y].statetype, UstatetypeName(icm[y].statetype), icm[y].nodeidx);
+	fprintf(fp, "     ");
+	for (diff = 0; diff <= N; diff++)
+	  fprintf(fp, "%6d  ", diff);
+	fprintf(fp, "\n");
+	
+	for (j = 0; j <= N; j++)
+	  {
+	    fprintf(fp, "%c %3d ", (j > 0) ? seq[j] : (char) '*', j);
+	    for (diff = 0; diff <= j; diff++)
+	      fprintf(fp, "%6d  ", bmx[y][j][diff]);
+	    fprintf(fp, "\n      ");
+	    if (icm[y].statetype == uBEGIN_ST)
+	      for (diff = 0; diff <= j; diff++)
+		{
+		  unpack_tb(btr[y][j][diff], &tbdiff, &tbj);
+		  fprintf(fp, "%3d/%3d ", tbdiff, tbj);
+		}
+	    fprintf(fp, "\n");
+	  }
+	fprintf(fp, "\n\n");
+      }
+}
+#endif /* DEBUG */
+
+
diff --git a/sqerror.c b/sqerror.c
new file mode 100644
index 0000000..aba2f49
--- /dev/null
+++ b/sqerror.c
@@ -0,0 +1,73 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* sqerror.c
+ * 
+ * error handling for the squid library
+ */
+
+				/* a global errno equivalent */
+int squid_errno;
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+/* Function: Die()
+ * 
+ * Purpose:  Print an error message and die. The arguments
+ *           are formatted exactly like arguments to printf().
+ *           
+ * Return:   None. Exits the program.
+ */          
+/* VARARGS0 */
+int
+Die(char *format, ...)
+{
+  va_list  argp;
+				/* format the error mesg */
+  fprintf(stderr, "FATAL: ");
+  va_start(argp, format);
+  vfprintf(stderr, format, argp);
+  va_end(argp);
+  fprintf(stderr, "\n");
+  fflush(stderr);
+				/* exit  */
+  exit(1);
+/*NOTREACHED*/
+  return 1;			/* fool lint */
+}
+
+
+
+/* Function: Warn()
+ * 
+ * Purpose:  Print an error message and return. The arguments
+ *           are formatted exactly like arguments to printf().
+ *           
+ * Return:   (void)
+ */          
+/* VARARGS0 */
+int
+Warn(char *format, ...)
+{
+  va_list  argp;
+				/* format the error mesg */
+  fprintf(stderr, "WARNING: ");
+  va_start(argp, format);
+  vfprintf(stderr, format, argp);
+  va_end(argp);
+  fprintf(stderr, "\n");
+  fflush(stderr);
+  return 1;
+}
diff --git a/sqfuncs.h b/sqfuncs.h
new file mode 100644
index 0000000..c325d63
--- /dev/null
+++ b/sqfuncs.h
@@ -0,0 +1,212 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+#ifndef SQFUNCSH_INCLUDED
+#define SQFUNCSH_INCLUDED
+/* sqfuncs.h
+ * SRE, Mon Jul 12 12:20:00 1993
+ * 
+ * Prototypes for squid library functions;
+ * also makes a good reference list for what the package contains.
+ * Slowly being added to as I ANSI-fy squid.
+ */
+
+/* 
+ * from aligneval.c
+ */
+extern float ComparePairAlignments(char *known1, char *known2, char *calc1, char *calc2);
+extern float CompareRefPairAlignments(int *ref, char *known1, char *known2, char *calc1, char *calc2);
+extern float CompareMultAlignments(char **kseqs, char **tseqs, int    N);
+extern float CompareRefMultAlignments(int *ref, char **kseqs, char **tseqs, int    N);
+extern void  PairwiseIdentity(char *s1, char *s2, int allow_ragged,
+			      float *ret_id1, float *ret_id2, float *ret_idtot);
+
+/* 
+ * from alignio.c
+ */
+extern void FreeAlignment(char **aseqs, int nseq, struct aliinfo_s *ainfo);
+extern int  MakeAlignedString(char *aseq, int alen, char *ss, char **ret_s);
+extern int  MakeDealignedString(char *aseq, int alen, char *ss, char **ret_s);
+extern int  WritePairwiseAlignment(FILE *ofp, char *aseq1, char *name1, int spos1,
+				   char *aseq2, char *name2, int spos2,
+				   int **pam, int indent);
+extern int  MingapAlignment(char **aseqs, int num, struct aliinfo_s *ainfo);
+extern int  RandomAlignment(char **rseqs, SQINFO *sqinfo, int nseq, float pop, float pex,
+			    char ***ret_aseqs, AINFO *ainfo);
+
+/* from cluster.c
+ */
+extern int Cluster(float **mx, int N, enum clust_strategy mode, struct phylo_s **ret_tree);
+extern struct phylo_s *AllocPhylo(int N);
+extern void FreePhylo(struct phylo_s *tree, int N);
+extern int  MakeDiffMx(char **aseqs, int num, int alen, int allow_ragged, 
+		       float ***ret_dmx);
+extern int  MakeIdentityMx(char **aseqs, int num, int alen, int allow_ragged, 
+			   float ***ret_dix);
+
+
+/* 
+ * from dayhoff.c
+ */
+extern int  ParsePAMFile(FILE *fp, int ***ret_pam, float *ret_scale);
+extern void ScalePAM(int **pam, int scale);
+
+
+/* from getopt.c
+ */
+extern int Getopt(int argc, char **argv, 
+		  struct opt_s *opt, int nopts, char *usage,
+		  int *ret_optind, char **ret_optname, char **ret_optarg);
+
+
+/* from interleaved.c
+ */
+extern int ReadInterleaved(char *seqfile, int (*parse_header)(FILE *, AINFO *, int *),
+			   int (*is_dataline)(char *, char *), 
+			   char ***ret_aseqs, int *ret_num, AINFO *ainfo);
+extern int ReadAlignment(char *seqfile, int format, char ***ret_aseqs, int *ret_num, 
+			 struct aliinfo_s *ainfo);
+
+/* 
+ * from msf.c
+ */
+extern int  WriteMSF(FILE *fp, char **aseqs, int num, struct aliinfo_s *ainfo);
+extern void FlushAlignment(char **aseqs, int num, int *ret_alen);
+
+/* from revcomp.c
+ */
+extern char *revcomp(char *comp, char *seq);
+
+/* 
+ * from selex.c
+ */
+extern int ReadSELEX(char *seqfile, char ***ret_aseqs, int *ret_num, 
+		     struct aliinfo_s *ret_aliinfo);
+extern int WriteSELEX(FILE *fp, char **aseqs, int num, struct aliinfo_s *ainfo, int cpl);
+extern int DealignAseqs(char **aseqs, int num, char ***ret_rseqs);
+extern int IsSELEXFormat(char *filename);
+extern int TruncateNames(char **names, int N); /* OBSOLETE? */
+extern FILE *EnvFileOpen(char *fname, char *env);
+
+/* 
+ * from seqencode.c
+ */
+extern int seqcmp(char *s1, char *s2, int allow);
+extern int seqncmp(char *s1, char *s2, int n, int allow);
+extern int seqencode(char *codeseq,char *str);
+extern int coded_revcomp(char *comp, char *seq);
+extern int seqdecode(char *str, char *codeseq);
+extern int seqndecode(char *str, char *codeseq, int n);
+
+/* 
+ * from sqerror.c
+ */
+extern int Die(char *format, ...);
+extern int Warn(char *format, ...);
+
+/* 
+ * from sqio.c
+ */
+extern void  FreeSequence(char *seq, SQINFO *sqinfo);
+extern int   SetSeqinfoString(SQINFO *sqinfo, char *sptr, int flag);
+extern void  SeqinfoCopy(SQINFO *sq1, SQINFO *sq2);
+extern void  ToDNA(char *seq);
+extern void  ToRNA(char *seq);
+extern int   ReadMultipleRseqs(char *seqfile, int fformat, char ***ret_rseqs, 
+			       SQINFO **ret_sqinfo, int *ret_num);
+extern SQFILE *SeqfileOpen(char *filename, int format, char *env);
+extern void    SeqfilePosition(SQFILE *sqfp, long offset);
+extern void    SeqfileClose(SQFILE *sqfp);
+extern int   ReadSeq(SQFILE *fp, int format, char **ret_seq, SQINFO *sqinfo);
+extern int   GCGBinaryToSequence(char *seq, int len);
+extern int   GCGchecksum(char *seq, int seqlen);
+extern int   GCGMultchecksum(char **seqs, int nseq);
+extern int   SeqfileFormat(char *filename, int  *ret_format, char *env);
+extern int   WriteSeq(FILE *outf, int outfmt, char *seq, SQINFO *sqinfo);
+extern int   Seqtype(char *seq);
+extern char *SeqFormatString(int code);
+extern GSIFILE *GSIOpen(char *gsifile);
+extern int   GSIGetOffset(GSIFILE *gsi, char *key, char *sqfile, long *ret_offset);
+extern void  GSIClose(GSIFILE *gsi);
+
+
+/* from sre_ctype.c
+ */
+extern int sre_tolower(int c);
+extern int sre_toupper(int c);
+
+/* from sre_math.c
+ */
+extern float Gaussrandom(float mean, float stddev);
+extern int    Linefit(float *x, float *y, int N, 
+		      float *ret_a, float *ret_b, float *ret_r);
+extern float Gammln(float xx);
+extern int    DNorm(double *vec, int n);
+extern int    FNorm(float *vec, int n);
+extern void   DScale(double *vec, int n, double scale);
+extern void   FScale(float *vec, int n, float scale);
+extern void   DSet(double *vec, int n, double value);
+extern void   FSet(float *vec, int n, float value);
+extern double DSum(double *vec, int n);
+extern float  FSum(float *vec, int n);
+extern float  sre_random(void);
+extern void   sre_srandom(int seed);
+extern int    DChoose(double *p, int n);
+extern int    FChoose(float *p, int n);
+extern double DLogSum(double *logp, int n);
+extern float  FLogSum(float *logp, int n);
+
+/* from sre_string.c
+ */
+#ifdef NOSTR
+extern char *strstr(char *s, char *subs);
+#endif
+extern char *Strdup(char *s);
+extern int   Strinsert(char *s1, char c, int pos);
+extern int   Strdelete(char *s1, int pos);
+extern void  s2lower(char *s);
+extern void  s2upper(char *s);
+extern void *MallocOrDie(size_t size);
+extern void *ReallocOrDie(void *p, size_t size);
+extern int   Strparse(char *rexp, char *s, char **buf, int ntok, ...);
+extern void  StrShuffle(char *s1, char *s2);
+
+
+/* from stack.c
+ */
+extern struct intstack_s *InitIntStack(void);
+extern void PushIntStack(struct intstack_s *stack, int data);
+extern int  PopIntStack(struct intstack_s  *stack, int *ret_data);
+extern void ReverseIntStack(struct intstack_s *stack);
+extern int  FreeIntStack( struct intstack_s *stack );
+
+/* 
+ * from translate.c
+ */
+extern char *Translate(char *seq, char **code);
+
+/* 
+ * from types.c
+ */
+extern int IsInt(char *s);
+extern int IsReal(char *s);
+
+/* 
+ * from weight.c
+ */
+extern int SonnhammerWeights(char **aseq, int nseq, int alen, float **ret_weights);
+extern int VoronoiWeights(char **aseq, int nseq, int alen, float **ret_weights);
+extern void FilterAlignment(char **aseq, int nseq, AINFO *ainfo, float cutoff,
+			    char ***ret_anew, int *ret_nnew, 
+			    AINFO **ret_newinfo);
+extern void SampleAlignment(char **aseq, int nseq, AINFO *ainfo, int sample,
+			    char ***ret_anew, int *ret_nnew, 
+			    AINFO **ret_newinfo);
+
+#endif /* SQFUNCSH_INCLUDED */
diff --git a/sqio.c b/sqio.c
new file mode 100644
index 0000000..7c4ae18
--- /dev/null
+++ b/sqio.c
@@ -0,0 +1,1721 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* File: sqio.c
+ * From: ureadseq.c in Don Gilbert's sequence i/o package
+ *
+ * Reads and writes nucleic/protein sequence in various
+ * formats. Data files may have multiple sequences.
+ *
+ * Heavily modified from READSEQ package
+ * Copyright (C) 1990 by D.G. Gilbert
+ * Biology Dept., Indiana University, Bloomington, IN 47405
+ * email: gilbertd at bio.indiana.edu
+ * Thanks Don!
+ *
+ * SRE: Modifications as noted. Fri Jul  3 09:44:54 1992
+ *      Packaged for squid, Thu Oct  1 10:07:11 1992
+ *      ANSI conversion in full swing, Mon Jul 12 12:22:21 1993
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#ifndef SEEK_SET
+#include <unistd.h>	/* may Sun Microsystems rot in hell */
+#endif
+
+#include "squid.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+/* Our hack for "sequential" access of sequences in 
+ * interleaved-format alignment files (MSF, SELEX):
+ * static pointers at data for the entire alignment.
+ */
+static char  **ali_aseqs;
+static char  **ali_rseqs;
+static struct aliinfo_s ali_ainfo;
+static int     ali_num;
+static int     curridx;
+
+#define kStartLength  500
+
+static char *aminos      = "ABCDEFGHIKLMNPQRSTVWXYZ*";
+static char *primenuc    = "ACGTUN";
+static char *protonly    = "EFIPQZ";
+/* static char  stdsymbols[6]   = "_.-*?"; */
+static char  allsymbols[32]  = "_.-*?<>{}[]()!@#$%^&=+;:'|`~\"\\";
+static char *seqsymbols  = allsymbols;
+/*
+    use general form of isseqchar -- all chars + symbols.
+    no formats except nbrf (?) use symbols in data area as
+    anything other than sequence chars.
+    (wrong. PIR-CODATA does. Remove /)
+*/
+
+
+
+void
+FreeSequence(char *seq, SQINFO *sqinfo)
+{
+  if (seq != NULL) free(seq);
+  if (sqinfo->flags & SQINFO_SS)   free(sqinfo->ss);
+  if (sqinfo->flags & SQINFO_SA)   free(sqinfo->sa);
+}
+
+int
+SetSeqinfoString(SQINFO *sqinfo, char *sptr, int flag)
+{
+  int len;
+  int pos;
+
+  while (*sptr == ' ') sptr++; /* ignore leading whitespace */
+  for (pos = strlen(sptr)-1; pos >= 0; pos--)
+    if (! isspace(sptr[pos])) break;
+  sptr[pos+1] = '\0';	       /* ignore trailing whitespace */
+
+  switch (flag) {
+  case SQINFO_NAME:
+    if (*sptr != '-')
+      { 
+	strncpy(sqinfo->name, sptr, SQINFO_NAMELEN-1);
+	sqinfo->name[SQINFO_NAMELEN-1] = '\0';
+	sqinfo->flags   |= SQINFO_NAME;
+      }
+    break;
+
+  case SQINFO_ID:
+    if (*sptr != '-')
+      { 
+	strncpy(sqinfo->id, sptr, SQINFO_NAMELEN-1);
+	sqinfo->id[SQINFO_NAMELEN-1] = '\0';
+	sqinfo->flags |= SQINFO_ID;
+      }
+    break;
+
+  case SQINFO_ACC:
+    if (*sptr != '-')
+      { 
+	strncpy(sqinfo->acc, sptr, SQINFO_NAMELEN-1);
+	sqinfo->acc[SQINFO_NAMELEN-1] = '\0';
+	sqinfo->flags   |= SQINFO_ACC;
+      }
+    break;
+
+  case SQINFO_DESC:
+    if (*sptr != '-')
+      { 
+	if (sqinfo->flags & SQINFO_DESC) /* append? */
+	  {
+	    len = strlen(sqinfo->desc);
+	    if (len < SQINFO_DESCLEN-2)	/* is there room? */
+	      {
+		strncat(sqinfo->desc, " ", SQINFO_DESCLEN-1-len); len++;
+		strncat(sqinfo->desc, sptr, SQINFO_DESCLEN-1-len);
+	      }
+	  }
+	else			/* else copy */
+	  strncpy(sqinfo->desc, sptr, SQINFO_DESCLEN-1);
+	sqinfo->desc[SQINFO_DESCLEN-1] = '\0';
+	sqinfo->flags   |= SQINFO_DESC;
+      }
+    break;
+
+  case SQINFO_START:
+    if (!IsInt(sptr)) { squid_errno = SQERR_FORMAT; return 0; }
+    sqinfo->start = atoi(sptr);
+    if (sqinfo->start != 0) sqinfo->flags |= SQINFO_START;
+    break;
+
+  case SQINFO_STOP:
+    if (!IsInt(sptr)) { squid_errno = SQERR_FORMAT; return 0; }
+    sqinfo->stop = atoi(sptr);
+    if (sqinfo->stop != 0) sqinfo->flags |= SQINFO_STOP;
+    break;
+
+  case SQINFO_OLEN:
+    if (!IsInt(sptr)) { squid_errno = SQERR_FORMAT; return 0; }
+    sqinfo->olen = atoi(sptr);
+    if (sqinfo->olen != 0) sqinfo->flags |= SQINFO_OLEN;
+    break;
+
+  case SQINFO_WGT:
+    if (*sptr != '-')
+      {
+	if (!IsReal(sptr)) { squid_errno = SQERR_FORMAT; return 0; }
+	sqinfo->weight = (float) atof(sptr);
+	sqinfo->flags |= SQINFO_WGT;
+      }
+    break;
+
+  default:
+    Die("Invalid flag %d to SetSeqinfoString()");
+  }
+  return 1;
+}
+
+void
+SeqinfoCopy(SQINFO *sq1, SQINFO *sq2)
+{
+  sq1->flags = sq2->flags;
+  if (sq2->flags & SQINFO_NAME)  strcpy(sq1->name, sq2->name);
+  if (sq2->flags & SQINFO_ID)    strcpy(sq1->id,   sq2->id);
+  if (sq2->flags & SQINFO_ACC)   strcpy(sq1->acc,  sq2->acc);
+  if (sq2->flags & SQINFO_DESC)  strcpy(sq1->desc, sq2->desc);
+  if (sq2->flags & SQINFO_LEN)   sq1->len    = sq2->len;
+  if (sq2->flags & SQINFO_START) sq1->start  = sq2->start;
+  if (sq2->flags & SQINFO_STOP)  sq1->stop   = sq2->stop;
+  if (sq2->flags & SQINFO_OLEN)  sq1->olen   = sq2->olen;
+  if (sq2->flags & SQINFO_TYPE)  sq1->type   = sq2->type;
+  if (sq2->flags & SQINFO_WGT)   sq1->weight = sq2->weight;
+  if (sq2->flags & SQINFO_SS)    sq1->ss     = Strdup(sq2->ss);
+  if (sq2->flags & SQINFO_SA)    sq1->sa     = Strdup(sq2->sa);
+}
+
+/* Function: ToDNA()
+ * 
+ * Purpose:  Convert a sequence to DNA.
+ *           U --> T
+ */
+void
+ToDNA(char *seq)
+{
+  for (; *seq != '\0'; seq++)
+    {
+      if      (*seq == 'U') *seq = 'T';
+      else if (*seq == 'u') *seq = 't';
+    }
+}
+
+/* Function: ToRNA()
+ * 
+ * Purpose:  Convert a sequence to RNA.
+ *           T --> U
+ */
+void
+ToRNA(char *seq)
+{
+  for (; *seq != '\0'; seq++)
+    {
+      if      (*seq == 'T') *seq = 'U';
+      else if (*seq == 't') *seq = 'u';
+    }
+}
+
+
+static int 
+isSeqChar(int c)
+{
+  if (c > 127) return 0;	/* IRIX 4.0 bug! isascii(255) returns TRUE */
+  return (isalpha(c) || strchr(seqsymbols,c));
+}
+
+static void 
+readline(FILE *f, char *s)
+{
+  char  *cp;
+
+  if (NULL == fgets(s, LINEBUFLEN, f))
+    *s = 0;
+  else {
+    cp = strchr(s, '\n');
+    if (cp != NULL) *cp = 0;
+    }
+}
+
+static void 
+GetLine(struct ReadSeqVars *V)
+{
+  readline(V->f, V->sbuffer);
+}
+
+
+/* Function: addseq()
+ * 
+ * Purpose:  Add a line of sequence to the growing string in V.
+ */
+static void 
+addseq(char *s, struct ReadSeqVars *V)
+{
+  char  *ptr;
+
+  while (*s != 0) {
+    if (isSeqChar((int) *s)) {
+      if (*s == '-' && V->dash_equals_n) *s = 'N';
+      if (V->seqlen >= V->maxseq) {
+        V->maxseq += kStartLength;
+        ptr = (char*) realloc(V->seq, V->maxseq+1);
+        if (ptr==NULL) {
+          squid_errno = SQERR_MEM;
+          return;
+	}
+        else V->seq = ptr;
+        }
+      V->seq[(V->seqlen)++] = *s;
+      }
+    s++;
+  }
+}
+
+static void
+addstruc(char *s, struct ReadSeqVars *V)
+{
+  char *sptr;
+
+  if (! (V->sqinfo->flags & SQINFO_SS))
+    {
+      if ((V->sqinfo->ss = (char *) malloc ((V->maxseq+1) * sizeof(char))) == NULL)
+	{ squid_errno = SQERR_MEM; return; }
+      V->sqinfo->flags |= SQINFO_SS;
+      sptr = V->sqinfo->ss;
+    }      
+  else
+    { 
+      if ((V->sqinfo->ss = (char *) realloc(V->sqinfo->ss, V->maxseq+1)) == NULL)
+	{ squid_errno = SQERR_MEM; return; }
+      sptr = V->sqinfo->ss;
+      while (*sptr != '\0') sptr++;
+    }
+
+  while (*s != 0)
+    {
+      if (isSeqChar((int)*s)) { *sptr = *s; sptr++; }
+      s++;
+    }
+  *sptr = '\0';
+}
+
+
+static void 
+readLoop(int addfirst, int (*endTest)(char *,int *), struct ReadSeqVars *V)
+{
+  int addend = 0;
+  int done   = 0;
+
+  V->seqlen = 0;
+  if (addfirst) addseq(V->sbuffer, V);
+  do {
+    GetLine(V);
+    done = feof(V->f);
+    done |= (*endTest)(V->sbuffer, &addend);
+    if (addend || !done)
+      addseq(V->sbuffer, V);
+  } while (!done);
+}
+
+
+static int
+endPIR(char *s, int  *addend)
+{
+  *addend = 0;
+  if ((strncmp(s, "///", 3) == 0) || 
+      (strncmp(s, "ENTRY", 5) == 0))
+    return 1;
+  else
+    return 0;
+}
+
+static void
+readPIR(struct ReadSeqVars *V)
+{
+  char *sptr;
+				/* load first line of entry  */
+  while (!feof(V->f) && strncmp(V->sbuffer, "ENTRY", 5) != 0)
+    GetLine(V);
+  if (feof(V->f)) return;
+
+  if ((sptr = strtok(V->sbuffer + 15, "\n\t ")) != NULL)
+    {
+      SetSeqinfoString(V->sqinfo, sptr, SQINFO_NAME);
+      SetSeqinfoString(V->sqinfo, sptr, SQINFO_ID);
+    }
+  do {
+    GetLine(V);
+    if (!feof(V->f) && strncmp(V->sbuffer, "TITLE", 5) == 0)
+      SetSeqinfoString(V->sqinfo, V->sbuffer+15, SQINFO_DESC);
+    else if (!feof(V->f) && strncmp(V->sbuffer, "ACCESSION", 9) == 0)
+      {
+	if ((sptr = strtok(V->sbuffer+15, " \t\n")) != NULL)
+	  SetSeqinfoString(V->sqinfo, sptr, SQINFO_ACC);
+      }
+  } while (! feof(V->f) && (strncmp(V->sbuffer,"SEQUENCE", 8) != 0));
+  GetLine(V);			/* skip next line, coords */
+
+  readLoop(0, endPIR, V);
+
+  /* reading a real PIR-CODATA database file, we keep the source coords
+   */
+  V->sqinfo->start = 1;
+  V->sqinfo->stop  = V->seqlen;
+  V->sqinfo->olen  = V->seqlen;
+  V->sqinfo->flags |= SQINFO_START | SQINFO_STOP | SQINFO_OLEN;
+
+  /* get next line
+   */
+  while (!feof(V->f) && strncmp(V->sbuffer, "ENTRY", 5) != 0)
+    GetLine(V);
+}
+
+
+
+static int 
+endIG(char *s, int  *addend)
+{
+  *addend = 1; /* 1 or 2 occur in line w/ bases */
+  return((strchr(s,'1')!=NULL) || (strchr(s,'2')!=NULL));
+}
+
+static void 
+readIG(struct ReadSeqVars *V)
+{
+  char *nm;
+				/* position past ';' comments */
+  do {
+    GetLine(V);
+  } while (! (feof(V->f) || ((*V->sbuffer != 0) && (*V->sbuffer != ';')) ));
+
+  if (!feof(V->f))
+    {
+      if ((nm = strtok(V->sbuffer, "\n\t ")) != NULL)
+	SetSeqinfoString(V->sqinfo, nm, SQINFO_NAME);
+
+      readLoop(0, endIG, V);
+    }
+  
+  while (!(feof(V->f) || ((*V->sbuffer != '\0') && (*V->sbuffer == ';'))))
+    GetLine(V);
+}
+
+static int 
+endStrider(char *s, int *addend)
+{
+  *addend = 0;
+  return (strstr( s, "//") != NULL);
+}
+
+static void 
+readStrider(struct ReadSeqVars *V)
+{ 
+  char *nm;
+  
+  while ((!feof(V->f)) && (*V->sbuffer == ';')) 
+    {
+      if (strncmp(V->sbuffer,"; DNA sequence", 14) == 0)
+	{
+	  if ((nm = strtok(V->sbuffer+16, ",\n\t ")) != NULL)
+	    SetSeqinfoString(V->sqinfo, nm, SQINFO_NAME);
+	}
+      GetLine(V);
+    }
+
+  if (! feof(V->f))
+    readLoop(1, endStrider, V);
+
+  /* load next line
+   */
+  while ((!feof(V->f)) && (*V->sbuffer != ';')) 
+    GetLine(V);
+}
+
+
+static int 
+endGB(char *s, int *addend)
+{
+  *addend = 0;
+  return ((strstr(s,"//") != NULL) || (strstr(s,"LOCUS") == s));
+}
+
+static void 
+readGenBank(struct ReadSeqVars *V)
+{
+  char *sptr;
+  int   in_definition;
+
+  while (strncmp(V->sbuffer, "LOCUS", 5) != 0)
+    GetLine(V);
+
+  if ((sptr = strtok(V->sbuffer+12, "\n\t ")) != NULL)
+    {
+      SetSeqinfoString(V->sqinfo, sptr, SQINFO_NAME);
+      SetSeqinfoString(V->sqinfo, sptr, SQINFO_ID);
+    }
+
+  in_definition = FALSE;
+  while (! feof(V->f))
+    {
+      GetLine(V);
+      if (! feof(V->f) && strstr(V->sbuffer, "DEFINITION") == V->sbuffer)
+	{
+	  if ((sptr = strtok(V->sbuffer+12, "\n")) != NULL)
+	    SetSeqinfoString(V->sqinfo, sptr, SQINFO_DESC);
+	  in_definition = TRUE;
+	}
+      else if (! feof(V->f) && strstr(V->sbuffer, "ACCESSION") == V->sbuffer)
+	{
+	  if ((sptr = strtok(V->sbuffer+12, "\n\t ")) != NULL)
+	    SetSeqinfoString(V->sqinfo, sptr, SQINFO_ACC);
+	  in_definition = FALSE;
+	}
+      else if (strncmp(V->sbuffer,"ORIGIN", 6) != 0)
+	{
+	  if (in_definition)
+	    SetSeqinfoString(V->sqinfo, V->sbuffer, SQINFO_DESC);
+	}
+      else
+	break;
+    }
+
+  readLoop(0, endGB, V);
+
+  /* reading a real GenBank database file, we keep the source coords
+   */
+  V->sqinfo->start = 1;
+  V->sqinfo->stop  = V->seqlen;
+  V->sqinfo->olen  = V->seqlen;
+  V->sqinfo->flags |= SQINFO_START | SQINFO_STOP | SQINFO_OLEN;
+
+
+  while (!(feof(V->f) || ((*V->sbuffer!=0) && (strstr(V->sbuffer,"LOCUS") == V->sbuffer))))
+    GetLine(V);
+				/* SRE: V->s now holds "//", so sequential
+				   reads are wedged: fixed Tue Jul 13 1993 */
+  while (!feof(V->f) && strstr(V->sbuffer, "LOCUS  ") != V->sbuffer)
+    GetLine(V);
+}
+
+static int
+endNBRF(char *s, int *addend)
+{
+  char  *a;
+
+  if ((a = strchr(s, '*')) != NULL) { /* end of 1st seq */
+    /* "*" can be valid base symbol, drop it here */
+    *a = 0;
+    *addend = 1;
+    return(1);
+    }
+  else if (*s == '>') { /* start of next seq */
+    *addend = 0;
+    return(1);
+    }
+  else
+    return(0);
+}
+
+static void 
+readNBRF(struct ReadSeqVars *V)
+{
+  char *sptr;
+
+  if ((sptr = strtok(V->sbuffer+4, "\n\t ")) != NULL)
+    SetSeqinfoString(V->sqinfo, sptr, SQINFO_NAME);
+
+  GetLine(V);   /*skip title-junk line*/
+
+  readLoop(0, endNBRF, V);
+
+  while (!(feof(V->f) || (*V->sbuffer != 0 && *V->sbuffer == '>')))
+    GetLine(V);
+}
+
+
+static int
+endGCGdata(char *s, int *addend) 
+{
+  *addend = 0;
+  return (*s == '>');
+}
+
+static void
+readGCGdata(struct ReadSeqVars *V)
+{
+  char *sptr, *lptr;
+  int   binary = FALSE;		/* whether data are binary or not */
+  int   blen;			/* length of binary sequence */
+  
+				/* first line contains ">>>>" followed by name */
+  if (Strparse(">>>>([^ ]+) .+2BIT +Len: ([0-9]+)", 
+	       V->sbuffer, NULL, 2, &sptr, &lptr) == 0) {
+    binary = TRUE;
+    SetSeqinfoString(V->sqinfo, sptr, SQINFO_NAME);
+    blen = atoi(lptr);
+    free(sptr);
+    free(lptr);
+  } else if (Strparse(">>>>([^ ]+) .+ASCII +Len: [0-9]+",
+		      V->sbuffer, NULL, 1, &sptr) == 0) {  
+    SetSeqinfoString(V->sqinfo, sptr, SQINFO_NAME);
+    free(sptr);
+  } else Die("bogus GCGdata format? %s", V->sbuffer);
+
+				/* second line contains free text description */
+  GetLine(V);
+  SetSeqinfoString(V->sqinfo, V->sbuffer, SQINFO_DESC);
+
+  if (binary) {
+    /* allocate for blen characters +3... (allow for 3 bytes of slop) */
+    if (blen >= V->maxseq) {
+      V->maxseq = blen;
+      if ((V->seq = (char *) realloc (V->seq, sizeof(char)*(V->maxseq+4)))==NULL)
+	Die("malloc failed");
+    }
+				/* read (blen+3)/4 bytes from file */
+    if (fread(V->seq, sizeof(char), (blen+3)/4, V->f) < ((blen+3)/4))
+      Die("fread failed");
+    V->seqlen = blen;
+				/* convert binary code to seq */
+    GCGBinaryToSequence(V->seq, blen);
+  }
+  else readLoop(0, endGCGdata, V);
+  
+  while (!(feof(V->f) || ((*V->sbuffer != 0) && (*V->sbuffer == '>'))))
+    GetLine(V);
+}
+
+static int
+endPearson(char *s, int *addend)
+{
+  *addend = 0;
+  return(*s == '>');
+}
+
+static void 
+readPearson(struct ReadSeqVars *V)
+{
+  char *sptr;
+
+				/* check for my special FASTA format */
+  if (strstr(V->sbuffer, "..") != NULL && strstr(V->sbuffer, "::") != NULL)
+    {
+      if ((sptr = strtok(V->sbuffer+1, "\n\t ")) != NULL)
+	SetSeqinfoString(V->sqinfo, sptr, SQINFO_NAME);
+      if ((sptr = strtok(NULL, "\n\t ")) != NULL)
+	SetSeqinfoString(V->sqinfo, sptr, SQINFO_WGT);
+      if ((sptr = strtok(NULL, "\n\t ")) != NULL)
+	SetSeqinfoString(V->sqinfo, sptr, SQINFO_ID);
+      if ((sptr = strtok(NULL, "\n\t ")) != NULL)
+	SetSeqinfoString(V->sqinfo, sptr, SQINFO_ACC);
+      if ((sptr = strtok(NULL, ".")) != NULL)
+	SetSeqinfoString(V->sqinfo, sptr, SQINFO_START);
+      if ((sptr = strtok(NULL, ".:")) != NULL)
+	SetSeqinfoString(V->sqinfo, sptr, SQINFO_STOP);
+      if ((sptr = strtok(NULL, ":\t\n ")) != NULL)
+	SetSeqinfoString(V->sqinfo, sptr, SQINFO_OLEN);
+      if ((sptr = strtok(NULL, "\n")) != NULL)
+	SetSeqinfoString(V->sqinfo, sptr, SQINFO_DESC);
+    }
+  else			/* else we're normal FASTA format */
+    {
+      if ((sptr = strtok(V->sbuffer+1, "\n\t ")) != NULL)
+	SetSeqinfoString(V->sqinfo, sptr, SQINFO_NAME);
+      if ((sptr = strtok(NULL, "\n")) != NULL)
+	SetSeqinfoString(V->sqinfo, sptr, SQINFO_DESC);
+    }
+
+    readLoop(0, endPearson, V);
+
+  while (!(feof(V->f) || ((*V->sbuffer != 0) && (*V->sbuffer == '>'))))
+    GetLine(V);
+}
+
+
+static int
+endEMBL(char *s, int *addend)
+{
+  *addend = 0;
+  /* Some people (Berlin 5S rRNA database, f'r instance) use
+   * an extended EMBL format that attaches extra data after
+   * the sequence -- watch out for that. We use the fact that
+   * real EMBL sequence lines begin with five spaces.
+   * 
+   * We can use this as the sole end test because readEMBL() will
+   * advance to the next ID line before starting to read again.
+   */
+  return (strncmp(s,"     ",5) != 0);
+/*  return ((strstr(s,"//") != NULL) || (strstr(s,"ID   ") == s)); */
+}
+
+static void 
+readEMBL(struct ReadSeqVars *V)
+{
+  char *sptr;
+
+				/* make sure we have first line */
+  while (!feof(V->f) && strncmp(V->sbuffer, "ID  ", 4) != 0)
+    GetLine(V);
+
+  if ((sptr = strtok(V->sbuffer+5, "\n\t ")) != NULL)
+    {
+      SetSeqinfoString(V->sqinfo, sptr, SQINFO_NAME);
+      SetSeqinfoString(V->sqinfo, sptr, SQINFO_ID);
+    }
+
+  do {
+    GetLine(V);
+    if (!feof(V->f) && strstr(V->sbuffer, "AC  ") == V->sbuffer)
+      {
+	if ((sptr = strtok(V->sbuffer+5, ";  \t\n")) != NULL)
+	  SetSeqinfoString(V->sqinfo, sptr, SQINFO_ACC);
+      }
+    else if (!feof(V->f) && strstr(V->sbuffer, "DE  ") == V->sbuffer)
+      {
+	if ((sptr = strtok(V->sbuffer+5, "\n")) != NULL)
+	  SetSeqinfoString(V->sqinfo, sptr, SQINFO_DESC);
+      }
+  } while (! feof(V->f) && strncmp(V->sbuffer,"SQ",2) != 0);
+  
+  readLoop(0, endEMBL, V);
+
+  /* reading a real EMBL database file, we keep the source coords
+   */
+  V->sqinfo->start = 1;
+  V->sqinfo->stop  = V->seqlen;
+  V->sqinfo->olen  = V->seqlen;
+  V->sqinfo->flags |= SQINFO_START | SQINFO_STOP | SQINFO_OLEN;
+
+				/* load next record's ID line */
+  while (!feof(V->f) && strncmp(V->sbuffer, "ID  ", 4) != 0)
+    GetLine(V);
+}
+
+
+static int
+endZuker(char *s, int *addend)
+{
+  *addend = 0;
+  return( *s == '(' );
+}
+
+static void
+readZuker(struct ReadSeqVars *V)
+{
+  char *sptr;
+
+  GetLine(V);  /*s == "seqLen seqid string..."*/
+
+  if ((sptr = strtok(V->sbuffer+6, " \t\n")) != NULL)
+    SetSeqinfoString(V->sqinfo, sptr, SQINFO_NAME);
+
+  if ((sptr = strtok(NULL, "\n")) != NULL)
+    SetSeqinfoString(V->sqinfo, sptr, SQINFO_DESC);
+
+  readLoop(0, endZuker, V);
+
+  while (!(feof(V->f) | ((*V->sbuffer != '\0') & (*V->sbuffer == '('))))
+    GetLine(V);
+}
+
+static void 
+readUWGCG(struct ReadSeqVars *V)
+{
+  char  *si;
+  char  *sptr;
+  int    done;
+
+  V->seqlen = 0;
+
+  /*writeseq: "    %s  Length: %d  (today)  Check: %d  ..\n" */
+  /*drop above or ".." from id*/
+  if ((si = strstr(V->sbuffer,"  Length: ")) != NULL) *si = 0;
+  else if ((si = strstr(V->sbuffer,"..")) != NULL)    *si = 0;
+
+  if ((sptr = strtok(V->sbuffer, "\n\t ")) != NULL)
+    SetSeqinfoString(V->sqinfo, sptr, SQINFO_NAME);
+
+  do {
+    done = feof(V->f);
+    GetLine(V);
+    if (! done) addseq(V->sbuffer, V);
+  } while (!done);
+}
+
+    
+static void
+readSquid(struct ReadSeqVars *V)
+{
+  char *sptr;
+  int   dostruc = FALSE;
+
+  while (strncmp(V->sbuffer, "NAM ", 4) != 0) GetLine(V);
+
+  if ((sptr = strtok(V->sbuffer+4, "\n\t ")) != NULL)
+    SetSeqinfoString(V->sqinfo, sptr, SQINFO_NAME);
+
+  /*CONSTCOND*/
+  while (1)
+    {
+      GetLine(V);
+      if (feof(V->f)) {squid_errno = SQERR_FORMAT; return; }
+
+      if (strncmp(V->sbuffer, "SRC ", 4) == 0)
+	{
+	  if ((sptr = strtok(V->sbuffer+4, " \t\n")) != NULL)
+	    SetSeqinfoString(V->sqinfo, sptr, SQINFO_ID);
+	  if ((sptr = strtok(NULL, " \t\n")) != NULL)
+	    SetSeqinfoString(V->sqinfo, sptr, SQINFO_ACC);
+	  if ((sptr = strtok(NULL, ".")) != NULL)
+	    SetSeqinfoString(V->sqinfo, sptr, SQINFO_START);
+	  if ((sptr = strtok(NULL, ".:")) != NULL)
+	    SetSeqinfoString(V->sqinfo, sptr, SQINFO_STOP);
+	  if ((sptr = strtok(NULL, ": \t\n")) != NULL)
+	    SetSeqinfoString(V->sqinfo, sptr, SQINFO_OLEN);
+	}
+      else if (strncmp(V->sbuffer, "DES ", 4) == 0)
+	{
+	  if ((sptr = strtok(V->sbuffer+4, "\n")) != NULL)
+	    SetSeqinfoString(V->sqinfo, sptr, SQINFO_DESC);
+	}
+      else if (strncmp(V->sbuffer,"SEQ", 3) == 0)
+	break;
+  }
+  
+  if (strstr(V->sbuffer, "+SS") != NULL) dostruc = TRUE;
+
+  V->seqlen = 0;
+  /*CONSTCOND*/
+  while (1)
+    {
+				/* sequence line */
+      GetLine(V);
+      if (feof(V->f) || strncmp(V->sbuffer, "++", 2) == 0) 
+	break;
+      addseq(V->sbuffer, V);
+				/* structure line */
+      if (dostruc)
+	{
+	  GetLine(V);
+	  if (feof(V->f)) { squid_errno = SQERR_FORMAT; return; }
+	  addstruc(V->sbuffer, V);
+	}
+    }
+
+
+  while (!feof(V->f) && strncmp(V->sbuffer, "NAM ", 4) != 0)
+    GetLine(V);
+}
+
+
+/* Function: SeqfileOpen()
+ * 
+ * Purpose : Open a sequence database file and prepare for reading
+ *           sequentially.
+ *           
+ * Args:     filename - name of file to open
+ *           format   - format of file
+ *           env      - environment variable for path (e.g. BLASTDB)                     
+ *
+ *           Returns opened SQFILE ptr, or NULL on failure.
+ */
+SQFILE *
+SeqfileOpen(char *filename, int format, char *env)
+{
+  SQFILE *dbfp;
+
+  if ((dbfp = (SQFILE *) malloc (sizeof(SQFILE))) == NULL)
+    { squid_errno = SQERR_MEM; return NULL; }
+
+  if ((dbfp->f = fopen(filename, "r")) == NULL &&
+      (dbfp->f = EnvFileOpen(filename, env)) == NULL)
+    {  squid_errno = SQERR_NOFILE; return NULL; }
+
+  /* If it's a SELEX- or MSF-formatted alignment file, we
+   * hack a way to fake sequential access: read the whole
+   * alignment into a static at once. Relies on the prediction
+   * that these files will always be relatively small, unlike
+   * GenBank or EMBL databases.
+   */
+  /* Note (Tue Aug 30 11:57:19 1994): This cause a bug:
+   * ReadSeq() is not reentrant for alignment files.
+   */
+  if (format == kSelex || format == kMSF || format == kClustal)
+    {
+      if (! ReadAlignment(filename, format, &ali_aseqs, &ali_num, &ali_ainfo))
+	return NULL;
+      if (! DealignAseqs(ali_aseqs, ali_num, &ali_rseqs))
+	return NULL;
+      curridx = 0;
+    }
+
+  /* Load the first line.
+   */
+  GetLine(dbfp);
+
+  return dbfp;
+}
+
+/* Function: SeqfilePosition()
+ * 
+ * Purpose:  Move to a particular offset in a seqfile.
+ *           Will not work on interleaved files (SELEX, MSF).
+ */
+void
+SeqfilePosition(SQFILE *sqfp, long offset)
+{
+  fseek(sqfp->f, offset, SEEK_SET);
+  GetLine(sqfp);
+}
+
+
+void
+SeqfileClose(SQFILE *sqfp)
+{
+  fclose(sqfp->f);
+  free(sqfp);
+}
+
+
+/* Function: ReadSeq()
+ * 
+ * Purpose:  Read next sequence from an open database file.
+ *           Return the sequence and associated info.
+ *           
+ * Args:     fp      - open sequence database file pointer          
+ *           format  - format of the file (previously determined
+ *                      by call to SeqfileFormat())
+ *           ret_seq - RETURN: sequence
+ *           sqinfo  - RETURN: filled in w/ other information  
+ *           
+ * Return:   1 on success, 0 on failure.
+ *           ret_seq and some field of sqinfo are allocated here,
+ *           The preferred call mechanism to properly free the memory is:
+ *           
+ *           SQINFO sqinfo;
+ *           char  *seq;
+ *           
+ *           ReadSeq(fp, format, &seq, &sqinfo);
+ *           ... do something...
+ *           FreeSequence(seq, &sqinfo);
+ */
+int
+ReadSeq(SQFILE *V, int format, char **ret_seq, SQINFO *sqinfo)
+{
+  int    gotuw;
+
+  squid_errno = SQERR_OK;
+  if (format < kMinFormat || format > kMaxFormat) 
+    {
+      squid_errno = SQERR_FORMAT;
+      *ret_seq    = NULL;
+      return 0;
+    }
+
+  /* Here's the hack for accessing sequences from
+   * the multiple sequence alignment formats
+   */
+  if (format == kMSF || format == kSelex || format == kClustal)
+    {
+
+      if (curridx >= ali_num)
+	{			/* none left; free static ptrs */
+	  FreeAlignment(ali_aseqs, ali_num, &ali_ainfo);
+	  free(ali_rseqs);      /* only free rseqs pointer array */
+	  return 0;
+	}
+      SeqinfoCopy(sqinfo, &(ali_ainfo.sqinfo[curridx]));
+      *ret_seq = ali_rseqs[curridx];
+      curridx++;
+      return 1;
+    }
+  else
+    {
+      if (feof(V->f)) return 0;
+
+      V->seq           = (char*) calloc (kStartLength+1, sizeof(char));
+      V->maxseq        = kStartLength;
+      V->seqlen        = 0;
+      V->sqinfo        = sqinfo;
+      V->sqinfo->flags = 0;
+      V->dash_equals_n = (format == kEMBL) ? TRUE : FALSE;
+
+      switch (format) {
+      case kIG      : readIG(V);      break;
+      case kStrider : readStrider(V); break;
+      case kGenBank : readGenBank(V); break;
+      case kNBRF    : readNBRF(V);    break;
+      case kPearson : readPearson(V); break;
+      case kXPearson: readPearson(V); break;
+      case kEMBL    : readEMBL(V);    break;
+      case kZuker   : readZuker(V);   break;
+      case kPIR     : readPIR(V);     break;
+      case kSquid   : readSquid(V);   break;
+      case kGCGdata : readGCGdata(V); break; 
+	
+      case kGCG:
+	do {			/* skip leading comments on GCG file */
+	  gotuw = (strstr(V->sbuffer,"..") != NULL);
+	  if (gotuw) readUWGCG(V);
+	  GetLine(V);
+	} while (! feof(V->f));
+	break;
+
+      case kIdraw:   /* SRE: no attempt to read idraw postscript */
+      default:
+	squid_errno = SQERR_FORMAT;
+	free(V->seq);
+	return 0;
+      }
+      V->seq[V->seqlen] = 0; /* stick a string terminator on it */
+    }
+
+  /* Cleanup
+   */
+  sqinfo->len    = V->seqlen; 
+  sqinfo->flags |= SQINFO_LEN;
+  *ret_seq = V->seq;
+  if (squid_errno == SQERR_OK) return 1; else return 0;
+}  
+
+/* Function: SeqfileFormat()
+ * 
+ * Purpose:  Determine format of seqfile, and return it
+ *           through ret_format. From Gilbert's seqFileFormat().
+ *
+ * Args:     filename   - name of sequence file      
+ *           ret_format - RETURN: format code for file, see squid.h 
+ *                        for codes.
+ *           env        - name of environment variable containing
+ *                        a directory path that filename might also be
+ *                        found in. "BLASTDB", for example. Can be NULL.
+ *           
+ * Return:   1 on success, 0 on failure.
+ */          
+int
+SeqfileFormat(char *filename, int  *ret_format, char *env)
+{
+  int   foundIG      = 0;
+  int   foundStrider = 0;
+  int   foundGB      = 0; 
+  int   foundEMBL    = 0; 
+  int   foundNBRF    = 0;
+  int   foundPearson = 0;
+  int   foundXPearson= 0;
+  int   foundZuker   = 0;
+  int   gotGCGdata   = 0;
+  int   gotPIR       = 0;
+  int   gotSquid     = 0;
+  int   gotuw        = 0;
+  int   gotMSF       = 0;
+  int   gotClustal   = 0;
+  int   done         = 0;
+  int   format       = kUnknown;
+  int   nlines= 0, dnalines= 0;
+  int   splen = 0;
+  char  sp[LINEBUFLEN];
+  FILE *fseq;
+
+#define ReadOneLine(sp)   \
+  { done |= (feof(fseq)); \
+    readline( fseq, sp);  \
+    if (!done) { splen = (int) strlen(sp); ++nlines; } }
+
+  if ((fseq = fopen(filename, "r")) == NULL &&
+      (fseq = EnvFileOpen(filename, env)) == NULL)
+    { squid_errno = SQERR_NOFILE;  return 0; }
+
+  /* Look at a line at a time
+   */
+  while ( !done ) {
+    ReadOneLine(sp);
+
+    if (sp==NULL || *sp=='\0')
+      /*EMPTY*/ ; 
+
+    /* high probability identities: */
+    
+    else if (strstr(sp, " MSF:")   != NULL &&
+	     strstr(sp, " Type:")  != NULL &&
+	     strstr(sp, " Check:") != NULL)
+      gotMSF = 1;
+
+    else if (strncmp(sp, "CLUSTAL ", 8) == 0 && 
+	     strstr( sp, "multiple sequence alignment"))
+      gotClustal = 1;
+
+    else if (strstr(sp," Check: ") != NULL)
+      gotuw= 1;
+
+    else if (strncmp(sp, "///", 3) == 0 || strncmp(sp, "ENTRY ", 6) == 0)
+      gotPIR = 1;
+
+    else if (strncmp(sp, "++", 2) == 0 || strncmp(sp, "NAM ", 4) == 0)
+      gotSquid = 1;
+
+    else if (strncmp(sp, ">>>>", 4) == 0 && strstr(sp, "Len: "))
+      gotGCGdata = 1;
+
+    /* uncertain identities: */
+
+    else if (*sp ==';') {
+      if (strstr(sp,"Strider") !=NULL) foundStrider= 1;
+      else foundIG= 1;
+    }
+    else if (strncmp(sp,"LOCUS",5) == 0 || strncmp(sp,"ORIGIN",5) == 0)
+      foundGB= 1;
+
+    else if (*sp == '>') {
+      if (sp[3] == ';')                              foundNBRF     = 1;
+      else if (strstr(sp, "::") && strstr(sp, "..")) foundXPearson = 1;
+      else                                           foundPearson  = 1;
+    }
+
+    else if (strstr(sp,"ID   ") == sp || strstr(sp,"SQ   ") == sp)
+      foundEMBL= 1;
+
+    else if (*sp == '(')
+      foundZuker= 1;
+
+    else {
+      switch (Seqtype( sp )) {
+      case kDNA:
+      case kRNA: if (splen>20) dnalines++; break;
+      default:   break;
+      }
+    }
+
+    if      (gotMSF)     {format = kMSF;     done = 1; }
+    else if (gotClustal) {format = kClustal; done = 1; }
+    else if (gotSquid)   {format = kSquid;   done = 1; }
+    else if (gotPIR)     {format = kPIR;     done = 1; }
+    else if (gotGCGdata) {format = kGCGdata; done = 1; }
+    else if (gotuw)  
+      {
+	if (foundIG) format= kIG;  /* a TOIG file from GCG for certain */
+	else format= kGCG;
+	done= 1;
+      }
+    else if ((dnalines > 1) || done || (nlines > 500)) {
+      /* decide on most likely format */
+      /* multichar idents: */
+      if (foundStrider)      format= kStrider;
+      else if (foundGB)      format= kGenBank;
+      else if (foundEMBL)    format= kEMBL;
+      else if (foundNBRF)    format= kNBRF;
+      /* single char idents: */
+      else if (foundIG)      format= kIG;
+      else if (foundPearson) format= kPearson;
+      else if (foundXPearson)format= kXPearson;
+      else if (foundZuker)   format= kZuker;
+      /* spacing ident: */
+      else if (IsSELEXFormat(filename)) format= kSelex;
+      /* no format chars: */
+      else 
+	{
+	  squid_errno = SQERR_FORMAT;
+	  return 0;
+	}
+
+      done= 1;
+    }
+  }
+
+  if (fseq!=NULL) fclose(fseq);
+
+  *ret_format = format;
+  return 1;
+#undef  ReadOneLine
+}
+
+/* Function: GCGBinaryToSequence()
+ * 
+ * Purpose:  Convert a GCG 2BIT binary string to DNA sequence.
+ *           0 = C  1 = T  2 = A  3 = G
+ *           4 nts/byte
+ *           
+ * Args:     seq  - binary sequence. Converted in place to DNA.
+ *           len  - length of DNA. binary is (len+3)/4 bytes
+ */
+int
+GCGBinaryToSequence(char *seq, int len)
+{
+  int   bpos;			/* position in binary   */
+  int   spos;			/* position in sequence */
+  char  twobit;
+  int   i;
+
+  for (bpos = (len-1)/4; bpos >= 0; bpos--) 
+    {
+      twobit = seq[bpos];
+      spos   = bpos*4;
+
+      for (i = 3; i >= 0; i--) 
+	{
+	  switch (twobit & 0x3) {
+	  case 0: seq[spos+i] = 'C'; break;
+	  case 1: seq[spos+i] = 'T'; break;
+	  case 2: seq[spos+i] = 'A'; break;
+	  case 3: seq[spos+i] = 'G'; break;
+	  }
+	  twobit = twobit >> 2;
+	}
+    }
+  seq[len] = '\0';
+  return 1;
+}
+
+
+int
+GCGchecksum(char *seq, int   seqlen)
+{
+  int  check = 0, count = 0, i;
+
+  for (i = 0; i < seqlen; i++) {
+    count++;
+    check += count * sre_toupper((int) seq[i]);
+    if (count == 57) count = 0;
+    }
+  return (check % 10000);
+}
+
+
+/* Function: GCGMultchecksum()
+ * 
+ * Purpose:  Simple modification of GCGchecksum(),
+ *           to create a checksum for multiple sequences.
+ *           Gaps count.
+ *           
+ * Args:     seqs - sequences to be checksummed
+ *           nseq - number of sequences
+ *           
+ * Return:   the checksum, a number between 0 and 9999
+ */                      
+int
+GCGMultchecksum(char **seqs, int nseq)
+{
+  int check = 0;
+  int count = 0;
+  int idx;
+  char *sptr;
+
+  for (idx = 0; idx < nseq; idx++)
+    for (sptr = seqs[idx]; *sptr; sptr++)
+      {
+	count++;
+	check += count * sre_toupper((int) *sptr);
+	if (count == 57) count = 0;
+      }
+  return (check % 10000);
+}
+
+
+
+
+/* Function: Seqtype()
+ * 
+ * Purpose:  Returns a (very good) guess about type of sequence:
+ *           kDNA, kRNA, kAmino, or kOtherSeq.
+ *           
+ *           Modified from, and replaces, Gilbert getseqtype().
+ */
+int
+Seqtype(char *seq)
+{
+  int  saw;			/* how many non-gap characters I saw */
+  char c;
+  int  po = 0;			/* count of protein-only */
+  int  nt = 0;			/* count of t's */
+  int  nu = 0;			/* count of u's */
+  int  na = 0;			/* count of nucleotides */
+  int  aa = 0;			/* count of amino acids */
+  int  no = 0;			/* count of others */
+  
+  /* Look at the first 300 non-gap characters
+   */
+  for (saw = 0; *seq != '\0' && saw < 300; seq++)
+    {
+      c = sre_toupper((int) *seq);
+      if (! isgap(c)) 
+	{
+	  if (strchr(protonly, c)) po++;
+	  else if (strchr(primenuc,c)) {
+	    na++;
+	    if (c == 'T') nt++;
+	    else if (c == 'U') nu++;
+	  }
+	  else if (strchr(aminos,c)) aa++;
+	  else if (isalpha(c)) no++;
+	  saw++;
+	}
+    }
+
+  if (no > 0) return kOtherSeq;
+  else if (po > 0) return kAmino;
+  else if (na > aa) {
+    if (nu > nt) return kRNA;
+    else return kDNA;
+    }
+  else return kAmino;
+}
+
+int
+WriteSeq(FILE *outf, int outform, char *seq, SQINFO *sqinfo)
+{
+  int   numline = 0;
+  int   lines = 0, spacer = 0, width  = 50, tab = 0;
+  int   i, j, l, l1, ibase;
+  char  endstr[10];
+  char  s[100];			/* buffer for sequence  */
+  char  ss[100];		/* buffer for structure */
+  int   checksum = 0;
+  int   seqlen;   
+  int   which_case;    /* 0 = do nothing. 1 = upper case. 2 = lower case */
+  int   dostruc;		/* TRUE to print structure lines*/
+
+  which_case = 0;
+  dostruc    = FALSE;		
+  seqlen     = (sqinfo->flags & SQINFO_LEN) ? sqinfo->len : strlen(seq);
+
+				/* intercept Selex-format requests - SRE */
+  if (outform == kSelex) {
+    fprintf(outf, "%10s %s\n", sqinfo->name, seq);
+    return 1;
+  }
+
+  if (outform == kClustal || outform == kMSF) {
+    Warn("Tried to write Clustal or MSF with WriteSeq() -- bad, bad.");
+    return 1;
+  }
+
+  strcpy( endstr,"");
+  l1 = 0;
+
+  /* 10Nov91: write this out in all possible formats: */
+  checksum = GCGchecksum(seq, seqlen);
+
+  switch (outform) {
+
+    case kUnknown:    /* no header, just sequence */
+      strcpy(endstr,"\n"); /* end w/ extra blank line */
+      break;
+
+    case kGenBank:
+      fprintf(outf,"LOCUS       %s       %d bp\n", 
+	      (sqinfo->flags & SQINFO_ID) ? sqinfo->id : sqinfo->name,
+	      seqlen);
+      fprintf(outf,"DEFINITION  %s\n", 
+	      (sqinfo->flags & SQINFO_DESC) ? sqinfo->desc : "-");
+      fprintf(outf,"ACCESSION   %s\n", 
+	      (sqinfo->flags & SQINFO_ACC) ? sqinfo->acc : "-");
+      fprintf(outf,"ORIGIN      \n");
+      spacer = 11;
+      numline = 1;
+      strcpy(endstr, "\n//");
+      break;
+
+    case kGCGdata:
+      fprintf(outf, ">>>>%s  9/95  ASCII  Len: %d\n", sqinfo->name, seqlen);
+      fprintf(outf, "%s\n", (sqinfo->flags & SQINFO_DESC) ? sqinfo->desc : "-");
+      break;
+
+    case kNBRF:
+      if (Seqtype(seq) == kAmino)
+        fprintf(outf,">P1;%s\n", sqinfo->name);
+      else
+        fprintf(outf,">DL;%s\n", sqinfo->name);
+
+      fprintf(outf,"%s %s\n", 
+	      sqinfo->name,
+	      (sqinfo->flags & SQINFO_DESC) ? sqinfo->desc : "");
+      spacer = 11;
+      strcpy(endstr,"*");
+      break;
+
+    case kPIR:
+      fprintf(outf, "ENTRY          %s\n", 
+	      (sqinfo->flags & SQINFO_ID) ? sqinfo->id : sqinfo->name);
+      fprintf(outf, "TITLE          %s\n", 
+	      (sqinfo->flags & SQINFO_DESC) ? sqinfo->desc : "-");
+      fprintf(outf, "ACCESSION      %s\n",
+	      (sqinfo->flags & SQINFO_ACC) ? sqinfo->acc : "-");
+      fprintf(outf, "SUMMARY                                #Length %d  #Checksum  %d\n",
+	      sqinfo->len, checksum);
+      fprintf(outf, "SEQUENCE\n");
+      fprintf(outf, "                  5        10        15        20        25        30\n");
+      spacer  = 2;		/* spaces after every residue */
+      numline = 1;              /* number lines w/ coords     */
+      width   = 30;             /* 30 aa per line             */
+      strcpy(endstr, "\n///");
+      break;
+
+    case kSquid:
+      fprintf(outf, "NAM  %s\n", sqinfo->name);
+      if (sqinfo->flags & (SQINFO_ID | SQINFO_ACC | SQINFO_START | SQINFO_STOP | SQINFO_OLEN))
+	fprintf(outf, "SRC  %s %s %d..%d::%d\n",
+		(sqinfo->flags & SQINFO_ID)    ? sqinfo->id     : "-",
+		(sqinfo->flags & SQINFO_ACC)   ? sqinfo->acc    : "-",
+		(sqinfo->flags & SQINFO_START) ? sqinfo->start  : 0,
+		(sqinfo->flags & SQINFO_STOP)  ? sqinfo->stop   : 0,
+		(sqinfo->flags & SQINFO_OLEN)  ? sqinfo->olen   : 0);
+      if (sqinfo->flags & SQINFO_DESC)
+	fprintf(outf, "DES  %s\n", sqinfo->desc);
+      if (sqinfo->flags & SQINFO_SS)
+	{
+	  fprintf(outf, "SEQ  +SS\n");
+	  dostruc = TRUE;	/* print structure lines too */
+	}
+      else
+	fprintf(outf, "SEQ\n");
+      numline = 1;                /* number seq lines w/ coords  */
+      strcpy(endstr, "\n++");
+      break;
+
+    case kEMBL:
+      fprintf(outf,"ID   %s\n",
+	      (sqinfo->flags & SQINFO_ID) ? sqinfo->id : sqinfo->name);
+      fprintf(outf,"AC   %s\n",
+	      (sqinfo->flags & SQINFO_ACC) ? sqinfo->acc : "-");
+      fprintf(outf,"DE   %s\n", 
+	      (sqinfo->flags & SQINFO_DESC) ? sqinfo->desc : "-");
+      fprintf(outf,"SQ             %d BP\n", seqlen);
+      strcpy(endstr, "\n//"); /* 11Oct90: bug fix*/
+      tab = 5;     /** added 31jan91 */
+      spacer = 11; /** added 31jan91 */
+      break;
+
+    case kGCG:
+      fprintf(outf,"%s\n", sqinfo->name);
+      if (sqinfo->flags & SQINFO_ACC)
+	fprintf(outf,"ACCESSION   %s\n", sqinfo->acc); 
+      if (sqinfo->flags & SQINFO_DESC)
+	fprintf(outf,"DEFINITION  %s\n", sqinfo->desc);
+      fprintf(outf,"    %s  Length: %d  (today)  Check: %d  ..\n", 
+	      sqinfo->name, seqlen, checksum);
+      spacer = 11;
+      numline = 1;
+      strcpy(endstr, "\n");  /* this is insurance to help prevent misreads at eof */
+      break;
+
+    case kStrider: /* ?? map ?*/
+      fprintf(outf,"; ### from DNA Strider ;-)\n");
+      fprintf(outf,"; DNA sequence  %s, %d bases, %d checksum.\n;\n", 
+	      sqinfo->name, seqlen, checksum);
+      strcpy(endstr, "\n//");
+      break;
+
+			/* SRE: Don had Zuker default to Pearson, which is not
+			   intuitive or helpful, since Zuker's MFOLD can't read
+			   Pearson format. More useful to use kIG */
+    case kZuker:
+      which_case = 1;			/* MFOLD requires upper case. */
+      /*FALLTHRU*/
+    case kIG:
+      fprintf(outf,";%s %s\n", 
+	      sqinfo->name,
+	      (sqinfo->flags & SQINFO_DESC) ? sqinfo->desc : "");
+      fprintf(outf,"%s\n", sqinfo->name);
+      strcpy(endstr,"1"); /* == linear dna */
+      break;
+
+    case kRaw:			/* Raw: just print the whole sequence. */
+      fprintf(outf, "%s\n", seq);
+      return 1;
+
+    case kXPearson:
+      if (sqinfo->flags & SQINFO_WGT)
+	fprintf(outf, "> %s %f ", sqinfo->name, sqinfo->weight);
+      else
+	fprintf(outf, "> %s - ", sqinfo->name);
+
+      fprintf(outf, "%s %s %d..%d::%d %s\n",
+	      (sqinfo->flags & SQINFO_ID)    ? sqinfo->id     : "-",
+	      (sqinfo->flags & SQINFO_ACC)   ? sqinfo->acc    : "-",
+	      (sqinfo->flags & SQINFO_START) ? sqinfo->start  : 0,
+	      (sqinfo->flags & SQINFO_STOP)  ? sqinfo->stop   : 0,
+	      (sqinfo->flags & SQINFO_OLEN)  ? sqinfo->olen   : 0,
+	      (sqinfo->flags & SQINFO_DESC)  ? sqinfo->desc   : "-");
+      break;
+
+    default :
+    case kPearson:
+      fprintf(outf,">%s  %s\n", sqinfo->name,
+	      (sqinfo->flags & SQINFO_DESC)  ? sqinfo->desc   : "");
+      break;
+    }
+
+  if (which_case == 1) s2upper(seq);
+  if (which_case == 2) s2lower(seq);
+
+
+  width = MIN(width,100);
+  for (i=0, l=0, ibase = 1, lines = 0; i < seqlen; ) {
+    if (l1 < 0) l1 = 0;
+    else if (l1 == 0) {
+      if (numline) fprintf(outf,"%8d ",ibase);
+      for (j=0; j<tab; j++) fputc(' ',outf);
+      }
+    if ((spacer != 0) && ((l+1) % spacer == 1)) 
+      { s[l] = ' '; ss[l] = ' '; l++; }
+    s[l]  = seq[i];
+    ss[l] = (sqinfo->flags & SQINFO_SS) ? sqinfo->ss[i] : '.';
+    l++; i++;
+    l1++;                 /* don't count spaces for width*/
+    if (l1 == width || i == seqlen) {
+      s[l] = ss[l] = '\0';
+      l = 0; l1 = 0;
+      if (dostruc)
+	{
+	  fprintf(outf, "%s\n", s);
+	  if (numline) fprintf(outf,"         ");
+	  for (j=0; j<tab; j++) fputc(' ',outf);
+	  if (i == seqlen) fprintf(outf,"%s%s\n",ss,endstr);
+	  else fprintf(outf,"%s\n",ss);
+	}
+      else
+	{
+	  if (i == seqlen) fprintf(outf,"%s%s\n",s,endstr);
+	  else fprintf(outf,"%s\n",s);
+	}
+      lines++;
+      ibase = i+1;
+      }
+    }
+  return lines;
+} 
+
+
+/* Function: ReadMultipleRseqs()
+ * 
+ * Purpose:  Open a data file and
+ *           parse it into an array of rseqs (raw, unaligned
+ *           sequences).
+ * 
+ *           Caller is responsible for free'ing memory allocated
+ *           to ret_rseqs, ret_weights, and ret_names.
+ *           
+ *           Weights are currently only supported for MSF format.
+ *           Sequences read from all other formats will be assigned
+ *           weights of 1.0. If the caller isn't interested in
+ *           weights, it passes NULL as ret_weights.
+ * 
+ * Returns 1 on success. Returns 0 on failure and sets
+ * squid_errno to indicate the cause.
+ */
+int
+ReadMultipleRseqs(char              *seqfile,
+		  int                fformat,
+		  char            ***ret_rseqs,
+		  SQINFO **ret_sqinfo,
+		  int               *ret_num)
+{
+  SQINFO *sqinfo;               /* array of sequence optional info         */
+  SQFILE *dbfp;                 /* open ptr for sequential access of file  */
+  char  **rseqs;                /* sequence array                          */
+  char  **aseqs;                /* aligned sequences, if file is aligned   */
+  struct  aliinfo_s ainfo;      /* alignment-associated information        */
+  int     num;			/* number of seqs                          */
+  int     numalloced;           /* num of seqs currently alloced for       */
+  int     idx;
+
+  if (fformat == kSelex || fformat == kMSF || fformat == kClustal)
+    {
+      if (! ReadAlignment(seqfile, fformat, &aseqs, &num, &ainfo)) return 0;
+      if (! DealignAseqs(aseqs, num, &rseqs))             return 0;
+
+      /* copy the sqinfo array
+       */
+      if ((sqinfo=(SQINFO *)malloc(sizeof(SQINFO)*num)) == NULL) 
+	{ squid_errno = SQERR_MEM; return 0; }
+      for (idx = 0; idx < num; idx++)
+	SeqinfoCopy(&(sqinfo[idx]), &(ainfo.sqinfo[idx]));
+      FreeAlignment(aseqs, num, &ainfo);
+    }
+  else
+    {
+				/* initial alloc */
+      num        = 0;
+      numalloced = 16;
+      if ((rseqs  = (char **) malloc (numalloced * sizeof(char *))) == NULL ||
+	  (sqinfo = (SQINFO *) malloc 
+	   (numalloced * sizeof(SQINFO))) == NULL)
+	{ squid_errno = SQERR_MEM; return 0; }
+      if ((dbfp = SeqfileOpen(seqfile, fformat, NULL)) == NULL) return 0;      
+
+      while (ReadSeq(dbfp, fformat, &rseqs[num], &(sqinfo[num])))
+	{
+	  num++;
+	  if (num == numalloced) /* more seqs coming, alloc more room */
+	    {
+	      numalloced += 16;
+	      if ((rseqs  = (char **) realloc 
+		   (rseqs, numalloced * sizeof(char *))) == NULL ||
+		  (sqinfo = (SQINFO *) realloc 
+		   (sqinfo, numalloced * sizeof(SQINFO))) == NULL)
+		{ squid_errno = SQERR_MEM; return 0; }
+	    }
+	}
+      SeqfileClose(dbfp);
+    }
+
+  *ret_rseqs  = rseqs;
+  *ret_sqinfo = sqinfo;
+  *ret_num    = num;
+  return 1;
+}
+
+
+
+
+char *
+SeqFormatString(int code)
+{
+  switch (code) {
+  case kUnknown: return "Unknown";
+  case kIG:      return "Intelligenetics";
+  case kGenBank: return "GenBank";
+  case kNBRF:    return "PIR-NBRF";
+  case kEMBL:    return "EMBL";
+  case kGCG:     return "GCG";
+  case kGCGdata: return "GCG datalibrary";
+  case kStrider: return "Strider";
+  case kXPearson:return "Extended FASTA";
+  case kPearson: return "FASTA";
+  case kZuker:   return "Zuker";
+  case kIdraw:   return "Idraw";
+  case kSelex:   return "SELEX";
+  case kMSF:     return "MSF";
+  case kClustal: return "Clustal";
+  case kPIR:     return "PIR-CODATA";
+  case kRaw:     return "raw";
+  case kSquid:   return "Squid";
+  default:       return "(bad code)";
+  }
+}
+
+
+
+/* Function: GSIOpen()
+ * 
+ * Purpose:  Open a GSI file. Returns the number of records in
+ *           the file and a file pointer. Returns NULL on failure.
+ *           The file pointer should be fclose()'d normally.
+ */
+GSIFILE *
+GSIOpen(char *gsifile)
+{
+  GSIFILE *gsi;
+  char     magic[GSI_KEYSIZE];
+
+
+  gsi = (GSIFILE *) MallocOrDie (sizeof(GSIFILE));
+  if ((gsi->gsifp = fopen(gsifile, "r")) == NULL)
+    { squid_errno = SQERR_NOFILE; return NULL; }
+  if (! fread(magic, GSI_KEYSIZE, 1, gsi->gsifp))
+    { squid_errno = SQERR_NODATA; return NULL; }
+  if (strcmp(magic, "GSI") != 0)
+    { squid_errno = SQERR_FORMAT; return NULL; }
+  if (! fread(&(gsi->nfiles), sizeof(short), 1, gsi->gsifp))
+    { squid_errno = SQERR_NODATA; return NULL; }
+  if (! fread(&(gsi->recnum), sizeof(long), 1, gsi->gsifp))
+    { squid_errno = SQERR_NODATA; return NULL; }
+  return gsi;
+}
+
+/* Function: GSIGetOffset()
+ * 
+ * Purpose:  From a key (sequence name), find a disk offset
+ *           in an open general sequence index file by binary
+ *           search. Presumably GSI indexing could be even faster
+ *           if we used hashing.
+ *   
+ * Args:     gsi         - GSI index file, opened by GSIOpen()
+ *           key         - name of key to retrieve indices for
+ *           ret_seqfile - pre-alloced char[32] array for seqfile name
+ *           ret_offset  - return: disk offset in seqfile.         
+ */
+int
+GSIGetOffset(GSIFILE *gsi, char *key, char *ret_seqfile, long *ret_offset)
+{
+  long left, right, mid;
+  int cmp;
+  char name[GSI_KEYSIZE + 1];
+  short filenum;
+  name[GSI_KEYSIZE] = '\0';
+
+  left  = gsi->nfiles + 1;
+  right = gsi->nfiles + gsi->recnum;
+  mid   = (left + right) / 2;
+  fseek(gsi->gsifp, mid * GSI_RECSIZE, SEEK_SET);
+
+  while (fread(name, GSI_KEYSIZE, 1, gsi->gsifp))
+    {
+      cmp = strcmp(name, key);
+      if (cmp == 0) break;	/* name same as key: done! */
+      else if (left >= right)
+	return 0;		/* failed to find key: fail! */
+      else if (cmp < 0)         
+	left = mid + 1;		/* name greater than key */
+      else if (cmp > 0)		
+	right = mid - 1;	/* name less than key */
+      mid = (left + right) / 2;
+      fseek(gsi->gsifp, mid * GSI_RECSIZE, SEEK_SET);
+    }
+
+  /* Read the remainder of the record
+   */
+  if (! fread(&filenum, sizeof(short), 1, gsi->gsifp))
+    { squid_errno = SQERR_NODATA; return 0; }
+  if (! fread(ret_offset, sizeof(long), 1, gsi->gsifp))
+    { squid_errno = SQERR_NODATA; return 0; }
+
+  /* Look up the sequence name
+   */
+  fseek(gsi->gsifp, filenum * GSI_RECSIZE, SEEK_SET);
+  if (! fread(ret_seqfile, GSI_KEYSIZE, 1, gsi->gsifp))
+    { squid_errno = SQERR_NODATA; return 0; }
+  
+  return 1;
+}
+    
+/* Function: GSIClose()
+ * 
+ * Purpose:  Close an open GSI sequence index file.
+ */
+void
+GSIClose(GSIFILE *gsi)
+{
+  fclose(gsi->gsifp);
+  free(gsi);
+}
+
+
+/* Function: EnvFileOpen()
+ * Date:     Sun Feb 12 10:55:29 1995            
+ * 
+ * Purpose:  Open a file, given a file name and an environment
+ *           variable that contains a directory path. Files
+ *           are opened read-only. Uses UNIX getenv() and
+ *           thus is UNIX-specific.
+ *           
+ *           For instance: 
+ *             fp = EnvFileOpen("BLOSUM45", "BLASTMAT");
+ *           or:
+ *             fp = EnvFileOpen("swiss", "BLASTDB");  
+ *             
+ * Args:     fname - name of file to open
+ *           env   - name of environment variable containing path
+ *  
+ * Return:   FILE * to open file, or NULL on failure -- same as fopen()
+ */
+FILE *
+EnvFileOpen(char *fname, char *env)
+{
+  FILE *fp;
+  char *path;
+  char  full[512];
+
+  if (env == NULL) return NULL;
+  if ((path = getenv(env)) == NULL) return NULL;
+  if (((int) strlen(fname) + (int) strlen(env) + 2) > 512) return NULL;
+  sprintf(full, "%s/%s", path, fname);
+  fp = fopen(full, "r");
+  return fp;
+}
diff --git a/squid.h b/squid.h
new file mode 100644
index 0000000..884cb33
--- /dev/null
+++ b/squid.h
@@ -0,0 +1,376 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+#ifndef SQUIDH_INCLUDED
+#define SQUIDH_INCLUDED
+/* squid.h
+ * last modified Sun Aug 15 12:05:58 1993
+ * 
+ * Header file for my library of sequence functions.
+ * 
+ */
+
+
+#include <stdio.h>
+#include <math.h>
+#include <stdlib.h>
+
+/* Library version info is made available as a global to
+ * any interested program. These are defined in iupac.c
+ * with the other globals.
+ */
+extern char squid_version[];	
+extern char squid_date[];	
+
+/****************************************************
+ * Error codes returned by squid library functions
+ ****************************************************/
+
+#define SQERR_OK        0	/* no error                     */
+#define SQERR_UNKNOWN   1       /* generic error, unidentified  */
+#define SQERR_NODATA    2	/* unexpectedly NULL stream     */
+#define SQERR_MEM       3	/* malloc or realloc failed     */
+#define SQERR_NOFILE    4	/* file not found               */
+#define SQERR_FORMAT    5	/* file format not recognized   */
+#define SQERR_PARAMETER 6	/* bad parameter passed to func */
+#define SQERR_DIVZERO   7	/* error in sre_math.c          */
+
+extern int squid_errno;
+
+
+/****************************************************
+ * Single sequence information
+ ****************************************************/ 
+#define SQINFO_NAMELEN 64
+#define SQINFO_DESCLEN 128
+
+struct seqinfo_s {
+  int      flags;               /* what extra data are available         */
+  char     name[SQINFO_NAMELEN];/* up to 63 characters of name           */
+  char     id[SQINFO_NAMELEN];	/* up to 63 char of database identifier  */
+  char     acc[SQINFO_NAMELEN]; /* up to 63 char of database accession # */
+  char     desc[SQINFO_DESCLEN];/* up to 127 char of description         */
+  int      len;                 /* length of this seq                    */
+  int      start;		/* (1..len) start position on source seq */
+  int      stop;                /* (1..len) end position on source seq   */
+  int      olen;                /* original length of source seq         */
+  int      type;                /* kRNA, kDNA, kAmino, or kOther         */
+  float    weight;              /* weight on sequence                    */
+  char    *ss;                  /* 0..len-1 secondary structure string   */
+  char    *sa;			/* 0..len-1 % side chain surface access. */
+};
+typedef struct seqinfo_s SQINFO;
+
+#define SQINFO_NAME  (1 << 0)
+#define SQINFO_ID    (1 << 1)
+#define SQINFO_ACC   (1 << 2)
+#define SQINFO_DESC  (1 << 3)
+#define SQINFO_START (1 << 4)
+#define SQINFO_STOP  (1 << 5)
+#define SQINFO_LEN   (1 << 6)
+#define SQINFO_TYPE  (1 << 7)
+#define SQINFO_WGT   (1 << 8)
+#define SQINFO_OLEN  (1 << 9)
+#define SQINFO_SS    (1 << 10)
+#define SQINFO_SA    (1 << 12)
+
+/****************************************************
+ * Sequence i/o: originally from Don Gilbert's readseq 
+ ****************************************************/
+	/* buffer size for reading in lines from sequence files*/
+#define LINEBUFLEN  4096
+
+/* sequence types parsed by Seqtype() */
+#define kOtherSeq   0
+#define kDNA        1
+#define kRNA        2
+#define kAmino      3
+
+/* Sequence file formats recognized */
+#define kUnknown        0   /* format not determinable */
+#define kIG             1
+#define kGenBank        2
+#define kNBRF           3
+#define kEMBL           4
+#define kGCG            5
+#define kStrider        6
+#define kPearson        7
+#define kZuker          8
+#define kIdraw          9	/* idraw-style PostScript (write only)       */
+#define kSelex          10	/* my flat text alignment format             */
+#define kMSF		11	/* GCG MSF multiple alignment format         */
+#define kPIR            12      /* PIR-CODATA format                         */
+#define kRaw            13      /* unformatted, raw sequence (output only)   */
+#define kSquid          14	/* my sequence database format               */
+#define kXPearson       15	/* my extended FASTA format                  */
+#define kGCGdata        16	/* GCG data library format                   */
+#define kClustal        17	/* Clustal V or W multiple alignment format  */
+
+#define kMinFormat      1	/* SRE: kUnknown doesn't count */
+#define kMaxFormat      17
+#define kNumFormats     (kMaxFormat + 1)
+#define kNoformat       -1	/* format not tested */
+
+struct ReadSeqVars {
+  FILE   *f;
+  char    sbuffer[LINEBUFLEN];	/* current line we're working on */
+  int     seqlen;
+  int     maxseq;
+  int     dash_equals_n;	/* a hack - affects EMBL reading, to deal with EMBL */
+  char   *seq;
+  SQINFO *sqinfo;	/* name, id, etc. */
+  char   *sp;
+};
+typedef struct ReadSeqVars SQFILE;
+
+/****************************************************
+ * Database indexing (GSI index file format)
+ ****************************************************/
+/* A GSI (generic sequence index) file is composed of
+ * recnum + nfiles + 1 records. Each record contains
+ * three fields; key, file number, and disk offset.
+ * Record 0 contains:
+ *   [ "GSI" ]  [ nfiles ]  [ recnum ]
+ * Records 1..nfiles map file names to file numbers, and contain:
+ *   [ filename ] [ file number, 1..nfiles ] [ 0 (unused) ]
+ * Records nfiles+1 to recnum+nfiles+1 provide disk offset
+ * and file number indices for every key:
+ *   [ key ] [ file number ] [ offset]
+ */
+struct gsi_s {
+  FILE *gsifp;			/* open GSI index file */
+  long  recnum;			/* number of records   */
+  short nfiles;			/* number of files     */
+};
+typedef struct gsi_s GSIFILE;
+
+/* Used for GSI (general sequence index) files, for rapid fetching
+ * from databases. A GSI record contains:
+ *  [ key name]   [file number]   [disk offset]
+ */
+#define GSI_RECSIZE (32 * sizeof(char) + sizeof(short) + sizeof(long))
+#define GSI_KEYSIZE (32 * sizeof(char))
+
+/****************************************************
+ * Sequence alphabet: see also iupac.c
+ ****************************************************/
+				/* IUPAC symbols defined globally in iupac.c */
+struct iupactype {
+  char       sym;		/* character representation */
+  char       symcomp;           /* complement (regular char */
+  char       code;		/* my binary rep */
+  char       comp;              /* binary encoded complement */
+};
+extern struct iupactype iupac[];
+#define IUPACSYMNUM 17
+
+extern char    *stdcode1[];	/* 1-letter amino acid translation code */
+extern char    *stdcode3[];	/* 3-letter amino acid translation code */
+extern float   aafq[];		/* amino acid occurrence frequencies    */
+extern char     aa_alphabet[];  /* amino acid alphabet                  */
+extern int      aa_index[];     /* convert 0..19 indices to 0..26       */
+
+				/* valid symbols in IUPAC code */
+#define NUCLEOTIDES    "ACGTUNRYMKSWHBVDacgtunrymkswhbvd"
+#define AMINO_ALPHABET "ACDEFGHIKLMNPQRSTVWY"
+#define DNA_ALPHABET   "ACGT"
+#define RNA_ALPHABET   "ACGU"
+#define WHITESPACE     " \t\n"
+
+#define isgap(c) ((c) == ' ' || (c) == '.' || (c) == '_' || (c) == '-')
+
+
+/****************************************************
+ * Alignment information
+ ****************************************************/
+
+/* Structure: aliinfo_s
+ * 
+ * Purpose:   Optional information returned from an alignment file.
+ * 
+ *            flags: always used. Flags for which info is valid/alloced.
+ *       
+ *            alen: always returned. Alignments are always flushed right
+ *                  with gaps so that all aseqs are the same length, alen.
+ *                  Available for all alignment formats.
+ *                  
+ *            cs:   0..alen-1, just like the alignment. Contains single-letter
+ *                  secondary structure codes for consensus structure; "<>^+"
+ *                  for RNA, "EHL." for protein. May be NULL if unavailable
+ *                  from seqfile. Only available for SELEX format files.
+ *                  
+ *            rf:   0..alen-1, just like the alignment. rf is an arbitrary string
+ *                  of characters, used for annotating columns. Blanks are
+ *                  interpreted as non-canonical columns and anything else is
+ *                  considered canonical. Only available from SELEX format files.
+ *                  
+ *            sqinfo: always returned. Array of 0..nseq-1 
+ *                  per-sequence information structures, carrying
+ *                  name, id, accession, coords, and weight.
+ *                  
+ */
+struct aliinfo_s {		
+  int               flags;      /* flags for what info is valid             */
+  int               alen;	/* length of alignment (columns)            */
+  char              au[64];	/* "author" information                     */
+  char             *cs;         /* consensus secondary structure string     */
+  char             *rf;         /* reference coordinate system              */
+  struct seqinfo_s *sqinfo;     /* name, id, coord info for each sequence   */
+};
+typedef struct aliinfo_s AINFO;
+
+#define AINFO_ALEN    (1 << 0)
+#define AINFO_AUTH    (1 << 1)
+#define AINFO_CS      (1 << 2)
+#define AINFO_RF      (1 << 3)
+
+
+/****************************************************
+ * Cluster analysis and phylogenetic tree support
+ ****************************************************/ 
+
+/* struct phylo_s - a phylogenetic tree
+ *                     
+ * For N sequences, there will generally be an array of 0..N-2
+ * phylo_s structures. [0] is the root. The indexes of left and
+ * right children are somewhat confusing so be careful. The
+ * indexes can have values of 0..2N-2. If they are 0..N-1, they 
+ * represent pointers to individual sequences. If they are
+ * >= N, they represent pointers to a clustree_s structure
+ * at (index - N).
+ */
+struct phylo_s {
+  int    parent;                /* index of parent, N..2N-2, or -1 for root */
+  int    left;			/* index of one of the branches, 0..2N-2 */
+  int    right;			/* index of other branch, 0..2N-2        */
+  float  diff;			/* difference score between seqs         */
+  float  lblen;      		/* left branch length                    */
+  float  rblen;                 /* right branch length                   */
+  char  *is_in;                 /* 0..N flag array, 1 if seq included    */
+  int    incnum;                /* number of seqs included at this node  */
+};
+
+
+/* Strategies for cluster analysis; cluster by mean distance,
+ * minimum distance, or maximum distance.
+ */
+enum clust_strategy { CLUSTER_MEAN, CLUSTER_MAX, CLUSTER_MIN };
+
+/****************************************************
+ * Generic data structure support
+ ****************************************************/
+
+/* a struct intstack_s implements a pushdown stack for storing
+ * single integers.
+ */
+struct intstack_s {
+  int                data;
+  struct intstack_s *nxt;
+};
+
+/****************************************************
+ * Binary nucleotide alphabet support
+ ****************************************************/
+
+/* Binary encoding of the IUPAC code for nucleotides
+ * 
+ *    four-bit "word", permitting rapid degenerate matching
+ *         A  C  G  T/U
+ *         0  0  1  0
+ */
+#define NTA 8
+#define NTC 4
+#define NTG 2
+#define NTT 1
+#define NTU 1
+#define NTN 15			/* A|C|G|T */
+#define NTR 10			/* A|G */
+#define NTY 5			/* C|T */
+#define NTM 12			/* A|C */
+#define NTK 3			/* G|T */
+#define NTS 6			/* C|G */
+#define NTW 9			/* A|T */
+#define NTH 13			/* A|C|T */
+#define NTB 7			/* C|G|T */
+#define NTV 14			/* A|C|G */
+#define NTD 11			/* A|G|T */
+#define NTGAP 16		/* GAP */
+#define NTEND 0			/* null string terminator */
+
+/* ntmatch(): bitwise comparison of two nuc's 
+ * note that it's sensitive to the order;
+ * probe may be degenerate but target should not be 
+ */
+#define ntmatch(probe, target)  ((probe & target) == target)
+
+/****************************************************
+ * Support for a portable, flexible Getopt()
+ ****************************************************/
+
+/* Structure: opt_s
+ * 
+ * Structure for declaring options to a main().
+ */
+struct opt_s {
+  char *name;			/* name of option, e.g. "--option1" or "-o" */
+  int   single;			/* TRUE if a single letter option           */
+  int   argtype;		/* for typechecking, e.g. ARG_INT           */
+};
+				/* acceptable argtype's...           */
+#define ARG_NONE   0		/* no argument                       */
+#define ARG_INT    1		/* something that atoi() can grok    */
+#define ARG_FLOAT  2		/* something that atof() can grok    */
+#define ARG_CHAR   3		/* require single character or digit */
+#define ARG_STRING 4		/* anything goes                     */
+
+/****************************************************
+ * Miscellaneous macros and defines
+ ****************************************************/
+
+#define CHOOSE(a)     ((int) (sre_random() * (a)))
+				/* must declare swapfoo to use SWAP() */
+#define SWAP(a,b) {swapfoo = b; b = a; a = swapfoo;}
+
+#define Free2DArray(ptr, n) \
+{ int fooidx;\
+  if (ptr != NULL) { \
+    for (fooidx = 0; fooidx < (n); fooidx++) if (ptr[fooidx] != NULL) free(ptr[fooidx]);\
+    free(ptr);\
+  } }    
+
+#define ScalarsEqual(a,b) (fabs((a)-(b)) < 1e-7)
+
+#ifndef MIN
+#define MIN(a,b)         ((a<b)?a:b)
+#endif
+#ifndef MAX
+#define MAX(a,b)         ((a>b)?a:b)
+#endif
+
+#ifndef TRUE
+#define TRUE 1
+#endif
+#ifndef True
+#define True 1
+#endif
+#ifndef FALSE 
+#define FALSE 0
+#endif
+#ifndef False
+#define False 0
+#endif
+
+			/* someday, Sun Microsystems will conform to ANSI... */
+#ifndef EXIT_SUCCESS
+#define EXIT_SUCCESS 0
+#define EXIT_FAILURE 1
+#endif
+
+#include "sqfuncs.h"		/* squid function declarations */
+#endif /* SQUIDH_INCLUDED */
diff --git a/sre_ctype.c b/sre_ctype.c
new file mode 100644
index 0000000..907c657
--- /dev/null
+++ b/sre_ctype.c
@@ -0,0 +1,36 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* sre_ctype.c
+ * 
+ * For portability. Some systems have functions tolower, toupper
+ * as macros (for instance, MIPS M-2000 RISC/os!)
+ */
+
+#include <ctype.h>
+#include "squid.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+int
+sre_tolower(int c)
+{
+  if (isupper(c)) return tolower(c);
+  else return c;
+}
+
+int
+sre_toupper(int c)
+{
+  if (islower(c)) return toupper(c);
+  else return c;
+}
+
diff --git a/sre_math.c b/sre_math.c
new file mode 100644
index 0000000..78cab53
--- /dev/null
+++ b/sre_math.c
@@ -0,0 +1,472 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* sre_math.c
+ * 
+ * Portability for and extensions to C math library.
+ * 
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "squid.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+static int sre_reseed = 0;	/* TRUE to reinit sre_random() */
+static int sre_randseed = 666;	/* default seed for sre_random()   */
+
+/* Function: Gaussrandom()
+ * 
+ * Pick a Gaussian-distributed random variable
+ * with some mean and standard deviation, and
+ * return it.
+ * 
+ * Based on RANLIB.c public domain implementation.
+ * Thanks to the authors, Barry W. Brown and James Lovato,
+ * University of Texas, M.D. Anderson Cancer Center, Houston TX.
+ * Their implementation is from Ahrens and Dieter, "Extensions 
+ * of Forsythe's method for random sampling from the normal
+ * distribution", Math. Comput. 27:927-937 (1973).
+ *
+ * Impenetrability of the code is to be blamed on its FORTRAN/f2c lineage.
+ * 
+ */
+float
+Gaussrandom(float mean, float stddev)
+{
+  static float a[32] = {
+    0.0,3.917609E-2,7.841241E-2,0.11777,0.1573107,0.1970991,0.2372021,0.2776904,    0.3186394,0.36013,0.4022501,0.4450965,0.4887764,0.5334097,0.5791322,
+    0.626099,0.6744898,0.7245144,0.7764218,0.8305109,0.8871466,0.9467818,
+    1.00999,1.077516,1.150349,1.229859,1.318011,1.417797,1.534121,1.67594,
+    1.862732,2.153875
+  };
+  static float d[31] = {
+    0.0,0.0,0.0,0.0,0.0,0.2636843,0.2425085,0.2255674,0.2116342,0.1999243,
+    0.1899108,0.1812252,0.1736014,0.1668419,0.1607967,0.1553497,0.1504094,
+    0.1459026,0.14177,0.1379632,0.1344418,0.1311722,0.128126,0.1252791,
+    0.1226109,0.1201036,0.1177417,0.1155119,0.1134023,0.1114027,0.1095039
+  };
+  static float t[31] = {
+    7.673828E-4,2.30687E-3,3.860618E-3,5.438454E-3,7.0507E-3,8.708396E-3,
+    1.042357E-2,1.220953E-2,1.408125E-2,1.605579E-2,1.81529E-2,2.039573E-2,
+    2.281177E-2,2.543407E-2,2.830296E-2,3.146822E-2,3.499233E-2,3.895483E-2,
+    4.345878E-2,4.864035E-2,5.468334E-2,6.184222E-2,7.047983E-2,8.113195E-2,
+    9.462444E-2,0.1123001,0.136498,0.1716886,0.2276241,0.330498,0.5847031
+  };
+  static float h[31] = {
+    3.920617E-2,3.932705E-2,3.951E-2,3.975703E-2,4.007093E-2,4.045533E-2,
+    4.091481E-2,4.145507E-2,4.208311E-2,4.280748E-2,4.363863E-2,4.458932E-2,
+    4.567523E-2,4.691571E-2,4.833487E-2,4.996298E-2,5.183859E-2,5.401138E-2,
+    5.654656E-2,5.95313E-2,6.308489E-2,6.737503E-2,7.264544E-2,7.926471E-2,
+    8.781922E-2,9.930398E-2,0.11556,0.1404344,0.1836142,0.2790016,0.7010474
+  };
+  static long i;
+  static float snorm,u,s,ustar,aa,w,y,tt;
+
+  u = sre_random();
+  s = 0.0;
+  if(u > 0.5) s = 1.0;
+  u += (u-s);
+  u = 32.0*u;
+  i = (long) (u);
+  if(i == 32) i = 31;
+  if(i == 0) goto S100;
+  /*
+   * START CENTER
+   */
+  ustar = u-(float)i;
+  aa = *(a+i-1);
+S40:
+  if(ustar <= *(t+i-1)) goto S60;
+  w = (ustar-*(t+i-1))**(h+i-1);
+S50:
+  /*
+   * EXIT   (BOTH CASES)
+   */
+  y = aa+w;
+  snorm = y;
+  if(s == 1.0) snorm = -y;
+  return (stddev*snorm + mean);
+S60:
+  /*
+   * CENTER CONTINUED
+   */
+  u = sre_random();
+  w = u*(*(a+i)-aa);
+  tt = (0.5*w+aa)*w;
+  goto S80;
+S70:
+  tt = u;
+  ustar = sre_random();
+S80:
+  if(ustar > tt) goto S50;
+  u = sre_random();
+  if(ustar >= u) goto S70;
+  ustar = sre_random();
+  goto S40;
+S100:
+  /*
+   * START TAIL
+   */
+  i = 6;
+  aa = *(a+31);
+  goto S120;
+S110:
+  aa += *(d+i-1);
+  i += 1;
+S120:
+  u += u;
+  if(u < 1.0) goto S110;
+  u -= 1.0;
+S140:
+  w = u**(d+i-1);
+  tt = (0.5*w+aa)*w;
+  goto S160;
+S150:
+  tt = u;
+S160:
+  ustar = sre_random();
+  if(ustar > tt) goto S50;
+  u = sre_random();
+  if(ustar >= u) goto S150;
+  u = sre_random();
+  goto S140;
+}
+
+  
+/* Function: Linefit()
+ * 
+ * Purpose:  Given points x[0..N-1] and y[0..N-1], fit to
+ *           a straight line y = a + bx.
+ *           a, b, and the linear correlation coefficient r
+ *           are filled in for return.
+ *           
+ * Args:     x     - x values of data
+ *           y     - y values of data               
+ *           N     - number of data points
+ *           ret_a - RETURN: intercept
+ *           ret_b - RETURN: slope
+ *           ret_r - RETURN: correlation coefficient  
+ *           
+ * Return:   1 on success, 0 on failure.
+ */
+int          
+Linefit(float *x, float *y, int N, float *ret_a, float *ret_b, float *ret_r) 
+{				
+  float xbar, ybar;
+  float sxx, syy, sxy;
+  int   i;
+  
+  /* Calculate averages, xbar and ybar
+   */
+  xbar = ybar = 0.0;
+  for (i = 0; i < N; i++)
+    {
+      xbar += x[i];
+      ybar += y[i];
+    }
+  xbar /= N;
+  ybar /= N;
+
+  sxx = syy = sxy = 0.0;
+  for (i = 0; i < N; i++)
+    {
+      sxx    += (x[i] - xbar) * (x[i] - xbar);
+      syy    += (y[i] - ybar) * (y[i] - xbar);
+      sxy    += (x[i] - xbar) * (y[i] - ybar);
+    }
+  *ret_b = sxy / sxx;
+  *ret_a = ybar - xbar*(*ret_b);
+  *ret_r = sxy / (sqrt(sxx) * sqrt(syy));
+  return 1;
+}
+
+
+/* Function: Gammln()
+ *
+ * Returns the natural log of the gamma function of x.
+ * x is > 0.0.  
+ *
+ * Adapted from a public domain implementation in the
+ * NCBI core math library. Thanks to John Spouge and
+ * the NCBI. (According to the NCBI, that's Dr. John
+ * "Gammas Galore" Spouge to you, pal.)
+ */
+float
+Gammln(float x)
+{
+  int i;
+  double xx, tx;
+  double tmp, value;
+  static double cof[11] = {
+    4.694580336184385e+04,
+    -1.560605207784446e+05,
+    2.065049568014106e+05,
+    -1.388934775095388e+05,
+    5.031796415085709e+04,
+    -9.601592329182778e+03,
+    8.785855930895250e+02,
+    -3.155153906098611e+01,
+    2.908143421162229e-01,
+    -2.319827630494973e-04,
+    1.251639670050933e-10
+  };
+  
+  /* Protect against x=0. We see this in Dirichlet code,
+   * for terms alpha = 0. This is a severe hack but it is effective
+   * and safe. (due to GJM)
+   */ 
+  if (x <= 0.0) return 999999.; 
+
+  xx       = x - 1.0;
+  tx = tmp = xx + 11.0;
+  value    = 1.0;
+  for (i = 10; i >= 0; i--)	/* sum least significant terms first */
+    {
+      value += cof[i] / tmp;
+      tmp   -= 1.0;
+    }
+  value  = log(value);
+  tx    += 0.5;
+  value += 0.918938533 + (xx+0.5)*log(tx) - tx;
+  return (float) value;
+}
+
+
+/* Vector operations for doubles and floats.
+ * DNorm(), FNorm()   -- normalize a probability vector of length n.
+ *                       return 0 if all values were zero.
+ * DScale(), FScale() -- multiply all items in vector by scale
+ * DSet(), FSet()     -- set all items in vector to value.
+ */                      
+int
+DNorm(double *vec, int n)
+{
+  int    x;
+  double sum;
+
+  sum = 0.0;
+  for (x = 0; x < n; x++) sum += vec[x];
+  if (sum != 0.0)
+    for (x = 0; x < n; x++) vec[x] /= sum;
+  else
+    { squid_errno = SQERR_DIVZERO; return 0; }
+  return 1;
+}
+
+int
+FNorm(float *vec, int n)
+{
+  int    x;
+  float  sum;
+
+  sum = 0.0;
+  for (x = 0; x < n; x++) sum += vec[x];
+  if (sum != 0.0)
+    for (x = 0; x < n; x++) vec[x] /= sum;
+  else
+    { squid_errno = SQERR_DIVZERO; return 0; }
+  return 1;
+}
+  
+void
+DScale(double *vec, int n, double scale)
+{
+  int x;
+  for (x = 0; x < n; x++)
+    vec[x] *= scale;
+}
+void
+FScale(float *vec, int n, float scale)
+{
+  int x;
+  for (x = 0; x < n; x++)
+    vec[x] *= scale;
+}
+
+void
+DSet(double *vec, int n, double value)
+{
+  int x; 
+  for (x = 0; x < n; x++)
+    vec[x] *= value;
+}
+void
+FSet(float *vec, int n, float value)
+{
+  int x; 
+  for (x = 0; x < n; x++)
+    vec[x] *= value;
+}
+
+double 
+DSum(double *vec, int n)
+{
+  double sum = 0.;
+  int    x;
+  for (x = 0; x < n; x++)
+    sum += vec[x];
+  return sum;
+}
+float 
+FSum(float *vec, int n)
+{
+  float sum = 0.;
+  int   x;
+  for (x = 0; x < n; x++)
+    sum += vec[x];
+  return sum;
+}
+
+/* Function: sre_random()
+ * 
+ * Purpose:  Return a uniform deviate from 0.0 to 1.0.
+ *           sre_randseed is a static variable, set
+ *           by sre_srandom(). sre_reseed is a static flag
+ *           raised by sre_srandom(), saying that we need
+ *           to re-initialize.
+ *           [0.0 <= x < 1.0]
+ *           
+ *           Uses a simple linear congruential generator with
+ *           period 2^28. Based on discussion in Robert Sedgewick's 
+ *           _Algorithms in C_, Addison-Wesley, 1990.
+ *
+ *           Requires that long int's have at least 32 bits.
+ *
+ * Reliable and portable, but slow. Benchmarks on wol,
+ * using IRIX cc and IRIX C library rand() and random():
+ *     sre_random():    0.8 usec/call
+ *     random():        0.3 usec/call
+ *     rand():          0.3 usec/call
+ */
+#define RANGE 268435456		/* 2^28        */
+#define DIV   16384		/* sqrt(RANGE) */
+#define MULT  72530821		/* my/Cathy's birthdays, x21, x even (Knuth)*/
+float 
+sre_random(void)
+{
+  static long  rnd;
+  static int   firsttime = 1;
+  long         high1, low1;
+  long         high2, low2; 
+
+  if (sre_reseed || firsttime) 
+    {
+      sre_reseed = firsttime = 0;
+      if (sre_randseed <= 0) sre_randseed = 666; /* seeds of zero break me */
+      high1 = sre_randseed / DIV;  low1  = sre_randseed % DIV;
+      high2 = MULT / DIV;          low2  = MULT % DIV;
+      rnd = (((high2*low1 + high1*low2) % DIV)*DIV + low1*low2) % RANGE;
+    }
+   high1 = rnd / DIV;  low1  = rnd % DIV;
+   high2 = MULT / DIV; low2  = MULT % DIV;
+   rnd = (((high2*low1 + high1*low2) % DIV)*DIV + low1*low2) % RANGE;
+
+   return ((float) rnd / (float) RANGE);  
+}
+#undef RANGE
+#undef DIV
+#undef MULT
+
+
+/* Function: sre_srandom()
+ * 
+ * Purpose:  Initialize with a random seed. Seed can be
+ *           any integer.
+ */
+void
+sre_srandom(int seed)
+{
+  if (seed < 0) seed = -1 * seed;
+  sre_reseed   = 1;
+  sre_randseed = seed;
+}
+
+
+/* Functions: DChoose(), FChoose()
+ *
+ * Purpose:   Make a random choice from a normalized distribution.
+ *            DChoose() is for double-precision vectors;
+ *            FChoose() is for single-precision float vectors.
+ *            Returns the number of the choice.
+ */
+int
+DChoose(double *p, int N)
+{
+  double roll;                  /* random fraction */
+  double sum;                   /* integrated prob */
+  int    i;                     /* counter over the probs */
+
+  roll    = sre_random();
+  sum     = 0.0;
+  for (i = 0; i < N; i++)
+    {
+      sum += p[i];
+      if (roll < sum) return i;
+    }
+  return (int) (sre_random() * N);   /* bulletproof */
+}
+int
+FChoose(float *p, int N)
+{
+  float roll;                   /* random fraction */
+  float sum;			/* integrated prob */
+  int   i;                      /* counter over the probs */
+
+  roll    = sre_random();
+  sum     = 0.0;
+  for (i = 0; i < N; i++)
+    {
+      sum += p[i];
+      if (roll < sum) return i;
+    }
+  return (int) (sre_random() * N);    /* bulletproof */
+}
+
+/* Functions: DLogSum(), FLogSum()
+ * 
+ * Calculate the sum of a log vector
+ * *in normal space*, and return the log of the sum.
+ */
+double 
+DLogSum(double *logp, int n)
+{
+  int x;
+  double max = -1.0e30;
+  double sum;
+  
+  for (x = 0; x < n; x++)
+    if (logp[x] > max) max = logp[x];
+  sum = 0.0;
+  for (x = 0; x < n; x++)
+    if (logp[x] > max - 50.)
+      sum += exp(logp[x] - max);
+  sum = log(sum) + max;
+  return sum;
+}
+float
+FLogSum(float *logp, int n)
+{
+  int x;
+  float max = -1.0e30;
+  float sum;
+  
+  for (x = 0; x < n; x++)
+    if (logp[x] > max) max = logp[x];
+  sum = 0.0;
+  for (x = 0; x < n; x++)
+    if (logp[x] > max - 50.)
+      sum += exp(logp[x] - max);
+  sum = log(sum) + max;
+  return sum;
+}
diff --git a/sre_string.c b/sre_string.c
new file mode 100644
index 0000000..34a5bc8
--- /dev/null
+++ b/sre_string.c
@@ -0,0 +1,236 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* sre_string.c
+ * 
+ * my library of extra string functions. Some for portability
+ * across UNIXes
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdarg.h>
+#include "gnuregex.h"
+#include "squid.h"
+
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+
+/* Obsolete. Anyone who doesn't have strstr() is
+ * not ANSI-compliant and must die.
+ */
+#ifdef NOSTR
+char  *strstr(char *s, char *subs)
+{
+  int  i;
+
+  for ( ; *s != 0; s++) {
+    if (*s == *subs) {
+      for (i = 1; subs[i] != 0 && subs[i] == s[i]; i++) ;
+      if (subs[i] == 0) return(s);
+      }
+    }
+  return (NULL);
+}
+#endif /* NOSTR */
+
+
+char *
+Strdup(char *s)
+{
+  char *new;
+  if ((new = (char *) malloc (strlen(s) +1)) == NULL) return NULL;
+  strcpy(new, s);
+  return new;
+}
+
+int
+Strinsert(char  *s1,            /* string to insert a char into  */
+	  char   c,		/* char to insert                */
+	  int    pos)		/* position in s1 to insert c at */
+{
+  char    oldc;
+  char   *s;
+
+  for (s = s1 + pos; c; s++)
+    {
+				/* swap current char for inserted one */
+      oldc = *s;		/* pick up current */
+      *s   = c;   		/* put down inserted one    */
+      c    = oldc;		/* old becomes next to insert */
+    }
+  *s = '\0';
+
+  return 1;
+}
+
+
+int
+Strdelete(char *s1,             /* string to delete a char from       */
+	  int   pos)		/* position of char to delete 0..n-1  */
+{
+  char *s;                      
+
+  for (s = s1 + pos; *s; s++)
+    *s = *(s + 1);
+
+  return 1;
+}
+
+void
+s2lower(char *s)
+{
+  for (; *s != '\0'; s++)
+    *s = sre_tolower((int) *s);
+}
+
+void
+s2upper(char *s)
+{
+  for (; *s != '\0'; s++)
+    *s = sre_toupper((int) *s);
+}
+
+
+void *
+MallocOrDie(size_t size)
+{
+  void *ptr;
+  if ((ptr = malloc (size)) == NULL)
+    Die("malloc failed");
+  return ptr;
+}
+
+void *
+ReallocOrDie(void *p, size_t size)
+{
+  void *ptr;
+  if ((ptr = realloc(p, size)) == NULL)
+    Die("realloc failed");
+  return ptr;
+}
+
+
+/* Function: Strparse()
+ * 
+ * Purpose:  Match a regexp to a string.
+ *           Return 0 if it matches, REG_NOMATCH if it doesn't.
+ *           The caller may request a copy of the text that matched by 
+ *           passing a non-NULL pointer to a string pointer.
+ *           The called may also request copies of the text that matched 
+ *           sub-regexps (parenthesized expressions) by passing
+ *           ntok > 0, and pointers to ntok different string pointers.
+ * 
+ *           Uses the GNU regexp library in extended POSIX compatibility
+ *           mode.
+ *           
+ *           I built this for ease of use, not speed nor efficiency.
+ *
+ * Example:  Strparse("foo-...-baz", "foo-bar-baz", NULL, 0)  returns 0
+ *           Strparse("foo-\(...\)-baz", "foo-bar-baz", &buf1, 1, &buf2) 
+ *              returns 0, copies "foo-bar-baz" into buf1, and "bar" 
+ *              into buf2.
+ *              
+ * Args:     rexp  - regular expression, extended POSIX form
+ *           s     - string to match against
+ *           buf   - if non-NULL, where to put copy of matching text
+ *           ntok  - number of sub-regexps returned.
+ *           ...   - variable number of pointers to strings to keep
+ *                   copies of matched subtexts
+ *                   
+ * Return:   0 on match, REG_NOMATCH on failure to match
+ *           buf and the ptrs in varargs list are malloc'ed here,
+ *           must be free'd by caller.
+ */
+int
+Strparse(char *rexp, char *s, char **buf, int ntok, ...)
+{
+  va_list     ap;
+  regex_t     pat;
+  int         code;
+  regmatch_t *pmatch;
+  char      **sp;
+  int         len;
+  int         i;
+
+  code = regcomp(&pat, rexp, REG_EXTENDED);
+  if (code > 0) {
+    fprintf(stderr, "regular expression compilation failed\n");
+    exit(1);
+  }
+
+  if ((pmatch = (regmatch_t *) malloc (sizeof(regmatch_t) * (ntok+1))) == NULL) {
+    fprintf(stderr, "malloc failed\n");
+    exit(1);
+  }
+
+  code = regexec(&pat, s, ntok+1, pmatch, 0);
+  if (code == 0) {
+				/* make copy of full matched text */
+    if (buf != NULL) {
+      len = pmatch[0].rm_eo - pmatch[0].rm_so;
+      if ((*buf = (char *) malloc(sizeof(char) * (len+1))) == NULL) {
+	fprintf(stderr, "malloc failed\n");
+	exit(1);
+      }
+      strncpy(*buf, s+pmatch[0].rm_so, len);
+      (*buf)[len] = '\0';
+    }
+				/* make copies of subtexts */
+    if (ntok > 0) {
+      va_start(ap, ntok);
+      for (i = 1; i <= ntok; i++) {
+	sp = va_arg(ap, char **);
+	len = pmatch[i].rm_eo - pmatch[i].rm_so;
+	if ((*sp = (char *) malloc(sizeof(char) * (len+1))) == NULL) {
+	  fprintf(stderr, "malloc failed\n");
+	  exit(1);
+	}
+	strncpy(*sp, s+pmatch[i].rm_so, len);
+	(*sp)[len] = '\0';
+      }
+    }
+  }
+
+  va_end(ap);
+  free(pmatch);
+  regfree(&pat);
+  return code;
+}
+
+
+/* Function: StrShuffle()
+ * 
+ * Purpose:  Returns a shuffled version of s2, in s1.
+ *  
+ * Args:     s1 - allocated space for shuffled string.
+ *           s2 - string to shuffle.
+ *           
+ * Return:   void
+ */
+void
+StrShuffle(char *s1, char *s2)
+{
+  int  len;
+  int  pos;
+  char c;
+  
+  strcpy(s1, s2);
+  for (len = strlen(s1); len > 1; len--)
+    {				
+      pos       = CHOOSE(len);
+      c         = s1[pos];
+      s1[pos]   = s1[len-1];
+      s1[len-1] = c;
+    }
+}
+  
diff --git a/sstofa.pl b/sstofa.pl
new file mode 100644
index 0000000..e8fc889
--- /dev/null
+++ b/sstofa.pl
@@ -0,0 +1,62 @@
+#! /usr/bin/perl
+
+
+if ($#ARGV < 0) {
+    die "\nConvert secondary structure file to fasta format\n",
+	"\nUsage: sstofa <sec struct file>\n\n";
+}				
+
+$ss_file = shift;
+
+open (SSFILE, $ss_file) || die "Couldn't find $ss_file\n";
+open(SEQFILE,">-");
+$ct = 0;
+
+while ($line = <SSFILE>) {
+    if ($line =~ /^(\S+)\s+(\(\d+\-\d+\))\s+Length:\s(\d+)\sbp/) {
+	$SeqName = $1;
+	$bounds = $2;
+	$SeqLen = $3;
+    }
+    elsif ($line =~ /^Type:\s(\S+)\s+Anticodon:\s(\S+).+Score:\s(\S+)/) {
+	$isotype = $1;
+	$ac = $2;
+	$SeqName .= "-".$isotype.$ac;
+	$score = $3;
+	$SeqDescription = "$bounds  $isotype ($ac) $SeqLen bp  Sc: $score";
+    }
+    elsif ($line =~ /pseudogene/) {
+	$SeqDescription .= "  Pseudo";
+    }
+    elsif ($line =~ /^Seq:\s(\S+)$/) {
+	$Seq = $1;
+	&write_fasta($SeqName,$SeqDescription,length($Seq),
+		     uc($Seq),SEQFILE);
+	$SeqName = "";
+	$bounds = "";
+	$SeqLen = 0;
+	$isotype = "";
+	$ac = "";
+	$score = 0.0;
+	$SeqDescription = "";
+	$Seq = "";
+    }
+}
+
+
+
+# End Main   
+    
+sub write_fasta {
+    local($name, $description, $length, $sequence,*FAHANDLE) = @_;
+    local($pos, $line);
+
+    print FAHANDLE ">$name $description\n"; 
+    for ($pos = 0; $pos < $length; $pos += 60)
+    {
+	$line = substr($sequence,$pos,60);
+	print FAHANDLE $line, "\n";
+    }
+    1;
+}
+	
diff --git a/stack.c b/stack.c
new file mode 100644
index 0000000..28e2d85
--- /dev/null
+++ b/stack.c
@@ -0,0 +1,101 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* stack.c
+ * SRE, Thu Mar  3 10:08:48 1994
+ * 
+ * Implementation of generic stack structures.
+ */
+
+#include <stdlib.h>
+#include "squid.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+
+/************************************************************
+ * intstack_s implementation.
+ * 
+ * Functions: InitIntStack() - returns ptr to new stack
+ *            PushIntStack() - (void)
+ *            PopIntStack()  - returns 1 on success, 0 if stack empty
+ *            FreeIntStack() - returns number of elements free'd, or 0 if 
+ *                             stack was empty.
+ *            
+ * Implementation of the pushdown stack for storing single
+ * integers.
+ *************************************************************/  
+struct intstack_s *
+InitIntStack(void)
+{
+  struct intstack_s *stack;
+
+  if ((stack = (struct intstack_s *) malloc (sizeof(struct intstack_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  stack->nxt = NULL;
+  return stack;
+}
+void 
+PushIntStack(struct intstack_s *stack, int data)
+{
+  struct intstack_s *new;
+
+  if ((new = (struct intstack_s *) malloc (sizeof(struct intstack_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  new->data = data;
+
+  new->nxt     = stack->nxt;
+  stack->nxt   = new;
+}
+
+int
+PopIntStack(struct intstack_s  *stack, int *ret_data)
+{
+  struct intstack_s *old;
+
+  if (stack->nxt == NULL) return 0;
+
+  old = stack->nxt;
+  stack->nxt = old->nxt;
+
+  *ret_data = old->data;
+  free(old); 
+  return 1;
+}
+
+void
+ReverseIntStack(struct intstack_s *stack)
+{
+  struct intstack_s *old;
+  struct intstack_s *new;
+
+  old        = stack->nxt;
+  stack->nxt = NULL;
+  while (old != NULL)
+    {
+      new        = old;		/* remove one from top of old stack */
+      old        = old->nxt;
+      new->nxt   = stack->nxt;  /* push it onto new stack */
+      stack->nxt = new;
+    }
+}
+
+int
+FreeIntStack( struct intstack_s *stack )
+{
+  int data;
+  int count = 0;
+
+  while (PopIntStack(stack, &data))
+    count++;
+  free(stack);
+  return count;
+}
diff --git a/structcheck_main.c b/structcheck_main.c
new file mode 100644
index 0000000..6804611
--- /dev/null
+++ b/structcheck_main.c
@@ -0,0 +1,408 @@
+/* structcheck_main.c
+ * SRE, Mon Dec 20 07:48:07 1993
+ * 
+ * Check a set of individual RNA structures for non-Watson-Crick
+ * or GU base pairs. Keep statistics on the number of such "errors" found 
+ * overall and per sequence. Convert the offending base pairs to "*"
+ * characters in the structure string and print out the structures
+ * and sequences.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+
+#ifdef NEED_GETOPTH
+#include <getopt.h>
+#endif
+
+#include "structs.h"
+#include "funcs.h"
+#include "squid.h" 
+#include "version.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+#define OPTIONS "hmo:psu"
+
+static char usage[]  = "\
+Usage: structcheck [-options] <SELEX RNA alignment file>\n\
+where options are:\n\
+   -h        : print short help and usage info\n\
+   -m        : only check for more possible base pairs\n\
+   -o <file> : save flagged structure annotation alignment to <file>\n\
+   -p        : only check for non-Watson-Crick pair assignments\n\
+   -s        : only check for agreement with consensus structure\n\
+   -u        : only check for upper-case structured positions\n";
+
+static char banner[] = "structcheck: check RNA secondary structures, flag questionables";
+
+extern int VerifyKHS(char *ss);
+
+int
+main(int argc, char **argv)
+{ 
+  char     **aseqs;             /* RNA sequences           */
+  AINFO      ainfo;             /* misc. associated alignment info */
+  int        nseq;		/* number of seqs               */ 
+  char      *seqfile;           /* sequence file                */
+  int        idx;		/* index for sequences          */
+  int        pos;		/* position index in a seq      */
+  int       *ct;                /* CT0 representation of a structure */
+  int        badseq;		/* number of bad structures     */
+  int        badpairs;		/* total bad base pairs         */
+  int        pairs;		/* total base pairs             */
+  int        is_bad_seq;
+  int        structure_agrees;  /* TRUE if consensus and secondary structure are same */
+  int        nonconsensus;      /* count seqs w/ differing cons/indiv ss assignments */
+  int        noncons_positions; /* count of pos w/ differing cons/indiv ss assignments */
+  int        npos;		/* number of non-gap positions  */
+  int        has_morepairs;     /* TRUE if more base pairs are possible than indicated in ss */
+  int        morepairs;		/* how many more pairs should've been made in alignment */
+  int        morepair_seqs;	/* how many seqs should've had more pairs made in them */
+  int        badupper_seqs;
+  int        badupper_bases;
+  int        has_badupper;
+  char      *ss;                /* aligned secondary structure string */
+  
+  char      *outfile;	        /* save flagged annotated alignment to */
+  FILE      *ofp;		/* open outfile for writing            */
+  int        check_pairs;	/* if TRUE, check that pairs are complementary */
+  int        check_consensus;	/* if TRUE, compare indiv structs against consensus */
+  int        check_morepairs;   /* if TRUE, check for more obvious base-pairing in ss */    
+  int        check_isupper;     /* if TRUE, check structured pos's are upper, single-s is lower */
+
+  int          optc;		/* for getopt() */
+  extern char *optarg;          /* for getopt() */
+  extern int   optind;		/* for getopt() */
+
+#ifdef MEMDEBUG			/* for Cahill's dbmalloc */
+  unsigned long histid1, histid2, orig_size, current_size;
+#endif
+
+  /*********************************************** 
+   * Parse command line
+   ***********************************************/
+
+  outfile         = NULL;
+  check_pairs     = FALSE;
+  check_consensus = FALSE;
+  check_morepairs = FALSE;
+  check_isupper   = FALSE;
+
+  while ((optc = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optc) {
+
+
+    case 'o': outfile         = optarg; break;
+    case 'm': check_morepairs = TRUE;   break;
+    case 'p': check_pairs     = TRUE;   break;
+    case 's': check_consensus = TRUE;   break;
+    case 'u': check_isupper   = TRUE;   break;
+    case 'h': 
+      printf("%s\n  version %s (%s)\n%s", banner, RELEASE, RELEASEDATE, usage);
+      exit(0);
+
+    default:
+      Die("%s", usage);
+    }
+
+				/* Default behaviour if we're not doing a single thing */
+  if (! check_morepairs && 
+      ! check_pairs     &&
+      ! check_consensus &&
+      ! check_isupper)
+    { 
+      check_morepairs = TRUE;
+      check_pairs     = TRUE;
+      check_consensus = TRUE;
+      check_isupper   = FALSE;	/* did this only for SRP-RNA alignment */
+    }
+
+  if (argc - optind != 1)
+    Die("Wrong number of command line arguments.\n%s\n", usage);
+  
+  seqfile = argv[argc-1]; 
+
+#ifdef MEMDEBUG
+  orig_size = malloc_size(&histid1);
+#endif
+
+  /*********************************************** 
+   * Get sequence data 
+   ***********************************************/
+
+				/* read the training seqs from file */
+  if (! ReadSELEX(seqfile, &aseqs, &nseq, &ainfo))
+    Die("Failed to read aligned sequence file %s", seqfile);
+  
+  for (idx = 0; idx < nseq; idx++)
+    if (ainfo.sqinfo[idx].flags & SQINFO_SS) break;
+  if (idx == nseq)
+    Die("No secondary structure info in sequence file %s", seqfile);
+
+  if ( check_consensus == TRUE && !(ainfo.flags & AINFO_CS))
+    {
+      check_consensus = FALSE;
+      Warn("No consensus structure in %s; can't check against it", seqfile);
+    }
+
+  /*********************************************** 
+   * Print banner
+   ***********************************************/
+
+  puts(banner);
+  printf("     release %s, %s\n", RELEASE, RELEASEDATE);
+  printf("---------------------------------------------------\n");
+  puts("");
+
+  
+  badpairs = pairs = badseq = 0;
+  nonconsensus = npos = noncons_positions = 0;
+  morepairs = morepair_seqs = 0;
+  badupper_seqs = badupper_bases = 0;
+  for (idx = 0; idx < nseq; idx++)
+    {
+      if (! (ainfo.sqinfo[idx].flags & SQINFO_SS)) continue;
+
+      /* Make an aligned secondary structure string for our tests
+       */
+      MakeAlignedString(aseqs[idx], ainfo.alen, ainfo.sqinfo[idx].ss, &ss);
+
+      /* Get a ct structure to do the other tests
+       */
+
+      if (! KHS2ct(ss, ainfo.sqinfo[idx].len, FALSE, &ct))
+	{
+	  printf("sequence %-10.10s (#%d) has an improper secondary structure\n",
+		 ainfo.sqinfo[idx].name, idx);
+	  free(ct);
+	  ct = NULL;
+	  VerifyKHS(ss);
+	}  
+		 
+      /* Check if structured positions are upper-case and unstructured 
+       * positions are not. I used this for checking the SRP-RNA alignment
+       * of Larsen and Zwieb, and it may come in handy later too.
+       */
+      if (check_isupper)
+	{
+	  has_badupper = FALSE;
+	  for (pos = 0; pos < ainfo.alen; pos++)
+	    {
+	      if (isgap(aseqs[idx][pos])) continue;
+	      if ( (ss[pos] == '.'  && ! islower(aseqs[idx][pos])) ||
+		   (ss[pos] != '.'  && ! isupper(aseqs[idx][pos])) )
+		{
+		  has_badupper = TRUE;
+		  badupper_bases++;
+		  ss[pos] = '*';
+		}
+	    }
+	  if (has_badupper)
+	    badupper_seqs++;
+	}
+
+      /* Test for non-Watson-Crick base pairs
+       */
+      if (check_pairs && ct != NULL)
+	{
+	  is_bad_seq = False;
+	  for (pos = 0; pos < ainfo.alen; pos++)
+				/* second test makes sure we only look at
+				 * each bp once */
+	    if (ct[pos] != -1 && pos < ct[pos])
+	      {
+		pairs++;
+		if (! IsRNAComplement(aseqs[idx][pos], aseqs[idx][ct[pos]], TRUE))
+		  {
+		    ss[pos] = ss[ct[pos]] = '*';
+		    is_bad_seq = True;
+		    badpairs++;
+		  }
+	      }
+	  if (is_bad_seq) badseq++;
+	}
+
+      /* Test for disagreement with consensus structure
+       */
+      if (check_consensus)
+	{
+	  structure_agrees = True;
+	  for (pos = 0; pos < ainfo.alen; pos++)
+	    {
+	      if (isgap(aseqs[idx][pos])) continue;
+	      npos++;
+	      if (ss[pos] != ainfo.cs[pos] )
+		{
+		  structure_agrees = False;
+		  ss[pos] = '*';
+		  noncons_positions++;
+		}
+	    }
+	  if (! structure_agrees) nonconsensus++;
+	}
+
+
+      /* Test for whether more pairs are obviously possible in the structure.
+       * *Very* crude. For each base pair i,j, if (i-1,j+1) or 
+       * (i+1,j-1) are unpaired but complementary, flag them. This is *not*
+       * a full-blown structure optimization algorithm (such a thing 
+       * is possible, but would require dynamic programming), but it should
+       * flag most suspicious spots.
+       */
+      if (check_morepairs && ct != NULL)
+	{
+	  has_morepairs = FALSE;
+	  for (pos = 0; pos < ainfo.alen; pos++)
+				/* second test makes sure we only look at
+				 * each bp once */
+	    if (ct[pos] != -1 && pos < ct[pos])
+	      {
+				/* check i-1,j+1 pair; careful of ends */
+		if (pos > 0 && ct[pos] < ainfo.alen &&
+		    ct[pos-1] == -1 && ct[ct[pos]+1] == -1 &&
+		    IsRNAComplement(aseqs[idx][pos-1], aseqs[idx][ct[pos]+1], TRUE))
+		  {
+		    has_morepairs = TRUE;
+		    morepairs++;
+		    ss[pos-1] = ss[ct[pos]+1] = '*';
+		  }
+		    
+				/* check i+1,j-1 pair; don't need to worry about ends */
+		if (ct[pos+1] == -1 && ct[ct[pos]-1] == -1 &&
+		    IsRNAComplement(aseqs[idx][pos+1], aseqs[idx][ct[pos]-1], TRUE))
+		  {
+		    has_morepairs = TRUE;
+		    morepairs++;
+		    ss[pos+1] = ss[ct[pos]-1] = '*';
+		  }
+	      }
+	  if (has_morepairs) morepair_seqs++;
+	}
+      free(ct);
+
+      /* Convert aligned ss back to dealigned ss
+       */
+      free(ainfo.sqinfo[idx].ss);
+      MakeDealignedString(aseqs[idx], ainfo.alen, ss, &(ainfo.sqinfo[idx].ss));
+      free(ss);
+    }
+
+  if (outfile == NULL)
+    {
+      if (! WriteSELEX(stdout, aseqs, nseq, &ainfo, 60))
+	Die("Failed to write alignment to stdout");
+    }
+  else
+    {
+      if ((ofp = fopen(outfile, "w")) == NULL)
+	Die("Failed to open flagged annotated alignment file %s", outfile);
+      if (! WriteSELEX(ofp, aseqs, nseq, &ainfo, 60))
+	Die("Failed to write alignment to %s", outfile);
+      fclose(ofp);
+      printf("Wrote flagged annotated alignment file to %s\n", outfile);
+    }
+
+  if (check_pairs)
+    {
+      printf("\nComplementarity check:\n");
+      printf("%d/%d structures contain non-Watson-Crick, non-GU pairs\n", badseq, nseq);
+      printf("%d/%d base pairs are questionable\n", badpairs, pairs);
+    }
+  if (check_consensus)
+    {
+      printf("\nConsensus structure check:\n");
+      printf("%d/%d structures disagree with consensus\n", nonconsensus, nseq);
+      printf("%d/%d non-gap sequence positions disagree\n", noncons_positions, npos);
+    }
+  if (check_morepairs)
+    {
+      printf("\nAdditional structure check:\n");
+      printf("%d/%d structures have obvious additional pairings\n", morepair_seqs, nseq);
+      printf("%d additional base pairs are predicted\n", morepairs);
+    }
+  if (check_isupper)
+    {
+      printf("\nCheck that structured positions are upper case:\n");
+      printf("%d/%d structures have conflicts\n", badupper_seqs, nseq);
+      printf("%d conflicts are detected\n", badupper_bases);
+    }
+
+  FreeAlignment(aseqs, nseq, &ainfo);
+
+#ifdef MEMDEBUG
+  current_size = malloc_size(&histid2);
+  if (current_size != orig_size) malloc_list(2, histid1, histid2);
+  else                           fprintf(stderr, "No memory leaks, sir.\n");
+#endif
+
+  return 0;
+}
+
+
+/* Function: VerifyKHS()
+ * 
+ * Purpose:  Examine a bad structure string and print out diagnostics 
+ *           about it.
+ *
+ * Return:   1 if string is OK, 0 if string is bad.
+ */
+int
+VerifyKHS(char *ss)
+{
+  int symcount[27];		/* 0 is normal pairs. 1-26 for pseudoknots */
+  int i;
+  int pos;
+  int status = 1;
+
+  for (i = 0; i < 27; i++)
+    symcount[i] = 0;
+
+  for (pos = 0; ss[pos] != '\0'; pos++)
+    {
+      if (ss[pos] > 127)	/* evade SGI ctype.h islower(), isupper() bug */
+	{
+	  status = 0;
+	  fprintf(stderr, "  structure has garbage symbol (val %d) at position %d\n",
+		  (int) ss[pos], pos);
+	}
+      else if (ss[pos] == '>')
+	symcount[0] ++;
+      else if (ss[pos] == '<')
+	symcount[0] --;
+      else if (isupper((int) ss[pos]))
+	symcount[ss[pos] - 'A' + 1] ++;
+      else if (islower((int) ss[pos]))
+	symcount[ss[pos] - 'a' + 1] --;
+      else if (ss[pos] != '.')
+	{
+	  status = 0;
+	  fprintf(stderr, "  structure has invalid symbol %c at position %d\n",
+		  ss[pos], pos);
+	}
+	  
+    }
+      
+  if (symcount[0] != 0)
+    {
+      status = 0;
+      fprintf(stderr, "  structure has extra paired bases: %d on %s\n",
+	      abs(symcount[0]), 
+	      (symcount[0] > 0) ? "left" : "right");
+    }
+
+  for (i = 1; i < 27; i++)
+    if (symcount[i] != 0)
+      {
+	status = 0;
+	fprintf(stderr, "  structure has extra paired bases for pseudoknot %c: %d on %s\n",
+		(char) (i + 'A' - 1),
+		abs(symcount[i]), 
+		(symcount[i] > 0) ? "left" : "right");
+      }
+  return status;
+}
+  
diff --git a/structs.c b/structs.c
new file mode 100644
index 0000000..177c033
--- /dev/null
+++ b/structs.c
@@ -0,0 +1,332 @@
+/* structs.c
+ * 1.0: SRE, Tue Jul  6 18:52:34 1993
+ * 2.0: SRE, Thu Sep  9 14:19:19 1993
+ *
+ * Boring stuff which had better be flawless. 
+ * 
+ * Implementation of data structures. Includes
+ * various pushdown stacks used for traversing model trees and
+ * traceback trees, and linked lists used for collapsing trees
+ * into linear alignments/strings.
+ * 
+ * Stacks have dummy start states. The end is just a NULL
+ * pointer off the last state in the stack.
+ * 
+ * Linked lists have dummy start and end states, to facilitate
+ * insertion and deletion.
+ *
+ * Pop functions only return values when the passed pointers
+ * are non-NULL, so you can ask for whatever fields you want.
+ *
+ * For implementation of traceback tree structures, see trace.c.
+ * For implementation of model structures, see model.c.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+
+/* Function: StatetypeIndex()
+ * 
+ * Purpose:  Convert a unique statetype identifier to a valid
+ *           array index
+ */
+int
+StatetypeIndex(int type)
+{
+  switch (type) {
+  case uBEGIN_ST:  return BEGIN_ST;
+  case uBIFURC_ST: return BIFURC_ST;
+  case uDEL_ST:    return DEL_ST;
+  case uEND_ST:    return END_ST;
+  case uMATP_ST:   return MATP_ST;
+  case uMATL_ST:   return MATL_ST;
+  case uMATR_ST:   return MATR_ST;
+  case uINSR_ST:   return INSR_ST;
+  case uINSL_ST:   return INSL_ST;
+
+  default: Die("no such state, %d", type);
+  }
+ /*NOTREACHED*/
+  return 0;
+}
+
+/* Function: UniqueStatetype()
+ * 
+ * Purpose: Convert an array index statetype into a unique statetype,
+ *          using the additional information of what kind of node
+ *          the state is from.
+ */
+int 
+UniqueStatetype(int nodetype, int stidx)
+{
+  switch (stidx) {
+  case DEL_ST:
+    switch (nodetype) {
+    case -1:          return uEND_ST;
+    case BIFURC_NODE: return uBIFURC_ST;
+    case BEGINL_NODE:
+    case BEGINR_NODE: return uBEGIN_ST;
+    default:          return uDEL_ST;
+    }
+  case MATP_ST:   return uMATP_ST;
+  case MATL_ST:   return uMATL_ST;
+  case MATR_ST:   return uMATR_ST;
+  case INSR_ST:   return uINSR_ST;
+  case INSL_ST:   return uINSL_ST;
+  default: Die("no such state index %d", stidx);
+  }
+  /*NOTREACHED*/
+  return 0;
+}
+
+
+
+/************************************************************
+ * m2ali_s implementation.
+ * 
+ * Functions: Init_m2ali()
+ *            Push_m2ali()
+ *            Pop_m2ali()
+ *            Free_m2ali()
+ *            
+ * Implementation of the pushdown stack for traversing a model
+ * and producing an alignment as a linked list of align_s
+ * structures. Must keep track of a current node in the model
+ * tree (stateidx, subtype) and a current insertion point in
+ * the alignment (insafter)
+ *************************************************************/           
+struct m2ali_s *
+Init_m2ali(void)
+{
+  struct m2ali_s *stack;
+
+  if ((stack = (struct m2ali_s *) malloc (sizeof(struct m2ali_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  stack->nxt = NULL;
+  return stack;
+}
+
+void 
+Push_m2ali(struct m2ali_s      *stack,
+	   int                  nodeidx,
+	   int                  type,
+	   struct align_s      *after)
+{
+  struct m2ali_s *new;
+
+  if ((new = (struct m2ali_s *) malloc (sizeof(struct m2ali_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  new->nodeidx= nodeidx;
+  new->type   = type;
+  new->after   = after;
+
+  new->nxt     = stack->nxt;
+  stack->nxt   = new;
+}
+int
+Pop_m2ali(struct m2ali_s   *stack,
+	  int              *ret_nodeidx,
+	  int              *ret_type,
+	  struct align_s  **ret_after)
+{
+  struct m2ali_s *old;
+
+  if (stack->nxt == NULL)
+    return 0;
+
+  old = stack->nxt;
+  stack->nxt = old->nxt;
+
+  if (ret_nodeidx != NULL) *ret_nodeidx = old->nodeidx;
+  if (ret_type    != NULL) *ret_type    = old->type;
+  if (ret_after   != NULL) *ret_after   = old->after;
+  free(old);
+  return 1;
+}
+
+void
+Free_m2ali( struct m2ali_s *stack )
+{
+  while (Pop_m2ali(stack, (int *) NULL, (int *) NULL, (struct align_s **) NULL))
+    ;
+  free(stack);
+}
+
+
+
+/***************************************************************
+ * t2ali_s implementation.
+ * 
+ * Functions: Init_t2ali()
+ *            Push_t2ali()
+ *            Pop_t2ali()
+ *            Free_t2ali()
+ *            
+ * Implementation of the pushdown stack for traversing a traceback 
+ * and producing a linked list of align_s structures.          
+ ****************************************************************/
+
+struct t2ali_s *
+Init_t2ali(void)
+{
+  struct t2ali_s *stack;
+
+  if ((stack = (struct t2ali_s *) malloc (sizeof(struct t2ali_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  stack->nxt = NULL;
+  return stack;
+}
+
+void 
+Push_t2ali(struct t2ali_s      *stack,
+	   struct trace_s      *tracenode,
+	   struct align_s      *after)
+{
+  struct t2ali_s *new;
+
+  if ((new = (struct t2ali_s *) malloc (sizeof(struct t2ali_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  new->tracenode = tracenode;
+  new->after     = after;
+
+  new->nxt       = stack->nxt;
+  stack->nxt     = new;
+}
+
+int
+Pop_t2ali(struct t2ali_s   *stack,
+	  struct trace_s  **ret_tracenode,
+	  struct align_s  **ret_after)
+{
+  struct t2ali_s *old;
+
+  if (stack->nxt == NULL)
+    return 0;
+
+  old = stack->nxt;
+  stack->nxt = old->nxt;
+
+  if (ret_tracenode != NULL) *ret_tracenode = old->tracenode;
+  if (ret_after     != NULL) *ret_after     = old->after;
+  free(old);
+  return 1;
+}
+
+void
+Free_t2ali( struct t2ali_s *stack )
+{
+  while (Pop_t2ali(stack, (struct trace_s **) NULL, (struct align_s **) NULL))
+    ;
+  free(stack);
+}
+
+
+
+
+/************************************************************
+ * align_s implementation
+ * 
+ * Functions:  Init_align()
+ *             Insafter_align()
+ *             Free_align()
+ *             Print_align()
+ * 
+ * Implementation of a forward-linked list for alignment of 
+ * a model to a sequence.
+ ************************************************************/
+
+struct align_s *
+Init_align(void)
+{
+  struct align_s *head;
+  struct align_s *tail;
+
+  if ((head = (struct align_s *) malloc (sizeof(struct align_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  if ((tail = (struct align_s *) malloc (sizeof(struct align_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+
+  head->sym = tail->sym = ' ';
+  head->ss  = tail->ss  = ' ';
+  head->pos = tail->pos = -1;
+  head->nodeidx = tail->nodeidx = -1;
+  head->type  = tail->type  = -1;
+  head->nxt = tail;
+  tail->nxt = NULL;
+  return head;
+}
+
+struct align_s * 
+Insafter_align(int              pos,
+	       char             sym,     /* ACGU base character               */
+	       char             ss,      /* <.> secondary structure character */
+	       int              nodeidx,
+	       int              type,
+	       struct align_s  *after)
+{
+  struct align_s *new;
+
+  if ((new = (struct align_s *) malloc (sizeof(struct align_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+    
+  new->pos     = pos;
+  new->sym     = sym;
+  new->ss      = ss;
+  new->nodeidx = nodeidx;
+  new->type    = type;
+
+  new->nxt     = after->nxt;
+  after->nxt   = new;
+
+  return new;
+}
+
+void
+Delafter_align(struct align_s *after)
+{
+  struct align_s *old;
+
+  old = after->nxt;
+  after->nxt = old->nxt;
+  free(old);
+}
+
+void
+Free_align(struct align_s *head)
+{
+  struct align_s *old;
+
+  while (head != NULL)
+    {
+      old  = head;
+      head = head->nxt;
+      free(old);
+    }
+}
+
+#ifdef DEBUG
+void
+Print_align(struct align_s *head)
+{
+  struct align_s *curr;
+
+  for (curr = head->nxt; curr->nxt != NULL; curr = curr->nxt)
+    fprintf(stderr, "%2d %c %c %2d %2d\n", 
+	    curr->pos,
+	    curr->sym,
+	    curr->ss,
+	    curr->nodeidx,
+	    curr->type);
+}
+#endif /* DEBUG */
+
+
+
diff --git a/structs.h b/structs.h
new file mode 100644
index 0000000..41609ea
--- /dev/null
+++ b/structs.h
@@ -0,0 +1,242 @@
+#ifndef STRUCTSH_INCLUDED
+#define STRUCTSH_INCLUDED
+/* structs.h - declarations of data structures
+ * SRE, Tue Aug 31 15:17:12 1993
+ */
+#include "squid.h"
+
+/* Alphabet information.
+ * The package is designed to be configurable for protein analysis
+ * just by changing these define's. Dunno if it would be *useful*
+ * to apply it to protein work -- but the possibility's there.
+ */
+#define ALPHATYPE   kRNA
+#define ALPHASIZE   4
+extern char *ALPHABET;		/* defined at top of misc.c */
+
+/* 
+ * Node types.
+ * These are used for clarity in the code, not to make it easy
+ * to change them: the program makes assumptions about the order
+ * they come in, so DON'T CHANGE THESE.
+ *
+ * Specifically, the following assumptions are made:
+ *  - that they come in *exactly* this order (static state transition array in prior.h)
+ *  - that BIFURC, MATP, MATL, MATR are all less than 4 
+ *       (second index, prior.h; also some loops in maxmodelmaker.c)
+ *  - ROOT is last (indexing of scores of mmx model construction matrix, maxmodelmaker.c)
+ */
+#define BIFURC_NODE 0
+#define MATP_NODE   1
+#define MATL_NODE   2
+#define MATR_NODE   3
+#define BEGINL_NODE 4		
+#define BEGINR_NODE 5
+#define ROOT_NODE   6		
+#define NODETYPES   7		/* number of different node types  */
+
+#define END_NODE    BIFURC_NODE
+
+/* 
+ * State types.
+ * These are used for clarity in the code, not to make it easy
+ * to change them: the program makes assumptions about the order
+ * they come in, so DON'T CHANGE THESE.
+ */
+#define DEL_ST         0
+#define MATP_ST        1
+#define MATL_ST        2
+#define MATR_ST        3
+#define INSL_ST        4
+#define INSR_ST        5
+#define STATETYPES     6	/* MATP nodes contain 6 states */
+
+#define BEGIN_ST       DEL_ST
+#define BIFURC_ST      DEL_ST
+#define END_ST         DEL_ST
+
+/* Unique identifiers for state types, used as flags not indexes
+ * in the alignment algorithms.
+ */
+#define uDEL_ST     (1<<0)
+#define uMATP_ST    (1<<1)
+#define uMATL_ST    (1<<2)
+#define uMATR_ST    (1<<3)
+#define uINSL_ST    (1<<4) 
+#define uINSR_ST    (1<<5)
+#define uBEGIN_ST   (1<<6)
+#define uEND_ST     (1<<7)
+#define uBIFURC_ST  (1<<8)
+
+
+/* Structure: node_s
+ * 
+ * Purpose:   Contains all the information necessary to describe a node.
+ */
+struct node_s {
+  int  type;
+
+  double tmx[STATETYPES][STATETYPES];	 /* up to 49 transition probs */
+  double mp_emit[ALPHASIZE][ALPHASIZE];  /* 4x4 MATP emission probs   */
+  double il_emit[ALPHASIZE];             /* 4 INSL emission probs     */
+  double ir_emit[ALPHASIZE];             /* 4 INSR emission probs     */
+  double ml_emit[ALPHASIZE];             /* 4 MATL emission probs     */
+  double mr_emit[ALPHASIZE];             /* 4 MATR emission probs     */
+
+  int nxt;			/* connection to left child */
+  int nxt2;                     /* connection to right child */
+};
+
+
+
+/* Structure: cm_s
+ * 
+ * Purpose:   A covariance model.
+ */
+struct cm_s {
+  int nodes;			/* number of nodes  */
+  struct node_s *nd;            /* array of nodes 0..nodes-1 */
+};
+
+
+/* Structure: istate_s
+ * 
+ * In the alignment algorithms, a CM is converted to an array of states, 
+ * each represented by one of these structures. Each state contains 
+ * probability info as integers instead of floating point.
+ * 
+ * The order of the state transition vector is different than in
+ * the CM. INSL and INSR are first: INSL, INSR, DEL, MATP, MATL, MATR.
+ */ 
+struct istate_s {
+  int   nodeidx;		/* index of node this state belongs to        */
+  int   statetype;		/* unique id for type of this state (uMATP_ST, etc.) */
+  int   offset;			/* offset in state array to first INS state   */
+  int   connectnum;		/* number of elements in tmx                  */
+  int   tmx[STATETYPES];	/* rearranged transition vector, int log-odds */
+  int   emit[ALPHASIZE*ALPHASIZE]; /* int lod emission vector (4 or 16) or NULL  */
+};
+
+struct pstate_s {
+  int   nodeidx;		/* index of node this state belongs to        */
+  int   statetype;		/* unique id for type of this state (uMATP_ST, etc.) */
+  int   offset;			/* offset in state array to first INS state   */
+  int   connectnum;		/* number of elements in tmx                  */
+  int   bifr;			/* (uBIF_ST only) index of right connection   */
+  double tmx[STATETYPES];	/* rearranged transition vector               */
+  double emit[ALPHASIZE*ALPHASIZE]; /* emission vector (4 or 16) or NULL       */
+};
+
+
+
+/* Structure: prior_s
+ * 
+ * Purpose:   Contains the prior probability distributions for
+ *            state transitions and symbol emissions, as well
+ *            as the alpha "confidence" values applied during
+ *            regularization, and alphabet information.
+ */
+struct prior_s {
+  double tprior[7][4][STATETYPES][STATETYPES];	/* state transitions  */
+  double matp_prior[ALPHASIZE][ALPHASIZE];      /* MATP_ST emissions  */
+  double matl_prior[ALPHASIZE];                 /* MATL_ST emissions  */
+  double matr_prior[ALPHASIZE];                 /* MATR_ST emissions  */
+  double insl_prior[ALPHASIZE];                 /* INSL_ST emissions  */
+  double insr_prior[ALPHASIZE];                 /* INSR_ST emissions  */
+
+  double talpha[STATETYPES];	/* alpha's for state transitions      */
+  double emalpha[STATETYPES];   /* alpha's for symbol emissions       */
+
+  double rfreq[ALPHASIZE];	/* background symbol freqs for random model */
+};
+
+  
+
+/* Structure: trace_s
+ * 
+ * Binary tree structure for storing a traceback of an alignment;
+ * also used for tracebacks of model constructions.
+ */
+struct trace_s {
+  int emitl;			/* i position (1..N) or 0 if nothing */
+  int emitr;			/* j position (1..N) or 0 if nothing */
+  
+  int nodeidx;			/* index of node responsible for this alignment */
+  int type;			/* type of substate (uMATP_ST, etc.) used (unique) */
+  
+  struct trace_s *nxtl;		/* ptr to left (or only) branch, or NULL for end */
+  struct trace_s *nxtr;		/* ptr to right branch, BIFURC only, else NULL */
+  struct trace_s *prv;          /* ptr to parent                               */
+};
+
+
+/* Structure: trmem_s
+ * 
+ * It's expensive in malloc()'s to build trace trees. This structure
+ * allows trace.c to cut down malloc overhead, by keeping a pool
+ * of trace_s structures.
+ */
+struct trmem_s {
+  int next;			/* index of next trace_s to use in pool        */
+  int num;			/* how many trace_s total in pool              */
+  struct trace_s *pool;         /* alloced array of trace_s structs            */
+  struct tracestack_s *used;    /* old (fully used) pools, waiting to be freed */
+};
+#define TMEM_BLOCK 256		/* how many trace_s to alloc per malloc() call */
+
+
+/* Structure: tracestack_s
+ *
+ * Formerly a pushdown stack used for traversing a binary tree of trace_s structures.
+ * Reimplemented as an array for malloc efficiency.
+ */
+struct tracestack_s {
+  int next;			/* index of next trace_s pointer to use */
+  int num;			/* number of trace_s pointers alloc'ed  */
+  struct trace_s **list;        /* array of trace_s pointers            */
+};
+#define TSTACK_BLOCK 64
+
+/* A struct align_s implements a linked list describing the alignment
+ * of a model to a sequence. Note that this is the inverse of what
+ * trace_s trees are for; align_s is a linear representation of
+ * the alignment (from the sequence's point of view, if you will)
+ */
+struct align_s {
+  int              pos;		/* pos in seq emitted (0..N-1; -1 if none)       */
+  char             sym;		/* symbol emitted (ACGU, . if none)              */
+  char             ss;          /* secondary structure character, <>.            */
+  int              nodeidx;     /* index of model state aligned to this position */
+  int              type;	/* type of substate reponsible for this emission (unique) */
+  struct align_s  *nxt;
+};
+
+/* A struct m2ali_s implements a pushdown stack used for traversing
+ * a model and producing an align_s alignment list. 
+ */
+struct m2ali_s {
+  int              nodeidx;	/* index of position in model (0..M) */
+  int              type;	/* subtype of position in model      */
+  struct align_s  *after;       /* position in align_s list          */
+  struct m2ali_s  *nxt;         
+};
+
+
+/* A struct t2ali_s implements a pushdown stack for traversing a
+ * traceback tree and producing an align_s alignment list.
+ */
+struct t2ali_s {
+  struct trace_s *tracenode;
+  struct align_s *after;
+  struct t2ali_s *nxt;
+};
+
+/* some stuff used when we store sums of log scores as integers,
+ * for speed and precision
+ */
+#define INTPRECISION 1000.0	/* pick up three decimal places in our ints */
+#define NEGINFINITY -999999     /* -999.999 is small enough for -Inf        */
+#define POSINFINITY  999999     /* +999.999 is large enough for +Inf        */
+#define ILOG2(a) (((a) > 0.0) ? (log(a) / 0.69314718 * INTPRECISION) : NEGINFINITY)
+
+#endif /* STRUCTSH_INCLUDED */
diff --git a/tRNAscan-SE.man b/tRNAscan-SE.man
new file mode 100644
index 0000000..88cc5fb
--- /dev/null
+++ b/tRNAscan-SE.man
@@ -0,0 +1,504 @@
+.TH "tRNAscan-SE" 1 "November 1997" "tRNAscan-SE 1.1"
+
+.SH NAME
+.TP
+.I tRNAscan-SE
+
+- a program for improved detection of transfer RNA genes 
+in genomic sequence
+.SH SYNOPSIS
+.B tRNAscan-SE [options] seqfile(s)
+.SH DESCRIPTION
+.I tRNAscan-SE
+searches for transfer RNAs in genomic sequence
+.I seqfile(s)
+using three separate methods to achieve a combination of speed,
+sensitivity, and selectivity not available with each program
+individually.
+
+.PP
+tRNAscan-SE was written in the PERL (version 5.0) script language.
+Input consists of DNA or RNA sequences in FASTA format.  tRNA
+predictions are output in standard tabular, ACeDB-compatible, or an
+extended format including tRNA secondary structure information.
+tRNAscan-SE does no tRNA detection itself, but instead combines the
+strengths of three independent tRNA prediction programs by negotiating
+the flow of information among them, performing a limited
+amount of post-processing, and outputting the result.
+.PP
+tRNAscan-SE combines the specificity of the Cove probabilistic RNA
+prediction package (Eddy & Durbin, 1994) with the speed and
+sensitivity of tRNAscan 1.3 (Fichant & Burks, 1991) plus an
+implementation of an algorithm described by Pavesi and colleagues
+(1994) which searches for eukaryotic pol III tRNA promoters (our
+implementation referred to as EufindtRNA).  tRNAscan and EufindtRNA
+are used as first-pass prefilters to identify "candidate" tRNA regions
+of the sequence.  These subsequences are then passed to Cove for
+further analysis, and output if Cove confirms the initial tRNA
+prediction.  In this way, tRNAscan-SE attains the best of both worlds:
+(1) a false positive rate equally low to using Cove analysis, (2) the
+combined sensitivities of tRNAscan and EufindtRNA (detection of 99%
+of true tRNAs), and (3) search speed 1,000 to 3,000 times faster than
+Cove analysis and 30 to 90 times faster than the original tRNAscan 1.3
+(tRNAscan-SE uses both a code-optimized version of tRNAscan 1.3 which
+gives a 650-fold increase in speed, and a fast C implementation of the
+Pavesi et al. algorithm).
+.PP
+tRNAscan-SE was designed to make rapid, sensitive searches of genomic
+sequence feasible using the selectivity of the Cove analysis package.
+Search sensitivity was optimized with eukaryote cytoplasmic &
+eubacterial sequences, but it may be applied more broadly with a
+slight reduction in sensitivity.
+.PP
+In the default tabular output format, each new tRNA in a sequence is
+consecutively numbered in the 'tRNA #' column.  'tRNA Bounds' specify
+the starting (5') and ending (3') nucleotide bounds for the tRNA.
+tRNAs found on the reverse (lower) strand are indicated by having the
+Begin (5') bound greater than the End (3') bound.
+.PP
+The 'tRNA Type' is the predicted amino acid charged to the tRNA
+molecule based on the predicted anticodon (written 5'->3') displayed
+in the next column.   tRNAs that fit criteria for potential pseudogenes
+(poor primary or secondary structure), will be
+marked with "Pseudo" in the 'tRNA Type' column (pseudogene checking 
+is further discussed in the Methods section of the program manual). 
+If there is a predicted intron in the tRNA, the
+next two columns indicate the nucleotide bounds.  If there is no
+predicted intron, both of these columns contain zero.  
+.PP
+The final column is the Cove score for the tRNA in bits of
+information.  Specifically, it is a log-odds score: the log of the
+ratio of the probability of the sequence given the tRNA covariance
+model used (developed from hand-alignment of 1415 tRNAs), and the
+probability of the sequence given a simple random sequence model.
+tRNAscan-SE counts any sequence that attains a score of 20.0 bits or
+larger as a tRNA (based on empirical studies conducted by Eddy &
+Durbin in ref #2).
+.PP
+
+.SH OPTIONS
+
+.TP
+.B -h
+Prints entire list of program options, each with a brief, one-line
+description.
+
+.TP
+.B -P
+This option selects the prokaryotic covariace model for tRNA analysis,
+and loosens the search parameters for EufindtRNA to improve detection
+of prokaryotic tRNAs.  Use of this mode with prokaryotic sequences
+will also improve bounds prediction of the 3' end (the terminal CAA
+triplet).
+
+.TP
+.B -A
+This option selects an archaeal-specific covariance model for tRNA
+analysis, as well as slightly loosening the EufindtRNA search
+cutoffs.
+
+.TP
+.B -O
+This parameter bypasses the fast first-pass scanners that are poor at
+detecting organellar tRNAs and runs Cove analysis only.  Since true
+organellar tRNAs have been found to have Cove scores between 15 and 20
+bits, the search cutoff is lowered from 20 to 15 bits.  Also,
+pseudogene checking is disabled since it is only applicable to
+eukaryotic cytoplasmic tRNA pseudogenes.  Since Cove-only mode is
+used, searches will be very slow (see -C option below) relative to the
+default mode.
+
+.TP
+.B -G
+This option selects the general tRNA covariance model that was trained
+on tRNAs from all three phylogenetic domains (archaea, bacteria, &
+eukarya).  This mode can be used when analyzing a mixed collection of
+sequences from more than one phylogenetic domain, with only slight
+loss of sensitivity and selectivity.  The original publication
+describing this program and tRNAscan-SE version 1.0 used this general
+tRNA model exclusively.  If you wish to compare scores to those found
+in the paper or scans using v1.0, use this option.  Use of this option
+is compatible with all other search mode options described in this
+section.
+
+.TP
+.B -C
+Directs tRNAscan-SE to analyze sequences using Cove analysis only.
+This option allows a slightly more sensitive search than the default
+tRNAscan + EufindtRNA -> Cove mode, but is much slower (by approx. 250
+to 3,000 fold).  Output format and other program defaults are
+otherwise identical to the normal analysis.
+
+.TP
+.B -H
+This option displays the breakdown of the two components of the
+covariance model bit score.  Since tRNA pseudogenes often have one
+very low component (good secondary structure but poor primary sequence
+similarity to the tRNA model, or vice versa), this information may be
+useful in deciding whether a low-scoring tRNA is likely to be a
+pseudogene.  The heuristic pseudogene detection filter uses this
+information to flag possible pseudogenes -- use this option to see why
+a hit is marked as a possible pseudogene.  The user may wish to
+examine score breakdowns from known tRNAs in the organism of interest 
+to get a frame of reference.
+
+.TP
+.B -D
+Manually disable checking tRNAs for poor primary or secondary
+structure scores often indicative of eukaryotic pseudogenes.  This
+will slightly speed the program & may be necessary for non-eukaryotic
+sequences that are flagged as possible pseudogenes but are known to be
+functional tRNAs.
+
+.TP
+.B -o <file>
+Output final results to <file>.
+.TP
+.B -f <file>
+Save final results and Cove tRNA secondary structure predictions to
+<file>.  This output format makes visual inspection of individual tRNA
+predictions easier since the tRNA sequence is displayed along with the
+predicted tRNA base pairings.
+
+.TP
+.B -a 
+Output final results in ACeDB format instead of the default tabular
+format.
+
+.TP
+.B -m <file>
+Save statistics summary for run.  This option directs tRNAscan-SE to
+write a brief summary to <file> which contains the run options
+selected as well as statistics on the number of tRNAs detected at each
+phase of the search, search speed, and other bits of information.
+See Manual documentation for explanation of each statistic.
+
+.TP
+.B -d
+Display program progress.  Messages indicating which phase of the
+tRNA search are printed to standard output. If final results are also
+being sent to standard output, some of these messages will be
+suppressed so as to not interrupt display of the results.
+
+.TP
+.B -l <file>
+Save log of program progress in <file>.  Identical to -d option, but
+sends message to <file> instead of standard output.  Note: the -d
+option overrides the -l option if both are specified on the same
+command line.
+.TP
+.B -q
+Quiet mode: the credits & run option selections normally printed to
+standard error at the beginning of each run are suppressed.
+.TP
+.B -b
+Use brief output format.  This eliminates column headers that appear
+by default when writing results in tabular output format.  Useful if
+results are to be parsed or piped to another program.
+
+.TP
+.B -N
+This option causes tRNAscan-SE to output a tRNA's corresponding codon
+in place of its anticodon.
+
+.TP
+.B -(Option)#
+The '#' symbol may be used as shorthand to specify "default" file
+names for output files.  The default file names are constructed by
+using the input sequence file name, followed by an extension
+specifying the output file type <seqfile.ext> where '.ext' is:
+
+.DS
+Extension   Option    Description
+.br
+---------   ------    -----------
+ .out        -o       final results
+ .stats      -m       summary statistics file 
+ .log        -l       run progress file  
+ .ss         -f       secondary structures save file  
+ .fpass.out  -r       formatted, tabular output 
+                      from first-pass scans
+ .fpos       -F       FASTA file of tRNAs identified in
+			first-pass scans that were found to be
+			false positives by Cove analysis
+
+
+Notes: 
+
+1) If the input sequence file name has the extensions '\.fa' or '\.seq',
+these extensions will be removed before using the filename as
+a prefix for default file names.  (example -- input file name
+.I Mygene.seq
+will have the output file name 
+.I Mygene.out 
+if the '-o#' option is used).  
+
+2) If more than one sequence file is specified on the command line,
+the "default" output file prefix will be the name of the FIRST
+sequence file on the command line.  Use the -p option
+to change this default name to something more appropriate when
+using more than one sequence file on the command line.
+.DE
+
+.TP
+.B -p <label>
+Use <label> prefix as the default output file prefix when using '#'
+for file name specification.  <label> is used in place of the input
+sequence file name.
+
+.TP
+.B -y
+This option displays which of the first-pass scanners detected
+the tRNA being output.  "Ts", "Eu", or "Bo" will appear in the last
+column of Tabular output, indicating that either tRNAscan 1.4,
+EufindtRNA, or both scanners detected the tRNA, respectively.
+
+.TP
+.B -X <score>
+Set Cove cutoff score for reporting tRNAs (default=20).  This option
+allows the user to specify a different Cove score threshold for
+reporting tRNAs.  It is not recommended that novice users change this
+cutoff, as a lower cutoff score will increase the number of
+pseudogenes and other false positives found by tRNAscan-SE (especially
+when used with the "Cove only" scan mode).  Conversely, a higher
+cutoff than 20.0 bits will likely cause true tRNAs to be missed by
+tRNAscan (numerous "real" tRNAs have been found just above the 20.0
+cutoff).  Knowledgable users may wish to experiment with this
+parameter to find very unusual tRNAs or pseudogenes beyond the normal
+range of detection with the preceding caveats in mind.
+
+.TP
+.B  -L <length>
+Set max length of tRNA intron+variable region (default=116bp).
+The default maximum tRNA length for tRNAscan-SE is 192 bp, but this
+limit can be increased with this option to allow searches with no
+practical limit on tRNA length.  In the first phase of tRNAscan-SE,
+EufindtRNA searches for A and B boxes of <length> maximum distance
+apart, and passes only the 5' and 3' tRNA ends to covariance model
+analysis for confirmation (removing the bulk of long intervening
+sequences).  tRNAs containing group I and II introns have been
+detected by setting this parameter to over 800 bp.  Caution: group I
+or II introns in tRNAs tend to occur in positions other than the
+canonical position of protein-spliced introns, so tRNAscan-SE
+mispredicts the intron bounds and anticodon sequence for these cases.
+tRNA bound predictions, however, have been found to be reliable in
+these same tRNAs.
+
+.TP
+.B -I <score>
+This score cutoff affects the sensitivity of the first-pass scanner
+EufindtRNA.  This parameter should not need to be adjusted from its
+default values (variable depending on search mode), but is included
+for users who are familiar with the Pavesi et al. (1994) paper and
+wish to set it manually.  See Lowe & Eddy (1997) for details on
+parameter values used by tRNAscan-SE depending on the search mode.
+
+.TP
+.B -B <number>
+By default, tRNAscan-SE adds 7 nucleotides to both ends of tRNA
+predictions when first-pass tRNA predictions are passed to covariance
+model (CM) analysis.  CM analysis generally trims these bounds back
+down, but on occassion, allows prediction of an otherwise truncated
+first-pass tRNA prediction.
+
+.TP
+.B -g <file>
+Use exceptions to "universal" genetic code specified in <file>.  By
+default, tRNAscan-SE uses a standard universal codon -> amino acid
+translation table that is specified at the end of the tRNAscan-SE.src
+source file.  This option allows the user to specify exceptions to the
+default translation table.  The user may use any one of several
+alternate translation code files included in this package (see files
+'gcode.*'), or create a new alternate translation file.  See Manual
+documentation for specification of file format, or refer to included
+examples files.  
+.sp 1
+Note: this option does not have any effect when using
+the -T or -E options -- you must be running in default
+or Cove only analysis mode.
+
+.TP
+.B -c <file>
+For users who have developed their own tRNA covariance models using
+the Cove program "coveb" (see Cove documentation), this parameter
+allows substitution for the default tRNA covariance models.  May be
+useful for extending Cove-only mode detection of particularly strange
+tRNA species such as mitochondrial tRNAs.
+
+.TP
+.B -Q
+By default, if an output result file to be written to already exists,
+the user is prompted whether the file should be over-written or
+appended to.  Using this options forces overwriting of pre-existing
+files without an interactive prompt.  This option may be handy for
+batch-processing and running tRNAscan-SE in the background.
+
+.TP
+.B -n <EXPR>
+Search only sequences with names matching <EXPR> string. 
+<EXPR> may contain * or ? wildcard characters, but the user 
+should remember to enclose these expressions in single quotes
+to avoid shell expansion.  Only those sequences with names (first
+non-white space word after ">" symbol on FASTA name/description line)
+matching <EXPR> are analyzed for tRNAs.
+.TP
+.B -s <EXPR>
+Start search at first sequence with name matching <EXPR> string and
+continue to end of input sequence file(s).  This may be
+useful for re-starting crashed/aborted runs at the point where the
+previous run stopped.  (If same names for output file(s) are used,
+program will ask if files should be over-written or appended to --
+choose append and run will successfully be restarted where it left
+off).
+
+.TP
+.B -T
+Directs tRNAscan-SE to use only tRNAscan to analyze sequences.  This
+mode will default to using "strict" parameters with tRNAscan analysis
+(similar to tRNAscan version 1.3 operation).  This mode of operation
+is faster (3-5 times faster than default mode analysis), but will
+result in approximately 0.2 to 0.6 false positive tRNAs per Mbp,
+decreased sensitivity, and less reliable prediction of anticodons,
+tRNA isotype, and introns.
+
+.TP
+.B -t <mode>
+Explicitly set tRNAscan params, where <mode> = R or S (R=relaxed,
+S=strict tRNAscan v1.3 params).  This option allows selection of
+strict or relaxed search parameters for tRNAscan analysis.  By
+default, "strict" parameters are used.  Relaxed parameters may give
+very slightly increased search sensitivity, but increase search time
+by 20-40 fold.
+
+.TP
+.B -E
+Run EufindtRNA alone to search for tRNAs.  Since Cove is not being
+used as a secondary filter to remove false positives, this run mode
+defaults to "Normal" parameters which more closely approximates the
+sensitivity and selectivity of the original algorithm describe by
+Pavesi and colleagues (see the next option, -e for a description of
+the various run modes).
+
+.TP
+.B -e <mode>
+Explicitly set EufindtRNA params, where <mode>= R, N, or S (relaxed,
+normal, or strict).  The "relaxed" mode is used for EufindtRNA
+when using tRNAscan-SE in default mode.  With relaxed parameters,
+tRNAs that lack pol III poly-T terminators are not penalized,
+increasing search sensitivity, but decreasing selectivity.  When Cove
+analysis is being used as a secondary filter for false positives (as
+in tRNAscan-SE's default mode), overall selectivity is not decreased.
+
+Using "normal" parameters with EufindtRNA does incorporate a log odds
+score for the distance between the B box and the first poly-T
+terminator, but does not disqualify tRNAs that do not have a
+terminator signal within 60 nucleotides.  This mode is used by default
+when Cove analysis is not being used as a secondary false positive
+filter.
+
+Using "strict" parameters with EufindtRNA also incorporates a log odds
+score for the distance between the B box and the first poly-T
+terminator, but _rejects_ tRNAs that do not have such a signal within
+60 nucleotides of the end of the B box.  This mode most closely
+approximates the originally published search algorithm (3);
+sensitivity is reduced relative to using "relaxed" and "normal" modes,
+but selectivity is increased which is important if no secondary
+filter, such as Cove analysis, is being used to remove false
+positives.  This mode will miss most prokaryotic tRNAs since the
+poly-T terminator signal is a feature specific to eukaryotic tRNAs
+genes (always use "relaxed" mode for scanning prokaryotic sequences
+for tRNAs).
+
+
+.TP
+.B -r <file>
+Save tabular, formatted output results from tRNAscan and/or
+EufindtRNA first pass scans in <file>.  The format is similar to the
+final tabular output format, except no Cove score is available at this
+point in the search (if EufindtRNA has detected the tRNA, the negative
+log likelihood score is given).  Also, the sequence ID number and
+source sequence length appear in the columns where intron bounds are
+shown in final output.  This option may be useful for examining false
+positive tRNAs predicted by first-pass scans that have been filtered
+out by Cove analysis. 
+
+.TP
+.B -u <file>
+This option allows the user to re-generate results from regions
+identified to have tRNAs by a previous tRNAscan-SE run.  Either a
+regular tabular result file, or output saved with the -r option may be
+used as the specified <file>.  This option is particularly useful for
+generating either secondary structure output (-f option) or ACeDB
+output (-a option) without having to re-scan entire sequences.
+Alternatively, if the -r option is used to generate the previous
+results file, tRNAscan-SE will pick up at the stage of
+Cove-confirmation of tRNAs and output final tRNA predicitons as with a
+normal run.
+
+.sp 1
+Note: the -n and -s options will not work in conjunction with this
+option.
+
+.TP
+.B -F <file>
+Save first-pass candidate tRNAs in <file> that were then found to be
+false positives by Cove analysis.  This option saves candidate tRNAs
+found by either tRNAscan and/or EufindtRNA that were then rejected by
+Cove analysis as being false positives.  tRNAs are saved in the FASTA
+sequence format.
+
+.TP
+.B -M <file>
+This option may be used when scanning a collection of known tRNA
+sequences to identify possible false negatives (incorreclty missed by
+tRNAscan-SE) or sequences incorrectly annotated as tRNAs (correctly
+passed over by tRNAscan-SE).  Examination of primary & secondary
+structure covariance model scores (-H option), and visual inspection
+of secondary structures (use -F option) may be helpful resolving
+identification conflicts.
+
+.SH SEE ALSO
+.PP
+User Manual and tutorial: Manual.ps (postscript), MANUAL (text)
+
+.SH BUGS
+No major bugs known.
+
+.SH NOTES
+
+This software and documentation is Copyright (C) 1996, Todd M.J. Lowe
+& Sean R. Eddy.  It is freely distributable under terms of the GNU
+General Public License. See COPYING, in the source code distribution,
+for more details, or contact me.
+
+.nf
+Todd Lowe
+Dept. of Genetics, Washington Univ. School of Medicine
+660 S. Euclid Box 8232
+St Louis, MO 63110 USA
+Phone: 1-314-362-7667
+FAX  : 1-314-362-2985
+Email: lowe at genetics.wustl.edu
+.fi
+
+.SH REFERENCES
+.PP
+1. Fichant, G.A. and Burks, C. (1991) "Identifying potential tRNA
+genes in genomic DNA sequences", J. Mol. Biol., 220, 659-671.
+.PP
+2. Eddy, S.R. and Durbin, R. (1994) "RNA sequence analysis using
+covariance models", Nucl. Acids Res., 22, 2079-2088.
+.PP 
+3. Pavesi, A., Conterio, F., Bolchi, A., Dieci, G., Ottonello,
+S. (1994) "Identification of new eukaryotic tRNA genes in genomic DNA
+databases by a multistep weight matrix analysis of transcriptional
+control regions", Nucl. Acids Res., 22, 1247-1256.
+.PP
+4. Lowe, T.M. & Eddy, S.R. (1997) "tRNAscan-SE: A program for
+improved detection of transfer RNA genes in genomic sequence",
+Nucl. Acids Res., 25, 955-964.
+
+
+
+
+
diff --git a/tRNAscan-SE.src b/tRNAscan-SE.src
new file mode 100644
index 0000000..7b645d8
--- /dev/null
+++ b/tRNAscan-SE.src
@@ -0,0 +1,1031 @@
+#! /usr/bin/perl
+#
+# --------------------------------------------------------------------
+# tRNAscan-SE: a program for improved detection of transfer RNA
+#              genes in genomic sequence
+#
+# Version 1.3.1
+#
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+#
+# School of Engineering, University of California, Santa Cruz
+# lowe at soe.ucsc.edu
+# http://lowelab.ucsc.edu/
+# --------------------------------------------------------------------
+#
+# Algorithm & performance published in
+# Lowe, T.M. & Eddy, S.R., 
+# Nucl. Acids Res. 25, 955-964, 1997.
+#
+# --------------------------------------------------------------------
+#
+# Usage:
+# tRNAscan-SE [options] <FASTA file(s)> 
+#                           
+
+use strict;
+use Getopt::Long;
+use tRNAscanSE::Utils;
+use tRNAscanSE::Constants;
+use tRNAscanSE::GeneticCode;
+use tRNAscanSE::Options;
+use tRNAscanSE::Eufind;
+use tRNAscanSE::Tscan;
+use tRNAscanSE::CM;
+use tRNAscanSE::LogFile;
+use tRNAscanSE::Stats;
+use tRNAscanSE::Sequence;
+use tRNAscanSE::ScanResult;
+use tRNAscanSE::SS;
+
+# set when built by 'make'
+our $version = "";                                                                        
+our $release_date = "";
+our $program_id = "tRNAscan-SE-".$version;
+# modified by 'make'
+our $bindir = "";                                                                        
+our $lib_dir = "/usr/local/lib/tRNAscanSE/";                
+our $temp_dir = "/tmp";
+
+# set location of temp files
+if ($ENV{TMPDIR}) {
+    $temp_dir = $ENV{TMPDIR}; 
+} 
+
+# Global variables
+our @fp_start_time;                                                
+our $constants = tRNAscanSE::Constants->new;
+our $opts = tRNAscanSE::Options->new;
+our $log = tRNAscanSE::LogFile->new;
+our $eufind = tRNAscanSE::Eufind->new;
+our $tscan = tRNAscanSE::Tscan->new;
+our $cm = tRNAscanSE::CM->new;
+our $gc = tRNAscanSE::GeneticCode->new;
+our $stats = tRNAscan::Stats->new;
+our $seq_file = tRNAscanSE::Sequence->new;
+
+# Signal handling
+$SIG{'TERM'} = 'error_handler';
+$SIG{'QUIT'} = 'error_handler';
+$SIG{'INT'} = 'error_handler';
+
+&set_options();                                 # set user-selectable options
+
+# set location of binaries & data files, 
+# plus, check to make sure they are there
+$cm->set_file_paths($opts);
+$cm->check_lib_files($opts, $lib_dir);
+$cm->set_bin($bindir);
+$eufind->set_bin($bindir);
+$tscan->set_bin($bindir);
+
+# initialize variables
+$constants->set_temp_file_names($temp_dir);
+$gc->read_transl_table($opts);
+if ($opts->save_stats()) {
+    $stats->file_name($opts->stats_file());
+}
+
+my @prescan_tRNAs = ();
+
+my %global_vars = ('constants' => $constants,
+                   'opts' => $opts,
+                   'cm' => $cm);
+
+# Start processing
+&initialize_process();
+if ($opts->tscan_mode() || $opts->eufind_mode()) {   
+    &first_pass_prescan();  
+}        # (prescan with either tRNAscan/eufind or both)
+
+# Check to see if no sequences were read from input file(s)
+if (($stats->numscanned() == 0) && ($opts->eufind_mode() || $opts->tscan_mode())) {
+    if ($opts->seq_key() ne '\S*') {
+        die "\nNo FASTA sequences matching \'".$opts->raw_seq_key()."\' key found\n\n";
+    }
+    elsif ($opts->multiple_files()) {
+        die "\nFATAL: No sequences in FASTA format found in ", join(', ', at ARGV),"\n\n"; }
+    else {
+        die "\nFATAL: No sequences in FASTA format found in file ".$opts->fastafile()."\n\n";
+    }
+}
+
+# Run Cove or Infernal on candidate tRNAs picked in first pass,
+#  or by itself on seqs if no first pass searches
+elsif ($opts->cove_mode() || $opts->infernal_mode()) {
+    &run_cm_scan();
+}        # if Using second-pass scanner
+
+$stats->end_sp_timer();
+
+if ($opts->save_stats()) {
+    $stats->open_file();
+    $stats->save_final_stats($opts, $gc, \@prescan_tRNAs, $cm->tab_results());
+    $stats->close_file();
+}
+
+$log->close_file();    
+
+&cleanup();                        # clean up temp files
+exit(0);
+
+# END main
+
+
+sub initialize_process {
+    
+    # print program info header, credits, & selected run options
+    if (!$opts->quiet_mode()) {
+        print STDERR "\ntRNAscan-SE v.$version ($release_date) -",
+            " scan sequences for transfer RNAs\n";
+        &display_credits();
+        $opts->display_run_options($cm, $tscan, $eufind, *STDERR);
+    }
+    
+    $stats->start_fp_timer();                    # save starting time
+    
+    # if statistics are being saved, write run options in stats file
+    if ($opts->save_stats()) {
+        my $host = `hostname`;
+        chomp($host);
+        $stats->open_file();
+        $stats->write_line("\ntRNAscan-SE v.$version ($release_date) scan results (on host $host)\nStarted: ".`date`);
+        $opts->display_run_options($cm, $tscan, $eufind, $stats->FILE_H());
+        $stats->close_file();
+    }
+}
+
+# Running tRNAscan and/or EufindtRNA  
+sub first_pass_prescan {
+    
+    $log->write_line("\nPhase I: Searching for tRNAs with tRNAscan and/or EufindtRNA\n");
+
+    # open seq file to search
+    $seq_file->open_file($opts->fasta_file(), "read");
+
+    # Main loop for reading seqs & scanning with tRNAscan and/or
+    #  EufindtRNA
+    
+    my $targ_seq_id = 0;      # Don't look for a specific Seq number
+    my $start_index     = 1;
+    my $sequence_scanned = 0;
+    my $eufind_output;
+    my @hit_list = ();
+    my $tmp_raw = $constants->tmp_raw();
+    my $tmp_fa = $constants->tmp_fa();
+    my $tmp_fa_file = tRNAscanSE::Sequence->new;
+    my $missing_fa_file = tRNAscanSE::Sequence->new;
+    
+    while ($seq_file->read_fasta($opts, $targ_seq_id)) {
+        if ($opts->cove_mode() || $opts->infernal_mode()) {
+            $log->write_line("Scanned seqs: ".$stats->numscanned()." (at ".$seq_file->seq_name().")");
+        }
+        $stats->increment_numscanned();
+        $stats->increment_first_pass_base_ct($seq_file->seq_length());
+                
+        do {
+            # Write one input sequence / seq buffer to tmp_fa file
+            
+            $tmp_fa_file->open_file($tmp_fa, "write");
+            $tmp_fa_file->set_seq_info($seq_file->seq_name(), $seq_file->seq_description(),
+                                       $seq_file->seq_length(), $seq_file->sequence());
+            $tmp_fa_file->write_fasta();
+            $tmp_fa_file->close_file();
+            
+            # Run tRNAscan on $tmp_fa file & write results to
+            #  $tmp_raw output file
+            
+            if ($opts->tscan_mode()) {
+                $tscan->run_tRNAscan($tmp_fa, $tmp_raw,
+                                     $start_index, $lib_dir, $seq_file->seq_name());
+                if ($opts->save_verbose()) {
+                    $tscan->append_verbfile($opts->verb_file(), $tmp_fa, $seq_file->seq_name());
+                }
+                $tscan->process_tRNAscan_hits($constants, $gc, $stats, $seq_file->seq_name(), \@hit_list);
+            }
+            
+            # Run eufindtRNA program & save results in memory
+            #  in $Eufind_output array
+            
+            if ($opts->eufind_mode()) {
+                $eufind_output = $eufind->run_eufind($tmp_fa, $start_index,
+                                                     $opts->max_int_len(), $seq_file->seq_name());
+                if ($eufind_output ne "") {
+                    $eufind->process_Eufind_hits($constants, $stats, \@hit_list, $eufind_output);
+                    $eufind_output = "";
+                }
+            }
+
+            $sequence_scanned = 1;    # Flag indicating current sequence has been scanned 
+
+            # Check to see if all of sequence was read in last buffer-sized chunck
+            
+            if ($seq_file->seq_buf_overrun()) {
+                $start_index = $seq_file->buffer_end_index() + 1;
+                if ($seq_file->read_more_fasta()) {
+                    $sequence_scanned = 0;
+                }
+            }
+            
+        } until ($sequence_scanned); 
+        
+        if ($#hit_list >= 0) {
+            $stats->increment_seqs_hit();
+            
+            # save results in ACeDB format now if not 
+            #   using Cove analysis
+            if ($opts->ace_output() && (!$opts->CM_mode())) {
+                &save_Acedb_from_firstpass($opts->output_codon(), $gc->one_let_trans_map(),
+                                            \@hit_list, $opts->out_file());
+            }
+            else {
+                # save all hits for this seq
+                my $fpass_trna_base_ct = $stats->fpass_trna_base_ct();
+                &save_firstpass_output($opts, \@hit_list, $constants->source_tab(), \$fpass_trna_base_ct,
+                                       $seq_file->seq_length(), $seq_file->seq_id());
+                $stats->fpass_trna_base_ct($fpass_trna_base_ct);
+            }
+
+            @hit_list = ();                    # clear hit array
+        }
+        elsif ($opts->save_missed()) {
+            # save sequence that had no tRNA hits if -M param set
+            # NOTE: only writes last frame of seq buffer if seq length > max_seq_buffer
+            $missing_fa_file->open_file($opts->missed_seq_file(), "append");
+            $missing_fa_file->set_seq_info($seq_file->seq_name(), $seq_file->seq_description(),
+                                           $seq_file->seq_length(), $seq_file->sequence());
+            $missing_fa_file->write_fasta();
+            $missing_fa_file->close_file();
+        }
+        
+        $seq_file->reset_buffer_ct();
+        $start_index     = 1;
+        
+    }     # while (read_fasta()) - still more seqs to scan
+
+    $seq_file->close_file();
+                                        # remove temporary files
+    system("rm -f $tmp_raw $tmp_fa");
+    $seq_file->release_memory();        # release memory
+  
+    $log->write_line("\n".$stats->numscanned()." seqs scanned, ".$stats->seqs_hit()." seqs had at ".
+        "least one hit.\n".$stats->trnatotal()." total tRNAs predicted in first pass scans\n"); 
+
+    if ((!$opts->CM_mode()) && ($stats->trnatotal() == 0)  && (!$opts->quiet_mode())) {
+        print STDERR "No tRNAs found.\n\n";
+    }
+    
+    $stats->end_fp_timer();             # save time first-pass scans are done
+
+    if ($opts->save_stats()) {
+        $stats->open_file();
+        $stats->save_firstpass_stats();
+        $stats->close_file();
+    }    
+}
+
+# Run Cove or Infernal
+sub run_cm_scan {
+    
+    $stats->start_sp_timer();
+    
+    if ($opts->tscan_mode() || $opts->eufind_mode()) {
+        $log->write_line("\nPhase II: ".$opts->second_pass_label()." verification of candidate ".
+            "tRNAs detected\n          with tRNAscan and/or EufindtRNA\n"); 
+    }
+    else {
+        $log->write_line("\nRunning ".$opts->second_pass_label()." analysis\n");
+        if (!$opts->use_prev_ts_run()) {
+            &prep_for_secpass_only($opts, $stats, $seq_file);
+        }
+    }
+        
+    my $prev_seq_name = '';         # Name of tRNA sequence currently in memory
+    my $seqinfo_flag = 0;           # flag indicates if seqid and seqlen are saved
+                                    #  in firstpass result file
+    my $curseq_trnact = 0;
+    my $r_prescan_tRNA;
+    my $tRNAs_found = 0;
+    my @sec_pass_hits = ();
+
+    $seq_file->open_file($opts->fasta_file(), "read");
+
+    &parse_tabular_output($opts, \@prescan_tRNAs, \$seqinfo_flag);
+
+    for (my $tRNA_ct=0; $tRNA_ct <= $#prescan_tRNAs; $tRNA_ct++) 
+    {
+        $r_prescan_tRNA = $prescan_tRNAs[$tRNA_ct];
+
+        # Reset tRNA counter for each new sequence
+        if ($r_prescan_tRNA->{src_seqname} ne $prev_seq_name) {
+            $curseq_trnact = 0;
+        }
+        
+        # Retrieve tRNA sequence and write to tmp_trnaseq_file
+        if (!&prepare_tRNA_to_scan($seq_file, $r_prescan_tRNA)) {
+            next;
+        }
+        
+        if ($opts->cove_mode()) 
+        {
+            $tRNAs_found = $cm->analyze_with_cove($opts, $constants, $stats, $gc, $log, $program_id,
+                                       $r_prescan_tRNA, $constants->tmp_trnaseq_file(), \$curseq_trnact, \@sec_pass_hits);
+        }
+        elsif ($opts->infernal_mode()) 
+        {
+            $tRNAs_found = $cm->analyze_with_cmsearch($opts, $constants, $stats, $gc, $log, $program_id,
+                                           $r_prescan_tRNA, $constants->tmp_trnaseq_file(), \$curseq_trnact, \@sec_pass_hits);
+        }
+
+        $prev_seq_name = $r_prescan_tRNA->{src_seqname};
+        
+        if (!$cm->CM_check_for_introns()) {
+            $stats->increment_total_secpass_ct($tRNAs_found);
+        }
+        
+    }
+
+    if (($cm->CM_check_for_introns() || $cm->CM_check_for_split_halves()) && (scalar(@sec_pass_hits) > 0)) {
+        $cm->scan_noncanonical_introns($opts, $constants, $stats, $gc, $log, $seq_file, \@sec_pass_hits);
+        if ($cm->CM_check_for_split_halves()) {
+            $cm->scan_split_tRNAs($opts, $constants, $stats, $gc, $log, \@sec_pass_hits);
+        }
+        
+        for (my $ct = 0; $ct < scalar(@sec_pass_hits); $ct++) {
+            &output_tRNA($opts, $gc, $log, $cm->tab_results(), $cm->get_hmm_score(), $program_id,
+                         $sec_pass_hits[$ct], $sec_pass_hits[$ct], $ct+1);
+            $stats->increment_total_secpass_ct(1);
+        }
+    }
+    $seq_file->close_file();
+    
+    if (($stats->total_secpass_ct() == 0) && (!$opts->quiet_mode())) {
+        print STDERR "No tRNAs found.\n\n";
+    }
+}
+
+# Extracts tRNA sequence with given coordinates, and writes to 
+# $tmp_
+sub prepare_tRNA_to_scan {
+    
+    my ($seq_file, $r_tRNA_info) = @_;
+    
+    my ($tRNA_seq, $upstream, $downstream) = $seq_file->get_tRNA_sequence($r_tRNA_info->{src_seqname}, $r_tRNA_info->{strand},
+                                                                           $r_tRNA_info->{start}, $r_tRNA_info->{end},
+                                                                           $log, $opts, $constants);
+    $r_tRNA_info->{seq} = $tRNA_seq;
+    $r_tRNA_info->{upstream} = $upstream;
+    $r_tRNA_info->{downstream} = $downstream;
+    
+    $stats->increment_secpass_base_ct($r_tRNA_info->{len});
+    
+    &write_tRNA($constants->tmp_trnaseq_file(), $seq_file->seq_name(), $seq_file->seq_description(), $r_tRNA_info->{seq}, 1);
+    
+    $seq_file->release_memory();
+    
+    return 1;
+}
+
+sub cleanup {                        # clean up temp files
+
+    system("rm -f ".$opts->temp_dir()."/tscan$$".'*');
+    system("rm -f ".$opts->fafile().".pid");
+}
+
+sub error_handler {
+    
+    print "\nAborting tRNAscan-SE\n\n";
+
+    my $ppid = $$;
+    my $psout = `ps -ef`;
+    my @ps_lines = split(/\n/,$psout);
+    foreach my $line (0..$#ps_lines) {
+        if ($ps_lines[$line] =~/^\s+\S+\s+(\d+)\s+($ppid)\s/) {
+#           print STDERR "Killing process $1:\n",$ps_lines[$line],"\n";
+            my $killct = kill 'KILL', $1;
+#           print STDERR "$killct jobs received the kill signal\n";
+        }
+    }
+    
+    &cleanup();
+    exit(1);
+}
+
+sub display_credits {
+
+    print STDERR "\n  Please cite: \n",
+    "\tLowe, T.M. & Eddy, S.R. (1997) \"tRNAscan-SE: A program for\n",
+    "\timproved detection of transfer RNA genes in genomic sequence\"\n",
+    "\tNucl. Acids Res. 25: 955-964.\n",
+    "\n  This program uses a modified, optimized version of tRNAscan v1.3\n",
+    "  (Fichant & Burks, J. Mol. Biol. 1991, 220: 659-671),\n",
+    "  a new implementation of a multistep weight matrix algorithm\n",
+    "  for identification of eukaryotic tRNA promoter regions\n",
+    "  (Pavesi et al., Nucl. Acids Res. 1994, 22: 1247-1256),\n",
+    "  as well as the RNA covariance analysis package Cove v.2.4.2\n",
+    "  (Eddy & Durbin, Nucl. Acids Res. 1994, 22: 2079-2088).\n\n";
+}
+
+sub print_usage {
+
+    print STDERR "\nUsage: tRNAscan-SE [-options] <FASTA file(s)>\n\n";
+    print STDERR "  Scan a sequence file for tRNAs using tRNAscan, EufindtRNA &\n",
+    "   tRNA covariance models\n",
+    "          -- defaults to use with eukaryotic sequences \n",
+    "             (use -B, -A, -O or -G to scan other types of sequences)\n\n",
+    "Basic Options\n",
+    "  -B         : search for bacterial tRNAs (use bacterial tRNA model)\n",
+    "  -A         : search for archaeal tRNAs  (use archaeal tRNA model)\n",
+    "  -O         : search for organellar (mitochondrial/chloroplast) tRNAs\n",
+    "  -G         : use general tRNA model (cytoplasmic tRNAs from all 3 domains included)\n\n",
+    "  -i         : search using Infernal cm analysis only (max sensitivity, very slow)\n",
+    "  -C         : search using Cove analysis only (high sensitivity, very slow)\n\n",
+    "  -o <file>  : save final results in <file>\n",
+    "  -f <file>  : save tRNA secondary structures to <file>\n",
+    "  -a         : output results in ACeDB output format instead of default\n",
+    "               tabular format\n",
+    "  -m <file>  : save statistics summary for run in <file>\n",
+    "               (speed, # tRNAs found in each part of search, etc)\n",        
+    "  -H         : show both primary and secondary structure components to\n",
+    "               covariance model bit scores\n",
+    "  -q         : quiet mode (credits & run option selections suppressed)\n\n",
+    "  -h         : print full list (long) of available options\n\n";
+}
+
+sub print_all_options {
+
+    print  "\nUsage: tRNAscan-SE [-options] <FASTA file(s)>\n\n";
+    print  "  Scan a sequence file for tRNAs using tRNAscan, EufindtRNA &\n",
+    "   tRNA covariance models\n",
+    "   -- defaults to use with eukaryotic sequences \n",
+    "      (use 'Search Mode Options' below to scan other types of sequences)\n\n",
+    "Search Mode Options:\n\n",
+    "  -B  --bact            : search for bacterial tRNAs (use bacterial tRNA model)\n",
+    "  -A  --arch            : search for archaeal tRNAs (use archaeal tRNA model)\n",
+    "  -O  --organ           : search for organellar (mitochondrial/chloroplast) tRNAs\n",
+    "  -G  --general         : use general tRNA model (cytoplasmic tRNAs from all 3 domains included)\n\n",
+    "  -C  --cove            : search using covariance model analysis only (max sensitivity, slow)\n",
+    "  -i  --infernal        : search using Infernal cm analysis only (max sensitivity, very slow)\n",
+    "      --newscan         : search using Infernal and new cm models instead of Cove\n",
+    "  -H  --breakdown       : show breakdown of primary and secondary structure components to\n",
+    "                            covariance model bit scores\n",
+    "  -D  --nopseudo        : disable pseudogene checking\n\n",
+    
+    "Achaeal-specific options:\n\n",
+    "      --ncintron        : scan for noncanonical introns\n",
+    "      --frag <file>     : scan for putative tRNA gene fragments that may form split tRNAs\n",
+    "                            and save results in <file>\n\n",
+    
+    "Output options:\n\n",
+    "  -o  --output <file>   : save final results in <file>\n",
+    "  -f  --struct <file>   : save tRNA secondary structures to <file>\n",
+    "  -a  --acedb           : output results in ACeDB output format instead of default\n",
+    "                            tabular format\n",
+    "  -m  --stats <file>    : save statistics summary for run in <file>\n",
+    "                            (speed, # tRNAs found in each part of search, etc)\n\n",        
+    "  -d  --progress        : display program progress messages\n",
+    "  -l  --log <file>      : save log of program progress in <file>\n\n",
+    "  -q  --quiet           : quiet mode (credits & run option selections suppressed)\n",
+    "  -b  --brief           : brief output format (no column headers)\n\n",
+    "  -N  --codons          : output corresponding codons instead of tRNA anticodons\n\n",
+    "  -? \#                 : '#' in place of <file> chooses default name for output files\n",
+    "  -p  --prefix <label>  : use <label> prefix for all default output file names\n\n",
+    "  -y  --hitsrc          : show origin of first-pass hits (Ts=tRNAscan 1.4,\n",
+    "                            Eu=EufindtRNA, Bo= Both)\n\n",
+    
+    "Specify Alternate Cutoffs / Data Files:\n\n",
+    "  -X  --score <score>   : set cutoff score (in bits) for reporting tRNAs (default=20)\n",   
+    "  -L  --len <length>    : set max length of tRNA intron+variable region (default=116bp)\n\n",
+    "  -I  --iscore <score>  : manually set \"intermediate\" cutoff score for EufindtRNA\n",    
+    "  -z  --pad <number>    : use <number> nucleotides padding when passing first-pass\n",
+    "                            tRNA bounds predictions to CM analysis (default=8)\n\n",     
+    "  -g  --gencode <file>  : use alternate genetic codes specified in <file> for\n",
+    "                            determining tRNA type\n",
+    "  -c  --cm <file>       : use an alternate covariance model in <file>\n\n",
+    
+    "Misc Options:\n\n",
+    "  -h  --help            : print this help message\n",
+    "  -Q  --forceow         : do not prompt user before overwriting pre-existing\n",
+    "                            result files  (for batch processing)\n\n",    
+    "  -n  --match <EXPR>    : search only sequences with names matching <EXPR> string\n",
+    "                            (<EXPR> may contain * or ? wildcard chars)\n", 
+    "  -s  --search <EXPR>   : start search at sequence with name matching <EXPR> string\n",
+    "                            and continue to end of input sequence file(s)\n", 
+
+    "Special Options (for testing & special purposes)\n\n",
+    "  -T  --tscan           : search using tRNAscan only (defaults to strict params)\n",
+    "  -t  --tmode <mode>    : explicitly set tRNAscan params, where <mode>=R or S\n",
+    "                            (R=relaxed, S=strict tRNAscan v1.3 params)\n\n",
+    "  -E  --eufind          : search using Eukaryotic tRNA finder (EufindtRNA) only\n",
+    "                            (defaults to Normal seach parameters when run alone,\n",
+    "                            or to Relaxed search params when run with Cove)\n",
+    "  -e  --emode <mode>    : explicitly set EufindtRNA params, where <mode>=R, N, or S\n",
+    "                            (relaxed, normal, or strict)\n\n",
+    "  -r  --fsres <file>    : save first-pass scan results from EufindtRNA and/or\n",
+    "                            tRNAscan in <file> in tabular results format\n",
+    "  -u  --filter <file>   : search with Cove only those sequences & regions delimited\n", 
+    "                            in <file> (tabular results file format)\n", 
+    "  -F  --falsepos <file> : save first-pass candidate tRNAs in <file> that were then\n",
+    "                            found to be false positives by Cove analysis\n",
+    "  -M  --missed <file>   : save all seqs that do NOT have at least one\n",
+    "                            tRNA prediction in them (aka \"missed\" seqs)\n",
+    "  -v  --verbose <file>  : save verbose tRNAscan 1.3 output to <file>\n",
+    "  -V  --version <vers>  : run an alternate version of tRNAscan\n",
+    "                            where <vers> = 1.3, 1.39, 1.4 (default), or 2.0\n",
+    "      --nomerge         : Keep redundant tRNAscan 1.3 hits (don't filter out multiple\n",
+    "                            predictions per tRNA identification)\n",
+    "\n\n";
+}
+
+sub set_options {
+    
+    # clear option vars
+    our $opt_acedb=0; our $opt_brief=0; our $opt_quiet=0; our $opt_progress=0; 
+    our $opt_bact=0; our $opt_arch=0; our $opt_organ=0; our $opt_general=0; 
+    our $opt_cove=0; our $opt_infernal=0; our $opt_eufind=0; our $opt_tscan=0; our $opt_newscan=0;
+    our $opt_ncintron=0; our $opt_frag='';
+    our $opt_breakdown=0; our $opt_nopseudo=0; our $opt_nomerge=0; our $opt_hitsrc=0;
+    our $opt_output=''; our $opt_struct=''; our $opt_stats=''; our $opt_log='';
+    our $opt_prefix=''; our $opt_match=''; our $opt_search='';
+    our $opt_gencode=''; our $opt_cm=''; our $opt_codons=0; 
+    our $opt_tmode=''; our $opt_emode=''; our $opt_fsres=''; our $opt_filter=''; our $opt_falsepos=''; our $opt_missed='';
+    our $opt_score=1000; our $opt_iscore=1000; our $opt_len=-1; our $opt_pad=1000;
+    our $opt_version=0; our $opt_help=0; our $opt_verbose=''; our $opt_forceow=0;
+    our $opt_w=''; our $opt_U=0; our $opt_Y=0;
+
+    Getopt::Long::Configure("bundling", "no_ignore_case", "no_auto_abbrev");
+    my $result = &GetOptions(
+                            # Misc option switches
+                            "help|h",
+                            "acedb|a","brief|b","quiet|q","hitsrc|y","breakdown|H",
+                            "Y",                          
+                            "progress|d","nopseudo|D","codons|N","forceow|Q","nomerge",
+                            # Search mode switches
+                            "bact|B", "arch|A", "organ|O", "general|G",
+                            "eufind|E", "tscan|T", "cove|C","infernal|i", "newscan",
+                            "ncintron", "frag=s",
+                            # file name input specifiers
+                            "gencode|g=s","filter|u=s","cm|c=s",
+                            # file name output specifiers 
+                            "output|o=s","stats|m=s","log|l=s","struct|f=s","fsres|r=s","verbose|v=s","w=s","falsepos|F=s","missed|M=s",
+                            #string parameters
+                            "prefix|p=s","match|n=s","search|s=s","emode|e=s","tmode|t=s",
+                            #numerical parameters
+                            "version|V=f","score|X=f","iscore|I=f","pad|z=i","len|L=i");
+
+    if ($opt_help) {
+        print STDERR "\ntRNAscan-SE $version ($release_date)\n";
+        &display_credits;
+        &print_all_options;
+        exit(0);
+    }
+    if ($#ARGV < 0) {
+        print STDERR "\ntRNAscan-SE $version ($release_date)\n";
+        print STDERR "\nFATAL: No sequence file(s) specified.\n";
+        &print_usage();
+        exit(1);
+    }
+        
+    my $fafile =  $ARGV[0];                         # use input seq file name as prefix
+    $fafile =~ s/\.fa|\.seq$//;                     # for default output file names
+                                                                                                        #  take .seq or .fa extensions off 
+
+    if ($opt_prefix ne '') {                        # use specified prefix for default
+        $fafile = $opt_prefix;                      #  output file names
+    }
+    $opts->fafile($fafile);                         
+
+    if ($opt_forceow != 0) {                        # Do NOT prompt before overwriting pre-existing
+                                                    # output files;  good for use in batch-mode jobs
+        $opts->prompt_for_overwrite(0);
+    }
+
+    if ($opt_output ne '') {                        # set name of result file
+        $opts->results_to_stdout(0);
+        if ($opt_output eq "#") {
+            $opts->out_file("$fafile.out");
+        }            
+        else {
+            $opts->out_file($opt_output);
+        }
+        &check_output_file($opts->out_file(), $opts->prompt_for_overwrite());
+    }
+
+    if ($opt_acedb != 0) {                          # save results in ACeDB output
+        $opts->ace_output(1);
+    }        
+    if ($opt_brief != 0) {                          # use brief output (suppress column header)  
+        $opts->brief_output(1);    
+    }        
+    if ($opt_quiet != 0) {                          # use quite mode (suppress credits & 
+        $opts->quiet_mode(1);                       #  user-selected options)
+    }        
+    
+    if ($opt_hitsrc != 0) {                         # save source of tRNA hit
+        $opts->save_source(1);
+    }
+
+    if ($opt_nopseudo != 0) {          
+        $cm->skip_pseudo_filter(1);                 # disable psuedogene filtering
+    } 
+
+    if ($opt_codons != 0) {          
+        $opts->output_codon(1);                     # translate anticodon to codon for output
+    } 
+
+    if ($opt_match ne '') {                         # search only sequences matching KEY name
+        $opts->seq_key($opt_match);
+        $opts->raw_seq_key($opts->seq_key());       # save original KEY expr
+        my $key = $opts->seq_key();
+        $key =~ s/(\W)/\\$1/g;
+        $key =~ s/\\\*/\\S\*/g;                     # turning KEY into regular expression
+        $key =~ s/\\\?/\\S/g;                       #  notation
+        $key =~ s/[\"\']//g;                        # "
+        $opts->seq_key($key);
+    }
+    elsif ($opt_search ne '') {                     # search all sequences after matching KEY 
+        $opts->start_at_key(1);
+        $opts->seq_key($opt_search);
+        $opts->raw_seq_key($opts->seq_key());       # save original KEY expr
+        my $key = $opts->seq_key();
+        $key =~ s/(\W)/\\$1/g;
+        $key =~ s/\\\*/\\S\*/g;                     # turning KEY into regular expression
+        $key =~ s/\\\?/\\S/g;                       #  notation
+        $key =~ s/[\"\']//g;                        # "
+        $opts->seq_key($key);
+    }
+    else {
+        $opts->seq_key('\S*');
+    }
+
+    if ($opt_organ != 0) {                          # shorthand for setting options
+        $opt_cove = 1;                              # cove mode is best for organellar scans
+        $opt_eufind = 0;                            # (mito/chloroplast)
+        $opt_tscan = 0;
+        $opts->search_mode("general");              # use original "General" tRNA model
+    
+        $opts->org_mode(1);
+        $cm->cm_cutoff(15);                         # lower cove cutoff score
+        $cm->skip_pseudo_filter(1);                 # disable psuedogene checking
+    }
+    
+    if ($opt_bact != 0) {
+        $eufind->eufind_intscore(-36.0);            # cutoff for bacterial tRNAs
+                                                    # using relaxed mode eufindtRNA
+        $opts->search_mode("bacteria");             # use arch/bact SelCys covariance model
+    }
+
+    $cm->CM_check_for_introns(0);
+    $cm->CM_check_for_split_halves(0);
+    if ($opt_arch != 0) {
+        $opts->CM_mode("cove");
+        $eufind->eufind_intscore(-36.0);            # cutoff for bacterial/arch tRNAs
+                                                    # using relaxed mode eufindtRNA
+        $opts->search_mode("archaea");              # use Arch covariance model
+        
+        if ($opt_ncintron != 0) {
+            $cm->CM_check_for_introns(1);           # check for non-canonical introns
+        }
+
+        if ($opt_frag ne '') {
+            $cm->CM_check_for_split_halves(1);      # check for tRNA fragments of split tRNAs
+            if ($opt_frag eq "#") {
+                $opts->split_fragment_file("$fafile.frag");        
+            }
+            elsif (($opt_frag eq "\$") || 
+                   ($opt_frag eq "-")) {              # sends structure output to stdout
+                $opts->split_fragment_file("-");            #  instead of tabular output
+                if ($opts->results_to_stdout()) {
+                    $opts->results_to_stdout(0);
+                    $opts->out_file("/dev/null");      
+                }  
+            }
+            else {
+                $opts->split_fragment_file($opt_frag);
+            }
+            &check_output_file($opts->split_fragment_file(), $opts->prompt_for_overwrite());            
+        }
+    }
+
+    if ($opt_general != 0) {                        # use original general cove model
+        $opts->search_mode("general");              # with all tRNAs from 3 domains
+    }
+
+    if ($opt_newscan && $opt_cove) {
+        die "FATAL: Conflicting search options have been selected. --newscan and -C cannot be used simultaneously.\n";
+    }
+
+    if ($opt_newscan) {                             # use old tRNAscan-SE method for scanning (Cove instead of infernal)
+            $opts->CM_mode("infernal");
+    }
+
+    if ($opt_cove != 0) {                           # do Cove scan only
+        $opts->CM_mode("cove");          
+    }
+    
+    if ($opt_infernal != 0) {                       # do Cove scan only
+        $opts->CM_mode("infernal");          
+    }
+    
+    if ($opt_cove || $opt_infernal) {
+        $opts->tscan_mode(0);                       # don't use tRNAscan unless
+                                                    #  also specified by -T option
+        $opts->eufind_mode(0);                      # don't use eufindtRNA unless
+                                                    #  also specified by -E option
+    }
+    
+    if ($opt_tscan != 0) {                          # do tRNAscan only, skip Cove
+        $opts->tscan_mode(1);
+        $tscan->tscan_params("-s");                 # if only using tRNAscan, use
+        $opts->strict_params(1);                    #  strict tRNAscan 1.3  params
+                                                    #  since Cove won't eliminate high
+                                                    #  false pos rate with default params
+                                                    
+        if (($opt_cove == 0) || ($opt_infernal == 0)) {
+            $opts->CM_mode("");                     # if -C isn't also specified
+        }                                           #  turn off Cove filtering
+                                                    # if -i isn't also specified
+                                                    #  turn off infernal filtering
+
+        if ($opt_eufind == 0) {                     # if -E option isn't also specified
+            $opts->eufind_mode(0);                  #  turn off eufindtRNA
+        }
+    }
+
+    if ($opt_tmode ne '') {                         # set tRNAscan search params
+        $opt_tmode = uc($opt_tmode);
+        if ($opt_tmode eq "R") {
+            $tscan->tscan_params("-r");             # use relaxed tRNAscan params
+            $opts->strict_params(0);
+        }                          
+        elsif ($opt_tmode eq "S") {
+            $tscan->tscan_params("-s");             # use strict tRNAscan v1.3 params  
+            $opts->strict_params(1);
+        }                          
+        elsif ($opt_tmode eq "A") {
+            $tscan->tscan_params("-a");             # use alternate tRNAscan params
+            $opts->strict_params(0);
+        }                           
+        else {
+            print STDERR "\nWARNING: tRNAscan parameter specified",
+            " with -t option not recognized.\n",
+            "         Defaulting to strict tRNAscan params\n\n";
+            $tscan->tscan_params("-s");  
+            $opts->strict_params(1);
+        }
+    }    
+
+    if ($opt_nomerge != 0) {                        # don't merge redundant tRNAscan hits
+                                                    # option only for diagnostic purposes
+        $tscan->keep_tscan_repeats(1);
+    }
+               
+    if ($opt_eufind != 0) {                         # use eufindtRNA 
+        $opts->eufind_mode(1);
+        
+        if (($opt_cove == 0) || ($opt_infernal == 0)) {
+            $opts->CM_mode("");                     # if -C isn't also specified
+        }                                           #  turn off Cove filtering
+                                                    # if -i isn't also specified
+                                                    #  turn off infernal filtering
+                                                    
+        if (!$opts->cove_mode() && !$opts->infernal_mode()) {
+            $eufind->eufind_params("");             # use more strict default params
+                                                    # if no second-pass filtering
+        }
+        else {                                      # use more relaxed params if using
+                                                    # second-pass filtering
+            $eufind->eufind_params("-r");  
+        }
+       if ($opt_tscan == 0) {                       # turn off tRNAscan if not specified
+            $opts->tscan_mode(0);                   # on command line
+        }
+    }
+
+    if ($opt_emode ne '') {                         # set eufindtRNA search params
+        $opt_emode = uc($opt_emode);
+        if ($opt_emode eq "R") {
+            $eufind->eufind_params("-r");           # use relaxed params
+        }                                           # does not look for poly T
+        elsif ($opt_emode eq "N") {
+            $eufind->eufind_params("");             # use default params
+        }                                           # penalizes for no poly T        
+        elsif ($opt_emode eq "S") {
+            $eufind->eufind_params("-s");           # use strict params  
+                                                    # requires poly T 
+            $eufind->eufind_intscore(-31.25);       # default intermediate cutoff
+                                                    # for original algorithm
+        }
+        else {
+            print STDERR "\nWARNING: EufindtRNA parameter specified",
+            " with -e option not recognized.\n",
+            "         Defaulting to relaxed EufindtRNA params\n\n";
+            $eufind->eufind_params("-r");  
+        }
+    }
+
+    if ($opt_iscore != 1000) {
+        $eufind->eufind_intscore($opt_iscore);
+    }
+
+    if ($opt_pad != 1000) {                         # pad both ends of first-pass hits with this
+        $opts->padding($opt_pad);                 # many extra bases before passing to Cove      
+    }
+
+    if ($opt_gencode ne '') {                       # use alternate genetic code table
+        $opts->gc_file($opt_gencode); 
+        $opts->alt_gcode(1);     
+    }
+        
+    if ($opt_breakdown != 0) {                      # get HMM score for tRNA hits
+        $cm->get_hmm_score(1);
+    }
+
+    if ($opt_cm ne '') {                            # use alternate covariance model
+        $cm->alt_cm_file($opt_cm);
+        $cm->skip_pseudo_filter(1);                 # disable psuedogene checking
+        $cm->get_hmm_score(0);                      # don't try to get hmm score
+    }
+    
+    if ($opt_stats ne '') {                         # save stats summary file 
+        $opts->save_stats(1);
+        if ($opt_stats eq "#") {
+            $opts->stats_file("$fafile.stats");
+        }            
+        else {
+            $opts->stats_file($opt_stats);
+        }
+        &check_output_file($opts->stats_file(), $opts->prompt_for_overwrite());
+    }
+
+    if ($opt_w ne '') {                             # save coves secondary structures for 
+       $opts->save_odd_struct(1);                   #  tRNA's whose acodons it couldn't call
+        if ($opt_w eq "#") {
+            $opts->odd_struct_file("$fafile.oddstruct");
+        }
+        else {
+            $opts->odd_struct_file($opt_w);
+        }
+        &check_output_file($opts->odd_struct_file(), $opts->prompt_for_overwrite());
+    }
+    
+    if ($opt_struct ne '') {                        # save all coves secondary structures
+        $opts->save_all_struct(1);
+        if ($opt_struct eq "#") {
+            $opts->all_struct_file("$fafile.ss");        
+        }
+        elsif (($opt_struct eq "\$") || 
+               ($opt_struct eq "-")) {              # sends structure output to stdout
+            $opts->all_struct_file("-");            #  instead of tabular output
+            if ($opts->results_to_stdout()) {
+                $opts->results_to_stdout(0);
+                $opts->out_file("/dev/null");      
+            }  
+        }
+        else {
+            $opts->all_struct_file($opt_struct);
+        }
+        &check_output_file($opts->all_struct_file(), $opts->prompt_for_overwrite());
+    }
+  
+    if ($opt_missed ne '') {                        # save only seqs without a tRNA hit
+        $opts->save_missed(1);
+        if ($opt_missed eq "#") {
+            $opts->missed_seq_file("$fafile.missed");        
+        }
+        else {
+            $opts->missed_seq_file($opt_missed);
+        }
+        &check_output_file($opts->missed_seq_file(),$opts->prompt_for_overwrite());
+    }
+
+                                                    # outputs PID number in file for 
+                                                    # tRNAscan-SE web server program
+    if ($opt_Y != 0) { 
+        &check_output_file("$fafile.pid", $opts->prompt_for_overwrite());
+        &open_for_write(\*TESTF, "$fafile.pid");
+        print TESTF "PID=$$\n";
+        close(TESTF);
+    }
+
+    if ($opt_verbose ne '') {                       # save verbose tRNAscan output
+        $opts->save_verbose(1);
+        my $tmp_verb = &tempname($temp_dir,".vb");  # get temp output file name
+        &check_output_file($tmp_verb, $opts->prompt_for_overwrite());
+        $opts->tscan_params($opts->tscan_params() . "-v $tmp_verb");
+        if ($opt_verbose eq "#") {
+            $opts->verb_file("$fafile.verb");
+        }
+        else {
+            $opts->verb_file($opt_verbose);
+        }
+        &check_output_file($opts->verb_file(),$opts->prompt_for_overwrite());
+    }
+    
+    if ($opt_filter ne '') {                        # use previous results output file
+        $opts->tscan_mode(0);
+        $opts->eufind_mode(0);
+        $opts->use_prev_ts_run(1);    
+        $opts->firstpass_result_file($opt_filter); 
+        if (!(-e $opts->firstpass_result_file())) {
+            die "FATAL: Can't find formatted tRNA output file ",
+                $opts->firstpass_result_file()."\n\n"; 
+        }  
+    }                
+    elsif ($opt_fsres ne '') {                      # create named file for first 
+        $opts->save_firstpass_res(1);               #  pass results
+        if ($opt_fsres eq "#") {
+            $opts->firstpass_result_file("$fafile.fpass.out");
+        }
+        else {
+            $opts->firstpass_result_file($opt_fsres);
+        }
+        &check_output_file($opts->firstpass_result_file(), $opts->prompt_for_overwrite());
+        &init_fp_result_file($opts->firstpass_result_file());
+    }      
+    else {                                          # create temp file for firstpass output
+        $opts->firstpass_result_file(&tempname($temp_dir, ".fpass"));
+        &check_output_file($opts->firstpass_result_file(), $opts->prompt_for_overwrite()); 
+        &init_fp_result_file($opts->firstpass_result_file());
+    }     
+      
+    if ($opt_falsepos ne '') {                      # save false positive tRNAs from 
+        $opts->save_falsepos(1);                    #  first-pass scans that Cove bonked
+        $opts->save_source(1);                      # save source of tRNA hit (-y option)
+        if ($opt_falsepos eq "#") {
+            $opts->falsepos_file("$fafile.fpos");
+        }
+        else {
+            $opts->falsepos_file($opt_falsepos);
+        }
+        &check_output_file($opts->falsepos_file(), $opts->prompt_for_overwrite());
+    }
+
+    if ($opt_len > 0) {             
+        $opts->max_int_len($opt_len);               # set MAX intron+variable loop region size
+                                                    # used in EufindtRNA & Cove
+     
+        if ($opts->use_prev_ts_run() || $opts->eufind_mode()) {
+            $opts->find_long_tRNAs(1);              # look for long tRNAs if needed
+        }
+        else {
+            $cm->max_cove_tRNA_length($opts->max_int_len() + $cm->min_tRNA_no_intron());
+        }
+    }
+    
+    if ($opt_progress != 0) {
+        $log->open_file("-") ||
+            die "FATAL: Unable to open standard out to display program progress\n\n";
+        $opts->display_progress(1);
+    }
+    elsif ($opt_log ne '') {
+        if ($opt_log eq "#") {
+            $opts->log_file("$fafile.log");
+        }
+        else {
+            $opts->log_file($opt_log);
+        }
+        &check_output_file($opts->log_file(), $opts->prompt_for_overwrite());
+        $log->open_file($opts->log_file());
+        $opts->save_progress(1);
+    }
+    else {
+        $log->open_file("/dev/null") ||
+            die "FATAL: Unable to open /dev/null to record program progress\n\n";
+    }
+    
+    if ($opt_version != 0) {                        # use alternate tRNAscan version
+        $tscan->tscan_version($opt_version);
+    }
+
+    if ($opt_score != 1000) {                       # use different Cove-score cutoff for reporting
+                                                    # "real" tRNAs
+        $cm->cm_cutoff($opt_score);                 # dummy opt_X val is 10,000 to avoid overlap 
+                                                    #  with a real value a user might specify
+    }
+    
+    if ($#ARGV == 0) {                              # only one seq file on command line
+        $opts->multiple_files(0);
+        $opts->fasta_file($ARGV[0]);
+    }
+    else {    
+        $opts->multiple_files(1);
+        my $tmp_multiseq_file = &tempname($temp_dir, ".mseq");       
+        &check_output_file($tmp_multiseq_file, $opts->prompt_for_overwrite());
+        foreach my $filename (@ARGV) {
+            system("cat $filename >> $tmp_multiseq_file");
+        }
+        $opts->fasta_file($tmp_multiseq_file);    
+    }
+
+    if ($opts->cove_mode()) {
+        $opts->second_pass_label("Cove");
+    }
+    if ($opts->infernal_mode()) {
+        $opts->second_pass_label("Infernal");
+    }
+    
+    $cm->CM_mode($opts->CM_mode());
+
+    $opts->temp_dir($temp_dir);
+}
diff --git a/tRNAscanSE/CM.pm b/tRNAscanSE/CM.pm
new file mode 100644
index 0000000..ee33eee
--- /dev/null
+++ b/tRNAscanSE/CM.pm
@@ -0,0 +1,2561 @@
+# tRNAscanSE/CM.pm
+# This class contains parameters and functions for running CM tRNA search used in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+# --------------------------------------------------------------
+#
+
+package tRNAscanSE::CM;
+
+use strict;
+use tRNAscanSE::Utils;
+use tRNAscanSE::ScanResult;
+use tRNAscanSE::SS;
+use tRNAscanSE::Sequence;
+
+sub new {
+    my $class = shift;
+    my $self = {};
+
+    initialize($self);
+
+    bless ($self, $class);
+    return $self;
+}
+
+sub DESTROY
+{
+    my $self = shift;
+}
+
+sub initialize
+{
+    my $self = shift;
+    
+    $self->{CM_mode} = "cove";
+    
+    $self->{cm_cutoff} = 20;                    # default cutoff score for covels reporting of tRNA
+    
+    $self->{nci_scan_cutoff} = 70;              # default cutoff score for rescanning noncanonical introns
+    
+    $self->{split_tRNA_scan_cutoff} = 38;       # default cutoff score for rescanning split tRNA
+
+    $self->{half_tRNA_cutoff} = 15;             # default cutoff score for half tRNA
+    
+    $self->{BHB_cm_cutoff} = 5.5;               # default score for considering non-canonical intron
+    
+    $self->{max_tRNA_length} = 500;             # max size of -w parameter passed to covels
+                                                #  when using a pre-scanner (eufind or tRNAscan)
+                                                
+    $self->{max_cove_tRNA_length} = 250;        # max size of -w param if only 
+                                                #  Cove is being used (too slow otherwise)
+                                                
+    $self->{max_cmsearch_tRNA_length} = 250;    # max size of -w param if only 
+                                                #  cmsearch is being used (too slow otherwise)
+
+    $self->{CM_check_for_introns} = 0;          # check for non-canonical introns
+
+    $self->{CM_check_for_split_halves} = 0;     # check for split tRNA fragments
+                                                
+    $self->{min_tRNA_no_intron} = 76;           # min length for average tRNA with no intron
+    
+    $self->{left_splicing_len} = 27;
+    $self->{right_splicing_len} = 28;
+    
+    $self->{min_intron_length} = 5;             # min size of introns detected by parsing of 
+                                                #  coves output
+
+    $self->{skip_pseudo_filter} = 0;            # enable filter for psuedogenes (Cove score <40,
+                                                # primary struct score <10 bits, secondary 
+                                                # structure score < 5 bits)
+                                                
+    $self->{min_cove_pseudo_filter_score} = 55; # Below this score, tRNAs are checked
+                                                # for min primary and secondary structure
+                                                # scores to catch pseudogene repeats
+                                                # like rat ID & rodent B2 elements
+                                                
+     $self->{min_cmsearch_pseudo_filter_score} = 55;     # Below this score, tRNAs are checked
+                                                         # for min primary and secondary structure
+                                                         # scores to catch pseudogene repeats
+                                                         # like rat ID & rodent B2 elements
+                                               
+    $self->{min_ss_score} = 5;                  # Below this secondary structure score,
+                                                #  tRNA is considered a pseudogene
+                                                
+    $self->{min_hmm_score} = 10;                # Below this primary structure score,
+                                                #  tRNA is considered a pseudogene
+
+    $self->{get_hmm_score} = 0;                 # also score tRNA with covariance model
+                                                #  without sec structure info, similar
+                                                #  to getting hmm score for match of 
+                                                #  seq to tRNA hmm  (-H option)
+                                                
+    $self->{alt_cm_file} = '';                  # alternate covariance model file (-c option)
+    
+    $self->{main_cm_file} = '';                 # Convariance model file name
+    $self->{mainNS_cm_file} = '';
+    $self->{arch_gw_scan_cm_file} = '';
+    $self->{arch_intron_cm_file} = '';
+    $self->{arch_five_half_cm_file} = '';
+    $self->{arch_three_half_cm_file} = '';
+    $self->{Pselc_cm_file} = '';
+    $self->{Eselc_cm_file} = '';
+    
+    $self->{main_cm_file_path} = '';            # Convariance model file path
+    $self->{mainNS_cm_file_path} = '';
+    $self->{arch_gw_scan_cm_file_path} = '';
+    $self->{arch_intron_cm_file_path} = '';
+    $self->{arch_five_half_cm_file_path} = '';
+    $self->{arch_three_half_cm_file_path} = '';
+    $self->{Pselc_cm_file_path} = '';
+    $self->{Eselc_cm_file_path} = '';
+
+    $self->{covels_bin} = "covels-SE";          # Application executable name
+    $self->{coves_bin} = "coves-SE";
+    $self->{cmsearch_bin} = "cmsearch";
+
+    $self->{tab_results} = +[];
+}
+
+sub CM_mode
+{
+    my $self = shift;
+    if (@_) { $self->{CM_mode} = shift; }
+    return $self->{CM_mode};
+}
+
+sub cove_mode
+{
+    my $self = shift;
+    return ($self->{CM_mode} eq 'cove');
+}
+
+sub infernal_mode
+{
+    my $self = shift;
+    return ($self->{CM_mode} eq 'infernal');
+}
+
+sub cm_cutoff
+{
+    my $self = shift;
+    if (@_) { $self->{cm_cutoff} = shift; }
+    return $self->{cm_cutoff};
+}
+
+sub BHB_cm_cutoff
+{
+    my $self = shift;
+    if (@_) { $self->{BHB_cm_cutoff} = shift; }
+    return $self->{BHB_cm_cutoff};
+}
+
+sub max_tRNA_length
+{
+    my $self = shift;
+    if (@_) { $self->{max_tRNA_length} = shift; }
+    return $self->{max_tRNA_length};
+}
+
+sub max_cove_tRNA_length
+{
+    my $self = shift;
+    if (@_) { $self->{max_cove_tRNA_length} = shift; }
+    return $self->{max_cove_tRNA_length};
+}
+
+sub max_cmsearch_tRNA_length
+{
+    my $self = shift;
+    if (@_) { $self->{max_cmsearch_tRNA_length} = shift; }
+    return $self->{max_cmsearch_tRNA_length};
+}
+
+sub CM_check_for_introns
+{
+    my $self = shift;
+    if (@_) { $self->{CM_check_for_introns} = shift; }
+    return $self->{CM_check_for_introns};
+}
+
+sub CM_check_for_split_halves
+{
+    my $self = shift;
+    if (@_) { $self->{CM_check_for_split_halves} = shift; }
+    return $self->{CM_check_for_split_halves};
+}
+
+sub min_tRNA_no_intron
+{
+    my $self = shift;
+    if (@_) { $self->{min_tRNA_no_intron} = shift; }
+    return $self->{min_tRNA_no_intron};
+}
+
+sub min_intron_length
+{
+    my $self = shift;
+    if (@_) { $self->{min_intron_length} = shift; }
+    return $self->{min_intron_length};
+}
+
+sub skip_pseudo_filter
+{
+    my $self = shift;
+    if (@_) { $self->{skip_pseudo_filter} = shift; }
+    return $self->{skip_pseudo_filter};
+}
+
+sub min_pseudo_filter_score
+{
+    my $self = shift;
+    if (@_) { $self->{min_pseudo_filter_score} = shift; }
+    return $self->{min_pseudo_filter_score};
+}
+
+sub min_ss_score
+{
+    my $self = shift;
+    if (@_) { $self->{min_ss_score} = shift; }
+    return $self->{min_ss_score};
+}
+
+sub min_hmm_score
+{
+    my $self = shift;
+    if (@_) { $self->{min_hmm_score} = shift; }
+    return $self->{min_hmm_score};
+}
+
+sub get_hmm_score
+{
+    my $self = shift;
+    if (@_) { $self->{get_hmm_score} = shift; }
+    return $self->{get_hmm_score};
+}
+
+sub alt_cm_file
+{
+    my $self = shift;
+    if (@_) { $self->{alt_cm_file} = shift; }
+    return $self->{alt_cm_file};
+}
+
+sub main_cm_file
+{
+    my $self = shift;
+    if (@_) { $self->{main_cm_file} = shift; }
+    return $self->{main_cm_file};
+}
+
+sub mainNS_cm_file
+{
+    my $self = shift;
+    if (@_) { $self->{mainNS_cm_file} = shift; }
+    return $self->{mainNS_cm_file};
+}
+
+sub arch_intron_cm_file
+{
+    my $self = shift;
+    if (@_) { $self->{arch_intron_cm_file} = shift; }
+    return $self->{arch_intron_cm_file};
+}
+
+sub Pselc_cm_file
+{
+    my $self = shift;
+    if (@_) { $self->{Pselc_cm_file} = shift; }
+    return $self->{Pselc_cm_file};
+}
+
+sub Eselc_cm_file
+{
+    my $self = shift;
+    if (@_) { $self->{Eselc_cm_file} = shift; }
+    return $self->{Eselc_cm_file};
+}
+
+sub main_cm_file_path
+{
+    my $self = shift;
+    if (@_) { $self->{main_cm_file_path} = shift; }
+    return $self->{main_cm_file_path};
+}
+
+sub mainNS_cm_file_path
+{
+    my $self = shift;
+    if (@_) { $self->{mainNS_cm_file_path} = shift; }
+    return $self->{mainNS_cm_file_path};
+}
+
+sub arch_intron_cm_file_path
+{
+    my $self = shift;
+    if (@_) { $self->{arch_intron_cm_file_path} = shift; }
+    return $self->{arch_intron_cm_file_path};
+}
+
+sub Pselc_cm_file_path
+{
+    my $self = shift;
+    if (@_) { $self->{Pselc_cm_file_path} = shift; }
+    return $self->{Pselc_cm_file_path};
+}
+
+sub Eselc_cm_file_path
+{
+    my $self = shift;
+    if (@_) { $self->{Eselc_cm_file_path} = shift; }
+    return $self->{Eselc_cm_file_path};
+}
+
+sub covels_bin
+{
+    my $self = shift;
+    if (@_) { $self->{covels_bin} = shift; }
+    return $self->{covels_bin};
+}
+
+sub coves_bin
+{
+    my $self = shift;
+    if (@_) { $self->{coves_bin} = shift; }
+    return $self->{coves_bin};
+}
+
+sub cmsearch_bin
+{
+    my $self = shift;
+    if (@_) { $self->{cmsearch_bin} = shift; }
+    return $self->{cmsearch_bin};
+}
+
+sub tab_results
+{
+    my $self = shift;
+    if (@_) { $self->{tab_results} = shift; }
+    return $self->{tab_results};
+}
+
+sub set_file_paths {
+    
+    my $self = shift;
+    my $opts = shift;
+    
+    if ($opts->general_mode()) {
+        if ($self->infernal_mode()) {
+            $self->{main_cm_file} =   "TRNAinf-c.cm";                # use original covariance model 
+            $self->{mainNS_cm_file} = "TRNAinf-ns-c.cm";             # no sec struct
+        }
+        elsif ($self->cove_mode()) {
+            $self->{main_cm_file} =   "TRNA2.cm";                   # use original covariance model 
+            $self->{mainNS_cm_file} = "TRNA2ns.cm";                 # no sec struct
+        }
+    }
+    elsif ($opts->bact_mode()) {
+        if ($self->infernal_mode()) {
+            $self->{main_cm_file} =   "TRNAinf-bact-c.cm";           # use bacterial covariance model 
+            $self->{mainNS_cm_file} = "TRNAinf-bact-ns-c.cm";        # no sec struct
+        }
+        elsif ($self->cove_mode()) {
+            $self->{main_cm_file} =   "TRNA2-bact.cm";              # use bacterial covariance model 
+            $self->{mainNS_cm_file} = "TRNA2-bactns.cm";            # no sec struct
+        }
+    }
+    elsif ($opts->arch_mode()) {
+        $self->{arch_intron_cm_file} = "Archaea-BHB-noncan.cm";     # model for finding noncanonical tRNAs
+        $self->{arch_five_half_cm_file} = "TRNAinf-arch-5h-nc.cm";         # model for finding 5'half
+        $self->{arch_three_half_cm_file} = "TRNAinf-arch-3h-nc.cm";         # model for finding 3'half
+        $self->{arch_gw_scan_cm_file} = 'TRNAinf-arch-c.cm';
+        if ($self->infernal_mode()) {
+            $self->{main_cm_file} =   "TRNAinf-arch-c.cm";           # use archae covariance model 
+            $self->{mainNS_cm_file} = "TRNAinf-arch-ns-c.cm";        # no sec struct
+        }
+        elsif ($opts->cove_mode()) {
+            $self->{main_cm_file} =   "TRNA2-arch.cm";              # use archae covariance model 
+            $self->{mainNS_cm_file} = "TRNA2-archns.cm";            # no sec struct
+        }
+    }
+    else {
+        if ($self->infernal_mode()) {
+            $self->{main_cm_file} =   "TRNAinf-euk-c.cm";            # default to eukar cove model 
+            $self->{mainNS_cm_file} = "TRNAinf-euk-ns-c.cm";         # no secondary struct
+        }
+        elsif ($self->cove_mode()) {
+            $self->{main_cm_file} =   "TRNA2-euk.cm";               # default to eukar cove model 
+            $self->{mainNS_cm_file} = "TRNA2-eukns.cm";             # no secondary struct
+        }
+    }                           
+    
+    if ($self->{alt_cm_file} ne '') {
+        $self->{main_cm_file} = $self->{Alt_cm_file};               # use alternate cm file specified
+                                                                    #  on command line with -c param
+        if ($self->infernal_mode()) {
+            $self->{mainNS_cm_file} = "TRNAinf-ns-c.cm";
+        }
+        elsif ($self->cove_mode()) {
+            $self->{mainNS_cm_file} = "TRNA2ns.cm";
+        }
+    }
+        
+    if ($self->infernal_mode()) {
+        $self->{Pselc_cm_file} = "PSELCinf-c.cm";
+        $self->{Eselc_cm_file} = "ESELCinf-c.cm";
+    }
+    elsif ($self->cove_mode()) {
+        $self->{Pselc_cm_file} = "PSELC.cm";
+        $self->{Eselc_cm_file} = "ESELC.cm";
+    }
+}
+
+sub check_lib_files {
+    
+    my $self = shift;
+    my $opts = shift;
+    my $lib_dir = shift;
+    
+    if (-r $self->{main_cm_file}) {
+        $self->{main_cm_file_path} = $self->{main_cm_file};
+    }
+    elsif (-r $lib_dir.$self->{main_cm_file}) {
+        $self->{main_cm_file_path} =  $lib_dir.$self->{main_cm_file}; 
+    }
+    else {
+        die "FATAL: Unable to open ".$self->{main_cm_file}." covariance model file\n\n";
+    }
+
+    if (-r $self->{mainNS_cm_file}) {
+        $self->{mainNS_cm_file_path} = $self->{mainNS_cm_file};
+    }
+    elsif (-r $lib_dir.$self->{mainNS_cm_file}) {
+        $self->{mainNS_cm_file_path} =  $lib_dir.$self->{mainNS_cm_file}; 
+    }
+    else {
+        die "FATAL: Unable to open ".$self->{mainNS_cm_file}." covariance model file\n\n";
+    }
+
+    if (-r $self->{Pselc_cm_file}) {
+        $self->{Pselc_cm_file_path} = $self->{Pselc_cm_file};
+    }
+    elsif (-r  $lib_dir.$self->{Pselc_cm_file}) {
+        $self->{Pselc_cm_file_path} =  $lib_dir.$self->{Pselc_cm_file}; 
+    }
+    else {
+        die "FATAL: Unable to open ".$self->{Pselc_cm_file}." covariance model file\n\n";
+    }
+
+    if (-r $self->{Eselc_cm_file}) {
+        $self->{Eselc_cm_file_path} = $self->{Eselc_cm_file};
+    }
+    elsif (-r  $lib_dir.$self->{Eselc_cm_file}) {
+        $self->{Eselc_cm_file_path} =  $lib_dir.$self->{Eselc_cm_file}; 
+    }
+    else {
+        die "FATAL: Unable to open ".$self->{Eselc_cm_file}." covariance model file\n\n";
+    }
+    if ($opts->arch_mode() && ($self->infernal_mode() ||  $self->cove_mode())) {
+        if (-r $self->{arch_gw_scan_cm_file}) {
+            $self->{arch_gw_scan_cm_file_path} = $self->{arch_gw_scan_cm_file};
+        }
+        elsif (-r  $lib_dir.$self->{arch_gw_scan_cm_file}) {
+            $self->{arch_gw_scan_cm_file_path} =  $lib_dir.$self->{arch_gw_scan_cm_file}; 
+        }
+        else {
+            die "FATAL: Unable to open ".$self->{arch_gw_scan_cm_file}." covariance model file\n\n";
+        }
+        if (-r $self->{arch_intron_cm_file}) {
+            $self->{arch_intron_cm_file_path} = $self->{arch_intron_cm_file};
+        }
+        elsif (-r  $lib_dir.$self->{arch_intron_cm_file}) {
+            $self->{arch_intron_cm_file_path} =  $lib_dir.$self->{arch_intron_cm_file}; 
+        }
+        else {
+            die "FATAL: Unable to open ".$self->{arch_intron_cm_file}." covariance model file\n\n";
+        }
+        if (-r $self->{arch_five_half_cm_file}) {
+            $self->{arch_five_half_cm_file_path} = $self->{arch_five_half_cm_file};
+        }
+        elsif (-r  $lib_dir.$self->{arch_five_half_cm_file}) {
+            $self->{arch_five_half_cm_file_path} =  $lib_dir.$self->{arch_five_half_cm_file}; 
+        }
+        else {
+            die "FATAL: Unable to open ".$self->{arch_five_half_cm_file}." covariance model file\n\n";
+        }
+        if (-r $self->{arch_three_half_cm_file}) {
+            $self->{arch_three_half_cm_file_path} = $self->{arch_three_half_cm_file};
+        }
+        elsif (-r  $lib_dir.$self->{arch_three_half_cm_file}) {
+            $self->{arch_three_half_cm_file_path} =  $lib_dir.$self->{arch_three_half_cm_file}; 
+        }
+        else {
+            die "FATAL: Unable to open ".$self->{arch_three_half_cm_file}." covariance model file\n\n";
+        }
+     }
+}
+
+sub set_bin {
+    
+    my $self = shift;
+    my $bindir = shift;
+    
+    if ($^O =~ /^MSWin/) {
+        $self->{cmsearch_bin} .= ".exe";
+        $self->{covels_bin} .= ".exe";
+        $self->{coves_bin} .= ".exe";
+    }
+    if ($self->infernal_mode()) {
+        if (!(-x $self->{cmsearch_bin})) {
+            $self->{cmsearch_bin} = $bindir.$self->{cmsearch_bin};
+            if (!(-x $self->{cmsearch_bin})) {
+                die "FATAL: Unable to find ".$self->{cmsearch_bin}." executable\n\n";
+            }
+        }
+    }
+    if ($self->cove_mode()) {
+        if (!(-x $self->{covels_bin})) {
+            $self->{covels_bin} = $bindir.$self->{covels_bin};
+            if (!(-x $self->{covels_bin})) {
+                die "FATAL: Unable to find ".$self->{covels_bin}." executable\n\n";
+            }
+        }
+        if (!(-x $self->{coves_bin})) {
+            $self->{coves_bin} = $bindir.$self->{coves_bin};
+            if (!(-x $self->{coves_bin})) {
+                die "FATAL: Unable to find ".$self->{coves_bin}." executable\n\n";
+            }
+        }
+    }
+}
+
+sub set_search_params {
+
+    my $self = shift;
+    my $opts = shift;
+    my ($r_scan_len, $r_cur_cm_file,
+           $max_search_tRNA_length, $trna_len, $trna_isotype, $ns_cm) = @_;
+
+    # don't set '-W' param over 200 bp if a pre-scanner is being used,
+    #  use max window of 150 bp if cmsearch only (too slow otherwise)
+    
+    if ($opts->eufind_mode() || $opts->tscan_mode() || $opts->use_prev_ts_run()) {
+        $$r_scan_len = &min($trna_len, $self->{max_tRNA_length});
+    }
+    else {
+        $$r_scan_len = $max_search_tRNA_length;
+    }        
+    
+    # set correct CM file for current tRNA
+    if ($ns_cm) {
+        $$r_cur_cm_file = $self->{mainNS_cm_file_path};
+    }
+    else {
+        $$r_cur_cm_file = $self->{main_cm_file_path};
+    
+        if ($opts->eufind_mode()) {
+            if ($trna_isotype eq "SeCp") {       # use arch/prok selcys model
+                $$r_cur_cm_file = $self->{Pselc_cm_file_path};
+            }
+            elsif  ($trna_isotype eq "SeCe") {    # use euk selcys model
+                $$r_cur_cm_file = $self->{Eselc_cm_file_path};
+            }            
+        }
+    }
+}
+
+# find anticodon loop & a-codon from coves or cmsearch output
+
+sub find_anticodon {                
+
+    my $self = shift;
+    my ($seq, $ss, $undef_anticodon) = @_;
+    my ($antiloop_index, $antiloop, $antiloop_len, $antiloop_end, $ac_index, $anticodon, $verify_ac);
+
+    # Match pattern in secondary structure output, 
+    # looking for second stem-loop structure ">>>>...<<<<"
+    # that should be the anitocodon stem-loop 
+
+    if ($ss =~ /^([>.]+<[<.]+>[>.]*)>([.]{4,})<+/o) {
+
+        # set to index position of first base in anticodon loop
+        $antiloop_index = length($1) + 1;
+        $antiloop_len = length($2);   # anticodon loop length
+    
+        # index of end of anticodon loop
+        $antiloop_end = $antiloop_index + $antiloop_len - 1;
+    
+        $antiloop = substr($seq, $antiloop_index, $antiloop_len);
+    
+        # remove '-' gaps from loop
+        $antiloop =~ s/[\-]//g;      
+        # remove introns & non-canonical bases
+        $antiloop =~ s/[a-z]//g;      
+
+        # Don't guess if even number of bp in 
+        # anticodon loop
+        if ((length($antiloop) < 5) || ((length($antiloop) % 2) == 0)) {
+            return ($undef_anticodon, -1, -1, -1);
+        }
+        # get anticodon 
+        $ac_index = (length($antiloop) - 3) / 2;
+        $anticodon = substr($antiloop, $ac_index, 3);
+        $verify_ac = substr($seq, $ac_index + $antiloop_index, 3);
+    
+        # check to see if anticodon extracted from the entire
+        #  trna sequence (coveseq) is same as that extracted from
+        #  just the anticodon loop sequence (antiloop)
+    
+        if ($verify_ac ne $anticodon) {
+            return ($undef_anticodon, -1, -1, -1);            
+        }
+        return ($anticodon, $antiloop_index, $antiloop_end, $ac_index + $antiloop_index + 1);
+    }
+    else  {
+        return ($undef_anticodon, -1, -1, -1);
+    }
+}
+
+sub find_intron {
+
+    my $self = shift;
+    my ($trna_seq, $antiloop_index, $antiloop_end) = @_;
+    my ($intron, $istart, $iend, $tmpstr, $antiloop_seq);
+    my $min_intron_length = $self->{min_intron_length};
+
+    # check to see if it was unable 
+    # to determine the anticodon loop
+    if ($antiloop_index == -1) {
+        return(0, 0, 0);
+    }
+    # get subsequence from start of anticodon loop
+    # to end of anticodon loop -- look for intron in it
+    $antiloop_seq = substr($trna_seq, $antiloop_index, $antiloop_end - $antiloop_index + 1);
+    
+    if ($antiloop_seq =~ /^(.*[^a-z]+)([a-z]{$min_intron_length,})[^a-z]+/o)  {
+        $intron = $2;
+    
+        # make sure to get the base index for the last (not nec. only) occurrence
+        # of the intron sequence string up to end of anticodon loop
+        $tmpstr = substr($trna_seq, 0, $antiloop_end+1);
+        $istart = index($tmpstr, $intron) + 1; 
+        $iend = length($intron) + $istart - 1;
+    }
+    else {
+            $intron = 0; 
+    }
+    return ($intron, $istart, $iend);
+}                        
+
+# is_pseudo_gene
+#
+# Runs a covariance model without secondary structure 
+# information on predicted tRNA, puts this value
+# in "hmm_score".  
+# Contribution to total score from secondary structure 
+# derived by subtracting hmm_score from total score
+# Returns non-zero if tRNA scores fall below minima
+# for either primary or secondary structure components
+# of score
+
+sub is_pseudo_gene {
+    
+    my $self = shift;
+    my $opts = shift;
+    my ($r_hmm_score, $r_ss_score, $score, $tmp_trnaseq_file, $trna_name, $tRNA_len) = @_;
+    my ($dummy1, $dummy2, $hit_start, $hit_end, $hit_ct, $min_pseudo_filter_score);
+
+    $$r_ss_score = $$r_hmm_score = -1000;   # clear values to be returned
+    $dummy1 = $dummy2 = "";                 # return values not used
+
+    # skip check for pseudo gene if score is above minimum
+    # -D (disable pseudogene checking) is specified 
+    # AND -H option (get hmm scores) is NOT specified
+    if ($self->cove_mode()) {
+        $min_pseudo_filter_score = $self->{min_cove_pseudo_filter_score};
+    }
+    elsif ($self->infernal_mode()) {
+        $min_pseudo_filter_score = $self->{min_cmsearch_pseudo_filter_score};
+    }
+    
+    if ((($score >= $min_pseudo_filter_score) || $self->{skip_pseudo_filter}) && !$self->{get_hmm_score}) {
+        return 0;
+    }
+
+    if ($self->cove_mode())
+    {
+        ($dummy1, $dummy2, $$r_hmm_score) = 
+            $self->run_coves($tmp_trnaseq_file, $trna_name, $self->{mainNS_cm_file_path});
+    }
+    elsif ($self->infernal_mode()) 
+    {
+       ($$r_hmm_score, $hit_start, $hit_end, $hit_ct) = 
+            $self->cmsearch_bestscore($opts, $tmp_trnaseq_file, $trna_name, $tRNA_len, $self->{mainNS_cm_file_path});
+    }
+    else {
+        return -1;                              # Error - no second pass scanner selected
+    }
+    $$r_ss_score = $score - $$r_hmm_score;      # calc secondary structure
+                                                # contribution to total bit score
+
+    if ((($$r_ss_score < $self->{min_ss_score}) || ($$r_hmm_score < $self->{min_hmm_score})) &&
+        ($score < $min_pseudo_filter_score)) {
+            return 1;
+    }
+}    
+
+# Get tRNA anticodon, isotype, intron location, and pseudogene status
+
+sub decode_tRNA_properties {
+
+    my $self = shift;
+    my $opts = shift;
+    my $gc = shift;
+    my $log = shift;
+    my ($trna_score, $trna_seq, $trna_ss, $r_prescan_tRNA, $trna_start, $trna_end, $cur_cm_file, $tmp_trnaseq_file) = @_;
+
+    my ($anticodon, $acodon_index, $trna_type, $intron, $istart, $iend, @introns,
+          $hmm_score, $ss_score, $pseudo_gene_flag,
+          $antiloop_index, $antiloop_end, $trna_len, $scan_len);
+
+    $anticodon = "ERR";
+
+    if ($self->cove_mode() || $self->infernal_mode()) {
+        ($anticodon, $antiloop_index, $antiloop_end, $acodon_index) = 
+            $self->find_anticodon($trna_seq, $trna_ss, $gc->undef_anticodon()); 
+    }
+    else {
+        die "Second pass mode not selected -- can't decode tRNA type\n\n";
+    }
+    
+    # check for problem parsing anticodon loop 
+    if (($anticodon eq $gc->undef_anticodon()) || ($trna_seq  eq 'Error'))    
+    {
+        $anticodon = $gc->undef_anticodon();
+        $trna_type = $gc->undef_isotype();
+        $intron = 0;        
+        
+        if ($opts->save_odd_struct()) {     
+            open(ODDTRNA, ">>".$opts->odd_struct_file()) ||
+                die "FATAL: Can't open ".$opts->odd_struct_file()." to save seconary structures\n\n"; 
+            print ODDTRNA "$r_prescan_tRNA->{name} ($trna_start-$trna_end):\n$trna_seq\n$trna_ss\n\n"; 
+            close(ODDTRNA);
+        }
+    }
+    else {                               # continue tRNA struct parsing
+        ($intron, $istart, $iend) = 
+            $self->find_intron($trna_seq, $antiloop_index, $antiloop_end);
+        
+        if ($intron) {
+            push(@introns, {seq=>$intron, start=>$istart, end=>$iend, type=>"CI"});
+        }
+        
+        if (defined $r_prescan_tRNA->{acodon}) {
+            if (($anticodon ne (uc($r_prescan_tRNA->{acodon}))) && 
+                ($opts->tscan_mode() || $opts->eufind_mode()) && ($opts->strict_params())) {
+                $log->write_line("\n$r_prescan_tRNA->{name} - anticondon conflict\t".$opts->second_pass_label().": $anticodon\tfirstpass ($r_prescan_tRNA->{hit_source})".
+                    ": $r_prescan_tRNA->{acodon}\n$trna_seq\n$trna_ss\n"); 
+            }
+        }
+        
+        $trna_type = $gc->get_tRNA_type($self, $anticodon, $cur_cm_file);
+    }
+        
+    $pseudo_gene_flag = 0;
+    $hmm_score = $ss_score = 0;
+    
+    # Write current tRNA to temp file for re-analysis with other models
+    $trna_len = length($trna_seq);
+    &write_tRNA($tmp_trnaseq_file, $r_prescan_tRNA->{name}, "", $trna_seq, 1);
+    
+    if (($trna_type !~ /SeC/) &&
+        ($self->is_pseudo_gene($opts, \$hmm_score, \$ss_score, $trna_score, $tmp_trnaseq_file, $r_prescan_tRNA->{name}, $trna_len)) &&
+        (!$self->{skip_pseudo_filter}))
+    {
+        $pseudo_gene_flag = 1;     # set to non-zero for likely
+    }                              #  pseudogenes
+    
+    return ($anticodon, $acodon_index, $trna_type, \@introns, 
+            $hmm_score, $ss_score, $pseudo_gene_flag);
+}
+
+
+sub scan_split_tRNAs {
+
+    my $self = shift;
+    my $opts = shift;
+    my $constants = shift;
+    my $stats = shift;
+    my $gc = shift;
+    my $log = shift;
+    my $r_sec_pass_hits = shift;
+    
+    my $r_pair = {};
+    my ($r_pairs_index, $r_five_half_hits, $r_three_half_hits) = $self->scan_split_tRNA_halves($opts, $constants, $stats, $gc, $log, $r_sec_pass_hits);   
+    my ($r_pairs) = $self->scan_split_tRNAs_in_long_introns($opts, $constants, $stats, $gc, $log, $r_sec_pass_hits);
+    
+    if (scalar(@$r_pairs) > 0) {
+        my $five_half_count = scalar(@$r_five_half_hits);
+        my $three_half_count = scalar(@$r_three_half_hits);
+        
+        for (my $ct = 0; $ct < scalar(@$r_pairs); $ct++) {
+            push(@$r_five_half_hits, $r_pairs->[$ct]->{"5h"});
+            push(@$r_three_half_hits, $r_pairs->[$ct]->{"3h"});
+            $r_pair = {};
+            $r_pair->{"5h"} = $five_half_count;
+            $r_pair->{"3h"} = $three_half_count;
+            push(@$r_pairs_index, $r_pair);
+            $five_half_count++;
+            $three_half_count++;
+        }
+    }
+    
+    &output_split_fragments($opts, $r_pairs_index, $r_five_half_hits, $r_three_half_hits);
+}
+
+sub scan_split_tRNA_halves {
+
+    my $self = shift;
+    my $opts = shift;
+    my $constants = shift;
+    my $stats = shift;
+    my $gc = shift;
+    my $log = shift;
+    my $r_sec_pass_hits = shift;
+    
+    my $tmp_trnaseq_file = $constants->tmp_trnaseq_file();
+    
+    my (@five_half_hits, @three_half_hits, $five_half_count, $three_half_count, $r_five_half_hit, $r_three_half_hit, $index_5h, $index_3h,
+        $acceptor_half_seq, $rc_seq, $rc_acceptor_half_seq, $r_pair, @pairs);
+    
+    my ($r_valid, $match, $intron_len, $r_intron, $split_trna_ct);
+    
+    my ($cur_cm_file, $cms_output, @half_hit_list, $r_cm_hit);
+    
+    $split_trna_ct = 0;
+    
+    my $seq_file = tRNAscanSE::Sequence->new;
+    my @sorted_cm_hits = sort sort_cm_hits_by_start @$r_sec_pass_hits;
+    
+    # find 5'half and 3'half tRNA hits using cmsearch
+    $seq_file->mask_out_sequence($opts->fasta_file(), $constants->tmp_masked_fa(), \@sorted_cm_hits);
+    $cur_cm_file = $self->{arch_five_half_cm_file_path};
+    if (!$self->run_gw_cmsearch($opts, $log, \@five_half_hits, \$cur_cm_file, $constants->tmp_masked_fa(), "", 1)) {
+        return 0;
+    }
+    $cur_cm_file = $self->{arch_three_half_cm_file_path};
+    if (!$self->run_gw_cmsearch($opts, $log, \@three_half_hits, \$cur_cm_file, $constants->tmp_masked_fa(), "", 1)) {
+        return 0;
+    }
+
+    foreach $r_cm_hit (@$r_sec_pass_hits) {
+        $intron_len = 0;
+        $match = 0;
+        if (scalar(@{$r_cm_hit->{introns}}) > 0) {           
+            foreach $r_intron (@{$r_cm_hit->{introns}}) {
+                if ($r_intron->{type} eq "CI") {
+                    $intron_len = length($r_intron->{seq});
+                }
+            }
+        }
+        if ($r_cm_hit->{score} < $self->{split_tRNA_scan_cutoff}) {
+            $r_valid = &valid_structure($r_cm_hit->{ss}, $intron_len);
+            if (!$r_valid->{tRNA}) {
+                @half_hit_list = ();
+                &write_tRNA($tmp_trnaseq_file, $r_cm_hit->{seqname}, " ", $r_cm_hit->{seq}, 1);
+                $cur_cm_file = $self->{arch_five_half_cm_file_path};
+                if (!$self->exec_cmsearch(0, \$cur_cm_file, 0, $tmp_trnaseq_file, $r_cm_hit->{seqname}, \$cms_output)) {
+                    return 0;
+                }
+                $self->parse_cmsearch($cms_output, \@half_hit_list, 0, $r_cm_hit, 1);
+                foreach $r_five_half_hit (@half_hit_list) {
+                    if ($r_five_half_hit->{score} >= $self->{half_tRNA_cutoff}) {
+                        push(@five_half_hits, $r_five_half_hit);
+                        $match = 1;
+                        last;
+                    }
+                }
+                
+                if (!$match) {
+                    @half_hit_list = ();
+                    $cur_cm_file = $self->{arch_three_half_cm_file_path};
+                    if (!$self->exec_cmsearch(0, \$cur_cm_file, 0, $tmp_trnaseq_file, $r_cm_hit->{seqname}, \$cms_output)) {
+                        return 0;
+                    }
+                    $self->parse_cmsearch($cms_output, \@half_hit_list, 0, $r_cm_hit, 1);
+                    foreach $r_three_half_hit (@half_hit_list) {
+                        if ($r_three_half_hit->{score} >= $self->{half_tRNA_cutoff}) {
+                            push(@three_half_hits, $r_three_half_hit);
+                            $match = 1;
+                            last;
+                        }
+                    }                    
+                }
+            }
+        }
+    }
+
+    $five_half_count = 0; $three_half_count = 0;
+    foreach $r_five_half_hit (@five_half_hits) {
+        $r_five_half_hit->{seqname} = $r_five_half_hit->{hit_seqname};
+        $r_five_half_hit->{start} = $r_five_half_hit->{tRNA_start};
+        $r_five_half_hit->{end} = $r_five_half_hit->{tRNA_end};
+        $five_half_count++ if ($r_five_half_hit->{score} >= $self->{half_tRNA_cutoff});
+    }
+    foreach $r_three_half_hit (@three_half_hits) {
+        $r_three_half_hit->{seqname} = $r_three_half_hit->{hit_seqname};
+        $r_three_half_hit->{start} = $r_three_half_hit->{tRNA_start};
+        $r_three_half_hit->{end} = $r_three_half_hit->{tRNA_end};
+        $three_half_count++ if ($r_three_half_hit->{score} >= $self->{half_tRNA_cutoff});
+    }
+
+    @five_half_hits = sort sort_cm_hits_by_start @five_half_hits;
+    @three_half_hits = sort sort_cm_hits_by_start @three_half_hits;
+    
+    if ($five_half_count >= $three_half_count) {
+        for ($index_5h = 0; $index_5h < scalar(@five_half_hits); $index_5h++) {
+            if ($five_half_hits[$index_5h]->{score} >= $self->{half_tRNA_cutoff}) {
+                $acceptor_half_seq = uc(&get_acceptor_half($five_half_hits[$index_5h]->{seq}, $five_half_hits[$index_5h]->{ss}, "5h"));
+                $rc_seq = &rev_comp_seq($acceptor_half_seq);
+                $rc_seq =~ s/C/\[CT\]/g;
+                foreach ($index_3h = 0; $index_3h < scalar(@three_half_hits); $index_3h++) {
+                    if ($three_half_hits[$index_3h]->{score} >= $self->{half_tRNA_cutoff}) {
+                        $rc_acceptor_half_seq = uc(&get_acceptor_half($three_half_hits[$index_3h]->{seq}, $three_half_hits[$index_3h]->{ss}, "3h"));
+                        if ($rc_acceptor_half_seq =~ /$rc_seq/) {
+                            $r_pair = {};
+                            $r_pair->{"5h"} = $index_5h;
+                            $r_pair->{"3h"} = $index_3h;
+                            push(@pairs, $r_pair);
+                            $five_half_hits[$index_5h]->{pair} = 1;
+                            $three_half_hits[$index_3h]->{pair} = 1;
+                        }
+                    }
+                }
+            }
+        }
+    }
+    else {
+        for ($index_3h = 0; $index_3h < scalar(@three_half_hits); $index_3h++) {
+            if ($three_half_hits[$index_3h]->{score} >= $self->{half_tRNA_cutoff}) {
+                $acceptor_half_seq = uc(&get_acceptor_half($three_half_hits[$index_3h]->{seq}, $three_half_hits[$index_3h]->{ss}, "3h"));
+                $rc_seq = &rev_comp_seq($acceptor_half_seq);
+                $rc_seq =~ s/C/\[CT\]/g;
+                foreach ($index_5h = 0; $index_5h < scalar(@five_half_hits); $index_5h++) {
+                    if ($five_half_hits[$index_5h]->{score} >= $self->{half_tRNA_cutoff}) {
+                        $rc_acceptor_half_seq = uc(&get_acceptor_half($five_half_hits[$index_5h]->{seq}, $five_half_hits[$index_5h]->{ss}, "5h"));
+                        if ($rc_acceptor_half_seq =~ /$rc_seq/) {
+                            $r_pair = {};
+                            $r_pair->{"5h"} = $index_5h;
+                            $r_pair->{"3h"} = $index_3h;
+                            push(@pairs, $r_pair);
+                            $five_half_hits[$index_5h]->{pair} = 1;
+                            $three_half_hits[$index_3h]->{pair} = 1;
+                        }
+                    }
+                }
+            }
+        }        
+    }
+
+    for ($index_5h = 0; $index_5h < scalar(@five_half_hits); $index_5h++) {
+        if ($five_half_hits[$index_5h]->{score} >= $self->{half_tRNA_cutoff}) {
+            if (!defined $five_half_hits[$index_5h]->{pair}) {
+                $r_pair = {};
+                $r_pair->{"5h"} = $index_5h;
+                push(@pairs, $r_pair);
+            }
+        }
+    }
+    for ($index_3h = 0; $index_3h < scalar(@three_half_hits); $index_3h++) {
+        if ($three_half_hits[$index_3h]->{score} >= $self->{half_tRNA_cutoff}) {
+            if (!defined $three_half_hits[$index_3h]->{pair}) {
+                $r_pair = {};
+                $r_pair->{"3h"} = $index_3h;
+                push(@pairs, $r_pair);
+            }
+        }
+    }
+    
+    return (\@pairs, \@five_half_hits, \@three_half_hits);
+}
+
+sub scan_split_tRNAs_in_long_introns {
+
+    my $self = shift;
+    my $opts = shift;
+    my $constants = shift;
+    my $stats = shift;
+    my $gc = shift;
+    my $log = shift;
+    my $r_sec_pass_hits = shift;
+    
+    my $tmp_trnaseq_file = $constants->tmp_trnaseq_file();
+    my ($r_valid, $scan_flag, $intron_len, $skip, $scan_trna_seq, $over_cutoff_count,
+        @rescan_trna_hits, @five_half_hit_list, @three_half_hit_list, @pairs, $r_pair, $trna_ct, $split_trna_ct);
+    
+    my ($cur_cm_file, $cms_output, $r_cm_hit, $r_cm_hit2, $r_cm_hit_temp, $r_intron, @intron_hit_list, $intron_idx);
+    
+    $split_trna_ct = 0;
+    foreach $r_cm_hit (@$r_sec_pass_hits) {
+        $scan_flag = 0;
+        $intron_len = 0;
+        $intron_idx = -1;
+        if (scalar(@{$r_cm_hit->{introns}}) > 0) {           
+            foreach $r_intron (@{$r_cm_hit->{introns}}) {
+                $intron_idx++;
+                if ((length($r_intron->{seq}) > 100) && ($r_cm_hit->{isotype} ne "Trp") && ($r_cm_hit->{isotype} ne "Tyr")) {
+                    $scan_flag = 1;
+                    last;
+                }
+            }
+        }
+        if ($scan_flag) {
+            $r_cm_hit_temp = {};
+            $r_cm_hit_temp->{start} = 1;
+            $r_cm_hit_temp->{strand} = 1;
+            $r_cm_hit_temp->{hit_source} = $r_cm_hit->{hit_source};
+            $r_cm_hit_temp->{seqname} = $r_cm_hit->{seqname};
+            $r_cm_hit_temp->{src_seqname} = $r_cm_hit->{seqname};
+            $r_cm_hit_temp->{upstream} = "";
+            $r_cm_hit_temp->{downstream} = "";
+
+             $scan_trna_seq = uc(substr($r_cm_hit->{seq}, $r_cm_hit->{introns}->[$intron_idx]->{start} - 13, $self->{left_splicing_len}) .
+                substr($r_cm_hit->{seq}, $r_cm_hit->{introns}->[$intron_idx]->{end} - $self->{right_splicing_len} + 8, $self->{right_splicing_len}));
+            
+            &write_tRNA($tmp_trnaseq_file, $r_cm_hit->{seqname}, " ", $scan_trna_seq, 1);
+            
+            $cur_cm_file = $self->{arch_intron_cm_file_path};
+            if (!$self->run_cmsearch_intron($opts, $log, \@intron_hit_list, \$cur_cm_file, $r_cm_hit, $tmp_trnaseq_file, \$over_cutoff_count)) {
+                return 0;
+            }
+            if ($over_cutoff_count > 0) {
+                $scan_trna_seq = $r_cm_hit->{seq};
+                $scan_trna_seq =~ s/$r_cm_hit->{introns}->[$intron_idx]->{seq}//;
+                $r_cm_hit_temp->{seq} = $scan_trna_seq;
+                $r_cm_hit_temp->{len} = length($scan_trna_seq);
+                $r_cm_hit_temp->{end} = $r_cm_hit_temp->{len};
+                &write_tRNA($tmp_trnaseq_file, $r_cm_hit->{seqname}, " ", $scan_trna_seq, 1);
+
+                if ($opts->cove_mode()) 
+                {
+                    $trna_ct = $self->analyze_with_cove($opts, $constants, $stats, $gc, $log, "tRNAscan-SE",
+                                               $r_cm_hit_temp, $tmp_trnaseq_file, \$trna_ct, \@rescan_trna_hits);
+                }
+                elsif ($opts->infernal_mode()) 
+                {
+                    $trna_ct = $self->analyze_with_cmsearch($opts, $constants, $stats, $gc, $log, "tRNAscan-SE",
+                                                   $r_cm_hit_temp, $tmp_trnaseq_file, \$trna_ct, \@rescan_trna_hits);
+                }
+                
+                if ((scalar(@rescan_trna_hits) > 0) && ($rescan_trna_hits[0]->{score} >= $r_cm_hit->{score})) {
+                    $split_trna_ct++;
+
+                    &write_tRNA($tmp_trnaseq_file, $r_cm_hit->{seqname}, " ", $scan_trna_seq, 1);
+
+                    $cur_cm_file = $self->{arch_five_half_cm_file_path};
+                    if (!$self->exec_cmsearch(0, \$cur_cm_file, 0, $tmp_trnaseq_file, $r_cm_hit->{seqname}, \$cms_output)) {
+                        return 0;
+                    }
+                    $self->parse_cmsearch($cms_output, \@five_half_hit_list, 0, $rescan_trna_hits[0], 1);
+
+                    $cur_cm_file = $self->{arch_three_half_cm_file_path};
+                    if (!$self->exec_cmsearch(0, \$cur_cm_file, 0, $tmp_trnaseq_file, $r_cm_hit->{seqname}, \$cms_output)) {
+                        return 0;
+                    }
+                    $self->parse_cmsearch($cms_output, \@three_half_hit_list, 0, $rescan_trna_hits[0], 1);
+
+                    if (scalar(@five_half_hit_list) > 0 && scalar(@three_half_hit_list) > 0) {
+                        $five_half_hit_list[0]->{tRNA_start} = $r_cm_hit->{start};
+                        if ($r_cm_hit->{strand}) {	
+                            $five_half_hit_list[0]->{tRNA_end} = ($r_cm_hit->{introns}->[$intron_idx]->{start} + $r_cm_hit->{start} - 2);
+    						$three_half_hit_list[0]->{tRNA_start} = ($r_cm_hit->{introns}->[$intron_idx]->{end} + $r_cm_hit->{start});
+                        }
+                        else {
+                            $five_half_hit_list[0]->{tRNA_end} = ($r_cm_hit->{start} - $r_cm_hit->{introns}->[$intron_idx]->{start} + 2);
+                            $three_half_hit_list[0]->{tRNA_start} = ($r_cm_hit->{start} - $r_cm_hit->{introns}->[$intron_idx]->{end});
+                        }                        
+                        $three_half_hit_list[0]->{tRNA_end} = $r_cm_hit->{end};
+                        $r_pair = {};
+                        $r_pair->{"5h"} = $five_half_hit_list[0];
+                        $r_pair->{"3h"} = $three_half_hit_list[0];
+                        push(@pairs, $r_pair);
+                    }
+                }
+            }
+        }
+    }
+    return \@pairs;
+}
+
+sub scan_noncanonical_introns {
+
+    my $self = shift;
+    my $opts = shift;
+    my $constants = shift;
+    my $stats = shift;
+    my $gc = shift;
+    my $log = shift;
+    my $seq_file = shift;
+    my $r_sec_pass_hits = shift;
+    
+    my $tmp_trnaseq_file = $constants->tmp_trnaseq_file();
+    my ($r_valid, $scan_flag, $skip, $ci_intron_index, $scan_trna_seq, $over_cutoff_count,
+        $best_score, $total_intron_len, $new_start, $r_new_intron, @rescan_trna_hits, $trna_ct);
+    my ($partial_scan_trna_seq, @partial_intron_hit_list, $partial_over_cutoff_count, $last_end);
+    
+    my ($cur_cm_file, $r_cm_hit, $r_cm_hit_temp, @extra_cm_hit_list, $r_intron, $r_intron_hit, @intron_hit_list, $tRNA_seq, $upstream, $downstream);
+    my ($anticodon, $acodon_index, $isotype, $r_introns, $hmm_score, $ss_score, $pseudo_gene_flag);
+    my ($cur_tRNA_ct) = 0;
+    
+    my $masked_seq_file = tRNAscanSE::Sequence->new;
+    my @sorted_cm_hits = sort sort_cm_hits_by_start @$r_sec_pass_hits;
+   
+    # find extra tRNA hits using cmsearch
+    $masked_seq_file->mask_out_sequence($opts->fasta_file(), $constants->tmp_masked_fa(), \@sorted_cm_hits);
+    if (!$self->run_gw_cmsearch($opts, $log, \@extra_cm_hit_list, \$cur_cm_file, $constants->tmp_masked_fa(), "", 0)) {
+        return 0;
+    }
+
+    foreach my $r_extra_hit (@extra_cm_hit_list)
+    {
+        if ($r_extra_hit->{score} >= $self->{cm_cutoff}) {
+            ($tRNA_seq, $upstream, $downstream) = $seq_file->get_tRNA_sequence($r_extra_hit->{hit_seqname}, $r_extra_hit->{strand},
+                                                                               $r_extra_hit->{tRNA_start}, $r_extra_hit->{tRNA_end},
+                                                                               $log, $opts, $constants);
+            $r_extra_hit->{name} = $r_extra_hit->{hit_seqname};
+            
+            &write_tRNA($tmp_trnaseq_file, $r_extra_hit->{hit_seqname}, " ", $r_extra_hit->{seq}, 1);
+    
+            ($anticodon, $acodon_index, $isotype, $r_introns, $hmm_score, $ss_score, $pseudo_gene_flag) = 
+                 $self->decode_tRNA_properties ($opts, $gc, $log, $r_extra_hit->{score}, $r_extra_hit->{seq}, $r_extra_hit->{ss}, $r_extra_hit,
+                              $r_extra_hit->{tRNA_start}, $r_extra_hit->{tRNA_end}, $cur_cm_file, $tmp_trnaseq_file);
+            
+            $r_cm_hit = {};     
+            $r_cm_hit =
+                {seqname =>$r_extra_hit->{hit_seqname}, score=>$r_extra_hit->{score}, ss=>$r_extra_hit->{ss}, seq=>$r_extra_hit->{seq}, model=>$r_extra_hit->{model},
+                 start=>$r_extra_hit->{tRNA_start}, end=>$r_extra_hit->{tRNA_end}, len=>$r_extra_hit->{tRNA_len}, ID=>$r_extra_hit->{name},
+                 acodon=>$anticodon, acodon_pos =>$acodon_index, isotype=>$isotype,
+                 introns=>$r_introns, hmm_score=>$hmm_score, 
+                 ss_score=>$ss_score, is_pseudo=>$pseudo_gene_flag,
+                 src_seqlen=>3, src_seqname=>$r_extra_hit->{hit_seqname},
+                 strand=>$r_extra_hit->{strand}, hit_source=>"Inf",
+                 upstream=>$upstream, downstream=>$downstream, extra=>1};
+                
+            push (@$r_sec_pass_hits, $r_cm_hit);
+        }
+    }
+    
+    # scan for noncanonical introns
+    $cur_cm_file = $self->{arch_intron_cm_file_path};
+    foreach $r_cm_hit (sort sort_cm_hits_for_output @$r_sec_pass_hits) {
+        
+        $scan_flag = 0;
+        
+        # renumber tRNA hits
+        $cur_tRNA_ct++;
+        $r_cm_hit->{ID} = $r_cm_hit->{seqname}.".t".$cur_tRNA_ct;
+        
+        if ($r_cm_hit->{extra}) {
+            $scan_flag = 1;
+        }
+        else {
+            if (scalar(@{$r_cm_hit->{introns}}) > 0) {
+                $r_valid = &valid_structure($r_cm_hit->{ss}, length($r_cm_hit->{introns}->[0]->{seq}));
+            }
+            else {
+                $r_valid = &valid_structure($r_cm_hit->{ss}, 0);
+            }
+            if (scalar(@{$r_cm_hit->{introns}}) > 0) {
+                $scan_flag = 1;
+            }
+            elsif ($r_cm_hit->{acodon} eq "???") {
+                $scan_flag = 1;
+            }
+            elsif ($r_cm_hit->{score} < $self->{nci_scan_cutoff}) {
+                if (!$r_valid->{tRNA}) {
+                    $scan_flag = 1;
+                }
+            }
+        }
+        
+        if ($scan_flag) {
+
+            $log->write_line("Scan for noncanonical intron ".$r_cm_hit->{ID}."-".$r_cm_hit->{isotype}.$r_cm_hit->{acodon});
+ 
+            $total_intron_len = 0;
+            @intron_hit_list = ();
+            $best_score = $r_cm_hit->{score};
+            $r_cm_hit_temp = {};
+            $r_cm_hit_temp->{start} = 1;
+            $r_cm_hit_temp->{strand} = 1;
+            $r_cm_hit_temp->{hit_source} = $r_cm_hit->{hit_source};
+            $r_cm_hit_temp->{seqname} = $r_cm_hit->{seqname};
+            $r_cm_hit_temp->{src_seqname} = $r_cm_hit->{seqname};
+            $r_cm_hit_temp->{upstream} = "";
+            $r_cm_hit_temp->{downstream} = "";
+            
+            $scan_trna_seq = uc($r_cm_hit->{upstream}.$r_cm_hit->{seq}.$r_cm_hit->{downstream});
+            $partial_scan_trna_seq = uc($r_cm_hit->{upstream}.substr($r_cm_hit->{seq}, 0, 12));
+            $r_cm_hit_temp->{seq} = $scan_trna_seq;
+            $r_cm_hit_temp->{precursor} = $scan_trna_seq;
+            $r_cm_hit_temp->{len} = length($scan_trna_seq);
+            $r_cm_hit_temp->{end} = $r_cm_hit_temp->{len};
+            
+            &write_tRNA($tmp_trnaseq_file, $r_cm_hit->{seqname}, " ", $scan_trna_seq, 1);
+            
+            if (!$self->run_cmsearch_intron($opts, $log, \@intron_hit_list, \$cur_cm_file, $r_cm_hit, $tmp_trnaseq_file, \$over_cutoff_count)) {
+                return 0;
+            }
+
+            &write_tRNA($tmp_trnaseq_file, $r_cm_hit->{seqname}, " ", $partial_scan_trna_seq, 1);
+            
+            if (!$self->run_cmsearch_intron($opts, $log, \@partial_intron_hit_list, \$cur_cm_file, $r_cm_hit, $tmp_trnaseq_file, \$partial_over_cutoff_count)) {
+                return 0;
+            }
+            foreach $r_intron_hit (@intron_hit_list) {
+                $skip = 0;
+                $ci_intron_index = -1;
+                $r_intron_hit->{overlap} = $ci_intron_index;
+                if ($r_intron_hit->{score} >= $self->{BHB_cm_cutoff}) {
+                    foreach $r_intron (@{$r_cm_hit->{introns}}) {
+                        $ci_intron_index++;
+                        if ($r_intron->{type} eq "CI") {
+                            if ($r_intron_hit->{intron_seq} eq uc($r_intron->{seq})) {
+                                $skip = 1;
+                                last;
+                            }
+                            elsif (($r_intron_hit->{start} >= $r_intron->{start} && $r_intron_hit->{start} <= $r_intron->{end}) ||
+                                    ($r_intron_hit->{end} >= $r_intron->{start} && $r_intron_hit->{end} <= $r_intron->{end})) {
+                                $r_intron_hit->{overlap} = $ci_intron_index;
+                                last;
+                            }
+                        }
+                    }
+                    if (!$skip) {
+                        if (($r_intron_hit->{tRNA_start} < $r_cm_hit->{start} && $r_cm_hit->{strand}) ||
+                            ($r_intron_hit->{tRNA_start} > $r_cm_hit->{start} && !$r_cm_hit->{strand})) {
+                            if ($r_valid->{acceptor}) {
+                                $skip = 1;
+                            }
+                        }
+                    }
+                    if (!$skip) {
+                        @rescan_trna_hits = ();
+                        my $idx_intron = index($scan_trna_seq, $r_intron_hit->{intron_seq});
+                        $scan_trna_seq = substr($scan_trna_seq, 0, $idx_intron) . substr($scan_trna_seq, $idx_intron + $r_intron_hit->{intron_len});
+                        $r_cm_hit_temp->{seq} = $scan_trna_seq;
+                        $r_cm_hit_temp->{len} = length($scan_trna_seq);
+                        $r_cm_hit_temp->{end} = $r_cm_hit_temp->{len};
+                        &write_tRNA($tmp_trnaseq_file, $r_cm_hit->{seqname}, " ", $scan_trna_seq, 1);
+                        
+                        if ($opts->cove_mode()) 
+                        {
+                            $trna_ct = $self->analyze_with_cove($opts, $constants, $stats, $gc, $log, "tRNAscan-SE",
+                                                       $r_cm_hit_temp, $tmp_trnaseq_file, \$trna_ct, \@rescan_trna_hits);
+                        }
+                        elsif ($opts->infernal_mode()) 
+                        {
+                            $trna_ct = $self->analyze_with_cmsearch($opts, $constants, $stats, $gc, $log, "tRNAscan-SE",
+                                                           $r_cm_hit_temp, $tmp_trnaseq_file, \$trna_ct, \@rescan_trna_hits);
+                        }
+                        
+                        if (scalar(@rescan_trna_hits) > 0) {
+                            if ($rescan_trna_hits[0]->{score} > $best_score) {
+                                $best_score = $rescan_trna_hits[0]->{score};
+                                $total_intron_len += $r_intron_hit->{intron_len};
+                                $r_cm_hit->{acodon} = $rescan_trna_hits[0]->{acodon};
+                                $r_cm_hit->{acodon_pos} = $rescan_trna_hits[0]->{acodon_pos};
+                                $r_cm_hit->{isotype} = $rescan_trna_hits[0]->{isotype};
+                                $r_cm_hit->{score} = $rescan_trna_hits[0]->{score};
+                                $r_cm_hit->{hmm_score} = $rescan_trna_hits[0]->{hmm_score};
+                                $r_cm_hit->{ss_score} = $rescan_trna_hits[0]->{ss_score};
+                                $r_cm_hit->{is_pseudo} = $rescan_trna_hits[0]->{is_pseudo};
+                                $r_cm_hit->{ss} = $rescan_trna_hits[0]->{ss};
+                                $r_cm_hit->{seq} = $rescan_trna_hits[0]->{seq};
+                                $r_cm_hit->{precursor} = substr($r_cm_hit_temp->{precursor}, $rescan_trna_hits[0]->{start} - 1, $rescan_trna_hits[0]->{len} + $total_intron_len);
+                                $r_cm_hit->{model} = $rescan_trna_hits[0]->{model};
+                                $r_cm_hit->{len} = $rescan_trna_hits[0]->{len} + $total_intron_len;
+                                $new_start = $rescan_trna_hits[0]->{start};
+                                if ($r_intron_hit->{overlap} > -1) {
+                                    $r_cm_hit->{introns}->[$r_intron_hit->{overlap}]->{seq} = $r_intron_hit->{intron_seq};
+                                    $r_cm_hit->{introns}->[$r_intron_hit->{overlap}]->{start} = $r_intron_hit->{start};
+                                    $r_cm_hit->{introns}->[$r_intron_hit->{overlap}]->{end} = $r_intron_hit->{end};
+                                    $r_cm_hit->{introns}->[$r_intron_hit->{overlap}]->{type} = "NCI";
+                                }
+                                else {
+                                    push(@{$r_cm_hit->{introns}}, {seq=>$r_intron_hit->{intron_seq}, start=>$r_intron_hit->{start},
+                                                                   end=>$r_intron_hit->{end}, type=>"NCI"});
+                                }
+                                if (scalar(@{$rescan_trna_hits[0]->{introns}}) > 0) {
+                                    $r_new_intron = $rescan_trna_hits[0]->{introns}->[0];
+                                    my $set_ci = 0;
+                                    foreach $r_intron (@{$r_cm_hit->{introns}}) {
+                                        if ($r_intron->{type} eq "CI") {
+                                            $r_intron = $r_new_intron;
+                                            $set_ci = 1;
+                                        }
+                                    }
+                                    if (!$set_ci) {
+                                        push(@{$r_cm_hit->{introns}}, {seq=>$r_new_intron->{seq}, start=>$r_new_intron->{start},
+                                                                       end=>$r_new_intron->{end}, type=>"CI"});                                        
+                                    }
+                                }
+                                else {
+                                    foreach $r_intron (@{$r_cm_hit->{introns}}) {
+                                        if ($r_intron->{type} eq "CI") {
+                                            $r_intron = undef;
+                                        }
+                                    }                                    
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            if ($total_intron_len > 0) {
+                if ($r_cm_hit->{strand}) {
+                    $r_cm_hit->{start} = $r_cm_hit->{start} - length($r_cm_hit->{upstream}) + $new_start - 1;
+                    $r_cm_hit->{end} = $r_cm_hit->{start} + $r_cm_hit->{len} - 1;
+                }
+                else {
+                    $r_cm_hit->{start} = $r_cm_hit->{start} + length($r_cm_hit->{upstream}) - $new_start + 1;
+                    $r_cm_hit->{end} = $r_cm_hit->{start} - $r_cm_hit->{len} + 1;                                        
+                }
+                foreach $r_intron (@{$r_cm_hit->{introns}}) {
+                    if (defined $r_intron) {
+                        $r_intron->{start} = index($r_cm_hit->{precursor}, uc($r_intron->{seq})) + 1;
+                        $r_intron->{end} = $r_intron->{start} + length($r_intron->{seq}) - 1;
+                        if (($r_intron->{start} == ($r_cm_hit->{acodon_pos}+4)) && ($r_intron->{type} eq "NCI")) {
+                            $r_intron->{type} = "CI";
+                        }
+                    }
+                }
+                @{$r_cm_hit->{introns}} = sort sort_intron_by_start @{$r_cm_hit->{introns}};
+                $last_end = -1;
+                for (my $ct = 0; $ct < scalar(@{$r_cm_hit->{introns}}); $ct++) {
+                    if ($last_end == $r_cm_hit->{introns}->[$ct]->{start} - 1) {
+                        $last_end = $r_cm_hit->{introns}->[$ct]->{end};
+                        $r_cm_hit->{introns}->[$ct]->{start} = $r_cm_hit->{introns}->[$ct - 1]->{start};
+                        $r_cm_hit->{introns}->[$ct]->{seq} = $r_cm_hit->{introns}->[$ct - 1]->{seq} . $r_cm_hit->{introns}->[$ct]->{seq};
+                        $r_cm_hit->{introns}->[$ct - 1] = undef;
+                    }
+                    $last_end = $r_cm_hit->{introns}->[$ct]->{end};
+                }
+            }
+            elsif(!$r_valid->{acceptor} && $r_cm_hit->{score} > $self->{split_tRNA_scan_cutoff}) {
+                foreach $r_intron_hit (@partial_intron_hit_list) {
+                    $skip = 0;
+                    $ci_intron_index = -1;
+                    $r_intron_hit->{overlap} = $ci_intron_index;
+                    if ($r_intron_hit->{score} >= $self->{BHB_cm_cutoff}) {
+                        @rescan_trna_hits = ();
+                        my $idx_intron = index($partial_scan_trna_seq, $r_intron_hit->{intron_seq});
+                        $partial_scan_trna_seq = substr($partial_scan_trna_seq, 0, $idx_intron) . substr($partial_scan_trna_seq, $idx_intron + $r_intron_hit->{intron_len}) .
+                            substr($r_cm_hit->{seq}, 12) . $r_cm_hit->{downstream};
+                        $r_cm_hit_temp->{seq} = $partial_scan_trna_seq;
+                        $r_cm_hit_temp->{len} = length($partial_scan_trna_seq);
+                        $r_cm_hit_temp->{end} = $r_cm_hit_temp->{len};
+                        &write_tRNA($tmp_trnaseq_file, $r_cm_hit->{seqname}, " ", $partial_scan_trna_seq, 1);
+                        
+                        if ($opts->cove_mode()) 
+                        {
+                            $trna_ct = $self->analyze_with_cove($opts, $constants, $stats, $gc, $log, "tRNAscan-SE",
+                                                       $r_cm_hit_temp, $tmp_trnaseq_file, \$trna_ct, \@rescan_trna_hits);
+                        }
+                        elsif ($opts->infernal_mode()) 
+                        {
+                            $trna_ct = $self->analyze_with_cmsearch($opts, $constants, $stats, $gc, $log, "tRNAscan-SE",
+                                                           $r_cm_hit_temp, $tmp_trnaseq_file, \$trna_ct, \@rescan_trna_hits);
+                        }
+                        
+                        if (scalar(@rescan_trna_hits) > 0) {
+                            if ($rescan_trna_hits[0]->{score} > $best_score) {
+                                $best_score = $rescan_trna_hits[0]->{score};
+                                $total_intron_len += $r_intron_hit->{intron_len};
+                                $r_cm_hit->{acodon} = $rescan_trna_hits[0]->{acodon};
+                                $r_cm_hit->{acodon_pos} = $rescan_trna_hits[0]->{acodon_pos};
+                                $r_cm_hit->{isotype} = $rescan_trna_hits[0]->{isotype};
+                                $r_cm_hit->{score} = $rescan_trna_hits[0]->{score};
+                                $r_cm_hit->{hmm_score} = $rescan_trna_hits[0]->{hmm_score};
+                                $r_cm_hit->{ss_score} = $rescan_trna_hits[0]->{ss_score};
+                                $r_cm_hit->{is_pseudo} = $rescan_trna_hits[0]->{is_pseudo};
+                                $r_cm_hit->{ss} = $rescan_trna_hits[0]->{ss};
+                                $r_cm_hit->{seq} = $rescan_trna_hits[0]->{seq};
+                                $r_cm_hit->{precursor} = substr($r_cm_hit_temp->{precursor}, $rescan_trna_hits[0]->{start} - 1, $rescan_trna_hits[0]->{len} + $total_intron_len);
+                                $r_cm_hit->{model} = $rescan_trna_hits[0]->{model};
+                                $r_cm_hit->{len} = $rescan_trna_hits[0]->{len} + $total_intron_len;
+                                $new_start = $rescan_trna_hits[0]->{start};
+                                if (scalar(@{$rescan_trna_hits[0]->{introns}}) > 0) {
+                                    $r_new_intron = $rescan_trna_hits[0]->{introns}->[0];
+                                }
+                                push(@{$r_cm_hit->{introns}}, {seq=>$r_intron_hit->{intron_seq}, start=>$r_intron_hit->{start},
+                                                               end=>$r_intron_hit->{end}, type=>"NCI"});
+                            }
+                        }
+                    }
+                }
+                if ($total_intron_len > 0) {
+                    if ($r_cm_hit->{strand}) {
+                        $r_cm_hit->{start} = $r_cm_hit->{start} - length($r_cm_hit->{upstream}) + $new_start - 1;
+                        $r_cm_hit->{end} = $r_cm_hit->{start} + $r_cm_hit->{len} - 1;
+                    }
+                    else {
+                        $r_cm_hit->{start} = $r_cm_hit->{start} + length($r_cm_hit->{upstream}) - $new_start + 1;
+                        $r_cm_hit->{end} = $r_cm_hit->{start} - $r_cm_hit->{len} + 1;                                        
+                    }
+                    foreach $r_intron (@{$r_cm_hit->{introns}}) {
+                        if (defined $r_intron) {
+    #                        if ((($r_intron->{type} eq "CI") && ($r_intron->{seq} eq $r_new_intron->{seq})) || ($r_intron->{type} eq "NCI")) {
+                                $r_intron->{start} = index($r_cm_hit->{precursor}, uc($r_intron->{seq})) + 1;
+                                $r_intron->{end} = $r_intron->{start} + length($r_intron->{seq}) - 1;
+    #                        }
+                            if (($r_intron->{start} == ($r_cm_hit->{acodon_pos}+4)) && ($r_intron->{type} eq "NCI")) {
+                                $r_intron->{type} = "CI";
+                            }
+                        }
+                    }
+                    @{$r_cm_hit->{introns}} = sort sort_intron_by_start @{$r_cm_hit->{introns}};
+                    $last_end = -1;
+                    for (my $ct = 0; $ct < scalar(@{$r_cm_hit->{introns}}); $ct++) {
+                        if ($last_end == $r_cm_hit->{introns}->[$ct]->{start} - 1) {
+                            $last_end = $r_cm_hit->{introns}->[$ct]->{end};
+                            $r_cm_hit->{introns}->[$ct]->{start} = $r_cm_hit->{introns}->[$ct - 1]->{start};
+                            $r_cm_hit->{introns}->[$ct]->{seq} = $r_cm_hit->{introns}->[$ct - 1]->{seq} . $r_cm_hit->{introns}->[$ct]->{seq};
+                            $r_cm_hit->{introns}->[$ct - 1] = undef;
+                        }
+                        $last_end = $r_cm_hit->{introns}->[$ct]->{end};
+                    }
+                }                
+            }
+             if (scalar(@{$r_cm_hit->{introns}}) > 0) {
+                if ($r_cm_hit->{introns}->[0]->{type} eq "CI") {
+                    $r_valid = &valid_structure($r_cm_hit->{ss}, length($r_cm_hit->{introns}->[0]->{seq}));
+                }
+                else {
+                    $r_valid = &valid_structure($r_cm_hit->{ss}, 0);
+                }
+            }
+            elsif ($r_cm_hit->{score} > $self->{split_tRNA_scan_cutoff}) {
+               $r_valid = &valid_structure($r_cm_hit->{ss}, 0);
+            }
+            if (!$r_valid->{tRNA} && $r_cm_hit->{score} > $self->{split_tRNA_scan_cutoff}) {
+                @intron_hit_list = ();
+                &write_tRNA($tmp_trnaseq_file, $r_cm_hit->{seqname}, " ", $scan_trna_seq, 1);
+                if (!$self->run_cmsearch_intron($opts, $log, \@intron_hit_list, \$cur_cm_file, $r_cm_hit, $tmp_trnaseq_file, \$over_cutoff_count)) {
+                    return 0;
+                }
+                foreach $r_intron_hit (@intron_hit_list) {
+                    $skip = 0;
+                    $ci_intron_index = -1;
+                    $r_intron_hit->{overlap} = $ci_intron_index;
+                    if ($r_intron_hit->{score} >= $self->{BHB_cm_cutoff}) {
+                        foreach $r_intron (@{$r_cm_hit->{introns}}) {
+                            $ci_intron_index++;
+                            if ($r_intron->{type} eq "CI") {
+                                if ($r_intron_hit->{intron_seq} eq uc($r_intron->{seq})) {
+                                    $skip = 1;
+                                    last;
+                                }
+                                else {
+                                    my $intron_hit_start = index($r_cm_hit->{precursor}, uc($r_intron_hit->{intron_seq})) + 1;
+                                    my $intron_hit_end = $intron_hit_start + length($r_intron_hit->{intron_seq}) - 1;
+                                    if (($intron_hit_start >= $r_intron->{start} && $intron_hit_start <= $r_intron->{end}) ||
+                                        ($intron_hit_end >= $r_intron->{start} && $intron_hit_end <= $r_intron->{end})) {
+                                        $r_intron_hit->{overlap} = $ci_intron_index;
+                                        last;
+                                    }
+                                }
+                            }
+                        }
+                        if (!$skip) {
+                            @rescan_trna_hits = ();
+                            my $idx_intron = index($scan_trna_seq, $r_intron_hit->{intron_seq});
+                            $scan_trna_seq = substr($scan_trna_seq, 0, $idx_intron) . substr($scan_trna_seq, $idx_intron + $r_intron_hit->{intron_len});
+                            $r_cm_hit_temp->{seq} = $scan_trna_seq;
+                            $r_cm_hit_temp->{len} = length($scan_trna_seq);
+                            $r_cm_hit_temp->{end} = $r_cm_hit_temp->{len};
+                            &write_tRNA($tmp_trnaseq_file, $r_cm_hit->{seqname}, " ", $scan_trna_seq, 1);
+                            
+                            if ($opts->cove_mode()) 
+                            {
+                                $trna_ct = $self->analyze_with_cove($opts, $constants, $stats, $gc, $log, "tRNAscan-SE",
+                                                           $r_cm_hit_temp, $tmp_trnaseq_file, \$trna_ct, \@rescan_trna_hits);
+                            }
+                            elsif ($opts->infernal_mode()) 
+                            {
+                                $trna_ct = $self->analyze_with_cmsearch($opts, $constants, $stats, $gc, $log, "tRNAscan-SE",
+                                                               $r_cm_hit_temp, $tmp_trnaseq_file, \$trna_ct, \@rescan_trna_hits);
+                            }
+                            
+                            if (scalar(@rescan_trna_hits) > 0) {
+                                if ($rescan_trna_hits[0]->{score} > $best_score) {
+                                    $best_score = $rescan_trna_hits[0]->{score};
+                                    $total_intron_len += $r_intron_hit->{intron_len};
+                                    $r_cm_hit->{acodon} = $rescan_trna_hits[0]->{acodon};
+                                    $r_cm_hit->{acodon_pos} = $rescan_trna_hits[0]->{acodon_pos};
+                                    $r_cm_hit->{isotype} = $rescan_trna_hits[0]->{isotype};
+                                    $r_cm_hit->{score} = $rescan_trna_hits[0]->{score};
+                                    $r_cm_hit->{hmm_score} = $rescan_trna_hits[0]->{hmm_score};
+                                    $r_cm_hit->{ss_score} = $rescan_trna_hits[0]->{ss_score};
+                                    $r_cm_hit->{is_pseudo} = $rescan_trna_hits[0]->{is_pseudo};
+                                    $r_cm_hit->{ss} = $rescan_trna_hits[0]->{ss};
+                                    $r_cm_hit->{seq} = $rescan_trna_hits[0]->{seq};
+#                                    $r_cm_hit->{precursor} = substr($r_cm_hit_temp->{precursor}, $rescan_trna_hits[0]->{start} - 1, $rescan_trna_hits[0]->{len} + $total_intron_len);
+                                    $r_cm_hit->{model} = $rescan_trna_hits[0]->{model};
+                                    $r_cm_hit->{len} = $rescan_trna_hits[0]->{len} + $total_intron_len;
+                                    $new_start = $rescan_trna_hits[0]->{start};
+                                    if ($r_intron_hit->{overlap} > -1) {
+                                        $r_cm_hit->{introns}->[$r_intron_hit->{overlap}]->{seq} = $r_intron_hit->{intron_seq};
+                                        $r_cm_hit->{introns}->[$r_intron_hit->{overlap}]->{start} = $r_intron_hit->{start};
+                                        $r_cm_hit->{introns}->[$r_intron_hit->{overlap}]->{end} = $r_intron_hit->{end};
+                                        $r_cm_hit->{introns}->[$r_intron_hit->{overlap}]->{type} = "NCI";
+                                    }
+                                    else {
+                                        push(@{$r_cm_hit->{introns}}, {seq=>$r_intron_hit->{intron_seq}, start=>$r_intron_hit->{start},
+                                                                       end=>$r_intron_hit->{end}, type=>"NCI"});
+                                    }
+                                    if (scalar(@{$rescan_trna_hits[0]->{introns}}) > 0) {
+                                        $r_new_intron = $rescan_trna_hits[0]->{introns}->[0];
+                                        my $set_ci = 0;
+                                        foreach $r_intron (@{$r_cm_hit->{introns}}) {
+                                            if ($r_intron->{type} eq "CI") {
+                                                $r_intron = $r_new_intron;
+                                                $set_ci = 1;
+                                            }
+                                        }
+                                        if (!$set_ci) {
+                                            push(@{$r_cm_hit->{introns}}, {seq=>$r_new_intron->{seq}, start=>$r_new_intron->{start},
+                                                                           end=>$r_new_intron->{end}, type=>"CI"});                                        
+                                        }
+                                    }
+                                    else {
+                                        foreach $r_intron (@{$r_cm_hit->{introns}}) {
+                                            if ($r_intron->{type} eq "CI") {
+                                                $r_intron = undef;
+                                            }
+                                        }                                    
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+                if ($total_intron_len > 0) {
+                    if ($r_cm_hit->{strand}) {
+                        $r_cm_hit->{start} = $r_cm_hit->{start} - length($r_cm_hit->{upstream}) + $new_start - 1;
+                        $r_cm_hit->{end} = $r_cm_hit->{start} + $r_cm_hit->{len} - 1;
+                    }
+                    else {
+                        $r_cm_hit->{start} = $r_cm_hit->{start} + length($r_cm_hit->{upstream}) - $new_start + 1;
+                        $r_cm_hit->{end} = $r_cm_hit->{start} - $r_cm_hit->{len} + 1;                                        
+                    }
+                    foreach $r_intron (@{$r_cm_hit->{introns}}) {
+                        if (defined $r_intron) {
+                            $r_intron->{start} = index($r_cm_hit->{precursor}, uc($r_intron->{seq})) + 1;
+                            $r_intron->{end} = $r_intron->{start} + length($r_intron->{seq}) - 1;
+                            if (($r_intron->{start} == ($r_cm_hit->{acodon_pos}+4)) && ($r_intron->{type} eq "NCI")) {
+                                $r_intron->{type} = "CI";
+                            }
+                        }
+                    }
+                    @{$r_cm_hit->{introns}} = sort sort_intron_by_start @{$r_cm_hit->{introns}};
+                    $last_end = -1;
+                    for (my $ct = 0; $ct < scalar(@{$r_cm_hit->{introns}}); $ct++) {
+                        if ($last_end == $r_cm_hit->{introns}->[$ct]->{start} - 1) {
+                            $last_end = $r_cm_hit->{introns}->[$ct]->{end};
+                            $r_cm_hit->{introns}->[$ct]->{start} = $r_cm_hit->{introns}->[$ct - 1]->{start};
+                            $r_cm_hit->{introns}->[$ct]->{seq} = $r_cm_hit->{introns}->[$ct - 1]->{seq} . $r_cm_hit->{introns}->[$ct]->{seq};
+                            $r_cm_hit->{introns}->[$ct - 1] = undef;
+                        }
+                        $last_end = $r_cm_hit->{introns}->[$ct]->{end};
+                    }
+                }                
+            }
+        }
+    }
+    @$r_sec_pass_hits = sort sort_cm_hits_for_output @$r_sec_pass_hits;
+}
+
+# Run Infernal cmsearch for noncanonical introns
+sub run_cmsearch_intron {
+    
+    my $self = shift;
+    my $opts = shift;
+    my $log = shift;
+    my ($r_intron_hit_list, $r_cm_file, $r_cm_hit, $tmp_trnaseq_file, $r_over_cutoff_count) = @_;
+    
+    my ($cms_output, $r_intron_hit, $ct, $intronDesc);
+    my ($pre_intron, $intron, $post_intron, $intron_start, $intron_span);
+
+    if (!$self->exec_cmsearch(0, $r_cm_file, 0, $tmp_trnaseq_file, $r_cm_hit->{seqname}, \$cms_output)) {
+        return 0;
+    }
+    $self->parse_cmsearch($cms_output, $r_intron_hit_list, 0, $r_cm_hit, 0);
+    $$r_over_cutoff_count = 0;
+    foreach $r_intron_hit (@$r_intron_hit_list) {
+        $ct++;
+        if ($r_intron_hit->{score} >= $self->{BHB_cm_cutoff}) {
+            $$r_over_cutoff_count++;
+            
+            if ($r_intron_hit->{ss} =~ /^([\<\-\.]{11,})(\-\<[<.]+[_.]{4,}[>.]{9,}\-[.]*\-)([-.>]+)$/) {
+                $pre_intron  = $1;
+                $intron      = $2;
+                $post_intron = $3;
+                $intron_start = length($pre_intron);
+                $intron_span = length($intron);
+            }
+            $r_intron_hit->{intron_seq} = substr($r_intron_hit->{seq}, $intron_start, $intron_span);                 
+            $r_intron_hit->{intron_seq} = uc($r_intron_hit->{intron_seq});
+            $r_intron_hit->{intron_seq} =~ s/U/T/g;
+            $r_intron_hit->{intron_seq} =~ s/-//g;
+            $r_intron_hit->{intron_len} = length($r_intron_hit->{intron_seq});
+
+            $r_intron_hit->{subseq_start} += $intron_start;
+            $r_intron_hit->{subseq_end} -= length($post_intron);
+            $r_intron_hit->{start} = $r_intron_hit->{subseq_start};
+            $r_intron_hit->{end} = $r_intron_hit->{subseq_end};                
+            
+            if ($r_intron_hit->{strand}) {
+                $r_intron_hit->{tRNA_start} += $intron_start;	
+                $r_intron_hit->{tRNA_end} -= length($post_intron);
+            }
+            else {
+                $r_intron_hit->{tRNA_start} -= $intron_start;	
+                $r_intron_hit->{tRNA_end} += length($post_intron);
+            }
+            $r_intron_hit->{start} -= length($r_cm_hit->{upstream});
+            $r_intron_hit->{end} -= length($r_cm_hit->{upstream});                
+            if ($r_intron_hit->{strand}) {
+                $r_intron_hit->{tRNA_start} -= length($r_cm_hit->{upstream});	
+                $r_intron_hit->{tRNA_end} -= length($r_cm_hit->{upstream});
+            }
+            else {
+                $r_intron_hit->{tRNA_start} += length($r_cm_hit->{upstream});	
+                $r_intron_hit->{tRNA_end} += length($r_cm_hit->{upstream});
+            }
+        }
+        else {
+            $log->write_line("Low infernal score for noncanonical intron detection of $r_cm_hit->{ID} intron$ct: $r_intron_hit->{score}");
+            $log->write_line("CMSearch Hit#$ct: $r_intron_hit->{tRNA_start}-$r_intron_hit->{tRNA_end},".
+                " Sc: $r_intron_hit->{score},  Len: ".(abs($r_intron_hit->{tRNA_start} - $r_intron_hit->{tRNA_end}) + 1));
+        }
+    }        
+
+    return 1;
+}
+
+# Run Infernal cmsearch for genome-wide missing tRNA scanning, return results in $r_cms_hit_list array reference
+
+sub run_gw_cmsearch {
+
+    my $self = shift;
+    my $opts = shift;
+    my $log = shift;
+    my ($r_cms_hit_list, $r_cur_cm_file, $tmp_seq_file, $seqname, $halves) = @_;
+    
+    my ($scan_len, $cms_output, $r_cms_hit, $over_cutoff, $ct, $trnaDesc);
+    
+    my $cm_file_input = $$r_cur_cm_file;
+    $self->set_search_params($opts, \$scan_len, $r_cur_cm_file, $self->{max_cmsearch_tRNA_length},
+                     $self->{max_tRNA_length}, "", 0);
+    
+    # run cmsearch
+    if ($halves) {
+        $$r_cur_cm_file = $cm_file_input;
+    }
+    else {
+        $$r_cur_cm_file = $self->{arch_gw_scan_cm_file_path};
+    }
+    if (!$self->exec_cmsearch($scan_len, $r_cur_cm_file, 1, $tmp_seq_file, $seqname, \$cms_output)) {
+        return 0;
+    }
+    $self->parse_gw_cmsearch($cms_output, $r_cms_hit_list, 0);
+        
+    # Go thru hit list, save info for tRNA hits with sub-cutoff scores
+
+    if (!$halves) {
+        $ct = 0;
+        $over_cutoff = 0;
+    
+        foreach $r_cms_hit (@$r_cms_hit_list) {
+            $ct++;
+            if ($r_cms_hit->{score} >= $self->{cm_cutoff}) {
+                $over_cutoff++;
+            }
+            else {
+                $log->write_line("Low cmsearch score for $ct: $r_cms_hit->{score}");
+                $trnaDesc = "(CMSearch Hit#$ct: $r_cms_hit->{tRNA_start}-$r_cms_hit->{tRNA_end},".
+                    " Sc: $r_cms_hit->{score},  Len: ".(abs($r_cms_hit->{tRNA_start} - $r_cms_hit->{tRNA_end}) + 1).") ";
+                if ($opts->save_falsepos()) {
+                   &write_tRNA($opts->falsepos_file(), $ct, $trnaDesc, $r_cms_hit->{seq}, 0);
+                }           
+           }
+        }        
+    
+        # report if no scores over 0 bit reporting threshold
+    
+        if ($over_cutoff == 0) {
+            if (!$opts->results_to_stdout()) {
+                $log->write_line("No extra CMSearch hits above cutoff found for $seqname");
+            }
+        }
+        else {
+            $log->write_line("Found ".$over_cutoff." extra Infernal hits.");        
+        }
+    }
+    return 1;
+}
+
+# Parse the text results of a genome-wide cmsearch into data fields
+
+sub parse_gw_cmsearch {
+
+    my $self = shift;
+    my ($cms_output, $r_cms_hit_list, $overlaps_OK) = @_;
+    
+    my (@cms_lines, $subseq_start, $subseq_end, $hit_overlap,
+	   $cur_seq_name, $line_ct, $cms_hit_ct, $score, $strand, $skip,
+	   $top_score, $overlapping_hit, $prev_start, $prev_end, $prev_seq_name);
+    
+    @cms_lines = split(/\n/, $cms_output);
+    $cms_hit_ct = -1;
+    $score   = 0;
+
+    for ($line_ct = 0; $line_ct <= $#cms_lines; $line_ct++) 
+    {
+        if ($cms_lines[$line_ct] =~ /^>(\S.+)$/) {  
+            $prev_seq_name = $cur_seq_name;
+            $cur_seq_name = $1;
+            $skip = 0;
+            
+            if ($cur_seq_name ne $prev_seq_name) {
+                $top_score  = -1;
+                $prev_start = -1;
+                $prev_end   = -1;
+            }
+        }
+        elsif ($cms_lines[$line_ct] =~ /^\s*Plus strand results/)
+        {
+            $strand = 1;
+        }
+        elsif ($cms_lines[$line_ct] =~ /^\s*Minus strand results/)
+        {
+            $strand = 0;
+        }
+        elsif ($cms_lines[$line_ct] =~ /^\s*Query =\s*(\d+)\s*\-\s*(\d+), Target =\s*(\d+)\s*\-\s*(\d+)/) 
+        {
+            $skip = 0;
+            $subseq_start  = $3;
+            $subseq_end    = $4;
+            
+            $hit_overlap = eval(!$overlaps_OK &&
+                    (($cur_seq_name eq $prev_seq_name) && 
+                     (seg_overlap($subseq_start, $subseq_end, $prev_start, $prev_end))));
+        }
+#        elsif ($cms_lines[$line_ct] =~ /^\s*Score =\s*([0-9.\-]+), E =\s*([0-9e.\-]+), P =\s*([0-9e.\-]+), GC =\s*(\d+)/) 
+        elsif ($cms_lines[$line_ct] =~ /^\s*Score =\s*([0-9.\-]+), /) 
+        {
+            $score = $1;
+                
+            # If true, Don't save current hit -- Advance to next set of alignment info
+            if (($score < $top_score) && ($hit_overlap))
+            {
+                $line_ct += 4;
+                $skip = 1;
+                next;
+            }		
+            
+            # Save current hit
+            # If it's a new sequence, or the same seq but no overlap, save the last hit
+            # by advancing the hit counter
+            if (!$hit_overlap) 
+            {
+                # convert cmsearch secondary structure
+                if ($cms_hit_ct > -1) {
+                    ($r_cms_hit_list->[$cms_hit_ct]->{ss}, $r_cms_hit_list->[$cms_hit_ct]->{seq}) =
+                        $self->format_cmsearch_output($r_cms_hit_list->[$cms_hit_ct]->{ss}, $r_cms_hit_list->[$cms_hit_ct]->{seq});
+                }
+
+                $cms_hit_ct++;
+                push(@$r_cms_hit_list,
+                     {hit_seqname => "", score=>-1, ss=>"", seq=>"", model=>"",
+                      tRNA_start=>-1, tRNA_end=>-1, 
+                      strand=>$strand, hit_source=>"Infernal"});
+            }
+            
+            # Save current hit as best non-overlapping hit
+            $prev_start  = $subseq_start;
+            $prev_end    = $subseq_end;
+            $top_score   = $score;
+            
+            $r_cms_hit_list->[$cms_hit_ct]->{hit_seqname}= $cur_seq_name;
+            $r_cms_hit_list->[$cms_hit_ct]->{score}  = $score;
+            $r_cms_hit_list->[$cms_hit_ct]->{ss}     = "";
+            $r_cms_hit_list->[$cms_hit_ct]->{seq}    = "";
+            $r_cms_hit_list->[$cms_hit_ct]->{model}  = "";
+            $r_cms_hit_list->[$cms_hit_ct]->{subseq_start}  = $subseq_start;
+            $r_cms_hit_list->[$cms_hit_ct]->{subseq_end}  = $subseq_end;
+            $r_cms_hit_list->[$cms_hit_ct]->{tRNA_start}  = $subseq_start;
+            $r_cms_hit_list->[$cms_hit_ct]->{tRNA_end}  = $subseq_end;
+            $r_cms_hit_list->[$cms_hit_ct]->{tRNA_len} = abs($subseq_end - $subseq_start) + 1;
+        }
+	
+        # Parse model structure line 
+	
+        elsif ($cms_lines[$line_ct] =~ /^\s+([(),<>._\-,\[\]\{\}\:]{1,60})/)
+        {
+            if (!$skip) {
+                $r_cms_hit_list->[$cms_hit_ct]->{ss} .= $1;
+            
+                # Parse model sequence line
+                if ($cms_lines[$line_ct + 1] =~ /^\s+\d+\s+([a-zA-Z\-]{1,60})\s+\d+/) {  
+                    $r_cms_hit_list->[$cms_hit_ct]->{model} .= $1;  
+                } 
+                # Parse target sequence line
+                if ($cms_lines[$line_ct + 3] =~ /^\s+\d+\s+([a-zA-Z\-]{1,60})\s+\d+/) {  
+                    $r_cms_hit_list->[$cms_hit_ct]->{seq} .= $1;  
+                }
+            }
+            # Advance to next set of alignment info
+            $line_ct += 3;
+        }
+    }
+    # convert cmsearch secondary structure
+    if ($cms_hit_ct > -1) {
+        ($r_cms_hit_list->[$cms_hit_ct]->{ss}, $r_cms_hit_list->[$cms_hit_ct]->{seq}) =
+            $self->format_cmsearch_output($r_cms_hit_list->[$cms_hit_ct]->{ss}, $r_cms_hit_list->[$cms_hit_ct]->{seq});
+    }
+}
+
+sub parse_covels_hit {
+
+    my $self = shift;
+    my ($covels_hit, $r_covels_hit_elements, $ts_start, $sense_strand) = @_;
+
+    my $covels_hit_found = 0;
+
+    if ($covels_hit =~ /^\s*(\S+)\s+(\d+)\s+(\d+).+: (\S+)\s*/o)  {
+        $r_covels_hit_elements->{score} = $1;
+        $r_covels_hit_elements->{subseq_start} = $2;
+        $r_covels_hit_elements->{subseq_end} = $3;
+        $r_covels_hit_elements->{hit_seqname} = $4;
+        $covels_hit_found = 1;        
+    }
+
+    if ($covels_hit_found) {
+        if ($sense_strand) {
+            $r_covels_hit_elements->{tRNA_start} = $ts_start + $r_covels_hit_elements->{subseq_start} - 1;        
+            $r_covels_hit_elements->{tRNA_end} = $ts_start + $r_covels_hit_elements->{subseq_end} -1;
+        }
+        else {
+            $r_covels_hit_elements->{tRNA_start} = $ts_start - $r_covels_hit_elements->{subseq_start} + 1;        
+            $r_covels_hit_elements->{tRNA_end} = $ts_start - $r_covels_hit_elements->{subseq_end} + 1;
+        }                
+        
+        return 1;                
+    }
+    else  {
+        return 0;
+    }
+}                                
+
+# Run covels, return hits in $covels_hit_list array
+
+sub run_covels {
+
+    my $self = shift;
+    my $opts = shift;
+    my $stats = shift;
+    my $log = shift;
+    my ($r_covels_hit_list, $r_cur_cm_file, $tmp_trnaseq_file, $r_prescan_tRNA) = @_;
+
+    my ($scan_len, $covels_cmd, $covels_output, $junk, $allhits, $ct,
+           $total_hits, $trnaDesc, $report_cutoff, $over_cutoff, $fulltrnaDesc);
+    
+    my ($covels_hit, $cove_confirmed_ct);
+    
+    my %covels_hit_elements = ();
+
+    $self->set_search_params($opts, \$scan_len, $r_cur_cm_file, $self->{max_cove_tRNA_length},
+                     $r_prescan_tRNA->{len}, $r_prescan_tRNA->{isotype}, 0);
+    
+    # set covels reporting threshold below 0 (default) if -X param is
+    # set below 0 by user
+
+    $report_cutoff = &min(0, $self->{cm_cutoff});
+    
+    # run Covels
+
+    $covels_cmd = $self->covels_bin()." -w$scan_len -t$report_cutoff $$r_cur_cm_file $tmp_trnaseq_file";
+    $covels_output = `$covels_cmd`;
+
+    if (&error_exit_status("Covels-SE", $r_prescan_tRNA->{src_seqname})) {
+        print "Exit first loop at 1\n";
+        return 0;
+    }
+    
+    ($junk, $allhits) = split(/----------\n\n/, $covels_output);
+    @$r_covels_hit_list = split(/\n/, $allhits);
+
+    # count no. of hits over cutoff
+
+    $total_hits = 0;
+   
+    foreach $covels_hit (@$r_covels_hit_list) {
+        %covels_hit_elements = ();
+        if (($self->parse_covels_hit($covels_hit, \%covels_hit_elements,
+                                     $r_prescan_tRNA->{start}, $r_prescan_tRNA->{strand})) &&
+            ($covels_hit_elements{score} >= $self->{cm_cutoff})) {
+            $total_hits++;
+        }        
+    }
+    
+    # if no tRNAs detected when using a selenocysteine cove model,
+    #  try main model and run again before giving up
+
+    if (($total_hits == 0) && 
+        (($$r_cur_cm_file eq $self->{Pselc_cm_file_path}) || ($$r_cur_cm_file eq $self->{Eselc_cm_file_path}))) {
+        $$r_cur_cm_file = $self->{main_cm_file_path};
+        
+        # re-run Covels with main model
+    
+        $covels_cmd = $self->covels_bin()." -w$scan_len -t$report_cutoff $$r_cur_cm_file $tmp_trnaseq_file";
+        $covels_output = `$covels_cmd`;
+        if (&error_exit_status("Covels-SE", $r_prescan_tRNA->{src_seqname})) {
+            print "Exit first loop at 2\n";
+            return 0;
+        }
+        
+        ($junk,$allhits) = split(/----------\n\n/,$covels_output);
+        @$r_covels_hit_list = split(/\n/, $allhits);
+    }
+
+    # Go thru hit list, save info for tRNA hits with sub-cutoff scores
+
+    $ct = 0;
+    $over_cutoff = 0;
+    $trnaDesc = "";
+
+    foreach $covels_hit (@$r_covels_hit_list) {
+        %covels_hit_elements = ();
+        if ($self->parse_covels_hit($covels_hit, \%covels_hit_elements,
+                                    $r_prescan_tRNA->{start}, $r_prescan_tRNA->{strand})) {
+            $ct++;
+            if ($covels_hit_elements{score} >= $self->{cm_cutoff}) {
+                $over_cutoff++;
+            }
+            else {
+                $log->write_line("Low covels score for $r_prescan_tRNA->{name}.$ct: $covels_hit_elements{score}");
+                $trnaDesc .= "(Cove Hit#$ct: $covels_hit_elements{tRNA_start}-$covels_hit_elements{tRNA_end},".
+                    " Sc: $covels_hit_elements{score},  Len: ".(abs($covels_hit_elements{tRNA_start} - $covels_hit_elements{tRNA_end}) + 1).") ";
+            }
+        }
+    }        
+    
+    # report if no scores over 0 bit reporting threshold
+
+    if ($over_cutoff == 0) {
+        if ((!$opts->results_to_stdout()) &&
+            ($opts->eufind_mode() || $opts->tscan_mode() || $opts->use_prev_ts_run())) {
+            $log->write_line("Covels score(s) below cutoff for $r_prescan_tRNA->{name}. Skipping...");
+        }
+        if ($opts->save_falsepos()) {
+            $fulltrnaDesc = "(Fp Hit: $r_prescan_tRNA->{start}-$r_prescan_tRNA->{end}, ".
+                (abs($r_prescan_tRNA->{start} - $r_prescan_tRNA->{end}) + 1)." bp, Src: $r_prescan_tRNA->{hit_source}) ".$trnaDesc;
+        
+            $stats->increment_fpos_base_ct(length($r_prescan_tRNA->{seq}));          
+            &write_tRNA($opts->falsepos_file(), $r_prescan_tRNA->{name}, $fulltrnaDesc, $r_prescan_tRNA->{seq}, 0);
+        }           
+    }
+
+    return 1;
+}
+
+sub run_coves {
+
+    my $self = shift;
+    my ($tmp_trnaseq_file, $seq_name, $cm_file) = @_;
+
+    my ($covseq, $covss, $coves_output, $junk, @coves_lines, $sec_struct, $coves_score);
+    
+    my $coves_cmd = $self->{coves_bin}." -s $cm_file $tmp_trnaseq_file";
+    $coves_output = `$coves_cmd`;
+    if (&error_exit_status("Coves-SE", $seq_name)) {
+        print STDERR "Skipping tRNA anticodon & type prediction\n\n";
+        return ("Error", "", -1);
+    }
+
+    ($junk, $sec_struct) = split(/----------\n\n/, $coves_output);
+    @coves_lines = split(/\n/,$sec_struct);
+    $covseq = '';
+    $covss = '';
+    $coves_score = -1000;
+    $seq_name =~ s/(\W)/\\$1/g;
+
+    foreach (@coves_lines) {
+        if (/^\s+$seq_name\s([a-zA-Z\-]{1,60})\s*/) {
+            $covseq .= $1;  
+        } 
+        if (/^\s+$seq_name\s([\.\<\>\ ]{1,60})/) {
+            $covss .= $1; 
+        }
+        if (/^\s*(\S+)\sbits\s:\s$seq_name/) {
+            $coves_score = $1; 
+        }
+    }
+           
+    $covss =~ s/\s//g;     #  take spaces out of alignment        
+    $covseq =~ s/-//g;     #  take '-' gaps out of seq
+
+    if (($covseq eq '') || ($covss eq '')) {
+        print STDERR "Could not complete coves successfully for $seq_name\n",
+        "because unable to parse coves secondary structure string.\n",
+        "Skipping tRNA anticodon & type prediction\n";
+        return ("Error", "", -1);
+    }
+
+    return ($covseq, $covss, $coves_score);
+}
+
+sub analyze_with_cove {
+
+    my $self = shift;
+    my $opts = shift;
+    my $constants = shift;
+    my $stats = shift;
+    my $gc = shift;
+    my $log = shift;
+    my $program_id = shift;
+    my ($r_prescan_tRNA, $tmp_trnaseq_file, $r_curseq_trnact, $r_sec_pass_hits) = @_;
+
+    my (@covels_hit_list, $cur_cm_file, $covels_hit, $cove_confirmed_ct);
+    my ($covseq, $covss, $coves_score, $r_introns);
+    my ($cv_anticodon, $acodon_index, $cv_type, $introns, $hmm_score, $ss_score, $pseudo_gene_flag);
+    my %covels_hit_elements = ();
+    my $cov_hit = {};
+
+    $cove_confirmed_ct = 0;
+
+    if (!$self->run_covels($opts, $stats, $log, \@covels_hit_list, \$cur_cm_file, $tmp_trnaseq_file, $r_prescan_tRNA))  {
+        return 0;
+    }
+        
+    # Loop to parse covels tRNA hit(s) and run Coves on each tRNA
+    
+    foreach $covels_hit (@covels_hit_list) {
+        %covels_hit_elements = ();
+        if ((!$self->parse_covels_hit($covels_hit, \%covels_hit_elements,
+                                      $r_prescan_tRNA->{start}, $r_prescan_tRNA->{strand})) ||
+            ($covels_hit_elements{score} < $self->{cm_cutoff})) {
+            next; 
+        }                       
+
+        $$r_curseq_trnact++;
+        
+        $covels_hit_elements{upstream} = $r_prescan_tRNA->{upstream};
+        $covels_hit_elements{downstream} = $r_prescan_tRNA->{downstream};
+
+        if (($covels_hit_elements{subseq_start} == 1) && ($covels_hit_elements{subseq_end} == $r_prescan_tRNA->{len})) {
+            $covels_hit_elements{tRNA_len} = $r_prescan_tRNA->{len};
+        }
+        else {
+            # get correct subseq for coves & save to file
+            $covels_hit_elements{tRNA_len} = $covels_hit_elements{subseq_end} - $covels_hit_elements{subseq_start} + 1;
+            &write_tRNA($tmp_trnaseq_file, $covels_hit_elements{hit_seqname}, " ",
+                        substr($r_prescan_tRNA->{seq}, $covels_hit_elements{subseq_start} - 1, $covels_hit_elements{tRNA_len}), 1);
+            if ($covels_hit_elements{subseq_start} > 1) {
+                $covels_hit_elements{upstream} .= substr($r_prescan_tRNA->{seq}, 0, $covels_hit_elements{subseq_start} - 1);
+            }
+            if ($covels_hit_elements{subseq_end} < $r_prescan_tRNA->{len}) {
+                $covels_hit_elements{downstream} = substr($r_prescan_tRNA->{seq}, $covels_hit_elements{subseq_end}) .
+                    $covels_hit_elements{downstream};
+            }
+        }                       
+        $stats->increment_coves_base_ct($covels_hit_elements{tRNA_len});
+    
+        $covels_hit_elements{name} = $covels_hit_elements{hit_seqname}.".t".$$r_curseq_trnact;
+        
+        ($covseq, $covss, $coves_score) = 
+            $self->run_coves($tmp_trnaseq_file, $r_prescan_tRNA->{src_seqname}, $cur_cm_file);
+        
+        # look for intron
+
+        ($cv_anticodon, $acodon_index, $cv_type, $r_introns, $hmm_score, $ss_score, $pseudo_gene_flag) = 
+             $self->decode_tRNA_properties ($opts, $gc, $log, $coves_score, $covseq, $covss, $r_prescan_tRNA,
+                          $covels_hit_elements{tRNA_start}, $covels_hit_elements{tRNA_end}, $cur_cm_file, $tmp_trnaseq_file);
+        
+        $cov_hit = {};
+        $cov_hit =
+             {seqname =>$covels_hit_elements{hit_seqname}, score=>$coves_score, ss=>$covss, seq=>$covseq, model=>"",
+              start=>$covels_hit_elements{tRNA_start}, end=>$covels_hit_elements{tRNA_end}, len=>$covels_hit_elements{tRNA_len},
+              ID=>$covels_hit_elements{name},
+              acodon=>$cv_anticodon, acodon_pos =>$acodon_index, isotype=>$cv_type,
+              introns=>$r_introns, hmm_score=>$hmm_score, 
+              ss_score=>$ss_score, is_pseudo=>$pseudo_gene_flag,
+              src_seqlen=>$r_prescan_tRNA->{src_seqlen}, src_seqname=>$covels_hit_elements{hit_seqname},
+              strand=>$r_prescan_tRNA->{strand}, hit_source=>$r_prescan_tRNA->{hit_source},
+              upstream=>$covels_hit_elements{upstream}, downstream=>$covels_hit_elements{downstream}, extra=>0};
+        
+        if (!$self->{CM_check_for_introns}) {
+            &output_tRNA($opts, $gc, $log, $self->{tab_results}, $self->{get_hmm_score}, $program_id,
+                     $r_prescan_tRNA, $cov_hit, $$r_curseq_trnact);
+        
+            $cove_confirmed_ct++;
+        }
+        else {
+            push (@$r_sec_pass_hits, $cov_hit);
+        }
+    }            # while more covels_hits
+   
+    return $cove_confirmed_ct;
+}
+
+# Format command and run Infernal cmsearch
+
+sub exec_cmsearch {
+
+    my $self = shift;
+    my ($scan_len, $r_cm_file, $scan_genome, $tmp_trnaseq_file, $seq_name, $r_cms_output) = @_;
+    
+    my $cm_options = "-g --fil-no-hmm --toponly";
+    if ($scan_genome) {
+        $cm_options = "-g";
+    }
+    
+    my $cms_cmd = "$self->{cmsearch_bin} $cm_options $$r_cm_file $tmp_trnaseq_file";
+    $$r_cms_output = `$cms_cmd`;
+
+    if (&error_exit_status("cmsearch", $seq_name)) {
+        print STDERR "Exited at failed cmsearch\n";
+        return 0;
+    }
+    
+    return 1;
+}
+
+# Run Infernal cmsearch, return results in $r_cms_hit_list array reference
+
+sub run_cmsearch {
+
+    my $self = shift;
+    my $opts = shift;
+    my $stats = shift;
+    my $log = shift;
+    my ($r_cms_hit_list, $r_cur_cm_file, $tmp_trnaseq_file, $r_prescan_tRNA) = @_;
+    
+    my ($scan_len, $cms_cmd, $cms_output, $r_cms_hit, $total_hits, $over_cutoff, $ct, $trnaDesc, $fulltrnaDesc);
+    
+    $self->set_search_params($opts, \$scan_len, $r_cur_cm_file, $self->{max_cmsearch_tRNA_length},
+                     $r_prescan_tRNA->{len}, $r_prescan_tRNA->{isotype}, 0);
+    
+    # run cmsearch
+    
+    if (!$self->exec_cmsearch($scan_len, $r_cur_cm_file, 0, $tmp_trnaseq_file, $r_prescan_tRNA->{src_seqname}, \$cms_output)) {
+        return 0;
+    }
+    
+    $self->parse_cmsearch($cms_output, $r_cms_hit_list, 0, $r_prescan_tRNA, 1);
+
+    # count no. of hits over cutoff
+    
+    $total_hits = 0;
+    foreach $r_cms_hit (@$r_cms_hit_list) {
+        if ($r_cms_hit->{score} >= $self->{cm_cutoff}) {
+            $total_hits++;
+        }        
+    }
+    
+    # if no tRNAs detected when using a selenocysteine cove model,
+    #  try main model and run again before giving up
+
+    if (($total_hits == 0) && 
+        (($$r_cur_cm_file eq $self->{Pselc_cm_file_path}) || ($$r_cur_cm_file eq $self->{Eselc_cm_file_path}))) {
+        $$r_cur_cm_file = $self->{main_cm_file_path};
+        
+        # re-run cmsearch with main model
+    
+        if (!$self->exec_cmsearch($scan_len, $r_cur_cm_file, 0, $tmp_trnaseq_file, $r_prescan_tRNA->{src_seqname}, \$cms_output)) {
+            return 0;
+        }
+        $self->parse_cmsearch($cms_output, $r_cms_hit_list, 0, $r_prescan_tRNA);
+    }
+    
+    # Go thru hit list, save info for tRNA hits with sub-cutoff scores
+
+    $ct = 0;
+    $over_cutoff = 0;
+    $trnaDesc = "";
+
+    foreach $r_cms_hit (@$r_cms_hit_list) {
+        $ct++;
+        if ($r_cms_hit->{score} >= $self->{cm_cutoff}) {
+            $over_cutoff++;
+        }
+        else {
+            $log->write_line("Low covels score for $r_prescan_tRNA->{name}.$ct: $r_cms_hit->{score}");
+            $trnaDesc .= "(CMSearch Hit#$ct: $r_cms_hit->{tRNA_start}-$r_cms_hit->{tRNA_end},".
+                " Sc: $r_cms_hit->{score},  Len: ".(abs($r_cms_hit->{tRNA_start} - $r_cms_hit->{tRNA_end}) + 1).") ";
+        }
+    }        
+
+    # report if no scores over 0 bit reporting threshold
+
+    if ($over_cutoff == 0) {
+        if ((!$opts->results_to_stdout()) &&
+            ($opts->eufind_mode() || $opts->tscan_mode() || $opts->use_prev_ts_run())) {
+            $log->write_line("CMSearch score(s) below cutoff for $r_prescan_tRNA->{name}. Skipping...");
+        }
+        if ($opts->save_falsepos()) {
+            $fulltrnaDesc = "(Fp Hit: $r_prescan_tRNA->{start}-$r_prescan_tRNA->{end}, ".
+                (abs($r_prescan_tRNA->{start} - $r_prescan_tRNA->{end}) + 1)." bp, Src: $r_prescan_tRNA->{hit_source}) ".$trnaDesc;
+        
+            $stats->increment_fpos_base_ct(length($r_prescan_tRNA->{seq}));          
+            &write_tRNA($opts->falsepos_file(), $r_prescan_tRNA->{name}, $fulltrnaDesc, $r_prescan_tRNA->{seq}, 0);
+        }           
+    }
+
+    return 1;
+}
+
+# Parse the text results of a cmsearch into data fields
+
+sub parse_cmsearch {
+
+    my $self = shift;
+    my ($cms_output, $r_cms_hit_list, $overlaps_OK, $r_prescan_tRNA, $format_struct) = @_;
+    
+    my (@cms_lines, $subseq_start, $subseq_end, $hit_overlap,
+	   $cur_seq_name, $line_ct, $cms_hit_ct, $score, $skip,
+	   $top_score, $overlapping_hit, $prev_start, $prev_end, $prev_seq_name);
+    
+    @cms_lines = split(/\n/, $cms_output);
+    $cms_hit_ct = -1;
+    $score   = 0;
+
+    for ($line_ct = 0; $line_ct <= $#cms_lines; $line_ct++) 
+    {
+        if ($cms_lines[$line_ct] =~ /^>(\S.+)$/) {  
+            $prev_seq_name = $cur_seq_name;
+            $cur_seq_name = $1;
+            $skip = 0;
+            
+            if ($cur_seq_name ne $prev_seq_name) {
+                $top_score  = -1;
+                $prev_start = -1;
+                $prev_end   = -1;
+            }
+        }
+        elsif ($cms_lines[$line_ct] =~ /^\s*Query =\s*(\d+)\s*\-\s*(\d+), Target =\s*(\d+)\s*\-\s*(\d+)/) 
+        {
+            $skip = 0;
+            $subseq_start  = $3;
+            $subseq_end    = $4;
+            
+            $hit_overlap = eval(!$overlaps_OK &&
+                    (($cur_seq_name eq $prev_seq_name) && 
+                     (seg_overlap($subseq_start, $subseq_end, $prev_start, $prev_end))));
+        }
+#        elsif ($cms_lines[$line_ct] =~ /^\s*Score =\s*([0-9.\-]+), E =\s*([0-9e.\-]+), P =\s*([0-9e.\-]+), GC =\s*(\d+)/) 
+        elsif ($cms_lines[$line_ct] =~ /^\s*Score =\s*([0-9.\-]+), /) 
+        {
+            $score = $1;
+                
+            # If true, Don't save current hit -- Advance to next set of alignment info
+            if (($score < $top_score) && ($hit_overlap))
+            {
+                $line_ct += 4;
+                $skip = 1;
+                next;
+            }		
+            
+            # Save current hit
+            # If it's a new sequence, or the same seq but no overlap, save the last hit
+            # by advancing the hit counter
+            if (!$hit_overlap) 
+            {
+                # convert cmsearch secondary structure
+                if (($cms_hit_ct > -1) && $format_struct) {
+                    ($r_cms_hit_list->[$cms_hit_ct]->{ss}, $r_cms_hit_list->[$cms_hit_ct]->{seq}) =
+                        $self->format_cmsearch_output($r_cms_hit_list->[$cms_hit_ct]->{ss}, $r_cms_hit_list->[$cms_hit_ct]->{seq});
+                }
+                
+                $cms_hit_ct++;
+                push(@$r_cms_hit_list,
+                     {hit_seqname => "", score=>-1, ss=>"", seq=>"", model=>"",
+                      tRNA_start=>-1, tRNA_end=>-1, 
+                      strand=>$r_prescan_tRNA->{strand}, hit_source=>$r_prescan_tRNA->{hit_source}});
+            }
+            
+            # Save current hit as best non-overlapping hit
+            $prev_start  = $subseq_start;
+            $prev_end    = $subseq_end;
+            $top_score   = $score;
+            
+            $r_cms_hit_list->[$cms_hit_ct]->{hit_seqname}= $cur_seq_name;
+            $r_cms_hit_list->[$cms_hit_ct]->{score}  = $score;
+            $r_cms_hit_list->[$cms_hit_ct]->{ss}     = "";
+            $r_cms_hit_list->[$cms_hit_ct]->{seq}    = "";
+            $r_cms_hit_list->[$cms_hit_ct]->{model}  = "";
+            $r_cms_hit_list->[$cms_hit_ct]->{subseq_start}  = $subseq_start;
+            $r_cms_hit_list->[$cms_hit_ct]->{subseq_end}  = $subseq_end;
+            
+            if ($r_prescan_tRNA->{strand}) {
+                $r_cms_hit_list->[$cms_hit_ct]->{tRNA_start} = $r_prescan_tRNA->{start} + $subseq_start - 1;	
+                $r_cms_hit_list->[$cms_hit_ct]->{tRNA_end}   = $r_prescan_tRNA->{start} + $subseq_end - 1;
+            }
+            else {
+                $r_cms_hit_list->[$cms_hit_ct]->{tRNA_start} = $r_prescan_tRNA->{start} - $subseq_start + 1;	
+                $r_cms_hit_list->[$cms_hit_ct]->{tRNA_end}   = $r_prescan_tRNA->{start} - $subseq_end + 1;
+            }		
+        }
+	
+        # Parse model structure line 
+	
+        elsif ($cms_lines[$line_ct] =~ /^\s+([(),<>._\-,\[\]\{\}\:]{1,60})/)
+        {
+            if (!$skip) {
+                $r_cms_hit_list->[$cms_hit_ct]->{ss} .= $1;
+            
+                # Parse model sequence line
+                if ($cms_lines[$line_ct + 1] =~ /^\s+\d+\s+([a-zA-Z\-]{1,60})\s+\d+/) {  
+                    $r_cms_hit_list->[$cms_hit_ct]->{model} .= $1;  
+                } 
+                # Parse target sequence line
+                if ($cms_lines[$line_ct + 3] =~ /^\s+\d+\s+([a-zA-Z\-]{1,60})\s+\d+/) {  
+                    $r_cms_hit_list->[$cms_hit_ct]->{seq} .= $1;  
+                }
+            }
+             # Advance to next set of alignment info
+            $line_ct += 3;
+        }
+    }
+    # convert cmsearch secondary structure
+    if (($cms_hit_ct > -1) && $format_struct) {
+        ($r_cms_hit_list->[$cms_hit_ct]->{ss}, $r_cms_hit_list->[$cms_hit_ct]->{seq}) =
+            $self->format_cmsearch_output($r_cms_hit_list->[$cms_hit_ct]->{ss}, $r_cms_hit_list->[$cms_hit_ct]->{seq});
+    }
+
+}
+
+sub format_cmsearch_output {
+    
+    my $self = shift;
+    my $cmsearch_ss = shift;
+    my $cmsearch_seq = shift;
+    
+    $cmsearch_seq =~ s/U/T/g; 
+    $cmsearch_seq =~ s/u/t/g;
+    for (my $index = 0; $index < length($cmsearch_seq); $index++) {
+        if (substr($cmsearch_seq, $index, 1) eq '-') {
+            substr($cmsearch_seq, $index, 1) = '*';
+            if (length($cmsearch_ss) > $index) {
+                substr($cmsearch_ss, $index, 1) = '*';
+            }
+        }
+    }
+    $cmsearch_seq =~ s/\*//g;
+    $cmsearch_ss =~ s/\*//g;
+
+    $cmsearch_ss =~ s/[,_\-:]/./g;
+    $cmsearch_ss =~ s/[>)]/@/g;
+    $cmsearch_ss =~ s/[(<]/>/g;
+    $cmsearch_ss =~ s/@/</g;
+    
+    my $diff = length($cmsearch_seq) - length($cmsearch_ss);
+    for (my $ct = 0; $ct < $diff; $ct++) {
+        $cmsearch_ss .= ".";
+    }
+    
+    return ($cmsearch_ss, $cmsearch_seq);
+}
+
+# Runs Infernal cmsearch, and returns the highest score
+
+sub cmsearch_bestscore {
+
+    my $self = shift;
+    my $opts = shift;
+    my ($tmp_trnaseq_file, $seq_name, $tRNA_len, $cm_file) = @_;
+
+    my ($cms_output, @cms_hit_list, $scan_len, $cur_cm_file, @cms_lines,
+        $subseq_start, $subseq_end, $score, $besthit_score, $line,
+	$besthit_start, $besthit_end, $hit_ct);
+
+    $self->set_search_params($opts, \$scan_len, \$cur_cm_file, $self->{max_cmsearch_tRNA_length}, $tRNA_len, '', 1);
+
+    if (!$self->exec_cmsearch($scan_len, \$cur_cm_file, 0, $tmp_trnaseq_file, $seq_name, \$cms_output)) {
+        return 0;
+    }
+
+    @cms_lines = split(/\n/, $cms_output);
+    $hit_ct = 0;
+    $score = 0;
+    $besthit_score = 0;
+
+    foreach $line (@cms_lines)
+    {
+	if ($line =~ /^\s*Query =\s+(\d+)\s+-\s+(\d+), Target =\s+(\d+)\s+-\s+(\d+)/) 
+	{
+	    $subseq_start  = $3;
+	    $subseq_end    = $4;
+	    $hit_ct++;
+        }
+        elsif ($line =~ /^\s*Score =\s+([0-9.\-]+), GC =\s+(\d+)/) 
+	{           
+	    $score = $1;
+	    if ($score > $besthit_score) {
+		$besthit_score  = $score;   
+		$besthit_start  = $subseq_start;
+		$besthit_end    = $subseq_end;
+	    }
+	}
+    }
+    return ($besthit_score, $besthit_start, $besthit_end, $hit_ct); 
+}
+
+sub analyze_with_cmsearch {
+ 
+    my $self = shift;
+    my $opts = shift;
+    my $constants = shift;
+    my $stats = shift;
+    my $gc = shift;
+    my $log = shift;
+    my $program_id = shift;
+    my ($r_prescan_tRNA, $tmp_trnaseq_file, $r_curseq_trnact, $r_sec_pass_hits) = @_;
+
+    my ($cms_confirmed_ct, $cms_output, $cur_cm_file, @cms_hit_list, $cms_hit, $ct);
+    my ($cm_anticodon, $acodon_index, $cm_type, $r_introns, $hmm_score, $ss_score, $pseudo_gene_flag);
+    
+    my $cm_hit = {};
+    
+    $cms_confirmed_ct = 0;
+    
+    if (!$self->run_cmsearch($opts, $stats, $log, \@cms_hit_list, \$cur_cm_file, $tmp_trnaseq_file, $r_prescan_tRNA)) {
+        return 0;
+    }
+
+    # Loop to process each cmsearch tRNA hit
+    
+    foreach $cms_hit (@cms_hit_list) {
+        
+        if ($cms_hit->{score} < $self->{cm_cutoff}) {
+            next;
+        }
+        
+        $$r_curseq_trnact++;
+
+        $cms_hit->{upstream} = $r_prescan_tRNA->{upstream};
+        $cms_hit->{downstream} = $r_prescan_tRNA->{downstream};
+
+        if (($cms_hit->{subseq_start} == 1) && ($cms_hit->{subseq_end} == $r_prescan_tRNA->{len})) {
+            $cms_hit->{tRNA_len} = $r_prescan_tRNA->{len};
+        }
+        else {
+            # get correct subseq & save to file
+            if ((length($r_prescan_tRNA->{seq}) >= $cms_hit->{subseq_end} + 2) &&
+                (uc(substr($r_prescan_tRNA->{seq}, $cms_hit->{subseq_end}, 3)) eq "CCA") &&
+                (substr($cms_hit->{ss}, length($cms_hit->{ss}) - 4) ne "....")) {
+                $cms_hit->{subseq_end} += 3;
+                if ($cms_hit->{strand}) {
+                    $cms_hit->{tRNA_end} += 3;
+                }
+                else {
+                    $cms_hit->{tRNA_end} -= 3;
+                }
+                $cms_hit->{seq} .= "CCA";
+            }
+            $cms_hit->{tRNA_len} = $cms_hit->{subseq_end} - $cms_hit->{subseq_start} + 1;
+            &write_tRNA($tmp_trnaseq_file, $cms_hit->{hit_seqname}, " ",
+                        substr($r_prescan_tRNA->{seq}, $cms_hit->{subseq_start} - 1, $cms_hit->{tRNA_len}), 1);
+
+            if (uc(substr($r_prescan_tRNA->{seq}, $cms_hit->{subseq_start} - 1, $cms_hit->{tRNA_len})) ne uc($cms_hit->{seq})) {
+                $cms_hit->{seq} = substr($r_prescan_tRNA->{seq}, $cms_hit->{subseq_start} - 1, $cms_hit->{tRNA_len});
+            }
+            if ($cms_hit->{subseq_start} > 1) {
+                $cms_hit->{upstream} .= substr($r_prescan_tRNA->{seq}, 0, $cms_hit->{subseq_start} - 1);
+            }
+            if ($cms_hit->{subseq_end} < $r_prescan_tRNA->{len}) {
+                $cms_hit->{downstream} = substr($r_prescan_tRNA->{seq}, $cms_hit->{subseq_end}) . $cms_hit->{downstream};
+            }
+        }                       
+
+        $cms_hit->{name}  = $cms_hit->{hit_seqname}.".t$$r_curseq_trnact";
+        
+        ($cm_anticodon, $acodon_index, $cm_type, $r_introns, $hmm_score, $ss_score, $pseudo_gene_flag) = 
+             $self->decode_tRNA_properties ($opts, $gc, $log, $cms_hit->{score}, $cms_hit->{seq}, $cms_hit->{ss}, $r_prescan_tRNA,
+                          $cms_hit->{tRNA_start}, $cms_hit->{tRNA_end}, $cur_cm_file, $tmp_trnaseq_file);
+        
+        $cm_hit = {};
+        $cm_hit =
+             {seqname =>$cms_hit->{hit_seqname}, score=>$cms_hit->{score}, ss=>$cms_hit->{ss}, seq=>$cms_hit->{seq}, model=>$cms_hit->{model},
+              start=>$cms_hit->{tRNA_start}, end=>$cms_hit->{tRNA_end}, len=>$cms_hit->{tRNA_len}, ID=>$cms_hit->{name},
+              acodon=>$cm_anticodon, acodon_pos =>$acodon_index, isotype=>$cm_type,
+              introns=>$r_introns, hmm_score=>$hmm_score, 
+              ss_score=>$ss_score, is_pseudo=>$pseudo_gene_flag,
+              src_seqlen=>$r_prescan_tRNA->{src_seqlen}, src_seqname=>$cms_hit->{hit_seqname},
+              strand=>$r_prescan_tRNA->{strand}, hit_source=>$r_prescan_tRNA->{hit_source}, 
+              upstream=>$cms_hit->{upstream}, downstream=>$cms_hit->{downstream}, extra=>0};
+        
+        if (!$self->{CM_check_for_introns}) {
+            &output_tRNA($opts, $gc, $log, $self->{tab_results}, $self->{get_hmm_score}, $program_id,
+                         $r_prescan_tRNA, $cm_hit, $$r_curseq_trnact);	
+        
+            $cms_confirmed_ct++;
+        }
+        else {
+            push(@$r_sec_pass_hits, $cm_hit);
+        }
+    }	# while more cmsearch hits
+    
+    return $cms_confirmed_ct;
+}	    
+
+sub sort_cm_hits_by_start {
+    
+    my $self = shift;
+    my $cms_hits = shift;
+    
+    my $a_start = $a->{start};
+    my $b_start = $b->{start};
+    
+    if ($a->{strand} == 0) {
+        $a_start = $a->{end};
+    }
+    if ($b->{strand} == 0) {
+        $b_start = $b->{end};
+    }
+    
+    return ($a->{seqname} cmp $b->{seqname} ||
+            $a_start <=> $b_start);    
+}
+
+sub sort_cm_hits_for_output {
+    
+    my $self = shift;
+    my $cms_hits = shift;
+    
+    if ((($a->{strand} == $b->{strand}) && ($a->{strand} == 1)) ||
+        ($a->{strand} != $b->{strand})) {
+        return ($a->{seqname} cmp $b->{seqname} ||
+                $b->{strand} <=> $a->{strand} ||
+                $a->{start} <=> $b->{start});
+    }
+    if (($a->{strand} == $b->{strand}) && ($a->{strand} == 0)) {
+        return ($a->{seqname} cmp $b->{seqname} ||
+                $b->{strand} <=> $a->{strand} ||
+                $b->{start} <=> $a->{start});        
+    }
+}
+
+sub sort_intron_by_start {
+    
+    my $self = shift;
+    my $introns = shift;
+        
+    return ($a->{start} <=> $b->{end});    
+}
+
+1;
diff --git a/tRNAscanSE/Constants.pm b/tRNAscanSE/Constants.pm
new file mode 100644
index 0000000..6e90865
--- /dev/null
+++ b/tRNAscanSE/Constants.pm
@@ -0,0 +1,105 @@
+# tRNAscanSE/Constants.pm
+# This class defines global constants used in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+# --------------------------------------------------------------
+#
+
+package tRNAscanSE::Constants;
+
+use strict;
+use tRNAscanSE::Utils;
+
+sub new {
+    my $class = shift;
+    my $self = {};
+
+    initialize($self);
+
+    bless ($self, $class);
+    return $self;
+}
+
+sub DESTROY
+{
+    my $self = shift;
+}
+
+sub initialize
+{
+    my $self = shift;
+
+    $self->{REALLY_BIG_NUMBER} = 1000000000;   # largest sequence length imaginable
+
+    # Source of first-pass hits table
+    # C = Cove, T = tRNAscan, E = EufindtRNA, B = both
+
+    my @source_tab = ('Cv', 'Ts', 'Eu', 'Bo');
+    $self->{source_tab} = \@source_tab;
+    
+    $self->{upstream_len} = 60;
+    $self->{downstream_len} = 60;
+}
+
+sub REALLY_BIG_NUMBER
+{
+    my $self = shift;
+    return $self->{REALLY_BIG_NUMBER};
+}
+
+sub source_tab
+{
+    my $self = shift;
+    return $self->{source_tab};
+}
+
+sub upstream_len
+{
+    my $self = shift;
+    return $self->{upstream_len};
+}
+
+sub downstream_len
+{
+    my $self = shift;
+    return $self->{downstream_len};
+}
+
+sub set_temp_file_names
+{
+    my $self = shift;
+    my $temp_dir = shift;
+
+    $self->{tmp_raw} = &tempname($temp_dir, ".raw");               # for raw tscan output
+    $self->{tmp_fa} = &tempname($temp_dir, ".fa");                 # for current fasta seq file
+    $self->{tmp_trnaseq_file} = &tempname($temp_dir, ".trna");     # for current tRNA seq 
+    $self->{tmp_masked_fa} = &tempname($temp_dir, ".masked.fa");   # for current tRNA seq 
+}
+
+sub tmp_raw
+{
+    my $self = shift;
+    return $self->{tmp_raw};
+}
+
+sub tmp_fa
+{
+    my $self = shift;
+    return $self->{tmp_fa};
+}
+
+sub tmp_trnaseq_file
+{
+    my $self = shift;
+    return $self->{tmp_trnaseq_file};
+}
+
+sub tmp_masked_fa
+{
+    my $self = shift;
+    return $self->{tmp_masked_fa};
+}
+
+1;
diff --git a/tRNAscanSE/Eufind.pm b/tRNAscanSE/Eufind.pm
new file mode 100644
index 0000000..ded9bb2
--- /dev/null
+++ b/tRNAscanSE/Eufind.pm
@@ -0,0 +1,261 @@
+# tRNAscanSE/Eufind.pm
+# This class contains parameters and functions for running eufindtRNA used in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+# --------------------------------------------------------------
+#
+
+package tRNAscanSE::Eufind;
+
+use strict;
+use tRNAscanSE::Utils;
+
+
+sub new {
+    my $class = shift;
+    my $self = {};
+
+    initialize($self);
+
+    bless ($self, $class);
+    return $self;
+}
+
+sub DESTROY
+{
+    my $self = shift;
+}
+
+sub initialize
+{
+    my $self = shift;
+    $self->{eufind_params} = "-r";      # relaxed params to be used with 
+                                        # eufindtRNA program by default
+                                        # this option selects tRNAs,  
+                                        # not looking for poly T 
+                                        # pol III termination signal
+
+    $self->{eufind_intscore} = -32.10;  # Intermediate score cutoff for use
+                                        # with eufindtRNA
+#    $self->{eufind_Totscore} = -31.8;  # Total score cutoff for use
+                                        # with eufindtRNA in non-relaxed mode
+        
+    $self->{eufind_bin} = "eufindtRNA";
+
+    $self->{eufind_mask} = 2;           # Bit-wise masks for source of tRNA hits
+}
+
+sub eufind_params
+{
+    my $self = shift;
+    if (@_) { $self->{eufind_params} = shift; }
+    return $self->{eufind_params};
+}
+
+sub eufind_intscore
+{
+    my $self = shift;
+    if (@_) { $self->{eufind_intscore} = shift; }
+    return $self->{eufind_intscore};
+}
+
+sub eufind_bin
+{
+    my $self = shift;
+    if (@_) { $self->{eufind_bin} = shift; }
+    return $self->{eufind_bin};
+}
+
+sub eufind_mask
+{
+    my $self = shift;
+    return $self->{eufind_mask};
+}
+
+sub set_bin {
+    
+    my $self = shift;
+    my $bindir = shift;
+    
+    if ($^O =~ /^MSWin/) {
+        $self->{eufind_bin} .= ".exe";
+    }
+
+    if (!(-x $self->{eufind_bin})) {
+        $self->{eufind_bin} = $bindir.$self->{eufind_bin};
+        if (!(-x $self->{eufind_bin})) {
+            die "FATAL: Unable to find ".$self->{eufind_bin}." executable\n\n";
+        }
+    }
+}
+
+sub run_eufind {
+    
+    my $self = shift;
+    my ($tmp_fa, $start_index, $max_int_len, $seq_name) = @_;
+    my $eufind_bin = $self->{eufind_bin};
+    my $eufind_intscore = $self->{eufind_intscore};
+    my $eufind_params = $self->{eufind_params};
+
+    # run default Eufind using selected param set
+    my $eufind_output = 
+        `$eufind_bin -i $start_index -F -I $eufind_intscore -l $max_int_len $eufind_params $tmp_fa`;
+    if (&error_exit_status("EufindtRNA",$seq_name)) {
+        $eufind_output = "";
+    }
+    return $eufind_output;
+}
+
+sub process_Eufind_hits {
+
+    my $self = shift;
+    my $constants = shift;
+    my $stats = shift;
+    my $r_hit_list = shift;
+    my $eufind_output = shift;
+    
+    my ($istart, $iend, $from,$ to, $intron, $trnact, $len, $seq_name,
+          $anticodon, $iso_type, $sense_strand, $score, $pos, $i, @eufind_lines);
+
+    $trnact = 0;               # trna count for this sequence
+    $istart = 0; $iend = 0;    # intron bounds
+    $from = 0; $to = 0;        # tRNA bounds
+    $len = 0;                  # tRNA length
+    $intron = 0;               # intron present? flag
+    $anticodon = '';
+    $iso_type = '';        
+    $score = 0.0;
+    
+    @eufind_lines = split(/\n/, $eufind_output);
+    foreach (@eufind_lines) {
+        if (/^(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\S+)/o)
+        {
+            $seq_name = $1;
+            $trnact = $2; 
+            $from = $3;
+            $to = $4;
+            $iso_type = $5;
+            $anticodon = $6;
+            $score = $9;
+            
+            $istart = 0;
+            $iend = 0;
+            
+            if ($from < $to)  {
+                $len = $to - $from + 1;
+                $pos = $from;                
+                $sense_strand = 1;     # flag for forward or reverse strand
+            }
+            else  { 
+                $len = $from - $to + 1;;
+                $pos = $constants->REALLY_BIG_NUMBER() - $from + 1;
+                $sense_strand = 0;
+            }
+            
+            if ($from == $to) {
+                print STDERR "Error reading EufindtRNA results: ",
+                    "tRNA of length 0"; 
+            }
+            
+            if (!$self->merge_repeat_hit($stats, $r_hit_list, \$trnact, $from, $to,
+                                         $sense_strand, $iso_type, $score)) {
+            
+                # insert non-redundant hit in order
+                # 'Merge_repeat_hits' depends on list being in order
+
+                $i=0;
+                while (($i < scalar(@$r_hit_list)) && ($r_hit_list->[$i]{position} < $pos)) {
+                    $i++;
+                }
+                       
+                splice(@$r_hit_list, $i, 0, {
+                    seqname => $seq_name, 
+                    start => $from, end => $to,
+                    type => $iso_type, acodon => $anticodon,
+                    istart => 0, iend => 0,
+                    sen_strand => $sense_strand,
+                    position => $pos, score => $score,
+                    source => $self->{eufind_mask}
+                });   
+                
+                $trnact++;        
+                $stats->increment_trnatotal();
+                
+            }
+        }
+    }
+}
+
+# check current hit for redundancy against all previous hits in hitlist
+#
+# if it IS a repeat, merge it with overlapping hit and return 1
+# if it doesn't overlap with any hits, return 0
+
+sub merge_repeat_hit  {
+
+    my $self = shift;
+    my $stats = shift;
+    my ($r_hit_list, $r_trnact, $from, $to, $sense_strand, $iso_type, $score) = @_;
+    my ($i);
+
+    foreach $i (0..(scalar(@$r_hit_list) - 1)) {
+        
+        if ($sense_strand) {
+            if (($r_hit_list->[$i]{sen_strand} == 1) &&
+                (&seg_overlap($from, $to, $r_hit_list->[$i]{start}, $r_hit_list->[$i]{end}))) 
+            {
+                $r_hit_list->[$i]{start} = &min($from, $r_hit_list->[$i]{start});
+                $r_hit_list->[$i]{end} = &max($to, $r_hit_list->[$i]{end});
+                $r_hit_list->[$i]{source} = $r_hit_list->[$i]{source} | $self->{eufind_mask};
+                $r_hit_list->[$i]{type} = $iso_type;
+                $r_hit_list->[$i]{score} = $score;
+    
+                # check to see if extended endpoint overlaps
+                #  i+1 hit's start boundary
+                # if so, combine hit[i] and hit[i+1] into one
+                #  hit and delete hit[i+1]
+                if (($i != (scalar(@$r_hit_list) - 1)) && ($r_hit_list->[$i+1]{sen_strand})
+                    && ($r_hit_list->[$i]{end} >= $r_hit_list->[$i+1]{start})) 
+                {
+                    $r_hit_list->[$i]{end} = &max($r_hit_list->[$i]{end}, $r_hit_list->[$i+1]{end});
+                    $r_hit_list->[$i]{source} = $r_hit_list->[$i]{source} | $r_hit_list->[$i+1]{source};
+
+                    splice(@$r_hit_list,$i+1,1);          # toss out overlapping hit 
+                    $$r_trnact--;
+                    $stats->decrement_trnatotal();
+                }   
+                return 1;                                 # exit loop immediately
+            }
+        }
+        else         # else (antisense) strand 
+        {                
+            if (($r_hit_list->[$i]{sen_strand} == 0) &&
+                (&seg_overlap($to,$from,$r_hit_list->[$i]{end}, $r_hit_list->[$i]{start}))) 
+            {
+                $r_hit_list->[$i]{start} = &max($from, $r_hit_list->[$i]{start});
+                $r_hit_list->[$i]{end} = &min($to, $r_hit_list->[$i]{end});
+                $r_hit_list->[$i]{source} = $r_hit_list->[$i]{source} | $self->{eufind_mask};
+                $r_hit_list->[$i]{type} = $iso_type;
+                $r_hit_list->[$i]{score} = $score;
+
+                if (($i != (scalar(@$r_hit_list) - 1)) &&
+                    ($r_hit_list->[$i]{end} <= $r_hit_list->[$i+1]{start})) 
+                {
+                    $r_hit_list->[$i]{end} = &min($r_hit_list->[$i]{end}, $r_hit_list->[$i+1]{end});
+                    $r_hit_list->[$i]{source} = $r_hit_list->[$i]{source} | $r_hit_list->[$i+1]{source};
+
+                    splice(@$r_hit_list,$i+1,1);          # toss out overlapping hit 
+                    $$r_trnact--;
+                    $stats->decrement_trnatotal();
+                }
+                return 1;                                 # exit loop immediately
+            }
+        } # else (antisense) strand
+        
+    } # for each (hit)                        
+
+    return 0;                                             # current hit is not a repeat
+}
+1;
diff --git a/tRNAscanSE/GeneticCode.pm b/tRNAscanSE/GeneticCode.pm
new file mode 100644
index 0000000..4ae1106
--- /dev/null
+++ b/tRNAscanSE/GeneticCode.pm
@@ -0,0 +1,291 @@
+# tRNAscanSE/GeneticCode.pm
+# This class describes the genetic codes used in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+# --------------------------------------------------------------
+#
+
+package tRNAscanSE::GeneticCode;
+
+use strict;
+use tRNAscanSE::Utils;
+
+sub new {
+    my $class = shift;
+    my $self = {};
+
+    initialize($self);
+
+    bless ($self, $class);
+    return $self;
+}
+
+sub DESTROY {
+    my $self = shift;
+}
+
+sub initialize {
+    my $self = shift;
+
+    $self->{undef_anticodon} = "???";
+    $self->{undef_isotype}   = "Undet";
+
+    my @isotypes = ('Ala', 'Gly', 'Pro', 'Thr', 'Val', 
+                 'Ser', 'Arg', 'Leu',
+                 'Phe','Asn', 'Lys', 'Asp', 'Glu', 'His', 'Gln', 
+                 'Ile', 'Met', 'Tyr', 'Supres', 'Cys', 'Trp', 'SelCys');
+    $self->{isotypes} = \@isotypes;
+    
+    # Amino acid -> Anti-codon list for printing out global tRNA summary
+
+    my %ac_list = (
+               'Ala' => [qw/AGC GGC CGC TGC/],
+               'Gly' => [qw/ACC GCC CCC TCC/],
+               'Pro' => [qw/AGG GGG CGG TGG/],
+               'Thr' => [qw/AGT GGT CGT TGT/],
+               'Val' => [qw/AAC GAC CAC TAC/],
+               
+               'Ser' => [qw/AGA GGA CGA TGA ACT GCT/],
+               'Arg' => [qw/ACG GCG CCG TCG CCT TCT/],
+               'Leu' => [qw/AAG GAG CAG TAG CAA TAA/],
+               
+               'Phe' => [qw/AAA GAA &nbsp &nbsp /],
+               
+               'Asn' => [qw/ATT GTT &nbsp &nbsp /],
+               'Lys' => [qw/&nbsp &nbsp CTT TTT/],
+               
+               'Asp' => [qw/ATC GTC &nbsp &nbsp /],
+               'Glu' => [qw/&nbsp &nbsp CTC TTC/],
+               
+               'His' => [qw/ATG GTG &nbsp &nbsp /],
+               'Gln' => [qw/&nbsp &nbsp CTG TTG/],
+               
+               'Tyr' => [qw/ATA GTA &nbsp &nbsp /],
+               'Supres' => [qw/&nbsp &nbsp CTA TTA/],
+               
+               'Ile' => [qw/AAT GAT &nbsp TAT/],
+               'Met' => [qw/&nbsp &nbsp CAT &nbsp/],
+               
+               'Cys' => [qw/ACA GCA &nbsp &nbsp /],
+               'Trp' => [qw/&nbsp &nbsp CCA &nbsp/],
+               'SelCys' => [qw/&nbsp &nbsp &nbsp TCA/]
+               );
+    $self->{ac_list} = \%ac_list;    
+
+    $self->{trans_map} = +{};
+    $self->{one_let_trans_map} = +{};
+}
+
+sub undef_anticodon
+{
+    my $self = shift;
+    return $self->{undef_anticodon};
+}
+
+sub undef_isotype
+{
+    my $self = shift;
+    return $self->{undef_isotype};
+}
+
+sub isotypes
+{
+    my $self = shift;
+    return $self->{isotypes};
+}
+
+sub ac_list
+{
+    my $self = shift;
+    return $self->{ac_list};
+}
+
+sub one_let_trans_map
+{
+    my $self = shift;
+    return $self->{one_let_trans_map};
+}
+
+sub read_transl_table {
+    
+    my $self = shift;
+    my $opts = shift;
+    my $alt_gcode = $opts->alt_gcode();
+    my $gc_file = $opts->gc_file();
+    
+    my %ambig_trans_map = ();
+    my %alt_trans_map = ();
+    my ($acodon, @expanded_set, $expanded_ac, $gc_file_path);
+    
+    # Read in default genetic code table (may contain ambiguous bases) at
+    # end of this source file
+
+    while (<DATA>) {                
+        if ((/^[^\#]/) && 
+            (/^([ACGTUNRYSWMKBDHV]{3,3})\s+(\S+)\s+(\S)/i)) {
+            $acodon = uc($1);
+            $ambig_trans_map{&rev_comp_seq($acodon)} = $2;
+            $self->{one_let_trans_map}->{$2} = $3;
+        } 
+    }                
+
+    $self->{one_let_trans_map}->{$self->{undef_isotype}} = "?";
+    $self->{one_let_trans_map}->{"SeC(p)"} = "Z";
+    $self->{one_let_trans_map}->{"SeC(e)"} = "Z";
+
+    # Convert any ambiguous bases to make all non-ambigous codons
+    #  and save translated amino acid
+
+    @expanded_set = ();
+    foreach $acodon (sort keys(%ambig_trans_map)) {
+        push(@expanded_set, &expand_ambig($acodon));
+        foreach $expanded_ac (@expanded_set) {
+            $self->{trans_map}->{$expanded_ac} =  $ambig_trans_map{$acodon};  
+        }            
+        @expanded_set = ();
+    }
+
+    if ($alt_gcode) {
+    
+        if (-r $gc_file) {
+            $gc_file_path = $gc_file;
+        }
+        elsif (-r "/usr/local/lib/tRNAscanSE/".$gc_file) {
+            $gc_file_path = "/usr/local/lib/tRNAscanSE/".$gc_file; 
+        }
+        else {
+            die "FATAL: Could not find $gc_file translation codon file\n\n";
+        }
+    
+        open (GC_TABLE, "$gc_file_path") || 
+            die "FATAL: Could not find $gc_file translation codon file\n\n";
+
+        # Read in genetic code table (may contain ambiguous bases)
+    
+        while (<GC_TABLE>) {                
+            if ((/^[^\#]/) 
+                && (/^([ACGTUNRYSWMKBDHV]{3,3})\s+(\S+)\s+(\S)/i)) {
+                $acodon = uc($1);
+                $alt_trans_map{&rev_comp_seq($acodon)} = $2;  
+                $self->{one_let_trans_map}->{$2} = $3;  
+            } 
+        }
+            close GC_TABLE;
+                                   
+        # Convert any ambiguous bases to make all non-ambigous codons
+        #  and save translated amino acid
+    
+        @expanded_set = ();
+        foreach $acodon (sort keys(%alt_trans_map)) {
+            push(@expanded_set, &expand_ambig($acodon));
+            foreach $expanded_ac (@expanded_set) {
+                $self->{trans_map}->{$expanded_ac} =  $alt_trans_map{$acodon};  
+            }            
+            @expanded_set = ();
+        }
+    }    
+}
+
+sub get_tRNA_type {
+
+    my $self = shift;
+    my $cm = shift;
+    my $ac = shift;                         # anticodon to be decoded
+    my $cm_file = shift;
+
+    my $Pselc_cm_file_path = $cm->Pselc_cm_file_path();
+    my $Eselc_cm_file_path = $cm->Eselc_cm_file_path();
+    
+    my ($prev_type,$type);
+
+    if ($ac eq $self->{undef_anticodon}) {
+        return $self->{undef_isotype};
+    }
+    elsif ($cm_file eq $Pselc_cm_file_path) {
+        return 'SeC(p)';
+    }
+    elsif ($cm_file eq $Eselc_cm_file_path) {
+        return 'SeC(e)';
+    }
+    else {
+        $prev_type = 'INIT';
+        foreach my $exp_codon (&expand_ambig($ac)) {
+            $type = $self->{trans_map}->{$exp_codon};
+            if (($type ne $prev_type) && ($prev_type ne 'INIT')) {
+                return $self->{undef_isotype};
+            }
+            $prev_type = $type;
+        }
+        return $type;
+    }
+}
+
+sub expand_ambig {
+    
+    my ($ac) = @_;
+
+    $ac = " ".$ac." ";
+    
+    while (index($ac, 'N') != -1) {
+        $ac =~ s/(.*)\s(\S*)N(\S*)\s(.*)/$1 $2A$3 $2C$3 $2G$3 $2T$3 $4/g;
+    }
+    &expand2(\$ac, 'Y', 'C', 'T'); &expand2(\$ac, 'R', 'A', 'G'); 
+    &expand2(\$ac, 'W', 'A', 'T'); &expand2(\$ac, 'S', 'C', 'G'); 
+    &expand2(\$ac, 'M', 'A', 'C'); &expand2(\$ac, 'K', 'G', 'T');
+    
+    &expand3(\$ac, 'V', 'A', 'C', 'G'); &expand3(\$ac, 'B', 'C', 'G', 'T'); 
+    &expand3(\$ac, 'H', 'A', 'C', 'T'); &expand3(\$ac, 'D', 'A', 'G', 'T'); 
+    
+    $ac = substr($ac, 1);
+    return (split(/ /, $ac));
+}
+
+sub expand2 {
+    
+    my ($acodon, $ambig_base, $sub1, $sub2) = @_;
+    
+    while (index($$acodon, $ambig_base) != -1) {
+        $$acodon =~ s/(.*)\s(\S*)$ambig_base(\S*)\s(.*)/$1 $2$sub1$3 $2$sub2$3 $4/g;
+    }
+}
+
+sub expand3 {
+    
+    my($acodon, $ambig_base, $sub1, $sub2, $sub3) = @_;
+
+    while (index($$acodon, $ambig_base) != -1) {
+        $$acodon =~ s/(.*)\s(\S*)$ambig_base(\S*)\s(.*)/$1 $2$sub1$3 $2$sub2$3 $2$sub3$3 $4/g;
+    }
+}
+
+1;
+
+__DATA__
+GCN        Ala        A
+TGY        Cys        C
+GAY        Asp        D
+GAR        Glu        E
+TTY        Phe        F
+GGN        Gly        G
+CAY        His        H
+ATH        Ile        I
+AAR        Lys        K
+TTR        Leu        L
+CTN        Leu        L
+ATG        Met        M
+AAY        Asn        N
+CCN        Pro        P
+CAR        Gln        Q
+AGR        Arg        R
+CGN        Arg        R
+AGY        Ser        S
+TCN        Ser        S
+ACN        Thr        T
+GTN        Val        V
+TGG        Trp        W
+TAY        Tyr        Y
+TAR        Sup        ?
+TGA        SeC        Z
+
diff --git a/tRNAscanSE/LogFile.pm b/tRNAscanSE/LogFile.pm
new file mode 100644
index 0000000..098c4e8
--- /dev/null
+++ b/tRNAscanSE/LogFile.pm
@@ -0,0 +1,87 @@
+# tRNAscanSE/LogFile.pm
+# This class defines the log file used in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+# --------------------------------------------------------------
+#
+
+package tRNAscanSE::LogFile;
+
+use strict;
+use tRNAscanSE::Utils;
+
+sub new {
+    my $class = shift;
+    my $self = {};
+
+    initialize($self);
+
+    bless ($self, $class);
+    return $self;
+}
+
+sub DESTROY
+{
+    my $self = shift;
+}
+
+sub initialize
+{
+    my $self = shift;
+    $self->{file_name} = "";             # name of log file
+    $self->{FILE_H} = undef;             # file handle
+}
+
+sub file_name
+{
+    my $self = shift;
+    if (@_) { $self->{file_name} = shift; }
+    return $self->{file_name};
+}
+
+sub open_file
+{
+    my $self = shift;
+    my $file = shift;
+    
+    my $success = 0;
+    
+    if (($file eq "-") || ($file eq "/dev/null"))
+    {
+        $success = open($self->{FILE_H}, ">$file");
+        $self->{file_name} = $file;
+    }
+    else
+    {
+        &open_for_write(\$self->{FILE_H}, $file);
+        select($self->{FILE_H});
+        $|=1;
+        $self->{file_name} = $file;
+        $success = 1;
+    }
+    return $success;
+}
+
+sub close_file
+{
+    my $self = shift;
+    
+    if (defined $self->{FILE_H})
+    {
+        close($self->{FILE_H});
+    }
+}
+
+sub write_line
+{
+    my $self = shift;
+    my $line = shift;
+    
+    my $fh = $self->{FILE_H};
+    
+    print $fh $line . "\n";
+}
+
+1;
diff --git a/tRNAscanSE/Options.pm b/tRNAscanSE/Options.pm
new file mode 100644
index 0000000..ddaec8b
--- /dev/null
+++ b/tRNAscanSE/Options.pm
@@ -0,0 +1,668 @@
+# tRNAscanSE/Options.pm
+# This class defines options used in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+# --------------------------------------------------------------
+#
+
+package tRNAscanSE::Options;
+
+use strict;
+use tRNAscanSE::Utils;
+
+sub new {
+    my $class = shift;
+    my $self = {};
+
+    initialize($self);
+
+    bless ($self, $class);
+    return $self;
+}
+
+sub DESTROY
+{
+    my $self = shift;
+}
+
+sub initialize
+{
+    my $self = shift;
+    $self->{fafile} = "";
+    $self->{fasta_file} = "";           # input sequence file
+    $self->{multiple_files} = 0;        # multiple input sequence files
+    $self->{out_file} = "-";            # output result file -- send to 
+                                        #  stdout ("-") by default 
+
+    $self->{results_to_stdout} = 1;     # send results to stdout by default
+
+    $self->{ace_output} = 0;            # output in ACeDB format if non-zero
+    $self->{brief_output} = 0;          # don't print tabular output column headers
+                                        #  if non-zero
+    $self->{quiet_mode} = 0;            # don't print credits & selected run options
+                                        #  if non-zero
+    $self->{display_progress} = 0;      # print program progress info if non-zero
+    $self->{save_progress} = 0;         # save progress to log file if non-zero
+    $self->{log_file} = "";             # name of log file
+
+    $self->{seq_key} = "";              # require seq names to match this key
+    $self->{raw_seq_key} = "";          # unmodified user-input key
+    $self->{start_at_key} = 0;          # read all seqs after finding seqname=KEY?
+
+    $self->{tscan_mode} = 1;            # run tRNAscan if non-zero
+    $self->{eufind_mode} = 1;           # run eufindtRNA (pavesi) if non-zero
+    $self->{strict_params} = 1;         # use original strict tRNAscan params
+                                        #  if non-zero
+                                    
+    $self->{CM_mode} = "cove";          # run covariance model search
+                                        #  cove - run Cove if non-zero
+                                        #  infernal - run Infernal if non-zero
+                                        #             run Infernal by default
+                                        
+    $self->{second_pass_label} = "Cove";    # Second scan pass label: Cove by default
+
+    $self->{search_mode} = "";          # tRNA search mode when running Cove or cmsearch
+                                        # bacteria - run covariance model for bacteria if set
+                                        # archaea - run archaea cov model if set
+                                        # general - run general cov models (combines tRNAs from all 3 domains)
+                                        
+    $self->{org_mode} = 0;              # run in organellar mode
+                                        # run eukaryotic model by default
+
+    $self->{alt_gcode} = 0;             # use alternate genetic translation table
+                                        #  file if non-zero
+    $self->{gc_file} = "";              # alternate transl table file
+
+    $self->{save_stats} = 0;            # save statistics for search
+    $self->{stats_file} = "";
+
+    $self->{save_odd_struct} = 0;    # save structures for which Cove
+                                     #  was unable to determine anticodon
+    $self->{odd_struct_file} = "";
+
+    $self->{save_all_struct} = 0;    # save secondary structures if nonzero
+    $self->{all_struct_file} = "";   # sec struct file, set with -f option
+
+    $self->{split_fragment_file} = "";   # split fragment file, set with --split option
+
+    $self->{save_verbose} = 0;       # save verbose output from tRNAscan
+    $self->{verb_file} = "";
+
+    $self->{save_firstpass_res} = 0;   # save tabular tRNAscan results
+    $self->{firstpass_result_file} = "";
+
+    $self->{use_prev_ts_run} = 0;   # specify result file from previous
+                                    # tRNA search for Cove-confirmation
+
+    $self->{default_Padding} = 8;
+    $self->{padding} = $self->{default_Padding}; # pad both ends of first-pass hits with this
+                                                 # many extra bases before passing to Cove
+
+    $self->{save_falsepos} = 0;     # save false positive tRNAs in 
+                                    # fasta file
+    $self->{falsepos_file} = "";
+
+    $self->{save_missed} = 0;       # save seqs without a hit
+    $self->{missed_seq_file} = "";
+
+    $self->{save_source} = 0;       # save source of first-pass hit
+
+    $self->{output_codon} = 0;      # output tRNA codon instead of anticodon
+                                    # (off by default)
+ 
+#    $self->{use_orig_cm} = 0;       # use original covariance model that
+#                                    # contains tRNAS from all three domains
+
+    $self->{def_max_int_len} = 200;     # default MAX intron+variable loop region size
+                                        # used in EufindtRNA
+
+    $self->{max_int_len} = $self->{def_max_int_len};
+
+    $self->{prompt_for_overwrite} = 1;  # prompt user before overwriting a pre-existing 
+                                        # output file, disabled with -Q option
+}
+
+sub fafile
+{
+    my $self = shift;
+    if (@_) { $self->{fafile} = shift; }
+    return $self->{fafile};
+}
+
+sub fasta_file
+{
+    my $self = shift;
+    if (@_) { $self->{fasta_file} = shift; }
+    return $self->{fasta_file};
+}
+
+sub multiple_files
+{
+    my $self = shift;
+    if (@_) { $self->{multiple_files} = shift; }
+    return $self->{multiple_files};
+}
+
+sub out_file
+{
+    my $self = shift;
+    if (@_) { $self->{out_file} = shift; }
+    return $self->{out_file};
+}
+
+sub results_to_stdout
+{
+    my $self = shift;
+    if (@_) { $self->{results_to_stdout} = shift; }
+    return $self->{results_to_stdout};
+}
+
+sub ace_output
+{
+    my $self = shift;
+    if (@_) { $self->{ace_output} = shift; }
+    return $self->{ace_output};
+}
+
+sub brief_output
+{
+    my $self = shift;
+    if (@_) { $self->{brief_output} = shift; }
+    return $self->{brief_output};
+}
+
+sub quiet_mode
+{
+    my $self = shift;
+    if (@_) { $self->{quiet_mode} = shift; }
+    return $self->{quiet_mode};
+}
+
+sub display_progress
+{
+    my $self = shift;
+    if (@_) { $self->{display_progress} = shift; }
+    return $self->{display_progress};
+}
+
+sub save_progress
+{
+    my $self = shift;
+    if (@_) { $self->{save_progress} = shift; }
+    return $self->{save_progress};
+}
+
+sub log_file
+{
+    my $self = shift;
+    if (@_) { $self->{log_file} = shift; }
+    return $self->{log_file};
+}
+
+sub seq_key
+{
+    my $self = shift;
+    if (@_) { $self->{seq_key} = shift; }
+    return $self->{seq_key};
+}
+
+sub raw_seq_key
+{
+    my $self = shift;
+    if (@_) { $self->{raw_seq_key} = shift; }
+    return $self->{raw_seq_key};
+}
+
+sub start_at_key
+{
+    my $self = shift;
+    if (@_) { $self->{start_at_key} = shift; }
+    return $self->{start_at_key};
+}
+
+sub tscan_mode
+{
+    my $self = shift;
+    if (@_) { $self->{tscan_mode} = shift; }
+    return $self->{tscan_mode};
+}
+
+sub eufind_mode
+{
+    my $self = shift;
+    if (@_) { $self->{eufind_mode} = shift; }
+    return $self->{eufind_mode};
+}
+
+sub strict_params
+{
+    my $self = shift;
+    if (@_) { $self->{strict_params} = shift; }
+    return $self->{strict_params};
+}
+
+sub CM_mode
+{
+    my $self = shift;
+    if (@_) { $self->{CM_mode} = shift; }
+    return $self->{CM_mode};
+}
+
+sub cove_mode
+{
+    my $self = shift;
+    return ($self->{CM_mode} eq 'cove');
+}
+
+sub infernal_mode
+{
+    my $self = shift;
+    return ($self->{CM_mode} eq 'infernal');
+}
+
+sub second_pass_label
+{
+    my $self = shift;
+    if (@_) { $self->{second_pass_label} = shift; }
+    return $self->{second_pass_label};
+}
+
+sub search_mode
+{
+    my $self = shift;
+    if (@_) { $self->{search_mode} = shift; }
+    return $self->{search_mode};
+}
+
+sub bact_mode
+{
+    my $self = shift;
+    return ($self->{search_mode} eq 'bacteria');
+}
+
+sub arch_mode
+{
+    my $self = shift;
+    return ($self->{search_mode} eq 'archaea');
+}
+
+sub general_mode
+{
+    my $self = shift;
+    return ($self->{search_mode} eq 'general');
+}
+
+sub org_mode
+{
+    my $self = shift;
+    if (@_) { $self->{org_mode} = shift; }
+    return $self->{org_mode};
+}
+
+sub alt_gcode
+{
+    my $self = shift;
+    if (@_) { $self->{alt_gcode} = shift; }
+    return $self->{alt_gcode};
+}
+
+sub gc_file
+{
+    my $self = shift;
+    if (@_) { $self->{gc_file} = shift; }
+    return $self->{gc_file};
+}
+
+sub save_stats
+{
+    my $self = shift;
+    if (@_) { $self->{save_stats} = shift; }
+    return $self->{save_stats};
+}
+
+sub stats_file
+{
+    my $self = shift;
+    if (@_) { $self->{stats_file} = shift; }
+    return $self->{stats_file};
+}
+
+sub save_odd_struct
+{
+    my $self = shift;
+    if (@_) { $self->{save_odd_struct} = shift; }
+    return $self->{save_odd_struct};
+}
+
+sub odd_struct_file
+{
+    my $self = shift;
+    if (@_) { $self->{odd_struct_file} = shift; }
+    return $self->{odd_struct_file};
+}
+
+sub save_all_struct
+{
+    my $self = shift;
+    if (@_) { $self->{save_all_struct} = shift; }
+    return $self->{save_all_struct};
+}
+
+sub all_struct_file
+{
+    my $self = shift;
+    if (@_) { $self->{all_struct_file} = shift; }
+    return $self->{all_struct_file};
+}
+
+sub split_fragment_file
+{
+    my $self = shift;
+    if (@_) { $self->{split_fragment_file} = shift; }
+    return $self->{split_fragment_file};
+}
+
+sub save_verbose
+{
+    my $self = shift;
+    if (@_) { $self->{save_verbose} = shift; }
+    return $self->{save_verbose};
+}
+
+sub verb_file
+{
+    my $self = shift;
+    if (@_) { $self->{verb_file} = shift; }
+    return $self->{verb_file};
+}
+
+sub save_firstpass_res
+{
+    my $self = shift;
+    if (@_) { $self->{save_firstpass_res} = shift; }
+    return $self->{save_firstpass_res};
+}
+
+sub firstpass_result_file
+{
+    my $self = shift;
+    if (@_) { $self->{firstpass_result_file} = shift; }
+    return $self->{firstpass_result_file};
+}
+
+sub use_prev_ts_run
+{
+    my $self = shift;
+    if (@_) { $self->{use_prev_ts_run} = shift; }
+    return $self->{use_prev_ts_run};
+}
+
+sub default_Padding
+{
+    my $self = shift;
+    if (@_) { $self->{default_Padding} = shift; }
+    return $self->{default_Padding};
+}
+
+sub padding
+{
+    my $self = shift;
+    if (@_) { $self->{padding} = shift; }
+    return $self->{padding};
+}
+
+sub save_falsepos
+{
+    my $self = shift;
+    if (@_) { $self->{save_falsepos} = shift; }
+    return $self->{save_falsepos};
+}
+
+sub falsepos_file
+{
+    my $self = shift;
+    if (@_) { $self->{falsepos_file} = shift; }
+    return $self->{falsepos_file};
+}
+
+sub save_missed
+{
+    my $self = shift;
+    if (@_) { $self->{save_missed} = shift; }
+    return $self->{save_missed};
+}
+
+sub missed_seq_file
+{
+    my $self = shift;
+    if (@_) { $self->{missed_seq_file} = shift; }
+    return $self->{missed_seq_file};
+}
+
+sub save_source
+{
+    my $self = shift;
+    if (@_) { $self->{save_source} = shift; }
+    return $self->{save_source};
+}
+
+sub output_codon
+{
+    my $self = shift;
+    if (@_) { $self->{output_codon} = shift; }
+    return $self->{output_codon};
+}
+
+sub def_max_int_len
+{
+    my $self = shift;
+    if (@_) { $self->{def_max_int_len} = shift; }
+    return $self->{def_max_int_len};
+}
+
+sub max_int_len
+{
+    my $self = shift;
+    if (@_) { $self->{max_int_len} = shift; }
+    return $self->{max_int_len};
+}
+
+sub prompt_for_overwrite
+{
+    my $self = shift;
+    if (@_) { $self->{prompt_for_overwrite} = shift; }
+    return $self->{prompt_for_overwrite};
+}
+
+sub temp_dir
+{
+    my $self = shift;
+    if (@_) { $self->{temp_dir} = shift; }
+    return $self->{temp_dir};
+}
+
+sub display_run_options {
+
+    my $self = shift;
+    my $cm = shift;
+    my $tscan = shift;
+    my $eufind = shift;
+    my ($FHAND) = shift;
+
+    print $FHAND ('-' x 60,"\n",
+        "Sequence file(s) to search:  ",join(', ', at ARGV),"\n");
+    if ($self->{seq_key} ne '\S*') {
+        if ($self->{start_at_key}) {
+            print $FHAND "Starting at sequence name:   $self->{raw_seq_key}\n"  }
+        else {
+            print $FHAND "Search only names matching:  $self->{raw_seq_key}\n"  }
+    }
+
+    print $FHAND "Search Mode:                 ";
+    if ($self->bact_mode()) {
+        print $FHAND "Bacterial\n";
+    }
+    elsif ($self->arch_mode()) {
+        print $FHAND "Archaeal\n";
+    }	
+    elsif ($self->{org_mode}) {
+        print $FHAND "Organellar\n";
+    }	
+    elsif ($self->general_mode()) {
+        print $FHAND "General\n";
+    }	
+    else {
+        print $FHAND "Eukaryotic\n";
+    }	
+
+    print $FHAND "Results written to:          ",
+        &print_filename($self->{out_file}),"\n";
+
+    print $FHAND "Output format:               ";
+    if ($self->{ace_output}) {
+        print $FHAND "ACeDB\n";  }
+    else {
+        print $FHAND "Tabular\n";  }
+
+    print $FHAND "Searching with:              ";
+    if ($self->{eufind_mode}) {
+        if ($self->{tscan_mode}) {
+            if ($self->{CM_mode} =~ /infernal|cove/) {
+                print $FHAND "tRNAscan + EufindtRNA -> $self->{second_pass_label}\n"; }
+            else {
+                print $FHAND "tRNAscan + EufindtRNA (no $self->{second_pass_label})\n"; }
+        }
+        elsif ($self->{CM_mode} =~ /infernal|cove/) {
+            print $FHAND "EufindtRNA->$self->{second_pass_label}\n"; }
+        else {
+            print $FHAND "EufindtRNA only\n";  }
+    }
+    elsif ($self->{tscan_mode}) {
+        if ($self->{CM_mode} =~ /infernal|cove/) {
+            print $FHAND "tRNAscan->$self->{second_pass_label}\n"; }
+        else {
+            print $FHAND "tRNAscan only\n"; }
+    }    
+    else  {
+        print $FHAND "$self->{second_pass_label} only\n";
+    }
+
+    if ($cm->CM_check_for_introns()) {
+        print $FHAND "Scan for noncanonical introns\n";        
+    }
+    if ($cm->CM_check_for_split_halves()) {
+        print $FHAND "Scan for fragments of split tRNAs\n";        
+    }
+
+    if ($cm->alt_cm_file() eq '') {
+        print $FHAND "Covariance model:            ".$cm->main_cm_file()."\n";
+    }
+    else {
+        print $FHAND "Use alt. covariance model:   ".$cm->alt_cm_file()."\n";
+    }
+
+    if ($cm->cm_cutoff() != 20.0) {
+        print $FHAND "tRNA Cove cutoff score:      ".$cm->cm_cutoff()."\n";
+    }
+
+    if ($self->{use_prev_ts_run}) {
+        print $FHAND "Using previous\n",
+            "tabular output file:         $self->{firstpass_result_file}\n";
+    }
+
+    if ($tscan->tscan_version() != 1.4) {
+        print $FHAND "Alternate tRNAscan version:  ".$tscan->tscan_version()."\n";
+    }
+
+    if ($self->{tscan_mode}) {
+        print $FHAND "tRNAscan parameters:         ";
+        if ($self->{strict_params}) {
+            print $FHAND "Strict\n";  }
+        else {
+            print $FHAND "Relaxed\n"; }
+    }
+
+    if ($self->{eufind_mode}) {
+        print $FHAND "EufindtRNA parameters:       ";
+        if ($eufind->eufind_params() eq "-r") {
+            print $FHAND "Relaxed (Int Cutoff= ".$eufind->eufind_intscore().")\n";  }
+        elsif ($eufind->eufind_params() eq "") {
+            print $FHAND "Normal\n";  }
+        elsif  ($eufind->eufind_params() eq "-s") {
+            print $FHAND "Strict\n"; }
+        else { 
+            print $FHAND "?\n"; }  
+    }
+
+    if ($self->{padding} != $self->{default_Padding}) {
+        print $FHAND "First-pass tRNA hit padding: $self->{padding} bp\n";
+    }
+
+    if ($self->{alt_gcode}) {
+        print $FHAND "Alternate transl code used:  ",
+            "from file $self->{gc_file}\n";  
+    }
+
+    if ($self->{save_all_struct}) {
+        print $FHAND "tRNA secondary structure\n",
+            "    predictions saved to:    ";
+        if ($self->{all_struct_file} eq "-") {
+            print $FHAND "Standard output\n";
+        }
+        else {
+            print $FHAND "$self->{all_struct_file}\n";
+        }
+    }
+    if ($self->{split_fragment_file} ne "") {
+        print $FHAND "split tRNA fragment\n",
+            "    predictions saved to:    ";
+        if ($self->{split_fragment_file} eq "-") {
+            print $FHAND "Standard output\n";
+        }
+        else {
+            print $FHAND "$self->{split_fragment_file}\n";
+        }
+    }
+    if ($self->{save_odd_struct}) {
+        print $FHAND "Sec structures for tRNAs\n",
+            " with no anticodon predictn: $self->{odd_struct_file}\n";
+    }
+    if ($self->{save_firstpass_res}) {
+        print $FHAND "First-pass results saved i: ",
+        "$self->{firstpass_result_file}\n";
+    }
+    if ($self-{save_progress}) {
+        print $FHAND "Search log saved in:         $self->{log_file}\n";
+    }
+    if ($self->{save_stats}) {
+        print $FHAND "Search statistics saved in:  $self->{stats_file}\n";
+    }
+    if ($self->{save_falsepos}) {
+        print $FHAND "False positives saved in:    $self->{falsepos_file}\n";
+    }
+    if ($self->{save_missed}) {
+        print $FHAND "Seqs with 0 hits saved in:   $self->{missed_seq_file}\n";
+    }
+    if ($cm->skip_pseudo_filter() | $cm->get_hmm_score() | $tscan->keep_tscan_repeats()) {
+        print $FHAND "\n";
+    }
+    if ($self->{max_int_len} != $self->{def_max_int_len}) {
+        print $FHAND "Max intron + var. length:    $self->{max_int_len}\n";
+    }
+    if ($cm->skip_pseudo_filter()) {
+        print $FHAND "Pseudogene checking disabled\n";
+    }
+    if ($cm->get_hmm_score()) {
+        print $FHAND "Reporting HMM/2' structure score breakdown\n";
+    }
+    if ($tscan->keep_tscan_repeats()) {
+        print $FHAND "Redundant tRNAscan hits not merged\n";
+    } 
+
+    print $FHAND ('-' x 60,"\n\n");
+}
+
+1;
+
diff --git a/tRNAscanSE/SS.pm b/tRNAscanSE/SS.pm
new file mode 100644
index 0000000..00159e9
--- /dev/null
+++ b/tRNAscanSE/SS.pm
@@ -0,0 +1,197 @@
+# tRNAscanSE/SS.pm
+# This class contains parameters and functions for secondary structure parsing used in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011  Patricia P. Chan & Todd M. Lowe
+# --------------------------------------------------------------
+#
+
+package tRNAscanSE::SS;
+
+use strict;
+use tRNAscanSE::Utils;
+
+require Exporter;
+our @ISA = qw(Exporter);
+our @EXPORT = qw(valid_structure get_acceptor_half);
+
+sub valid_structure {
+	
+	my ($ss, $canonical_intron_len) = @_;
+	my $stem_index = 0;
+	
+	my %valid = ();
+	$valid{tRNA} = 1;
+	$valid{acceptor} = 1;
+	$valid{darm} = 1;
+	$valid{anticodon} = 1;
+	$valid{variable} = 1;
+	$valid{tstem} = 1;
+	
+	my $total_mismatches = 0;
+	
+	my ($r_stems, $r_mismatches) = &get_stems($ss);
+
+	for ($stem_index = 0; $stem_index < scalar(@$r_mismatches); $stem_index++) {
+		$total_mismatches += $r_mismatches->[$stem_index];
+	}
+	if (($total_mismatches > 1) || (scalar(@$r_stems) < 4) || (scalar(@$r_stems) > 5)) {
+		$valid{tRNA} = 0;
+	}
+
+	if (scalar(@$r_stems) == 5) {
+		$valid{acceptor} = 0 if (($r_mismatches->[0] > 1) || (&get_stem_length($r_stems->[0]) != 7));
+		$valid{darm} = 0 if (($r_mismatches->[1] > 1) || (&get_stem_length($r_stems->[1]) < 3));
+		$valid{anticodon} = 0 if (($r_mismatches->[2] > 1) || (&get_stem_length($r_stems->[2]) != 5));
+		$valid{variable} = 0 if (($r_mismatches->[3] > 1) || (&get_stem_length($r_stems->[3]) < 2));
+		$valid{tstem} = 0 if (($r_mismatches->[4] > 1) || (&get_stem_length($r_stems->[4]) != 5));
+		$valid{tRNA} = $valid{acceptor} && $valid{darm} && $valid{anticodon} && $valid{variable} &&
+			$valid{tstem} && (length($ss) - $canonical_intron_len <= 90);
+	}
+	elsif (scalar(@$r_stems) == 4) {
+		$valid{variable} = 0;
+		$valid{acceptor} = 0 if (($r_mismatches->[0] > 1) || (&get_stem_length($r_stems->[0]) != 7));
+		$valid{darm} = 0 if (($r_mismatches->[1] > 1) || (&get_stem_length($r_stems->[1]) < 3));
+		$valid{anticodon} = 0 if (($r_mismatches->[2] > 1) || (&get_stem_length($r_stems->[2]) != 5));
+		$valid{tstem} = 0 if (($r_mismatches->[3] > 1) || (&get_stem_length($r_stems->[3]) != 5));
+		$valid{tRNA} = $valid{acceptor} && $valid{darm} && $valid{anticodon} && $valid{tstem} && (length($ss) - $canonical_intron_len <= 80);
+	}
+	elsif (scalar(@$r_stems) == 3) {
+		$valid{variable} = 0;
+		$valid{acceptor} = 0 if (($r_mismatches->[0] > 1) || (&get_stem_length($r_stems->[0]) != 7));
+		if ($r_mismatches->[1] == 0) {
+			$valid{darm} = 0 if (($r_mismatches->[1] > 1) || (&get_stem_length($r_stems->[1]) < 3));
+			$valid{anticodon} = 0 if (($r_mismatches->[2] > 1) || (&get_stem_length($r_stems->[2]) != 5));
+			$valid{tstem} = 0;
+		}
+		elsif ($r_mismatches->[2] == 0) {
+			$valid{darm} = 0;
+			$valid{anticodon} = 0 if (($r_mismatches->[1] > 1) || (&get_stem_length($r_stems->[1]) != 5));
+			$valid{tstem} = 0 if (($r_mismatches->[2] > 1) || (&get_stem_length($r_stems->[2]) != 5));
+		}
+		else {
+			$valid{acceptor} = 0;
+			$valid{darm} = 0;
+			$valid{anticodon} = 0;
+			$valid{variable} = 0;
+			$valid{tstem} = 0;		
+		}
+	}
+	else {
+		$valid{acceptor} = 0;
+		$valid{darm} = 0;
+		$valid{anticodon} = 0;
+		$valid{variable} = 0;
+		$valid{tstem} = 0;		
+	}
+	
+	return \%valid;
+}
+
+sub get_stem_length {
+	my ($r_stem) = @_;
+	
+	return ($r_stem->{end_left} - $r_stem->{start_left} + 1);
+}
+
+sub get_stems {
+	
+	my ($ss) = @_;
+	my %pairs = ();
+	my @left = ();
+	my @right = ();
+	my @stems = ();
+	my @mismatches = ();
+	my $left_index = -1;
+	my $right_index = -1;
+	
+	my $last_right_index = -1;
+	my $start_left_index = -1;
+	my $end_left_index = -1;
+	my $start_right_index = -1;
+	my $end_right_index = -1;
+	
+	for (my $pos = 0; $pos < length($ss); $pos++) {
+		if (substr($ss, $pos, 1) eq ">") {
+			push(@left, $pos);
+			$pairs{$#left} = -1;
+		}
+		elsif (substr($ss, $pos, 1) eq "<") {
+			push(@right, $pos);
+			$left_index = scalar(@left) - 1;
+			while (($pairs{$left_index} > -1) && ($left_index > -1)) {
+				$left_index--;
+			}
+			if (($left_index > -1) && ($pairs{$left_index} == -1)) {
+				$pairs{$left_index} = scalar(@right) - 1;
+			}
+		}
+	}
+
+	foreach $left_index (sort { $a <=> $b } keys %pairs) {
+		if ($last_right_index == -1) {
+			$start_left_index = $left_index;
+			$end_right_index = $pairs{$left_index};						
+		}
+		elsif ($pairs{$left_index} != ($last_right_index - 1)) {
+			$end_left_index = $left_index - 1;
+			$start_right_index = $last_right_index;
+			push(@stems, {start_left=>$left[$start_left_index], end_left=>$left[$end_left_index],
+						  start_right=>$right[$start_right_index], end_right=>$right[$end_right_index]});
+			$start_left_index = $left_index;
+			$end_right_index = $pairs{$left_index};			
+		}
+		$last_right_index = $pairs{$left_index};
+	}
+	if ($last_right_index > -1) {
+		$end_left_index = $left_index - 1;
+		$start_right_index = $last_right_index;
+		push(@stems, {start_left=>$left[$start_left_index], end_left=>$left[$end_left_index],
+					  start_right=>$right[$start_right_index], end_right=>$right[$end_right_index]});
+	}
+		
+    # find mismatches in stems
+    for (my $ct = 0; $ct < scalar(@stems); $ct++) {
+		$mismatches[$ct] = 0;
+		$left_index = $stems[$ct]->{end_left};
+		$right_index = $stems[$ct]->{start_right};
+		while ($left_index >= $stems[$ct]->{start_left} && $right_index <= $stems[$ct]->{end_right}) {
+			if (substr($ss, $left_index, 1) eq ".") {
+				if (substr($ss, $right_index, 1) eq ".") {
+					$mismatches[$ct] += 1;
+					$right_index++;
+				}
+				$left_index--;
+			}
+			elsif (substr($ss, $right_index, 1) eq ".") {
+				$right_index++;
+			}
+			else {
+				$left_index--;
+				$right_index++;
+			}
+		}
+	}
+	
+	return (\@stems, \@mismatches);
+}
+
+sub get_acceptor_half {
+	my ($seq, $ss, $half) = @_;
+	
+	if ($half eq "5h") {
+		return substr($seq, 0, 7);
+	}
+	elsif ($half eq "3h") {
+		if (substr($ss, length($ss) - 12) eq "<...........") {
+			return substr($seq, length($seq) - 11, 7);
+		}
+		else {
+			return substr($seq, length($seq) - 8, 7);
+		}
+	}
+	else {
+		return "";
+	}
+}
\ No newline at end of file
diff --git a/tRNAscanSE/ScanResult.pm b/tRNAscanSE/ScanResult.pm
new file mode 100644
index 0000000..753703a
--- /dev/null
+++ b/tRNAscanSE/ScanResult.pm
@@ -0,0 +1,657 @@
+# tRNAscanSE/ScanResult.pm
+# This class describes the outputs of scan results used in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+# --------------------------------------------------------------
+#
+
+package tRNAscanSE::ScanResult;
+
+use strict;
+use tRNAscanSE::Utils;
+use tRNAscanSE::Sequence;
+
+require Exporter;
+our @ISA = qw(Exporter);
+our @EXPORT = qw(init_fp_result_file save_Acedb_from_firstpass save_firstpass_output 
+				prep_for_secpass_only parse_tabular_output write_tRNA output_tRNA output_split_fragments);
+
+our $printed_header = 0;            # keeps track of whether or
+                                    # or not results column header
+                                    # has been printed yet
+our ($max_seq_name_width, $max_seq_len_width);
+
+sub init_fp_result_file {
+    
+    my ($file) = @_;
+    
+    &open_for_append(\*FILE_H, $file);
+    
+    print FILE_H "Sequence\t\ttRNA Bounds\ttRNA\tAnti\t\n";
+	print FILE_H "Name     \ttRNA #\tBegin\tEnd\tType\tCodon\t",
+	    "SeqID\tSeqLen\tScore\n";
+	print FILE_H "--------\t------\t-----\t---\t----\t-----\t",
+	    "-----\t------\t-----\n";
+    
+    close(FILE_H);
+}
+
+sub save_Acedb_from_firstpass  {
+
+    my ($output_codon, $r_one_let_trans_map, $r_hit_list, $out_file) = @_;
+    my($i, $triplet);
+
+    &open_for_append(\*FILE_H, $out_file);
+
+    foreach $i (0..(scalar(@$r_hit_list) - 1)) {
+	printf FILE_H "Sequence\t%s\nSubsequence\t%s.t%d %d %d\n\n",
+		$r_hit_list->[$i]{seqname}, $r_hit_list->[$i]{seqname},
+		$i + 1, $r_hit_list->[$i]{start}, $r_hit_list->[$i]{end};
+	
+	printf FILE_H "Sequence\t%s.t%d\nSource\t\t%s\n",
+		$r_hit_list->[$i]{seqname}, $i + 1, $r_hit_list->[$i]{seqname};
+	if ($r_hit_list->[$i]{istart} > 0) {
+	    if ($r_hit_list->[$i]{istart} < $r_hit_list->[$i]{iend}) {
+		printf FILE_H "Source_Exons\t1 %d\n",
+			$r_hit_list->[$i]{istart} - $r_hit_list->[$i]{start};
+		printf FILE_H "Source_Exons\t%d %d\n",
+			$r_hit_list->[$i]{iend} - $r_hit_list->[$i]{start} + 2,
+			$r_hit_list->[$i]{end} - $r_hit_list->[$i]{start} + 1; }
+	    else {
+		printf FILE_H "Source_Exons\t1 %d\n",
+			$r_hit_list->[$i]{start} - $r_hit_list->[$i]{istart} + 1;
+		printf FILE_H "Source_Exons\t%d %d\n",
+			$r_hit_list->[$i]{start} - $r_hit_list->[$i]{iend} + 2,
+			$r_hit_list->[$i]{start} - $r_hit_list->[$i]{end} + 1; }
+	}	 
+	printf FILE_H "Brief_identification tRNA-%s\n", $r_hit_list->[$i]{type};
+	
+	# either output Codon or Anticodon for tRNA
+	$triplet = uc($r_hit_list->[$i]{acodon});
+	if ($output_codon) {
+	    $triplet = &rev_comp_seq($triplet);
+	}
+
+	printf FILE_H "Transcript tRNA \"%s %s %s\"\n\n",
+	    $triplet, $r_hit_list->[$i]{type}, $r_one_let_trans_map->{$r_hit_list->[$i]{type}};
+	
+    }
+    close(FILE_H);
+}
+
+sub print_results_header {
+    
+    my ($opts, $get_hmm_score, $seq_name_width, $seq_len_width) = @_;
+    my ($label, $codon_label) = "";
+    
+    if ($opts->cove_mode()) {
+		$label = "\tCove";
+    }
+    elsif ($opts->infernal_mode()) {
+		$label = "\tCM";
+    }
+    elsif ($opts->eufind_mode() && !$opts->tscan_mode()) {
+		$label = "\tEufind";
+    }
+
+    if ($opts->output_codon()) {
+		$codon_label = "   "; 
+    }
+    else {
+		$codon_label = "Anti";
+    }
+    
+    if (!($opts->ace_output())) {
+		&open_for_append(\*OUTFILE, $opts->out_file());
+	
+		printf OUTFILE "%-".$seq_name_width."s\t\t","Sequence";
+		printf OUTFILE "%-".$seq_len_width."s\t","tRNA";
+		printf OUTFILE "%-".$seq_len_width."s\t","Bounds";
+		print  OUTFILE "tRNA\t$codon_label\tIntron Bounds",$label;
+	
+		if  ($get_hmm_score) { 
+			print OUTFILE "\tHMM\t2'Str";
+		}
+		if ($opts->save_source()) {
+			print OUTFILE "\tHit";
+		}
+		if ($opts->search_mode() eq "archaea") {
+			print OUTFILE "\tIntron";
+		}
+		print OUTFILE "\n";
+
+		printf OUTFILE "%-".$seq_name_width."s\t","Name";
+		print  OUTFILE "tRNA \#\t";
+		printf OUTFILE "%-".$seq_len_width."s\t","Begin";
+		printf OUTFILE "%-".$seq_len_width."s\t","End";
+	
+		print OUTFILE "Type\tCodon\tBegin\tEnd\tScore";
+	
+		if  ($get_hmm_score) { 
+			print OUTFILE "\tScore\tScore";
+		}
+		if ($opts->save_source()) {
+			print OUTFILE "\tOrigin";
+		}
+		if ($opts->search_mode() eq "archaea") {
+			print OUTFILE "\tCount";
+		}
+		print OUTFILE "\n";
+	
+		printf OUTFILE "%-".$seq_name_width."s\t","--------";
+		print  OUTFILE "------\t";
+		printf OUTFILE "%-".$seq_len_width."s\t","----";
+		printf OUTFILE "%-".$seq_len_width."s\t","------";
+		print  OUTFILE "----\t-----\t-----\t----\t------";
+	
+		if  ($get_hmm_score) { 
+			print OUTFILE "\t-----\t-----";
+		}
+		if ($opts->save_source()) {
+			print OUTFILE "\t------";
+		}
+		if ($opts->search_mode() eq "archaea") {
+			print OUTFILE "\t----------";
+		}
+		print OUTFILE "\n";
+    }
+    close OUTFILE;
+}
+
+sub save_firstpass_output {
+
+    my ($opts, $r_hit_list, $r_source_tab, $r_fpass_trna_base_ct, $seq_len, $seq_id) = @_;
+    my ($i, $triplet);
+    
+    if (!$opts->CM_mode()) {
+		if (!($opts->brief_output() || $printed_header)) {
+			&print_results_header($opts, 0, 20, 20);
+			$printed_header = 1;
+		}
+		&open_for_append(\*TAB_RESULTS, $opts->out_file());
+    }
+    else {		       
+		&open_for_append(\*TAB_RESULTS, $opts->firstpass_result_file());	
+    }
+    
+    foreach $i (0..(scalar(@$r_hit_list) - 1)) {
+
+		$triplet = uc($r_hit_list->[$i]{acodon});
+		if ($opts->output_codon()) {
+			$triplet = &rev_comp_seq($triplet);
+		}
+		
+		printf TAB_RESULTS "%-10s\t%d\t%d\t%d\t%s\t%s\t",
+			$r_hit_list->[$i]{seqname}, $i + 1,
+			$r_hit_list->[$i]{start}, $r_hit_list->[$i]{end},
+			$r_hit_list->[$i]{type}, $triplet;
+		
+		# save intron bounds if not doing Cove analysis
+		
+		if (!$opts->CM_mode()) {
+			printf TAB_RESULTS "%d\t%d\t%.2f", $r_hit_list->[$i]{istart},
+			$r_hit_list->[$i]{iend}, $r_hit_list->[$i]{score};
+		}
+	
+		# save seq id number and source seq length if needed for Cove analysis 
+	
+		else {
+			printf TAB_RESULTS "%d\t%d\t%.2f", $seq_id, $seq_len, $r_hit_list->[$i]{score};
+		}
+		
+		if ($opts->save_source()) {
+			print TAB_RESULTS " ", $r_source_tab->[$r_hit_list->[$i]{source}];
+		}
+		print TAB_RESULTS "\n";
+		
+		$$r_fpass_trna_base_ct += abs($r_hit_list->[$i]{end} - $r_hit_list->[$i]{start}) + 1;
+    }
+    close TAB_RESULTS;
+}				
+
+# Create dummy first-pass result file with all sequences
+sub prep_for_secpass_only  {       
+
+    my ($opts, $stats, $seq_file) = @_;
+    my ($saved_line, $targ_seq_id);
+
+    $seq_file->open_file($opts->fasta_file(), "read");
+
+    &open_for_append(\*RESFILE, $opts->firstpass_result_file());	
+    $saved_line = '';
+    $targ_seq_id = 0;      # Don't look for a specific Seq number
+ 
+    while ($seq_file->read_fasta($opts, $targ_seq_id)) {
+		print (RESFILE $seq_file->seq_name()."\t1\t1\t".$seq_file->seq_length()."\t???\t???\t".$seq_file->seq_id()."\t".$seq_file->seq_length()." C\n");
+		print (RESFILE $seq_file->seq_name()."\t2\t".$seq_file->seq_length()."\t1\t???\t???\t".$seq_file->seq_id()."\t".$seq_file->seq_length()." C\n");
+
+		$stats->increment_numscanned();
+    }
+    close RESFILE;
+    $seq_file->close_file();
+}
+
+# read first pass result file one input sequence at a time,
+# putting results in array @prescan_tRNAs
+
+sub parse_tabular_output {
+
+    my ($opts, $r_prescan_tRNAs, $r_seqinfo_flag) = @_;
+    my $firstpass_result_file = $opts->firstpass_result_file();
+    my $padding = $opts->padding();
+    
+    my ($seq_name, $trnact, $trnaName,
+        $ts_start, $ts_end, $ts_len, $sense_strand,
+        $ts_seq_id, $ts_seq_len, $score, $ts_type, $ts_anticodon,
+	$hit_source);
+    
+    # open first-pass tabular result file
+    open (FIRSTPASS_TRNAS, "$firstpass_result_file") || 
+	die "FATAL: Can't open first-pass tRNA output file $firstpass_result_file\n\n" ; 
+    
+    while (<FIRSTPASS_TRNAS>) 
+    {	
+		if (/Type\tCodon\tSeqID\tSeqLen/)  {
+			# Column header present if we record seqID's and lengths
+			$$r_seqinfo_flag = 1;
+		}
+		elsif (/^(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\S+)/o)  
+		{
+			$seq_name = $1;
+			$trnact  = $2;
+			$trnaName = $seq_name.".t".$trnact;
+			$ts_start = $3;	        # trna subseq absolute start index
+			$ts_end = $4;		# trna subseq absolute end index
+			$ts_type = $5;
+			$ts_anticodon = $6;
+			$ts_seq_id = $7;
+			$ts_seq_len = $8;
+			$score = $9;
+			$hit_source = $';
+			$hit_source =~ s/[\s\t\n]//g; 
+			
+			# if seqinfo_flag not set, file does not have SeqID info in
+			#  7th column of output, don't mistake number read for SeqID
+			
+			if (!$$r_seqinfo_flag) {
+				$ts_seq_id = 0;
+			}
+			
+			if ($ts_end > $ts_start)  
+			{
+				$sense_strand = 1;     # flag for forward or reverse strand
+			
+				# pad ends of sequence only if EufindtRNA is being used
+				#  and $seqinfo_flag is set (we know the seq lengths)
+	
+				if ($opts->eufind_mode() && $$r_seqinfo_flag) 
+				{
+					$ts_start = &max(1, $ts_start - $padding);
+					$ts_end   = &min($ts_seq_len, $ts_end + $padding);
+				}
+				$ts_len = $ts_end - $ts_start + 1;
+			}
+			else  { 
+				$sense_strand = 0;
+				if ($opts->eufind_mode() && $$r_seqinfo_flag) {
+					$ts_start = &min($ts_seq_len, $ts_start + $padding);
+					$ts_end = &max(1, $ts_end - $padding);
+				}
+				$ts_len = $ts_start - $ts_end + 1;
+		    }
+	    
+			if ($ts_end == $ts_start) {
+				print STDERR "Error reading $firstpass_result_file: tRNA of length 0"; 
+			}
+	    
+			push(@$r_prescan_tRNAs,
+			 {seq => "", name => $trnaName, 
+			  start => $ts_start, end => $ts_end, len => $ts_len, 
+			  isotype => $ts_type, acodon => $ts_anticodon, score => $score,
+			  src_seqname => $seq_name, src_seqlen => $ts_seq_len, 
+			  src_seqid => $ts_seq_id, strand => $sense_strand, 
+			  hit_source => $hit_source});
+			
+		}	# while <FIRSTPASS_TRNAS> not at eof
+    }
+ 
+    close FIRSTPASS_TRNAS;
+}
+
+sub write_tRNA {
+    
+    my ($file_name, $seq_name, $seq_desc, $seq, $overwrite) = @_;
+    
+    my $trna_file = tRNAscanSE::Sequence->new;
+    my $write_mode = "append";
+    if ($overwrite) {
+		$write_mode = "write";
+    }
+    $trna_file->set_seq_info($seq_name, $seq_desc, length($seq), $seq);
+    $trna_file->open_file($file_name, $write_mode);
+    $trna_file->write_fasta();
+    $trna_file->close_file();
+}
+
+# Write final tRNA prediction to various selected output sources/files
+# Sets globals $MaxSeqNameWidth and $MaxSeqLenWidth and $printed_header
+
+sub output_tRNA {
+
+    my ($opts, $gc, $log, $r_tab_results, $get_hmm_score, $program_id,
+	$r_fp_tRNA_info,           # first pass scanner tRNA info 
+	$r_tRNA_info,              # final tRNA info
+	$curseq_trnact) = @_;
+
+    my $results_line = "";
+    
+    if (!$opts->results_to_stdout()) {
+		$log->write_line("$r_tRNA_info->{ID}:  ".$opts->second_pass_label()." type= $r_tRNA_info->{isotype}\t ".
+		"First-pass scan ($r_fp_tRNA_info->{hit_source}) type= $r_fp_tRNA_info->{isotype}\t".
+		"Score= $r_tRNA_info->{score}");
+    }
+    if ($opts->save_all_struct()) {
+		&save_allStruct_output($opts, $gc, $get_hmm_score, $r_tRNA_info, $curseq_trnact);
+    }
+    
+    # Create tabular results line, ready for output
+    
+    if (!$printed_header) {
+		$max_seq_name_width = &max(length($r_fp_tRNA_info->{src_seqname}) + 1, 8);
+		$max_seq_len_width  = length($r_fp_tRNA_info->{src_seqlen});
+    }
+    
+    $results_line = &construct_tab_output($opts, $get_hmm_score, $r_tRNA_info, $curseq_trnact, $max_seq_name_width, $max_seq_len_width);
+    
+    # Internal copy of results saved for later uses
+    push(@$r_tab_results, $results_line);
+    
+    if ($opts->ace_output()) {       
+		&save_Acedb_from_secpass($opts, $gc, $r_tRNA_info, $program_id);
+    }
+    else 
+    {    
+		if (!($opts->brief_output() || $printed_header)) {
+			&print_results_header($opts, $get_hmm_score, $max_seq_name_width, $max_seq_len_width);
+			$printed_header = 1;
+	}	    
+	&open_for_append(\*TABOUT, $opts->out_file());
+	print TABOUT $results_line;
+	close TABOUT;	    
+	}			
+}
+
+sub save_allStruct_output {
+    
+    my ($opts, $gc, $get_hmm_score, $r_tRNA_info, $curseq_trnact) = @_;
+
+    my $ruler = '    *    |' x 20;     # ruler printed out with
+                                       #  secondary structure output
+
+    my $seqlen = length($r_tRNA_info->{seq});
+
+    &open_for_append(\*SECSTRUCT, $opts->all_struct_file());
+    
+    print SECSTRUCT "$r_tRNA_info->{seqname}.trna$curseq_trnact ($r_tRNA_info->{start}-$r_tRNA_info->{end})\t",
+        "Length: $seqlen bp\nType: $r_tRNA_info->{isotype}\t";
+
+    if ($opts->output_codon()) {
+		print SECSTRUCT "Codon: ", &rev_comp_seq($r_tRNA_info->{acodon}), " at ";
+    }
+    else {
+		print SECSTRUCT "Anticodon: $r_tRNA_info->{acodon} at ";
+    }
+
+    if ($r_tRNA_info->{acodon} eq $gc->undef_anticodon()) {
+		print SECSTRUCT "0-0 (0-0)\t";
+    }
+    else {
+		print SECSTRUCT "$r_tRNA_info->{acodon_pos}-", $r_tRNA_info->{acodon_pos} + 2;
+		if (!$opts->arch_mode()) {
+			if ($r_tRNA_info->{strand}) {
+				print SECSTRUCT " (", $r_tRNA_info->{acodon_pos} + $r_tRNA_info->{start} - 1, "-",
+						$r_tRNA_info->{acodon_pos} + $r_tRNA_info->{start} + 1,")\t";
+			}
+			else {
+				print SECSTRUCT " (", $r_tRNA_info->{start} - $r_tRNA_info->{acodon_pos} + 1, "-",
+						$r_tRNA_info->{start} - $r_tRNA_info->{acodon_pos} - 1,")\t";
+			}
+		}
+		else {
+				print SECSTRUCT " (", $r_tRNA_info->{acodon_pos}, "-", $r_tRNA_info->{acodon_pos} + 2,")\t";			
+		}
+	}
+
+    print SECSTRUCT "Score: $r_tRNA_info->{score}\n";
+    if (scalar(@{$r_tRNA_info->{introns}}) > 0) {
+	
+		foreach my $intron (@{$r_tRNA_info->{introns}}) {
+			if (defined $intron) {
+				if ($intron->{seq} ne "") {
+					print SECSTRUCT "Possible intron: $intron->{start}-$intron->{end} ";
+					if ($r_tRNA_info->{strand}) {	
+						print SECSTRUCT "(", $intron->{start} + $r_tRNA_info->{start} - 1, "-",
+							$intron->{end} + $r_tRNA_info->{start} - 1,")\n";
+					}
+					else {
+						print SECSTRUCT "(", $r_tRNA_info->{start} - $intron->{start} + 1, "-",
+							$r_tRNA_info->{start} - $intron->{end} + 1,")\n";
+					}
+				}
+			}
+		}
+	}
+	
+    if ($r_tRNA_info->{is_pseudo}) {
+		printf SECSTRUCT 
+			"Possible pseudogene:  HMM Sc=%.2f\tSec struct Sc=%.2f\n",
+			$r_tRNA_info->{hmm_score}, $r_tRNA_info->{ss_score};
+    }
+    elsif ($get_hmm_score) {
+		printf SECSTRUCT 
+			"HMM Sc=%.2f\tSec struct Sc=%.2f\n", $r_tRNA_info->{hmm_score}, $r_tRNA_info->{ss_score};
+    }
+    
+    print SECSTRUCT "     ",substr($ruler, 0, $seqlen - 1),"\n";
+    print SECSTRUCT "Seq: $r_tRNA_info->{seq}\nStr: $r_tRNA_info->{ss}\n";
+	if (defined $r_tRNA_info->{precursor}) {
+		foreach my $intron (@{$r_tRNA_info->{introns}}) {
+			if (defined $intron) {
+				my $intron_seq = uc($intron->{seq});
+				if ($intron_seq ne "") {
+					$r_tRNA_info->{precursor} =~ s/$intron_seq/\[$intron_seq\]/;
+				}
+			}
+		}
+		print SECSTRUCT "Pre: ". uc($r_tRNA_info->{precursor}) ."\n\n";		
+	}
+	else {
+		print SECSTRUCT "\n";
+	}
+    close(SECSTRUCT);
+}
+
+# Save tRNA hits in Tabular output
+
+sub construct_tab_output {
+
+    my ($opts, $get_hmm_score, $r_tRNA_info, $curseq_trnact, $max_seq_name_width, $max_seq_len_width) = @_;
+    
+    my ($result_line, $tRNA_type);
+    
+    if ($r_tRNA_info->{is_pseudo}) {
+		$tRNA_type = "Pseudo";
+    }
+    else {
+		$tRNA_type = $r_tRNA_info->{isotype};
+    }
+    
+    $result_line =  sprintf "%-".$max_seq_name_width."s\t", $r_tRNA_info->{seqname};
+    $result_line .= "$curseq_trnact\t";
+    
+    $result_line .= sprintf "%-".$max_seq_len_width."d\t", $r_tRNA_info->{start};
+    $result_line .= sprintf "%-".$max_seq_len_width."d\t", $r_tRNA_info->{end};
+    
+    $result_line .= "$tRNA_type\t";
+
+    if ($opts->output_codon()) {
+		$result_line .= (&rev_comp_seq($r_tRNA_info->{acodon}))."\t";
+    }
+    else {
+		$result_line .= "$r_tRNA_info->{acodon}\t";
+    }
+
+    if (scalar(@{$r_tRNA_info->{introns}}) == 0) {
+		$result_line .= "0\t0"; 
+    }
+    else {
+		my $intron_ct = 0;
+		for (my $i = 0; $i < scalar(@{$r_tRNA_info->{introns}}); $i++) {
+			if (defined $r_tRNA_info->{introns}->[$i]) {
+				if ($r_tRNA_info->{introns}->[$i]->{seq} ne "") {
+					if ($intron_ct > 0) {
+						$result_line .= ",";
+					}
+					if ($r_tRNA_info->{strand}) {	
+						$result_line .= ($r_tRNA_info->{introns}->[$i]->{start} + $r_tRNA_info->{start}-1);
+					}
+					else {
+						$result_line .= ($r_tRNA_info->{start} - $r_tRNA_info->{introns}->[$i]->{start}+1);
+					}
+					$intron_ct++;
+				}
+			}
+		}
+		$result_line .= "\t";
+		$intron_ct = 0;
+		for (my $i = 0; $i < scalar(@{$r_tRNA_info->{introns}}); $i++) {
+			if (defined $r_tRNA_info->{introns}->[$i]) {
+				if ($r_tRNA_info->{introns}->[$i]->{seq} ne "") {
+					if ($intron_ct > 0) {
+						$result_line .= ",";
+					}
+					if ($r_tRNA_info->{strand}) {	
+						$result_line .= ($r_tRNA_info->{introns}->[$i]->{end} + $r_tRNA_info->{start} - 1);
+					}
+					else {
+						$result_line .= ($r_tRNA_info->{start} - $r_tRNA_info->{introns}->[$i]->{end} + 1);
+					}
+					$intron_ct++;
+				}
+			}
+		}
+	}			
+    $result_line .= "\t$r_tRNA_info->{score}";
+ 
+    if ($get_hmm_score) {
+		$result_line .= sprintf "\t%.2f\t%.2f", $r_tRNA_info->{hmm_score}, $r_tRNA_info->{ss_score};
+    }
+    if ($opts->save_source()) {
+		$result_line .= "\t$r_tRNA_info->{hit_source}";
+    }
+	if ($opts->search_mode() eq "archaea") {
+		if (scalar(@{$r_tRNA_info->{introns}}) == 0) {
+			$result_line .= "\t"; 
+		}
+		else {
+			my $ci_count = 0;
+			my $nci_count = 0;
+			for (my $i = 0; $i < scalar(@{$r_tRNA_info->{introns}}); $i++) {
+				if ($r_tRNA_info->{introns}->[$i]->{type} eq "CI") {
+					$ci_count++;
+				}
+				elsif ($r_tRNA_info->{introns}->[$i]->{type} eq "NCI") {
+					$nci_count++;
+				}
+			}
+			$result_line .= "\t";
+			if ($ci_count > 0) {
+				$result_line .= $ci_count . " CI";
+			}
+			if (($ci_count > 0) && ($nci_count > 0)) {
+				$result_line .= " ";
+			}
+			if ($nci_count > 0) {
+				$result_line .= $nci_count . " NCI";
+			}
+		}
+	}
+    $result_line .= "\n";
+    
+    return $result_line;
+}
+
+sub Save_Acedb_from_secpass {
+
+    my ($opts, $gc, $r_tRNA_info, $program_id) = @_;                     
+
+    &open_for_append(\*ACEOUT, $opts->out_file());
+
+    print ACEOUT "Sequence\t$r_tRNA_info->{seqname}\nSubsequence\t$r_tRNA_info->{ID} $r_tRNA_info->{start} $r_tRNA_info->{end}\n\n";
+    print ACEOUT "Sequence\t$r_tRNA_info->{ID}\nSource\t\t$r_tRNA_info->{seqname}\n";
+    if ($r_tRNA_info->{iseq}) {
+	print ACEOUT "Source_Exons\t1 ", $r_tRNA_info->{istart} - 1,"\n";
+	print ACEOUT "Source_Exons\t", $r_tRNA_info->{iend} + 1," ", abs($r_tRNA_info->{end} - $r_tRNA_info->{start}) + 1,"\n";
+    }	   
+    print ACEOUT "Brief_identification tRNA-$r_tRNA_info->{isotype}\n",
+        "Transcript tRNA \"";
+
+    if ($opts->output_codon()) {
+	print ACEOUT &rev_comp_seq($r_tRNA_info->{acodon});
+    }
+    else {
+	print ACEOUT $r_tRNA_info->{acodon};
+    }
+    
+    print ACEOUT " $r_tRNA_info->{isotype} ", $gc->one_let_trans_map()->{$r_tRNA_info->{isotype}},
+        "\"\nScore $program_id $r_tRNA_info->{score}\n";
+
+    if ($r_tRNA_info->{is_pseudo}) {
+	printf ACEOUT "Remark \"Likely pseudogene (HMM Sc=%.2f / Sec struct Sc=%.2f)\"\n",
+            $r_tRNA_info->{hmm_score},$r_tRNA_info->{ss_score};
+    }
+    print ACEOUT "\n";
+    close ACEOUT;
+}
+
+sub output_split_fragments {
+
+    my ($opts, $r_pairs, $r_5half_hits, $r_3half_hits) = @_;                     
+	
+	my ($r_5half, $r_3half);
+	
+	&open_for_append(\*SPLITFILE, $opts->split_fragment_file());
+	printf SPLITFILE "Fragment1\tFragment2\tSeqName1\tStartPos1\tEndPos1\tSeqName2\tStartPos2\tEndPos2\tScore1\tScore2\n";
+	
+	foreach my $r_pair (@$r_pairs) {
+		if (defined $r_pair->{"5h"} && defined $r_pair->{"3h"}) {
+			$r_5half = $r_5half_hits->[$r_pair->{"5h"}];
+			$r_3half = $r_3half_hits->[$r_pair->{"3h"}];
+			print SPLITFILE $r_5half->{seq}."\t".$r_3half->{seq}."\t",
+				$r_5half->{hit_seqname}."\t".$r_5half->{tRNA_start}."\t".$r_5half->{tRNA_end}."\t",
+				$r_3half->{hit_seqname}."\t".$r_3half->{tRNA_start}."\t".$r_3half->{tRNA_end}."\t",
+				$r_5half->{score}."\t".$r_3half->{score}."\n";
+			print SPLITFILE $r_5half->{ss}."\t".$r_3half->{ss}."\t\t\t\t\t\t\t\t\n";
+		}
+		elsif (defined $r_pair->{"5h"} && !defined $r_pair->{"3h"}) {
+			$r_5half = $r_5half_hits->[$r_pair->{"5h"}];
+			print SPLITFILE $r_5half->{seq}."\t\t",
+				$r_5half->{hit_seqname}."\t".$r_5half->{tRNA_start}."\t".$r_5half->{tRNA_end}."\t",
+				"\t\t\t",
+				$r_5half->{score}."\t\n";
+			print SPLITFILE $r_5half->{ss}."\t\t\t\t\t\t\t\t\t\n";
+		}
+		elsif (!defined $r_pair->{"5h"} && defined $r_pair->{"3h"}) {
+			$r_3half = $r_3half_hits->[$r_pair->{"3h"}];
+			print SPLITFILE "\t".$r_3half->{seq}."\t",
+				"\t\t\t",
+				$r_3half->{hit_seqname}."\t".$r_3half->{tRNA_start}."\t".$r_3half->{tRNA_end}."\t",
+				"\t".$r_3half->{score}."\n";
+			print SPLITFILE "\t".$r_3half->{ss}."\t\t\t\t\t\t\t\t\n";
+		}
+	}
+}
+
+1;
diff --git a/tRNAscanSE/Sequence.pm b/tRNAscanSE/Sequence.pm
new file mode 100644
index 0000000..59e993d
--- /dev/null
+++ b/tRNAscanSE/Sequence.pm
@@ -0,0 +1,763 @@
+# tRNAscanSE/Sequence.pm
+# This class describes a sequence and provides functions for handling fasta files in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+# --------------------------------------------------------------
+#
+# Perl code for reading FASTA-formatted sequence files
+# SRE, Sat Feb 19 19:10:43 1994
+
+# These subroutines read a FASTA formatted file one sequence at a time.
+# Open(filename, open_mode) opens a file for reading or wrting.
+# Close() closes it when you're done.
+#
+# read_fasta() returns 1 on success and 0 on failure (end of file).
+# When it returns success, the following variables are set:
+#
+#       $seq_name        = name of sequence (1st word on FASTA title line)
+#       $seq_description = description      (remainder of FASTA title line)
+#       $seq_length      = length of sequence
+#       $sequence        = sequence, gaps and newlines removed
+#
+# Modified by TMJL  11/95 for use in tRNAscan-SE
+
+package tRNAscanSE::Sequence;
+
+use strict;
+use tRNAscanSE::Utils;
+use tRNAscanSE::Constants;
+use tRNAscanSE::Options;
+
+
+sub new {
+    my $class = shift;
+    my $self = {};
+
+    initialize($self);
+
+    bless ($self, $class);
+    return $self;
+}
+
+sub DESTROY
+{
+    my $self = shift;
+}
+
+sub initialize
+{
+    my $self = shift;
+    $self->{file_name} = "";             # name of log file
+    $self->{FILE_H} = undef;             # file handle
+    
+    $self->{max_seq_buffer} = 1000000;     # Max size of seq buffer read in at once
+    $self->{seq_buf_overlap} = 200;        # Nucleotides of overlap between buffers
+    $self->{seq_index_inc} = 100000;
+    
+    $self->{saved_line} = "";
+    $self->{buffer_overlap_seq} = "";
+    $self->{buffer_end_index} = 0;
+    $self->{seq_buf_overrun} = 0;
+    $self->{buffer_length} = 0;    
+    $self->{key_found} = 0;
+    $self->{all_seq_indices} = +[];        # Keeps track of indexing into seqs for fast retreival
+        
+    $self->{seq_id} = 0;
+    $self->{seq_name} = "";
+    $self->{seq_description} = "";
+    $self->{seq_length} = 0;
+    $self->{sequence} = undef;
+    
+    $self->{seq_name_map} = {};
+}
+
+sub file_name
+{
+    my $self = shift;
+    if (@_) { $self->{file_name} = shift; }
+    return $self->{file_name};
+}
+
+sub key_found
+{
+    my $self = shift;
+    if (@_) { $self->{key_found} = shift; }
+    return $self->{key_found};
+}
+
+sub seq_id
+{
+    my $self = shift;
+    if (@_) { $self->{seq_id} = shift; }
+    return $self->{seq_id};
+}
+
+sub seq_name
+{
+    my $self = shift;
+    if (@_) { $self->{seq_name} = shift; }
+    return $self->{seq_name};
+}
+
+sub get_seq_id_from_name
+{
+    my $self = shift;
+    my $name = shift;
+    my $id = -1;
+    if (defined $self->{seq_name_map}->{$name})
+    {
+        $id = $self->{seq_name_map}->{$name};
+    }
+    return $id;
+}
+
+sub seq_description
+{
+    my $self = shift;
+    if (@_) { $self->{seq_description} = shift; }
+    return $self->{seq_description};
+}
+
+sub seq_length
+{
+    my $self = shift;
+    if (@_) { $self->{seq_length} = shift; }
+    return $self->{seq_length};
+}
+
+sub sequence
+{
+    my $self = shift;
+    if (@_) { $self->{sequence} = shift; }
+    return $self->{sequence};
+}
+
+sub release_memory
+{
+    my $self = shift;
+    undef($self->{sequence});
+}
+
+sub set_seq_info
+{
+    my $self = shift;
+    $self->{seq_name} = shift;
+    $self->{seq_description} = shift;
+    $self->{seq_length} = shift;
+    $self->{sequence} = shift;
+}
+
+sub reset_buffer_ct
+{
+    my $self = shift;
+    $self->{buffer_overlap_seq} = "";
+    $self->{buffer_end_index} = 0;
+    $self->{seq_buf_overrun} = 0;
+}
+
+sub buffer_end_index
+{
+    my $self = shift;
+    if (@_) { $self->{buffer_end_index} = shift; }
+    return $self->{buffer_end_index};
+}
+
+sub seq_buf_overrun
+{
+    my $self = shift;
+    if (@_) { $self->{seq_buf_overrun} = shift; }
+    return $self->{seq_buf_overrun};
+}
+
+sub seekpos {
+    my $self = shift;
+    my $pos = shift;
+    
+    seek($self->{FILE_H}, $pos, 0);
+}
+
+sub open_file
+{
+    my $self = shift;
+    my $file = shift;
+    my $mode = shift;
+    
+    my $success = 0;
+    
+    if ($mode eq "read") {
+        &open_for_read(\$self->{FILE_H}, $file);
+        $self->{seq_id} = 0;
+        $self->{saved_line} = "";
+    }
+    elsif ($mode eq "write") {
+        &open_for_write(\$self->{FILE_H}, $file);        
+    }
+    elsif ($mode eq "append") {
+        &open_for_append(\$self->{FILE_H}, $file);        
+    }
+    $self->{file_name} = $file;
+    $success = 1;
+
+    return $success;
+}
+
+sub close_file
+{
+    my $self = shift;
+    
+    if (defined $self->{FILE_H}) {
+        close($self->{FILE_H});
+    }
+}
+
+# Reads length of sequence first, then pre-extends to total length
+# before reading it in (important optimization for very long sequences)
+# Also, will search for sequence name matching $key
+
+sub read_fasta {
+    
+    my $self = shift;
+    my $opts = shift;
+    my $target_seq_id = shift;
+    my $key = $opts->seq_key();
+    my $fh = $self->{FILE_H};
+    
+    my ($seqlen, $filepos, $pre_extend_len, $seq_index_step, @seq_index);
+
+    $self->{seq_name} = "";
+    $self->{seq_description} = "";
+    $self->{seq_length} = 0;
+    $self->{sequence} = "";
+
+# if $key is not the global $seq_key (non-alphanumerics already
+#  escaped out for $seq_key) then escape out '\' problem causing char's
+#    if ($key ne $seq_key) {
+#        $key =~ s/(\W)/\\$1/g;
+#    }        
+    
+    while ((!eof($fh)) 
+           && (($self->{saved_line} =~ /^>/) || ($self->{saved_line} = <$fh>))) 
+    {                                
+        if (($self->{saved_line} =~ /^>\s*($key)\s+(.*)$/) ||
+            ($opts->start_at_key()) && ($self->{key_found}) &&
+            ($self->{saved_line} =~ /^>\s*(\S*)\s+(.*)$/o))
+        {
+            $self->{seq_id}++;
+
+            # if searching for a particular SeqID go on to next seq
+            #  if target and current seqid's don't match
+            if ($target_seq_id && ($self->{seq_id} != $target_seq_id)) {
+                $self->{saved_line} = <$fh>;
+                next;
+            }
+
+            $self->{key_found}       = 1;
+            $self->{seq_name}        = $1;
+            $self->{seq_description} = $2;
+            $self->{sequence}        = "";
+            $self->{seq_name_map}->{$self->{seq_name}} = $self->{seq_id};
+            
+            @seq_index        = ();
+            $seq_index_step   = $self->{seq_index_inc};   # set first bp position to save
+
+            $filepos = tell($fh);
+            $seqlen = 0;
+            push(@seq_index, $seqlen, tell($fh));
+            $pre_extend_len = 0;
+#            print LOGFILE "At pos: ";
+
+            while ($self->{saved_line} = <$fh>)
+            {
+                if ($self->{saved_line} =~ /^>/) { last; }
+                $self->{saved_line} =~ s/[ \n\t\d]//g;     # strip whitespace & numbers
+                $seqlen += length($self->{saved_line});
+                
+                # Save the start position of this chunk of seq for later easy return
+                if ($seqlen > $seq_index_step) {
+                    push(@seq_index, $seqlen, tell($fh));
+                    $seq_index_step += $self->{seq_index_inc};
+#                    print LOGFILE "($Seqlen) ";
+                } 
+                
+                if (($pre_extend_len == 0) && ($seqlen >= $self->{max_seq_buffer})) {
+                    $pre_extend_len = $seqlen;
+                }
+            }
+            push(@seq_index, $seqlen, tell($fh));                        
+            $self->{seq_length} = $seqlen;
+#            print LOGFILE " ";
+            
+            $self->{all_seq_indices}->[$self->{seq_id}] = [@seq_index];
+
+            seek($fh,$filepos,0);
+            $self->{sequence} = 'X' x $pre_extend_len;  # pre-extending string for efficiency
+            $seqlen = 0;
+            while (($seqlen < $self->{max_seq_buffer}) && ($self->{saved_line} = <$fh>))
+            {
+                if ($self->{saved_line} =~ /^>/) { last; }
+                $self->{saved_line} =~ s/[ \n\t\d]//g;     # strip whitespace & numbers
+                substr($self->{sequence}, $seqlen, length($self->{saved_line})) = $self->{saved_line};
+                $seqlen += length($self->{saved_line});
+            }                        
+
+            # if sequence is longer than MaxSeqBuffer length,
+            # then save last ~200 nt to allow overlap with next buffer frame 
+            # this prevents tRNAs on the border between buffers from being chopped
+            # in half (and missed!)
+
+            if ($seqlen >= $self->{max_seq_buffer}) {
+                $self->{buffer_overlap_seq} = substr($self->{sequence}, $seqlen - $self->{seq_buf_overlap});
+                $self->{buffer_end_index}   = $seqlen - length($self->{buffer_overlap_seq});
+                $self->{seq_buf_overrun} = 1;
+            }
+            else {
+                $self->{seq_buf_overrun} = 0;
+            }
+            
+            $self->{buffer_length} = length($self->{sequence});
+            $self->{sequence} = uc($self->{sequence});
+            $self->{sequence} =~ s/U/T/g;
+            $self->{sequence} =~ s/X/N/g;
+            
+            ## Remove long runs of N's from consideration by pre-scanners
+            ## By doing this, pre-scanner false-pos rate is normal, even
+            ## when scanning unfinished genomes with long N insert "placeholders"
+            $self->{sequence} =~ s/NNNNNNNNNN/CCCCCCCCCC/g; 
+
+            return 1;
+        }
+        else {
+            if ($self->{saved_line} =~ /^>/) {
+                $self->{seq_id}++;
+            }
+            $self->{saved_line} = <$fh>;
+        }
+    }                                
+    0;                                
+}
+                
+sub read_fasta_subseq  {
+    
+    my $self = shift;
+    my $target_seq_id = shift;
+    my $subseq_start = shift;
+    my $subseq_len = shift;
+    my $fh = $self->{FILE_H};
+    
+    my ($seqlen, $filepos, $curpos, $tempseq, $seq_head, $index_pos, $ct);
+
+    $self->{seq_length} = 0;
+    $self->{sequence} = "";
+
+    # find closest position in desired sequence from file position index
+
+    $ct=0;
+    if (!defined $self->{all_seq_indices}->[$target_seq_id]) {
+        $seqlen = 0;
+        $index_pos = 0;
+    }
+    else {
+        while ($self->{all_seq_indices}->[$target_seq_id][$ct] < $subseq_start) {
+            $ct+=2;
+        }
+        $seqlen     = $self->{all_seq_indices}->[$target_seq_id][$ct-2]; 
+        $index_pos  = $self->{all_seq_indices}->[$target_seq_id][$ct-1];
+    }
+    seek ($fh, $index_pos, 0);
+
+    $tempseq = "";
+
+    # scan until I get to the sequence position 
+
+    while (($seqlen < $subseq_start) && ($self->{saved_line} = <$fh>))
+    {
+        if ($self->{saved_line} =~ /^>/) { 
+            return 0; 
+        }
+        $self->{saved_line} =~ s/[ \n\t\d]//g;     # strip whitespace & numbers
+        $seqlen += length($self->{saved_line});
+    }
+
+    $tempseq = 'X' x $subseq_len;  # pre-extending string for efficiency
+            
+    $curpos = $seqlen - length($self->{saved_line});
+    $seq_head = substr($self->{saved_line}, $subseq_start - $curpos - 1); 
+    substr($tempseq, 0, length($seq_head)) = $seq_head;
+        
+    $seqlen = length($seq_head);
+            
+    while (($seqlen < $subseq_len) && ($self->{saved_line} = <$fh>))
+    {
+        if ($self->{saved_line} =~ /^>/) { last; }
+        $self->{saved_line} =~ s/[ \n\t\d]//g;     # strip whitespace & numbers
+        substr($tempseq, $seqlen, length($self->{saved_line})) = $self->{saved_line};
+        $seqlen += length($self->{saved_line});
+    }                        
+    
+    $self->{sequence} = substr($tempseq, 0, $subseq_len);
+
+    $self->{sequence} = uc($self->{sequence});
+    $self->{sequence} =~ s/U/T/g;
+    $self->{sequence} =~ s/X/N/g;
+    $self->{seq_length} = length($self->{sequence});
+    return 1;
+}
+
+sub read_fasta_subseq_slow {
+    
+    my $self = shift;
+    my $opts = shift;
+    my $key = shift;
+    my $target_seq_id = shift;
+    my $subseq_start = shift;
+    my $subseq_len = shift;
+    my $fh = $self->{FILE_H};
+    
+    my ($seqlen, $filepos, $curpos, $tempseq);
+    my $last_header = "";
+    my $seq_head = "";
+
+    $self->{seq_length} = 0;
+    $self->{sequence} = "";
+
+# if $key is not the global $seq_key (non-alphanumerics already
+#  escaped out for $seq_key) then escape out '\' problem causing char's
+#  if ($key ne $seq_key) {
+        $key =~ s/(\W)/\\$1/g;
+#    }        
+
+    while ((!eof(FAHANDLE)) 
+           && (($self->{saved_line} =~ /^>/) || ($self->{saved_line} = <FAHANDLE>))) 
+    {                                
+        if (($self->{saved_line} =~ /^>\s*($key)\s+(.*)$/) ||
+            ($opts->start_at_key()) && ($self->{key_found}) &&
+            ($self->{saved_line} =~ /^>\s*(\S*)\s+(.*)$/o))
+        {
+            $self->{seq_id}++;
+            
+            # if searching for a particular SeqID go on to next seq
+            #  if target and current seqid's don't match
+            if ($target_seq_id && ($self->{seq_id} != $target_seq_id)) {
+                $self->{saved_line} = <$fh>;
+                next;
+            }
+
+            $filepos = tell($fh);  # save position of last fasta header
+            $last_header = $self->{saved_line}; 
+            
+            $self->{key_found} = 1;
+            $self->{seq_name}        = $1;
+            $self->{seq_description} = $2;
+            $self->{sequence}        = "";
+            $tempseq = "";
+
+            $seqlen = 0;
+            while (($seqlen < $subseq_start) && ($self->{saved_line} = <$fh>)) {
+                if ($self->{saved_line} =~ /^>/) { last; }
+                $self->{saved_line} =~ s/[ \n\t\d]//g;     # strip whitespace & numbers
+                $seqlen += length($self->{saved_line});
+            }
+
+            $tempseq = 'X' x $subseq_len;  # pre-extending string for efficiency
+            
+            $curpos = $seqlen - length($self->{saved_line});
+            $seq_head = substr($self->{saved_line}, $subseq_start - $curpos - 1); 
+            substr($tempseq, 0, length($seq_head)) = $seq_head;
+        
+            $seqlen = length($seq_head);
+            
+            while (($seqlen < $subseq_len) && ($self->{saved_line} = <$fh>)) {
+                if ($self->{saved_line} =~ /^>/) { last; }
+                $self->{saved_line} =~ s/[ \n\t\d]//g;      # strip whitespace & numbers
+                substr($tempseq, $seqlen, length($self->{saved_line})) = $self->{saved_line};
+                $seqlen += length($self->{saved_line});
+            }                        
+
+            $self->{sequence} = substr($tempseq, 0, $subseq_len);
+
+            $self->{sequence} = uc($self->{sequence});
+            $self->{sequence} =~ s/U/T/g;
+            $self->{sequence} =~ s/X/N/g;
+            $self->{seq_length} = length($self->{sequence});
+            seek($fh, $filepos, 0);                 # return file position to beginning of this seq
+            $self->{seq_id}--;                      # rewind seqid by 1
+            $self->{saved_line} = $last_header;             # restore to original seq header line
+            return 1;
+        }
+        else {
+            if ($self->{saved_line} =~ /^>/) {
+                $self->{seq_id}++;
+            }
+            $self->{saved_line} = <$fh>;
+        }
+    }                                
+    0;                                
+}
+
+## read_more_fasta  
+## Reads remaining portion of large fasta file (size>$MaxSeqBuffer)
+## Only reads in $MaxSeqBuffer amount or less each time
+                
+sub read_more_fasta {
+    
+    my $self = shift;
+    my $fh = $self->{FILE_H};
+    
+    my ($seqlen, $filepos);
+    
+    $filepos = tell($fh);
+    $seqlen = 0;
+    while (($seqlen + $self->{seq_buf_overlap} < $self->{max_seq_buffer}) && ($self->{saved_line} = <$fh>))
+    {
+        if ($self->{saved_line} =~ /^>/) { last; }
+        $self->{saved_line} =~ s/[ \n\t\d]//g;     # strip whitespace & numbers
+        $seqlen += length($self->{saved_line});
+    }                        
+
+    if ($seqlen == 0) {
+        return 0;
+    }
+
+    seek($fh, $filepos, 0);
+
+    $self->{sequence} = $self->{buffer_overlap_seq}. 'X' x $seqlen;  # pre-extending string for efficiency
+    $seqlen = length($self->{buffer_overlap_seq});    
+
+    while (($seqlen < $self->{max_seq_buffer}) && ($self->{saved_line} = <$fh>))
+    {
+        if ($self->{saved_line} =~ /^>/) { last; }
+        $self->{saved_line} =~ s/[ \n\t\d]//g;     # strip whitespace & numbers
+        substr($self->{sequence}, $seqlen, length($self->{saved_line})) = $self->{saved_line};
+        $seqlen += length($self->{saved_line});
+    }                        
+    
+    # if sequence is longer than MaxSeqBuffer length,
+    # then save last ~200 nt to allow overlap with next buffer frame 
+    # this prevents tRNAs on the border between buffers from being chopped
+    # in half (and missed!)
+    
+    if ($seqlen >= $self->{max_seq_buffer}) {
+        $self->{buffer_overlap_seq} = substr($self->{sequence}, $seqlen - $self->{seq_buf_overlap});
+        $self->{buffer_end_index}   += $seqlen - length($self->{buffer_overlap_seq});
+        $self->{seq_buf_overrun} = 1;
+    }
+    else {
+        $self->{seq_buf_overrun} = 0;
+    }
+    
+    $self->{buffer_length} = length($self->{sequence});
+    $self->{sequence} = uc($self->{sequence});
+    $self->{sequence} =~ s/U/T/g;
+    $self->{sequence} =~ s/X/N/g;
+    
+    ## Remove long runs of N's from consideration by pre-scanners
+    ## By doing this, pre-scanner false-pos rate is normal, even
+    ## when scanning unfinished genomes with long N insert "placeholders"
+    $self->{sequence} =~ s/NNNNNNNNNN/CCCCCCCCCC/g; 
+    
+    return 1;
+}
+        
+sub write_fasta {
+    
+    my $self = shift;
+    my $fh = $self->{FILE_H};
+    
+    my ($pos, $line);
+
+    print $fh ">$self->{seq_name} $self->{seq_description}\n"; 
+    for ($pos = 0; $pos < length($self->{sequence}); $pos += 60)
+    {
+        $line = substr($self->{sequence}, $pos, 60);
+        print $fh $line, "\n";
+    }
+}
+
+sub get_tRNA_sequence {
+    
+    my $self = shift;
+    my ($src_seq_name, $strand, $start, $end, $log, $opts, $constants) = @_;
+    
+    $self->{seq_name} = $src_seq_name;
+    $self->{seq_description} = ""; 
+    
+    my ($upstream_len, $downstream_len, $src_seq_len, $fwd_start, $query_len, $upstream, $downstream, $tRNA_seq);
+    my $src_seqid = $self->get_seq_id_from_name($src_seq_name);
+    
+    $upstream_len   = $constants->upstream_len();
+    $downstream_len = $constants->downstream_len();
+    if ($strand) {
+        if ($start - $upstream_len <= 0) {
+            $upstream_len = $start - 1;
+        }
+        $fwd_start = $start - $upstream_len;
+        $src_seq_len = $end - $start + 1;
+    }
+    else {
+        if ($end - $downstream_len <= 0) {
+            $downstream_len = $end - 1;
+        }
+        $fwd_start = $end - $downstream_len;
+        $src_seq_len = $start - $end + 1;
+    }
+    $query_len = $upstream_len + $src_seq_len + $downstream_len;
+
+    if (!$self->read_fasta_subseq($src_seqid, $fwd_start, $query_len)) {
+        
+        # if can't find it on first try, reposition 
+        # to beginning of file & try once more
+            
+        $log->write_line("Missed $src_seq_name using quick index. Rewinding seq file and trying again with slow search...");
+        $self->seekpos(0);
+        if (!$self->read_fasta_subseq_slow($opts, $src_seq_name, $src_seqid, $fwd_start, $query_len)) {
+            print STDERR "Could not find $src_seq_name in ".$opts->fastafile()."\n";
+            $log->write_line("Skipping to next tRNA hit...");
+            return 0;
+        }
+    }
+    
+    if ($strand) {
+        $downstream_len = $self->{seq_length} - $upstream_len - $src_seq_len;
+        $upstream = substr($self->{sequence}, 0, $upstream_len);
+        $downstream = "";
+        if ($downstream_len > 0) {
+            $downstream = substr($self->{sequence}, $upstream_len + $src_seq_len);
+        }
+        $tRNA_seq = substr($self->{sequence}, $upstream_len, $src_seq_len);
+    }
+    else {
+        $upstream_len = $self->{seq_length} - $downstream_len - $src_seq_len;        
+        $self->{sequence} = &rev_comp_seq($self->{sequence});
+        $upstream = "";
+        if ($upstream_len > 0) {
+            $upstream = substr($self->{sequence}, 0, $upstream_len);
+        }
+        $downstream = substr($self->{sequence}, $upstream_len + $src_seq_len);
+        $tRNA_seq = substr($self->{sequence}, $upstream_len, $src_seq_len);        
+    }
+    return ($tRNA_seq, $upstream, $downstream);
+}
+
+sub mask_out_sequence {
+
+    my $self = shift;
+    my ($seq_file, $temp_seq_file, $r_sorted_cms_hits) = @_;
+    
+    my $cms_hit = undef;
+    my $fh_seq_in = undef;
+    my $fh_seq_out = undef;
+    my $line = "";
+    my $last_line = "";
+    my $seqname = "";
+    my %cms_hits = ();
+    my $hits = [];
+    my $ct = 0;
+    my $written_len = 0;
+    my $seq_start = 0;
+    my $subseq_start = 0;
+    my $subseq_len = 0;
+    my $N_start = 0;
+    
+    foreach $cms_hit (@$r_sorted_cms_hits) {
+        if (defined $cms_hits{$cms_hit->{seqname}}) {
+            push (@{$cms_hits{$cms_hit->{seqname}}}, $cms_hit);
+        }
+        else {
+            $hits = [];
+            push (@$hits, $cms_hit);
+            $cms_hits{$cms_hit->{seqname}} = $hits;
+        }
+    }
+    
+    &open_for_read(\$fh_seq_in, $seq_file);
+    &open_for_write(\$fh_seq_out, $temp_seq_file);
+    
+    while ($line = <$fh_seq_in>) {
+        chomp($line);
+        if ($line =~ /^>([^\t]+)$/) {
+            $seqname = $1;
+            $seqname = &trim($seqname);
+            if (index($seqname, ' ') > -1) {
+                $seqname = substr($seqname, 0, index($seqname, ' '));
+            }
+            $hits = undef;
+            $ct = 0;
+            if (defined $cms_hits{$seqname}) {
+                $hits = $cms_hits{$seqname};
+                $subseq_len = $hits->[$ct]->{len};
+                $seq_start = $hits->[$ct]->{start};
+                $seq_start = $hits->[$ct]->{end} if ($hits->[$ct]->{strand} == 0); 
+            }
+            $written_len = 0;
+            $N_start = 0;
+            if ($last_line ne "") {
+                print $fh_seq_out $last_line . "\n";
+                $last_line = "";
+            }
+            print $fh_seq_out $line . "\n";
+        }
+        elsif ($line =~ /^\s*$/) {
+        }
+        else {
+            if ($last_line ne "") {
+                $line = $last_line . $line;
+                $last_line = "";
+            }
+            if (defined $hits) {
+                if ($ct < scalar(@$hits)) {
+                    if ($written_len + length($line) < $seq_start) {
+                        print $fh_seq_out $line . "\n";
+                        $written_len += length($line);
+                    }
+                    else {
+                        if ($N_start > 0) {
+                            $subseq_start = 1;
+                        }
+                        else {
+                            $subseq_start = $seq_start - $written_len;
+                            print $fh_seq_out substr($line, 0, $subseq_start - 1);
+                            $written_len += ($subseq_start - 1);
+                        }
+                        if (length($line) >= ($subseq_start + $subseq_len - 1)) {
+                            print $fh_seq_out 'N' x $subseq_len;
+                            print $fh_seq_out "\n";
+                            $written_len += $subseq_len;
+                            if (length($line) > ($subseq_start + $subseq_len - 1)) {
+                                $last_line = substr($line, $subseq_start + $subseq_len - 1);
+                            }
+                            $N_start = 0;
+                            $ct++;
+                            if ($ct < scalar(@$hits)) {
+                                $subseq_len = $hits->[$ct]->{len};
+                                $seq_start = $hits->[$ct]->{start};
+                                $seq_start = $hits->[$ct]->{end} if ($hits->[$ct]->{strand} == 0);
+                            }
+                        }
+                        else {
+                            print $fh_seq_out 'N' x (length($line) - $subseq_start + 1);
+                            print $fh_seq_out "\n";
+                            $written_len += (length($line) - $subseq_start + 1);
+                            $N_start = 1;
+                            $subseq_len -= (length($line) - $subseq_start + 1);
+                        }
+                    }
+                }
+                else {
+                    print $fh_seq_out $line . "\n";
+                    $written_len += length($line);
+                }
+            }
+            else {
+                print $fh_seq_out $line . "\n";
+                $written_len += length($line);
+            }
+        }
+    }
+    
+    close($fh_seq_in);
+    close($fh_seq_out);
+}
+
+1;
diff --git a/tRNAscanSE/Stats.pm b/tRNAscanSE/Stats.pm
new file mode 100644
index 0000000..bb239bb
--- /dev/null
+++ b/tRNAscanSE/Stats.pm
@@ -0,0 +1,430 @@
+# tRNAscanSE/Stats.pm
+# This class describes the statistics of each run in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+# --------------------------------------------------------------
+#
+package tRNAscan::Stats;
+
+use strict;
+use tRNAscanSE::Utils;
+use tRNAscanSE::Options;
+use tRNAscanSE::GeneticCode;
+
+sub new {
+    my $class = shift;
+    my $self = {};
+
+    initialize($self);
+
+    bless ($self, $class);
+    return $self;
+}
+
+sub DESTROY
+{
+    my $self = shift;
+}
+
+sub initialize
+{
+    my $self = shift;
+    $self->{file_name} = "";             # name of log file
+    $self->{FILE_H} = undef;             # file handle
+    
+    $self->{fp_start_time} = +[];        # save first pass starting time
+    $self->{fp_end_time} = +[];          # save first pass ending time
+    $self->{sp_end_time} = +[];          # save second pass ending time
+    $self->{seqs_hit} = 0;               # num seqs with at least one trna hit
+    $self->{numscanned} = 0;             # total sequences scanned
+    $self->{trnatotal} = 0;              # total trnas found by tscan
+
+    $self->{first_pass_base_ct} = 0;     # no bases in all seqs in first pass scans
+    $self->{fpass_trna_base_ct} = 0;     # no bases in tRNAs in first pass scans
+    $self->{fpos_base_ct} = 0;           # no bases in false positive tRNAs 
+    $self->{secpass_base_ct} = 0;
+    $self->{coves_base_ct} = 0;
+    $self->{total_secpass_ct} = 0;
+}
+
+sub file_name
+{
+    my $self = shift;
+    if (@_) { $self->{file_name} = shift; }
+    return $self->{file_name};
+}
+
+sub FILE_H
+{
+    my $self = shift;
+    return $self->{FILE_H};
+}
+
+sub start_fp_timer
+{
+    my $self = shift;
+    @{$self->{fp_start_time}} = (times)[0,2,1,3];
+    $self->{fp_end_time} = +[];
+    $self->{sp_end_time} = +[];
+}
+
+sub end_fp_timer
+{
+    my $self = shift;
+    @{$self->{fp_end_time}} = (times)[0,2,1,3];            
+}
+
+sub start_sp_timer
+{
+    my $self = shift;
+    if (!defined $self->{fp_end_time}->[0]) {
+        push (@{$self->{fp_end_time}}, @{$self->{fp_start_time}});
+    }
+}
+
+sub end_sp_timer
+{
+    my $self = shift;
+    @{$self->{sp_end_time}} = (times)[0,2,1,3];            
+}
+
+sub seqs_hit
+{
+    my $self = shift;
+    if (@_) { $self->{seqs_hit} = shift; }
+    return $self->{seqs_hit};
+}
+
+sub increment_seqs_hit
+{
+    my $self = shift;
+    if (@_) { $self->{seqs_hit} += shift; }
+    else { $self->{seqs_hit} += 1;}
+}
+
+sub numscanned
+{
+    my $self = shift;
+    if (@_) { $self->{numscanned} = shift; }
+    return $self->{numscanned};
+}
+
+sub increment_numscanned
+{
+    my $self = shift;
+    if (@_) { $self->{numscanned} += shift; }
+    else { $self->{numscanned} += 1;}
+}
+
+sub trnatotal
+{
+    my $self = shift;
+    if (@_) { $self->{trnatotal} = shift; }
+    return $self->{trnatotal};
+}
+
+sub increment_trnatotal
+{
+    my $self = shift;
+    if (@_) { $self->{trnatotal} += shift; }
+    else { $self->{trnatotal} += 1;}
+}
+
+sub decrement_trnatotal
+{
+    my $self = shift;
+    if (@_) { $self->{trnatotal} -= shift; }
+    else { $self->{trnatotal} -= 1;}
+}
+
+sub first_pass_base_ct
+{
+    my $self = shift;
+    if (@_) { $self->{first_pass_base_ct} = shift; }
+    return $self->{first_pass_base_ct};
+}
+
+sub increment_first_pass_base_ct
+{
+    my $self = shift;
+    if (@_) { $self->{first_pass_base_ct} += shift; }
+    else { $self->{first_pass_base_ct} += 1;}
+}
+
+sub fpass_trna_base_ct
+{
+    my $self = shift;
+    if (@_) { $self->{fpass_trna_base_ct} = shift; }
+    return $self->{fpass_trna_base_ct};
+}
+
+sub fpos_base_ct
+{
+    my $self = shift;
+    if (@_) { $self->{fpos_base_ct} = shift; }
+    return $self->{fpos_base_ct};
+}
+
+sub increment_fpos_base_ct
+{
+    my $self = shift;
+    if (@_) { $self->{fpos_base_ct} += shift; }
+    else { $self->{fpos_base_ct} += 1;}
+}
+
+sub secpass_base_ct
+{
+    my $self = shift;
+    if (@_) { $self->{secpass_base_ct} = shift; }
+    return $self->{secpass_base_ct};
+}
+
+sub increment_secpass_base_ct
+{
+    my $self = shift;
+    if (@_) { $self->{secpass_base_ct} += shift; }
+    else { $self->{secpass_base_ct} += 1;}
+}
+
+sub coves_base_ct
+{
+    my $self = shift;
+    if (@_) { $self->{coves_base_ct} = shift; }
+    return $self->{coves_base_ct};
+}
+
+sub increment_coves_base_ct
+{
+    my $self = shift;
+    if (@_) { $self->{coves_base_ct} += shift; }
+    else { $self->{coves_base_ct} += 1;}
+}
+
+sub total_secpass_ct
+{
+    my $self = shift;
+    if (@_) { $self->{total_secpass_ct} = shift; }
+    return $self->{total_secpass_ct};
+}
+
+sub increment_total_secpass_ct
+{
+    my $self = shift;
+    if (@_) { $self->{total_secpass_ct} += shift; }
+    else { $self->{total_secpass_ct} += 1;}
+}
+
+sub open_file {
+    my $self = shift;
+    
+    my $success = 0;
+    
+    if ($self->{file_name} ne "") {
+        &open_for_append(\$self->{FILE_H}, $self->{file_name});
+        $success = 1;
+    }
+    else {
+        die "Statistics file name is not set.\n"
+    }
+
+    return $success;
+}
+
+sub close_file {
+    my $self = shift;
+    
+    if (defined $self->{FILE_H}) {
+        close($self->{FILE_H});
+    }
+}
+
+sub write_line {
+    my $self = shift;
+    my $line = shift;
+    
+    my $fh = $self->{FILE_H};
+    
+    print $fh $line . "\n";
+}
+
+sub save_firstpass_stats {
+    
+    my $self = shift;
+    my $fh = $self->{FILE_H};
+
+    print $fh "First-pass (tRNAscan/EufindtRNA) Stats:\n",
+        "---------------\n";
+    print $fh  "Sequences read:         $self->{numscanned}\n";
+    print $fh  "Seqs w/at least 1 hit:  $self->{seqs_hit}\n"; 
+    print $fh  "Bases read:             $self->{first_pass_base_ct} (x2 for both strands)\n";
+    print $fh  "Bases in tRNAs:         $self->{fpass_trna_base_ct}\n";
+    print $fh  "tRNAs predicted:        $self->{trnatotal}\n";
+    printf $fh "Av. tRNA length:        %d\n",
+        int($self->{fpass_trna_base_ct} / &max(1, $self->{trnatotal}));
+    printf $fh "Script CPU time:        %.2f s\n",
+        $self->{fp_end_time}->[0] - $self->{fp_start_time}->[0];
+    printf $fh "Scan CPU time:          %.2f s\n",
+        $self->{fp_end_time}->[1] - $self->{fp_start_time}->[1];
+    printf $fh "Scan speed:             %.1f Kbp/sec\n", $self->{first_pass_base_ct}*2/
+         (&max(0.001, $self->{fp_end_time}->[1] - $self->{fp_start_time}->[1]))/1000;
+    print $fh "\nFirst pass search(es) ended: ",`date`,"\n";
+}
+
+sub save_final_stats {
+
+    my $self = shift;
+    my $opts = shift;
+    my $gc = shift;
+    my $r_prescan_tRNAs = shift;
+    my $r_tab_results = shift;
+    my $fh = $self->{FILE_H};
+    my $second_pass_label = $opts->second_pass_label();
+
+    if ($opts->CM_mode() ne "") {
+        print $fh "$second_pass_label Stats:\n-----------\n";
+        
+        if ($opts->tscan_mode() || $opts->eufind_mode()) {
+            print $fh "Candidate tRNAs read:     ", scalar(@$r_prescan_tRNAs),"\n"; 
+        }
+        else {
+            print $fh "Sequences read:           $self->{numscanned}\n";
+        } 
+        print $fh  "$second_pass_label","-confirmed tRNAs:     $self->{total_secpass_ct}\n";
+        print $fh  "Bases scanned by $second_pass_label:  $self->{secpass_base_ct}\n";    
+        printf $fh "%% seq scanned by $second_pass_label:  %2.1f %%\n",
+            &min(($self->{secpass_base_ct} / &max(1, $self->{first_pass_base_ct} * 2)) * 100,100);
+        printf $fh "Script CPU time:          %2.2f s\n", $self->{sp_end_time}->[0] - $self->{fp_end_time}->[0];
+        printf $fh "$second_pass_label CPU time:            %2.2f s\n", $self->{sp_end_time}->[1] - $self->{fp_end_time}->[1];
+        printf $fh "Scan speed:               %.1f bp/sec\n", $self->{secpass_base_ct}/
+            &max(0.001, $self->{sp_end_time}->[1] - $self->{fp_end_time}->[1]);
+        print $fh "\n$second_pass_label analysis of tRNAs ended: ",`date`,"\n";
+        if ($opts->tscan_mode() || $opts->eufind_mode()) {        
+            print $fh "Summary\n--------\n";
+        }
+    }                                
+    my $total_time = ($self->{sp_end_time}->[0] - $self->{fp_start_time}->[0]) + 
+        ($self->{sp_end_time}->[1] - $self->{fp_start_time}->[1]);
+    printf $fh "Overall scan speed: %.1f bp/sec\n",
+        &max($self->{first_pass_base_ct} * 2, $self->{secpass_base_ct}) / &max(0.001, $total_time);
+
+    $self->output_summary($opts, $gc, $r_tab_results);                
+}
+
+sub output_summary {
+
+    my $self = shift;
+    my $opts = shift;
+    my $gc = shift;
+    my $r_tab_results = shift;
+    my $fh = $self->{FILE_H};
+    
+    my ($trna_ct, $selcys_ct, $stop_sup_ct, $undet_ct, $pseudo_ct, 
+           $total, $intron_ct, $line);
+    my (%iso_AR, %ac_AR, %intron_ac_AR);
+    my ($iso, $ac, $acset, $iso_count, $istart, $aa); 
+           
+
+    $trna_ct   = 0;
+    $selcys_ct = 0;
+    $pseudo_ct = 0;
+    $undet_ct  = 0;
+    $intron_ct = 0;
+    $stop_sup_ct = 0;
+    $total = 0;
+    
+    $line = shift(@$r_tab_results);
+
+    while ($line ne '') {
+        
+        if ($line =~ /^(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(\S+)\s+([0-9\,]+)\s+([0-9\,]+)\s+(\S+)/) {
+            $iso     = $5;
+            $ac      = $6;
+            $istart  = $7;
+            
+            if ($iso eq $gc->undef_isotype()) {
+                $undet_ct++;
+            }
+            
+            elsif ($iso =~ /Pseudo/) {
+                $pseudo_ct++;
+                $iso_AR{"Pseudo"}++;
+            }
+            elsif ($iso =~ /SeC/) {
+                $selcys_ct++;
+                $iso_AR{"SelCys"}++;
+                $ac_AR{$ac}++;
+            }
+            elsif ($iso eq "Sup") {
+                $iso_AR{"Supres"}++;
+                $stop_sup_ct++;
+                $ac_AR{$ac}++;
+            }
+            
+            else {
+                $trna_ct++;
+                $iso_AR{$iso}++;
+                $ac_AR{$ac}++;
+            }
+            
+            if ($istart ne "0") {
+                my @introns = split(/\,/, $istart);
+                $intron_ct += scalar(@introns);
+                $intron_ac_AR{$ac} += scalar(@introns);
+            }
+            
+        }
+        $line = shift(@$r_tab_results);
+        
+    }
+    
+    $total = $trna_ct + $selcys_ct + $pseudo_ct + $undet_ct + $stop_sup_ct;
+    
+    
+    print $fh "\n",
+    "tRNAs decoding Standard 20 AA:              $trna_ct\n",
+    "Selenocysteine tRNAs (TCA):                 $selcys_ct\n",
+    "Possible suppressor tRNAs (CTA,TTA):        $stop_sup_ct\n",
+    "tRNAs with undetermined/unknown isotypes:   $undet_ct\n",
+    "Predicted pseudogenes:                      $pseudo_ct\n",
+    "                                            -------\n",
+    "Total tRNAs:                                $total\n\n",
+    
+    "tRNAs with introns:     \t$intron_ct\n\n";
+
+    foreach $aa (@{$gc->isotypes()}) {
+            foreach $acset ($gc->ac_list()->{$aa}) {
+                foreach $ac (@$acset) {
+                if (defined($intron_ac_AR{$ac})) {
+                        print $fh "| $aa-$ac: $intron_ac_AR{$ac} "; 
+                }
+            }
+        }
+    }      
+    print $fh "|\n\n";
+    print $fh "Isotype / Anticodon Counts:\n\n";
+    
+    foreach $aa (@{$gc->isotypes()}) {
+        
+        $iso_count = $iso_AR{$aa} + 0;
+        printf $fh ("%-6s: %d\t", $aa, $iso_count);
+        
+        foreach $acset ($gc->ac_list()->{$aa}) {
+            foreach $ac (@$acset) {
+                    if ($ac eq "&nbsp") {
+                    print $fh "             ";
+                }
+                else  {
+                    printf $fh ("%5s: %-6s",$ac,$ac_AR{$ac});
+                }
+            }
+        }
+        
+        print $fh "\n";
+        
+    }
+    print $fh "\n";
+}
+
+1;
diff --git a/tRNAscanSE/Tscan.pm b/tRNAscanSE/Tscan.pm
new file mode 100644
index 0000000..7e97908
--- /dev/null
+++ b/tRNAscanSE/Tscan.pm
@@ -0,0 +1,393 @@
+# tRNAscanSE/Tscan.pm
+# This class contains parameters and functions for running tRNAscan used in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+# --------------------------------------------------------------
+#
+
+package tRNAscanSE::Tscan;
+
+use strict;
+use tRNAscanSE::Utils;
+
+
+sub new {
+    my $class = shift;
+    my $self = {};
+
+    initialize($self);
+
+    bless ($self, $class);
+    return $self;
+}
+
+sub DESTROY
+{
+    my $self = shift;
+}
+
+sub initialize
+{
+    my $self = shift;
+    
+    # set to non-zero if you do NOT want redundant, overlapping hits
+    #  found by tRNAscan merged into one hit
+    $self->{keep_tscan_repeats} = 0;
+    
+    $self->{tscan_params} = "-s";   # parameter set to be used for tRNAscan
+                                    # default is "-s" strict params
+                                    # default for prokaryotes should be relaxed
+                                    # params "-r"
+    
+    $self->{tscan_version} = 1.4;   # version of tRNAscan used by tRNAscan-SE
+
+    $self->{tscan_bin} = "trnascan-1.4";
+    
+    $self->{tscan_mask} = 1;        # Bit-wise masks for source of tRNA hits
+}
+
+sub keep_tscan_repeats
+{
+    my $self = shift;
+    if (@_) { $self->{keep_tscan_repeats} = shift; }
+    return $self->{keep_tscan_repeats};
+}
+
+sub tscan_params
+{
+    my $self = shift;
+    if (@_) { $self->{tscan_params} = shift; }
+    return $self->{tscan_params};
+}
+
+sub tscan_version
+{
+    my $self = shift;
+    if (@_) { $self->{tscan_version} = shift; }
+    return $self->{tscan_version};
+}
+
+sub tscan_bin
+{
+    my $self = shift;
+    if (@_) { $self->{tscan_bin} = shift; }
+    return $self->{tscan_bin};
+}
+
+sub tscan_mask
+{
+    my $self = shift;
+    return $self->{tscan_mask};
+}
+
+sub set_bin {
+    
+    my $self = shift;
+    my $bindir = shift;
+    
+    # choose correct name for version being run
+    # only version 1.4 is provided with distribution
+
+    if ($self->{tscan_version} == 1.4) {
+        $self->{tscan_bin} = "trnascan-1.4";
+    }
+    elsif ($self->{tscan_version} == 1.39) {
+        $self->{tscan_bin} = "trnascan-1.39";
+    }
+    elsif ($self->{tscan_version} == 2) {
+        $self->{tscan_bin} = "TRNAscan";
+    }
+    elsif ($self->{tscan_version} == 1.3) {             
+        $self->{tscan_bin} = "trnascan-1.3";
+    }
+    else {
+        die "FATAL:  Illegal tRNAscan version.\n\n";
+    }
+
+    if ($^O =~ /^MSWin/) {
+        $self->{tscan_bin} .= ".exe";
+    }
+
+    if (!(-x $self->{tscan_bin})) {
+        $self->{tscan_bin} = $bindir.$self->{tscan_bin};
+        if (!(-x $self->{tscan_bin})) {
+            die "FATAL: Unable to find ".$self->{tscan_bin}." executable\n\n";
+        }
+    }
+}
+
+sub run_tRNAscan {
+    
+    my $self = shift;
+    my ($tmp_fa, $tmp_raw, $start_index, $lib_dir, $seq_name) = @_;
+    my $tscan_version = $self->{tscan_version};
+    my $tscan_bin = $self->{tscan_bin};
+    my $tscan_params = $self->{tscan_params};
+
+    # version provided with distribution
+
+    if ($tscan_version == 1.4) {
+        # run default tRNAscan 1.4 using selected param set
+        system ("$tscan_bin -i $start_index -c $tscan_params $tmp_fa > $tmp_raw");
+        if (&error_exit_status("tRNAscan", $seq_name)) {
+            return -1;
+        }
+    }
+    
+    # run tRNAscan without conservative ambiguous base pairing rules
+    # not available in distribution version
+
+    elsif ($tscan_version == 1.39) {
+        system ("$tscan_bin -c $tscan_params $tmp_fa > $tmp_raw"); 
+    }
+
+    # run tRNAscan v2.0, not available in distribution version
+
+    elsif ($tscan_version == 2) {
+        system ("$tscan_bin -SEQ $tmp_fa -TEMPLATE SEtemplate -OUTPUT $tmp_raw > /dev/null");
+        }
+
+    # run original tRNAscan 1.3, not available in distribution version
+
+    elsif ($tscan_version == 1.3) {             
+        if (!(-r "./TPCsignal")) {
+            system ("ln -s ".$lib_dir."TPCsignal TPCsignal");
+        }
+        if (!(-r "./Dsignal")) {
+            system ("ln -s ".$lib_dir."Dsignal Dsignal");
+        }
+        system ("reformat -ld genbank $tmp_fa > tmp.gb");
+        system ("$tscan_bin tmp.gb $tmp_raw > /dev/null");
+        system ("rm tmp.gb");
+    }
+    else {
+        die "FATAL:  Illegal tRNAscan version.\n\n";
+    }
+}
+
+
+# Append tRNAscan verbose output to 
+#   result file with header tag
+
+sub append_verbfile {
+    
+    my $self = shift;
+    my ($verb_file, $tmp_fa, $seq_name) = @_;
+
+    &open_for_append(\*TSCANVERB, $verb_file);    
+    print TSCANVERB "\n>>>> tRNA-Scan verbose output for <$seq_name>\n\n";
+    close TSCANVERB;
+    system ("cat tscan.verb.out >> $verb_file");
+}
+
+# extract trna hits from raw result file while weeding out repeated hits
+# save non-redundant hits in "hit_list" array
+
+sub process_tRNAscan_hits {
+    
+    my $self = shift;
+    my $constants = shift;
+    my $gc = shift;
+    my $stats = shift;
+    my $seq_name = shift;
+    my $r_hit_list = shift;
+    my $tmp_raw = $constants->tmp_raw();
+    
+    my ($istart, $iend, $from, $to, $intron, $trnact, $len, $score,
+          $anticodon, $iso_type, $sense_strand, $pos, $i);
+
+    $trnact = 0;               # trna count for this sequence
+    $istart = 0; $iend = 0;    # intron bounds
+    $from = 0; $to = 0;        # tRNA bounds
+    $len = 0;                  # tRNA length
+    $intron = 0;               # intron present? flag
+    $anticodon = '';
+    $iso_type = '';        
+    $score = 0;
+    
+    # open trnascan raw output file for current seq
+    
+    open (TSCANRAW, "$tmp_raw")  ||
+        die ("FATAL: Unable to open temp raw output file $tmp_raw\n\n");
+    
+    # parse one complete hit per call 
+    while ($self->parse_tscan_hit($constants, $gc, \*TSCANRAW, \$from, \$to, \$sense_strand,
+                                  \$istart, \$iend, \$intron, \$len, \$iso_type,
+                                  \$anticodon, \$pos))  {
+        
+        if ($self->{keep_tscan_repeats} ||
+            (!$self->merge_repeat_hit($stats, $r_hit_list, \$trnact, $from, $to,
+                                      $sense_strand, $iso_type,$score)))
+
+            # if NOT a repeat hit, put it on the hit list 
+        {            
+            # check to see if tscan 1.3 has incorrectly reported
+            #  start/end index (happens occassionally) 
+            
+            if ((abs($to - $from) + 1) != $len) {
+                if ($sense_strand) {
+                    $to = $from + $len - 1; }
+                else {
+                    $to = $from - $len + 1; }
+            }
+            
+            $i=0;
+            while (($i < scalar(@$r_hit_list)) && ($r_hit_list->[$i]{position} < $pos)) {
+                $i++;
+            }
+            
+            # save non-redundant hit 
+            splice(@$r_hit_list, $i ,0, {
+                seqname => $seq_name, 
+                start => $from, end => $to,
+                type => $iso_type, acodon => $anticodon,
+                istart => $istart, iend => $iend,
+                sen_strand => $sense_strand,
+                position => $pos, score => 0,
+                source => $self->{tscan_mask},
+            });   
+            
+            $trnact++;        
+            $stats->increment_trnatotal();
+            
+        }         
+        
+    }        # while (&Parse_tscan_hit), more hits to process for cur seq    
+}
+
+sub parse_tscan_hit {
+
+    my $self = shift;
+    my $constants = shift;
+    my $gc = shift;
+    my ($TSCANRAW, $r_from, $r_to, $r_sense_strand,
+          $r_istart, $r_iend, $r_intron, $r_len, $r_type, $r_anticodon, $r_pos) = @_;
+
+    my ($trna_seq) = '';
+
+    # clear intron info parsing each hit
+    $$r_istart = 0;  $$r_iend = 0;  $$r_intron = 0;
+
+    if ($self->{tscan_version} <= 1.4)  {
+
+        while (<$TSCANRAW>) {
+            if (/^start position=\s*(\d+)\s*end position=\s*(\d+)/o)
+            {  
+                $$r_from = $1;
+                $$r_to = $2; 
+                if ($$r_from < $$r_to) {
+                    $$r_sense_strand = 1;
+                    $$r_pos = $$r_from  }
+                else {                
+                    $$r_sense_strand = 0;
+                    $$r_pos = $constants->REALLY_BIG_NUMBER() - $$r_from + 1;
+                }
+            }
+                                
+            elsif (/^potential tRNA sequence=\s(.+)\n/o)  {
+                $trna_seq = $1;  $$r_len = length($trna_seq);
+            }                        
+            elsif (/^tRNA predict as a tRNA-\s*(\S+)\s*: anticodon (\S+)/o) {
+                $$r_type = $1;
+                $$r_anticodon = $2;
+            }
+            elsif (/^anticodon includes unknown bases/o) {
+                $$r_type = $gc->undef_isotype();
+                $$r_anticodon = $gc->undef_anticodon();
+            }
+            elsif (/^potential intron between positions\s*(\d+)\s*(\d+)/o) { 
+                $$r_istart = $1;
+                $$r_iend = $2; 
+                $$r_intron = 1;
+            }
+            # flag for end of current tRNA hit info
+            elsif (/^number of base pairing in the anticodon/o)  {
+                return 1;
+            } 
+            elsif (/^number of predicted tRNA=(\d+)/o) {
+                return 0;        # end of hits for this seq 
+            }
+        }
+        return 0;                # reached end of raw hits file
+    }                               
+
+    else {
+        die "FATAL: Illegal tRNAscan version selected.\n\n";
+    }
+}        
+
+# check current hit for redundancy against all previous hits in hitlist
+#
+# if it IS a repeat, merge it with overlapping hit and return 1
+# if it doesn't overlap with any hits, return 0
+
+sub merge_repeat_hit  {
+
+    my $self = shift;
+    my $stats = shift;
+    my ($r_hit_list, $r_trnact, $from, $to, $sense_strand, $iso_type, $score) = @_;
+    my ($i);
+
+    foreach $i (0..(scalar(@$r_hit_list) - 1)) {
+        
+        if ($sense_strand) {
+            if (($r_hit_list->[$i]{sen_strand} == 1) &&
+                (&seg_overlap($from, $to, $r_hit_list->[$i]{start},
+                             $r_hit_list->[$i]{end}))) 
+            {
+                $r_hit_list->[$i]{start} = &min($from, $r_hit_list->[$i]{start});
+                $r_hit_list->[$i]{end} = &max($to, $r_hit_list->[$i]{end});
+                $r_hit_list->[$i]{source} = $r_hit_list->[$i]{source} | $self->{tscan_mask};
+                $r_hit_list->[$i]{type} = $iso_type;
+                $r_hit_list->[$i]{score} = $score;
+    
+                # check to see if extended endpoint overlaps
+                #  i+1 hit's start boundary
+                # if so, combine hit[i] and hit[i+1] into one
+                #  hit and delete hit[i+1]
+                if (($i != (scalar(@$r_hit_list) - 1)) && ($r_hit_list->[$i+1]{sen_strand})
+                    && ($r_hit_list->[$i]{end} >= $r_hit_list->[$i+1]{start})) 
+                {
+                    $r_hit_list->[$i]{end} = &max($r_hit_list->[$i]{end}, $r_hit_list->[$i+1]{end});
+                    $r_hit_list->[$i]{source} = $r_hit_list->[$i]{source} | $r_hit_list->[$i+1]{source};
+
+                    splice(@$r_hit_list,$i+1,1);          # toss out overlapping hit 
+                    $$r_trnact--;
+                    $stats->decrement_trnatotal();
+                }   
+                return 1;                                 # exit loop immediately
+            }
+        }
+        else         # else (antisense) strand 
+        {                
+            if (($r_hit_list->[$i]{sen_strand} == 0) &&
+                (&seg_overlap($to, $from, $r_hit_list->[$i]{end}, $r_hit_list->[$i]{start}))) 
+            {
+                $r_hit_list->[$i]{start} = &max($from, $r_hit_list->[$i]{start});
+                $r_hit_list->[$i]{end} = &min($to, $r_hit_list->[$i]{end});
+                $r_hit_list->[$i]{source} = $r_hit_list->[$i]{source} | $self->{tscan_mask};
+                $r_hit_list->[$i]{type} = $iso_type;
+                $r_hit_list->[$i]{score} = $score;
+
+                if (($i != (scalar(@$r_hit_list) - 1)) &&
+                    ($r_hit_list->[$i]{end} <= $r_hit_list->[$i+1]{start}))
+                {
+                    $r_hit_list->[$i]{end} = &min($r_hit_list->[$i]{end}, $r_hit_list->[$i+1]{end});
+                    $r_hit_list->[$i]{source} = $r_hit_list->[$i]{source} | $r_hit_list->[$i+1]{source};
+
+                    splice(@$r_hit_list,$i+1,1);          # toss out overlapping hit 
+                    $$r_trnact--;
+                    $stats->decrement_trnatotal();
+                }
+                return 1;                                 # exit loop immediately
+            }
+        } # else (antisense) strand
+        
+    }  # for each (hit)                        
+
+    return 0;                                             # current hit is not a repeat
+}
+
+1;
\ No newline at end of file
diff --git a/tRNAscanSE/Utils.pm b/tRNAscanSE/Utils.pm
new file mode 100644
index 0000000..d58aa35
--- /dev/null
+++ b/tRNAscanSE/Utils.pm
@@ -0,0 +1,175 @@
+# tRNAscanSE/Utils.pm
+# This module contains utility functions used in tRNAscan-SE.
+#
+# --------------------------------------------------------------
+# This module is part of the tRNAscan-SE program.
+# Copyright (C) 2011 Patricia Chan and Todd Lowe 
+# --------------------------------------------------------------
+#
+
+package tRNAscanSE::Utils;
+use strict;
+
+require Exporter;
+our @ISA = qw(Exporter);
+our @EXPORT = qw(check_output_file open_for_read open_for_write open_for_append tempname
+                 print_filename rev_comp_seq max min seg_overlap error_exit_status trim);
+
+our %comp_map = (                     # Complement map
+                'A' => 'T', 'T' => 'A', 'U' => 'A',
+                'G' => 'C', 'C' => 'G',
+                'Y' => 'R', 'R' => 'Y', 
+                'S' => 'W', 'W' => 'S', 
+                'M' => 'K', 'K' => 'M', 
+                'B' => 'V', 'V' => 'B', 
+                'H' => 'D', 'D' => 'H', 
+                'N' => 'N', 'X' => 'X',
+                '?' => '?');
+
+sub check_output_file {
+    my ($fname, $prompt_for_overwrite) = @_;
+    my ($ans, $ansline);
+   
+    if ((-e $fname) && ($prompt_for_overwrite)) {
+        print STDERR "\nWARNING: $fname exists already.\n\n",
+            " (O)verwrite file, (A)ppend to file, or (Q)uit program? ";
+        $ansline = <STDIN>;
+        $ans = substr($ansline, 0, 1);
+        while ($ans !~ /[AOQaoq]/) {
+            print STDERR "\nReply (O)verwrite (A)ppend, or (Q)uit [O/A/Q]: ";
+            $ansline = <STDIN>;
+            $ans = substr($ansline, 0, 1);
+        }
+        if (uc($ans) eq 'Q') {
+            die "\ntRNAscan-SE aborted.\n\n";
+        }
+        elsif  (uc($ans) eq 'A') {
+            print STDERR "\n Appending to $fname...\n";
+            open(FHAND,">>$fname") || 
+                die "Unable to open $fname for appending. ",
+                "Aborting program.\n";
+            close(FHAND);
+            return;                    # successful exit status
+        }    
+        else {               #  $ans eq 'O'verwrote
+            print STDERR "\n Overwriting $fname...\n";
+        }    
+    }    
+    open(FHAND, ">$fname") || 
+        die "Unable to open $fname for writing.  Aborting program.\n";
+    close(FHAND);
+}
+
+sub open_for_read {
+    my ($FHAND, $fname) = @_;
+
+    open($$FHAND, "$fname") || 
+        die "Unable to open $fname for reading.  Aborting program.\n";
+}
+
+sub open_for_write {
+    my ($FHAND, $fname) = @_;
+
+    open($$FHAND, ">$fname") || 
+        die "Unable to open $fname for writing.  Aborting program.\n";
+}
+
+sub open_for_append {
+    my ($FHAND, $fname) = @_;
+    
+    open ($$FHAND, ">>$fname") ||
+        die "FATAL:  Unable to open output file ",
+        &print_filename($fname), "\n\n";
+}
+
+# Function: tempname
+# by SE, modification by TMJL
+# Returns a unique temporary filename. 
+#
+# Normally puts temp files to /tmp. This directory can
+# be overridden by an environment variable TMPDIR.
+#
+
+sub tempname {
+    my ($temp_dir, $exten) = @_;
+    my ($name);        
+    
+    $name = "$temp_dir/tscan$$"."$exten";
+    return $name;                               
+}
+
+sub print_filename {
+    my ($fname) = @_;
+    if ($fname eq "-") {
+        $fname = "Standard output";
+    }
+    return $fname;
+}
+
+sub rev_comp_seq {
+    my ($seq) = @_;
+    my ($seqlen) = length($seq);
+    my ($i, $j, $rcseq);
+
+    $rcseq = 'X' x $seqlen;        # pre-extending string for efficiency
+    for ($i = ($seqlen - 1), $j = 0; $i > -1; $i--, $j++) {
+        substr($rcseq, $j, 1) = $comp_map{(substr($seq, $i, 1))};
+    }
+    return $rcseq;
+}
+
+sub min {
+    my ($a, $b) = @_;
+    if ($a < $b) {
+        return ($a); }
+    else {
+        return ($b);
+    }
+}
+
+sub max {
+    my ($a, $b) = @_;
+    if ($a > $b) {
+        return ($a);
+    }
+    else {
+        return ($b);
+    }
+}
+
+sub seg_overlap {
+    my ($seg1_a, $seg1_b, $seg2_a, $seg2_b) = @_;
+
+    if ((($seg1_a >= $seg2_a) && ($seg1_a <= $seg2_b)) ||
+        (($seg1_b >= $seg2_a) && ($seg1_b <= $seg2_b)) ||
+        (($seg2_a >= $seg1_a) && ($seg2_a <= $seg1_b)) ||
+        (($seg2_b >= $seg1_a) && ($seg2_b <= $seg1_b)))  {
+        return 1;
+    }
+    else {
+        return 0;
+    }
+}
+
+sub error_exit_status {
+    my ($prog_name, $seq_name) = @_;
+
+    if ($? != 0) {
+        print STDERR "$prog_name could not complete successfully for $seq_name.\n",
+            "Possible memory allocation problem or missing file. (Exit code=",$?,").\n\n";
+        return 1;
+    }
+    else {
+        return 0;
+    }
+}
+
+sub trim
+{
+	my $string = shift;
+	$string =~ s/^\s+//;
+	$string =~ s/\s+$//;
+	return $string;
+}
+
+1;
diff --git a/testrun.ref b/testrun.ref
new file mode 100644
index 0000000..41d07a3
--- /dev/null
+++ b/testrun.ref
@@ -0,0 +1,8 @@
+Sequence 		tRNA 	Bounds	tRNA	Anti	Intron Bounds	Cove	Hit
+Name     	tRNA #	Begin	End  	Type	Codon	Begin	End	Score	Origin
+-------- 	------	---- 	------	----	-----	-----	----	------	------
+CELF22B7 	1	12619	12738	Leu	CAA	12657	12692	60.01	Bo
+CELF22B7 	2	19480	19561	Ser	AGA	0	0	80.44	Bo
+CELF22B7 	3	26367	26439	Phe	GAA	0	0	80.32	Bo
+CELF22B7 	4	26992	26920	Phe	GAA	0	0	80.32	Bo
+CELF22B7 	5	23765	23694	Pro	CGG	0	0	75.76	Bo
diff --git a/trace.c b/trace.c
new file mode 100644
index 0000000..087c35c
--- /dev/null
+++ b/trace.c
@@ -0,0 +1,603 @@
+/* trace.c
+ * cove 1.0: Mon May 17 09:38:14 1993
+ * moved to cove 2.0, Mon Sep  6 13:34:55 1993
+ * 
+ * Unlike a traceback of a normal HMM alignment, which is linear,
+ * the traceback of a covariance HMM is a tree structure. Here
+ * we provide support for the traceback data structures: the
+ * tree itself, and a pushdown stack used for traversing the
+ * tree.
+ * 
+ * The trace tree structure has a dummy node at its beginning,
+ * and dummy end nodes at the termination of each branch. Non-BIFURC
+ * states have a NULL right branch. 
+ * 
+ * The pushdown stack structure has a dummy begin node, and the
+ * end is signified by a final NULL ptr.
+ */
+
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include "structs.h"		/* struct trace_s and struct tracestack_s */
+#include "funcs.h"
+#include "version.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+#ifdef DEBUG
+#include <assert.h>
+#endif
+
+/* Function: InitTrace()
+ * 
+ * Purpose:  Initialize a traceback tree structure.
+ *           ret_tmem may be passed as NULL for default behavior;
+ *           if ret_tmem is passed, enables optimized memory
+ *           behavior for traces.
+ *
+ * Return:   ptr to the new tree.
+ */          
+void
+InitTrace(struct trace_s **ret_new, struct trmem_s **ret_tmem)
+{
+  struct trace_s *new;
+  struct trace_s *end;
+  struct trmem_s *pool;
+
+  if (ret_tmem != NULL)
+    {
+      InitTracepool(&pool);
+      new = PopTracepool(pool);
+    }
+  else if ((new = (struct trace_s *) malloc (sizeof(struct trace_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  
+  new->emitl = new->emitr = -1;
+  new->nodeidx = 0;
+  new->type    = uBEGIN_ST;
+  new->nxtr    = NULL;
+  new->prv     = NULL;
+  
+  if (ret_tmem != NULL) 
+    end = PopTracepool(pool);
+  else if ((end = (struct trace_s *) malloc (sizeof(struct trace_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  end->type = uEND_ST;
+  end->emitl = end->emitr = end->nodeidx = -1;
+  end->nxtr = end->nxtl = NULL;
+
+  end->prv  = new;
+  new->nxtl = end;
+
+  *ret_new = new;
+  if (ret_tmem != NULL) *ret_tmem = pool;
+}
+
+/* Function: AttachTrace()
+ * 
+ * Purpose:  attach a new node to a tracetree node.
+ *           There are dummy END nodes. 
+ *           
+ *           Because of the mechanics of tracebacks through a Viterbi matrix,
+ *           we have to make sure that BIFURC children are attached
+ *           right first, left second.
+ *
+ *           trmem_s may be NULL (default behavior) or an active 
+ *           trace pool (optimized memory behavior)
+ *           
+ * Returns:  ptr to the new node, or NULL on failure.
+ */          
+struct trace_s *
+AttachTrace(struct trace_s *parent,
+	    struct trmem_s *pool,
+	    int             emitl,
+	    int             emitr,
+	    int             nodeidx,
+	    int             type)
+{
+  struct trace_s *new;
+  struct trace_s *end;
+
+  if (parent->nxtr != NULL)
+    Die("That trace node is already full, fool.");
+
+  /* If left branch is already connected to something, swap it over to the
+   * right (thus enforcing the necessary rule that BIFURCS attach to the right
+   * branch first), and attach a new dummy end to the left branch. 
+   */
+  if (parent->nxtl->nxtl != NULL)
+    {
+      parent->nxtr = parent->nxtl;
+
+      if (pool != NULL)
+	end = PopTracepool(pool);
+      else if ((end = (struct trace_s *) malloc (sizeof(struct trace_s))) == NULL)
+	Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+      end->type = uEND_ST;
+      end->emitl = end->emitr = end->nodeidx = -1;
+      end->nxtl = end->nxtr = NULL;
+
+      end->prv     = parent;
+      parent->nxtl = end;
+    }
+
+  if (pool != NULL)
+    new = PopTracepool(pool);
+  else if ((new = (struct trace_s *) malloc (sizeof(struct trace_s))) == NULL)
+    Die("Memory allocation failure at %s line %d", __FILE__, __LINE__);
+  new->nxtr = NULL;
+
+  new->nxtl         = parent->nxtl;
+  new->prv          = parent;
+  parent->nxtl->prv = new;	/* end state also points back, to new */
+  parent->nxtl      = new;
+
+  new->emitl   = emitl;
+  new->emitr   = emitr;
+  new->nodeidx = nodeidx;
+  new->type    = type;
+
+  return new;
+}
+
+void
+FreeTrace(struct trace_s *tr, struct trmem_s *pool)
+{
+  if (pool == NULL)
+    {
+      struct tracestack_s *stack;
+      struct trace_s      *currtr;
+
+      stack = InitTracestack();
+      PushTracestack(stack, tr);
+
+      while ((currtr = PopTracestack(stack)) != NULL)
+	{
+	  if (currtr->nxtr != NULL)
+	    PushTracestack(stack, currtr->nxtr);
+	  if (currtr->nxtl != NULL)
+	    PushTracestack(stack, currtr->nxtl);
+	  free(currtr);
+	}
+      FreeTracestack(stack);
+    }
+  else
+    FreeTracepool(pool);
+}
+
+void
+DeleteTracenode(struct trace_s *oldtr, struct trmem_s *pool)
+{
+  struct trace_s *parent;
+
+  parent = oldtr->prv;
+
+  parent->nxtl = oldtr->nxtl;
+  parent->nxtr = oldtr->nxtr;
+  oldtr->nxtl->prv = parent;
+  if (oldtr->nxtr) oldtr->nxtr->prv = parent;
+  if (pool == NULL) free(oldtr);
+}
+
+/* Functions: InitTracepool(), PopTracepool(), FreeTracepool()
+ * 
+ * Purpose:   Malloc() optimizations for building lots of
+ *            trace trees. A "trace pool" just lets me malloc
+ *            a lot of trace_s structures at once (InitTracepool).
+ *            They are retrieved one at a time using PopTracepool().
+ *            When done (free'ing the trace), one would call
+ *            FreeTracepool().
+ *            
+ *            Make one trace pool per trace, if using this optimization.
+ */
+void
+InitTracepool(struct trmem_s **ret_tmem)
+{
+  struct trmem_s *tmem;
+
+  tmem = (struct trmem_s *) MallocOrDie (sizeof(struct trmem_s));
+  tmem->next = 0;
+  tmem->num  = TMEM_BLOCK;
+  tmem->pool = (struct trace_s *) MallocOrDie (TMEM_BLOCK * sizeof(struct trace_s));
+  tmem->used = InitTracestack();
+  *ret_tmem = tmem;
+}
+struct trace_s *
+PopTracepool(struct trmem_s *tmem)
+{
+  struct trace_s *tr;
+  if (tmem->next == tmem->num)
+    {				/* need a new pool */
+      PushTracestack(tmem->used, tmem->pool);
+      tmem->next = 0;
+      tmem->num  = TMEM_BLOCK;
+      tmem->pool = (struct trace_s *) MallocOrDie (TMEM_BLOCK * sizeof(struct trace_s));
+    }
+  tr = tmem->pool + tmem->next;
+  tmem->next++;
+  return tr;
+}
+void
+FreeTracepool(struct trmem_s *tmem)
+{
+  struct trace_s *pop;
+
+  while ((pop = PopTracestack(tmem->used)) != NULL)
+    free(pop);
+  FreeTracestack(tmem->used);
+  free(tmem->pool);
+  free(tmem);
+}
+
+
+/* Functions: InitTracestack()
+ *            PushTracestack()
+ *            PopTracestack()
+ *            FreeTracestack()
+ *            
+ * Purpose:   Implementation of the pushdown stack for
+ *            traversing traceback trees.
+ */            
+struct tracestack_s *
+InitTracestack(void)
+{
+  struct tracestack_s *stack;
+
+  stack = (struct tracestack_s *) MallocOrDie (sizeof(struct tracestack_s));
+  stack->next = 0;
+  stack->num  = TSTACK_BLOCK;
+  stack->list = (struct trace_s **) MallocOrDie (sizeof(struct trace_s *) * TSTACK_BLOCK);
+  return stack;
+}
+
+void 
+PushTracestack(struct tracestack_s *stack, struct trace_s *tracenode)
+{
+  if (stack->next == stack->num)
+    {
+      stack->num += TSTACK_BLOCK;
+      stack->list = (struct trace_s **) ReallocOrDie (stack->list, sizeof(struct trace_s *) * stack->num);
+    }
+  stack->list[stack->next] = tracenode;
+  stack->next++;
+}
+struct trace_s *
+PopTracestack(struct tracestack_s *stack)
+{
+  struct trace_s *pop;
+
+  if (stack->next == 0) return NULL;
+  stack->next--;
+  pop = stack->list[stack->next];
+  return pop;
+}
+void
+FreeTracestack(struct tracestack_s *stack)
+{
+  free(stack->list);
+  free(stack);
+}
+
+
+
+/* Function: TraceCount()
+ * 
+ * Purpose:  Given a trace structure, and the sequence it traces across,
+ *           and a nascent model (counts form), bump the appropriate
+ *           emission and transition counters in the model.
+ *           
+ * Return:   1 on success, 0 on failure.
+ */          
+int
+TraceCount(struct cm_s   *cm,        /* model               */
+	   char          *seq,       /* sequence, 0..len-1  */
+	   double         weight,    /* weight on sequence  */
+	   struct trace_s *tr)       /* traceback           */
+{
+  struct tracestack_s *dolist;  /* stack for traversal of traceback tree */
+  struct trace_s      *curr;    /* current node in the tree              */
+  int   symr, syml;
+#ifdef DEBUG
+  int   len;
+  len = strlen(seq);
+#endif
+
+  dolist = InitTracestack();
+  PushTracestack(dolist, tr->nxtl);
+  
+  while ((curr = PopTracestack(dolist)) != NULL)
+    {
+				/* ignore END states */
+      if (curr->nodeidx == -1 || curr->nxtl == NULL)
+	continue;			
+      
+				/* BIFURC states: no transits, no emission */
+      if (curr->nxtr != NULL)
+	{
+#ifdef DEBUG
+	  assert(curr->nxtr != NULL && curr->nxtl != NULL);
+#endif
+	  PushTracestack(dolist, curr->nxtr);
+	  PushTracestack(dolist, curr->nxtl);
+	}
+
+      else if (curr->type == uINSL_ST)
+	{
+#ifdef DEBUG
+	  assert(curr->emitl >= 0 && curr->emitl < len);
+#endif
+	  syml = SymbolIndex(seq[curr->emitl]);
+#ifdef DEBUG
+	  assert(syml >= 0 && syml < 4);
+	  assert(curr->nodeidx >= 0 && curr->nodeidx < cm->nodes);
+	  assert(curr->nxtl != NULL);
+#endif
+	  cm->nd[curr->nodeidx].tmx[INSL_ST][StatetypeIndex(curr->nxtl->type)] += weight;
+	  cm->nd[curr->nodeidx].il_emit[syml] += weight;
+	  PushTracestack(dolist, curr->nxtl);
+	}
+
+      else if (curr->type == uINSR_ST)
+	{
+#ifdef DEBUG
+	  assert(curr->emitr >= 0 && curr->emitr < len);
+#endif
+	  symr = SymbolIndex(seq[curr->emitr]);
+#ifdef DEBUG
+	  assert(symr >= 0 && symr < 4);
+	  assert(curr->nodeidx >= 0 && curr->nodeidx < cm->nodes);
+	  assert(curr->nxtl != NULL);
+#endif
+	  cm->nd[curr->nodeidx].tmx[INSR_ST][StatetypeIndex(curr->nxtl->type)] += weight;
+	  cm->nd[curr->nodeidx].ir_emit[symr] += weight;
+	  PushTracestack(dolist, curr->nxtl);
+	}
+
+      else if (curr->type == uMATP_ST)
+	{
+#ifdef DEBUG
+	  assert(curr->emitr >= 0 && curr->emitr < len);
+	  assert(curr->emitl >= 0 && curr->emitl < len);
+#endif
+	  syml = SymbolIndex(seq[curr->emitl]);
+	  symr = SymbolIndex(seq[curr->emitr]);
+#ifdef DEBUG
+	  assert(syml >= 0 && syml < 4);
+	  assert(symr >= 0 && symr < 4);
+	  assert(curr->nodeidx > 0 && curr->nodeidx < cm->nodes);
+	  assert(curr->nxtl != NULL);
+#endif
+	  cm->nd[curr->nodeidx].tmx[MATP_ST][StatetypeIndex(curr->nxtl->type)] += weight;
+	  cm->nd[curr->nodeidx].mp_emit[syml][symr] += weight;
+	  PushTracestack(dolist, curr->nxtl);
+	}
+      
+      else if (curr->type == uMATL_ST)
+	{
+#ifdef DEBUG
+	  assert(curr->emitl >= 0 && curr->emitl < len);
+#endif
+	  syml = SymbolIndex(seq[curr->emitl]);
+#ifdef DEBUG
+	  assert(syml >= 0 && syml < 4);
+	  assert(curr->nodeidx > 0 && curr->nodeidx < cm->nodes);
+	  assert(curr->nxtl != NULL);
+#endif
+	  cm->nd[curr->nodeidx].tmx[MATL_ST][StatetypeIndex(curr->nxtl->type)] += weight;
+	  cm->nd[curr->nodeidx].ml_emit[syml] += weight;
+	  PushTracestack(dolist, curr->nxtl);
+	}
+
+      else if (curr->type == uMATR_ST)
+	{
+#ifdef DEBUG
+	  assert(curr->emitr >= 0 && curr->emitr < len);
+#endif
+	  symr = SymbolIndex(seq[curr->emitr]);
+#ifdef DEBUG
+	  assert(symr >= 0 && symr < 4);
+	  assert(curr->nodeidx > 0 && curr->nodeidx < cm->nodes);
+	  assert(curr->nxtl != NULL);
+#endif
+	  cm->nd[curr->nodeidx].tmx[MATR_ST][StatetypeIndex(curr->nxtl->type)] += weight;
+	  cm->nd[curr->nodeidx].mr_emit[symr] += weight;
+	  PushTracestack(dolist, curr->nxtl);
+	}
+
+      else			/* DEL or BEGIN state */
+	{
+#ifdef DEBUG
+	  assert(curr->nodeidx >= 0 && curr->nodeidx < cm->nodes);
+	  assert(curr->nxtl->type >= 0 && curr->nxtl->type < STATETYPES);
+	  assert(curr->nxtl != NULL);
+#endif
+	  cm->nd[curr->nodeidx].tmx[DEL_ST][StatetypeIndex(curr->nxtl->type)] += weight;
+	  PushTracestack(dolist, curr->nxtl);
+	}
+    }
+
+  FreeTracestack(dolist);
+  return 1;
+}
+
+
+
+/* Function: TraceCountPrior()
+ * 
+ * Purpose:  Same as above, except that we register the counts
+ *           in a prior instead of a model. Used for "training"
+ *           new priors.
+ *
+ * Return:   1 on success, 0 on failure.
+ */
+int
+TraceCountPrior(struct cm_s      *cm,       /* covariance model    */
+		struct prior_s   *prior,    /* prior to count into */
+		char             *seq,      /* sequence, 0..len-1  */
+		double            weight,   /* weight on sequence  */
+		struct trace_s   *tr)       /* traceback           */
+{
+  struct tracestack_s *dolist;  /* stack for traversal of traceback tree */
+  struct trace_s      *curr;    /* current node in the tree              */
+  int   symr, syml;
+  int   fnode, tnode;
+  int   fs, ts;
+
+  dolist = InitTracestack();
+  PushTracestack(dolist, tr->nxtl);
+
+  while ((curr = PopTracestack(dolist)) != NULL)
+    {
+				/* ignore END states */
+      if (curr->nodeidx == -1 || curr->nxtl == NULL)
+	continue;	
+
+			/* BIFURC states: no transits, no emission */
+      if (curr->nxtr != NULL)
+	{
+	  PushTracestack(dolist, curr->nxtr);
+	  PushTracestack(dolist, curr->nxtl);
+	  continue;
+	}
+
+      syml = symr = 0;
+      if (curr->emitl != -1 && !isgap(seq[curr->emitl]))
+	syml = SymbolIndex(seq[curr->emitl]);
+      if (curr->emitr != -1 && !isgap(seq[curr->emitr])) 
+	symr = SymbolIndex(seq[curr->emitr]);
+      fnode = cm->nd[curr->nodeidx].type;
+      tnode = (cm->nd[curr->nodeidx].nxt != -1) ? cm->nd[cm->nd[curr->nodeidx].nxt].type : END_NODE;
+      fs    = StatetypeIndex(curr->type);
+      ts    = (cm->nd[curr->nodeidx].nxt != -1) ? StatetypeIndex(curr->nxtl->type) : END_ST;
+
+      /* Verify where we're writing in memory. Had some problems here!
+       */
+      if (fnode < 0 || fnode > 6) Die("fnode is %d", fnode);
+      if (tnode < 0 || tnode > 3) Die("tnode is %d", tnode);
+      if (fs < 0 || fs >= STATETYPES) Die("fs is %d", fs);
+      if (ts < 0 || ts >= STATETYPES) Die("ts is %d", ts);
+      if (syml < 0 || syml >= ALPHASIZE) Die("syml is %d", syml);
+      if (symr < 0 || symr >= ALPHASIZE) Die("symr is %d", symr);
+
+
+      prior->tprior[fnode][tnode][fs][ts] += weight;
+
+      switch (curr->type) {
+      case uMATP_ST: prior->matp_prior[syml][symr] += weight; break;
+      case uMATL_ST: prior->matl_prior[syml] += weight;       break;
+      case uMATR_ST: prior->matr_prior[symr] += weight;       break;
+      case uINSL_ST: prior->insl_prior[syml] += weight;       break;
+      case uINSR_ST: prior->insr_prior[symr] += weight;       break;
+      case uDEL_ST:  break;
+      default: Die("no such state type %d", curr->type);
+      }
+	
+      PushTracestack(dolist, curr->nxtl);
+    }
+  FreeTracestack(dolist);
+  return 1;
+}
+      
+
+
+
+
+
+/* Function: TraceScore()
+ * 
+ * Purpose:  Given a trace structure, and the sequence it traces across,
+ *           and a model (probability form), calculate the log-odds
+ *           probability score.
+ * 
+ *           
+ * Return:   1 on success, 0 on failure.
+ */          
+double
+TraceScore(struct cm_s   *cm,        /* model               */
+	   char          *seq,       /* sequence, 0..len-1  */
+	   struct trace_s *tr)       /* traceback           */
+{
+  struct tracestack_s *dolist;  /* stack for traversal of traceback tree */
+  struct trace_s      *curr;    /* current node in the tree              */
+  int   symr, syml;
+  double  score;
+
+  score  = 0;
+  dolist = InitTracestack();
+  PushTracestack(dolist, tr->nxtl);
+  while ((curr = PopTracestack(dolist)) != NULL)
+    {
+				/* ignore END states */
+      if (curr->nodeidx == -1 || curr->nxtl == NULL)
+	continue;			
+      
+				/* BIFURC states: no transits, no emission */
+      if (curr->nxtr != NULL)
+	{
+	  PushTracestack(dolist, curr->nxtr);
+	  PushTracestack(dolist, curr->nxtl);
+	}
+
+      else if (curr->type == uINSL_ST)
+	{
+	  syml = SymbolIndex(seq[curr->emitl]);
+	  score += log(cm->nd[curr->nodeidx].tmx[INSL_ST][StatetypeIndex(curr->nxtl->type)]);
+	  score += log(cm->nd[curr->nodeidx].il_emit[syml]);
+	  score += log(4.0);		/* for log-odds */
+	  PushTracestack(dolist, curr->nxtl);
+	}
+
+      else if (curr->type == uINSR_ST)
+	{
+	  symr = SymbolIndex(seq[curr->emitr]);
+	  score += log(cm->nd[curr->nodeidx].tmx[INSR_ST][StatetypeIndex(curr->nxtl->type)]);
+	  score += log(cm->nd[curr->nodeidx].ir_emit[symr]);
+	  score += log(4.0);		/* for log-odds */
+	  PushTracestack(dolist, curr->nxtl);
+	}
+
+      else if (curr->type == uMATP_ST)
+	{
+	  syml = SymbolIndex(seq[curr->emitl]);
+	  symr = SymbolIndex(seq[curr->emitr]);
+	  score += log(cm->nd[curr->nodeidx].tmx[MATP_ST][StatetypeIndex(curr->nxtl->type)]);
+	  score += log(cm->nd[curr->nodeidx].mp_emit[syml][symr]);
+	  score += log(16.0);		/* for log-odds */
+	  PushTracestack(dolist, curr->nxtl);
+	}
+      
+      else if (curr->type == uMATL_ST)
+	{
+	  syml = SymbolIndex(seq[curr->emitl]);
+	  score += log(cm->nd[curr->nodeidx].tmx[MATL_ST][StatetypeIndex(curr->nxtl->type)]);
+	  score += log(cm->nd[curr->nodeidx].ml_emit[syml]);
+	  score += log(4.0);		/* for log-odds */
+	  PushTracestack(dolist, curr->nxtl);
+	}
+
+      else if (curr->type == uMATR_ST)
+	{
+
+	  symr = SymbolIndex(seq[curr->emitr]);
+	  score += log(cm->nd[curr->nodeidx].tmx[MATR_ST][StatetypeIndex(curr->nxtl->type)]);
+	  score += log(cm->nd[curr->nodeidx].mr_emit[symr]);
+	  score += log(4.0);		/* for log-odds */
+	  PushTracestack(dolist, curr->nxtl);
+	}
+
+      else			/* DEL or BEGIN state */
+	{
+	  score += log(cm->nd[curr->nodeidx].tmx[DEL_ST][StatetypeIndex(curr->nxtl->type)]);
+	  PushTracestack(dolist, curr->nxtl);
+	}
+    }
+
+  FreeTracestack(dolist);
+  score = score / log(2.0);	/* convert to bits */
+  return score;
+}
+
diff --git a/train_main.c b/train_main.c
new file mode 100644
index 0000000..8476448
--- /dev/null
+++ b/train_main.c
@@ -0,0 +1,409 @@
+/* train_main.c
+ * 2.0: Fri Oct  1 16:02:11 1993
+ * SRE, Mon Jun 28 17:52:54 1993
+ * 
+ * main() for covet: training of a covariance hmm from aligned seqs
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <math.h>
+
+#ifdef NEED_GETOPTH
+#include <getopt.h>
+#endif
+
+#include "structs.h"
+#include "funcs.h"
+#include "squid.h" 
+#include "version.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+#define OPTIONS "a:A:b:fhG:i:mp:s:X:"
+
+static char usage[]  = "\
+Usage: covet [-options] <cmfile output> <seqfile in>\n\
+where options are:\n\
+     -a <alignfile>  : make starting model from alignment\n\
+     -A <filename>   : save alignments to filename.1, etc., for animation\n\
+     -b <backupfile> : each iteration, back up curr model to <backupfile>\n\
+     -f              : use flat text save formats, portable but clumsy\n\
+     -G <GOP>        : gap-open prob 0 < gop < 1 for random alignment generation\n\
+     -h              : print short help and version info\n\
+     -i <cm file>    : take start model from <cm file>\n\
+     -m              : do maximum likelihood model construction (slow!)\n\
+     -p <prior file> : use prior in <file>; default is Laplace plus-one\n\
+     -s <seed>       : set random() seed\n\
+     -X <GEX>        : gap-extend prob 0 < gex < 1 for random alignment generation\n";
+
+static char banner[] = "covet: training of a covariance model";
+
+int
+main(int argc, char **argv)
+{ 
+  char       **rseqs;		/* training sequences                        */
+  SQINFO      *sqinfo;		/* array of sqinfo structures for rseqs      */
+  AINFO        ainfo;           /* alignment info                            */
+  int          nseq;		/* number of seqs                            */ 
+  char        *seqfile;         /* training sequence file                    */
+  int          format;          /* seqfile format                            */
+  char        *cmfile;          /* OUTPUT: saved cvhmm                       */
+  FILE        *cmfp;		/* OUTPUT: fp to cvfile                      */
+  struct cm_s *cm;              /* model                                     */
+  struct cm_s *newcm;           /* new model                                 */
+  struct istate_s *icm;         /* model, integer log odds form              */
+  int          statenum;        /* # of states in the model                  */
+  struct prior_s *prior;        /* prior prob. distributions                 */
+  int          idx;		/* counter for sequences                     */
+  double       score;		/* score of individual alignment             */
+  double       totscore;	/* summed scores over training seqs          */
+  double       oldscore;	/* previous totscore for old model           */
+  double       delta;	        /* fractional change in scores for iteration */
+  int          iteration;	/* iteration number we're on                 */
+  struct trace_s **tr;          /* tracebacks for each sequence              */
+  double rfreq[ALPHASIZE];	/* expected background symbol frequencies    */
+
+  int    max_iterations;
+  double threshold;		/* fractional tolerance, test for convergence   */
+  char  *aseqfile;              /* sequence alignment for model building        */
+  char **aseqs;                 /* aligned sequences in aseqfile                */
+  int    num_aseqs;		/* number of aseqs in aseqfile                  */
+  char  *in_cmfile;		/* file containing input model                  */
+  char  *bckfile;		/* backup file for saving models each iteration */
+  FILE  *bckfp;		        /* open pointer to backup file                  */
+  int    do_flatformat;		/* TRUE if we save in flat text format          */
+  int    seed;			/* seed for random()                            */
+  char  *animateroot;		/* root name for alignment animation save files */
+  char   animationfile[256];	/* full animation file name (root.1, etc.)      */
+  FILE  *animfp;
+  double random_open;		/* insert-open probability for random alignment */
+  double random_extend;		/* ins-extend probability for random alignment  */
+  int    fast_version;		/* do Fastmodelmaker(), not Maxmodelmaker()     */
+  char  *prifile;               /* file to obtain prior from                    */
+  FILE  *prifp;			/* open prifile for reading                     */
+  int    watsoncrick;           /* if TRUE, annotate only canonical pairs       */
+
+  int          optc;
+  extern char *optarg;          /* for getopt() */
+  extern int   optind;		/* for getopt() */
+
+#ifdef MEMDEBUG
+  unsigned long histid1, histid2, orig_size, current_size;
+#endif
+
+  /*********************************************** 
+   * Parse command line
+   ***********************************************/
+
+  threshold            = 0.01;		/* default: 1% */
+  max_iterations       = 100;
+  aseqfile             = NULL;
+  in_cmfile            = NULL;
+  bckfile              = NULL;
+  do_flatformat        = 0;
+  seed                 = (int) time (0); /* default: "random" seed */
+  animateroot          = NULL;
+  random_open          = 0.02;
+  random_extend        = 0.39;
+  fast_version         = TRUE;
+  prifile              = NULL;
+  watsoncrick          = TRUE;
+
+  while ((optc = getopt(argc, argv, OPTIONS)) != -1)
+    switch (optc) {
+
+    case 'a': aseqfile      = optarg;       break;
+    case 'A': animateroot   = optarg;       break;
+    case 'b': bckfile       = optarg;       break;
+    case 'f': do_flatformat = 1;            break;
+    case 'G': random_open   = atof(optarg); break;
+    case 'i': in_cmfile     = optarg;       break;
+    case 'm': fast_version  = FALSE;        break;
+    case 'p': prifile       = optarg;       break;
+    case 's': seed          = atoi(optarg); break;
+    case 'X': random_extend = atof(optarg); break;
+    case 'h': 
+      printf("%s\n  version %s (%s)\n%s\n", banner, RELEASE, RELEASEDATE, usage);
+      exit(0);
+    default:
+      Die("Error: unrecognized option %c\n", optc);
+    }
+
+  if (argc - optind != 2)
+    Die("%s\n", usage);
+  
+  if (aseqfile != NULL && in_cmfile != NULL)
+    Die("options -i and -a are exclusive\n%s", usage);
+
+  cmfile  = argv[argc-2];
+  seqfile = argv[argc-1]; 
+  sre_srandom(seed);
+
+#ifdef MEMDEBUG
+  orig_size = malloc_size(&histid1);
+#endif
+
+  /*********************************************** 
+   * Get sequence data and a prior
+   ***********************************************/
+				/* random background model */
+  rfreq[0] = rfreq[1] = rfreq[2] = rfreq[3] = 0.25;
+
+  if (! SeqfileFormat(seqfile, &format, NULL))
+    Die("Failed to determine format of sequence file %s", seqfile);
+
+				/* read the training seqs from file */
+  if (! ReadMultipleRseqs(seqfile, format, &rseqs, &sqinfo, &nseq))
+    Die("Failed to read sequences from file %s", seqfile);
+
+  for (idx = 0; idx < nseq; idx++)
+    PrepareSequence(rseqs[idx]);
+
+  if (prifile == NULL)
+    {
+      if (! DefaultPrior(&prior))
+	Die("Failed to copy prior probability distribution information");
+    }
+  else
+    {
+      if ((prifp = fopen(prifile, "r")) == NULL)
+	Die("Failed to open prior probability file %s", prifile);
+      if (! ReadPrior(prifp, &prior))
+	Die("Failed to read prior probabilities from %s", prifile);
+      fclose(prifp);
+    }
+      
+  /*********************************************** 
+   * Create the starting model 
+   ***********************************************/
+
+  if (aseqfile != NULL)		/* A start from an alignment */
+    {
+      if (! SeqfileFormat(aseqfile, &format, NULL))
+	Die("Failed to determine format of seed alignment file %s", aseqfile);
+
+      if (! ReadAlignment(aseqfile, format, &aseqs, &num_aseqs, &ainfo))
+	Die("Failed to read alignment from %s", aseqfile);
+      
+      for (idx = 0; idx < num_aseqs; idx++)
+	s2upper(aseqs[idx]);
+      
+      if (fast_version)
+	{
+	  if (! Fastmodelmaker(aseqs, &ainfo, nseq, prior, 0.70, NULL, &cm, NULL))
+	    Die("Fastmodelmaker failed to create starting model from alignment");
+	}
+      else
+	{
+	  if (! Maxmodelmaker(aseqs, &ainfo, num_aseqs, -1.0, prior, NULL, &cm, NULL))
+	    Die("Failed to create starting model from alignment");
+	}
+      FreeAlignment(aseqs, num_aseqs, &ainfo);
+    }
+
+  else if (in_cmfile)		/* A start from an existing model */
+    {
+      if (! ReadCM(in_cmfile, &cm))
+	Die("Failed to read starting model from file %s", in_cmfile);
+    }
+
+  else				/* A start from a flat model */
+    {
+      RandomAlignment(rseqs, sqinfo, nseq, random_open, random_extend, &aseqs, &ainfo);
+      if (fast_version)
+	{
+	  if (! Fastmodelmaker(aseqs, &ainfo, nseq, prior, 0.70, NULL, &cm, NULL))
+	    Die("Fastmodelmaker failed to create starting model from alignment");
+	}
+      else
+	{
+	  if (! Maxmodelmaker(aseqs, &ainfo, nseq, -1.0, prior, NULL, &cm, NULL))
+	    Die("Failed to create starting model from alignment");
+	}
+      FreeAlignment(aseqs, nseq, &ainfo);
+     }
+
+  /*********************************************** 
+   * Print banner
+   ***********************************************/
+
+  puts(banner);
+  printf("     release %s, %s\n\n", RELEASE, RELEASEDATE);
+
+  printf("---------------------------------------------------\n");
+  printf("Training data:          %s (%d sequences)\n", seqfile, nseq);
+  if (aseqfile != NULL)
+    printf("Starting model:         from alignment in %s (%d seqs)\n", aseqfile, num_aseqs);
+  else if (in_cmfile != NULL )
+    printf("Starting model:         from existing model in %s\n", in_cmfile);
+  else
+    printf("Starting model:         random alignment\n");
+  printf("Prior distributions:    %s\n", prifile == NULL ? "plus-one" : prifile);
+  printf("Modelmaking strategy:   %s\n", fast_version ? "fast heuristic" : "max likelihood");
+  printf("Convergence threshold:  %.4f\n", threshold);
+  printf("Maximum iterations:     %d\n", max_iterations);
+  if (bckfile != NULL)
+    printf("Backup model file:      %s\n", bckfile);
+  printf("seed for random():      %d\n", seed);
+  printf("---------------------------------------------------\n");
+  puts("");
+
+
+  /*********************************************** 
+   * Train model by expectation maximization
+   ***********************************************/
+
+  if ((tr = (struct trace_s **) malloc (nseq * sizeof(struct trace_s *))) == NULL)
+    Die("Memory failure, line %d of %s", __LINE__, __FILE__);
+  
+  oldscore = -1.0 * HUGE_VAL;
+  iteration = 0;
+  while (iteration < max_iterations)
+    {
+      iteration++;
+      printf("Iteration %4d  : model of %d nodes, ", iteration, cm->nodes);
+
+      /* Make a search model
+       */
+      if (! RearrangeCM(cm, rfreq, &icm, &statenum))
+	Die("Failed to make an integer log-odds model");
+
+      /* First we align all the sequences to the model,
+       * and construct a multiple sequence alignment
+       */
+      totscore = 0.0;
+      for (idx = 0; idx < nseq; idx++)
+	{
+	  if (! ViterbiAlign(icm, statenum, rseqs[idx], &score, &tr[idx]))
+	    Die("viterbi alignment failed on sequence %d", idx);
+	  totscore += score;
+	}
+
+      /* An option for producing cool figures and animations:
+       * save the alignment at each iteration, so we can animate
+       * the learning process. I produced covariance matrices
+       * with MIXY for each iteration, and used GNUPLOT to
+       * animate the data as a series of 3D surface plots.
+       */
+      if (animateroot != NULL)
+	{
+	  sprintf(animationfile, "%s%d", animateroot, iteration);
+	  if ((animfp = fopen(animationfile, "w")) == NULL)
+	    Warn("Failed to open animation output file %s", animationfile); 
+	  else
+	    {
+	      if (! Traces2Alignment(rseqs, sqinfo, tr, nseq, cm, watsoncrick, &aseqs, &ainfo))
+		Warn("Traces2Alignment() failed for animation");
+
+	      WriteSELEX(animfp, aseqs, nseq, &ainfo, 60);
+	      FreeAlignment(aseqs, nseq, &ainfo);
+	      fclose(animfp);
+	    }
+	}
+	      
+
+      /* If we've converged, stop.
+       * Else, make a new model from the alignment. 
+       */
+      delta = (totscore - oldscore) / fabs(totscore);
+      printf("score %.3f, delta %.3f\n", totscore / (double) nseq, delta);
+      
+      if (delta > threshold || delta < 0) 
+	{
+	  if (! Traces2Alignment(rseqs, sqinfo, tr, nseq, cm, watsoncrick, &aseqs, &ainfo))
+	    Die("Traces2Alignment() failed");
+
+	  for (idx = 0; idx < nseq; idx++)
+	    s2upper(aseqs[idx]);
+
+	  if (fast_version)
+	    { 
+	      if (! Fastmodelmaker(aseqs, &ainfo, nseq, prior, 0.70, NULL, &newcm, NULL))
+		Die("Failed to create new model from alignment");
+	    }
+	  else
+	    {
+	      if (! Maxmodelmaker(aseqs, &ainfo, nseq, -1.0, prior, NULL, &newcm, NULL))
+		Die("Failed to create new model from alignment");
+	    }
+
+	  FreeAlignment(aseqs, nseq, &ainfo);
+	  for (idx = 0; idx < nseq; idx++)
+	    FreeTrace(tr[idx], NULL);
+
+	  oldscore = totscore;
+	}
+      else
+	{
+	  /* we've converged. Free traces and break out of iteration loop.
+	   */
+	  for (idx = 0; idx < nseq; idx++)
+	    FreeTrace(tr[idx], NULL);
+	  break;
+	}
+
+      /* switch new model for old 
+       */
+      FreeCM(cm);
+      free(icm);
+      cm = newcm;
+
+      /* Training takes a long time, and sysadmins are nasty evil 
+       * people who like to shut machines down without warning, particularly
+       * during a long training run right before one gives a talk.
+       * Therefore, we have an option for backing up the model every
+       * iteration so we can resume after a crash or shutdown...
+       */
+      if (bckfile != NULL)
+	{
+	  if ((bckfp = fopen(bckfile, "w")) == NULL) 
+	    Warn("Failed to open backup file %s\n", bckfile); 
+	  else
+	    { 
+	      if (! WriteBinaryCM(bckfp, newcm))
+		Warn("Failed to save to backup file %s\n", bckfile);
+	      fclose(bckfp);
+	    }
+	}
+    }
+
+
+  /*********************************************** 
+   * Save the new model and exit.
+   ***********************************************/
+
+  if ((cmfp = fopen(cmfile, "w")) == NULL)
+    Die("Failed to open %s for writing", cmfile);
+
+  if (do_flatformat && ! WriteCM(cmfp, cm))
+    Die("Failed to save the model to %s", cmfile); 
+  else if (! WriteBinaryCM(cmfp, cm))
+    Die("Failed to save the model to %s", cmfile);
+  fclose(cmfp);
+  
+  free(tr);
+  FreeCM(cm);
+  for (idx = 0; idx < nseq; idx++)
+    FreeSequence(rseqs[idx], &(sqinfo[idx]));
+  free(sqinfo);
+
+  printf("New covariance model written to file %s\n", cmfile);
+
+#ifdef MEMDEBUG
+  current_size = malloc_size(&histid2);
+  
+  if (current_size != orig_size)
+    malloc_list(2, histid1, histid2);
+  else
+    fprintf(stderr, "No memory leaks, sir.\n");
+#endif
+    
+  return 0;
+}
+
+
+
diff --git a/trnascan.c b/trnascan.c
new file mode 100644
index 0000000..7aa6df3
--- /dev/null
+++ b/trnascan.c
@@ -0,0 +1,2079 @@
+/*
+ * Copyright, 1991, The Regents of the University of California.
+ * This software was produced by the Los Alamos National Laboratory,
+ * which is operated by the University of California for the United
+ * States Department of Energy under contract W-7405-ENG-36.  The
+ * U. S. Government is licensed to use, reproduce, and distribute
+ * this software.  Permission is granted to the public to copy and
+ * use this software without charge, provided that this Notice and
+ * any statement of authorship are reproduced on all copies.
+ * Neither the Government nor the University makes any warranty,
+ * express or implied, or assumes any liability or responsibility
+ * for the use of this software.
+*/
+
+#define PROGRAM  "trnascan"
+#define RELEASE "1.4 (Feb 96)"
+#define DERIV_VERSION  "1.3 (Oct 91)"
+#define BRIEF    "'Identification of tRNA genes in genomic DNA'"
+#define CITATION "Fichant and Burks, J. Mol. Biol. (1991) 220:659-671."
+#define MODIF "(modified & optimized for use in tRNAscan-SE package by T. Lowe  2/96)"
+
+/* Modified by T. Lowe  11/95  */
+/* Changes:  1) Search parameters named in #define constants
+             2) Print statements added to help trace progress
+	         of search - VERBOSE constant must be defined
+		Trace statements sent to "tscan.verb.out"
+	     3) Bug that caused program to crash on any non-ACGT
+	        sequence characters fixed 
+	     4) fgetseq() modified to correctly read in fasta sequences
+             5) compstrand() modified to increase efficiency & 
+	        getseqsize() added to allow input sequences of any 
+                length (memory allowing)
+	     6) Numerous calls to strlen(sequence) eliminated for
+	        efficiency
+	     7) Calls to myindex() function eliminated - replaced
+	        by in-line switch statements for efficiency
+	     8) basepairings() function rewritten for efficiency
+	     9) program ANSI-fied to allow compilation with gcc
+            10) Fixed bug: indexing out of 'ntab' array bounds 
+	        causing unpredictable side-effects
+                
+  
+    **  Modifications result in over 200-fold speed increase **
+ 
+    -T. Lowe  9/2000
+     added "-i" option to allow alternate start of sequence nuc numbering
+
+*/
+
+/* #define NO_AMBIG       -use this option to eliminate conservative
+ *                         calling of 'N's as base pairing matches
+ *                         in tRNAs (this gives more false positives)
+ */ 
+
+static char banner[] = "trnascan: scan a sequence for tRNAs"; 
+
+char usage[] = "\n\
+Usage: trnascan [-options] <seqfile>\n\
+where supported options are:\n\
+-s             : use original tRNAscan 1.3 parameters (default)\n\
+-r             : use relaxed search parameters (used with tRNAscan-SE)\n\
+-a             : use alternate (user-set) search parameters\n\
+-c             : suppress credits\n\
+-o <outfile>   : write results to <outfile>\n\
+-i <integer>   : start sequence numbering at <integer> (def=1)\n\
+-h             : print (this) short help message\n\n";
+
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+#define TRUE 1
+#define FALSE 0
+
+#ifndef TSCANDIR
+#define TSCANDIR "/usr/local/lib/trnascan"
+#endif  
+
+
+#define MAXLINE 1000    /* max input seq line length */
+#define BUF_SIZE 100   /* extra room added onto allocated sequence */
+		       /* over that determined by getseqsize()  */
+
+#define MAX(x,y) (((x) > (y)) ? (x) : (y))
+
+/* #define VERBOSE   */
+
+                                  /* Original version 1.3 default parameters */
+#define ST_SG_CUTOFF 5            /* general score (SG) cutoff */
+#define ST_TPC_SIG_THRESH 0.40    /* TPC signal sequence matrix score */
+			       /*   cutoff */
+#define ST_D_SIG_THRESH 0.40      /* D signal sequence matrix score cutoff */    
+#define ST_TPC_INV 2        /* Number of TPC matrix invariant bases */
+			       /*   allowed NOT to be invariant */
+#define ST_TPC_INCSG 5         /* Number of base pairs required in TPC */
+			       /*   stem to increment general score */ 
+#define ST_TPC_KEEP 4          /* Number of base pairs required in TPC */
+			       /*   stem to keep trna as a candidate */
+#define ST_D_INV 1          /* Number of D matrix invariant bases */
+			       /*   allowed NOT to be invariant */
+#define ST_LOOK_FOR_ACLOOP_SG 4   /* Minimum SG required to begin looking */
+			       /*   for anticodon loop */
+#define ST_ACLOOP_MIN 4            /* Minimum base pairs required in */
+			       /*   anticodon loop */
+#define ST_AA_INCSG 7          /* Number of base pairs in Amino acyl */
+			       /*   stem needed to increment SG */ 
+#define ST_AA_KEEP 6           /* Number of base pairs in Amino acyl */
+			       /*   stem needed to keep tRNA candidate */
+
+                        /* "Relaxed" parameters - used by default with */
+			/* tRNAscan-SE program.  Makes tRNAscan into */
+			/* rough pre-filter for Covariance tRNA prediction */
+			/* program by S. Eddy  */
+#define RX_SG_CUTOFF 5         
+#define RX_TPC_SIG_THRESH 0.40 
+#define RX_D_SIG_THRESH 0.30   
+#define RX_TPC_INV 2     
+#define RX_TPC_INCSG 4      
+#define RX_TPC_KEEP 2        
+#define RX_D_INV 2        
+#define RX_LOOK_FOR_ACLOOP_SG 3 
+#define RX_ACLOOP_MIN 3          
+#define RX_AA_INCSG 5        
+#define RX_AA_KEEP 4         
+
+                         /* "Alternate" params - for experimenting */
+			 /*    with other param values */
+#define ALT_SG_CUTOFF 4         
+#define ALT_TPC_SIG_THRESH 0.40 
+#define ALT_D_SIG_THRESH 0.30   
+#define ALT_TPC_INV 2     
+#define ALT_TPC_INCSG 4      
+#define ALT_TPC_KEEP 2       
+#define ALT_D_INV 2        
+#define ALT_LOOK_FOR_ACLOOP_SG 3 
+#define ALT_ACLOOP_MIN 3          
+#define ALT_AA_INCSG 6        
+#define ALT_AA_KEEP 4         
+
+#define MIN_VAR_LOOP 28     /* Minimum variable loop size, assumes min */
+			    /*   intron length = 8bp */
+#define MAX_INTRON_LEN 60   /* Maximum allowable intron length */
+#define MIN_SEQ_LEN 70      /* Minimum length of sequence that will be */
+			    /*  for tRNAs */
+
+#define STRICT_PARAMS 1;
+#define RELAXED_PARAMS 2;
+#define ALT_PARAMS 3;
+
+
+typedef struct pset {
+  float tpc_sig_thresh, d_sig_thresh;
+  int sg_cutoff, 
+  tpc_inv, tpc_incsg, tpc_keep,
+  d_inv,
+  look_for_acloop_sg, acloop_min,  
+  aa_incsg, aa_keep;
+} Param_set_type;
+  
+Param_set_type ps;
+
+
+void 
+set_search_params (Param_set_type *ps,
+		   int params);
+
+/* Subroutine that accomplishes the end of the test for the presence of a
+   tRNA gene */
+
+void 
+following_search(long int pos,    /* first position of the found T-Psi-C signal */ 
+		 long int pos1,   /* first position of the found D signal */
+		 char *ptr1,      /* pointer to the first position of the D signal */
+		 char *ptr3,      /* ptr3=ptr1+2  pointer to first position of the D arm  */
+		 int lpair, 
+		 int nloop,       /*nloop=0 test of the sequence, */
+				  /*nloop=1 test of the complementary sequence */
+		 char *sequence,  
+		 long int seqlen, 
+		 FILE *fpo,       /*pointer to the output file */
+		 FILE *fpverb, 
+		 char *name, 
+		 int score,       /* Value of the general score SG */
+		 int match2,     /* integer testing the presence of D */
+				 /* arm with 3 base-pairings */ 
+		 int *ntrna, 
+		 int *npred, 
+		 int *match,
+		 long int sqoffset   /* offset nucleotide numbering by this much (set with -i param) */
+		 );
+
+
+/* Subroutine to read the consensus matrix */
+
+void 
+lectval(FILE *fp,                  /* pointer to the consensus matrix file */
+	float (*table_cons)[4],    /* table containing the frequency of each base
+				      at each position of the signal */
+	int (*table_inv)[2],  /* table containing the position and the nature of
+				 the invariant bases found in the signal. Code for
+				 the bases: A=0, C=1, G=2 and T=3. */
+	int *lsig,            /*lsig=length of the signal */
+	int *ktot,            /* ktot= number of invariant bases */
+	float *maxtot         /* maxtot= sum of the maximum frequencies */
+	);
+
+/* Subroutine reading the sequence */
+/* Modified to correctly read FASTA sequence files */
+
+int fgetseq(char *name,           /* string w/name of the sequence */
+	    char *sequence,       /* character string containing the sequence */
+	    long int *seqlen,     /* length of sequence */
+	    FILE *fpi);            /* input file pointer */
+		
+
+/* Subroutine reading & returning the sequence length */
+
+int getseqsize(FILE *fpi);       /* input file pointer */
+
+
+/* Subroutine looking for the presence of a given signal, returns 1 if a
+   signal is found and 0 otherwise. It also return the table 'weight'
+   containing the frequencies of the oberved bases in the windowed
+   sequence and the number 'ninv' of invariant bases found in the windowed
+   sequence*/
+
+int readsignal(char *ptr,      /* pointer to the sequence */
+	       int (*table_inv)[2],  /* table containing the position and nature of the
+					invariant bases found in the consensus matrix */
+	       int *lsig,   /* lsig= length of the signal */
+	       int *ktot,   /* ktot= number of invariant bases in the consensus matrix */
+	       float *weight,       /* table containing the frequencies of the observed
+				       base at each position of the
+				       windowed sequence tested */
+	       float (*table_cons)[4],  /* table corresponding to the consensus matrix */
+	       int *ninv,               /* ninv= number of invariant */
+					/* bases in the windowed  sequence */
+	       int threshold_inv);       /* Number of invariant bases */
+					/* allowed not to b e invariant */
+
+
+/* Subroutine that calculates the similarity score on the potential signal 
+   previously retained by the subroutine readsignal. This subroutine
+   returns 1 it the computed score is greater or equal to the defined 
+   threshold and 0 otherwise. It returns also the value of the computed 
+   score (score) */ 
+
+int scoring(float *weight, /* table containing the frequencies of the observed base 
+			      at each position of the potential signal */
+	    int lsig,      /* length of the signal */
+	    float max,     /* sum of the maximum frequencies found in */
+			   /* the consensus matrix */ 
+	    int ktot,      /* number of invariant bases found in the consensus matrix */
+	    float *score,  /* value of the computed score on the potential signal */
+	    float ThresholdValue,   /* defined threshold for the similarity score */
+	    int ninv   /* number of invariant bases found in the potential signal */
+	    );
+
+/* Subroutine looking for base-pairings between two parts of the sequence.
+   It returns the number of base-pairings found (ncomp) */
+
+void 
+basepairing(char *ptr,   /* pointer to the sequence */
+	    int npair,   /* number of base-pairings forming a given arm */
+	    int lpair,   /* number of nucleotides found between the first position of the
+			    first part of the sequence involved in the stem and the last 
+			    position of the second part of the
+			    sequence involved in the stem */
+	    int *ncomp   /* number of base-pairings observed between the two parts of
+			    the sequence tested */
+	    );
+           
+
+/* Subroutine that complements the sequence. It returns the complementary 
+   sequence to the main */
+
+void 
+compstrand(char **sequence,   /* pointer to the sequence string */
+	   long int seqlen    /* sequence length   */
+	   );
+
+
+/* Subroutine that codes the anticodon signal sequence by a number
+   comprised between 1 and 65. It returns this number. */
+
+void 
+codage(char *anticodon,    /* anticodon signal sequence */
+       int length1,        /* length of the anticodon signal, lenght1=3 */
+       int *num            /* number associated to the anticodon signal sequence */
+       );            
+         
+
+/* Subroutine that determines the tRNA gene family */
+
+void 
+corresaa(int num,           /* Number coding the anticodon signal sequence */
+	 char *type_trna    /* tRNA gene family */
+	 );
+                 
+
+/* Subroutine that prints the results of the search */
+
+void 
+printresult(FILE *fpo,     /* output file pointer */
+	    FILE *fpverb,   /* character string for the name of the sequence */
+	    char *name, 
+	    long int pos1,    /* first position of the D signal */
+	    long int pos,     /* first position of the T-Psi-C signal */
+	    int lpair,        /* number of nucleotides between the */
+			      /* first position  of the D arm and the last one */
+	    int lpair1,     /* number of nucleotides between the first position of the
+			       aminoacyl arm and the last one */
+	    int lpair2,     /* number of nucleotides between the first position of the 
+			       anticodon arm and the last one */
+	    int nloop,      /* nloop=0, scanning of the direct strand; nloop=1 scanning of 
+			       the complementary strand */
+	    int *ntrna,     /* number of tRNA genes predicted in the sequence */
+	    char *chaine2,  /* character string for the predicted tRNA gene sequence */
+	    char *sequence,    /* character string containing the sequence tested */
+	    long int length,   /* length of the sequence */
+	    int *match,      /* match=1 if at least one tRNA gene has been found on the 
+				direct strand and 0 otherwise */
+	    int ncomp,       /* number of base-pairings in the anticodon arm of the
+				predicted tRNA gene */
+	    char *type_trna,     /* character string for the tRNA gene family */
+	    char *anticodon,      /* character string for the anticodon signal sequence */
+	    long int sqoffset   /* offset nucleotide numbering by this much (set with -i param) */
+	    );
+
+main(int argc, char **argv)
+{
+  /* pointers to the different files fpi=input file, fpo=output file, 
+   fpcons1= T-Psi-C matrix file, fpcons2= D matrix file */
+
+  extern Param_set_type ps;   /* search parameters */
+
+  FILE *fpi,*fpo,*fpcons1,*fpcons2, *fpverb;
+
+  /* lsig1= length of the T-Psi-C signal, lsig2= length of the D signal
+     ktot1= number of invariant bases in the T-Psi-C signal
+     ktot2= number of invariant bases in the D signal */
+
+  int lsig1=0, lsig2=0, ktot1=0, ktot2=0;
+
+  long int pos,pos1, begin; /* start position of the T-Psi-C signal (pos)
+			       and D signal (pos1) and of the search for the
+			       D signal (begin) */
+  int npair=0, lpair=0; /* variables used to test the presence of a stem, 
+			   see definition further in the program */
+  float table_cons1[30][4]; /* table containing the frequency of each base 
+			       at each position of the T-Psi-C signal */
+  float table_cons2[30][4]; /* table containing the frequency of each base
+			       at each position of the D signal */
+  float maxtot1=0, maxtot2=0; /* sum of the maximum frequencies found in 
+				 the T-Psi-C matrix (maxtot1) and in the D matrix
+				 (maxtot2) */
+  float weight1[30]; /* table containing the frequency of the observed base 
+			at each position of the windowed sequence tested
+			(T-Psi-C matrix) */
+  float weight2[30]; /* table containing the frequency of the observed base
+			at each position of the windowed sequence tested
+			(D matrix) */
+  int table_inv1[30][2]; /* table containing the position and the nature of 
+			    the invariant bases found in the T-Psi-C matrix */
+  int table_inv2[30][2]; /* table containing the position and the nature of
+			    the invariant bases found in the D matrix */
+  int ntab[5][2]; /* table containing for each potential D arm found in the
+		     windowed sequence, the number of base-pairings and the 
+		     number of nucleotides that separates the first position
+		     of the D arm and the last one */
+  char *sequence; /* character string containing the sequence */
+  long int seqlen; /* keeps the length of the current sequence */
+  long int sqoffset=0;  /* start numbering nucleotides by this offset (def=0) */
+  char  *ptr,*ptr1,*ptr3, *ptrstart; /* pointers to the sequence, their
+					definitions are given at the place 
+					they are used in the program */	 
+  char name[80]; /* character string containing the name of the sequence */
+  char tscan_dir[120];  /* holds name of directory of consensus files */
+  
+  int ntrna; /* number of tRNA genes predicted in the sequence and its
+		complement */
+  int npred=0; /* Total number of tRNA genes predicted in the sequences of 
+		  the input file */
+  int nseq=0; /* Number of sequences tested (number of sequences of the
+		 input file) */
+  long int lseq=0; /* Number of nucleotides tested */
+  int score; /* variable corresponding to the general score SG */
+  int ninv=0; /* number of invariant bases oberved in the windowed sequence
+		 for each signal */
+  int ncomp=0; /* number of base-pairings observed in the sequence tested 
+		  for the presence of one of the four arms */
+  int threshold_inv; /* number of invariant bases that are allowed not to
+			be invariant */
+  int match; /* if at least one tRNA gene is predicted of the direct strand,
+		match=1, if no tRNA gene is found on the direct strand, match=0 */
+  int first_score=0,match2,h, nloop;
+  
+  /* ThresholdValue1= threshold value of the similarity score used to retain 
+     a T-Psi-C signal
+     ThresholdValue2= threshold value of the similarity score used to retain 
+     a D signal 
+     Changing the threshold value of the similarity score, MODIFY '0.4' in
+     the following line. */
+  
+  float ThresholdValue1, ThresholdValue2;
+  float score1=0, score2=0;
+  int i,j;
+  
+  int params;
+  int suppress_credits;      /* flag for display of credits */
+  char *seqfile,   /* name of input sequence file  */
+    *outfile,   /* name of output file (if not sent to stdout) */
+    *verbfile;  /* name of file for verbose output */
+  
+  int          optc;
+  extern char *optarg;          /* for getopt() */
+  extern int   optind;		/* for getopt() */
+  
+/*********************************************** 
+ * Parse command line
+ ***********************************************/
+  
+  suppress_credits = FALSE;
+  params        = STRICT_PARAMS;
+  outfile          = NULL;
+  verbfile         = NULL;
+  
+while ((optc = getopt(argc, argv, "csraho:v:i:")) != -1)
+  switch (optc) {
+    
+  case 'c': suppress_credits = TRUE; break;
+  case 's': params = STRICT_PARAMS;  break;
+  case 'r': params = RELAXED_PARAMS;  break;
+  case 'a': params = ALT_PARAMS;  break;
+  case 'o': outfile   = optarg;  break;
+  case 'v': verbfile  = optarg;  break;
+  case 'i': sqoffset = atoi(optarg)-1; break;
+
+  case 'h': 
+    printf("%s\n  version %s\n%s\n", banner, RELEASE, usage);
+    exit(0);
+  default:
+    fprintf(stderr,"unrecognized option %c\n", optc);
+    exit(1);
+  }
+
+if (argc - optind != 1) {
+  fprintf(stderr,"%s\n", usage);
+  exit(1);
+}
+  
+seqfile = argv[argc-1];
+
+
+/* open the sequence file */
+
+if ((fpi=fopen(seqfile,"r")) == NULL)
+  {
+  fprintf(stderr,"tRNAscan1.4: FATAL:  Cannot open the input sequence file %s\n",seqfile);
+  exit(1);
+  }
+
+/* open the output file */
+
+if (outfile == NULL) {
+  fpo = stdout;
+}
+else if ((fpo=fopen(outfile,"w")) == NULL) {
+  fprintf(stderr,"tRNAscan1.4: FATAL: Cannot open the output file %s\n",outfile);
+  exit(1);
+}
+ 
+/* open Verbose output file */
+if (verbfile != NULL) 
+  if ((fpverb=fopen(verbfile,"w")) == NULL) {
+    fprintf(stderr,"tRNAscan1.4: Cannot open verbose output file %s\n",verbfile);
+    exit(1);
+}
+
+/* open the consensus matrix file for the T-Psi-C signal */
+
+strcpy(tscan_dir,TSCANDIR);
+
+if (((fpcons1=fopen("TPCsignal","r")) == NULL) &&
+    ((fpcons1=fopen(strcat(tscan_dir,"/TPCsignal"),"r")) == NULL))
+  {
+  fprintf(stderr,"tRNAscan1.4: main cannot open TPCsignal consensus file\n");
+  exit(1);
+  }
+
+/* open the consensus matrix file for the D signal */
+
+strcpy(tscan_dir,TSCANDIR);
+
+if (((fpcons2=fopen("Dsignal","r")) == NULL) &&
+    ((fpcons2=fopen(strcat(tscan_dir,"/Dsignal"),"r")) == NULL))
+  {
+  fprintf(stderr,"tRNAscan1.4: main cannot open Dsignal consensus file\n");
+  exit(1);
+  }
+
+
+/* Set search parameters */
+
+set_search_params(&ps,params); 
+
+ThresholdValue1 = ps.tpc_sig_thresh;
+ThresholdValue2 = ps.d_sig_thresh;
+
+/* Credits   */
+
+if (!suppress_credits) {
+  printf("\n %s %s -- derived from version %s\n", PROGRAM, RELEASE, 
+	 DERIV_VERSION);
+  printf("\n Please cite: %s\n %s\n", BRIEF,CITATION); 
+  printf(" %s\n\n",MODIF);
+}
+
+/* reading the two consensus file */
+
+lectval(fpcons1,table_cons1,table_inv1,&lsig1,&ktot1,&maxtot1);
+lectval(fpcons2,table_cons2,table_inv2,&lsig2,&ktot2,&maxtot2);
+
+
+/* main loop for reading & analyzing one sequence at a time */
+
+while (!feof(fpi)) {
+
+/* find out sequence size before allocating memory & reading in */
+
+  seqlen = getseqsize(fpi);
+  sequence= (char *) calloc (seqlen+BUF_SIZE,sizeof(char));
+  if (sequence == NULL ) { 
+    fprintf(stderr,"tRNAscan1.4: Can't malloc for sequence\n");
+    exit(-1);
+  }
+
+/* reading the name of the sequence and the sequence from the input file */	
+
+  if (fgetseq(name,sequence,&seqlen,fpi) == 0)
+    break;
+
+  nseq++;
+  lseq += seqlen;
+
+  match=0;
+  for (nloop=0; nloop <=1; nloop++)
+    {
+/* if the sequence is shorter than 70 bp long it is skipped */
+
+    if (seqlen < MIN_SEQ_LEN)
+    break;
+
+    ntrna=0;
+
+/*  search of tRNA genes starts 
+    pos= first position of the T-Psi-C signal
+    ptr= pointer to the first position of the T-Psi-C signal */
+
+    for (pos=44, ptr=(sequence+43); pos<seqlen-23;pos++, ptr++)
+      {
+      score=0;
+
+#ifdef VERBOSE
+	  fprintf(fpverb,"--- Moving TPC window (pos=%d)\n",pos);
+#endif 
+	  
+
+/*change in the number of invariant bases that must be present in the
+  T-Psi-C signal, MODIFY the value of threshold_inv here */
+
+      threshold_inv= ps.tpc_inv;
+
+/*search for the T-Psi-C signal */
+
+      if(readsignal(ptr,table_inv1,&lsig1,&ktot1,weight1,table_cons1,&ninv,
+        threshold_inv))
+        {
+
+/*the general score SG (score) is incremented by 1, if the number of 
+  invariant bases (ninv) in the found T-Psi-C signal >= 3 (ktot1=4)
+  change in the threshold of the T-Psi-C signal for the increment of SG,
+  MODIFY the following line */
+
+        if (ninv >= ktot1-1)  {
+	  score++;
+#ifdef VERBOSE
+	  fprintf(fpverb,"+ TPC invariant bp: %d.  SG++\n",ninv); }
+	else  { 
+	  fprintf(fpverb,"X TPC invariant bp: %d.  NO SG++\n",ninv); 	  
+#endif 
+	}
+
+/* Computation of the score on the found T-Psi-C signal, signal retains if
+   the computed score is >= ThresholdValue1 */
+
+        if(scoring(weight1,lsig1,maxtot1,ktot1,&score1,ThresholdValue1,
+		   ninv))
+          {
+#ifdef VERBOSE
+	   fprintf(fpverb,"+ TPC signal over thresh: %f\n",score1);
+#endif 
+
+
+/* npair= number of base-pairings in the T-Psi-C stem 
+   lpair= number of nucleotides between the first position of the T-Psi-C
+          arm and the last position of the T-Psi-C arm */
+
+          npair = 5;
+          lpair = 16;
+
+/* Test for the presence of the T-Psi-C stem */
+
+          basepairing(ptr+1,npair,lpair,&ncomp);
+
+/* If the number of base-pairings (ncomp) equal 5, SG (score) incremented 
+   by 1. Change in the threshold of base-pairings in the T-Psi-C arm for
+   the increment of SG, MODIFY the value '5' in the following line */
+
+          if (ncomp >= ps.tpc_incsg) {
+            score++;
+#ifdef VERBOSE
+ 	    fprintf(fpverb,"+ TPC parings (%d) add to SG=%d\n",ncomp,score); }
+	  else  {
+ 	    fprintf(fpverb,"X TPC parings (%d) NO add to SG=%d\n",ncomp,score); 
+#endif 
+	  }
+
+/* Change in the threshold to retain a stem as a potential T-Psi-C arm,
+   MODIFY the value '4' in the following line */
+
+#ifdef VERBOSE
+          if (ncomp < ps.tpc_keep)  {
+	    fprintf(fpverb,"X TPC parings retain loop: %d\n",ncomp); }
+	  else {
+	    fprintf(fpverb,"+ TPC parings retain loop: %d\n",ncomp); 
+#else
+          if (ncomp >= ps.tpc_keep)  {
+#endif 
+
+
+/* For the same found T-Psi-C region, different potential D region can be
+   found because of the possible different lengthes of the D loop. As the
+   search for the tRNA gene is applied for each potential D arm, the value
+   of SG computed on the T-Psi-C region is stored in 'first_score' */
+
+            first_score=score;
+
+/*Change in the number of invariant bases to be present in the D signal,
+  MODIFY the value of threshold_inv here */
+
+            threshold_inv= ps.d_inv;
+
+/* Search for the presence of a D region between -120 and -37 nucleotides 
+   upstream from the found T-Psi-C region. 37 nucleotides is the observed
+   minimum length assuming no insertion in the D and variable loop. 120
+   nucleotides allows for an intron of up to 60 nucleotides.
+   Change in the length of the intron, MODIFY the value '120' in the
+   definition of begin and ptrstart.
+   ptr1= pointer to the first position of the D signal
+   pos1= first position of the D signal 
+   begin= starting position for the search of the D signal
+   ptrsart= pointer to the starting position for the search of the D signal */
+
+/* If the sequence does not have 127 nucleotides upstream of the T-Psi-C
+   signal, the search for the D signal starts at position 8 */
+
+            if (pos <=127)
+              {
+               begin = 8;
+               ptrstart = sequence+7;
+              }
+            else
+              {
+               begin = pos-(MAX_INTRON_LEN+60);
+               ptrstart = ptr-(MAX_INTRON_LEN+60);
+               }
+
+            for(pos1=begin,ptr1=ptrstart; pos1<=(pos-37);pos1++,
+                ptr1++)
+              {
+
+/* Search for the D signal */
+
+#ifdef VERBOSE
+              if(!readsignal(ptr1,table_inv2,&lsig2,&ktot2,weight2,
+                 table_cons2,&ninv,threshold_inv))
+                {
+		  fprintf(fpverb,"X D invariant bp: %d\n",ninv); }
+	      else 
+		{
+		  fprintf(fpverb,"+ D invariant bp: %d\n",ninv); 	     
+#else
+              if(readsignal(ptr1,table_inv2,&lsig2,&ktot2,weight2,
+                 table_cons2,&ninv,threshold_inv))
+                {
+#endif 
+
+
+/* Number of invariant bases found in the windowed sequence equal to the
+   number of invariant bases of the matrix (ktot2=3), then SG (score) is
+   incremented by 1 
+   Change in the increment of SG for the D signal, MODIFY the following 
+   line */
+
+		  if (ninv >= ktot2) {
+		    score++;
+#ifdef VERBOSE
+		    fprintf(fpverb,"+ D invariant (%d) inc SG\n",ninv); }
+		  else {
+		    fprintf(fpverb,"X D invariant (%d) NO add to SG\n",ninv);
+#endif 
+		  }
+
+/* Computation of the score on the found D signal, signal retains if the
+   computed score is >= TresholdValue2 */
+
+#ifdef VERBOSE
+		if(!scoring(weight2,lsig2,maxtot2,ktot2,&score2,
+                   ThresholdValue2,ninv))
+                  {
+		    fprintf(fpverb,"X D signal threshold: %f\n",score2); }
+		else  {  
+		  fprintf(fpverb,"+ D signal threshold: %f\n",score2); 
+#else
+		if(scoring(weight2,lsig2,maxtot2,ktot2,&score2,
+                   ThresholdValue2,ninv))
+                  {
+#endif 
+
+
+/* ptr3= pointer pointing on the first position of the D arm 
+   npair= number of base-pairings in the D stem
+   lpair= number of nucleotides between the first position of the D arm
+   and the last one. As the D loop presents some variation in length,
+   lpair can take different values:
+   lpair=14 smallest length of the D loop
+   lpair=18 greatest length of the D loop */
+
+                  ptr3=ptr1+2;
+                  npair = 3;
+                  for (i=0; i < 5; i++)
+                     for (j=0; j < 2; j++)
+                        ntab[i][j]=0;
+
+                  for (lpair=14,h=0; lpair <=18; lpair++,h++)
+                    {
+
+/* Search for the presence of the D arm */
+
+		      basepairing(ptr3,npair,lpair,&ncomp);
+
+/* For each potential stem found, the number of base-pairings (ncomp) and
+   lpair are stored in ntab */
+
+		      ntab[h][0]=ncomp;
+		      ntab[h][1]=lpair;
+                    }
+       
+                  match2=0;
+                  for (h=0; h < 5;h++)
+                    {
+
+/* If stems with 3 base-pairings are found for the D arm, the following 
+   steps of the algorithm are applied on each of these potential stems. 
+   The 2 base-pairings stems are discarded */
+
+                    if (ntab[h][0] == 3)
+                      {
+                      lpair=ntab[h][1];
+                      match2=1;
+                      following_search(pos,pos1,ptr1,ptr3,lpair,nloop,
+                      sequence,seqlen,fpo,fpverb,name,score,match2,&ntrna,&npred,&match,sqoffset);
+                      }
+                    }
+
+/* If no stems with 3 base-pairings have been found, then the stems with 2
+   base-pairings are used in the following steps */
+
+                  if (!match2)
+                    {
+                    for (h=0; h < 5;h++)
+                      {
+                      if (ntab[h][0] == 2)
+                        {
+                        lpair=ntab[h][1];
+                        following_search(pos,pos1,ptr1,ptr3,lpair,nloop,
+                        sequence,seqlen,fpo,fpverb,name,score,match2,&ntrna,&npred,&match,sqoffset);
+                        }
+                      }
+                    }
+                  }
+                score=first_score;
+                }
+              }
+            }
+          }
+        }
+      }
+
+/* The sequence is complemented and the algorithm is applied on the 
+   complementary strand */
+
+    compstrand(&sequence,seqlen);
+
+#ifdef VERBOSE
+	   if (nloop == 0) 
+	     fprintf(fpverb,"\n== Trying COMPLEMENTARY strand\n");
+#endif 
+
+    }
+
+  free(sequence);  /* free up mem to ready for next sequence */
+
+  }
+fprintf(fpo,"number of sequences= %d\n", nseq);
+fprintf(fpo,"number of bases tested (one strand)=%ld\n", lseq);
+lseq = 2* lseq;
+fprintf(fpo,"number of bases tested (both strands)= %ld\n", lseq);
+fprintf(fpo,"number of predicted tRNA=%d\n", npred);
+exit(0);
+}
+
+
+/* Subroutine that accomplishes the end of the test for the presence of a
+   tRNA gene */
+
+void 
+following_search(long int pos,    /* first position of the found T-Psi-C signal */ 
+		 long int pos1,   /* first position of the found D signal */
+		 char *ptr1,      /* pointer to the first position of the D signal */
+		 char *ptr3,      /* ptr3=ptr1+2  pointer to first position of the D arm  */
+		 int lpair, 
+		 int nloop,       /*nloop=0 test of the sequence, */
+				  /*nloop=1 test of the complementary sequence */
+		 char *sequence,  
+		 long int seqlen, 
+		 FILE *fpo,       /*pointer to the output file */
+		 FILE *fpverb, 
+		 char *name, 
+		 int score,       /* Value of the general score SG */
+		 int match2,     /* integer testing the presence of D */
+				 /* arm with 3 base-pairings */ 
+		 int *ntrna, 
+		 int *npred, 
+		 int *match,
+		 long int sqoffset   /* offset nucleotide numbering by this much (set with -i param) */
+		 )
+
+{
+extern Param_set_type ps;
+
+char chaine2[300]; /* character string containing the predicted tRNA gene
+                   sequence */
+char anticodon[4]; /* character string containing the anticodon signal
+                   sequence */
+char type_trna[4]; /* character string containing the tRNA gene family */
+char *ptr2,*ptr4,*ptr5; /*pointers to the sequence, see their definition
+                        below*/
+int score2, score1; /* variables for the general score SG */
+int npair1=0; /* number of base-pairings in the aminoacyl arm */
+int lpair1=0; /* number of nucleotides between the first position of
+              the aminoacyl arm and the last one */
+int lpair2=0; /* number of nucleotides between the first position of
+              the anticodon arm and the last one */
+int npair2=0; /* number of base-pairings in the anticodon arm */
+int pos6=0; /* number of nucleotides found between the first position of
+            the anticodon arm and the first position of the T-Psi-C 
+            signal. */
+int pos4=0; /* number of nucleotides present in the variable loop.*/
+int length1=3; /* length of the anticodon signal */
+int num=0; /* variable that codes the anticodon signal sequence
+           (comprised between 1 and 65). */
+int match1; /* match1=1 if a tRNA without intron has been predicted 
+            and 0 otherwise*/
+int ncomp=0; /* number of base-pairings observed in the sequence tested 
+             for the presence of a given arm */
+int i;
+
+#ifdef VERBOSE
+  fprintf(fpverb,"IN following search...\n");
+#endif
+
+score1=score;
+
+/* If match2=1, the found D arm present 3 base-pairings, the general score 
+   SG (score1) is incremented by 1
+   Change in the threshold of base-pairings in the D arm for the increment
+   of SG, MODIFY the following line */
+
+
+if (match2) {
+  score1++;
+#ifdef VERBOSE
+  fprintf(fpverb,"+ D arm found 3 bp\n"); }
+else {
+  fprintf(fpverb,"X D arm found less than 3 bp\n"); 
+#endif 
+}
+npair1=7; /* Number of base-pairings in the aminoacyl arm */
+lpair1=pos-pos1+8+23; /* Number of nucleotides between the first
+                      position of the aminoacyl arm and the last one */
+ptr2=(ptr1-7); /* pointer to the first position of the amino acyl arm */
+
+/* Test for the presence of the aminoacyl arm */
+
+basepairing(ptr2,npair1,lpair1,&ncomp);
+
+/* If the number of base-pairings (ncomp) equal 7, the general score SG 
+   (score1) is incremented by 1 .
+   Change in the threshold of base-pairings in the aminoacyl arm for the 
+   increment of SG, MODIFY the value '7' in the following line */
+
+if (ncomp >= ps.aa_incsg) {
+  score1++;
+#ifdef VERBOSE
+  fprintf(fpverb,"+ AA arm found %d base pairings\n",ncomp); }
+else {
+  fprintf(fpverb,"X AA arm found %d base pairings\n",ncomp); 
+#endif 
+}
+
+/* Change in the threshold to retain a stem as a potential aminoacyl arm
+   MODIFY the value '6' in the following line */
+
+if (ncomp >= ps.aa_keep)
+  {
+  i = 0;
+  while (i< 300)
+    {
+    chaine2[i]='\0';
+    i++;
+  }
+
+/* If the general score SG is >= 4, the algorithm looks for the presence of
+   an anticodon stem, otherwise the algorithm is initiated again on the
+   following windowed sequence */
+
+  if (score1 >= ps.look_for_acloop_sg)
+    {
+#ifdef VERBOSE
+      fprintf(fpverb,"Looking for anticodon stem\n");
+#endif
+
+      ptr4=ptr3+lpair+2; /* pointer to the first position of the anticodon arm */
+    match1=0;
+    npair2=5; /* Number of base-pairings in the anticodon arm */
+    lpair2=16; /* Number of nucleotides between the first position of the
+               anticodon arm and the last position */
+
+/* Test for the presence of an anticodon arm */
+
+    basepairing(ptr4,npair2,lpair2,&ncomp);
+
+/* If 4 or 5 base-pairings are observed, the windowed sequence is retained
+   as a potential anticodon arm */
+
+    if (ncomp >= ps.acloop_min)
+      {
+      if (nloop == 0)
+        *match=1;
+      i=0;
+      while (i< 4)
+        {
+        anticodon[i]='\0';
+        type_trna[i]='\0';
+        i++;
+        }
+
+/* Test of the presence of the residue T at the position preceding the
+   anticodon signal. If the residue T is present, the general score is
+   incremented by 1.*/
+
+      if ((*(ptr4+6)) == 't')  {
+        score1++;
+#ifdef VERBOSE
+	fprintf(fpverb,"+ Invariant T found in anticodon. SG++\n"); }
+      else  {
+	fprintf(fpverb,"X Invariant T NOT found in anticodon. No SG inc\n"); 
+#endif
+      }
+
+/* If SG >= 5, the windowed sequence is retained as a potential tRNA gene.
+   The tRNA gene predicted at that level is without intron */
+
+#ifdef VERBOSE
+      if (score1 < ps.sg_cutoff)  {
+	fprintf(fpverb,"X Under SG threshold: %d\n",score1); }
+      else  {
+	fprintf(fpverb,"+ Over SG threshold: %d\n",score1); 
+#else
+      if (score1 >= ps.sg_cutoff)  {
+#endif 
+      
+
+/* Identification of the tRNA gene family */
+
+        strncpy(anticodon,ptr4+7,3);
+        codage(anticodon,length1,&num);
+        corresaa(num,type_trna);
+        strncpy(chaine2,(ptr1-7),lpair1+2);
+
+        (*ntrna)++;
+        (*npred)++;
+        match1=1; /* match1=1 indicates that a tRNA gene without
+                  intron has been predicted */
+
+/* The results are printed in the output file */
+
+        printresult(fpo,fpverb,name,pos1,pos,lpair,lpair1,lpair2,nloop,ntrna,
+        chaine2,sequence,seqlen,match,ncomp,type_trna,anticodon,sqoffset); 
+      }
+    }
+
+/* If no anticodon arm has been found for a value of lpair2=16, i. e. an
+   anticodon loop of 7 nucleotides (without intron), the algorithm searchs
+   for the presence of an anticodon arm assuming the presence of an intron
+   in the anticodon loop */
+ 
+/* pos6 corresponds to the number of nucleotides found between the first
+   position of the anticodon arm and the first position of the T-Psi-C 
+   signal. */ 
+
+#ifdef VERBOSE
+    fprintf(fpverb,"+ Looking for anticodon stem WITH intron...\n");
+#endif 
+
+    pos6=pos-(pos1+lpair+3);
+  
+/* The search for the presence of an anticodon stem is initiated only if an
+   intron of at least 8 bases long is expected to be present. The value 28
+   for pos6 corresponds to the number of nucleotides found for the smallest
+   length of the variable loop and for an intron length of 8 nucleotides.
+   Change in the smallest length of the intron, MODIFY the value of pos6
+   in the following line and also the start value of lpair2 (lpair2=24) 
+   in the loop (lpair2 is the number of nucleotides found between the first
+   position of the anticodon arm and the last position of the anticodon arm.
+   lpair2=16 when no intron in the anticodon loop). */
+
+    if ((!match1) && (pos6 >=MIN_VAR_LOOP))
+      {
+      for (lpair2=MIN_VAR_LOOP-4;lpair2<pos6;lpair2++)
+        {
+        score2=score1;
+
+/* Test for the presence of the anticodon arm for the different possible
+   lengthes of the intron.
+   ptr4 = pointer to the first base involved in the first part of the 
+          anticodon arm */
+
+        basepairing(ptr4,npair2,lpair2,&ncomp);
+
+/* pos4 corresponds to the number of nucleotides present in the variable
+   loop. The smallest size of the variable loop in the tRNA sequences 
+   is 3. Thus to retain the stem as a potential anticodon arm, pos4 has 
+   to be >= 3. */
+
+        pos4=pos-pos1-lpair-lpair2-4;
+
+/* ptr5 = pointer to the position preceding the intron. */
+
+        ptr5=ptr4+10;
+
+/* The anticodon arm is retained if 4 or 5 base-pairings are formed and if
+   pos4 >= 3 */
+
+        if ((ncomp >=4) && (pos4 >= 3))
+          {
+
+/* Test for the presence of the residues A or G at the position preceding
+   the intron */
+
+          if(((*ptr5) == 'a') || ((*ptr5) == 'g'))
+            {
+            if (nloop == 0)
+              (*match)=1;
+            i=0;
+            while (i<4)
+              {
+              anticodon[i]='\0';
+              type_trna[i]='\0';
+              i++;
+              }
+
+/* Test for the presence of the residue T at the position preceding the
+   anticodon signal. If the residue T is present, the general score is
+   incremented by 1.*/
+
+            if ((*(ptr4+6)) == 't') {
+              score2++;
+#ifdef VERBOSE
+	      fprintf(fpverb,"+ Found invariant T. SG= %d\n",score2); }
+      else  {
+	      fprintf(fpverb,"X Did NOT find invariant T. SG= %d\n",score2); 
+#endif 
+	    }
+
+/* If SG >= 5, the windowed sequence is retained as a potential tRNA gene.
+   The tRNA gene predicted at that level has one intron in
+   the anticodon loop. */
+
+            if (score2 >= ps.sg_cutoff)
+              {
+
+/* Identification of the tRNA gene family */
+
+              strncpy(anticodon,ptr4+7,3);
+              codage(anticodon,length1,&num);
+              corresaa(num, type_trna);
+              strncpy(chaine2,(ptr1-7),lpair1+2);
+
+              (*ntrna)++;
+              (*npred)++;
+
+/* The results are printed in the output file */
+
+              printresult(fpo,fpverb,name,pos1,pos,lpair,lpair1,lpair2,nloop,
+              ntrna,chaine2,sequence,seqlen,match,ncomp,type_trna,anticodon,sqoffset); 
+	    }
+	  }
+	}
+      }
+    }
+    }
+    }
+}
+
+
+
+/* Subroutine to read the consensus matrix */
+
+void 
+lectval(FILE *fp,                  /* pointer to the consensus matrix file */
+	float (*table_cons)[4],    /* table containing the frequency of each base
+				      at each position of the signal */
+	int (*table_inv)[2],  /* table containing the position and the nature of
+				 the invariant bases found in the signal. Code for
+				 the bases: A=0, C=1, G=2 and T=3. */
+	int *lsig,            /*lsig=length of the signal */
+	int *ktot,            /* ktot= number of invariant bases */
+	float *maxtot         /* maxtot= sum of the maximum frequencies */
+	)
+
+{
+int i=0,j, k=0,l,m;
+float  max=0;
+int ret = 0;
+
+for (l=0; l< 30; l++)
+  for (m=0; m<4; m++)
+    table_cons[l][m]=0;
+
+for (l=0; l< 30; l++)
+  for (m=0; m < 2; m++)
+    table_inv[l][m]=0;
+
+while(feof(fp) == 0)
+  {
+  for(j=0;j<4;j++)
+    {
+    ret = fscanf(fp,"%f",&table_cons[i][j]);
+    }
+  i++;
+  }
+     
+*lsig=i-1;
+for (i=0; i<*lsig; i++)
+  {
+  for (j=0; j<4; j++)
+    {
+    if (table_cons[i][j] == 1.0)
+      {
+      k++;
+      table_inv[k][1]=i;
+      table_inv[k][2]=j;
+      }
+    }
+  }
+
+for (i=0; i<*lsig; i++)
+  {
+  max=table_cons[i][0];
+  for (j=1; j<4; j++)
+    max= MAX(max,table_cons[i][j]);
+  *maxtot += max;
+  }
+
+*ktot=k;
+}
+
+/* Subroutine reading the sequence */
+/* Modified to correctly read FASTA sequence files */
+
+int fgetseq(char *name,           /* string w/name of the sequence */
+	    char *sequence,       /* character string containing the sequence */
+	    long int *seqlen,     /* length of sequence */
+	    FILE *fpi)            /* input file pointer */
+		
+{
+char line[MAXLINE]; /* character string used to read a line */
+char *ptr; /* pointer to the sequence */
+long int i,j,c;
+char *ptrRet;
+
+line[0]='\0';
+*sequence='\0';
+*seqlen = 0;
+
+/* Test the first character to choose between the two formats available */
+
+if (fgets(line, MAXLINE, fpi) == NULL) {
+  return 0;
+}
+
+else if (line[0] == ';') {
+  
+  /* File in the non-GenBank format */
+
+  if (line[1] != ' ')
+    {      
+      for (i=0, ptr= &(line[1]); *ptr != ' ' && *ptr !='\n';i++)
+        name[i]= *ptr++;
+      name[i] = '\0';
+      while ((c = getc(fpi)) == ';')
+        ptrRet = fgets(line, MAXLINE, fpi);
+      ungetc(c, fpi);
+      ptr = sequence;
+      
+      while ((c= getc(fpi)) != ';' && c != EOF)
+	if (isalpha(c)) {
+	  *ptr = tolower(c);
+	  ptr++;
+	  (*seqlen)++;
+	}
+      
+      if (c != EOF)
+	ungetc(c, fpi);
+      *ptr= '\0';
+    }
+  else if (line[1] == ' ')
+    {
+      /* Intelligenetics format */
+
+      while ((c = getc(fpi)) == ';')
+        ptrRet = fgets(line,MAXLINE, fpi);
+      ungetc(c, fpi);
+      fgets(line, MAXLINE, fpi);
+      for (i=0, ptr= &(line[0]); *ptr != ' ' && *ptr !='\n';i++)
+        name[i]= *ptr++;
+      name[i] = '\0';
+      
+      ptr = sequence;
+      
+      while ((c= getc(fpi)) != ';' && c != EOF)
+	if (isalpha(c)){
+	  *ptr = tolower(c);
+	  ptr++;
+	  (*seqlen)++;
+	}
+      
+      if (c != EOF)
+	ungetc(c, fpi);
+      *ptr= '\0';
+    }
+  } 
+else if (line[0] == '>')
+  {
+    /* Fasta Format */
+
+    for (i=1; line[i] == ' '; i++)
+      ;
+    for (j = 0, ptr = &line[i]; *ptr != ' '; ptr++, j++)
+      name[j] = *ptr;
+    name[j] = '\0';
+
+    ptr = sequence;
+    while ((c= getc(fpi)) != '>' && c != EOF)
+      if (isalpha(c)) {
+	*ptr = tolower(c);
+	*seqlen += 1;
+	ptr++;
+      }
+      
+    if (c != EOF)
+      ungetc(c, fpi);
+    *ptr= '\0';
+  }
+else 
+  {
+    /* File in GenBank format */
+    
+    while (strncmp(line, "LOCUS", 5) != 0)
+      if (fgets(line, MAXLINE, fpi) == NULL)
+	exit(1);
+    
+    for (i = 0, ptr = &line[12]; *ptr != ' '; ptr++, i++)
+      name[i] = *ptr;
+    name[i] = '\0';
+    
+    while (strncmp(line, "ORIGIN", 6) != 0)
+      if (fgets(line, MAXLINE, fpi) == NULL)
+	exit(1);
+	    
+    ptr = sequence;
+    *seqlen=0;
+    ptrRet = fgets(line, MAXLINE, fpi);
+    while (strncmp(line, "//", 2) != 0) {
+      for (i = 0; line[i] != '\n'; i++)
+	if (isalpha(line[i])) {
+	  *ptr++ = tolower(line[i]);
+	  (*seqlen)++;
+	}
+      ptrRet = fgets(line, MAXLINE, fpi);
+    }
+    *ptr = '\0';
+    
+  }
+return (1);
+}
+
+/* Subroutine reading & returning the sequence length */
+
+int getseqsize(FILE *fpi       /* input file pointer */
+	       )
+	
+{
+
+char line[MAXLINE]; /* character string used to read a line */
+long int i,c, seqlen, fpi_save_pos;
+char* ptrRet;
+
+line[0]='\0';
+seqlen = 0;
+
+fpi_save_pos = ftell(fpi);  /* save current position in file */
+
+/* Test the first character to choose between the two formats available */
+
+if (fgets(line, MAXLINE, fpi) == NULL) {
+  return 0;
+}
+
+else if (line[0] == ';') {
+  
+  /* File in the non-GenBank format */
+
+  if (line[1] != ' ')
+    {      
+      while ((c = getc(fpi)) == ';')
+	ptrRet = fgets(line, MAXLINE, fpi);
+      ungetc(c, fpi);
+      
+      while ((c= getc(fpi)) != ';' && c != EOF)
+	if (isalpha(c)) {
+	  seqlen++;
+	}
+      
+    }
+  else if (line[1] == ' ')
+    {
+      /* Intelligenetics format */
+
+      while ((c = getc(fpi)) == ';')
+	ptrRet = fgets(line,MAXLINE, fpi);
+      ungetc(c, fpi);
+      ptrRet = fgets(line, MAXLINE, fpi);
+      
+      while ((c= getc(fpi)) != ';' && c != EOF)
+	if (isalpha(c)){
+	  seqlen++;
+	}
+    }
+} 
+else if (line[0] == '>')
+  {
+    /* Fasta Format */
+
+    while ((c= getc(fpi)) != '>' && c != EOF)
+      if (isalpha(c)) 
+	seqlen++;
+  }
+else 
+  {
+    /* File in GenBank format */
+    
+    while (strncmp(line, "LOCUS", 5) != 0)
+      if (fgets(line, MAXLINE, fpi) == NULL)
+	exit(1);
+    
+    while (strncmp(line, "ORIGIN", 6) != 0)
+      if (fgets(line, MAXLINE, fpi) == NULL)
+	exit(1);
+
+    ptrRet = fgets(line, MAXLINE, fpi);
+    while (strncmp(line, "//", 2) != 0) {
+      for (i = 0; line[i] != '\n'; i++)
+	if (isalpha(line[i])) {
+	  seqlen++;
+	}
+      ptrRet = fgets(line, MAXLINE, fpi);
+    }
+    
+  }
+
+fseek(fpi,fpi_save_pos,0);  /* reposition file pointer */
+return seqlen;
+}
+
+
+
+/* Subroutine that returns the position in the string s where the string t
+   begins or -1 if s does not contain t */
+
+/* Calls to this function eliminated for efficiency  T. Lowe  11/95  */
+
+myindex (char *s, char *t)
+{
+int i, j, k;
+for (i=0; s[i] != '\0'; i++) {
+  for (j=i, k=0; t[k] != '\0' && s[j] == t[k]; j++, k++)
+    ;
+  if (t[k] == '\0')
+  return(i);
+}
+ return(-1);
+}
+
+
+/* Subroutine looking for the presence of a given signal, returns 1 if a
+   signal is found and 0 otherwise. It also return the table 'weight'
+   containing the frequencies of the oberved bases in the windowed
+   sequence and the number 'ninv' of invariant bases found in the windowed
+   sequence*/
+
+int readsignal(char *ptr,      /* pointer to the sequence */
+	       int (*table_inv)[2],  /* table containing the position and nature of the
+					invariant bases found in the consensus matrix */
+	       int *lsig,   /* lsig= length of the signal */
+	       int *ktot,   /* ktot= number of invariant bases in the consensus matrix */
+	       float *weight,       /* table containing the frequencies of the observed
+				       base at each position of the
+				       windowed sequence tested */
+	       float (*table_cons)[4],  /* table corresponding to the consensus matrix */
+	       int *ninv,               /* ninv= number of invariant */
+					/* bases in the windowed  sequence */
+	       int threshold_inv)       /* Number of invariant bases */
+					/* allowed not to b e invariant */
+
+  
+{
+  extern Param_set_type ps;
+
+  int k = 1, i=0, j,match1;
+  int l;
+  int tab[30];
+
+  (*ninv)=0;
+  for (l=0; l< 30; l++) {
+    weight[l]=0;
+    tab[l]=0;
+  }
+
+/* If the consensus matrix contains some invariant bases, the subroutine
+   calculates the number of invariant bases that are found in the windowed
+   sequence (ninv) */
+
+  if (*ktot)
+    {
+      for (k=1; k <= (*ktot); k++)
+	{
+      
+/*   (original code commented out)
+
+     temp[0]= *(ptr+table_inv[k][1]);
+      j = myindex(base,temp);              */
+   
+	  switch (*(ptr+table_inv[k][1])) {
+	  case 'a': j=0; break;
+	  case 'c': j=1; break;
+	  case 'g': j=2; break;
+	  case 't': j=3; break;
+	  default: j=-1;
+	  }
+
+/* trap for non-ATGC chars, assume match for ambiguous bases (j= -1)*/
+
+
+#ifdef NO_AMBIG
+	if (j == table_inv[k][2]) 
+#else
+	if ((j == table_inv[k][2]) || (j == -1)) 		 
+#endif
+	    (*ninv)++;
+
+	}
+    }
+ 
+/* If the number of invariant bases found in the windowed sequence is < to
+   the threshold allowed, the windowed sequence is discarded as a potential
+   signal. */
+
+  if ((*ninv) < (*ktot)-threshold_inv)
+    return(0);
+
+/* If the number of invariant bases is >= to the threshold, the table 
+  'weight' is constructed */
+
+  if((*ninv) >= (*ktot)-threshold_inv)
+    {
+      match1=1;
+      while(match1 && (i<*lsig))
+	{
+	  
+/*  (original code commented out) 
+
+    temp[0]= *(ptr+i);
+    tab[i]= myindex(base,temp);  */
+
+	  switch (*(ptr+i)) {
+	  case 'a': tab[i]=0; break;
+	  case 'c': tab[i]=1; break;
+	  case 'g': tab[i]=2; break;
+	  case 't': tab[i]=3; break;
+	  default:  tab[i]=-1;
+	  }
+
+
+/* trap for non-ATGC chars, assume match for ambig bases (tab[i]= -1) */
+
+	  if (tab[i] == -1) 
+#ifdef NO_AMBIG
+	    weight[i] = 0;   
+#else
+	    weight[i] = 1;    
+#endif
+	  else
+	    weight[i]=table_cons[i][tab[i]];
+	  
+	  if((ktot == 0) && (weight[i] == 0))
+	    {
+	      match1=0;
+	      return(0);
+	    }
+	  else
+	    {
+	      i++;
+	    }
+	}
+    }
+  return(1);
+}
+
+/* Subroutine that calculates the similarity score on the potential signal 
+   previously retained by the subroutine readsignal. This subroutine
+   returns 1 it the computed score is greater or equal to the defined 
+   threshold and 0 otherwise. It returns also the value of the computed 
+   score (score) */ 
+
+int scoring(float *weight, /* table containing the frequencies of the observed base 
+			      at each position of the potential signal */
+	    int lsig,      /* length of the signal */
+	    float max,     /* sum of the maximum frequencies found in */
+			   /* the consensus matrix */ 
+	    int ktot,      /* number of invariant bases found in the */
+			   /* consensus matrix */
+	    float *score,  /* value of the computed score on the */
+			   /* potential signal */
+	    float ThresholdValue,   /* defined threshold for the */
+			 	    /* similarity score */
+	    int ninv       /* number of invariant bases found */
+		           /* in the potential signal */
+	    )
+{
+
+float tot;
+int i;
+
+/* Computation of the value of the score on the potential signal */
+
+tot=0;
+for(i=0; i< lsig; i++)
+  tot += weight[i];
+ 
+tot -= ninv;
+max -= ktot;      
+*score = tot / max;
+
+/* Comparison of the computed score with the defined threshold value */
+
+if (*score >= ThresholdValue)
+  return(1);
+else {
+  return(0);
+}
+}
+
+/* Subroutine looking for base-pairings between two parts of the sequence.
+   It returns the number of base-pairings found (ncomp) */
+
+/* rewritten to improve efficiency & eliminate use of myindex() calls */
+
+void 
+basepairing(char *ptr,   /* pointer to the sequence */
+	    int npair,   /* number of base-pairings forming a given arm */
+	    int lpair,   /* number of nucleotides found between the first position of the
+			    first part of the sequence involved in the stem and the last 
+			    position of the second part of the
+			    sequence involved in the stem */
+	    int *ncomp)   /* number of base-pairings observed between the two parts of
+			    the sequence tested */
+  
+{
+  int n;   /* loop counter */ 
+
+  *ncomp=0;
+
+#ifdef NO_AMBIG
+  for(n=0; n<npair; n++)
+    {
+      switch (*(ptr+n)) {
+	case 'a': if (*(ptr+lpair-n) == 't') (*ncomp)++;  break;
+	case 'c': if (*(ptr+lpair-n) == 'g') (*ncomp)++;  break;
+	case 'g': case 'r': if ((*(ptr+lpair-n) == 'c') || (*(ptr+lpair-n) == 't'))
+	  (*ncomp)++;  break;
+	case 't': case 'y': if ((*(ptr+lpair-n) == 'a') || (*(ptr+lpair-n) == 'g'))
+	  (*ncomp)++;  break;
+         }  	
+    }    
+#else
+  for(n=0; n<npair; n++)
+    {
+      if ((*(ptr+lpair-n) == 'n') && (*(ptr+n) != 'n')) {
+	(*ncomp)++;   }
+      else  {   
+	switch (*(ptr+n)) {
+	case 'a': if (*(ptr+lpair-n) == 't') (*ncomp)++;  break;
+	case 'c': if (*(ptr+lpair-n) == 'g') (*ncomp)++;  break;
+	case 'g': case 'r': if ((*(ptr+lpair-n) == 'c') || (*(ptr+lpair-n) == 't'))
+	  (*ncomp)++;  break;
+	case 't': case 'y': if ((*(ptr+lpair-n) == 'a') || (*(ptr+lpair-n) == 'g'))
+	  (*ncomp)++;  break;
+	case 'n': if (*(ptr+lpair-n) != 'n') (*ncomp)++;  break; 
+	}
+      }  	
+    }    
+#endif
+
+}
+
+/* Subroutine looking for base-pairings between two parts of the sequence.
+   It returns the number of base-pairings found (ncomp) */
+
+/* replaced by new basepairing() function above  */ 
+
+void 
+old_basepairing(char *ptr, int npair, int lpair, int *ncomp)
+
+{
+
+char base[5]; /* character string containing the 4 bases A, C, G and T */
+char temp1[2], temp2[2]; /* temporary tables */
+int n,j1,j2;
+
+/* Table 'pairing' gives the base-pairing scheme. If two nucleotides can 
+   form a base-pairing, the value in the table is 1 otherwise it is 0. */
+
+static int pairing[4][4]= {            
+                          {0,0,0,1},
+                          {0,0,1,0},
+                          {0,1,0,1},
+                          {1,0,1,0},
+                          };         
+
+base[0]='a', base[1]='c', base[2]='g', base[3]='t', base[4]='\0';
+temp1[0]='\0';
+temp1[1]='\0';
+temp2[0]='\0';
+temp2[1]='\0';
+
+*ncomp=0;
+for(n=0; n<npair; n++)
+  {
+
+    temp1[0]= *(ptr+n);  /* temp1[0] contains the base found at a given
+			    position in the first part of the stem */
+                        
+    temp2[0]= *(ptr+lpair-n); /* temp2[0] contains the base found at the 
+				 position of the second part of the stem that 
+				 should form the base-pairing with temp1[0] */
+    j1= myindex(base,temp1); /* Code the base found in temp1[0]. j1 can take the
+				value 0 (for A), 1 (for C), 2 (for G) and 3 (for T) */
+                           
+    j2= myindex(base,temp2); /* same than j1 for the base in temp2[0] */
+
+    /* Test if the bases in temp1[0] and temp2[0] can form a base-parings */
+
+/* Assume non-ATGC base can bp with anything  */
+
+#ifdef NO_AMBIG
+    if (pairing[j1][j2] == 1) 
+      *ncomp= (*ncomp)+1;
+#else
+    if (j1 == -1 || j2 == -1) 
+      *ncomp= (*ncomp)+1;    
+    else if (pairing[j1][j2] == 1) 
+      *ncomp= (*ncomp)+1;
+#endif
+  }
+}
+
+
+
+/* Subroutine that complements the sequence. It returns the complementary 
+   sequence to the main */
+
+/* Modifed to dynamically allocate space for reverse complement & then */
+/* release memory occupied by original sequence */
+/* Sets *sequence pointer to new reverse complement sequence */
+
+void 
+compstrand(char **sequence,   /* pointer to the sequence string */
+	   long int seqlen    /* sequence length   */
+	   )
+{
+
+char *ptr, *revseq;
+long int pos;
+
+
+revseq= (char *) calloc (seqlen+1,sizeof(char)); 
+
+if (revseq == NULL) 
+  {
+  fprintf(stderr,"tRNAscan1.4: Can't malloc for complement sequence\n");
+  exit(-1);
+  }
+
+
+/* Complementation of the sequence */
+
+for (pos=0, ptr= &((*sequence)[seqlen-1]); pos<seqlen; pos++, ptr--) 
+  {
+    switch (*ptr)
+      {
+      case 'a':
+	revseq[pos]='t';
+	break;
+      case 'c':
+	revseq[pos]='g';
+	break;
+      case 'g':
+	revseq[pos]='c';
+	break;
+      case 't':
+	revseq[pos]='a';
+	break;
+      default:
+	revseq[pos]='n';
+	break;
+      }
+  }
+
+revseq[seqlen] = '\0';
+
+free(*sequence);           /* release mem from original seq */
+*sequence = revseq;        
+
+} 
+
+
+/* Subroutine that codes the anticodon signal sequence by a number
+   comprised between 1 and 65. It returns this number. */
+
+/* Modified to eliminate call to myindex()  */
+
+void 
+codage(char *anticodon,    /* anticodon signal sequence */
+       int length1,        /* length of the anticodon signal, lenght1=3 */
+       int *num            /* number associated to the anticodon signal sequence */
+       )            
+         
+{
+int j=0,i,iba,match=0;
+iba=1;
+*num=1;
+
+/* Codage of the anticodon signal sequence. The codage is done by 
+   alphabetical order, i. e., AAA is coded by 1, AAC is coded by 2 
+   and so on until TTT that is coded by 64. If a base is not determined
+   in the anticodon signal sequence, the anticodon is coded by 65. */
+
+for (i=length1; i>=1;i--)
+  {
+
+    switch (anticodon[i-1]) {
+    case 'a': j=0; break;
+    case 'c': j=1; break;
+    case 'g': j=2; break;
+    case 't': j=3; break;
+    default: j=-1;
+    }
+
+    if (j == -1)
+      {
+	match=1;
+	i=1;
+      }
+    *num=(*num)+j*iba;
+    iba=4*iba;
+  }
+
+if (match)
+  *num=65;
+  
+}
+
+
+/* Subroutine that determines the tRNA gene family */
+
+void 
+corresaa(int num,           /* Number coding the anticodon signal sequence */
+	 char *type_trna    /* tRNA gene family */
+	 )
+                 
+{
+
+/*The table 'amino_acid' gives the correspondence between the number 
+  (num) coding the anticodon signal and the amino acid that is added 
+  to the protein by the tRNA. For example, if the anticodon is AAA then
+  num=1 and the table will associate the amino acid Phe to that anticodon. 
+  The tRNA gene in that case will be a Phe tRNA gene. */
+
+static char *amino_acid[]= {"Phe","Val","Leu","Ile","Cys","Trp","Arg","Ser",
+                           "Ser","Ala","Pro","Thr","Tyr","Asp","His","Asn",
+                           "Leu","Val","Leu","Met","Trp","Gly","Arg","Arg",
+                           "Ser","Ala","Pro","Thr","Sup","Glu","Gln","Lys",
+                           "Phe","Val","Leu","Ile","Cys","Gly","Arg","Ser",
+                           "Ser","Ala","Pro","Thr","Tyr","Asp","His","Asn",
+                           "Leu","Val","Leu","Ile","Sup","Gly","Arg","Arg",
+                           "Ser","Ala","Pro","Thr","Sup","Glu","Gln","Lys",
+                           "Ind"};
+
+strncpy(type_trna,amino_acid[num-1],3);
+}
+
+/* Subroutine that prints the results of the search */
+
+void 
+printresult(FILE *fpo,     /* output file pointer */
+	    FILE *fpverb,   /* character string for the name of the sequence */
+	    char *name, 
+	    long int pos1,    /* first position of the D signal */
+	    long int pos,     /* first position of the T-Psi-C signal */
+	    int lpair,        /* number of nucleotides between the */
+			      /* first position  of the D arm and the last one */
+	    int lpair1,     /* number of nucleotides between the first position of the
+			       aminoacyl arm and the last one */
+	    int lpair2,     /* number of nucleotides between the first position of the 
+			       anticodon arm and the last one */
+	    int nloop,      /* nloop=0, scanning of the direct strand; nloop=1 scanning of 
+			       the complementary strand */
+	    int *ntrna,     /* number of tRNA genes predicted in the sequence */
+	    char *chaine2,  /* character string for the predicted tRNA gene sequence */
+	    char *sequence,    /* character string containing the sequence tested */
+	    long int length,   /* length of the sequence */
+	    int *match,      /* match=1 if at least one tRNA gene has been found on the 
+				direct strand and 0 otherwise */
+	    int ncomp,       /* number of base-pairings in the anticodon arm of the
+				predicted tRNA gene */
+	    char *type_trna,     /* character string for the tRNA gene family */
+	    char *anticodon,      /* character string for the anticodon signal sequence */
+	    long int sqoffset   /* offset nucleotide numbering by this much (set with -i param) */
+	    ) 
+
+{
+long int pos2; /* first position of the predicted tRNA gene when it
+               is found on the complementary strand */
+long int posstart; /* first position of the intron */
+long int posend; /* last position of the intron */
+
+
+/* If lpair2 > 16, treatment of the tRNA gene with one intron */
+
+/* Results for the tRNA genes predicted on the direct strand */
+
+#ifdef VERBOSE
+fprintf(fpverb,"*** tRNA found\n\n");
+#endif 
+
+
+if ((nloop) == 0)
+  {
+  if((*ntrna) == 1)
+    fprintf(fpo,"sequence name= %s\n", name);
+
+  fprintf(fpo,"start position= %ld end position= %ld\n",pos1-7+sqoffset,pos1-6+lpair1+sqoffset);
+  fprintf(fpo,"potential tRNA sequence= %s\n",chaine2);
+  fprintf(fpo,"D signal= %ld %ld TpsyC signal= %ld %ld\n", pos1+sqoffset,pos1+7+sqoffset, pos+sqoffset,
+  pos+14+sqoffset);
+  fprintf(fpo,"amino-acyl stem= %ld-%ld;%ld-%ld\n",pos1-7+sqoffset,pos1-1+sqoffset,pos1-13+lpair1+sqoffset,
+  pos1-7+lpair1+sqoffset);
+  fprintf(fpo,"D stem= %ld-%ld;%ld-%ld\n",pos1+2+sqoffset,pos1+4+sqoffset,pos1+lpair+sqoffset,
+	  pos1+lpair+2+sqoffset);
+
+  if(lpair2 > 16)
+    {
+    fprintf(fpo,"anticodon stem= %ld-%ld;%ld-%ld\n",pos1+lpair+4+sqoffset,pos1+lpair+8+sqoffset,
+    pos1+lpair+lpair2+sqoffset,pos1+lpair+lpair2+4+sqoffset);
+    }
+  else
+    {
+    fprintf(fpo,"anticodon stem= %ld-%ld;%ld-%ld\n",pos1+lpair+4+sqoffset,pos1+lpair+8+sqoffset,
+    pos1+lpair+16+sqoffset,pos1+lpair+20+sqoffset);
+    }
+
+  fprintf(fpo,"TpsyC stem= %ld-%ld;%ld-%ld\n",pos+1+sqoffset,pos+5+sqoffset,pos+13+sqoffset,pos+17+sqoffset);
+  if (strcmp(type_trna,"Ind") != 0)
+    {
+    fprintf(fpo,"tRNA predict as a tRNA- %s : anticodon %s\n", type_trna,
+    anticodon);
+    }
+  else
+    {
+    fprintf(fpo,"anticodon includes unknown bases\n");
+    } 
+
+  if (lpair2 > 16)
+   {
+    posstart=pos1+lpair+15;
+    posend= pos1+lpair+lpair2-2;
+    fprintf(fpo,"potential intron between positions %ld %ld\n",posstart+sqoffset,
+    posend+sqoffset); 
+    }
+  fprintf(fpo,"number of base pairing in the anticodon stem= %d\n",ncomp);
+  fprintf(fpo,"\n");
+  }
+else
+  {
+
+/* Results on the complementary strand */
+
+/* If no tRNA gene is predicted on the direct strand, then for the first
+   tRNA gene predicted on the complementary strand the two following lines
+   are printed in the output file */  
+ 
+  if( (!(*match)) && ((*ntrna) == 1))
+    {
+    fprintf(fpo,"sequence name= %s\n", name);
+    fprintf(fpo,"complementary strand\n");
+    }
+
+/* If tRNA genes are predicted on the direct strand, then for the first
+   tRNA gene predicted on the complemetary strand the following line is
+   printed in the output file */
+
+  else if ((*ntrna) == 1)
+    {
+    fprintf(fpo,"complementary strand\n");
+    }
+
+  pos2= length-pos1+8;
+  fprintf(fpo,"start position= %ld end position= %ld\n",pos2+sqoffset,pos2-lpair1-1+sqoffset);
+  fprintf(fpo,"potential tRNA sequence= %s\n",chaine2);
+              
+  fprintf(fpo,"D signal= %ld %ld TpsyC signal= %ld %ld\n",length-pos1+1+sqoffset,
+  length-pos1-6+sqoffset,length-pos+1+sqoffset,length-pos-13+sqoffset); 
+  fprintf(fpo,"amino-acyl stem= %ld-%ld;%ld-%ld\n",pos2+sqoffset,pos2-6+sqoffset, pos2-lpair1+6+sqoffset,
+  pos2-lpair1+sqoffset);
+  fprintf(fpo,"D stem= %ld-%ld;%ld-%ld\n",length-pos1-1+sqoffset,length-pos1-3+sqoffset,
+  length-pos1-lpair+1+sqoffset,length-pos1-lpair-1+sqoffset);
+
+  if (lpair2 > 16)
+    {
+    posstart=pos1+lpair+15;
+    posend=pos1+lpair+lpair2-2;
+    fprintf(fpo,"anticodon stem= %ld-%ld;%ld-%ld\n",length-pos1-lpair-3+sqoffset,
+    length-pos1-lpair-7+sqoffset,length-posend-1+sqoffset,length-posend-5+sqoffset);
+    }
+  else
+    {
+    fprintf(fpo,"anticodon stem= %ld-%ld;%ld-%ld\n",length-pos1-lpair-3+sqoffset,
+    length-pos1-lpair-7+sqoffset,length-pos1-lpair-lpair2+1+sqoffset,
+    length-pos1-lpair-lpair2-3+sqoffset);
+    }
+
+  fprintf(fpo,"TpsyC stem= %ld-%ld;%ld-%ld\n",length-pos+sqoffset,length-pos-4+sqoffset,
+  length-pos-12+sqoffset,length-pos-16+sqoffset);
+
+  if (strcmp(type_trna,"Ind") != 0)
+    {
+    fprintf(fpo,"tRNA predict as a tRNA- %s : anticodon %s\n", type_trna,
+    anticodon);
+    }
+  else
+    {
+    fprintf(fpo,"anticodon includes unknown bases\n"); 
+    }
+
+  if (lpair2 > 16)
+    {
+    posstart=pos1+lpair+15;
+    posend=pos1+lpair+lpair2-2;
+    fprintf(fpo,"potential intron between positions %ld %ld\n",
+    length-posstart+1+sqoffset ,length-posend+1+sqoffset);
+    }
+
+  fprintf(fpo,"number of base pairing in the anticodon stem=%d\n",ncomp);
+  fprintf(fpo,"\n");
+  }
+}
+
+
+void 
+set_search_params (Param_set_type *ps,
+		   int params)
+  {
+    
+    if (params == 1) {
+      ps->tpc_sig_thresh = ST_TPC_SIG_THRESH;
+      ps->d_sig_thresh = ST_D_SIG_THRESH;
+      ps->sg_cutoff = ST_SG_CUTOFF; 
+      ps->tpc_inv = ST_TPC_INV;
+      ps->tpc_incsg = ST_TPC_INCSG;
+      ps->tpc_keep = ST_TPC_KEEP;
+      ps->d_inv = ST_D_INV;
+      ps->look_for_acloop_sg = ST_LOOK_FOR_ACLOOP_SG;
+      ps->acloop_min = ST_ACLOOP_MIN;  
+      ps->aa_incsg = ST_AA_INCSG;
+      ps->aa_keep = ST_AA_KEEP;
+    }
+    else if (params == 2) {
+      ps->tpc_sig_thresh = RX_TPC_SIG_THRESH;
+      ps->d_sig_thresh = RX_D_SIG_THRESH;
+      ps->sg_cutoff = RX_SG_CUTOFF; 
+      ps->tpc_inv = RX_TPC_INV;
+      ps->tpc_incsg = RX_TPC_INCSG;
+      ps->tpc_keep = RX_TPC_KEEP;
+      ps->d_inv = RX_D_INV;
+      ps->look_for_acloop_sg = RX_LOOK_FOR_ACLOOP_SG;
+      ps->acloop_min = RX_ACLOOP_MIN;  
+      ps->aa_incsg = RX_AA_INCSG;
+      ps->aa_keep = RX_AA_KEEP;
+    }
+    else if (params == 3) {
+      ps->tpc_sig_thresh = ALT_TPC_SIG_THRESH;
+      ps->d_sig_thresh = ALT_D_SIG_THRESH;
+      ps->sg_cutoff = ALT_SG_CUTOFF; 
+      ps->tpc_inv = ALT_TPC_INV;
+      ps->tpc_incsg = ALT_TPC_INCSG;
+      ps->tpc_keep = ALT_TPC_KEEP;
+      ps->d_inv = ALT_D_INV;
+      ps->look_for_acloop_sg = ALT_LOOK_FOR_ACLOOP_SG;
+      ps->acloop_min = ALT_ACLOOP_MIN;  
+      ps->aa_incsg = ALT_AA_INCSG;
+      ps->aa_keep = ALT_AA_KEEP;
+    }
+    else {
+      fprintf (stderr,"tRNAscan1.4: FATAL: Unable to select search parameter set.\n");
+      exit(1);
+    }
+    
+  }
+ 
+
+
+
+
+
+
+
+
+
+
+
diff --git a/types.c b/types.c
new file mode 100644
index 0000000..7d57eec
--- /dev/null
+++ b/types.c
@@ -0,0 +1,113 @@
+/* SQUID - A C function library for biological sequence analysis
+ * Copyright (C) 1992-1996 Sean R. Eddy	
+ *
+ *    This source code is distributed under terms of the
+ *    GNU General Public License. See the files COPYING 
+ *    and GNULICENSE for further details.
+ *
+ */
+
+/* file: types.c
+ * 
+ * Finicky type checkers for strings. Return 1 (TRUE) if ok, 0 elsewise.
+ * 
+ */
+
+#include <string.h>
+#include <ctype.h>
+#include "squid.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+
+
+/* Function: IsInt()
+ * 
+ * Returns TRUE if s points to something that atoi() will parse
+ * completely and convert to an integer.
+ */
+int
+IsInt(char *s)
+{
+  int hex = 0;
+
+  if (s == NULL) {squid_errno = SQERR_PARAMETER; return 0; }
+
+				/* skip whitespace */
+  while (isspace(*s)) s++;      
+				/* skip leading sign */
+  if (*s == '-' || *s == '+') s++;
+				/* skip leading conversion signals */
+  if ((strncmp(s, "0x", 2) == 0 && (int) strlen(s) > 2) ||
+      (strncmp(s, "0X", 2) == 0 && (int) strlen(s) > 2))
+    {
+      s += 2;
+      hex = 1;
+    }
+  else if (*s == '0' && (int) strlen(s) > 1)
+    s++;
+				/* examine remainder for garbage chars */
+  if (!hex)
+    while (*s != '\0')
+      {
+	if (!isdigit(*s)) return 0;
+	s++;
+      }
+  else
+    while (*s != '\0')
+      {
+	if (!isxdigit(*s)) return 0;
+	s++;
+      }
+
+  return 1;
+}
+
+
+/* Function: IsReal()
+ * 
+ * Purpose:  Returns TRUE if s is a string representation
+ *           of a valid floating point number.
+ */
+int
+IsReal(char *s)
+{
+  int gotdecimal = 0;
+  int gotexp     = 0;
+  int gotreal    = 0;
+
+  if (s == NULL) return 0;
+
+  while (isspace(*s)) s++;         /* skip leading whitespace */
+  if (*s == '-' || *s == '+') s++; /* skip leading sign */
+
+  /* Examine remainder for garbage. Allowed one '.' and
+   * one 'e' or 'E'; if both '.' and e/E occur, '.'
+   * must be first.
+   */
+  while (*s != '\0')
+    {
+      if (isdigit(*s)) 
+	gotreal++;
+      else if (*s == '.')
+	{
+	  if (gotdecimal) return 0; /* can't have two */
+	  if (gotexp) return 0;	/* e/E preceded . */
+	  else gotdecimal++;
+	}
+      else if (*s == 'e' || *s == 'E')
+	{
+	  if (gotexp) return 0;	/* can't have two */
+	  else gotexp++;
+	}
+      else if (isspace(*s))
+	break;
+
+      s++;
+    }
+
+  while (isspace(*s)) s++;         /* skip trailing whitespace */
+  if (*s == '\0' && gotreal) return 1;
+  else return 0;
+}
diff --git a/version.h b/version.h
new file mode 100644
index 0000000..28cdf43
--- /dev/null
+++ b/version.h
@@ -0,0 +1,17 @@
+/* version.h
+ * SRE, Mon Sep  6 09:32:36 1993
+ * 
+ * During a real build, these won't be used at all -- they'll
+ * be overridden from the Makefile. This is only used during
+ * manual compilations and to keep lint quiet. It also might
+ * make a good record of the revisions the package goes through.
+ * 
+ */
+
+/* #define DEBUG*/			/* turn all debugging output on */
+
+
+#ifndef RELEASE
+#define RELEASE      "2.4.4"
+#define RELEASEDATE  "January 1996"
+#endif
diff --git a/viterbi.c b/viterbi.c
new file mode 100644
index 0000000..871db4c
--- /dev/null
+++ b/viterbi.c
@@ -0,0 +1,623 @@
+/* viterbi.c
+ * for 2.0:  SRE, Tue Sep 28 09:15:07 1993
+ * from 1.0: SRE, Wed Jun 30 17:42:44 1993
+ *           as revised Tue Aug 24 12:06:12 1993: integer two-matrix version
+ * 
+ * Implementation of the three-dimensional dynamic programming
+ * algorithm for aligning a covariance model to a sequence.
+ *
+ * To optimize memory access patterns, the score storage is implemented
+ * as a two-matrix version. amx is the
+ * main storage. bmx is a smaller auxiliary matrix with a different
+ * access pattern, holding scores of BEGIN state alignments; it
+ * is used when calculating BIFURC scores.
+ *
+ * amx is [j = 0..N] [diff = 0..j] [y = 0..statenum]
+ *  diff == 0 is for off-diagonal boundary conditions (this is why diff is shifted +1)
+ *  diff == 1 is for the diagonal, i==j
+ *
+ * bmx is [y = 0..statenum] [j = 0..N] [ diff = 0..j]
+ *   a j,diff matrix exists only where y is a BEGIN state
+ *
+ * The 2.0 implementation allows variable storage per node rather
+ * than storing and calculating a fixed max number of states per node, 
+ * which should save up to 2x in both time and space.
+ *
+ * An optimization is made which requires END states to be explicitly
+ * added, so statenum (the number of states in the integer model)
+ * is *inclusive* of ENDs.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+
+#include "squid.h"
+#include "structs.h"
+#include "funcs.h"
+
+#ifdef MEMDEBUG
+#include "dbmalloc.h"
+#endif
+#ifdef DEBUG
+#include <assert.h>
+#endif
+
+static int  allocate_mx(struct istate_s *icm,int statenum, int seqlen,	
+			int ****ret_amx, int ****ret_bmx);
+static int  init_mx(struct istate_s *icm, int statenum, int N, int ***amx, int ***bmx);
+static int  recurse_mx(struct istate_s *icm, int statenum, char *seq, int N, int ***amx, int ***bmx);
+static int  trace_mx(struct istate_s *icm, char *seq, int N, 
+			 int ***amx, int ***bmx, struct trace_s **ret_tr);
+static void free_mx(int ***amx, int ***bmx, int statenum, int seqlen);
+
+
+/* Function: ViterbiAlign()
+ * 
+ * Purpose:  Align a sequence to a model, using the alignment
+ *           algorithm. Return the score of the alignment and
+ *           the traceback.
+ *
+ * Args:     icm       - the model to align sequence to
+ *           statenum  - # of states in the model
+ *           seq       - sequence to align model to
+ *           ret_score - RETURN: global alignment score
+ *           ret_trace - RETURN: traceback tree
+ *                       
+ * Return:   1 on success, 0 on failure.                      
+ */       
+int
+ViterbiAlign(struct istate_s *icm,       
+	     int              statenum,
+	     char            *seq,      
+	     double          *ret_score,
+	     struct trace_s **ret_trace)
+{
+  int ***amx;			/* the main score matrix    */
+  int ***bmx;                   /* the BEGIN score matrix   */
+  int    N;			/* length of sequence       */
+
+  N = strlen(seq);
+  seq--;			/* convert to 1..N. Ugh! */
+
+  if (! allocate_mx(icm, statenum, N, &amx, &bmx)) return 0;
+#ifdef DEBUG
+  printf("allocated matrices\n");
+#endif
+
+  if (! init_mx(icm, statenum, N, amx, bmx)) return 0;
+#ifdef DEBUG
+  printf("matrices initialized\n");
+#endif
+  
+  if (! recurse_mx(icm, statenum, seq, N, amx, bmx)) return 0;
+#ifdef DEBUG
+  printf("recursion finished\n");
+  PrintViterbiAMX(stdout, icm, statenum, seq, N, amx);
+#endif
+
+  *ret_score = ((double) bmx[0][N][N] / INTPRECISION);
+#ifdef DEBUG
+  printf("have a score of %.2f, starting traceback\n", *ret_score);
+#endif
+
+  if (! trace_mx(icm, seq, N, amx, bmx, ret_trace)) return 0;
+#ifdef DEBUG
+  printf("trace complete\n");
+  PrintTrace(stdout, *ret_trace);
+#endif
+  free_mx(amx, bmx, statenum, N);
+
+#ifdef SRE_REMOVED
+  /* OK, boys, crank up the MasPar DPU.
+   * 24 bytes = 6 addresses passed * 4 bytes/address (always right?)
+   * MPViterbiAlign() copies ret_score out, but doesn't do anything
+   * with the traceback yet
+   */
+  callRequest(MPViterbiAlign, 24, icm, &statenum, seq, &N, ret_score, ret_trace);
+#endif /* MASPAR */
+
+  return 1;
+}
+
+/* Function: allocate_cvmx()
+ * 
+ * Purpose:  Malloc space for the score matrices.
+ *           amx is indexed as j, i, y.
+ *           bmx is indexed as k, j, i.      
+ *           In the two sequence dimensions j, i they are
+ *           diagonal (+1 off diagonal) matrices with
+ *           rows j = 0..N, i = 1..j+1.
+ *           In the node dimension k bmx is k = 0..M.
+ *           In the state dimension y amx is y = 0..numstates.
+ *           
+ * Args:     icm      - the int, log-odds, state-based model
+ *           statenum - number of states in model
+ *           seqlen   - length of sequence
+ *           ret_amx  - RETURN: main score matrix
+ *           ret_bmx  - RETURN: BEGIN score matrix
+ * 
+ * Return:   Ptr to allocated scoring matrix, or
+ *           dies and exits.
+ */
+static int 
+allocate_mx(struct istate_s *icm,
+	    int     statenum,
+	    int     seqlen,	
+	    int ****ret_amx,
+	    int ****ret_bmx)	
+{
+  int  ***amx;
+  int  ***bmx;
+  int     diag, j, y;
+
+
+  /* Main matrix, amx: fastest varying index is y (j,i,y)
+   */
+				/* malloc for j = 0..seqlen rows */
+  if ((amx = (int ***) malloc ((seqlen + 1)* sizeof(int **))) == NULL)
+    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+
+  for (j = 0; j <= seqlen; j++)	/* loop over rows j = 0..N */
+    {
+				/* malloc for diag = 0..j cols */
+      if ((amx[j] = (int **) malloc ((j + 1) * sizeof(int *))) == NULL)
+	Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+      
+				/* loop over cols diag = 0..j */
+      for (diag = 0; diag <= j; diag++)
+				/* malloc for y = 0..statenum-1 decks */
+	  if ((amx[j][diag] = (int *) malloc ((statenum) * sizeof (int))) == NULL)
+	    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+    }
+
+  
+  /* BEGIN auxiliary matrix: fastest varying index is diag (y,j,diag)
+   */
+				/* 0..statenum-1 decks */
+  if ((bmx = (int ***) malloc (statenum * sizeof(int **))) == NULL)
+    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+
+  for (y = 0; y < statenum; y++)
+    {
+      bmx[y] = NULL;
+      if (icm[y].statetype == uBEGIN_ST)
+	{
+	  if ((bmx[y] = (int **) malloc ((seqlen+1) * sizeof(int *))) == NULL)
+	    Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+
+	  for (j = 0; j <= seqlen; j++)
+	    if ((bmx[y][j] = (int *) malloc ((j+1) * sizeof(int))) == NULL)
+	      Die("Memory allocation error in %s line %d", __FILE__, __LINE__);
+	}
+    }
+
+  *ret_amx = amx;
+  *ret_bmx = bmx;
+  return 1;
+}
+
+
+
+/* Function: free_mx()
+ * 
+ * Purpose:  Free the space allocated to the two scoring matrices.
+ *           Precisely mirrors the allocations above in allocate_cvmx().
+ * 
+ * Return:   (void)
+ */
+static void
+free_mx(int  ***amx,
+	int  ***bmx,
+	int     statenum,
+	int     seqlen)
+{
+  int diag, j, y;
+
+  /* Free the main matrix, amx
+   */
+  for (j = 0; j <= seqlen; j++)
+    {
+      for (diag = 0; diag <= j; diag++)
+	free(amx[j][diag]);
+      free(amx[j]);
+    }
+  free(amx);
+
+  /* Free the auxiliary BEGIN matrix, bmx
+   */
+  for (y = 0; y < statenum; y++)
+    if (bmx[y] != NULL)
+      {
+	for (j = 0; j <= seqlen; j++)
+	  free(bmx[y][j]);
+	free(bmx[y]);
+      }
+  free(bmx);
+}
+
+
+
+/* Function: init_mx()
+ * 
+ * Purpose:  Initialization of the scoring matrices. We initialize the off-diagonal,
+ *           the diagonal, and the "floor" (end states) of the cube.
+ * 
+ * Return:   1 on success, 0 on failure.
+ */
+static int
+init_mx(struct istate_s *icm,          /* integer model  */
+	int              statenum,     /* number of states in icm */
+	int              N,	       /* length of seq  */
+	int           ***amx,
+	int           ***bmx)
+{
+  int diag, j, y;		/* counters for indices over the cvmx            */
+  int ynext;			/* index of next state k+1                       */
+  int *beam;                    /* z-axis vector of numbers in amx               */
+
+  /* Init the whole amx to -Infinity. We do this with memcpy, trying
+   * to be fast. We fill in j=0,diag=0 by hand, then memcpy() the other
+   * columns.
+   */
+  for (y = 0; y < statenum; y++)
+    amx[0][0][y] = NEGINFINITY;
+  for (j = 1; j <= N; j++)
+    for (diag = 0; diag <= j; diag++)
+      memcpy(amx[j][diag], amx[0][0], statenum * sizeof(int));
+
+  /* Init the whole bmx to -Inf. We know state 0 is a begin (it's ROOT), so we
+   * start there, and memcpy rows as needed.
+   */
+  for (diag = 0; diag <= N; diag++)  bmx[0][N][diag] = NEGINFINITY;
+  for (j = 0; j < N; j++)
+    memcpy(bmx[0][j], bmx[0][N], (j+1) * sizeof(int));
+
+  for (y = 1; y < statenum; y++)
+    if (bmx[y] != NULL)
+      for (j = 0; j <= N; j++)
+	memcpy(bmx[y][j], bmx[0][N], (j+1) * sizeof(int));
+  
+  /* Init the off-diagonal (j = 0..N; diag == 0) with -log P scores.
+   * End state = 0;
+   * del, bifurc states are calc'ed
+   * begin states same as del's
+   */
+  for (j = 0; j <= N; j++)
+    for (y = statenum-1; y >= 0; y--)
+      {
+	if (icm[y].statetype == uEND_ST)
+	  amx[j][0][y] = 0; 
+
+	else if (icm[y].statetype == uBIFURC_ST)
+	  amx[j][0][y] = bmx[icm[y].tmx[0]][j][0] + bmx[icm[y].tmx[1]][j][0];
+
+	else if (icm[y].statetype == uDEL_ST || icm[y].statetype == uBEGIN_ST)
+	  {
+				/* only calc DEL-DEL and BEGIN-DEL transitions. Since
+				 * we optimized the state transition tables, removing
+				 * the unused ones, we don't know where the number
+				 * for "to DEL" is! But we can find it, because it'll
+				 * be the connection to a non-infinite score */
+	    beam = amx[j][0] + y + icm[y].offset;
+	    for (ynext = 0; ynext < icm[y].connectnum; ynext++)
+	      {
+		if (*beam != NEGINFINITY)
+		  amx[j][0][y] = *beam + icm[y].tmx[ynext];
+		beam++;
+	      }
+
+				/* make a copy into bmx if y is a BEGIN */
+	    if (icm[y].statetype == uBEGIN_ST)
+	      bmx[y][j][0] = amx[j][0][y];
+	  }
+      }
+
+  return 1;
+}
+
+
+
+/* Function: recurse_mx()
+ * 
+ * Purpose:  Carry out the fill stage of the dynamic programming
+ *           algorithm.
+ *           
+ * Returns:  1 on success, 0 on failure.
+ */
+static int
+recurse_mx(struct istate_s *icm,      /* integer, state-form model */
+	   int              statenum, /* number of states in icm   */
+	   char            *seq,      /* sequence, 1..N            */
+	   int              N,	      /* length of seq             */
+	   int           ***amx,      /* main scoring matrix       */
+	   int           ***bmx)      /* bifurc scoring matrix     */
+{
+  int i, j, y;		        /* indices for 4 dimensions                    */
+  int diff;			/* loop counter for difference: diff = j-i + 1 */
+  int symi, symj;		/* symbol indices for seq[i], seq[j]           */
+  int sc;			/* tmp for a score                             */
+  int ynext;			/* index of next state y                       */
+
+  int *beam;                    /* ptr to a beam (z-axis vector)               */
+  int  leftdiff;		/* diff coord of BEGIN_L of a bifurc     */
+  int  leftj;			/* j coord of BEGIN_L of a bifurc        */
+  int **left_p;			/* pointer into whole 2D deck of BEGINL's of a bifurc */
+  int *right_p;                 /* ptr into row of BEGIN_R's of a bifurc */
+  int *scp;			/* score pointer: ptr into beam of scores being calc'ed */
+  struct istate_s *st;		/* state pointer: ptr at current state in icm */
+  int *tmx;
+  int  emitsc;
+
+  for (j = 1; j <= N; j++)
+    {
+	symj = SymbolIndex(seq[j]);      
+	for (diff = 1; diff <= j; diff++)
+	  {
+	    i = j - diff + 1;
+	    if (i < 1) break;
+
+	    symi = SymbolIndex(seq[i]);
+
+#ifdef DEBUG
+	    assert(symi >= 0 && symi < ALPHASIZE);
+	    assert(symj >= 0 && symj < ALPHASIZE);
+#endif
+
+	    scp = &amx[j][diff][statenum-1];
+	    st  = &icm[statenum-1];
+	    for (y = statenum-1; y >= 0; y--, scp--, st--)
+	      { /* loop over states */
+
+		if (st->statetype != uBIFURC_ST)	/* a normal (non-BIFURC) state */
+		  {
+		    /* Connect the "beam" pointer to the appropriate
+		     * starting place in the ynext scores we're connecting
+		     * y to
+		     */
+		    switch (st->statetype) {
+		    case uBEGIN_ST:
+		    case uDEL_ST:
+		      beam   = amx[j][diff];    
+		      emitsc = 0;    
+		      break;
+		    case uMATP_ST:  
+		      if (diff == 1) continue;
+		      beam   = amx[j-1][diff-2]; 
+		      emitsc = st->emit[symi * ALPHASIZE + symj];
+		      break; 
+		    case uMATR_ST:
+		    case uINSR_ST:
+		      beam   = amx[j-1][diff-1];
+		      emitsc = st->emit[symj];
+		      break;
+		    case uMATL_ST:
+		    case uINSL_ST:  
+		      beam   = amx[j][diff-1];   
+		      emitsc = st->emit[symi];
+		      break;
+		    case uEND_ST:   continue;
+		    default: Die("no such state type %d", st->statetype);
+		    }
+		    beam += y + st->offset;
+		    tmx  = st->tmx;
+
+
+		    /* Init for ynext == 0 case 
+		     */		
+		    *scp = *beam + *tmx;
+		    
+		    /* Calculate remaining cases
+		     */
+		    for (ynext = 1; ynext < st->connectnum; ynext++)
+		      {
+			beam++;
+			tmx++;
+			if (*beam > *scp)
+			  {
+			    sc = *beam + *tmx;
+			    if (sc > *scp)
+			      *scp = sc;
+			  }
+		      }
+		    
+		    /* Add emission scores now
+		     */
+		    *scp += emitsc;
+		    
+		    /* Make a copy into bmx if necessary
+		     */
+		    if (st->statetype == uBEGIN_ST)
+		      bmx[y][j][diff] = *scp;
+		  } /* end block of normal state stuff */
+		
+		else		/* a BIFURC state */
+		  {
+		    leftdiff = diff;
+		    leftj    = j;
+		    right_p  = bmx[st->tmx[1]][j];
+		    left_p   = bmx[st->tmx[0]];
+		    
+		    /* init w/ case that left branch emits it all */
+		    *scp = left_p[leftj][leftdiff] + *right_p;
+		    while (leftdiff > 0)
+		      {
+			leftdiff--;
+			leftj--;
+			right_p++;
+			
+			sc = left_p[leftj][leftdiff] + *right_p;
+			if (sc > *scp)
+			  *scp = sc;
+		      }
+		  }
+		
+	      } /* end loop over states */
+	  } /* end loop over diff */
+      } /* end loop over j */
+  return 1;
+}
+
+
+/* Function: trace_cvmx()
+ * 
+ * Purpose:  Trace stage of the dynamic programming: starting
+ *           at j=N, i=1, k=0/BEGIN, trace back the optimal
+ *           path. Returns a binary tree, ret_trace.
+ *           Caller is reponsible for free'ing ret_trace.
+ */
+static int
+trace_mx(struct istate_s *icm,       /* the model to align               */   
+	 char            *seq,       /* sequence to align it to  1..N    */
+	 int              N,
+	 int           ***amx,      
+	 int           ***bmx,
+	 struct trace_s **ret_trace) /* RETURN: the traceback tree       */
+{
+  struct trace_s *tr;           /* the traceback tree under construction */
+  struct trace_s *curr_tr;      /* ptr to node of tr we're working on    */
+  struct tracestack_s *dolist;  /* pushdown stack of active tr nodes     */
+  int diff,i, j;		/* coords in mx (0..N)                   */
+  int y;			/* counter for states (0..statenum-1)    */
+  int ynext;			/* holds "k+1" value                     */
+  int symi, symj;		/* array indices for left, right symbols */
+  int leftdiff;
+  int leftj;
+  int *right_p;
+  int *beam;
+  int  conni, connj;
+  int  sc;
+
+  /* Initialize.
+   * Start at i = 1, j = N and work towards diagonal
+   */
+  InitTrace(&tr, NULL);         /* start a trace tree */
+  dolist = InitTracestack();	/* start a stack for traversing the trace tree */
+
+  curr_tr = AttachTrace(tr, NULL, 0, N-1, 0, uBEGIN_ST);
+  PushTracestack(dolist, curr_tr);
+
+  /* Recursion. While there's active nodes in the stack, trace from them.
+   * 
+   * This is cribbed from recurse_cvmx(); it's almost the exact reverse.
+   * We know the best score, we just have to figure out where it came from.
+   */
+  while ((curr_tr = PopTracestack(dolist)) != NULL)
+    {
+				/* get some useful numbers, mostly for clarity */
+				/* which is important, since we're sort of misusing
+				 * fields in the trace structures! */
+      i    = curr_tr->emitl+1;
+      j    = curr_tr->emitr+1;
+      y    = curr_tr->nodeidx;
+      diff = j - i + 1;
+
+      /* During use here, nodeidx field is used to hold a *state* index,
+       * when we leave, everything must look like the rest of the package
+       * expects, so we clean up here.
+       */
+      curr_tr->nodeidx   = icm[y].nodeidx;
+
+				/* We used an END state here.
+				 * (We'd better be near the diagonal!)
+				 * We're done here. */
+      if (icm[y].statetype == uEND_ST)
+	{
+	  if (i <= j) Warn("trace: didn't reach off-diag, stop at i=%d j=%d y=%d", i,j,y);
+	  curr_tr->nodeidx = -1;
+	  continue;
+	}
+
+      else if (icm[y].statetype == uBIFURC_ST) /* bifurc state */
+	{
+				/* We used a BIFURC state here. 
+				 * It came from two branches. Redo the recurse_cvmx()
+				 * calculation to find them. */
+	  if (i > j)
+	    {
+	      PushTracestack(dolist, AttachTrace(curr_tr, NULL, i-1, j-1, icm[y].tmx[1], uBEGIN_ST));
+	      PushTracestack(dolist, AttachTrace(curr_tr, NULL, i-1, j-1, icm[y].tmx[0], uBEGIN_ST));
+	    }
+
+	  else
+	    {
+	      leftdiff = diff;
+	      leftj    = j;
+	      right_p  = bmx[icm[y].tmx[1]] [j];
+	      
+	      while (leftdiff >= 0)
+		{
+		  if (amx[j][diff][y] == bmx[icm[y].tmx[0]][leftj][leftdiff] + *right_p)
+		    {
+		      PushTracestack(dolist, AttachTrace(curr_tr, NULL, i + leftdiff-1, j-1, 
+							 icm[y].tmx[1], uBEGIN_ST));
+		      PushTracestack(dolist, AttachTrace(curr_tr, NULL, i -1, i+leftdiff-2, 
+							 icm[y].tmx[0], uBEGIN_ST));
+		      break;
+		    }
+		  leftdiff--;
+		  leftj--;
+		  right_p++;
+		}
+	      if (leftdiff < 0)
+		Die("bifurc reconstruction failed at ijy %d,%d,%d", i,j,y);
+	    }
+	}
+      
+      else			/* a normal (non-BIFURC) state */
+	{
+	  if (i > 0 && i <= N) symi  = SymbolIndex(seq[i]);
+	  if (j > 0 && j <= N) symj  = SymbolIndex(seq[j]);
+
+	  switch (icm[y].statetype) {
+	  case uBEGIN_ST:
+	  case uDEL_ST:   beam = amx[j][diff];     conni = i;   connj = j;   break;
+	  case uMATP_ST:  beam = amx[j-1][diff-2]; conni = i+1; connj = j-1; break;
+	  case uMATR_ST:
+	  case uINSR_ST:  beam = amx[j-1][diff-1]; conni = i;   connj = j-1; break;
+	  case uMATL_ST:
+	  case uINSL_ST:  beam = amx[j][diff-1];   conni = i+1; connj = j;   break;
+	  default: Die("no such state type %d", icm[y].statetype);
+	  }
+	  beam += y + icm[y].offset;
+
+				/* Calculate the score we'll try to match,
+				   by subtracting emission score as needed */
+	  sc = amx[j][diff][y];
+	  switch (icm[y].statetype) {
+	  case uBEGIN_ST:
+	  case uDEL_ST:   break;
+	  case uMATP_ST:  sc -= icm[y].emit[symi * ALPHASIZE + symj]; break;
+	  case uMATR_ST: 
+	  case uINSR_ST:  sc -= icm[y].emit[symj]; break;
+	  case uMATL_ST:
+	  case uINSL_ST:  sc -= icm[y].emit[symi]; break; 
+	  default: Die("no such state type %d", icm[y].statetype);
+	  }
+
+				/* find the right connection */
+	  for (ynext = 0; ynext < icm[y].connectnum; ynext++, beam++)
+	    if (sc == *beam + icm[y].tmx[ynext])
+	      {
+		PushTracestack(dolist, AttachTrace(curr_tr, NULL, conni-1, connj-1, 
+						   ynext + y + icm[y].offset, 
+						   icm[ynext + y + icm[y].offset].statetype));
+		break;
+	      }
+	  if (ynext == icm[y].connectnum)
+	    { Warn("can't continue traceback"); return 0; }
+	      
+	} /* (a normal statetype) */
+
+    } /* (while something is in the tracestack) */
+
+  FreeTracestack(dolist);
+
+  *ret_trace = tr;
+  return 1;
+}
+
+
+
+

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



More information about the debian-med-commit mailing list