diff -Nru beast2-mcmc-2.6.6+dfsg/build.xml beast2-mcmc-2.6.7+dfsg/build.xml
--- beast2-mcmc-2.6.6+dfsg/build.xml 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/build.xml 2022-04-04 07:18:36.000000000 +0000
@@ -269,10 +269,10 @@
-
-
+
+
-
+
@@ -847,7 +847,7 @@
-
+
-
+
@@ -1160,9 +1160,11 @@
-->
-
+
+
+
-
+
@@ -1170,17 +1172,21 @@
-
+
+
+
+
-
+
+
-
+
-
+
-
-
-
+
+
+
@@ -1204,9 +1210,11 @@
+
+
-
+
@@ -1217,9 +1225,11 @@
-->
-
+
+
+
-
+
@@ -1246,17 +1256,20 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -Nru beast2-mcmc-2.6.6+dfsg/debian/changelog beast2-mcmc-2.6.7+dfsg/debian/changelog
--- beast2-mcmc-2.6.6+dfsg/debian/changelog 2021-08-23 14:40:39.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/debian/changelog 2022-04-22 13:59:01.000000000 +0000
@@ -1,3 +1,10 @@
+beast2-mcmc (2.6.7+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 2.6.7+dfsg
+ * Reworking debian/copyright
+
+ -- Pierre Gruet Fri, 22 Apr 2022 15:59:01 +0200
+
beast2-mcmc (2.6.6+dfsg-2) unstable; urgency=medium
* Lowering heap size on 32 bit architectures
diff -Nru beast2-mcmc-2.6.6+dfsg/debian/copyright beast2-mcmc-2.6.7+dfsg/debian/copyright
--- beast2-mcmc-2.6.6+dfsg/debian/copyright 2020-09-30 06:08:29.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/debian/copyright 2022-04-22 13:53:50.000000000 +0000
@@ -6,10 +6,116 @@
Files-Excluded: */*.jar
Files: *
-Copyright: 2002-2011 Alexei Drummond and Andrew Rambaut
-License: LGPL-3+
+Copyright: 2002-2011 Alexei Drummond, Andrew Rambaut, and Walter Xie
+License: LGPL-2.1+
+
+Files: release/Mac/stub/*
+Copyright: 2014-2021 Tobias Fischer
+License: Expat
+
+Files: src/beast/app/tools/LogCombinerDialog.java
+ src/beast/app/treeannotator/TreeAnnotator.java
+ src/beast/app/treeannotator/TreeAnnotatorDialog.java
+ src/beast/evolution/alignment/distance/*
+ src/beast/evolution/branchratemodel/*
+ src/beast/evolution/likelihood/BeagleTreeLikelihood.java
+ src/beast/evolution/speciation/*
+ src/beast/evolution/tree/*
+ src/beast/math/*
+ src/beast/util/FrequencySet.java
+ src/test/beast/beast2vs1/*
+Copyright: 2002-2010 Alexei Drummond and Andrew Rambaut
+License: LGPL-2+
+
+Files: src/beast/evolution/operators/JointOperator.java
+ src/beast/evolution/tree/TreeTraceAnalysis.java
+ src/beast/app/draw/IntegerListInputEditor.java
+ src/test/beast/evolution/tree/RandomTreeTest.java
+Copyright: 2012-2015 Tim Vaughan
+License: GPL-3+
+
+Files: src/beast/core/parameter/GeneralParameterList.java
+ src/beast/app/beauti/JPackageRepositoryDialog.java
+Copyright: 2013-2014 Tim Vaughan
+License: LGPL-2.1+
+
+Files: src/beast/evolution/alignment/Sequence.java
+ src/beast/evolution/alignment/Alignment.java
+ src/beast/evolution/likelihood/TreeLikelihood.java
+ src/beast/evolution/likelihood/ThreadedTreeLikelihood.java
+ src/beast/evolution/likelihood/ThreadedLikelihoodCore.java
+ src/beast/evolution/likelihood/LikelihoodCore.java
+ src/beast/evolution/operators/Exchange.java
+ src/beast/evolution/operators/TreeOperator.java
+ src/beast/evolution/operators/SubtreeSlide.java
+ src/beast/evolution/operators/Uniform.java
+ src/beast/evolution/operators/WilsonBalding.java
+ src/beast/evolution/operators/ScaleOperator.java
+ src/beast/evolution/tree/Node.java
+ src/beast/evolution/sitemodel/SiteModel.java
+ src/beast/evolution/substitutionmodel/Frequencies.java
+ src/beast/evolution/substitutionmodel/TN93.java
+ src/beast/evolution/substitutionmodel/GeneralSubstitutionModel.java
+ src/beast/evolution/substitutionmodel/SubstitutionModel.java
+ src/beast/evolution/substitutionmodel/HKY.java
+ src/beast/util/MersenneTwisterFast.java
+ src/beast/util/PackageManager.java
+ src/beast/util/XMLParserException.java
+ src/beast/util/JSONParserException.java
+ src/beast/util/XMLProducer.java
+ src/beast/util/ClusterTree.java
+ src/beast/util/TreeParser.java
+ src/beast/util/JSONParser.java
+ src/beast/util/XMLParser.java
+ src/beast/util/PackageDependency.java
+ src/beast/util/Randomizer.java
+ src/beast/core/Distribution.java
+ src/beast/core/Input.java
+ src/beast/core/Description.java
+ src/beast/core/BEASTObject.java
+ src/beast/core/State.java
+ src/beast/core/util/CompoundDistribution.java
+ src/beast/core/MCMC.java
+ src/beast/core/Citation.java
+ src/beast/core/BEASTInterface.java
+ src/beast/core/Logger.java
+ src/beast/app/BeastMCMC.java
+ src/beast/app/DocMaker.java
+ src/beast/app/ModelBuilder.java
+ src/beast/app/draw/Document.java
+ src/beast/app/draw/InputShape.java
+ src/beast/app/draw/Selection.java
+ src/beast/app/draw/HelpBrowser.java
+ src/beast/app/draw/Arrow.java
+ src/beast/app/draw/Shape.java
+ src/beast/app/draw/ModelBuilder.java
+ src/beast/app/draw/BEASTObjectShape.java
+ src/beast/app/draw/TrackPoint.java
+Copyright: 2010 Remco Bouckaert
+License: LGPL-2+
-Files: src/org/apache/commons/math/*
+Files: src/beast/app/treeannotator/TreeSetParser.java
+Copyright: 2011 Remco Bouckaert
+License: GPL-2+
+
+Files: src/beast/app/treeannotator/RealNumberField.java
+Copyright: 2009 JAM Development Team
+License: LGPL-2.1+
+
+Files: src/beast/core/Operator.java
+Copyright: 2011 BEAST2 Core Team
+License: LGPL-2+
+
+Files: src/beast/core/parameter/BooleanParameter.java
+ src/beast/evolution/operators/BitFlipOperator.java
+Copyright: 2010 Joseph Heled jheled@gmail.com
+License: LGPL-2+
+
+Files: src/beast/math/MachineAccuracy.java
+Copyright: 2010 BEAST II Developer Group
+License: LGPL-2+
+
+Files: src/org/apache/*
Copyright: 2003-2016 The Apache Software Foundation
License: Apache-2.0
@@ -17,8 +123,11 @@
Copyright: 2010-2015 The Android Open Source Project
License: Apache-2.0
-Files: src/beast/app/treeannotator/TreeSetParser.java
-Copyright: 2011 Remco Bouckaert
+Files: debian/*
+Copyright: 2011-2012 Andreas Tille
+ 2022-2022 Pierre Gruet
+License: LGPL-3+
+
License: GPL-2+
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
@@ -33,10 +142,6 @@
On Debian systems, the complete text of the GNU General Public
License version 2 can be found in `/usr/share/common-licenses/GPL-2'.
-Files: src/beast/app/draw/IntegerListInputEditor.java
- src/beast/evolution/operators/JointOperator.java
- src/beast/evolution/tree/TreeTraceAnalysis.java
-Copyright: 2012-2015 Tim Vaughan
License: GPL-3+
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
@@ -51,10 +156,6 @@
On Debian systems, the complete text of the GNU General Public
License version 2 can be found in `/usr/share/common-licenses/GPL-3'.
-Files: debian/*
-Copyright: 2011-2012 Andreas Tille
-License: LGPL-3+
-
License: LGPL-3+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -91,3 +192,30 @@
.
On Debian systems you can find the full text of the Apache 2.0 license
at /usr/share/common-licenses/Apache-2.0.
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
+
+License: LGPL-2+
+ On Debian systems the full text of the LGPL-2 can be found in
+ /usr/share/common-licenses/LGPL-2
+
+License: LGPL-2.1+
+ On Debian systems, the complete text of the GNU Lesser General Public
+ License version 2.1 can be found in ‘/usr/share/common-licenses/LGPL-2.1’.
diff -Nru beast2-mcmc-2.6.6+dfsg/Dockerfile beast2-mcmc-2.6.7+dfsg/Dockerfile
--- beast2-mcmc-2.6.6+dfsg/Dockerfile 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/Dockerfile 2022-04-04 07:18:36.000000000 +0000
@@ -6,16 +6,21 @@
# To run the tests, use
# docker run beast_testing
#
+# To run just the core tests, use
+# docker run beast_testing test-core
+#
# To run the tests interactively, use
-# docker run -it -p 5900:5900 beast_testing /bin/bash
+# docker run --entrypoint /bin/bash -it -p 5900:5900 beast_testing
# This will give you a shell in the container. From this
# shell, run
-# vncserver $DISPLAY -geometry 1920x1080; ant -f build-testing.xml
+# ./entrypoint.sh
+# or
+# ./entrypoint.sh test-core
#
# The previous command exposes the VNC session, so while the
-# BEAUti test suite is running you can run a VNC viewer and
-# connect it to localhost (password: password) to observe
-# the graphical output of these tests.
+# BEAUti test suite is running you should be able to run a
+# VNC viewer and connect it to localhost (password: password)
+# to observe the graphical output of these tests.
FROM openjdk:8
diff -Nru beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/beast1/testEBSP-b1.xml beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/beast1/testEBSP-b1.xml
--- beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/beast1/testEBSP-b1.xml 1970-01-01 00:00:00.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/beast1/testEBSP-b1.xml 2022-04-04 07:18:36.000000000 +0000
@@ -0,0 +1,661 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACCGTCCCTGCCTCGGCCATACACTATCGCAATGCTTCGGATGTCTACCACGTCACCAATGACTGTCCGAATTCCAGCATAGTCTATGAGTCTGAAAACCACATCCTACACCTTCCGGGGTGTGTGCCCTGTGTGAGGATTGGGAACGTGTCACAATGCTGGGTGGCCCTAACCCCCACCGTGGCGGCGCCGTACCTCAATGCTCCGGTCGACTCCCTACGGAGGCACGTGGACCTGATGGTTGGCGCCGCTACTATGTGCTCAGCATTTTATGTTGGGGACCTGTGCGGGGCTGTGTTCCTGGCGGGCCAGTTGGTGACGTTTCGACCGCGACGCCACTGGACCACTCAAGATTGTAACTGTTCCATCTATGCCGGGCACATCACA
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACCGTTCCTGCATCAGCCATCCACTATCGCAACAGCTCGGGCGTCTACCACATCACCAATGACTGCCCCAATTCCAGCATAGTGTACGAGACTGACCATCACATCCTACACCTCCCAGGATGCGTGCCCTGTGTGAGGAGCGGGAACGAGTCGCGATGCTGGGTGTCCTTAACCCCCACCGTGGCAGCGCCGTACCAAAATGCACCACTTCAGTCCTTGCGACGGCATGTAGACCTGATGGTGGGCGCTGCTACCATGTGTTCTGCCCTTTATATCGGCGACTTGTGTGGGGGCTTGTTTTTGATAGGCCAGGCTTTTACTTTCCAACCACGCCGCCATTGGACTACTCAGGATTGCAATTGCTCCATCTACTCAGGCCACATCACA
+
+
+
+ CTTTTGGCACTTCTCTCGTGCCTGACCGTTCCCGCATCAGCCATTCACTATCGCAACAGCTCGGGCATCTACCACATCACCAATGACTGCCCCAACTCCAGCATAATTTATGAGGCTGACCATCACATCCTACACCTCCCAGGATGCGTGCCCTGTGTGAGGAGCGGGAACGTGTCGCGATGCTGGGTGTCCTTGACCCCCACCGTGGCAGCGCCGCACCTCAACGCACCACTTCGGTCCTTGCGACGGCATGTGGATCTGATGGTGGGCGCCGCTACTATGTGTTCTGCCTTTTACATCGGCGACTTGTGTGGGGGTTTGTTTCTGATAGGCCAGGCCTTTACTTTCCAACCACGCCGCCACTGGACTACCCAGGATTGCAATTGCTCCATCTACTCAGGCCACATTACA
+
+
+
+ CTTTTGGCACTTCTCTCGTGCCTGACCGTTCCTGCATCAGCCATTCACTATCGCAACAGTTCGGGCGTCTACCACGTCACCAATGACTGCCCCAATTCCAGCATAGTTTATGAGGCTGACCATCACATCCTACACCTCCCAGGATGCGTGCCCTGTGTGAGGAGCGGGAACGTGTCGCGATGCTGGGTGTCCTTAACCCCCACCGTGGCGGCGCCATACCTCAATGCGCCACTTCAGTCCTTGCGACGGCATGTGGACCTGATGGTGGGCGCTGCTACCATGTGTTCTGCCCTTTACATCGGCGACTTGTGTGGGGGCCTGTTTCTGATAGGCCAGGCCTTTACTTTCCAACCACGCCGCCACTGGACTACTCAGGATTGCAATTGCTCCATCTATTCAGGCCACATCACA
+
+
+
+ CTTTTGGCACTTCTTTCGTGCCTGACCGTTCCTGCATCAGCCACTCACTATCGCAATAGTTCGGGTGTCTACCACATCACTAATGACTGCCCGAATTCCAGCATAGTTTATGAGGCTGACCATCACATCTTACACCTCCCAGGATGCTTGCCCTGTGTGAAGAGCGGGAACGTGTCGCGATGCTGGGTGTCCTTAACCCCCACCGTGGCAGCGCCGCATCATAACGCACCACTTRAGTCCTTGCGACGGCATGTGGACCTGATGGTGGGCGCTGCTACCATGTGTTCTGCCCTCTACATCGGCGACTTGTGCGGGGGCTTGTTTCTGATAGGCCAGGCCTTTASTTTCCAACCGCGCCGCCACTGGACTACTCAGGATTGTAATTGCTCCATCTATACAGGCCACATTACA
+
+
+
+ CTTCTGGCACTCCTCTCGTGCCTGACCGTCCCCGCATCGGCCATACACTATCATAACACCTCGGGCATCTACCACATCACCAATGATTGCCCAAATTCCAGCATAGTCTATGAGTCCGATCATCACATAATGCACCTTCCGGGGTGCGTGCCATGTGTGATGGAAGGGAACAGATCCAGGTGTTGGGTGGCCCTGTCTCCCACAGTGGCGACCTCACACGTTGGTGCTCCAGTTGAGTCCATGCGACGACATGTGGACCTGATGGTGGGCGCTGCCACTTTGTGCTCCGCCCTATACGTCGGGGACTTGTGCGGAGGTGTGTTTCTGGTTGGTCAGATGTTCACCTTTCAGCCTCGTCGCCACTGGACTACCCAGGACTGCAACTGCTCAATCTATTCTGGGCATGTCACG
+
+
+
+ CTCTTGGCACTCCTTTCATGCCTGACCGTTCCCGCCTCGGCCATACACTATCGCAATGCTTCGGACGTCTACCACATCACCAACGACTGTCCGAATTCCAGCATAGTCTATGAATCCGAGAATCACATCTTACACCTTCCGGGGTGCGTACCCTGTGTGAAGGTCGGGAATAGGTCACAATGCTGGGTGGCCCTAACCCCCACCGTGGCGGCGTCGTACCTCAATGCTCCAATCGACTCCTTACGGAAGCACGTGGACCTGATGGTTGGCGCCGCTACTGTGTGCTCAGCTCTCTATGTTGGAAACGTGTGCGGGGCTGTGTTCCTGGCGGGCCAGATGGTGACGTTTCGACCGCGGCGCCACTGGACCACTCAGGAGTGCAACTGTTCCATCTATGCTGGGCACCTCACA
+
+
+
+ CTCTTGGCACTCCTTTCATGCCTGACCGTTCCCGCCTCGGCCATACACTATCGCAATGCTTCGGACGTCTACCACATCACCAACGACTGTCCGAATTCCAGCATAGTCTATGAATCCGAGAATCACATCTTACACCTTCCGGGGTGCGTACCCTGTGTGAAGGTCGGGAATAGGTCACAATGCTGGGTGGCCCTAACCCCCACCGTGGCGGCGTCGTACCTCAATGCTCCAATCGACTCCTTACGGAAGCACGTGGACCTGATGGTTGGCGCCGCTACTGTGTGCTCAGCTCTCTATGTTGGAGACGTGTGCGGGGCTGTGTTCCTGGCGGGCCAGATGGTGACGTTTCGACCGCGGCGCCACTGGACCACTCAGGAGTGCAACTGTTCCATCTATGCTGGGCACGTCACA
+
+
+
+ CTTTTGGCACTTCTCTCGTGCCTGACCGTCCCCACGTCGGCCATACACTATCATAACACCTCGGGCATCTATCACATCACCAACGATTGCCCAAATTCCAGCATAGTTTATGAGTCCGACTACCACATAGTGCACCTTCCGGGGTGCGTACCATGTGTGAGAACCGGAAACGCGTCGACGTGTTGGGTGGCCTTGTCTCCCACAGTGGCGGCCCCATACATCGGTGCTCCAGTTGAGTCTCTACGGCGACACGTGGACCTGATGGTGGGAGCTGCCACCTTGTGCTCTGCCCTATATGTCGGGGACCTGTGCGGAGGTGCGTTTCTGGTCGGCCAGATGTTCACCTTCCGCCCTCGTCTCCACTGGACCACCCAGGACTGCAACTGTTCAATCTACTCTGGGCATATCACG
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACCGTCCCCGCATCGGCCATACACTATCATAACACCTCGGGCATCTATCACATCACCAATGATTGCCCAAATTCCAGCATAGTTTATGAGTCCAGCAACCACATAATGCACCTTCCGGGGTGTGTACCATGTGTGAGGAGCGGGAACGTGTCGAGCTGTTGGGTGGCTTTAACTCCCACAGTGGCGGCCCCATACGTCGGTGCTCCAGTTGAGTCTCTACGACGACACGTGGACCTGATGGTGGGTGCTGCCACTTTGTGCTCCGCCCTATATGTCGGGGACCTGTGCGGAGGTGTGTTTCTGGTGGGTCAGATGTTCACCTTCCGCCCCCGCCTCCACTGGACTACTCAAGACTGTAACTGTTCAATCTATTCTGGGCATGTCACG
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACCGTCCCCGCATCGGCCATACACTATCATAACACCTCGGGCATCTATCACATCACCAATGATTGCCCAAATTCCAGCATAGTTTATGAGTCCAGCAACCACATAATGCACCTTCCGGGGTGTGTACCATGTGTGAGGAGCGGGAACGTGTCGAGGTGTTGGGTGGCTTTAACTCCCACAGTGGCGGCCCCATACGTCGGTGCTCCAGTTGAGTCTCTACGACGACATGTGGACCTGATGGTGGGTGCTGCCACTTTGTGCTCCGCCCTATATGTCGGGGACCTGTGCGGAGGTGTGTTTCTGGTGGGTCAGATGTTCACCTTCCGCCCCCGCCTCCACTGAACTACTCAAGACTGTAACTGTTCAATCTATTCTGGGCATGTCACG
+
+
+
+ CTCTTGGCACTCCTCTCGTGCCTGACTGTCCCCGCATCAGCCACGCATTATCGCAATGCTTCGGGCGTCTACCACATCACCAACGACTGCCCGAATTCCAGCATAGTGTACGAGGGTCAGCATCACATCCTGCACCTTCCCGGGTGTGTACCCTGTGTCAAAACCGACAACGTATCGCGGTGTTGGGTAGCTTTGACCCCCACTGTGGCGGCTCCCTACCTCAATGCTCCAACAGAAGAGCTCAGGCACCATGTGGACATGCTGGTGGGTGCCGCTACTTTTTGCTCCGCCCTTTACATCGGCGACTTGTGTGGGGGAGCCTTCTTAGTGGGCCAGCTATTCACATTCCGGCCGCGTCGCCATTGGACCACGCAGGATTGCAACTGTTCCATCTACGCTGGTCACATCACA
+
+
+
+ CTCTTGGCACTCCTCTCGTGCCTGACTGTCCCCGCATCGGCCGCACATTATCGCAATGCTTCGGGTGTCTACCATATCACCAATGACTGCCCGAATTCTAGCATAGTGTACGAGGCTGATCACCACATCATGCACCTTCCGGGGTGCGTGCCCTGCGTCAAGACCGGCAACGTATCGCGGTGTTGGGTAGCTTTGACCCCCACTGTGGCGGCCCCCTACCTCAATGCTCCAACAGAAGCGCTTAGGCGCCATGTGGACTTGATGGTGGGTGCCGCCACTTTCTGCTCCGCCCTTTACATCGGCGATTTGTGTGGGGGAGCCTTCTTAGTGGGCCAACTATTCACATTCCGGCCGCGTCGCCATTGGACCACGCAGGACTGCAACTGCTCCATCTACACCGGTCACATCACA
+
+
+
+ CTTTTGGCACTTCTCTCGTGCCTGACTGTTCCTGCATCAGCCATTCACTATCGCAACAGTTCGGGCATCTACCACATCACCAACGATTGCCCAAATTCTAGCATAGTTTATGATTCTGACCATCACATCCTACACCTCCCAGGATGCGTACCCTGTGTGAGGAGCGGGAACATGTCGCGATGCTGGGTGTCCTTAACCCCCACCGTGGCAGCGCCGTATCCCAACGCACCACTTCAGTCCTTGCGACGGCATGTAGACCTGATGGTGGGCGCTGCTACCATGTGTTCAGCCTTCTACGTCGGCGACCTGTGTGGGGGCCTATTTTTGATAGGCCAGGCCTTTAATTTCCAACCACGCCGCCACTGGACTACTCAGGATTGCAATTGCTCCATCTATACAGGCCACATCACA
+
+
+
+ CTCTCGGCACTTCTCTCGTGCTTGACTGTCCCCGCTTCGGCCGTCAACTATCGCAACATCTCGGGCGTCTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCACCTCCCAGGTTGTGTGCCCTGCGTGAGAGTGGGGAATCAGTCGCGTTGCTGGGTGGCCCTTACCCCTACCGTCGCAGCGCCATACATTGGCGCGCCGCTTGACTCCCTGCGGAGTCACGTGGATCTGATGGTGGGAGCAGCCACTGTTTGCTCAGCCCTTTACATCGGGGATTTGTGTGGCGGCGCCTTCTTGGTTGGTCAGATGTTCTCTTTCCGACCACGGCGCCACTGGACTACCCAGGATCGCAATTGTCCCATCTACACTGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTTCCCGCTTCGGCCATCAACTACCGCAATGTCTCGGGCATCTACCATGTCACCAATGACTGCCCAAATTCAAGCATAGTATATGAGGCCGACCATCACATCCTGCACCTTCCGGGTTGTGTGCCCTGTGTGAGGGAGGGGAATCAGTCGCGTTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACATCGGCGCGCCGCTTGAGTCCCTGCGGAGTCACGTGGATCTGATGGTGGGAGCCGCTACTGTTTGCTCACCCCTTTACATCGGGGACTTGTGTGGCGGCTTGTTCTTGGTTGGTCAAATGTTCTCTTTCCGACCACGGCGTCACTGGACTACTCAGGAATGCAATTGTTCCATCTACGCGGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATCAACTATCGCAATGTCTCGGGCATCTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGCCCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGAACGGAGAATCAGTCTCGCTGCTGGGTGGCCCTCACTCCTACCGTCGCAGCGCCATATATCGGCGCGCCGCTTGATTCCCTGCGGAGTCATGTGGATCTGATGGTGGGAGCTGCCACTGCTTGTTCGGCCCTTTACATCGGGGATTTGTGTGGCGGCTTGTTCTTGGTTGGTCAAATTTTTCCTTTCAGACCACGGCGCCACTGGAATACCCAGGAATTGCATTGTTCCATCTATACAGGGCACATCACG
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCCTCGGCCACTAATTACCGCAATGCTTCGGGTGTCTACCACGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCATCTTCCAGGCTGCGTGCCCTGCGTGAGAACGGGGAATCAGTCACGTTGCTGGGTGGCCCTTACTCCCACCGTCGCGACGCCATACATCGGCGCACCGCTTGAGTCCCTGCGGAGTCATGTGGATCTGATGGTGGGGGCTGCCACTGCTTGTTCAGCCCTTTACATCGGGGATTTGTGTGGCGGCTTGTTCTTGGTTGGTCAGATGTTCTCTTTCCGACCACGGCTTCACTGGACTACCCAGGATTGCAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATCAACTATCGCAATGTCTCGGGCATCTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGCCCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGAACGGAGAATCAGTCTCGCTGCTGGGTGGCCCTCACTCCTACCGTCGCAGCGCCATATATCGGCGCGCCGCTTGATTCCCTGCGGAGTCATGTGGATCTGATGGTGGGAGCTGCCACTGCTTGTTCGGCCCTTTACATCGGGGATTTGTGTGGCGGCTTGTTCTTGGTTGGTCAGATGTTTTCTTTCAGACCACGGCGCCACTGGACTACCCAGGATTGCAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCACTTCGGCTATCAGCTATCGCAATGTCTCGGGCATTTATCACATCACCAACGACTGCCCGAATTCAAGCATAGTATATGAGGCCGACCATCACATCTTGCACTTTCCAGGTTGCGTGCCCTGTGTGAGAGAGGGGAATCAGTCGCGTTGCTGGGTGGCCCTTACCCCTACCGTCGCAGCGCCATACATCGGCGCGCCACTTGAGTCCCTACGGGGTCATGTGGATTTGATGGTGGGGACCGCCACTRTTTGTTCAGCCCTTTACATCGGGGATTTGTGTGGCGGCTTATTCCTGGTTGGTCAGATGTTCTCTTTCCGACCACGGCGCCACTGGACCACCCAGGATTGCAATTGTTCCATCTATACAGGGCACATCACC
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCTATCAACTACCATAATGCCTCGGGCATCTACCATGTCACCAAYGATTGCCCGAATGCAAGCATAGTGTATGAGGCCGACCACCACATCTTGCACCTTCCAGGTTGCTTGCCCTGTGTGAGAGTGGGGAATCAGTCACGTTGCTGGGTGGCCCTTACCCCTACCGTTGCAGCGCCATACATCGGCGCACCGCTTGAGTCCTTGCGGAGTCATGTGGATCTAATGGTGGGGGCTGCCACTGCYTGTTCAGCCCTCTACATCGGAGACTTGTGCGGCGGCCTGTTCTTGGTTGGTCAGATGTTCTCTTTCCGACCGCGACGCCACTGGACTACCCAGGATTGCAATTGTTCCATCTATACAGGGCACATTACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCTTGACTGTCCCCGCTTCGGCCACCAACTATCGCAACGCTTCGGGCGTCTACCATGTCACCAATGACTGCCCGAACTCAAGCATAGTGTATGAGGCCGACTATCACATCCTACACCTCCCAGGTTGTGTGCCTTGTGTGAAAACAGGGAACCAGTCACGTTGTTGGGTGGCCCTTACTCCTACTGTCGCAGCGCCATACATCGGTGCGCCGCTTGAGTCCTTACGGAGTCATGTGGATCTGATGGTGGGGGCAGCCGCCGCTTGTTCAGCCCTTTATGTCGGGGACCTGTGCGGCGGCGTGTTCTTGGTTGGTCAGATGTTCTCTTTCCGACCACGGCGTCACTGGACTACCCAGGATTGCAATTGTTCTATCTACACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCCTCGGCCGTTAACTACCACAATGTCTCGGGCATTTACCACGTCACCAACGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCACCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGGGTGGGGAATCAATCACGTTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACGTTGGCGCGCCACTTGAGTCTTTGCGGAGTCATGTGGATTTGATGGTGGGGGCTGCCACTGTTTGCTCAGCCCTTTACATCGGGGATTTATGCGGTGGTTTGTTCCTGGTCGGTCAGATGTTTTCTTTCCGGCCACGGCGCCACTGGACCACCCAGGATTGCAACTGTTCCATCTATACAGGGCACATCATG
+
+
+
+ CTCTTGGCACTTCTTTCGTGCCTGACTGTCCCCGCTTCGGCCACCAATTACCGCAATGCCTCGGGCATCTACCATGTTACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCATATCTTNCACCTTCCAGGTTGCGTGCCCTGTGTGAGAGTGGGGAATCAGTCACGTTGCTGGGTGGCCCTTACCCCTACCGTCGCAGCGCCATACATCGGCGCGCCACTTGAGTCCTTGCGGAGTCATGTGGACCTGATGGTGGGGACTGCCACTGTTTGTTCAGCCCTTTACATCGGGGATTTGTGTGGCGGCTTGTTTTTGGTTGGTCAGATGTTCTCTTTCCGACCGCGGCGCCACTGGACCACCCAGGATTGCAATTGTTCCATCTATACAGGACACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCACCTCGGCCATCAACTATCGCAATGTCTCGGGCATCTACCATGTCACCAATGACTGTCCGAACTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCATCTCCCAGGWTGCGTGCCCTGTGTGAGAGTGGGGAATGTGTCAAGMTGTTGGGTGGCCCTTACCCCTACCGTCGCAGCGCCATACATCGGCGCGCCGCTTGAGTCTCTGCGGAGTCATGTGGATCTGATGGTGGGGGCTGCCACTGCTTGTTCAGCCCTTTACATCGGGGATTTATGTGGCGGCTTGTTTTTGGTTGGTCAGATGTTCTCTTTCCGACCACGGCGCCACTGGACTACCCAGGATTGCAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTTTCGTGCCTGACTGTCCCCGCTTCGGCCACCAACTACCGCAATGTCTCGGGCATCTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCCTGCACCTTCCAGGTTGCGTGCCTTGCGTGAGGGTGGGGAATCAGTCACGTTGCTGGGTGGCTCTTACCCCTACTGTCGCAGCGCCACACATCGGCGCGCCACTTGAGTCCTTGCGGAGTCATGTGGACTTGATGGTGGGGACTGCCACTGCTTGTTCAGCCCTTTACATCGGGGATTTGTGTGGTGGCTTGTTTTTGGTTGGTCAGATGTTCTCTTTCCGACCGCGGCGCCACTGGACTACCCAGGATTGCAATTGTTCCATCTACACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCCTCGGCCACTAATTACCGCAATGCTTCGGGTGTCTACCACGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCATCTTCCAGGCTGCGTGCCCTGCGTGAGAACGGGGAATCAGTCACGWTGCTGGGTGGCCCTTACTCCCACCGTCGCGACGCCATACATCGGCGCACCGSTTGAGTCCCTGCGGAGTCATGTGGATCTGATGGTGGGGGCTGCCACTGYTTGTTCAGCCCTTTACATCGGGGATTTGTGTGGCGGWTTGTTCTTGGTTGGTCAGATGTTCTCTTTCCGACCACGGCTTCACTGGACTACCCAGGATTGCAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATCAACTATCGCAATGCTTCGGGTATCTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTACGAGGCCGACCACCACATTTTACACCTTCCAGGTTGCGTGCCCTGCGTGAGAGAGGGGAATCAGTCACGTTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACATCGGCGCACCGCTTGAGTCCCTGCGGAGTCATGTGGATTTGATGGTGGGGGCTGCCACTGTCTGTTCAGCCCTTTACATCGGGGATTTGTGTGGCGGTGTGTTCTTGGTCGGTCAGATGTTTTCTTTCCGACCACGACGCCACTGGACTACCCAGGATTGCAATTGCTCCATCTATACAGGGCACATCATG
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATCAACTACCGCAATGCTTCGGGCATCTACCATATCACCAATGATTGCCCGAATTCAAGCATAGTGTATGAGGCCGATCACCACATCTTGCACCTTCCAGGCTGCGTGCCCTGCGTGAGATCGGGGAATCAGTCACGTTGCTGGGTGGCCCTTACTCCTACCGTCGCGGCGCCACACATCGGCGCRCCGCTTGAGTCCTTGCGGAGTCAYGTGGATCTGATGGTGGGAACTGCCACTGTTTGTTCAGCCCTTTACATCGGCGATTTGTGTGGYGGCTTGTTCTTGGTTGGTCAGATGTTCTCTTTCCGACCGCGGCGCCACTGGACTACCCAGGATTGCAACTGTTCCATCTATACAGGGCACATYACT
+
+
+
+ CTCTTGGCACTTCTCTCATGCCTGACTGTCCCTGCTTCGGCTATTAACTATCGCAATGYTTCGGGCATTTACCAYGTCACCAATGACTGTCCGAATTCTAGCATAGTGTATGAGGCCGATCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGAGAAGGGAATCAGTCACGTTGCTGGGTGGCCCTTACTCCTACCATCGCAGCGCCATTCATCGGCGCGCCGCTTGAGTCTCTGMGGAGTCATGTGGAYTTGATGGTGGGGGCTGCYACTGCTTGTTCGGCCCTTTACATCGGGGACTTGTGTGGCGGCTTGTTCTTGGTTGGTCAGATGTTCTCTTTCCGACCACGGCGCCACTGGACKACCCAGGACTGTAAYTGKTCCATCTATACAGGGCACATTACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCRTCAACTACCGCAAYGTCTCGGGCATCTACCATGTCACCAACGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCAYCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAAACAGGGGAATCAGTCACGTTGCTGGGTGGCCCTCACYCCTACCGTCGCAGCGCCATACATCGGCGCGCCGCTTGAGTCCCTGCGGAGTCATGTGGATTTRATGGTGGGAGCTGCCACTGTTTGTTCAGCCTTTTACATCGGCGATTTGTGTGGCGGCTTGTTCTTGGTTGGTCAGATGTTCTCMTTCCGACCACGGCGCCACTGGACTACCCAGGATTGCAATTGTTCCATCTATACAGGGCACATCATG
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATTAACTATCGCAATGTTTCGGGCGTCTACCACGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGAGCATCACATCTTGCACCTCCCAGGTTGCGTGCCCTGCGTGAGAACGGGGAATCAGTCAAGTTGCTGGATGGCCCTTACCCCTACTGTCGCAGCGCCATACATCGGCGCGCCGCTTGAGTCCTTGCGGAGTCATGTGGATCTGATGGTGGGGGCCGCCACTGTTTGTTCAGCCCTTTACATCGGCGATCTGTGTGGCGGCTTGTTCTTGGTTGGCCAAATGTTCTCTTTCCAACCGCGGCGCCACTGGACCACCCAGGAGTGCAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCYATCAACTACCGCAATGCYTCGGGCGTCTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCAYATCTTGCACCTTCCAGGATGCGTGCCCTGCGTGAAAGTGGGAAATCAGTCACGTTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATATRTTGGCGCGCCGCTTGAGTCCYTGCGGAGTCATGTGGACCTGATGGTGGGAGCTGCTACTGTCTGCTCAGCCCTTTACATTGGGGATTTGTGTGGCGGCGTGTTCTTGGTCGGCCAGATGTTCTCTTTCCGACCACGGCGCCACTGGACTACCCAGGAGTGCAATTGTTCCATCTATACAGGGCAACTTACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCTGCTTCGGCCATCAATTACCGCAATGCCTCGGGCGTTTACCACATCACCAACGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCATCTTCCAGGTTGCGTGCCCTGCGTAAGAGTGGGGAATCAGTCACGCTGCTGGGTGTCCCTTACTCCTACCGTCGCAGCGCCATACATCGGCGCACCACTTGAGTCTCTACGGAGTCATGTAGACTTGATGGTGGGAGCTGCCACTGCTTGTTCAGCCCTTTACATCGGGGACTTGTGTGGCGGCTTGTTTCTGGTCGGTCAGATGTTCTCTTTCCGACCGCGACGCCACTGGACTACCCAGGATTGCAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATCAACTACCACAATGTCTCGGGCATCTACCATGTCACCAATGATTGCCCGAACTCAAGCATAGTGTATGAGGCCGAGCACCACATCCTGCACCTTCCTGGTTGCGTGCCCTGCGTGAGAGTGGGGAATCAGTCACGTTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACATCGGCGCGCCGCTTGACTCCTTGCGGAGTCATGTGGATTTGATGGTGGGAACCGCCACTGTTTGTTCAGCTCTTTACATCGGGGACTTGTGTGGCGGCTTGTTCTTGGTTGGTCAGATGTTTTCTTTTCAACCACGGCGCCATTGGACTACCCAGGATTGCAATTGTTCCATCTATACAGGACACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCTTGACTGTCCCCGCTTCGGCCATTAACTACCGCAATGCGTCGGGCATCTACCATGTCACCAATGATTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGTGTGAGAGTGGGGAATCAGTCACGTTGCTGGGTGGCCCTTACTCCCACCGTCGCAGCGCCATACATCGGCGCGTCACTTGCATCTTTGCGGAGTCATGTGGATCTGATGGTGGGGACCGCCACTGTTTGTTCAGCCCTCTACATCGGGGATTTGTGTGGCGGCTTGTTCTTGGTTGGTCAGATGTTCTCTTTCCAACCACGGCGCCACTGGACTACCCAGGATTGCAATTGTTCTATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGSCACTTCTCTCGTGCCTGACTGTCCCCACTTCGGCCATTAACTACCATAATGTTTCGGGCATCTATCACGTCACCAATGATTGTCCGAATTCAAGCATTGTGTATGAGGCCGATCATCACATCTTGCACGTTCCAGGCTGTGTGCCCTGCGTGAGAGAGGGAAATCAGTCACGTTGCTGGGTGGCCATTACTCCTACCCTCGCAGCGCCATACATCGGCGCGCCGCTTGAGTCCCTGCGGAGTCACGTGGATMTGATGGTGGGGGCTGCCACTGCTTGNTCAGCCCTTTACATCGGGGATTTGTGTGCCGGTCTGTTCTTGGTTGGTCAGATGTTATCTTTCCGACCACGGCGCCACTGGACTACCCAGGATTGCAATTGTTCCATCTATACAGGAGCGNGTGTT
+
+
+
+ CTTTTGGCACTTCTCTCGTGCCTGACCGTCCCCGCTTCGGCCACCAACTATCGCAATGTCTCGGGCGTCTACCACATCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAAAGAGGGGAACCGGTCACGTTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACCTTGGCGCGCCACTTGAGTCTTTACGGAGCCATGTGGACTTGATGGTGGGAGCTGCCACTGCTTGTTCAGCCCTTTACATCGGAGACTTGTGTGGTGGCTTGTTCCTGGTTGGTCAGATGTTCTCTTTCCGACCACGACGCCACTGGACTACCCAAGAATGCAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTAGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCGTTAACTACCGCAATGCTTCGGGTGTCTATCATATCACCAATGATTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCATGCACCTTCCAGGTTGCGTGCCCTGCGTGAGAACGGGGAACCAGTCACGTTGCTGGGTGGCCCTTACTCCTACCATYGCAGCGCCATACATCGGCGCGTCGCTCGAGTCCTTGCGGAGTCATGTGGATGTGATGGTGGGGGCYGCCACTGTTTGTTCAGCCCTTTACATCGGGGACTTGTGTGGTGGCTTGTTCTTGGTTGGTCAGATGTTCTCTTTCCGACCRCGGCGCCACTGGACTACCCAGGACTGCAACTGTTCCATTTATACAGGGCAGATACTG
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATCAACTATCGCAATGCCTCGGGCATCTATCACGTCACCAATGACTGCCCGAATTCGAGCATAGTGTATGAGGCCGACAACCACATCCTGCACCTTCCAGGTTGCGTGCCCTGTGTGAAAGAGGGGAATCAGTCACGTTGCTGGGTGTCCCTTACTCCCACCGTCGCAGCGCCATACATCGGCGCGCCACTTGCGTCTCTACGGAGTCACGTGGATTTGATGGTGGGGGCTGCCACTGTTTGTTCAGCCCTCTACATCGGGGACTTGTGCGGCGGCTTGTTCTTGGTTGGCCAGATGTTCTCTTTCCAACCACGGCGTCACTGGACCACCCAGGATTGTAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCTGTCAACTACCGCAAYGCTTCGGGCGTTTACCATATCACCAATGAYTGTCCGAATGGAAGCATAGTGTATGAGGCCGACCATCACATYTTGCACCTCCCAGGTTGCGTGCCCTGCGTGAGARAGGGGAATCAGTCACGTTGCTGGGTAGCCCTTACTCCTACCMTCGCGGCGCCACACATCGGCGCGCCACTTGAATCTCTACGGAAACATGTGGATTTGAKGGTGGGAGCTGCTACWGCCTGTTCAGCCCTTTACATCGGGGATTTGTGTGCCGGCTTGTTCTTGGTCGGTCAGATGTTATCATTCCGACCACGACGCCACTGGACTACCCAGGATTGCAGTTGTTCCATCTAAACAGGACGAAGTGTT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATTAACTACCGCAATGTCTCGGGCATTTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGAACGGGGAATCAGTCACGTTGCTGGGTGGCCCTAACTCCTACCGTCGCGGCACCACACATCGGTGCGCCACTTGAGTCTCTACGGAGTCATGTGGATTTGATGGTGGGGACCGCCACTGTTTGTTCAGCCCTTTACATCGGGGATTTATGTGGTGGTTTGTTCCTGGTTGGTCAGATGTTCTCTTTCCGACCACGGCGTCACTGGACCACCCAGGATTGCAATTGTTCCATCTACACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATCAACTACCGCAATGCTTCGGGCGTTTACCACATCACCAACGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCATGCACCTTCCAGGTTGCGTGCCCTGCGTGAGGACGGGGAATCAGTCACGTTGCTGGGTGGCCCTTACTCCTACCGTCGCAGTGCCGTATATTGGCGCGCCACTTGACTCTCTTCGGAGTCATGTGGATTTGATGGTGGGGGCTGCTGCTGCTTGTTCAGCCCTTTACGTCGGGGACTTGTGTGGTGGCGTGTTCCTGGTCGGTCAGATGTTCTCTTTCCGACCACGGCGCCACTGGACTACCCAGGACTGCAACTGTTCCATCTACACAGGGCACATTACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGAGTGTCCCCGCCTCGGCAATTAATTACCGCAATGCTTCGGGTGTCTACCACGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCATCTTCCAGGCTGCGTGCCCTGCGTGAGAACGGGGAATCAGTCACGTTGCTGGGTGGCCCTTACTCCCACCGTCGCGACGCCATACATCGGCGCACCGCTTGAGTCCCTGCGGATTCATGTGGATCTGATGGTGGGGGCTGCCATTGCTTGTTCACCCCTTTACATCGGGGATTTGTGTGGCGGCTTGTTCTTGGTCGGTCAGATGTTCTCTTCCCGACCAAGGCTTCACTGGACTACTCAGGATCGCCATTGTTCCATCTATACGGGGCACATCTCC
+
+
+
+ CTCTTGGCACTCCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATTAACTATCACAACACCTCGGGCGTCTACCACGTCACCAATGACTGCCCGAATTCAAGCATAGTCTATGAGGCCGACCATCACATCTTGCATCTCCCAGGGTGCGTGCCCTGCGTGAGAGAGGGGAATCAGTCACGTTGCTGGGTGGCCCTCACCCCTACCGTCGCAGCGCCATACATCGGCGCGCCGCTTGAGTCCTTGCGGAGTCACGTGGATCTGATGGTGGGGGCAGCTACTGTCTGCTCTGCCCTTTACATCGGGGATTTGTGTGGCGGCGTGTTCTTGGTTGGTCAGATGTCCTCTTTCCGACCACGGCGCCACTGGACTACCCAGGAGTGCAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCACTAACTACCGCAACGCTTCGGGCATCTACCATGTCACCAATGACTGCCCGAATGCGAGCATAGTGTATGAGGCCGACCATCACATCCTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGAAAGGGGAATCAGTCAAGCTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACATCGGCGCGCCGCTTGAGTCCTTGCGGAGTCATGTGGATCTGATGGTGGGGGCTGCCACTGTCTGTTCAGCCCTCTACATCGGGGATTTGTGTGGCGGCGTGTTCTTGGTTGGTCAGATGTTCTCTTTCCGACCACGACGCCACTGGACTACCCAGGATTGCAATTGTCCCATCTATACAGGGCCCATTACT
+
+
+
+ CTTCTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATCAACTATAGCAACGTCTCGGGCATCTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGACCGAACATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGCGTGACGGGAATCAGTCGCGTTGCTGGGTGGCCCTTACCCCTACCGTCGCAGCGTCACGACTCGACGCGCCGCTTGAGTCCTTGCGGAGTCATGTGGATCTGATGGTGGGGGCTGCCACTGCTTGCTCAGCCCTTTACATCGGGGATTTGTGTGGCGGTCTGTTCTTGGTTGGTCAGATGTTCTCTTTCCGCCCACGGCGCCTCTGGACTACCCAGGATTGCAATTGTTCCATTTATACAGGGCACATCACT
+
+
+
+ CTTTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATTAACTATCGCAATGTCTCGGGCATCTACCACGTCACCAACGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGGACGGGGAATCAGTCACGTTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACATCGGCGCGCCACTTGAGTCTCTACGGAGTCATGTGGATTTGATGGTGGGGGCTGCCACTGTTTGTTCAGCCCTTTACATCGGGGATTTGTGTGGCGGCTTGTTCCTGGTTGGTCAGATGTTCTCTTTCCGACCACGGCGCCACTGGACCACCCAGGATTGCAATTGTTCCATCTATACGGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTTTCGTGCCTGACTGTTCCCNCTTCGGCCACTAACTATCGCAATGTTTCGGGCATCTACCATGTTACCAACGACTGCCCGAATTCAAGCATAGTATATGAGGCCGACCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGYGTGAAAGTCGGGAACCAGTCACGTTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACATCGGYGCTCCGCTTGAGTCCCTGCGGAATCATGTGGATYTGATGGTGGGGGCTGCCACTGTTTGTTCAGCCCTTTACATCGGRGAYTTGTGTGGCGGCTTGTTTTTGGTTGGTCAGATGTTTTCTTTTCGGCCACGACGCCACTGGACTACCCAAGACTGCAACTGTTCCATCTATACGGGACACATCATG
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCACCAACTATCGCAATGTCTCGGGCATCTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGATCACCACATCTTGCACTTGCCAGGTTGCGTGCCCTGCGTGCAAACGGGGAATCAGTCACGTTGCTGGGTGGCCCTCACTCCTACCGTCGCAGCGCCGTATATCGGCGCGCCACTTGAGTCTTTACGGAGTCATGTGGATTTGATGGTGGGAGCTGCCACTGCTTGTTCAGCCCTTTACATCGGGGACTTGTGTGGCGGCCTGTTCCTGGTTGGTCAGATGTTCTCTTTCCGACCGCGGCGCCACTGGACCACCCAAGACTGCAATTGTTCCATCTACACAGGGCACATTACT
+
+
+
+ CTCTTGGCACTTCTCTCTTGTCTGACTGTCCCCGCTTCGGCCACTAACTACCGCAATGTTTCGGGCATCTACCACGTCACCAATGACTGCCCGAACTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGTGTGAGGACGGGGAATCAGTCACGTTGCTGGGTGGCCCTTACCCCTACCGTCGCATCGCCATACATCGGCGCGCCACTTGCATCTCTACGGACTCATGTGGACTTGATGGTGGGGGCCGCCACTGTTTGTTCAGCCCTTTACATCGGAGATTTGTGTGGCGGCTTGTTCTTGGTTGGTCAAATGTTCTCTTTCCGACCAAGGCGCCACTGGACCACCCAGGATTGCAACTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCTTCAACTACCGCAACATCTCGGGTATTTACCATGTCACCAACGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATTTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGGGAGGGGAATCAGTCGCGCTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACATCGGCGCACCGCTTGAGTCCCTGCGGAGTCACGTGGATATGATGGTGGGGGCTGCCACTGCTTGTTCAGCCCTTTACATCGGGGATCTGTGTGGCGGCTTGTTTCTGGTTGGTCAGATGTTTTCTTTCCGACCACGACGCCACTGGACTACCCAGGAGTGCAATTGTTCCATCTATTCAGGGCATATCACT
+
+
+
+ CTCTTGGCACTTCTTTCGTGCTTGACTGTCCCCGCTTCGGCCGTTAACTACCGCAATGTCTCGGGCATCTACTATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCACCACATCTTGCACTTGCCAGGCTGCGTGCCCTGCGTGCGGGTGGGGAACCAGTCACGTTGCTGGGTGGCTCTCACTCCTACCGTCGCAGCGCCATACATCGGCGCGCCACTTGAGTCTTTACGGAGTCATGTGGATTTGATGGTGGGGGCTGCCACTGTTTGTTCAGCCCTCTACATCGGGGATTTGTGTGGTGGCCTGTTCCTGGTTGGTCAGATGTTTTCTTTCCAACCACGGCGCCACTGGACCACCCAAGACTGCAATTGTTCCATCTATACGGGGCATATTACC
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTTCCCGCTTCGGCCGTTAACTACCGCGATGCTTCGGGCATCTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCCTGCATCTCCCGGGTTGCGTGCCCTGCGTGAGAGTTGGGAATCAGTCACGTTGCTGGGTGGCCCTTACTCCTACCATCGCATCGCCATACATCGGTGCGCCGCTTGAATCCCTGCGGAGTCATGTGGATCTGATGGTGGGGGCTGCCACTGTTTGTTCAGCCCTTTACATCGGGGATTTGTGTGGCGGCTTGTTCTTGGTTGGTCAGATGTTCTCTTTCCGACCACGGCGTCACTGGACCACCCAGGATTGCAATTGTTCCATCTACACGGGGCACATCACT
+
+
+
+ CTCTTGGCACTACTCTCGTGCCTGACTGTCCCCGCTTCGGCCATTAATTACCGCAATGCCTCGGGCGTCTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCCTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGAACGGGGAATCAGTCACGCTGCTGGGTGGCCCTTACTCCTACTGTCGCAGCGCCATACATCGGCGCGCCGCTTGAGTCCTTGCGGAGTCATGTGGATCTGATGGTGGGGGCTGCCACTGCTTGTTCAGCCCTTTACATCGGGGATTTGTGTGGCGGCTTGTTTTTGGCTGGTCAGATGTTTTCTTTCCGGCCACGGCTCCACTGGACCACCCAGGATTGCAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCTTCAACTACCGCAACATCTCGGGTATTTACCATGTCACCAACGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATTTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGGGAGGGGAATCAGTCACGCTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACATCGGCGCACCGCTTGAGTCCCTGCGGAGTCATGTGGATATGATGGTGGGGGCTGCCACTGCTTGTTCAGCCCTTTACATCGGGGATCTGTGTGGCGGCTTGTTTTTGGTTGGTCAGATGTTTTCTTTCCGACCACGACGCCACTGGACTACCCAGGATTGCAATTGTTCCATCTATGCAGGGCATATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATCAACTATCGCAATGCCTCGGGCATCTACCATGTCACCAATGATTGCCCGAATTCAAGCATAGTGTATGAGGCCGAATATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGCGATGGGAATCAGTCACGTTGCTGGGTGGCCCTTACTCCTACCGTTGCAGCGCCGTACGTTGGCGCGCCGCTTGAGTCCCTGCGGAGTCATGTGGATCTGATGGTGGGAGCTGCCACTGTTTGTTCAGCCCTTTACATCGGGGACTTGTGTGGCGGCTTGTTCTTGGTTGGTCAAATGTTCTCTTTCCAGCCACGGCGTCACTGGACTACCCAGGGTTGTAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCACTAACTATCGCAATGTCTCGGGTATCTATCATGTCACCAATGATTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGAACGGGGAATCAGTCACGCTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACATCGGCGCGCCGCTTGCCTCCCTGCGGAGTCATGTGGATCTGATGGTGGGGGCCGCCACTGCTTGTTCAGCCCTTTACATCGGGGATTTGTGTGGCGGCTTGTTCTTGGTTGGTCAGATTTTCACCTTCCGACCACGGCGCCACTGGACTACCCAGGAATGCAATTGTTCCATCTATACAGGGCACATCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCACCAACTACCACAATGCTTCGGGCGTCTACCATGTCACCAATGACTGCCCAAATTCAAGCATAGTGTTTGAGGCCGACCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGAGAGGGGAATCAGTCGCGCTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACATCGGCGCGCCGCTTGAGTCTCTGCGGAGTCATGTGGATCTGATGGTGGGGGCTGCCACTGTCTGCTCAGCCTTTTACATCGGGGATTTGTGTGGTGGCGTGTTCTTGGTCGGTCAGATGTTCTCTTTCCGACCACGGCGCCACTGGACTACCCAAGACTGCAATTGTTCCATCTATGCAGGGCACATTACG
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATTAACTATCGCAATGTCTCGGGCATTTACCACATCACCAATGACTGCCCGAATTCAAGCATAGTGTTTGAGGCCGATCACCACATCTTACACCTTCCAGGTTGCGTGCCCTGCGTGAGAGAGGGGAATCAGTCGCGTTGCTGGGTGGCCCTAACTCCTACCGTCGCAGCGCCGTACATCGGCGCACCACTTGAGTCCTTACGGAGTCATGTGGATTTGATGGTGGGGGCTGCCACTGCTTGTTCGGCCCTTTACATCGGGGATTTGTGTGGTGGCTTGTTCCTGGTTGGTCAGATGTTCTCCTTCCGACCACGGCGCCACTGGACTACCCAGGAATGCAATTGCTCCATCTATTCAGGACACCTCACT
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCACCTCGGCCATTAACTATCGCAATGCTTCGGGCGTTTACCATGTCACCAATGACTGCCCGAATTCAAGCATAGTGTATGAGGCCGACCATCACATCTTGCACCTTCCAGGTTGCGTGCCCTGCGTGAGAGAGGGGAATCAGTCACGCTGCTGGGTGGCCCTTACCCCCACCGTCGCAGCGCCATACATCGGCGCGCCACTTCAATCTCTACGGAGTCATGTGGATTTGATGGTGGGGGCCGCCACTGCTTGTTCAGCCCTTTACATCGGGGACTTGTGTGGCGGCTTGTTCTTGGTCGGTCAGATGTTCTCTTTCCGGCCACGGCGCCACTGGACTACCCAGGACTGCAATTGTTCCATCTATACAGGGCACATCATG
+
+
+
+ CTCTTGGCACTTCTCTCGTGCCTGACTGTCCCCGCTTCGGCCATTAACTACCACAATGTTTCGGGCATCTACCATGTCACCAATGACTGCCCAAATTCAAGCATAGTGTATGAGGCCGACCATCACATCCTACACCTCCCAGGTTGCGTGCCCTGCGTGAGGACGGGGAACCAGTCGCACTGCTGGGTGGCCCTTACTCCTACCGTCGCAGCGCCATACATCGGCGCACCGCTTGAGTCCCTGCGGAGTCATGTGGATCTGATGGTAGGGGCTGCCACTGTTTGTTCAGCCCTTTATATCGGGGATTTGTGTGGCGGCTTGTTTTTGGTTGGTCAGATGTTCTCTTTCCGACCACGGCGCCACTGGACCACCCAGGATTGCAATTGTTCCATCTATACGGGGCACATTACT
+
+
+
+ CTCTTGGCACTTCTTTCGTGCTTGACTGTCCCCGCTTCGGCCATCAACTACCGCAATGCTTCGGGCGTCTACCACGTCACCAACGACTGCCCGAATTCAAGCATAGTGTTTGAGGCCGACCATCACATCTTACACCTTCCAGGTTGCGTGCCCTGCGTGAGAGAGGGGAATCAGTCTCGTTGCTGGGTGGCTCTTACTCCTACTGTCGCAGCGCCACACATCGGCGCGCCGCTTGAATCCTTGCGGAGTCATGTGGATCTGATGGTGGGGGCTGCCACTGCTTGTTCGGCCCTTTACATCGGGGACTTGTGTGGCGGCTTGTTCTTGGTCGGTCAGATGTTCTCTTTCCGACCACGACGCCACTGGACTACCCAGGACTGCAATTGTTCTATCTATACAGGGCACATCACT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hcv.log
+
+
+
+ hcv.trees
+
+
+
+ stepwise
+
+
+ demographic.popSize1
+
+
+ demographic.indicators1
+
+
+
+
+
+
+
+
+
diff -Nru beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/beast1/testEBSP-old.xml beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/beast1/testEBSP-old.xml
--- beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/beast1/testEBSP-old.xml 1970-01-01 00:00:00.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/beast1/testEBSP-old.xml 2022-04-04 07:18:36.000000000 +0000
@@ -0,0 +1,836 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ATTCTAGGCAAAAAG-AGCAATGCTGGAGGTATTACAATACCAGACTTCAAACTTTACTATAGAGCCATAATAACAAAAACCGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAATGGAAYAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGTCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCACCATGCACAGGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCAGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGGGAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATAGGAGAAAGACTCAATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAATAATACATCTGACAAATGCTTGAT--ATCCAGT-ATCTACAGGGAACTCAAGAAATTAATC
+
+
+
+ ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACMCAGTCTATTCAATTATTGGKGCTGGCAAAACTGGGCAGCCMCATGCARAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAA?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
+
+
+
+ ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCM-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGTT-GCAAAAGT????????????????????????????????????????????????????????????????????????????????????????????????????
+
+
+
+ ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAAYTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAA?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
+
+
+
+ ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAAYGTCAGACCGGAAACCGTGAAAYTGTTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAA????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
+
+
+
+ ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGATCCAGAAATAGAACCAC-ATACCTATAGTCAACTTGTATTTGATAAAGGAGCTAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCATTTCACCATGCACAAGAATTAACTCAAAGTGGATCAAAGACCTCAATGTCAGACCT-------------------------------------CATAGGCACTCATAGGCACAGGCAAAAGATTCCTATACAGGAACCCAGGGTCAACAACAGATTGGAGAGAGACTCAATAAATGGGACTACCTAAAAATAAAA-GTTTCTGCAC?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
+
+
+
+ ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCARAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAATGTCAGACCGGAAACCGTGAAAYTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAG??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
+
+
+
+ ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAATGTCAGACCGGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAAATTCCTGAACAGAATCCCAGGGTCA-CAACAGATKGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGTT-GCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATA?????????????????????????????????????????????????????????????????????
+
+
+
+ ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCTATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCA??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
+
+
+
+ ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGT-TGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACA???????????????????????????????????????????????????????????
+
+
+
+ ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCATTTCACCATGCACAAGAATTAACTCAAAGTGGATCAAAGACCTCAATGTCAGACCGGAAACCGTGAAA???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
+
+
+
+ ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACARTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAA?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
+
+
+
+ ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACARTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAATTGCTACATGATAAWGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCAATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGTT-GCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATAT????????????????????????????????????????????????????????????????????
+
+
+
+ ???CTAGGCAAAA-G-AGC-ATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATMCAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCRACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CKCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATGTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
+
+
+
+ ????????CAAAA-G-AGCAATGCTGGTGGTATYACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATMCAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCRACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATRTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
+
+
+
+ ????GGCGCAAAA-G-AGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATMCAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATRTATCTGACAAATGCTTAAT--ATCCAGCTATCTACAGAGAACTCAAGAAACTAATC
+
+
+
+ ATTCTAGGCAAAAAGAAGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATACAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAAYTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATGTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
+
+
+
+ ATTCTAGGCAAAAAG-AGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATACAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCSCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAAYTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATGTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTA-TC
+
+
+
+ ??????????????G-AGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATACAATGGAACGAACACAGYCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATRTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
+
+
+
+ ATTCTAGGCAAAAAG-AGCAATGCTGGTGGTATYACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAWATAGAACCAC-ACAACTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAATGGAACRAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATATATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
+
+
+
+ ATTCTAGGCAAAA-G-AGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTKTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATACAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAAYGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAAYTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATGTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
+
+
+
+ ATTCTAGGCAAAAAG-AGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATCCAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCRACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATGTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
+
+
+
+ ATTCTAGGCAAAAAG-AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACARTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTYGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGTCTGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCCACAATACATCTGACAAATGCTTAAT--ATCCAGT-ATCTACAGG-AACTCAAG?????????
+
+
+
+ ??????????????G-AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTAYTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCACTATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAATGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAATTGCTACATGATAAWGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAATGTTTCTGTACAGATAAAAACATAG???????????????????????????????????????????????????????????????????????????????????????????????????????????????
+
+
+
+ ?????????????AG-AGC-ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACARTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCTTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAATGTCAGACCGGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGT-TGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATACATCTGACAAATGCTTAAT--ATCCAGT-ATCTACA????????????????????
+
+
+
+ ATTCTAGGCAAAAAG-AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGCATTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGKCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGYCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAAYGTCAGACCGGAAACCGTGAAATTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGT-TGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCCACAATACATCTGACAAATGCTT-ATATATCCAGT-ATCTACAGAGAACTCAAG?????????
+
+
+
+
+
+
+
+
+ C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCACAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCGTTTCTGGAAAACTGAGATCTTGTTTTGACCAACAGAAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTACTGGTGATGTCTCTGTCAGGATCTAGTCCCATCCTG-AATCCATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTCAGAACTGACTGAATCAGGCCAGTGAAAGTTA-CAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATTGTGCATGGCTTCATTAGCAGGTTTACTGTGCTGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCATCAGATTGTCAGGGTCTTGGATTCTGATAAGTTCTGTGTTCCTGATGAGAGACTGGTTATTCAGTAAGTTGTAGGACAAA
+
+
+
+ C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGAGAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGAKAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCACTAAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTRTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACTACCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCACTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCASTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGTGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ ?????????????????????????????C-AGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACYGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTAKGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCRTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCC-AGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGTTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCYACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAATTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTGGTCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCATATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAAWGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCTCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGACAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTTTAAGTGTTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGTCTGGCTATGAAAGGAAGGACTCTTAAGAACTGACTGAATCAGTCCAGTGAAACTTAACAGCTACCTTGCCAATKGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGG--TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCGGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ CAAGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTCTAAGTGTTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTAAGAACTGACTGAATCAGTCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGG--TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCGGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTATTGCCTGGATATAGTGTCTATAGACAGAGACAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCACATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCACCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCTGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCTCTGGGTTGTTAG-CGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACAATGTCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTATTGCCTGGATATAGTGTCTATAGACAGAGACAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCACATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCTGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCTCTGGGTTGTTAG-CGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGACGCCKTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTAAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAGGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGACGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTYCCATCCTG-AATTGATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTAAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAGGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTAAGAACTGAMTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTAAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTGGTCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTGGTCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTGGTCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAAGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTGGAATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGAGGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+ C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
+
+
+
+
+
+
+
+
+ CATGATTTTGTCATGCCTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGATGATTGACGCTGCTGTCAGTAGTGAGTGACACAAATTTTATTTAGTTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACGTGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAATTGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATTTCTTTTCCA-CC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTAGATTTTATGGGACTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTAYCTGAAGGTTATTGATGGTGACCTCATTTTCTTGTGCTTGTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAATTCAGAGTTTGAACACTGTCCTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTCTATGTATGTGGTACCGTGCACTCAAACCCAGGTCTTTGTGAATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGCAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACARAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCYTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAACC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGACGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCCACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACASAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCYTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAMCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGSTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGAMGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCCACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCSACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTRTGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGATTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTGTGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGATTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTYGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACASAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGSTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTYGTTTTCACCTGTGTGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCYGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAMCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGGTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGAYGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCCACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCYGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAMCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGSTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGAYGGTGACCTCGWTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCSACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTRTGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGWTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCSACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAACC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAACC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGSTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTARGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACASAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCYTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAACC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTATTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATATCTTTTCCAACCCTAGATTTTTTTTT--------------------------------GCACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTTTTC-TATGTATGTGGTATCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCACTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATCTCTTTGTCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCTGTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------GGTACCATGCACTGGAACCCAGGTCTTCATGCATGCTAGACAGTA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATGTTTGTGCAACT-A
+
+
+
+ ???????TTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTTACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTCGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTTTT---------------------------T--GCACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTTTTTCTATGTATGTGGTATCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCACTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTTATTTATGCTTACCTGAAGATTATTGATGATGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGACTTGAACTCAGGGTTTGAACACTGTCTTTGGGCTTTCTCAAGGCTA--------CCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------GGTACCATGCACTGGAACCCAGGTCTTCATGCATGCTAGACAGCA-CTCTACCACTA?????????????????????????????????????????????????????
+
+
+
+ ?ATGATTTTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTTACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGGGTGTGTGCCTACTAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAAATGCTATACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATGTTTTTTTT-G------------------------------CACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCACCACTTCTGGCTTTTTTTTTTCTACGTATGTGGTATCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCACTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGCTTTTTATTTATGCTTACCTGAAGATTATTGATGATGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCTTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------GGTACCATGCACTGGAACCCAGGTCTTCATGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATTATGTTTGTGCAA????
+
+
+
+ ??????????????????????A---GCTTATATGCTTGTGTGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTACTGCCAGTAGTGGGTGACACAAATTTCATTTAATTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACATATAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTTTT------------------------------------------------------------------------------------------------------TTCTATGTATGTGGTACCAAGGAATCGAACCCGGGTCTTTGTGCATGCTATGCAAGCACTTTACCACTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATGTTTCGTTTCATCTTGTTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACATCGTTTTCTTGTGCTTTTTAGTGATTTCTTT?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
+
+
+
+ ??????????????GCTTTCTTACGTGCTTATATGCTTGTGTGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTACTGCCAGTAGTGGGTGACACAAATTTCATTTAATTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACATATAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATATCTTTTCCAACCCTAGATTTTTTTTTTTGCCAGTCCTGGGCTTGAGCTCAGGGCCTGAGCACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCTTCAGCATCACTTCTGGCTTTTTTTTTTCTATGTATGTGGTACCAAGGAATCGAACCCGGGTCTTTGTGCATGCTATGCAGGCACTCTACCACTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATGTTTCGTTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACATCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCTTTGGGCTTTGTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTCC---------GGTACCATGCACTGGAACCCAGGTCTTCGTGCATGCTGGACAGCAACTCTACCACTAGGCAAAGCTTCTGGACCCATTAGT?????????????????????????????
+
+
+
+ CATGATTTTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGAGTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTTTTGCCAGTCCTGGGCTTGAGCTCAGGGCCTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTT-TTCTATGTATGTGGTACCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCACTAGCCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGATCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAAATCAGGGTTTGAACATTGTCTTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------AATACCATGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCATTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATGTTTGTGCAACT-A
+
+
+
+ CATGATTTTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGAGTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAAYGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTT--GCCAGTCCTGGGCTTSAGCTCAGGGCCTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTKTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTTTTTCTATGTATGTGGTACCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCACTAGCCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGAYCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCYAGTCCTGGGGCTTGAAATCAGGGTTTGAACATTGTCTTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------AATACCATGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCATTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATGTTTGTGCAACT-A
+
+
+
+ ?????????????????TTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGCTGTTTTCACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGGTTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAAGTGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTTTT---------------------------TTTGCACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTTTTTCTATGTATGTGGTATCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCAGTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGTCAGATG-----TTTCATCTTGGTTTTTATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCTTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAATACCACTTTTGACTCTTTTC---------GGTACCATGCACTGGAACCCAGGTCTTCATGCATGCTAGACAGCA-CTCTACCAC???????????????????????????????????????????????????????
+
+
+
+ CATGATTTTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGGTTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTTTT------------------------------GCACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTT-TTCTATGTATGTGGTATCAAGGAATCGAACCCGGGTCTTCGTGCATGCTCGGCAAGCACTCTACCACTAGGCCAAACTCCCAGCCYCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTTATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCTTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------GGTACCATGCACTGGAACCCAGGTCTTCATGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATGTTTGTGCAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACACAAATTTCATTTAGTTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCCTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAACC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCCACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTT--ATATCATCTTTGTGCAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGWTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTGTGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGATTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTRCCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
+
+
+
+ CATGATTTTGTCATGYTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTYGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTRTGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGATTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTTYATATCATCTTTGTGAAACT-A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -Nru beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/beast1/testEBSP.xml beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/beast1/testEBSP.xml
--- beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/beast1/testEBSP.xml 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/beast1/testEBSP.xml 1970-01-01 00:00:00.000000000 +0000
@@ -1,836 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ATTCTAGGCAAAAAG-AGCAATGCTGGAGGTATTACAATACCAGACTTCAAACTTTACTATAGAGCCATAATAACAAAAACCGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAATGGAAYAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGTCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCACCATGCACAGGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCAGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGGGAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATAGGAGAAAGACTCAATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAATAATACATCTGACAAATGCTTGAT--ATCCAGT-ATCTACAGGGAACTCAAGAAATTAATC
-
-
-
- ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACMCAGTCTATTCAATTATTGGKGCTGGCAAAACTGGGCAGCCMCATGCARAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAA?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-
-
-
- ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCM-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGTT-GCAAAAGT????????????????????????????????????????????????????????????????????????????????????????????????????
-
-
-
- ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAAYTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAA?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-
-
-
- ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAAYGTCAGACCGGAAACCGTGAAAYTGTTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAA????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-
-
-
- ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGATCCAGAAATAGAACCAC-ATACCTATAGTCAACTTGTATTTGATAAAGGAGCTAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCATTTCACCATGCACAAGAATTAACTCAAAGTGGATCAAAGACCTCAATGTCAGACCT-------------------------------------CATAGGCACTCATAGGCACAGGCAAAAGATTCCTATACAGGAACCCAGGGTCAACAACAGATTGGAGAGAGACTCAATAAATGGGACTACCTAAAAATAAAA-GTTTCTGCAC?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-
-
-
- ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCARAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAATGTCAGACCGGAAACCGTGAAAYTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAG??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-
-
-
- ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAATGTCAGACCGGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAAATTCCTGAACAGAATCCCAGGGTCA-CAACAGATKGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGTT-GCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATA?????????????????????????????????????????????????????????????????????
-
-
-
- ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCTATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCA??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-
-
-
- ????????????????AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGT-TGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACA???????????????????????????????????????????????????????????
-
-
-
- ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCATTTCACCATGCACAAGAATTAACTCAAAGTGGATCAAAGACCTCAATGTCAGACCGGAAACCGTGAAA???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-
-
-
- ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACARTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAA?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-
-
-
- ????????????????????ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACARTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAATTGCTACATGATAAWGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCAATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGTT-GCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATAT????????????????????????????????????????????????????????????????????
-
-
-
- ???CTAGGCAAAA-G-AGC-ATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATMCAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCRACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CKCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATGTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
-
-
-
- ????????CAAAA-G-AGCAATGCTGGTGGTATYACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATMCAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCRACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATRTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
-
-
-
- ????GGCGCAAAA-G-AGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATMCAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATRTATCTGACAAATGCTTAAT--ATCCAGCTATCTACAGAGAACTCAAGAAACTAATC
-
-
-
- ATTCTAGGCAAAAAGAAGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATACAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAAYTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATGTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
-
-
-
- ATTCTAGGCAAAAAG-AGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATACAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCSCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAAYTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATGTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTA-TC
-
-
-
- ??????????????G-AGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATACAATGGAACGAACACAGYCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATRTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
-
-
-
- ATTCTAGGCAAAAAG-AGCAATGCTGGTGGTATYACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAWATAGAACCAC-ACAACTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAATGGAACRAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATATATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
-
-
-
- ATTCTAGGCAAAA-G-AGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTKTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATACAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAAYGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAAYTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATGTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
-
-
-
- ATTCTAGGCAAAAAG-AGCAATGCTGGTGGTATCACAATACCAGACTTCAAACTTTACTATAAAGCCATAATAACAAAAACTGC-TTGGTACTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGATATAGAACCAC-ACAACTATAGGCAACTTRTATTTGACAAAGGAGCCAAAGATATCCAATGGAACGAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGAAAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCRACGTCAGACCGGAAACCGTGAAACTGCTACATGATAATGTAGGAGAGACACTGGAACTCATAGGCACAGGAAACAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGACAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGACAAAAACATAGT-CGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATGTATCTGACAAATGCTTAAT--ATCCAGC-ATCTACAGAGAACTCAAGAAACTAATC
-
-
-
- ATTCTAGGCAAAAAG-AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACARTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTYGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGTCTGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCCACAATACATCTGACAAATGCTTAAT--ATCCAGT-ATCTACAGG-AACTCAAG?????????
-
-
-
- ??????????????G-AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTAYTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCACTATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACAATGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAACGTCAGACCGGAAACCGTGAAATTGCTACATGATAAWGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAATGTTTCTGTACAGATAAAAACATAG???????????????????????????????????????????????????????????????????????????????????????????????????????????????
-
-
-
- ?????????????AG-AGC-ATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGC-TTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGGCAACTTGTATTTGACAAAGGAGCCAAAGATATACARTGGAACAAACACAGTCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCTTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAATGTCAGACCGGAAACCGTGAAACTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGT-TGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCAACAATACATCTGACAAATGCTTAAT--ATCCAGT-ATCTACA????????????????????
-
-
-
- ATTCTAGGCAAAAAG-AGCAATGCTGGTGGTATTACAATACCAGACTTCAAACTCTACTATAGAGCCATAATAACAAAAACTGCATTGGTATTGGCACAAAAACAGACCAGAAGATCAGTGGAACAGAATAGAAGACCCAGAAATAGAACCAC-ATACCTATAGKCAACTTGTATTTGACAAAGGAGCCAAAGATATACAGTGGAACAAACACAGYCTATTCAATTATTGGTGCTGGCAAAACTGGGCAGCCACATGCAGAAAACTAAAAATTGACCCTAGCCTTTCGCCATGCACAAGCATTAACTCAAAGTGGATCAAAGACCTCAAYGTCAGACCGGAAACCGTGAAATTGCTACATGATAAAGTAGGAGAGACACTGGAACTCATAGGCACAGGCAAAAGATTCCTGAACAGAATCCCAGGGTCA-CAACAGATTGGAGAGAGACTCGATAAATGGGACTACCTAAAAATAAAAAGTTTCTGTACAGATAAAAACATAGT-TGCAAAAGTAGAGAGACAGCCAACCAACTGGGAAAAGATATTCACCCACAATACATCTGACAAATGCTT-ATATATCCAGT-ATCTACAGAGAACTCAAG?????????
-
-
-
-
-
-
-
-
- C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCACAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCGTTTCTGGAAAACTGAGATCTTGTTTTGACCAACAGAAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTACTGGTGATGTCTCTGTCAGGATCTAGTCCCATCCTG-AATCCATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTCAGAACTGACTGAATCAGGCCAGTGAAAGTTA-CAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATTGTGCATGGCTTCATTAGCAGGTTTACTGTGCTGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCATCAGATTGTCAGGGTCTTGGATTCTGATAAGTTCTGTGTTCCTGATGAGAGACTGGTTATTCAGTAAGTTGTAGGACAAA
-
-
-
- C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGAGAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGAKAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCACTAAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTRTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACTACCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCACTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCASTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGTGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- ?????????????????????????????C-AGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACYGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTAKGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCRTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCC-AGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGTTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCYACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAATTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTGGTCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCATATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAAWGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCTCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGACAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTTTAAGTGTTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGTCTGGCTATGAAAGGAAGGACTCTTAAGAACTGACTGAATCAGTCCAGTGAAACTTAACAGCTACCTTGCCAATKGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGG--TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCGGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- CAAGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTCTAAGTGTTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTAAGAACTGACTGAATCAGTCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGG--TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCGGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTATTGCCTGGATATAGTGTCTATAGACAGAGACAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCACATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCACCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCTGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCTCTGGGTTGTTAG-CGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACAATGTCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTATTGCCTGGATATAGTGTCTATAGACAGAGACAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCACATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCTGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCTCTGGGTTGTTAG-CGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGACGCCKTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTAAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAGGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGACGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTYCCATCCTG-AATTGATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTAAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAGGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACTGTCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTGCTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTAAGAACTGAMTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTGCCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCTCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGGATCCAGTCCCATCCTG-AATTGATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGACTCTTAAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGG-TCTTTCCAAGGATTGTGCTTCTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTACTGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTGGACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTGGTCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTGGTCACACCGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTGGTCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAAGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTGGAATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGAGGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
- C-AGCTTGCTG-TCACACTGCCCCTTCTACAAGCCCAGCTGACAGAGGCCTTAAGTACTACCTGGATATAATGTCTATAGACAGAGGCAATTCTGGAAAACTCAGATCTTATTTTGACCAACAGGAATTAATGTCTATGGTAGAATTCCCCTCAGCTCCTGGATTGCTGGTACTGGTGACGTCTCTGTCAGAATCCAGTCCCATCCTG-AATTTATACTTAACAATTTTCTAAGTATTTTGTGGTCTTGCTCTACCTCCAGGGAAGCTGGCCTGGCTATGAAAGGAAGGGCTCTTTAGAACTGACTGAATCAGGCCAGTGAAACTTAACAGCTACCTTGCCAATGGTCTGTGTGCCAGTGACATCGTGCATGGCTTCATTAGCAGATTTACTGTGCCGGGGTCTTTCCAAGGATTGTGCTTGTTGATTTGGTCCCTGGATAAATTTGCAAATGCTAATCTAGTTGTTAATGGAGAGCATCCAAACCTAAGACAGGACTATTCCTCCCTGGGTTGTTAGGCGTCAGATTGGCAGGGTCTTG-ACTCTGATAAGTTCTGTGTTCCTGATGAGAGGCTGGTTATTCAGTAAGTTGTAGGGCAAA
-
-
-
-
-
-
-
-
- CATGATTTTGTCATGCCTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGATGATTGACGCTGCTGTCAGTAGTGAGTGACACAAATTTTATTTAGTTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACGTGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAATTGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATTTCTTTTCCA-CC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTAGATTTTATGGGACTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTAYCTGAAGGTTATTGATGGTGACCTCATTTTCTTGTGCTTGTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAATTCAGAGTTTGAACACTGTCCTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTCTATGTATGTGGTACCGTGCACTCAAACCCAGGTCTTTGTGAATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGCAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACARAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCYTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAACC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGACGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCCACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACASAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCYTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAMCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGSTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGAMGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCCACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCSACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTRTGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGATTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTGTGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGATTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTYGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACASAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGSTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTYGTTTTCACCTGTGTGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCYGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAMCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGGTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGAYGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCCACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCYGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAMCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGSTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGAYGGTGACCTCGWTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCSACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTRTGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGWTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCSACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAACC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAACC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGSTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTARGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACASAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCYTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAACC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTATTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATATCTTTTCCAACCCTAGATTTTTTTTT--------------------------------GCACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTTTTC-TATGTATGTGGTATCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCACTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATCTCTTTGTCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCTGTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------GGTACCATGCACTGGAACCCAGGTCTTCATGCATGCTAGACAGTA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATGTTTGTGCAACT-A
-
-
-
- ???????TTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTTACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTCGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTTTT---------------------------T--GCACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTTTTTCTATGTATGTGGTATCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCACTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTTATTTATGCTTACCTGAAGATTATTGATGATGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGACTTGAACTCAGGGTTTGAACACTGTCTTTGGGCTTTCTCAAGGCTA--------CCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------GGTACCATGCACTGGAACCCAGGTCTTCATGCATGCTAGACAGCA-CTCTACCACTA?????????????????????????????????????????????????????
-
-
-
- ?ATGATTTTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTTACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGGGTGTGTGCCTACTAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAAATGCTATACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATGTTTTTTTT-G------------------------------CACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCACCACTTCTGGCTTTTTTTTTTCTACGTATGTGGTATCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCACTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGCTTTTTATTTATGCTTACCTGAAGATTATTGATGATGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCTTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------GGTACCATGCACTGGAACCCAGGTCTTCATGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATTATGTTTGTGCAA????
-
-
-
- ??????????????????????A---GCTTATATGCTTGTGTGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTACTGCCAGTAGTGGGTGACACAAATTTCATTTAATTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACATATAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTTTT------------------------------------------------------------------------------------------------------TTCTATGTATGTGGTACCAAGGAATCGAACCCGGGTCTTTGTGCATGCTATGCAAGCACTTTACCACTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATGTTTCGTTTCATCTTGTTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACATCGTTTTCTTGTGCTTTTTAGTGATTTCTTT?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-
-
-
- ??????????????GCTTTCTTACGTGCTTATATGCTTGTGTGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTACTGCCAGTAGTGGGTGACACAAATTTCATTTAATTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACATATAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATATCTTTTCCAACCCTAGATTTTTTTTTTTGCCAGTCCTGGGCTTGAGCTCAGGGCCTGAGCACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCTTCAGCATCACTTCTGGCTTTTTTTTTTCTATGTATGTGGTACCAAGGAATCGAACCCGGGTCTTTGTGCATGCTATGCAGGCACTCTACCACTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATGTTTCGTTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACATCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCTTTGGGCTTTGTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTCC---------GGTACCATGCACTGGAACCCAGGTCTTCGTGCATGCTGGACAGCAACTCTACCACTAGGCAAAGCTTCTGGACCCATTAGT?????????????????????????????
-
-
-
- CATGATTTTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGAGTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTTTTGCCAGTCCTGGGCTTGAGCTCAGGGCCTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTT-TTCTATGTATGTGGTACCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCACTAGCCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGATCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAAATCAGGGTTTGAACATTGTCTTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------AATACCATGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCATTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATGTTTGTGCAACT-A
-
-
-
- CATGATTTTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGAGTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAAYGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTT--GCCAGTCCTGGGCTTSAGCTCAGGGCCTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTKTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTTTTTCTATGTATGTGGTACCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCACTAGCCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGAYCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCYAGTCCTGGGGCTTGAAATCAGGGTTTGAACATTGTCTTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------AATACCATGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCATTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATGTTTGTGCAACT-A
-
-
-
- ?????????????????TTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGCTGTTTTCACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGGTTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAAGTGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTTTT---------------------------TTTGCACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTTTTTCTATGTATGTGGTATCAAGGAATCGAACCCGGGTCTTCGTGCATGCTAGGCAAGCACTCTACCAGTAGGCCAAACTCCCAGCCCCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGTCAGATG-----TTTCATCTTGGTTTTTATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCTTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAATACCACTTTTGACTCTTTTC---------GGTACCATGCACTGGAACCCAGGTCTTCATGCATGCTAGACAGCA-CTCTACCAC???????????????????????????????????????????????????????
-
-
-
- CATGATTTTTTCATGCTTTCTTAC-TGCTTATCTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACACTACTGTCAGTAGTGGGTGACACAAATTTCATTTAATTTGGTTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAACGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCACGATATCTTTTCCAACCCTAGATTTTTTTTTTT------------------------------GCACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCACTTGAGCCTCAGCATCACTTCTGGCTTTTTTT-TTCTATGTATGTGGTATCAAGGAATCGAACCCGGGTCTTCGTGCATGCTCGGCAAGCACTCTACCACTAGGCCAAACTCCCAGCCYCAACCCTAGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTTATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCTTTGGGCTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTTGACTCTTTTC---------GGTACCATGCACTGGAACCCAGGTCTTCATGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATGTTTGTGCAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACACAAATTTCATTTAGTTTGGGTGTGTGCCTACCAGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCCTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCAACC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGTTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCCACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTT--ATATCATCTTTGTGCAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTATGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGWTTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGCTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTTGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTGTGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGATTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTRCCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTT-ATATCATCTTTGTGAAACT-A
-
-
-
- CATGATTTTGTCATGYTTTCTTAC-TGCTTATTTGCTTGTGGGCTTTGGGTTGTTTTCACCTGTGGGTYGATTGACGCTACTGTCAGTAGTGGGTGACAGAAATTTCATTTAGTTTGGGTGTGTGCCTACCGGTATAATTGCTGGACCACATGTAGGTCTGTATTAATCTTCTGAAGAATGGTTAGGCCATCTGTGAAATGCTGTACTTCTTTRTGTTCCCGCCATTCTGAGTTCTGATTTCATGATACCTTTTCCACCC-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CTGGATTTTATGGGGCTCTTTTATGTAACCAGAATGGCAGATG-----TTTCATCTTGGTTTTGATTTATGCTTACCTGAAGATTATTGATGGTGACCTCGATTTCTTGTGCTTTTTAGTGATTTCTTTGCCAGTCCTGGGGCTTGAACTCAGGGTTTGAACACTGTCCTTGGACTTTCTCAAGGCTAGAGCTCTACCATTTGAGCCACAACACCACTTTCGACTCTTTTCTATGTATGTGGTACCGTGCACTGGAACCCAGGTCTTCGTGCATGCTAGACAGCA-CTCTACCACTAGGCCAAACTTCTGGACCCATTAGTGATTTTTYATATCATCTTTGTGAAACT-A
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -Nru beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/testEBSP-b2.xml beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/testEBSP-b2.xml
--- beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/testEBSP-b2.xml 1970-01-01 00:00:00.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/testEBSP-b2.xml 2022-04-04 07:18:36.000000000 +0000
@@ -0,0 +1,384 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2.0
+
+ false
+
+ 1.0
+
+ 1.0
+
+ 0.25
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0.69314718056
+
+
+
+
+
+
+
+
+
+ 1.0
+
+ 1.25
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1.0
+
+ 1.0
+
+ 0.0
+
+
+
+
+
+
+
+
+
+
+
+ 1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -Nru beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/testEBSP-old.xml beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/testEBSP-old.xml
--- beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/testEBSP-old.xml 1970-01-01 00:00:00.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/testEBSP-old.xml 2022-04-04 07:18:36.000000000 +0000
@@ -0,0 +1,322 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -Nru beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/testEBSP.xml beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/testEBSP.xml
--- beast2-mcmc-2.6.6+dfsg/examples/beast2vs1/testEBSP.xml 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/examples/beast2vs1/testEBSP.xml 1970-01-01 00:00:00.000000000 +0000
@@ -1,317 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -Nru beast2-mcmc-2.6.6+dfsg/release/common/README.txt beast2-mcmc-2.6.7+dfsg/release/common/README.txt
--- beast2-mcmc-2.6.6+dfsg/release/common/README.txt 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/common/README.txt 2022-04-04 07:18:36.000000000 +0000
@@ -1,7 +1,7 @@
- BEAST v2.6.6 2021
- Beast 2 development team 2011-2021
+ BEAST v2.6.7 2022
+ Beast 2 development team 2011-2022
-Last updated: August 2021
+Last updated: March 2022
Contents:
1) INTRODUCTION
diff -Nru "/tmp/tmpf4cdn695/LuIOAMVLdw/beast2-mcmc-2.6.6+dfsg/release/common/VERSION HISTORY.txt" "/tmp/tmpf4cdn695/Ko41VIyH3z/beast2-mcmc-2.6.7+dfsg/release/common/VERSION HISTORY.txt"
--- "/tmp/tmpf4cdn695/LuIOAMVLdw/beast2-mcmc-2.6.6+dfsg/release/common/VERSION HISTORY.txt" 2021-08-11 20:11:54.000000000 +0000
+++ "/tmp/tmpf4cdn695/Ko41VIyH3z/beast2-mcmc-2.6.7+dfsg/release/common/VERSION HISTORY.txt" 2022-04-04 07:18:36.000000000 +0000
@@ -1,10 +1,23 @@
- BEAST v2.6.6 2021
- Beast 2 development team 2011-2021
+ BEAST v2.6.7 2022
+ Beast 2 development team 2011-2022
Version History
-Last updated: August 2021
+Last updated: March 2022
All issues can be viewed at https://github.com/CompEvol/beast2/issues
================================================================================
+Version 2.6.7
+ SimulatedAlignment correctly links indices of tree to alignment
+ Option 'ascii' added to Logger to allow it to convert output to ascii or not
+ Loading two dimensional data into trait dialog robustified
+ Make NexusParser more robust and allow Fasta imports to select from all data types
+ Fix TreeAnnotator -heights processing issue
+ Make Prior.sample() obey parameter bounds
+ Fix auto-set clock rate in BEAUti when independent trees are involved
+ Fix TipDateRandomWalker to ensure heights are always >= 0
+ Add upper limit to delta exchange optimization
+ Made tree input to RatesStatistic required to ensure appropriate behaviour
+ Remove superfluous new lines in XML produced by BEAUti
+
Version 2.6.6
Fix so that when not using ambiguities, the nucleotide 'U' base pair is correctly interpreted
Fix tree annotator for lower bound on common ancestor heights
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/applauncher beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/applauncher
--- beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/applauncher 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/applauncher 2022-04-04 07:18:36.000000000 +0000
@@ -1,5 +1,5 @@
#!/bin/sh
-export JAVA_HOME=$(dirname "$0")/../jre1.8.0_282
+export JAVA_HOME=$(dirname "$0")/../jre1.8.0_292
if [ -z "$BEAST" ]; then
## resolve links - $0 may be a link to application
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/beast beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/beast
--- beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/beast 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/beast 2022-04-04 07:18:36.000000000 +0000
@@ -1,5 +1,5 @@
#!/bin/sh
-export JAVA_HOME=$(dirname "$0")/../jre1.8.0_282
+export JAVA_HOME=$(dirname "$0")/../jre1.8.0_292
if [ -z "$BEAST" ]; then
## resolve links - $0 may be a link to application
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/beauti beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/beauti
--- beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/beauti 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/beauti 2022-04-04 07:18:36.000000000 +0000
@@ -1,5 +1,5 @@
#!/bin/sh
-export JAVA_HOME=$(dirname "$0")/../jre1.8.0_282
+export JAVA_HOME=$(dirname "$0")/../jre1.8.0_292
if [ -z "$BEAST" ]; then
## resolve links - $0 may be a link to application
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/densitree beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/densitree
--- beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/densitree 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/densitree 2022-04-04 07:18:36.000000000 +0000
@@ -1,5 +1,5 @@
#!/bin/sh
-export JAVA_HOME=$(dirname "$0")/../jre1.8.0_282
+export JAVA_HOME=$(dirname "$0")/../jre1.8.0_292
if [ -z "$BEAST" ]; then
## resolve links - $0 may be a link to application
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/loganalyser beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/loganalyser
--- beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/loganalyser 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/loganalyser 2022-04-04 07:18:36.000000000 +0000
@@ -1,5 +1,5 @@
#!/bin/sh
-export JAVA_HOME=$(dirname "$0")/../jre1.8.0_282
+export JAVA_HOME=$(dirname "$0")/../jre1.8.0_292
if [ -z "$BEAST" ]; then
## resolve links - $0 may be a link to application
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/logcombiner beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/logcombiner
--- beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/logcombiner 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/logcombiner 2022-04-04 07:18:36.000000000 +0000
@@ -1,5 +1,5 @@
#!/bin/sh
-export JAVA_HOME=$(dirname "$0")/../jre1.8.0_282
+export JAVA_HOME=$(dirname "$0")/../jre1.8.0_292
if [ -z "$BEAST" ]; then
## resolve links - $0 may be a link to application
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/packagemanager beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/packagemanager
--- beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/packagemanager 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/packagemanager 2022-04-04 07:18:36.000000000 +0000
@@ -1,5 +1,5 @@
#!/bin/sh
-export JAVA_HOME=$(dirname "$0")/../jre1.8.0_282
+export JAVA_HOME=$(dirname "$0")/../jre1.8.0_292
if [ -z "$BEAST" ]; then
## resolve links - $0 may be a link to application
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/treeannotator beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/treeannotator
--- beast2-mcmc-2.6.6+dfsg/release/Linux/jrebin/treeannotator 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Linux/jrebin/treeannotator 2022-04-04 07:18:36.000000000 +0000
@@ -1,5 +1,5 @@
#!/bin/sh
-export JAVA_HOME=$(dirname "$0")/../jre1.8.0_282
+export JAVA_HOME=$(dirname "$0")/../jre1.8.0_292
if [ -z "$BEAST" ]; then
## resolve links - $0 may be a link to application
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Mac/createdmg.sh beast2-mcmc-2.6.7+dfsg/release/Mac/createdmg.sh
--- beast2-mcmc-2.6.6+dfsg/release/Mac/createdmg.sh 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Mac/createdmg.sh 2022-04-04 07:18:36.000000000 +0000
@@ -15,12 +15,13 @@
cp install.png ${source}/${backgroundPictureName}
+echo "Creating image from folder ${source} at volume name ${title}"
hdiutil create -srcfolder "${source}" -volname "${title}" -fs HFS+ \
-fsargs "-c c=64,a=16,e=16" -format UDRW -size ${size}k pack.temp.dmg
export device=$(hdiutil attach -readwrite -noverify -noautoopen "pack.temp.dmg" | \
egrep '^/dev/' | sed 1q | awk '{print $1}')
-
+echo "Attach device : ${device}"
echo '
tell application "Finder"
@@ -54,5 +55,6 @@
sync
sync
hdiutil detach ${device}
+echo "Detach device : ${device}"
hdiutil convert "pack.temp.dmg" -format UDZO -imagekey zlib-level=9 -o "${finalDMGName}"
rm -f /pack.temp.dmg
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Mac/stub/3-0-3/universalJavaApplicationJREStub beast2-mcmc-2.6.7+dfsg/release/Mac/stub/3-0-3/universalJavaApplicationJREStub
--- beast2-mcmc-2.6.6+dfsg/release/Mac/stub/3-0-3/universalJavaApplicationJREStub 1970-01-01 00:00:00.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Mac/stub/3-0-3/universalJavaApplicationJREStub 2022-04-04 07:18:36.000000000 +0000
@@ -0,0 +1,572 @@
+#!/bin/bash
+##################################################################################
+# #
+# universalJavaApplicationStub #
+# #
+# A BASH based JavaApplicationStub for Java Apps on Mac OS X #
+# that works with both Apple's and Oracle's plist format. #
+# #
+# Inspired by Ian Roberts stackoverflow answer #
+# at http://stackoverflow.com/a/17546508/1128689 #
+# #
+# @author Tobias Fischer #
+# @url https://github.com/tofi86/universalJavaApplicationStub #
+# @date 2018-07-29 #
+# @version 3.0.3 #
+# #
+##################################################################################
+# #
+# The MIT License (MIT) #
+# #
+# Copyright (c) 2014-2018 Tobias Fischer #
+# #
+# Permission is hereby granted, free of charge, to any person obtaining a copy #
+# of this software and associated documentation files (the "Software"), to deal #
+# in the Software without restriction, including without limitation the rights #
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell #
+# copies of the Software, and to permit persons to whom the Software is #
+# furnished to do so, subject to the following conditions: #
+# #
+# The above copyright notice and this permission notice shall be included in all #
+# copies or substantial portions of the Software. #
+# #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE #
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, #
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE #
+# SOFTWARE. #
+# #
+##################################################################################
+
+
+
+# function 'stub_logger()'
+#
+# A logger which logs to the macOS Console.app using the 'syslog' command
+#
+# @param1 the log message
+# @return void
+################################################################################
+function stub_logger() {
+ syslog -s -k \
+ Facility com.apple.console \
+ Level Notice \
+ Sender "$(basename "$0")" \
+ Message "[$$][${CFBundleName:-$(basename "$0")}] $1"
+}
+
+
+
+# set the directory abspath of the current
+# shell script with symlinks being resolved
+############################################
+
+PRG=$0
+while [ -h "$PRG" ]; do
+ ls=$(ls -ld "$PRG")
+ link=$(expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null)
+ if expr "$link" : '^/' 2> /dev/null >/dev/null; then
+ PRG="$link"
+ else
+ PRG="$(dirname "$PRG")/$link"
+ fi
+done
+PROGDIR=$(dirname "$PRG")
+stub_logger "[StubDir] $PROGDIR"
+
+
+
+# set files and folders
+############################################
+
+# the absolute path of the app package
+cd "$PROGDIR"/../../ || exit 11
+AppPackageFolder=$(pwd)
+
+# the base path of the app package
+cd .. || exit 12
+AppPackageRoot=$(pwd)
+
+# set Apple's Java folder
+AppleJavaFolder="${AppPackageFolder}"/Contents/Resources/Java
+
+# set Apple's Resources folder
+AppleResourcesFolder="${AppPackageFolder}"/Contents/Resources
+
+# set Oracle's Java folder
+OracleJavaFolder="${AppPackageFolder}"/Contents/Java
+
+# set Oracle's Resources folder
+OracleResourcesFolder="${AppPackageFolder}"/Contents/Resources
+
+# set path to Info.plist in bundle
+InfoPlistFile="${AppPackageFolder}"/Contents/Info.plist
+
+# set the default JVM Version to a null string
+JVMVersion=""
+JVMMaxVersion=""
+
+
+
+# function 'plist_get()'
+#
+# read a specific Plist key with 'PlistBuddy' utility
+#
+# @param1 the Plist key with leading colon ':'
+# @return the value as String or Array
+################################################################################
+plist_get(){
+ /usr/libexec/PlistBuddy -c "print $1" "${InfoPlistFile}" 2> /dev/null
+}
+
+# function 'plist_get_java()'
+#
+# read a specific Plist key with 'PlistBuddy' utility
+# in the 'Java' or 'JavaX' dictionary ()
+#
+# @param1 the Plist :Java(X):Key with leading colon ':'
+# @return the value as String or Array
+################################################################################
+plist_get_java(){
+ plist_get ${JavaKey:-":Java"}$1
+}
+
+
+
+# read Info.plist and extract JVM options
+############################################
+
+# read the program name from CFBundleName
+CFBundleName=$(plist_get ':CFBundleName')
+
+# read the icon file name
+CFBundleIconFile=$(plist_get ':CFBundleIconFile')
+
+
+# check Info.plist for Apple style Java keys -> if key :Java is present, parse in apple mode
+/usr/libexec/PlistBuddy -c "print :Java" "${InfoPlistFile}" > /dev/null 2>&1
+exitcode=$?
+JavaKey=":Java"
+
+# if no :Java key is present, check Info.plist for universalJavaApplication style JavaX keys -> if key :JavaX is present, parse in apple mode
+if [ $exitcode -ne 0 ]; then
+ /usr/libexec/PlistBuddy -c "print :JavaX" "${InfoPlistFile}" > /dev/null 2>&1
+ exitcode=$?
+ JavaKey=":JavaX"
+fi
+
+
+# read 'Info.plist' file in Apple style if exit code returns 0 (true, ':Java' key is present)
+if [ $exitcode -eq 0 ]; then
+ stub_logger "[PlistStyle] Apple"
+
+ # set Java and Resources folder
+ JavaFolder="${AppleJavaFolder}"
+ ResourcesFolder="${AppleResourcesFolder}"
+
+ APP_PACKAGE="${AppPackageFolder}"
+ JAVAROOT="${AppleJavaFolder}"
+ USER_HOME="$HOME"
+
+
+ # read the Java WorkingDirectory
+ JVMWorkDir=$(plist_get_java ':WorkingDirectory' | xargs)
+ # set Working Directory based upon PList value
+ if [[ ! -z ${JVMWorkDir} ]]; then
+ WorkingDirectory="${JVMWorkDir}"
+ else
+ # AppPackageRoot is the standard WorkingDirectory when the script is started
+ WorkingDirectory="${AppPackageRoot}"
+ fi
+ # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
+ WorkingDirectory=$(eval echo "${WorkingDirectory}")
+
+
+ # read the MainClass name
+ JVMMainClass="$(plist_get_java ':MainClass')"
+
+ # read the SplashFile name
+ JVMSplashFile=$(plist_get_java ':SplashFile')
+
+ # read the JVM Properties as an array and retain spaces
+ IFS=$'\t\n'
+ JVMOptions=($(xargs -n1 <<<$(plist_get_java ':Properties' | grep " =" | sed 's/^ */-D/g' | sed -E 's/ = (.*)$/="\1"/g')))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the ClassPath in either Array or String style
+ JVMClassPath_RAW=$(plist_get_java ':ClassPath' | xargs)
+ if [[ $JVMClassPath_RAW == *Array* ]] ; then
+ JVMClassPath=.$(plist_get_java ':ClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
+ else
+ JVMClassPath=${JVMClassPath_RAW}
+ fi
+ # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ # read the JVM Options in either Array or String style
+ JVMDefaultOptions_RAW=$(plist_get_java ':VMOptions' | xargs)
+ if [[ $JVMDefaultOptions_RAW == *Array* ]] ; then
+ JVMDefaultOptions=$(plist_get_java ':VMOptions' | grep " " | sed 's/^ */ /g' | tr -d '\n' | xargs)
+ else
+ JVMDefaultOptions=${JVMDefaultOptions_RAW}
+ fi
+
+ # read StartOnMainThread and add as -XstartOnFirstThread
+ JVMStartOnMainThread=$(plist_get_java ':StartOnMainThread')
+ if [ "${JVMStartOnMainThread}" == "true" ]; then
+ JVMDefaultOptions+=" -XstartOnFirstThread"
+ fi
+
+ # read the JVM Arguments as an array and retain spaces
+ IFS=$'\t\n'
+ MainArgs=($(xargs -n1 <<<$(plist_get_java ':Arguments')))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the Java version we want to find
+ JVMVersion=$(plist_get_java ':JVMVersion' | xargs)
+ # post processing of the version string follows below...
+
+
+# read 'Info.plist' file in Oracle style
+else
+ stub_logger "[PlistStyle] Oracle"
+
+ # set Working Directory and Java and Resources folder
+ JavaFolder="${OracleJavaFolder}"
+ ResourcesFolder="${OracleResourcesFolder}"
+ WorkingDirectory="${OracleJavaFolder}"
+
+ APP_ROOT="${AppPackageFolder}"
+
+ # read the MainClass name
+ JVMMainClass="$(plist_get ':JVMMainClassName')"
+
+ # read the SplashFile name
+ JVMSplashFile=$(plist_get ':JVMSplashFile')
+
+ # read the JVM Options as an array and retain spaces
+ IFS=$'\t\n'
+ JVMOptions=($(plist_get ':JVMOptions' | grep " " | sed 's/^ *//g'))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the ClassPath in either Array or String style
+ JVMClassPath_RAW=$(plist_get ':JVMClassPath')
+ if [[ $JVMClassPath_RAW == *Array* ]] ; then
+ JVMClassPath=.$(plist_get ':JVMClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
+ # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ elif [[ ! -z ${JVMClassPath_RAW} ]] ; then
+ JVMClassPath=${JVMClassPath_RAW}
+ # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ else
+ #default: fallback to OracleJavaFolder
+ JVMClassPath="${JavaFolder}/*"
+ # Do NOT expand the default 'AppName.app/Contents/Java/*' classpath (#42)
+ fi
+
+ # read the JVM Default Options
+ JVMDefaultOptions=$(plist_get ':JVMDefaultOptions' | grep -o " \-.*" | tr -d '\n' | xargs)
+
+ # read the Main Arguments from JVMArguments key as an array and retain spaces (see #46 for naming details)
+ IFS=$'\t\n'
+ MainArgs=($(xargs -n1 <<<$(plist_get ':JVMArguments' | tr -d '\n' | sed -E 's/Array \{ *(.*) *\}/\1/g' | sed 's/ */ /g')))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the Java version we want to find
+ JVMVersion=$(plist_get ':JVMVersion' | xargs)
+ # post processing of the version string follows below...
+fi
+
+
+
+# JVMVersion: post processing and optional splitting
+if [[ ${JVMVersion} == *";"* ]]; then
+ minMaxArray=(${JVMVersion//;/ })
+ JVMVersion=${minMaxArray[0]//+}
+ JVMMaxVersion=${minMaxArray[1]//+}
+fi
+stub_logger "[JavaRequirement] JVM minimum version: ${JVMVersion}"
+stub_logger "[JavaRequirement] JVM maximum version: ${JVMMaxVersion}"
+
+# MainArgs: replace occurences of $APP_ROOT with its content
+MainArgsArr=()
+for i in "${MainArgs[@]}"
+do
+ MainArgsArr+=("$(eval echo "$i")")
+done
+
+# JVMOptions: replace occurences of $APP_ROOT with its content
+JVMOptionsArr=()
+for i in "${JVMOptions[@]}"
+do
+ JVMOptionsArr+=("$(eval echo "$i")")
+done
+
+
+# internationalized messages
+############################################
+
+LANG=$(defaults read -g AppleLocale)
+stub_logger "[Language] $LANG"
+
+# French localization
+if [[ $LANG == fr* ]] ; then
+ MSG_ERROR_LAUNCHING="ERREUR au lancement de '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="'MainClass' n'est pas spécifié.\nL'application Java ne peut pas être lancée."
+ MSG_JVMVERSION_REQ_INVALID="La syntaxe de la version Java demandée est invalide: %s\nVeuillez contacter le développeur de l'application."
+ MSG_NO_SUITABLE_JAVA="La version de Java installée sur votre système ne convient pas.\nCe programme nécessite Java %s"
+ MSG_JAVA_VERSION_OR_LATER="ou ultérieur"
+ MSG_JAVA_VERSION_LATEST="(dernière mise à jour)"
+ MSG_JAVA_VERSION_MAX="à %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Merci de bien vouloir installer la version de Java requise."
+ MSG_INSTALL_JAVA="Java doit être installé sur votre système.\nRendez-vous sur java.com et suivez les instructions d'installation..."
+ MSG_LATER="Plus tard"
+ MSG_VISIT_JAVA_DOT_COM="Visiter java.com"
+
+# German localization
+elif [[ $LANG == de* ]] ; then
+ MSG_ERROR_LAUNCHING="FEHLER beim Starten von '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="Die 'MainClass' ist nicht spezifiziert!\nDie Java-Anwendung kann nicht gestartet werden!"
+ MSG_JVMVERSION_REQ_INVALID="Die Syntax der angeforderten Java-Version ist ungültig: %s\nBitte kontaktieren Sie den Entwickler der App."
+ MSG_NO_SUITABLE_JAVA="Es wurde keine passende Java-Version auf Ihrem System gefunden!\nDieses Programm benötigt Java %s"
+ MSG_JAVA_VERSION_OR_LATER="oder neuer"
+ MSG_JAVA_VERSION_LATEST="(neuste Unterversion)"
+ MSG_JAVA_VERSION_MAX="bis %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Stellen Sie sicher, dass die angeforderte Java-Version installiert ist."
+ MSG_INSTALL_JAVA="Auf Ihrem System muss die 'Java'-Software installiert sein.\nBesuchen Sie java.com für weitere Installationshinweise."
+ MSG_LATER="Später"
+ MSG_VISIT_JAVA_DOT_COM="java.com öffnen"
+
+# Simplifyed Chinese localization
+elif [[ $LANG == zh* ]] ; then
+ MSG_ERROR_LAUNCHING="无法启动 '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="没有指定 'MainClass'!\nJava程序无法启动!"
+ MSG_JVMVERSION_REQ_INVALID="Java版本参数语法错误: %s\n请联系该应用的开发者。"
+ MSG_NO_SUITABLE_JAVA="没有在系统中找到合适的Java版本!\n必须安装Java %s才能够使用该程序!"
+ MSG_JAVA_VERSION_OR_LATER="及以上版本"
+ MSG_JAVA_VERSION_LATEST="(最新版本)"
+ MSG_JAVA_VERSION_MAX="最高为 %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="请确保系统中安装了所需的Java版本"
+ MSG_INSTALL_JAVA="你需要在Mac中安装Java运行环境!\n访问 java.com 了解如何安装。"
+ MSG_LATER="稍后"
+ MSG_VISIT_JAVA_DOT_COM="访问 java.com"
+
+# English default localization
+else
+ MSG_ERROR_LAUNCHING="ERROR launching '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="'MainClass' isn't specified!\nJava application cannot be started!"
+ MSG_JVMVERSION_REQ_INVALID="The syntax of the required Java version is invalid: %s\nPlease contact the App developer."
+ MSG_NO_SUITABLE_JAVA="No suitable Java version found on your system!\nThis program requires Java %s"
+ MSG_JAVA_VERSION_OR_LATER="or later"
+ MSG_JAVA_VERSION_LATEST="(latest update)"
+ MSG_JAVA_VERSION_MAX="up to %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Make sure you install the required Java version."
+ MSG_INSTALL_JAVA="You need to have JAVA installed on your Mac!\nVisit java.com for installation instructions..."
+ MSG_LATER="Later"
+ MSG_VISIT_JAVA_DOT_COM="Visit java.com"
+fi
+
+
+
+# function 'get_java_version_from_cmd()'
+#
+# returns Java version string from 'java -version' command
+# works for both old (1.8) and new (9) version schema
+#
+# @param1 path to a java JVM executable
+# @return the Java version number as displayed in 'java -version' command
+################################################################################
+function get_java_version_from_cmd() {
+ # second sed command strips " and -ea from the version string
+ echo $("$1" -version 2>&1 | awk '/version/{print $3}' | sed -E 's/"//g;s/-ea//g')
+}
+
+
+# function 'extract_java_major_version()'
+#
+# extract Java major version from a version string
+#
+# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
+# @return the major version (e.g. '7', '8' or '9', etc.)
+################################################################################
+function extract_java_major_version() {
+ echo $(echo "$1" | sed -E 's/^1\.//;s/^([0-9]+)(-ea|(\.[0-9_.]{1,7})?)(-b[0-9]+-[0-9]+)?[+*]?$/\1/')
+}
+
+
+# function 'get_comparable_java_version()'
+#
+# return comparable version for a Java version number or requirement string
+#
+# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
+# @return an 8 digit numeral ('1.8.0_45'->'08000045'; '9.1.13'->'09001013')
+################################################################################
+function get_comparable_java_version() {
+ # cleaning: 1) remove leading '1.'; 2) remove build string (e.g. '-b14-468'); 3) remove 'a-Z' and '-*+' (e.g. '-ea'); 4) replace '_' with '.'
+ local cleaned=$(echo "$1" | sed -E 's/^1\.//g;s/-b[0-9]+-[0-9]+$//g;s/[a-zA-Z+*\-]//g;s/_/./g')
+ # splitting at '.' into an array
+ local arr=( ${cleaned//./ } )
+ # echo a string with left padded version numbers
+ echo "$(printf '%02s' ${arr[0]})$(printf '%03s' ${arr[1]})$(printf '%03s' ${arr[2]})"
+}
+
+
+# function 'is_valid_requirement_pattern()'
+#
+# check whether the Java requirement is a valid requirement pattern
+#
+# supported requirements are for example:
+# - 1.6 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6* requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6+ requires Java 6 or higher [1.6, 1.6.0_45, 1.8, 9, etc.]
+# - 1.6.0 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6.0_45 requires Java 6u45 [1.6.0_45]
+# - 1.6.0_45+ requires Java 6u45 or higher [1.6.0_45, 1.6.0_88, 1.8, etc.]
+# - 9 requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
+# - 9* requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
+# - 9+ requires Java 9 or higher [9.0, 9.1, 10, etc.]
+# - 9.1 requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
+# - 9.1* requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
+# - 9.1+ requires Java 9.1 or higher [9.1, 9.2, 10, etc.]
+# - 9.1.3 requires Java 9.1.3 [9.1.3]
+# - 9.1.3* requires Java 9.1.3 (any update) [9.1.3]
+# - 9.1.3+ requires Java 9.1.3 or higher [9.1.3, 9.1.4, 9.2.*, 10, etc.]
+# - 10-ea requires Java 10 (early access release)
+#
+# unsupported requirement patterns are for example:
+# - 1.2, 1.3, 1.9 Java 2, 3 are not supported
+# - 1.9 Java 9 introduced a new versioning scheme
+# - 6u45 known versioning syntax, but unsupported
+# - 9-ea*, 9-ea+ early access releases paired with */+
+# - 9., 9.*, 9.+ version ending with a .
+# - 9.1., 9.1.*, 9.1.+ version ending with a .
+# - 9.3.5.6 4 part version number is unsupported
+#
+# @param1 a Java requirement string ('1.8+')
+# @return boolean exit code: 0 (is valid), 1 (is not valid)
+################################################################################
+function is_valid_requirement_pattern() {
+ local java_req=$1
+ java8pattern='1\.[4-8](\.0)?(\.0_[0-9]+)?[*+]?'
+ java9pattern='(9|1[0-9])(-ea|[*+]|(\.[0-9]+){1,2}[*+]?)?'
+ # test matches either old Java versioning scheme (up to 1.8) or new scheme (starting with 9)
+ if [[ ${java_req} =~ ^(${java8pattern}|${java9pattern})$ ]]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+
+
+# determine which JVM to use
+############################################
+
+JAVACMD="${AppPackageFolder}/../jre1.8.0_292/bin/java"
+
+
+# log the Java Command and the extracted version number
+stub_logger "[JavaCommand] '$JAVACMD'"
+stub_logger "[JavaVersion] $(get_java_version_from_cmd "${JAVACMD}")${JAVACMD_version:+ / $JAVACMD_version}"
+
+
+
+if [ -z "${JAVACMD}" ] || [ ! -x "${JAVACMD}" ] ; then
+
+ # different error messages when a specific JVM was required
+ if [ ! -z "${JVMVersion}" ] ; then
+ # display human readable java version (#28)
+ java_version_hr=$(echo ${JVMVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+/ ${MSG_JAVA_VERSION_OR_LATER}/;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
+ MSG_NO_SUITABLE_JAVA_EXPANDED=$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}").
+
+ if [ ! -z "${JVMMaxVersion}" ] ; then
+ java_version_hr=$(extract_java_major_version ${JVMVersion})
+ java_version_max_hr=$(echo ${JVMMaxVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+//;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
+ MSG_NO_SUITABLE_JAVA_EXPANDED="$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}") $(printf "${MSG_JAVA_VERSION_MAX}" "${java_version_max_hr}")"
+ fi
+
+ # log exit cause
+ stub_logger "[EXIT 3] ${MSG_NO_SUITABLE_JAVA_EXPANDED}"
+
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_NO_SUITABLE_JAVA_EXPANDED}\n${MSG_NO_SUITABLE_JAVA_CHECK}\" with title \"${CFBundleName}\" buttons {\" OK \", \"${MSG_VISIT_JAVA_DOT_COM}\"} default button \"${MSG_VISIT_JAVA_DOT_COM}\" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)" \
+ -e "set response to button returned of the result" \
+ -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"http://java.com\""
+ # exit with error
+ exit 3
+
+ else
+ # log exit cause
+ stub_logger "[EXIT 1] ${MSG_ERROR_LAUNCHING}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_INSTALL_JAVA}\" with title \"${CFBundleName}\" buttons {\"${MSG_LATER}\", \"${MSG_VISIT_JAVA_DOT_COM}\"} default button \"${MSG_VISIT_JAVA_DOT_COM}\" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)" \
+ -e "set response to button returned of the result" \
+ -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"http://java.com\""
+ # exit with error
+ exit 1
+ fi
+fi
+
+
+
+# MainClass check
+############################################
+
+if [ -z "${JVMMainClass}" ]; then
+ # log exit cause
+ stub_logger "[EXIT 2] ${MSG_MISSING_MAINCLASS}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_MISSING_MAINCLASS}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1 with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
+ # exit with error
+ exit 2
+fi
+
+
+
+# execute $JAVACMD and do some preparation
+############################################
+
+# enable drag&drop to the dock icon
+export CFProcessPath="$0"
+
+# remove Apples ProcessSerialNumber from passthru arguments (#39)
+if [[ "$*" == -psn* ]] ; then
+ ArgsPassthru=()
+else
+ ArgsPassthru=("$@")
+fi
+
+# change to Working Directory based upon Apple/Oracle Plist info
+cd "${WorkingDirectory}" || exit 13
+stub_logger "[WorkingDirectory] ${WorkingDirectory}"
+
+# execute Java and set
+# - classpath
+# - splash image
+# - dock icon
+# - app name
+# - JVM options / properties (-D)
+# - JVM default options (-X)
+# - main class
+# - main class arguments
+# - passthrough arguments from Terminal or Drag'n'Drop to Finder icon
+stub_logger "[Exec] \"$JAVACMD\" -cp \"${JVMClassPath}\" -splash:\"${ResourcesFolder}/${JVMSplashFile}\" -Xdock:icon=\"${ResourcesFolder}/${CFBundleIconFile}\" -Xdock:name=\"${CFBundleName}\" ${JVMOptionsArr:+$(printf "'%s' " "${JVMOptionsArr[@]}") }${JVMDefaultOptions:+$JVMDefaultOptions }${JVMMainClass}${MainArgsArr:+ $(printf "'%s' " "${MainArgsArr[@]}")}${ArgsPassthru:+ $(printf "'%s' " "${ArgsPassthru[@]}")}"
+exec "${JAVACMD}" \
+ -cp "${JVMClassPath}" \
+ -splash:"${ResourcesFolder}/${JVMSplashFile}" \
+ -Xdock:icon="${ResourcesFolder}/${CFBundleIconFile}" \
+ -Xdock:name="${CFBundleName}" \
+ ${JVMOptions:+"${JVMOptions[@]}" }\
+ ${JVMDefaultOptions:+$JVMDefaultOptions }\
+ "${JVMMainClass}"\
+ ${MainArgsArr:+ "${MainArgsArr[@]}"}\
+ ${ArgsPassthru:+ "${ArgsPassthru[@]}"}
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Mac/stub/3-0-3/universalJavaApplicationStub beast2-mcmc-2.6.7+dfsg/release/Mac/stub/3-0-3/universalJavaApplicationStub
--- beast2-mcmc-2.6.6+dfsg/release/Mac/stub/3-0-3/universalJavaApplicationStub 1970-01-01 00:00:00.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Mac/stub/3-0-3/universalJavaApplicationStub 2022-04-04 07:18:36.000000000 +0000
@@ -0,0 +1,774 @@
+#!/bin/bash
+##################################################################################
+# #
+# universalJavaApplicationStub #
+# #
+# A BASH based JavaApplicationStub for Java Apps on Mac OS X #
+# that works with both Apple's and Oracle's plist format. #
+# #
+# Inspired by Ian Roberts stackoverflow answer #
+# at http://stackoverflow.com/a/17546508/1128689 #
+# #
+# @author Tobias Fischer #
+# @url https://github.com/tofi86/universalJavaApplicationStub #
+# @date 2018-07-29 #
+# @version 3.0.3 #
+# #
+##################################################################################
+# #
+# The MIT License (MIT) #
+# #
+# Copyright (c) 2014-2018 Tobias Fischer #
+# #
+# Permission is hereby granted, free of charge, to any person obtaining a copy #
+# of this software and associated documentation files (the "Software"), to deal #
+# in the Software without restriction, including without limitation the rights #
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell #
+# copies of the Software, and to permit persons to whom the Software is #
+# furnished to do so, subject to the following conditions: #
+# #
+# The above copyright notice and this permission notice shall be included in all #
+# copies or substantial portions of the Software. #
+# #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE #
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, #
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE #
+# SOFTWARE. #
+# #
+##################################################################################
+
+
+
+# function 'stub_logger()'
+#
+# A logger which logs to the macOS Console.app using the 'syslog' command
+#
+# @param1 the log message
+# @return void
+################################################################################
+function stub_logger() {
+ syslog -s -k \
+ Facility com.apple.console \
+ Level Notice \
+ Sender "$(basename "$0")" \
+ Message "[$$][${CFBundleName:-$(basename "$0")}] $1"
+}
+
+
+
+# set the directory abspath of the current
+# shell script with symlinks being resolved
+############################################
+
+PRG=$0
+while [ -h "$PRG" ]; do
+ ls=$(ls -ld "$PRG")
+ link=$(expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null)
+ if expr "$link" : '^/' 2> /dev/null >/dev/null; then
+ PRG="$link"
+ else
+ PRG="$(dirname "$PRG")/$link"
+ fi
+done
+PROGDIR=$(dirname "$PRG")
+stub_logger "[StubDir] $PROGDIR"
+
+
+
+# set files and folders
+############################################
+
+# the absolute path of the app package
+cd "$PROGDIR"/../../ || exit 11
+AppPackageFolder=$(pwd)
+
+# the base path of the app package
+cd .. || exit 12
+AppPackageRoot=$(pwd)
+
+# set Apple's Java folder
+AppleJavaFolder="${AppPackageFolder}"/Contents/Resources/Java
+
+# set Apple's Resources folder
+AppleResourcesFolder="${AppPackageFolder}"/Contents/Resources
+
+# set Oracle's Java folder
+OracleJavaFolder="${AppPackageFolder}"/Contents/Java
+
+# set Oracle's Resources folder
+OracleResourcesFolder="${AppPackageFolder}"/Contents/Resources
+
+# set path to Info.plist in bundle
+InfoPlistFile="${AppPackageFolder}"/Contents/Info.plist
+
+# set the default JVM Version to a null string
+JVMVersion=""
+JVMMaxVersion=""
+
+
+
+# function 'plist_get()'
+#
+# read a specific Plist key with 'PlistBuddy' utility
+#
+# @param1 the Plist key with leading colon ':'
+# @return the value as String or Array
+################################################################################
+plist_get(){
+ /usr/libexec/PlistBuddy -c "print $1" "${InfoPlistFile}" 2> /dev/null
+}
+
+# function 'plist_get_java()'
+#
+# read a specific Plist key with 'PlistBuddy' utility
+# in the 'Java' or 'JavaX' dictionary ()
+#
+# @param1 the Plist :Java(X):Key with leading colon ':'
+# @return the value as String or Array
+################################################################################
+plist_get_java(){
+ plist_get ${JavaKey:-":Java"}$1
+}
+
+
+
+# read Info.plist and extract JVM options
+############################################
+
+# read the program name from CFBundleName
+CFBundleName=$(plist_get ':CFBundleName')
+
+# read the icon file name
+CFBundleIconFile=$(plist_get ':CFBundleIconFile')
+
+
+# check Info.plist for Apple style Java keys -> if key :Java is present, parse in apple mode
+/usr/libexec/PlistBuddy -c "print :Java" "${InfoPlistFile}" > /dev/null 2>&1
+exitcode=$?
+JavaKey=":Java"
+
+# if no :Java key is present, check Info.plist for universalJavaApplication style JavaX keys -> if key :JavaX is present, parse in apple mode
+if [ $exitcode -ne 0 ]; then
+ /usr/libexec/PlistBuddy -c "print :JavaX" "${InfoPlistFile}" > /dev/null 2>&1
+ exitcode=$?
+ JavaKey=":JavaX"
+fi
+
+
+# read 'Info.plist' file in Apple style if exit code returns 0 (true, ':Java' key is present)
+if [ $exitcode -eq 0 ]; then
+ stub_logger "[PlistStyle] Apple"
+
+ # set Java and Resources folder
+ JavaFolder="${AppleJavaFolder}"
+ ResourcesFolder="${AppleResourcesFolder}"
+
+ APP_PACKAGE="${AppPackageFolder}"
+ JAVAROOT="${AppleJavaFolder}"
+ USER_HOME="$HOME"
+
+
+ # read the Java WorkingDirectory
+ JVMWorkDir=$(plist_get_java ':WorkingDirectory' | xargs)
+ # set Working Directory based upon PList value
+ if [[ ! -z ${JVMWorkDir} ]]; then
+ WorkingDirectory="${JVMWorkDir}"
+ else
+ # AppPackageRoot is the standard WorkingDirectory when the script is started
+ WorkingDirectory="${AppPackageRoot}"
+ fi
+ # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
+ WorkingDirectory=$(eval echo "${WorkingDirectory}")
+
+
+ # read the MainClass name
+ JVMMainClass="$(plist_get_java ':MainClass')"
+
+ # read the SplashFile name
+ JVMSplashFile=$(plist_get_java ':SplashFile')
+
+ # read the JVM Properties as an array and retain spaces
+ IFS=$'\t\n'
+ JVMOptions=($(xargs -n1 <<<$(plist_get_java ':Properties' | grep " =" | sed 's/^ */-D/g' | sed -E 's/ = (.*)$/="\1"/g')))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the ClassPath in either Array or String style
+ JVMClassPath_RAW=$(plist_get_java ':ClassPath' | xargs)
+ if [[ $JVMClassPath_RAW == *Array* ]] ; then
+ JVMClassPath=.$(plist_get_java ':ClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
+ else
+ JVMClassPath=${JVMClassPath_RAW}
+ fi
+ # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ # read the JVM Options in either Array or String style
+ JVMDefaultOptions_RAW=$(plist_get_java ':VMOptions' | xargs)
+ if [[ $JVMDefaultOptions_RAW == *Array* ]] ; then
+ JVMDefaultOptions=$(plist_get_java ':VMOptions' | grep " " | sed 's/^ */ /g' | tr -d '\n' | xargs)
+ else
+ JVMDefaultOptions=${JVMDefaultOptions_RAW}
+ fi
+
+ # read StartOnMainThread and add as -XstartOnFirstThread
+ JVMStartOnMainThread=$(plist_get_java ':StartOnMainThread')
+ if [ "${JVMStartOnMainThread}" == "true" ]; then
+ JVMDefaultOptions+=" -XstartOnFirstThread"
+ fi
+
+ # read the JVM Arguments as an array and retain spaces
+ IFS=$'\t\n'
+ MainArgs=($(xargs -n1 <<<$(plist_get_java ':Arguments')))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the Java version we want to find
+ JVMVersion=$(plist_get_java ':JVMVersion' | xargs)
+ # post processing of the version string follows below...
+
+
+# read 'Info.plist' file in Oracle style
+else
+ stub_logger "[PlistStyle] Oracle"
+
+ # set Working Directory and Java and Resources folder
+ JavaFolder="${OracleJavaFolder}"
+ ResourcesFolder="${OracleResourcesFolder}"
+ WorkingDirectory="${OracleJavaFolder}"
+
+ APP_ROOT="${AppPackageFolder}"
+
+ # read the MainClass name
+ JVMMainClass="$(plist_get ':JVMMainClassName')"
+
+ # read the SplashFile name
+ JVMSplashFile=$(plist_get ':JVMSplashFile')
+
+ # read the JVM Options as an array and retain spaces
+ IFS=$'\t\n'
+ JVMOptions=($(plist_get ':JVMOptions' | grep " " | sed 's/^ *//g'))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the ClassPath in either Array or String style
+ JVMClassPath_RAW=$(plist_get ':JVMClassPath')
+ if [[ $JVMClassPath_RAW == *Array* ]] ; then
+ JVMClassPath=.$(plist_get ':JVMClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
+ # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ elif [[ ! -z ${JVMClassPath_RAW} ]] ; then
+ JVMClassPath=${JVMClassPath_RAW}
+ # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ else
+ #default: fallback to OracleJavaFolder
+ JVMClassPath="${JavaFolder}/*"
+ # Do NOT expand the default 'AppName.app/Contents/Java/*' classpath (#42)
+ fi
+
+ # read the JVM Default Options
+ JVMDefaultOptions=$(plist_get ':JVMDefaultOptions' | grep -o " \-.*" | tr -d '\n' | xargs)
+
+ # read the Main Arguments from JVMArguments key as an array and retain spaces (see #46 for naming details)
+ IFS=$'\t\n'
+ MainArgs=($(xargs -n1 <<<$(plist_get ':JVMArguments' | tr -d '\n' | sed -E 's/Array \{ *(.*) *\}/\1/g' | sed 's/ */ /g')))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the Java version we want to find
+ JVMVersion=$(plist_get ':JVMVersion' | xargs)
+ # post processing of the version string follows below...
+fi
+
+
+
+# JVMVersion: post processing and optional splitting
+if [[ ${JVMVersion} == *";"* ]]; then
+ minMaxArray=(${JVMVersion//;/ })
+ JVMVersion=${minMaxArray[0]//+}
+ JVMMaxVersion=${minMaxArray[1]//+}
+fi
+stub_logger "[JavaRequirement] JVM minimum version: ${JVMVersion}"
+stub_logger "[JavaRequirement] JVM maximum version: ${JVMMaxVersion}"
+
+# MainArgs: replace occurences of $APP_ROOT with its content
+MainArgsArr=()
+for i in "${MainArgs[@]}"
+do
+ MainArgsArr+=("$(eval echo "$i")")
+done
+
+# JVMOptions: replace occurences of $APP_ROOT with its content
+JVMOptionsArr=()
+for i in "${JVMOptions[@]}"
+do
+ JVMOptionsArr+=("$(eval echo "$i")")
+done
+
+
+# internationalized messages
+############################################
+
+LANG=$(defaults read -g AppleLocale)
+stub_logger "[Language] $LANG"
+
+# French localization
+if [[ $LANG == fr* ]] ; then
+ MSG_ERROR_LAUNCHING="ERREUR au lancement de '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="'MainClass' n'est pas spécifié.\nL'application Java ne peut pas être lancée."
+ MSG_JVMVERSION_REQ_INVALID="La syntaxe de la version Java demandée est invalide: %s\nVeuillez contacter le développeur de l'application."
+ MSG_NO_SUITABLE_JAVA="La version de Java installée sur votre système ne convient pas.\nCe programme nécessite Java %s"
+ MSG_JAVA_VERSION_OR_LATER="ou ultérieur"
+ MSG_JAVA_VERSION_LATEST="(dernière mise à jour)"
+ MSG_JAVA_VERSION_MAX="à %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Merci de bien vouloir installer la version de Java requise."
+ MSG_INSTALL_JAVA="Java doit être installé sur votre système.\nRendez-vous sur java.com et suivez les instructions d'installation..."
+ MSG_LATER="Plus tard"
+ MSG_VISIT_JAVA_DOT_COM="Visiter java.com"
+
+# German localization
+elif [[ $LANG == de* ]] ; then
+ MSG_ERROR_LAUNCHING="FEHLER beim Starten von '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="Die 'MainClass' ist nicht spezifiziert!\nDie Java-Anwendung kann nicht gestartet werden!"
+ MSG_JVMVERSION_REQ_INVALID="Die Syntax der angeforderten Java-Version ist ungültig: %s\nBitte kontaktieren Sie den Entwickler der App."
+ MSG_NO_SUITABLE_JAVA="Es wurde keine passende Java-Version auf Ihrem System gefunden!\nDieses Programm benötigt Java %s"
+ MSG_JAVA_VERSION_OR_LATER="oder neuer"
+ MSG_JAVA_VERSION_LATEST="(neuste Unterversion)"
+ MSG_JAVA_VERSION_MAX="bis %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Stellen Sie sicher, dass die angeforderte Java-Version installiert ist."
+ MSG_INSTALL_JAVA="Auf Ihrem System muss die 'Java'-Software installiert sein.\nBesuchen Sie java.com für weitere Installationshinweise."
+ MSG_LATER="Später"
+ MSG_VISIT_JAVA_DOT_COM="java.com öffnen"
+
+# Simplifyed Chinese localization
+elif [[ $LANG == zh* ]] ; then
+ MSG_ERROR_LAUNCHING="无法启动 '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="没有指定 'MainClass'!\nJava程序无法启动!"
+ MSG_JVMVERSION_REQ_INVALID="Java版本参数语法错误: %s\n请联系该应用的开发者。"
+ MSG_NO_SUITABLE_JAVA="没有在系统中找到合适的Java版本!\n必须安装Java %s才能够使用该程序!"
+ MSG_JAVA_VERSION_OR_LATER="及以上版本"
+ MSG_JAVA_VERSION_LATEST="(最新版本)"
+ MSG_JAVA_VERSION_MAX="最高为 %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="请确保系统中安装了所需的Java版本"
+ MSG_INSTALL_JAVA="你需要在Mac中安装Java运行环境!\n访问 java.com 了解如何安装。"
+ MSG_LATER="稍后"
+ MSG_VISIT_JAVA_DOT_COM="访问 java.com"
+
+# English default localization
+else
+ MSG_ERROR_LAUNCHING="ERROR launching '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="'MainClass' isn't specified!\nJava application cannot be started!"
+ MSG_JVMVERSION_REQ_INVALID="The syntax of the required Java version is invalid: %s\nPlease contact the App developer."
+ MSG_NO_SUITABLE_JAVA="No suitable Java version found on your system!\nThis program requires Java %s"
+ MSG_JAVA_VERSION_OR_LATER="or later"
+ MSG_JAVA_VERSION_LATEST="(latest update)"
+ MSG_JAVA_VERSION_MAX="up to %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Make sure you install the required Java version."
+ MSG_INSTALL_JAVA="You need to have JAVA installed on your Mac!\nVisit java.com for installation instructions..."
+ MSG_LATER="Later"
+ MSG_VISIT_JAVA_DOT_COM="Visit java.com"
+fi
+
+
+
+# function 'get_java_version_from_cmd()'
+#
+# returns Java version string from 'java -version' command
+# works for both old (1.8) and new (9) version schema
+#
+# @param1 path to a java JVM executable
+# @return the Java version number as displayed in 'java -version' command
+################################################################################
+function get_java_version_from_cmd() {
+ # second sed command strips " and -ea from the version string
+ echo $("$1" -version 2>&1 | awk '/version/{print $3}' | sed -E 's/"//g;s/-ea//g')
+}
+
+
+# function 'extract_java_major_version()'
+#
+# extract Java major version from a version string
+#
+# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
+# @return the major version (e.g. '7', '8' or '9', etc.)
+################################################################################
+function extract_java_major_version() {
+ echo $(echo "$1" | sed -E 's/^1\.//;s/^([0-9]+)(-ea|(\.[0-9_.]{1,7})?)(-b[0-9]+-[0-9]+)?[+*]?$/\1/')
+}
+
+
+# function 'get_comparable_java_version()'
+#
+# return comparable version for a Java version number or requirement string
+#
+# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
+# @return an 8 digit numeral ('1.8.0_45'->'08000045'; '9.1.13'->'09001013')
+################################################################################
+function get_comparable_java_version() {
+ # cleaning: 1) remove leading '1.'; 2) remove build string (e.g. '-b14-468'); 3) remove 'a-Z' and '-*+' (e.g. '-ea'); 4) replace '_' with '.'
+ local cleaned=$(echo "$1" | sed -E 's/^1\.//g;s/-b[0-9]+-[0-9]+$//g;s/[a-zA-Z+*\-]//g;s/_/./g')
+ # splitting at '.' into an array
+ local arr=( ${cleaned//./ } )
+ # echo a string with left padded version numbers
+ echo "$(printf '%02s' ${arr[0]})$(printf '%03s' ${arr[1]})$(printf '%03s' ${arr[2]})"
+}
+
+
+# function 'is_valid_requirement_pattern()'
+#
+# check whether the Java requirement is a valid requirement pattern
+#
+# supported requirements are for example:
+# - 1.6 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6* requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6+ requires Java 6 or higher [1.6, 1.6.0_45, 1.8, 9, etc.]
+# - 1.6.0 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6.0_45 requires Java 6u45 [1.6.0_45]
+# - 1.6.0_45+ requires Java 6u45 or higher [1.6.0_45, 1.6.0_88, 1.8, etc.]
+# - 9 requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
+# - 9* requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
+# - 9+ requires Java 9 or higher [9.0, 9.1, 10, etc.]
+# - 9.1 requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
+# - 9.1* requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
+# - 9.1+ requires Java 9.1 or higher [9.1, 9.2, 10, etc.]
+# - 9.1.3 requires Java 9.1.3 [9.1.3]
+# - 9.1.3* requires Java 9.1.3 (any update) [9.1.3]
+# - 9.1.3+ requires Java 9.1.3 or higher [9.1.3, 9.1.4, 9.2.*, 10, etc.]
+# - 10-ea requires Java 10 (early access release)
+#
+# unsupported requirement patterns are for example:
+# - 1.2, 1.3, 1.9 Java 2, 3 are not supported
+# - 1.9 Java 9 introduced a new versioning scheme
+# - 6u45 known versioning syntax, but unsupported
+# - 9-ea*, 9-ea+ early access releases paired with */+
+# - 9., 9.*, 9.+ version ending with a .
+# - 9.1., 9.1.*, 9.1.+ version ending with a .
+# - 9.3.5.6 4 part version number is unsupported
+#
+# @param1 a Java requirement string ('1.8+')
+# @return boolean exit code: 0 (is valid), 1 (is not valid)
+################################################################################
+function is_valid_requirement_pattern() {
+ local java_req=$1
+ java8pattern='1\.[4-8](\.0)?(\.0_[0-9]+)?[*+]?'
+ java9pattern='(9|1[0-9])(-ea|[*+]|(\.[0-9]+){1,2}[*+]?)?'
+ # test matches either old Java versioning scheme (up to 1.8) or new scheme (starting with 9)
+ if [[ ${java_req} =~ ^(${java8pattern}|${java9pattern})$ ]]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+
+
+# determine which JVM to use
+############################################
+
+# default Apple JRE plugin path (< 1.6)
+apple_jre_plugin="/Library/Java/Home/bin/java"
+apple_jre_version=$(get_java_version_from_cmd "${apple_jre_plugin}")
+# default Oracle JRE plugin path (>= 1.7)
+oracle_jre_plugin="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java"
+oracle_jre_version=$(get_java_version_from_cmd "${oracle_jre_plugin}")
+
+
+# first check system variable "$JAVA_HOME" -> has precedence over any other System JVM
+stub_logger '[JavaSearch] Checking for $JAVA_HOME ...'
+if [ -n "$JAVA_HOME" ] ; then
+ stub_logger "[JavaSearch] ... found JAVA_HOME with value $JAVA_HOME"
+
+ # PR 26: Allow specifying "$JAVA_HOME" relative to "$AppPackageFolder"
+ # which allows for bundling a custom version of Java inside your app!
+ if [[ $JAVA_HOME == /* ]] ; then
+ # if "$JAVA_HOME" starts with a Slash it's an absolute path
+ JAVACMD="$JAVA_HOME/bin/java"
+ else
+ # otherwise it's a relative path to "$AppPackageFolder"
+ JAVACMD="$AppPackageFolder/$JAVA_HOME/bin/java"
+ fi
+ JAVACMD_version=$(get_comparable_java_version $(get_java_version_from_cmd "${JAVACMD}"))
+else
+ stub_logger "[JavaSearch] ... didn't found JAVA_HOME"
+fi
+
+
+# check for any other or a specific Java version
+# also if $JAVA_HOME exists but isn't executable
+if [ -z "${JAVACMD}" ] || [ ! -x "${JAVACMD}" ] ; then
+ stub_logger "[JavaSearch] Checking for JavaVirtualMachines on the system ..."
+ # reset variables
+ JAVACMD=""
+ JAVACMD_version=""
+
+ # first check whether JVMVersion string is a valid requirement string
+ if [ ! -z "${JVMVersion}" ] && ! is_valid_requirement_pattern ${JVMVersion} ; then
+ MSG_JVMVERSION_REQ_INVALID_EXPANDED=$(printf "${MSG_JVMVERSION_REQ_INVALID}" "${JVMVersion}")
+ # log exit cause
+ stub_logger "[EXIT 4] ${MSG_JVMVERSION_REQ_INVALID_EXPANDED}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_JVMVERSION_REQ_INVALID_EXPANDED}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1 with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
+ # exit with error
+ exit 4
+ fi
+ # then check whether JVMMaxVersion string is a valid requirement string
+ if [ ! -z "${JVMMaxVersion}" ] && ! is_valid_requirement_pattern ${JVMMaxVersion} ; then
+ MSG_JVMVERSION_REQ_INVALID_EXPANDED=$(printf "${MSG_JVMVERSION_REQ_INVALID}" "${JVMMaxVersion}")
+ # log exit cause
+ stub_logger "[EXIT 5] ${MSG_JVMVERSION_REQ_INVALID_EXPANDED}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_JVMVERSION_REQ_INVALID_EXPANDED}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1 with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
+ # exit with error
+ exit 5
+ fi
+
+
+ # find installed JavaVirtualMachines (JDK + JRE)
+ allJVMs=()
+ # read JDK's from '/usr/libexec/java_home -V' command
+ while read -r line; do
+ version=$(echo $line | awk -F $',' '{print $1;}')
+ path=$(echo $line | awk -F $'" ' '{print $2;}')
+ path+="/bin/java"
+ allJVMs+=("$version:$path")
+ done < <(/usr/libexec/java_home -V 2>&1 | grep '^[[:space:]]')
+ # unset while loop variables
+ unset version path
+
+ # add Apple JRE if available
+ if [ -x "${apple_jre_plugin}" ] ; then
+ allJVMs+=("$apple_jre_version:$apple_jre_plugin")
+ fi
+
+ # add Oracle JRE if available
+ if [ -x "${oracle_jre_plugin}" ] ; then
+ allJVMs+=("$oracle_jre_version:$oracle_jre_plugin")
+ fi
+
+ # debug output
+ for i in "${allJVMs[@]}"
+ do
+ stub_logger "[JavaSearch] ... found JVM: $i"
+ done
+
+
+ # determine JVMs matching the min/max version requirement
+ minC=$(get_comparable_java_version ${JVMVersion})
+ maxC=$(get_comparable_java_version ${JVMMaxVersion})
+ matchingJVMs=()
+
+ for i in "${allJVMs[@]}"
+ do
+ # split JVM string at ':' delimiter to retain spaces in $path substring
+ IFS=: arr=($i) ; unset IFS
+ # [0] JVM version number
+ ver=${arr[0]}
+ # comparable JVM version number
+ comp=$(get_comparable_java_version $ver)
+ # [1] JVM path
+ path="${arr[1]}"
+ # construct string item for adding to the "matchingJVMs" array
+ item="$comp:$ver:$path"
+
+ # pre-requisite: current version number needs to be greater than min version number
+ if [ "$comp" -ge "$minC" ] ; then
+
+ # perform max version checks if max version requirement is present
+ if [ ! -z ${JVMMaxVersion} ] ; then
+
+ # max version requirement ends with '*' modifier
+ if [[ ${JVMMaxVersion} == *\* ]] ; then
+
+ # use the '*' modifier from the max version string as wildcard for a 'starts with' comparison
+ # and check whether the current version number starts with the max version wildcard string
+ if [[ ${ver} == ${JVMMaxVersion} ]]; then
+ matchingJVMs+=("$item")
+
+ # or whether the current comparable version is lower than the comparable max version
+ elif [ "$comp" -le "$maxC" ] ; then
+ matchingJVMs+=("$item")
+ fi
+
+ # max version requirement ends with '+' modifier -> always add this version if it's greater than $min
+ # because a max requirement with + modifier doesn't make sense
+ elif [[ ${JVMMaxVersion} == *+ ]] ; then
+ matchingJVMs+=("$item")
+
+ # matches 6 zeros at the end of the max version string (e.g. for 1.8, 9)
+ # -> then the max version string should be treated like with a '*' modifier at the end
+ #elif [[ ${maxC} =~ ^[0-9]{2}0{6}$ ]] && [ "$comp" -le $(( ${maxC#0} + 999 )) ] ; then
+ # matchingJVMs+=("$item")
+
+ # matches 3 zeros at the end of the max version string (e.g. for 9.1, 10.3)
+ # -> then the max version string should be treated like with a '*' modifier at the end
+ #elif [[ ${maxC} =~ ^[0-9]{5}0{3}$ ]] && [ "$comp" -le "${maxC}" ] ; then
+ # matchingJVMs+=("$item")
+
+ # matches standard requirements without modifier
+ elif [ "$comp" -le "$maxC" ]; then
+ matchingJVMs+=("$item")
+ fi
+
+ # no max version requirement:
+
+ # min version requirement ends with '+' modifier
+ # -> always add the current version because it's greater than $min
+ elif [[ ${JVMVersion} == *+ ]] ; then
+ matchingJVMs+=("$item")
+
+ # min version requirement ends with '*' modifier
+ # -> use the '*' modifier from the min version string as wildcard for a 'starts with' comparison
+ # and check whether the current version number starts with the min version wildcard string
+ elif [[ ${JVMVersion} == *\* ]] ; then
+ if [[ ${ver} == ${JVMVersion} ]] ; then
+ matchingJVMs+=("$item")
+ fi
+
+ # compare the min version against the current version with an additional * wildcard for a 'starts with' comparison
+ # -> e.g. add 1.8.0_44 when the requirement is 1.8
+ elif [[ ${ver} == ${JVMVersion}* ]] ; then
+ matchingJVMs+=("$item")
+ fi
+ fi
+ done
+ # unset for loop variables
+ unset arr ver comp path item
+
+ # debug output
+ for i in "${matchingJVMs[@]}"
+ do
+ stub_logger "[JavaSearch] ... ... matches all requirements: $i"
+ done
+
+
+ # sort the matching JavaVirtualMachines by version number
+ # https://stackoverflow.com/a/11789688/1128689
+ IFS=$'\n' matchingJVMs=($(sort -nr <<<"${matchingJVMs[*]}"))
+ unset IFS
+
+
+ # get the highest matching JVM
+ for ((i = 0; i < ${#matchingJVMs[@]}; i++));
+ do
+ # split JVM string at ':' delimiter to retain spaces in $path substring
+ IFS=: arr=(${matchingJVMs[$i]}) ; unset IFS
+ # [0] comparable JVM version number
+ comp=${arr[0]}
+ # [1] JVM version number
+ ver=${arr[1]}
+ # [2] JVM path
+ path="${arr[2]}"
+
+ # use current value as JAVACMD if it's executable
+ if [ -x "$path" ] ; then
+ JAVACMD="$path"
+ JAVACMD_version=$comp
+ break
+ fi
+ done
+ # unset for loop variables
+ unset arr comp ver path
+fi
+
+# log the Java Command and the extracted version number
+stub_logger "[JavaCommand] '$JAVACMD'"
+stub_logger "[JavaVersion] $(get_java_version_from_cmd "${JAVACMD}")${JAVACMD_version:+ / $JAVACMD_version}"
+
+
+
+if [ -z "${JAVACMD}" ] || [ ! -x "${JAVACMD}" ] ; then
+
+ # different error messages when a specific JVM was required
+ if [ ! -z "${JVMVersion}" ] ; then
+ # display human readable java version (#28)
+ java_version_hr=$(echo ${JVMVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+/ ${MSG_JAVA_VERSION_OR_LATER}/;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
+ MSG_NO_SUITABLE_JAVA_EXPANDED=$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}").
+
+ if [ ! -z "${JVMMaxVersion}" ] ; then
+ java_version_hr=$(extract_java_major_version ${JVMVersion})
+ java_version_max_hr=$(echo ${JVMMaxVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+//;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
+ MSG_NO_SUITABLE_JAVA_EXPANDED="$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}") $(printf "${MSG_JAVA_VERSION_MAX}" "${java_version_max_hr}")"
+ fi
+
+ # log exit cause
+ stub_logger "[EXIT 3] ${MSG_NO_SUITABLE_JAVA_EXPANDED}"
+
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_NO_SUITABLE_JAVA_EXPANDED}\n${MSG_NO_SUITABLE_JAVA_CHECK}\" with title \"${CFBundleName}\" buttons {\" OK \", \"${MSG_VISIT_JAVA_DOT_COM}\"} default button \"${MSG_VISIT_JAVA_DOT_COM}\" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)" \
+ -e "set response to button returned of the result" \
+ -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"http://java.com\""
+ # exit with error
+ exit 3
+
+ else
+ # log exit cause
+ stub_logger "[EXIT 1] ${MSG_ERROR_LAUNCHING}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_INSTALL_JAVA}\" with title \"${CFBundleName}\" buttons {\"${MSG_LATER}\", \"${MSG_VISIT_JAVA_DOT_COM}\"} default button \"${MSG_VISIT_JAVA_DOT_COM}\" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)" \
+ -e "set response to button returned of the result" \
+ -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"http://java.com\""
+ # exit with error
+ exit 1
+ fi
+fi
+
+
+
+# MainClass check
+############################################
+
+if [ -z "${JVMMainClass}" ]; then
+ # log exit cause
+ stub_logger "[EXIT 2] ${MSG_MISSING_MAINCLASS}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_MISSING_MAINCLASS}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1 with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
+ # exit with error
+ exit 2
+fi
+
+
+
+# execute $JAVACMD and do some preparation
+############################################
+
+# enable drag&drop to the dock icon
+export CFProcessPath="$0"
+
+# remove Apples ProcessSerialNumber from passthru arguments (#39)
+if [[ "$*" == -psn* ]] ; then
+ ArgsPassthru=()
+else
+ ArgsPassthru=("$@")
+fi
+
+# change to Working Directory based upon Apple/Oracle Plist info
+cd "${WorkingDirectory}" || exit 13
+stub_logger "[WorkingDirectory] ${WorkingDirectory}"
+
+# execute Java and set
+# - classpath
+# - splash image
+# - dock icon
+# - app name
+# - JVM options / properties (-D)
+# - JVM default options (-X)
+# - main class
+# - main class arguments
+# - passthrough arguments from Terminal or Drag'n'Drop to Finder icon
+stub_logger "[Exec] \"$JAVACMD\" -cp \"${JVMClassPath}\" -splash:\"${ResourcesFolder}/${JVMSplashFile}\" -Xdock:icon=\"${ResourcesFolder}/${CFBundleIconFile}\" -Xdock:name=\"${CFBundleName}\" ${JVMOptionsArr:+$(printf "'%s' " "${JVMOptionsArr[@]}") }${JVMDefaultOptions:+$JVMDefaultOptions }${JVMMainClass}${MainArgsArr:+ $(printf "'%s' " "${MainArgsArr[@]}")}${ArgsPassthru:+ $(printf "'%s' " "${ArgsPassthru[@]}")}"
+exec "${JAVACMD}" \
+ -cp "${JVMClassPath}" \
+ -splash:"${ResourcesFolder}/${JVMSplashFile}" \
+ -Xdock:icon="${ResourcesFolder}/${CFBundleIconFile}" \
+ -Xdock:name="${CFBundleName}" \
+ ${JVMOptions:+"${JVMOptions[@]}" }\
+ ${JVMDefaultOptions:+$JVMDefaultOptions }\
+ "${JVMMainClass}"\
+ ${MainArgsArr:+ "${MainArgsArr[@]}"}\
+ ${ArgsPassthru:+ "${ArgsPassthru[@]}"}
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Mac/stub/3-2-0/universalJavaApplicationJREStub beast2-mcmc-2.6.7+dfsg/release/Mac/stub/3-2-0/universalJavaApplicationJREStub
--- beast2-mcmc-2.6.6+dfsg/release/Mac/stub/3-2-0/universalJavaApplicationJREStub 1970-01-01 00:00:00.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Mac/stub/3-2-0/universalJavaApplicationJREStub 2022-04-04 07:18:36.000000000 +0000
@@ -0,0 +1,650 @@
+#!/bin/bash
+##################################################################################
+# #
+# universalJavaApplicationStub #
+# #
+# A BASH based JavaApplicationStub for Java Apps on Mac OS X #
+# that works with both Apple's and Oracle's plist format. #
+# #
+# Inspired by Ian Roberts stackoverflow answer #
+# at http://stackoverflow.com/a/17546508/1128689 #
+# #
+# @author Tobias Fischer #
+# @url https://github.com/tofi86/universalJavaApplicationStub #
+# @date 2021-02-21 #
+# @version 3.2.0 #
+# #
+##################################################################################
+# #
+# The MIT License (MIT) #
+# #
+# Copyright (c) 2014-2021 Tobias Fischer #
+# #
+# Permission is hereby granted, free of charge, to any person obtaining a copy #
+# of this software and associated documentation files (the "Software"), to deal #
+# in the Software without restriction, including without limitation the rights #
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell #
+# copies of the Software, and to permit persons to whom the Software is #
+# furnished to do so, subject to the following conditions: #
+# #
+# The above copyright notice and this permission notice shall be included in all #
+# copies or substantial portions of the Software. #
+# #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE #
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, #
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE #
+# SOFTWARE. #
+# #
+##################################################################################
+
+
+
+# function 'stub_logger()'
+#
+# A logger which logs to the macOS Console.app using the 'syslog' command
+#
+# @param1 the log message
+# @return void
+################################################################################
+function stub_logger() {
+ syslog -s -k \
+ Facility com.apple.console \
+ Level Notice \
+ Sender "$(basename "$0")" \
+ Message "[$$][${CFBundleName:-$(basename "$0")}] $1"
+}
+
+
+
+# set the directory abspath of the current
+# shell script with symlinks being resolved
+############################################
+
+PRG=$0
+while [ -h "$PRG" ]; do
+ ls=$(ls -ld "$PRG")
+ link=$(expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null)
+ if expr "$link" : '^/' 2> /dev/null >/dev/null; then
+ PRG="$link"
+ else
+ PRG="$(dirname "$PRG")/$link"
+ fi
+done
+PROGDIR=$(dirname "$PRG")
+stub_logger "[StubDir] $PROGDIR"
+
+
+
+# set files and folders
+############################################
+
+# the absolute path of the app package
+cd "$PROGDIR"/../../ || exit 11
+AppPackageFolder=$(pwd)
+
+# the base path of the app package
+cd .. || exit 12
+AppPackageRoot=$(pwd)
+
+# set Apple's Java folder
+AppleJavaFolder="${AppPackageFolder}"/Contents/Resources/Java
+
+# set Apple's Resources folder
+AppleResourcesFolder="${AppPackageFolder}"/Contents/Resources
+
+# set Oracle's Java folder
+OracleJavaFolder="${AppPackageFolder}"/Contents/Java
+
+# set Oracle's Resources folder
+OracleResourcesFolder="${AppPackageFolder}"/Contents/Resources
+
+# set path to Info.plist in bundle
+InfoPlistFile="${AppPackageFolder}"/Contents/Info.plist
+
+# set the default JVM Version to a null string
+JVMVersion=""
+JVMMaxVersion=""
+
+
+
+# function 'plist_get()'
+#
+# read a specific Plist key with 'PlistBuddy' utility
+#
+# @param1 the Plist key with leading colon ':'
+# @return the value as String or Array
+################################################################################
+plist_get(){
+ /usr/libexec/PlistBuddy -c "print $1" "${InfoPlistFile}" 2> /dev/null
+}
+
+# function 'plist_get_java()'
+#
+# read a specific Plist key with 'PlistBuddy' utility
+# in the 'Java' or 'JavaX' dictionary ()
+#
+# @param1 the Plist :Java(X):Key with leading colon ':'
+# @return the value as String or Array
+################################################################################
+plist_get_java(){
+ plist_get ${JavaKey:-":Java"}$1
+}
+
+
+
+# read Info.plist and extract JVM options
+############################################
+
+# read the program name from CFBundleName
+CFBundleName=$(plist_get ':CFBundleName')
+
+# read the icon file name
+CFBundleIconFile=$(plist_get ':CFBundleIconFile')
+
+
+# check Info.plist for Apple style Java keys -> if key :Java is present, parse in apple mode
+/usr/libexec/PlistBuddy -c "print :Java" "${InfoPlistFile}" > /dev/null 2>&1
+exitcode=$?
+JavaKey=":Java"
+
+# if no :Java key is present, check Info.plist for universalJavaApplication style JavaX keys -> if key :JavaX is present, parse in apple mode
+if [ $exitcode -ne 0 ]; then
+ /usr/libexec/PlistBuddy -c "print :JavaX" "${InfoPlistFile}" > /dev/null 2>&1
+ exitcode=$?
+ JavaKey=":JavaX"
+fi
+
+
+# read 'Info.plist' file in Apple style if exit code returns 0 (true, ':Java' key is present)
+if [ $exitcode -eq 0 ]; then
+ stub_logger "[PlistStyle] Apple"
+
+ # set Java and Resources folder
+ JavaFolder="${AppleJavaFolder}"
+ ResourcesFolder="${AppleResourcesFolder}"
+
+ # set expandable variables
+ APP_ROOT="${AppPackageFolder}"
+ APP_PACKAGE="${AppPackageFolder}"
+ JAVAROOT="${AppleJavaFolder}"
+ USER_HOME="$HOME"
+
+
+ # read the Java WorkingDirectory
+ JVMWorkDir=$(plist_get_java ':WorkingDirectory' | xargs)
+ # set Working Directory based upon PList value
+ if [[ ! -z ${JVMWorkDir} ]]; then
+ WorkingDirectory="${JVMWorkDir}"
+ else
+ # AppPackageRoot is the standard WorkingDirectory when the script is started
+ WorkingDirectory="${AppPackageRoot}"
+ fi
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+ WorkingDirectory=$(eval echo "${WorkingDirectory}")
+
+
+ # read the MainClass name
+ JVMMainClass="$(plist_get_java ':MainClass')"
+
+ # read the SplashFile name
+ JVMSplashFile=$(plist_get_java ':SplashFile')
+
+ # read the JVM Properties as an array and retain spaces
+ IFS=$'\t\n'
+ JVMOptions=($(xargs -n1 <<<$(plist_get_java ':Properties' | grep " =" | sed 's/^ */-D/g' | sed -E 's/ = (.*)$/="\1"/g')))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the ClassPath in either Array or String style
+ JVMClassPath_RAW=$(plist_get_java ':ClassPath' | xargs)
+ if [[ $JVMClassPath_RAW == *Array* ]] ; then
+ JVMClassPath=.$(plist_get_java ':ClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
+ else
+ JVMClassPath=${JVMClassPath_RAW}
+ fi
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ # read the JVM Options in either Array or String style
+ JVMDefaultOptions_RAW=$(plist_get_java ':VMOptions' | xargs)
+ if [[ $JVMDefaultOptions_RAW == *Array* ]] ; then
+ JVMDefaultOptions=$(plist_get_java ':VMOptions' | grep " " | sed 's/^ */ /g' | tr -d '\n' | xargs)
+ else
+ JVMDefaultOptions=${JVMDefaultOptions_RAW}
+ fi
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME (#84)
+ JVMDefaultOptions=$(eval echo "${JVMDefaultOptions}")
+
+ # read StartOnMainThread and add as -XstartOnFirstThread
+ JVMStartOnMainThread=$(plist_get_java ':StartOnMainThread')
+ if [ "${JVMStartOnMainThread}" == "true" ]; then
+ JVMDefaultOptions+=" -XstartOnFirstThread"
+ fi
+
+ # read the JVM Arguments in either Array or String style (#76) and retain spaces
+ IFS=$'\t\n'
+ MainArgs_RAW=$(plist_get_java ':Arguments' | xargs)
+ if [[ $MainArgs_RAW == *Array* ]] ; then
+ MainArgs=($(xargs -n1 <<<$(plist_get_java ':Arguments' | tr -d '\n' | sed -E 's/Array \{ *(.*) *\}/\1/g' | sed 's/ */ /g')))
+ else
+ MainArgs=($(xargs -n1 <<<$(plist_get_java ':Arguments')))
+ fi
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the Java version we want to find
+ JVMVersion=$(plist_get_java ':JVMVersion' | xargs)
+ # post processing of the version string follows below...
+
+
+# read 'Info.plist' file in Oracle style
+else
+ stub_logger "[PlistStyle] Oracle"
+
+ # set Working Directory and Java and Resources folder
+ JavaFolder="${OracleJavaFolder}"
+ ResourcesFolder="${OracleResourcesFolder}"
+ WorkingDirectory="${OracleJavaFolder}"
+
+ # set expandable variables
+ APP_ROOT="${AppPackageFolder}"
+ APP_PACKAGE="${AppPackageFolder}"
+ JAVAROOT="${OracleJavaFolder}"
+ USER_HOME="$HOME"
+
+ # read the MainClass name
+ JVMMainClass="$(plist_get ':JVMMainClassName')"
+
+ # read the SplashFile name
+ JVMSplashFile=$(plist_get ':JVMSplashFile')
+
+ # read the JVM Options as an array and retain spaces
+ IFS=$'\t\n'
+ JVMOptions=($(plist_get ':JVMOptions' | grep " " | sed 's/^ *//g'))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the ClassPath in either Array or String style
+ JVMClassPath_RAW=$(plist_get ':JVMClassPath')
+ if [[ $JVMClassPath_RAW == *Array* ]] ; then
+ JVMClassPath=.$(plist_get ':JVMClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ elif [[ ! -z ${JVMClassPath_RAW} ]] ; then
+ JVMClassPath=${JVMClassPath_RAW}
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ else
+ #default: fallback to OracleJavaFolder
+ JVMClassPath="${JavaFolder}/*"
+ # Do NOT expand the default 'AppName.app/Contents/Java/*' classpath (#42)
+ fi
+
+ # read the JVM Default Options by parsing the :JVMDefaultOptions
+ # and pulling all values starting with a dash (-)
+ JVMDefaultOptions=$(plist_get ':JVMDefaultOptions' | grep -o " \-.*" | tr -d '\n' | xargs)
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME (#99)
+ JVMDefaultOptions=$(eval echo "${JVMDefaultOptions}")
+
+ # read the Main Arguments from JVMArguments key as an array and retain spaces (see #46 for naming details)
+ IFS=$'\t\n'
+ MainArgs=($(xargs -n1 <<<$(plist_get ':JVMArguments' | tr -d '\n' | sed -E 's/Array \{ *(.*) *\}/\1/g' | sed 's/ */ /g')))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the Java version we want to find
+ JVMVersion=$(plist_get ':JVMVersion' | xargs)
+ # post processing of the version string follows below...
+fi
+
+
+# (#75) check for undefined icons or icon names without .icns extension and prepare
+# an osascript statement for those cases when the icon can be shown in the dialog
+DialogWithIcon=""
+if [ ! -z ${CFBundleIconFile} ]; then
+ if [[ ${CFBundleIconFile} == *.icns ]] && [[ -f "${ResourcesFolder}/${CFBundleIconFile}" ]] ; then
+ DialogWithIcon=" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
+ elif [[ ${CFBundleIconFile} != *.icns ]] && [[ -f "${ResourcesFolder}/${CFBundleIconFile}.icns" ]] ; then
+ CFBundleIconFile+=".icns"
+ DialogWithIcon=" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
+ fi
+fi
+
+
+# JVMVersion: post processing and optional splitting
+if [[ ${JVMVersion} == *";"* ]]; then
+ minMaxArray=(${JVMVersion//;/ })
+ JVMVersion=${minMaxArray[0]//+}
+ JVMMaxVersion=${minMaxArray[1]//+}
+fi
+stub_logger "[JavaRequirement] JVM minimum version: ${JVMVersion}"
+stub_logger "[JavaRequirement] JVM maximum version: ${JVMMaxVersion}"
+
+# MainArgs: expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+MainArgsArr=()
+for i in "${MainArgs[@]}"
+do
+ MainArgsArr+=("$(eval echo "$i")")
+done
+
+# JVMOptions: expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+JVMOptionsArr=()
+for i in "${JVMOptions[@]}"
+do
+ JVMOptionsArr+=("$(eval echo "$i")")
+done
+
+
+# internationalized messages
+############################################
+
+# supported languages / available translations
+stubLanguages="^(fr|de|zh|es|en)-"
+
+# read user preferred languages as defined in macOS System Preferences (#101)
+stub_logger '[LanguageSearch] Checking preferred languages in macOS System Preferences...'
+appleLanguages=($(defaults read -g AppleLanguages | grep '\s"' | tr -d ',' | xargs))
+stub_logger "[LanguageSearch] ... found [${appleLanguages[*]}]"
+
+language=""
+for i in "${appleLanguages[@]}"
+do
+ langValue="${i%-*}"
+ if [[ "$i" =~ $stubLanguages ]]; then
+ stub_logger "[LanguageSearch] ... selected '$i' ('$langValue') as the default language for the launcher stub"
+ language=${langValue}
+ break
+ fi
+done
+if [ -z "${language}" ]; then
+ language="en"
+ stub_logger "[LanguageSearch] ... selected fallback 'en' as the default language for the launcher stub"
+fi
+stub_logger "[Language] $language"
+
+
+case "${language}" in
+# French
+fr)
+ MSG_ERROR_LAUNCHING="ERREUR au lancement de '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="'MainClass' n'est pas spécifié.\nL'application Java ne peut pas être lancée."
+ MSG_JVMVERSION_REQ_INVALID="La syntaxe de la version de Java demandée est invalide: %s\nVeuillez contacter le développeur de l'application."
+ MSG_NO_SUITABLE_JAVA="La version de Java installée sur votre système ne convient pas.\nCe programme nécessite Java %s"
+ MSG_JAVA_VERSION_OR_LATER="ou ultérieur"
+ MSG_JAVA_VERSION_LATEST="(dernière mise à jour)"
+ MSG_JAVA_VERSION_MAX="à %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Merci de bien vouloir installer la version de Java requise."
+ MSG_INSTALL_JAVA="Java doit être installé sur votre système.\nRendez-vous sur java.com et suivez les instructions d'installation..."
+ MSG_LATER="Plus tard"
+ MSG_VISIT_JAVA_DOT_COM="Java by Oracle"
+ MSG_VISIT_ADOPTOPENJDK="Java by AdoptOpenJDK"
+ ;;
+
+# German
+de)
+ MSG_ERROR_LAUNCHING="FEHLER beim Starten von '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="Die 'MainClass' ist nicht spezifiziert!\nDie Java-Anwendung kann nicht gestartet werden!"
+ MSG_JVMVERSION_REQ_INVALID="Die Syntax der angeforderten Java-Version ist ungültig: %s\nBitte kontaktieren Sie den Entwickler der App."
+ MSG_NO_SUITABLE_JAVA="Es wurde keine passende Java-Version auf Ihrem System gefunden!\nDieses Programm benötigt Java %s"
+ MSG_JAVA_VERSION_OR_LATER="oder neuer"
+ MSG_JAVA_VERSION_LATEST="(neuste Unterversion)"
+ MSG_JAVA_VERSION_MAX="bis %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Stellen Sie sicher, dass die angeforderte Java-Version installiert ist."
+ MSG_INSTALL_JAVA="Auf Ihrem System muss die 'Java'-Software installiert sein.\nBesuchen Sie java.com für weitere Installationshinweise."
+ MSG_LATER="Später"
+ MSG_VISIT_JAVA_DOT_COM="Java von Oracle"
+ MSG_VISIT_ADOPTOPENJDK="Java von AdoptOpenJDK"
+ ;;
+
+# Simplified Chinese
+zh)
+ MSG_ERROR_LAUNCHING="无法启动 '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="没有指定 'MainClass'!\nJava程序无法启动!"
+ MSG_JVMVERSION_REQ_INVALID="Java版本参数语法错误: %s\n请联系该应用的开发者。"
+ MSG_NO_SUITABLE_JAVA="没有在系统中找到合适的Java版本!\n必须安装Java %s才能够使用该程序!"
+ MSG_JAVA_VERSION_OR_LATER="及以上版本"
+ MSG_JAVA_VERSION_LATEST="(最新版本)"
+ MSG_JAVA_VERSION_MAX="最高为 %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="请确保系统中安装了所需的Java版本"
+ MSG_INSTALL_JAVA="你需要在Mac中安装Java运行环境!\n访问 java.com 了解如何安装。"
+ MSG_LATER="稍后"
+ MSG_VISIT_JAVA_DOT_COM="Java by Oracle"
+ MSG_VISIT_ADOPTOPENJDK="Java by AdoptOpenJDK"
+ ;;
+
+# Spanish
+es)
+ MSG_ERROR_LAUNCHING="ERROR iniciando '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="¡'MainClass' no especificada!\n¡La aplicación Java no puede iniciarse!"
+ MSG_JVMVERSION_REQ_INVALID="La sintaxis de la versión Java requerida no es válida: %s\nPor favor, contacte con el desarrollador de la aplicación."
+ MSG_NO_SUITABLE_JAVA="¡No se encontró una versión de Java adecuada en su sistema!\nEste programa requiere Java %s"
+ MSG_JAVA_VERSION_OR_LATER="o posterior"
+ MSG_JAVA_VERSION_LATEST="(ultima actualización)"
+ MSG_JAVA_VERSION_MAX="superior a %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Asegúrese de instalar la versión Java requerida."
+ MSG_INSTALL_JAVA="¡Necesita tener JAVA instalado en su Mac!\nVisite java.com para consultar las instrucciones para su instalación..."
+ MSG_LATER="Más tarde"
+ MSG_VISIT_JAVA_DOT_COM="Java de Oracle"
+ MSG_VISIT_ADOPTOPENJDK="Java de AdoptOpenJDK"
+ ;;
+
+# English | default
+en|*)
+ MSG_ERROR_LAUNCHING="ERROR launching '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="'MainClass' isn't specified!\nJava application cannot be started!"
+ MSG_JVMVERSION_REQ_INVALID="The syntax of the required Java version is invalid: %s\nPlease contact the App developer."
+ MSG_NO_SUITABLE_JAVA="No suitable Java version found on your system!\nThis program requires Java %s"
+ MSG_JAVA_VERSION_OR_LATER="or later"
+ MSG_JAVA_VERSION_LATEST="(latest update)"
+ MSG_JAVA_VERSION_MAX="up to %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Make sure you install the required Java version."
+ MSG_INSTALL_JAVA="You need to have JAVA installed on your Mac!\nVisit java.com for installation instructions..."
+ MSG_LATER="Later"
+ MSG_VISIT_JAVA_DOT_COM="Java by Oracle"
+ MSG_VISIT_ADOPTOPENJDK="Java by AdoptOpenJDK"
+ ;;
+esac
+
+
+
+# function 'get_java_version_from_cmd()'
+#
+# returns Java version string from 'java -version' command
+# works for both old (1.8) and new (9) version schema
+#
+# @param1 path to a java JVM executable
+# @return the Java version number as displayed in 'java -version' command
+################################################################################
+function get_java_version_from_cmd() {
+ # second sed command strips " and -ea from the version string
+ echo $("$1" -version 2>&1 | awk '/version/{print $3}' | sed -E 's/"//g;s/-ea//g')
+}
+
+
+# function 'extract_java_major_version()'
+#
+# extract Java major version from a version string
+#
+# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
+# @return the major version (e.g. '7', '8' or '9', etc.)
+################################################################################
+function extract_java_major_version() {
+ echo $(echo "$1" | sed -E 's/^1\.//;s/^([0-9]+)(-ea|(\.[0-9_.]{1,7})?)(-b[0-9]+-[0-9]+)?[+*]?$/\1/')
+}
+
+
+# function 'get_comparable_java_version()'
+#
+# return comparable version for a Java version number or requirement string
+#
+# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
+# @return an 8 digit numeral ('1.8.0_45'->'08000045'; '9.1.13'->'09001013')
+################################################################################
+function get_comparable_java_version() {
+ # cleaning: 1) remove leading '1.'; 2) remove build string (e.g. '-b14-468'); 3) remove 'a-Z' and '-*+' (e.g. '-ea'); 4) replace '_' with '.'
+ local cleaned=$(echo "$1" | sed -E 's/^1\.//g;s/-b[0-9]+-[0-9]+$//g;s/[a-zA-Z+*\-]//g;s/_/./g')
+ # splitting at '.' into an array
+ local arr=( ${cleaned//./ } )
+ # echo a string with left padded version numbers
+ echo "$(printf '%02s' ${arr[0]})$(printf '%03s' ${arr[1]})$(printf '%03s' ${arr[2]})"
+}
+
+
+# function 'is_valid_requirement_pattern()'
+#
+# check whether the Java requirement is a valid requirement pattern
+#
+# supported requirements are for example:
+# - 1.6 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6* requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6+ requires Java 6 or higher [1.6, 1.6.0_45, 1.8, 9, etc.]
+# - 1.6.0 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6.0_45 requires Java 6u45 [1.6.0_45]
+# - 1.6.0_45+ requires Java 6u45 or higher [1.6.0_45, 1.6.0_88, 1.8, etc.]
+# - 9 requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
+# - 9* requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
+# - 9+ requires Java 9 or higher [9.0, 9.1, 10, etc.]
+# - 9.1 requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
+# - 9.1* requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
+# - 9.1+ requires Java 9.1 or higher [9.1, 9.2, 10, etc.]
+# - 9.1.3 requires Java 9.1.3 [9.1.3]
+# - 9.1.3* requires Java 9.1.3 (any update) [9.1.3]
+# - 9.1.3+ requires Java 9.1.3 or higher [9.1.3, 9.1.4, 9.2.*, 10, etc.]
+# - 10-ea requires Java 10 (early access release)
+#
+# unsupported requirement patterns are for example:
+# - 1.2, 1.3, 1.9 Java 2, 3 are not supported
+# - 1.9 Java 9 introduced a new versioning scheme
+# - 6u45 known versioning syntax, but unsupported
+# - 9-ea*, 9-ea+ early access releases paired with */+
+# - 9., 9.*, 9.+ version ending with a .
+# - 9.1., 9.1.*, 9.1.+ version ending with a .
+# - 9.3.5.6 4 part version number is unsupported
+#
+# @param1 a Java requirement string ('1.8+')
+# @return boolean exit code: 0 (is valid), 1 (is not valid)
+################################################################################
+function is_valid_requirement_pattern() {
+ local java_req=$1
+ java8pattern='1\.[4-8](\.[0-9]+)?(\.0_[0-9]+)?[*+]?'
+ java9pattern='(9|1[0-9])(-ea|[*+]|(\.[0-9]+){1,2}[*+]?)?'
+ # test matches either old Java versioning scheme (up to 1.8) or new scheme (starting with 9)
+ if [[ ${java_req} =~ ^(${java8pattern}|${java9pattern})$ ]]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+
+
+# determine which JVM to use
+############################################
+
+# modified for BEAST 2 with JRE
+JAVACMD="${AppPackageFolder}/../jre1.8.0_292/bin/java"
+
+
+# log the Java Command and the extracted version number
+stub_logger "[JavaCommand] '$JAVACMD'"
+stub_logger "[JavaVersion] $(get_java_version_from_cmd "${JAVACMD}")${JAVACMD_version:+ / $JAVACMD_version}"
+
+
+
+if [ -z "${JAVACMD}" ] || [ ! -x "${JAVACMD}" ] ; then
+
+ # different error messages when a specific JVM was required
+ if [ ! -z "${JVMVersion}" ] ; then
+ # display human readable java version (#28)
+ java_version_hr=$(echo ${JVMVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+/ ${MSG_JAVA_VERSION_OR_LATER}/;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
+ MSG_NO_SUITABLE_JAVA_EXPANDED=$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}").
+
+ if [ ! -z "${JVMMaxVersion}" ] ; then
+ java_version_hr=$(extract_java_major_version ${JVMVersion})
+ java_version_max_hr=$(echo ${JVMMaxVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+//;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
+ MSG_NO_SUITABLE_JAVA_EXPANDED="$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}") $(printf "${MSG_JAVA_VERSION_MAX}" "${java_version_max_hr}")"
+ fi
+
+ # log exit cause
+ stub_logger "[EXIT 3] ${MSG_NO_SUITABLE_JAVA_EXPANDED}"
+
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_NO_SUITABLE_JAVA_EXPANDED}\n${MSG_NO_SUITABLE_JAVA_CHECK}\" with title \"${CFBundleName}\" buttons {\" OK \", \"${MSG_VISIT_JAVA_DOT_COM}\", \"${MSG_VISIT_ADOPTOPENJDK}\"} default button 1${DialogWithIcon}" \
+ -e "set response to button returned of the result" \
+ -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"https://www.java.com/download/\"" \
+ -e "if response is \"${MSG_VISIT_ADOPTOPENJDK}\" then open location \"https://adoptopenjdk.net/releases.html\""
+ # exit with error
+ exit 3
+
+ else
+ # log exit cause
+ stub_logger "[EXIT 1] ${MSG_ERROR_LAUNCHING}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_INSTALL_JAVA}\" with title \"${CFBundleName}\" buttons {\"${MSG_LATER}\", \"${MSG_VISIT_JAVA_DOT_COM}\", \"${MSG_VISIT_ADOPTOPENJDK}\"} default button 1${DialogWithIcon}" \
+ -e "set response to button returned of the result" \
+ -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"https://www.java.com/download/\"" \
+ -e "if response is \"${MSG_VISIT_ADOPTOPENJDK}\" then open location \"https://adoptopenjdk.net/releases.html\""
+ # exit with error
+ exit 1
+ fi
+fi
+
+
+
+# MainClass check
+############################################
+
+if [ -z "${JVMMainClass}" ]; then
+ # log exit cause
+ stub_logger "[EXIT 2] ${MSG_MISSING_MAINCLASS}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_MISSING_MAINCLASS}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1${DialogWithIcon}"
+ # exit with error
+ exit 2
+fi
+
+
+
+# execute $JAVACMD and do some preparation
+############################################
+
+# enable drag&drop to the dock icon
+export CFProcessPath="$0"
+
+# remove Apples ProcessSerialNumber from passthru arguments (#39)
+if [[ "$*" == -psn* ]] ; then
+ ArgsPassthru=()
+else
+ ArgsPassthru=("$@")
+fi
+
+# change to Working Directory based upon Apple/Oracle Plist info
+cd "${WorkingDirectory}" || exit 13
+stub_logger "[WorkingDirectory] ${WorkingDirectory}"
+
+# execute Java and set
+# - classpath
+# - splash image
+# - dock icon
+# - app name
+# - JVM options / properties (-D)
+# - JVM default options (-X)
+# - main class
+# - main class arguments
+# - passthrough arguments from Terminal or Drag'n'Drop to Finder icon
+stub_logger "[Exec] \"$JAVACMD\" -cp \"${JVMClassPath}\" ${JVMSplashFile:+ -splash:\"${ResourcesFolder}/${JVMSplashFile}\"} -Xdock:icon=\"${ResourcesFolder}/${CFBundleIconFile}\" -Xdock:name=\"${CFBundleName}\" ${JVMOptionsArr:+$(printf "'%s' " "${JVMOptionsArr[@]}") }${JVMDefaultOptions:+$JVMDefaultOptions }${JVMMainClass}${MainArgsArr:+ $(printf "'%s' " "${MainArgsArr[@]}")}${ArgsPassthru:+ $(printf "'%s' " "${ArgsPassthru[@]}")}"
+exec "${JAVACMD}" \
+ -cp "${JVMClassPath}" \
+ ${JVMSplashFile:+ -splash:"${ResourcesFolder}/${JVMSplashFile}"} \
+ -Xdock:icon="${ResourcesFolder}/${CFBundleIconFile}" \
+ -Xdock:name="${CFBundleName}" \
+ ${JVMOptionsArr:+"${JVMOptionsArr[@]}" }\
+ ${JVMDefaultOptions:+$JVMDefaultOptions }\
+ "${JVMMainClass}"\
+ ${MainArgsArr:+ "${MainArgsArr[@]}"}\
+ ${ArgsPassthru:+ "${ArgsPassthru[@]}"}
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Mac/stub/3-2-0/universalJavaApplicationStub beast2-mcmc-2.6.7+dfsg/release/Mac/stub/3-2-0/universalJavaApplicationStub
--- beast2-mcmc-2.6.6+dfsg/release/Mac/stub/3-2-0/universalJavaApplicationStub 1970-01-01 00:00:00.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Mac/stub/3-2-0/universalJavaApplicationStub 2022-04-04 07:18:36.000000000 +0000
@@ -0,0 +1,888 @@
+#!/bin/bash
+##################################################################################
+# #
+# universalJavaApplicationStub #
+# #
+# A BASH based JavaApplicationStub for Java Apps on Mac OS X #
+# that works with both Apple's and Oracle's plist format. #
+# #
+# Inspired by Ian Roberts stackoverflow answer #
+# at http://stackoverflow.com/a/17546508/1128689 #
+# #
+# @author Tobias Fischer #
+# @url https://github.com/tofi86/universalJavaApplicationStub #
+# @date 2021-02-21 #
+# @version 3.2.0 #
+# #
+##################################################################################
+# #
+# The MIT License (MIT) #
+# #
+# Copyright (c) 2014-2021 Tobias Fischer #
+# #
+# Permission is hereby granted, free of charge, to any person obtaining a copy #
+# of this software and associated documentation files (the "Software"), to deal #
+# in the Software without restriction, including without limitation the rights #
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell #
+# copies of the Software, and to permit persons to whom the Software is #
+# furnished to do so, subject to the following conditions: #
+# #
+# The above copyright notice and this permission notice shall be included in all #
+# copies or substantial portions of the Software. #
+# #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE #
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, #
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE #
+# SOFTWARE. #
+# #
+##################################################################################
+
+
+
+# function 'stub_logger()'
+#
+# A logger which logs to the macOS Console.app using the 'syslog' command
+#
+# @param1 the log message
+# @return void
+################################################################################
+function stub_logger() {
+ syslog -s -k \
+ Facility com.apple.console \
+ Level Notice \
+ Sender "$(basename "$0")" \
+ Message "[$$][${CFBundleName:-$(basename "$0")}] $1"
+}
+
+
+
+# set the directory abspath of the current
+# shell script with symlinks being resolved
+############################################
+
+PRG=$0
+while [ -h "$PRG" ]; do
+ ls=$(ls -ld "$PRG")
+ link=$(expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null)
+ if expr "$link" : '^/' 2> /dev/null >/dev/null; then
+ PRG="$link"
+ else
+ PRG="$(dirname "$PRG")/$link"
+ fi
+done
+PROGDIR=$(dirname "$PRG")
+stub_logger "[StubDir] $PROGDIR"
+
+
+
+# set files and folders
+############################################
+
+# the absolute path of the app package
+cd "$PROGDIR"/../../ || exit 11
+AppPackageFolder=$(pwd)
+
+# the base path of the app package
+cd .. || exit 12
+AppPackageRoot=$(pwd)
+
+# set Apple's Java folder
+AppleJavaFolder="${AppPackageFolder}"/Contents/Resources/Java
+
+# set Apple's Resources folder
+AppleResourcesFolder="${AppPackageFolder}"/Contents/Resources
+
+# set Oracle's Java folder
+OracleJavaFolder="${AppPackageFolder}"/Contents/Java
+
+# set Oracle's Resources folder
+OracleResourcesFolder="${AppPackageFolder}"/Contents/Resources
+
+# set path to Info.plist in bundle
+InfoPlistFile="${AppPackageFolder}"/Contents/Info.plist
+
+# set the default JVM Version to a null string
+JVMVersion=""
+JVMMaxVersion=""
+
+
+
+# function 'plist_get()'
+#
+# read a specific Plist key with 'PlistBuddy' utility
+#
+# @param1 the Plist key with leading colon ':'
+# @return the value as String or Array
+################################################################################
+plist_get(){
+ /usr/libexec/PlistBuddy -c "print $1" "${InfoPlistFile}" 2> /dev/null
+}
+
+# function 'plist_get_java()'
+#
+# read a specific Plist key with 'PlistBuddy' utility
+# in the 'Java' or 'JavaX' dictionary ()
+#
+# @param1 the Plist :Java(X):Key with leading colon ':'
+# @return the value as String or Array
+################################################################################
+plist_get_java(){
+ plist_get ${JavaKey:-":Java"}$1
+}
+
+
+
+# read Info.plist and extract JVM options
+############################################
+
+# read the program name from CFBundleName
+CFBundleName=$(plist_get ':CFBundleName')
+
+# read the icon file name
+CFBundleIconFile=$(plist_get ':CFBundleIconFile')
+
+
+# check Info.plist for Apple style Java keys -> if key :Java is present, parse in apple mode
+/usr/libexec/PlistBuddy -c "print :Java" "${InfoPlistFile}" > /dev/null 2>&1
+exitcode=$?
+JavaKey=":Java"
+
+# if no :Java key is present, check Info.plist for universalJavaApplication style JavaX keys -> if key :JavaX is present, parse in apple mode
+if [ $exitcode -ne 0 ]; then
+ /usr/libexec/PlistBuddy -c "print :JavaX" "${InfoPlistFile}" > /dev/null 2>&1
+ exitcode=$?
+ JavaKey=":JavaX"
+fi
+
+
+# read 'Info.plist' file in Apple style if exit code returns 0 (true, ':Java' key is present)
+if [ $exitcode -eq 0 ]; then
+ stub_logger "[PlistStyle] Apple"
+
+ # set Java and Resources folder
+ JavaFolder="${AppleJavaFolder}"
+ ResourcesFolder="${AppleResourcesFolder}"
+
+ # set expandable variables
+ APP_ROOT="${AppPackageFolder}"
+ APP_PACKAGE="${AppPackageFolder}"
+ JAVAROOT="${AppleJavaFolder}"
+ USER_HOME="$HOME"
+
+
+ # read the Java WorkingDirectory
+ JVMWorkDir=$(plist_get_java ':WorkingDirectory' | xargs)
+ # set Working Directory based upon PList value
+ if [[ ! -z ${JVMWorkDir} ]]; then
+ WorkingDirectory="${JVMWorkDir}"
+ else
+ # AppPackageRoot is the standard WorkingDirectory when the script is started
+ WorkingDirectory="${AppPackageRoot}"
+ fi
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+ WorkingDirectory=$(eval echo "${WorkingDirectory}")
+
+
+ # read the MainClass name
+ JVMMainClass="$(plist_get_java ':MainClass')"
+
+ # read the SplashFile name
+ JVMSplashFile=$(plist_get_java ':SplashFile')
+
+ # read the JVM Properties as an array and retain spaces
+ IFS=$'\t\n'
+ JVMOptions=($(xargs -n1 <<<$(plist_get_java ':Properties' | grep " =" | sed 's/^ */-D/g' | sed -E 's/ = (.*)$/="\1"/g')))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the ClassPath in either Array or String style
+ JVMClassPath_RAW=$(plist_get_java ':ClassPath' | xargs)
+ if [[ $JVMClassPath_RAW == *Array* ]] ; then
+ JVMClassPath=.$(plist_get_java ':ClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
+ else
+ JVMClassPath=${JVMClassPath_RAW}
+ fi
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ # read the JVM Options in either Array or String style
+ JVMDefaultOptions_RAW=$(plist_get_java ':VMOptions' | xargs)
+ if [[ $JVMDefaultOptions_RAW == *Array* ]] ; then
+ JVMDefaultOptions=$(plist_get_java ':VMOptions' | grep " " | sed 's/^ */ /g' | tr -d '\n' | xargs)
+ else
+ JVMDefaultOptions=${JVMDefaultOptions_RAW}
+ fi
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME (#84)
+ JVMDefaultOptions=$(eval echo "${JVMDefaultOptions}")
+
+ # read StartOnMainThread and add as -XstartOnFirstThread
+ JVMStartOnMainThread=$(plist_get_java ':StartOnMainThread')
+ if [ "${JVMStartOnMainThread}" == "true" ]; then
+ JVMDefaultOptions+=" -XstartOnFirstThread"
+ fi
+
+ # read the JVM Arguments in either Array or String style (#76) and retain spaces
+ IFS=$'\t\n'
+ MainArgs_RAW=$(plist_get_java ':Arguments' | xargs)
+ if [[ $MainArgs_RAW == *Array* ]] ; then
+ MainArgs=($(xargs -n1 <<<$(plist_get_java ':Arguments' | tr -d '\n' | sed -E 's/Array \{ *(.*) *\}/\1/g' | sed 's/ */ /g')))
+ else
+ MainArgs=($(xargs -n1 <<<$(plist_get_java ':Arguments')))
+ fi
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the Java version we want to find
+ JVMVersion=$(plist_get_java ':JVMVersion' | xargs)
+ # post processing of the version string follows below...
+
+
+# read 'Info.plist' file in Oracle style
+else
+ stub_logger "[PlistStyle] Oracle"
+
+ # set Working Directory and Java and Resources folder
+ JavaFolder="${OracleJavaFolder}"
+ ResourcesFolder="${OracleResourcesFolder}"
+ WorkingDirectory="${OracleJavaFolder}"
+
+ # set expandable variables
+ APP_ROOT="${AppPackageFolder}"
+ APP_PACKAGE="${AppPackageFolder}"
+ JAVAROOT="${OracleJavaFolder}"
+ USER_HOME="$HOME"
+
+ # read the MainClass name
+ JVMMainClass="$(plist_get ':JVMMainClassName')"
+
+ # read the SplashFile name
+ JVMSplashFile=$(plist_get ':JVMSplashFile')
+
+ # read the JVM Options as an array and retain spaces
+ IFS=$'\t\n'
+ JVMOptions=($(plist_get ':JVMOptions' | grep " " | sed 's/^ *//g'))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the ClassPath in either Array or String style
+ JVMClassPath_RAW=$(plist_get ':JVMClassPath')
+ if [[ $JVMClassPath_RAW == *Array* ]] ; then
+ JVMClassPath=.$(plist_get ':JVMClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ elif [[ ! -z ${JVMClassPath_RAW} ]] ; then
+ JVMClassPath=${JVMClassPath_RAW}
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+ JVMClassPath=$(eval echo "${JVMClassPath}")
+
+ else
+ #default: fallback to OracleJavaFolder
+ JVMClassPath="${JavaFolder}/*"
+ # Do NOT expand the default 'AppName.app/Contents/Java/*' classpath (#42)
+ fi
+
+ # read the JVM Default Options by parsing the :JVMDefaultOptions
+ # and pulling all values starting with a dash (-)
+ JVMDefaultOptions=$(plist_get ':JVMDefaultOptions' | grep -o " \-.*" | tr -d '\n' | xargs)
+ # expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME (#99)
+ JVMDefaultOptions=$(eval echo "${JVMDefaultOptions}")
+
+ # read the Main Arguments from JVMArguments key as an array and retain spaces (see #46 for naming details)
+ IFS=$'\t\n'
+ MainArgs=($(xargs -n1 <<<$(plist_get ':JVMArguments' | tr -d '\n' | sed -E 's/Array \{ *(.*) *\}/\1/g' | sed 's/ */ /g')))
+ unset IFS
+ # post processing of the array follows further below...
+
+ # read the Java version we want to find
+ JVMVersion=$(plist_get ':JVMVersion' | xargs)
+ # post processing of the version string follows below...
+fi
+
+
+# (#75) check for undefined icons or icon names without .icns extension and prepare
+# an osascript statement for those cases when the icon can be shown in the dialog
+DialogWithIcon=""
+if [ ! -z ${CFBundleIconFile} ]; then
+ if [[ ${CFBundleIconFile} == *.icns ]] && [[ -f "${ResourcesFolder}/${CFBundleIconFile}" ]] ; then
+ DialogWithIcon=" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
+ elif [[ ${CFBundleIconFile} != *.icns ]] && [[ -f "${ResourcesFolder}/${CFBundleIconFile}.icns" ]] ; then
+ CFBundleIconFile+=".icns"
+ DialogWithIcon=" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
+ fi
+fi
+
+
+# JVMVersion: post processing and optional splitting
+if [[ ${JVMVersion} == *";"* ]]; then
+ minMaxArray=(${JVMVersion//;/ })
+ JVMVersion=${minMaxArray[0]//+}
+ JVMMaxVersion=${minMaxArray[1]//+}
+fi
+stub_logger "[JavaRequirement] JVM minimum version: ${JVMVersion}"
+stub_logger "[JavaRequirement] JVM maximum version: ${JVMMaxVersion}"
+
+# MainArgs: expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+MainArgsArr=()
+for i in "${MainArgs[@]}"
+do
+ MainArgsArr+=("$(eval echo "$i")")
+done
+
+# JVMOptions: expand variables $APP_PACKAGE, $APP_ROOT, $JAVAROOT, $USER_HOME
+JVMOptionsArr=()
+for i in "${JVMOptions[@]}"
+do
+ JVMOptionsArr+=("$(eval echo "$i")")
+done
+
+
+# internationalized messages
+############################################
+
+# supported languages / available translations
+stubLanguages="^(fr|de|zh|es|en)-"
+
+# read user preferred languages as defined in macOS System Preferences (#101)
+stub_logger '[LanguageSearch] Checking preferred languages in macOS System Preferences...'
+appleLanguages=($(defaults read -g AppleLanguages | grep '\s"' | tr -d ',' | xargs))
+stub_logger "[LanguageSearch] ... found [${appleLanguages[*]}]"
+
+language=""
+for i in "${appleLanguages[@]}"
+do
+ langValue="${i%-*}"
+ if [[ "$i" =~ $stubLanguages ]]; then
+ stub_logger "[LanguageSearch] ... selected '$i' ('$langValue') as the default language for the launcher stub"
+ language=${langValue}
+ break
+ fi
+done
+if [ -z "${language}" ]; then
+ language="en"
+ stub_logger "[LanguageSearch] ... selected fallback 'en' as the default language for the launcher stub"
+fi
+stub_logger "[Language] $language"
+
+
+case "${language}" in
+# French
+fr)
+ MSG_ERROR_LAUNCHING="ERREUR au lancement de '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="'MainClass' n'est pas spécifié.\nL'application Java ne peut pas être lancée."
+ MSG_JVMVERSION_REQ_INVALID="La syntaxe de la version de Java demandée est invalide: %s\nVeuillez contacter le développeur de l'application."
+ MSG_NO_SUITABLE_JAVA="La version de Java installée sur votre système ne convient pas.\nCe programme nécessite Java %s"
+ MSG_JAVA_VERSION_OR_LATER="ou ultérieur"
+ MSG_JAVA_VERSION_LATEST="(dernière mise à jour)"
+ MSG_JAVA_VERSION_MAX="à %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Merci de bien vouloir installer la version de Java requise."
+ MSG_INSTALL_JAVA="Java doit être installé sur votre système.\nRendez-vous sur java.com et suivez les instructions d'installation..."
+ MSG_LATER="Plus tard"
+ MSG_VISIT_JAVA_DOT_COM="Java by Oracle"
+ MSG_VISIT_ADOPTOPENJDK="Java by AdoptOpenJDK"
+ ;;
+
+# German
+de)
+ MSG_ERROR_LAUNCHING="FEHLER beim Starten von '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="Die 'MainClass' ist nicht spezifiziert!\nDie Java-Anwendung kann nicht gestartet werden!"
+ MSG_JVMVERSION_REQ_INVALID="Die Syntax der angeforderten Java-Version ist ungültig: %s\nBitte kontaktieren Sie den Entwickler der App."
+ MSG_NO_SUITABLE_JAVA="Es wurde keine passende Java-Version auf Ihrem System gefunden!\nDieses Programm benötigt Java %s"
+ MSG_JAVA_VERSION_OR_LATER="oder neuer"
+ MSG_JAVA_VERSION_LATEST="(neuste Unterversion)"
+ MSG_JAVA_VERSION_MAX="bis %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Stellen Sie sicher, dass die angeforderte Java-Version installiert ist."
+ MSG_INSTALL_JAVA="Auf Ihrem System muss die 'Java'-Software installiert sein.\nBesuchen Sie java.com für weitere Installationshinweise."
+ MSG_LATER="Später"
+ MSG_VISIT_JAVA_DOT_COM="Java von Oracle"
+ MSG_VISIT_ADOPTOPENJDK="Java von AdoptOpenJDK"
+ ;;
+
+# Simplified Chinese
+zh)
+ MSG_ERROR_LAUNCHING="无法启动 '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="没有指定 'MainClass'!\nJava程序无法启动!"
+ MSG_JVMVERSION_REQ_INVALID="Java版本参数语法错误: %s\n请联系该应用的开发者。"
+ MSG_NO_SUITABLE_JAVA="没有在系统中找到合适的Java版本!\n必须安装Java %s才能够使用该程序!"
+ MSG_JAVA_VERSION_OR_LATER="及以上版本"
+ MSG_JAVA_VERSION_LATEST="(最新版本)"
+ MSG_JAVA_VERSION_MAX="最高为 %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="请确保系统中安装了所需的Java版本"
+ MSG_INSTALL_JAVA="你需要在Mac中安装Java运行环境!\n访问 java.com 了解如何安装。"
+ MSG_LATER="稍后"
+ MSG_VISIT_JAVA_DOT_COM="Java by Oracle"
+ MSG_VISIT_ADOPTOPENJDK="Java by AdoptOpenJDK"
+ ;;
+
+# Spanish
+es)
+ MSG_ERROR_LAUNCHING="ERROR iniciando '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="¡'MainClass' no especificada!\n¡La aplicación Java no puede iniciarse!"
+ MSG_JVMVERSION_REQ_INVALID="La sintaxis de la versión Java requerida no es válida: %s\nPor favor, contacte con el desarrollador de la aplicación."
+ MSG_NO_SUITABLE_JAVA="¡No se encontró una versión de Java adecuada en su sistema!\nEste programa requiere Java %s"
+ MSG_JAVA_VERSION_OR_LATER="o posterior"
+ MSG_JAVA_VERSION_LATEST="(ultima actualización)"
+ MSG_JAVA_VERSION_MAX="superior a %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Asegúrese de instalar la versión Java requerida."
+ MSG_INSTALL_JAVA="¡Necesita tener JAVA instalado en su Mac!\nVisite java.com para consultar las instrucciones para su instalación..."
+ MSG_LATER="Más tarde"
+ MSG_VISIT_JAVA_DOT_COM="Java de Oracle"
+ MSG_VISIT_ADOPTOPENJDK="Java de AdoptOpenJDK"
+ ;;
+
+# English | default
+en|*)
+ MSG_ERROR_LAUNCHING="ERROR launching '${CFBundleName}'."
+ MSG_MISSING_MAINCLASS="'MainClass' isn't specified!\nJava application cannot be started!"
+ MSG_JVMVERSION_REQ_INVALID="The syntax of the required Java version is invalid: %s\nPlease contact the App developer."
+ MSG_NO_SUITABLE_JAVA="No suitable Java version found on your system!\nThis program requires Java %s"
+ MSG_JAVA_VERSION_OR_LATER="or later"
+ MSG_JAVA_VERSION_LATEST="(latest update)"
+ MSG_JAVA_VERSION_MAX="up to %s"
+ MSG_NO_SUITABLE_JAVA_CHECK="Make sure you install the required Java version."
+ MSG_INSTALL_JAVA="You need to have JAVA installed on your Mac!\nVisit java.com for installation instructions..."
+ MSG_LATER="Later"
+ MSG_VISIT_JAVA_DOT_COM="Java by Oracle"
+ MSG_VISIT_ADOPTOPENJDK="Java by AdoptOpenJDK"
+ ;;
+esac
+
+
+
+# function 'get_java_version_from_cmd()'
+#
+# returns Java version string from 'java -version' command
+# works for both old (1.8) and new (9) version schema
+#
+# @param1 path to a java JVM executable
+# @return the Java version number as displayed in 'java -version' command
+################################################################################
+function get_java_version_from_cmd() {
+ # second sed command strips " and -ea from the version string
+ echo $("$1" -version 2>&1 | awk '/version/{print $3}' | sed -E 's/"//g;s/-ea//g')
+}
+
+
+# function 'extract_java_major_version()'
+#
+# extract Java major version from a version string
+#
+# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
+# @return the major version (e.g. '7', '8' or '9', etc.)
+################################################################################
+function extract_java_major_version() {
+ echo $(echo "$1" | sed -E 's/^1\.//;s/^([0-9]+)(-ea|(\.[0-9_.]{1,7})?)(-b[0-9]+-[0-9]+)?[+*]?$/\1/')
+}
+
+
+# function 'get_comparable_java_version()'
+#
+# return comparable version for a Java version number or requirement string
+#
+# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
+# @return an 8 digit numeral ('1.8.0_45'->'08000045'; '9.1.13'->'09001013')
+################################################################################
+function get_comparable_java_version() {
+ # cleaning: 1) remove leading '1.'; 2) remove build string (e.g. '-b14-468'); 3) remove 'a-Z' and '-*+' (e.g. '-ea'); 4) replace '_' with '.'
+ local cleaned=$(echo "$1" | sed -E 's/^1\.//g;s/-b[0-9]+-[0-9]+$//g;s/[a-zA-Z+*\-]//g;s/_/./g')
+ # splitting at '.' into an array
+ local arr=( ${cleaned//./ } )
+ # echo a string with left padded version numbers
+ echo "$(printf '%02s' ${arr[0]})$(printf '%03s' ${arr[1]})$(printf '%03s' ${arr[2]})"
+}
+
+
+# function 'is_valid_requirement_pattern()'
+#
+# check whether the Java requirement is a valid requirement pattern
+#
+# supported requirements are for example:
+# - 1.6 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6* requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6+ requires Java 6 or higher [1.6, 1.6.0_45, 1.8, 9, etc.]
+# - 1.6.0 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
+# - 1.6.0_45 requires Java 6u45 [1.6.0_45]
+# - 1.6.0_45+ requires Java 6u45 or higher [1.6.0_45, 1.6.0_88, 1.8, etc.]
+# - 9 requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
+# - 9* requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
+# - 9+ requires Java 9 or higher [9.0, 9.1, 10, etc.]
+# - 9.1 requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
+# - 9.1* requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
+# - 9.1+ requires Java 9.1 or higher [9.1, 9.2, 10, etc.]
+# - 9.1.3 requires Java 9.1.3 [9.1.3]
+# - 9.1.3* requires Java 9.1.3 (any update) [9.1.3]
+# - 9.1.3+ requires Java 9.1.3 or higher [9.1.3, 9.1.4, 9.2.*, 10, etc.]
+# - 10-ea requires Java 10 (early access release)
+#
+# unsupported requirement patterns are for example:
+# - 1.2, 1.3, 1.9 Java 2, 3 are not supported
+# - 1.9 Java 9 introduced a new versioning scheme
+# - 6u45 known versioning syntax, but unsupported
+# - 9-ea*, 9-ea+ early access releases paired with */+
+# - 9., 9.*, 9.+ version ending with a .
+# - 9.1., 9.1.*, 9.1.+ version ending with a .
+# - 9.3.5.6 4 part version number is unsupported
+#
+# @param1 a Java requirement string ('1.8+')
+# @return boolean exit code: 0 (is valid), 1 (is not valid)
+################################################################################
+function is_valid_requirement_pattern() {
+ local java_req=$1
+ java8pattern='1\.[4-8](\.[0-9]+)?(\.0_[0-9]+)?[*+]?'
+ java9pattern='(9|1[0-9])(-ea|[*+]|(\.[0-9]+){1,2}[*+]?)?'
+ # test matches either old Java versioning scheme (up to 1.8) or new scheme (starting with 9)
+ if [[ ${java_req} =~ ^(${java8pattern}|${java9pattern})$ ]]; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+
+
+# determine which JVM to use
+############################################
+
+# default Apple JRE plugin path (< 1.6)
+apple_jre_plugin="/Library/Java/Home/bin/java"
+apple_jre_version=$(get_java_version_from_cmd "${apple_jre_plugin}")
+# default Oracle JRE plugin path (>= 1.7)
+oracle_jre_plugin="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java"
+oracle_jre_version=$(get_java_version_from_cmd "${oracle_jre_plugin}")
+
+
+# first check system variable "$JAVA_HOME" -> has precedence over any other System JVM
+stub_logger '[JavaSearch] Checking for $JAVA_HOME ...'
+if [ -n "$JAVA_HOME" ] ; then
+ stub_logger "[JavaSearch] ... found JAVA_HOME with value $JAVA_HOME"
+
+ # PR 26: Allow specifying "$JAVA_HOME" relative to "$AppPackageFolder"
+ # which allows for bundling a custom version of Java inside your app!
+ if [[ $JAVA_HOME == /* ]] ; then
+ # if "$JAVA_HOME" starts with a Slash it's an absolute path
+ JAVACMD="$JAVA_HOME/bin/java"
+ stub_logger "[JavaSearch] ... parsing JAVA_HOME as absolute path to the executable '$JAVACMD'"
+ else
+ # otherwise it's a relative path to "$AppPackageFolder"
+ JAVACMD="$AppPackageFolder/$JAVA_HOME/bin/java"
+ stub_logger "[JavaSearch] ... parsing JAVA_HOME as relative path inside the App bundle to the executable '$JAVACMD'"
+ fi
+ JAVACMD_version=$(get_comparable_java_version $(get_java_version_from_cmd "${JAVACMD}"))
+else
+ stub_logger "[JavaSearch] ... haven't found JAVA_HOME"
+fi
+
+
+# check for any other or a specific Java version
+# also if $JAVA_HOME exists but isn't executable
+if [ -z "${JAVACMD}" ] || [ ! -x "${JAVACMD}" ] ; then
+
+ # add a warning in the syslog if JAVA_HOME is not executable or not found (#100)
+ if [ -n "$JAVA_HOME" ] ; then
+ stub_logger "[JavaSearch] ... but no 'java' executable was found at the JAVA_HOME location!"
+ fi
+
+ stub_logger "[JavaSearch] Searching for JavaVirtualMachines on the system ..."
+ # reset variables
+ JAVACMD=""
+ JAVACMD_version=""
+
+ # first check whether JVMVersion string is a valid requirement string
+ if [ ! -z "${JVMVersion}" ] && ! is_valid_requirement_pattern ${JVMVersion} ; then
+ MSG_JVMVERSION_REQ_INVALID_EXPANDED=$(printf "${MSG_JVMVERSION_REQ_INVALID}" "${JVMVersion}")
+ # log exit cause
+ stub_logger "[EXIT 4] ${MSG_JVMVERSION_REQ_INVALID_EXPANDED}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_JVMVERSION_REQ_INVALID_EXPANDED}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1${DialogWithIcon}"
+ # exit with error
+ exit 4
+ fi
+ # then check whether JVMMaxVersion string is a valid requirement string
+ if [ ! -z "${JVMMaxVersion}" ] && ! is_valid_requirement_pattern ${JVMMaxVersion} ; then
+ MSG_JVMVERSION_REQ_INVALID_EXPANDED=$(printf "${MSG_JVMVERSION_REQ_INVALID}" "${JVMMaxVersion}")
+ # log exit cause
+ stub_logger "[EXIT 5] ${MSG_JVMVERSION_REQ_INVALID_EXPANDED}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_JVMVERSION_REQ_INVALID_EXPANDED}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1${DialogWithIcon}"
+ # exit with error
+ exit 5
+ fi
+
+
+ # find installed JavaVirtualMachines (JDK + JRE)
+ allJVMs=()
+
+ # read JDK's from '/usr/libexec/java_home --xml' command with PlistBuddy and a custom Dict iterator
+ # idea: https://stackoverflow.com/a/14085460/1128689 and https://scriptingosx.com/2018/07/parsing-dscl-output-in-scripts/
+ javaXml=$(/usr/libexec/java_home --xml)
+ javaCounter=$(/usr/libexec/PlistBuddy -c "Print" /dev/stdin <<< $javaXml | grep "Dict" | wc -l | tr -d ' ')
+
+ # iterate over all Dict entries
+ # but only if there are any JVMs at all (#93)
+ if [ "$javaCounter" -gt "0" ] ; then
+ for idx in $(seq 0 $((javaCounter - 1)))
+ do
+ version=$(/usr/libexec/PlistBuddy -c "print :$idx:JVMVersion" /dev/stdin <<< $javaXml)
+ path=$(/usr/libexec/PlistBuddy -c "print :$idx:JVMHomePath" /dev/stdin <<< $javaXml)
+ path+="/bin/java"
+ allJVMs+=("$version:$path")
+ done
+ # unset for loop variables
+ unset version path
+ fi
+
+ # add SDKMAN! java versions (#95)
+ if [ -d ~/.sdkman/candidates/java/ ] ; then
+ for sdkjdk in ~/.sdkman/candidates/java/*/
+ do
+ if [[ ${sdkjdk} =~ /current/$ ]] ; then
+ continue
+ fi
+
+ sdkjdkcmd="${sdkjdk}bin/java"
+ version=$(get_java_version_from_cmd "${sdkjdkcmd}")
+ allJVMs+=("$version:$sdkjdkcmd")
+ done
+ # unset for loop variables
+ unset version
+ fi
+
+ # add Apple JRE if available
+ if [ -x "${apple_jre_plugin}" ] ; then
+ allJVMs+=("$apple_jre_version:$apple_jre_plugin")
+ fi
+
+ # add Oracle JRE if available
+ if [ -x "${oracle_jre_plugin}" ] ; then
+ allJVMs+=("$oracle_jre_version:$oracle_jre_plugin")
+ fi
+
+ # debug output
+ for i in "${allJVMs[@]}"
+ do
+ stub_logger "[JavaSearch] ... found JVM: $i"
+ done
+
+
+ # determine JVMs matching the min/max version requirement
+
+ stub_logger "[JavaSearch] Filtering the result list for JVMs matching the min/max version requirement ..."
+
+ minC=$(get_comparable_java_version ${JVMVersion})
+ maxC=$(get_comparable_java_version ${JVMMaxVersion})
+ matchingJVMs=()
+
+ for i in "${allJVMs[@]}"
+ do
+ # split JVM string at ':' delimiter to retain spaces in $path substring
+ IFS=: arr=($i) ; unset IFS
+ # [0] JVM version number
+ ver=${arr[0]}
+ # comparable JVM version number
+ comp=$(get_comparable_java_version $ver)
+ # [1] JVM path
+ path="${arr[1]}"
+ # construct string item for adding to the "matchingJVMs" array
+ item="$comp:$ver:$path"
+
+ # pre-requisite: current version number needs to be greater than min version number
+ if [ "$comp" -ge "$minC" ] ; then
+
+ # perform max version checks if max version requirement is present
+ if [ ! -z ${JVMMaxVersion} ] ; then
+
+ # max version requirement ends with '*' modifier
+ if [[ ${JVMMaxVersion} == *\* ]] ; then
+
+ # use the '*' modifier from the max version string as wildcard for a 'starts with' comparison
+ # and check whether the current version number starts with the max version wildcard string
+ if [[ ${ver} == ${JVMMaxVersion} ]]; then
+ matchingJVMs+=("$item")
+
+ # or whether the current comparable version is lower than the comparable max version
+ elif [ "$comp" -le "$maxC" ] ; then
+ matchingJVMs+=("$item")
+ fi
+
+ # max version requirement ends with '+' modifier -> always add this version if it's greater than $min
+ # because a max requirement with + modifier doesn't make sense
+ elif [[ ${JVMMaxVersion} == *+ ]] ; then
+ matchingJVMs+=("$item")
+
+ # matches 6 zeros at the end of the max version string (e.g. for 1.8, 9)
+ # -> then the max version string should be treated like with a '*' modifier at the end
+ #elif [[ ${maxC} =~ ^[0-9]{2}0{6}$ ]] && [ "$comp" -le $(( ${maxC#0} + 999 )) ] ; then
+ # matchingJVMs+=("$item")
+
+ # matches 3 zeros at the end of the max version string (e.g. for 9.1, 10.3)
+ # -> then the max version string should be treated like with a '*' modifier at the end
+ #elif [[ ${maxC} =~ ^[0-9]{5}0{3}$ ]] && [ "$comp" -le "${maxC}" ] ; then
+ # matchingJVMs+=("$item")
+
+ # matches standard requirements without modifier
+ elif [ "$comp" -le "$maxC" ]; then
+ matchingJVMs+=("$item")
+ fi
+
+ # no max version requirement:
+
+ # min version requirement ends with '+' modifier
+ # -> always add the current version because it's greater than $min
+ elif [[ ${JVMVersion} == *+ ]] ; then
+ matchingJVMs+=("$item")
+
+ # min version requirement ends with '*' modifier
+ # -> use the '*' modifier from the min version string as wildcard for a 'starts with' comparison
+ # and check whether the current version number starts with the min version wildcard string
+ elif [[ ${JVMVersion} == *\* ]] ; then
+ if [[ ${ver} == ${JVMVersion} ]] ; then
+ matchingJVMs+=("$item")
+ fi
+
+ # compare the min version against the current version with an additional * wildcard for a 'starts with' comparison
+ # -> e.g. add 1.8.0_44 when the requirement is 1.8
+ elif [[ ${ver} == ${JVMVersion}* ]] ; then
+ matchingJVMs+=("$item")
+ fi
+ fi
+ done
+ # unset for loop variables
+ unset arr ver comp path item
+
+ # debug output
+ for i in "${matchingJVMs[@]}"
+ do
+ stub_logger "[JavaSearch] ... matches all requirements: $i"
+ done
+
+
+ # sort the matching JavaVirtualMachines by version number
+ # https://stackoverflow.com/a/11789688/1128689
+ IFS=$'\n' matchingJVMs=($(sort -nr <<<"${matchingJVMs[*]}"))
+ unset IFS
+
+
+ # get the highest matching JVM
+ for ((i = 0; i < ${#matchingJVMs[@]}; i++));
+ do
+ # split JVM string at ':' delimiter to retain spaces in $path substring
+ IFS=: arr=(${matchingJVMs[$i]}) ; unset IFS
+ # [0] comparable JVM version number
+ comp=${arr[0]}
+ # [1] JVM version number
+ ver=${arr[1]}
+ # [2] JVM path
+ path="${arr[2]}"
+
+ # use current value as JAVACMD if it's executable
+ if [ -x "$path" ] ; then
+ JAVACMD="$path"
+ JAVACMD_version=$comp
+ break
+ fi
+ done
+ # unset for loop variables
+ unset arr comp ver path
+fi
+
+# log the Java Command and the extracted version number
+stub_logger "[JavaCommand] '$JAVACMD'"
+stub_logger "[JavaVersion] $(get_java_version_from_cmd "${JAVACMD}")${JAVACMD_version:+ / $JAVACMD_version}"
+
+
+
+if [ -z "${JAVACMD}" ] || [ ! -x "${JAVACMD}" ] ; then
+
+ # different error messages when a specific JVM was required
+ if [ ! -z "${JVMVersion}" ] ; then
+ # display human readable java version (#28)
+ java_version_hr=$(echo ${JVMVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+/ ${MSG_JAVA_VERSION_OR_LATER}/;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
+ MSG_NO_SUITABLE_JAVA_EXPANDED=$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}").
+
+ if [ ! -z "${JVMMaxVersion}" ] ; then
+ java_version_hr=$(extract_java_major_version ${JVMVersion})
+ java_version_max_hr=$(echo ${JVMMaxVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+//;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
+ MSG_NO_SUITABLE_JAVA_EXPANDED="$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}") $(printf "${MSG_JAVA_VERSION_MAX}" "${java_version_max_hr}")"
+ fi
+
+ # log exit cause
+ stub_logger "[EXIT 3] ${MSG_NO_SUITABLE_JAVA_EXPANDED}"
+
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_NO_SUITABLE_JAVA_EXPANDED}\n${MSG_NO_SUITABLE_JAVA_CHECK}\" with title \"${CFBundleName}\" buttons {\" OK \", \"${MSG_VISIT_JAVA_DOT_COM}\", \"${MSG_VISIT_ADOPTOPENJDK}\"} default button 1${DialogWithIcon}" \
+ -e "set response to button returned of the result" \
+ -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"https://www.java.com/download/\"" \
+ -e "if response is \"${MSG_VISIT_ADOPTOPENJDK}\" then open location \"https://adoptopenjdk.net/releases.html\""
+ # exit with error
+ exit 3
+
+ else
+ # log exit cause
+ stub_logger "[EXIT 1] ${MSG_ERROR_LAUNCHING}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_INSTALL_JAVA}\" with title \"${CFBundleName}\" buttons {\"${MSG_LATER}\", \"${MSG_VISIT_JAVA_DOT_COM}\", \"${MSG_VISIT_ADOPTOPENJDK}\"} default button 1${DialogWithIcon}" \
+ -e "set response to button returned of the result" \
+ -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"https://www.java.com/download/\"" \
+ -e "if response is \"${MSG_VISIT_ADOPTOPENJDK}\" then open location \"https://adoptopenjdk.net/releases.html\""
+ # exit with error
+ exit 1
+ fi
+fi
+
+
+
+# MainClass check
+############################################
+
+if [ -z "${JVMMainClass}" ]; then
+ # log exit cause
+ stub_logger "[EXIT 2] ${MSG_MISSING_MAINCLASS}"
+ # display error message with AppleScript
+ osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_MISSING_MAINCLASS}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1${DialogWithIcon}"
+ # exit with error
+ exit 2
+fi
+
+
+
+# execute $JAVACMD and do some preparation
+############################################
+
+# enable drag&drop to the dock icon
+export CFProcessPath="$0"
+
+# remove Apples ProcessSerialNumber from passthru arguments (#39)
+if [[ "$*" == -psn* ]] ; then
+ ArgsPassthru=()
+else
+ ArgsPassthru=("$@")
+fi
+
+# change to Working Directory based upon Apple/Oracle Plist info
+cd "${WorkingDirectory}" || exit 13
+stub_logger "[WorkingDirectory] ${WorkingDirectory}"
+
+# execute Java and set
+# - classpath
+# - splash image
+# - dock icon
+# - app name
+# - JVM options / properties (-D)
+# - JVM default options (-X)
+# - main class
+# - main class arguments
+# - passthrough arguments from Terminal or Drag'n'Drop to Finder icon
+stub_logger "[Exec] \"$JAVACMD\" -cp \"${JVMClassPath}\" ${JVMSplashFile:+ -splash:\"${ResourcesFolder}/${JVMSplashFile}\"} -Xdock:icon=\"${ResourcesFolder}/${CFBundleIconFile}\" -Xdock:name=\"${CFBundleName}\" ${JVMOptionsArr:+$(printf "'%s' " "${JVMOptionsArr[@]}") }${JVMDefaultOptions:+$JVMDefaultOptions }${JVMMainClass}${MainArgsArr:+ $(printf "'%s' " "${MainArgsArr[@]}")}${ArgsPassthru:+ $(printf "'%s' " "${ArgsPassthru[@]}")}"
+exec "${JAVACMD}" \
+ -cp "${JVMClassPath}" \
+ ${JVMSplashFile:+ -splash:"${ResourcesFolder}/${JVMSplashFile}"} \
+ -Xdock:icon="${ResourcesFolder}/${CFBundleIconFile}" \
+ -Xdock:name="${CFBundleName}" \
+ ${JVMOptionsArr:+"${JVMOptionsArr[@]}" }\
+ ${JVMDefaultOptions:+$JVMDefaultOptions }\
+ "${JVMMainClass}"\
+ ${MainArgsArr:+ "${MainArgsArr[@]}"}\
+ ${ArgsPassthru:+ "${ArgsPassthru[@]}"}
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Mac/universalJavaApplicationJREStub beast2-mcmc-2.6.7+dfsg/release/Mac/universalJavaApplicationJREStub
--- beast2-mcmc-2.6.6+dfsg/release/Mac/universalJavaApplicationJREStub 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Mac/universalJavaApplicationJREStub 1970-01-01 00:00:00.000000000 +0000
@@ -1,572 +0,0 @@
-#!/bin/bash
-##################################################################################
-# #
-# universalJavaApplicationStub #
-# #
-# A BASH based JavaApplicationStub for Java Apps on Mac OS X #
-# that works with both Apple's and Oracle's plist format. #
-# #
-# Inspired by Ian Roberts stackoverflow answer #
-# at http://stackoverflow.com/a/17546508/1128689 #
-# #
-# @author Tobias Fischer #
-# @url https://github.com/tofi86/universalJavaApplicationStub #
-# @date 2018-07-29 #
-# @version 3.0.3 #
-# #
-##################################################################################
-# #
-# The MIT License (MIT) #
-# #
-# Copyright (c) 2014-2018 Tobias Fischer #
-# #
-# Permission is hereby granted, free of charge, to any person obtaining a copy #
-# of this software and associated documentation files (the "Software"), to deal #
-# in the Software without restriction, including without limitation the rights #
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell #
-# copies of the Software, and to permit persons to whom the Software is #
-# furnished to do so, subject to the following conditions: #
-# #
-# The above copyright notice and this permission notice shall be included in all #
-# copies or substantial portions of the Software. #
-# #
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE #
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, #
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE #
-# SOFTWARE. #
-# #
-##################################################################################
-
-
-
-# function 'stub_logger()'
-#
-# A logger which logs to the macOS Console.app using the 'syslog' command
-#
-# @param1 the log message
-# @return void
-################################################################################
-function stub_logger() {
- syslog -s -k \
- Facility com.apple.console \
- Level Notice \
- Sender "$(basename "$0")" \
- Message "[$$][${CFBundleName:-$(basename "$0")}] $1"
-}
-
-
-
-# set the directory abspath of the current
-# shell script with symlinks being resolved
-############################################
-
-PRG=$0
-while [ -h "$PRG" ]; do
- ls=$(ls -ld "$PRG")
- link=$(expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null)
- if expr "$link" : '^/' 2> /dev/null >/dev/null; then
- PRG="$link"
- else
- PRG="$(dirname "$PRG")/$link"
- fi
-done
-PROGDIR=$(dirname "$PRG")
-stub_logger "[StubDir] $PROGDIR"
-
-
-
-# set files and folders
-############################################
-
-# the absolute path of the app package
-cd "$PROGDIR"/../../ || exit 11
-AppPackageFolder=$(pwd)
-
-# the base path of the app package
-cd .. || exit 12
-AppPackageRoot=$(pwd)
-
-# set Apple's Java folder
-AppleJavaFolder="${AppPackageFolder}"/Contents/Resources/Java
-
-# set Apple's Resources folder
-AppleResourcesFolder="${AppPackageFolder}"/Contents/Resources
-
-# set Oracle's Java folder
-OracleJavaFolder="${AppPackageFolder}"/Contents/Java
-
-# set Oracle's Resources folder
-OracleResourcesFolder="${AppPackageFolder}"/Contents/Resources
-
-# set path to Info.plist in bundle
-InfoPlistFile="${AppPackageFolder}"/Contents/Info.plist
-
-# set the default JVM Version to a null string
-JVMVersion=""
-JVMMaxVersion=""
-
-
-
-# function 'plist_get()'
-#
-# read a specific Plist key with 'PlistBuddy' utility
-#
-# @param1 the Plist key with leading colon ':'
-# @return the value as String or Array
-################################################################################
-plist_get(){
- /usr/libexec/PlistBuddy -c "print $1" "${InfoPlistFile}" 2> /dev/null
-}
-
-# function 'plist_get_java()'
-#
-# read a specific Plist key with 'PlistBuddy' utility
-# in the 'Java' or 'JavaX' dictionary ()
-#
-# @param1 the Plist :Java(X):Key with leading colon ':'
-# @return the value as String or Array
-################################################################################
-plist_get_java(){
- plist_get ${JavaKey:-":Java"}$1
-}
-
-
-
-# read Info.plist and extract JVM options
-############################################
-
-# read the program name from CFBundleName
-CFBundleName=$(plist_get ':CFBundleName')
-
-# read the icon file name
-CFBundleIconFile=$(plist_get ':CFBundleIconFile')
-
-
-# check Info.plist for Apple style Java keys -> if key :Java is present, parse in apple mode
-/usr/libexec/PlistBuddy -c "print :Java" "${InfoPlistFile}" > /dev/null 2>&1
-exitcode=$?
-JavaKey=":Java"
-
-# if no :Java key is present, check Info.plist for universalJavaApplication style JavaX keys -> if key :JavaX is present, parse in apple mode
-if [ $exitcode -ne 0 ]; then
- /usr/libexec/PlistBuddy -c "print :JavaX" "${InfoPlistFile}" > /dev/null 2>&1
- exitcode=$?
- JavaKey=":JavaX"
-fi
-
-
-# read 'Info.plist' file in Apple style if exit code returns 0 (true, ':Java' key is present)
-if [ $exitcode -eq 0 ]; then
- stub_logger "[PlistStyle] Apple"
-
- # set Java and Resources folder
- JavaFolder="${AppleJavaFolder}"
- ResourcesFolder="${AppleResourcesFolder}"
-
- APP_PACKAGE="${AppPackageFolder}"
- JAVAROOT="${AppleJavaFolder}"
- USER_HOME="$HOME"
-
-
- # read the Java WorkingDirectory
- JVMWorkDir=$(plist_get_java ':WorkingDirectory' | xargs)
- # set Working Directory based upon PList value
- if [[ ! -z ${JVMWorkDir} ]]; then
- WorkingDirectory="${JVMWorkDir}"
- else
- # AppPackageRoot is the standard WorkingDirectory when the script is started
- WorkingDirectory="${AppPackageRoot}"
- fi
- # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
- WorkingDirectory=$(eval echo "${WorkingDirectory}")
-
-
- # read the MainClass name
- JVMMainClass="$(plist_get_java ':MainClass')"
-
- # read the SplashFile name
- JVMSplashFile=$(plist_get_java ':SplashFile')
-
- # read the JVM Properties as an array and retain spaces
- IFS=$'\t\n'
- JVMOptions=($(xargs -n1 <<<$(plist_get_java ':Properties' | grep " =" | sed 's/^ */-D/g' | sed -E 's/ = (.*)$/="\1"/g')))
- unset IFS
- # post processing of the array follows further below...
-
- # read the ClassPath in either Array or String style
- JVMClassPath_RAW=$(plist_get_java ':ClassPath' | xargs)
- if [[ $JVMClassPath_RAW == *Array* ]] ; then
- JVMClassPath=.$(plist_get_java ':ClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
- else
- JVMClassPath=${JVMClassPath_RAW}
- fi
- # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
- JVMClassPath=$(eval echo "${JVMClassPath}")
-
- # read the JVM Options in either Array or String style
- JVMDefaultOptions_RAW=$(plist_get_java ':VMOptions' | xargs)
- if [[ $JVMDefaultOptions_RAW == *Array* ]] ; then
- JVMDefaultOptions=$(plist_get_java ':VMOptions' | grep " " | sed 's/^ */ /g' | tr -d '\n' | xargs)
- else
- JVMDefaultOptions=${JVMDefaultOptions_RAW}
- fi
-
- # read StartOnMainThread and add as -XstartOnFirstThread
- JVMStartOnMainThread=$(plist_get_java ':StartOnMainThread')
- if [ "${JVMStartOnMainThread}" == "true" ]; then
- JVMDefaultOptions+=" -XstartOnFirstThread"
- fi
-
- # read the JVM Arguments as an array and retain spaces
- IFS=$'\t\n'
- MainArgs=($(xargs -n1 <<<$(plist_get_java ':Arguments')))
- unset IFS
- # post processing of the array follows further below...
-
- # read the Java version we want to find
- JVMVersion=$(plist_get_java ':JVMVersion' | xargs)
- # post processing of the version string follows below...
-
-
-# read 'Info.plist' file in Oracle style
-else
- stub_logger "[PlistStyle] Oracle"
-
- # set Working Directory and Java and Resources folder
- JavaFolder="${OracleJavaFolder}"
- ResourcesFolder="${OracleResourcesFolder}"
- WorkingDirectory="${OracleJavaFolder}"
-
- APP_ROOT="${AppPackageFolder}"
-
- # read the MainClass name
- JVMMainClass="$(plist_get ':JVMMainClassName')"
-
- # read the SplashFile name
- JVMSplashFile=$(plist_get ':JVMSplashFile')
-
- # read the JVM Options as an array and retain spaces
- IFS=$'\t\n'
- JVMOptions=($(plist_get ':JVMOptions' | grep " " | sed 's/^ *//g'))
- unset IFS
- # post processing of the array follows further below...
-
- # read the ClassPath in either Array or String style
- JVMClassPath_RAW=$(plist_get ':JVMClassPath')
- if [[ $JVMClassPath_RAW == *Array* ]] ; then
- JVMClassPath=.$(plist_get ':JVMClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
- # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
- JVMClassPath=$(eval echo "${JVMClassPath}")
-
- elif [[ ! -z ${JVMClassPath_RAW} ]] ; then
- JVMClassPath=${JVMClassPath_RAW}
- # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
- JVMClassPath=$(eval echo "${JVMClassPath}")
-
- else
- #default: fallback to OracleJavaFolder
- JVMClassPath="${JavaFolder}/*"
- # Do NOT expand the default 'AppName.app/Contents/Java/*' classpath (#42)
- fi
-
- # read the JVM Default Options
- JVMDefaultOptions=$(plist_get ':JVMDefaultOptions' | grep -o " \-.*" | tr -d '\n' | xargs)
-
- # read the Main Arguments from JVMArguments key as an array and retain spaces (see #46 for naming details)
- IFS=$'\t\n'
- MainArgs=($(xargs -n1 <<<$(plist_get ':JVMArguments' | tr -d '\n' | sed -E 's/Array \{ *(.*) *\}/\1/g' | sed 's/ */ /g')))
- unset IFS
- # post processing of the array follows further below...
-
- # read the Java version we want to find
- JVMVersion=$(plist_get ':JVMVersion' | xargs)
- # post processing of the version string follows below...
-fi
-
-
-
-# JVMVersion: post processing and optional splitting
-if [[ ${JVMVersion} == *";"* ]]; then
- minMaxArray=(${JVMVersion//;/ })
- JVMVersion=${minMaxArray[0]//+}
- JVMMaxVersion=${minMaxArray[1]//+}
-fi
-stub_logger "[JavaRequirement] JVM minimum version: ${JVMVersion}"
-stub_logger "[JavaRequirement] JVM maximum version: ${JVMMaxVersion}"
-
-# MainArgs: replace occurences of $APP_ROOT with its content
-MainArgsArr=()
-for i in "${MainArgs[@]}"
-do
- MainArgsArr+=("$(eval echo "$i")")
-done
-
-# JVMOptions: replace occurences of $APP_ROOT with its content
-JVMOptionsArr=()
-for i in "${JVMOptions[@]}"
-do
- JVMOptionsArr+=("$(eval echo "$i")")
-done
-
-
-# internationalized messages
-############################################
-
-LANG=$(defaults read -g AppleLocale)
-stub_logger "[Language] $LANG"
-
-# French localization
-if [[ $LANG == fr* ]] ; then
- MSG_ERROR_LAUNCHING="ERREUR au lancement de '${CFBundleName}'."
- MSG_MISSING_MAINCLASS="'MainClass' n'est pas spécifié.\nL'application Java ne peut pas être lancée."
- MSG_JVMVERSION_REQ_INVALID="La syntaxe de la version Java demandée est invalide: %s\nVeuillez contacter le développeur de l'application."
- MSG_NO_SUITABLE_JAVA="La version de Java installée sur votre système ne convient pas.\nCe programme nécessite Java %s"
- MSG_JAVA_VERSION_OR_LATER="ou ultérieur"
- MSG_JAVA_VERSION_LATEST="(dernière mise à jour)"
- MSG_JAVA_VERSION_MAX="à %s"
- MSG_NO_SUITABLE_JAVA_CHECK="Merci de bien vouloir installer la version de Java requise."
- MSG_INSTALL_JAVA="Java doit être installé sur votre système.\nRendez-vous sur java.com et suivez les instructions d'installation..."
- MSG_LATER="Plus tard"
- MSG_VISIT_JAVA_DOT_COM="Visiter java.com"
-
-# German localization
-elif [[ $LANG == de* ]] ; then
- MSG_ERROR_LAUNCHING="FEHLER beim Starten von '${CFBundleName}'."
- MSG_MISSING_MAINCLASS="Die 'MainClass' ist nicht spezifiziert!\nDie Java-Anwendung kann nicht gestartet werden!"
- MSG_JVMVERSION_REQ_INVALID="Die Syntax der angeforderten Java-Version ist ungültig: %s\nBitte kontaktieren Sie den Entwickler der App."
- MSG_NO_SUITABLE_JAVA="Es wurde keine passende Java-Version auf Ihrem System gefunden!\nDieses Programm benötigt Java %s"
- MSG_JAVA_VERSION_OR_LATER="oder neuer"
- MSG_JAVA_VERSION_LATEST="(neuste Unterversion)"
- MSG_JAVA_VERSION_MAX="bis %s"
- MSG_NO_SUITABLE_JAVA_CHECK="Stellen Sie sicher, dass die angeforderte Java-Version installiert ist."
- MSG_INSTALL_JAVA="Auf Ihrem System muss die 'Java'-Software installiert sein.\nBesuchen Sie java.com für weitere Installationshinweise."
- MSG_LATER="Später"
- MSG_VISIT_JAVA_DOT_COM="java.com öffnen"
-
-# Simplifyed Chinese localization
-elif [[ $LANG == zh* ]] ; then
- MSG_ERROR_LAUNCHING="无法启动 '${CFBundleName}'."
- MSG_MISSING_MAINCLASS="没有指定 'MainClass'!\nJava程序无法启动!"
- MSG_JVMVERSION_REQ_INVALID="Java版本参数语法错误: %s\n请联系该应用的开发者。"
- MSG_NO_SUITABLE_JAVA="没有在系统中找到合适的Java版本!\n必须安装Java %s才能够使用该程序!"
- MSG_JAVA_VERSION_OR_LATER="及以上版本"
- MSG_JAVA_VERSION_LATEST="(最新版本)"
- MSG_JAVA_VERSION_MAX="最高为 %s"
- MSG_NO_SUITABLE_JAVA_CHECK="请确保系统中安装了所需的Java版本"
- MSG_INSTALL_JAVA="你需要在Mac中安装Java运行环境!\n访问 java.com 了解如何安装。"
- MSG_LATER="稍后"
- MSG_VISIT_JAVA_DOT_COM="访问 java.com"
-
-# English default localization
-else
- MSG_ERROR_LAUNCHING="ERROR launching '${CFBundleName}'."
- MSG_MISSING_MAINCLASS="'MainClass' isn't specified!\nJava application cannot be started!"
- MSG_JVMVERSION_REQ_INVALID="The syntax of the required Java version is invalid: %s\nPlease contact the App developer."
- MSG_NO_SUITABLE_JAVA="No suitable Java version found on your system!\nThis program requires Java %s"
- MSG_JAVA_VERSION_OR_LATER="or later"
- MSG_JAVA_VERSION_LATEST="(latest update)"
- MSG_JAVA_VERSION_MAX="up to %s"
- MSG_NO_SUITABLE_JAVA_CHECK="Make sure you install the required Java version."
- MSG_INSTALL_JAVA="You need to have JAVA installed on your Mac!\nVisit java.com for installation instructions..."
- MSG_LATER="Later"
- MSG_VISIT_JAVA_DOT_COM="Visit java.com"
-fi
-
-
-
-# function 'get_java_version_from_cmd()'
-#
-# returns Java version string from 'java -version' command
-# works for both old (1.8) and new (9) version schema
-#
-# @param1 path to a java JVM executable
-# @return the Java version number as displayed in 'java -version' command
-################################################################################
-function get_java_version_from_cmd() {
- # second sed command strips " and -ea from the version string
- echo $("$1" -version 2>&1 | awk '/version/{print $3}' | sed -E 's/"//g;s/-ea//g')
-}
-
-
-# function 'extract_java_major_version()'
-#
-# extract Java major version from a version string
-#
-# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
-# @return the major version (e.g. '7', '8' or '9', etc.)
-################################################################################
-function extract_java_major_version() {
- echo $(echo "$1" | sed -E 's/^1\.//;s/^([0-9]+)(-ea|(\.[0-9_.]{1,7})?)(-b[0-9]+-[0-9]+)?[+*]?$/\1/')
-}
-
-
-# function 'get_comparable_java_version()'
-#
-# return comparable version for a Java version number or requirement string
-#
-# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
-# @return an 8 digit numeral ('1.8.0_45'->'08000045'; '9.1.13'->'09001013')
-################################################################################
-function get_comparable_java_version() {
- # cleaning: 1) remove leading '1.'; 2) remove build string (e.g. '-b14-468'); 3) remove 'a-Z' and '-*+' (e.g. '-ea'); 4) replace '_' with '.'
- local cleaned=$(echo "$1" | sed -E 's/^1\.//g;s/-b[0-9]+-[0-9]+$//g;s/[a-zA-Z+*\-]//g;s/_/./g')
- # splitting at '.' into an array
- local arr=( ${cleaned//./ } )
- # echo a string with left padded version numbers
- echo "$(printf '%02s' ${arr[0]})$(printf '%03s' ${arr[1]})$(printf '%03s' ${arr[2]})"
-}
-
-
-# function 'is_valid_requirement_pattern()'
-#
-# check whether the Java requirement is a valid requirement pattern
-#
-# supported requirements are for example:
-# - 1.6 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
-# - 1.6* requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
-# - 1.6+ requires Java 6 or higher [1.6, 1.6.0_45, 1.8, 9, etc.]
-# - 1.6.0 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
-# - 1.6.0_45 requires Java 6u45 [1.6.0_45]
-# - 1.6.0_45+ requires Java 6u45 or higher [1.6.0_45, 1.6.0_88, 1.8, etc.]
-# - 9 requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
-# - 9* requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
-# - 9+ requires Java 9 or higher [9.0, 9.1, 10, etc.]
-# - 9.1 requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
-# - 9.1* requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
-# - 9.1+ requires Java 9.1 or higher [9.1, 9.2, 10, etc.]
-# - 9.1.3 requires Java 9.1.3 [9.1.3]
-# - 9.1.3* requires Java 9.1.3 (any update) [9.1.3]
-# - 9.1.3+ requires Java 9.1.3 or higher [9.1.3, 9.1.4, 9.2.*, 10, etc.]
-# - 10-ea requires Java 10 (early access release)
-#
-# unsupported requirement patterns are for example:
-# - 1.2, 1.3, 1.9 Java 2, 3 are not supported
-# - 1.9 Java 9 introduced a new versioning scheme
-# - 6u45 known versioning syntax, but unsupported
-# - 9-ea*, 9-ea+ early access releases paired with */+
-# - 9., 9.*, 9.+ version ending with a .
-# - 9.1., 9.1.*, 9.1.+ version ending with a .
-# - 9.3.5.6 4 part version number is unsupported
-#
-# @param1 a Java requirement string ('1.8+')
-# @return boolean exit code: 0 (is valid), 1 (is not valid)
-################################################################################
-function is_valid_requirement_pattern() {
- local java_req=$1
- java8pattern='1\.[4-8](\.0)?(\.0_[0-9]+)?[*+]?'
- java9pattern='(9|1[0-9])(-ea|[*+]|(\.[0-9]+){1,2}[*+]?)?'
- # test matches either old Java versioning scheme (up to 1.8) or new scheme (starting with 9)
- if [[ ${java_req} =~ ^(${java8pattern}|${java9pattern})$ ]]; then
- return 0
- else
- return 1
- fi
-}
-
-
-
-# determine which JVM to use
-############################################
-
-JAVACMD="${AppPackageFolder}/../jre1.8.0_262/bin/java"
-
-
-# log the Java Command and the extracted version number
-stub_logger "[JavaCommand] '$JAVACMD'"
-stub_logger "[JavaVersion] $(get_java_version_from_cmd "${JAVACMD}")${JAVACMD_version:+ / $JAVACMD_version}"
-
-
-
-if [ -z "${JAVACMD}" ] || [ ! -x "${JAVACMD}" ] ; then
-
- # different error messages when a specific JVM was required
- if [ ! -z "${JVMVersion}" ] ; then
- # display human readable java version (#28)
- java_version_hr=$(echo ${JVMVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+/ ${MSG_JAVA_VERSION_OR_LATER}/;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
- MSG_NO_SUITABLE_JAVA_EXPANDED=$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}").
-
- if [ ! -z "${JVMMaxVersion}" ] ; then
- java_version_hr=$(extract_java_major_version ${JVMVersion})
- java_version_max_hr=$(echo ${JVMMaxVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+//;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
- MSG_NO_SUITABLE_JAVA_EXPANDED="$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}") $(printf "${MSG_JAVA_VERSION_MAX}" "${java_version_max_hr}")"
- fi
-
- # log exit cause
- stub_logger "[EXIT 3] ${MSG_NO_SUITABLE_JAVA_EXPANDED}"
-
- # display error message with AppleScript
- osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_NO_SUITABLE_JAVA_EXPANDED}\n${MSG_NO_SUITABLE_JAVA_CHECK}\" with title \"${CFBundleName}\" buttons {\" OK \", \"${MSG_VISIT_JAVA_DOT_COM}\"} default button \"${MSG_VISIT_JAVA_DOT_COM}\" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)" \
- -e "set response to button returned of the result" \
- -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"http://java.com\""
- # exit with error
- exit 3
-
- else
- # log exit cause
- stub_logger "[EXIT 1] ${MSG_ERROR_LAUNCHING}"
- # display error message with AppleScript
- osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_INSTALL_JAVA}\" with title \"${CFBundleName}\" buttons {\"${MSG_LATER}\", \"${MSG_VISIT_JAVA_DOT_COM}\"} default button \"${MSG_VISIT_JAVA_DOT_COM}\" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)" \
- -e "set response to button returned of the result" \
- -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"http://java.com\""
- # exit with error
- exit 1
- fi
-fi
-
-
-
-# MainClass check
-############################################
-
-if [ -z "${JVMMainClass}" ]; then
- # log exit cause
- stub_logger "[EXIT 2] ${MSG_MISSING_MAINCLASS}"
- # display error message with AppleScript
- osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_MISSING_MAINCLASS}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1 with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
- # exit with error
- exit 2
-fi
-
-
-
-# execute $JAVACMD and do some preparation
-############################################
-
-# enable drag&drop to the dock icon
-export CFProcessPath="$0"
-
-# remove Apples ProcessSerialNumber from passthru arguments (#39)
-if [[ "$*" == -psn* ]] ; then
- ArgsPassthru=()
-else
- ArgsPassthru=("$@")
-fi
-
-# change to Working Directory based upon Apple/Oracle Plist info
-cd "${WorkingDirectory}" || exit 13
-stub_logger "[WorkingDirectory] ${WorkingDirectory}"
-
-# execute Java and set
-# - classpath
-# - splash image
-# - dock icon
-# - app name
-# - JVM options / properties (-D)
-# - JVM default options (-X)
-# - main class
-# - main class arguments
-# - passthrough arguments from Terminal or Drag'n'Drop to Finder icon
-stub_logger "[Exec] \"$JAVACMD\" -cp \"${JVMClassPath}\" -splash:\"${ResourcesFolder}/${JVMSplashFile}\" -Xdock:icon=\"${ResourcesFolder}/${CFBundleIconFile}\" -Xdock:name=\"${CFBundleName}\" ${JVMOptionsArr:+$(printf "'%s' " "${JVMOptionsArr[@]}") }${JVMDefaultOptions:+$JVMDefaultOptions }${JVMMainClass}${MainArgsArr:+ $(printf "'%s' " "${MainArgsArr[@]}")}${ArgsPassthru:+ $(printf "'%s' " "${ArgsPassthru[@]}")}"
-exec "${JAVACMD}" \
- -cp "${JVMClassPath}" \
- -splash:"${ResourcesFolder}/${JVMSplashFile}" \
- -Xdock:icon="${ResourcesFolder}/${CFBundleIconFile}" \
- -Xdock:name="${CFBundleName}" \
- ${JVMOptions:+"${JVMOptions[@]}" }\
- ${JVMDefaultOptions:+$JVMDefaultOptions }\
- "${JVMMainClass}"\
- ${MainArgsArr:+ "${MainArgsArr[@]}"}\
- ${ArgsPassthru:+ "${ArgsPassthru[@]}"}
diff -Nru beast2-mcmc-2.6.6+dfsg/release/Mac/universalJavaApplicationStub beast2-mcmc-2.6.7+dfsg/release/Mac/universalJavaApplicationStub
--- beast2-mcmc-2.6.6+dfsg/release/Mac/universalJavaApplicationStub 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/release/Mac/universalJavaApplicationStub 1970-01-01 00:00:00.000000000 +0000
@@ -1,774 +0,0 @@
-#!/bin/bash
-##################################################################################
-# #
-# universalJavaApplicationStub #
-# #
-# A BASH based JavaApplicationStub for Java Apps on Mac OS X #
-# that works with both Apple's and Oracle's plist format. #
-# #
-# Inspired by Ian Roberts stackoverflow answer #
-# at http://stackoverflow.com/a/17546508/1128689 #
-# #
-# @author Tobias Fischer #
-# @url https://github.com/tofi86/universalJavaApplicationStub #
-# @date 2018-07-29 #
-# @version 3.0.3 #
-# #
-##################################################################################
-# #
-# The MIT License (MIT) #
-# #
-# Copyright (c) 2014-2018 Tobias Fischer #
-# #
-# Permission is hereby granted, free of charge, to any person obtaining a copy #
-# of this software and associated documentation files (the "Software"), to deal #
-# in the Software without restriction, including without limitation the rights #
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell #
-# copies of the Software, and to permit persons to whom the Software is #
-# furnished to do so, subject to the following conditions: #
-# #
-# The above copyright notice and this permission notice shall be included in all #
-# copies or substantial portions of the Software. #
-# #
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE #
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, #
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE #
-# SOFTWARE. #
-# #
-##################################################################################
-
-
-
-# function 'stub_logger()'
-#
-# A logger which logs to the macOS Console.app using the 'syslog' command
-#
-# @param1 the log message
-# @return void
-################################################################################
-function stub_logger() {
- syslog -s -k \
- Facility com.apple.console \
- Level Notice \
- Sender "$(basename "$0")" \
- Message "[$$][${CFBundleName:-$(basename "$0")}] $1"
-}
-
-
-
-# set the directory abspath of the current
-# shell script with symlinks being resolved
-############################################
-
-PRG=$0
-while [ -h "$PRG" ]; do
- ls=$(ls -ld "$PRG")
- link=$(expr "$ls" : '^.*-> \(.*\)$' 2>/dev/null)
- if expr "$link" : '^/' 2> /dev/null >/dev/null; then
- PRG="$link"
- else
- PRG="$(dirname "$PRG")/$link"
- fi
-done
-PROGDIR=$(dirname "$PRG")
-stub_logger "[StubDir] $PROGDIR"
-
-
-
-# set files and folders
-############################################
-
-# the absolute path of the app package
-cd "$PROGDIR"/../../ || exit 11
-AppPackageFolder=$(pwd)
-
-# the base path of the app package
-cd .. || exit 12
-AppPackageRoot=$(pwd)
-
-# set Apple's Java folder
-AppleJavaFolder="${AppPackageFolder}"/Contents/Resources/Java
-
-# set Apple's Resources folder
-AppleResourcesFolder="${AppPackageFolder}"/Contents/Resources
-
-# set Oracle's Java folder
-OracleJavaFolder="${AppPackageFolder}"/Contents/Java
-
-# set Oracle's Resources folder
-OracleResourcesFolder="${AppPackageFolder}"/Contents/Resources
-
-# set path to Info.plist in bundle
-InfoPlistFile="${AppPackageFolder}"/Contents/Info.plist
-
-# set the default JVM Version to a null string
-JVMVersion=""
-JVMMaxVersion=""
-
-
-
-# function 'plist_get()'
-#
-# read a specific Plist key with 'PlistBuddy' utility
-#
-# @param1 the Plist key with leading colon ':'
-# @return the value as String or Array
-################################################################################
-plist_get(){
- /usr/libexec/PlistBuddy -c "print $1" "${InfoPlistFile}" 2> /dev/null
-}
-
-# function 'plist_get_java()'
-#
-# read a specific Plist key with 'PlistBuddy' utility
-# in the 'Java' or 'JavaX' dictionary ()
-#
-# @param1 the Plist :Java(X):Key with leading colon ':'
-# @return the value as String or Array
-################################################################################
-plist_get_java(){
- plist_get ${JavaKey:-":Java"}$1
-}
-
-
-
-# read Info.plist and extract JVM options
-############################################
-
-# read the program name from CFBundleName
-CFBundleName=$(plist_get ':CFBundleName')
-
-# read the icon file name
-CFBundleIconFile=$(plist_get ':CFBundleIconFile')
-
-
-# check Info.plist for Apple style Java keys -> if key :Java is present, parse in apple mode
-/usr/libexec/PlistBuddy -c "print :Java" "${InfoPlistFile}" > /dev/null 2>&1
-exitcode=$?
-JavaKey=":Java"
-
-# if no :Java key is present, check Info.plist for universalJavaApplication style JavaX keys -> if key :JavaX is present, parse in apple mode
-if [ $exitcode -ne 0 ]; then
- /usr/libexec/PlistBuddy -c "print :JavaX" "${InfoPlistFile}" > /dev/null 2>&1
- exitcode=$?
- JavaKey=":JavaX"
-fi
-
-
-# read 'Info.plist' file in Apple style if exit code returns 0 (true, ':Java' key is present)
-if [ $exitcode -eq 0 ]; then
- stub_logger "[PlistStyle] Apple"
-
- # set Java and Resources folder
- JavaFolder="${AppleJavaFolder}"
- ResourcesFolder="${AppleResourcesFolder}"
-
- APP_PACKAGE="${AppPackageFolder}"
- JAVAROOT="${AppleJavaFolder}"
- USER_HOME="$HOME"
-
-
- # read the Java WorkingDirectory
- JVMWorkDir=$(plist_get_java ':WorkingDirectory' | xargs)
- # set Working Directory based upon PList value
- if [[ ! -z ${JVMWorkDir} ]]; then
- WorkingDirectory="${JVMWorkDir}"
- else
- # AppPackageRoot is the standard WorkingDirectory when the script is started
- WorkingDirectory="${AppPackageRoot}"
- fi
- # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
- WorkingDirectory=$(eval echo "${WorkingDirectory}")
-
-
- # read the MainClass name
- JVMMainClass="$(plist_get_java ':MainClass')"
-
- # read the SplashFile name
- JVMSplashFile=$(plist_get_java ':SplashFile')
-
- # read the JVM Properties as an array and retain spaces
- IFS=$'\t\n'
- JVMOptions=($(xargs -n1 <<<$(plist_get_java ':Properties' | grep " =" | sed 's/^ */-D/g' | sed -E 's/ = (.*)$/="\1"/g')))
- unset IFS
- # post processing of the array follows further below...
-
- # read the ClassPath in either Array or String style
- JVMClassPath_RAW=$(plist_get_java ':ClassPath' | xargs)
- if [[ $JVMClassPath_RAW == *Array* ]] ; then
- JVMClassPath=.$(plist_get_java ':ClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
- else
- JVMClassPath=${JVMClassPath_RAW}
- fi
- # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
- JVMClassPath=$(eval echo "${JVMClassPath}")
-
- # read the JVM Options in either Array or String style
- JVMDefaultOptions_RAW=$(plist_get_java ':VMOptions' | xargs)
- if [[ $JVMDefaultOptions_RAW == *Array* ]] ; then
- JVMDefaultOptions=$(plist_get_java ':VMOptions' | grep " " | sed 's/^ */ /g' | tr -d '\n' | xargs)
- else
- JVMDefaultOptions=${JVMDefaultOptions_RAW}
- fi
-
- # read StartOnMainThread and add as -XstartOnFirstThread
- JVMStartOnMainThread=$(plist_get_java ':StartOnMainThread')
- if [ "${JVMStartOnMainThread}" == "true" ]; then
- JVMDefaultOptions+=" -XstartOnFirstThread"
- fi
-
- # read the JVM Arguments as an array and retain spaces
- IFS=$'\t\n'
- MainArgs=($(xargs -n1 <<<$(plist_get_java ':Arguments')))
- unset IFS
- # post processing of the array follows further below...
-
- # read the Java version we want to find
- JVMVersion=$(plist_get_java ':JVMVersion' | xargs)
- # post processing of the version string follows below...
-
-
-# read 'Info.plist' file in Oracle style
-else
- stub_logger "[PlistStyle] Oracle"
-
- # set Working Directory and Java and Resources folder
- JavaFolder="${OracleJavaFolder}"
- ResourcesFolder="${OracleResourcesFolder}"
- WorkingDirectory="${OracleJavaFolder}"
-
- APP_ROOT="${AppPackageFolder}"
-
- # read the MainClass name
- JVMMainClass="$(plist_get ':JVMMainClassName')"
-
- # read the SplashFile name
- JVMSplashFile=$(plist_get ':JVMSplashFile')
-
- # read the JVM Options as an array and retain spaces
- IFS=$'\t\n'
- JVMOptions=($(plist_get ':JVMOptions' | grep " " | sed 's/^ *//g'))
- unset IFS
- # post processing of the array follows further below...
-
- # read the ClassPath in either Array or String style
- JVMClassPath_RAW=$(plist_get ':JVMClassPath')
- if [[ $JVMClassPath_RAW == *Array* ]] ; then
- JVMClassPath=.$(plist_get ':JVMClassPath' | grep " " | sed 's/^ */:/g' | tr -d '\n' | xargs)
- # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
- JVMClassPath=$(eval echo "${JVMClassPath}")
-
- elif [[ ! -z ${JVMClassPath_RAW} ]] ; then
- JVMClassPath=${JVMClassPath_RAW}
- # expand variables $APP_PACKAGE, $JAVAROOT, $USER_HOME
- JVMClassPath=$(eval echo "${JVMClassPath}")
-
- else
- #default: fallback to OracleJavaFolder
- JVMClassPath="${JavaFolder}/*"
- # Do NOT expand the default 'AppName.app/Contents/Java/*' classpath (#42)
- fi
-
- # read the JVM Default Options
- JVMDefaultOptions=$(plist_get ':JVMDefaultOptions' | grep -o " \-.*" | tr -d '\n' | xargs)
-
- # read the Main Arguments from JVMArguments key as an array and retain spaces (see #46 for naming details)
- IFS=$'\t\n'
- MainArgs=($(xargs -n1 <<<$(plist_get ':JVMArguments' | tr -d '\n' | sed -E 's/Array \{ *(.*) *\}/\1/g' | sed 's/ */ /g')))
- unset IFS
- # post processing of the array follows further below...
-
- # read the Java version we want to find
- JVMVersion=$(plist_get ':JVMVersion' | xargs)
- # post processing of the version string follows below...
-fi
-
-
-
-# JVMVersion: post processing and optional splitting
-if [[ ${JVMVersion} == *";"* ]]; then
- minMaxArray=(${JVMVersion//;/ })
- JVMVersion=${minMaxArray[0]//+}
- JVMMaxVersion=${minMaxArray[1]//+}
-fi
-stub_logger "[JavaRequirement] JVM minimum version: ${JVMVersion}"
-stub_logger "[JavaRequirement] JVM maximum version: ${JVMMaxVersion}"
-
-# MainArgs: replace occurences of $APP_ROOT with its content
-MainArgsArr=()
-for i in "${MainArgs[@]}"
-do
- MainArgsArr+=("$(eval echo "$i")")
-done
-
-# JVMOptions: replace occurences of $APP_ROOT with its content
-JVMOptionsArr=()
-for i in "${JVMOptions[@]}"
-do
- JVMOptionsArr+=("$(eval echo "$i")")
-done
-
-
-# internationalized messages
-############################################
-
-LANG=$(defaults read -g AppleLocale)
-stub_logger "[Language] $LANG"
-
-# French localization
-if [[ $LANG == fr* ]] ; then
- MSG_ERROR_LAUNCHING="ERREUR au lancement de '${CFBundleName}'."
- MSG_MISSING_MAINCLASS="'MainClass' n'est pas spécifié.\nL'application Java ne peut pas être lancée."
- MSG_JVMVERSION_REQ_INVALID="La syntaxe de la version Java demandée est invalide: %s\nVeuillez contacter le développeur de l'application."
- MSG_NO_SUITABLE_JAVA="La version de Java installée sur votre système ne convient pas.\nCe programme nécessite Java %s"
- MSG_JAVA_VERSION_OR_LATER="ou ultérieur"
- MSG_JAVA_VERSION_LATEST="(dernière mise à jour)"
- MSG_JAVA_VERSION_MAX="à %s"
- MSG_NO_SUITABLE_JAVA_CHECK="Merci de bien vouloir installer la version de Java requise."
- MSG_INSTALL_JAVA="Java doit être installé sur votre système.\nRendez-vous sur java.com et suivez les instructions d'installation..."
- MSG_LATER="Plus tard"
- MSG_VISIT_JAVA_DOT_COM="Visiter java.com"
-
-# German localization
-elif [[ $LANG == de* ]] ; then
- MSG_ERROR_LAUNCHING="FEHLER beim Starten von '${CFBundleName}'."
- MSG_MISSING_MAINCLASS="Die 'MainClass' ist nicht spezifiziert!\nDie Java-Anwendung kann nicht gestartet werden!"
- MSG_JVMVERSION_REQ_INVALID="Die Syntax der angeforderten Java-Version ist ungültig: %s\nBitte kontaktieren Sie den Entwickler der App."
- MSG_NO_SUITABLE_JAVA="Es wurde keine passende Java-Version auf Ihrem System gefunden!\nDieses Programm benötigt Java %s"
- MSG_JAVA_VERSION_OR_LATER="oder neuer"
- MSG_JAVA_VERSION_LATEST="(neuste Unterversion)"
- MSG_JAVA_VERSION_MAX="bis %s"
- MSG_NO_SUITABLE_JAVA_CHECK="Stellen Sie sicher, dass die angeforderte Java-Version installiert ist."
- MSG_INSTALL_JAVA="Auf Ihrem System muss die 'Java'-Software installiert sein.\nBesuchen Sie java.com für weitere Installationshinweise."
- MSG_LATER="Später"
- MSG_VISIT_JAVA_DOT_COM="java.com öffnen"
-
-# Simplifyed Chinese localization
-elif [[ $LANG == zh* ]] ; then
- MSG_ERROR_LAUNCHING="无法启动 '${CFBundleName}'."
- MSG_MISSING_MAINCLASS="没有指定 'MainClass'!\nJava程序无法启动!"
- MSG_JVMVERSION_REQ_INVALID="Java版本参数语法错误: %s\n请联系该应用的开发者。"
- MSG_NO_SUITABLE_JAVA="没有在系统中找到合适的Java版本!\n必须安装Java %s才能够使用该程序!"
- MSG_JAVA_VERSION_OR_LATER="及以上版本"
- MSG_JAVA_VERSION_LATEST="(最新版本)"
- MSG_JAVA_VERSION_MAX="最高为 %s"
- MSG_NO_SUITABLE_JAVA_CHECK="请确保系统中安装了所需的Java版本"
- MSG_INSTALL_JAVA="你需要在Mac中安装Java运行环境!\n访问 java.com 了解如何安装。"
- MSG_LATER="稍后"
- MSG_VISIT_JAVA_DOT_COM="访问 java.com"
-
-# English default localization
-else
- MSG_ERROR_LAUNCHING="ERROR launching '${CFBundleName}'."
- MSG_MISSING_MAINCLASS="'MainClass' isn't specified!\nJava application cannot be started!"
- MSG_JVMVERSION_REQ_INVALID="The syntax of the required Java version is invalid: %s\nPlease contact the App developer."
- MSG_NO_SUITABLE_JAVA="No suitable Java version found on your system!\nThis program requires Java %s"
- MSG_JAVA_VERSION_OR_LATER="or later"
- MSG_JAVA_VERSION_LATEST="(latest update)"
- MSG_JAVA_VERSION_MAX="up to %s"
- MSG_NO_SUITABLE_JAVA_CHECK="Make sure you install the required Java version."
- MSG_INSTALL_JAVA="You need to have JAVA installed on your Mac!\nVisit java.com for installation instructions..."
- MSG_LATER="Later"
- MSG_VISIT_JAVA_DOT_COM="Visit java.com"
-fi
-
-
-
-# function 'get_java_version_from_cmd()'
-#
-# returns Java version string from 'java -version' command
-# works for both old (1.8) and new (9) version schema
-#
-# @param1 path to a java JVM executable
-# @return the Java version number as displayed in 'java -version' command
-################################################################################
-function get_java_version_from_cmd() {
- # second sed command strips " and -ea from the version string
- echo $("$1" -version 2>&1 | awk '/version/{print $3}' | sed -E 's/"//g;s/-ea//g')
-}
-
-
-# function 'extract_java_major_version()'
-#
-# extract Java major version from a version string
-#
-# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
-# @return the major version (e.g. '7', '8' or '9', etc.)
-################################################################################
-function extract_java_major_version() {
- echo $(echo "$1" | sed -E 's/^1\.//;s/^([0-9]+)(-ea|(\.[0-9_.]{1,7})?)(-b[0-9]+-[0-9]+)?[+*]?$/\1/')
-}
-
-
-# function 'get_comparable_java_version()'
-#
-# return comparable version for a Java version number or requirement string
-#
-# @param1 a Java version number ('1.8.0_45') or requirement string ('1.8+')
-# @return an 8 digit numeral ('1.8.0_45'->'08000045'; '9.1.13'->'09001013')
-################################################################################
-function get_comparable_java_version() {
- # cleaning: 1) remove leading '1.'; 2) remove build string (e.g. '-b14-468'); 3) remove 'a-Z' and '-*+' (e.g. '-ea'); 4) replace '_' with '.'
- local cleaned=$(echo "$1" | sed -E 's/^1\.//g;s/-b[0-9]+-[0-9]+$//g;s/[a-zA-Z+*\-]//g;s/_/./g')
- # splitting at '.' into an array
- local arr=( ${cleaned//./ } )
- # echo a string with left padded version numbers
- echo "$(printf '%02s' ${arr[0]})$(printf '%03s' ${arr[1]})$(printf '%03s' ${arr[2]})"
-}
-
-
-# function 'is_valid_requirement_pattern()'
-#
-# check whether the Java requirement is a valid requirement pattern
-#
-# supported requirements are for example:
-# - 1.6 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
-# - 1.6* requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
-# - 1.6+ requires Java 6 or higher [1.6, 1.6.0_45, 1.8, 9, etc.]
-# - 1.6.0 requires Java 6 (any update) [1.6, 1.6.0_45, 1.6.0_88]
-# - 1.6.0_45 requires Java 6u45 [1.6.0_45]
-# - 1.6.0_45+ requires Java 6u45 or higher [1.6.0_45, 1.6.0_88, 1.8, etc.]
-# - 9 requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
-# - 9* requires Java 9 (any update) [9.0.*, 9.1, 9.3, etc.]
-# - 9+ requires Java 9 or higher [9.0, 9.1, 10, etc.]
-# - 9.1 requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
-# - 9.1* requires Java 9.1 (any update) [9.1.*, 9.1.2, 9.1.13, etc.]
-# - 9.1+ requires Java 9.1 or higher [9.1, 9.2, 10, etc.]
-# - 9.1.3 requires Java 9.1.3 [9.1.3]
-# - 9.1.3* requires Java 9.1.3 (any update) [9.1.3]
-# - 9.1.3+ requires Java 9.1.3 or higher [9.1.3, 9.1.4, 9.2.*, 10, etc.]
-# - 10-ea requires Java 10 (early access release)
-#
-# unsupported requirement patterns are for example:
-# - 1.2, 1.3, 1.9 Java 2, 3 are not supported
-# - 1.9 Java 9 introduced a new versioning scheme
-# - 6u45 known versioning syntax, but unsupported
-# - 9-ea*, 9-ea+ early access releases paired with */+
-# - 9., 9.*, 9.+ version ending with a .
-# - 9.1., 9.1.*, 9.1.+ version ending with a .
-# - 9.3.5.6 4 part version number is unsupported
-#
-# @param1 a Java requirement string ('1.8+')
-# @return boolean exit code: 0 (is valid), 1 (is not valid)
-################################################################################
-function is_valid_requirement_pattern() {
- local java_req=$1
- java8pattern='1\.[4-8](\.0)?(\.0_[0-9]+)?[*+]?'
- java9pattern='(9|1[0-9])(-ea|[*+]|(\.[0-9]+){1,2}[*+]?)?'
- # test matches either old Java versioning scheme (up to 1.8) or new scheme (starting with 9)
- if [[ ${java_req} =~ ^(${java8pattern}|${java9pattern})$ ]]; then
- return 0
- else
- return 1
- fi
-}
-
-
-
-# determine which JVM to use
-############################################
-
-# default Apple JRE plugin path (< 1.6)
-apple_jre_plugin="/Library/Java/Home/bin/java"
-apple_jre_version=$(get_java_version_from_cmd "${apple_jre_plugin}")
-# default Oracle JRE plugin path (>= 1.7)
-oracle_jre_plugin="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java"
-oracle_jre_version=$(get_java_version_from_cmd "${oracle_jre_plugin}")
-
-
-# first check system variable "$JAVA_HOME" -> has precedence over any other System JVM
-stub_logger '[JavaSearch] Checking for $JAVA_HOME ...'
-if [ -n "$JAVA_HOME" ] ; then
- stub_logger "[JavaSearch] ... found JAVA_HOME with value $JAVA_HOME"
-
- # PR 26: Allow specifying "$JAVA_HOME" relative to "$AppPackageFolder"
- # which allows for bundling a custom version of Java inside your app!
- if [[ $JAVA_HOME == /* ]] ; then
- # if "$JAVA_HOME" starts with a Slash it's an absolute path
- JAVACMD="$JAVA_HOME/bin/java"
- else
- # otherwise it's a relative path to "$AppPackageFolder"
- JAVACMD="$AppPackageFolder/$JAVA_HOME/bin/java"
- fi
- JAVACMD_version=$(get_comparable_java_version $(get_java_version_from_cmd "${JAVACMD}"))
-else
- stub_logger "[JavaSearch] ... didn't found JAVA_HOME"
-fi
-
-
-# check for any other or a specific Java version
-# also if $JAVA_HOME exists but isn't executable
-if [ -z "${JAVACMD}" ] || [ ! -x "${JAVACMD}" ] ; then
- stub_logger "[JavaSearch] Checking for JavaVirtualMachines on the system ..."
- # reset variables
- JAVACMD=""
- JAVACMD_version=""
-
- # first check whether JVMVersion string is a valid requirement string
- if [ ! -z "${JVMVersion}" ] && ! is_valid_requirement_pattern ${JVMVersion} ; then
- MSG_JVMVERSION_REQ_INVALID_EXPANDED=$(printf "${MSG_JVMVERSION_REQ_INVALID}" "${JVMVersion}")
- # log exit cause
- stub_logger "[EXIT 4] ${MSG_JVMVERSION_REQ_INVALID_EXPANDED}"
- # display error message with AppleScript
- osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_JVMVERSION_REQ_INVALID_EXPANDED}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1 with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
- # exit with error
- exit 4
- fi
- # then check whether JVMMaxVersion string is a valid requirement string
- if [ ! -z "${JVMMaxVersion}" ] && ! is_valid_requirement_pattern ${JVMMaxVersion} ; then
- MSG_JVMVERSION_REQ_INVALID_EXPANDED=$(printf "${MSG_JVMVERSION_REQ_INVALID}" "${JVMMaxVersion}")
- # log exit cause
- stub_logger "[EXIT 5] ${MSG_JVMVERSION_REQ_INVALID_EXPANDED}"
- # display error message with AppleScript
- osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_JVMVERSION_REQ_INVALID_EXPANDED}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1 with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
- # exit with error
- exit 5
- fi
-
-
- # find installed JavaVirtualMachines (JDK + JRE)
- allJVMs=()
- # read JDK's from '/usr/libexec/java_home -V' command
- while read -r line; do
- version=$(echo $line | awk -F $',' '{print $1;}')
- path=$(echo $line | awk -F $'" ' '{print $2;}')
- path+="/bin/java"
- allJVMs+=("$version:$path")
- done < <(/usr/libexec/java_home -V 2>&1 | grep '^[[:space:]]')
- # unset while loop variables
- unset version path
-
- # add Apple JRE if available
- if [ -x "${apple_jre_plugin}" ] ; then
- allJVMs+=("$apple_jre_version:$apple_jre_plugin")
- fi
-
- # add Oracle JRE if available
- if [ -x "${oracle_jre_plugin}" ] ; then
- allJVMs+=("$oracle_jre_version:$oracle_jre_plugin")
- fi
-
- # debug output
- for i in "${allJVMs[@]}"
- do
- stub_logger "[JavaSearch] ... found JVM: $i"
- done
-
-
- # determine JVMs matching the min/max version requirement
- minC=$(get_comparable_java_version ${JVMVersion})
- maxC=$(get_comparable_java_version ${JVMMaxVersion})
- matchingJVMs=()
-
- for i in "${allJVMs[@]}"
- do
- # split JVM string at ':' delimiter to retain spaces in $path substring
- IFS=: arr=($i) ; unset IFS
- # [0] JVM version number
- ver=${arr[0]}
- # comparable JVM version number
- comp=$(get_comparable_java_version $ver)
- # [1] JVM path
- path="${arr[1]}"
- # construct string item for adding to the "matchingJVMs" array
- item="$comp:$ver:$path"
-
- # pre-requisite: current version number needs to be greater than min version number
- if [ "$comp" -ge "$minC" ] ; then
-
- # perform max version checks if max version requirement is present
- if [ ! -z ${JVMMaxVersion} ] ; then
-
- # max version requirement ends with '*' modifier
- if [[ ${JVMMaxVersion} == *\* ]] ; then
-
- # use the '*' modifier from the max version string as wildcard for a 'starts with' comparison
- # and check whether the current version number starts with the max version wildcard string
- if [[ ${ver} == ${JVMMaxVersion} ]]; then
- matchingJVMs+=("$item")
-
- # or whether the current comparable version is lower than the comparable max version
- elif [ "$comp" -le "$maxC" ] ; then
- matchingJVMs+=("$item")
- fi
-
- # max version requirement ends with '+' modifier -> always add this version if it's greater than $min
- # because a max requirement with + modifier doesn't make sense
- elif [[ ${JVMMaxVersion} == *+ ]] ; then
- matchingJVMs+=("$item")
-
- # matches 6 zeros at the end of the max version string (e.g. for 1.8, 9)
- # -> then the max version string should be treated like with a '*' modifier at the end
- #elif [[ ${maxC} =~ ^[0-9]{2}0{6}$ ]] && [ "$comp" -le $(( ${maxC#0} + 999 )) ] ; then
- # matchingJVMs+=("$item")
-
- # matches 3 zeros at the end of the max version string (e.g. for 9.1, 10.3)
- # -> then the max version string should be treated like with a '*' modifier at the end
- #elif [[ ${maxC} =~ ^[0-9]{5}0{3}$ ]] && [ "$comp" -le "${maxC}" ] ; then
- # matchingJVMs+=("$item")
-
- # matches standard requirements without modifier
- elif [ "$comp" -le "$maxC" ]; then
- matchingJVMs+=("$item")
- fi
-
- # no max version requirement:
-
- # min version requirement ends with '+' modifier
- # -> always add the current version because it's greater than $min
- elif [[ ${JVMVersion} == *+ ]] ; then
- matchingJVMs+=("$item")
-
- # min version requirement ends with '*' modifier
- # -> use the '*' modifier from the min version string as wildcard for a 'starts with' comparison
- # and check whether the current version number starts with the min version wildcard string
- elif [[ ${JVMVersion} == *\* ]] ; then
- if [[ ${ver} == ${JVMVersion} ]] ; then
- matchingJVMs+=("$item")
- fi
-
- # compare the min version against the current version with an additional * wildcard for a 'starts with' comparison
- # -> e.g. add 1.8.0_44 when the requirement is 1.8
- elif [[ ${ver} == ${JVMVersion}* ]] ; then
- matchingJVMs+=("$item")
- fi
- fi
- done
- # unset for loop variables
- unset arr ver comp path item
-
- # debug output
- for i in "${matchingJVMs[@]}"
- do
- stub_logger "[JavaSearch] ... ... matches all requirements: $i"
- done
-
-
- # sort the matching JavaVirtualMachines by version number
- # https://stackoverflow.com/a/11789688/1128689
- IFS=$'\n' matchingJVMs=($(sort -nr <<<"${matchingJVMs[*]}"))
- unset IFS
-
-
- # get the highest matching JVM
- for ((i = 0; i < ${#matchingJVMs[@]}; i++));
- do
- # split JVM string at ':' delimiter to retain spaces in $path substring
- IFS=: arr=(${matchingJVMs[$i]}) ; unset IFS
- # [0] comparable JVM version number
- comp=${arr[0]}
- # [1] JVM version number
- ver=${arr[1]}
- # [2] JVM path
- path="${arr[2]}"
-
- # use current value as JAVACMD if it's executable
- if [ -x "$path" ] ; then
- JAVACMD="$path"
- JAVACMD_version=$comp
- break
- fi
- done
- # unset for loop variables
- unset arr comp ver path
-fi
-
-# log the Java Command and the extracted version number
-stub_logger "[JavaCommand] '$JAVACMD'"
-stub_logger "[JavaVersion] $(get_java_version_from_cmd "${JAVACMD}")${JAVACMD_version:+ / $JAVACMD_version}"
-
-
-
-if [ -z "${JAVACMD}" ] || [ ! -x "${JAVACMD}" ] ; then
-
- # different error messages when a specific JVM was required
- if [ ! -z "${JVMVersion}" ] ; then
- # display human readable java version (#28)
- java_version_hr=$(echo ${JVMVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+/ ${MSG_JAVA_VERSION_OR_LATER}/;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
- MSG_NO_SUITABLE_JAVA_EXPANDED=$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}").
-
- if [ ! -z "${JVMMaxVersion}" ] ; then
- java_version_hr=$(extract_java_major_version ${JVMVersion})
- java_version_max_hr=$(echo ${JVMMaxVersion} | sed -E 's/^1\.([0-9+*]+)$/ \1/g' | sed "s/+//;s/*/ ${MSG_JAVA_VERSION_LATEST}/")
- MSG_NO_SUITABLE_JAVA_EXPANDED="$(printf "${MSG_NO_SUITABLE_JAVA}" "${java_version_hr}") $(printf "${MSG_JAVA_VERSION_MAX}" "${java_version_max_hr}")"
- fi
-
- # log exit cause
- stub_logger "[EXIT 3] ${MSG_NO_SUITABLE_JAVA_EXPANDED}"
-
- # display error message with AppleScript
- osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_NO_SUITABLE_JAVA_EXPANDED}\n${MSG_NO_SUITABLE_JAVA_CHECK}\" with title \"${CFBundleName}\" buttons {\" OK \", \"${MSG_VISIT_JAVA_DOT_COM}\"} default button \"${MSG_VISIT_JAVA_DOT_COM}\" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)" \
- -e "set response to button returned of the result" \
- -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"http://java.com\""
- # exit with error
- exit 3
-
- else
- # log exit cause
- stub_logger "[EXIT 1] ${MSG_ERROR_LAUNCHING}"
- # display error message with AppleScript
- osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_INSTALL_JAVA}\" with title \"${CFBundleName}\" buttons {\"${MSG_LATER}\", \"${MSG_VISIT_JAVA_DOT_COM}\"} default button \"${MSG_VISIT_JAVA_DOT_COM}\" with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)" \
- -e "set response to button returned of the result" \
- -e "if response is \"${MSG_VISIT_JAVA_DOT_COM}\" then open location \"http://java.com\""
- # exit with error
- exit 1
- fi
-fi
-
-
-
-# MainClass check
-############################################
-
-if [ -z "${JVMMainClass}" ]; then
- # log exit cause
- stub_logger "[EXIT 2] ${MSG_MISSING_MAINCLASS}"
- # display error message with AppleScript
- osascript -e "tell application \"System Events\" to display dialog \"${MSG_ERROR_LAUNCHING}\n\n${MSG_MISSING_MAINCLASS}\" with title \"${CFBundleName}\" buttons {\" OK \"} default button 1 with icon path to resource \"${CFBundleIconFile}\" in bundle (path to me)"
- # exit with error
- exit 2
-fi
-
-
-
-# execute $JAVACMD and do some preparation
-############################################
-
-# enable drag&drop to the dock icon
-export CFProcessPath="$0"
-
-# remove Apples ProcessSerialNumber from passthru arguments (#39)
-if [[ "$*" == -psn* ]] ; then
- ArgsPassthru=()
-else
- ArgsPassthru=("$@")
-fi
-
-# change to Working Directory based upon Apple/Oracle Plist info
-cd "${WorkingDirectory}" || exit 13
-stub_logger "[WorkingDirectory] ${WorkingDirectory}"
-
-# execute Java and set
-# - classpath
-# - splash image
-# - dock icon
-# - app name
-# - JVM options / properties (-D)
-# - JVM default options (-X)
-# - main class
-# - main class arguments
-# - passthrough arguments from Terminal or Drag'n'Drop to Finder icon
-stub_logger "[Exec] \"$JAVACMD\" -cp \"${JVMClassPath}\" -splash:\"${ResourcesFolder}/${JVMSplashFile}\" -Xdock:icon=\"${ResourcesFolder}/${CFBundleIconFile}\" -Xdock:name=\"${CFBundleName}\" ${JVMOptionsArr:+$(printf "'%s' " "${JVMOptionsArr[@]}") }${JVMDefaultOptions:+$JVMDefaultOptions }${JVMMainClass}${MainArgsArr:+ $(printf "'%s' " "${MainArgsArr[@]}")}${ArgsPassthru:+ $(printf "'%s' " "${ArgsPassthru[@]}")}"
-exec "${JAVACMD}" \
- -cp "${JVMClassPath}" \
- -splash:"${ResourcesFolder}/${JVMSplashFile}" \
- -Xdock:icon="${ResourcesFolder}/${CFBundleIconFile}" \
- -Xdock:name="${CFBundleName}" \
- ${JVMOptions:+"${JVMOptions[@]}" }\
- ${JVMDefaultOptions:+$JVMDefaultOptions }\
- "${JVMMainClass}"\
- ${MainArgsArr:+ "${MainArgsArr[@]}"}\
- ${ArgsPassthru:+ "${ArgsPassthru[@]}"}
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/app/BEASTVersion2.java beast2-mcmc-2.6.7+dfsg/src/beast/app/BEASTVersion2.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/app/BEASTVersion2.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/app/BEASTVersion2.java 2022-04-04 07:18:36.000000000 +0000
@@ -9,11 +9,11 @@
/**
* Version string: assumed to be in format x.x.x
*/
- private static final String VERSION = "2.6.6";
+ private static final String VERSION = "2.6.7";
- private static final String DATE_STRING = "2002-2021";
+ private static final String DATE_STRING = "2002-2022";
- private static final boolean IS_PRERELEASE = false;
+ private static final boolean IS_PRERELEASE = true;
//
// private static final String BEAST2_WEBPAGE = "http://beast2.org/";
//
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/app/BEASTVersion.java beast2-mcmc-2.6.7+dfsg/src/beast/app/BEASTVersion.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/app/BEASTVersion.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/app/BEASTVersion.java 2022-04-04 07:18:36.000000000 +0000
@@ -19,11 +19,11 @@
/**
* Version string: assumed to be in format x.x.x
*/
- private static final String VERSION = "2.6.6";
+ private static final String VERSION = "2.6.7";
- private static final String DATE_STRING = "2002-2021";
+ private static final String DATE_STRING = "2002-2022";
- private static final boolean IS_PRERELEASE = false;
+ private static final boolean IS_PRERELEASE = true;
private static final String BEAST2_WEBPAGE = "http://beast2.org/";
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/app/beauti/BeautiAlignmentProvider.java beast2-mcmc-2.6.7+dfsg/src/beast/app/beauti/BeautiAlignmentProvider.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/app/beauti/BeautiAlignmentProvider.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/app/beauti/BeautiAlignmentProvider.java 2022-04-04 07:18:36.000000000 +0000
@@ -9,14 +9,7 @@
import java.io.FileReader;
import java.io.IOException;
import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
@@ -558,16 +551,50 @@
if (mayBeAminoacid) {
switch (this.datatype) {
case userdefined:
- // make user choose
- JComboBox jcb = new JComboBox<>(new String[]{"aminoacid", "nucleotide", "all are aminoacid", "all are nucleotide"});
- jcb.setEditable(true);
+ // make user choose
+ TreeMap allTypes = Alignment.getTypes();
+ String[] dataNames = new String[allTypes.keySet().size() + 2];
+ dataNames[0] = "aminoacid";
+ dataNames[1] = "nucleotide";
+ dataNames[2] = "all are aminoacid";
+ dataNames[3] = "all are nucleotide";
+ int i = 4;
+ for (String key: allTypes.keySet()) {
+ if (!key.equals("nucleotide") && !key.equals("aminoacid")) {
+ dataNames[i] = key;
+ i++;
+ }
+ }
+ JComboBox jcb = new JComboBox<>(dataNames);
+ jcb.setEditable(true);
jcb.setSelectedItem(datatype);
JOptionPane.showMessageDialog(null, jcb, "Choose the datatype of alignment " + alignment.getID(), JOptionPane.QUESTION_MESSAGE);
- switch ((String) jcb.getSelectedItem()) {
- case "aminoacid": datatype = "aminoacid"; totalCount = 20; break;
- case "nucleotide": datatype = "nucleotide"; totalCount = 4; break;
- case "all are aminoacid": datatype = "aminoacid"; this.datatype = dtype.aminoacid; totalCount = 20; break;
- case "all are nucleotide": datatype = "nucleotide"; this.datatype = dtype.nucleotide; totalCount = 4; break;
+ // match selected data type
+ String selectedType = (String) jcb.getSelectedItem();
+ switch (selectedType) {
+ case "aminoacid":
+ datatype = "aminoacid";
+ totalCount = 20;
+ break;
+ case "nucleotide":
+ datatype = "nucleotide";
+ totalCount = 4;
+ break;
+ case "all are aminoacid":
+ datatype = "aminoacid";
+ this.datatype = dtype.aminoacid;
+ totalCount = 20;
+ break;
+ case "all are nucleotide":
+ datatype = "nucleotide";
+ this.datatype = dtype.nucleotide;
+ totalCount = 4;
+ break;
+ default:
+ // catch all for other data types
+ datatype = selectedType;
+ totalCount = allTypes.get(selectedType).getStateCount();
+ break;
}
break;
case aminoacid:
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/app/beauti/BeautiDoc.java beast2-mcmc-2.6.7+dfsg/src/beast/app/beauti/BeautiDoc.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/app/beauti/BeautiDoc.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/app/beauti/BeautiDoc.java 2022-04-04 07:18:36.000000000 +0000
@@ -71,6 +71,7 @@
import beast.evolution.substitutionmodel.SubstitutionModel;
import beast.evolution.tree.TraitSet;
import beast.evolution.tree.Tree;
+import beast.evolution.tree.TreeInterface;
import beast.math.distributions.MRCAPrior;
import beast.math.distributions.Normal;
import beast.math.distributions.ParametricDistribution;
@@ -166,7 +167,7 @@
InputEditorFactory inputEditorFactory;
/** used to capture Stdout and Stderr **/
- static ByteArrayOutputStream baos = null;
+ static public ByteArrayOutputStream baos = null;
public InputEditorFactory getInputEditorFactory() {
@@ -414,7 +415,7 @@
// fireDocHasChanged();
}
- void fireDocHasChanged() {
+ public void fireDocHasChanged() {
for (BeautiDocListener listener : listeners) {
try {
listener.docHasChanged();
@@ -976,7 +977,7 @@
*
* @ *
*/
- void connectModel() {
+ public void connectModel() {
scrubAll(true, true);
}
@@ -1331,16 +1332,18 @@
}
BEASTInterface likelihood = pluginmap.get("likelihood");
+ Set treesSeen = new HashSet<>();
if (likelihood instanceof CompoundDistribution) {
int i = 0;
RealParameter firstClock = null;
for (Distribution distr : ((CompoundDistribution) likelihood).pDistributions.get()) {
if (distr instanceof GenericTreeLikelihood) {
- GenericTreeLikelihood treeLikelihood = (GenericTreeLikelihood) distr;
+ GenericTreeLikelihood treeLikelihood = (GenericTreeLikelihood) distr;
+ TreeInterface currentTree = treeLikelihood.treeInput.get();
boolean needsEstimation = needsEstimationBySPTree;
if (i > 0) {
BranchRateModel.Base model = treeLikelihood.branchRateModelInput.get();
- needsEstimation = (model.meanRateInput.get() != firstClock) || firstClock.isEstimatedInput.get();
+ needsEstimation = (model.meanRateInput.get() != firstClock && treesSeen.contains(currentTree)) || firstClock.isEstimatedInput.get();
} else {
// TODO: this might not be a valid type conversion from TreeInterface to Tree
Tree tree = (Tree) treeLikelihood.treeInput.get();
@@ -1366,6 +1369,7 @@
firstClock = clockRate;
}
}
+ treesSeen.add(currentTree);
i++;
}
}
@@ -2021,7 +2025,7 @@
return deepCopy;
} // deepCopyPlugin
- private static BEASTInterface getCopyValue(BEASTInterface value, Map copySet, PartitionContext oldContext, PartitionContext partitionContext, BeautiDoc doc) {
+ public static BEASTInterface getCopyValue(BEASTInterface value, Map copySet, PartitionContext oldContext, PartitionContext partitionContext, BeautiDoc doc) {
if (copySet.containsKey(value.getID())) {
value = copySet.get(value.getID());
return value;
@@ -2247,7 +2251,7 @@
// methods for dealing with linking
- void determineLinks() {
+ public void determineLinks() {
if (!allowLinking) {
return;
}
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/app/beauti/GuessPatternDialog.java beast2-mcmc-2.6.7+dfsg/src/beast/app/beauti/GuessPatternDialog.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/app/beauti/GuessPatternDialog.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/app/beauti/GuessPatternDialog.java 2022-04-04 07:18:36.000000000 +0000
@@ -571,8 +571,13 @@
while (fin.ready()) {
String[] strArray = fin.readLine().trim().split("\t");
// only add entries that are non-empty
- if (strArray.length == 2) {
- traitMap.put(strArray[0], strArray[1]);
+ if (strArray.length >= 2) {
+ String str = strArray[1];
+ int k = 2;
+ while (k < strArray.length) {
+ str += "\t" + strArray[k++];
+ }
+ traitMap.put(strArray[0], str);
}
}
fin.close();
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/app/seqgen/SimulatedAlignment.java beast2-mcmc-2.6.7+dfsg/src/beast/app/seqgen/SimulatedAlignment.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/app/seqgen/SimulatedAlignment.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/app/seqgen/SimulatedAlignment.java 2022-04-04 07:18:36.000000000 +0000
@@ -126,7 +126,24 @@
// }
// seq.append(seq[m_sequenceLength-1] + "");
// }
- String taxon = m_data.get().getTaxaNames().get(node.getNr());
+ //String taxon = m_data.get().getTaxaNames().get(node.getNr());
+
+
+
+ // Find taxon with same name if tree is labelled
+ int taxonNum = node.getNr();
+ if (node.getID() != null && !node.getID().isEmpty()) {
+ for (int i = 0; i < m_data.get().getTaxaNames().size(); i ++) {
+ if (m_data.get().getTaxaNames().get(i).equals(node.getID())) {
+ taxonNum=i;
+ break;
+ }
+ }
+ }
+
+ String taxon = m_data.get().getTaxaNames().get(taxonNum);
+
+
return new Sequence(taxon, seqString);
} // intArray2Sequence
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/app/treeannotator/TreeAnnotator.java beast2-mcmc-2.6.7+dfsg/src/beast/app/treeannotator/TreeAnnotator.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/app/treeannotator/TreeAnnotator.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/app/treeannotator/TreeAnnotator.java 2022-04-04 07:18:36.000000000 +0000
@@ -1402,7 +1402,7 @@
new Arguments.Option[]{
//new Arguments.StringOption("target", new String[] { "maxclade", "maxtree" }, false, "an option of 'maxclade' or 'maxtree'"),
new Arguments.StringOption("heights", new String[]{"keep", "median", "mean", "ca"}, false,
- "an option of 'keep' (default), 'median', 'mean' or 'ca'"),
+ "one of 'ca' (default), 'median', 'mean' or 'keep'"),
new Arguments.IntegerOption("burnin", 0, 99, "the percentage of states to be considered as 'burn-in'"),
// allow -b as burnin option, just like other apps
new Arguments.IntegerOption("b", 0, 99, "the percentage of states to be considered as 'burn-in'"),
@@ -1454,11 +1454,15 @@
heights = HeightsSummary.MEAN_HEIGHTS;
} else if (value.equalsIgnoreCase("median")) {
heights = HeightsSummary.MEDIAN_HEIGHTS;
- } else if (value.equalsIgnoreCase("ca")) {
- heights = HeightsSummary.CA_HEIGHTS;
- Log.info.println("Please cite: Heled and Bouckaert: Looking for trees in the forest:\n" +
- "summary tree from posterior samples. BMC Evolutionary Biology 2013 13:221.");
+ } else if (value.equalsIgnoreCase("keep")) {
+ heights = HeightsSummary.KEEP_HEIGHTS;
}
+ // Otherwise, use CA heights
+ }
+
+ if (heights == HeightsSummary.CA_HEIGHTS) {
+ Log.info.println("Please cite: Heled and Bouckaert: Looking for trees in the forest:\n" +
+ "summary tree from posterior samples. BMC Evolutionary Biology 2013 13:221.");
}
int burnin = -1;
@@ -1503,8 +1507,7 @@
inputFileName = args2[0];
break;
default: {
- Log.err.println("Unknown option: " + args2[2]);
- Log.err.println();
+ Log.err.println("\nCommand not understood.\n");
printUsage(arguments);
System.exit(1);
}
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/core/Logger.java beast2-mcmc-2.6.7+dfsg/src/beast/core/Logger.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/core/Logger.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/core/Logger.java 2022-04-04 07:18:36.000000000 +0000
@@ -70,7 +70,9 @@
final public Input modeInput = new Input<>("mode", "logging mode, one of " + Arrays.toString(LOGMODE.values()), LOGMODE.autodetect, LOGMODE.values());
final public Input sortModeInput = new Input<>("sort", "sort items to be logged, one of " + Arrays.toString(SORTMODE.values()), SORTMODE.none, SORTMODE.values());
final public Input sanitiseHeadersInput = new Input<>("sanitiseHeaders", "whether to remove any clutter introduced by Beauti" , false);
+ final public Input convertToASCIIInput = new Input<>("ascii", "whether to convert the log output to ASCII" , true);
+
final public Input> loggersInput = new Input<>("log",
"Element in a log. This can be any plug in that is Loggable.",
new ArrayList<>(), Validate.REQUIRED, Loggable.class);
@@ -658,7 +660,11 @@
// Acquire log string and trim excess tab
String logContent;
try {
- logContent = baos.toString("ASCII").trim();
+
+ // Convert to ASCII?
+ if (convertToASCIIInput.get()) logContent = baos.toString("ASCII").trim();
+ else logContent = baos.toString().trim();
+
} catch (UnsupportedEncodingException e) {
throw new RuntimeException("ASCII string encoding not supported: required for logging!");
}
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/evolution/alignment/Alignment.java beast2-mcmc-2.6.7+dfsg/src/beast/evolution/alignment/Alignment.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/evolution/alignment/Alignment.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/evolution/alignment/Alignment.java 2022-04-04 07:18:36.000000000 +0000
@@ -56,7 +56,7 @@
/**
* list of data type descriptions, obtained from DataType classes *
*/
- static TreeMap types = new TreeMap<>();
+ static TreeMap types = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
static {
findDataTypes();
@@ -86,6 +86,10 @@
return types.get(name);
}
+ static public TreeMap getTypes() {
+ return types;
+ }
+
final public Input> sequenceInput =
new Input<>("sequence", "sequence and meta data for particular taxon", new ArrayList<>(), Validate.OPTIONAL);
@@ -272,7 +276,7 @@
DataType dataType;
try {
dataType = (DataType) BEASTClassLoader.forName(dataTypeName).newInstance();
- if (dataTypeInput.get().equals(dataType.getTypeDescription())) {
+ if (dataTypeInput.get().equalsIgnoreCase(dataType.getTypeDescription())) {
m_dataType = dataType;
break;
}
@@ -374,6 +378,23 @@
excludedPatterns = new HashSet<>();
for (int i = from; i < to; i += every) {
int patternIndex_ = patternIndex[i];
+
+ if (patternWeight[patternIndex_] > 1) {
+ // when the pattern weight is 2 or larger, perhaps a site that is ascertained for
+ // accidentally made it into the alignment. Regardless, its contribution to the
+ // likelihood will be ignored by setting the weight to zero in the line after this
+ // sanity check, so warn the user about this possibility.
+ if (to-from == 1) {
+ int n = patternWeight[patternIndex_] - 1;
+ Log.warning("WARNING: found " + (n==1?"a site": n+ " sites") + " in the alignment (" + getID() + ") "
+ + "that are equal to the ascertainment site. These sites will be ignored in the likelihood "
+ + "calculation.");
+ } else {
+ Log.warning("WARNING: found multiple entries for a site that occurs multiple times and is ascertained "
+ + "for. This may indicate some sites should be removed. Regardless, these sites will be ignored in "
+ + "the likelihood calculation.");
+ }
+ }
// reduce weight, so it does not confuse the tree likelihood
patternWeight[patternIndex_] = 0;
excludedPatterns.add(patternIndex_);
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/evolution/branchratemodel/RateStatistic.java beast2-mcmc-2.6.7+dfsg/src/beast/evolution/branchratemodel/RateStatistic.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/evolution/branchratemodel/RateStatistic.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/evolution/branchratemodel/RateStatistic.java 2022-04-04 07:18:36.000000000 +0000
@@ -48,7 +48,7 @@
final public Input likelihoodInput = new Input<>("treeLikelihood", "TreeLikelihood containing branch rate model that provides rates for a tree");
final public Input branchRateModelInput = new Input<>("branchratemodel", "model that provides rates for a tree", Validate.XOR, likelihoodInput);
- final public Input treeInput = new Input<>("tree", "tree for which the rates apply");
+ final public Input treeInput = new Input<>("tree", "tree for which the rates apply", Validate.REQUIRED);
final public Input internalInput = new Input<>("internal", "consider internal nodes, default true", true);
final public Input externalInput = new Input<>("external", "consider external nodes, default true", true);
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/evolution/operators/TipDatesRandomWalker.java beast2-mcmc-2.6.7+dfsg/src/beast/evolution/operators/TipDatesRandomWalker.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/evolution/operators/TipDatesRandomWalker.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/evolution/operators/TipDatesRandomWalker.java 2022-04-04 07:18:36.000000000 +0000
@@ -84,7 +84,12 @@
if (newValue > node.getParent().getHeight()) { // || newValue < 0.0) {
if (reflectValue) {
- newValue = reflectValue(newValue, 0.0, node.getParent().getHeight());
+ double h = node.getParent().getHeight();
+ // tips heights may become less than 0, so their parents can have height < 0 as well
+ // https://github.com/CompEvol/beast2/issues/995
+ // so the range (0, h) may become empty
+ // therefore, set lower bound on range to min(0.0, node height)
+ newValue = reflectValue(newValue, Math.min(0.0, node.getHeight()), h);
} else {
return Double.NEGATIVE_INFINITY;
}
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/evolution/tree/RandomTree.java beast2-mcmc-2.6.7+dfsg/src/beast/evolution/tree/RandomTree.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/evolution/tree/RandomTree.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/evolution/tree/RandomTree.java 2022-04-04 07:18:36.000000000 +0000
@@ -234,8 +234,8 @@
beastObjects.get(i).initAndValidate();
}
try {
- double tLow = distr.inverseCumulativeProbability(0.0) + distr.offsetInput.get();
- double tHi = distr.inverseCumulativeProbability(1.0) + distr.offsetInput.get();
+ double tLow = distr.inverseCumulativeProbability(0.0);
+ double tHi = distr.inverseCumulativeProbability(1.0);
bounds.lower = getDate(tLow);
bounds.upper = getDate(tHi);
if (bounds.lower > bounds.upper && tLow < tHi) {
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/math/distributions/Prior.java beast2-mcmc-2.6.7+dfsg/src/beast/math/distributions/Prior.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/math/distributions/Prior.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/math/distributions/Prior.java 2022-04-04 07:18:36.000000000 +0000
@@ -87,29 +87,45 @@
try {
newx = dist.sample(1)[0];
- if (newx.length == x.getDimension()) {
- if (x instanceof RealParameter) {
- for (int i = 0; i < newx.length; i++) {
- ((RealParameter) x).setValue(i, newx[i]);
- }
- } else if (x instanceof IntegerParameter) {
- for (int i = 0; i < newx.length; i++) {
- ((IntegerParameter) x).setValue(i, (int)Math.round(newx[i]));
- }
- }
- } else if (newx.length == 1) {
- // assume it is a multi dimensional distribution with iid components
- for (int k = 0; k < x.getDimension(); k++) {
- if (x instanceof RealParameter) {
- ((RealParameter) x).setValue(k, newx[0]);
- } else if (x instanceof IntegerParameter) {
- ((IntegerParameter) x).setValue(k, (int)Math.round(newx[0]));
- }
- if (k < x.getDimension()-1) {
- newx = dist.sample(1)[0];
- }
- }
+ if (newx.length == x.getDimension()) {
+ if (x instanceof RealParameter) {
+ RealParameter p = (RealParameter) x;
+ for (int i = 0; i < newx.length; i++) {
+ while (p.getLower() > newx[i] || p.getUpper() < newx[i]) {
+ newx = dist.sample(1)[0];
+ }
+ ((RealParameter) x).setValue(i, newx[i]);
+ }
+ } else if (x instanceof IntegerParameter) {
+ IntegerParameter p = (IntegerParameter) x;
+ for (int i = 0; i < newx.length; i++) {
+ while (p.getLower() > newx[i] || p.getUpper() < newx[i]) {
+ newx = dist.sample(1)[0];
+ }
+ p.setValue(i, (int)Math.round(newx[i]));
+ }
+ }
+ } else if (newx.length == 1) {
+ // assume it is a multi dimensional distribution with iid components
+ for (int k = 0; k < x.getDimension(); k++) {
+ if (x instanceof RealParameter) {
+ RealParameter p = (RealParameter) x;
+ while (p.getLower() > newx[0] || p.getUpper() < newx[0]) {
+ newx = dist.sample(1)[0];
+ }
+ p.setValue(k, newx[0]);
+ } else if (x instanceof IntegerParameter) {
+ IntegerParameter p = (IntegerParameter) x;
+ while (p.getLower() > newx[0] || p.getUpper() < newx[0]) {
+ newx = dist.sample(1)[0];
+ }
+ p.setValue(k, (int)Math.round(newx[0]));
+ }
+ if (k < x.getDimension()-1) {
+ newx = dist.sample(1)[0];
+ }
}
+ }
} catch (MathException e) {
e.printStackTrace();
throw new RuntimeException("Failed to sample!");
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/util/NexusParser.java beast2-mcmc-2.6.7+dfsg/src/beast/util/NexusParser.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/util/NexusParser.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/util/NexusParser.java 2022-04-04 07:18:36.000000000 +0000
@@ -760,7 +760,9 @@
// generic data type look up if nothing else works
DataType dataType = Alignment.getDataTypeByName(dataTypeName);
if (dataType != null) {
- alignment.dataTypeInput.setValue(dataTypeName, alignment);
+ // robustly set data type for names with upper and lower case
+ String dataTypeNameRobust = Alignment.getDataTypeByName(dataTypeName).getTypeDescription();
+ alignment.dataTypeInput.setValue(dataTypeNameRobust, alignment);
totalCount = dataType.getStateCount();
} else {
// set to integer as last resort
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/util/XMLParser.java beast2-mcmc-2.6.7+dfsg/src/beast/util/XMLParser.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/util/XMLParser.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/util/XMLParser.java 2022-04-04 07:18:36.000000000 +0000
@@ -963,7 +963,7 @@
} catch (InstantiationException e) {
// we only get here when the class exists, but cannot be
// created for instance because it is abstract
- String msg = "Class " + clazzName + " exists but cannot to be instantiated.\n" +
+ String msg = "Class " + clazzName + " exists but cannot be instantiated.\n" +
"Please check if the class has the zero-argument constructor.";
throw new XMLParserException(node, msg, 1006);
} catch (ClassNotFoundException e) {
diff -Nru beast2-mcmc-2.6.6+dfsg/src/beast/util/XMLProducer.java beast2-mcmc-2.6.7+dfsg/src/beast/util/XMLProducer.java
--- beast2-mcmc-2.6.6+dfsg/src/beast/util/XMLProducer.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/beast/util/XMLProducer.java 2022-04-04 07:18:36.000000000 +0000
@@ -157,6 +157,25 @@
xml = dedupName(xml);
xml = sortTags(xml);
+ // remove double newlines introduced by XSL transformation
+ StringBuilder b = new StringBuilder();
+ for (int i = 0; i < xml.length(); i++) {
+ char c = xml.charAt(i);
+ if (c == '\n') {
+ int j = 0;
+ while (i < xml.length()-1 && xml.charAt(i+1) == ' ') {
+ i++;
+ j++;
+ }
+ if (i < xml.length()-1 && xml.charAt(i+1) == '\n') {
+ i++;
+ } else {
+ i = i - j;
+ }
+ }
+ b.append(c);
+ }
+ xml = b.toString();
//insert newlines in alignments
int k = xml.indexOf("
@@ -45,6 +45,7 @@
super.setUp(XML_FILES);
}
+ // Note: some parameter names are hard-coded in XML, so no dot, e.g. "hky.kappa26"
@Override
protected List giveExpectations(int index_XML) throws Exception {
List expList = new ArrayList();
diff -Nru beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/SubstitutionModelTest.java beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/SubstitutionModelTest.java
--- beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/SubstitutionModelTest.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/SubstitutionModelTest.java 2022-04-04 07:18:36.000000000 +0000
@@ -1,11 +1,11 @@
package test.beast.beast2vs1;
+import test.beast.beast2vs1.trace.Expectation;
+
import java.util.ArrayList;
import java.util.List;
-import test.beast.beast2vs1.trace.Expectation;
-
/**
* @author Walter Xie
*/
@@ -67,15 +67,15 @@
addExpIntoList(expList, "prior", -8.24, 1.1349E-2);
addExpIntoList(expList, "TreeHeight.firsthalf", 0.2523, 1.2987E-4);
addExpIntoList(expList, "kappa.firsthalf", 4.8401, 1.184E-2);
- addExpIntoList(expList, "freqParameter.firsthalf1", 0.289, 6.1115E-4);
- addExpIntoList(expList, "freqParameter.firsthalf2", 0.3204, 6.8116E-4);
- addExpIntoList(expList, "freqParameter.firsthalf3", 0.1081, 3.8843E-4);
- addExpIntoList(expList, "freqParameter.firsthalf4", 0.2825, 5.1796E-4);
+ addExpIntoList(expList, "freqParameter.firsthalf.1", 0.289, 6.1115E-4);
+ addExpIntoList(expList, "freqParameter.firsthalf.2", 0.3204, 6.8116E-4);
+ addExpIntoList(expList, "freqParameter.firsthalf.3", 0.1081, 3.8843E-4);
+ addExpIntoList(expList, "freqParameter.firsthalf.4", 0.2825, 5.1796E-4);
addExpIntoList(expList, "kappa.secondhalf", 5.22, 1.121E-2);
- addExpIntoList(expList, "freqParameter.secondhalf1", 0.3368, 6.3272E-4);
- addExpIntoList(expList, "freqParameter.secondhalf2", 0.2646, 4.8458E-4);
- addExpIntoList(expList, "freqParameter.secondhalf3", 0.1018, 2.8896E-4);
- addExpIntoList(expList, "freqParameter.secondhalf4", 0.2968, 5.2109E-4);
+ addExpIntoList(expList, "freqParameter.secondhalf.1", 0.3368, 6.3272E-4);
+ addExpIntoList(expList, "freqParameter.secondhalf.2", 0.2646, 4.8458E-4);
+ addExpIntoList(expList, "freqParameter.secondhalf.3", 0.1018, 2.8896E-4);
+ addExpIntoList(expList, "freqParameter.secondhalf.4", 0.2968, 5.2109E-4);
addExpIntoList(expList, "likelihood", -5993.68, 8.1194E-2);
addExpIntoList(expList, "treeLikelihood.firsthalf", -3049.7192, 6.5715E-2);
addExpIntoList(expList, "treeLikelihood.secondhalf", -2943.9608, 5.2473E-2);
@@ -88,15 +88,15 @@
addExpIntoList(expList, "prior", 0.8416, 0.2033);
addExpIntoList(expList, "tree.height", 9.8986E-2, 3.709E-4);
addExpIntoList(expList, "CP12.hky.kappa", 25.0699, 0.2541);
- addExpIntoList(expList, "CP12.frequencies1", 0.3444, 8.2165E-4);
- addExpIntoList(expList, "CP12.frequencies2", 0.2447, 6.885E-4);
- addExpIntoList(expList, "CP12.frequencies3", 0.1444, 5.3526E-4);
- addExpIntoList(expList, "CP12.frequencies4", 0.2666, 6.174E-4);
+ addExpIntoList(expList, "CP12.frequencies.1", 0.3444, 8.2165E-4);
+ addExpIntoList(expList, "CP12.frequencies.2", 0.2447, 6.885E-4);
+ addExpIntoList(expList, "CP12.frequencies.3", 0.1444, 5.3526E-4);
+ addExpIntoList(expList, "CP12.frequencies.4", 0.2666, 6.174E-4);
addExpIntoList(expList, "CP3.hky.kappa", 82.9907, 1.9773);
- addExpIntoList(expList, "CP3.frequencies1", 0.3197, 1.1763E-3);
- addExpIntoList(expList, "CP3.frequencies2", 0.264, 9.0478E-4);
- addExpIntoList(expList, "CP3.frequencies3", 0.1675, 8.6506E-4);
- addExpIntoList(expList, "CP3.frequencies4", 0.2488, 1.059E-3);
+ addExpIntoList(expList, "CP3.frequencies.1", 0.3197, 1.1763E-3);
+ addExpIntoList(expList, "CP3.frequencies.2", 0.264, 9.0478E-4);
+ addExpIntoList(expList, "CP3.frequencies.3", 0.1675, 8.6506E-4);
+ addExpIntoList(expList, "CP3.frequencies.4", 0.2488, 1.059E-3);
addExpIntoList(expList, "CP12.gammaShape", 6.4322E-2, 4.8796E-3);
addExpIntoList(expList, "CP3.gammaShape", 8.5652E-2, 6.9946E-3);
addExpIntoList(expList, "CP12.mutationRate", 0.9437, 1.195E-3);
diff -Nru beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/TaxonOrderTest.java beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/TaxonOrderTest.java
--- beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/TaxonOrderTest.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/TaxonOrderTest.java 2022-04-04 07:18:36.000000000 +0000
@@ -1,11 +1,11 @@
package test.beast.beast2vs1;
+import test.beast.beast2vs1.trace.Expectation;
+
import java.util.ArrayList;
import java.util.List;
-import test.beast.beast2vs1.trace.Expectation;
-
public class TaxonOrderTest extends TestFramework {
private final String[] XML_FILES = new String[]{"testStarBeast2.xml"};
@@ -20,6 +20,7 @@
super.setUp(XML_FILES);
}
+ // Note: some parameter names are hard-coded in XML, so no dot, e.g. "hky.kappa26"
@Override
protected List giveExpectations(int index_XML) throws Exception {
List expList = new ArrayList();
@@ -40,21 +41,21 @@
addExpIntoList(expList, "hky.kappa26",4.4936,0.0744);
addExpIntoList(expList, "hky.kappa29",4.0749,0.0588);
/*
- addExpIntoList(expList, "popSize1",0.0040487,0.00027109);
- addExpIntoList(expList, "popSize2",0.0062535,0.00026144);
- addExpIntoList(expList, "popSize3",0.0023299,0.00015953);
- addExpIntoList(expList, "popSize4",0.0029275,0.00023455);
- addExpIntoList(expList, "popSize5",0.0021888,0.00022018);
- addExpIntoList(expList, "popSize6",0.0042746,0.00018535);
- addExpIntoList(expList, "popSize7",0.004097,0.00035926);
- addExpIntoList(expList, "popSize8",0.0041803,0.00022475);
- addExpIntoList(expList, "popSize9",0.0036424,0.00016521);
- addExpIntoList(expList, "popSize10",0.0037575,0.00032465);
- addExpIntoList(expList, "popSize11",0.0035904,0.00017545);
- addExpIntoList(expList, "popSize12",0.0036104,0.00020949);
- addExpIntoList(expList, "popSize13",0.0040485,0.00019889);
- addExpIntoList(expList, "popSize14",0.0035229,0.00017978);
- addExpIntoList(expList, "popSize15",0.005072,0.00017682);
+ addExpIntoList(expList, "popSize.1",0.0040487,0.00027109);
+ addExpIntoList(expList, "popSize.2",0.0062535,0.00026144);
+ addExpIntoList(expList, "popSize.3",0.0023299,0.00015953);
+ addExpIntoList(expList, "popSize.4",0.0029275,0.00023455);
+ addExpIntoList(expList, "popSize.5",0.0021888,0.00022018);
+ addExpIntoList(expList, "popSize.6",0.0042746,0.00018535);
+ addExpIntoList(expList, "popSize.7",0.004097,0.00035926);
+ addExpIntoList(expList, "popSize.8",0.0041803,0.00022475);
+ addExpIntoList(expList, "popSize.9",0.0036424,0.00016521);
+ addExpIntoList(expList, "popSize.10",0.0037575,0.00032465);
+ addExpIntoList(expList, "popSize.11",0.0035904,0.00017545);
+ addExpIntoList(expList, "popSize.12",0.0036104,0.00020949);
+ addExpIntoList(expList, "popSize.13",0.0040485,0.00019889);
+ addExpIntoList(expList, "popSize.14",0.0035229,0.00017978);
+ addExpIntoList(expList, "popSize.15",0.005072,0.00017682);
*/
addExpIntoList(expList, "TreeHeightSP",0.0118,0.00025562);
addExpIntoList(expList, "TreeHeight26",0.0266,0.00010397);
diff -Nru beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/TestFramework.java beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/TestFramework.java
--- beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/TestFramework.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/TestFramework.java 2022-04-04 07:18:36.000000000 +0000
@@ -1,8 +1,5 @@
package test.beast.beast2vs1;
-import java.io.File;
-import java.util.List;
-
import beagle.BeagleFlag;
import beast.core.Logger;
import beast.util.Randomizer;
@@ -11,9 +8,13 @@
import junit.framework.TestCase;
import test.beast.beast2vs1.trace.Expectation;
import test.beast.beast2vs1.trace.LogAnalyser;
+import test.beast.beast2vs1.trace.TraceStatistics;
+
+import java.io.File;
+import java.util.List;
public abstract class TestFramework extends TestCase {
- protected static long SEED = 128;
+ protected long SEED = 128;
private String[] xmls;
protected abstract List giveExpectations(int index_XML) throws Exception;
@@ -29,24 +30,26 @@
logDir = System.getProperty("user.dir");
}
- protected void setUp(String[] xmls) { // throws Exception {
+ protected void setUp(String[] xmls) throws InterruptedException { // throws Exception {
this.xmls = new String[xmls.length];
for (int i = 0; i < xmls.length; i++) {
this.xmls[i] = xmls[i];
}
+ Thread.sleep(1000); // ensure log file is processed between test suits
}
// protected abstract void analyse() throws Exception;
public void analyse(int index_XML) throws Exception {
// for (int i = 0; i < xmls.length; i++) {
// if (giveExpectations(i).size() > 0) {
+ // quick fix to ensure log file names are different
+ SEED = SEED + index_XML;
Randomizer.setSeed(SEED);
Logger.FILE_MODE = Logger.LogFileMode.overwrite;
long beagleFlags = BeagleFlag.PROCESSOR_CPU.getMask() | BeagleFlag.VECTOR_SSE.getMask();
System.setProperty("beagle.preferred.flags", Long.toString(beagleFlags));
-
String fileName = dirName + xmls[index_XML];
System.out.println("Processing " + fileName);
@@ -62,14 +65,22 @@
LogAnalyser logAnalyser = new LogAnalyser(logFile, giveExpectations(index_XML)); // burnIn = 0.1 * maxState
for (Expectation expectation : logAnalyser.m_pExpectations.get()) {
- Assert.assertTrue(xmls[index_XML] + ": Expected " + expectation.traceName.get() + " delta mean: "
- + expectation.expValue.get() + " - " + expectation.getTraceStatistics().getMean()
- + " <= delta stdErr: 2*(" + expectation.getStdError() + " + "
- + expectation.getTraceStatistics().getStdErrorOfMean() + ")", expectation.isPassed());
-
- if (checkESS)
- Assert.assertTrue(xmls[index_XML] + ": has very low effective sample sizes (ESS) "
- + expectation.getTraceStatistics().getESS(), expectation.isValid());
+ TraceStatistics stats = expectation.getTraceStatistics();
+ if (stats == null) {
+ System.err.println("Null trace at " + expectation.traceName.get()
+ + "\nPlease check log for " + xmls[index_XML] );
+ } else {
+ double m = stats.getMean();
+ double stderr = stats.getStdErrorOfMean();
+
+ Assert.assertTrue(xmls[index_XML] + ": Expected " + expectation.traceName.get() + " delta mean: "
+ + expectation.expValue.get() + " - " + m + " <= delta stdErr: 2*(" + expectation.getStdError()
+ + " + " + stderr + ")", expectation.isPassed());
+
+ if (checkESS)
+ Assert.assertTrue(xmls[index_XML] + ": has very low effective sample sizes (ESS) "
+ + stats.getESS(), expectation.isValid());
+ }
}
System.out.println("\nSucceed " + fileName);
diff -Nru beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/TipTimeTest.java beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/TipTimeTest.java
--- beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/TipTimeTest.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/TipTimeTest.java 2022-04-04 07:18:36.000000000 +0000
@@ -1,11 +1,11 @@
package test.beast.beast2vs1;
+import test.beast.beast2vs1.trace.Expectation;
+
import java.util.ArrayList;
import java.util.List;
-import test.beast.beast2vs1.trace.Expectation;
-
/**
* @author Walter Xie
*/
@@ -64,10 +64,10 @@
addExpIntoList(expList, "tree.height", 68.2541, 8.7152E-2);
addExpIntoList(expList, "popSize", 33.9172, 0.1266);
addExpIntoList(expList, "hky.kappa", 17.2562, 7.7984E-2);
- addExpIntoList(expList, "hky.frequencies1", 0.2838, 4.3904E-4);
- addExpIntoList(expList, "hky.frequencies2", 0.2116, 3.8223E-4);
- addExpIntoList(expList, "hky.frequencies3", 0.2516, 4.0877E-4);
- addExpIntoList(expList, "hky.frequencies4", 0.253, 4.1631E-4);
+ addExpIntoList(expList, "hky.frequencies.1", 0.2838, 4.3904E-4);
+ addExpIntoList(expList, "hky.frequencies.2", 0.2116, 3.8223E-4);
+ addExpIntoList(expList, "hky.frequencies.3", 0.2516, 4.0877E-4);
+ addExpIntoList(expList, "hky.frequencies.4", 0.253, 4.1631E-4);
addExpIntoList(expList, "clockRate", 8.1277E-4, 1.405E-6);
addExpIntoList(expList, "treeLikelihood", -3850.8083, 6.0429E-2);
addExpIntoList(expList, "coalescent", -71.6925, 3.5705E-2);
@@ -88,10 +88,10 @@
addExpIntoList(expList, "tree.height", 10.848, 5.6709E-2);
addExpIntoList(expList, "popSize", 9.4786, 0.1178);
addExpIntoList(expList, "hky.kappa", 8.906, 4.4495E-2);
- addExpIntoList(expList, "hky.frequencies1", 0.3433, 4.5468E-4);
- addExpIntoList(expList, "hky.frequencies2", 0.1857, 3.3512E-4);
- addExpIntoList(expList, "hky.frequencies3", 0.2229, 4.1666E-4);
- addExpIntoList(expList, "hky.frequencies4", 0.2481, 4.3418E-4);
+ addExpIntoList(expList, "hky.frequencies.1", 0.3433, 4.5468E-4);
+ addExpIntoList(expList, "hky.frequencies.2", 0.1857, 3.3512E-4);
+ addExpIntoList(expList, "hky.frequencies.3", 0.2229, 4.1666E-4);
+ addExpIntoList(expList, "hky.frequencies.4", 0.2481, 4.3418E-4);
addExpIntoList(expList, "clockRate", 3.6834E-3, 2.8931E-5);
// addExpIntoList(expList, "height(TREESPARROW_HENAN_1_2004)", 2005 - 1.502, 2.8594E-2);
addExpIntoList(expList, "height(CHICKEN_HONGKONG_915_1997)", 2005 - 8.1493, 1.0676E-2);
diff -Nru beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/TreePriorTest.java beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/TreePriorTest.java
--- beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/TreePriorTest.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/TreePriorTest.java 2022-04-04 07:18:36.000000000 +0000
@@ -1,11 +1,11 @@
package test.beast.beast2vs1;
+import test.beast.beast2vs1.trace.Expectation;
+
import java.util.ArrayList;
import java.util.List;
-import test.beast.beast2vs1.trace.Expectation;
-
/**
* @author Walter Xie
*/
@@ -68,10 +68,10 @@
addExpIntoList(expList, "tree.height", 0.06318, 6.73E-05);
addExpIntoList(expList, "popSize", 0.0979, 6.38E-04);
addExpIntoList(expList, "hky.kappa", 26.262, 0.2217);
- addExpIntoList(expList, "hky.frequencies1", 0.326, 6.04E-04);
- addExpIntoList(expList, "hky.frequencies2", 0.258, 5.23E-04);
- addExpIntoList(expList, "hky.frequencies3", 0.155, 4.03E-04);
- addExpIntoList(expList, "hky.frequencies4", 0.261, 5.64E-04);
+ addExpIntoList(expList, "hky.frequencies.1", 0.326, 6.04E-04);
+ addExpIntoList(expList, "hky.frequencies.2", 0.258, 5.23E-04);
+ addExpIntoList(expList, "hky.frequencies.3", 0.155, 4.03E-04);
+ addExpIntoList(expList, "hky.frequencies.4", 0.261, 5.64E-04);
addExpIntoList(expList, "treeLikelihood", -1816.764, 0.0556);
addExpIntoList(expList, "coalescent", 7.242, 9.94E-03);
break;
@@ -82,10 +82,10 @@
addExpIntoList(expList, "tree.height", 6.35E-02, 6.61E-05);
addExpIntoList(expList, "popSize", 0.132, 0.2987);
addExpIntoList(expList, "hky.kappa", 33.139, 0.1812);
- addExpIntoList(expList, "hky.frequencies1", 0.326, 5.70E-04);
- addExpIntoList(expList, "hky.frequencies2", 0.257, 6.15E-04);
- addExpIntoList(expList, "hky.frequencies3", 0.154, 4.17E-04);
- addExpIntoList(expList, "hky.frequencies4", 0.262, 4.91E-04);
+ addExpIntoList(expList, "hky.frequencies.1", 0.326, 5.70E-04);
+ addExpIntoList(expList, "hky.frequencies.2", 0.257, 6.15E-04);
+ addExpIntoList(expList, "hky.frequencies.3", 0.154, 4.17E-04);
+ addExpIntoList(expList, "hky.frequencies.4", 0.262, 4.91E-04);
addExpIntoList(expList, "treeLikelihood", -1816.698, 5.82E-02);
addExpIntoList(expList, "coalescent", 6.948, 1.24E-02);
break;
@@ -98,10 +98,10 @@
addExpIntoList(expList, "popSize", 1.0231, 5.1484E-2);
addExpIntoList(expList, "growthRate", 58.5276, 0.6012);
addExpIntoList(expList, "hky.kappa", 26.301, 0.211);
- addExpIntoList(expList, "hky.frequencies1", 0.3266, 5.9862E-4);
- addExpIntoList(expList, "hky.frequencies2", 0.2569, 5.3533E-4);
- addExpIntoList(expList, "hky.frequencies3", 0.154, 4.0839E-4);
- addExpIntoList(expList, "hky.frequencies4", 0.2625, 5.7627E-4);
+ addExpIntoList(expList, "hky.frequencies.1", 0.3266, 5.9862E-4);
+ addExpIntoList(expList, "hky.frequencies.2", 0.2569, 5.3533E-4);
+ addExpIntoList(expList, "hky.frequencies.3", 0.154, 4.0839E-4);
+ addExpIntoList(expList, "hky.frequencies.4", 0.2625, 5.7627E-4);
addExpIntoList(expList, "treeLikelihood", -1816.7188, 4.9732E-2);
addExpIntoList(expList, "coalescent", 9.4203, 1.31E-2);
break;
@@ -131,16 +131,16 @@
addExpIntoList(expList, "prior", -92.178, 7.5174E-2);
addExpIntoList(expList, "siteModel.alpha", 5.4354E-2, 5.2519E-4);
addExpIntoList(expList, "clock.rate", 9.4858E-4, 1.9706E-6);
- addExpIntoList(expList, "skyline.popSize1", 67.8827, 2.2639);
- addExpIntoList(expList, "skyline.popSize2", 25.4281, 0.3165);
- addExpIntoList(expList, "skyline.popSize3", 31.9271, 0.3819);
- addExpIntoList(expList, "skyline.popSize4", 41.6596, 0.3976);
- addExpIntoList(expList, "skyline.popSize5", 33.5967, 0.3554);
- addExpIntoList(expList, "skyline.groupSize1", 2.4686, 4.0465E-2);
- addExpIntoList(expList, "skyline.groupSize2", 3.3671, 3.9454E-2);
- addExpIntoList(expList, "skyline.groupSize3", 3.181, 3.3807E-2); // TODO diff bigger than 2*delta
- addExpIntoList(expList, "skyline.groupSize4", 3.723, 5.0187E-2);
- addExpIntoList(expList, "skyline.groupSize5", 3.2603, 5.9824E-2);
+ addExpIntoList(expList, "skyline.popSize.1", 67.8827, 2.2639);
+ addExpIntoList(expList, "skyline.popSize.2", 25.4281, 0.3165);
+ addExpIntoList(expList, "skyline.popSize.3", 31.9271, 0.3819);
+ addExpIntoList(expList, "skyline.popSize.4", 41.6596, 0.3976);
+ addExpIntoList(expList, "skyline.popSize.5", 33.5967, 0.3554);
+ addExpIntoList(expList, "skyline.groupSize.1", 2.4686, 4.0465E-2);
+ addExpIntoList(expList, "skyline.groupSize.2", 3.3671, 3.9454E-2);
+ addExpIntoList(expList, "skyline.groupSize.3", 3.181, 3.3807E-2); // TODO diff bigger than 2*delta
+ addExpIntoList(expList, "skyline.groupSize.4", 3.723, 5.0187E-2);
+ addExpIntoList(expList, "skyline.groupSize.5", 3.2603, 5.9824E-2);
addExpIntoList(expList, "hky.kappa", 21.6911, 5.2142E-2);
addExpIntoList(expList, "treeModel.rootHeight", 70.3393, 0.1057);
addExpIntoList(expList, "likelihood", -3773.1854, 3.9474E-2);
@@ -153,41 +153,46 @@
addExpIntoList(expList, "posterior", -1809.8121, 7.6417E-2);
addExpIntoList(expList, "prior", 7.0426, 3.7042E-2);
addExpIntoList(expList, "tree.height", 6.2187E-2, 6.4148E-5);
- addExpIntoList(expList, "popSizes1", 0.2084, 4.4215E-3);
- addExpIntoList(expList, "popSizes2", 0.1012, 1.1132E-3);
- addExpIntoList(expList, "popSizes3", 5.0552E-2, 7.8572E-4);
- addExpIntoList(expList, "groupSizes1", 1.7396, 8.2581E-3);
+ addExpIntoList(expList, "popSizes.1", 0.2084, 4.4215E-3);
+ addExpIntoList(expList, "popSizes.2", 0.1012, 1.1132E-3);
+ addExpIntoList(expList, "popSizes.3", 5.0552E-2, 7.8572E-4);
+ addExpIntoList(expList, "groupSizes.1", 1.7396, 8.2581E-3);
//addExpIntoList(expList, "groupSizes2", 1.78, 8.3052E-3); // TODO diff bigger than 2*delta
- addExpIntoList(expList, "groupSizes3", 1.4804, 7.7151E-3);
+ addExpIntoList(expList, "groupSizes.3", 1.4804, 7.7151E-3);
addExpIntoList(expList, "hky.kappa", 26.0187, 0.2286);
- addExpIntoList(expList, "hky.frequencies1", 0.3262, 7.0596E-4);
- addExpIntoList(expList, "hky.frequencies2", 0.2571, 5.876E-4);
- addExpIntoList(expList, "hky.frequencies3", 0.1546, 4.8206E-4);
- addExpIntoList(expList, "hky.frequencies4", 0.262, 5.9621E-4);
+ addExpIntoList(expList, "hky.frequencies.1", 0.3262, 7.0596E-4);
+ addExpIntoList(expList, "hky.frequencies.2", 0.2571, 5.876E-4);
+ addExpIntoList(expList, "hky.frequencies.3", 0.1546, 4.8206E-4);
+ addExpIntoList(expList, "hky.frequencies.4", 0.262, 5.9621E-4);
addExpIntoList(expList, "treeLikelihood", -1816.8547, 6.3527E-2);
addExpIntoList(expList, "skyline", 7.9513, 1.6384E-2);
addExpIntoList(expList, "eml1", 5.059, 2.1669E-2);
break;
case 8: // testEBSP.xml
-// BEAST 1 testEBSP.xml
- addExpIntoList(expList, "posterior", -1826.2014, 0.1562);
- addExpIntoList(expList, "prior", -9.4517, 0.1782);
- addExpIntoList(expList, "tree.height", 6.3528E-2, 7.0709E-5);
- addExpIntoList(expList, "popSizes1", 2435.0409, 132.4556);
- addExpIntoList(expList, "popSizes2", 2195.7116, 156.2106);
- addExpIntoList(expList, "popSizes3", 1065.3511, 119.8768);
- addExpIntoList(expList, "indicators", 1.3275, 2.1211E-2);
- addExpIntoList(expList, "indicators", 1.5219, 2.9634E-2);
- addExpIntoList(expList, "indicators", 2.1505, 3.8185E-2);
- addExpIntoList(expList, "hky.kappa", 26.4814, 0.2725);
- addExpIntoList(expList, "hky.frequencies1", 0.3252, 7.7972E-4);
- addExpIntoList(expList, "hky.frequencies2", 0.2581, 5.685E-4);
- addExpIntoList(expList, "hky.frequencies3", 0.1553, 4.3071E-4);
- addExpIntoList(expList, "hky.frequencies4", 0.2614, 6.1733E-4);
- addExpIntoList(expList, "treeLikelihood", -1816.7497, 5.4764E-2);
- // this is clearly bunk (negative value for a positive parameter)
- addExpIntoList(expList, "populationMean", -3.4472, 0.1802);
+ // all values below are from BEAST 1.8.4, testEBSP.xml
+ addExpIntoList(expList, "posterior", -3831.4728, 9.7013);
+ addExpIntoList(expList, "prior", 458.7546, 9.6924);
+ addExpIntoList(expList, "tree.26.height", 0.0275, 7.7632E-5);
+ addExpIntoList(expList, "tree.29.height", 0.0231, 6.589E-5);
+ addExpIntoList(expList, "tree.47.height", 0.0263, 6.5618E-5);
+ addExpIntoList(expList, "sum(indicators)", 0.4738, 0.0187);
+ addExpIntoList(expList, "populationMean", 0.0443, 0.0119);
+ addExpIntoList(expList, "treeLikelihood.26", -1264.9419, 0.0819);
+ addExpIntoList(expList, "treeLikelihood.29", -1246.7234, 0.0754);
+ addExpIntoList(expList, "treeLikelihood.47", -1778.562, 0.0951);
+ addExpIntoList(expList, "coalescent", 220.5613, 0.1462);
+ addExpIntoList(expList, "popSizes.1", 0.0172, 3.9108E-3);
+ addExpIntoList(expList, "popSizes.2", 0.0444, 0.0136);
+ addExpIntoList(expList, "popSizes.3", 0.0397, 0.0103);
+ addExpIntoList(expList, "indicators.1", 6.3871E-3, 1.7047E-3);
+ addExpIntoList(expList, "indicators.2", 0.0192, 9.1203E-3);
+ addExpIntoList(expList, "indicators.3", 9.4418E-3, 2.2312E-3);
+ addExpIntoList(expList, "hky.kappa.26", 4.4946, 0.038);
+ addExpIntoList(expList, "hky.frequencies.26.1", 0.4099, 8.0594E-4);
+ addExpIntoList(expList, "hky.frequencies.26.2", 0.2064, 6.2073E-4);
+ addExpIntoList(expList, "hky.frequencies.26.3", 0.1754, 5.6823E-4);
+ addExpIntoList(expList, "hky.frequencies.26.4", 0.2083, 6.139E-4);
break;
diff -Nru beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/TreeTest.java beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/TreeTest.java
--- beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/TreeTest.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/TreeTest.java 2022-04-04 07:18:36.000000000 +0000
@@ -1,11 +1,11 @@
package test.beast.beast2vs1;
+import test.beast.beast2vs1.trace.Expectation;
+
import java.util.ArrayList;
import java.util.List;
-import test.beast.beast2vs1.trace.Expectation;
-
/**
* @author Walter Xie
*/
@@ -40,10 +40,10 @@
addExpIntoList(expList, "mrcatime(human,chimp)", 2.0326E-2, 3.5906E-5);
addExpIntoList(expList, "popSize", 9.7862E-2, 6.2387E-4);
addExpIntoList(expList, "hky.kappa", 25.8288, 0.1962);
- addExpIntoList(expList, "hky.frequencies1", 0.3262, 5.9501E-4);
- addExpIntoList(expList, "hky.frequencies2", 0.2569, 5.0647E-4);
- addExpIntoList(expList, "hky.frequencies3", 0.1552, 4.4638E-4);
- addExpIntoList(expList, "hky.frequencies4", 0.2617, 5.1085E-4);
+ addExpIntoList(expList, "hky.frequencies.1", 0.3262, 5.9501E-4);
+ addExpIntoList(expList, "hky.frequencies.2", 0.2569, 5.0647E-4);
+ addExpIntoList(expList, "hky.frequencies.3", 0.1552, 4.4638E-4);
+ addExpIntoList(expList, "hky.frequencies.4", 0.2617, 5.1085E-4);
addExpIntoList(expList, "likelihood", -1816.6943, 5.8444E-2);
addExpIntoList(expList, "coalescent", 7.2378, 9.1912E-3);
break;
@@ -56,10 +56,10 @@
addExpIntoList(expList, "mrcatime(human,chimp)", 1.7069E-2, 3.3455E-5);
addExpIntoList(expList, "popSize", 0.1049, 6.4588E-4);
addExpIntoList(expList, "hky.kappa", 26.7792, 0.1851);
- addExpIntoList(expList, "hky.frequencies1", 0.328, 7.1121E-4);
- addExpIntoList(expList, "hky.frequencies2", 0.2573, 5.4356E-4);
- addExpIntoList(expList, "hky.frequencies3", 0.1548, 4.2604E-4);
- addExpIntoList(expList, "hky.frequencies4", 0.2599, 6.0174E-4);
+ addExpIntoList(expList, "hky.frequencies.1", 0.328, 7.1121E-4);
+ addExpIntoList(expList, "hky.frequencies.2", 0.2573, 5.4356E-4);
+ addExpIntoList(expList, "hky.frequencies.3", 0.1548, 4.2604E-4);
+ addExpIntoList(expList, "hky.frequencies.4", 0.2599, 6.0174E-4);
addExpIntoList(expList, "likelihood", -1828.7667, 6.527E-2);
addExpIntoList(expList, "coalescent", 6.864, 9.7699E-3);
break;
diff -Nru beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/tutorials/DivergenceDatingTest.java beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/tutorials/DivergenceDatingTest.java
--- beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/tutorials/DivergenceDatingTest.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/tutorials/DivergenceDatingTest.java 2022-04-04 07:18:36.000000000 +0000
@@ -13,7 +13,7 @@
@Test
public void DivergenceDatingTutorial() throws Exception {
DivergenceDatingRunner runner = new DivergenceDatingRunner(org.fest.util.Files.temporaryFolder());
- runner.analyse(0);
+ runner.analyse(0); // SEED = SEED + index_XML;
}
// This is for debugging the test only
@@ -28,7 +28,7 @@
class DivergenceDatingRunner extends TestFramework {
- DivergenceDatingRunner(File file) {
+ DivergenceDatingRunner(File file) throws InterruptedException {
super();
setUp(new String[]{"/x.xml"});
dirName = file.getPath();
diff -Nru beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/tutorials/RateTutorialTest.java beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/tutorials/RateTutorialTest.java
--- beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/tutorials/RateTutorialTest.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/tutorials/RateTutorialTest.java 2022-04-04 07:18:36.000000000 +0000
@@ -29,7 +29,7 @@
class MEPRunner extends TestFramework {
- MEPRunner(File file) {
+ MEPRunner(File file) throws InterruptedException {
super();
setUp(new String[]{"/x.xml"});
dirName = file.getPath();
diff -Nru beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/tutorials/StarBeastTest.java beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/tutorials/StarBeastTest.java
--- beast2-mcmc-2.6.6+dfsg/src/test/beast/beast2vs1/tutorials/StarBeastTest.java 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/test/beast/beast2vs1/tutorials/StarBeastTest.java 2022-04-04 07:18:36.000000000 +0000
@@ -28,7 +28,7 @@
class StarBEASTRunner extends TestFramework {
- StarBEASTRunner(File file) {
+ StarBEASTRunner(File file) throws InterruptedException {
super();
setUp(new String[]{"/x.xml"});
dirName = file.getPath();
diff -Nru beast2-mcmc-2.6.6+dfsg/src/test/beast/core/DirectSimulatorTest.java beast2-mcmc-2.6.7+dfsg/src/test/beast/core/DirectSimulatorTest.java
--- beast2-mcmc-2.6.6+dfsg/src/test/beast/core/DirectSimulatorTest.java 1970-01-01 00:00:00.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/src/test/beast/core/DirectSimulatorTest.java 2022-04-04 07:18:36.000000000 +0000
@@ -0,0 +1,90 @@
+package test.beast.core;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
+import beast.core.DirectSimulator;
+import beast.core.Logger;
+import beast.core.Logger.LogFileMode;
+import beast.core.parameter.RealParameter;
+import beast.math.distributions.Normal;
+import beast.math.distributions.Prior;
+import beast.util.LogAnalyser;
+import junit.framework.TestCase;
+
+public class DirectSimulatorTest extends TestCase {
+
+ @Rule
+ public TemporaryFolder folder = new TemporaryFolder();
+
+
+ @Test
+ public void testBoundedPrior() throws Exception {
+ RealParameter p = new RealParameter("0.0");
+ p.setID("p");
+ p.setUpper(0.0);
+ p.setLower(Double.NEGATIVE_INFINITY);
+
+ Normal normal = new Normal();
+ normal.initByName("mean", "0.0", "sigma", "1.0");
+ Prior prior = new Prior();
+ prior.initByName("x", p, "distr", normal);
+
+ Logger logger = new Logger();
+ Logger.FILE_MODE = LogFileMode.overwrite;
+ String tracefile = "/tmp/trace.log";
+ logger.initByName("log", p, "fileName", tracefile);
+
+
+ DirectSimulator simulator = new DirectSimulator();
+ simulator.initByName("distribution", prior, "logger", logger, "nSamples", 1000);
+
+ simulator.run();
+
+ LogAnalyser trace = new LogAnalyser(tracefile);
+ double upper = trace.get95HPDup("p");
+ assertEquals(true, upper <= 0);
+
+ // clean up
+ // new File(tracefile).delete();
+ System.err.println("done");
+
+ }
+
+ @Test
+ public void testMultiDimensionalBoundedPrior() throws Exception {
+ RealParameter x = new RealParameter();
+ x.initByName("dimension", 3, "value", "0.0", "upper", 0.0, "lower", Double.NEGATIVE_INFINITY);
+ x.setID("x");
+
+ Normal normal = new Normal();
+ normal.initByName("mean", "0.0", "sigma", "1.0");
+ Prior prior = new Prior();
+ prior.initByName("x", x, "distr", normal);
+
+ Logger logger = new Logger();
+ Logger.FILE_MODE = LogFileMode.overwrite;
+ String tracefile = "/tmp/trace.log";
+ logger.initByName("log", x, "fileName", tracefile);
+
+
+ DirectSimulator simulator = new DirectSimulator();
+ simulator.initByName("distribution", prior, "logger", logger, "nSamples", 1000);
+
+ simulator.run();
+
+ LogAnalyser trace = new LogAnalyser(tracefile);
+ double upper = trace.get95HPDup("x.1");
+ assertEquals(true, upper <= 0);
+ upper = trace.get95HPDup("x.2");
+ assertEquals(true, upper <= 0);
+ upper = trace.get95HPDup("x.3");
+ assertEquals(true, upper <= 0);
+
+ // clean up
+ // new File(tracefile).delete();
+ System.err.println("done");
+
+ }
+}
diff -Nru beast2-mcmc-2.6.6+dfsg/version.xml beast2-mcmc-2.6.7+dfsg/version.xml
--- beast2-mcmc-2.6.6+dfsg/version.xml 2021-08-11 20:11:54.000000000 +0000
+++ beast2-mcmc-2.6.7+dfsg/version.xml 2022-04-04 07:18:36.000000000 +0000
@@ -1 +1 @@
-
+