pax_global_header 0000666 0000000 0000000 00000000064 14165724233 0014521 g ustar 00root root 0000000 0000000 52 comment=e0002eb26dbc43c96cf7f8739584c904e16fb0e0
Bandage-0.9.0/ 0000775 0000000 0000000 00000000000 14165724233 0013050 5 ustar 00root root 0000000 0000000 Bandage-0.9.0/.gitignore 0000664 0000000 0000000 00000000035 14165724233 0015036 0 ustar 00root root 0000000 0000000 *DS_Store*
Bandage.pro.user*
Bandage-0.9.0/Bandage.pro 0000664 0000000 0000000 00000020624 14165724233 0015117 0 ustar 00root root 0000000 0000000 # Copyright 2017 Ryan Wick
# This file is part of Bandage
# Bandage is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# Bandage is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with Bandage. If not, see .
QT += core gui svg widgets
TARGET = Bandage
TEMPLATE = app
VERSION = 0.9.0
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
CONFIG += c++11
target.path += /usr/local/bin
INSTALLS += target
INCLUDEPATH += ui
SOURCES += \
program/main.cpp\
program/settings.cpp \
program/globals.cpp \
program/graphlayoutworker.cpp \
graph/debruijnnode.cpp \
graph/debruijnedge.cpp \
graph/graphicsitemnode.cpp \
graph/graphicsitemedge.cpp \
ui/mainwindow.cpp \
ui/graphicsviewzoom.cpp \
ui/settingsdialog.cpp \
ui/mygraphicsview.cpp \
ui/mygraphicsscene.cpp \
ui/aboutdialog.cpp \
ui/enteroneblastquerydialog.cpp \
blast/blasthit.cpp \
blast/blastqueries.cpp \
ui/blastsearchdialog.cpp \
ui/infotextwidget.cpp \
graph/assemblygraph.cpp \
ui/verticalscrollarea.cpp \
ui/myprogressdialog.cpp \
ui/nodewidthvisualaid.cpp \
ui/verticallabel.cpp \
command_line/load.cpp \
command_line/image.cpp \
command_line/commoncommandlinefunctions.cpp \
ui/mytablewidget.cpp \
blast/buildblastdatabaseworker.cpp \
ui/colourbutton.cpp \
blast/blastquery.cpp \
blast/runblastsearchworker.cpp \
blast/blastsearch.cpp \
graph/path.cpp \
ui/pathspecifydialog.cpp \
graph/graphlocation.cpp \
ui/tablewidgetitemint.cpp \
ui/tablewidgetitemdouble.cpp \
ui/tablewidgetitemshown.cpp \
program/memory.cpp \
ui/querypathspushbutton.cpp \
ui/querypathsdialog.cpp \
blast/blastquerypath.cpp \
ui/blasthitfiltersdialog.cpp \
program/scinot.cpp \
ui/changenodenamedialog.cpp \
ui/querypathsequencecopybutton.cpp \
command_line/querypaths.cpp \
command_line/info.cpp \
command_line/reduce.cpp \
ogdf/basic/Graph.cpp \
ogdf/basic/GraphAttributes.cpp \
ogdf/energybased/FMMMLayout.cpp \
ogdf/basic/geometry.cpp \
ogdf/cluster/ClusterGraphAttributes.cpp \
ogdf/internal/energybased/FruchtermanReingold.cpp \
ogdf/internal/energybased/NMM.cpp \
ogdf/fileformats/GmlParser.cpp \
ogdf/basic/simple_graph_alg.cpp \
ogdf/basic/basic.cpp \
ogdf/fileformats/XmlParser.cpp \
ogdf/basic/String.cpp \
ogdf/basic/Hashing.cpp \
ogdf/internal/basic/PoolMemoryAllocator.cpp \
ogdf/basic/GraphCopy.cpp \
ogdf/basic/CombinatorialEmbedding.cpp \
ogdf/fileformats/OgmlParser.cpp \
ogdf/cluster/ClusterGraph.cpp \
ogdf/basic/Math.cpp \
ogdf/internal/energybased/EdgeAttributes.cpp \
ogdf/internal/energybased/NodeAttributes.cpp \
ogdf/energybased/MAARPacking.cpp \
ogdf/energybased/Multilevel.cpp \
ogdf/energybased/numexcept.cpp \
ogdf/energybased/Set.cpp \
ogdf/fileformats/Ogml.cpp \
ogdf/fileformats/DinoXmlParser.cpp \
ogdf/fileformats/DinoXmlScanner.cpp \
ogdf/fileformats/DinoTools.cpp \
ogdf/fileformats/DinoLineBuffer.cpp \
ogdf/basic/System.cpp \
ogdf/internal/energybased/QuadTreeNM.cpp \
ogdf/internal/energybased/QuadTreeNodeNM.cpp \
ogdf/basic/Constraint.cpp \
ogdf/internal/energybased/MultilevelGraph.cpp \
ui/graphinfodialog.cpp \
ui/tablewidgetitemname.cpp \
ui/changenodedepthdialog.cpp
HEADERS += \
program/settings.h \
program/globals.h \
program/graphlayoutworker.h \
graph/debruijnnode.h \
graph/debruijnedge.h \
graph/graphicsitemnode.h \
graph/graphicsitemedge.h \
graph/ogdfnode.h \
ui/mainwindow.h \
ui/graphicsviewzoom.h \
ui/settingsdialog.h \
ui/mygraphicsview.h \
ui/mygraphicsscene.h \
ui/aboutdialog.h \
ui/enteroneblastquerydialog.h \
blast/blasthitpart.h \
blast/blasthit.h \
blast/blastquery.h \
blast/blastqueries.h \
blast/blastsearch.h \
ui/blastsearchdialog.h \
ui/infotextwidget.h \
graph/assemblygraph.h \
ui/verticalscrollarea.h \
ui/myprogressdialog.h \
ui/nodewidthvisualaid.h \
ui/verticallabel.h \
command_line/load.h \
command_line/image.h \
command_line/commoncommandlinefunctions.h \
ui/mytablewidget.h \
blast/buildblastdatabaseworker.h \
ui/colourbutton.h \
blast/runblastsearchworker.h \
graph/path.h \
ui/pathspecifydialog.h \
graph/graphlocation.h \
ui/tablewidgetitemint.h \
ui/tablewidgetitemdouble.h \
ui/tablewidgetitemshown.h \
program/memory.h \
graph/querydistance.h \
ui/querypathspushbutton.h \
ui/querypathsdialog.h \
blast/blastquerypath.h \
ui/blasthitfiltersdialog.h \
program/scinot.h \
ui/changenodenamedialog.h \
ui/querypathsequencecopybutton.h \
command_line/querypaths.h \
command_line/info.h \
command_line/reduce.h \
ogdf/basic/Graph.h \
ogdf/basic/GraphAttributes.h \
ogdf/energybased/FMMMLayout.h \
ogdf/basic/geometry.h \
ogdf/cluster/ClusterGraphAttributes.h \
ogdf/module/LayoutModule.h \
ogdf/internal/energybased/FruchtermanReingold.h \
ogdf/internal/energybased/NMM.h \
ogdf/basic/AdjEntryArray.h \
ogdf/basic/Array.h \
ogdf/fileformats/GmlParser.h \
ogdf/basic/GraphObserver.h \
ogdf/basic/simple_graph_alg.h \
ogdf/basic/basic.h \
ogdf/basic/EdgeArray.h \
ogdf/basic/List.h \
ogdf/basic/NodeArray.h \
ogdf/basic/Graph_d.h \
ogdf/fileformats/XmlParser.h \
ogdf/basic/String.h \
ogdf/internal/basic/list_templates.h \
ogdf/basic/Hashing.h \
ogdf/basic/comparer.h \
ogdf/basic/exceptions.h \
ogdf/basic/memory.h \
ogdf/internal/basic/MallocMemoryAllocator.h \
ogdf/internal/basic/PoolMemoryAllocator.h \
ogdf/basic/BoundedStack.h \
ogdf/basic/GraphCopy.h \
ogdf/basic/SList.h \
ogdf/basic/Stack.h \
ogdf/basic/tuples.h \
ogdf/basic/FaceSet.h \
ogdf/basic/FaceArray.h \
ogdf/basic/CombinatorialEmbedding.h \
ogdf/cluster/ClusterArray.h \
ogdf/fileformats/OgmlParser.h \
ogdf/cluster/ClusterGraph.h \
ogdf/cluster/ClusterGraphObserver.h \
ogdf/basic/HashArray.h \
ogdf/basic/Math.h \
ogdf/internal/energybased/EdgeAttributes.h \
ogdf/internal/energybased/NodeAttributes.h \
ogdf/energybased/Edge.h \
ogdf/energybased/MAARPacking.h \
ogdf/energybased/Multilevel.h \
ogdf/energybased/numexcept.h \
ogdf/energybased/Rectangle.h \
ogdf/energybased/PackingRowInfo.h \
ogdf/energybased/PQueue.h \
ogdf/energybased/Set.h \
ogdf/energybased/Node.h \
ogdf/fileformats/Ogml.h \
ogdf/fileformats/DinoXmlParser.h \
ogdf/fileformats/DinoXmlScanner.h \
ogdf/fileformats/DinoTools.h \
ogdf/fileformats/DinoLineBuffer.h \
ogdf/fileformats/XmlObject.h \
ogdf/basic/CriticalSection.h \
ogdf/basic/System.h \
ogdf/basic/Array2D.h \
ogdf/internal/energybased/ParticleInfo.h \
ogdf/internal/energybased/QuadTreeNM.h \
ogdf/internal/energybased/QuadTreeNodeNM.h \
ogdf/basic/Constraints.h \
ogdf/internal/energybased/MultilevelGraph.h \
ui/graphinfodialog.h \
ui/tablewidgetitemname.h \
ui/changenodedepthdialog.h
FORMS += \
ui/mainwindow.ui \
ui/settingsdialog.ui \
ui/aboutdialog.ui \
ui/enteroneblastquerydialog.ui \
ui/blastsearchdialog.ui \
ui/myprogressdialog.ui \
ui/pathspecifydialog.ui \
ui/querypathsdialog.ui \
ui/blasthitfiltersdialog.ui \
ui/changenodenamedialog.ui \
ui/graphinfodialog.ui \
ui/changenodedepthdialog.ui
RESOURCES += \
images/images.qrc
# The following settings are compatible with OGDF being built in 64 bit release mode using Visual Studio 2013
win32:LIBS += -lpsapi
win32:RC_FILE = images/myapp.rc
macx:ICON = images/application.icns
macx:QMAKE_MACOSX_DEPLOYMENT_TARGET = 11.0
# Each target platform needs the native platform as well as Qt's minimal platform.
win32: QTPLUGIN.platforms += qwindows qminimal
unix:!macx: QTPLUGIN.platforms += qxcb qminimal
macx: QTPLUGIN.platforms += qcocoa qminimal
Bandage-0.9.0/BandageTests.pro 0000664 0000000 0000000 00000020724 14165724233 0016143 0 ustar 00root root 0000000 0000000 # Copyright 2015 Ryan Wick
# This file is part of Bandage
# Bandage is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# Bandage is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with Bandage. If not, see .
QT += core gui svg testlib
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = BandageTests
TEMPLATE = app
CONFIG += c++11
target.path += /usr/local/bin
INSTALLS += target
INCLUDEPATH += ui
SOURCES += \
program/settings.cpp \
program/globals.cpp \
program/graphlayoutworker.cpp \
graph/debruijnnode.cpp \
graph/debruijnedge.cpp \
graph/graphicsitemnode.cpp \
graph/graphicsitemedge.cpp \
ui/mainwindow.cpp \
ui/graphicsviewzoom.cpp \
ui/settingsdialog.cpp \
ui/mygraphicsview.cpp \
ui/mygraphicsscene.cpp \
ui/aboutdialog.cpp \
ui/enteroneblastquerydialog.cpp \
blast/blasthit.cpp \
blast/blastqueries.cpp \
ui/blastsearchdialog.cpp \
ui/infotextwidget.cpp \
graph/assemblygraph.cpp \
ui/verticalscrollarea.cpp \
ui/myprogressdialog.cpp \
ui/nodewidthvisualaid.cpp \
ui/verticallabel.cpp \
command_line/load.cpp \
command_line/image.cpp \
command_line/commoncommandlinefunctions.cpp \
ui/mytablewidget.cpp \
blast/buildblastdatabaseworker.cpp \
ui/colourbutton.cpp \
blast/blastquery.cpp \
blast/runblastsearchworker.cpp \
blast/blastsearch.cpp \
graph/path.cpp \
ui/pathspecifydialog.cpp \
graph/graphlocation.cpp \
ui/tablewidgetitemint.cpp \
ui/tablewidgetitemdouble.cpp \
ui/tablewidgetitemshown.cpp \
program/memory.cpp \
ui/querypathspushbutton.cpp \
ui/querypathsdialog.cpp \
blast/blastquerypath.cpp \
tests/bandagetests.cpp \
ui/blasthitfiltersdialog.cpp \
program/scinot.cpp \
ui/changenodenamedialog.cpp \
ui/changenodedepthdialog.cpp \
ui/querypathsequencecopybutton.cpp \
command_line/querypaths.cpp \
command_line/info.cpp \
command_line/reduce.cpp \
ogdf/basic/Graph.cpp \
ogdf/basic/GraphAttributes.cpp \
ogdf/energybased/FMMMLayout.cpp \
ogdf/basic/geometry.cpp \
ogdf/cluster/ClusterGraphAttributes.cpp \
ogdf/internal/energybased/FruchtermanReingold.cpp \
ogdf/internal/energybased/NMM.cpp \
ogdf/fileformats/GmlParser.cpp \
ogdf/basic/simple_graph_alg.cpp \
ogdf/basic/basic.cpp \
ogdf/fileformats/XmlParser.cpp \
ogdf/basic/String.cpp \
ogdf/basic/Hashing.cpp \
ogdf/internal/basic/PoolMemoryAllocator.cpp \
ogdf/basic/GraphCopy.cpp \
ogdf/basic/CombinatorialEmbedding.cpp \
ogdf/fileformats/OgmlParser.cpp \
ogdf/cluster/ClusterGraph.cpp \
ogdf/basic/Math.cpp \
ogdf/internal/energybased/EdgeAttributes.cpp \
ogdf/internal/energybased/NodeAttributes.cpp \
ogdf/energybased/MAARPacking.cpp \
ogdf/energybased/Multilevel.cpp \
ogdf/energybased/numexcept.cpp \
ogdf/energybased/Set.cpp \
ogdf/fileformats/Ogml.cpp \
ogdf/fileformats/DinoXmlParser.cpp \
ogdf/fileformats/DinoXmlScanner.cpp \
ogdf/fileformats/DinoTools.cpp \
ogdf/fileformats/DinoLineBuffer.cpp \
ogdf/basic/System.cpp \
ogdf/internal/energybased/QuadTreeNM.cpp \
ogdf/internal/energybased/QuadTreeNodeNM.cpp \
ogdf/basic/Constraint.cpp \
ogdf/internal/energybased/MultilevelGraph.cpp \
ui/graphinfodialog.cpp \
ui/tablewidgetitemname.cpp
HEADERS += \
program/settings.h \
program/globals.h \
program/graphlayoutworker.h \
graph/debruijnnode.h \
graph/debruijnedge.h \
graph/graphicsitemnode.h \
graph/graphicsitemedge.h \
graph/ogdfnode.h \
ui/mainwindow.h \
ui/graphicsviewzoom.h \
ui/settingsdialog.h \
ui/mygraphicsview.h \
ui/mygraphicsscene.h \
ui/aboutdialog.h \
ui/enteroneblastquerydialog.h \
blast/blasthitpart.h \
blast/blasthit.h \
blast/blastquery.h \
blast/blastqueries.h \
blast/blastsearch.h \
ui/blastsearchdialog.h \
ui/infotextwidget.h \
graph/assemblygraph.h \
ui/verticalscrollarea.h \
ui/myprogressdialog.h \
ui/nodewidthvisualaid.h \
ui/verticallabel.h \
command_line/load.h \
command_line/image.h \
command_line/commoncommandlinefunctions.h \
ui/mytablewidget.h \
blast/buildblastdatabaseworker.h \
ui/colourbutton.h \
blast/runblastsearchworker.h \
graph/path.h \
ui/pathspecifydialog.h \
graph/graphlocation.h \
ui/tablewidgetitemint.h \
ui/tablewidgetitemdouble.h \
ui/tablewidgetitemshown.h \
program/memory.h \
graph/querydistance.h \
ui/querypathspushbutton.h \
ui/querypathsdialog.h \
blast/blastquerypath.h \
ui/blasthitfiltersdialog.h \
program/scinot.h \
ui/changenodenamedialog.h \
ui/changenodedepthdialog.h \
ui/querypathsequencecopybutton.h \
command_line/querypaths.h \
command_line/info.h \
command_line/reduce.h \
ogdf/basic/Graph.h \
ogdf/basic/GraphAttributes.h \
ogdf/energybased/FMMMLayout.h \
ogdf/basic/geometry.h \
ogdf/cluster/ClusterGraphAttributes.h \
ogdf/module/LayoutModule.h \
ogdf/internal/energybased/FruchtermanReingold.h \
ogdf/internal/energybased/NMM.h \
ogdf/basic/AdjEntryArray.h \
ogdf/basic/Array.h \
ogdf/fileformats/GmlParser.h \
ogdf/basic/GraphObserver.h \
ogdf/basic/simple_graph_alg.h \
ogdf/basic/basic.h \
ogdf/basic/EdgeArray.h \
ogdf/basic/List.h \
ogdf/basic/NodeArray.h \
ogdf/basic/Graph_d.h \
ogdf/fileformats/XmlParser.h \
ogdf/basic/String.h \
ogdf/internal/basic/list_templates.h \
ogdf/basic/Hashing.h \
ogdf/basic/comparer.h \
ogdf/basic/exceptions.h \
ogdf/basic/memory.h \
ogdf/internal/basic/MallocMemoryAllocator.h \
ogdf/internal/basic/PoolMemoryAllocator.h \
ogdf/basic/BoundedStack.h \
ogdf/basic/GraphCopy.h \
ogdf/basic/SList.h \
ogdf/basic/Stack.h \
ogdf/basic/tuples.h \
ogdf/basic/FaceSet.h \
ogdf/basic/FaceArray.h \
ogdf/basic/CombinatorialEmbedding.h \
ogdf/cluster/ClusterArray.h \
ogdf/fileformats/OgmlParser.h \
ogdf/cluster/ClusterGraph.h \
ogdf/cluster/ClusterGraphObserver.h \
ogdf/basic/HashArray.h \
ogdf/basic/Math.h \
ogdf/internal/energybased/EdgeAttributes.h \
ogdf/internal/energybased/NodeAttributes.h \
ogdf/energybased/Edge.h \
ogdf/energybased/MAARPacking.h \
ogdf/energybased/Multilevel.h \
ogdf/energybased/numexcept.h \
ogdf/energybased/Rectangle.h \
ogdf/energybased/PackingRowInfo.h \
ogdf/energybased/PQueue.h \
ogdf/energybased/Set.h \
ogdf/energybased/Node.h \
ogdf/fileformats/Ogml.h \
ogdf/fileformats/DinoXmlParser.h \
ogdf/fileformats/DinoXmlScanner.h \
ogdf/fileformats/DinoTools.h \
ogdf/fileformats/DinoLineBuffer.h \
ogdf/fileformats/XmlObject.h \
ogdf/basic/CriticalSection.h \
ogdf/basic/System.h \
ogdf/basic/Array2D.h \
ogdf/internal/energybased/ParticleInfo.h \
ogdf/internal/energybased/QuadTreeNM.h \
ogdf/internal/energybased/QuadTreeNodeNM.h \
ogdf/basic/Constraints.h \
ogdf/internal/energybased/MultilevelGraph.h \
ui/graphinfodialog.h \
ui/tablewidgetitemname.h
FORMS += \
ui/mainwindow.ui \
ui/settingsdialog.ui \
ui/aboutdialog.ui \
ui/enteroneblastquerydialog.ui \
ui/blastsearchdialog.ui \
ui/myprogressdialog.ui \
ui/pathspecifydialog.ui \
ui/querypathsdialog.ui \
ui/blasthitfiltersdialog.ui \
ui/changenodenamedialog.ui \
ui/changenodedepthdialog.ui \
ui/graphinfodialog.ui
RESOURCES += \
images/images.qrc
unix:INCLUDEPATH += /usr/include/
unix:LIBS += -L/usr/lib
# The following settings are compatible with OGDF being built in 64 bit release mode using Visual Studio 2013
win32:LIBS += -lpsapi
win32:RC_FILE = images/myapp.rc
macx:ICON = images/application.icns
macx:QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
# Each target platform needs the native platform as well as Qt's minimal platform.
win32: QTPLUGIN.platforms += qwindows qminimal
unix:!macx: QTPLUGIN.platforms += qxcb qminimal
macx: QTPLUGIN.platforms += qcocoa qminimal
Bandage-0.9.0/COPYING 0000664 0000000 0000000 00000104513 14165724233 0014107 0 ustar 00root root 0000000 0000000 GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
Copyright (C)
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
.
Bandage-0.9.0/README.md 0000664 0000000 0000000 00000014252 14165724233 0014333 0 ustar 00root root 0000000 0000000 #
Bandage
## Table of Contents
* [2022 update](https://github.com/rrwick/Bandage#2022-update)
* [Intro](https://github.com/rrwick/Bandage#intro)
* [Help](https://github.com/rrwick/Bandage#help)
* [Pre-built binaries](https://github.com/rrwick/Bandage#pre-built-binaries)
* [Building from source](https://github.com/rrwick/Bandage#building-from-source)
* [Contributing](https://github.com/rrwick/Bandage#contributing)
* [Citation](https://github.com/rrwick/Bandage#citation)
* [Credits](https://github.com/rrwick/Bandage#credits)
* [License](https://github.com/rrwick/Bandage#license)
## 2022 update
Bandage is now about seven years old! Despite its popularity, I sadly don't have the time to give it the attention it deserves. Also, its codebase is too large and my C++/Qt skills are too rusty for me to make anything more than trivial changes.
I'm not declaring Bandage completely abandoned, because I still think it's a useful tool, but don't expect a lot development or support on this repo. I will, however, strive to ensure that Bandage continues to run well on modern systems. E.g. I released [v0.9.0](https://github.com/rrwick/Bandage/releases/tag/v0.9.0) in January 2022, which compiles using modern versions of [Qt](https://www.qt.io/) and runs natively on Apple Silicon Macs.
## Intro
Bandage is a GUI program that allows users to interact with the assembly graphs made by *de novo* assemblers such as Velvet, SPAdes, MEGAHIT and others.
*De novo* assembly graphs contain not only assembled contigs but also the connections between those contigs, which were previously not easily accessible. Bandage visualises assembly graphs, with connections, using graph layout algorithms. Nodes in the drawn graph, which represent contigs, can be automatically labelled with their ID, length or depth. Users can interact with the graph by moving, labelling and colouring nodes. Sequence information can also be extracted directly from the graph viewer. By displaying connections between contigs, Bandage opens up new possibilities for analysing and improving *de novo* assemblies that are not possible by looking at contigs alone.
More information and download links are on the Bandage website: rrwick.github.io/Bandage
## Help
Bandage documentation is available on the Bandage GitHub wiki.
Bandage help tips are also built into the program. Throughout the UI, you will find these icons next to controls and settings:
. Click them to see a description of that element of Bandage.
## Pre-built binaries
Compiled 64-bit binaries for Ubuntu Linux, CentOS, macOS and Windows are available in the GitHub 'Releases' section and from the Bandage website.
If you download and run the Mac binary, you may receive a warning stating that Bandage 'can't be opened because it is from an unidentified developer' or 'is damaged and can't be opened'. Right click on the file and select 'Open' to override this warning. If that doesn't work, clear the quarantine extended attribute via the command line with `xattr -cr Bandage.app`.
The Linux binaries come in two varieties: dynamically-linked and statically-linked. The dynamically-linked binary is preferable, but it has more dependencies (like Qt 5). If you experience problems with the dynamically-linked binary, please try the statically-linked version instead.
## Building from source
If the compiled binaries do not work for you, you can build Bandage on most common OSs using [Qt](https://www.qt.io/):
1. Make sure you have a compiler and other common developer tools set up.
* For macOS, this means Xcode and its command line tools.
* For Ubuntu: `sudo apt install build-essential git libgl1-mesa-dev libxcb-xinerama0`
2. Install the [Qt SDK](https://www.qt.io/download-open-source) with version 5.15 or later. Double check that you install a version compatible with your OS ([Qt 5 supported platforms](https://doc.qt.io/qt-5/supported-platforms.html) and [Qt 6 supported platforms](https://doc.qt.io/qt-6/supported-platforms.html)).
3. Clone the Bandage code from GitHub: `git clone https://github.com/rrwick/Bandage.git`
4. Open the Qt Creator program and load the `Bandage.pro` file which is in the Bandage directory. Since this is the first time the project has been loaded, it will ask you to configure the project. The defaults should be okay, so click 'Configure Project'.
5. Change to the release build configuration by clicking where it says 'Debug' in the bottom left area of Qt Creator and select 'Release'.
6. Build and run Bandage by clicking the green arrow in the bottom left area of Qt Creator. Bandage should open when the build has finished.
7. You will find the executable file in a new folder that begins with 'build-Bandage-Desktop'.
## Contributing
New contributors are welcome! If you're interested or have ideas, please contact me (Ryan) at rrwick@gmail.com.
## Citation
If you use Bandage in your research, please cite the following publication:
[Wick R.R., Schultz M.B., Zobel J. & Holt K.E. (2015). Bandage: interactive visualisation of de novo genome assemblies. Bioinformatics, 31(20), 3350-3352.](http://bioinformatics.oxfordjournals.org/content/31/20/3350)
## Credits
Bandage makes use of the OGDF library for performing graph layout algorithms. My thanks goes out to the OGDF developers for their excellent work!
I also thank Rayan Chikhi and Elmar Pruesse for their contributions to the code.
## License
GNU General Public License, version 3
Bandage-0.9.0/blast/ 0000775 0000000 0000000 00000000000 14165724233 0014155 5 ustar 00root root 0000000 0000000 Bandage-0.9.0/blast/blasthit.cpp 0000664 0000000 0000000 00000011534 14165724233 0016477 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "blasthit.h"
#include "../graph/debruijnnode.h"
#include "blastquery.h"
#include "../program/settings.h"
#include "../program/globals.h"
#include
BlastHit::BlastHit(BlastQuery * query, DeBruijnNode * node,
double percentIdentity, int alignmentLength,
int numberMismatches, int numberGapOpens,
int queryStart, int queryEnd,
int nodeStart, int nodeEnd,
SciNot eValue, double bitScore) :
m_query(query), m_node(node),
m_percentIdentity(percentIdentity), m_alignmentLength(alignmentLength),
m_numberMismatches(numberMismatches), m_numberGapOpens(numberGapOpens),
m_queryStart(queryStart), m_queryEnd(queryEnd),
m_nodeStart(nodeStart), m_nodeEnd(nodeEnd),
m_eValue(eValue), m_bitScore(bitScore)
{
int nodeLength = m_node->getLength();
int queryLength = m_query->getLength();
m_nodeStartFraction = double(nodeStart - 1) / nodeLength;
m_nodeEndFraction = double(nodeEnd) / nodeLength;
m_queryStartFraction = double(queryStart - 1) / queryLength;
m_queryEndFraction = double(queryEnd) / queryLength;
}
std::vector BlastHit::getBlastHitParts(bool reverse, double scaledNodeLength)
{
std::vector returnVector;
//If the colour scheme is Blast rainbow, then this function generates lots
//of BlastHitParts - each small and with a different colour of the rainbow.
if (g_settings->nodeColourScheme == BLAST_HITS_RAINBOW_COLOUR)
{
double scaledHitLength = (m_nodeEndFraction - m_nodeStartFraction) * scaledNodeLength;
int partCount = ceil(g_settings->blastRainbowPartsPerQuery * fabs(m_queryStartFraction - m_queryEndFraction));
//If there are way more parts than the scaled hit length, that means
//that a single part will be much less than a pixel in length. This
//isn't desirable, so reduce the partCount in these cases.
if (partCount > scaledHitLength * 2.0)
partCount = int(scaledHitLength * 2.0);
double nodeSpacing = (m_nodeEndFraction - m_nodeStartFraction) / partCount;
double querySpacing = (m_queryEndFraction - m_queryStartFraction) / partCount;
double nodeFraction = m_nodeStartFraction;
double queryFraction = m_queryStartFraction;
for (int i = 0; i < partCount; ++i)
{
QColor dotColour;
dotColour.setHsvF(queryFraction * 0.9, 1.0, 1.0); //times 0.9 to keep the colour from getting too close to red, as that could confuse the end with the start
double nextFraction = nodeFraction + nodeSpacing;
if (reverse)
returnVector.push_back(BlastHitPart(dotColour, 1.0 - nodeFraction, 1.0 - nextFraction));
else
returnVector.push_back(BlastHitPart(dotColour, nodeFraction, nextFraction));
nodeFraction = nextFraction;
queryFraction += querySpacing;
}
}
//If the colour scheme is Blast solid, then this function generates only one
//BlastHitPart with a colour dependent on the Blast query.
else
{
if (reverse)
returnVector.push_back(BlastHitPart(m_query->getColour(), 1.0 - m_nodeStartFraction, 1.0 - m_nodeEndFraction));
else
returnVector.push_back(BlastHitPart(m_query->getColour(), m_nodeStartFraction, m_nodeEndFraction));
}
return returnVector;
}
bool BlastHit::compareTwoBlastHitPointers(BlastHit * a, BlastHit * b)
{
return a->m_queryStart < b->m_queryStart;
}
double BlastHit::getQueryCoverageFraction()
{
int queryRegionSize = m_queryEnd - m_queryStart + 1;
int queryLength = m_query->getLength();
if (queryLength == 0)
return 0.0;
else
return double(queryRegionSize) / queryLength;
}
GraphLocation BlastHit::getHitStart() const
{
return GraphLocation(m_node, m_nodeStart);
}
GraphLocation BlastHit::getHitEnd() const
{
return GraphLocation(m_node, m_nodeEnd);
}
//This function returns the node sequence for this hit.
QByteArray BlastHit::getNodeSequence() const
{
int nodeSequenceLength = m_nodeEnd - m_nodeStart + 1;
return m_node->getSequence().mid(m_nodeStart-1, nodeSequenceLength);
}
Bandage-0.9.0/blast/blasthit.h 0000664 0000000 0000000 00000004305 14165724233 0016142 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef BLASTHIT_H
#define BLASTHIT_H
class DeBruijnNode;
class BlastQuery;
#include
#include "blasthitpart.h"
#include
#include "../graph/path.h"
#include "../graph/graphlocation.h"
#include "../program/scinot.h"
class BlastHit
{
public:
BlastHit(BlastQuery * query, DeBruijnNode * node,
double percentIdentity, int alignmentLength,
int numberMismatches, int numberGapOpens,
int queryStart, int queryEnd,
int nodeStart, int nodeEnd, SciNot eValue, double bitScore);
BlastHit();
BlastQuery * m_query;
DeBruijnNode * m_node;
double m_percentIdentity;
int m_alignmentLength;
int m_numberMismatches;
int m_numberGapOpens;
int m_queryStart;
int m_queryEnd;
int m_nodeStart;
int m_nodeEnd;
SciNot m_eValue;
double m_bitScore;
double m_nodeStartFraction;
double m_nodeEndFraction;
double m_queryStartFraction;
double m_queryEndFraction;
Path m_queryPath;
std::vector getBlastHitParts(bool reverse, double scaledNodeLength);
bool onForwardStrand() {return m_queryStart < m_queryEnd;}
double getNodeCentreFraction() {return (m_nodeStartFraction + m_nodeEndFraction) / 2.0;}
static bool compareTwoBlastHitPointers(BlastHit * a, BlastHit * b);
double getQueryCoverageFraction();
GraphLocation getHitStart() const;
GraphLocation getHitEnd() const;
QByteArray getNodeSequence() const;
int getNodeLength() const {return m_nodeEnd - m_nodeStart + 1;}
};
#endif // BLASTHIT_H
Bandage-0.9.0/blast/blasthitpart.h 0000664 0000000 0000000 00000002111 14165724233 0017022 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef BLASTHITPART_H
#define BLASTHITPART_H
#include
class BlastHitPart
{
public:
BlastHitPart() {}
BlastHitPart(QColor colour, double nodeFractionStart, double nodeFractionEnd) :
m_colour(colour), m_nodeFractionStart(nodeFractionStart), m_nodeFractionEnd(nodeFractionEnd) {}
QColor m_colour;
double m_nodeFractionStart;
double m_nodeFractionEnd;
};
#endif // BLASTHITPART_H
Bandage-0.9.0/blast/blastqueries.cpp 0000664 0000000 0000000 00000014133 14165724233 0017366 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "blastqueries.h"
#include "../program/globals.h"
#include "../program/settings.h"
#include
#include "blastsearch.h"
#include "../program/memory.h"
BlastQueries::BlastQueries() :
m_tempNuclFile(0), m_tempProtFile(0)
{
m_presetColours = getPresetColours();
}
BlastQueries::~BlastQueries()
{
clearAllQueries();
}
void BlastQueries::createTempQueryFiles()
{
m_tempNuclFile.reset(new QFile(g_blastSearch->m_tempDirectory + "nucl_queries.fasta"));
m_tempProtFile.reset(new QFile(g_blastSearch->m_tempDirectory + "prot_queries.fasta"));
}
BlastQuery * BlastQueries::getQueryFromName(QString queryName)
{
for (size_t i = 0; i < m_queries.size(); ++i)
{
if (m_queries[i]->getName() == queryName)
return m_queries[i];
}
return 0;
}
void BlastQueries::addQuery(BlastQuery * newQuery)
{
newQuery->setName(getUniqueName(newQuery->getName()));
//Give the new query a colour
int colourIndex = int(m_queries.size());
colourIndex %= m_presetColours.size();
newQuery->setColour(m_presetColours[colourIndex]);
m_queries.push_back(newQuery);
updateTempFiles();
}
//This function renames the query. It returns the name given, because that
//might not be exactly the same as the name passed to the function if it
//wasn't unique.
QString BlastQueries::renameQuery(BlastQuery * newQuery, QString newName)
{
newQuery->setName(getUniqueName(newName));
updateTempFiles();
return newQuery->getName();
}
//This function looks at the name, and if it is not unique, it adds a suffix
//to make it unique. Also make sure it's not "all" or "none", as those will
//conflict with viewing all queries at once or no queries.
QString BlastQueries::getUniqueName(QString name)
{
//If the query name ends in a semicolon, remove it. Ending semicolons
//mess with BLAST.
if (name.endsWith(';'))
name.chop(1);
//The name can't be empty.
if (name == "")
name = g_settings->unnamedQueryDefaultName;
int queryNumber = 2;
QString finalName = name;
while (getQueryFromName(finalName) != 0 ||
finalName == "all" || finalName == "none")
finalName = name + "_" + QString::number(queryNumber++);
return finalName;
}
void BlastQueries::clearAllQueries()
{
for (size_t i = 0; i < m_queries.size(); ++i)
delete m_queries[i];
m_queries.clear();
deleteTempFiles();
}
void BlastQueries::clearSomeQueries(std::vector queriesToRemove)
{
for (size_t i = 0; i < queriesToRemove.size(); ++i)
{
m_queries.erase(std::remove(m_queries.begin(), m_queries.end(), queriesToRemove[i]), m_queries.end());
delete queriesToRemove[i];
}
updateTempFiles();
}
void BlastQueries::deleteTempFiles()
{
if (tempNuclFileExists())
m_tempNuclFile->remove();
if (tempProtFileExists())
m_tempProtFile->remove();
}
void BlastQueries::updateTempFiles()
{
deleteTempFiles();
if (getQueryCount(NUCLEOTIDE) > 0)
writeTempFile(m_tempNuclFile, NUCLEOTIDE);
if (getQueryCount(PROTEIN) > 0)
writeTempFile(m_tempProtFile, PROTEIN);
}
void BlastQueries::writeTempFile(QSharedPointer file, SequenceType sequenceType)
{
file->open(QIODevice::Append | QIODevice::Text);
QTextStream out(file.data());
for (size_t i = 0; i < m_queries.size(); ++i)
{
if (m_queries[i]->getSequenceType() == sequenceType)
{
out << ">" << m_queries[i]->getName() << "\n";
out << m_queries[i]->getSequence();
out << "\n";
}
}
file->close();
}
void BlastQueries::searchOccurred()
{
for (size_t i = 0; i < m_queries.size(); ++i)
m_queries[i]->setAsSearchedFor();
}
void BlastQueries::clearSearchResults()
{
for (size_t i = 0; i < m_queries.size(); ++i)
m_queries[i]->clearSearchResults();
}
int BlastQueries::getQueryCount()
{
return int(m_queries.size());
}
int BlastQueries::getQueryCountWithAtLeastOnePath()
{
int count = 0;
for (size_t i = 0; i < m_queries.size(); ++i)
{
if (m_queries[i]->getPathCount() > 0)
++count;
}
return count;
}
int BlastQueries::getQueryPathCount()
{
int count = 0;
for (size_t i = 0; i < m_queries.size(); ++i)
count += m_queries[i]->getPathCount();
return count;
}
int BlastQueries::getQueryCount(SequenceType sequenceType)
{
int count = 0;
for (size_t i = 0; i < m_queries.size(); ++i)
{
if (m_queries[i]->getSequenceType() == sequenceType)
++count;
}
return count;
}
bool BlastQueries::tempNuclFileExists()
{
if (m_tempNuclFile.isNull())
return false;
return m_tempNuclFile->exists();
}
bool BlastQueries::tempProtFileExists()
{
if (m_tempProtFile.isNull())
return false;
return m_tempProtFile->exists();
}
//This function looks to see if a query pointer is in the list
//of queries. The query pointer given may or may not still
//actually exist, so it can't be dereferenced.
bool BlastQueries::isQueryPresent(BlastQuery * query)
{
for (size_t i = 0; i < m_queries.size(); ++i)
{
if (query == m_queries[i])
return true;
}
return false;
}
//This function looks at each BLAST query and tries to find a path through
//the graph which covers the maximal amount of the query.
void BlastQueries::findQueryPaths()
{
for (size_t i = 0; i < m_queries.size(); ++i)
m_queries[i]->findQueryPaths();
}
Bandage-0.9.0/blast/blastqueries.h 0000664 0000000 0000000 00000004260 14165724233 0017033 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef BLASTQUERIES_H
#define BLASTQUERIES_H
#include
#include "blastquery.h"
#include
#include "../program/globals.h"
#include
//This class manages all BLAST queries. It holds BlastQuery
//objects itself, and it creates/modifies/deletes the temp
//files which hold the queries for use in BLAST.
//There are two separate temp files, one for nucleotide
//queries (for blastn) and one for protein queries (for
//tblasn).
class BlastQueries
{
public:
BlastQueries();
~BlastQueries();
std::vector m_queries;
BlastQuery * getQueryFromName(QString queryName);
void createTempQueryFiles();
void addQuery(BlastQuery * newQuery);
QString renameQuery(BlastQuery * newQuery, QString newName);
void clearAllQueries();
void clearSomeQueries(std::vector queriesToRemove);
void searchOccurred();
void clearSearchResults();
int getQueryCount();
int getQueryCountWithAtLeastOnePath();
int getQueryPathCount();
int getQueryCount(SequenceType sequenceType);
bool isQueryPresent(BlastQuery * query);
void findQueryPaths();
std::vector m_presetColours;
private:
QSharedPointer m_tempNuclFile;
QSharedPointer m_tempProtFile;
void deleteTempFiles();
void updateTempFiles();
bool tempNuclFileExists();
bool tempProtFileExists();
void writeTempFile(QSharedPointer file, SequenceType sequenceType);
QString getUniqueName(QString name);
};
#endif // BLASTQUERIES_H
Bandage-0.9.0/blast/blastquery.cpp 0000664 0000000 0000000 00000025756 14165724233 0017073 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "blastquery.h"
#include "../program/settings.h"
#include "../graph/path.h"
#include "../graph/debruijnnode.h"
#include
#include
#include
BlastQuery::BlastQuery(QString name, QString sequence) :
m_name(name), m_sequence(sequence), m_searchedFor(false), m_shown(true)
{
autoSetSequenceType();
}
//This function looks at the query sequence to decide if it is
//a nucleotide or protein sequence.
void BlastQuery::autoSetSequenceType()
{
//If the sequence contains a letter that's in the protein
//alphabet but not in the extended DNA alphabet, then it's
//a protein
if (m_sequence.contains('e') || m_sequence.contains('E') ||
m_sequence.contains('f') || m_sequence.contains('F') ||
m_sequence.contains('i') || m_sequence.contains('I') ||
m_sequence.contains('l') || m_sequence.contains('L') ||
m_sequence.contains('p') || m_sequence.contains('P') ||
m_sequence.contains('q') || m_sequence.contains('Q'))
{
m_sequenceType = PROTEIN;
return;
}
//If the code got here, then it's a bit trickier. It could
//possibly be an extended alphabet DNA sequence or a protein
//sequence without particular amino acids.
//Look to see if A, C, G, T and N make up 75% or more of
//the sequence. If so, it's DNA. If not, it's
//protein.
int length = m_sequence.length();
int nuclLetters = m_sequence.count('a') + m_sequence.count('A') +
m_sequence.count('c') + m_sequence.count('C') +
m_sequence.count('g') + m_sequence.count('G') +
m_sequence.count('t') + m_sequence.count('T') +
m_sequence.count('n') + m_sequence.count('N');
if (double(nuclLetters) / length >= 0.75)
m_sequenceType = NUCLEOTIDE;
else
m_sequenceType = PROTEIN;
}
QString BlastQuery::getTypeString() const
{
if (m_sequenceType == NUCLEOTIDE)
return "nucl";
else
return "prot";
}
void BlastQuery::clearSearchResults()
{
m_searchedFor = false;
m_hits.clear();
}
//This function tries to find the paths through the graph which cover the query.
void BlastQuery::findQueryPaths()
{
m_paths = QList();
if (m_hits.size() > g_settings->maxHitsForQueryPath)
return;
int queryLength = m_sequence.length();
if (m_sequenceType == PROTEIN)
queryLength *= 3;
//Find all possible path starts within an acceptable distance from the query
//start.
QList possibleStarts;
double acceptableStartFraction = 1.0 - g_settings->minQueryCoveredByPath;
for (int i = 0; i < m_hits.size(); ++i)
{
BlastHit * hit = m_hits[i].data();
if (hit->m_queryStartFraction <= acceptableStartFraction)
possibleStarts.push_back(hit);
}
//Find all possible path ends.
QList possibleEnds;
double acceptableEndFraction = g_settings->minQueryCoveredByPath;
for (int i = 0; i < m_hits.size(); ++i)
{
BlastHit * hit = m_hits[i].data();
if (hit->m_queryEndFraction >= acceptableEndFraction)
possibleEnds.push_back(hit);
}
//For each possible start, find paths to each possible end.
QList possiblePaths;
for (int i = 0; i < possibleStarts.size(); ++i)
{
BlastHit * start = possibleStarts[i];
GraphLocation startLocation = start->getHitStart();
for (int j = 0; j < possibleEnds.size(); ++j)
{
BlastHit * end = possibleEnds[j];
GraphLocation endLocation = end->getHitEnd();
//Assuming there is a path from the start hit to the end hit,
//determine the ideal length. This is the query length minus the
//parts of the query not covered by the start and end.
int partialQueryLength = queryLength;
int pathStart = start->m_queryStart - 1;
int pathEnd = end->m_queryEnd;
if (m_sequenceType == PROTEIN)
{
pathStart *= 3;
pathEnd *= 3;
}
partialQueryLength -= pathStart;
partialQueryLength -= queryLength - pathEnd;
//Determine the minimum and maximum lengths allowed for the path.
int minLength;
if (g_settings->minLengthPercentage.on && g_settings->minLengthBaseDiscrepancy.on) //both on
minLength = std::max(int(partialQueryLength * g_settings->minLengthPercentage + 0.5), partialQueryLength + g_settings->minLengthBaseDiscrepancy);
else if (g_settings->minLengthPercentage.on && !g_settings->minLengthBaseDiscrepancy.on) //just relative
minLength = int(partialQueryLength * g_settings->minLengthPercentage + 0.5);
else if (!g_settings->minLengthPercentage.on && g_settings->minLengthBaseDiscrepancy.on) //just absolute
minLength = partialQueryLength + g_settings->minLengthBaseDiscrepancy;
else //neither are on
minLength = 1;
int maxLength;
if (g_settings->maxLengthPercentage.on && g_settings->maxLengthBaseDiscrepancy.on) //both on
maxLength = std::min(int(partialQueryLength * g_settings->maxLengthPercentage + 0.5), partialQueryLength + g_settings->maxLengthBaseDiscrepancy);
else if (g_settings->maxLengthPercentage.on && !g_settings->maxLengthBaseDiscrepancy.on) //just relative
maxLength = int(partialQueryLength * g_settings->maxLengthPercentage + 0.5);
else if (!g_settings->maxLengthPercentage.on && g_settings->maxLengthBaseDiscrepancy.on) //just absolute
maxLength = partialQueryLength + g_settings->maxLengthBaseDiscrepancy;
else //neither are on
maxLength = std::numeric_limits::max();
possiblePaths.append(Path::getAllPossiblePaths(startLocation,
endLocation,
g_settings->maxQueryPathNodes - 1,
minLength,
maxLength));
}
}
//Now we use the Path objects to make BlastQueryPath objects. These contain
//BLAST-specific information that the Path class doesn't.
QList blastQueryPaths;
for (int i = 0; i < possiblePaths.size(); ++i)
blastQueryPaths.push_back(BlastQueryPath(possiblePaths[i], this));
//We now want to throw out any paths for which the hits fail to meet the
//thresholds in settings.
QList sufficientCoveragePaths;
for (int i = 0; i < blastQueryPaths.size(); ++i)
{
if (blastQueryPaths[i].getPathQueryCoverage() < g_settings->minQueryCoveredByPath)
continue;
if (g_settings->minQueryCoveredByHits.on && blastQueryPaths[i].getHitsQueryCoverage() < g_settings->minQueryCoveredByHits)
continue;
if (g_settings->maxEValueProduct.on && blastQueryPaths[i].getEvalueProduct() > g_settings->maxEValueProduct)
continue;
if (g_settings->minMeanHitIdentity.on && blastQueryPaths[i].getMeanHitPercIdentity() < 100.0 * g_settings->minMeanHitIdentity)
continue;
if (g_settings->minLengthPercentage.on && blastQueryPaths[i].getRelativePathLength() < g_settings->minLengthPercentage)
continue;
if (g_settings->maxLengthPercentage.on && blastQueryPaths[i].getRelativePathLength() > g_settings->maxLengthPercentage)
continue;
if (g_settings->minLengthBaseDiscrepancy.on && blastQueryPaths[i].getAbsolutePathLengthDifference() < g_settings->minLengthBaseDiscrepancy)
continue;
if (g_settings->maxLengthBaseDiscrepancy.on && blastQueryPaths[i].getAbsolutePathLengthDifference() > g_settings->maxLengthBaseDiscrepancy)
continue;
sufficientCoveragePaths.push_back(blastQueryPaths[i]);
}
//We now want to throw out any paths which are sub-paths of other, larger
//paths.
for (int i = 0; i < sufficientCoveragePaths.size(); ++i)
{
bool throwOut = false;
for (int j = 0; j < sufficientCoveragePaths.size(); ++j)
{
//No need to compare a path with itself.
if (i == j)
continue;
if (sufficientCoveragePaths[i].getPath().hasNodeSubset(sufficientCoveragePaths[j].getPath()))
{
throwOut = true;
break;
}
}
if (!throwOut)
m_paths.push_back(sufficientCoveragePaths[i]);
}
//Now we sort the paths from best to worst.
std::sort(m_paths.begin(), m_paths.end());
}
//This function returns the fraction of the query that is covered by BLAST hits.
//If a list of BLAST hits is passed to the function, it only looks in those
//hits. If no such list is passed, it looks in all hits for this query.
// http://stackoverflow.com/questions/5276686/merging-ranges-in-c
double BlastQuery::fractionCoveredByHits(const QList * hitsToCheck) const
{
int hitBases = 0;
int queryLength = getLength();
if (queryLength == 0)
return 0.0;
std::vector > ranges;
if (hitsToCheck == 0) {
for (int i = 0; i < m_hits.size(); ++i) {
BlastHit * hit = m_hits[i].data();
ranges.push_back(std::pair(hit->m_queryStart - 1, hit->m_queryEnd));
}
}
else {
for (int i = 0; i < hitsToCheck->size(); ++i) {
BlastHit * hit = (*hitsToCheck)[i];
ranges.push_back(std::pair(hit->m_queryStart - 1, hit->m_queryEnd));
}
}
if (ranges.size() == 0)
return 0.0;
std::sort(ranges.begin(), ranges.end());
std::vector > mergedRanges;
std::vector >::iterator it = ranges.begin();
std::pair current = *(it)++;
while (it != ranges.end())
{
if (current.second >= it->first) {
current.second = std::max(current.second, it->second);
} else {
mergedRanges.push_back(current);
current = *(it);
}
it++;
}
mergedRanges.push_back(current);
for (size_t i = 0; i < mergedRanges.size(); ++i)
hitBases += mergedRanges[i].second - mergedRanges[i].first;
return double(hitBases) / queryLength;
}
Bandage-0.9.0/blast/blastquery.h 0000664 0000000 0000000 00000005206 14165724233 0016524 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef BLASTQUERY_H
#define BLASTQUERY_H
#include
#include
#include
#include "../program/globals.h"
#include "blasthit.h"
#include
#include
#include "blastquerypath.h"
class BlastQuery : public QObject
{
Q_OBJECT
public:
//CREATORS
BlastQuery() {}
BlastQuery(QString name, QString sequence);
//ACCESSORS
QString getName() const {return m_name;}
QString getSequence() const {return m_sequence;}
int getLength() const {return m_sequence.length();}
bool hasHits() const {return m_hits.size() > 0;}
int hitCount() const {return m_hits.size();}
QList< QSharedPointer > getHits() const {return m_hits;}
bool wasSearchedFor() const {return m_searchedFor;}
QColor getColour() const {return m_colour;}
SequenceType getSequenceType() const {return m_sequenceType;}
QList getPaths() const {return m_paths;}
int getPathCount() const {return m_paths.size();}
QString getTypeString() const;
double fractionCoveredByHits(const QList * hitsToCheck = 0) const;
bool isShown() const {return m_shown;}
bool isHidden() const {return !m_shown;}
//MODIFIERS
void setName(QString newName) {m_name = newName;}
void addHit(QSharedPointer newHit) {m_hits.push_back(newHit);}
void clearSearchResults();
void setAsSearchedFor() {m_searchedFor = true;}
void findQueryPaths();
public slots:
void setColour(QColor newColour) {m_colour = newColour;}
void setShown(bool newShown) {m_shown = newShown;}
private:
QString m_name;
QString m_sequence;
QList< QSharedPointer > m_hits;
bool m_searchedFor;
QColor m_colour;
SequenceType m_sequenceType;
QList m_paths;
bool m_shown;
void autoSetSequenceType();
bool positionInAnyHit(int position) const;
bool positionInHitList(int position, const QList * hitsToCheck) const;
};
#endif // BLASTQUERY_H
Bandage-0.9.0/blast/blastquerypath.cpp 0000664 0000000 0000000 00000024436 14165724233 0017742 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage.
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "blastquerypath.h"
#include "blastquery.h"
#include "../graph/debruijnnode.h"
#include "../program/globals.h"
#include "../graph/assemblygraph.h"
#include "../graph/debruijnedge.h"
#include
BlastQueryPath::BlastQueryPath(Path path, BlastQuery * query) :
m_path(path), m_query(query)
{
//This function follows the path, returning the BLAST hits it finds for the
//query. It requires that the hits occur in order, i.e. that each hit in
//the path begins later in the query than the previous hit.
BlastHit * previousHit = 0;
QList pathNodes = m_path.getNodes();
for (int i = 0; i < pathNodes.size(); ++i)
{
DeBruijnNode * node = pathNodes[i];
QList hitsThisNode;
QList< QSharedPointer > queryHits = query->getHits();
for (int j = 0; j < queryHits.size(); ++j)
{
BlastHit * hit = queryHits[j].data();
if (hit->m_node->getName() == node->getName())
hitsThisNode.push_back(hit);
}
std::sort(hitsThisNode.begin(), hitsThisNode.end(),
BlastHit::compareTwoBlastHitPointers);
for (int j = 0; j < hitsThisNode.size(); ++j)
{
BlastHit * hit = hitsThisNode[j];
//First check to make sure the hits are within the path. This means
//if we are in the first or last nodes of the path, we need to make
//sure that our hit is contained within the start/end positions.
if ( (i != 0 || hit->m_nodeStart >= m_path.getStartLocation().getPosition()) &&
(i != pathNodes.size()-1 || hit->m_nodeEnd <= m_path.getEndLocation().getPosition()))
{
//Now make sure that the hit follows the previous hit in the
//query.
if (previousHit == 0 ||
hit->m_queryStart > previousHit->m_queryStart)
{
m_hits.push_back(hit);
previousHit = hit;
}
}
}
}
}
double BlastQueryPath::getMeanHitPercIdentity() const
{
int totalHitLength = 0;
double sum = 0.0;
for (int i = 0; i < m_hits.size(); ++i)
{
int hitLength = m_hits[i]->m_alignmentLength;
totalHitLength += hitLength;
double hitIdentity = m_hits[i]->m_percentIdentity;
sum += hitIdentity * hitLength;
}
if (totalHitLength == 0)
return 0.0;
else
return sum / totalHitLength;
}
//This function looks at all of the hits in the path for this query and
//multiplies the e-values together. If the hits overlap each other, then
//this function reduces the e-values accoringly (effectively to prevent
//the overlapping region from being counted twice).
SciNot BlastQueryPath::getEvalueProduct() const
{
double coefficientProduct = 1.0;
int exponentSum = 0;
for (int i = 0; i < m_hits.size(); ++i)
{
BlastHit * thisHit = m_hits[i];
SciNot thisHitEValue = thisHit->m_eValue;
double eValueLenToRemove = 0.0;
if (i > 0) {
BlastHit * previousHit = m_hits[i-1];
int overlap = getHitOverlap(previousHit, thisHit);
if (overlap > 0)
eValueLenToRemove += overlap / 2.0;
}
if (i < m_hits.size() - 1) {
BlastHit * nextHit = m_hits[i+1];
int overlap = getHitOverlap(thisHit, nextHit);
if (overlap > 0)
eValueLenToRemove += overlap / 2.0;
}
if (eValueLenToRemove > 0.0) {
int thisHitLength = thisHit->getNodeLength();
double reduction = (thisHitLength - eValueLenToRemove) / thisHitLength;
thisHitEValue.power(reduction);
}
coefficientProduct *= thisHitEValue.getCoefficient();
exponentSum += thisHitEValue.getExponent();
}
return SciNot(coefficientProduct, exponentSum);
}
int BlastQueryPath::getHitOverlap(BlastHit * hit1, BlastHit * hit2) const
{
int hit1Start, hit1End, hit2Start, hit2End;
QPair possibleEdge(hit1->m_node, hit2->m_node);
// Overlap in the same node is simple.
if (hit1->m_node == hit2->m_node) {
hit1Start = hit1->m_nodeStart - 1;
hit1End = hit1->m_nodeEnd;
hit2Start = hit2->m_nodeStart - 1;
hit2End = hit2->m_nodeEnd;
}
// Overlap in connected nodes is a bit more complex - we need to express
// the second hit's coordinates in terms of the first hit's node.
else if (g_assemblyGraph->m_deBruijnGraphEdges.contains(possibleEdge)) {
DeBruijnEdge * edge = g_assemblyGraph->m_deBruijnGraphEdges[possibleEdge];
int overlap = edge->getOverlap();
hit1Start = hit1->m_nodeStart;
hit1End = hit1->m_nodeEnd;
int hit1NodeLen = hit1->m_node->getLength();
hit2Start = hit2->m_nodeStart + hit1NodeLen - overlap;
hit2End = hit2->m_nodeEnd + hit1NodeLen - overlap;
}
else
return 0;
int overlap = std::min(hit1End, hit2End) - std::max(hit1Start, hit2Start);
if (overlap > 0)
return overlap;
else
return 0;
}
//This function looks at the length of the given path and compares it to how
//long the path should be for the hits it contains (i.e. if the path perfectly
//matched up the query).
double BlastQueryPath::getRelativeLengthDiscrepancy() const
{
if (m_hits.empty())
return std::numeric_limits::max();
int hitQueryLength = getHitQueryLength();
int discrepancy = m_path.getLength() - hitQueryLength;
return double(discrepancy) / hitQueryLength;
}
//This function gets the length of the path relative to the how long it should
//be. A value of 1 means a perfect match; less than 1 means it is too short;
//more than 1 means it is too long.
double BlastQueryPath::getRelativePathLength() const
{
return double(m_path.getLength()) / getHitQueryLength();
}
//This function gets the difference between how long the path is vs how long it
//should be. A value of 0 means a perfect match; less than 0 means it is too
//short; more than 0 means it is too long.
int BlastQueryPath::getAbsolutePathLengthDifference() const
{
return m_path.getLength() - getHitQueryLength();
}
QString BlastQueryPath::getAbsolutePathLengthDifferenceString(bool commas) const
{
int lengthDisc = getAbsolutePathLengthDifference();
QString lengthDiscSign = "";
if (lengthDisc > 0)
lengthDiscSign = "+";
if (commas)
return lengthDiscSign + formatIntForDisplay(lengthDisc);
else
return lengthDiscSign + QString::number(lengthDisc);
}
//This function returns the fraction of the query that is covered by the entire
//path.
double BlastQueryPath::getPathQueryCoverage() const
{
if (m_hits.empty())
return 0.0;
int queryStart = m_hits.front()->m_queryStart;
int queryEnd = m_hits.back()->m_queryEnd;
int queryLength = m_query->getLength();
int notIncluded = queryStart - 1;
notIncluded += queryLength - queryEnd;
return 1.0 - notIncluded / double(queryLength);
}
//This function returns the fraction of the query that is covered by hits in the
//path.
double BlastQueryPath::getHitsQueryCoverage() const
{
return m_query->fractionCoveredByHits(&m_hits);
}
//This function returns the length of the query which is covered by the path.
//It is returned in bp, whether or not the query is a protein or nucleotide
//sequence.
int BlastQueryPath::getHitQueryLength() const
{
int queryStart = m_hits.front()->m_queryStart;
int queryEnd = m_hits.back()->m_queryEnd;
int hitQueryLength = queryEnd - queryStart + 1;
if (m_query->getSequenceType() == PROTEIN)
hitQueryLength *= 3;
return hitQueryLength;
}
int BlastQueryPath::getTotalHitMismatches() const
{
int total = 0;
for (int i = 0; i < m_hits.size(); ++i)
total += m_hits[i]->m_numberMismatches;
return total;
}
int BlastQueryPath::getTotalHitGapOpens() const
{
int total = 0;
for (int i = 0; i < m_hits.size(); ++i)
total += m_hits[i]->m_numberGapOpens;
return total;
}
//This function is used for sorting the paths for a query from best to worst.
//it uses < to mean 'better than'.
bool BlastQueryPath::operator<(BlastQueryPath const &other) const
{
//First we compare using the E-value product. This seems to value stronger
//hits as well as paths with fewer, longer hits.
SciNot aEValueProduct = getEvalueProduct();
SciNot bEValueProduct = other.getEvalueProduct();
if (aEValueProduct != bEValueProduct)
return aEValueProduct < bEValueProduct;
//If the code got here, then the two paths have the same e-value product,
//possibly because they contain the same hits, or possibly because they both
//contain hits so strong as to have an e-value of zero.
//Now we compare using mean percent identity.
double aMeanPercIdentity = getMeanHitPercIdentity();
double bMeanPercIdentity = other.getMeanHitPercIdentity();
if (aMeanPercIdentity != bMeanPercIdentity)
return aMeanPercIdentity > bMeanPercIdentity;
//Now we use the absolute value of the length discrepancy.
double aLengthDiscrepancy = fabs(getRelativeLengthDiscrepancy());
double bLengthDiscrepancy = fabs(other.getRelativeLengthDiscrepancy());
if (aLengthDiscrepancy != bLengthDiscrepancy)
return aLengthDiscrepancy < bLengthDiscrepancy;
//Now we use fraction of query covered by hits.
double aHitsQueryCoverage = getHitsQueryCoverage();
double bHitsQueryCoverage = other.getHitsQueryCoverage();
if (aHitsQueryCoverage != bHitsQueryCoverage)
return aHitsQueryCoverage > bHitsQueryCoverage;
return false;
}
Bandage-0.9.0/blast/blastquerypath.h 0000664 0000000 0000000 00000003361 14165724233 0017401 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage.
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef BLASTQUERYPATH_H
#define BLASTQUERYPATH_H
#include "../graph/path.h"
#include
#include "blasthit.h"
#include "../program/scinot.h"
class BlastQuery;
class BlastQueryPath
{
public:
//CREATORS
BlastQueryPath(Path path, BlastQuery * query);
//ACCESSORS
Path getPath() const {return m_path;}
QList getHits() const {return m_hits;}
SciNot getEvalueProduct() const;
double getMeanHitPercIdentity() const;
double getRelativeLengthDiscrepancy() const;
double getRelativePathLength() const;
int getAbsolutePathLengthDifference() const;
QString getAbsolutePathLengthDifferenceString(bool commas) const;
double getPathQueryCoverage() const;
double getHitsQueryCoverage() const;
int getTotalHitMismatches() const;
int getTotalHitGapOpens() const;
bool operator<(BlastQueryPath const &other) const;
private:
Path m_path;
BlastQuery * m_query;
QList m_hits;
int getHitQueryLength() const;
int getHitOverlap(BlastHit * hit1, BlastHit * hit2) const;
};
#endif // BLASTQUERYPATH_H
Bandage-0.9.0/blast/blastsearch.cpp 0000664 0000000 0000000 00000031065 14165724233 0017161 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "blastsearch.h"
#include "../graph/assemblygraph.h"
#include
#include
#include "buildblastdatabaseworker.h"
#include "runblastsearchworker.h"
#include "../program/settings.h"
#include
#include "../graph/debruijnnode.h"
#include "../program/memory.h"
#include
BlastSearch::BlastSearch() :
m_blastQueries(), m_tempDirectory("bandage_temp/")
{
}
BlastSearch::~BlastSearch()
{
cleanUp();
}
void BlastSearch::clearBlastHits()
{
m_allHits.clear();
m_blastQueries.clearSearchResults();
m_blastOutput = "";
}
void BlastSearch::cleanUp()
{
clearBlastHits();
m_blastQueries.clearAllQueries();
emptyTempDirectory();
}
//This function uses the contents of m_blastOutput (the raw output from the
//BLAST search) to construct the BlastHit objects.
//It looks at the filters to possibly exclude hits which fail to meet user-
//defined thresholds.
void BlastSearch::buildHitsFromBlastOutput()
{
QStringList blastHitList = m_blastOutput.split("\n", Qt::SkipEmptyParts);
for (int i = 0; i < blastHitList.size(); ++i)
{
QString hitString = blastHitList[i];
QStringList alignmentParts = hitString.split('\t');
if (alignmentParts.size() < 12)
continue;
QString queryName = alignmentParts[0];
QString nodeLabel = alignmentParts[1];
double percentIdentity = alignmentParts[2].toDouble();
int alignmentLength = alignmentParts[3].toInt();
int numberMismatches = alignmentParts[4].toInt();
int numberGapOpens = alignmentParts[5].toInt();
int queryStart = alignmentParts[6].toInt();
int queryEnd = alignmentParts[7].toInt();
int nodeStart = alignmentParts[8].toInt();
int nodeEnd = alignmentParts[9].toInt();
SciNot eValue(alignmentParts[10]);
double bitScore = alignmentParts[11].toDouble();
//Only save BLAST hits that are on forward strands.
if (nodeStart > nodeEnd)
continue;
QString nodeName = getNodeNameFromString(nodeLabel);
DeBruijnNode * node;
if (g_assemblyGraph->m_deBruijnGraphNodes.contains(nodeName))
node = g_assemblyGraph->m_deBruijnGraphNodes[nodeName];
else
continue;
BlastQuery * query = g_blastSearch->m_blastQueries.getQueryFromName(queryName);
if (query == 0)
continue;
QSharedPointer hit(new BlastHit(query, node, percentIdentity, alignmentLength,
numberMismatches, numberGapOpens, queryStart, queryEnd,
nodeStart, nodeEnd, eValue, bitScore));
//Check the user-defined filters.
if (g_settings->blastAlignmentLengthFilter.on &&
alignmentLength < g_settings->blastAlignmentLengthFilter)
continue;
if (g_settings->blastQueryCoverageFilter.on)
{
double hitCoveragePercentage = 100.0 * hit->getQueryCoverageFraction();
if (hitCoveragePercentage < g_settings->blastQueryCoverageFilter)
continue;
}
if (g_settings->blastIdentityFilter.on &&
percentIdentity < g_settings->blastIdentityFilter)
continue;
if (g_settings->blastEValueFilter.on &&
eValue > g_settings->blastEValueFilter)
continue;
if (g_settings->blastBitScoreFilter.on &&
bitScore < g_settings->blastBitScoreFilter)
continue;
m_allHits.push_back(hit);
query->addHit(hit);
}
}
//This function looks at each BLAST query and tries to find a path through
//the graph which covers the maximal amount of the query.
void BlastSearch::findQueryPaths()
{
m_blastQueries.findQueryPaths();
}
QString BlastSearch::getNodeNameFromString(QString nodeString)
{
QStringList nodeStringParts = nodeString.split("_");
//The node string format should look like this:
//NODE_nodename_length_123_cov_1.23
if (nodeStringParts.size() < 6)
return "";
if (nodeStringParts.size() == 6)
return nodeStringParts[1];
//If the code got here, there are more than 6 parts. This means there are
//underscores in the node name (happens a lot with Trinity graphs). So we
//need to pull out the parts which consitute the name.
int underscoreCount = nodeStringParts.size() - 6;
QString nodeName = "";
for (int i = 0; i <= underscoreCount; ++i)
{
nodeName += nodeStringParts[1+i];
if (i < underscoreCount)
nodeName += "_";
}
return nodeName;
}
#ifdef Q_OS_WIN32
//On Windows, we use the WHERE command to find a program.
bool BlastSearch::findProgram(QString programName, QString * command)
{
QProcess find;
find.start("WHERE", QStringList(programName));
find.waitForFinished();
*command = programName;
return (find.exitCode() == 0);
}
#else
//On Mac/Linux we use the which command to find a program.
bool BlastSearch::findProgram(QString programName, QString * command)
{
QProcess find;
//On Mac, it's necessary to adjust the PATH variable in order
//for which to work.
#ifdef Q_OS_MAC
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
QStringList envlist = env.toStringList();
//Add some paths to the process environment
envlist.replaceInStrings(QRegularExpression("^(?i)PATH=(.*)"), "PATH="
"/usr/bin:"
"/bin:"
"/usr/sbin:"
"/sbin:"
"/opt/local/bin:"
"/usr/local/bin:"
"/opt/homebrew/bin:"
"$HOME/bin:"
"$HOME/.local/bin:"
"$HOME/miniconda3/bin:"
"/usr/local/ncbi/blast/bin:"
"\\1");
find.setEnvironment(envlist);
#endif
find.start("which", QStringList(programName));
find.waitForFinished();
//On a Mac, we need to use the full path to the program.
#ifdef Q_OS_MAC
*command = QString(find.readAll()).simplified();
#else
*command = programName;
#endif
return (find.exitCode() == 0);
}
#endif
void BlastSearch::clearSomeQueries(std::vector queriesToRemove)
{
//Remove any hits that are for queries that will be deleted.
QList< QSharedPointer >::iterator i = m_allHits.begin();
while (i != m_allHits.end())
{
BlastQuery * hitQuery = (*i)->m_query;
bool hitIsForDeletedQuery = (std::find(queriesToRemove.begin(), queriesToRemove.end(), hitQuery) != queriesToRemove.end());
if (hitIsForDeletedQuery)
i = m_allHits.erase(i);
else
++i;
}
//Now actually delete the queries.
m_blastQueries.clearSomeQueries(queriesToRemove);
}
void BlastSearch::emptyTempDirectory()
{
//Safety checks
if (g_blastSearch->m_tempDirectory == "")
return;
if (!g_blastSearch->m_tempDirectory.contains("bandage_temp"))
return;
QDir tempDirectory(m_tempDirectory);
tempDirectory.setNameFilters(QStringList() << "*.*");
tempDirectory.setFilter(QDir::Files);
foreach(QString dirFile, tempDirectory.entryList())
tempDirectory.remove(dirFile);
}
//This function carries out the entire BLAST search procedure automatically, without user input.
//It returns an error string which is empty if all goes well.
QString BlastSearch::doAutoBlastSearch()
{
cleanUp();
QString makeblastdbCommand;
if (!findProgram("makeblastdb", &makeblastdbCommand))
return "Error: The program makeblastdb was not found. Please install NCBI BLAST to use this feature.";
BuildBlastDatabaseWorker buildBlastDatabaseWorker(makeblastdbCommand);
buildBlastDatabaseWorker.buildBlastDatabase();
if (buildBlastDatabaseWorker.m_error != "")
return buildBlastDatabaseWorker.m_error;
loadBlastQueriesFromFastaFile(g_settings->blastQueryFilename);
QString blastnCommand;
if (!findProgram("blastn", &blastnCommand))
return "Error: The program blastn was not found. Please install NCBI BLAST to use this feature.";
QString tblastnCommand;
if (!findProgram("tblastn", &tblastnCommand))
return "Error: The program tblastn was not found. Please install NCBI BLAST to use this feature.";
RunBlastSearchWorker runBlastSearchWorker(blastnCommand, tblastnCommand, g_settings->blastSearchParameters);
runBlastSearchWorker.runBlastSearch();
if (runBlastSearchWorker.m_error != "")
return runBlastSearchWorker.m_error;
blastQueryChanged("all");
return "";
}
//This function returns the number of queries loaded from the FASTA file.
int BlastSearch::loadBlastQueriesFromFastaFile(QString fullFileName)
{
int queriesBefore = int(g_blastSearch->m_blastQueries.m_queries.size());
std::vector queryNames;
std::vector querySequences;
AssemblyGraph::readFastaOrFastqFile(fullFileName, &queryNames, &querySequences);
for (size_t i = 0; i < queryNames.size(); ++i)
{
QApplication::processEvents();
//We only use the part of the query name up to the first space.
QStringList queryNameParts = queryNames[i].split(" ");
QString queryName;
if (queryNameParts.size() > 0)
queryName = cleanQueryName(queryNameParts[0]);
g_blastSearch->m_blastQueries.addQuery(new BlastQuery(queryName,
querySequences[i]));
}
int queriesAfter = int(g_blastSearch->m_blastQueries.m_queries.size());
return queriesAfter - queriesBefore;
}
QString BlastSearch::cleanQueryName(QString queryName)
{
//Replace whitespace with underscores
queryName = queryName.replace(QRegularExpression("\\s"), "_");
//Remove any dots from the end of the query name. BLAST doesn't
//include them in its results, so if we don't remove them, then
//we won't be able to find a match between the query name and
//the BLAST hit.
while (queryName.length() > 0 && queryName[queryName.size() - 1] == '.')
queryName = queryName.left(queryName.size() - 1);
return queryName;
}
void BlastSearch::blastQueryChanged(QString queryName)
{
g_assemblyGraph->clearAllBlastHitPointers();
std::vector queries;
//If "all" is selected, then we'll display each of the BLAST queries
if (queryName == "all")
queries = g_blastSearch->m_blastQueries.m_queries;
//If only one query is selected, then just display that one.
else
{
BlastQuery * query = g_blastSearch->m_blastQueries.getQueryFromName(queryName);
if (query != 0)
queries.push_back(query);
}
//We now filter out any queries that have been hidden by the user.
std::vector shownQueries;
for (size_t i = 0; i < queries.size(); ++i)
{
BlastQuery * query = queries[i];
if (query->isShown())
shownQueries.push_back(query);
}
//Add the blast hit pointers to nodes that have a hit for
//the selected target(s).
for (size_t i = 0; i < shownQueries.size(); ++i)
{
BlastQuery * query = shownQueries[i];
for (int j = 0; j < g_blastSearch->m_allHits.size(); ++j)
{
BlastHit * hit = g_blastSearch->m_allHits[j].data();
if (hit->m_query == query)
hit->m_node->addBlastHit(hit);
}
}
}
Bandage-0.9.0/blast/blastsearch.h 0000664 0000000 0000000 00000003554 14165724233 0016630 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef BLASTSEARCH_H
#define BLASTSEARCH_H
#include "blasthit.h"
#include "blastqueries.h"
#include
#include
#include
#include
#include "../program/scinot.h"
//This is a class to hold all BLAST search related stuff.
//An instance of it is made available to the whole program
//as a global.
class BlastSearch
{
public:
BlastSearch();
~BlastSearch();
BlastQueries m_blastQueries;
QString m_blastOutput;
bool m_cancelBuildBlastDatabase;
bool m_cancelRunBlastSearch;
QProcess * m_makeblastdb;
QProcess * m_blast;
QString m_tempDirectory;
QList< QSharedPointer > m_allHits;
void clearBlastHits();
void cleanUp();
void buildHitsFromBlastOutput();
void findQueryPaths();
static QString getNodeNameFromString(QString nodeString);
bool findProgram(QString programName, QString * command);
void clearSomeQueries(std::vector queriesToRemove);
void emptyTempDirectory();
QString doAutoBlastSearch();
int loadBlastQueriesFromFastaFile(QString fullFileName);
QString cleanQueryName(QString queryName);
void blastQueryChanged(QString queryName);
};
#endif // BLASTSEARCH_H
Bandage-0.9.0/blast/buildblastdatabaseworker.cpp 0000664 0000000 0000000 00000006252 14165724233 0021732 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "buildblastdatabaseworker.h"
#include
#include "../program/globals.h"
#include "../program/settings.h"
#include
#include
#include
#include "../graph/debruijnnode.h"
#include "../graph/assemblygraph.h"
#include "blastsearch.h"
BuildBlastDatabaseWorker::BuildBlastDatabaseWorker(QString makeblastdbCommand) :
m_makeblastdbCommand(makeblastdbCommand)
{
}
void BuildBlastDatabaseWorker::buildBlastDatabase()
{
g_blastSearch->m_cancelBuildBlastDatabase = false;
QFile file(g_blastSearch->m_tempDirectory + "all_nodes.fasta");
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);
QMapIterator i(g_assemblyGraph->m_deBruijnGraphNodes);
while (i.hasNext())
{
if (g_blastSearch->m_cancelBuildBlastDatabase)
{
emit finishedBuild("Build cancelled.");
return;
}
i.next();
DeBruijnNode * node = i.value();
out << node->getFasta(true, false, false);
}
file.close();
// Make sure the graph has sequences to BLAST.
bool atLeastOneSequence = false;
QMapIterator j(g_assemblyGraph->m_deBruijnGraphNodes);
while (j.hasNext())
{
j.next();
DeBruijnNode * node = j.value();
if (!node->sequenceIsMissing())
{
atLeastOneSequence = true;
break;
}
}
if (!atLeastOneSequence)
{
m_error = "Cannot build the BLAST database as this graph contains no sequences";
emit finishedBuild(m_error);
return;
}
QStringList makeblastdbArguments = { "-in", g_blastSearch->m_tempDirectory + "all_nodes.fasta", "-dbtype", "nucl" };
g_blastSearch->m_makeblastdb = new QProcess();
g_blastSearch->m_makeblastdb->start(m_makeblastdbCommand, makeblastdbArguments);
bool finished = g_blastSearch->m_makeblastdb->waitForFinished(-1);
if (g_blastSearch->m_makeblastdb->exitCode() != 0 || !finished)
{
m_error = "There was a problem building the BLAST database";
QString stdErr = g_blastSearch->m_makeblastdb->readAllStandardError();
if (stdErr.length() > 0)
m_error += ":\n\n" + stdErr;
else
m_error += ".";
}
else if (g_blastSearch->m_cancelBuildBlastDatabase)
m_error = "Build cancelled.";
else
m_error = "";
emit finishedBuild(m_error);
g_blastSearch->m_makeblastdb->deleteLater();
g_blastSearch->m_makeblastdb = 0;
}
Bandage-0.9.0/blast/buildblastdatabaseworker.h 0000664 0000000 0000000 00000002434 14165724233 0021375 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef BUILDBLASTDATABASEWORKER_H
#define BUILDBLASTDATABASEWORKER_H
#include
#include
//This class carries out the task of running makeblastdb on
//the graph's nodes.
//It is a separate class because when run from the GUI, this
//process takes place in a separate thread.
class BuildBlastDatabaseWorker : public QObject
{
Q_OBJECT
public:
BuildBlastDatabaseWorker(QString makeblastdbCommand);
QString m_error;
private:
QString m_makeblastdbCommand;
public slots:
void buildBlastDatabase();
signals:
void finishedBuild(QString error);
};
#endif // BUILDBLASTDATABASEWORKER_H
Bandage-0.9.0/blast/runblastsearchworker.cpp 0000664 0000000 0000000 00000007254 14165724233 0021143 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "runblastsearchworker.h"
#include "../program/globals.h"
#include "../program/settings.h"
#include "blastsearch.h"
#include "../program/memory.h"
RunBlastSearchWorker::RunBlastSearchWorker(QString blastnCommand, QString tblastnCommand, QString parameters) :
m_blastnCommand(blastnCommand), m_tblastnCommand(tblastnCommand), m_parameters(parameters)
{
}
void RunBlastSearchWorker::runBlastSearch()
{
g_blastSearch->m_cancelRunBlastSearch = false;
bool success;
if (g_blastSearch->m_blastQueries.getQueryCount(NUCLEOTIDE) > 0)
{
g_blastSearch->m_blastOutput += runOneBlastSearch(NUCLEOTIDE, &success);
if (!success)
return;
}
if (g_blastSearch->m_blastQueries.getQueryCount(PROTEIN) > 0 && !g_blastSearch->m_cancelRunBlastSearch)
{
g_blastSearch->m_blastOutput += runOneBlastSearch(PROTEIN, &success);
if (!success)
return;
}
if (g_blastSearch->m_cancelRunBlastSearch)
{
m_error = "BLAST search cancelled.";
emit finishedSearch(m_error);
return;
}
//If the code got here, then the search completed successfully.
g_blastSearch->buildHitsFromBlastOutput();
g_blastSearch->findQueryPaths();
g_blastSearch->m_blastQueries.searchOccurred();
m_error = "";
emit finishedSearch(m_error);
}
QString RunBlastSearchWorker::runOneBlastSearch(SequenceType sequenceType, bool * success)
{
QString blastCommand;
QStringList blastCommandArguments = { "-query" };
if (sequenceType == NUCLEOTIDE) {
blastCommand = m_blastnCommand;
blastCommandArguments << g_blastSearch-> m_tempDirectory + "nucl_queries.fasta";
}
else {
blastCommand = m_tblastnCommand;
blastCommandArguments << g_blastSearch-> m_tempDirectory + "prot_queries.fasta";
}
blastCommandArguments << "-db" << (g_blastSearch->m_tempDirectory + "all_nodes.fasta");
blastCommandArguments << "-outfmt" << "6";
blastCommandArguments += m_parameters.split(" ", Qt::SkipEmptyParts);
g_blastSearch->m_blast = new QProcess();
g_blastSearch->m_blast->start(blastCommand, blastCommandArguments);
bool finished = g_blastSearch->m_blast->waitForFinished(-1);
if (g_blastSearch->m_blast->exitCode() != 0 || !finished)
{
if (g_blastSearch->m_cancelRunBlastSearch)
{
m_error = "BLAST search cancelled.";
emit finishedSearch(m_error);
}
else
{
m_error = "There was a problem running the BLAST search";
QString stdErr = g_blastSearch->m_blast->readAllStandardError();
if (stdErr.length() > 0)
m_error += ":\n\n" + stdErr;
else
m_error += ".";
emit finishedSearch(m_error);
}
*success = false;
return "";
}
QString blastOutput = g_blastSearch->m_blast->readAllStandardOutput();
g_blastSearch->m_blast->deleteLater();
g_blastSearch->m_blast = 0;
*success = true;
return blastOutput;
}
Bandage-0.9.0/blast/runblastsearchworker.h 0000664 0000000 0000000 00000002721 14165724233 0020602 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef RUNBLASTSEARCHWORKER_H
#define RUNBLASTSEARCHWORKER_H
#include
#include
#include
#include "../program/globals.h"
//This class carries out the task of running blastn and/or
//tblastn.
//It is a separate class because when run from the GUI, this
//process takes place in a separate thread.
class RunBlastSearchWorker : public QObject
{
Q_OBJECT
public:
RunBlastSearchWorker(QString blastnCommand, QString tblastnCommand, QString parameters);
QString m_error;
private:
QString m_blastnCommand;
QString m_tblastnCommand;
QString m_parameters;
QString runOneBlastSearch(SequenceType sequenceType, bool * success);
public slots:
void runBlastSearch();
signals:
void finishedSearch(QString error);
};
#endif // RUNBLASTSEARCHWORKER_H
Bandage-0.9.0/build_scripts/ 0000775 0000000 0000000 00000000000 14165724233 0015716 5 ustar 00root root 0000000 0000000 Bandage-0.9.0/build_scripts/bandage_build_linux.sh 0000775 0000000 0000000 00000005674 14165724233 0022250 0 ustar 00root root 0000000 0000000 #!/bin/bash
# This is the script I use on my Ubuntu and CentOS virtual machines to build the public release of
# Bandage. It produces an app bundle ready for deployment. It requires that the 'sample_LastGraph'
# and 'dependencies' files are in the current directory.
# This script will by default build Bandage twice: once as a statically-linked executable and once
# as a dynamically-linked executable. If the user passes -s or -d, then it will build only the
# static or dynamic variety, respectively. The two different varieties use two separate versions of
# Qt. The dynamic version uses an older Qt version, as this will be compatible with more Linux
# systems. The static version uses a current version of Qt.
DYNAMIC_QMAKE="$HOME/Qt/5.2.1/gcc_64/bin/qmake"
STATIC_QMAKE="$HOME/Desktop/qt/build/5.6.0/qtbase/bin/qmake"
# Parse the arguments. If there are none, build both static and dynamic.
DYNAMIC_BUILD=false
STATIC_BUILD=false
while getopts "ds" opt; do
case $opt in
d)
DYNAMIC_BUILD=true
;;
s)
STATIC_BUILD=true
;;
esac
done
if ! $DYNAMIC_BUILD && ! $STATIC_BUILD; then
STATIC_BUILD=true
DYNAMIC_BUILD=true
fi
# If a 'Bandage' directory already exists, then this script will assume it is the Bandage source
# code and use it. If not, it will clone the master branch from GitHub.
if [ ! -d "Bandage" ]; then
git clone https://github.com/rrwick/Bandage
fi
# Get the Bandage version number from the main.cpp file and replace its dots with underscores.
VERSION_LINE=$(grep "setApplicationVersion" Bandage/program/main.cpp)
IFS='"' read -ra ADDR <<< "$VERSION_LINE"
VERSION="${ADDR[1]}"
VERSION=${VERSION//\./_}
# Determine the Linux distro (just used for naming the final zip files)
. /etc/lsb-release
DISTRO=$DISTRIB_ID
if [ -z "$DISTRO" ] && [ -f /etc/debian_version ]; then
DISTRO="Debian"
elif [ -z "$DISTRO" ] && [ -f /etc/fedora-release ]; then
DISTRO="Fedora"
elif [ -z "$DISTRO" ] && [ -f /etc/centos-release ]; then
DISTRO="CentOS"
elif [ -z "$DISTRO" ] && [ -f /etc/gentoo-release ]; then
DISTRO="Gentoo"
fi
if [ -z "$DISTRO" ]; then
DISTRO="Linux"
fi
BASE_ZIP_NAME="Bandage_$DISTRO"
if $STATIC_BUILD; then
# Build the statically-linked version of Bandage.
cp -r Bandage/ Bandage-static/
cd Bandage-static/
$STATIC_QMAKE Bandage.pro
make
chmod +x Bandage
cd ..
# Zip static Bandage
STATIC_ZIP=$BASE_ZIP_NAME
STATIC_ZIP+="_static_v$VERSION.zip"
zip -j $STATIC_ZIP Bandage-static/Bandage
zip $STATIC_ZIP sample_LastGraph
rm -rf Bandage-static/
fi
if $DYNAMIC_BUILD; then
# Build the dynamically-linked version of Bandage.
cp -r Bandage/ Bandage-dynamic/
cd Bandage-dynamic/
$DYNAMIC_QMAKE Bandage.pro
make
chmod +x Bandage
cd ..
# Zip dynamic Bandage
DYNAMIC_ZIP=$BASE_ZIP_NAME
DYNAMIC_ZIP+="_dynamic_v$VERSION.zip"
zip -j $DYNAMIC_ZIP Bandage-dynamic/Bandage
zip $DYNAMIC_ZIP sample_LastGraph
zip $DYNAMIC_ZIP dependencies
rm -rf Bandage-dynamic/
fi
rm -rf Bandage/
Bandage-0.9.0/build_scripts/bandage_build_mac.sh 0000775 0000000 0000000 00000002536 14165724233 0021643 0 ustar 00root root 0000000 0000000 #!/bin/bash
# This is the script I use on my OS X 10.8 virtual machine to build the public release of Bandage.
# It produces an app bundle ready for deployment. It requires that sample_LastGraph is in the
# current directory.
# Find the Qt path automatically. This assumes it is installed in ~/Qt/ and is a 5.* version.
QT_PATH=$(find $HOME/Qt -maxdepth 1 -name "5*" | sort | tail -n 1)
# If a 'Bandage' directory already exists, then this script will use assume it is the Bandage
# source code and use it. If not, it will clone the master branch from GitHub.
if [ ! -d "Bandage" ]; then
git clone https://github.com/rrwick/Bandage
fi
# Build Bandage.
cd Bandage/
$QT_PATH/clang_64/bin/qmake
make
# Add the necessary libraries so Bandage can be deployed.
$QT_PATH/clang_64/bin/macdeployqt Bandage.app
cp $QT_PATH/clang_64/plugins/platforms/libqminimal.dylib Bandage.app/Contents/PlugIns/platforms/libqminimal.dylib
# Get the Bandage version number from the main.cpp file and replace its dots with underscores.
cd ..
VERSION_LINE=$(grep "setApplicationVersion" Bandage/program/main.cpp)
IFS='"' read -ra ADDR <<< "$VERSION_LINE"
VERSION="${ADDR[1]}"
VERSION=${VERSION//\./_}
# Zip Bandage, add the sample graph and clean up.
ZIP="Bandage_Mac_v$VERSION.zip"
ditto -c -k --sequesterRsrc --keepParent Bandage/Bandage.app $ZIP
zip $ZIP sample_LastGraph
rm -rf Bandage/
Bandage-0.9.0/build_scripts/bandage_build_windows.bat 0000664 0000000 0000000 00000003535 14165724233 0022726 0 ustar 00root root 0000000 0000000 echo off
rem This is the script I use on my Windows 7 virtual machine to build the public release of Bandage.
rem Bandage. It produces a directory ready for deployment. It requires that sample_LastGraph is in
rem the current directory.
rem These variables must be set to the correct paths and values for your system.
set QT_PATH=C:\Qt\5.6
set MSVC_PATH=C:\Program Files (x86)\Microsoft Visual Studio 14.0
set MSVC_VERSION=msvc2015_64
set MSVC_VERSION_NUM=140
set GIT_PATH=C:\Program Files\Git\bin\git
set ZIP_PATH=C:\Program Files\7-Zip\7z.exe
rem Set up the MSVC compiler.
call "%MSVC_PATH%\VC\vcvarsall.bat" x86_amd64
rem If a 'Bandage' directory already exists, then this script will use assume it is the Bandage
rem source code and use it. If not, it will clone the master branch from GitHub.
if not exist Bandage\ call "%GIT_PATH%" clone https://github.com/rrwick/Bandage.git
call cd Bandage\
call "%QT_PATH%\%MSVC_VERSION%\bin\qmake.exe"
call "%QT_PATH%\..\Tools\QtCreator\bin\jom.exe"
call cd ..
rem Get the Bandage version number from the main.cpp file and replace its dots with underscores.
for /f %%i in ('findstr setApplicationVersion Bandage\program\main.cpp') do set VERSION_LINE=%%i
set VERSION_LINE=%VERSION_LINE:.=_%
set VERSION_LINE=%VERSION_LINE:"=;%
for /f "tokens=2 delims=;" %%G IN ("%VERSION_LINE%") DO set VERSION=%%G
rem Delete all of the source and build files
call move Bandage\release\Bandage.exe Bandage.exe
call rmdir Bandage\ /S /Q
call mkdir Bandage\
call move Bandage.exe Bandage\Bandage.exe
rem Add the necessary libraries so Bandage can be deployed.
call "%QT_PATH%\%MSVC_VERSION%\bin\windeployqt.exe" Bandage\Bandage.exe
rem Zip Bandage with the sample graph and clean up.
call "%ZIP_PATH%" a -tzip Bandage_Windows_v%VERSION%.zip Bandage\ sample_LastGraph installation.txt
call rmdir Bandage\ /S /Q
Bandage-0.9.0/build_scripts/bandage_build_windows_32bit.bat 0000664 0000000 0000000 00000003524 14165724233 0023727 0 ustar 00root root 0000000 0000000 echo off
rem This is the script I use on my Windows 7 virtual machine to build the public release of Bandage.
rem Bandage. It produces a directory ready for deployment. It requires that sample_LastGraph is in
rem the current directory.
rem These variables must be set to the correct paths and values for your system.
set QT_PATH=C:\Qt\5.6
set MSVC_PATH=C:\Program Files\Microsoft Visual Studio 14.0
set MSVC_VERSION=msvc2015
set MSVC_VERSION_NUM=140
set GIT_PATH=C:\Program Files\Git\bin\git
set ZIP_PATH=C:\Program Files\7-Zip\7z.exe
rem Set up the MSVC compiler.
call "%MSVC_PATH%\VC\vcvarsall.bat" x86
rem If a 'Bandage' directory already exists, then this script will use assume it is the Bandage
rem source code and use it. If not, it will clone the master branch from GitHub.
if not exist Bandage\ call "%GIT_PATH%" clone https://github.com/rrwick/Bandage.git
call cd Bandage\
call "%QT_PATH%\%MSVC_VERSION%\bin\qmake.exe"
call "%QT_PATH%\..\Tools\QtCreator\bin\jom.exe"
call cd ..
rem Get the Bandage version number from the main.cpp file and replace its dots with underscores.
for /f %%i in ('findstr setApplicationVersion Bandage\program\main.cpp') do set VERSION_LINE=%%i
set VERSION_LINE=%VERSION_LINE:.=_%
set VERSION_LINE=%VERSION_LINE:"=;%
for /f "tokens=2 delims=;" %%G IN ("%VERSION_LINE%") DO set VERSION=%%G
rem Delete all of the source and build files
call move Bandage\release\Bandage.exe Bandage.exe
call rmdir Bandage\ /S /Q
call mkdir Bandage\
call move Bandage.exe Bandage\Bandage.exe
rem Add the necessary libraries so Bandage can be deployed.
call "%QT_PATH%\%MSVC_VERSION%\bin\windeployqt.exe" Bandage\Bandage.exe
rem Zip Bandage with the sample graph and clean up.
call "%ZIP_PATH%" a -tzip Bandage_Windows_32bit_v%VERSION%.zip Bandage\ sample_LastGraph installation.txt
call rmdir Bandage\ /S /Q
Bandage-0.9.0/build_scripts/installation.txt 0000775 0000000 0000000 00000000411 14165724233 0021157 0 ustar 00root root 0000000 0000000 Bandage requires the Visual C++ Redistributable for Visual Studio 2015. If you do not have this already installed, you will get an error message when attempting to run Bandage.exe. In this case, you must first run vcredist_x64.exe to install the required libraries. Bandage-0.9.0/build_scripts/qt_static_build_centos.sh 0000775 0000000 0000000 00000007576 14165724233 0023021 0 ustar 00root root 0000000 0000000 #!/bin/bash
# Run this script as root (using su)
# This script builds a static version of Qt. It was originally writen by Lennart Rolland and taken
# from here: https://stackoverflow.com/questions/24275551/
# I modified it to work with CentOS and Qt 5.6 and move around some QtSvg stuff for Bandage.
# Change this to the desired version.
VER="5.6.0"
# Dependencies:
yum install libxcb libxcb-devel libXrender libXrender-devel xcb-util-wm xcb-util-wm-devel xcb-util xcb-util-devel xcb-util-image xcb-util-image-devel xcb-util-keysyms xcb-util-keysyms-devel fontconfig-devel freetype-devel libX11-devel libXext-devel libXfixes-devel libXi-devel mesa-libGLw gtkglext-devel
VER2="${VER%.*}"
WSRC="http://download.qt.io/official_releases/qt/$VER2/$VER/single/qt-everywhere-opensource-src-$VER.tar.xz"
B=$(pwd) # Current dir (allows this script to be called from another dir)
Q="$B/qt" # Base folder for the whole operation
SRC="$Q/src/$VER" # The uncompressed source
O="$Q/build/$VER" # The actual shadow dir
XZ="$Q/xz/qt-$VER.tar.xz" # The tar.xz archive
J=$(grep -c ^processor /proc/cpuinfo) # Parallel make, number of cores
LOG="$O/log.txt" # Build log file
# My configuration options for qt change to your hearts content, but make sure to clean out your current build before using it.
OPTS=""
OPTS+=" -release"
OPTS+=" -optimized-tools"
OPTS+=" -opensource"
OPTS+=" -confirm-license"
OPTS+=" -c++std c++11"
OPTS+=" -static"
OPTS+=" -largefile"
OPTS+=" -no-sql-db2"
OPTS+=" -no-sql-ibase"
OPTS+=" -no-sql-mysql"
OPTS+=" -no-sql-oci"
OPTS+=" -no-sql-odbc"
OPTS+=" -no-sql-psql"
OPTS+=" -no-sql-sqlite"
OPTS+=" -no-sql-sqlite2"
OPTS+=" -no-sql-tds"
OPTS+=" -platform linux-g++"
OPTS+=" -qt-zlib"
OPTS+=" -no-gif"
OPTS+=" -qt-libpng"
OPTS+=" -qt-libjpeg"
OPTS+=" -qt-freetype"
OPTS+=" -qt-harfbuzz"
OPTS+=" -qt-pcre"
OPTS+=" -qt-xcb"
OPTS+=" -qt-xkbcommon-x11"
OPTS+=" -no-glib"
OPTS+=" -no-gtkstyle"
OPTS+=" -nomake examples"
OPTS+=" -nomake tests"
OPTS+=" -no-compile-examples"
OPTS+=" -silent"
OPTS+=" -no-nis"
OPTS+=" -no-cups"
OPTS+=" -no-iconv"
OPTS+=" -no-icu"
OPTS+=" -no-dbus"
OPTS+=" -no-eglfs"
OPTS+=" -no-kms"
OPTS+=" -no-directfb"
OPTS+=" -no-linuxfb"
OPTS+=" -qpa xcb"
OPTS+=" -opengl desktop"
# The modules that are relevant for me. Please observe that THE ORDER MATTERS! I would add one module at the time and see how it complains when you try to build it.
MODS="qtx11extras qtimageformats qtsvg qtmultimedia"
# Just echo out the current state before starting the configuration and make
echo "B: $B"
echo "MODS: $MODS"
echo "OPTS: $OPTS"
echo "Q: $Q"
echo "O: $O"
echo "XZ: $XZ"
echo "SRC: $SRC"
echo "J: $J"
echo "LOG: $LOG"
# Create dirs
mkdir -p "$Q"
mkdir -p "$Q/xz"
mkdir -p "$SRC"
mkdir -p "$O"
# Start log
date > $LOG
# Download source archive
[ ! -f $XZ ] && wget "$WSRC" -c -O "$XZ"
# Unpack source archive
[ ! -x $SRC/configure ] && tar pxf "$XZ" --strip=1 -C "$SRC" "qt-everywhere-opensource-src-$VER"
# Set some variables
export QMAKESPEC=linux-g++
export QTDIR=$O/qtbase
export PATH=$O/qtbase/bin:$PATH
# Configure qt build
cd "$O"
MAKEFLAGS=-j$J "$SRC/configure" $OPTS
# Build qtbase with new config (results in the basic qt libs plus a new qmake that you can use for building the rest of the modules and your own projects).
# TIP: Don't put make all here
make -j$J >> $LOG
#build your modules with the new qmake, keeping the resulting static libs in each module's shadow build folder where they will be located by qmke during compilation of your projects
for M in $MODS
do
echo "----------------------------------------- MODULE: $M"
echo "----------------------------------------- MODULE: $M" >> $LOG
# Make module dir
D=$O/$M
mkdir -p $D
cd $D
# Use new qmake to create module makefile
$O/qtbase/bin/qmake $SRC/$M/
# Build module
make -j$J >> $LOG
done
# Copy qtsvg stuff into qtbase folder. This is specifically for building Bandage.
cp -r -n $O/qtsvg/* $O/qtbase/
echo "DONE"
Bandage-0.9.0/build_scripts/qt_static_build_ubuntu.sh 0000775 0000000 0000000 00000007346 14165724233 0023043 0 ustar 00root root 0000000 0000000 #!/bin/bash
# This script builds a static version of Qt. It was originally writen by Lennart Rolland and taken
# from here: https://stackoverflow.com/questions/24275551/
# I modified it to work with Qt 5.6 and move around some QtSvg stuff for Bandage.
# Change this to the desired version.
VER="5.6.0"
# Dependencies:
sudo apt-get install build-essential perl python git "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libfontconfig1-dev
VER2="${VER%.*}"
WSRC="http://download.qt.io/official_releases/qt/$VER2/$VER/single/qt-everywhere-opensource-src-$VER.tar.xz"
B=$(pwd) # Current dir (allows this script to be called from another dir)
Q="$B/qt" # Base folder for the whole operation
SRC="$Q/src/$VER" # The uncompressed source
O="$Q/build/$VER" # The actual shadow dir
XZ="$Q/xz/qt-$VER.tar.xz" # The tar.xz archive
J=$(grep -c ^processor /proc/cpuinfo) # Parallel make, number of cores
LOG="$O/log.txt" # Build log file
# My configuration options for qt change to your hearts content, but make sure to clean out your current build before using it.
OPTS=""
OPTS+=" -release"
OPTS+=" -optimized-tools"
OPTS+=" -opensource"
OPTS+=" -confirm-license"
OPTS+=" -c++std c++11"
OPTS+=" -static"
OPTS+=" -largefile"
OPTS+=" -no-sql-db2"
OPTS+=" -no-sql-ibase"
OPTS+=" -no-sql-mysql"
OPTS+=" -no-sql-oci"
OPTS+=" -no-sql-odbc"
OPTS+=" -no-sql-psql"
OPTS+=" -no-sql-sqlite"
OPTS+=" -no-sql-sqlite2"
OPTS+=" -no-sql-tds"
OPTS+=" -platform linux-g++"
OPTS+=" -qt-zlib"
OPTS+=" -no-gif"
OPTS+=" -qt-libpng"
OPTS+=" -qt-libjpeg"
OPTS+=" -qt-freetype"
OPTS+=" -qt-harfbuzz"
OPTS+=" -qt-pcre"
OPTS+=" -qt-xcb"
OPTS+=" -qt-xkbcommon-x11"
OPTS+=" -no-glib"
OPTS+=" -no-gtkstyle"
OPTS+=" -nomake examples"
OPTS+=" -nomake tests"
OPTS+=" -no-compile-examples"
OPTS+=" -silent"
OPTS+=" -no-nis"
OPTS+=" -no-cups"
OPTS+=" -no-iconv"
OPTS+=" -no-icu"
OPTS+=" -no-dbus"
OPTS+=" -no-eglfs"
OPTS+=" -no-kms"
OPTS+=" -no-directfb"
OPTS+=" -no-linuxfb"
OPTS+=" -qpa xcb"
OPTS+=" -opengl desktop"
# The modules that are relevant for me. Please observe that THE ORDER MATTERS! I would add one module at the time and see how it complains when you try to build it.
MODS="qtx11extras qtimageformats qtsvg qtmultimedia"
# Just echo out the current state before starting the configuration and make
echo "B: $B"
echo "MODS: $MODS"
echo "OPTS: $OPTS"
echo "Q: $Q"
echo "O: $O"
echo "XZ: $XZ"
echo "SRC: $SRC"
echo "J: $J"
echo "LOG: $LOG"
# Create dirs
mkdir -p "$Q"
mkdir -p "$Q/xz"
mkdir -p "$SRC"
mkdir -p "$O"
# Start log
date > $LOG
# Download source archive
[ ! -f $XZ ] && wget "$WSRC" -c -O "$XZ"
# Unpack source archive
[ ! -x $SRC/configure ] && tar pxf "$XZ" --strip=1 -C "$SRC" "qt-everywhere-opensource-src-$VER"
# Set some variables
export QMAKESPEC=linux-g++
export QTDIR=$O/qtbase
export PATH=$O/qtbase/bin:$PATH
# Configure qt build
cd "$O"
MAKEFLAGS=-j$J "$SRC/configure" $OPTS
# Build qtbase with new config (results in the basic qt libs plus a new qmake that you can use for building the rest of the modules and your own projects).
# TIP: Don't put make all here
make -j$J >> $LOG
#build your modules with the new qmake, keeping the resulting static libs in each module's shadow build folder where they will be located by qmke during compilation of your projects
for M in $MODS
do
echo "----------------------------------------- MODULE: $M"
echo "----------------------------------------- MODULE: $M" >> $LOG
# Make module dir
D=$O/$M
mkdir -p $D
cd $D
# Use new qmake to create module makefile
$O/qtbase/bin/qmake $SRC/$M/
# Build module
make -j$J >> $LOG
done
# Copy qtsvg stuff into qtbase folder. This is specifically for building Bandage.
cp -r -n $O/qtsvg/* $O/qtbase/
echo "DONE"
Bandage-0.9.0/build_scripts/sample_LastGraph 0000664 0000000 0000000 00001474723 14165724233 0021111 0 ustar 00root root 0000000 0000000 61 400000 61 1
NODE 1 52098 3811014 3811014 0 0
GAAAATAAAATAGAGAGAGTTTTCAATCCGCATGACTTTAAAAAAGACAATTTTTAGAAATAAGCCGGATAAAAAAATAGCTTTATCCGGCACTCATATTACAACCAGTTCTTCCGCTTAAAGTACAGATACGGTGCCAGGCCCGCGAGGATCATAAAGATAATCGCGGCAGGGTAGCCGAACCTCCACTTCAGTTCTGGCATAAACTCAAAGTTCATGCCATAGCTGGAAGCAACGAGCGTCGGCGGCAGGAATACCACGGATACCACCGAGAAGATTTTGATGATGCGGTTCTGCTCGATGTTGATAAAACCCATTGCCGCCTGCATCAGGAAGTTCACCTTCTGGAACAGGGATTCGTTATGCGGCAGCAGGGATTCGATATCTCGCAGGATTTCACGCGCCTGCTCCAGTTGCCCACCCGGTAAACGCGCTTTACGCACCAGGAAGTTGAGCGCGCGCTGGGTATCCATCAGACACAGGCGAACTTTCCAGCCGATATCTTCCAGTTCCGCCAGAGTGGAGAGCGCCTCGTCGTACTCATCGCCCTGATGCCCTTCCATAATCACCCGGCTCAACTGCTCCAGGTCGCTATAGATATTTTCAATTTCATCTGCCAACTGTTCGATTTTGGTTTCGAACAGATCCAGCAGCAACTCGTAGGCGTTACCGTCTACCATCGACTGGCTACGGGCACGCATACGATACAGACGAAAAGCGGGCAGTTCACGCTCACGCAGAGTAAACAGACGACCATCACGGATGGTAAATGCCACAGTGGAGTTACCGGCGTGATCTTCCGCATCTTCAAAGAAGAAGAAGGAGTGAATATGCAGGCCGTCGTCGTCTTCAAAGAAACGTGCCGATGCTTCGATGTCTTCCAGTTCCGGGCGGGTTGCCAGGCTCTGGCCAAGTTCAGATTGTAAGCGCAGTCGCTCGTCGTCGTCCGGTTCGACAAGATCAATCCATACTGCATTTACAAGGGGTTGTGACTCTTCGACTTCCAGCCGGGTCAGTCGGTTATTTTCCAGTTGAAATGCGCTCAGCATGACCGGGACTCCCAATGCTTAAAATATCGGACAGTTCGGTGGGCACACAGAAACAAATTGGGTTTCAGACCATTAAACAGCCTGACTCAGCGCGACGGGAAAAATTGAGGTCGCTGACAACCGCTAAGGCTATCAGCAAAAAGGGATAGCCTTAGGAGTTGATCCTGGATGACAGGATAGTGAGCCAGTATCTACTGGGTGTGTCCAAGGCGAATGTCCTCTTAGAGTGATCGTGCGCGCATGTTACGCCAGCAAAATTTTGCCGTCAACACGCAACAGAACACCACAGAACAATAGTTGAACTTCGCGCTTTTTGGTACTCGTCAAGGTCGCTAACAGGATAAAAAAATCCCACATCCAGGACCTATAATGGCGCATCAGCTACTCATTGGTAAAGGAATGATCACCTTGAATCTCAAACGGATTTTTCTCGCCCTCACCTTACTTCCCTTGTTTGCTGTTGCCGCTGATGATTGCGCACTCTCAGATCCGACGCTGACCGTACAGGCGTATACCGTTAATCCTCAAACAGAGCGGGTGAAAATGTACTGGCAAAAAGCCAATGGCGAAGCGTGGGGAACGTTACATGCTCTGCTGGCGGATATTAATAGTCAGGGTCAGGTGCAGATGGCGATGAACGGCGGCATCTTAAATTTGACGGTTTTTGATATAAAATATAGAAAGAAGGAGGTTTTCTGAATACCTCCTTCACTGGCGCTCAGTTCGAGAATACGTTAACGCTGTACCGTTTACCGAGCACCTCGGCAGTGGTATCGACAATTTTCTGAATATCATCGGCAATCGCGGGTTTACTGAATGCGACGGTGTGCAGTTCACCAGCCTGTTCCGCCGTCGCACCATCATGAAAGCGGCTGGCATCGTAAAGCTGGACCCGGAGTGTCCGGGTATAATCGACATGGCCCATTATTCCTCTCCTGTTCAGTCAGGCGCTATACGCGTTAATAATCACTTTCTTCCGGTTGCGGCTGGGTGACAAACTGGTACTTCACCCCATTAGGGACGCCAACGGCTTTTGCTACAGATTCACACAGCAGCGACAGGTCATTCAGAGTCATCGGATATTCGATATCGACGGAATATAAGGCCCCGGCGTTCTCGGCCTCTTCGATATTTTTATACTGGGCACTGAAAATGGCTATGGTAGAGATTTCAAGGTTATGCATGAGTCAGTCCTTGTTAATAAAAAAGAAGCCACCGTAAGGTGGCTGAATAAAGGTTAATGGACCTGGCTGGCCTTTTTTTCCGCGTTCTTGTTGTAATCAACGCGGGCAATAACGACGGCAGCGGCCAGGAGTGCAGCGAGACCGCCGTAGAATACTGGTCGGGAGATATCGACGAACATATCGCTCAGGTTATCAACGCCGAGGAGAAATACGCAGATAATGACGATAAAGCGAACAGGTTTGCTGTAGAACAATTTCATCAGGAGCTATCCTTCTGGGGTGAAATGACACCAGCATTACACCATATCAGATGCCAATTTTTTTTCGGTAACGGGCCTATTTTGACAAGAAAAAAGACACATCAGGGAGGCAATGACGAGAGTATTTTCGAGGTGCCTATGGCCTGTCACTTCCTGAACTCAGGAAAAGAACGATGCTGTAGAACACAATCGAAATATAGAAAAGTAACTTTTCCACCGACGATATGTCCGGCGGCAAGTTATTCTTATGCAGGGCACAAATCAGTGAATTGGGTTCCGCGCGGGAAAGTCAAAAAAACTTGCATGTCGTTCCGGATGCCAGGCGACGTAGCACATAGATTTGGGCCTGTGTAAGCGGGGAGCTGGGACGTTTTGTGTCTGCCATAATGTTCCTTTTATAACGAGGGCTGTCCGGCTGACAGATTAGCGGACAGACCTGAAAATAACGTGCATATCCAGCACCTGGCTGAATCCCTGAGCGAGGCAAATGCCTTTACTCTTCCCCCTCCGACAACAACAAAAATGCGTTGAGCTTCCTCTTCGGCCTGTTCATCAGTCATGCTTTTCTCGCGGATGTGCGAAGTAAACAGGCTCCAGTTTGCAGCGATAAAATCACGTACTTGATGCATTTCCGAATTCTCAGCGTCAATAACCATTTTTAGTGTCCTGTGTCTTAAATAAGGTCCGCCCTGTTAATAGATCAGGGACGGACTGTTTAAGCGAGATAGCCAGCCTGTGCCGTGGTTATCCATTCACCAGAGTGATTTTTGTGGGGGATACTTTGATACTAAAAGCATTAAATTTCTTTTTAAGAGCGAGTTCAAACCACGCCACCGGGATAGAGACCGAACTATCATCGCCGCCCAATGCCTCCTCTGCCTCGTCATACCATTCATCATCAACAGACGGATTCATCCCACGGGCATAGACAACCGTATCACGGGAAACAGGGGTTCCATCCAGAGATGCATTGGTAATCAGATAGACGCCATGATCTTTTACCAGAAGGATCTGTGGAGTCAGGCGGGCCGGGTCAATGTGTTTGGATGATGGCCAGAAAATTCCCCCCGTCTGGTTCATTTCCACTTCTGTTTTGCCCTCTTCGTTGAGAGGAGTACCGCCGGGGTAATTTGACGGTTCAAAAAGCTGTTCAATGGTTGCATTGAACCGTTCCGCCGAGCGGAGTTCTTCGAGGAGCTTTTTTACCCCAGCAATTTCGAATGTTAATGTGGTCATAAACTTATTCTCCATCCGTAGTCAGCATCAGATATCGGGTGGCCAGTAGCAACTCTTTGACGTCAGCAGTTGAAACCTCCCCTTTGCCTTCTACCGCGTCCTGCAAACGCTGACGCGTCGCCTGAATCGTCTCTGACGACAGTGACGCCAGTTTGCTCAATACAGCGTTAGCTTTTTCCACAGCGGGATACAGGGACTCTGAGGTGGTATTGTCTACATCGTTATCGAAAAACAGGTCAGACTCCATATTAATATTGTCTTCGAGCCAGCTGGTAAGAATATCAAGTAAAGACATAACTTTATTAATCTGCATTTTTCTCGCCCTCGGTTGATGTAATTCAAATATAACAAACTGTCTCGTCTGGCTAATAACCCAGAATGAAAAAATAAGCGATTTATTAGATAGGACTGAATTAAATTTAAATGGAGTGCAGCCGGACTCAGTTTAAAAACACTCCGCGCTAAAGGCAGAAAAAAGCCTTCCGAAAGGGAAGGCTTATGCACTACATCAGGAAAAGAACTATCGCTGCTTCTGGAGCGCGATATACGCTGCGAAAACAGCTACCAACACCGTCATGAAGTAAACTAGATATGAACCAGATTGCCAGACATTAACGCCAAAAAACGAAATTAATTTTCCGTCCGGGATAACAGAAAAAATCAGGTTCCAGAATCCAACCAGAACGACCTGAGAGATAATCATTTTACCAAGCGATCCCAGTTCATGAGCCGCATACATTGCAGCCATGACAAATGTCAGAGCTACCACAAGCAGCGCAGACAAAGCCACAACCGAAATGCTCAGGCCGACGGATGTAAACAGAATGGCATCTTTAAAAGTCAGACCTGTAAAACCCCAGATCAGAATGGCTAAAATGAAAAACATAAGGATAAATTTCACTAGAATTGCGTCCCTCTTTCGGTGGCAGAGTGTCGGTCAGGATGCCTGTGGCGAGGCAACTACAGACAGAATTTAACACAAAAAATTTAATTACAAATCCGTTCACAGGCCTGTTTCAATGATTCTTTGGTATGGCTATGTGCGGCCTGATTTAACAATGCCCGGATGTGTAGTTCATCATGACCGTCAGCTACAAAGAGATTGATTTTACTTTCAAGGCGGCTCATGGCTTCGTAGAGTTTTGCCTCTTTATTGTTCTTCATAAAGCGAAGAATGTAATCCGCAATAATATGCTCTGGTGGCGTTTTAATTTCACGGCAGCGATTGCTTGTCATGAGTTTTTCCTCAAGTTTGTGGCAAAATGGCACCATCTCATTTAAGCCACCCTTTTCCGGTTGTATAATTAATTTGACCTGCTTTACACAGCGCCAGCAAACGGCGATCAAGAATATGCGACGGTTGCGGATTGCTTTCCCCGGCTGCAATCCGGTGACACTCTGCTTTGATCTCTCCGGCAAATAATGTCGAGAACGGCGTAGGAACTGGGGTAAGAATTTCGTTGAGTGCCCTGTCCAGCGCCAGATACTTATCCATATTCATGTCCTTGCAGGTAATTGAATGGATGGGGTTTAAATTTATTATACTGAATCGAGTTACTAAACTAATATCCTTCAGGATGAAGAAAGGAATCATCCACCTTCAGTATGTATTCGACATATAGGACACGTCTCTAAAATTTTTCGCGTTTTCGCGATTTACACCGACAGGCCTACCAGTCACCACCTTCGATATGAAGTTGCGTCGCAGAAACAGCCACCATTTCCTGCATTGGCTGGTCATGCTTGTTATGACTACTCCCAAGCAGTAGGCTCACCTTGCCGTTAGCGGAATAAAACATAGCATCAGGAAAATGCTCTCTGACTTCCCCCAGCAATGTGTGCATCGACTGAGTCAGTCGGTAGAATCGACGTGCGGCAGTCGGCATTGCATCATCAAGGAGATCTCCGGCGTCGCCGTCCCCGCTGTTTATGAAACTCAGTACCTTATCTTCGTCCATTCGAACCTCTTTTTCAGTCATGTCATATATATCCATTGAGATATCTGTCAGCCTGAGCAACGACATCAGGCTGACCTTCGCTCACCCGGTAATAACGATGGCCTGTTCCAATTGTGGCTGGCGATCCCCCCGCAGCGCTACCGACTCCTGGAGGCGTGCGGAAGGCATCGTCATTGCCTTAAACCCCTCATCCCGCGAACGCACCAGCATCCCCCACGAATGGGTTTCACAGACATCGTTCTCGAAATTGGGTTCGGTCGACAGCAGTGATTCCATCTTCGGTTCGATGTGTACCGGCGCAATGTTTTTATAAACAGGGTGAACACGACACTGTTCAGACGCTTGTGCTCGGTAGCTCCCTTGCGCCAGCAGCACGTCATGGGAAACCAGGTCATAATCTGTATCTTCGACAAAAGTCTTCAGGGTGTGCGTTATTTTGCCGAATCCTTCGATATTCCAGACGGACACCATCGTAAACTCTTCAAACGCACGGGGACTTTTGACCAAAAATCCATTCAGCGCCCTACGCCCCTTCAGCATCCCCACCAGGTATTGCTTGTTGGGATAAGGGCGCATCGCAACAAGGTCATTACCAGTCAGGCGTAGCGACAGTTCCGGGACGCTTACGGAATCCAGCGTGCAAAGATTTCCCATCGGATGCAGGATTTTTGGTACAAGGTGCAAAAACATCGGTATTCTCCTCGTTTATTAAGCCTTCAATTATTGTGCCGTCGCCTGATGTATTTCGAACCAGAAGACAACCGGCTTTTCCGTGACTTCAATTAACCCAAATCGCTCTGCGGTTCTGAAGTTGACGCTGTATGCCCTGGCGCGTTCTACCTGGCGGCTTATTTCTTTCCTCATGCCTTCAACACTTAATGCACCTTTAAAGAGATTGCAGGGGGCGCAAGCCGGAAAAAGATTTTCGATTGCATGCAGTTCAGGGTGCATGACCTTACCGGTACTTCGAGCCCGGTGTGTCACTCGACTTCCAGCGGGGGCTCTGACCATTTCAAAATCCCGCCTCACCGGTTCAACATGATCGGCATGCCAGCCTTTTTCCGGCAAAGGACAGCCGCAGTAGGCACACCGACCGCCAAATTTCAAACGCAGTTCGGCTCGTTGCTCTTTGGATATTTTATTTTTTGGTTTTGAAAATCGCCCATCATCAGATTCAACCTTCGGGAGGAGTTCTGAAAAATTGGGTAATTCGATTACTGCGCCTTTGTTATTTAGAACTTTCACCGGACCTCCCAACCATATTAAGACGATTTTTTATTTATTTTCCTGAATTAGTTTTCGAATTTTAATCAGGTGTGGTCGGCTTAATTTGCATAGCTGTTCGGTCGCGGCATCCAGAGTGGGAAATACATGGGCCTCATTAATATCCAGTGTCCAGTATTTCGCTTTACCTTCTCCCAGATCAGATTCAAAGTAATTCCGCTTTACCCCAATCTGCTTTGGTCTTCCATTAATTCTGACGATTTCATGCCGCTCGTCGAAGATAAAACCCTCTCCGACCAACGTCAGGAGGACAAAAGGGCCCTCGGCCTTTTGCGTACCCAGCGAACTCATCTCATTATTCATACGACCTCCCCGGTAATACGCTTAAAGTTGACGACCCAGACCCACGGGTTGGCCTGCCAACTGTCCTCGCCGTACGTGTTTTTCCAGAGGCTGCGGAAGCCAAGAAAGTGCTTATCGCCAAGAACACAACATTCTGTTGGTGCGCCTTCAGCTTTGGCATCTTCCTCGCTGATGGTATTTAACCGCTCTACCCGCAAATCGGTAATTTCCAGTGCAATACGGCTGGCCCAGCGAGGCATATGGATTGAAGGTGTCCACGCACCTTCGAACTTCATATTTTCGGTACGAGGCTTCCAGTCGGCCTCATCAGGGATCGACCACAGCCCATAATCCCCCGACCGCTGTTCGCAGCTCGCCCGGTAAATGCGGGCTGCTTCAGTCCTGTCCATCACGATGTTGTCATTCCAGTCCACCGCGCACGCATCTTCATTCCCGAGCAATGAAAACGCCTCACGGACCGTAATGCGGTCGCCAACTACGCCGTACGGACAAGGCCGAAGCGCCGAGTATGGCTGGGTCCCTGTTGGAAGCCACCAGTCATGCGTGTGCCCGCGATGTCGCGGTGTTTGCGCAGGCCTTATAGACCATTCATCCGAACTATATTGAGGCTTTATAATCCGCCGCGTCTGTGTTTTCTGATCTGCCAGAATTGCCCGGACCATTTCATCATTAAAAAGCATTCCACGTGTCTTCACTGTGCTGACTCCTTTCACACATGGTTCACACATTGAGAGGCCTATCCCTCTTTATCAGCCAGGCATACCGAAACTGTCGGTAGTTTTACGGGAACGGGCAACTGCCCCCCTACCTGATAAAGTGGTGTTCTCCCCCAAAATTAATCGTATTCCCCATCCACTACCGGCTCAGTCGTAATTTCATATTTCACTCCGCCGGGTACATCCAACGCTTTAGCGACGGACTCACACAGCAATGACAAATCATTCAGGGTCATTGGGTATTCAACTTCCAGGCTGTGCAGTGCATTGGCGCTGGCAGCAGCAGCCTTGTCAGCATGACAGGCATTAAAAACGAAAACGGTGGTTTTTTCTTGAATAGGCATAGTGCAATCCTCTGAATAATTAGCCCTGTGATCAGGGCGGTTTTTGATTAAATTTAAATGTTCGTTTTCAATAATTAGTGAATCTGTTAATCGGGTTGTGACTTATCATTTTCTCCAACCGAAGTGCTGTCGAGAAATGACCATTCTTGTTTGGGGCTTTTATATAATGCACTAGCCTCAGTACTCATCCATGACTCACAGGCTTTATAAGTCATGCCTTCCTCTCTAACGCGGTCCTTAAAATACGCCCAGGCTTGCAGATCAAGCGGCTGATACTCTTTCAGCGACTGGTCAAGCCTTTCCTTCCAGATTTTCTTCCGATGAGTAAAATGAGGAAAAGCCAGGAATGCATAACTACCTGCAACAAAAAAAAAGAACAGGAGTCCGCCCCATAGAGAATGTTTGAAAAACACCAGTCCTGGGAAAATCCATGCCACAATGGCAACAAATAAAAGAAGGTGCTCCTTCCCAGTAGGTTTATTAAAATGCCAGGAAATTGCAATACACTTTAATTTACTAAAGTGATTTTGTTTCTCCTTAATATCGGTCATATATCAGTCCTTACTTATAAAAAAATGGTTATTATTAGTCTGATGTAAAAGTTACTTTTCAAAACAGTCCCTTTAACGAATTCCGCACCTGCGCTCATTACAACACACACCATTCGGCGCTTTTTCCGTTAACGGGGCTATTTTCACGTTTTTTGCACGTATGTCTGATTTTGCTGGTGGGCTCACGCCAGCAGGCGGACCATACGTTTCAACAGAGGCCTTAACAACGCCGCCGTCCTCTCCCGGCATTCATCCACATGCCGGAACCCCGTCTTTTTCGAAGACTGGGGGCCGGATAACATCCGCAGCTCCCAGATGACTTCCCGTAAGGTTCCTTCGCGCTCCGGCGAAATACACCCGGCTAATGTCTCCAGAAAGCGTTTTCTTACGGCCCGGTAATACAGACGTTCTTCCGGTTGCTGTGACGAAATCCGCAGGTTACAGAGGGTCAGGACAGCGTCAAGAGTCCTTGCCTTCAGTTCGTCTCCCGTCCGGGCCAGATGTAGCTGTTGTTCTGTCTCCAGTTGCGTCGTTATCCACCCCCCCAGAGGGGTTTTGTTGTAGGTGTGCAGTGCCACACAGGCCGCAACACAGCACCAGAAGCGCAGTTTCTGCCGCTGCCCCCGCAGTTTGCGGGCTACGAGCAAGCGATAATCGCTGTCGGTCAGGATCTTGAAACGGCGGCTGGCGAGCAGAGACGGCAGCGGCGTCTGGTCGTTAATGCCAAGACGTGAATAGGCCTGCCCGCGTTGAGCGAGTCGATGGTACACCGCACCTTTCCCCCGCGAAATTCGGACGGCGCCGTATCTAAGCAGGTACTGTGCCGCCGCCACAGGGGTAAACTCACCGTCAGACACACGCTGGCGTAATCCGTCATATTCATGCCAGATAATCCAGGATGCCGTGTCTTCATCGACCGTCAGCTCATCCTCTTCTTCGAATGCAACGATGTTCAGGCCTTCCCCGCTACTCATCAGACTGCGGGAAGCTCGCTCATCCTCCCGACCGTCAAAATAGGCTATTTCGGATGACGGATCGGACAGCCCGTCAAATGACGTCCCGATACGGCCTTCCGGCAACTTCATCCAGCGTGGTGCTGGCATCGGCGTGCGGGGTACTGGTTGCATAGCTGGCTCATCGTCGAGAAGATCCAGTGCCCCCCCTTCCCACACCTGGCGGTAAAGTTCAATGGCACGAAATGGGCGCGGGTTAAAGCAATGCAGTGACCAGAGAAAGTCGATATGCAGCACGTTAGCCTCCTGCACCAGTCGAAACTGCGGCTCCGACATGCGGCGGTTATGCGCGGTATCTTCGATCTCGCCTGAAAGTAACTTTTCATGCACCGCTGCGGCCCGCTGAGCCTCCACGTAATCGAGGCTGCAACAGATATGGAACAGTCTTTCGGTCAGGGACGACGAGAACACATTGGGCTGAAGACGCACATACCCGCCCTCAAACACTTTGCGTCCGATATAATCCCGAAGGCTCCAGTCGTACTGAATTTTGGTCAGGAAACGCTGAAGGCGGTTGAGACCAGCCTGGTAGCCGTACTTCTCAGGGTCAGTGCGGAGTAAGGTTTCCATCGAGTGATCAATGCCGACGGCGCAGCATAGCGAGCATCCATAGCGAGCGCCGCAGGCAGAAGACCGGACAGTGGATTTCTCCGGCGTCCAGATACATTCCCCGGTCGCGTCTTTGTAAAGCGTGGCGAGGCTGAAGTTGTCCGGCAAAAAGCTTGGCAGCGGAAATCGCGCCAGAGAACCACAGGCCATCAGAAATGACCAGATATCCTGTGCCCGCCACTCTTTCACCGGGTACAGTTCGCCGCCGTGCTCCGTGAGCGAGACGCTGTCCGCCTGCCCGCCCATTCTTAGGATGTTGTCTGCCCGACGGGCGCTCTCATCATCGCGGGAACCCAGCATCAGGCACACTTTGTTGCGGACAGAAGCAGGTGCATTTTTCAGATAACGGGCTTTGGCCTGGCGCAGTGGAGAACGCTTTAGATCTGTAGCGCATTGACGCGTAGAAGAATTTGTCCAGGTTGGAAGTCCACGCCCGGTCAGAATGCGTCCGACCCAGCTCTGGGTCATGGACGGGCGGGCCACAAGGACGGTCAAAGGCAGTTCTTGTTCGGCAATAAAGGCTCTGAGCTGGCTGAGAACCTGCGTGGCCTGATGATGCATCTCAGGGTTTTCAATCAGGGTGTCAGACATCTGAATGAAGTGGTGCTGGCTGACGTTCGACCCGTTTCGTACTGCACGGATCAAGGCCATAAGGAACAAGTGCAGTAGCGAGTGAGAGTCTTTCCCGCCGCTGTAGCCGACGCACATGGTCCAGCCTTCGGTAATCGCATGATAAATGGCACTGGTTGCCGTCGTCACGCGCGAAGCGAGACTGACCGGCTCACCGGCATCAGTATAATTCAGATCCGCATCGGTCTTCAGTGTCTGCCAGACATCGCCCCATTTATCCTGCGTCAGAATGGCAGCGTTAGCCGCCTCAGAAAATTGAATTTCTGAGGGTAATTCAAGGAATGTTTCTTTCATTTCGATATACATATTATTTCCTGAATTTGGCTTTCGCTGTATTGTCGCGATATTTATTAAATCCATTTAATATCTTCAGCGCAATATGTGAAGCTAAAAATAGTTAAATTGAAATCATGCCAATTTAATTAAATAACACTGAACAAATAAAATTACGCGGCAATAAATATATTATATTCTCCACGCTCTCACGAATACTGCTGGGTAATTAAAACCGTCGCATTTGATTCCAGCTCTGCCAACGGAATTAGGGGCGTATTGAGCATCATGTCATCGCCGCAATGACGGGGTACAGCCGTCAGATGAAATGATTCTTTCATGACCCGGATGGAAGTTGTTTCCGTGCGGCAGGAGGGCATTACGTCCCGGAGCATCGTTTCCTGTCCGCTGCTGTCACTTTCAATAAACGCAGCCTGCGACATGAGAACCTCAATGTCCTCTTCCAATGTTTCGGACCAGTGGCAGTCATAGAAGAAAAACTCGGCGGCGTACAAATCATTTTCTTTCACGTATGCCGCCAGTTCACGGATACGCTTAGCCAGCGACGTATCAATGGAAAAGAAGACGCTTTGCGGGACATCACTCGCAAATTCATTGATGCAGCTAGCGGACAAAATCAGGATTTTATTGGTCATTTTCAGCTCTCCATGCCACCGGCTGTTCCGGTGGCAATCAGGGATTATCAGGCAGTCACGGGGCACAATTCGTCAAGTGAAGGCAGTAATTTGCTCAGGCTTTCGTACACGACGGGCATCAATTCAGTGACGCTGTGAAGCGCCATGCTGGTATTGTCTTCTTCGCTGAGAATGATAACTCCATCCTCACCAGGATTGTCGGGCGTGCTCTCGTCAGAGGCCAGGCGGTGGCGTGCAACGTCATAAGCCGATTCTGATTTTTTGCAGCTCATCAGATAGCATTGAGTGTATGTGTATTCGTGGTTGTACTGGTTCACTTTCACCAACGCATACTGAACACCGGCATCATGAGCTTCGTTCATCAGGCGAGAAAAATTAAAGCCTTCTTCGTAGTGGTGTGTATCTTTAGTCACCACAATAGTCGCACCGCCGAACTCGTTTTCGCGTGGTCGGTCGCAGACGAAAGCGGCATTGATTGTGACCATCTCAGGCAGGTTAAACACCGACAACACGGCAGTTGTTACCGCGATAGCGTGGTCGAGGTTAATGCTTTCATCATGGCAGATTGCCAGGCCTTTACCGGTGATTTCCGCTTTGAGTTCCAGCTCGTAATTGTTTTCTGGTGACTCCGACTGACCAAAAGTCGGCTCAAACGGATCGCACTCCGGGTGGTTCTGAATAATACCCAGGACAAGCAATTCAGTGAGGGAACACTCTGAAACCGGTTTAGACAGCAAGTGTTCACCTTCCGCCACATCCGTGTCTGTAACATACGCAATCGCGTCCAGTGCCATCTGTGCCTGTTCCTGTGAACAGAGAATTGTGAAGGATGCCTGAGTGTAATTGTTCGCCATTGCATAACTCCTTATTTAATTAAATGTGATTGCTGTCTGTGAATAGATAATATCAAAACAGATACCTGCACCTAATAACCAATAATGAAATATGTTCGAAATTTTTATAGAGCAGACAGCGCCATATTTAATAATCCAACTTTTATTCTGGATACGGTGTAAAATAAATATACGGGAAAACAAAAAACCGCCACAAGGGCGGAATTTATTAGACGGGAAAGATTTGGTTATACGGTATGTGTCAGGGAGGAAGCAATGAGCCTGTCTGGTAACAGTGATTGTAGGGACGCAGACGAAATAACAAGCACCTGATCCAAGTGCGCTACACCTTCGTCGATATGTTGCTGGAATGCCGCTTCAGCTTCACCGCAGGAGTCCGCTTCGACCAGCATCACCTCTTCCTCATCATCAAACATCATGCGGCCTGAGATAATATACAGTCGGCTTAAGTCTGGGGTATTTACAGCGATGCCCTGTTAGTTAATCATCATTTTTCTCCGCCTTCAATTTTTAAATTTGTCAGTTCTGCTACGTGTAAAAAACAGCATCAGCCCTGTAAACCCGGACAGGTATCAACGTAGCTCATTGGTTTGCCGATCGCGGCGCTCAGGCGAAGGATTTCGCCGATGGAGACGTACCGAAGCATTTCCGAACGCCCGTGTTTCTGGTATTCATCCACCGACATAGTGCGCCAGTCCTTGTGCGGTGCGGTTTTGCACAACTGCCAGTTGTTGGCAGTGGTCGGGCGACGCAGGACATATACACCCAGCGAAGGCGTGAGGCCACTGCCGAATGCCTGCTCCACCACAATACGTACTTCAGAGCCGTCGGGGCGTTTCAGTGTCTGAGTAATTTTAGTAATGAGCTGTTCGGATTCCATACTATTAACCTCGACCGTCAGTTGGGTTGCTGTAGGGATATTTTACCAAAGTCGGCTCTCTGGCTAATAAGTAAGAAGTGATTTTTTTTCATTCATTGAAGTTTCTTTCATATGGAATGAATATTAATTATTTAAACTGACTCGGCCTATTTTAATTATTATTAATCAGGGTATTTAATGTGCAAATTGGCAGGGCGCTGAATTACCGGGCATCCATTGCCCGGACAGTTTATTAAAAAAACTGATAATGCCCCGCCGGAGAATTACGCCAATTCCTGTGAAGGCATGGTCTGGCTGAAAAGTTACTTTTCCCGGTTGCCCTGCCTTGATCCCGTATCGTTTATACCGGTCTGCTCTTACATCCTACCTGGGCAGCAGCTGGCTACGGTGATCGGGTATTAAAATAGAACCGGTCTGTTTTACCGCAGATTCAACGCCCCGCACCTAGCGTAAAATCGCCTTTCCCGGATGCCCTCCTTAGTCGTCCGGCACGATGGCGCTACTCCCAGCGATAAGGGGTAAAATAGTCCTCGTTAACAGCAAGAAATTCGGTCAGGGAATGCATCGCCTTCGTGTCATATGCCGTCACAATAAAACGGTATCCGTCCACCGTTTCGATGTAGCTGATCCCCCGTGGCGTGCAACTGGATTTCACAACTTCCGCCGTCATCATAAACTGCCCTTGCGGAAATTCCGGTGACAGGTAGATAAAGCCAGTGGTGGCTGATGACGGGTTGGCATTCATCAGCACGCCGTTAAATTGCTTTCCGTGCCGCGCCGGAATCAACGCGCTCCCCGCTGTCGCCTGAGTCATCAACTGGCGGATCAGGGTTTCCTCTTTATCTGAGCTGTAGGCGCGAACATCATTTTCAGCCCCGGAGCGTGAGTAGACGCCGACATGAGCAAGACGTCGGTACTCGTTACGCATATAGGCATGACAGGATGCACCGGCTCGCCCCTGAAGAGTGACGCCAAAGTCTTCACATAACATCAGTACCTGGCGCAGGTTTTTGTCATAGACCGTGGCAGAGAGCGCCAGGTTATAGCTGATGAATGTCAGCTCAAAAACCCGGGTATGTGCGTCACTAAGGTGTGCCTCCATGCGGATCACTGGTTTCTCCGTCATTGGAAACGGCGTACCGGCCAAGCAGTACGAGGTAACATCGCTAAAACACTCGTCGATCACACTGGCAATGACCGTATCGGCGTCAATGACAGCCGGAGCTGGAACATAAATCTGAAACTGTCCTTCAGTGCCCGGTTGGATCAGGACGGGGTATAGACGCGGGGAATTGAGTTGTTCGCAGTCGGCATTGATCAGTTCTGTCCAACCGGGTTTTCCGGTGGGAGCATCAAGGCGAAGACCCAGGTTATCGCAGAAGTCGACGATCTGGCGGGAGTGCTCCACCATCACTGCCCCGGAGAGTGTCAGACCGTGCGTAACCATCTGCATCTCACTCGTCCGGGTCTGGGAGTTCTGGGACCAGGGCTGTAATGAAAGCGTCGTCCGACTTAAGGAGGGAATGATGGTTTCATTCAGAGGTTCAATAAGCTGGCAATGCGCATACAGCCGGGTGGCGAGGAAGTCAAATATGAAGCTTGCCTGTTGTTTTGTGCTGGCCTGAATATAAAACATCGCATCCATGCCTGAATCCCGGGATGAAATACCGAAAAGTTTCATTTTTTACCTTAATGGATGAGCGATTTATAATCATGCGCCGACAGGTGGACGTTATGTACGCCATCGTTCCACTCAAAGAATAGCCGATATTTTGAATTAACTCGAATGGAAGAATACCGGTTTGCGGTCATTCTTAAGCGTTCGTACCGCAAACTACCAGATAACAATTCGCGTTCGTTTTTAACATTATTTAACGTTTCCAGTCTGCATGAAATCGCATTAATCAGTTCAGCAGGAATGCCTGCCGTGGATTTTCCATTACGGAAAAACTTTTCCAATCGCCTGTCTTTAAATGAATGGATCATATTTTCCTCCGTAACGAAATGAGTTTAAATAAATAAGAATTAAAAAAGCCTGAATCTAATTTATTACATCCCGAGGATTCTGGCTGCGACCGTCAGTTGTTTATCACTTAATGGAAATTTGCGTGATAACGTCGACTTCAGGCTGTTCAAAAAACTGTTCTCGCCGTCTTGCTGCGTGATGGCGTCCACCAGTTCTTGGTGGTTCTGACACCAGAGGTTGAACGCGGAAGTCTTTGATTGAACAGCACGTTGACGCTCTGCTGCCTGAGCGGCTGAGATCTTGCGAGCAGCTTCTGGGTATATGCGATACAGTGCAGTCAGGGTGTAACAGGTACGGGTAGTGACCAGGCTATAGCCAGTGGCATTACAGGCAATACAGCGGCTCTTATAAAAGTGATTGCGTTCGCCACGTCCATTGCATTTATTGCAAGTAACACGGTAAATATATTCCCCGGTGCCTTTTACTGAATCAATACACTTAATCTTAGCGTTATCGATTGCCATTCCGCTACGGTCAAAGTATTTATCCATTTTTGATTCCTCAGGTTTGGTCTGAAGTAATAATGACAGATTGGCCTCGCTGGCTAATAACCTGAACGAACGTTTTTTGAAAATAAATCAGGAAGGATGATTGAGATGATTTATATATGCAGGATTCAATTTTAATGGAGGGTATTTTCAGAATTATCTGTTTACAAAAAACGAAACAAATCCTAATGAGGCATTTATTGCATCACAATAAAAGTGATTGCTTTTCACTCATTTGAGTAGCGATGCTTAAGTATTTATCCGTTTTAAGGTATAACAGCAGCGTGATACGGCTCAGGGAATGCCTGTCCGTCACCTTAATGATGCTTTACTTCCGGTTGCCGAAACAGTCCATATGGCTGACATGTATAACACGCACGGTCTAACGCAGTTCCGGGGGGTGGCACAGCGGCGTGATGCCGCTTTAATCTGGAAAACGCAGGCATCTACTGGTGCCTCAGGATCGCGGCACTCGCAAGCTGAAACACCAGAGCCTGTTCGTCTTCCGGCTGTATCGCTCGTCCCCGTCTACAAAACCCGTCTCATCCGCAGGTATCGCTGGCGCACTCCCAGACGGTTAGAGGCTTTCGGGAACTGCCTGGGTCAAAGAACACCGGCGTTCAGGTAGCTGTTGAAATGGACATCTACACGTTTTTGTTCAAGTGATTCAGTTGTGGTGAGGGCATAACGGGTAATGCCCTCCCGTGAAGCCCTGAGAAAAGTTACTTTTCCAGGATTAATGCAGTCTTGCTTTTAATATAAATTCAGGGGATATTTTTTTAAAAAAATACCTGTCGTCAACTTATTAGAAAAGTAAGTCAAAATGCTAGAGTGTTCTCATTCAAAAAGAGGAGAACTAACCATGCCAAAATATTTGTTACCTGCCGAGCTTGCGGAAATTGTTTGTGGATTACTGGTGCAACCAGCATTATTGAATGAATTAAAAACACCAGCCACGCATAAAGCATTTATGCAGGACATCGGCGAGCTGGTGGCGAAACATTGCGGCGGTCAAATTGACGGCGTGATCATGCCTGAGGTACGCGATGAAGACAGCCAGGCCGATTACCTGACATCTCCAGATGAAACCCCTTATATTGTTGTCTCTCCTGGCCAGGACATGCACTCCCTCACAGATAACGTCTGGCGTCATCATGCCCGGGATGGCTGGCTTGACCATATCAAAGGCAGTGTCGAAGAAAGCCCTGATGAACTGCCGACCCACAAAGAGTGCGCTGTACGCCGCTACACCCTCCAGCGTCTGCTCCTTCAGGAAGAAACCAGCCATGCTAATCTGCCAGTACAGGTGGTACGGATGTGTGAGTACAGCACCGACGATGTTGAGCAGACCGATTCTTCAGCAGAGTTTAACGTCACAATGGCGCTCGGTGGTCATGCCATGCTGGCAGTAAAAGATACAGATTCCCGTCTGGTGATGGCCCTGACACTCTTGATTGAAAATGGAGTTCCCTCTGTCCACGTTAATGCGGGTGACACTGATCCTTCAGTTCTGCACATCCGGGCAGCTCACGGTGGTCTGGTTCTTTCAACCGACTCCCTTAATCATGATTTCAGTATTTCGCCCTCTGACCAGTATACCTACGGACGCCCTGGATTATTATTGAAAGCCGCCTACTGATTTATTAATTCAAAATCCGTCATTATTATTTACCCCCATTTTTCGCCCCTAACTTATGGGGCGAGTATATTTTAAAAAACTTTCTTTCAGGTTATTAGCCAGCAAACTAGAACTGGTAGAATTAATTCATCAGAGAAAAGGGGACTATCATGGCTAAATTAATTTCGACGCGTGAACTGGCAACAATTATTACTGCATTACTGGTAAAACCAGAATTACTGGGCGAGCTGGATTCCCCAGAAAAACATCGCGCCCTGATGGAAGATCTGGGGCGTGTTGTGGCAGAGCATTGTGGCGGTAATGTCACTGAAATCGCACTACCGGAGACCGATGGTACGGCTGCTGAAGGCGCGTTGCAGAATGGCCAGCCCGTCCGCTATCTGGAAACCAAAGAAAGCTCTCCGTATCTCATCGTACACCCTGACGCCTCACTGCCGTCGGTGACGCAAAACGTCTGGATGCACGCTGATCATGATGGCTGGGAAGAGCATTTCAACGGAGAGACCGATGCCCTGACTCCAGAGATGAGCGAGCAGTTCCGCCAGCAGGTTTATGCACTGCTGACGCCGGAATCCCATACCACCTCTTCAGAAATGAGACTGACTTTGCAGGACTGGCAACTGGGTGAAGCCGAGATCCCAGAAGAAGACTGTCAGCCCTACCAGGTGAAGGTGTTAGCAGAAAATAAAAACGTTCAGTGCGAAGTGACGAATGAAACCGGCACCACGTGTTTCGGCCTCATTTTGGAGATCGACCGTGGTGTACCGACGCTGCACATTGATACGGGCAGTGATTCACTGCTGCACATTCACGCGGCACATGACGGCCTGGTTCTGACACCGGATGCACCGAGCCACAGATTTGAAGATGCTCCTGTAGATCGCTTTTCTTATAACAGCCCGTCCCTGTTGGTGCCTGGGGTGTAACCAGGCAAACTGCCCAGCGGTATTTTGGCCCCGGGTAAAATTATTCAGAACAGGAGTCAGGCAGATGGGCGATGTTGCCACACTACCACCGAAAATTAACGATGGCGTACTTCGACGCTGGAATGCTCGCGGTAAAGCGGATAAAGAGGCGCTGGCCGACTATGGCGTTAGCGTGAAGGAGGAGTGAATTGCGCGAATTACTTGGAATGGCAGGTGCAGAACATCAAGCCTCCGTAATGTATCAAACGTTCGGACACCTCGACGCGAAGCTAGGCGAAAAGCATAAAGGTCACTTCGTTTTTATCAACGGCCAGCACGGCGATCTGTGCGTTGTGCATAGTGAATTTTCATCCTTTGACGAAGGTCCAGGCTATTTCAGTGACCGTGCCGACTTCATCTGGGAATTAGTTAAAAACGACGGCCCATGCTCTAAGGTCGGGATTTACCGATTTGACGGCGAATACGCGCTTCCTAAGCGCCGGAATGGGAGAAGATTTTCAGGAAGCGTAACGTGCCTGCAAGCATTCTAATTCCGTGCTGCATGAGCGCCGACAGGTCTTCCGTACAACGGGAGGCGGCACAGTTCGCGTGCAACCATCCCCACACAATAACTCGACTGAGTACATAATAATGACGAACGCTAACGCAAATGACGGGAAGACCAGCCCGGTATTACCCACTCTCGAACAGGTCTATGCTCTGCTCAAGGCCAACTATAAACCCGCACGATTTGCTGATCGGGATGGGGAAATCTGGGGGCATGAGTATTCATGGAACTTGGCAAGATCCAGTTTGCAAGACCTGGAGAAATACGGGAAATCATATGTATCCAAGCATTCCGACCGGATGGGCGATGGATTCAGTTTTGGTCCTGACCTGGTCATTATTCGCTGACATACGCACGGAAGTGAGTAAGATGGCTGGCTGCGCCGGAGAACTAGAGTAATGAAGGGTAAAAATATCGTGGCTCGTGTCGTGCGGGAAGCGGCCTATAAGTGGGAAACTCGCCACCAATTGCAGCAGGCGTACAATTCAGCGAGTGACGTGGGAAAAGTTCCCAGACATTCCGGTTCCGCATCTGATTTACGCCAGACGCTGTCATTTTTAATTCTTTGTAGGGCATGACGATGAAAAACACAGTAATACCGACGGTGACTGAAAACGAGATGGGAGAGGTGATCACCCGCCACTCGGCTTACGGACTGGTATCAGTAAGCCGCACGTCCACGACGGGACAGCGCCTTTATGCCTCCGACCTCAGTCATAAAGAGGTAGTCACGATGACCTTCAGTGAATCAGAGCAGATTGAACGCGACGGTGTGATCCGTCATCGACTGGCGGAAGGCCGACGCCGCTCACCGCTCCTGCAAGTCAGTCTGTCTCCGGCGCAGTGGGCCACGATGATCACATCGTTCGGAATGAGTGACGGCGTGCCGTGTACCATTAACAGCCTGATTCGCGGCGATTATGAGCGGCAGCCGGAGATTGGCTATATTGAGTCGACACGCGAACGATACGAACGGCAGATCCGGGAAGCCGCTGAGCGTGAAATGGCGAAATTGCATGAAAAGCTGGAAGTGCTGCGTTTGCTGGCGGTAAAAGGCAAGGCTGGAAAGCGTGAGCTTGACGAAGCCTATCAGTCGCTGTTAAGCGTAATCAATAACTTGCCGGTCAATCTGGCCTTCACCAACCAACTCATTCAGGAATCCATGGTGAATATCGTCTCACACGGCAAGGCCGAACTCGAAGCCACCGCCATGGGCGTAGCCGCTCGTCTGGGTATGAAAGAAATGAGCAGCCTTGCCTCGCTGGAAGAGAAGAAGTAACCGGTGCGCCCGCCCGTAAATCATGAAATGCACTAACGTCCATACCTGCTGCACACATACGCGGCACACAGATCAACGGCCAGCGCATACCGCGTTGACATAAACCGTAAACACTGAAGTGCGTCGTCCTGTCGGGGACATTCTACGTGGTTTTCTACGCCCCCCCCTTCTCTCTTCTGCGGCTCACAGAACTTCAGGAATTGCTGGTGGGCAGTCTCCAGGACGTTTTCCAGTAACCGGCTGTGGTCAGCGTCATATCCCTTCAGCAGGCGTTCCAGTTCTGCCATAGCGAGTGCAGGTGGTAACCAGATGACGCCAAGCAGCAAAAACTGGCTCTGCATTCGAATTTCATGGCGATCTGGCTTCAGACCCTCTGCCCGGGAAGCGCAATAATAAATCCTCTCCAGGGGAGCTACACGCGTGATAAGAGGTTTCTCAGCAAGTTCTGACATGCGACTAAATCAGCCTGTTTCGTTTCTTTCTGATTACGTTAAGACACTATGAAAAAGCCCCGTAATACGGGGCCGGTTCGGAGGCAGTTACTGGATTTGCGGCAGCTCGATCATGAAGCTTGATTCACCGACATTGCCGCTGGTGGCCGGGAAGATGGGGATCAGGACGCCATCACCCTGCCCGAAATCTATCGTGATGTCTTTCGAATCCCCGGGTACGACGGCCACCCCATTCATACTAACCGCAAAGGCCGCATCTTTGCGGACCGTCAGCGTGCCGGTTTGTGCTCCAGTGATCAGCGAACCATCTTTTTTCCGGATGCTATTGGTACGCAGATACGCCAGCGGCTGGTTATCTGATGTCTTCAGCCCCATACCCACGGCCAGCGTTTTGAGAGTGTTAAATTCAATCAGGTTGTTCGGTACATAACGGAACCGGCTGACCTTTGTCGTGGTATTACCGGCTTCATCTACCGCAACCGCAGTAAGCTGGTAGGAATCCGCATCATCTGTCGCGGGGAAGATACGCGGGTAGTTCAGCCCGTATTTATCAGTTCCCTGGCTGTACCAGCCCACACTGACTTTGTCAGAAGTGGGTCCGCCGCTCAGCGTGATGCTTTTCAGGGAAGCTTTTGTCATATCGTCGGCCAGTGTGATCACCAGATTTTCCAGCCCTTTGACCAGTGCTCCGTCAGCCTGCTTTCCCTCAAAACTGATATCGACAACAGGCGGCGTGACGTCATGCAGGATGGTATTCGATAGCGTCAGTTCTGCCGTGTTGTTGTAGGTGTCCGTCGCGGCACCCGTTGCAGTGTATTTCCCGGAGGGTAACGCGCTGTAATCAAACGTCACTTGTTTCAGCTGGTAGTTCAGGACCGTAACGTTTTTCGGCGACAAGGTAGAGACTTTATTACTGGTGTCCTTCAGTGTGAGGTTAAAGATATTGGTGGCCCACATATAATTGGTCCAGTCGTTAGTTACGTCACTGTCCGTCACCAGCATTACCACCGTTTTATCCAGTGGGCTGGAGACGATACTGTTGATAACCGGGGCGTTCATATCCCAGTAGGTGTAGAAATGCGACTGTAGTCCGCCGAGATTTGCGTATGAACCGGTCCCTCTGATATGAATTTGGTACGGAACATAGCCTTTCCCGCTCGTCTTACAGTAATTCATGCTGACCTGGCAACTGCTCTCACCCACTGAAACATTGCAACTGCCAATGCCGACGATAGTAGCAGTTTGCACATAAGAGCGCGGTTCAACGTTTACACGACCCAAATCTACGCAATCCGGCCCGGTAAACCTGACGATGTCACTCGAAGTCCATGTATTAGCATCTCTGAAATGGTACTGCCCTGACAAATAGCGGGGGGCTTCAGCCACGCCGTTACCCGGAGTAAATTTCAGCGTTTTGTACTGGAGGTTGACGTTAAGGCCCGCTTTAGTATGAAGCTCGTAGTACATATAGGTTTCCGGGTAGCTCACCGTGGCTTCAGTATAAAAATAGGTATTGTCGGAGTTGGTAATCTGATCGACCCAGCCGAAGTCTGTCCCGTTAAAATTGGTTGAGTCCGATTTAAGGCGTTTGTACCTGAATTTGACTGGGTTCTCGAAAATAGTCATGCCAGGAACATAATCTTCCCAGACGCCTGTTTTCGCATTCCGCACCTGATGTTGAATGTAGCTGGGTATTGTACGATCAATACCAGAGCGATGTGATGTTTCTGTCCAGTTCCCGGCTTTGTCATAAACCCGAAAACCTACGGTGTAATATGCCGGACTGACGGGCGCAACCGTGCTTCCTGCCGCCACCGCCGCCAGTGCCTGGACCACCCCCGTGAGTGCATTCAGCTGAGCATTTACAGTCCGGCGGACACCGCTGCTGTCAATAGCAAACCACTCCGCTTTATCCAGTCCTGACCTCGCATCAGAGACGTTCGATAACGAAATGGCCTGGGTTGCGGTCCTGTCGCCGAAAATATCCAGACTTCCGTACTGAAAACCAGCCCTGATCCACTGCATCGGATCTGGTAGAACGGGAGGAGTGATATCGATGCTGAAAGAGTAGCTGGTTGTCGCCACGACATTCGACTTATTGTCGAGTGTTTCGGATTTAAGAGAAAAAGTACCCTCGCCCAGTACCGGCAGTGTCATGGACTTGCCGTAGTACTCACTACCATCAGCGGCAGTGATCCTGTCGGCCACTGTCACCAGGCCGGTGACACTCTGGAACATCTGCACATTATCGGATGAACGTGTCACGGTAACGCGCTCGTAGCGGTCGAGACCAGATATCAGATTCAGCGTAATTGCGCTGCCCGGGTTGAGATACTCTCTGGTGGGTTCAGCATTCACTTTCGTGCCGCGTGTGTCGGTATACGAATAGTTGTAAAGCTGAGCCTGGCTGTAAAGCGGGAACAGCAGTGCCGTATAGACGGCGACAATCAACGGACGTCGGCAAAATTTCATTTCGGTTCTCCTGGTTGGCCAGAAAATTTTACCTGAATCGTTTTCTTCGCCCGGGCGCTAAGAGGGGTAATTGTTCAGTAAAACATCGTCCGTTTGTGTGCTTTTTGCCAGATTTAATCGGCAGGCCTGCGGGAAATACCCCATCCCAATGTCCGTTTTAGGCTGATTAATTCCCCAGAAATCCCCCCCTTAACGGAAAAATCCGCAGGGCAGACGTTTAAAATAGCAACAACTAAAAGGGGAATACTGAATGAAAAATCAGGCTATAGCTTTGGCTATGGCTATGCTCGGAGTCTCAGTTCCGGCATCTGCTCAAATTTATGAATCCATCTTCACAGATACCAATGGTATTGAAGTTCACGCCCCCTCAACCCGGCTGTTGCTGAATCCGGCCTCACCGGTAACCCTGACGCTCATTGCCGGTCTTGACCGTTATGTGAATGTCAAAATCACCAGCGCCACCGGCACGCAACTGCTGAACACCACTACTACGCGCACCAGCGTATCCGACCGTCTGAAGGCCGGAGATGGCAGCGAATTTTACGGAAAAAAAGTAACTTTACCGGTGCTTGGCGAAGGCAGGTCGGTTGTGCAGGTCAGTATTCTGGATCTGAATCAGTCCGTTGTAGCCACCTACAGCTACAACTGGCTGGTAGACACCACACCGCTGTCTGGTAATGCCCTCACAGGCAACGCCGCCTATGGATCAACTGCGGGTAGCGTCTGGAAAATGGGGCTGGAGGCCACGGGGCAGTTTGATTTTACCTCAACCAATGTCACGGACGTAAATGGCATCGAGAAAGGTATGTTTTATGTCTATCACAGTAACGGCAGTCTGTTCAGTACGACGTGACTGGTCAGAAGATGTATCACACTTACTCAAAAAACTCGGTCAAAGGCGCGGGTATTCCCGACAGCAATCTGGATGAAGATTTCACGGCCAAGGTAGTCATTTATGACAACGCAGGAAACACCCGAACCCTTCCGTTGCAGCTCTTTCGATATGATAACTATCTGGGCGGTCCGAGATCCGCAAAGCTCCGCCAGCGTGGTGCCAGGGGTTTCCGGATATCCGGCCTATTCAGCTGGGATGACCGTTAATGAGAATCCGATTCATCTTGTATATCGCGTGCCAAAGTCCAACTACCGGTCATATGCCGAGGGCGGCCTGCTATTCTATAACCTGTATTCTTCCCCGACCGAGATTGCGACGGACAGCACCTATACCTACGTTGAAATGATCCTGCCCTAGTACGGTGGTATACGGGCTGGAGAATATCCGTATAGCTCTGGCGGATAACCTGACAACACCCCGGATCACCCGTCTTCAGATAACCGGAGGGCCAACGGCAGATAACGTTGAGCTCACGTGGTCACCTGCTGGCACGAACGTTTATGCGCCAGAATATCCAAGGCTGTTCCCCTCATTCGAGCCTTCCGAAAACTATGCGCTTAGCGTGACGGTCTCCGACAGTCAGTCGAACAGCAAAACTTATACCCAGAAATTCAGCTACCTCCCGAATAACCTAGTGCAGTTGCATAACCTGCGAACCTTATCCGTCAGTTCAGCACTCAAAACGTCGTTAAATGAGCCTCTTGCTTATCTGTCAACCAACGTGTTGCGTAAGTCCAACGGTGAGATTGCAAAAACGTCCAGAGTGCGACGCTAACGGTACGTAAAGACGCTGCCTTCGGTATTAAGTTCAACGGCGTGCAGGCCGCGCTTGGTGAATCTGTAGAGGTGAAAATTGATATGGGGCTCGGTGATAACCTTTTAGTACCTATATACCCTGCTGAAAACGGCAAAGTGGGTACATCCGAGTTCATGATCCAGATCGATGAGCTGAAGTAATGAGAATGGGCCGTCGGTAGTACTGGCGGCTTAACGAAAGTAACTTTTTCTGTAAGGGTTGAAGTGTGCTTCTGATGTTTTTAGAACGGATCGGAATTTACTCACATTTTGATCGTGATGATTCAATACGTGACAGAGCATAGTTATCAACAGGATAGAATAATAATAAAGATCAATAGAGGATCAATAGCAGATCAAAAAGGAATAACGATCCTCGCAGCCCAGTGATATCGGGCCTCTCAGCGGATCAGCATCCACTGTACAGGGGGAGAAATACACTATGTCGGGTAATCCATCCACTGTACCGGGCGCATAATCCACTATACCGGGTAGATTCGATACACTATAGCGGGTAGGATGTAGATCTTATGCACAAAACGGATCTCCCAATATGTCAAGTAATAACAACAAGTTATCTCTCGTCATTGAAGAGTCCCTAAAAGATTCAGGGGAAGTTATACAACTCTTTCCCACATTAAAACAGACCATTCAACCGAAAGTTTTACTCCGCCTAGGTGTGTTTGTGCCGACTTTGAAATCTACGGACAAGGGGGGGAGGAAGAGCCATCATATCGATGCCACTGAGCCGCTATCAAGGTTATCTATTGTAGAGGGTGAAGGTTACAGCCAGATCCAAATCTACGGGCCGCGTCTCGATATGGATACCGATTTCAAATCATGGTGTGGGATCGTTTATGCGTTGTCTAACCGGCCGCTTGATTCAGAAGGTCAGCTGGAGCTGAATTTTCCGGAGTTTGCAAAATTTTGTGGGTTTGATACCAAGCGCATTGATAAACAACTGAAAGAGCGCTTTGATGCTTCGCTGACGCGTATAGCCCGGACCAACATTTCATTTATTAAGAAAATACCCGGTACAGATGATCAGATAACGATAAACATGCACCTGGTGGAATCGACGTATTACGACAGTTCCACGGGAAAAATCATCATCAAGCCAAATTCGAAGCTCAATACGCTGTATCGCGTCGACGGTAAAACCCGACTCTACCTGAAGACATTGCAAAAACTGGCCCGTAAGGAGTCCGCACAGGCCCTGTACCTGTATCTGGCTGAGCTGCCGAGCACCTTTTACCGCATCGGATTCGATCGGCTTCGTGGACGACTCCAACTGTCATCACACCTCGGTAACCAGAATGCCACGGTTAAAAAGGCGCTGGGCCAGCTTAAAGAGATCGGTTTTCTGGAATACTCCATAGACAAAGAAAACGGCGATTACGTACTGAATATTCTAAAGAGAAACATGAAGCCATGACCGATGCCGGATAATGCACCTGCCTGCCGCGTGGGTGGCTGCGTTACCCGGTATAGTGGACATTCTTCTCCTTTCCACTCTGCTTTACCCGGTACAATGGATCTCCACTACACCGGGTAGTGTCAGGCCTAAAATTACGATGCAGCCCCTCCTCTTCAGCCTTACACTGAATATTTAGTGTGTTTTTTCACCAAAAATGTGATCTATACCCGGTACAGTGGAGTCACAGAAATGTGATCCGTACCCGGTATAGTGGATGAGAACTACTGCTAATCGGTTACCGGGAATGTGGTGGTACTGGGTGGAAAGGTTTACCCGGTATAGTGGATCGTGGCAGTGTCATCTTTCCGGATAGCATGACGTCACGGTTAGGAAACCGTACCCGGTATAGTGGATAGCGAATGGTGTACAACCCTGTTAACGTGATGATGCTGAAGTGAAAGTTTAACCCGGTTTAGTGGAGCGACTTAAAGCGCGTACCAGTAGCTGATGGGGGAGCAGCACCCGGTACAGTGGAGGGGCGGATATCGTCGTAAAGGTCTTAACTAAAAGATGACCATTCAGTCGCAGCATTAAAGAAATATATCATCGAGTCTCAGGGGTTTTAAGCCGGTAGACACCCTTCCACCAGGAGTCGAAAGACAAGCTATCATCGCAGCGCATAAATATGCCGTTATGCTTGGTGACAACGCTAAGATAGCCTTTATTTTTCCCGCAGATCTTCTCAAAAGACTCTGTTGCTTTAATAAAATTTTCACCATCCGTGATGGCCGGAGAATCCAGTTCCTTCGCCAGCCATGCCGGATAGCTGTCCGCATTAACCCATACAAGGCGTTCAACAACTGAAAAGAAGACGCCGACAAGGCCAATCGTCCAAAGCGTAATAACCAGTAAACGCAAAATTCGTAAGGCTATAAATTTTGAGTGCTGTAGAGGCGAAACGATAAAAGGCAGTGAGATCATGACTGTGAGTGAGACTGATGCCGCCAGCAAGGTGTATAACAATGACCATGATTTAACATAGGCGGAAAAAGCGATCATTAAACAAATCAGAATGATGAGCGGTGCATTGCTTTTCATCATGCCCGTGCTAATTTTCATTCTTTTGGGGCTCCATTTTGTACGAGTTTTGAGAGACTGCGTTTGTAATCATCCGCTGCCTTAGAAAAGTTACCGTCATTCTGTACCGGCGTAAAGCGAATGCCAAAAAACGCCTCAATGACGGAGGAAAGCGTCACTATCGGTCCTGACGAGGCATGGGCTTTTCGCTCCCGAGCCTCACGCTCCGCAAAGTGGATCACCGGTCCCCTAGAAAATGAGAGTGAGTCATGGGAAGACCAGTCTGTTTATAGCCACAGTAGTTAAACGCACCCCGCCAGTCCGTCGCTGTTTGACATCATGGCCGCGAATTAGGTTAACGTCGCCCGGTATAGTGTAATCCCAGGCTGAACCTGTGTTTGCAGCTGGTGGCCCTGCATCCATCACCATGACAGGCGCTGGCCGCAGGAATCGCGTGCCGGATGAAGGGTATCCACTATACCGGGTGAATGATATGTTGATCCACGCTGACGGGTAGTTTTATGAGCAAACCCGCAGCGAGTGGCAGGCCTGTGTCATTCGCAGTTTTACTGATGGGACGGAAGGTTATCCACAAAAACGGTGAATAACCCTGTGACCGGAATCTGGATAATCATCATTGCGGCGACAACAACAGAAAGAAGTGGCCCGGACTTGGCCACCCTACCCTGCTTTTACTTCAGTTCCTCTATATTCAGCATAAATTCAGAAGTTCCAACGACGCCGGAAGTCGAAGGAAAAATAGGGAAGCTGCGGCTGTCACCCAGACCCAGATCCAACTGAACATTTTTGCTCTCCCCAGGAGCTGCGGAAACCCCATTCACCGTGACGCCGAAGGCTGCATCCTTACGCACCGTCAGTATCGCGTCCTGTTTCCCGGTTGCGATAGACCCGTCCTTCTTACGCAGCTGGCTGGCATAAAGAACCGCCAGCGGTGTGTCATCGGACGTTTTCAGCGCGGTACTAACGGAGATGGTCTTAAGGTTTTCCAGACGAACCAGGTTGTTCGGCAAGTAACTAAATTCGACGGCGCTTTCTTTAACGTTGTTCATCTCGTCTTTGGCCTGCACGGTAAGCGTGTAAGTTTCGCCGTCGTTAAGTGAAGGAAAGATCTTCGGGTAATTCGGGGCATAAAGATTATTTCCGAGGTTTACCCACGACAACTCAACAGCATCAGATACCGGGCCACCGCGAAGCGTCATTCGCGTTAAAGAGGGCTTGGTCAGGGTATCTGCGAGCTGAATACGAATGTTCTCCAGTCCATACACCGTTACACTGCTGGTGATAGGTTTGGTTTCGTAGCTGATACTGATGGACGGCGGCGTGTTATCGACCGTCACAGTCTTATAGTCCAGACTACCCGTATTGTTGAACGAATCCTGGGCGTTGAGCTGCACGTTATAGCTGCCCTCCGGGATTAGTTTCAGGTTGAACTCGTATGTATAATTCCCGGTTGCTGTGTTACGCCCCGTTAGTGTTCCGGTCACATTGATATCCGCGTTATTGCGGGATTTGTCGGACAGCCACACCCGGCTCAGTTTAACGGTATCGAAATACGATCCGTCTCCCGGCTGGTTGATGTAAACCTGAAGGATGTTGGTCGTATCATTGTAGTCATAGCCAGTGACCGAAGGCCCCAGCGTATGCCAGACGACGTTTTCCCAGATAGGCATGAAGAAGGTGGATTCTGTTGTGGAACGTACCTCATAACCACTATGCAGATAGCCGGTGGTGCCGTTTGTAATCGCCTGTGTCAGGGCGACGGTACACGACGTTGACCCGGCAGGGATGTTGCAGGTGGCACCGCCAGTAATTTTTTGGTCGTAGGGCCTTGCCTGCACATTGAAACGGATCTGGGTCAGGTTCACCGGCATATCTGAAGCCTTGAAGTATTTCCAATTGACGCTGTTAAACCAGGTACCATCGGACATCTGTCGCTCAATCGCCGGACTCCCCCATGCAGGACTTTTTACCGAAGCCGGGTCCCAGTTCAGCCAGGAGGCGTATTGAGTCAGATCGCCTCCGGACCATTGGTACGTGTTCACTGGGCGATAGTAGTTTATATCCAGAGCGCCCTGGGGAAGCTTCACCTCGACGTACACATAGGTCGTGTCTTCTGAAATAACCTTAGCACCGCCATAATTGTTAAGAATGGTGATGCCGCCGTTACGGTATGGCTTCCAGTTGGTTCGGGGGATACGGATGACCATACGGTATGGGTTTTCGAGTACAGATAGCCCCCGAACAAACGGGACGTACCCTGAAGAGATCCCCGGGACCACACTCGTACTGACGCGTGAGTCATGAACCGCAAAGGGGGTGTATTCACCTATCTGGTCATCAAATAAAAAGCGCTGCGGCGGAATATTCAGCGTGTTTCCGGCTTTATCTGTGATGATAAAATTGAAGGTAAATTCTTCATTGAGATCGCTGGTGGGCATACCGGGTTGAGTGACCGAGTCCTTGATCCAGGGGTAAAAGGCACGTTTTGCCGCCGTATCGTAACTGAGTGTGTTGTCGGACACGACTGTGCCATTTCCGCGCTTGATGACCAGACGGATCTTGTCTATGCCATTCGCATCATCAACTCCATCAGCAAAGATGGAAAACTGGCCAGATCCTCCGCGCCCAAGCCCCCAAACTGGGCCACTCAGGACCATTTCATAGCCTGCGTTCTGGCTCGGGTAGATGCTGGTATACTTTGGCGCTGTAGTGTCGATTGTGAAATGATACGTTGAAGAGCTGACGACAGCCTGCTGGAGATCCAGAGTATCGTTGATGACGGTGAAGGCCCCTTCACCGAGTGCGGGTAACGCCAAGTCCTTTCCGTAATATTCCGTGCCGTCTGCGGCAACAATGCGATCTGCGACGCTTATCTTTCCTGTCACTGCGGAATACATGACCTTTTTGTCACTGTCCCTGGTCACACTCACTCGTTCGTATCGGTCAAGGCCGGAGATCAGATTCAGGGTCATTGTGCTTGCCGGATTAAGGTAGCTCTGCGTGGCAGGCTTAAGCGTCTTTGCCAGCTGATTGGTGTCAGTATACGAATAGCTGAAAATCTGAGCCGCCGCCGGATAAACTGAAGCTATGGCCGTGGCAATGATACAGCCTGTCAGAATTTTACGCATGTGATACTCCCGGGATGTATTTGCCCCTATTTTACGAAATCTTTTCACCTGGGCTTGCTGGTTAGCCGGGGTATTTCACGGCATAAAACTTTTAAATGTTGCCGTGATAGCAATGTTGTCGGGTCAGAACAAAACGAAAGTTAAGGCAACTTCAACAGGGCTGATTACGGTGGAAGAAAAGTAACTTTTCTCTTGAGAAGAAATAGGAAAAGCAGAAATTAGGACGATTAAATGAGGTGAAATGTCAGCAACAGGCGATGATTGTCCATCATCGTAAGGGAGGGTACAGGGTGCCGCTGCCTTACTGGCATCATGTTGATGTCCAGCTCTTCATACCCGTTTGTACCTTAGCCGGAACTGTTGTTCAGTACAGGTAAAAGTTGTAATAACTCCCCGCTCACTGCCGGGGAGTCATTTTAAATCAGCACGGCGCCATCAGAATAGATTAGCTTTCAAACCAGGGCGAATCGGCAGAGTTCGCAGATTCTTCACTTTGCTGTGACTCTCCCAGAAATTGCACTTCACGTACTGGTTTACTTTTCCCCAGGCTCCGCTGGAAATCATCCATCACAAACTCAATATCATCACGGTCCTCAGGCAAGACAGGCGAACTTTTGGACATAGTCTTTCCTTCAGTTAAAAGCGTTCTGCATACAGAACGCGGACGGAGACGGCAGTGTTGTCAAACTCATTATCGAAGGTATCCATCCACTCGGTCCTGAACCCCTCGCCCAGCAGGTTATCGATCCCCTGAAGGGACAGAGGCAGGACGGCAGCTAAACGCCCGCCGGGAACCAGATGAGACGCAGCGGCCAGCAGATGCAGCTTAGCCCGGTTGTCAGCAAAAGGAGGGTTCATCACCACGCAATCAAATTTCTGAATCTGATTCGCCGCCGACCAGGCCAGAAAATCGGCTTCCGTGGTCTCGTAACCTTTAGCCCGGGAGACCAGACAATTCAGTGTATCCAGTTCGATGCCGGTTACGTTGACACTTTTCGGGAAACATTGAAGCAAATCCCCGTGCCCAATATTGGGCTCCAGCAGCCGTTCCCCCTCCCCGGCCGCAATAATGGATGCGACGTATTCACTGAGTCGCGCCGACGACGGATAAAACTGGTGGGATTTAATATCAGGCATGGCGCCCATATGTCCGATGAAGCGCATCACTTCGGTCGGGTCATAATCAAACGTCACATGGTAGCTTGTCACTCGGGCACCGAGAAATCGCAGAACATCCGCGTTCACCTGCCGCGTTTTATCAGCGTTCTCACCGGCATAGCCGAGCGATGTCCAGCTGGACCATTCCTTTTCATTCTGGGTAAAATCCAGCTCTGCAAGCTGCATCCGTGAATGAAAATCGATGCAGCGTTTCAGTGCCGGGAACTCCTGCAACGTCGCTTTGGTATGGGCCACGCGTTCAGCAGGCAGAGCCAGAGGGACGATGGCAGCAAGAATGTTGTTAAGCCGTTCGGCGATATCAGGATGCACATCAATGTGCATCGATCCGTTTTTGTAGACCCGAAAACGAATACTGTTGCCATCCAGGCTGATCCAGTTTCTGAATCCAACATGACCAACCATATTCTCAACCATTTTTTTCGTGTCATAGACCGGTTTAACTGTTTCGCCCCGGAAATAAGAACAGATCACCCGCAACTCCGAAAGTGGCATGAGGCCGGATTCTTTAAACTCAACCTTCAGTTTTACCCATTTGTCTTTCACGCCTTCACATACGCCGGAGGTGATCATGCGAGTAGAGAAGCCAAATGCTTTATTGGTTTTGTGTTGACGGCTTAATGACTGAAAGACGGCATAGACACGATCTTTAATGAACTGATGCCGGTCATTGAGCAACGCGACAACCGTGGTAACAACAGCATCGAGTGTAAAATCAGGGATCTCCTGAGGAGGAAGGTGGTAACGGTCAGCAGTAAACTGCTTATCCCATTCTTTCTTCTTTTCGTCAGACATCACAGACAGTACATCGGTCAGGGCCATGACCCTCTTCCAGTATTCTGAACGCAGCGCGTTTTCTGCGTAGCTGGCATCCGCTTCTGAAATGAGATGATTGTATCCGGAGAGGTATGAATAGAGCTTCTGATTCCCGCATTTCAGGAACTGAGCGGACATGGACCTCAGTAAGCTAAGCTCATCGTTATATGATTCGACCTGCCTGTTAATGACATCGAGCTCTTCCCGCATTTCGGGCAGGAAGTTATCGTCGTTAATAAGGAGGCCAGTATGAGGCATATAAGCAACCAGAGAACTCCCAGGGGCACCCATTGGCAGGGAATCAGATTCAACAGCAGACATAGCACCAGTCCTTTTTGAAGGGTTTATCTGATACCAGGATAACAACCTTGAACAAAAAGCTAATAGGTTGGCTGACATGAAAATGGAGAAATTAACACTGCGGAAAGTCAGAAAGACAGATGTGGTTTTAATCAGAAGAAACGGGCCGGAGACAGGACAAAAAAACCCCTACATAGTAGGGGCAACGGGGGGAGAGCCTGGGTGGCTCGCTCTAAAATATCGTACTTCTTATTGTAGTCTTCTCACACTCTGAAATAATTCATTTAAGCCTGTGCTGGGGGTGTTTCGGATTGCGGTTCTCCGCCATTTTTATCGTTTTTCTTGGTTTTGTAAGTCACTTTTTCCCCTTTCAATCGGGCTTGCCGATTTTCGGCCCGGCGAAGCTGCTTGTTTTCTGATTCCGTAATCTCACTTTGCAGGTTCTTGAGCATCTCCAGCATGCTCCGGTTCAGCGTAAAGGTAATTTCTTCATCTTCGCTGGAGTCGGTCACCTCCGGCAACTCGATATCACCGAGTTTCTGCAATAGACTCGTCGTAATGAGTTTGACCCCTTCGACGGCTTTTGTAGCGAGAACTGGTGGAACACGTGCGGGTTTAAAATCGGAAGGGACAACACGGATCTGCCCGCGTGGCGTTTTCTTAATCTGGATACCGCTTGAATCAGCCTTTTCAAGGTCTGCGATCATCTTTTCGATCCGCGCAACAGCTTCCGTTTCACCGAACTCATCGATAAGGGACAGGACTGCTACATAGGAAATGGCATCGGCATGGATCAGTTTTTTGAGATAGACACAGCAGCCGGTTAAACGAATAAGAGCAGCAATTGTGGTATTACTTTTTCCCTCACGTTCGGCAATACGGTCAAGCGACCATCCACCCAGCGCCTGAAGACGTCGGTAGGATTCACCCAAAGCCACAGGAGAAAGAGCCAGGCCACGGTTTCCGTCAATCGTTGTCAATTCGCAGCTGATCTCATCGGCTTTCATCTCGATGCAAAGAATGGTGAGGTTAGAATGCCCTTCTGCCACAGCCATCAAAGCAGCCTTTAAACGGCAATGTCCCTGGCGAACGTACGGAATGCCGTCTTTGATCAGAACGCGGATAGGGTCTACGTAATCACCCCGGATGTACGCATTCTTGATGTTATTGAGATGATCGGCGACTTCTGGCAACTGGTAATAAGCTTCCCCCATTCCCATCTCACGGGAGTTGAATCCTTCCGTGATTTGAACCACGGTTGGGCTGATAGCCCATGCTTTCTGTTCAGTGACTTCATTACAAAGGTCAGGGTTCGCGTCGCGGAACTGCTTCATACCACTGACGAATCGGCCGGAACCGGTCACTGTTGAAAAAGACACGAGTGGGGATTTAAAGACCCGTGAGTTAGTTTGCTGTTGGGAATCAGTCATCAGATCACTCATAGATACTCCGTTGAATTCTTTTTTGTCATACCTTTCATCTGTGCGTGAATACTACCGGAAAAAAAAATCTCACTTTTTCGTTAAAAAGGTACTTTTTGGGTCTATTCCGAATTGAACGAGGAAAATTGTTCTGGCGATCAGAACAAAAAGAAAAAATAACTCAAATAAAACAGATGGTTATGGTTAATTCGTAAAGGATAAACTTTTTTCTGAGAAGTGAAAAAAAATTAAAAAATGTGTCGAAATGACAATCTCGTTAACAAAAGCCACGTTTTTTCCTGCTCATACCTTATTGGTAGCAATCCGCCTTTCGGTACCATAAGTGTGGCATACCGATAAAGCTGAACGGAGAAGACTCGTTGCGAAAACATACACCAATCATCAAATGGGCGGGGGGTAAAACCAAACTGATGCCGTTCCTCAGTAAGCACTTCCCACATGATAAGAGCCGACGCTGGGTTGAACCGTTTATCGGCGGTGGCGCCGTGTTTCTGAACATGTTTGCCACCGAGGCTCTCCTAGCAGACAGCAACCCGGACCTAATCAATCTGTACCGCAACATACAGCGAAATAAACCGGCATTCATCAGAGAAGTGCAGCTGCTGGCGGAAAGGCATTTTGAAGAAGAGGATTACTACGTGCTGCGTAATACCTTTAACAGCACCAGTTTTGATGATGCCCCGCTACAACGAGCAGCCATTTTCTACGCGATGAATCGACTCGGATATAACGGTCTGTGTCGTTACAACCTGAAGCGAAAGTTCTCAGTTCCATGGGGAAAGCGATACCAGTTCAGTCTGGATATCCAGAAGGTTGATTACCTCTCATTCAGGCTTTCGAGCGTTGAATTGAAAACCGCAGATTTTGGTCAGACGCTGGAGTTTGCAGGTGGTGGTGACCAAATATATTGCGATCCGCCATATGACAAAATCAGTAAAACCAGCTTTGTAAGCTATGATGGTATACCGTTCGATAAGAGCGCACATGTTAAACTGGCGGATATGCTGGTGGATGCTAATCGTAAAGGGGCCTCAGTGGCCATATCCAACAGCATGACTCCCTTTACGCTGGAGCTCTATGAAGAACGCGGTTTTGATATTCATACTCACAACGCTTATCGGTCTGTCGGCAGTCAATCAAAGTCGCGTAAGAAGGAAATAGAAATTCTGGCCGTCCTTCGTTGAGCGGCGATCAGTAGTTAGTCGATCGGGCTTATCCATTCCTCGAAGCTCAGCACTTCGGAATGGTCACGGCTGGCATAGGGAATAAACTGAAGCTCTTCAATTGATCGCTCCCCTCTCTTACCTTCGCATATAAACGATATGAACCCCTGATCTGCAAGTTGGGTAAGGACATTCATGATTCGTACGTTCACTGTATGCAACTGAAGATCATTCACGATATCGGTAATTTTGTGTGAATGGCGCCGGGACTTTCGCAAATAATCAAAGATGACAAACTGGGCATTCCGTCGCTTCAATAATTTTTCCGTCATAAATTCCTGAATTAATCCCCCCAGCAACATCAGGAACGGACGAAGTACCCCAGGGAACGTTAACGTATAAGACTGCGATGTTTTGACCAGAGTGAAGGACGTCAGGAAGCTGAAGTTTAGTCGCTTCTTTGAATACGGGACATAAACAGCCAATGTCGTAGACAAGTAAGTAAGCAATTCTTCCAGATGAGCGCGTGTGATCATGACCGTCTTATCGCTATTACGAAGACCGTGATAATCAATAAATGCCACTCTGGCACGACTCAGCCACTCGTGAATGCTTATGGATACAGTGAACGGTGCGTTTTCATCGGCAGAAATGACGCCGTGCTCAGCGAGTTGGTTATGGATAAGCATAGACAGCTGGTAAAATGGAAAACGGCAGGATGGATGACACTGTAGGCCAGTTAGCGTTAGCTTTGCATTATCCAAGTCATCGAGCGGAAAAGTAACTTTTCGGGAAATAATTTTTGCTGACGTTCTTGCTGACTTGCGGATGAACCCAAGTCCAAGATCATTTTGCATATATCACTCCGTTTTAACAAAATCTCCTTAACCTATATGTTAAGAAGAGACAAAAAATTAAAAAATATAATTAATAAGATTATCATTTTTAATTTAAAAGATTAGTTAATAACGGGTGTTGAATTTAAAATAAATCGGCTTATTTTCGGAGTGTAAAACCGGGTAAAAACCCGATGCGTGAGCAACAGATTTGACGTGAGTGAGTCGGCACGACAGTGCAGAAAGCCGGTGGCTAATGTAAAAACGGCCTGTATTTGGGAGTTCCGGTCACTAGACACCAGGCTATGCTGTTAATTTAAACACAGTCAGTAATGCGTAGGGCACTGAGTCAAAGTAGTGGATCTTTCTCACTTTTCCCGAAAGATGATAGCTATGCCCCAATAAAACGTGATCCTGAACATTACCAGTCAACGCGAATCCATCATTCTGCTTTTTGCCTGTAAAAGTAAAAAAATAGCTATGAGAACCTTTTGAAAACGCAGCTCGCACTTCTGTAAAAATAATATCAAAACTAACTACATCACCAATGTTGAAAGAATGTTCAATTGGAAAACCGGCGTTTTCTGAAAAAGCTTCAGAAACAGGCTGGTATGTCGAGTAGAAAGACTCCAACTGACGGACTGTTAAAAAGAGATTGTTGTTTAACTGCTGTGCAATGCTTGCTGCAAACTTAGAATTGTCAGCTTGCAGCAATGCTAACTGCTCGCTGTGCCTACGTTTCCAGGCTTCAAGATCGGGATTGCAGCGAAGTTCCGGGATAGTTTCAAGGAATTCAATGCACTCTTTCAGTACCAGCTTTTCCTCTGTGGCTGGAGACGTTTTGGAGCCATTGCATGTCACACAGACGGCGTTCGCAATCTTTCCAGTCCCTCCGCATTCAAAGCACTCACGGGTGATAACGGCGTAATAGTGTCCATCTTTACCGTAGATAGGCTTTACGGATGATGGCAGTAAATAACCATCCTGAGTAAAAAAAAGAGAATGTTTCATTTTTTAAGGTTCTCCAGTCGAGCCTCCACGAGCTGTAAAGCGTCAGTTACCTTCTGTACGTATTGATCGTGCCCTTCTTCAAAATGATCAAAACGCTTTCCAGCCTTGATCTCTTCAATGTTGCGATCGAGTGTGCCTTTTGTAATAAGTAGATCGTTATAAGTATTAATTACAGTAAACTGTGCAATCTTGTCCATAAACGGTCCTTAGCATTCTACTCACTTGTTAACAGGTCACGAATTTCATGCAGTTCTGTAACCTTAGATTTTGGAATGATGATAGCAGTATTTTCATCATTCAGAAGGCTTAATAAAAGCTGGAGTTTTGCTTCATCTAGAGTGATCTTTACACTTTCCGTTGTCTTTGTGATGGAAGTGCTGCTGATGTTCGTAAATAAATTGGAATGTTGTCCGTCGAAAATTAATTCGGTGAGTTTATTACTGTCGTTTAGTGCTGGCCGTACAGTATCAATCAGCCCGATAAATTCAGTTTTTAAGCGTTCAGTTTTTTTATGAGAAAGCCGTTTAATACCCAATGAACTGCGAGTGATGGATTTTGTTTTAACTTCCTTAGGAATAACATGAACAGGGAGTGTTTCCGGGTTATCTAGTTTCTCATCGTTTGATGATGTTTGAACGCTTGATGTCTTAGATAAAACAGGTTCTGGTTCAGTTGATGGTACTAAAAGAGAACACGATTCCAAATGTGCAAGGACTTTTGCATGGTCATTGGAATACTTCAACATGATCTCAATCGCGAGTGTTTTTTTAATCAGGTTTAGACTGATTAAACGTTGTAGTTCTAAAGGCATATCAAGGATTTTAAGCTGGTTACGAATAGCAGTGCTAGACCGTTGATAGCGCATAGCAAGGGATTCAACGGTAGAGCCAAGCTTCAGCGCCTCTGCCAGTGCATAAGCTAAGGCTACGGGATTAAGACCGTTATTCCTATTCCCATCAAGGTTCTCCAGGTATTCTTCACTTTTATTCTTATAGTTCATAACAACTACTGAAATGAGCTGAATATCAGCTCCTTCCGCAAGAGCAAGAGATAGTGCTCTGTAACGGCAATGCCCCTGCCTTACAACGTAATTGGAGTCTTTCTTAACAACCTTAATTAAATCGACTCGTCTGCCCTCTTTATAGGCTTGTTTAATAGAAACAATGGTCGATTTTACTGGTTCCTGTTCATAACAAAGTTCACCAATTACCGCTTCACGTGGATTGAATCCAGATTCGATAAAAAGTGCTTTAGGACTGATCTCAATAATCTGATAGTCGCAGTGATTCATATAACCTCCTTTTTATTACATGATACATTAATTGACTCAGTTTCAAATAACCCAAAAGCAAAAAACAATTAATTCGGTGCTTGACTGTAATTTTAGTTATGAAGGAATTAGGCCATTTTAATTTGAAATTTTTAAATCTGAATGGTTTGAAATTAATATATCTTAAAAGCTTAAGATTGATTGATACTTCTTCCGGCTGCATTCCCTACTTGGCTAGAGTCCGAACCTGAACTTTTTAGGTCAGAGTTGGTTAACAGACGGAATTTATCCACGTTTTCCACAAGTTAGATCAATTCTTTAGATCAAGAGAGATCAAGAGAGTACAAAAAAGATCACAGGTTCCGTAAATGACTGATTTTATTATGGAATAAGCATGATCAGGCATTCAGGTGCATGTAAAAAGCATTTGATTGAATAAGAAAAGCATTTACTTGAATTGAAAAGGCATTTAGTTTAATGCGAGAAAAGCATTTGCACGAATAATCTATTCACATCTAAATGTATCAAGGGATAAACCATGGTGGGTAAATTTAAATGAGTGATAACAATGAGGTAACACATCCTTTTGATGTGACCAACACGGAGACAGGGAAGACTTATCAACTGAGTCCAAACTCTTCGAAATCGGTCCAACCCATTGCTTTACTGCGCTTAAGTGTTTTTACCCCGGTGGGAACTAAAGAGAAGCGATACAGAAATTTTGAGGTTGACGCTTCTGATGAGTTGTCGAGCATGGAGCTGGCCCGTTCAGAAGGATACGATGACATTCGGATCACTGGTCTTAAGCTTTCGATGTCAACCGATTTTAAGTGTTGGCTCGGTTGCATAATGGCGTTCAGCAAATATGGTTTCGCTTCCGATAAAATCACATTGTCATTCAATGAGTTTGCAAAAATGTGTGGTATCAGTTCTACAAACATAAACAAGCGAACTCGCTCACGATTTCAGGAGGCGCTAGCAAACCTAGCTTCCGTTGTGATTTCTTTCCGTGATTCAAAAACTGAACGTTTTACTGTCACGCACCTTGTGCAGAAAGCAGTGATTGATCCTAAGAAGGACACCGTAGAGTTGGTGGGCGATCCCTCAATGTGGGAGCTTTACCGGTATGATCATAAAACCTTACTTAGTTTGCAGGTGCTTTCGGTTCTCGCTAAAAAAGAGGCAGCACAAAGCCTGTACATATATTTTGAGGCGATGCCTGCCGGTACGTTATTCGTAAGCATGAAGCGTTTGCGTGAGCGACTTCTGTTGACGACTCCTGTACGAACTCAAAACCAGATCATCAGGAAGGCGATGCTGGAGTTAAAATCAATAGGATATCTTGAATATCAAGAGGTTAAGAAAGGTAGAGATATCCAGTTCCAGATTTTTAAAAGAAGTCCAAAACTTGCTCTGGCAAAACACAGTTGATGCTCCGGGTATAGTACGCACAAAAGTTACTTTGGATGTAATGAGGAGTATGGGCATTCATCCAAATGCTTTTTAATGTTTCTCCGGATTTGAACACCCTTCCCTGTTTCCAAACTTCCTATCATTTCTGATACCCGGGTTCTTCTGGTATTCGTTCGAATGCTTTTCAGAAAAAATCATGCTTGCTAGTTGAGACAACGTAACCTATTCATTTTGCTAGTTTAATAAGACTCATTCATACATATGCCTTTAACTACACTACCCTCCATCGTGTTGTATTGGGCTTTAAACGCAAATCCCTATACTCCTTGTGCCACTCGGCGTATTTACAGTTCCTTAACGCCTGCAAACGACTGGGATATGAGCCTGGTCGACGGCATTTTATGAATATGCAGGCCAATGAAGGACCTAGAGAAATAACATAACATTCTGATAATAAATGAAAATTACTCAAATTGGATATCAAGGAGATGAAAGGCATTTGTTTCAATGGAGAGCAAAAAAGTGCCTTTTGTATAAAAGCATTTGCTCCAATGGCGGCAGAAAAGTGCCTTTTGTATAAAAGCATTTGCTTCAATGGCGGCAGAAAAGTGCCTTTTGAAAAAAGCATTTGTATGAATGCTGCGGTGAAAGTTGCTTTTGGTCGGGAAGCAGGGCTCGCAAGGGACAGTGTAAGGTGCCTTTGTTCGAAAAGCATTTGCACGAATAGGAGAATGCAAGTTGCCTTTGGTCGGAAAGCATTTGAATGAATGGGGAAGTGTAAGTTGCCTTTGGTTGGAAAGCATTTGCATGAATGAGTCCCTGATAGGTGTCTTTGTTTGAAAAGCATTTGCATGAATGGATTCAGAAGAAGTGACTTTTACGATAAGCATTTGAATGAATGGGCACCGCAGACGCGCATTCCCCAATCAGCATTTGAATGAATGAGCTCCGCAGTTTTGCTTTCATCGAACAGCATTCGTATGAATGTGCTCCGCAGAGGTGGCTTTCATTGAAAAGCATTTGTATGAATGGGGGATACATAATCCTTGTGGGTGAAAAGCACTCGCATCAATGGGGGAAAAGTGACTTTTGGAATGTCATCCTTACCGTGTCCTTTGTTAAATATCTGGCTGGATGAATGCCATAAAAATGGTAAAGGGGCAGACGATGCCCCTCTTCCCTATTTGGCATGTTAATTAAACGCACCTTCTTTAATCCGATTACATGCGGGATTCTTTTCTGACATTCGATGGCTAAAAAAACACCAAGCGCAATTAAGTCAAAAAAAAGGTGGTTAACAGAAAAATGAAAGAAAAATAAAAAGTATTATGCCAATGCGTTTTCGTGAATTCAAATCAACACGGAGTAATTATGGAACTGACATTGAATACTAACGTTGAAAGAGGAAAAACTAACGCTTTTGCATTTTTGAAGTCCAAACATGCAAAAGTGCCTTTGTTTATTCTCTTGGTTTTAGCAAATTGCAGTTTTGCGTACGCGGGTTCCGATGATGGAGCCTTCGGCGATATCTGGGCCTACATGAGCGAAGCCTTGACTGGTGCGCCGGGTAAAATCATCGCGTGCGGCATGTTGTTCTCGGTGGCTTATTTCGGCGTTGTAAAACCTAACCTTGGTTTGGCGCTGGTATCAGCATTAATGATGCTGGTTATGGCAAACGGTGAAAAAATTATCAGCTCGTTCCTGGATGCTGGTATTCCTCTGTGATTTGTTAGAACAATAACAATGAGGGGGATATTCCCCCTCTCTGGAGTTTTTATGACAAGCCAGTACGAGATACCGCCACATACATATCGCTTTCCATACAGAATAAATATGCCGTTACTAATTCTATTCTGGGATGCAAAGCAATTGGGTATAACATTCGTGACTATCGCGAGCGGTAATATTTTTGATTTCTTTATAACTTCGGTAGTTGTGGCGGTGGTGTTCTGGTTTGCATATAAGAAAGCAGCAGAGGAAGGGATTAGAGGAAAACTAAAACACAAACTGTGGTGGTACGGCTTTTTTCCTGGAAAATCGGTGTTTAGTAGTCGTTACTTTACCGATCCATTTATCAGAAACCTCTATTCTTGATGGAGCTAAGAATGAAACTTCTCAGCAGGTTAAAAATTCCATTCATTAAAAATTCCAGTAATGGCGATTTTGATAACAAGGATGAGACTTCGCAAAAAGGAGGTGAAGAAGTAAAAGGAAGTTTTCTGGATTCAAAAGCACGCTTTAGTAAAGAAATTGAAGGTTCTGAAATTGGAATTACATATAGTGCATTGATTAAACGCGACGAAAAACTCCTACGTGTGAATACAGTTGCAATGATCATTATTGGGGTTCTGGTTGTAAAAAATCAATTTCTCACTGATCCTGTGACTATAGTGCTACCGCCAAATATGACGGAAGAAGTCAAAGTTGTTGGAAATAAAGCCTCAGAATCATATAAAACGCAGTGGGCCTTATTCTTTAGTACTTTGATTGGAAACATAAACCCAACAAACATCGGTTTTGTTACAACAACTATATTGGATGCGCTTTCTCCGGATTTACAGGCAAAGACCCGGGAATCACTACAGCAGCAAACCAATATAATGCAGGCTCGTGGTGTAGAGCAGTCATTTAAGCCGATCGATATGTATTACGACACCAAAAATGACATGGTCTATGTCTGGGGAACAAAGTCAACTCGTTTGATTAATGTTCCGGACAAAACTGAATCATCCAAATGGACGTTTGAATGGGTCCTGGGAATGAAAAATGGACGACCGCGCATAGCCTATGTGAACCAGTATTCAGGTACACCAAATATTAAGAAAATTACAATCAACGGCAAAGAACAACTGGCAACACTCGATAATCCGCCGCCGTCAATAGGTAACTAATTATGACTTCAAAAAAGGTTTTTCACTGCACCGCGATTACAGCAGTGATTTTGCTGGCAACTTCGAATGTGGTATTTGCTGAAGACTATCAGTTACCGGCGACAGTAAATAATCCGGTAGTTATGCCTGTCGGGGCCGATGAATTTCAGAACGGTGTGAAAAATGCGATAATTAAAGACACTGGCACTACGACTGAGACCGTACAAGCAACAAAACCGACAACTGCTCTGCCAAGTCTTTCACCTGCAAGCAGTGCTTCTCCCGCAGTCAATGAAATAACCGGGGCGTTGTCAAATAACCCTACTCTAGCTGGTTACCAGCAACAGGTTAAATCAGGAAATTTTGATAGTTACGGAAGACCAGCAGGGAAAGAACCTCAACAAAATGCACAAAGTACCGGGTCCCCTTCAAAGGCAGATGAACTTTATGTTGAAGCACGTAATCGCTATAAAGAAGTACAACGAGTAAACGTTCCGCCTGGTGGCAATATTGTACTCCCGGTTTCTCGGGGGCTGCAAAACAGAATTTCGACTTCATTTAAAAATGCATCTGTAAGTACTTCAACGCCAGCTGATGAAGCCAGTATTTTCGTTAATGGCGGGGATGTTTTTATTTCAACAAATACAGATAAGCCTATAGGAATTATGCTTTCAGAAGATTCAGTTCCTGAATCTACTTATAACCTGACACTGGTTCCACTGGATGTACCAGGGGCCATGATTTCAGTAACAACTTCTTTGAGCCCGACAATGCAGGCAAAACGAGAAACTTCTCTTGATAAACAAAATTATGATGAGATGCTGGCACGCTCACAATCAGAAGAGTTGACTCCTTCAGACCCTCGGCAGGATGACCATAAACAGCGGATCATTGATTTGTTGACTCCGGTTGCACTGGGTGAGGTTCCTTCTGGTTTCAGTTTACAAGAAGACCGCTTGTCACGCATACCAAGCTCAGAGCAGTCCCCATGTAATTTCAATATGTACGCCAAGTTAGGTCAAAGACTGGTGGGATCTCGGGAATTGATAGATGTCGTTCTTGTTAAGAATGATAAGCCTTACGGACAGGTAGTGGCTGATCAGCAATGTATAACTGAAGGCGTGGTTGCAAGCGCTCTATTCGATAAAGCATTCCTTCAGCCCGGGGAAGAGACCGAACTTTATATTGTGCGGGATAAATTATTTAAAGAGCGTCAGACTCGTGTTACTACGCGCCCAAGCCTGATTAAAAGATAATATGAGAAAAGCTACTTTTCTTACAGTGATCTCGTTTGGTTTAGTTGTCTTTTTGGGTACCAGTTATTACTACCAAACTAAGTATATCCCGAAAGGCACCGTGAATATATTTCCTGATGTCCACCGACAGGGTGAGATCGTTGATGATGCCTTTGAGAAAAGCACGATTGTTATAAGCGACCCAACGCTTGCGGATAAATTTGTTGGAAGTTCAACCGAGTCTGTCGGTCGGCATGAAGTTAATGTAATAAAAGAATTGGGCACGCAAAATAATGGTTCGAAATTTATTCATGATGAGTCTGATAAATCAGGTTTGACGGTTGGAGATAAATGGCCTAGGGCTGGTGAACCTTATATCGTGCCTCAGATGACAGAATACGAGCGGAATTTGAAAGTTAAGCGATTCCAGCAACCAAAGAATGGAGTTAATAATGGACATTAAAAAGGCCTGGGAAAATAAAACTGTCAGAATCTCAGTAATTGGTGCTGCATTGATGGTATTGATTGTTGTCATCAGTCAATCAATCTTTACCACACCAGTTAAAAAAGAGAAGAAAACCCAGAAAAAAGATATGCAAACTGGATTCCTTATTGATGATTCACAAATGAACAAGCTGAGTAATGAGGAAAGCCAGAAGACTTATAACGAAATGGTAAGGCAGAACCGTATTGACCAGAACGCTGCCAAGGCTGACCGTGACAAAGCTGAAAAGGCTCAGCAAGAAAACAAAGCACAGATAGCCAGTCTTGCTTCGCAAGTTCAGCAACTCACTACGCAGTTGACTGAAATGCAGACCTCAAGAAATGGTAATCGCAATCTCGATGCAGGCGGACCACGCAACAACGTCAATGAACAAGCCCCAGCAAAGCCATACCAGCTTAATCCAAATGCAGCGGTGAACGGGGTTAGTTCTGGATACGCACCTATATCTCCGACCCGAAACAGTCCAATGCGGACAATAACACAGAGTTCAATTAAGACAAACGGCACTGATGGTGTCATTCAGGTGATGCCGATATCAGAGAACCGGATCAGAGAGGGGCGCGAGGTTGTTGCGGGAAGTGAAAAGGCCCCAACGCGAACTATTCGCGGCGATGGGACTGCACCTGTTGATAGTAAAGCTCGTCATGCGGCCCGTAAGGATGAAATGTTTCTTCCAGCGACGTCAATTATTACTGGGGTGCTAATTACCGGGCTGGAAGCTCCAACGAGTTTGTCCTCTAAAGCAGAACCGATGCCGGTTACCATGCGCATTAAAAAAGACATCATCATGCCTAACAATTACACGATGGATTTGCGTGATTGTAATTTATTGGGTTCTGCTGTGGGGGATCTGGCATCTCAGCGTGCGTACATTAGGGCAACCTCCATATCGTGTGTCAACTCGAAAGGAAAAGCATTCGACGTAATAGTGGAAGCTTATGCGGTTAGTGAAAATGACGGGAAAAATGGCATTCGTGGGAATCTGATAAGCAGAAATGGAAATGCGATTGCAGGTTCTGCGTTTGCAGGAGGGCTGTCAGCATTGGCGGGGAGTCTGAGTCCATCAAAGGTGTCTTCGCTTAATATAGATCCAAACTCTACGGCACAATACCAATCGCCAAACATAGGTGCATTAGGAGCGCTGGCCGGAGCCGGTGCAGCTCAGGGGGGTCTAAACCGTCTTGTGGACTACTATACGTCAATAGCTGAGCAGCAGTGGCCAATTGTAGAAATTAGCCCAGGGCGCCCAATTACTTTTGTCGTTCAAAAAGGGGCGACAATACCTACAAACCTGACAAGCCGCTGAGAATAATTATGGAAAATAACAACGACAATGAATCACCAAAAAAGAGTGAGTCTGCTGATAGCTTAAATATCGACGCGGCTAAACCGGTTGGGGGTATACGTACTACCAAAAAAGTAACTTTAGAGATCGATATCGAGAAAACTCTTAAGTATCTGATGGTCGCAGGCCTGGCAGTTCTTATCGTGATCTATGGATACAAGGGTGGACGTTTTGTATATGACAACTTCAAAGCAATGTCGCAACCGGCCTACCAGATTGCCGTGCTGGATATGCAAACTTTAAGAAAAGTATTTAATAAGCAAAATCCGGTGTTGGATTCGCAGCAATCCAAAACTAACTTTGAAAATTATTTTAAGGCATTAATGAAGGTTTACCGTGAACGTGGCTATTTGGTTATTGATGCATCCTTGGCAGTAACTATTCCAGAGAATGTTGAAATAGTCTCTTATATCGACCTTGGTGGAAGTTTTGGTGAGGTACAATCTCTTCCAGGCGAACCTAAAGAAAGTGAGATTCGATAATTGAAAAAGTTACTTTTGTCTCTGCTGATTTCCATTACCTCAGCGTGCCCGCCGCTTACTCTGGCTGTTGAAAATGTATTAAACAATCGTGATGCCGCTGCGTTAATGGAAAAGGCAAAAGAAGGTGGAGTATCAACGAAACCTTTAGACGGTGTATTGGCGAAAATGAAAAGCTATAAGCCTAAAGATGCTATTTACATCCCTACTGGCGGTCTTTATTTGTTCCAGGATGAACGTTCTCAGTTGATGGCGGTGACCACTGACGGACGGTATACAATCACGGGGGGGAGCGTCATGGACATTCTTCAGAGAAAGTCAGTGTTATCAGTAGAGGATATACGAAAGTCGTTCTTTATTAATTTAGACGACGCCCCTTTCCCTCTTGAAACTGTGGCATCGATACCTTTAGGAAACCCAAAACTCAAACGTCAAGCGGCAATATTTATTACGCTTGATTGTGACGGTTGTCAGGATTTAATAAAGAAATTCTATGATGAACGCGAAAAGTATCGGGTCGATATAGTTTTAATCCCCTCCCCCGGCGAGCCAAAGCAGGAATTGCGTCAATTATGGTGCAGTAAAGAAAAAGGCAAAGTGAATGATCTTGATATCTTGCGTTGGCTTATGGGTAATAAGGCCGATATAGAAAAACGACTCCTGACGAAAGAAGAGGCAGAAGCATGTCCGGCTGAACCGTTAGTCGCGTCATTAATGCTGGCTGGCATTTATAAATTACAGGGAGTCCCCTCAGTTGTAAGACAGGATGGACTCGCTGGTAATGGCATACCGAAAGATTTTGATTACTGGTTAAAACAAAGTGTCGAACCCTTACTCAAAAACCCATTTGATACTAATTAAGGTAATGAAATGAACATTAAAAAAGTTATTTTCAGCGCTCTGGTTGTTGGTTCATCTTCATACCTGGCGGGTTGTACTATTGGCAGCGCAGAATCTGAATGCCCGGGAATTGAAAAAGGAGTTATTTGTAAAGGCCCGCGTGAAGTTATGGAACTGACGAACAATCGTGATGATCTCTCCGGCCTTGGGGAGGAAGAGGCTAATTCGGGAAAGGGGAAATCGGCTGTCAATGACAGCCAGTACCCTGCCCAACTAACGCCGCCTGGCGCAGTGCAGTACCCCAAGTCGTCTGTACTTGTTAATAAGCCAGTGACATACACAACGACGGAAGTAAAACCGGTTGGACAGCTCCCGGTGATGTATGATCAGACATTAAAAATGGGGGCGCCAACTTCAACAATTGGACCACGGCCAATCAGCGGGAATCCTGTTAATTCTAATGTACGGATGACAACGAGTTACAACTCAAATGGGTCATCCGTTAACCCCTTTTTGCATCCGTCTGCTGAAGTCGTGAAAAAAACAACTCAGGTTGTTACTCCCGCGCCTGCACCGCGCTATGTAGCACCAAATTCTGATATCAATGCAAGTAAAGACCTTTATTCCATTAACAATGGACAGCCAGTAAACCCTACGCTCAGCTCTGGGCAGGTACAGCAATACCGTACACAAGGCTACAAACAGGCAGTCGTTGCACCAGAGCCTCTTGCTGTGCTTCAGCAAGGCCGCGTCATGAGAATCACCTTTGCACCATATACGGATGATAATGACGCGCTAAATCTGCCTGGCTTTGTTTATGTGAATGTCAAACCGCAAACTTGGATTGCGGGCAAAAATTCAACATCAAATCCGGCACGAATTGTTCCTTTGGAAGTCCAGGATGCGGCTCGTGAAAATATGCAACAGCAACAGCGAGCAACGAAAGCAGTTTCGTCAAACGGTATTGTGAGACAACTCTGAGGTCACGAATGAGATCAGCTAACGTCTATAATAAAGAATTAAGCCGTCATCAGTTAGGTGGATTTATTCCCGTGTATGATCAGATTCCGGGTACACATTATTTTCTACTTGACGGAAACCGACTCGGTTTTATGTTTATCTGTAGTCCGTCGCCCGGTGTCTTTGATAATCAGCAGGATGTGTTAACTGAATTATTTAAAATGGACTTCCCAACTGACACCATCTGTCAGACCTCATTAACTGCGCTGCCAGACTTGATCTTGCACTTAAGTGCCTGGTCTGCCGTTCGTGGTGGTCGAATGGAAGGTCATGATAAGCTTAAGGGGGATTTACTCACTGCATATCAACTGGATTATTATGACCGAAGCCTGAATGAACCTTTGAAGCCGGACCACGATAAATTGATGCTTCGAGATTTTCAGGTCTGGATTTCCTTTTCAATTCCATTGAAGTCAGCACTTCCTTCTGAAATAGAAAAGAGTCGCATTGATGCGCTTTACTCTGACTTAATCAGTAAGTTGAATACAGTAGGCCTTTTCCCACACAAAGTTGGTGCTGAAAATTGGCTTTATTGCATGGATAAGTTATTGCATCCGGGAAAAACATCGCGTTGGTCTGAAGGTCATGTTGAAGCTAGCACCATGAGACGCCTAAACGAGCAGATCAATGTACCGGGTCGAAAATATACAGTGACAGAGAATCATTTCTCATCTACAACGCAGAGCAATGATATTTCTGAGCATCGTTATTTCAAACAATTATCAGTAGTGAAGTTTCCAGAATTTGTAAACTTTGGCTGCATGTATGAACTTGTAGTTAATTGGTTGAATGGACGTAAAACGATCTTTAGCCCTTTCATGATAACCCAGACTGTCCATTTCGCCGATCCTTTAAAATTATCAAGAGAAAACGTCAGATATAAGGCAATTACTAACAAACAAGCCAGTATTCCAACAGTTTTGACGTTTTGTCCAAGATTAAAGGATATGGATAATGATTACATGACGATAACACGCGAACTGGAAGATGGGGCTCGCCTCCTACACAGTTATCTGACATTTACTGTAATGGGGAATTCAGCAGTTGATGTTCAGTCTGCCGCAGACCAGTTAAAATCATTTTATCTGGAAAGTCGTGTTAATGTTGCTGATGACTCGTACATAGTATTTCCCTCATTTGTTTCAAGCCTGCCGATGTGTAATGACCCAAAGACAATACTAGAACTGGATCGTTTTGAGGTCGTGAGTAATACTGGTGCTGCGCACATGACCCCCATATTTGGTCCTTGGAAAGGTAATACGGACAGACCCGTACTTAACCTTGTCTCACGAGAAGGACAGCTGTTGGGGCTGGATATCTTCAAGACTTCTGCCAGCTATAACATGGTCGTTGGTGCAACGTCTGGTGCTGGTAAATCATTCTGGGTCGCATACATCATTAATAATTATCTAGGCGCAGGTCCGCGTTCTAATAATCTGATCCATTATCGAGATACTTTTGAGGGATTCAAAAACAATTCTTATGATGCATTTGACCCTGATGGAGCCCAGATTTTCGTAGTTGATGTCGGACGCTCATACCAAGGTATTTCGGAACAATATACTAATAGTCAGTTTATAGACTTTGGGAAAAAGCCTGATTTTACGCTAAATCCATTCGCATTTTTGACTGATGTGACTGTTGGAGAGCGTGTTTTTGATGAAGCACCTGTCTTTAATGACGATTCAAATAATCATGATGATGATAAGGATAAAGTAGCCCAGACCATTATGGTTCTAAACCAGTTAAAAATAATGGCATCTGAAAAAGGAAATATTGACGATTTTCAACAATCGGTCATGCTGCAACTGATTAGTGAAGAATATAACGAATCACGCAAAGTTGGACGTACAGGCTCTATTACTGGATTTGCGCGACGCTGTTCTAACCATGAAGATAAGCGTATTAAAGATATCGGTGACCAGTTGGGGCAATGGTGTGAAGGAGGGATTTATGGGAATCGCTTTACAGAAAATCTCCCGCCAATAAATTTTGATAGCCGGTTTATTGTTCTGGAACTTGAAGAATTGAAGGGGACCCCACACCTTCAGACTGTCGTTCTGATGTCGATTATTCAGGCCGCTCAGCATGCAATGTTTATCAAGAAAGACGGACGCCGCCGGTTGTTCATACTTGATGAGGCATGGGAGTATATCCGTCCGGACAATGCTTCAGGTTCCAGTAATCATTCAAATCAATTTTTCTCCTCTTTCCTTGAGGCCGCTTGGCGCCGATTCAGGAAAACGAACTGTGCCGGTATTTGTATTACTCAATCCTTTGAAGATTACTTCACCTCATCGGTTGGTCGCGCACTAACGGCTAACTCGCCGTGGAAGATCATCATGAAGCAGGAAAAGGAAAGTATTGAAGCCATGAAGGTGAACAACTACTTCTCCACAACTGATGCGGAATATGAGCGTATGAAAAATATTCGAACGGTAAAGCGTGCATTTTCCGAGATGCTCGTACGATTCGAAAATTTCCAGGAGATATGTCGCCTCTATGTAGATAGAAAAATGGAGCTTTGCTTTACGACTGACAGCACCGATCGTGGAAAACTATGGGAAATCCAAAGCCGACTTGATTGCTCTTACGGCGAAGCAATTGAGATTCTGTACGAACAGGAAGTTGCGAGCAAATCAGCTGCCTGACGTTTTAAGTTACTGGTTACCTCATTTTGTTTTGACTGAGGTATCCAGTACGTCTTTGAAGTAAATAGTTGTTAGCTGTCATTGCCTGCCCTCCCCCGAAATAATAGCCCGGGTTAAGAATATCTAGCTCGGATTAAGTCCTCTCAAACCGTCATACATGAAATTCGATGCCTTTGTCATTCTTCTTTTGAAGGTGAATGAATATGATGAAATTTACTCCAGAATTATTCTCCCTACCAGGCTTTTGCTGTGAAGTTAATCAGAGCAGGTATTATGTTTTGGGTACAAGAACCAACCAAGGGGGTGTGGTTTTTGTATGGCAGATACAAACATCATTTTTACGGTTATAATAAATAACCATTATATAGATGAATTTGTCGTTTTTTCTTTTAAGTCCTTGAAATAATTGGATCTAATATCTAGATGATGGTTGTATAAACTATACGTTAATTAGATTTGAGAATGCAACTGTTATGCGATGCGTAGATATTATTAAGGTGAATGGTTTGTTAAAACAACCAAAAAACAAGTAAGATCAGGTCTTATCTCCATAATAACTTAACCATCTAACTTTCTGGTTGGAATAAGAAACCATTTTAAGCTTATTCAATAACGAAATTTAACCACTTGAATCGACTGACCATGGTAGAAAGTTGGTAGGGTACCGTGGCATTGAGCCCCCTTAATCGCCAGACCATGGAGGGAAGCTGGTTGCGTACCGTGGCATTTAACCCCCTTAATCGCCAGACCATGGAGGAAAGCTG
CCCTCCATGGTCTGGCGATTAAGGGGGCTCAATGCCACGGTACCCTACCAACTTTCTACCATGGTCAGTCGATTCAAGTGGTTAAATTTCGTTATTGAATAAGCTTAAAATGGTTTCTTATTCCAACCAGAAAGTTAGATGGTTAAGTTATTATGGAGATAAGACCTGATCTTACTTGTTTTTTGGTTGTTTTAACAAACCATTCACCTTAATAATATCTACGCATCGCATAACAGTTGCATTCTCAAATCTAATTAACGTATAGTTTATACAACCATCATCTAGATATTAGATCCAATTATTTCAAGGACTTAAAAGAAAAAACGACAAATTCATCTATATAATGGTTATTTATTATAACCGTAAAAATGATGTTTGTATCTGCCATACAAAAACCACACCCCCTTGGTTGGTTCTTGTACCCAAAACATAATACCTGCTCTGATTAACTTCACAGCAAAAGCCTGGTAGGGAGAATAATTCTGGAGTAAATTTCATCATATTCATTCACCTTCAAAAGAAGAATGACAAAGGCATCGAATTTCATGTATGACGGTTTGAGAGGACTTAATCCGAGCTAGATATTCTTAACCCGGGCTATTATTTCGGGGGAGGGCAGGCAATGACAGCTAACAACTATTTACTTCAAAGACGTACTGGATACCTCAGTCAAAACAAAATGAGGTAACCAGTAACTTAAAACGTCAGGCAGCTGATTTGCTCGCAACTTCCTGTTCGTACAGAATCTCAATTGCTTCGCCGTAAGAGCAATCAAGTCGGCTTTGGATTTCCCATAGTTTTCCACGATCGGTGCTGTCAGTCGTAAAGCAAAGCTCCATTTTTCTATCTACATAGAGGCGACATATCTCCTGGAAATTTTCGAATCGTACGAGCATCTCGGAAAATGCACGCTTTACCGTTCGAATATTTTTCATACGCTCATATTCCGCATCAGTTGTGGAGAAGTAGTTGTTCACCTTCATGGCTTCAATACTTTCCTTTTCCTGCTTCATGATGATCTTCCACGGCGAGTTAGCCGTTAGTGCGCGACCAACCGATGAGGTGAAGTAATCTTCAAAGGATTGAGTAATACAAATACCGGCACAGTTCGTTTTCCTGAATCGGCGCCAAGCGGCCTCAAGGAAAGAGGAGAAAAATTGATTTGAATGATTACTGGAACCTGAAGCATTGTCCGGACGGATATACTCCCATGCCTCATCAAGTATGAACAACCGGCGGCGTCCGTCTTTCTTGATAAACATTGCATGCTGAGCGGCCTGAATAATCGACATCAGAACGACAGTCTGAAGGTGTGGGGTCCCCTTCAATTCTTCAAGTTCCAGAACAATAAACCGGCTATCAAAATTTATTGGCGGGAGATTTTCTGTAAAGCGATTCCCATAAATCCCTCCTTCACACCATTGCCCCAACTGGTCACCGATATCTTTAATACGCTTATCTTCATGGTTAGAACAGCGTCGCGCAAATCCAGTAATAGAGCCTGTACGTCCAACTTTGCGTGATTCGTTATATTCTTCACTAATCAGTTGCAGCATGACCGATTGTTGAAAATCGTCAATATTTCCTTTTTCAGATGCCATTATTTTTAACTGGTTTAGAACCATAATGGTCTGGGCTACTTTATCCTTATCATCATCATGATTATTTGAATCGTCATTAAAGACAGGTGCTTCATCAAAAACACGCTCTCCAACAGTCACATCAGTCAAAAATGCGAATGGATTTAGCGTAAAATCAGGCTTTTTCCCAAAGTCTATAAACTGACTATTAGTATATTGTTCCGAAATACCTTGGTATGAGCGTCCGACATCAACTACGAAAATCTGGGCTCCATCAGGGTCAAATGCATCATAAGAATTGTTTTTGAATCCCTCAAAAGTATCTCGATAATGGATCAGATTATTAGAACGCGGACCTGCGCCTAGATAATTATTAATGATGTATGCGACCCAGAATGATTTACCAGCACCAGACGTTGCACCAACGACCATGTTATAGCTGGCAGAAGTCTTGAAGATATCCAGCCCCAACAGCTGTCCTTCTCGTGAGACAAGGTTAAGTACGGGTCTGTCCGTATTACCTTTCCAAGGACCAAATATGGGGGTCATGTGCGCAGCACCAGTATTACTCACGACCTCAAAACGATCCAGTTCTAGTATTGTCTTTGGGTCATTACACATCGGCAGGCTTGAAACAAATGAGGGAAATACTATGTACGAGTCATCAGCAACATTAACACGACTTTCCAGATAAAATGATTTTAACTGGTCTGCGGCAGACTGAACATCAACTGCTGAATTCCCCATTACAGTAAATGTCAGATAACTGTGTAGGAGGCGAGCCCCATCTTCCAGTTCGCGTGTTATCGTCATGTAATCATTATCCATATCCTTTAATCTTGGACAAAACGTCAAAACTGTTGGAATACTGGCTTGTTTGTTAGTAATTGCCTTATATCTGACGTTTTCTCTTGATAATTTTAAAGGATCGGCGAAATGGACAGTCTGGGTTATCATGAAAGGGCTAAAGATCGTTTTACGTCCATTCAACCAATTAACTACAAGTTCATACATGCAGCCAAAGTTTACAAATTCTGGAAACTTCACTACTGATAATTGTTTGAAATAACGATGCTCAGAAATATCATTGCTCTGCGTTGTAGATGAGAAATGATTCTCTGTCACTGTATATTTTCGACCCGGTACATTGATCTGCTCGTTTAGGCGTCTCATGGTGCTAGCTTCAACATGACCTTCAGACCAACGCGATGTTTTTCCCGGATGCAATAACTTATCCATGCAATAAAGCCAATTTTCAGCACCAACTTTGTGTGGGAAAAGGCCTACTGTATTCAACTTACTGATTAAGTCAGAGTAAAGCGCATCAATGCGACTCTTTTCTATTTCAGAAGGAAGTGCTGACTTCAATGGAATTGAAAAGGAAATCCAGACCTGAAAATCTCGAAGCATCAATTTATCGTGGTCCGGCTTCAAAGGTTCATTCAGGCTTCGGTCATAATAATCCAGTTGATATGCAGTGAGTAAATCCCCCTTAAGCTTATCATGACCTTCCATTCGACCACCACGAACGGCAGACCAGGCACTTAAGTGCAAGATCAAGTCTGGCAGCGCAGTTAATGAGGTCTGACAGATGGTGTCAGTTGGGAAGTCCATTTTAAATAATTCAGTTAACACATCCTGCTGATTATCAAAGACACCGGGCGACGGACTACAGATAAACATAAAACCGAGTCGGTTTCCGTCAAGTAGAAAATAATGTGTACCCGGAATCTGATCATACACGGGAATAAATCCACCTAACTGATGACGGCTTAATTCTTTATTATAGACGTTAGCTGATCTCATTCGTGACCTCAGAGTTGTCTCACAATACCGTTTGACGAAACTGCTTTCGTTGCTCGCTGTTGCTGTTGCATATTTTCACGAGCCGCATCCTGGACTTCCAAAGGAACAATTCGTGCCGGATTTGATGTTGAATTTTTGCCCGCAATCCAAGTTTGCGGTTTGACATTCACATAAACAAAGCCAGGCAGATTTAGCGCGTCATTATCATCCGTATATGGTGCAAAGGTGATTCTCATGACGCGGCCTTGCTGAAGCACAGCAAGAGGCTCTGGTGCAACGACTGCCTGTTTGTAGCCTTGTGTACGGTATTGCTGTACCTGCCCAGAGCTGAGCGTAGGGTTTACTGGCTGTCCATTGTTAATGGAATAAAGGTCTTTACTTGCATTGATATCAGAATTTGGTGCTACATAGCGCGGTGCAGGCGCGGGAGTAACAACCTGAGTTGTTTTTTTCACGACTTCAGCAGACGGATGCAAAAAGGGGTTAACGGATGACCCATTTGAGTTGTAACTCGTTGTCATCCGTACATTAGAATTAACAGGATTCCCGCTGATTGGCCGTGGTCCAATTGTTGAAGTTGGCGCCCCCATTTTTAATGTCTGATCATACATCACCGGGAGCTGTCCAACCGGTTTTACTTCCGTCGTTGTGTATGTCACTGGCTTATTAACAAGTACAGACGACTTGGGGTACTGCACTGCGCCAGGCGGCGTTAGTTGGGCAGGGTACTGGCTGTCATTGACAGCCGATTTCCCCTTTCCCGAATTAGCCTCTTCCTCCCCAAGGCCGGAGAGATCATCACGATTGTTCGTCAGTTCCATAACTTCACGCGGGCCTTTACAAATAACTCCTTTTTCAATTCCCGGGCATTCAGATTCTGCGCTGCCAATAGTACAACCCGCCAGGTATGAAGATGAACCAACAACCAGAGCGCTGAAAATAACTTTTTTAATGTTCATTTCATTACCTTAATTAGTATCAAATGGGTTTTTGAGTAAGGGTTCGACACTTTGTTTTAACCAGTAATCAAAATCTTTCGGTATGCCATTACCAGCGAGTCCATCCTGTCTTACAACTGAGGGGACTCCCTGTAATTTATAAATGCCAGCCAGCATTAATGACGCGACTAACGGTTCAGCCGGACATGCTTCTGCCTCTTCTTTCGTCAGGAGTCGTTTTTCTATATCGGCCTTATTACCCATAAGCCAACGCAAGATATCAAGATCATTCACTTTGCCTTTTTCTTTACTGCACCATAATTGACGCAATTCCTGCTTTGGCTCGCCGGGGGAGGGGATTAAAACTATATCGACCCGATACTTTTCGCGTTCATCATAGAATTTCTTTATTAAATCCTGACAACCGTCACAATCAAGCGTAATAAATATTGCCGCTTGACGTTTGAGTTTTGGGTTTCCTAAAGGTATCGATGCCACAGTTTCAAGAGGGAAAGGGGCGTCGTCTAAATTAATAAAGAACGACTTTCGTATATCCTCTACTGATAACACTGACTTTCTCTGAAGAATGTCCATGACGCTCCCCCCCGTGATTGTATACCGTCCGTCAGTGGTCACCGCCATCAACTGAGAACGTTCATCCTGGAACAAATAAAGACCGCCAGTAGGGATGTAAATAGCATCTTTAGGCTTATAGCTTTTCATTTTCGCCAATACACCGTCTAAAGGTTTCGTTGATACTCCACCTTCTTTTGCCTTTTCCATTAACGCAGCGGCATCACGATTGTTTAATACATTTTCAACAGCCAGAGTAAGCGGCGGGCACGCTGAGGTAATGGAAATCAGCAGAGACAAAAGTAACTTTTTCAATTATCGAATCTCACTTTCTTTAGGTTCGCCTGGAAGAGATTGTACCTCACCAAAACTTCCACCAAGGTCGATATAAGAGACTATTTCAACATTCTCTGGAATAGTTACTGCCAAGGATGCATCAATAACCAAATAGCCACGTTCACGGTAAACCTTCATTAATGCCTTAAAATAATTTTCAAAGTTAGTTTTGGATTGCTGCGAATCCAACACCGGATTTTGCTTATTAAATACTTTTCTTAAAGTTTGCATATCCAGCACGGCAATCTGGTAGGCCGGTTGCGACATTGCTTTGAAGTTGTCATATACAAAACGTCCACCCTTGTATCCATAGATCACGATAAGAACTGCCAGGCCTGCGACCATCAGATACTTAAGAGTTTTCTCGATATCGATCTCTAAAGTTACTTTTTTGGTAGTACGTATACCCCCAACCGGTTTAGCCGCGTCGATATTTAAGCTATCAGCAGACTCACTCTTTTTTGGTGATTCATTGTCGTTGTTATTTTCCATAATTATTCTCAGCGGCTTGTCAGGTTTGTAGGTATTGTCGCCCCTTTTTGAACGACAAAAGTAATTGGGCGCCCTGGGCTAATTTCTACAATTGGCCACTGCTGCTCAGCTATTGACGTATAGTAGTCCACAAGACGGTTTAGACCCCCCTGAGCTGCACCGGCTCCGGCCAGCGCTCCTAATGCACCTATGTTTGGCGATTGGTATTGTGCCGTAGAGTTTGGATCTATATTAAGCGAAGACACCTTTGATGGACTCAGACTCCCCGCCAATGCTGACAGCCCTCCTGCAAACGCAGAACCTGCAATCGCATTTCCATTTCTGCTTATCAGATTCCCACGAATGCCATTTTTCCCGTCATTTTCACTAACCGCATAAGCTTCCACTATTACGTCGAATGCTTTTCCTTTCGAGTTGACACACGATATGGAGGTTGCCCTAATGTACGCACGCTGAGATGCCAGATCCCCCACAGCAGAACCCAATAAATTACAATCACGCAAATCCATCGTGTAATTGTTAGGCATGATGATGTCTTTTTTAATGCGCATGGTAACCGGCATCGGTTCTGCTTTAGAGGACAAACTCGTTGGAGCTTCCAGCCCGGTAATTAGCACCCCAGTAATAATTGACGTCGCTGGAAGAAACATTTCATCCTTACGGGCCGCATGACGAGCTTTACTATCAACAGGTGCAGTCCCATCGCCGCGAATAGTTCGCGTTGGGGCCTTTTCACTTCCCGCAACAACCTCGCGCCCCTCTCTGATCCGGTTCTCTGATATCGGCATCACCTGAATGACACCATCAGTGCCGTTTGTCTTAATTGAACTCTGTGTTATTGTCCGCATTGGACTGTTTCGGGTCGGAGATATAGGTGCGTATCCAGAACTAACCCCGTTCACCGCTGCATTTGGATTAAGCTGGTATGGCTTTGCTGGGGCTTGTTCATTGACGTTGTTGCGTGGTCCGCCTGCATCGAGATTGCGATTACCATTTCTTGAGGTCTGCATTTCAGTCAACTGCGTAGTGAGTTGCTGAACTTGCGAAGCAAGACTGGCTATCTGTGCTTTGTTTTCTTGCTGAGCCTTTTCAGCTTTGTCACGGTCAGCCTTGGCAGCGTTCTGGTCAATACGGTTCTGCCTTACCATTTCGTTATAAGTCTTCTGGCTTTCCTCATTACTCAGCTTGTTCATTTGTGAATCATCAATAAGGAATCCAGTTTGCATATCTTTTTTCTGGGTTTTCTTCTCTTTTTTAACTGGTGTGGTAAAGATTGATTGACTGATGACAACAATCAATACCATCAATGCAGCACCAATTACTGAGATTCTGACAGTTTTATTTTCCCAGGCCTTTTTAATGTCCATTATTAACTCCATTCTTTGGTTGCTGGAATCGCTTAACTTTCAAATTCCGCTCGTATTCTGTCATCTGAGGCACGATATAAGGTTCACCAGCCCTAGGCCATTTATCTCCAACCGTCAAACCTGATTTATCAGACTCATCATGAATAAATTTCGAACCATTATTTTGCGTGCCCAATTCTTTTATTACATTAACTTCATGCCGACCGACAGACTCGGTTGAACTTCCAACAAATTTATCCGCAAGCGTTGGGTCGCTTATAACAATCGTGCTTTTCTCAAAGGCATCATCAACGATCTCACCCTGTCGGTGGACATCAGGAAATATATTCACGGTGCCTTTCGGGATATACTTAGTTTGGTAGTAATAACTGGTACCCAAAAAGACAACTAAACCAAACGAGATCACTGTAAGAAAAGTAGCTTTTCTCATATTATCTTTTAATCAGGCTTGGGCGCGTAGTAACACGAGTCTGACGCTCTTTAAATAATTTATCCCGCACAATATAAAGTTCGGTCTCTTCCCCGGGCTGAAGGAATGCTTTATCGAATAGAGCGCTTGCAACCACGCCTTCAGTTATACATTGCTGATCAGCCACTACCTGTCCGTAAGGCTTATCATTCTTAACAAGAACGACATCTATCAATTCCCGAGATCCCACCAGTCTTTGACCTAACTTGGCGTACATATTGAAATTACATGGGGACTGCTCTGAGCTTGGTATGCGTGACAAGCGGTCTTCTTGTAAACTGAAACCAGAAGGAACCTCACCCAGTGCAACCGGAGTCAACAAATCAATGATCCGCTGTTTATGGTCATCCTGCCGAGGGTCTGAAGGAGTCAACTCTTCTGATTGTGAGCGTGCCAGCATCTCATCATAATTTTGTTTATCAAGAGAAGTTTCTCGTTTTGCCTGCATTGTCGGGCTCAAAGAAGTTGTTACTGAAATCATGGCCCCTGGTACATCCAGTGGAACCAGTGTCAGGTTATAAGTAGATTCAGGAACTGAATCTTCTGAAAGCATAATTCCTATAGGCTTATCTGTATTTGTTGAAATAAAAACATCCCCGCCATTAACGAAAATACTGGCTTCATCAGCTGGCGTTGAAGTACTTACAGATGCATTTTTAAATGAAGTCGAAATTCTGTTTTGCAGCCCCCGAGAAACCGGGAGTACAATATTGCCACCAGGCGGAACGTTTACTCGTTGTACTTCTTTATAGCGATTACGTGCTTCAACATAAAGTTCATCTGCCTTTGAAGGGGACCCGGTACTTTGTGCATTTTGTTGAGGTTCTTTCCCTGCTGGTCTTCCGTAACTATCAAAATTTCCTGATTTAACCTGTTGCTGGTAACCAGCTAGAGTAGGGTTATTTGACAACGCCCCGGTTATTTCATTGACTGCGGGAGAAGCACTGCTTGCAGGTGAAAGACTTGGCAGAGCAGTTGTCGGTTTTGTTGCTTGTACGGTCTCAGTCGTAGTGCCAGTGTCTTTAATTATCGCATTTTTCACACCGTTCTGAAATTCATCGGCCCCGACAGGCATAACTACCGGATTATTTACTGTCGCCGGTAACTGATAGTCTTCAGCAAATACCACATTCGAAGTTGCCAGCAAAATCACTGCTGTAATCGCGGTGCAGTGAAAAACCTTTTTTGAAGTCATAATTAGTTACCTATTGACGGCGGCGGATTATCGAGTGTTGCCAGTTGTTCTTTGCCGTTGATTGTAATTTTCTTAATATTTGGTGTACCTGAATACTGGTTCACATAGGCTATGCGCGGTCGTCCATTTTTCATTCCCAGGACCCATTCAAACGTCCATTTGGATGATTCAGTTTTGTCCGGAACATTAATCAAACGAGTTGACTTTGTTCCCCAGACATAGACCATGTCATTTTTGGTGTCGTAATACATATCGATCGGCTTAAATGACTGCTCTACACCACGAGCCTGCATTATATTGGTTTGCTGCTGTAGTGATTCCCGGGTCTTTGCCTGTAAATCCGGAGAAAGCGCATCCAATATAGTTGTTGTAACAAAACCGATGTTTGTTGGGTTTATGTTTCCAATCAAAGTACTAAAGAATAAGGCCCACTGCGTTTTATATGATTCTGAGGCTTTATTTCCAACAACTTTGACTTCTTCCGTCATATTTGGCGGTAGCACTATAGTCACAGGATCAGTGAGAAATTGATTTTTTACAACCAGAACCCCAATAATGATCATTGCAACTGTATTCACACGTAGGAGTTTTTCGTCGCGTTTAATCAATGCACTATATGTAATTCCAATTTCAGAACCTTCAATTTCTTTACTAAAGCGTGCTTTTGAATCCAGAAAACTTCCTTTTACTTCTTCACCTCCTTTTTGCGAAGTCTCATCCTTGTTATCAAAATCGCCATTACTGGAATTTTTAATGAATGGAATTTTTAACCTGCTGAGAAGTTTCATTCTTAGCTCCATCAAGAATAGAGGTTTCTGATAAATGGATCGGTAAAGTAACGACTACTAAACACCGATTTTCCAGGAAAAAAGCCGTACCACCACAGTTTGTGTTTTAGTTTTCCTCTAATCCCTTCCTCTGCTGCTTTCTTATATGCAAACCAGAACACCACCGCCACAACTACCGAAGTTATAAAGAAATCAAAAATATTACCGCTCGCGATAGTCACGAATGTTATACCCAATTGCTTTGCATCCCAGAATAGAATTAGTAACGGCATATTTATTCTGTATGGAAAGCGATATGTATGTGGCGGTATCTCGTACTGGCTTGTCATAAAAACTCCAGAGAGGGGGAATATCCCCCTCATTGTTATTGTTCTAACAAATCACAGAGGAATACCAGCATCCAGGAACGAGCTGATAATTTTTTCACCGTTTGCCATAACCAGCATCATTAATGCTGATACCAGCGCCAAACCAAGGTTAGGTTTTACAACGCCGAAATAAGCCACCGAGAACAACATGCCGCACGCGATGATTTTACCCGGCGCACCAGTCAAGGCTTCGCTCATGTAGGCCCAGATATCGCCGAAGGCTCCATCATCGGAACCCGCGTACGCAAAACTGCAATTTGCTAAAACCAAGAGAATAAACAAAGGCACTTTTGCATGTTTGGACTTCAAAAATGCAAAAGCGTTAGTTTTTCCTCTTTCAACGTTAGTATTCAATGTCAGTTCCATAATTACTCCGTGTTGATTTGAATTCACGAAAACGCATTGGCATAATACTTTTTATTTTTCTTTCATTTTTCTGTTAACCACCTTTTTTTTGACTTAATTGCGCTTGGTGTTTTTTTAGCCATCGAATGTCAGAAAAGAATCCCGCATGTAATCGGATTAAAGAAGGTGCGTTTAATTAACATGCCAAATAGGGAAGAGGGGCATCGTCTGCCCCTTTACCATTTTTATGGCATTCATCCAGCCAGATATTTAACAAAGGACACGGTAAGGATGACATTCCAAAAGTCACTTTTCCCCCATTGATGCGAGTGCTTTTCACCCACAAGGATTATGTATCCCCCATTCATACAAATGCTTTTCAATGAAAGCCACCTCTGCGGAGCACATTCATACGAATGCTGTTCGATGAAAGCAAAACTGCGGAGCTCATTCATTCAAATGCTGATTGGGGAATGCGCGTCTGCGGTGCCCATTCATTCAAATGCTTATCGTAAAAGTCACTTCTTCTGAATCCATTCATGCAAATGCTTTTCAAACAAAGACACCTATCAGGGACTCATTCATGCAAATGCTTTCCAACCAAAGGCAACTTACACTTCCCCATTCATTCAAATGCTTTCCGACCAAAGGCAACTTGCATTCTCCTATTCGTGCAAATGCTTTTCGAACAAAGGCACCTTACACTGTCCCTTGCGAGCCCTGCTTCCCGACCAAAAGCAACTTTCACCGCAGCATTCATACAAATGCTTTTTTCAAAAGGCACTTTTCTGCCGCCATTGAAGCAAATGCTTTTATACAAAAGGCACTTTTCTGCCGCCATTGGAGCAAATGCTTTTATACAAAAGGCACTTTTTTGCTCTCCATTGAAACAAATGCCTTTCATCTCCTTGATATCCAATTTGAGTAATTTTCATTTATTATCAGAATGTTATGTTATTTCTCTAGGTCCTTCATTGGCCTGCATATTCATAAAATGCCGTCGACCAGGCTCATATCCCAGTCGTTTGCAGGCGTTAAGGAACTGTAAATACGCCGAGTGGCACAAGGAGTATAGGGATTTGCGTTTAAAGCCCAATACAACACGATGGAGGGTAGTGTAGTTAAAGGCATATGTATGAATGAGTCTTATTAAACTAGCAAAATGAATAGGTTACGTTGTCTCAACTAGCAAGCATGATTTTTTCTGAAAAGCATTCGAACGAATACCAGAAGAACCCGGGTATCAGAAATGATAGGAAGTTTGGAAACAGGGAAGGGTGTTCAAATCCGGAGAAACATTAAAAAGCATTTGGATGAATGCCCATACTCCTCATTACATCCAAAGTAACTTTTGTGCGTACTATACCCGGAGCATCAACTGTGTTTTGCCAGAGCAAGTTTTGGACTTCTTTTAAAAATCTGGAACTGGATATCTCTACCTTTCTTAACCTCTTGATATTCAAGATATCCTATTGATTTTAACTCCAGCATCGCCTTCCTGATGATCTGGTTTTGAGTTCGTACAGGAGTCGTCAACAGAAGTCGCTCACGCAAACGCTTCATGCTTACGAATAACGTACCGGCAGGCATCGCCTCAAAATATATGTACAGGCTTTGTGCTGCCTCTTTTTTAGCGAGAACCGAAAGCACCTGCAAACTAAGTAAGGTTTTATGATCATACCGGTAAAGCTCCCACATTGAGGGATCGCCCACCAACTCTACGGTGTCCTTCTTAGGATCAATCACTGCTTTCTGCACAAGGTGCGTGACAGTAAAACGTTCAGTTTTTGAATCACGGAAAGAAATCACAACGGAAGCTAGGTTTGCTAGCGCCTCCTGAAATCGTGAGCGAGTTCGCTTGTTTATGTTTGTAGAACTGATACCACACATTTTTGCAAACTCATTGAATGACAATGTGATTTTATCGGAAGCGAAACCATATTTGCTGAACGCCATTATGCAACCGAGCCAACACTTAAAATCGGTTGACATCGAAAGCTTAAGACCAGTGATCCGAATGTCATCGTATCCTTCTGAACGGGCCAGCTCCATGCTCGACAACTCATCAGAAGCGTCAACCTCAAAATTTCTGTATCGCTTCTCTTTAGTTCCCACCGGGGTAAAAACACTTAAGCGCAGTAAAGCAATGGGTTGGACCGATTTCGAAGAGTTTGGACTCAGTTGATAAGTCTTCCCTGTCTCCGTGTTGGTCACATCAAAAGGATGTGTTACCTCATTGTTATCACTCATTTAAATTTACCCACCATGGTTTATCCCTTGATACATTTAGATGTGAATAGATTATTCGTGCAAATGCTTTTCTCGCATTAAACTAAATGCCTTTTCAATTCAAGTAAATGCTTTTCTTATTCAATCAAATGCTTTTTACATGCACCTGAATGCCTGATCATGCTTATTCCATAATAAAATCAGTCATTTACGGAACCTGTGATCTTTTTTGTACTCTCTTGATCTCTCTTGATCTAAAGAATTGATCTAACTTGTGGAAAACGTGGATAAATTCCGTCTGTTAACCAACTCTGACCTAAAAAGTTCAGGTTCGGACTCTAGCCAAGTAGGGAATGCAGCCGGAAGAAGTATCAATCAATCTTAAGCTTTTAAGATATATTAATTTCAAACCATTCAGATTTAAAAATTTCAAATTAAAATGGCCTAATTCCTTCATAACTAAAATTACAGTCAAGCACCGAATTAATTGTTTTTTGCTTTTGGGTTATTTGAAACTGAGTCAATTAATGTATCATGTAATAAAAAGGAGGTTATATGAATCACTGCGACTATCAGATTATTGAGATCAGTCCTAAAGCACTTTTTATCGAATCTGGATTCAATCCACGTGAAGCGGTAATTGGTGAACTTTGTTATGAACAGGAACCAGTAAAATCGACCATTGTTTCTATTAAACAAGCCTATAAAGAGGGCAGACGAGTCGATTTAATTAAGGTTGTTAAGAAAGACTCCAATTACGTTGTAAGGCAGGGGCATTGCCGTTACAGAGCACTATCTCTTGCTCTTGCGGAAGGAGCTGATATTCAGCTCATTTCAGTAGTTGTTATGAACTATAAGAATAAAAGTGAAGAATACCTGGAGAACCTTGATGGGAATAGGAATAACGGTCTTAATCCCGTAGCCTTAGCTTATGCACTGGCAGAGGCGCTGAAGCTTGGCTCTACCGTTGAATCCCTTGCTATGCGCTATCAACGGTCTAGCACTGCTATTCGTAACCAGCTTAAAATCCTTGATATGCCTTTAGAACTACAACGTTTAATCAGTCTAAACCTGATTAAAAAAACACTCGCGATTGAGATCATGTTGAAGTATTCCAATGACCATGCAAAAGTCCTTGCACATTTGGAATCGTGTTCTCTTTTAGTACCATCAACTGAACCAGAACCTGTTTTATCTAAGACATCAAGCGTTCAAACATCATCAAACGATGAGAAACTAGATAACCCGGAAACACTCCCTGTTCATGTTATTCCTAAGGAAGTTAAAACAAAATCCATCACTCGCAGTTCATTGGGTATTAAACGGCTTTCTCATAAAAAAACTGAACGCTTAAAAACTGAATTTATCGGGCTGATTGATACTGTACGGCCAGCACTAAACGACAGTAATAAACTCACCGAATTAATTTTCGACGGACAACATTCCAATTTATTTACGAACATCAGCAGCACTTCCATCACAAAGACAACGGAAAGTGTAAAGATCACTCTAGATGAAGCAAAACTCCAGCTTTTATTAAGCCTTCTGAATGATGAAAATACTGCTATCATCATTCCAAAATCTAAGGTTACAGAACTGCATGAAATTCGTGACCTGTTAACAAGTGAGTAGAATGCTAAGGACCGTTTATGGACAAGATTGCACAGTTTACTGTAATTAATACTTATAACGATCTACTTATTACAAAAGGCACACTCGATCGCAACATTGAAGAGATCAAGGCTGGAAAGCGTTTTGATCATTTTGAAGAAGGGCACGATCAATACGTACAGAAGGTAACTGACGCTTTACAGCTCGTGGAGGCTCGACTGGAGAACCTTAAAAAATGAAACATTCTCTTTTTTTTACTCAGGATGGTTATTTACTGCCATCATCCGTAAAGCCTATCTACGGTAAAGATGGACACTATTACGCCGTTATCACCCGTGAGTGCTTTGAATGCGGAGGGACTGGAAAGATTGCGAACGCCGTCTGTGTGACATGCAATGGCTCCAAAACGTCTCCAGCCACAGAGGAAAAGCTGGTACTGAAAGAGTGCATTGAATTCCTTGAAACTATCCCGGAACTTCGCTGCAATCCCGATCTTGAAGCCTGGAAACGTAGGCACAGCGAGCAGTTAGCATTGCTGCAAGCTGACAATTCTAAGTTTGCAGCAAGCATTGCACAGCAGTTAAACAACAATCTCTTTTTAACAGTCCGTCAGTTGGAGTCTTTCTACTCGACATACCAGCCTGTTTCTGAAGCTTTTTCAGAAAACGCCGGTTTTCCAATTGAACATTCTTTCAACATTGGTGATGTAGTTAGTTTTGATATTATTTTTACAGAAGTGCGAGCTGCGTTTTCAAAAGGTTCTCATAGCTATTTTTTTACTTTTACAGGCAAAAAGCAGAATGATGGATTCGCGTTGACTGGTAATGTTCAGGATCACGTTTTATTGGGGCATAGCTATCATCTTTCGGGAAAAGTGAGAAAGATCCACTACTTTGACTCAGTGCCCTACGCATTACTGACTGTGTTTAAATTAACAGCATAGCCTGGTGTCTAGTGACCGGAACTCCCAAATACAGGCCGTTTTTACATTAGCCACCGGCTTTCTGCACTGTCGTGCCGACTCACTCACGTCAAATCTGTTGCTCACGCATCGGGTTTTTACCCGGTTTTACACTCCGAAAATAAGCCGATTTATTTTAAATTCAACACCCGTTATTAACTAATCTTTTAAATTAAAAATGATAATCTTATTAATTATATTTTTTAATTTTTTGTCTCTTCTTAACATATAGGTTAAGGAGATTTTGTTAAAACGGAGTGATATATGCAAAATGATCTTGGACTTGGGTTCATCCGCAAGTCAGCAAGAACGTCAGCAAAAATTATTTCCCGAAAAGTTACTTTTCCGCTCGATGACTTGGATAATGCAAAGCTAACGCTAACTGGCCTACAGTGTCATCCATCCTGCCGTTTTCCATTTTACCAGCTGTCTATGCTTATCCATAACCAACTCGCTGAGCACGGCGTCATTTCTGCCGATGAAAACGCACCGTTCACTGTATCCATAAGCATTCACGAGTGGCTGAGTCGTGCCAGAGTGGCATTTATTGATTATCACGGTCTTCGTAATAGCGATAAGACGGTCATGATCACACGCGCTCATCTGGAAGAATTGCTTACTTACTTGTCTACGACATTGGCTGTTTATGTCCCGTATTCAAAGAAGCGACTAAACTTCAGCTTCCTGACGTCCTTCACTCTGGTCAAAACATCGCAGTCTTATACGTTAACGTTCCCTGGGGTACTTCGTCCGTTCCTGATGTTGCTGGGGGGATTAATTCAGGAATTTATGACGGAAAAATTATTGAAGCGACGGAATGCCCAGTTTGTCATCTTTGATTATTTGCGAAAGTCCCGGCGCCATTCACACAAAATTACCGATATCGTGAATGATCTTCAGTTGCATACAGTGAACGTACGAATCATGAATGTCCTTACCCAACTTGCAGATCAGGGGTTCATATCGTTTATATGCGAAGGTAAGAGAGGGGAGCGATCAATTGAAGAGCTTCAGTTTATTCCCTATGCCAGCCGTGACCATTCCGAAGTGCTGAGCTTCGAGGAATGGATAAGCCCGATCGACTAACTACTGATCGCCGCTCAACGAAGGACGGCCAGAATTTCTATTTCCTTCTTACGCGACTTTGATTGACTGCCGACAGACCGATAAGCGTTGTGAGTATGAATATCAAAACCGCGTTCTTCATAGAGCTCCAGCGTAAAGGGAGTCATGCTGTTGGATATGGCCACTGAGGCCCCTTTACGATTAGCATCCACCAGCATATCCGCCAGTTTAACATGTGCGCTCTTATCGAACGGTATACCATCATAGCTTACAAAGCTGGTTTTACTGATTTTGTCATATGGCGGATCGCAATATATTTGGTCACCACCACCTGCAAACTCCAGCGTCTGACCAAAATCTGCGGTTTTCAATTCAACGCTCGAAAGCCTGAATGAGAGGTAATCAACCTTCTGGATATCCAGACTGAACTGGTATCGCTTTCCCCATGGAACTGAGAACTTTCGCTTCAGGTTGTAACGACACAGACCGTTATATCCGAGTCGATTCATCGCGTAGAAAATGGCTGCTCGTTGTAGCGGGGCATCATCAAAACTGGTGCTGTTAAAGGTATTACGCAGCACGTAGTAATCCTCTTCTTCAAAATGCCTTTCCGCCAGCAGCTGCACTTCTCTGATGAATGCCGGTTTATTTCGCTGTATGTTGCGGTACAGATTGATTAGGTCCGGGTTGCTGTCTGCTAGGAGAGCCTCGGTGGCAAACATGTTCAGAAACACGGCGCCACCGCCGATAAACGGTTCAACCCAGCGTCGGCTCTTATCATGTGGGAAGTGCTTACTGAGGAACGGCATCAGTTTGGTTTTACCCCCCGCCCATTTGATGATTGGTGTATGTTTTCGCAACGAGTCTTCTCCGTTCAGCTTTATCGGTATGCCACACTTATGGTACCGAAAGGCGGATTGCTACCAATAAGGTATGAGCAGGAAAAAACGTGGCTTTTGTTAACGAGATTGTCATTTCGACACATTTTTTAATTTTTTTTCACTTCTCAGAAAAAAGTTTATCCTTTACGAATTAACCATAACCATCTGTTTTATTTGAGTTATTTTTTCTTTTTGTTCTGATCGCCAGAACAATTTTCCTCGTTCAATTCGGAATAGACCCAAAAAGTACCTTTTTAACGAAAAAGTGAGATTTTTTTTTCCGGTAGTATTCACGCACAGATGAAAGGTATGACAAAAAAGAATTCAACGGAGTATCTATGAGTGATCTGATGACTGATTCCCAACAGCAAACTAACTCACGGGTCTTTAAATCCCCACTCGTGTCTTTTTCAACAGTGACCGGTTCCGGCCGATTCGTCAGTGGTATGAAGCAGTTCCGCGACGCGAACCCTGACCTTTGTAATGAAGTCACTGAACAGAAAGCATGGGCTATCAGCCCAACCGTGGTTCAAATCACGGAAGGATTCAACTCCCGTGAGATGGGAATGGGGGAAGCTTATTACCAGTTGCCAGAAGTCGCCGATCATCTCAATAACATCAAGAATGCGTACATCCGGGGTGATTACGTAGACCCTATCCGCGTTCTGATCAAAGACGGCATTCCGTACGTTCGCCAGGGACATTGCCGTTTAAAGGCTGCTTTGATGGCTGTGGCAGAAGGGCATTCTAACCTCACCATTCTTTGCATCGAGATGAAAGCCGATGAGATCAGCTGCGAATTGACAACGATTGACGGAAACCGTGGCCTGGCTCTTTCTCCTGTGGCTTTGGGTGAATCCTACCGACGTCTTCAGGCGCTGGGTGGATGGTCGCTTGACCGTATTGCCGAACGTGAGGGAAAAAGTAATACCACAATTGCTGCTCTTATTCGTTTAACCGGCTGCTGTGTCTATCTCAAAAAACTGATCCATGCCGATGCCATTTCCTATGTAGCAGTCCTGTCCCTTATCGATGAGTTCGGTGAAACGGAAGCTGTTGCGCGGATCGAAAAGATGATCGCAGACCTTGAAAAGGCTGATTCAAGCGGTATCCAGATTAAGAAAACGCCACGCGGGCAGATCCGTGTTGTCCCTTCCGATTTTAAACCCGCACGTGTTCCACCAGTTCTCGCTACAAAAGCCGTCGAAGGGGTCAAACTCATTACGACGAGTCTATTGCAGAAACTCGGTGATATCGAGTTGCCGGAGGTGACCGACTCCAGCGAAGATGAAGAAATTACCTTTACGCTGAACCGGAGCATGCTGGAGATGCTCAAGAACCTGCAAAGTGAGATTACGGAATCAGAAAACAAGCAGCTTCGCCGGGCCGAAAATCGGCAAGCCCGATTGAAAGGGGAAAAAGTGACTTACAAAACCAAGAAAAACGATAAAAATGGCGGAGAACCGCAATCCGAAACACCCCCAGCACAGGCTTAAATGAATTATTTCAGAGTGTGAGAAGACTACAATAAGAAGTACGATATTTTAGAGCGAGCCACCCAGGCTCTCCCCCCGTTGCCCCTACTATGTAGGGGTTTTTTTGTCCTGTCTCCGGCCCGTTTCTTCTGATTAAAACCACATCTGTCTTTCTGACTTTCCGCAGTGTTAATTTCTCCATTTTCATGTCAGCCAACCTATTAGCTTTTTGTTCAAGGTTGTTATCCTGGTATCAGATAAACCCTTCAAAAAGGACTGGTGCTATGTCTGCTGTTGAATCTGATTCCCTGCCAATGGGTGCCCCTGGGAGTTCTCTGGTTGCTTATATGCCTCATACTGGCCTCCTTATTAACGACGATAACTTCCTGCCCGAAATGCGGGAAGAGCTCGATGTCATTAACAGGCAGGTCGAATCATATAACGATGAGCTTAGCTTACTGAGGTCCATGTCCGCTCAGTTCCTGAAATGCGGGAATCAGAAGCTCTATTCATACCTCTCCGGATACAATCATCTCATTTCAGAAGCGGATGCCAGCTACGCAGAAAACGCGCTGCGTTCAGAATACTGGAAGAGGGTCATGGCCCTGACCGATGTACTGTCTGTGATGTCTGACGAAAAGAAGAAAGAATGGGATAAGCAGTTTACTGCTGACCGTTACCACCTTCCTCCTCAGGAGATCCCTGATTTTACACTCGATGCTGTTGTTACCACGGTTGTCGCGTTGCTCAATGACCGGCATCAGTTCATTAAAGATCGTGTCTATGCCGTCTTTCAGTCATTAAGCCGTCAACACAAAACCAATAAAGCATTTGGCTTCTCTACTCGCATGATCACCTCCGGCGTATGTGAAGGCGTGAAAGACAAATGGGTAAAACTGAAGGTTGAGTTTAAAGAATCCGGCCTCATGCCACTTTCGGAGTTGCGGGTGATCTGTTCTTATTTCCGGGGCGAAACAGTTAAACCGGTCTATGACACGAAAAAAATGGTTGAGAATATGGTTGGTCATGTTGGATTCAGAAACTGGATCAGCCTGGATGGCAACAGTATTCGTTTTCGGGTCTACAAAAACGGATCGATGCACATTGATGTGCATCCTGATATCGCCGAACGGCTTAACAACATTCTTGCTGCCATCGTCCCTCTGGCTCTGCCTGCTGAACGCGTGGCCCATACCAAAGCGACGTTGCAGGAGTTCCCGGCACTGAAACGCTGCATCGATTTTCATTCACGGATGCAGCTTGCAGAGCTGGATTTTACCCAGAATGAAAAGGAATGGTCCAGCTGGACATCGCTCGGCTATGCCGGTGAGAACGCTGATAAAACGCGGCAGGTGAACGCGGATGTTCTGCGATTTCTCGGTGCCCGAGTGACAAGCTACCATGTGACGTTTGATTATGACCCGACCGAAGTGATGCGCTTCATCGGACATATGGGCGCCATGCCTGATATTAAATCCCACCAGTTTTATCCGTCGTCGGCGCGACTCAGTGAATACGTCGCATCCATTATTGCGGCCGGGGAGGGGGAACGGCTGCTGGAGCCCAATATTGGGCACGGGGATTTGCTTCAATGTTTCCCGAAAAGTGTCAACGTAACCGGCATCGAACTGGATACACTGAATTGTCTGGTCTCCCGGGCTAAAGGTTACGAGACCACGGAAGCCGATTTTCTGGCCTGGTCGGCGGCGAATCAGATTCAGAAATTTGATTGCGTGGTGATGAACCCTCCTTTTGCTGACAACCGGGCTAAGCTGCATCTGCTGGCCGCTGCGTCTCATCTGGTTCCCGGCGGGCGTTTAGCTGCCGTCCTGCCTCTGTCCCTTCAGGGGATCGATAACCTGCTGGGCGAGGGGTTCAGGACCGAGTGGATGGATACCTTCGATAATGAGTTTGACAACACTGCCGTCTCCGTCCGCGTTCTGTATGCAGAACGCTTTTAACTGAAGGAAAGACTATGTCCAAAAGTTCGCCTGTCTTGCCTGAGGACCGTGATGATATTGAGTTTGTGATGGATGATTTCCAGCGGAGCCTGGGGAAAAGTAAACCAGTACGTGAAGTGCAATTTCTGGGAGAGTCACAGCAAAGTGAAGAATCTGCGAACTCTGCCGATTCGCCCTGGTTTGAAAGCTAATCTATTCTGATGGCGCCGTGCTGATTTAAAATGACTCCCCGGCAGTGAGCGGGGAGTTATTACAACTTTTACCTGTACTGAACAACAGTTCCGGCTAAGGTACAAACGGGTATGAAGAGCTGGACATCAACATGATGCCAGTAAGGCAGCGGCACCCTGTACCCTCCCTTACGATGATGGACAATCATCGCCTGTTGCTGACATTTCACCTCATTTAATCGTCCTAATTTCTGCTTTTCCTATTTCTTCTCAAGAGAAAAGTTACTTTTCTTCCACCGTAATCAGCCCTGTTGAAGTTGCCTTAACTTTCGTTTTGTTCTGACCCGACAACATTGCTATCACGGCAACATTTAAAAGTTTTATGCCGTGAAATACCCCGGCTAACCAGCAAGCCCAGGTGAAAAGATTTCGTAAAATAGGGGCAAATACATCCCGGGAGTATCACATGCGTAAAATTCTGACAGGCTGTATCATTGCCACGGCCATAGCTTCAGTTTATCCGGCGGCGGCTCAGATTTTCAGCTATTCGTATACTGACACCAATCAGCTGGCAAAGACGCTTAAGCCTGCCACGCAGAGCTACCTTAATCCGGCAAGCACAATGACCCTGAATCTGATCTCCGGCCTTGACCGATACGAACGAGTGAGTGTGACCAGGGACAGTGACAAAAAGGTCATGTATTCCGCAGTGACAGGAAAGATAAGCGTCGCAGATCGCATTGTTGCCGCAGACGGCACGGAATATTACGGAAAGGACTTGGCGTTACCCGCACTCGGTGAAGGGGCCTTCACCGTCATCAACGATACTCTGGATCTCCAGCAGGCTGTCGTCAGCTCTTCAACGTATCATTTCACAATCGACACTACAGCGCCAAAGTATACCAGCATCTACCCGAGCCAGAACGCAGGCTATGAAATGGTCCTGAGTGGCCCAGTTTGGGGGCTTGGGCGCGGAGGATCTGGCCAGTTTTCCATCTTTGCTGATGGAGTTGATGATGCGAATGGCATAGACAAGATCCGTCTGGTCATCAAGCGCGGAAATGGCACAGTCGTGTCCGACAACACACTCAGTTACGATACGGCGGCAAAACGTGCCTTTTACCCCTGGATCAAGGACTCGGTCACTCAACCCGGTATGCCCACCAGCGATCTCAATGAAGAATTTACCTTCAATTTTATCATCACAGATAAAGCCGGAAACACGCTGAATATTCCGCCGCAGCGCTTTTTATTTGATGACCAGATAGGTGAATACACCCCCTTTGCGGTTCATGACTCACGCGTCAGTACGAGTGTGGTCCCGGGGATCTCTTCAGGGTACGTCCCGTTTGTTCGGGGGCTATCTGTACTCGAAAACCCATACCGTATGGTCATCCGTATCCCCCGAACCAACTGGAAGCCATACCGTAACGGCGGCATCACCATTCTTAACAATTATGGCGGTGCTAAGGTTATTTCAGAAGACACGACCTATGTGTACGTCGAGGTGAAGCTTCCCCAGGGCGCTCTGGATATAAACTACTATCGCCCAGTGAACACGTACCAATGGTCCGGAGGCGATCTGACTCAATACGCCTCCTGGCTGAACTGGGACCCGGCTTCGGTAAAAAGTCCTGCATGGGGGAGTCCGGCGATTGAGCGACAGATGTCCGATGGTACCTGGTTTAACAGCGTCAATTGGAAATACTTCAAGGCTTCAGATATGCCGGTGAACCTGACCCAGATCCGTTTCAATGTGCAGGCAAGGCCCTACGACCAAAAAATTACTGGCGGTGCCACCTGCAACATCCCTGCCGGGTCAACGTCGTGTACCGTCGCCCTGACACAGGCGATTACAAACGGCACCACCGGCTATCTGCATAGTGGTTATGAGGTACGTTCCACAACAGAATCCACCTTCTTCATGCCTATCTGGGAAAACGTCGTCTGGCATACGCTGGGGCCTTCGGTCACTGGCTATGACTACAATGATACGACCAACATCCTTCAGGTTTACATCAACCAGCCGGGAGACGGATCGTATTTCGATACCGTTAAACTGAGCCGGGTGTGGCTGTCCGACAAATCCCGCAATAACGCGGATATCAATGTGACCGGAACACTAACGGGGCGTAACACAGCAACCGGGAATTATACATACGAGTTCAACCTGAAACTAATCCCGGAGGGCAGCTATAACGTGCAGCTCAACGCCCAGGATTCGTTCAACAATACGGGTAGTCTGGACTATAAGACTGTGACGGTCGATAACACGCCGCCGTCCATCAGTATCAGCTACGAAACCAAACCTATCACCAGCAGTGTAACGGTGTATGGACTGGAGAACATTCGTATTCAGCTCGCAGATACCCTGACCAAGCCCTCTTTAACGCGAATGACGCTTCGCGGTGGCCCGGTATCTGATGCTGTTGAGTTGTCGTGGGTAAACCTCGGAAATAATCTTTATGCCCCGAATTACCCGAAGATCTTTCCTTCACTTAACGACGGCGAAACTTACACGCTTACCGTGCAGGCCAAAGACGAGATGAACAACGTTAAAGAAAGCGCCGTCGAATTTAGTTACTTGCCGAACAACCTGGTTCGTCTGGAAAACCTTAAGACCATCTCCGTTAGTACCGCGCTGAAAACGTCCGATGACACACCGCTGGCGGTTCTTTATGCCAGCCAGCTGCGTAAGAAGGACGGGTCTATCGCAACCGGGAAACAGGACGCGATACTGACGGTGCGTAAGGATGCAGCCTTCGGCGTCACGGTGAATGGGGTTTCCGCAGCTCCTGGGGAGAGCAAAAATGTTCAGTTGGATCTGGGTCTGGGTGACAGCCGCAGCTTCCCTATTTTTCCTTCGACTTCCGGCGTCGTTGGAACTTCTGAATTTATGCTGAATATAGAGGAACTGAAGTAAAAGCAGGGTAGGGTGGCCAAGTCCGGGCCACTTCTTTCTGTTGTTGTCGCCGCAATGATGATTATCCAGATTCCGGTCACAGGGTTATTCACCGTTTTTGTGGATAACCTTCCGTCCCATCAGTAAAACTGCGAATGACACAGGCCTGCCACTCGCTGCGGGTTTGCTCATAAAACTACCCGTCAGCGTGGATCAACATATCATTCACCCGGTATAGTGGATACCCTTCATCCGGCACGCGATTCCTGCGGCCAGCGCCTGTCATGGTGATGGATGCAGGGCCACCAGCTGCAAACACAGGTTCAGCCTGGGATTACACTATACCGGGCGACGTTAACCTAATTCGCGGCCATGATGTCAAACAGCGACGGACTGGCGGGGTGCGTTTAACTACTGTGGCTATAAACAGACTGGTCTTCCCATGACTCACTCTCATTTTCTAGGGGACCGGTGATCCACTTTGCGGAGCGTGAGGCTCGGGAGCGAAAAGCCCATGCCTCGTCAGGACCGATAGTGACGCTTTCCTCCGTCATTGAGGCGTTTTTTGGCATTCGCTTTACGCCGGTACAGAATGACGGTAACTTTTCTAAGGCAGCGGATGATTACAAACGCAGTCTCTCAAAACTCGTACAAAATGGAGCCCCAAAAGAATGAAAATTAGCACGGGCATGATGAAAAGCAATGCACCGCTCATCATTCTGATTTGTTTAATGATCGCTTTTTCCGCCTATGTTAAATCATGGTCATTGTTATACACCTTGCTGGCGGCATCAGTCTCACTCACAGTCATGATCTCACTGCCTTTTATCGTTTCGCCTCTACAGCACTCAAAATTTATAGCCTTACGAATTTTGCGTTTACTGGTTATTACGCTTTGGACGATTGGCCTTGTCGGCGTCTTCTTTTCAGTTGTTGAACGCCTTGTATGGGTTAATGCGGACAGCTATCCGGCATGGCTGGCGAAGGAACTGGATTCTCCGGCCATCACGGATGGTGAAAATTTTATTAAAGCAACAGAGTCTTTTGAGAAGATCTGCGGGAAAAATAAAGGCTATCTTAGCGTTGTCACCAAGCATAACGGCATATTTATGCGCTGCGATGATAGCTTGTCTTTCGACTCCTGGTGGAAGGGTGTCTACCGGCTTAAAACCCCTGAGACTCGATGATATATTTCTTTAATGCTGCGACTGAATGGTCATCTTTTAGTTAAGACCTTTACGACGATATCCGCCCCTCCACTGTACCGGGTGCTGCTCCCCCATCAGCTACTGGTACGCGCTTTAAGTCGCTCCACTAAACCGGGTTAAACTTTCACTTCAGCATCATCACGTTAACAGGGTTGTACACCATTCGCTATCCACTATACCGGGTACGGTTTCCTAACCGTGACGTCATGCTATCCGGAAAGATGACACTGCCACGATCCACTATACCGGGTAAACCTTTCCACCCAGTACCACCACATTCCCGGTAACCGATTAGCAGTAGTTCTCATCCACTATACCGGGTACGGATCACATTTCTGTGACTCCACTGTACCGGGTATAGATCACATTTTTGGTGAAAAAACACACTAAATATTCAGTGTAAGGCTGAAGAGGAGGGGCTGCATCGTAATTTTAGGCCTGACACTACCCGGTGTAGTGGAGATCCATTGTACCGGGTAAAGCAGAGTGGAAAGGAGAAGAATGTCCACTATACCGGGTAACGCAGCCACCCACGCGGCAGGCAGGTGCATTATCCGGCATCGGTCATGGCTTCATGTTTCTCTTTAGAATATTCAGTACGTAATCGCCGTTTTCTTTGTCTATGGAGTATTCCAGAAAACCGATCTCTTTAAGCTGGCCCAGCGCCTTTTTAACCGTGGCATTCTGGTTACCGAGGTGTGATGACAGTTGGAGTCGTCCACGAAGCCGATCGAATCCGATGCGGTAAAAGGTGCTCGGCAGCTCAGCCAGATACAGGTACAGGGCCTGTGCGGACTCCTTACGGGCCAGTTTTTGCAATGTCTTCAGGTAGAGTCGGGTTTTACCGTCGACGCGATACAGCGTATTGAGCTTCGAATTTGGCTTGATGATGATTTTTCCCGTGGAACTGTCGTAATACGTCGATTCCACCAGGTGCATGTTTATCGTTATCTGATCATCTGTACCGGGTATTTTCTTAATAAATGAAATGTTGGTCCGGGCTATACGCGTCAGCGAAGCATCAAAGCGCTCTTTCAGTTGTTTATCAATGCGCTTGGTATCAAACCCACAAAATTTTGCAAACTCCGGAAAATTCAGCTCCAGCTGACCTTCTGAATCAAGCGGCCGGTTAGACAACGCATAAACGATCCCACACCATGATTTGAAATCGGTATCCATATCGAGACGCGGCCCGTAGATTTGGATCTGGCTGTAACCTTCACCCTCTACAATAGATAACCTTGATAGCGGCTCAGTGGCATCGATATGATGGCTCTTCCTCCCCCCCTTGTCCGTAGATTTCAAAGTCGGCACAAACACACCTAGGCGGAGTAAAACTTTCGGTTGAATGGTCTGTTTTAATGTGGGAAAGAGTTGTATAACTTCCCCTGAATCTTTTAGGGACTCTTCAATGACGAGAGATAACTTGTTGTTATTACTTGACATATTGGGAGATCCGTTTTGTGCATAAGATCTACATCCTACCCGCTATAGTGTATCGAATCTACCCGGTATAGTGGATTATGCGCCCGGTACAGTGGATGGATTACCCGACATAGTGTATTTCTCCCCCTGTACAGTGGATGCTGATCCGCTGAGAGGCCCGATATCACTGGGCTGCGAGGATCGTTATTCCTTTTTGATCTGCTATTGATCCTCTATTGATCTTTATTATTATTCTATCCTGTTGATAACTATGCTCTGTCACGTATTGAATCATCACGATCAAAATGTGAGTAAATTCCGATCCGTTCTAAAAACATCAGAAGCACACTTCAACCCTTACAGAAAAAGTTACTTTCGTTAAGCCGCCAGTACTACCGACGGCCCATTCTCATTACTTCAGCTCATCGATCTGGATCATGAACTCGGATGTACCCACTTTGCCGTTTTCAGCAGGGTATATAGGTACTAAAAGGTTATCACCGAGCCCCATATCAATTTTCACCTCTACAGATTCACCAAGCGCGGCCTGCACGCCGTTGAACTTAATACCGAAGGCAGCGTCTTTACGTACCGTTAGCGTCGCACTCTGGACGTTTTTGCAATCTCACCGTTGGACTTACGCAACACGTTGGTTGACAGATAAGCAAGAGGCTCATTTAACGACGTTTTGAGTGCTGAACTGACGGATAAGGTTCGCAGGTTATGCAACTGCACTAGGTTATTCGGGAGGTAGCTGAATTTCTGGGTATAAGTTTTGCTGTTCGACTGACTGTCGGAGACCGTCACGCTAAGCGCATAGTTTTCGGAAGGCTCGAATGAGGGGAACAGCCTTGGATATTCTGGCGCATAAACGTTCGTGCCAGCAGGTGACCACGTGAGCTCAACGTTATCTGCCGTTGGCCCTCCGGTTATCTGAAGACGGGTGATCCGGGGTGTTGTCAGGTTATCCGCCAGAGCTATACGGATATTCTCCAGCCCGTATACCACCGTACTAGGGCAGGATCATTTCAACGTAGGTATAGGTGCTGTCCGTCGCAATCTCGGTCGGGGAAGAATACAGGTTATAGAATAGCAGGCCGCCCTCGGCATATGACCGGTAGTTGGACTTTGGCACGCGATATACAAGATGAATCGGATTCTCATTAACGGTCATCCCAGCTGAATAGGCCGGATATCCGGAAACCCCTGGCACCACGCTGGCGGAGCTTTGCGGATCTCGGACCGCCCAGATAGTTATCATATCGAAAGAGCTGCAACGGAAGGGTTCGGGTGTTTCCTGCGTTGTCATAAATGACTACCTTGGCCGTGAAATCTTCATCCAGATTGCTGTCGGGAATACCCGCGCCTTTGACCGAGTTTTTTGAGTAAGTGTGATACATCTTCTGACCAGTCACGTCGTACTGAACAGACTGCCGTTACTGTGATAGACATAAAACATACCTTTCTCGATGCCATTTACGTCCGTGACATTGGTTGAGGTAAAATCAAACTGCCCCGTGGCCTCCAGCCCCATTTTCCAGACGCTACCCGCAGTTGATCCATAGGCGGCGTTGCCTGTGAGGGCATTACCAGACAGCGGTGTGGTGTCTACCAGCCAGTTGTAGCTGTAGGTGGCTACAACGGACTGATTCAGATCCAGAATACTGACCTGCACAACCGACCTGCCTTCGCCAAGCACCGGTAAAGTTACTTTTTTTCCGTAAAATTCGCTGCCATCTCCGGCCTTCAGACGGTCGGATACGCTGGTGCGCGTAGTAGTGGTGTTCAGCAGTTGCGTGCCGGTGGCGCTGGTGATTTTGACATTCACATAACGGTCAAGACCGGCAATGAGCGTCAGGGTTACCGGTGAGGCCGGATTCAGCAACAGCCGGGTTGAGGGGGCGTGAACTTCAATACCATTGGTATCTGTGAAGATGGATTCATAAATTTGAGCAGATGCCGGAACTGAGACTCCGAGCATAGCCATAGCCAAAGCTATAGCCTGATTTTTCATTCAGTATTCCCCTTTTAGTTGTTGCTATTTTAAACGTCTGCCCTGCGGATTTTTCCGTTAAGGGGGGGATTTCTGGGGAATTAATCAGCCTAAAACGGACATTGGGATGGGGTATTTCCCGCAGGCCTGCCGATTAAATCTGGCAAAAAGCACACAAACGGACGATGTTTTACTGAACAATTACCCCTCTTAGCGCCCGGGCGAAGAAAACGATTCAGGTAAAATTTTCTGGCCAACCAGGAGAACCGAAATGAAATTTTGCCGACGTCCGTTGATTGTCGCCGTCTATACGGCACTGCTGTTCCCGCTTTACAGCCAGGCTCAGCTTTACAACTATTCGTATACCGACACACGCGGCACGAAAGTGAATGCTGAACCCACCAGAGAGTATCTCAACCCGGGCAGCGCAATTACGCTGAATCTGATATCTGGTCTCGACCGCTACGAGCGCGTTACCGTGACACGTTCATCCGATAATGTGCAGATGTTCCAGAGTGTCACCGGCCTGGTGACAGTGGCCGACAGGATCACTGCCGCTGATGGTAGTGAGTACTACGGCAAGTCCATGACACTGCCGGTACTGGGCGAGGGTACTTTTTCTCTTAAATCCGAAACACTCGACAATAAGTCGAATGTCGTGGCGACAACCAGCTACTCTTTCAGCATCGATATCACTCCTCCCGTTCTACCAGATCCGATGCAGTGGATCAGGGCTGGTTTTCAGTACGGAAGTCTGGATATTTTCGGCGACAGGACCGCAACCCAGGCCATTTCGTTATCGAACGTCTCTGATGCGAGGTCAGGACTGGATAAAGCGGAGTGGTTTGCTATTGACAGCAGCGGTGTCCGCCGGACTGTAAATGCTCAGCTGAATGCACTCACGGGGGTGGTCCAGGCACTGGCGGCGGTGGCGGCAGGAAGCACGGTTGCGCCCGTCAGTCCGGCATATTACACCGTAGGTTTTCGGGTTTATGACAAAGCCGGGAACTGGACAGAAACATCACATCGCTCTGGTATTGATCGTACAATACCCAGCTACATTCAACATCAGGTGCGGAATGCGAAAACAGGCGTCTGGGAAGATTATGTTCCTGGCATGACTATTTTCGAGAACCCAGTCAAATTCAGGTACAAACGCCTTAAATCGGACTCAACCAATTTTAACGGGACAGACTTCGGCTGGGTCGATCAGATTACCAACTCCGACAATACCTATTTTTATACTGAAGCCACGGTGAGCTACCCGGAAACCTATATGTACTACGAGCTTCATACTAAAGCGGGCCTTAACGTCAACCTCCAGTACAAAACGCTGAAATTTACTCCGGGTAACGGCGTGGCTGAAGCCCCCCGCTATTTGTCAGGGCAGTACCATTTCAGAGATGCTAATACATGGACTTCGAGTGACATCGTCAGGTTTACCGGGCCGGATTGCGTAGATTTGGGTCGTGTAAACGTTGAACCGCGCTCTTATGTGCAAACTGCTACTATCGTCGGCATTGGCAGTTGCAATGTTTCAGTGGGTGAGAGCAGTTGCCAGGTCAGCATGAATTACTGTAAGACGAGCGGGAAAGGCTATGTTCCGTACCAAATTCATATCAGAGGGACCGGTTCATACGCAAATCTCGGCGGACTACAGTCGCATTTCTACACCTACTGGGATATGAACGCCCCGGTTATCAACAGTATCGTCTCCAGCCCACTGGATAAAACGGTGGTAATGCTGGTGACGGACAGTGACGTAACTAACGACTGGACCAATTATATGTGGGCCACCAATATCTTTAACCTCACACTGAAGGACACCAGTAATAAAGTCTCTACCTTGTCGCCGAAAAACGTTACGGTCCTGAACTACCAGCTGAAACAAGTGACGTTTGATTACAGCGCGTTACCCTCCGGGAAATACACTGCAACGGGTGCCGCGACGGACACCTACAACAACACGGCAGAACTGACGCTATCGAATACCATCCTGCATGACGTCACGCCGCCTGTTGTCGATATCAGTTTTGAGGGAAAGCAGGCTGACGGAGCACTGGTCAAAGGGCTGGAAAATCTGGTGATCACACTGGCCGACGATATGACAAAAGCTTCCCTGAAAAGCATCACGCTGAGCGGCGGACCCACTTCTGACAAAGTCAGTGTGGGCTGGTACAGCCAGGGAACTGATAAATACGGGCTGAACTACCCGCGTATCTTCCCCGCGACAGATGATGCGGATTCCTACCAGCTTACTGCGGTTGCGGTAGATGAAGCCGGTAATACCACGACAAAGGTCAGCCGGTTCCGTTATGTACCGAACAACCTGATTGAATTTAACACTCTCAAAACGCTGGCCGTGGGTATGGGGCTGAAGACATCAGATAACCAGCCGCTGGCGTATCTGCGTACCAATAGCATCCGGAAAAAAGATGGTTCGCTGATCACTGGAGCACAAACCGGCACGCTGACGGTCCGCAAAGATGCGGCCTTTGCGGTTAGTATGAATGGGGTGGCCGTCGTACCCGGGGATTCGAAAGACATCACGATAGATTTCGGGCAGGGTGATGGCGTCCTGATCCCCATCTTCCCGGCCACCAGCGGCAATGTCGGTGAATCAAGCTTCATGATCGAGCTGCCGCAAATCCAGTAACTGCCTCCGAACCGGCCCCGTATTACGGGGCTTTTTCATAGTGTCTTAACGTAATCAGAAAGAAACGAAACAGGCTGATTTAGTCGCATGTCAGAACTTGCTGAGAAACCTCTTATCACGCGTGTAGCTCCCCTGGAGAGGATTTATTATTGCGCTTCCCGGGCAGAGGGTCTGAAGCCAGATCGCCATGAAATTCGAATGCAGAGCCAGTTTTTGCTGCTTGGCGTCATCTGGTTACCACCTGCACTCGCTATGGCAGAACTGGAACGCCTGCTGAAGGGATATGACGCTGACCACAGCCGGTTACTGGAAAACGTCCTGGAGACTGCCCACCAGCAATTCCTGAAGTTCTGTGAGCCGCAGAAGAGAGAAGGGGGGGGCGTAGAAAACCACGTAGAATGTCCCCGACAGGACGACGCACTTCAGTGTTTACGGTTTATGTCAACGCGGTATGCGCTGGCCGTTGATCTGTGTGCCGCGTATGTGTGCAGCAGGTATGGACGTTAGTGCATTTCATGATTTACGGGCGGGCGCACCGGTTACTTCTTCTCTTCCAGCGAGGCAAGGCTGCTCATTTCTTTCATACCCAGACGAGCGGCTACGCCCATGGCGGTGGCTTCGAGTTCGGCCTTGCCGTGTGAGACGATATTCACCATGGATTCCTGAATGAGTTGGTTGGTGAAGGCCAGATTGACCGGCAAGTTATTGATTACGCTTAACAGCGACTGATAGGCTTCGTCAAGCTCACGCTTTCCAGCCTTGCCTTTTACCGCCAGCAAACGCAGCACTTCCAGCTTTTCATGCAATTTCGCCATTTCACGCTCAGCGGCTTCCCGGATCTGCCGTTCGTATCGTTCGCGTGTCGACTCAATATAGCCAATCTCCGGCTGCCGCTCATAATCGCCGCGAATCAGGCTGTTAATGGTACACGGCACGCCGTCACTCATTCCGAACGATGTGATCATCGTGGCCCACTGCGCCGGAGACAGACTGACTTGCAGGAGCGGTGAGCGGCGTCGGCCTTCCGCCAGTCGATGACGGATCACACCGTCGCGTTCAATCTGCTCTGATTCACTGAAGGTCATCGTGACTACCTCTTTATGACTGAGGTCGGAGGCATAAAGGCGCTGTCCCGTCGTGGACGTGCGGCTTACTGATACCAGTCCGTAAGCCGAGTGGCGGGTGATCACCTCTCCCATCTCGTTTTCAGTCACCGTCGGTATTACTGTGTTTTTCATCGTCATGCCCTACAAAGAATTAAAAATGACAGCGTCTGGCGTAAATCAGATGCGGAACCGGAATGTCTGGGAACTTTTCCCACGTCACTCGCTGAATTGTACGCCTGCTGCAATTGGTGGCGAGTTTCCCACTTATAGGCCGCTTCCCGCACGACACGAGCCACGATATTTTTACCCTTCATTACTCTAGTTCTCCGGCGCAGCCAGCCATCTTACTCACTTCCGTGCGTATGTCAGCGAATAATGACCAGGTCAGGACCAAAACTGAATCCATCGCCCATCCGGTCGGAATGCTTGGATACATATGATTTCCCGTATTTCTCCAGGTCTTGCAAACTGGATCTTGCCAAGTTCCATGAATACTCATGCCCCCAGATTTCCCCATCCCGATCAGCAAATCGTGCGGGTTTATAGTTGGCCTTGAGCAGAGCATAGACCTGTTCGAGAGTGGGTAATACCGGGCTGGTCTTCCCGTCATTTGCGTTAGCGTTCGTCATTATTATGTACTCAGTCGAGTTATTGTGTGGGGATGGTTGCACGCGAACTGTGCCGCCTCCCGTTGTACGGAAGACCTGTCGGCGCTCATGCAGCACGGAATTAGAATGCTTGCAGGCACGTTACGCTTCCTGAAAATCTTCTCCCATTCCGGCGCTTAGGAAGCGCGTATTCGCCGTCAAATCGGTAAATCCCGACCTTAGAGCATGGGCCGTCGTTTTTAACTAATTCCCAGATGAAGTCGGCACGGTCACTGAAATAGCCTGGACCTTCGTCAAAGGATGAAAATTCACTATGCACAACGCACAGATCGCCGTGCTGGCCGTTGATAAAAACGAAGTGACCTTTATGCTTTTCGCCTAGCTTCGCGTCGAGGTGTCCGAACGTTTGATACATTACGGAGGCTTGATGTTCTGCACCTGCCATTCCAAGTAATTCGCGCAATTCACTCCTCCTTCACGCTAACGCCATAGTCGGCCAGCGCCTCTTTATCCGCTTTACCGCGAGCATTCCAGCGTCGAAGTACGCCATCGTTAATTTTCGGTGGTAGTGTGGCAACATCGCCCATCTGCCTGACTCCTGTTCTGAATAATTTTACCCGGGGCCAAAATACCGCTGGGCAGTTTGCCTGGTTACACCCCAGGCACCAACAGGGACGGGCTGTTATAAGAAAAGCGATCTACAGGAGCATCTTCAAATCTGTGGCTCGGTGCATCCGGTGTCAGAACCAGGCCGTCATGTGCCGCGTGAATGTGCAGCAGTGAATCACTGCCCGTATCAATGTGCAGCGTCGGTACACCACGGTCGATCTCCAAAATGAGGCCGAAACACGTGGTGCCGGTTTCATTCGTCACTTCGCACTGAACGTTTTTATTTTCTGCTAACACCTTCACCTGGTAGGGCTGACAGTCTTCTTCTGGGATCTCGGCTTCACCCAGTTGCCAGTCCTGCAAAGTCAGTCTCATTTCTGAAGAGGTGGTATGGGATTCCGGCGTCAGCAGTGCATAAACCTGCTGGCGGAACTGCTCGCTCATCTCTGGAGTCAGGGCATCGGTCTCTCCGTTGAAATGCTCTTCCCAGCCATCATGATCAGCGTGCATCCAGACGTTTTGCGTCACCGACGGCAGTGAGGCGTCAGGGTGTACGATGAGATACGGAGAGCTTTCTTTGGTTTCCAGATAGCGGACGGGCTGGCCATTCTGCAACGCGCCTTCAGCAGCCGTACCATCGGTCTCCGGTAGTGCGATTTCAGTGACATTACCGCCACAATGCTCTGCCACAACACGCCCCAGATCTTCCATCAGGGCGCGATGTTTTTCTGGGGAATCCAGCTCGCCCAGTAATTCTGGTTTTACCAGTAATGCAGTAATAATTGTTGCCAGTTCACGCGTCGAAATTAATTTAGCCATGATAGTCCCCTTTTCTCTGATGAATTAATTCTACCAGTTCTAGTTTGCTGGCTAATAACCTGAAAGAAAGTTTTTTAAAATATACTCGCCCCATAAGTTAGGGGCGAAAAATGGGGGTAAATAATAATGACGGATTTTGAATTAATAAATCAGTAGGCGGCTTTCAATAATAATCCAGGGCGTCCGTAGGTATACTGGTCAGAGGGCGAAATACTGAAATCATGATTAAGGGAGTCGGTTGAAAGAACCAGACCACCGTGAGCTGCCCGGATGTGCAGAACTGAAGGATCAGTGTCACCCGCATTAACGTGGACAGAGGGAACTCCATTTTCAATCAAGAGTGTCAGGGCCATCACCAGACGGGAATCTGTATCTTTTACTGCCAGCATGGCATGACCACCGAGCGCCATTGTGACGTTAAACTCTGCTGAAGAATCGGTCTGCTCAACATCGTCGGTGCTGTACTCACACATCCGTACCACCTGTACTGGCAGATTAGCATGGCTGGTTTCTTCCTGAAGGAGCAGACGCTGGAGGGTGTAGCGGCGTACAGCGCACTCTTTGTGGGTCGGCAGTTCATCAGGGCTTTCTTCGACACTGCCTTTGATATGGTCAAGCCAGCCATCCCGGGCATGATGACGCCAGACGTTATCTGTGAGGGAGTGCATGTCCTGGCCAGGAGAGACAACAATATAAGGGGTTTCATCTGGAGATGTCAGGTAATCGGCCTGGCTGTCTTCATCGCGTACCTCAGGCATGATCACGCCGTCAATTTGACCGCCGCAATGTTTCGCCACCAGCTCGCCGATGTCCTGCATAAATGCTTTATGCGTGGCTGGTGTTTTTAATTCATTCAATAATGCTGGTTGCACCAGTAATCCACAAACAATTTCCGCAAGCTCGGCAGGTAACAAATATTTTGGCATGGTTAGTTCTCCTCTTTTTGAATGAGAACACTCTAGCATTTTGACTTACTTTTCTAATAAGTTGACGACAGGTATTTTTTTAAAAAAATATCCCCTGAATTTATATTAAAAGCAAGACTGCATTAATCCTGGAAAAGTAACTTTTCTCAGGGCTTCACGGGAGGGCATTACCCGTTATGCCCTCACCACAACTGAATCACTTGAACAAAAACGTGTAGATGTCCATTTCAACAGCTACCTGAACGCCGGTGTTCTTTGACCCAGGCAGTTCCCGAAAGCCTCTAACCGTCTGGGAGTGCGCCAGCGATACCTGCGGATGAGACGGGTTTTGTAGACGGGGACGAGCGATACAGCCGGAAGACGAACAGGCTCTGGTGTTTCAGCTTGCGAGTGCCGCGATCCTGAGGCACCAGTAGATGCCTGCGTTTTCCAGATTAAAGCGGCATCACGCCGCTGTGCCACCCCCCGGAACTGCGTTAGACCGTGCGTGTTATACATGTCAGCCATATGGACTGTTTCGGCAACCGGAAGTAAAGCATCATTAAGGTGACGGACAGGCATTCCCTGAGCCGTATCACGCTGCTGTTATACCTTAAAACGGATAAATACTTAAGCATCGCTACTCAAATGAGTGAAAAGCAATCACTTTTATTGTGATGCAATAAATGCCTCATTAGGATTTGTTTCGTTTTTTGTAAACAGATAATTCTGAAAATACCCTCCATTAAAATTGAATCCTGCATATATAAATCATCTCAATCATCCTTCCTGATTTATTTTCAAAAAACGTTCGTTCAGGTTATTAGCCAGCGAGGCCAATCTGTCATTATTACTTCAGACCAAACCTGAGGAATCAAAAATGGATAAATACTTTGACCGTAGCGGAATGGCAATCGATAACGCTAAGATTAAGTGTATTGATTCAGTAAAAGGCACCGGGGAATATATTTACCGTGTTACTTGCAATAAATGCAATGGACGTGGCGAACGCAATCACTTTTATAAGAGCCGCTGTATTGCCTGTAATGCCACTGGCTATAGCCTGGTCACTACCCGTACCTGTTACACCCTGACTGCACTGTATCGCATATACCCAGAAGCTGCTCGCAAGATCTCAGCCGCTCAGGCAGCAGAGCGTCAACGTGCTGTTCAATCAAAGACTTCCGCGTTCAACCTCTGGTGTCAGAACCACCAAGAACTGGTGGACGCCATCACGCAGCAAGACGGCGAGAACAGTTTTTTGAACAGCCTGAAGTCGACGTTATCACGCAAATTTCCATTAAGTGATAAACAACTGACGGTCGCAGCCAGAATCCTCGGGATGTAATAAATTAGATTCAGGCTTTTTTAATTCTTATTTATTTAAACTCATTTCGTTACGGAGGAAAATATGATCCATTCATTTAAAGACAGGCGATTGGAAAAGTTTTTCCGTAATGGAAAATCCACGGCAGGCATTCCTGCTGAACTGATTAATGCGATTTCATGCAGACTGGAAACGTTAAATAATGTTAAAAACGAACGCGAATTGTTATCTGGTAGTTTGCGGTACGAACGCTTAAGAATGACCGCAAACCGGTATTCTTCCATTCGAGTTAATTCAAAATATCGGCTATTCTTTGAGTGGAACGATGGCGTACATAACGTCCACCTGTCGGCGCATGATTATAAATCGCTCATCCATTAAGGTAAAAAATGAAACTTTTCGGTATTTCATCCCGGGATTCAGGCATGGATGCGATGTTTTATATTCAGGCCAGCACAAAACAACAGGCAAGCTTCATATTTGACTTCCTCGCCACCCGGCTGTATGCGCATTGCCAGCTTATTGAACCTCTGAATGAAACCATCATTCCCTCCTTAAGTCGGACGACGCTTTCATTACAGCCCTGGTCCCAGAACTCCCAGACCCGGACGAGTGAGATGCAGATGGTTACGCACGGTCTGACACTCTCCGGGGCAGTGATGGTGGAGCACTCCCGCCAGATCGTCGACTTCTGCGATAACCTGGGTCTTCGCCTTGATGCTCCCACCGGAAAACCCGGTTGGACAGAACTGATCAATGCCGACTGCGAACAACTCAATTCCCCGCGTCTATACCCCGTCCTGATCCAACCGGGCACTGAAGGACAGTTTCAGATTTATGTTCCAGCTCCGGCTGTCATTGACGCCGATACGGTCATTGCCAGTGTGATCGACGAGTGTTTTAGCGATGTTACCTCGTACTGCTTGGCCGGTACGCCGTTTCCAATGACGGAGAAACCAGTGATCCGCATGGAGGCACACCTTAGTGACGCACATACCCGGGTTTTTGAGCTGACATTCATCAGCTATAACCTGGCGCTCTCTGCCACGGTCTATGACAAAAACCTGCGCCAGGTACTGATGTTATGTGAAGACTTTGGCGTCACTCTTCAGGGGCGAGCCGGTGCATCCTGTCATGCCTATATGCGTAACGAGTACCGACGTCTTGCTCATGTCGGCGTCTACTCACGCTCCGGGGCTGAAAATGATGTTCGCGCCTACAGCTCAGATAAAGAGGAAACCCTGATCCGCCAGTTGATGACTCAGGCGACAGCGGGGAGCGCGTTGATTCCGGCGCGGCACGGAAAGCAATTTAACGGCGTGCTGATGAATGCCAACCCGTCATCAGCCACCACTGGCTTTATCTACCTGTCACCGGAATTTCCGCAAGGGCAGTTTATGATGACGGCGGAAGTTGTGAAATCCAGTTGCACGCCACGGGGGATCAGCTACATCGAAACGGTGGACGGATACCGTTTTATTGTGACGGCATATGACACGAAGGCGATGCATTCCCTGACCGAATTTCTTGCTGTTAACGAGGACTATTTTACCCCTTATCGCTGGGAGTAGCGCCATCGTGCCGGACGACTAAGGAGGGCATCCGGGAAAGGCGATTTTACGCTAGGTGCGGGGCGTTGAATCTGCGGTAAAACAGACCGGTTCTATTTTAATACCCGATCACCGTAGCCAGCTGCTGCCCAGGTAGGATGTAAGAGCAGACCGGTATAAACGATACGGGATCAAGGCAGGGCAACCGGGAAAAGTAACTTTTCAGCCAGACCATGCCTTCACAGGAATTGGCGTAATTCTCCGGCGGGGCATTATCAGTTTTTTTAATAAACTGTCCGGGCAATGGATGCCCGGTAATTCAGCGCCCTGCCAATTTGCACATTAAATACCCTGATTAATAATAATTAAAATAGGCCGAGTCAGTTTAAATAATTAATATTCATTCCATATGAAAGAAACTTCAATGAATGAAAAAAAATCACTTCTTACTTATTAGCCAGAGAGCCGACTTTGGTAAAATATCCCTACAGCAACCCAACTGACGGTCGAGGTTAATAGTATGGAATCCGAACAGCTCATTACTAAAATTACTCAGACACTGAAACGCCCCGACGGCTCTGAAGTACGTATTGTGGTGGAGCAGGCATTCGGCAGTGGCCTCACGCCTTCGCTGGGTGTATATGTCCTGCGTCGCCCGACCACTGCCAACAACTGGCAGTTGTGCAAAACCGCACCGCACAAGGACTGGCGCACTATGTCGGTGGATGAATACCAGAAACACGGGCGTTCGGAAATGCTTCGGTACGTCTCCATCGGCGAAATCCTTCGCCTGAGCGCCGCGATCGGCAAACCAATGAGCTACGTTGATACCTGTCCGGGTTTACAGGGCTGATGCTGTTTTTTACACGTAGCAGAACTGACAAATTTAAAAATTGAAGGCGGAGAAAAATGATGATTAACTAACAGGGCATCGCTGTAAATACCCCAGACTTAAGCCGACTGTATATTATCTCAGGCCGCATGATGTTTGATGATGAGGAAGAGGTGATGCTGGTCGAAGCGGACTCCTGCGGTGAAGCTGAAGCGGCATTCCAGCAACATATCGACGAAGGTGTAGCGCACTTGGATCAGGTGCTTGTTATTTCGTCTGCGTCCCTACAATCACTGTTACCAGACAGGCTCATTGCTTCCTCCCTGACACATACCGTATAACCAAATCTTTCCCGTCTAATAAATTCCGCCCTTGTGGCGGTTTTTTGTTTTCCCGTATATTTATTTTACACCGTATCCAGAATAAAAGTTGGATTATTAAATATGGCGCTGTCTGCTCTATAAAAATTTCGAACATATTTCATTATTGGTTATTAGGTGCAGGTATCTGTTTTGATATTATCTATTCACAGACAGCAATCACATTTAATTAAATAAGGAGTTATGCAATGGCGAACAATTACACTCAGGCATCCTTCACAATTCTCTGTTCACAGGAACAGGCACAGATGGCACTGGACGCGATTGCGTATGTTACAGACACGGATGTGGCGGAAGGTGAACACTTGCTGTCTAAACCGGTTTCAGAGTGTTCCCTCACTGAATTGCTTGTCCTGGGTATTATTCAGAACCACCCGGAGTGCGATCCGTTTGAGCCGACTTTTGGTCAGTCGGAGTCACCAGAAAACAATTACGAGCTGGAACTCAAAGCGGAAATCACCGGTAAAGGCCTGGCAATCTGCCATGATGAAAGCATTAACCTCGACCACGCTATCGCGGTAACAACTGCCGTGTTGTCGGTGTTTAACCTGCCTGAGATGGTCACAATCAATGCCGCTTTCGTCTGCGACCGACCACGCGAAAACGAGTTCGGCGGTGCGACTATTGTGGTGACTAAAGATACACACCACTACGAAGAAGGCTTTAATTTTTCTCGCCTGATGAACGAAGCTCATGATGCCGGTGTTCAGTATGCGTTGGTGAAAGTGAACCAGTACAACCACGAATACACATACACTCAATGCTATCTGATGAGCTGCAAAAAATCAGAATCGGCTTATGACGTTGCACGCCACCGCCTGGCCTCTGACGAGAGCACGCCCGACAATCCTGGTGAGGATGGAGTTATCATTCTCAGCGAAGAAGACAATACCAGCATGGCGCTTCACAGCGTCACTGAATTGATGCCCGTCGTGTACGAAAGCCTGAGCAAATTACTGCCTTCACTTGACGAATTGTGCCCCGTGACTGCCTGATAATCCCTGATTGCCACCGGAACAGCCGGTGGCATGGAGAGCTGAAAATGACCAATAAAATCCTGATTTTGTCCGCTAGCTGCATCAATGAATTTGCGAGTGATGTCCCGCAAAGCGTCTTCTTTTCCATTGATACGTCGCTGGCTAAGCGTATCCGTGAACTGGCGGCATACGTGAAAGAAAATGATTTGTACGCCGCCGAGTTTTTCTTCTATGACTGCCACTGGTCCGAAACATTGGAAGAGGACATTGAGGTTCTCATGTCGCAGGCTGCGTTTATTGAAAGTGACAGCAGCGGACAGGAAACGATGCTCCGGGACGTAATGCCCTCCTGCCGCACGGAAACAACTTCCATCCGGGTCATGAAAGAATCATTTCATCTGACGGCTGTACCCCGTCATTGCGGCGATGACATGATGCTCAATACGCCCCTAATTCCGTTGGCAGAGCTGGAATCAAATGCGACGGTTTTAATTACCCAGCAGTATTCGTGAGAGCGTGGAGAATATAATATATTTATTGCCGCGTAATTTTATTTGTTCAGTGTTATTTAATTAAATTGGCATGATTTCAATTTAACTATTTTTAGCTTCACATATTGCGCTGAAGATATTAAATGGATTTAATAAATATCGCGACAATACAGCGAAAGCCAAATTCAGGAAATAATATGTATATCGAAATGAAAGAAACATTCCTTGAATTACCCTCAGAAATTCAATTTTCTGAGGCGGCTAACGCTGCCATTCTGACGCAGGATAAATGGGGCGATGTCTGGCAGACACTGAAGACCGATGCGGATCTGAATTATACTGATGCCGGTGAGCCGGTCAGTCTCGCTTCGCGCGTGACGACGGCAACCAGTGCCATTTATCATGCGATTACCGAAGGCTGGACCATGTGCGTCGGCTACAGCGGCGGGAAAGACTCTCACTCGCTACTGCACTTGTTCCTTATGGCCTTGATCCGTGCAGTACGAAACGGGTCGAACGTCAGCCAGCACCACTTCATTCAGATGTCTGACACCCTGATTGAAAACCCTGAGATGCATCATCAGGCCACGCAGGTTCTCAGCCAGCTCAGAGCCTTTATTGCCGAACAAGAACTGCCTTTGACCGTCCTTGTGGCCCGCCCGTCCATGACCCAGAGCTGGGTCGGACGCATTCTGACCGGGCGTGGACTTCCAACCTGGACAAATTCTTCTACGCGTCAATGCGCTACAGATCTAAAGCGTTCTCCACTGCGCCAGGCCAAAGCCCGTTATCTGAAAAATGCACCTGCTTCTGTCCGCAACAAAGTGTGCCTGATGCTGGGTTCCCGCGATGATGAGAGCGCCCGTCGGGCAGACAACATCCTAAGAATGGGCGGGCAGGCGGACAGCGTCTCGCTCACGGAGCACGGCGGCGAACTGTACCCGGTGAAAGAGTGGCGGGCACAGGATATCTGGTCATTTCTGATGGCCTGTGGTTCTCTGGCGCGATTTCCGCTGCCAAGCTTTTTGCCGGACAACTTCAGCCTCGCCACGCTTTACAAAGACGCGACCGGGGAATGTATCTGGACGCCGGAGAAATCCACTGTCCGGTCTTCTGCCTGCGGCGCTCGCTATGGATGCTCGCTATGCTGCGCCGTCGGCATTGATCACTCGATGGAAACCTTACTCCGCACTGACCCTGAGAAGTACGGCTACCAGGCTGGTCTCAACCGCCTTCAGCGTTTCCTGACCAAAATTCAGTACGACTGGAGCCTTCGGGATTATATCGGACGCAAAGTGTTTGAGGGCGGGTATGTGCGTCTTCAGCCCAATGTGTTCTCGTCGTCCCTGACCGAAAGACTGTTCCATATCTGTTGCAGCCTCGATTACGTGGAGGCTCAGCGGGCCGCAGCGGTGCATGAAAAGTTACTTTCAGGCGAGATCGAAGATACCGCGCATAACCGCCGCATGTCGGAGCCGCAGTTTCGACTGGTGCAGGAGGCTAACGTGCTGCATATCGACTTTCTCTGGTCACTGCATTGCTTTAACCCGCGCCCATTTCGTGCCATTGAACTTTACCGCCAGGTGTGGGAAGGGGGGGCACTGGATCTTCTCGACGATGAGCCAGCTATGCAACCAGTACCCCGCACGCCGATGCCAGCACCACGCTGGATGAAGTTGCCGGAAGGCCGTATCGGGACGTCATTTGACGGGCTGTCCGATCCGTCATCCGAAATAGCCTATTTTGACGGTCGGGAGGATGAGCGAGCTTCCCGCAGTCTGATGAGTAGCGGGGAAGGCCTGAACATCGTTGCATTCGAAGAAGAGGATGAGCTGACGGTCGATGAAGACACGGCATCCTGGATTATCTGGCATGAATATGACGGATTACGCCAGCGTGTGTCTGACGGTGAGTTTACCCCTGTGGCGGCGGCACAGTACCTGCTTAGATACGGCGCCGTCCGAATTTCGCGGGGGAAAGGTGCGGTGTACCATCGACTCGCTCAACGCGGGCAGGCCTATTCACGTCTTGGCATTAACGACCAGACGCCGCTGCCGTCTCTGCTCGCCAGCCGCCGTTTCAAGATCCTGACCGACAGCGATTATCGCTTGCTCGTAGCCCGCAAACTGCGGGGGCAGCGGCAGAAACTGCGCTTCTGGTGCTGTGTTGCGGCCTGTGTGGCACTGCACACCTACAACAAAACCCCTCTGGGGGGGTGGATAACGACGCAACTGGAGACAGAACAACAGCTACATCTGGCCCGGACGGGAGACGAACTGAAGGCAAGGACTCTTGACGCTGTCCTGACCCTCTGTAACCTGCGGATTTCGTCACAGCAACCGGAAGAACGTCTGTATTACCGGGCCGTAAGAAAACGCTTTCTGGAGACATTAGCCGGGTGTATTTCGCCGGAGCGCGAAGGAACCTTACGGGAAGTCATCTGGGAGCTGCGGATGTTATCCGGCCCCCAGTCTTCGAAAAAGACGGGGTTCCGGCATGTGGATGAATGCCGGGAGAGGACGGCGGCGTTGTTAAGGCCTCTGTTGAAACGTATGGTCCGCCTGCTGGCGTGAGCCCACCAGCAAAATCAGACATACGTGCAAAAAACGTGAAAATAGCCCCGTTAACGGAAAAAGCGCCGAATGGTGTGTGTTGTAATGAGCGCAGGTGCGGAATTCGTTAAAGGGACTGTTTTGAAAAGTAACTTTTACATCAGACTAATAATAACCATTTTTTTATAAGTAAGGACTGATATATGACCGATATTAAGGAGAAACAAAATCACTTTAGTAAATTAAAGTGTATTGCAATTTCCTGGCATTTTAATAAACCTACTGGGAAGGAGCACCTTCTTTTATTTGTTGCCATTGTGGCATGGATTTTCCCAGGACTGGTGTTTTTCAAACATTCTCTATGGGGCGGACTCCTGTTCTTTTTTTTTGTTGCAGGTAGTTATGCATTCCTGGCTTTTCCTCATTTTACTCATCGGAAGAAAATCTGGAAGGAAAGGCTTGACCAGTCGCTGAAAGAGTATCAGCCGCTTGATCTGCAAGCCTGGGCGTATTTTAAGGACCGCGTTAGAGAGGAAGGCATGACTTATAAAGCCTGTGAGTCATGGATGAGTACTGAGGCTAGTGCATTATATAAAAGCCCCAAACAAGAATGGTCATTTCTCGACAGCACTTCGGTTGGAGAAAATGATAAGTCACAACCCGATTAACAGATTCACTAATTATTGAAAACGAACATTTAAATTTAATCAAAAACCGCCCTGATCACAGGGCTAATTATTCAGAGGATTGCACTATGCCTATTCAAGAAAAAACCACCGTTTTCGTTTTTAATGCCTGTCATGCTGACAAGGCTGCTGCTGCCAGCGCCAATGCACTGCACAGCCTGGAAGTTGAATACCCAATGACCCTGAATGATTTGTCATTGCTGTGTGAGTCCGTCGCTAAAGCGTTGGATGTACCCGGCGGAGTGAAATATGAAATTACGACTGAGCCGGTAGTGGATGGGGAATACGATTAATTTTGGGGGAGAACACCACTTTATCAGGTAGGGGGGCAGTTGCCCGTTCCCGTAAAACTACCGACAGTTTCGGTATGCCTGGCTGATAAAGAGGGATAGGCCTCTCAATGTGTGAACCATGTGTGAAAGGAGTCAGCACAGTGAAGACACGTGGAATGCTTTTTAATGATGAAATGGTCCGGGCAATTCTGGCAGATCAGAAAACACAGACGCGGCGGATTATAAAGCCTCAATATAGTTCGGATGAATGGTCTATAAGGCCTGCGCAAACACCGCGACATCGCGGGCACACGCATGACTGGTGGCTTCCAACAGGGACCCAGCCATACTCGGCGCTTCGGCCTTGTCCGTACGGCGTAGTTGGCGACCGCATTACGGTCCGTGAGGCGTTTTCATTGCTCGGGAATGAAGATGCGTGCGCGGTGGACTGGAATGACAACATCGTGATGGACAGGACTGAAGCAGCCCGCATTTACCGGGCGAGCTGCGAACAGCGGTCGGGGGATTATGGGCTGTGGTCGATCCCTGATGAGGCCGACTGGAAGCCTCGTACCGAAAATATGAAGTTCGAAGGTGCGTGGACACCTTCAATCCATATGCCTCGCTGGGCCAGCCGTATTGCACTGGAAATTACCGATTTGCGGGTAGAGCGGTTAAATACCATCAGCGAGGAAGATGCCAAAGCTGAAGGCGCACCAACAGAATGTTGTGTTCTTGGCGATAAGCACTTTCTTGGCTTCCGCAGCCTCTGGAAAAACACGTACGGCGAGGACAGTTGGCAGGCCAACCCGTGGGTCTGGGTCGTCAACTTTAAGCGTATTACCGGGGAGGTCGTATGAATAATGAGATGAGTTCGCTGGGTACGCAAAAGGCCGAGGGCCCTTTTGTCCTCCTGACGTTGGTCGGAGAGGGTTTTATCTTCGACGAGCGGCATGAAATCGTCAGAATTAATGGAAGACCAAAGCAGATTGGGGTAAAGCGGAATTACTTTGAATCTGATCTGGGAGAAGGTAAAGCGAAATACTGGACACTGGATATTAATGAGGCCCATGTATTTCCCACTCTGGATGCCGCGACCGAACAGCTATGCAAATTAAGCCGACCACACCTGATTAAAATTCGAAAACTAATTCAGGAAAATAAATAAAAAATCGTCTTAATATGGTTGGGAGGTCCGGTGAAAGTTCTAAATAACAAAGGCGCAGTAATCGAATTACCCAATTTTTCAGAACTCCTCCCGAAGGTTGAATCTGATGATGGGCGATTTTCAAAACCAAAAAATAAAATATCCAAAGAGCAACGAGCCGAACTGCGTTTGAAATTTGGCGGTCGGTGTGCCTACTGCGGCTGTCCTTTGCCGGAAAAAGGCTGGCATGCCGATCATGTTGAACCGGTGAGGCGGGATTTTGAAATGGTCAGAGCCCCCGCTGGAAGTCGAGTGACACACCGGGCTCGAAGTACCGGTAAGGTCATGCACCCTGAACTGCATGCAATCGAAAATCTTTTTCCGGCTTGCGCCCCCTGCAATCTCTTTAAAGGTGCATTAAGTGTTGAAGGCATGAGGAAAGAAATAAGCCGCCAGGTAGAACGCGCCAGGGCATACAGCGTCAACTTCAGAACCGCAGAGCGATTTGGGTTAATTGAAGTCACGGAAAAGCCGGTTGTCTTCTGGTTCGAAATACATCAGGCGACGGCACAATAATTGAAGGCTTAATAAACGAGGAGAATACCGATGTTTTTGCACCTTGTACCAAAAATCCTGCATCCGATGGGAAATCTTTGCACGCTGGATTCCGTAAGCGTCCCGGAACTGTCGCTACGCCTGACTGGTAATGACCTTGTTGCGATGCGCCCTTATCCCAACAAGCAATACCTGGTGGGGATGCTGAAGGGGCGTAGGGCGCTGAATGGATTTTTGGTCAAAAGTCCCCGTGCGTTTGAAGAGTTTACGATGGTGTCCGTCTGGAATATCGAAGGATTCGGCAAAATAACGCACACCCTGAAGACTTTTGTCGAAGATACAGATTATGACCTGGTTTCCCATGACGTGCTGCTGGCGCAAGGGAGCTACCGAGCACAAGCGTCTGAACAGTGTCGTGTTCACCCTGTTTATAAAAACATTGCGCCGGTACACATCGAACCGAAGATGGAATCACTGCTGTCGACCGAACCCAATTTCGAGAACGATGTCTGTGAAACCCATTCGTGGGGGATGCTGGTGCGTTCGCGGGATGAGGGGTTTAAGGCAATGACGATGCCTTCCGCACGCCTCCAGGAGTCGGTAGCGCTGCGGGGGGATCGCCAGCCACAATTGGAACAGGCCATCGTTATTACCGGGTGAGCGAAGGTCAGCCTGATGTCGTTGCTCAGGCTGACAGATATCTCAATGGATATATATGACATGACTGAAAAAGAGGTTCGAATGGACGAAGATAAGGTACTGAGTTTCATAAACAGCGGGGACGGCGACGCCGGAGATCTCCTTGATGATGCAATGCCGACTGCCGCACGTCGATTCTACCGACTGACTCAGTCGATGCACACATTGCTGGGGGAAGTCAGAGAGCATTTTCCTGATGCTATGTTTTATTCCGCTAACGGCAAGGTGAGCCTACTGCTTGGGAGTAGTCATAACAAGCATGACCAGCCAATGCAGGAAATGGTGGCTGTTTCTGCGACGCAACTTCATATCGAAGGTGGTGACTGGTAGGCCTGTCGGTGTAAATCGCGAAAACGCGAAAAATTTTAGAGACGTGTCCTATATGTCGAATACATACTGAAGGTGGATGATTCCTTTCTTCATCCTGAAGGATATTAGTTTAGTAACTCGATTCAGTATAATAAATTTAAACCCCATCCATTCAATTACCTGCAAGGACATGAATATGGATAAGTATCTGGCGCTGGACAGGGCACTCAACGAAATTCTTACCCCAGTTCCTACGCCGTTCTCGACATTATTTGCCGGAGAGATCAAAGCAGAGTGTCACCGGATTGCAGCCGGGGAAAGCAATCCGCAACCGTCGCATATTCTTGATCGCCGTTTGCTGGCGCTGTGTAAAGCAGGTCAAATTAATTATACAACCGGAAAAGGGTGGCTTAAATGAGATGGTGCCATTTTGCCACAAACTTGAGGAAAAACTCATGACAAGCAATCGCTGCCGTGAAATTAAAACGCCACCAGAGCATATTATTGCGGATTACATTCTTCGCTTTATGAAGAACAATAAAGAGGCAAAACTCTACGAAGCCATGAGCCGCCTTGAAAGTAAAATCAATCTCTTTGTAGCTGACGGTCATGATGAACTACACATCCGGGCATTGTTAAATCAGGCCGCACATAGCCATACCAAAGAATCATTGAAACAGGCCTGTGAACGGATTTGTAATTAAATTTTTTGTGTTAAATTCTGTCTGTAGTTGCCTCGCCACAGGCATCCTGACCGACACTCTGCCACCGAAAGAGGGACGCAATTCTAGTGAAATTTATCCTTATGTTTTTCATTTTAGCCATTCTGATCTGGGGTTTTACAGGTCTGACTTTTAAAGATGCCATTCTGTTTACATCCGTCGGCCTGAGCATTTCGGTTGTGGCTTTGTCTGCGCTGCTTGTGGTAGCTCTGACATTTGTCATGGCTGCAATGTATGCGGCTCATGAACTGGGATCGCTTGGTAAAATGATTATCTCTCAGGTCGTTCTGGTTGGATTCTGGAACCTGATTTTTTCTGTTATCCCGGACGGAAAATTAATTTCGTTTTTTGGCGTTAATGTCTGGCAATCTGGTTCATATCTAGTTTACTTCATGACGGTGTTGGTAGCTGTTTTCGCAGCGTATATCGCGCTCCAGAAGCAGCGATAGTTCTTTTCCTGATGTAGTGCATAAGCCTTCCCTTTCGGAAGGCTTTTTTCTGCCTTTAGCGCGGAGTGTTTTTAAACTGAGTCCGGCTGCACTCCATTTAAATTTAATTCAGTCCTATCTAATAAATCGCTTATTTTTTCATTCTGGGTTATTAGCCAGACGAGACAGTTTGTTATATTTGAATTACATCAACCGAGGGCGAGAAAAATGCAGATTAATAAAGTTATGTCTTTACTTGATATTCTTACCAGCTGGCTCGAAGACAATATTAATATGGAGTCTGACCTGTTTTTCGATAACGATGTAGACAATACCACCTCAGAGTCCCTGTATCCCGCTGTGGAAAAAGCTAACGCTGTATTGAGCAAACTGGCGTCACTGTCGTCAGAGACGATTCAGGCGACGCGTCAGCGTTTGCAGGACGCGGTAGAAGGCAAAGGGGAGGTTTCAACTGCTGACGTCAAAGAGTTGCTACTGGCCACCCGATATCTGATGCTGACTACGGATGGAGAATAAGTTTATGACCACATTAACATTCGAAATTGCTGGGGTAAAAAAGCTCCTCGAAGAACTCCGCTCGGCGGAACGGTTCAATGCAACCATTGAACAGCTTTTTGAACCGTCAAATTACCCCGGCGGTACTCCTCTCAACGAAGAGGGCAAAACAGAAGTGGAAATGAACCAGACGGGGGGAATTTTCTGGCCATCATCCAAACACATTGACCCGGCCCGCCTGACTCCACAGATCCTTCTGGTAAAAGATCATGGCGTCTATCTGATTACCAATGCATCTCTGGATGGAACCCCTGTTTCCCGTGATACGGTTGTCTATGCCCGTGGGATGAATCCGTCTGTTGATGATGAATGGTATGACGAGGCAGAGGAGGCATTGGGCGGCGATGATAGTTCGGTCTCTATCCCGGTGGCGTGGTTTGAACTCGCTCTTAAAAAGAAATTTAATGCTTTTAGTATCAAAGTATCCCCCACAAAAATCACTCTGGTGAATGGATAACCACGGCACAGGCTGGCTATCTCGCTTAAACAGTCCGTCCCTGATCTATTAACAGGGCGGACCTTATTTAAGACACAGGACACTAAAAATGGTTATTGACGCTGAGAATTCGGAAATGCATCAAGTACGTGATTTTATCGCTGCAAACTGGAGCCTGTTTACTTCGCACATCCGCGAGAAAAGCATGACTGATGAACAGGCCGAAGAGGAAGCTCAACGCATTTTTGTTGTTGTCGGAGGGGGAAGAGTAAAGGCATTTGCCTCGCTCAGGGATTCAGCCAGGTGCTGGATATGCACGTTATTTTCAGGTCTGTCCGCTAATCTGTCAGCCGGACAGCCCTCGTTATAAAAGGAACATTATGGCAGACACAAAACGTCCCAGCTCCCCGCTTACACAGGCCCAAATCTATGTGCTACGTCGCCTGGCATCCGGAACGACATGCAAGTTTTTTTGACTTTCCCGCGCGGAACCCAATTCACTGATTTGTGCCCTGCATAAGAATAACTTGCCGCCGGACATATCGTCGGTGGAAAAGTTACTTTTCTATATTTCGATTGTGTTCTACAGCATCGTTCTTTTCCTGAGTTCAGGAAGTGACAGGCCATAGGCACCTCGAAAATACTCTCGTCATTGCCTCCCTGATGTGTCTTTTTTCTTGTCAAAATAGGCCCGTTACCGAAAAAAAATTGGCATCTGATATGGTGTAATGCTGGTGTCATTTCACCCCAGAAGGATAGCTCCTGATGAAATTGTTCTACAGCAAACCTGTTCGCTTTATCGTCATTATCTGCGTATTTCTCCTCGGCGTTGATAACCTGAGCGATATGTTCGTCGATATCTCCCGACCAGTATTCTACGGCGGTCTCGCTGCACTCCTGGCCGCTGCCGTCGTTATTGCCCGCGTTGATTACAACAAGAACGCGGAAAAAAAGGCCAGCCAGGTCCATTAACCTTTATTCAGCCACCTTACGGTGGCTTCTTTTTTATTAACAAGGACTGACTCATGCATAACCTTGAAATCTCTACCATAGCCATTTTCAGTGCCCAGTATAAAAATATCGAAGAGGCCGAGAACGCCGGGGCCTTATATTCCGTCGATATCGAATATCCGATGACTCTGAATGACCTGTCGCTGCTGTGTGAATCTGTAGCAAAAGCCGTTGGCGTCCCTAATGGGGTGAAGTACCAGTTTGTCACCCAGCCGCAACCGGAAGAAAGTGATTATTAACGCGTATAGCGCCTGACTGAACAGGAGAGGAATAATGGGCCATGTCGATTATACCCGGACACTCCGGGTCCAGCTTTACGATGCCAGCCGCTTTCATGATGGTGCGACGGCGGAACAGGCTGGTGAACTGCACACCGTCGCATTCAGTAAACCCGCGATTGCCGATGATATTCAGAAAATTGTCGATACCACTGCCGAGGTGCTCGGTAAACGGTACAGCGTTAACGTATTCTCGAACTGAGCGCCAGTGAAGGAGGTATTCAGAAAACCTCCTTCTTTCTATATTTTATATCAAAAACCGTCAAATTTAAGATGCCGCCGTTCATCGCCATCTGCACCTGACCCTGACTATTAATATCCGCCAGCAGAGCATGTAACGTTCCCCACGCTTCGCCATTGGCTTTTTGCCAGTACATTTTCACCCGCTCTGTTTGAGGATTAACGGTATACGCCTGTACGGTCAGCGTCGGATCTGAGAGTGCGCAATCATCAGCGGCAACAGCAAACAAGGGAAGTAAGGTGAGGGCGAGAAAAATCCGTTTGAGATTCAAGGTGATCATTCCTTTACCAATGAGTAGCTGATGCGCCATTATAGGTCCTGGATGTGGGATTTTTTTATCCTGTTAGCGACCTTGACGAGTACCAAAAAGCGCGAAGTTCAACTATTGTTCTGTGGTGTTCTGTTGCGTGTTGACGGCAAAATTTTGCTGGCGTAACATGCGCGCACGATCACTCTAAGAGGACATTCGCCTTGGACACACCCAGTAGATACTGGCTCACTATCCTGTCATCCAGGATCAACTCCTAAGGCTATCCCTTTTTGCTGATAGCCTTAGCGGTTGTCAGCGACCTCAATTTTTCCCGTCGCGCTGAGTCAGGCTGTTTAATGGTCTGAAACCCAATTTGTTTCTGTGTGCCCACCGAACTGTCCGATATTTTAAGCATTGGGAGTCCCGGTCATGCTGAGCGCATTTCAACTGGAAAATAACCGACTGACCCGGCTGGAAGTCGAAGAGTCACAACCCCTTGTAAATGCAGTATGGATTGATCTTGTCGAACCGGACGACGACGAGCGACTGCGCTTACAATCTGAACTTGGCCAGAGCCTGGCAACCCGCCCGGAACTGGAAGACATCGAAGCATCGGCACGTTTCTTTGAAGACGACGACGGCCTGCATATTCACTCCTTCTTCTTCTTTGAAGATGCGGAAGATCACGCCGGTAACTCCACTGTGGCATTTACCATCCGTGATGGTCGTCTGTTTACTCTGCGTGAGCGTGAACTGCCCGCTTTTCGTCTGTATCGTATGCGTGCCCGTAGCCAGTCGATGGTAGACGGTAACGCCTACGAGTTGCTGCTGGATCTGTTCGAAACCAAAATCGAACAGTTGGCAGATGAAATTGAAAATATCTATAGCGACCTGGAGCAGTTGAGCCGGGTGATTATGGAAGGGCATCAGGGCGATGAGTACGACGAGGCGCTCTCCACTCTGGCGGAACTGGAAGATATCGGCTGGAAAGTTCGCCTGTGTCTGATGGATACCCAGCGCGCGCTCAACTTCCTGGTGCGTAAAGCGCGTTTACCGGGTGGGCAACTGGAGCAGGCGCGTGAAATCCTGCGAGATATCGAATCCCTGCTGCCGCATAACGAATCCCTGTTCCAGAAGGTGAACTTCCTGATGCAGGCGGCAATGGGTTTTATCAACATCGAGCAGAACCGCATCATCAAAATCTTCTCGGTGGTATCCGTGGTATTCCTGCCGCCGACGCTCGTTGCTTCCAGCTATGGCATGAACTTTGAGTTTATGCCAGAACTGAAGTGGAGGTTCGGCTACCCTGCCGCGATTATCTTTATGATCCTCGCGGGCCTGGCACCGTATCTGTACTTTAAGCGGAAGAACTGGTTGTAATATGAGTGCCGGATAAAGCTATTTTTTTATCCGGCTTATTTCTAAAAATTGTCTTTTTTAAAGTCATGCGGATTGAAAACTCTCTCTATTTTATTTTCGGTGATGCTGCCAACTTACTGATTTAGTGTATGATGGTGTTTTTGAGGTGCTCCAGTGGC
NODE 2 2531 185323 185323 0 0
TGCAGAGGCCGTAGCGGCCTGAACTTCCCCGCGCCGATCTTGGCGCTGCTGCGCCATAGGTAATCACCGGTCAGGTTGATGTGCTCCCAGCCGAGTGGCGACAGGTACTGCAATAGCGAGTCATCGACGGCATGACCATTGCCGCGCAACGCATGCGCCGCACGCTCCAGGTAGACCGTGTTCCACAGCACGATGGCCGCCGTCACCAGGTTGAGGCCGCTGGCCCGGTAGCGCTGCTGCTCGAAACTGCGGTCACGGATTTCACCAAGGCGGTTGAAGAACACGGCACGGGCCAGCGCATTGCGCGCCTCGCCCTTGTTCAGCCCGGCATGCACGCGGCGGCGTAGCTCGACGCTTTGCAGCCAGTCGAGGATGAACAGCGTGCGCTCGATGCGGCCCAACTCGCGCAGCGCGACGGCCAAGCCGTTCTGGCGCGGGTAGCTGCCGAGTTTCCTGAGCATCAGCGAGGCCGTCACCGTGCCCTGCTTGATCGAGGTGGCCAGCCGCAGGATTTCGTCCCAATGGGCGCGGACGTGCTTGATGTTGAGCGTGCCGCCGATCATCGGCTTGAGCGCGTCATAGGCGGCATCGCCCTTCGGGATGTAGAGCTTGGTGTCGCCCAGGTCGCGGATGCGCGGCGCGAAGCGGAAGCCCAAGAGGTGCATCAGGGCGAAGACGTGATCGGTGAAGCCCGCCGTGTCGGTGTAGTGCTCCTCGATCCGCAGGTCGGATTCGTGGTACAGCAGGCCGTCGAGCACGTAGGTTGAGTCGCGCAGGCCGACATTGACCACCTTGGTGTGGAATGGCGCGTATTGGTCGGAGATGTGGGTGTAGAAAGTCCGTCCTGGGCTGCTGCCATATTTTGGGTTGATGTGCCCCGTGCTCTTTGCCTTGCTAGCGGTTCGGAAATTCTGTCCGTCCGATGATGATGTGGTGCCATCGCCCCAGTGCCCGGCAAAGGGATGCCGAAACTGAGCGTTGACCAGTTCAGCCAACGCTGTCGAGTACGTTTCGTCGCGGGTATGCCAGGCTTGCAGCCAAGCGAGCTTCGCGTAGGTCGTGCCGGGGCAGGACTCGGCCATCTTGGTCAGGCCCAGGTTGATCGCGTCGGCCAGGATCGTGGTCAACAACAGGTTCTTGTCCTTGGCCAGATCGCCCGATTTCAAGTGCGTGAAGTGCCGGGTGAAGCCCGTCCACTCATCGACTTCGAGCAGCAGTTCGGTGATCTTGACGTGCGGCAGGACCATGGCTGTCTGGTCTATCAGCGCCTGCGCGGTGTCGGGCACCGCCGCATCCAGCGGCGTGATCTTCAAGCCCGACTCGGTGATGATGGCATCCGGCAGGTCGTTGGCTGCCGCCATGCGGTTGACGGTGGCAAGTTGTGCTTCCAGCAGCGTCAGCCGCTCATGCAGATATTGTTCGCAGTCGGTGGCCACGGCCAGCGGCAATTCGCTGGACTGCTTGAGGCTGGTGAACTTCTCGGGCGGTACCAGGTAGTCCTCGAAGTCCTTGAACTGGCGTGAACCCTGCACCCAGATGTCGCCCGAGCGCAGGGAGTTCTTCAACTCGGACAGCGCGCACAGTTCGTAGTAGCGCCGGTCGATGCCGGCGTCGGTCATCACCAGTTTCTGCCAGCGCGGCTTGATGAAGCCGGTCGGTGCATCGGCTGGCAGCTTGCGGGCGTTGTCGGTGTTCATGCCGCGCAGCACCTCAATGGCATCAAGCACGTTTTTGGCGGCGGGCGCGGCCCGCAGCTTGAGCACGGCAAGGAATTCCGGTGCATAGCGGCGCAGGGTGGCGTAGCTCTCGCCGATGCGATGCAGGAAATCGAAGTCATCGGGTTGCGCGAGCTTCTGCGCCTCGGTGACGCTCTCGGCAAAGGAATCCCAGGACATGACGGCCTCGATGGCGGCAAACGCATCGCGGCCTGATTGCTTGGCGTCGATCAGCGCCTGACCGATGCGCCCGTACAGACGTACCTTGGCGTTGATGGCCTTGCCTGACGCCTGGAACTGCTGCTGATGCTTATTCTTGGCAGCGTTAAACAGCTTACCCAGGATGCGGTCGTGCAGGTCGATGATTTCGTCGGTGACGGTGGCCATGCCCTCGGTGGCCAGCGCCACGAGAGTGGCGTAGCGCCGTTGCGGCTCGAATTTGGCCAGGTCGGCGGGTGTCATCTGGCCGCCCTCGCGGGCAATCTTGAGCAGGCGGTTCTGGTGAACCAGCCGCTCGATGCCGGTAGGCAGATCGAGTGCCTGCCATGCCTTGAGGCGTTCGATGTGTTCCAGCATATGCCGCGAATTTGGCTTGGCCGGAGACTGGCGCAACCAAGCCAACCAGGTCGTCTTGCCGTTGTCCCGGCGCTTGAGCAGATCGTCGAGGCGGCGGCGATGCGCGTCCGCCAGTGGTTCGGCCAAGGCGTCGTAGATGCGCCGGTTAGCACGGGTGATCGCCTCGGCACTCGCCCGCTCGGGCACTGTTGCAAATAGTCGGTGGTGATAAACTTATCATCCCCTTTTGCTGATGGAGCT
GAGCGGGCGAGTGCCGAGGCGATCACCCGTGCTAACCGGCGCATCTACGACGCCTTGGCCGAACCACTGGCGGACGCGCATCGCCGCCGCCTCGACGATCTGCTCAAGCGCCGGGACAACGGCAAGACGACCTGGTTGGCTTGGTTGCGCCAGTCTCCGGCCAAGCCAAATTCGCGGCATATGCTGGAACACATCGAACGCCTCAAGGCATGGCAGGCACTCGATCTGCCTACCGGCATCGAGCGGCTGGTTCACCAGAACCGCCTGCTCAAGATTGCCCGCGAGGGCGGCCAGATGACACCCGCCGACCTGGCCAAATTCGAGCCGCAACGGCGCTACGCCACTCTCGTGGCGCTGGCCACCGAGGGCATGGCCACCGTCACCGACGAAATCATCGACCTGCACGACCGCATCCTGGGTAAGCTGTTTAACGCTGCCAAGAATAAGCATCAGCAGCAGTTCCAGGCGTCAGGCAAGGCCATCAACGCCAAGGTACGTCTGTACGGGCGCATCGGTCAGGCGCTGATCGACGCCAAGCAATCAGGCCGCGATGCGTTTGCCGCCATCGAGGCCGTCATGTCCTGGGATTCCTTTGCCGAGAGCGTCACCGAGGCGCAGAAGCTCGCGCAACCCGATGACTTCGATTTCCTGCATCGCATCGGCGAGAGCTACGCCACCCTGCGCCGCTATGCACCGGAATTCCTTGCCGTGCTCAAGCTGCGGGCCGCGCCCGCCGCCAAAAACGTGCTTGATGCCATTGAGGTGCTGCGCGGCATGAACACCGACAACGCCCGCAAGCTGCCAGCCGATGCACCGACCGGCTTCATCAAGCCGCGCTGGCAGAAACTGGTGATGACCGACGCCGGCATCGACCGGCGCTACTACGAACTGTGCGCGCTGTCCGAGTTGAAGAACTCCCTGCGCTCGGGCGACATCTGGGTGCAGGGTTCACGCCAGTTCAAGGACTTCGAGGACTACCTGGTACCGCCCGAGAAGTTCACCAGCCTCAAGCAGTCCAGCGAATTGCCGCTGGCCGTGGCCACCGACTGCGAACAATATCTGCATGAGCGGCTGACGCTGCTGGAAGCACAACTTGCCACCGTCAACCGCATGGCGGCAGCCAACGACCTGCCGGATGCCATCATCACCGAGTCGGGCTTGAAGATCACGCCGCTGGATGCGGCGGTGCCCGACACCGCGCAGGCGCTGATAGACCAGACAGCCATGGTCCTGCCGCACGTCAAGATCACCGAACTGCTGCTCGAAGTCGATGAGTGGACGGGCTTCACCCGGCACTTCACGCACTTGAAATCGGGCGATCTGGCCAAGGACAAGAACCTGTTGTTGACCACGATCCTGGCCGACGCGATCAACCTGGGCCTGACCAAGATGGCCGAGTCCTGCCCCGGCACGACCTACGCGAAGCTCGCTTGGCTGCAAGCCTGGCATACCCGCGACGAAACGTACTCGACAGCGTTGGCTGAACTGGTCAACGCTCAGTTTCGGCATCCCTTTGCCGGGCACTGGGGCGATGGCACCACATCATCATCGGACGGACAGAATTTCCGAACCGCTAGCAAGGCAAAGAGCACGGGGCACATCAACCCAAAATATGGCAGCAGCCCAGGACGGACTTTCTACACCCACATCTCCGACCAATACGCGCCATTCCACACCAAGGTGGTCAATGTCGGCCTGCGCGACTCAACCTACGTGCTCGACGGCCTGCTGTACCACGAATCCGACCTGCGGATCGAGGAGCACTACACCGACACGGCGGGCTTCACCGATCACGTCTTCGCCCTGATGCACCTCTTGGGCTTCCGCTTCGCGCCGCGCATCCGCGACCTGGGCGACACCAAGCTCTACATCCCGAAGGGCGATGCCGCCTATGACGCGCTCAAGCCGATGATCGGCGGCACGCTCAACATCAAGCACGTCCGCGCCCATTGGGACGAAATCCTGCGGCTGGCCACCTCGATCAAGCAGGGCACGGTGACGGCCTCGCTGATGCTCAGGAAACTCGGCAGCTACCCGCGCCAGAACGGCTTGGCCGTCGCGCTGCGCGAGTTGGGCCGCATCGAGCGCACGCTGTTCATCCTCGACTGGCTGCAAAGCGTCGAGCTACGCCGCCGCGTGCATGCCGGGCTGAACAAGGGCGAGGCGCGCAATGCGCTGGCCCGTGCCGTGTTCTTCAACCGCCTTGGTGAAATCCGTGACCGCAGTTTCGAGCAGCAGCGCTACCGGGCCAGCGGCCTCAACCTGGTGACGGCGGCCATCGTGCTGTGGAACACGGTCTACCTGGAGCGTGCGGCGCATGCGTTGCGCGGCAATGGTCATGCCGTCGATGACTCGCTATTGCAGTACCTGTCGCCACTCGGCTGGGAGCACATCAACCTGACCGGTGATTACCTATGGCGCAGCAGCGCCAAGATCGGCGCGGGGAAGTTCAGGCCGCTACGGCCTCTGCAACCGGCTTAGCGTGCTTTATTTAATGAGATGGTCACTCCCTCCTTCCCGGTACTATGCTG
NODE 3 35534 2594035 2594035 0 0
CACTGAACTGGCATTTAGATATGTCATCTGAAGAGGATCTTGTTCGTGTAACAAATGCTTCTATTGTATCTTCTGATTGTTTAGATAGTTTATCACCTGGTTGTTTGTGAAGAATCATTAGTAATGTTTCAGTAGCTTTCTTTCTCATCTCCACTGGATCAGTTAAACCACCAGCATCTATGCACATGTTTGAAGTAACTGCGTCGTACCCTAAATAAGGTATTGGGTCCCTTTTTATATTCTGCTTATCGCTGGCATGAACAGAAAATACCAATGAAATTATTCCTGCCAATACAATGTTTTTAATTTTCATATGTTTCTCCATTACTATCATCAAGTTCAAAACATAATTTTTATATCACAAATCTTTCTAAGCAATAAACAGCTAATTCCTGTTGTGAAGCATCATTTTTCATCCCGGCGTACAAATGACACCGGGAACAAAATCCGTCAGGAATTTTCAAGGCATAGATAAATTGTTATCACACCAATATTGATGCAGGCCTGCAATCCATACTTTCGAGACTGCCGACAGCGTCTGCGCCAGATCACGCATACATTCAGGTGTGAATAACCGGACTGGCTCCCCCATACCGTCACTCGCAGTGATGATGTGCTCCAGGATGTTCCCGTGACATAAATTGTGCCGAACCCTCACGATTTCCGCATAGGGTAGTTTCGGGGCGCCGTCCGCAATCTTGGTCAGCAGATCCTGCTCGTCGGGAAAGGCCAGCAGTGTCACCGGCATACCGGCCTGGTGAGCCCTTCTTAGCAGAGCATTACTGAGTGTGGCCATATCGCTTAAGTCCACCAGCGGTGTTGGTGCCTGCGGTTGTGCCTGCGACGCCTTCAGCTTCATCGTCACCATCAGTGAGGTCTCAATCCCGTTCAGGAAAGTCGTACAGGCGGCTAGCCACAACTCACCGTGAATGGCCCGGGTAGCCTGGTCAAAGAACCAGTCAATCGCAGCTGTCGTTCGGTACGCCCTGTATGCCTCCAGTTCCCGTAACTGTGCCAGGTACTTCTCGCACGCCTCTGCGTCTACCGGATCGGTATCGTCGGTATCGATAGCCATAGGGAATTCCTGTTGTCATGTTCGTGAATGAAAATCCGCTGAACCATATCATACCGTTACATAAATTACGGCTTAGTGCCGGGATATCTTTCCCGAATGCTGAGCCATTGAAATTTGATCTTTTCTCTTTATCTGGTGATACTGGTTAAATATCCAGTATTGAATCCGAGTGTGCTCATGTCTGTATTCCCTGAACGTTTTGCATCCCCTCCTCGTGATACAACCCCTTTTTTCAGTGACCTACTGAGTTGCGGGGTGATGAGTCCGTGCGCCGGACACGAAGACAATGAGCTGAATTTACATGATTTTGTGGTTCGTAATCGCCCCGCGACTTTCTTTGTCAGGGCCTCAGGTCTCAGCATGGTAGACGCCGGAATAAACGACGGCGCCATACTGGTTGTGGATCGGTCACTGACTGCGGAGCACGGCTCAATCGTCGTTGCGCTGGTTGACGGCGAGTTTACCGTGAAGATTTTGCAGACCTTCCCGAAACTGATGTTGATGCCCTCCAACCCCGCCTTCAAGCCGATACCTGTTAACCCGGACACTCTTGAAATCTGGGGCGTTGTCACCTTTGCGTTGAATCAGTTTCCTCATGTACATGCACGTTGATATCAATGGAGCCTACGCGGCATTTGAATGCGCCATGGACCCCAAACTTGCCAAATCCCCGCTCATCATCGCGAGCAACAACGATGCCACCATTATCGCCATGAACAGGCTCGCCAAAAATACAGGGCTCAAACGCGGGATGCCTATCTTCAAATGCCGGGATCTGATTGAGCAGCATCATATTGCGGTACGGAGCTCCAACTTTACGTTGTACGAAGATTATTCCAACCGGTTTCATGAAACGCTGGAGGGGTTTGCCGAGGATACCGATCGTTACAGCGTGGATGAAAGCTTCATGCTACTGAAAAACATGGACAAAATAGTAGATTTTGAAGAGTACGGATGCCTGATCAGACGAACGCTGCTACACAATCTTTCGCTCACCTGCGGGATTGGAGTATCGACCACGAAAACGCTCGCAAAATTATGCACCTACGCCAGTAAGCGATGGGCAGCAACTGGTGGTGTGGTCGTCCTTACAGACCCATTCCGAATTAAAAAACTGCTGAGTCTCATCAGTACCCGGGAAATCTGGGGCATTGGCCGCAAAATCAGTGAGCGGCTGACTGCGTACGGGATCATCACGGCCTGCGACTTTTATGACAGCGATGTGCGGTTTTTACGAAAGGCATTCGGTGTTGAAATGGAACGTACCTGGCGGGAGCTGCATGGCGAGTCCTGTTTCCGGTTGCATGAATCCCCTCCTGTCAGACAACAAATTATCGTCTCGCGGAGCTTTGGCCAGCGCCTTAATACATTCAGCAAGATGCATGAGGCAGTGTCATTCTTTACCGGCCGTGCCGCTGAACAGCTTCGAAACGATGGCTCCTGGACTCGCCAAATCACCGTGTTTATCCAGAGCAGCCCGTTTGCCAGAGCTGAAGCCCGGTACAGCAGCTGCGGTATTGAGCCGCTTACTGCGACGCAGGACACCCGCGACCTGGTCAGTGCGGCAGGCGCCATACTGACCCGAATCTACAAACCCGGCATAGATTATGCGAAGGCGGGCGTGATGCTTTCGTCAATGACCGATGGCACTGAGCAGCTATCCCTGTTCGATGAACGTCCCGCCAGGCGAGGCAGTGAAGCACTGATGAAGGTGATGGATCGGTTTAACAAAGAGCATCGAGGCTCTCTGTTTCTGGCTTGCGAAGGGATTCATCAGGATTTCCGGGGGAAGCAGGCCATGCTGTCCCCACGGTATACCACTCGCTGGAATGAGTTACTTGTCGTCAAAGCCTGACGTTCATGCCGGTGTTACCCGGCATGGCCAGTTTCGGAAGGAAAAGTAACTTTAGCCTCCACGGGCCTTCTGGATTGCGTATTTCAGGGTGGCCTCGTCAACAGCGCCCGGGATGAATGACGTCGTTGCAGCGTCGGGTTTTTGCATGTTCATAATAATGAACCCTGGCGTACCGTTAATCCCGAGAGCTTCCCCCAGCTGCATGTTTCCGGAGATAACGTTCTCATAGCGGCTTTTCTCCCGATCGCCGAATGAGCTGTTGAACCCGGATTTATTCACAACCATGTCTAAATCATTGAGTGTAAACGCACGCTGGTTGTTGAAGAATACATACGCACTGGTCATCAGATTGTTGTGATACTTACGATACGCTTCCGCACCGAATGTCTGATACACATGCAGGCCTGTCGCCGCCCCCATTGCGGAAACAGGTTTTGAGCCAGCGAAGATCGGAAATTCTTTAAAGAAGAACTTTACATCAGTGCTTTGGCTCAACACAGATTCAACAACCGGCGCTACCTGCATACAGAAATGACACTGGTAGTCGAAAAACTCAATAACAGCGACGGCCGCATTATCAGGTCCGATATTGGGTGTCTCTTTGGTCTCGAAGAGTGCCGGTGCGTAGGGGATAATCCGCTCAAGGGAAGCGTTAGTATTTTCTTTTTCTAGCGCCTTACCTGCTTCGAGAAGATACTGGGGATTTTTTACCAGATAGGAAGCAGCCACTCGTCCTATTTCGTCGTTACCCGGTACATCGGGTTTTAGATATTTCGACGTAATATACACAGAGCCAGCCGTCGCAATCACCGCAGAAATTAAAACAGACGCCACGGGTTTTAAATAATTTAATTTAATCATAGCCACCTTTACGCATTTCAACTTGTTAGTTATCAGCCTGCGTTCGATTATACTGGCACGGTAAATCGGAATTATTCATTAAAGAACCCTTTTTGGAGGATTTAGAATGTTACGGCAATTTTTCTTACTAACAGCCACAACGTTCTTATGTGGATGCGGTTATCATTTTGGAAATGACGTTGATGCGTACGATTTACTGCCTCGCCCGGTAGGCAGCAAGAAATTTGAAATTGTTGCTCCGGATGACAGTATTCAGTCGCGAATGTTTGCAGCCCGGTTTGCGAGCGGATTAACGGGTAAGGGGTTTAATATTTCCAGCCATCAGCCCGAATATATTCTCAGATTCAGTTACAGCAAGACCCAGGAGAATCTGCAATACAGTGAACTACCGGTGACGGGAATAACCGGATATGTTATCGAGAAGAAAACAACGCGAAAAGATAAGCACGGGCAAACTGAGACGGACTATGACTATAAGCCGGTCAGTGGGATCGTAGGAACAGAGACGGTATCACAAAGACATTTCTGGCGTCGTCTTGATGTGGAAGTCTACCCTGCGGGAAAAAATGCACAGCAGGTGCTAAAAGTCAGTATGCAGAGCAATGCGCCGATCCCATCGGACAGCGTGGCGTATTCCGCAATGATTGACGCTTTGACCGGGAATCTGGATGCCCCGCTGCGCTCCGGAAACTACGTCGCCTCGGTCCCCTGGAACTGATGACCGGCACTGTAACGACCAACCACAAATTAACTTTTCTCACCTGCATGCCACGTCTTTACCGGCCTCCTCTGTTGAAATCATAGAGTCGGTACAGATCACCGATGGTCAGCTCATCCACTTTGGTCACGAAGAGATATTCAAACTGAGCTTTCTGAATATCTGAGACTGACGCATCGTCCAGCACCGTTTGGTAAAATTTGGCATTGATACATCTTTCCGGATGCATGAACTGGTACCGCCCCTGGAGCACCACCATCAGAAAGATCAATATCAGCAGAACGAGAAGTAACATCTGGTTGGAAAGATCCAGTCCCAGCGACACACCAATGGTTGCCATGAAACAGAGAGTCCATCCCACCAGGGCGTAAGGAGCCTTTTGGATCTTTTGTTGGTAATAACGGAGGATCACCGGATCATTTAAATACCGCTTATCCGGCAATCCCGTTGCCCGGGTGACAATGCTGAGCCAAAGCGACATCTTCTAACCCCCAGCGACGCACTCAGGCCAGACGTTCATAGAACGCAACAATGGGCTGGAAGATGGGTGTTTGTACCAGCTCGGGGCGAATGGCTTTCAGCTGCCTTACCGGCGCCAACTCATCCCTCGGCTTAGCGATTTCATTGCTAGGGCCTTTCTTGGTACTGTCGGTGTTCACCTTTAACCTGTCATTGCTCAGATACGACTCAAACCGTTTCGACATCACGTCGCTGCGGGATGTCGCATCATTGAGTTTTTTTAAAACTGCGTCTTTATCTGTCTGAGCAGCAGATACCAGACTCTCACTGCTGGCCACAGTGTCGGCGTCGCAGGCCCCGAACTGGCATTTGGCAGCAAAGACGGGTTGAGAACCAACCGCCACCAGCATTAACGTTGTCAGTATTGCAGATTTCATAAACACCTCTTGCAGTCGTGGAAAGTCACTTTTGTTCGGCACCCATGCGGGTCACCAGATTTTCCGGGCTCATCCAACCGGTGAATAGCTGAGGTTTCCCCGACAGCGTTACCATCGTTGGCGTACCCTGAAGCGGAATAGTTGAAGCTACCTGGAAATGCGATTTGATGGTATCGAGGCAGGCCTCGTCAGGCCGTCCTTCCGGAATGGTTGATGTCGGGCTCATTGCGGCATCCAGTGCATCATTAGGTTTTGCCGCACACCATATTTTTGCCATATTCCCCGCGACAACGGAGTTGAGACCTGCACGTGGAAAGGCGAGGAATTTGATTGAGATCCCGGCGTCGAGATAGGATTGAAGATCTTGATGCAATTTCTGGCAAAAGCCGCATGTAATATCCGTAAACACTGCCAGACGGTATTTTTCATTCGCCGACTTATATTCGATGGATTTTGTTTTAGTGGCGAACTCCCTGACACCTTTCAGAATAGCCTGCTCAGTTGTGTTCTCCACATCTTTCCCGTTCACATGAAACAAGCTCCCGGTGAAAATGTAATCGCCATCTTTGCTGACGTAGCTCACGCCCTCTCTTGAAATGACGGTATAAATATCTTTTACCGGCGATGGTTCAATATGCTCGATAGACAAGCCCACTTCTCTTAATTTCTTCAGTGCAGCATCGGGAAGCACGTCAGTGTTCGCTGTCTGGGCATTCATACTCAAGGCCGTACAGGATGCCAGTAAAAATAATGATGCCTTGATAGTCTTATTCATTTCAGCTCCTTTAATGGAGTGTTAATACTATCATGCGAAAAAATCTGCCTAATTCGCTTAAGGGGAAAAATTCCCCCCTATAGCAAAAAAAATTTTGACGACGATATGGGAGAATATCCAGAACGTAATTCCAGCGGAGATTATCTCGTGTTTATACCACCAGTAGACGATGTGAAACCTATTCCCGTTCCTGTTGAGATCTACACGCAGTGCATTACCGATGCCTCCCGTTTTTTCGGGATTGATGCGGAGTTGGTCTTTACGCTTTTTGATAATGAGGGCGGAAAAGTCGGGACGTTCAGCCGTAATAAAAATGGCACTTATGATATTGGGCCTATGCAGATCAATTCGTCCAACCTGCCAGAAATACGCGACCATTTTCCGTCTGTTACGTGGCGGGTGCTGGCCTATGACGCCTGTGCCAGTTTCTGGGTGGGCACCTGGTGGCTTTACCGGAAGATTGTTGACCGGAAGGGTAACGTATTTGAAGGGATTGCCGATTACAACAGCAAAACCCCTAAGGTCCGGGCGACGTATATCTTCAACTTCATGATCAAATACAATCGCCGGATTCAGCGCCGAAATGGAATGGACGAATTATATCAGTGGACGCAACCTAAGCCCCAGTACAACGGGCATATTGTAAAAAATCTTCCTGAATAAAATACGACCCTACTCTCCAATTTTTTATTAGTTGTTTCGTAGCCATAAACAATGCGGCTCTTAGAGAATGAAAACGTCCTGAGAAAAAGGTTAACGATGCTCCAGTCAATTTATAAATTCCTGTTCAATTTATGCAGTTCACCGCAGCTGCCCAAAAATAAAGACGTGGATGGGATATTGTCTCATGAAGAAATAACCGCTGGATTATGGGGTCCTTTGCCATCAATCCATGTTGTTCTTTTCCTGGATTTTGATGGTGTAGTCCACAAATGTCAGAATGAATCGTTCGAGAGGATGCATTTGATTGAGAGGTTACTTGACGCGAGTCCTTCAATGTTCATCGTTATATCAAGCTCATGGAGAGAGTGCGGCAGTATCACTTACCTAAAGTCACTTTTCCGCTCGCCATACAGAGACAGGGTAATTGGAGCAACCCCATCCCTGTATCTCCCCTCAGGAAGTATAGGAGTCCGTGCAGCTGAATGTGAGGACTTCGTCACCAGACACAAAGTAAAAGCCTTTATCTGCCTTGATGACGATGCGACCCTGTTCCTCCAGAGTACCCGCACCTGTTTCGTACAGATTATTACACCGGGGTTAATGAAAAGGATCTAACGGACCTGATAGCCAGATATAATGTGCTGATGACCCGCTTTTATTGAAAAAGTAACTTTTCCACACCCTCCATACAACCAAAGCCTCTGATGCGCTATAGCCTAGGCACTAAAGCATCAGTCGATTCAGAAAAGTTACTTTTCTCTCAATTTTCATTTTGAACAGAAGAAATGCACATTTTCTTAGTGTGCCGGGTGACCTGTATTTGGTGAGGAAATTTGAATCAGGGTGATGCAAGCAAAAAAAGACCGTACTCAAAAGAGAGTACGGCCTTTATCAGCTACTACTTACTTTTACTTCTTATTTTCATTCAGCCAGCTTTTAGCTTTCTCAATTCTCGACTGATATGGTTCATTTGTATTATTCAGGTTTGACTTCATAAAGCTCACGAATGCATCTGCTTTATCCGGCCCAAAACGTGGATCATCGGTCAGTTGCTGACGAATCGCACGTTCTGAGTTTTGTGATGCAGTCTCATACGCCTTGATCCCATCCCCCCCCATATCCTTATACCTGCTGGTCACCTCGCTAACACCATCTGACATTTGCAGGTGATTTCCAACCTTGCCCAATAGCGAGCTCGGCATATTTTGTGGATTCGAAGCATCGTTTGCCAAAGATGAAGGGGTGGTCAGGATACCCATACCTGAGAGCATGTCGTTTACAGGTTTAGCTCCGATAACGTCAAGTCCTCTGGCAACACTCTCCTGCCCCGATAAAAGCGTACTACCAATAACACCACGTTCTGTATTGGACTCAATTTTATTACCAACAAGGAGATCCGTCGTGGTTTGGGTTCGTTGCCCAACGAGCCCGCCGCCAGAACCACCTTCCCCAAGATTCGCCCTCACAACTGAGTCAAGAGAACCTGAAGCCTTGTTATGCATGTTGAAACCTTCATGGATATTCTGGAGATCGTTCATCCCCCAGCGAACGTTATAGTGACTCAGTTCGGAGAGGATATTTTGAGTATCCGCTTTCAGTTGTTCTTTCTCAGCGCCGGTTGCCATTGTACTGGCGCCATAGGTAAACACAGCTTGTGCGGCCAGTTCCGCACGTTTGTCATCCGGCTTTTTGGTAGGATCATTTGCAATCCTGCCAAAATAATTCGGGAGGTTGCCTGATATACCGCGTATCTGGTTATCTCCGTACATATTATTCAGTTTGTCGCTGATAGTACCCATGCCCGAAGTCGCATGCTTACCGCCCGAACCAGCCTGTAACTGGTCGAAAGTTTGGTTGGCGTGCTGAACGTCCACCCCAGCCCCCTGAACTCTTCCCACAGTTTCATTCGTCACAACAGGGGTATTCTTCTCCAATGACGAGAGCACATTCTGGTTCTCTTCGCTATAGGATTTATTTACATTACCTTGATGAATGCCCTGAATATCTTCTTTGCTGATCTTGTCCACATTGTACGGAGTTACACCAGACTCAGTTTGTCCACCAACATGCTGGTTAGCATTTTGTTGGTTTTGTACCAGCCCGGCTTTTGCCTGAGCATCCATACTTTGCCCCACGTCAGCAACACGATCAGCGCTCATTACGCTGGACGTATTTACATGTTCTGGGGTGCGATCCTGCGCCTGTGCAATCGTGTTAATACCCGAGGCATCACCAGTGATTCGGTCAAGCTGATTAGTAATCGGCAGCATCTGTTGAGCGTTACCGCCAAAGTCAGCAACCAGCCCTTTAAGCAGGCTGGAAGTTTCACGCAGATCCTGTTTATTGCTCTCAGCCGTTTCACCTCGGGCAGTATCAATCGCTATTTTTTGCTCACTAAAGTCACGTGTCGTTGCCACCAGCGCATCTGTACGTTGGAGTTGTGAACCCAACTGAGTGCTGGCCTTAAATGTGTCATTATAGGAATTGAACTTCTCCATAAAGGCATTCTCATCAAGACCATTTTTCCGTGCAAAATTACGCACATCTTCATCGCTAAAGTTTTTATTACGGATAGAATCGGAGAATCTGTCCAGGTTGATAGCCTGTCTTGAGTCGAGTGTCATGCCAGTATTGGCGCTGGCGTTCGTTGAAAGTGACGTCGACAAGTTTTCGGCCATTGTCTGTGTGGACTGGTTCATTTTTGTTGCAGCTTCTTTGAATGCATTGGTCTGTGCAAACTGATCACTGTTTATCTGAGCAGCCGCTTTAGTCATTTGGTCAGTCAGTCCTGAGTTTTCAGTCAATTGAGTCGTAATAGCTTTACTCAAATCAGTTAAGAGACTTTCATTCCCAGAATTACTTTTCGTGATCCCTGATCCAACTTGCCCCTCCGCTTTTATTCCTAGGCTATCCATTACTTTCTGAGCGAGACCTCCTCCTCCTCCTTTTCCAAGTTTTTCTTCACCACCAAGTCCCAAACTGCCATTGAGCAGAAGATTTGACACCACGCCAGCTAATTGCTGCGAATTAATTCCATGCTTCGCCCCTACGCTATTCGCGATGTTTGCACCGGCCTGGTCAGTAAATGATTTCAAGCTTTGCAGGTTGGAGGTAAATTGCTGGCCTGATTGCCCCGTTCGGCCAACTTCACTCATCTGGTTGAAGGCCTGCTGGAATGTGTTACTTGCTGCGCTCATGGCTGAAGAGGTAAATGCTGCCCCTTGCCCCTGGCTTGACGCGATACTTGAACCGGCATTCCACGTACCGAGTCGGAAATTACTGGAGTCCATGGCCCCGCCACCACTGAATCCTTGGCCGGTGCTTGTCAGCGCGGTACGATTCACATCCCCAAACGATGATTTTCCGCTGTTTGGCGCATCCCACACTTTCGGCGTGAGGTGGCTGGAGTCCACTGGCGCTGGTGGTGTGACTCCTTTCATCGCGTTCATCATTGGATGAATGGATTGCGTCATCAGGAACAGCGTCAATACAGGGATAAGAGCATAGAGTGCTGATGCTACTGATAAATAAGAGCTGTATGTTTCGGCAAGCCCTGGCAAACCCATCCATGTCACCGCGTTACTCTGACTATTCAATGTGCTCCATGTATCAAGATCTGCGGTCGCCACTTTCTTCACGTAGGCATTCACCATAACCGCAGTAATAGGCCACATATTTACGAAAAGAATAAGCTGGAGATATTTTGCAGCAGCGGCCACACCATTTCCCCCGAGAGCCAAAAGCATGAGCAATGCAAATGGGGCAACCATGTACGCAAACATCTCAAGAAACGCGATGGCTGCACCGGACAATTGCAGCCAGAGCTGCCCCTGAGATGCCATGGTATTCGTACGCTTTAATGATGCCTCAAACAACTGCATATCCGAGGCCAGCCCGAGTGGGGTTTTGTACTTGCTGGCACCATTACGGAGTTCATTCATGATGAACAAACTAAGCGTCGCGTCATAAGCACCAATAGCTTTGCCGTACATGCCATTCGCCGACGCCATTACATCCGTGAAGCTCGCTCCTGATGCTGCACCTCCCGCCTCATCTGGAGCAAGGATACCGTTTGTTTGCCCAATCAATGCAATCGTCTGCCGAGCCTCTGGGGTGCTCGTTACCTGTTTAACGGTCGACCAGACCTCTTCACAAGTAGCAGACTTTGAGCTATTCACACCGACAATGTTGGCAGAGGCGTTCTTCAGCGAACCTTTCATCGCCTGATTAATGCGTTCCATGCTATCCACGATATTTGCAGAGAAAATATCGTTAAAAATGGTTTCTTTCCCAGCAATTTTTGCGCTTGAGTTTTGGGTTCCCTTGAGACAGTTATAGGCCAGTGATTGTACTGTCGCGCACACATTCATCGCACCTAACCCGCTGGCTGGTTCGGGAAACGCAGAACAATAGCCCTGGCTGTCACCACCCCATTGTAAGAATTTAACGAAACGAATCATCGGACCAAGAGTAATGTCATCATCAAGCGTCGTTGCGGCAAAGTCGATCGGCGCCAGTGGATCAAATGCCGTTTTGTAGTCTTTGAGTAAGCCCTGGCTAAGGTTCGTGGTGACAGTTCCCATCGCCGCAATAAAAATAGGAATGCCATCGACATTTCTCACTTCACCAGACTTAACTGATTCAATCGTCACATCCACACGAACAATTGCCATCGAAAATAGAATCAGCCCAAGAATCCATGAAAATATCGGCACTTCTGCTTTTGTCGGGTTCAACAGCCAAAGCCACGTTTTATAAAACAGGCTGGCTCCAGCCAGTACCGCTGCCGTCGTTAGAAATGCTTTTACACCGGTGTATTGTGAGAAAATCAGGGCAATCCCGTTCAGGGCGGACCACACAAATTCAATATCGCCAACTGTATAGATGTTGTAATCCATATCAGACCTCAGTTACCTGTGCCACGAAGACTTTCCATGAACGCTTTTCTCTTTAATCGGCGATCATCCCATGCAGAAATGACGTCAGAGCTGTTGCCCACCTGGCTACGGGTTAGCTCATAGGCAGCTTTTACCTGATTGGTCAGGTTTTCAGATAACCTAGTCAGGTCCTGCCGCCGCCCGGAAAGAGATTCGCTGGGTATATTCATAGCGCTGATCTTTGCTTCAACTTGCCGAAGCATGTTAATAACAAGGCTGGTGGCCGCTATCGCACTGATATCCTGGATATAGGCGTAGCCTTCAGGGACATCAAACGTCTGAAGTGAATCAAGAATAGTTGGGATGCCAATATAAGAAATAATGCGTAATTCATCATCAGAGATCCTGACATCACTAATTGCCTTTGTCTGAACCTGAATAAGGAGGTCCGAGATTGTATCCTTCAAACCTTTGAAACCACCATCCGTCACTTCAGACATAACCAGGCATTGCGACTTTCTAGCTGAAGCTGGATCGGGGGCAGGCGAACATTTGAGCATTTTTATGGAACCACCAGCCGGTGGGCCCATGATGAAATCCGATACCGTCATCGTCGACGGGCGAACTTCCATCCCCGCTTTTTCACCTTTAGCGTCCCAGTTGATAATTACAGTACCGACAAGCGACATCAGCTGCTCAGCAAGTCTGTAGCCAGATAGCTCAGTCACGCCACCGATATTCATTGACCCTTTATCGATGTCCATAAATGACATATAGAAAAGGTTTCCACTGAATTTTTCAGCAAACTCTTCAGGGTCTTTTGCTTTTACCTGGGAAGTCACGGTTTCCGGCGACTTTGTCATTGATGAACCAAAATCAGGCAACAGTCCATTAAGAGTGCCAAGCATTGAAGCAGGGCCGGAACTGACAGCATTCGCAAACTGGCTAGGTGGACCAACATTTTCAGTAAGAAACGAATAAGTAGCGTTGCATGAATCTTTGGCAAATTTATTCAGCGCCTGCAATTTATTCTGGATATCGTTAATAGTCGCAGCACAGTCAGCACAGATTGCCGATACCGCGACATTGAATGCATAAATTGCAGCCCCCTGTGCAATACCGCGAGCAACCTGAACCAGCTGATCTCCGTTAATCATACTGAAGGAACCAAGGAAAACATCGATTCCGTTGCAGCCTACGGAAGCTTTGGGAAAAGACATTGACACTAAATTGGTATTCACGTTTGTCGTGCGGTAGGAAAATGAGCCGCCAACCACTCCGGTACGGGTGGCCGTTTCAAAACTAGCTGGGCTCGTAGTCGTCATCATGCCATTGAAAATATTACGCATGGCGTTATCGGCAACGGCATTTGGCGCAATCATCGCCGTGCAAACGGCTAACGATAAAAGTAACTTTTTTGCACAAACATGGAAATCAGCGCGCATATGCACCTCCTAAACTTCCACCCACATTCAGATAGTTCACTGGGTCCGCCGTTGGCATATCGTACCCTTCCAGTTTCTTATCCATTATTCGTTGCAATAAGAACGGGTCAGAGTCCATTTCTGATTTATTCACAGTAATTACGCCATCCTCGCCAATGGTATATTGGCGCTTAATATCTAAAGTGGACTGGAAAGAGGCATCATCAATCAGCTTCATGCCTTTTGCAGCCAGAATAATAGTATTCTTGAGCTCCTCAGCAGTGATCATGCCTTCGCTTATTCGTTGCGCTGATGACCCATCTTTTGAGACAAGGAAAATAGTTGGAACTTCACGGATTTTAAATTGATCAATAATCTGCGCATTAGGTACAGAGAAATCCTGGAACAACCCATTCTGTAGTGGTCTGCCGTCCATGCTGACAGGAAGAATGTCGACAGAATAGTAATTCTCCATAAACTGGAGTATTTGACTTTCTTCGTGGCAGAACTGACAAGTACTCTGGAAAAAGAAAAACAGCCCGGATTTAGTGAAAATATCTTTCATAACCGACTGCTGATTTTTCTCGACCACCGTACGATGTGCATCGAGCGCTACCTTTTCAACCGGTTGCCTGCGTTTTTCAGACATCATTGGATTTTTAAGGAAATAATCTTTCGATTTATCCGAAAACCGCGTACCGATATCCAGCATTAAACGTTGTGCTGTATAAAATCTCGATAAATTTTCAGGGGTCGGATTATCCATAGCCTTAGTCAAAAGCTGAGGCATATTGTCCTTTAGCCACTTTGAATTAAGCTCAATCTTTTCTTCTTGTTCTGGCTGGGTCGAAGATGCAACAGGAGGCTTGGTCTCTGTAATTTCTTCCTCAGTTTTCCTTGTCGGGTCGTCATACCAGAAAAAGCCTTTCTTGAAGGCCTGTCCTGATACAAAGGGAGTGTCTTTGATAAGGGCCTGCTCTTCATTTGCATGGACCCCAGTAATAAACAAAGACAGCAGCACTAACATCTTTGAAGGTATTAACGTTAATCGAGTCATTTACCGATCTCCTCATGGAATAGAGGTATGATGGCATAGAAAAAAACTTCATGAGCTCGGTAACGGGGTAGATTTCAAACGTTAAAAAGTCATAAATGTGACTACTAGAAAGACCCTGAAAGGGCTGTTGAACTTCTGTGTGCAGGGAAGGTATGGGAGCTAAAAAGGTGGGAAAATAGTTATCAGCATAGTTAATTGAATCTGAATTCAATTCCAGACGATACTTTTAAAAATTTCTAGATGAGCGCCGCATTCGATTGATTTTCGAATCGGGAATTTTCGATAAATTAAAAAAACTGAGGATATATTATTTGGCAAGAAAACGGTTTAATGTGTTTATATCATATGCAGCATTGACCTAAAAAATGCCATTTCATGTTAGTCATACTTATGCAGAGAAAAGTTAGGCAGAATTGACTGGGTAATGAGCAACTACGGTTGAAAATAATATTAGCATAATCGTTTCAGTTACGTTAGGCCGGAAGCTGTCTGAAGAAAACAGCAACATGTAGTCTATTTTGCAGTGAAGTAAGTAAAGAAATTTTGTAGTTAACGAAGAAACATCCCTGGGAATTTTGACCTCTACTTAAATCACTCACATAAAATAACAGCTAATCTAACTCTTCCTGGGAATACCGTGCTATTGCCGATGACGTGGACGACAATCTGCATCGAGGACAATGAGTATCATTGGTATACGGGACAATATAAGGGCGCTTACATTTCGCACAAGTTTCAAGCTCCTCGATTTCTTTCATTGACGTTAGAATCTCAATGATTTTATTTACCTCAGGAGCGCAGACGAAATATCCAAGGTTATGCAGCACACTCATGATGCGGTTGAAGTCAATATTTCGAAAACTGGATTCCGGGTGAATAGGATCAAAACCGAAATAGTTTACAGCGACATCAATAACCGCAGAAAAAGCCCTGCGGTTATCCGTGCGGCGACTCCACCCACGAATCCCTTTTTTAAAGTTTTGTTGAGGTTCAGACCTGAAGTCTATATTTTCGGCAACATGATTTCCATAGAGTATCCTTATGGAGTTTTTATTGGCACCAAGAGACATCGTTTTTGTAGCGCTCAATAACATGTTAGCTTTAGTTTGATCGACTTTAGCCATATTCAATAATCCTTCAAGAGCACTTTATTTGCCAAAGTATTGAACACATCCTGACGGTGGCATGTAAACATAGTGTCGTAACGCAGTAATTCCATTAAATCGTCACTAATTTTACCCAAACGAATATCGGCAGATATTTCGTATGCCCAAGCAAATACCTTTGATTTTAGCGTAGCACTGTCATCCCCCAGACCTGGCGTAAAGGGAATTGTTCGTGGAAAGAGAACGACATCATTAATTAATTTAAGTGATGACATCCCGACATCTTTTATTGCTTCAACGGTGGCAGGTTTTAATCCAAAAAAGATACTAACAAACTCAGGTGCAAGCATTGACATAAAGAAAACTTGCATTAAGTAATCATTTTGAATGTCTACACACTTAGAACGTAGTTGCTGAATTTTTCTCGGATTATAAAATTCCTCCTGCCCGCTGAGCAAAGTTACTTTTTCACCTTCATTGTAAATGCCGAAGTCAGTATCTTCACTGTCATATTCTCGAATGACGTTAGTGTCGCCATCAACTACAGCTACAAAGAATTTGTCCCAAGAGATCTCTTTACTTAAAGAACGAGGAACGAGGAAGCTTCCTGGCCGAGTTTCAACTTCAAATGCATTATCAATCATAGCTCCAAATCCATTACCAAATAGTCGGCGTTGGAGGAGTGGTGATCCAGTTTGATACTTAGAAGATCCATGAAGAGGCAATAACATTAAGAAGGCACGGTAACTACGAATAATCGAAATCTCGGTACGTAATAGTTTACCGAGTAAATTACGCGTGATGTTATCTGATTCTGACATGTGCGGATTGTCCTTGCGCCAATACAATTGTACGAATCTTCTACATGAAATTAAGGTCTGGATTCTGAAGGATGAAAAGTAACTTTTGGAATTTTAATACTGCCGCTTTGAACCTTAAAACTAACCTTTCAGCCATTACCCTTACTTGTAACACTTTTTAACCAAACTAACCAGAATTTTATCAAAAAACCCTGACCTTGCTAACGAAATGTGAACCGTATAAAAAAACCTCAAAGCCTGAGTCGTTATCGGCATTAAGTAGCAATAACCTTAGGGAAAAATGCGCGTAAGCATGATTATTTTTTCGATTGTTTAACATGACTACTACATAGGGTCACTTTTTGCTGAAAAGTGGCCCTATGCACCATCGACATAGGGTCACTTCTTGATGAAAAGTGACCCTATGTAATCACGACATAGGGTCACTTTTTTTAAAAGTGGCACTATGCGTCAAAATCATAGGGTCACTTTCCTTTAAAAAGTGGCACTAGATAGATGTATAACTTAGTAGGTAAAACAGTTCTTTTCAGATCACGATCTCAGCAATAAGCATTGCTGGAAAAGTTACTTTTCTTCCACGATAAAATGCGGACCTTTTGGCCGTTCCCGTTTACATCTGATGTCACTCACTCTCAGTGCTTCCTCCATTCTTAAATTTGCCATGCAAAATTCCCTAAAAAATTCACAGAAAAAAGTCCCGTTCGTGAAAAAAAATTGAAAATCACTTCGGTATAGTGATTTCACATCAGGAGGCCCCATGTCTAAATCGAAGCTATTAAAGTCATTGGAGATTTCACGTACTTTATTGCGCTCACAAATCGATGTTCTTCGAGAAGAGGCTGAAGAACTGATCACCAATTATTGGATCGAGTGGAAAGAACGGAATCACATTGAGAGGAATTTACCCAGGGATAGCAAAACTCTAAAGAAGGAGTATCTGGGTTCATATGCACCAAAAGTTGAGCTAATTGGTAATGCCAGGAAAGTCACCATTACCTGGCATCAGTTTAGCCCGTATAAAAACAGGCCACCTAGTCATATGTCGAAACGGATTTCACCGATGAAAAGTGGAAAATATACGAAAAGCTGCTTTGTTAATCATGCCAGCTGGGAATATGAAATGATTGAAAAAACGGAGGGATTACTGGAACCCTACAGAGAATTACTTGAGTTCTACCATGCTGCATATATCGAACTGGGACGAAAAGTCCGTCAATACTCAAAATCAGAGGTGGCACAATGACCGATGTAACAATGAATGAAAGCGAGCATAAGGTACCTGACGTAAATACCCGCTCCCCTCATGCGTCCGATAATAGCCGTAGGGTCGTGCAAAGTAAAAATGAACATTACGGCATGGCTACAGTAACTATTACCCCAGGCACGCCAGACTTTAACCGATTTCTCACGGCACGTAATCGTTCCGTAATAAGAGGGTTTGATGATGTCAGTATTGCCATTTCATCCTTATTCAGAACGGTCAATGCAGTTAAGCACCCCGAACTAGTGCAGGCAATTCAAGACTGGTTCAATGAATTGCACGAAGAAAATAATCTAATGAAGAACAATCTGGAGCGCCACATTGCCACCATCCATATCGATGAAAGCGATCCGTTCTTCTCATCAACTGAGTTTTCACCGTTCAGATTTGAACCTGTACAGTTAAACTTCAACAATCAAAACACGATGCGCTTTTATAAGCACATCTTTGAAATGAACAACCTTCTGACACAGATGCACAAATTCAACTCTCTGGGTCAATTACCGGTTAGCGATTACAACGTTATGGCCCACAATATTATCCGGAGCCTTAATATGTATATCGAACGGGTCAAGAAAACACTTAACGTTTCCCGCCGCGCAAAAGGTGCTTACAGTCCTGATGAGTTCATCGAAAAGGTAAAGCAGTATAAAAGCGTGCAAGCATATATTGCTGCGGAACTGTCTGGTAAACGCCGGTAAGGATTATTTGATGAATTTCAGGGCACTCTTCTTAAGTATGCAACGAGTTTTTGGCATTTTCTCCAGAAGGGAGAATGATGTATCTGAGTTAATGATGAAGGATGCAGCGAACTTCTCGCCATTTGCTCAGATTATAGGAGAGCAGAAATACACTGTGCCGGACCACCCGAATCCTGAAGTCCTGAAATTCATTGAATACCCAACCAGGCCTGCGGGGATACAGACATTTAATGAGCAGTCTATTCTTTCGTTGTACAGAGACAAGCTGCACTCTATTTCTATGATGCTGGCAATAAGTGATGGAGACATTCGGGAGGATGCCTATACCTTCACTAATCTGGTGTTAAAACCATTGATTGAATACATCCGCTGGATTCATTTACTTCCTGCGTCAGAGAATCATCACCATAATGGTATTGGAGGATTGTTGTCTCACAGCCTGGAAGTGGCGATGATCTCTTTAAAAAATGCCAATCACTCTGAATTACGTCCGATTGGCTATCAGGATGAAGAAGTGGTTCGCCGAAAAGTTTATCTGTATGCCGCTTTTATCTGCGGCCTAGTACATGATGCAGGGAAGGTATATGACCTTGATATAGTTAGTCTCAACTTGAGTGAAACATTAACATGGGCGCCAAGCTCGCAAAGCCTTCTTGACTGGGCACGAGAAAACAATGTTGTTGAATATGAAATACATTGGCGAAAACGTATTCATAACCAACATAATATATGGTCCAGCGTATTTCTTGAGAGGATTTTAGATCCTGTCTGTATGTCATTCCTTGACCGAGTCAAAAAGGAGCGTGTCTATGCAAAAATGGTTACGGCACTTAATGTCTATAACGACGGCAATGACTTTTTATCAAAATGTGTAAGAACTTCTGATTATTACTCTACAGGTACTGATCTTAATGTGTTGAGGGACCCGATAATGGGTCTTCGTTCGAATGATGCTGCGGCTAGGGCAATAGGTACCATTAAGCATAACTTTACTAGCATTAATATTAATAACTATAAAACTAAACCCATGCACATCATTATTGTAAACGGTGAAGTTTACCTCAATGAAAACGCCTTTCTCGACTTTGTACTGAGTGATTTTGCAGCCCATAAGTTCAACTTCCCGCAGGGAGATGCAGGCAAAACAGTACTTGTCGAATCTCTGGTGCAACGGGGTTATGTTGAACCTTACGACGATGAACGTGTGGTTCATTACTTTATTCCCGGGACATATTCGGAAAATGAAATTGCAAGCATCTTCCGGAACGGTATTGGTAAGCTGGAATTTTATAACCTCTTAAAACTGCGTTGGATCGGGTTAATTTTTGATTCATATAAAATCCCGGATTCAGTTCCTGGTCTGTTCAGCGTTAATGCGAATAAAGATTTCATCTATATTGATGAGCAGAAAACTGTAACGGAATACAGAAGGCCGGTCCCGGGTCGTGAGTCTGTTACCAGAGTAACGGACACTGTCAATGACGCCATTGAGAATACCCCACAGTATGGACTTCAGCTCGTAAACGGCCCTGATGCCGACAGTAACAATATTATTAGCAGTGAAAATACTGAATCCATTACGGATAGTTTGGAAGAGTCTGGCGCGGATATCTCAAACGAGATTTTTGAAACGCAAGTTGTTACGGCAATTGATACTGCCGAAACGGTAAACGCGGATGAGCCAGAACAGGTAGAAGAGCATGACGACCGGAGCCAGATTCATCTGGTTGAACAACTTCATGAAATGCTGTTGAGCGCCCCACTGCCCCATCATGCCGTCATTAATATTGATTCCGTACCTTACCTGGATCTCGATGCTGCGATTGCGTTAATCCCGGGTATAGATGAGGCGGCATTTTGTAATGGGCCATTTTTCCAGTTGACATACCGTGATGGGTCTCTAGATGGTATGTGGATAGTCCGTGATGTAAACAATCTACGCCTGATACAGCTGGGGGATAACTGCGCCGGTATGCAAGTAAGCACATCGGAACCACGAAACACGTCATCGCTGAAATCACTATTTGATACGTCAATGTACCAACCGTTGGATATCCCTGAAGCTCCATCAGTAAACGAAGCTGCTTCGCCTCCACAAACACCGCTTGAACTCCCCCAACCACGACTGAATGCACCTGTGGCTGAAGAGGCCAGCTCGGTAGCTGAACAGACTAACGCCCACTCCGAACCGGATTCCGTCATCGCTACTGAGTATGAGCAATATGGTCATTTGCTGGAAGAGACCCTTGATAGCGATGGTGAGGCATATTCTGATTTAATTGCCTCTGACAGTACTGAGGCAGAATACCCCGCCACTGATCCGCAGAGCAGCGATTTTGCCCAATTACCTCGTGAAACGGCCCTGTCCGTTGCGCCCGGTGATTTGGATTACTCAGAGGGTGCCATTAAGCCACCAGCACCCGATGCAACCGGAAAAGAAACAATACTAACAAGTCCTGAACCAGCAGAGGATGTCCGAGAAACGGTAGCCGCCGTGGAGAAAGCGAGTCATCTTTCTCCGGCATTGGCTCGACTCTTTGCTGTAAGCACCCATGCTGAGAAGAAGCATGAAAAAACGCAGGAACCCTCCCCTGTTAAAGAGGTTAAAAATCCAACCTCCTCTACCACAGTTAAGGCTCCTATTTCCATTGAACCACCAGGCGCTGAAGAGAAAGAGGCGGTGGAAGAATTCACCCTGTTAAACGACGGTGAAGTCACAGAACTCGAATATGTCGAGATTGCCACCATGCTCCACCAAATTCTGACGAAGTTATCTGGGTCGTTCAAAAGAAAGAGGAAAAACCGGTTCATGGTTTTGACCCAGAACACCTTTTATCTGACGCAGTCATGTATTGAAAAGTACGGAACGCAGCTAAATGCGCCTGAGCTTTTTAACCAACTTCCTCAGTACCAGGTCACATCCGGTGCCGTAGTCAATACAAAATGCATTGCATTCAACATACCAACTCTGGTCGCCGCATCAGACCGGGCAAAGGTCGATATTGAGTTAATTATTAACAAGCTAAAAGAGGTCGGGAATCTGTAATGACAAAATCAAAAAGAACCAACCTGCACGCTCAGGAAAACTTTTACAGGCCGATACTGGAGTACAGAAGTGCCTCAGTGCTTTTAATTTGCGCCGTCATAATGCTGGTTATGGGCTTTCGTTCAGATGGGGTGAATATTGCCCCTATCATTCTTTATACCGCTGTTTTCCTGCTTTTGGTTTGTTTGTACCGTTGTAAAACGGCACACCCCTATTTGATGGCACACTGGCGCGTATTTCAGCGCCAGATAATGTTTATTAGCCTCAAGTCGCTCAGGACGATCAATAAAAGTAACTTTTTCTCGAACGAGCGAAAGTATCGCCAGCTGGTACAAGAGTATAAAAAAAATAACCGACCAGTACCGGATAGAAAAACCTACTTTTGTAACGGCTTTGAATGGGGTCCCGAGCATGCAGACCGCGCATATCAAATTGCTAATCTCTCAAGTGACAAAAGAGAGATAGCCCTGCCATTTGTTCTAAGCCCTATAGCGCGACATTTTGAAACAATGGCCAGATCCATGGGGGGCAATAACGCCATCTTTGCTGTTGACCGGCGGGCACCCATTTTTGTGACCGAAGATAACTGGTTCGGACATACCCTCATTACCGGAAACGTCGGTACCGGTAAAACGGTACTTCAGCGCTTACTGAGCATCAGCATGCTGCATTTGGGCCATGTCATTGTGGTTATTGACCCGAAGAATGACGCTGAGTGGCGACAGTCACTGATGGATGAAGCGTCAGAACTGGGGTTGCCATTTTATAAATTTCACCCAGCCCAGCCGTCTTCATCGGTGTGTATTGATGTATGCAATGCTTACACAAATGTTTCGGACCTCACCTCACGACTTCTTAGTCTGGTTTCGGTTCCCGGGGAAGTTAACCCATTCGTGCAATATGCCGAAGCTCTCATCTCAACGGTGATCACTGGTCTGTCTTACACGGATAAAAAACCGTCGATATATCTCATCCACAAAAACATGAAAAGCCATATGTCTGTTGTGAACCTAACGATAAAAGTAATGGAATGCTGCTTTGCACGACACTACGGGCCTGATGTCTGGATGGAAAAGGTGAAATACGCTTCGAATGACACTCTTCAGGTTCGATTTAAGCGCCTGACAGAATGGTTTAATGCCCATTTTCTTAATTATGAAGGCGCCGAGCCCATTGAATGGATTGATACCGTCGGTCGGTTAGTGGATTACTCCATGTCTGATCCTGAACACATGTCTAAAATGACGGCGGGTATTATGCCGCTATTTAGTCGACTGACTGAACAACCACTGAATGAATTGCTTTCGCCGTCTCCTAATACACTCACTTCGCGTGAAATAGTCACTTCAGATGGGATGTTCAGTACCGGCGGAGTTCTGTATATCTCGCTCGATGGCCTTTCCAACCCGGAATCAGCCCGGGCCATTTCGCAGTTGATAATGTCAGATCTTACGTCTTGTGCGGGTAGTCGTTATAACGCTGACGATGGTGATATGTCTTCCCATTCAAGAATCAGTATTTTCGTCGACGAAGCACACTCTGCCATAAACAATTCAATGATAAACTTACTCGCACAGGGTCGTGCCGCTCAAATTGCATTATTTATCTGCACGCAAACTATTTCCGACTTTATTGCAGCAGCGAACGCTGAGACGGCAAACCGTATTACAGGTCTATGTAACAACTACATTAGCCTGCGGGTAAACGACACACCAACACAAACGCTGGTCGTAGAAAACTTTGGTAAGAGTCCAATTAGTACAAATATGGTCACGTATACGACAGGATCTGAAACCACTTTGCCGCATAATAACTTCTCTGGGTCAATATCAGAAAGAAAGCAAACAACGCTGGAAGAAAGTATTCCAAAAGAGCTTTTGGGCCAGGTCCCCAAATTCCATATTGTGGCCAGACTTCAGGATGGTCGTAAAGTTGTCGGGCAGATCCCGATTGCCGTAAGTGAAAAAGCGATGAAACCCAATACGACGTTACTGGAGATGTTCCTGAAACCCGCCGGAAAAGTAACTTTGCGCCAGAATGTGGGTTTAAGCTATTTAAATAAATATCTAAGGAAATTGCATTGATGGATGAGCAAATTACTCTGACACAAAATCAAATTTTCAGTGCATCTCTGAAAGTAAGTAAAAGCCGCTCGCTCGTTAAGCGGCGTATGCAATCATTAGGGTTGAAGTTTACCGAATCGCAGGATGTCCGTAACCGACTGGCGGGGATAGAAAAAGGTGCTTTGAAATGTGTGGGGCAATTTTGCCATGACAACGATGCTGAGTCTTTATCAGCGATGGCGATCATCCTTTCCGAGCTTTTTCTGCTGCAAGGCGAACTGTCCACCAGCAATGAATACGGTGACCATGAAACGAGTTACTGGACCGTAGCACAAGGCCCATGTGATGAATGGGTCCAGTCTCTGCTGGCGAGCGAAAATGGTCGACGTACATTTAATAGCTTTCGTATAACTTTCGACAACTCCGAAGAGCGCCGCAGCCTCGTCGAAAAAAATGCCAAAATGCTGGGGAGTTATTTATTGCCTTATTTTGTCAATTTTACAAATGCTGCATCTGCGTTTATTACGCTGCCTAATAGCATCACGTTTAAACAGGTGCAACGCAACAAGCCGCTCATTCACCCTGAAACCACATTAAGTCACATTCTCACAATAGAAGATTCGGCGTTTCTCTCTCGGATCAAATTTAAACTTATCTCGGCAATTGACCGTCTGCCCGACCCGTCCGGTCAGTATGCCAACATGTTCAATCACATCATGGATCGGGCGCTGCTGACGCACCTCAACCGGGAGCAAATTGATAGCCCTTGTGTGTGCAAAAAGGTCATTTCCACCTATGCAGACACTATGCTGACGCTCCCGATATTTAATACGACGATTACCGGGAAATACCGGCACTGGACCCCGTGGGGGATTAATTTTGTCGAGTTTAGTCGTCAGGCTGCAAAGGAAAAATCTTGTGTCTATGTTCCTGAACCCGGCCAAATTCACTGGAAAAGTCCGGAGCATAAGGAACTGGCAGAGTACAGCCTGATCAACCAGATAATCCCGCAGCAATACCACTGGTTGCTGGGTGTGCCGACAATCTGGCGCAGTCACTATCGTGACCATAGCAAACGATTAGACTTATTCAAGGAGTGGAGGGACGCAAATGGCTGCGGATAATTCTGCTCGTGCAATATTCATCAGGGGACTGCTTTTACTAGGGATGATGCTTTATCTTATTTATAGTCTGGGGTTCCAGAACACCGACGAGCTAAAGCAACAAATCACTCAGGAGGTGAACGCCAGTCGTAGCCTTATTTCTAATGACCGGTGGTTATCTGTTATTGCAAATAGTGAGGCTACTTTATCCACCCTGATTAATGACTATAAGCTGATCGACTATCTGAATACGATACTGATCCCGGACACATCGACACCTGCACGTGGAATGAATTACGTTGCCGAAAAGATGACATCAGTAAACTACACTGTGGCAAAAAATCTACCCCTGCTGATTTATCAGTCCATTTTCCGCTGGAATCTGATACTCGGTTGGCTGATTTTGTTTTCACCATACCTAATTGCTATGCTCGCTGATGGCATGTATCAGTGGAAATTAAAACGTTACGTTTTCGGTAATGTAACTGTTCAGTTTTACAGAATCTGGTTCAGGGCCTTCTGGATAATTGGTGCATTAACCTTTATATACCTATCAATGCCTAATATGTCACTTTTTAACAATATCGCTCAACTGTTCCCCCCTGTCGCATTGTTGATATTGGGAATTGCACTCAACCGTTTGTGGTCTAACTTTCAAAAACTTATGTAATAAGGTGGTCAGATGTTTAAACGTAATAATAAGAAGTCACCTGCCAATATCAAAGAATCGCTTGATGAGAACGCTGACCGTTTCTATAAAATGTTCCGAATCCATACCACGTCAAAAGTGGTTATTTCACTGCTGGCATTAGCCGCCGCAGGGGTTTCGGCCTTTAATATTTACGATAAGTATCAGGAATCCGAAGGACGAATGGATCATATCGCCGTCGTGCGTATCTCGGGAGAAATGGGTACCGGTTCTGAGGTCGGCGATGGATCTGTGATAGCCACAGCACTGGCGAAAGCGTACAACAACCCACATGCCAAAGCCGTCATTATTGAAGCTGAGTCAGGTGGCGGCGGTCCTTCAGACGCGATTATTATTTACCGCCAGATTAATGCACTACGAAGCCACCAGCAGAAGATTGAACGGGTTTCACATGCCGAATCCACAAGCAAGCCCCGTAACACGAGTGATCACAGTGCTTCACGTTCGCAGGCCGATAGCAATGCCGAACTGTCGAAACGTAATACGCTGGACGTTCTCTCCGCCGGGAGTGGGCATTTCATTTCTGATATGGAAAACAGCTACAAGCCTATTATCGTCAGCGTCAAAGGAATTTGTGCGTCAGCATGCTACTACGCTGTGTCCCCTGCTGACGCCATTTATGCAGACAGTAGCGCTCTGACCGGTTCGATCGGTGTCCGAATGGATCACTGGAACCTGTCTCGCGTTATGGATACTGTCGGCGTTAAAAATGAGCCACTCACCGCCGGGGAGTTTAAAGATGCACTCGACCCCTATCATCCACTTTCTGATGCCACCCGCGATTTTATGCAGAAGCAAATCCTGGATGCAATGCACGAACAATTCATTGCGGACGTTGAGCAAGGCAGGGGTAAGAAATTATTAAGCCGTCCGGAGGCTGATGCTGTCGCACTGTATTCCGGCAGGGTATGGACAACGCAGCAGGCGATCCGGTACGGACTCATCGACGGTGACCTGACACCTGTCGAAGTCCGTTCACGCCTGTCCCAAATGTACTCAACCACTATCTTCAAGACGTACAACGAGCCACAACGGTCGCTTCGCTCCGCGCTCGGGATGTTAATGAGTCTGTCGACTAACGTCGAAACGCTGGCAGGAACAACCTCTCGGATACTTGATTCTGTTCAGGCCACCAGCTATCCGACGGTGAGATAAGATGGATGCAATTTTGATGGTGTGGCGAGTGATAGGAATCAGCATTATTGTCCTAGTACTCATTGTGCTTTACTGCCTGATGGGATTTGTATCGTCGGCCATTGCTGAACGCAGGACAGCCAGACAGATTGAAATATACCTGCCTGATGATGCAGAAGGGCTTCTGAGCGACTTAACGCTGCCGGTCAATGCCACCGGCACCACGCAGATTGATCACGTTCTTATCGCCTCTCATGGACTCTACGTCATCGAGCAGAAGAACTATGCAGGAAAGCTCTATGGGAAGCTGGAGGAGAGCCACTGGCGAAAATGGAAATCGTCAGGGACACTAAAGTTACAAAACCCGTTCAGGCAGAACTACGGGCACATAAGGGCCATTCAGTCCACGTTACGCGCCAGCGAGCTGGAGTGTATCAATGTTGTCATCATTAACGGCCCCTGCAAGTTTGAAGGTGAGAAGCCAGACTGGCTTTGCATGGGTATGGAGGAGTTCGTTCGGAAAGTCACTGAGAGGCGCCAGTTAAATGTATTCAAGCCTGAAGCAGTAAGTTTTATCCGTGGAGAGCTGAAGCTAAAGAGAAAGCCTCCGGGCCTTTATACTGATTTGAACCATATCCACAACGTTACCACTCGATACAAAACAACCATGCGGCTGGAGCAGCGTATTACCTATAACCTTTTGCGCTTTTCTCGGCTTATACTGAGTAAAATGTTCAGATCGGCAAAGTAAAAAAAACCCTGCAAATGCGGGGTTTTTTATGGATTCAACTCCGGAATATTTTGCCACGCTTCCTGCATAATTCGCATGGCCTCCCCAATCGATAGAGACGGCCATAAAGCGGCGTCAGTCATTTTTACGCCAACCGGCTCACATTCGATAGGGACAAGAATTAAAACAACGCGAGTCCCTTTTATCTTATACCCGAGATTGACTACCGGCTGTCTGTAGGTAGCCAGAACTCCTGCACCGTACTCCGCAGGTTTGCTGGCCCAGCTCCGCACCAGAGCGTAAGCCTGCGGCATATAGCGATTATCCAGATCTCCCTGCGGCCGACGAAAAGGCACGATGTCATCGGAACGGTAAGTAGTGGTGGTTACGTTTGCCGTTGTCATTAATCAACTCCTCGCATCCGACTTTATTGAATCTGAAAGTAAAGGGTTTCACGATCAGTTCCCAATCGTGGACACTGATAGTGTGGCTAGAATTTTTGCTCCATTTGTTGAGCTTCAAAATCTCTTGCAGCCTTCAAGAGTGACCCGCCACTGTAGTACTCCAGTTCAGAAATATCATCCTCTTTATTCAACCATTGTGGGGCGGCTTCATTGCCGGTCTTACCTGTACCCACATCGCTATTATGGCTTCGAGGCATCACTACGGCTTCCACTTCTTGATAAACGCCATTGCGTTTCACTAGGATATTAACTGTTTTCGGTTTGCTGTACTTTTCGCGGACTTTATTAACCAGATATAGAACGATAATCCAGCCCACCAGCACGTAAAGAAAAGTATTCATATGCCCTCCTTTGTATGAGTCTACTATACCAGGTTCCGTTCCAGCCCAAATAGGTTCAGTGCATGAAAAATAGGCTTTCCCGTCCGAATCTGCAAATCCACTCTGGCGTGCCTTTGCTGCCCTGCGTGAGATTTTCTTTCCGGTTGCGTATGACAGATTCCGTAAAGTTACTTTCTATCCGTCTTGATTAAAACCAGATCCTCTGACTTCACCATCCACCAGCCAGAACCACGGACGCAAAACCATTACGAAAAAATCCGTCAACTTTACCCCCTGTCGATAGCCCCCCGACAATCGGGTGCCTGCACCCTGTATCAATCACCACCGCCCCCACATCCGCCACCAGCGTCCCCACTGTCGCCCCCAACGCCAGTGTCTGAGTAGCCGGAGATTAAGAAGAAACCACTTTCGCCTGTGTTCGCTCCACTCTTACTGGACTGCGTAAACTGACGCCCTCCGCCCTGGAAACGGTAAAGTGCCTTTTTATTACGGAGACAGAGGTAAAGACAAACAGCAACATAGAGGATTAATGCAATATTGAGTAACATCACAAAACTCCTGTGCGTCATCGTTAATGGACTCGGTATTTATATTAAAGTCCCTTGTTCTTAAATTTTGTTAACACGCCCCTTTTCTCCCGACCGCAAATTATTATGGAGCGAGTCCGTCACAGACGACACCGCAGTCGTCAGCCAGACATATCCACCACGCAGGCCATGAGGTACCGAAGATTTCTTTCCGGATGCCAGATCTCTTTTTAGTTCCCAGCATCATCACCGCCCCCGGCTAAACCATCTGCATGAGGCCAGGCTTACACCACCAGCTGCGGGCCCCGGACAGCCCAATGATCCTTTTTCCGTATGCCAGCTCTGAGTGCTGAGCCCACAAAAAAGAAACCCGGTGTTACCGGGTTCTTGTGCTAATCAACTGGCCTTCAGCCCATGGCTTTGCAGGTAGCTATTGAGCGCATCATTGGCACCGGATTCATAATTCCAGTTTCGCCAGACCAGCTGGCTGTCGTGGTCGCGATGATCACGGATGACAATCTGGAAATGGCCTGCTGGCTGGAGGTTTTCGATAAAGACGTTCTGGTACCCAGCGGCGACAGTGCGTGCCTGAGCCAGTGTTACCGGTGATTCGCTGCTGAATAAATCGCTCATAAGAATTTCCTTCATAATCGCCAGGCCGGAGCCTGGCTAGGGGTGTCAGGCCGCGAGGTGTTTGGCGAGTTTAACGAAGTGGTCTTGGTTGTTGTACAAAGGCATCTGATAGGCCAGGTCCGAAATAAACATCCGGATCTGGTCAAACGTCATGCCGCAGTTGAAGCCAGTTTCGCTGACATTAGCCCGTGGAAAATCATCGCAAAATTCGTTTAACACCTTGTCATGGACAATGCCGATATTAAGGAGTCCGGCAGGACCGTTATCACGGAAAGACACAACACGGAATGCGCCATACCAGCCCGACTGGAAAAAGAAGGTAAACGCCTGGGTTGCAAGTCCGTTAAAGAGCTCGTAACGCTGGCTGGCACTCAGTGACTGGCTGTCCATGCTGTACACGCGATTGATAAAGACGCCCGGGCCGATGTTTGCGGGGATCTGCCCGTAAGCAATGCACGGCATGGCCATTTCAGATGCGTCTTTGGTATCATCAATCACTTTATATTGCGCGGCGATAATATCCGCCAACATTGAGCCGCCAAGTGCGCTAATTGCTGCGATGTCATTAACCTGAATATTTAAAGTTTTCATATTTCACCTCATTGTTTTTCTTATTATTTCATATTCAGCCTCGTGGCTAACAACCTGATGTGAAATATTTAATAAATTCATCAGTAGGACAAACACAAACCGGTAGACCGTTCAAAAATGTCCTGCAAATGAATATTGCTGGCATCCAGATTAATCTGGACAAGCTCTGCATTATTACCTAAAACAGAAAACAAATAAAAATCAAACCCGCCTGTATTATCATCCTTAAAAATGCGGAAGGAATTAATATTAACAGCTTCGTCTAGTTCCACGTGAACCCCATAACGTACTTCCCCGTCATCAAACTGTGCAATCCGGCGCACTGATTTGAGACGGACAAATTTCGCCAGCTCCAGTTCGGGCGTTGGGGAGAAAGTCAGTGCCTCGAAGATCAGATCTGCTGTTTCATGTTGCTTCCTGCGGTCGAACTCAAACAAACCGCCACCATTGTTGCGATAGACCGGCTGAAGCGCATTGATCAAGTTGAACGTCTGCCGGTTCCTGTCATATTTATACATTTATAGGTGCTCCAGTCCTGCCAGTATCCACCAGCAGGGCATAATGTGATTAGTGCCAGTTGGCGATCAGCTCTTCGCATTGCAAAGAGGAGAAACACTGCTGGGCCAATACCGGCAGTACGGCAATGTTGGGTACACGGTTGTGACACCATGCGTTAAACAGCATCTGCCAGGGGCCAGCGTAGTAACCGCCCATTTTCATTTTTTATTTCGGAGTATGGCAGGCGGAAATAGCCTGCTGATAGAGACTTTCATTCTCGGTTCCAGAGCGTTGTTGCAGTGCAGGATAAATAAAGGAGTAAAGAGAGTCAGAACAATTAGATGCATAAGCCAGATTGGTTTTCATAATACCTCCTATGTTTTTGGTATTATATAAAACCCGGGCTGCTGGCTAATAACCTACACTGAAAATTTTTTAAATTAACCGACAATCTTAAAAATTGGACGCATGTGGAATTATGTAAATAGGTAGCAGATTTTATTAACTAGCTTCCATAGGTGGTGCGTTATTAGGGAGTTTTTTGCCAGACCAACAAATTCTAGTAGCTACACATTCACTCGCAGAGATTAATCGCTTTAACATAATTAGTGCCAGCACTGAGTCCTTTAAAATTATAAATCCATGTTCTATCCATAACGTCGTGCCATTGCTCCTTTCGGTGTTCACTGCAAACGGGAGCAGGAATTCCGTTGCAGTTCTTCGGCCGCCTGCTGTTGCAGCACGACCATCACTCTGCTGAGCATTGTCAGCGCCTGGGAAGGGGAACCGCCAAACGTCAATTTGATTTCGTTGGTGGTGTGGTGCTGTTCCAGGTCGAGAATATTTACTTCCACGTCTGCGCCCTTCTCATCCTTAGCCGTACAATGAATGCTGACCCGGGTCACCGGGTCCTTAACTGTCTGCAATGGTTTCTTCGTGCTGATGTTGATTGCGGTATTCTTCATTGCCCTGTTTCTCCTTGACCAGTGGTGGTAACCGACCCTACCGGGTGGCGGGGTCAGTCAGGAAATCATGCCTGGCCCTTGTTCTGCTTTTCAGCATGTTTACGCAGGTACTGCGTCAGATCGCCGTGAGCTTCACAAATGGCATTCATCTCGTCATTGGTCAGCACCAGAGTGTAAGTATCGTCGCTGAGGTTCTTAGCGGCCCGTTGTTTAGCTTCTTCCGCAATACGCGAAAACAGCGGGATTGCCGTGTCCGCAATCGTCGTCACGGTCTTTTTGTTCAGTACGCTGGAGACCGACACAGCTTTAGGCTCTGGCGTTTTGACCGGGTCTTTCATCTGCGGTGCCGGGGTCCTTTCCGGGGTCGGCTCCGGGTTAGTGCCCGCACTCCCGTCCACCAGCTGCGGTGGGGTGGTCTCATCGTTAGTACCTTCGCCGGACGTTTGTTCAGTCACGGTGGTTTCCGGGGGGGTCGCATTTGCGTCCGGCACGATGGCTGCTTTCGGCTTCATCGCTGCATCAATGTTGCCAGCTTTGACGAATTTCAGGGTTTTGGCCGTCGCCTTACCATAAACATCAATGGCTTTGGTGATGTTGTTGACCGCTTCATCGCCGCTGTAAAGGTATTCATCCAGCGCGACATACATACTCACTTCACCCTTCACCAACATGGCCTGGAGGGCTTCAGGCAGATCCAGGACGCGAACCATCTGACGCAGGTGCTGTTCGGTTTTACCGCGACGCTTCGCCAGTTCAGCGAACGTTTTGGGTTCTTCCGCGTCTTCAACCATCCGTTTGATGGAGAGCGCCTCAGCTACGACAGACAGAGCCAGATTTGAGTTACCGTCCAGCGTAAACTGCTCGGCACTGGCGCGGCTACCGCGAAACTCCTCGCATCGAATTAACGTGATCAATTCACGCCCTTCATCTGCCAGCTCGATGTTTGCCATCGCGACGGCACGGATACGGCATGCTCCCTGGCGCAGGACCGGACGGCCATTCAGAATCTGTACGACAATAGCTTGTACGCTTAAAGGATCGATCTTGTAGGACTCTTTCAGGCTGTTCAGGTGGGCTACCACGTCAGGTAATGAGTAGTAACTCTCCCCAATGCCAGCAGTACGGGTGTTAAACCCCTCTTCCTCTTCGACCACTGCCGGGTTAATGACTAGACCATTGCTTTTGCGTGCGCCGTTACCGGTACGCTCCAGGTAGGTGCGCAGGCTGATATCGTTGTTAGCGGTTTTTACATCATTTTCGACAGTGGACATGGTGCCTTCCTTTTAGTTTTCGTTTAGGGTGTTTGTTCGCTACAAAACAACAATACCAGGTTCGATTCATTTCCTAATAACCTGAGGCGAAAAAAAAGTAACTTTTTTTCCGGGGGTTATAGTACGCGATCCGTCCGTTTTAAATTCTCGCTAAGGAGGGCAAATTTCACTTTAGTGTGAAAAGCGGGTACATAAAGCAGGAATATGTCGAAAAAGTTACTTTCCCGGTTGCCTGAAAAAATGCCGTTGCAGCAAACACAAGGTGTGAACACCCCCCCCGCCCCGGCGGCTCCGGGCAAAGGAGTATCCGATGAAGCTTTCCCGGCAGACCACAAATGATACGGCTGTAATCGAAGGCACCCGCAGATTACCGACCATATCGCCTCCCAGCGAGCCACCGAAGCCAAAAAAGACGGCATGAATTTTAATGCAGGCGTTGAGCTTGCATCTAAAAGGAACTGTGCAACGAGGACAAACATTACCATGATTGAACACCGCACAGAGATGCGCCAAACGGCCATTAAATCGCTTCAGGAAGCCGAAGAAGCATTGACGGCACTGGCTATGTCCTATGAGCTACAGCCCGATGATAAGGCCAGTTCGTGTCATCCACGGACCGGTACTCTCTCCACGGCCAGCCAGGTACGGAAATTGCGCCGTGTCGTCGAAAAGCAGAAAACTTGAAATTCGACAAGGCGGCGGGTAGCTATTTCCTGCATGTACAAACTAACAAGGGTTTAGCCGACGATAGAAAGGAAAAAAGGGTTTCCCCGACCGGAGAAACCCTTTTCTAAAGGTGCCATTAGCTTGCTGGCCCACATTCTGAAATGAGGGGGGTCGCCCCCCCTCTTTCAGCTACTTACCGGATTCGTAGTCCATCACAGCCGACACTTCCCGTGTACCGTCTTTCAGCCTCAGTTCGCAGAGCGAATTGCGCGTAAGCCAGGTGAATATCAACAGCGTAAGACATACTATCAATACGCACAAAACAACGGGTTGGTTCGGCAGTTTCATGGCCTTCTTCTCCTTGCATTTAAGCGGGTAAGAGGCTACTCTGAATGTGACTAGCATACAGGGGCCTCGGGTTAATTTGAAAAAATTACTCGGGGCTTTCTGCTTTTTACCACAGTCAAACAGTGAATCTGCTGGCTGGGGCAAAAGCCTCCAGCACCGAGGTTATTATACCACCCCGCCCCTTTTAAACGAACAGATCGTTCTCCTAAATATTTAATAAGTAAGTATTTCAGGTTTTGCTGCTTCGCAGGCTGTAACAGCAGGTGTCTGACGTAATAACTGATTAAACAGACGGATTCGAATCTCAACACTCAACGACGCCAGCTCGCCTGTTCCCCCGCTTCTTTCCGGCTGTAATCAGTCCGTTTTCGTACCAGCGATCAGTGACAAACGGTGAGCACGAACACTACTGTGCCGGAGGCTGTCCGGGTAATGGGGCGATTTTCTCCAGTTCCTCATCGAGGCGGGTATACGTCAGCCTCCTGATTTTCAAGATTTCCTTGTGAAGCCAGCGTTTGATAAAGGGATTGCCGGAAAGCAGTACCAGGTCTGCATCCTCCACTTCATCAAAAAGCCAGACGGGTTTTGCCGGAGTAAGGCGGTAGAGCCAGGGGCGGGAAAACTCCCCCGTTGCAATCAGAAACCAGACAACCATGCCAAGTGCGAACTCGATGACCAGCATCAGGGTAAACTGAATATCCCGGACGTCAGGCTCTCCGGTAAAGCTCATTAGGCGGTCGCCAGTTGCCAGACGCTGAATAATACAGACCAGCATCAGCAGAGCCAGTAACAGCGCCATGAGCAGCCCGCCGTTCACTTCAAAAGTAGCTTTCTGGACGCGATCAGGCGGCACCTGCTTACGGTAGCGGCCGACCACATCACCAATCATTACCCTGATGGCTATGCGTTCTTCATCGACCGTTGTTTCGGTAAATCCGGACGGGCCCGTTTCTGTTTGATTCATGTACCCTCTCCTCTCTCTGAAAAATAATGGTAAGACGCAAGCTGATCATACCAGGTGAGCAGGAGTGGTTTTGTCGGTTAAAGGCTGGAAAAAAACGGTTAAAAAAAGAGGGAAATGACAGCAAGAAGGTGGGATGCAGTAAGCGGCTTTGGTTCCCTCCGGTTCTGTGGGGAGGAAACGGCCAGAACAGCAGACCGATACGATGGGCGGGCGCTATTTTGTATCCAGAATTCGTGCCTTTTCTTCCCGCGTCGCCAGTCGGGCACTTCCGGAACGGTCGCGGATCAGCAGTGGCTTTTCCTTTTTCCAACCAGTGATAGCCGTTTCCCCGAAACGACGCGGTGCATTGCCATTCCAGCTGGCAATCACGTGATTATCGTGTACTTCCTTGATGACGACAGAATGAAGAGTCACCGTCTTAATGGTGGTGTTTCCCATTTTGGTCCGGGAGAGTGACCAGACGGTCATCCCCACCTCCAGCTGACTGAGTTTCATCTTTACTCCGGTAATATCGGGATACATCATTAAACGACGTGGAGACGTAGGTTAGCATAAGCACTCACAGCGGATACTGCCGCCAGATAACAGGGTGAGGTATCCGCCATGAGCAGTCTTTACGGCTGGCGTTATTCGGCCAGGGCGCGGGTAATAGACGCACGCTGACGCTGGCGCTCAGCCTTACGCTGGCTGCGGCGATATAGCGGCTTCGCGGCAGCGTAGCGACAATCTTCCGGGTGGTACCAGCAACAGCCGCAGGGCTCAGGCTGGGGTTTTCCGGCAAGTCCGAATGGTTTCATAATGTCACCTTTTAAATGGAATAATGTTCAGGTCCCGTCCATCAGGCCACGGGTTCATTAATGAAGCGGCGTTGCATAAACAGGTACAGATAACCCTCTGGCGAGAACATACAAAGATTCTCGGTAATACAGGCATCGAGGTACTTCGTGTCGCCAAGGAGTCGCTTAATGACAGCCAGCTGGTTAGCCGCAGACTGAATCAGCGGATAGCCATTCACGGCACGATGAATACCTGAGTGGAATAACGAACGAGCCTTTCCAATCTTTTCCCGGGTTGCGTCCATTTCCATATCGATAACAGACTGACGCGCAACATTAATAGCATTGCCGGATAACTCCGCGAAGCTAACCAGAGGCTTATTCATAAAAAACTCCTTCCAGGTATGTGAGCTTATTATATCAATACGGACTTTGCCCCAAACAACCCGACTCGAAATATTTTGGAAATTACTCTAATAACTAAAAATGGCACCCGGAAAATAGAATGAATTTATTTTAAGCTTGCCGAACATGGCTGGCGGCGGAATTAAATTTGGGTAATGACTCCAACTTATTGATAGTGTTTTATGTTCAGATAATGCCCGATGACTTTGT
AAATTTAATTCCGCCGCCAGCCATGTTCGGCAAGCTTAAAATAAATTCATTCTATTTTCCGGGTGCCATTTTTAGTTATTAGAGTAATTTCCAAAATATTTCGAGTCGGGTTGTTTGGGGCAAAGTCCGTATTGATATAATAAGCTCACATACCTGGAAGGAGTTTTTTATGAATAAGCCTCTGGTTAGCTTCGCGGAGTTATCCGGCAATGCTATTAATGTTGCGCGTCAGTCTGTTATCGATATGGAAATGGACGCAACCCGGGAAAAGATTGGAAAGGCTCGTTCGTTATTCCACTCAGGTATTCATCGTGCCGTGAATGGCTATCCGCTGATTCAGTCTGCGGCTAACCAGCTGGCTGTCATTAAGCGACTCCTTGGCGACACGAAGTACCTCGATGCCTGTATTACCGAGAATCTTTGTATGTTCTCGCCAGAGGGTTATCTGTACCTGTTTATGCAACGCCGCTTCATTAATGAACCCGTGGCCTGATGGACGGGACCTGAACATTATTCCATTTAAAAGGTGACATTATGAAACCATTCGGACTTGCCGGAAAACCCCAGCCTGAGCCCTGCGGCTGTTGCTGGTACCACCCGGAAGATTGTCGCTACGCTGCCGCGAAGCCGCTATATCGCCGCAGCCAGCGTAAGGCTGAGCGCCAGCGTCAGCGTGCGTCTATTACCCGCGCCCTGGCCGAATAACGCCAGCCGTAAAGACTGCTCATGGCGGATACCTCACCCTGTTATCTGGCGGCAGTATCCGCTGTGAGTGCTTATGCTAACCTACGTCTCCACGTCGTTTAATGATGTATCCCGATATTACCGGAGTAAAGATGAAACTCAGTCAGCTGGAGGTGGGGATGACCGTCTGGTCACTCTCCCGGACCAAAATGGGAAACACCACCATTAAGACGGTGACTCTTCATTCTGTCGTCATCAAGGAAGTACACGATAATCACGTGATTGCCAGCTGGAATGGCAATGCACCGCGTCGTTTCGGGGAAACGGCTATCACTGGTTGGAAAAAGGAAAAGCCACTGCTGATCCGCGACCGTTCCGGAAGTGCCCGACTGGCGACGCGGGAAGAAAAGGCACGAATTCTGGATACAAAATAGCGCCCGCCCATCGTATCGGTCTGCTGTTCTGGCCGTTTCCTCCCCACAGAACCGGAGGGAACCAAAGCCGCTTACTGCATCCCACCTTCTTGCTGTCATTTCCCTCTTTTTTTAACCGTTTTTTTCCAGCCTTTAACCGACAAAACCACTCCTGCTCACCTGGTATGATCAGCTTGCGTCTTACCATTATTTTTCAGAGAGAGGAGAGGGTACATGAATCAAACAGAAACGGGCCCGTCCGGATTTACCGAAACAACGGTCGATGAAGAACGCATAGCCATCAGGGTAATGATTGGTGATGTGGTCGGCCGCTACCGTAAGCAGGTGCCGCCTGATCGCGTCCAGAAAGCTACTTTTGAAGTGAACGGCGGGCTGCTCATGGCGCTGTTACTGGCTCTGCTGATGCTGGTCTGTATTATTCAGCGTCTGGCAACTGGCGACCGCCTAATGAGCTTTACCGGAGAGCCTGACGTCCGGGATATTCAGTTTACCCTGATGCTGGTCATCGAGTTCGCACTTGGCATGGTTGTCTGGTTTCTGATTGCAACGGGGGAGTTTTCCCGCCCCTGGCTCTACCGCCTTACTCCGGCAAAACCCGTCTGGCTTTTTGATGAAGTGGAGGATGCAGACCTGGTACTGCTTTCCGGCAATCCCTTTATCAAACGCTGGCTTCACAAGGAAATCTTGAAAATCAGGAGGCTGACGTATACCCGCCTCGATGAGGAACTGGAGAAAATCGCCCCATTACCCGGACAGCCTCCGGCACAGTAGTGTTCGTGCTCACCGTTTGTCACTGATCGCTGGTACGAAAACGGACTGATTACAGCCGGAAAGAAGCGGGGGAACAGGCGAGCTGGCGTCGTTGAGTGTTGAGATTCGAATCCGTCTGTTTAATCAGTTATTACGTCAGACACCTGCTGTTACAGCCTGCGAAGCAGCAAAACCTGAAATACTTACTTATTAAATATTTAGGAGAACGATCTGTTCGTTTAAAAGGGGCGGGGTGGTATAATAACCTCGGTGCTGGAGGCTTTTGCCCCAGCCAGCAGATTCACTGTTTGACTGTGGTAAAAAGCAGAAAGCCCCGAGTAATTTTTTCAAATTAACCCGAGGCCCCTGTATGCTAGTCACATTCAGAGTAGCCTCTTACCCGCTTAAATGCAAGGAGAAGAAGGCCATGAAACTGCCGAACCAACCCGTTGTTTTGTGCGTATTGATAGTATGTCTTACGCTGTTGATATTCACCTGGCTTACGCGCAATTCGCTCTGCGAACTGAGGCTGAAAGACGGTACACGGGAAGTGTCGGCTGTGATGGACTACGAATCCGGTAAGTAGCTGAAAGAGGGGGGGCGACCCCCCTCATTTCAGAATGTGGGCCAGCAAGCTAATGGCACCTTTAGAAAAGGGTTTCTCCGGTCGGGGAAACCCTTTTTTCCTTTCTATCGTCGGCTAAACCCTTGTTAGTTTGTACATGCAGGAAATAGCTACCCGCCGCCTTGTCGAATTTCAAGTTTTCTGCTTTTCGACGACACGGCGCAATTTCCGTACCTGGCTGGCCGTGGAGAGAGTACCGGTCCGTGGATGACACGAACTGGCCTTATCATCGGGCTGTAGCTCATAGGACATAGCCAGTGCCGTCAATGCTTCTTCGGCTTCCTGAAGCGATTTAATGGCCGTTTGGCGCATCTCTGTGCGGTGTTCAATCATGGTAATGTTTGTCCTCGTTGCACAGTTCCTTTTAGATGCAAGCTCAACGCCTGCATTAAAATTCATGCCGTCTTTTTTGGCTTCGGTGGCTCGCTGGGAGGCGATATGGTCGGTAATCTGCGGGTGCCTTCGATTACAGCCGTATCATTTGTGGTCTGCCGGGAAAGCTTCATCGGATACTCCTTTGCCCGGAGCCGCCGGGGCGGGGGGGGTGTTCACACCTTGTGTTTGCTGCAACGGCATTTTTTCAGGCAACCGGGAAAGTAACTTTTTCGACATATTCCTGCTTTATGTACCCGCTTTTCACACTAAAGTGAAATTTGCCCTCCTTAGCGAGAATTTAAAACGGACGGATCGCGTACTATAACCCCCGGAAAAAAAGTTACTTTTTTTTCGCCTCAGGTTATTAGGAAATGAATCGAACCTGGTATTGTTGTTTTGTAGCGAACAAACACCCTAAACGAAAACTAAAAGGAAGGCACCATGTCCACTGTCGAAAATGATGTAAAAACCGCTAACAACGATATCAGCCTGCGCACCTACCTGGAGCGTACCGGTAACGGCGCACGCAAAAGCAATGGTCTAGTCATTAACCCGGCAGTGGTCGAAGAGGAAGAGGGGTTTAACACCCGTACTGCTGGCATTGGGGAGAGTTACTACTCATTACCTGACGTGGTAGCCCACCTGAACAGCCTGAAAGAGTCCTACAAGATCGATCCTTTAAGCGTACAAGCTATTGTCGTACAGATTCTGAATGGCCGTCCGGTCCTGCGCCAGGGAGCATGCCGTATCCGTGCCGTCGCGATGGCAAACATCGAGCTGGCAGATGAAGGGCGTGAATTGATCACGTTAATTCGATGCGAGGAGTTTCGCGGTAGCCGCGCCAGTGCCGAGCAGTTTACGCTGGACGGTAACTCAAATCTGGCTCTGTCTGTCGTAGCTGAGGCGCTCTCCATCAAACGGATGGTTGAAGACGCGGAAGAACCCAAAACGTTCGCTGAACTGGCGAAGCGTCGCGGTAAAACCGAACAGCACCTGCGTCAGATGGTTCGCGTCCTGGATCTGCCTGAAGCCCTCCAGGCCATGTTGGTGAAGGGTGAAGTGAGTATGTATGTCGCGCTGGATGAATACCTTTACAGCGGCGATGAAGCGGTCAACAACATCACCAAAGCCATTGATGTTTATGGTAAGGCGACGGCCAAAACCCTGAAATTCGTCAAAGCTGGCAACATTGATGCAGCGATGAAGCCGAAAGCAGCCATCGTGCCGGACGCAAATGCGACCCCCCCGGAAACCACCGTGACTGAACAAACGTCCGGCGAAGGTACTAACGATGAGACCACCCCACCGCAGCTGGTGGACGGGAGTGCGGGCACTAACCCGGAGCCGACCCCGGAAAGGACCCCGGCACCGCAGATGAAAGACCCGGTCAAAACGCCAGAGCCTAAAGCTGTGTCGGTCTCCAGCGTACTGAACAAAAAGACCGTGACGACGATTGCGGACACGGCAATCCCGCTGTTTTCGCGTATTGCGGAAGAAGCTAAACAACGGGCCGCTAAGAACCTCAGCGACGATACTTACACTCTGGTGCTGACCAATGACGAGATGAATGCCATTTGTGAAGCTCACGGCGATCTGACGCAGTACCTGCGTAAACATGCTGAAAAGCAGAACAAGGGCCAGGCATGATTTCCTGACTGACCCCGCCACCCGGTAGGGTCGGTTACCACCACTGGTCAAGGAGAAACAGGGCAATGAAGAATACCGCAATCAACATCAGCACGAAGAAACCATTGCAGACAGTTAAGGACCCGGTGACCCGGGTCAGCATTCATTGTACGGCTAAGGATGAGAAGGGCGCAGACGTGGAAGTAAATATTCTCGACCTGGAACAGCACCACACCACCAACGAAATCAAATTGACGTTTGGCGGTTCCCCTTCCCAGGCGCTGACAATGCTCAGCAGAGTGATGGTCGTGCTGCAACAGCAGGCGGCCGAAGAACTGCAACGGAATTCCTGCTCCCGTTTGCAGTGAACACCGAAAGGAGCAATGGCACGACGTTATGGATAGAACATGGATTTATAATTTTAAAGGACTCAGTGCTGGCACTAATTATGTTAAAGCGATTAATCTCTGCGAGTGAATGTGTAGCTACTAGAATTTGTTGGTCTGGCAAAAAACTCCCTAATAACGCACCACCTATGGAAGCTAGTTAATAAAATCTGCTACCTATTTACATAATTCCACATGCGTCCAATTTTTAAGATTGTCGGTTAATTTAAAAAATTTTCAGTGTAGGTTATTAGCCAGCAGCCCGGGTTTTATATAATACCAAAAACATAGGAGGTATTATGAAAACCAATCTGGCTTATGCATCTAATTGTTCTGACTCTCTTTACTCCTTTATTTATCCTGCACTGCAACAACGCTCTGGAACCGAGAATGAAAGTCTCTATCAGCAGGCTATTTCCGCCTGCCATACTCCGAAATAAAAAATGAAAATGGGCGGTTACTACGCTGGCCCCTGGCAGATGCTGTTTAACGCATGGTGTCACAACCGTGTACCCAACATTGCCGTACTGCCGGTATTGGCCCAGCAGTGTTTCTCCTCTTTGCAATGCGAAGAGCTGATCGCCAACTGGCACTAATCACATTATGCCCTGCTGGTGGATACTGGCAGGACTGGAGCACCTATAAATGTATAAATATGACAGGAACCGGCAGACGTTCAACTTGATCAATGCGCTTCAGCCGGTCTATCGCAACAATGGTGGCGGTTTGTTTGAGTTCGACCGCAGGAAGCAACATGAAACAGCAGATCTGATCTTCGAGGCACTGACTTTCTCCCCAACGCCCGAACTGGAGCTGGCGAAATTTGTCCGTCTCAAATCAGTGCGCCGGATTGCACAGTTTGATGACGGGGAAGTACGTTATGGGGTTCACGTGGAACTAGACGAAGCTGTTAATATTAATTCCTTCCGCATTTTTAAGGATGATAATACAGGCGGGTTTGATTTTTATTTGTTTTCTGTTTTAGGTAATAATGCAGAGCTTGTCCAGATTAATCTGGATGCCAGCAATATTCATTTGCAGGACATTTTTGAACGGTCTACCGGTTTGTGTTTGTCCTACTGATGAATTTATTAAATATTTCACATCAGGTTGTTAGCCACGAGGCTGAATATGAAATAATAAGAAAAACAATGAGGTGAAATATGAAAACTTTAAATATTCAGGTTAATGACATCGCAGCAATTAGCGCACTTGGCGGCTCAATGTTGGCGGATATTATCGCCGCGCAATATAAAGTGATTGATGATACCAAAGACGCATCTGAAATGGCCATGCCGTGCATTGCTTACGGGCAGATCCCCGCAAACATCGGCCCGGGCGTCTTTATCAATCGCGTGTACAGCATGGACAGCCAGTCACTGAGTGCCAGCCAGCGTTACGAGCTCTTTAACGGACTTGCAACCCAGGCGTTTACCTTCTTTTTCCAGTCGGGCTGGTATGGCGCATTCCGTGTTGTGTCTTTCCGTGATAACGGTCCTGCCGGACTCCTTAATATCGGCATTGTCCATGACAAGGTGTTAAACGAATTTTGCGATGATTTTCCACGGGCTAATGTCAGCGAAACTGGCTTCAACTGCGGCATGACGTTTGACCAGATCCGGATGTTTATTTCGGACCTGGCCTATCAGATGCCTTTGTACAACAACCAAGACCACTTCGTTAAACTCGCCAAACACCTCGCGGCCTGACACCCCTAGCCAGGCTCCGGCCTGGCGATTATGAAGGAAATTCTTATGAGCGATTTATTCAGCAGCGAATCACCGGTAACACTGGCTCAGGCACGCACTGTCGCCGCTGGGTACCAGAACGTCTTTATCGAAAACCTCCAGCCAGCAGGCCATTTCCAGATTGTCATCCGTGATCATCGCGACCACGACAGCCAGCTGGTCTGGCGAAACTGGAATTATGAATCCGGTGCCAATGATGCGCTCAATAGCTACCTGCAAAGCCATGGGCTGAAGGCCAGTTGATTAGCACAAGAACCCGGTAACACCGGGTTTCTTTTTTGTGGGCTCAGCACTCAGAGCTGGCATACGGAAAAAGGATCATTGGGCTGTCCGGGGCCCGCAGCTGGTGGTGTAAGCCTGGCCTCATGCAGATGGTTTAGCCGGGGGCGGTGATGATGCTGGGAACTAAAAAGAGATCTGGCATCCGGAAAGAAATCTTCGGTACCTCATGGCCTGCGTGGTGGATATGTCTGGCTGACGACTGCGGTGTCGTCTGTGACGGACTCGCTCCATAATAATTTGCGGTCGGGAGAAAAGGGGCGTGTTAACAAAATTTAAGAACAAGGGACTTTAATATAAATACCGAGTCCATTAACGATGACGCACAGGAGTTTTGTGATGTTACTCAATATTGCATTAATCCTCTATGTTGCTGTTTGTCTTTACCTCTGTCTCCGTAATAAAAAGGCACTTTACCGTTTCCAGGGCGGAGGGCGTCAGTTTACGCAGTCCAGTAAGAGTGGAGCGAACACAGGCGAAAGTGGTTTCTTCTTAATCTCCGGCTACTCAGACACTGGCGTTGGGGGCGACAGTGGGGACGCTGGTGGCGGATGTGGGGGCGGTGGTGATTGATACAGGGTGCAGGCACCCGATTGTCGGGGGGCTATCGACAGGGGGTAAAGTTGACGGATTTTTTCGTAATGGTTTTGCGTCCGTGGTTCTGGCTGGTGGATGGTGAAGTCAGAGGATCTGGTTTTAATCAAGACGGATAGAAAGTAACTTTACGGAATCTGTCATACGCAACCGGAAAGAAAATCTCACGCAGGGCAGCAAAGGCACGCCAGAGTGGATTTGCAGATTCGGACGGGAAAGCCTATTTTTCATGCACTGAACCTATTTGGGCTGGAACGGAACCTGGTATAGTAGACTCATACAAAGGAGGGCATATGAATACTTTTCTTTACGTGCTGGTGGGCTGGATTATCGTTCTATATCTGGTTAATAAAGTCCGCGAAAAGTACAGCAAACCGAAAACAGTTAATATCCTAGTGAAACGCAATGGCGTTTATCAAGAAGTGGAAGCCGTAGTGATGCCTCGAAGCCATAATAGCGATGTGGGTACAGGTAAGACCGGCAATGAAGCCGCCCCACAATGGTTGAATAAAGAGGATGATATTTCTGAACTGGAGTACTACAGTGGCGGGTCACTCTTGAAGGCTGCAAGAGATTTTGAAGCTCAACAAATGGAGCAAAAATTCTAGCCACACTATCAGTGTCCACGATTGGGAACTGATCGTGAAACCCTTTACTTTCAGATTCAATAAAGTCGGATGCGAGGAGTTGATTAATGACAACGGCAAACGTAACCACCACTACTTACCGTTCCGATGACATCGTGCCTTTTCGTCGGCCGCAGGGAGATCTGGATAATCGCTATATGCCGCAGGCTTACGCTCTGGTGCGGAGCTGGGCCAGCAAACCTGCGGAGTACGGTGCAGGAGTTCTGGCTACCTACAGACAGCCGGTAGTCAATCTCGGGTATAAGATAAAAGGGACTCGCGTTGTTTTAATTCTTGTCCCTATCGAATGTGAGCCGGTTGGCGTAAAAATGACTGACGCCGCTTTATGGCCGTCTCTATCGATTGGGGAGGCCATGCGAATTATGCAGGAAGCGTGGCAAAATATTCCGGAGTTGAATCCATAAAAAACCCCGCATTTGCAGGGTTTTTTTTACTTTGCCGATCTGAACATTTTACTCAGTATAAGCCGAGAAAAGCGCAAAAGGTTATAGGTAATACGCTGCTCCAGCCGCATGGTTGTTTTGTATCGAGTGGTAACGTTGTGGATATGGTTCAAATCAGTATAAAGGCCCGGAGGCTTTCTCTTTAGCTTCAGCTCTCCACGGATAAAACTTACTGCTTCAGGCTTGAATACATTTAACTGGCGCCTCTCAGTGACTTTCCGAACGAACTCCTCCATACCCATGCAAAGCCAGTCTGGCTTCTCACCTTCAAACTTGCAGGGGCCGTTAATGATGACAACATTGATACACTCCAGCTCGCTGGCGCGTAACGTGGACTGAATGGCCCTTATGTGCCCGTAGTTCTGCCTGAACGGGTTTTGTAACTTTAGTGTCCCTGACGATTTCCATTTTCGCCAGTGGCTCTCCTCCAGCTTCCCATAGAGCTTTCCTGCATAGTTCTTCTGCTCGATGACGTAGAGTCCATGAGAGGCGATAAGAACGTGATCAATCTGCGTGGTGCCGGTGGCATTGACCGGCAGCGTTAAGTCGCTCAGAAGCCCTTCTGCATCATCAGGCAGGTATATTTCAATCTGTCTGGCTGTCCTGCGTTCAGCAATGGCCGACGATACAAATCCCATCAGGCAGTAAAGCACAATGAGTACTAGGACAATAATGCTGATTCCTATCACTCGCCACACCATCAAAATTGCATCCATCTTATCTCACCGTCGGATAGCTGGTGGCCTGAACAGAATCAAGTATCCGAGAGGTTGTTCCTGCCAGCGTTTCGACGTTAGTCGACAGACTCATTAACATCCCGAGCGCGGAGCGAAGCGACCGTTGTGGCTCGTTGTACGTCTTGAAGATAGTGGTTGAGTACATTTGGGACAGGCGTGAACGGACTTCGACAGGTGTCAGGTCACCGTCGATGAGTCCGTACCGGATCGCCTGCTGCGTTGTCCATACCCTGCCGGAATACAGTGCGACAGCATCAGCCTCCGGACGGCTTAATAATTTCTTACCCCTGCCTTGCTCAACGTCCGCAATGAATTGTTCGTGCATTGCATCCAGGATTTGCTTCTGCATAAAATCGCGGGTGGCATCAGAAAGTGGATGATAGGGGTCGAGTGCATCTTTAAACTCCCCGGCGGTGAGTGGCTCATTTTTAACGCCGACAGTATCCATAACGCGAGACAGGTTCCAGTGATCCATTCGGACACCGATCGAACCGGTCAGAGCGCTACTGTCTGCATAAATGGCGTCAGCAGGGGACACAGCGTAGTAGCATGCTGACGCACAAATTCCTTTGACGCTGACGATAATAGGCTTGTAGCTGTTTTCCATATCAGAAATGAAATGCCCACTCCCGGCGGAGAGAACGTCCAGCGTATTACGTTTCGACAGTTCGGCATTGCTATCGGCCTGCGAACGTGAAGCACTGTGATCACTCGTGTTACGGGGCTTGCTTGTGGATTCGGCATGTGAAACCCGTTCAATCTTCTGCTGGTGGCTTCGTAGTGCATTAATCTGGCGGTAAATAATAATCGCGTCTGAAGGACCGCCGCCACCTGACTCAGCTTCAATAATGACGGCTTTGGCATGTGGGTTGTTGTACGCTTTCGCCAGTGCTGTGGCTATCACAGATCCATCGCCGACCTCAGAACCGGTACCCATTTCTCCCGAGATACGCACGACGGCGATATGATCCATTCGTCCTTCGGATTCCTGATACTTATCGTAAATATTAAAGGCCGAAACCCCTGCGGCGGCTAATGCCAGCAGTGAAATAACCACTTTTGACGTGGTATGGATTCGGAACATTTTATAGAAACGGTCAGCGTTCTCATCAAGCGATTCTTTGATATTGGCAGGTGACTTCTTATTATTACGTTTAAACATCTGACCACCTTATTACATAAGTTTTTGAAAGTTAGACCACAAACGGTTGAGTGCAATTCCCAATATCAACAATGCGACAGGGGGGAACAGTTGAGCGATATTGTTAAAAAGTGACATATTAGGCATTGATAGGTATATAAAGGTTAATGCACCAATTATCCAGAAGGCCCTGAACCAGATTCTGTAAAACTGAACAGTTACATTACCGAAAACGTAACGTTTTAATTTCCACTGATACATGCCATCAGCGAGCATAGCAATTAGGTATGGTGAAAACAAAATCAGCCAACCGAGTATCAGATTCCAGCGGAAAATGGACTGATAAATCAGCAGGGGTAGATTTTTTGCCACAGTGTAGTTTACTGATGTCATCTTTTCGGCAACGTAATTCATTCCACGTGCAGGTGTCGATGTGTCCGGGATCAGTATCGTATTCAGATAGTCGATCAGCTTATAGTCATTAATCAGGGTGGATAAAGTAGCCTCACTATTTGCAATAACAGATAACCACCGGTCATTAGAAATAAGGCTACGACTGGCGTTCACCTCCTGAGTGATTTGTTGCTTTAGCTCGTCGGTGTTCTGGAACCCCAGACTATAAATAAGATAAAGCATCATCCCTAGTAAAAGCAGTCCCCTGATGAATATTGCACGAGCAGAATTATCCGCAGCCATTTGCGTCCCTCCACTCCTTGAATAAGTCTAATCGTTTGCTATGGTCACGATAGTGACTGCGCCAGATTGTCGGCACACCCAGCAACCAGTGGTATTGCTGCGGGATTATCTGGTTGATCAGGCTGTACTCTGCCAGTTCCTTATGCTCCGGACTTTTCCAGTGAATTTGGCCGGGTTCAGGAACATAGACACAAGATTTTTCCTTTGCAGCCTGACGACTAAACTCGACAAAATTAATCCCCCACGGGGTCCAGTGCCGGTATTTCCCGGTAATCGTCGTATTAAATATCGGGAGCGTCAGCATAGTGTCTGCATAGGTGGAAATGACCTTTTTGCACACACAAGGGCTATCAATTTGCTCCCGGTTGAGGTGCGTCAGCAGCGCCCGATCCATGATGTGATTGAACATGTTGGCATACTGACCGGACGGGTCGGGCAGACGGTCAATTGCCGAGATAAGTTTAAATTTGATCCGAGAGAGAAACGCCGAATCTTCTATTGTGAGAATGTGACTTAATGTGGTTTCAGGGTGAATGAGCGGCTTGTTGCGTTGCACCTGTTTAAACGTGATGCTATTAGGCAGCGTAATAAACGCAGATGCAGCATTTGTAAAATTGACAAAATAAGGCAATAAATAACTCCCCAGCATTTTGGCATTTTTTTCGACGAGGCTGCGGCGCTCTTCGGAGTTGTCGAAAGTTATACGAAAGCTATTAAATGTACGTCGACCATTTTCGCTCGCCAGCAGAGACTGGACCCATTCATCACATGGGCCTTGTGCTACGGTCCAGTAACTCGTTTCATGGTCACCGTATTCATTGCTGGTGGACAGTTCGCCTTGCAGCAGAAAAAGCTCGGAAAGGATGATCGCCATCGCTGATAAAGACTCAGCATCGTTGTCATGGCAAAATTGCCCCACACATTTCAAAGCACCTTTTTCTATCCCCGCCAGTCGGTTACGGACATCCTGCGATTCGGTAAACTTCAACCCTAATGATTGCATACGCCGCTTAACGAGCGAGCGGCTTTTACTTACTTTCAGAGATGCACTGAAAATTTGATTTTGTGTCAGAGTAATTTGCTCATCCATCAATGCAATTTCCTTAGATATTTATTTAAATAGCTTAAACCCACATTCTGGCGCAAAGTTACTTTTCCGGCGGGTTTCAGGAACATCTCCAGTAACGTCGTATTGGGTTTCATCGCTTTTTCACTTACGGCAATCGGGATCTGCCCGACAACTTTACGACCATCCTGAAGTCTGGCCACAATATGGAATTTGGGGACCTGGCCCAAAAGCTCTTTTGGAATACTTTCTTCCAGCGTTGTTTGCTTTCTTTCTGATATTGACCCAGAGAAGTTATTATGCGGCAAAGTGGTTTCAGATCCTGTCGTATACGTGACCATATTTGTACTAATTGGACTCTTACCAAAGTTTTCTACGACCAGCGTTTGTGTTGGTGTGTCGTTTACCCGCAGGCTAATGTAGTTGTTACATAGACCTGTAATACGGTTTGCCGTCTCAGCGTTCGCTGCTGCAATAAAGTCGGAAATAGTTTGCGTGCAGATAAATAATGCAATTTGAGCGGCACGACCCTGTGCGAGTAAGTTTATCATTGAATTGTTTATGGCAGAGTGTGCTTCGTCGACGAAAATACTGATTCTTGAATGGGAAGACATATCACCATCGTCAGCGTTATAACGACTACCCGCACAAGACGTAAGATCTGACATTATCAACTGCGAAATGGCCCGGGCTGATTCCGGGTTGGAAAGGCCATCGAGCGAGATATACAGAACTCCGCCGGTACTGAACATCCCATCTGAAGTGACTATTTCACGCGAAGTGAGTGTATTAGGAGACGGCGAAAGCAATTCATTCAGTGGTTGTTCAGTCAGTCGACTAAATAGCGGCATAATACCCGCCGTCATTTTAGACATGTGTTCAGGATCAGACATGGAGTAATCCACTAACCGACCGACGGTATCAATCCATTCAATGGGCTCGGCGCCTTCATAATTAAGAAAATGGGCATTAAACCATTCTGTCAGGCGCTTAAATCGAACCTGAAGAGTGTCATTCGAAGCGTATTTCACCTTTTCCATCCAGACATCAGGCCCGTAGTGTCGTGCAAAGCAGCATTCCATTACTTTTATCGTTAGGTTCACAACAGACATATGGCTTTTCATGTTTTTGTGGATGAGATATATCGACGGTTTTTTATCCGTGTAAGACAGACCAGTGATCACCGTTGAGATGAGAGCTTCGGCATATTGCACGAATGGGTTAACTTCCCCGGGAACCGAAACCAGACTAAGAAGTCGTGAGGTGAGGTCCGAAACATTTGTGTAAGCATTGCATACATCAATACACACCGATGAAGACGGCTGGGCTGGGTGAAATTTATAAAATGGCAACCCCAGTTCTGACGCTTCATCCATCAGTGACTGTCGCCACTCAGCGTCATTCTTCGGGTCAATAACCACAATGACATGGCCCAAATGCAGCATGCTGATGCTCAGTAAGCGCTGAAGTACCGTTTTACCGGTACCGACGTTTCCGGTAATGAGGGTATGTCCGAACCAGTTATCTTCGGTCACAAAAATGGGTGCCCGCCGGTCAACAGCAAAGATGGCGTTATTGCCCCCCATGGATCTGGCCATTGTTTCAAAATGTCGCGCTATAGGGCTTAGAACAAATGGCAGGGCTATCTCTCTTTTGTCACTTGAGAGATTAGCAATTTGATATGCGCGGTCTGCATGCTCGGGACCCCATTCAAAGCCGTTACAAAAGTAGGTTTTTCTATCCGGTACTGGTCGGTTATTTTTTTTATACTCTTGTACCAGCTGGCGATACTTTCGCTCGTTCGAGAAAAAGTTACTTTTATTGATCGTCCTGAGCGACTTGAGGCTAATAAACATTATCTGGCGCTGAAATACGCGCCAGTGTGCCATCAAATAGGGGTGTGCCGTTTTACAACGGTACAAACAAACCAAAAGCAGGAAAACAGCGGTATAAAGAATGATAGGGGCAATATTCACCCCATCTGAACGAAAGCCCATAACCAGCATTATGACGGCGCAAATTAAAAGCACTGAGGCACTTCTGTACTCCAGTATCGGCCTGTAAAAGTTTTCCTGAGCGTGCAGGTTGGTTCTTTTTGATTTTGTCATTACAGATTCCCGACCTCTTTTAGCTTGTTAATAATTAACTCAATATCGACCTTTGCCCGGTCTGATGCGGCGACCAGAGTTGGTATGTTGAATGCAATGCATTTTGTATTGACTACGGCACCGGATGTGACCTGGTACTGAGGAAGTTGGTTAAAAAGCTCAGGCGCATTTAGCTGCGTTCCGTACTTTTCAATACATGACTGCGTCAGATAAAAGGTGTTCTGGGTCAAAACCATGAACCGGTTTTTCCTCTTTCTTTTGAACGACCCAGATAACTTCGTCAGAATTTGGTGGAGCATGGTGGCAATCTCGACATATTCGAGTTCTGTGACTTCACCGTCGTTTAACAGGGTGAATTCTTCCACCGCCTCTTTCTCTTCAGCGCCTGGTGGTTCAATGGAAATAGGAGCCTTAACTGTGGTAGAGGAGGTTGGATTTTTAACCTCTTTAACAGGGGAGGGTTCCTGCGTTTTTTCATGCTTCTTCTCAGCATGGGTGCTTACAGCAAAGAGTCGAGCCAATGCCGGAGAAAGATGACTCGCTTTCTCCACGGCGGCTACCGTTTCTCGGACATCCTCTGCTGGTTCAGGACTTGTTAGTATTGTTTCTTTTCCGGTTGCATCGGGTGCTGGTGGCTTAATGGCACCCTCTGAGTAATCCAAATCACCGGGCGCAACGGACAGGGCCGTTTCACGAGGTAATTGGGCAAAATCGCTGCTCTGCGGATCAGTGGCGGGGTATTCTGCCTCAGTACTGTCAGAGGCAATTAAATCAGAATATGCCTCACCATCGCTATCAAGGGTCTCTTCCAGCAAATGACCATATTGCTCATACTCAGTAGCGATGACGGAATCCGGTTCGGAGTGGGCGTTAGTCTGTTCAGCTACCGAGCTGGCCTCTTCAGCCACAGGTGCATTCAGTCGTGGTTGGGGGAGTTCAAGCGGTGTTTGTGGAGGCGAAGCAGCTTCGTTTACTGATGGAGCTTCAGGGATATCCAACGGTTGGTACATTGACGTATCAAATAGTGATTTCAGCGATGACGTGTTTCGTGGTTCCGATGTGCTTACTTGCATACCGGCGCAGTTATCCCCCAGCTGTATCAGGCGTAGATTGTTTACATCACGGACTATCCACATACCATCTAGAGACCCATCACGGTATGTCAACTGGAAAAATGGCCCATTACAAAATGCCGCCTCATCTATACCCGGGATTAACGCAATCGCAGCATCGAGATCCAGGTAAGGTACGGAATCAATATTAATGACGGCATGATGGGGCAGTGGGGCGCTCAACAGCATTTCATGAAGTTGTTCAACCAGATGAATCTGGCTCCGGTCGTCATGCTCTTCTACCTGTTCTGGCTCATCCGCGTTTACCGTTTCGGCAGTATCAATTGCCGTAACAACTTGCGTTTCAAAAATCTCGTTTGAGATATCCGCGCCAGACTCTTCCAAACTATCCGTAATGGATTCAGTATTTTCACTGCTAATAATATTGTTACTGTCGGCATCAGGGCCGTTTACGAGCTGAAGTCCATACTGTGGGGTATTCTCAATGGCGTCATTGACAGTGTCCGTTACTCTGGTAACAGACTCACGACCCGGGACCGGCCTTCTGTATTCCGTTACAGTTTTCTGCTCATCAATATAGATGAAATCTTTATTCGCATTAACGCTGAACAGACCAGGAACTGAATCCGGGATTTTATATGAATCAAAAATTAACCCGATCCAACGCAGTTTTAAGAGGTTATAAAATTCCAGCTTACCAATACCGTTCCGGAAGATGCTTGCAATTTCATTTTCCGAATATGTCCCGGGAATAAAGTAATGAACCACACGTTCATCGTCGTAAGGTTCAACATAACCCCGTTGCACCAGAGATTCGACAAGTACTGTTTTGCCTGCATCTCCCTGCGGGAAGTTGAACTTATGGGCTGCAAAATCACTCAGTACAAAGTCGAGAAAGGCGTTTTCATTGAGGTAAACTTCACCGTTTACAATAATGATGTGCATGGGTTTAGTTTTATAGTTATTAATATTAATGCTAGTAAAGTTATGCTTAATGGTACCTATTGCCCTAGCCGCAGCATCATTCGAACGAAGACCCATTATCGGGTCCCTCAACACATTAAGATCAGTACCTGTAGAGTAATAATCAGAAGTTCTTACACATTTTGATAAAAAGTCATTGCCGTCGTTATAGACATTAAGTGCCGTAACCATTTTTGCATAGACACGCTCCTTTTTGACTCGGTCAAGGAATGACATACAGACAGGATCTAAAATCCTCTCAAGAAATACGCTGGACCATATATTATGTTGGTTATGAATACGTTTTCGCCAATGTATTTCATATTCAACAACATTGTTTTCTCGTGCCCAGTCAAGAAGGCTTTGCGAGCTTGGCGCCCATGTTAATGTTTCACTCAAGTTGAGACTAACTATATCAAGGTCATATACCTTCCCTGCATCATGTACTAGGCCGCAGATAAAAGCGGCATACAGATAAACTTTTCGGCGAACCACTTCTTCATCCTGATAGCCAATCGGACGTAATTCAGAGTGATTGGCATTTTTTAAAGAGATCATCGCCACTTCCAGGCTGTGAGACAACAATCCTCCAATACCATTATGGTGATGATTCTCTGACGCAGGAAGTAAATGAATCCAGCGGATGTATTCAATCAATGGTTTTAACACCAGATTAGTGAAGGTATAGGCATCCTCCCGAATGTCTCCATCACTTATTGCCAGCATCATAGAAATAGAGTGCAGCTTGTCTCTGTACAACGAAAGAATAGACTGCTCATTAAATGTCTGTATCCCCGCAGGCCTGGTTGGGTATTCAATGAATTTCAGGACTTCAGGATTCGGGTGGTCCGGCACAGTGTATTTCTGCTCTCCTATAATCTGAGCAAATGGCGAGAAGTTCGCTGCATCCTTCATCATTAACTCAGATACATCATTCTCCCTTCTGGAGAAAATGCCAAAAACTCGTTGCATACTTAAGAAGAGTGCCCTGAAATTCATCAAATAATCCTTACCGGCGTTTACCAGACAGTTCCGCAGCAATATATGCTTGCACGCTTTTATACTGCTTTACCTTTTCGATGAACTCATCAGGACTGTAAGCACCTTTTGCGCGGCGGGAAACGTTAAGTGTTTTCTTGACCCGTTCGATATACATATTAAGGCTCCGGATAATATTGTGGGCCATAACGTTGTAATCGCTAACCGGTAATTGACCCAGAGAGTTGAATTTGTGCATCTGTGTCAGAAGGTTGTTCATTTCAAAGATGTGCTTATAAAAGCGCATCGTGTTTTGATTGTTGAAGTTTAACTGTACAGGTTCAAATCTGAACGGTGAAAACTCAGTTGATGAGAAGAACGGATCGCTTTCATCGATATGGATGGTGGCAATGTGGCGCTCCAGATTGTTCTTCATTAGATTATTTTCTTCGTGCAATTCATTGAACCAGTCTTGAATTGCCTGCACTAGTTCGGGGTGCTTAACTGCATTGACCGTTCTGAATAAGGATGAAATGGCAATACTGACATCATCAAACCCTCTTATTACGGAACGATTACGTGCCGTGAGAAATCGGTTAAAGTCTGGCGTGCCTGGGGTAATAGTTACTGTAGCCATGCCGTAATGTTCATTTTTACTTTGCACGACCCTACGGCTATTATCGGACGCATGAGGGGAGCGGGTATTTACGTCAGGTACCTTATGCTCGCTTTCATTCATTGTTACATCGGTCATTGTGCCACCTCTGATTTTGAGTATTGACGGACTTTTCGTCCCAGTTCGATATATGCAGCATGGTAGAACTCAAGTAATTCTCTGTAGGGTTCCAGTAATCCCTCCGTTTTTTCAATCATTTCATATTCCCAGCTGGCATGATTAACAAAGCAGCTTTTCGTATATTTTCCACTTTTCATCGGTGAAATCCGTTTCGACATATGACTAGGTGGCCTGTTTTTATACGGGCTAAACTGATGCCAGGTAATGGTGACTTTCCTGGCATTACCAATTAGCTCAACTTTTGGTGCATATGAACCCAGATACTCCTTCTTTAGAGTTTTGCTATCCCTGGGTAAATTCCTCTCAATGTGATTCCGTTCTTTCCACTCGATCCAATAATTGGTGATCAGTTCTTCAGCCTCTTCTCGAAGAACATCGATTTGTGAGCGCAATAAAGTACGTGAAATCTCCAATGACTTTAATAGCTTCGATTTAGACATGGGGCCTCCTGATGTGAAATCACTATACCGAAGTGATTTTCAATTTTTTTTCACGAACGGGACTTTTTTCTGTGAATTTTTTAGGGAATTTTGCATGGCAAATTTAAGAATGGAGGAAGCACTGAGAGTGAGTGACATCAGATGTAAACGGGAACGGCCAAAAGGTCCGCATTTTATCGTGGAAGAAAAGTAACTTTTCCAGCAATGCTTATTGCTGAGATCGTGATCTGAAAAGAACTGTTTTACCTACTAAGTTATACATCTATCTAGTGCCACTTTTTAAAGGAAAGTGACCCTATGATTTTGACGCATAGTGCCACTTTTAAAAAAAGTGACCCTATGTCGTGATTACATAGGGTCACTTTTCATCAAGAAGTGACCCTATGTCGATGGTGCATAGGGCCACTTTTCAGCAAAAAGTGACCCTATGTAGTAGTCATGTTAAACAATCGAAAAAATAATCATGCTTACGCGCATTTTTCCCTAAGGTTATTGCTACTTAATGCCGATAACGACTCAGGCTTTGAGGTTTTTTTATACGGTTCACATTTCGTTAGCAAGGTCAGGGTTTTTTGATAAAATTCTGGTTAGTTTGGTTAAAAAGTGTTACAAGTAAGGGTAATGGCTGAAAGGTTAGTTTTAAGGTTCAAAGCGGCAGTATTAAAATTCCAAAAGTTACTTTTCATCCTTCAGAATCCAGACCTTAATTTCATGTAGAAGATTCGTACAATTGTATTGGCGCAAGGACAATCCGCACATGTCAGAATCAGATAACATCACGCGTAATTTACTCGGTAAACTATTACGTACCGAGATTTCGATTATTCGTAGTTACCGTGCCTTCTTAATGTTATTGCCTCTTCATGGATCTTCTAAGTATCAAACTGGATCACCACTCCTCCAACGCCGACTATTTGGTAATGGATTTGGAGCTATGATTGATAATGCATTTGAAGTTGAAACTCGGCCAGGAAGCTTCCTCGTTCCTCGTTCTTTAAGTAAAGAGATCTCTTGGGACAAATTCTTTGTAGCTGTAGTTGATGGCGACACTAACGTCATTCGAGAATATGACAGTGAAGATACTGACTTCGGCATTTACAATGAAGGTGAAAAAGTAACTTTGCTCAGCGGGCAGGAGGAATTTTATAATCCGAGAAAAATTCAGCAACTACGTTCTAAGTGTGTAGACATTCAAAATGATTACTTAATGCAAGTTTTCTTTATGTCAATGCTTGCACCTGAGTTTGTTAGTATCTTTTTTGGATTAAAACCTGCCACCGTTGAAGCAATAAAAGATGTCGGGATGTCATCACTTAAATTAATTAATGATGTCGTTCTCTTTCCACGAACAATTCCCTTTACGCCAGGTCTGGGGGATGACAGTGCTACGCTAAAATCAAAGGTATTTGCTTGGGCATACGAAATATCTGCCGATATTCGTTTGGGTAAAATTAGTGACGATTTAATGGAATTACTGCGTTACGACACTATGTTTACATGCCACCGTCAGGATGTGTTCAATACTTTGGCAAATAAAGTGCTCTTGAAGGATTATTGAATATGGCTAAAGTCGATCAAACTAAAGCTAACATGTTATTGAGCGCTACAAAAACGATGTCTCTTGGTGCCAATAAAAACTCCATAAGGATACTCTATGGAAATCATGTTGCCGAAAATATAGACTTCAGGTCTGAACCTCAACAAAACTTTAAAAAAGGGATTCGTGGGTGGAGTCGCCGCACGGATAACCGCAGGGCTTTTTCTGCGGTTATTGATGTCGCTGTAAACTATTTCGGTTTTGATCCTATTCACCCGGAATCCAGTTTTCGAAATATTGACTTCAACCGCATCATGAGTGTGCTGCATAACCTTGGATATTTCGTCTGCGCTCCTGAGGTAAATAAAATCATTGAGATTCTAACGTCAATGAAAGAAATCGAGGAGCTTGAAACTTGTGCGAAATGTAAGCGCCCTTATATTGTCCCGTATACCAATGATACTCATTGTCCTCGATGCAGATTGTCGTCCACGTCATCGGCAATAGCACGGTATTCCCAGGAAGAGTTAGATTAGCTGTTATTTTATGTGAGTGATTTAAGTAGAGGTCAAAATTCCCAGGGATGTTTCTTCGTTAACTACAAAATTTCTTTACTTACTTCACTGCAAAATAGACTACATGTTGCTGTTTTCTTCAGACAGCTTCCGGCCTAACGTAACTGAAACGATTATGCTAATATTATTTTCAACCGTAGTTGCTCATTACCCAGTCAATTCTGCCTAACTTTTCTCTGCATAAGTATGACTAACATGAAATGGCATTTTTTAGGTCAATGCTGCATATGATATAAACACATTAAACCGTTTTCTTGCCAAATAATATATCCTCAGTTTTTTTAATTTATCGAAAATTCCCGATTCGAAAATCAATCGAATGCGGCGCTCATCTAGAAATTTTTAAAAGTATCGTCTGGAATTGAATTCAGATTCAATTAACTATGCTGATAACTATTTTCCCACCTTTTTAGCTCCCATACCTTCCCTGCACACAGAAGTTCAACAGCCCTTTCAGGGTCTTTCTAGTAGTCACATTTATGACTTTTTAACGTTTGAAATCTACCCCGTTACCGAGCTCATGAAGTTTTTTTCTATGCCATCATACCTCTATTCCATGAGGAGATCGGTAAATGACTCGATTAACGTTAATACCTTCAAAGATGTTAGTGCTGCTGTCTTTGTTTATTACTGGGGTCCATGCAAATGAAGAGCAGGCCCTTATCAAAGACACTCCCTTTGTATCAGGACAGGCCTTCAAGAAAGGCTTTTTCTGGTATGACGACCCGACAAGGAAAACTGAGGAAGAAATTACAGAGACCAAGCCTCCTGTTGCATCTTCGACCCAGCCAGAACAAGAAGAAAAGATTGAGCTTAATTCAAAGTGGCTAAAGGACAATATGCCTCAGCTTTTGACTAAGGCTATGGATAATCCGACCCCTGAAAATTTATCGAGATTTTATACAGCACAACGTTTAATGCTGGATATCGGTACGCGGTTTTCGGATAAATCGAAAGATTATTTCCTTAAAAATCCAATGATGTCTGAAAAACGCAGGCAACCGGTTGAAAAGGTAGCGCTCGATGCACATCGTACGGTGGTCGAGAAAAATCAGCAGTCGGTTATGAAAGATATTTTCACTAAATCCGGGCTGTTTTTCTTTTTCCAGAGTACTTGTCAGTTCTGCCACGAAGAAAGTCAAATACTCCAGTTTATGGAGAATTACTATTCTGTCGACATTCTTCCTGTCAGCATGGACGGCAGACCACTACAGAATGGGTTGTTCCAGGATTTCTCTGTACCTAATGCGCAGATTATTGATCAATTTAAAATCCGTGAAGTTCCAACTATTTTCCTTGTCTCAAAAGATGGGTCATCAGCGCAACGAATAAGCGAAGGCATGATCACTGCTGAGGAGCTCAAGAATACTATTATTCTGGCTGCAAAAGGCATGAAGCTGATTGATGATGCCTCTTTCCAGTCCACTTTAGATATTAAGCGCCAATATACCATTGGCGAGGATGGCGTAATTACTGTGAATAAATCAGAAATGGACTCTGACCCGTTCTTATTGCAACGAATAATGGATAAGAAACTGGAAGGGTACGATATGCCAACGGCGGACCCAGTGAACTATCTGAATGTGGGTGGAAGTTTAGGAGGTGCATATGCGCGCTGATTTCCATGTTTGTGCAAAAAAGTTACTTTTATCGTTAGCCGTTTGCACGGCGATGATTGCGCCAAATGCCGTTGCCGATAACGCCATGCGTAATATTTTCAATGGCATGATGACGACTACGAGCCCAGCTAGTTTTGAAACGGCCACCCGTACCGGAGTGGTTGGCGGCTCATTTTCCTACCGCACGACAAACGTGAATACCAATTTAGTGTCAATGTCTTTTCCCAAAGCTTCCGTAGGCTGCAACGGAATCGATGTTTTCCTTGGTTCCTTCAGTATGATTAACGGAGATCAGCTGGTTCAGGTTGCTCGCGGTATTGCACAGGGGGCTGCAATTTATGCATTCAATGTCGCGGTATCGGCAATCTGTGCTGACTGTGCTGCGACTATTAACGATATCCAGAATAAATTGCAGGCGCTGAATAAATTTGCCAAAGATTCATGCAACGCTACTTATTCGTTTCTTACTGAAAATGTTGGTCCACCTAGCCAGTTTGCGAATGCTGTCAGTTCCGGCCCTGCTTCAATGCTTGGCACTCTTAATGGACTGTTGCCTGATTTTGGTTCATCAATGACAAAGTCGCCGGAAACCGTGACTTCCCAGGTAAAAGCAAAAGACCCTGAAGAGTTTGCTGAAAAATTCAGTGGAAACCTTTTCTATATGTCATTTATGGACATCGATAAAGGGTCAATGAATATCGGTGGCGTGACTGAGCTATCTGGCTACAGACTTGCTGAGCAGCTGATGTCGCTTGTCGGTACTGTAATTATCAACTGGGACGCTAAAGGTGAAAAAGCGGGGATGGAAGTTCGCCCGTCGACGATGACGGTATCGGATTTCATCATGGGCCCACCGGCTGGTGGTTCCATAAAAATGCTCAAATGTTCGCCTGCCCCCGATCCAGCTTCAGCTAGAAAGTCGCAATGCCTGGTTATGTCTGAAGTGACGGATGGTGGTTTCAAAGGTTTGAAGGATACAATCTCGGACCTCCTTATTCAGGTTCAGACAAAGGCAATTAGTGATGTCAGGATCTCTGATGATGAATTACGCATTATTTCTTATATTGGCATCCCAACTATTCTTGATTCACTTCAGACGTTTGATGTCCCTGAAGGCTACGCCTATATCCAGGATATCAGTGCGATAGCGGCCACCAGCCTTGTTATTAACATGCTTCGGCAAGTTGAAGCAAAGATCAGCGCTATGAATATACCCAGCGAATCTCTTTCCGGGCGGCGGCAGGACCTGACTAGGTTATCTGAAAACCTGACCAATCAGGTAAAAGCTGCCTATGAGCTAACCCGTAGCCAGGTGGGCAACAGCTCTGACGTCATTTCTGCATGGGATGATCGCCGATTAAAGAGAAAAGCGTTCATGGAAAGTCTTCGTGGCACAGGTAACTGAGGTCTGATATGGATTACAACATCTATACAGTTGGCGATATTGAATTTGTGTGGTCCGCCCTGAACGGGATTGCCCTGATTTTCTCACAATACACCGGTGTAAAAGCATTTCTAACGACGGCAGCGGTACTGGCTGGAGCCAGCCTGTTTTATAAAACGTGGCTTTGGCTGTTGAACCCGACAAAAGCAGAAGTGCCGATATTTTCATGGATTCTTGGGCTGATTCTATTTTCGATGGCAATTGTTCGTGTGGATGTGACGATTGAATCAGTTAAGTCTGGTGAAGTGAGAAATGTCGATGGCATTCCTATTTTTATTGCGGCGATGGGAACTGTCACCACGAACCTTAGCCAGGGCTTACTCAAAGACTACAAAACGGCATTTGATCCACTGGCGCCGATCGACTTTGCCGCAACGACGCTTGATGATGACATTACTCTTGGTCCGATGATTCGTTTCGTTAAATTCTTACAATGGGGTGGTGACAGCCAGGGCTATTGTTCTGCGTTTCCCGAACCAGCCAGCGGGTTAGGTGCGATGAATGTGTGCGCGACAGTACAATCACTGGCCTATAACTGTCTCAAGGGAACCCAAAACTCAAGCGCAAAAATTGCTGGGAAAGAAACCATTTTTAACGATATTTTCTCTGCAAATATCGTGGATAGCATGGAACGCATTAATCAGGCGATGAAAGGTTCGCTGAAGAACGCCTCTGCCAACATTGTCGGTGTGAATAGCTCAAAGTCTGCTACTTGTGAAGAGGTCTGGTCGACCGTTAAACAGGTAACGAGCACCCCAGAGGCTCGGCAGACGATTGCATTGATTGGGCAAACAAACGGTATCCTTGCTCCAGATGAGGCGGGAGGTGCAGCATCAGGAGCGAGCTTCACGGATGTAATGGCGTCGGCGAATGGCATGTACGGCAAAGCTATTGGTGCTTATGACGCGACGCTTAGTTTGTTCATCATGAATGAACTCCGTAATGGTGCCAGCAAGTACAAAACCCCACTCGGGCTGGCCTCGGATATGCAGTTGTTTGAGGCATCATTAAAGCGTACGAATACCATGGCATCTCAGGGGCAGCTCTGGCTGCAATTGTCCGGTGCAGCCATCGCGTTTCTTGAGATGTTTGCGTACATGGTTGCCCCATTTGCATTGCTCATGCTTTTGGCTCTCGGGGGAAATGGTGTGGCCGCTGCTGCAAAATATCTCCAGCTTATTCTTTTCGTAAATATGTGGCCTATTACTGCGGTTATGGTGAATGCCTACGTGAAGAAAGTGGCGACCGCAGATCTTGATACATGGAGCACATTGAATAGTCAGAGTAACGCGGTGACATGGATGGGTTTGCCAGGGCTTGCCGAAACATACAGCTCTTATTTATCAGTAGCATCAGCACTCTATGCTCTTATCCCTGTATTGACGCTGTTCCTGATGACGCAATCCATTCATCCAATGATGAACGCGATGAAAGGAGTCACACCACCAGCGCCAGTGGACTCCAGCCACCTCACGCCGAAAGTGTGGGATGCGCCAAACAGCGGAAAATCATCGTTTGGGGATGTGAATCGTACCGCGCTGACAAGCACCGGCCAAGGATTCAGTGGTGGCGGGGCCATGGACTCCAGTAATTTCCGACTCGGTACGTGGAATGCCGGTTCAAGTATCGCGTCAAGCCAGGGGCAAGGGGCAGCATTTACCTCTTCAGCCATGAGCGCAGCAAGTAACACATTCCAGCAGGCCTTCAACCAGATGAGTGAAGTTGGCCGAACGGGGCAATCAGGCCAGCAATTTACCTCCAACCTGCAAAGCTTGAAATCATTTACTGACCAGGCCGGTGCAAACATCGCGAATAGCGTAGGGGCGAAGCATGGAATTAATTCGCAGCAATTAGCTGGCGTGGTGTCAAATCTTCTGCTCAATGGCAGTTTGGGACTTGGTGGTGAAGAAAAACTTGGAAAAGGAGGAGGAGGAGGTCTCGCTCAGAAAGTAATGGATAGCCTAGGAATAAAAGCGGAGGGGCAAGTTGGATCAGGGATCACGAAAAGTAATTCTGGGAATGAAAGTCTCTTAACTGATTTGAGTAAAGCTATTACGACTCAATTGACTGAAAACTCAGGACTGACTGACCAAATGACTAAAGCGGCTGCTCAGATAAACAGTGATCAGTTTGCACAGACCAATGCATTCAAAGAAGCTGCAACAAAAATGAACCAGTCCACACAGACAATGGCCGAAAACTTGTCGACGTCACTTTCAACGAACGCCAGCGCCAATACTGGCATGACACTCGACTCAAGACAGGCTATCAACCTGGACAGATTCTCCGATTCTATCCGTAATAAAAACTTTAGCGATGAAGATGTGCGTAATTTTGCACGGAAAAATGGTCTTGATGAGAATGCCTTTATGGAGAAGTTCAATTCCTATAATGACACATTTAAGGCCAGCACTCAGTTGGGTTCACAACTCCAACGTACAGATGCGCTGGTGGCAACGACACGTGACTTTAGTGAGCAAAAAATAGCGATTGATACTGCCCGAGGTGAAACGGCTGAGAGCAATAAACAGGATCTGCGTGAAACTTCCAGCCTGCTTAAAGGGCTGGTTGCTGACTTTGGCGGTAACGCTCAACAGATGCTGCCGATTACTAATCAGCTTGACCGAATCACTGGTGATGCCTCGGGTATTAACACGATTGCACAGGCGCAGGATCGCACCCCAGAACATGTAAATACGTCCAGCGTAATGAGCGCTGATCGTGTTGCTGACGTGGGGCAAAGTATGGATGCTCAGGCAAAAGCCGGGCTGGTACAAAACCAACAAAATGCTAACCAGCATGTTGGTGGACAAACTGAGTCTGGTGTAACTCCGTACAATGTGGACAAGATCAGCAAAGAAGATATTCAGGGCATTCATCAAGGTAATGTAAATAAATCCTATAGCGAAGAGAACCAGAATGTGCTCTCGTCATTGGAGAAGAATACCCCTGTTGTGACGAATGAAACTGTGGGAAGAGTTCAGGGGGCTGGGGTGGACGTTCAGCACGCCAACCAAACTTTCGACCAGTTACAGGCTGGTTCGGGCGGTAAGCATGCGACTTCGGGCATGGGTACTATCAGCGACAAACTGAATAATATGTACGGAGATAACCAGATACGCGGTATATCAGGCAACCTCCCGAATTATTTTGGCAGGATTGCAAATGATCCTACCAAAAAGCCGGATGACAAACGTGCGGAACTGGCCGCACAAGCTGTGTTTACCTATGGCGCCAGTACAATGGCAACCGGCGCTGAGAAAGAACAACTGAAAGCGGATACTCAAAATATCCTCTCCGAACTGAGTCACTATAACGTTCGCTGGGGGATGAACGATCTCCAGAATATCCATGAAGGTTTCAACATGCATAACAAGGCTTCAGGTTCTCTTGACTCAGTTGTGAGGGCGAATCTTGGGGAAGGTGGTTCTGGCGGCGGGCTCGTTGGGCAACGAACCCAAACCACGACGGATCTCCTTGTTGGTAATAAAATTGAGTCCAATACAGAACGTGGTGTTATTGGTAGTACGCTTTTATCGGGGCAGGAGAGTGTTGCCAGAGGACTTGACGTTATCGGAGCTAAACCTGTAAACGACATGCTCTCAGGTATGGGTATCCTGACCACCCCTTCATCTTTGGCAAACGATGCTTCGAATCCACAAAATATGCCGAGCTCGCTATTGGGCAAGGTTGGAAATCACCTGCAAATGTCAGATGGTGTTAGCGAGGTGACCAGCAGGTATAAGGATATGGGGGGGGATGGGATCAAGGCGTATGAGACTGCATCACAAAACTCAGAACGTGCGATTCGTCAGCAACTGACCGATGATCCACGTTTTGGGCCGGATAAAGCAGATGCATTCGTGAGCTTTATGAAGTCAAACCTGAATAATACAAATGAACCATATCAGTCGAGAATTGAGAAAGCTAAAAGCTGGCTGAATGAAAATAAGAAGTAAAAGTAAGTAGTAGCTGATAAAGGCCGTACTCTCTTTTGAGTACGGTCTTTTTTTGCTTGCATCACCCTGATTCAAATTTCCTCACCAAATACAGGTCACCCGGCACACTAAGAAAATGTGCATTTCTTCTGTTCAAAATGAAAATTGAGAGAAAAGTAACTTTTCTGAATCGACTGATGCTTTAGTGCCTAGGCTATAGCGCATCAGAGGCTTTGGTTGTATGGAGGGTGTGGAAAAGTTACTTTTTCAATAAAAGCGGGTCATCAGCACATTATATCTGGCTATCAGGTCCGTTAGATCCTTTTCATTAACCCCGGTGTAATAATCTGTACGAAACAGGTGCGGGTACTCTGGAGGAACAGGGTCGCATCGTCATCAAGGCAGATAAAGGCTTTTACTTTGTGTCTGGTGACGAAGTCCTCACATTCAGCTGCACGGACTCCTATACTTCCTGAGGGGAGATACAGGGATGGGGTTGCTCCAATTACCCTGTCTCTGTATGGCGAGCGGAAAAGTGACTTTAGGTAAGTGATACTGCCGCACTCTCTCCATGAGCTTGATATAACGATGAACATTGAAGGACTCGCGTCAAGTAACCTCTCAATCAAATGCATCCTCTCGAACGATTCATTCTGACATTTGTGGACTACACCATCAAAATCCAGGAAAAGAACAACATGGATTGATGGCAAAGGACCCCATAATCCAGCGGTTATTTCTTCATGAGACAATATCCCATCCACGTCTTTATTTTTGGGCAGCTGCGGTGAACTGCATAAATTGAACAGGAATTTATAAATTGACTGGAGCATCGTTAACCTTTTTCTCAGGACGTTTTCATTCTCTAAGAGCCGCATTGTTTATGGCTACGAAACAACTAATAAAAAATTGGAGAGTAGGGTCGTATTTTATTCAGGAAGATTTTTTACAATATGCCCGTTGTACTGGGGCTTAGGTTGCGTCCACTGATATAATTCGTCCATTCCATTTCGGCGCTGAATCCGGCGATTGTATTTGATCATGAAGTTGAAGATATACGTCGCCCGGACCTTAGGGGTTTTGCTGTTGTAATCGGCAATCCCTTCAAATACGTTACCCTTCCGGTCAACAATCTTCCGGTAAAGCCACCAGGTGCCCACCCAGAAACTGGCACAGGCGTCATAGGCCAGCACCCGCCACGTAACAGACGGAAAATGGTCGCGTATTTCTGGCAGGTTGGACGAATTGATCTGCATAGGCCCAATATCATAAGTGCCATTTTTATTACGGCTGAACGTCCCGACTTTTCCGCCCTCATTATCAAAAAGCGTAAAGACCAACTCCGCATCAATCCCGAAAAAACGGGAGGCATCGGTAATGCACTGCGTGTAGATCTCAACAGGAACGGGAATAGGTTTCACATCGTCTACTGGTGGTATAAACACGAGATAATCTCCGCTGGAATTACGTTCTGGATATTCTCCCATATCGTCGTCAAAATTTTTTTTGCTATAGGGGGGAATTTTTCCCCTTAAGCGAATTAGGCAGATTTTTTCGCATGATAGTATTAACACTCCATTAAAGGAGCTGAAATGAATAAGACTATCAAGGCATCATTATTTTTACTGGCATCCTGTACGGCCTTGAGTATGAATGCCCAGACAGCGAACACTGACGTGCTTCCCGATGCTGCACTGAAGAAATTAAGAGAAGTGGGCTTGTCTATCGAGCATATTGAACCATCGCCGGTAAAAGATATTTATACCGTCATTTCAAGAGAGGGCGTGAGCTACGTCAGCAAAGATGGCGATTACATTTTCACCGGGAGCTTGTTTCATGTGAACGGGAAAGATGTGGAGAACACAACTGAGCAGGCTATTCTGAAAGGTGTCAGGGAGTTCGCCACTAAAACAAAATCCATCGAATATAAGTCGGCGAATGAAAAATACCGTCTGGCAGTGTTTACGGATATTACATGCGGCTTTTGCCAGAAATTGCATCAAGATCTTCAATCCTATCTCGACGCCGGGATCTCAATCAAATTCCTCGCCTTTCCACGTGCAGGTCTCAACTCCGTTGTCGCGGGGAATATGGCAAAAATATGGTGTGCGGCAAAACCTAATGATGCACTGGATGCCGCAATGAGCCCGACATCAACCATTCCGGAAGGACGGCCTGACGAGGCCTGCCTCGATACCATCAAATCGCATTTCCAGGTAGCTTCAACTATTCCGCTTCAGGGTACGCCAACGATGGTAACGCTGTCGGGGAAACCTCAGCTATTCACCGGTTGGATGAGCCCGGAAAATCTGGTGACCCGCATGGGTGCCGAACAAAAGTGACTTTCCACGACTGCAAGAGGTGTTTATGAAATCTGCAATACTGACAACGTTAATGCTGGTGGCGGTTGGTTCTCAACCCGTCTTTGCTGCCAAATGCCAGTTCGGGGCCTGCGACGCCGACACTGTGGCCAGCAGTGAGAGTCTGGTATCTGCTGCTCAGACAGATAAAGACGCAGTTTTAAAAAAACTCAATGATGCGACATCCCGCAGCGACGTGATGTCGAAACGGTTTGAGTCGTATCTGAGCAATGACAGGTTAAAGGTGAACACCGACAGTACCAAGAAAGGCCCTAGCAATGAAATCGCTAAGCCGAGGGATGAGTTGGCGCCGGTAAGGCAGCTGAAAGCCATTCGCCCCGAGCTGGTACAAACACCCATCTTCCAGCCCATTGTTGCGTTCTATGAACGTCTGGCCTGAGTGCGTCGCTGGGGGTTAGAAGATGTCGCTTTGGCTCAGCATTGTCACCCGGGCAACGGGATTGCCGGATAAGCGGTATTTAAATGATCCGGTGATCCTCCGTTATTACCAACAAAAGATCCAAAAGGCTCCTTACGCCCTGGTGGGATGGACTCTCTGTTTCATGGCAACCATTGGTGTGTCGCTGGGACTGGATCTTTCCAACCAGATGTTACTTCTCGTTCTGCTGATATTGATCTTTCTGATGGTGGTGCTCCAGGGGCGGTACCAGTTCATGCATCCGGAAAGATGTATCAATGCCAAATTTTACCAAACGGTGCTGGACGATGCGTCAGTCTCAGATATTCAGAAAGCTCAGTTTGAATATCTCTTCGTGACCAAAGTGGATGAGCTGACCATCGGTGATCTGTACCGACTCTATGATTTCAACAGAGGAGGCCGGTAAAGACGTGGCATGCAGGTGAGAAAAGTTAATTTGTGGTTGGTCGTTACAGTGCCGGTCATCAGTTCCAGGGGACCGAGGCGACGTAGTTTCCGGAGCGCAGCGGGGCATCCAGATTCCCGGTCAAAGCGTCAATCATTGCGGAATACGCCACGCTGTCCGATGGGATCGGCGCATTGCTCTGCATACTGACTTTTAGCACCTGCTGTGCATTTTTTCCCGCAGGGTAGACTTCCACATCAAGACGACGCCAGAAATGTCTTTGTGATACCGTCTCTGTTCCTACGATCCCACTGACCGGCTTATAGTCATAGTCCGTCTCAGTTTGCCCGTGCTTATCTTTTCGCGTTGTTTTCTTCTCGATAACATATCCGGTTATTCCCGTCACCGGTAGTTCACTGTATTGCAGATTCTCCTGGGTCTTGCTGTAACTGAATCTGAGAATATATTCGGGCTGATGGCTGGAAATATTAAACCCCTTACCCGTTAATCCGCTCGCAAACCGGGCTGCAAACATTCGCGACTGAATACTGTCATCCGGAGCAACAATTTCAAATTTCTTGCTGCCTACCGGGCGAGGCAGTAAATCGTACGCATCAACGTCATTTCCAAAATGATAACCGCATCCACATAAGAACGTTGTGGCTGTTAGTAAGAAAAATTGCCGTAACATTCTAAATCCTCCAAAAAGGGTTCTTTAATGAATAATTCCGATTTACCGTGCCAGTATAATCGAACGCAGGCTGATAACTAACAAGTTGAAATGCGTAAAGGTGGCTATGATTAAATTAAATTATTTAAAACCCGTGGCGTCTGTTTTAATTTCTGCGGTGATTGCGACGGCTGGCTCTGTGTATATTACGTCGAAATATCTAAAACCCGATGTACCGGGTAACGACGAAATAGGACGAGTGGCTGCTTCCTATCTGGTAAAAAATCCCCAGTATCTTCTCGAAGCAGGTAAGGCGCTAGAAAAAGAAAATACTAACGCTTCCCTTGAGCGGATTATCCCCTACGCACCGGCACTCTTCGAGACCAAAGAGACACCCAATATCGGACCTGATAATGCGGCCGTCGCTGTTATTGAGTTTTTCGACTACCAGTGTCATTTCTGTATGCAGGTAGCGCCGGTTGTTGAATCTGTGTTGAGCCAAAGCACTGATGTAAAGTTCTTCTTTAAAGAATTTCCGATCTTCGCTGGCTCAAAACCTGTTTCCGCAATGGGGGCGGCGACAGGCCTGCATGTGTATCAGACATTCGGTGCGGAAGCGTATCGTAAGTATCACAACAATCTGATGACCAGTGCGTATGTATTCTTCAACAACCAGCGTGCGTTTACACTCAATGATTTAGACATGGTTGTGAATAAATCCGGGTTCAACAGCTCATTCGGCGATCGGGAGAAAAGCCGCTATGAGAACGTTATCTCCGGAAACATGCAGCTGGGGGAAGCTCTCGGGATTAACGGTACGCCAGGGTTCATTATTATGAACATGCAAAAACCCGACGCTGCAACGACGTCATTCATCCCGGGCGCTGTTGACGAGGCCACCCTGAAATACGCAATCCAGAAGGCCCGTGGAGGCTAAAGTTACTTTTCCTTCCGAAACTGGCCATGCCGGGTAACACCGGCATGAACGTCAGGCTTTGACGACAAGTAACTCATTCCAGCGAGTGGTATACCGTGGGGACAGCATGGCCTGCTTCCCCCGGAAATCCTGATGAATCCCTTCGCAAGCCAGAAACAGAGAGCCTCGATGCTCTTTGTTAAACCGATCCATCACCTTCATCAGTGCTTCACTGCCTCGCCTGGCGGGACGTTCATCGAACAGGGATAGCTGCTCAGTGCCATCGGTCATTGACGAAAGCATCACGCCCGCCTTCGCATAATCTATGCCGGGTTTGTAGATTCGGGTCAGTATGGCGCCTGCCGCACTGACCAGGTCGCGGGTGTCCTGCGTCGCAGTAAGCGGCTCAATACCGCAGCTGCTGTACCGGGCTTCAGCTCTGGCAAACGGGCTGCTCTGGATAAACACGGTGATTTGGCGAGTCCAGGAGCCATCGTTTCGAAGCTGTTCAGCGGCACGGCCGGTAAAGAATGACACTGCCTCATGCATCTTGCTGAATGTATTAAGGCGCTGGCCAAAGCTCCGCGAGACGATAATTTGTTGTCTGACAGGAGGGGATTCATGCAACCGGAAACAGGACTCGCCATGCAGCTCCCGCCAGGTACGTTCCATTTCAACACCGAATGCCTTTCGTAAAAACCGCACATCGCTGTCATAAAAGTCGCAGGCCGTGATGATCCCGTACGCAGTCAGCCGCTCACTGATTTTGCGGCCAATGCCCCAGATTTCCCGGGTACTGATGAGACTCAGCAGTTTTTTAATTCGGAATGGGTCTGTAAGGACGACCACACCACCAGTTGCTGCCCATCGCTTACTGGCGTAGGTGCATAATTTTGCGAGCGTTTTCGTGGTCGATACTCCAATCCCGCAGGTGAGCGAAAGATTGTGTAGCAGCGTTCGTCTGATCAGGCATCCGTACTCTTCAAAATCTACTATTTTGTCCATGTTTTTCAGTAGCATGAAGCTTTCATCCACGCTGTAACGATCGGTATCCTCGGCAAACCCCTCCAGCGTTTCATGAAACCGGTTGGAATAATCTTCGTACAACGTAAAGTTGGAGCTCCGTACCGCAATATGATGCTGCTCAATCAGATCCCGGCATTTGAAGATAGGCATCCCGCGTTTGAGCCCTGTATTTTTGGCGAGCCTGTTCATGGCGATAATGGTGGCATCGTTGTTGCTCGCGATGATGAGCGGGGATTTGGCAAGTTTGGGGTCCATGGCGCATTCAAATGCCGCGTAGGCTCCATTGATATCAACGTGCATGTACATGAGGAAACTGATTCAACGCAAAGGTGACAACGCCCCAGATTTCAAGAGTGTCCGGGTTAACAGGTATCGGCTTGAAGGCGGGGTTGGAGGGCATCAACATCAGTTTCGGGAAGGTCTGCAAAATCTTCACGGTAAACTCGCCGTCAACCAGCGCAACGACGATTGAGCCGTGCTCCGCAGTCAGTGACCGATCCACAACCAGTATGGCGCCGTCGTTTATTCCGGCGTCTACCATGCTGAGACCTGAGGCCCTGACAAAGAAAGTCGCGGGGCGATTACGAACCACAAAATCATGTAAATTCAGCTCATTGTCTTCGTGTCCGGCGCACGGACTCATCACCCCGCAACTCAGTAGGTCACTGAAAAAAGGGGTTGTATCACGAGGAGGGGATGCAAAACGTTCAGGGAATACAGACATGAGCACACTCGGATTCAATACTGGATATTTAACCAGTATCACCAGATAAAGAGAAAAGATCAAATTTCAATGGCTCAGCATTCGGGAAAGATATCCCGGCACTAAGCCGTAATTTATGTAACGGTATGATATGGTTCAGCGGATTTTCATTCACGAACATGACAACAGGAATTCCCTATGGCTATCGATACCGACGATACCGATCCGGTAGACGCAGAGGCGTGCGAGAAGTACCTGGCACAGTTACGGGAACTGGAGGCATACAGGGCGTACCGAACGACAGCTGCGATTGACTGGTTCTTTGACCAGGCTACCCGGGCCATTCACGGTGAGTTGTGGCTAGCCGCCTGTACGACTTTCCTGAACGGGATTGAGACCTCACTGATGGTGACGATGAAGCTGAAGGCGTCGCAGGCACAACCGCAGGCACCAACACCGCTGGTGGACTTAAGCGATATGGCCACACTCAGTAATGCTCTGCTAAGAAGGGCTCACCAGGCCGGTATGCCGGTGACACTGCTGGCCTTTCCCGACGAGCAGGATCTGCTGACCAAGATTGCGGACGGCGCCCCGAAACTACCCTATGCGGAAATCGTGAGGGTTCGGCACAATTTATGTCACGGGAACATCCTGGAGCACATCATCACTGCGAGTGACGGTATGGGGGAGCCAGTCCGGTTATTCACACCTGAATGTATGCGTGATCTGGCGCAGACGCTGTCGGCAGTCTCGAAAGTATGGATTGCAGGCCTGCATCAATATTGGTGTGATAACAATTTATCTATGCCTTGAAAATTCCTGACGGATTTTGTTCCCGGTGTCATTTGTACGCCGGGATGAAAAATGATGCTTCACAACAGGAATTAGCTGTTTATTGCTTAGAAAGATTTGTGATATAAAAATTATGTTTTGAACTTGATGATAGTAATGGAGAAACATATGAAAATTAAAAACATTGTATTGGCAGGAATAATTTCATTGGTATTTTCTGTTCATGCCAGCGATAAGCAGAATATAAAAAGGGACCCAATACCTTATTTAGGGTACGACGCAGTTACTTCAAACATGTGCATAGATGCTGGTGGTTTAACTGATCCAGTGGAGATGAGAAAGAAAGCTACTGAAACATTACTAATGATTCTTCACAAACAACCAGGTGATAAACTATCTAAACAATCAGAAGATACAATAGAAGCATTTGTTACACGAACAAGATCCTCTTCAGATGACATATCTAAATGCCAGTTCAGTGCTGATGAATCCCCTAATGATTTTTATCAAAATCATTAAGTTAAGGTAGATACACATCTTG
NODE 4 1883 134056 134056 0 0
GGGGCAAATGGTGGTCACCATCCTGTCGGCTGTGGCACAGGCTGAACGCCGGAGGATCCTAGAACGCACGAATGAGGGCCGACAGGAAGCAAAGCTGAAAGGAATCAAATTTGGCCGCAGGCGTACCGTGGACAGGAACGTCGTGCTGACGCTTCATCAGAAGGGCACTGGTGCAACGGAAATTGCTCATCAGCTCAGTATTGCCCGCTCCACGGTTTATAAAATTCTTGAAGACGAAAGGGCCTCGTGATACGCCTATTTTTATAGGTTAATGTCATGATAATAATGGTTTCTTAGACGTCAGGTGGCACTTTTCGGGGAAATGTGCGCGGAACCCCTATTTGTTTATTTTTCTAAATACATTCAAATATGTATCCGCTCATGAGACAATAACCCTGGTAAATGCTTCAATAATATTGAAAAAGGAAGAGTATGAGTATTCAACATTTTCGTGTCGCCCTTATTCCCTTTTTTGCGGCATTTTGCCTTCCTGTTTTTGCTCACCCAGAAACGCTGGTGAAAGTAAAAGATGCTGAAGATCAGTTGGGTGCACGAGTGGGTTACATCGAACTGGATCTCAACAGCGGTAAGATCCTTGAGAGTTTTCGCCCCGAAGAACGTTTTCCAATGATGAGCACTTTTAAAGTTCTGCTATGTGGTGCGGTATTATCCCGTGTTGACGCCGGGCAAGAGCAACTCGGTCGCCGCATACACTATTCTCAGAATGACTTGGTTGAGTACTCACCAGTCACAGAAAAGCATCTTACGGATGGCATGACAGTAAGAGAATTATGCAGTGCTGCCATAACCATGAGTGATAACACTGCGGCCAACTTACTTCTGACAACGATCGGAGGACCGAAGGAGCTAACCGCTTTTTTGCACAACATGGGGGATCATGTAACTCGCCTTGATCGTTGGGAACCGGAGCTGAATGAAGCCATACCAAACGACGAGCGTGACACCACGATGCCTGCAGCAATGGCAACAACGTTGCGCAAACTATTAACTGGCGAACTACTTACTCTAGCTTCCCGGCAACAATTAATAGACTGGATGGAGGCGGATAAAGTTGCAGGACCACTTCTGCGCTCGGCCCTTCCGGCTGGCTGGTTTATTGCTGATAAATCTGGAGCCGGTGAGCGTGGGTCTCGCGGTATCATTGCAGCACTGGGGCCAGATGGTAAGCCCTCCCGTATCGTAGTTATCTACACGACGGGGAGTCAGGCAACTATGGATGAACGAAATAGACAGATCGCTGAGATAGGTGCCTCACTGATTAAGCATTGGTAACTGTCAGACCAAGTTTACTCATATATACTTTAGATTGATTTAAAACTTCATTTTTAATTTAAAAGGATCTAGGTGAAGATCCTTTTTGATAATCTCATGACCAAAATCCCTTAACGTGAGTTTTCGTTCCACTGAGCGTCAGACCCCTTATGGCAGAGCAGGGAAAGGAATTGCCGGGCTATGTGCAACGGGAATTTGAAGAATTTCTCCAATGCGGGCGGCTGGAGCATGGCTTTCTACGGGTTCGCTGCGAGTCTTGCCACGCCGAGCACCTGGTCGCTTTCAGCTGTAAGCGTCGCGGTTTCTGCCCGAGCTGTGGGGCGCGGCGGATGGCCGAAAGTGCCGCCTTGCTGGTTGATGAAGTACTGCCTGAACAACCCATGCGTCAGTGGGTGTTGAGCTTCCCGTTTCAGCTGCGTTTCCTGTTTGGGGTCGTTTGCGGGAAGGGGCGGAATCCTACGCTAAGGCTTTGGCCAGCGATATTCTCCGGTGAGATTGATGTGTTCCCAGGGGATAGGAGAAGTCGCTTGATATGGCACTGTTGCAAATAGTCGGTGGTGATAAACTTATCATCCCCTTTTGCTGATGGA
CAAGCGACTTCTCCTATCCCCTGGGAACACATCAATCTCACCGGAGAATATCGCTGGCCAAAGCCTTAGCGTAGGATTCCGCCCCTTCCCGCAAACGACCCCAAACAGGAAACGCAGCTGAAACGGGAAGCTCAACACCCACTGACGCATGGGTTGTTCAGGCAGTACTTCATCAACCAGCAAGGCGGCACTTTCGGCCATCCGCCGCGCCCCACAGCTCGGGCAGAAACCGCGACGCTTACAGCTGAAAGCGACCAGGTGCTCGGCGTGGCAAGACTCGCAGCGAACCCGTAGAAAGCCATGCTCCAGCCGCCCGCATTGGAGAAATTCTTCAAATTCCCGTTGCACATAGCCCGGCAATTCCTTTCCCTGCTCTGCCATAAGGGGTCTGACGCTCAGTGGAACGAAAACTCACGTTAAGGGATTTTGGTCATGAGATTATCAAAAAGGATCTTCACCTAGATCCTTTTAAATTAAAAATGAAGTTTTAAATCAATCTAAAGTATATATGAGTAAACTTGGTCTGACAGTTACCAATGCTTAATCAGTGAGGCACCTATCTCAGCGATCTGTCTATTTCGTTCATCCATAGTTGCCTGACTCCCCGTCGTGTAGATAACTACGATACGGGAGGGCTTACCATCTGGCCCCAGTGCTGCAATGATACCGCGAGACCCACGCTCACCGGCTCCAGATTTATCAGCAATAAACCAGCCAGCCGGAAGGGCCGAGCGCAGAAGTGGTCCTGCAACTTTATCCGCCTCCATCCAGTCTATTAATTGTTGCCGGGAAGCTAGAGTAAGTAGTTCGCCAGTTAATAGTTTGCGCAACGTTGTTGCCATTGCTGCAGGCATCGTGGTGTCACGCTCGTCGTTTGGTATGGCTTCATTCAGCTCCGGTTCCCAACGATCAAGGCGAGTTACATGATCCCCCATGTTGTGCAAAAAAGCGGTTAGCTCCTTCGGTCCTCCGATCGTTGTCAGAAGTAAGTTGGCCGCAGTGTTATCACTCATGGTTATGGCAGCACTGCATAATTCTCTTACTGTCATGCCATCCGTAAGATGCTTTTCTGTGACTGGTGAGTACTCAACCAAGTCATTCTGAGAATAGTGTATGCGGCGACCGAGTTGCTCTTGCCCGGCGTCAACACGGGATAATACCGCACCACATAGCAGAACTTTAAAAGTGCTCATCATTGGAAAACGTTCTTCGGGGCGAAAACTCTCAAGGATCTTACCGCTGTTGAGATCCAGTTCGATGTAACCCACTCGTGCACCCAACTGATCTTCAGCATCTTTTACTTTCACCAGCGTTTCTGGGTGAGCAAAAACAGGAAGGCAAAATGCCGCAAAAAAGGGAATAAGGGCGACACGAAAATGTTGAATACTCATACTCTTCCTTTTTCAATATTATTGAAGCATTTACCAGGGTTATTGTCTCATGAGCGGATACATATTTGAATGTATTTAGAAAAATAAACAAATAGGGGTTCCGCGCACATTTCCCCGAAAAGTGCCACCTGACGTCTAAGAAACCATTATTATCATGACATTAACCTATAAAAATAGGCGTATCACGAGGCCCTTTCGTCTTCAAGAATTTTATAAACCGTGGAGCGGGCAATACTGAGCTGATGAGCAATTTCCGTTGCACCAGTGCCCTTCTGATGAAGCGTCAGCACGACGTTCCTGTCCACGGTACGCCTGCGGCCAAATTTGATTCCTTTCAGCTTTGCTTCCTGTCGGCCCTCATTCGTGCGTTCTAGGATCCTCCGGCGTTCAGCCTGTGCCACAGCCGACAGGATGGTGACCACCATTTGCCCCATATGGCACTGTTGCAAATAGTCGGTGGTGATAAACTTATCATCCCCTTTTGCTGATGGA
NODE 5 5976 449249 449249 0 0
ATCGTGCCACCGGCTCCAGGTCTTATCGAACAGCTCAGACACATGGTCCAAATGCTGGTCGATCCGTTCGGCCAGTTTTTCGATGGCCTCTTGCTTGAGCTTGTCACTTTCCCTGAACTCGATGTTCAAGGCCCTGGCCACCTGGTTGAGGTTCCGGCCGATAGCTCCAAGCTGCCGGCACGATTCCCGTACGGTGTTCACTTCTTCATCAGTGAGGACCGGCATCCGGTTCAACGACCGCAGTCATTTCTGTACCTAAACAGTCCTGCGAATATGTGAGTTTTGACCTAATGAGCCACAAAAACTCATTTTCGCCCACGATAATTTTTCTACTTCCTTTCTTTGGAATGCTCATTTCAATATTCACATAACGTCGCTATCAATCGCGGAAAAGGCGTAGTGCGCGAAGCGAACGAAGCTTTTTGCCGTCGATTGCATAGCTTTGTTAACCCTTTTTCCAAATTTGATAGCAATAGTTAATGTTTGAAGTAAAGTGTTGCTCAAAAACAACTTCGAAGGTATTTGGAATACTCGGGAAGAAAACATCCCCCTCTGGCTCGATGTCGATCGTCGATAAGTGGAGCGTAGAGGCCATGGGTAATGTTTCTCGGTAAATTTCTCCGCCACCAGACACTATAACGTGACCGGTGAATTCAGCTAGCCTGTCCATGGCCTCTTCGATTGACTGAAATACAACTACATTGTCATCATTTGATGTCCAACCTGAGCGGGTAACGACCGCGTATTTCCTATTGGGGAGTGCGCCCATAGATTCAAACGTCTTGCGACCCACCAGAAGCCACTGATTGTAGGTCAATGCTTTAAAAAGTAGCTGCTCCCCTTTCGCGGACCAGGGTATGTCTGGACCGCAACCAATCACGCCGTTTTTCGCTTTCGCAGCCATCAATGATACTTTCAAGGTTCTCATCCTGGGTTAACTTTGTTTTAGGGCGACTGCCCTGCTGCGTAACATCGTTGCTGCTCCATAACATCAAACATCGACCCACGGCGTAACGCGCTTGCTGCTTGGATGCCCGAGGCATAGACTGTACAAAAAAACAGTCATAACAAGCCATGAAAACCGCCACTGCGCCGTTACCACCGCTGCGTTCGGTCAAGGTTCTGGACCAGTTGCGTGAGCGCATACGCTACTTGCATTACAGTTTACGAACCGAACAGGCTTATGTCCACTGGGTTCGTGCCTTCATCCGTTTCCACGGTGTGCGTCACCCGGCAACCTTGGGCAGCAGCGAAGTCGAGGCATTTCTGTCCTGGCTGGCGAACGAGCGCAAGGTTTCGGTCTCCACGCATCGTCAGGCATTGGCGGCCTTGCTGTTCTTCTACGGCAAGGTGCTGTGCACGGATCTGCCCTGGCTTCAGGAGATCGGAAGACCTCGGCCGTCGCGGCGCTTGCCGGTGGTGCTGACCCCGGATGAAGTGGTTCGCATCCTCGGTTTTCTGGAAGGCGAGCATCGTTTGTTCGCCCAGCTTCTGTATGGAACGGGCATGCGGATCAGTGAGGGTTTGCAACTGCGGGTCAAGGATCTGGATTTCGATCACGGCACGATCATCGTGCGGGAGGGCAAGGGCTCCAAGGATCGGGCCTTGATGTTACCCGAGAGCTTGGCACCCAGCCTGCGCGAGCAGCTGTCGCGTGCACGGGCATGGTGGCTGAAGGACCAGGCCGAGGGCCGCAGCGGCGTTGCGCTTCCCGACGCCCTTGAGCGGAAGTATCCGCGCGCCGGGCATTCCTGGCCGTGGTTCTGGGTTTTTGCGCAGCACACGCATTCGACCGATCCACGGAGCGGTGTCGTGCGTCGCCATCACATGTATGACCAGACCTTTCAGCGCGCCTTCAAACGTGCCGTAGAACAAGCAGGCATCACGAAGCCCGCCACACCGCACACCCTCCGCCACTCGTTCGCGACGGCCTTGCTCCGCAGCGGTTACGACATTCGAACCGTGCAGGATCTGCTCGGCCATTCCGACGTCTCTACGACGATGATTTACACGCATGTGCTGAAAGTTGGCGGTGCCGGAGTGCGCTCACCGCTTGATGCGCTGCCGCCCCTCACTAGTGAGAGGTAGGGCAGCGCAAGTCAATCCTGGCGGATTCACTACCCCTGCGCGAAGGCCATCGGTGCCGCATCGAACGGCCGGTTGCGGAAAGTCCTCCCTGCGTCCGCTGATGGCCGGCAGCAGCCCGTCGTTGCCTGATGGATCCAACCCCTCCGCTGCTATAGTGCAGTCGGCTTCTGACGTTCAGTGCAGCCGTCTTCTGAAAACGACACCATGTGCAAACGATGTCAGAATAGAGTTAAATTTCCTATTGATTGACATATTCCGTCAAAGGTAATAGATTTCATCCTGACACTTTTGCCTTTGGAGGCATCTTGCAAGGTCAACGCATCGGCTATGTCCGCGTCAGCAGCTTCGACCAGAACCCGGAACGGCAATTGGAGGGTGTTCAGGTGGCGCGGGTGTTCACCGACAAGGCTTCTGGCAAGGACACCCAGCGTCCCGAGCTGGAAAGGCTGCTGGCCTTCGTCCGCGAGGGCGACACCGTGGTGGTGCATAGCATGGACAGGCTGGCACGCAACCTTGATGACCTGCGCCGCATCGTCCAAGGGCTGACACAACGGGGCGTGCGCATGGAGTTCGTCAAAGAAGGGCTGAAGTTCACCGGCGAGGACTCACCGATGGCCAATCTGATGCTGTCGGTCATGGGAGCCTTCGCTGAGTTCGAGCGCGCCCTGATCCGCGAACGTCAGCGCGAGGGAATCGTGCTGGCCAAGCAGCGCGGTGCCTACCGGGGACGAAAGAAATCGCTGAACAGCGAACAAATTGCCGAGTTGAAACGGCGAGTTGCGGCAGGCGACCAAAAAACCTTGGTGGCCCGTGACTTCGGCATCAGCCGCGAAACCTTGTACCAGTACCTGCGGGAAGACTGACCATGCCACGCCGCTCAATCCTGTCCGCCACCGAGCGCGAAAGCCTGCTGGCACTGCCAGATGCCAAAGACGAACTGATACGGCACTACACGTTCAACGAAACCGACCTGTCGGTGATCCGTCAGCGTCGCGGCGCCGCGAATCGATTGGGCTTCGCTGTGCAGCTTTGCTACTTGCGATTCCCTGGCACCTTTTTGGGCGTCGATGAGCCTCCGTTTCCGCCCCTGTTGCGCATGGTGGCCGCGCAACTCAAGATGCCAGTGGAAAGTTGGAGCGAGTACGGCCAGCGCGAACAGACACGGCGGGAGCACTTGGTCGAGCTGCAAACGGTTTTTGGGTTCAAGCCCTTCACCATGAGCCACTATCGGCAAGCCGTGCATACATTGACCGAGCTGGCCTTGCAGACCGACAAAGGCATCGTGCTGGCGAGCGCACTTGTCGAGAATCTGCGGCGGCAGAGCATTATCCTGCCCGCCATGAATGCCATCGAGCGCGCAAGCGCCGAGGCCATCACCCGTGCCAACCGACGCATTTACGCGGCGCTGACCGATTCTTTGTTATCACCCCACCGTCAGCGCCTGGACGAACTTCTCAAGCGCAAGGACGGCAGTAAAGTGACGTGGCTGGCATGGCTGCGCCAGTCGCCTGCCAAACCGAACTCTCGCCACATGCTCGAACATATTGAGCGCCTGAAATCCTGGCAAGCACTTGATCTGCCCGCAGGCATCGAGCGGCAGGTTCACCAGAACCGCCTGCTCAAAATCGCTCGTGAAGGTGGCCAGATGACGCCTGCTGATCTGGCAAAGTTCGAGGTGCAACGACGCTATGCCACGCTGGTAGCGCTGGCCATCGAAGGCATGGCCACCGTCACCGATGAAATCATCGACCTTCACGATCGCATCATCGGCAAGCTGTTCAACGCGGCCAAGAACAAGCATCAGCAGCAGTTCCAGGCTTCCGGCAAGGCGATCAACGACAAGGTGCGGATGTATGGGCGCATCGGTCAAGCGTTGATTGAGGCCAAGCAAAGCGGCAGCGATCCGTTCGCCGCCATCGAGGCCGTTATGCCCTGGGACACCTTCGCCGCCAGCGTCACCGAAGCGCAAACATTGGCGCGGCCTGCCGACTTTGATTTCCTGCACCACATCGGTGAAAGCTATGCCACGCTACGCCGCTACGCGCCGCAGTTCCTGGGCGTGCTCAAATTGCGGGCTGCGCCCGCCGCCAAGGGTGTGCTCGATGCCATCGACATGCTGCGCGGCATGAACAGCGACAGCGCGCGCAAGGTGCCCGCCGATGCGCCAACCGCATTCATCAAGCCGCGCTGGGCAAAGCTGGTTCTGACCGACGACGGCATCGACCGGCGTTACTACGAGTTATGCGCCCTGTCGGAGCTGAAGAACGCGCTGCGCTCCGGTGATGTCTGGGTGCAGGGTTCTCGCCAGTTCAAGGACTTCGACGAATACCTGGTGCCGGTCGAGAAGTTCGCCACTTTGAAGCTGGCCAGCGAATTGCCGCTGGCAGTGGCCACCGACTGCGACCAATACCTGCATGACCGGTTGGAATTGTTGGAGGCGCAACTCGCCACAGTCAACCGCATGGCTGCGGCCAACGACTTACCGGATGCCATCATCACCACCGCGTCAGGCCTGAAGATCACGCCGCTGGACGCGGCAGTACCAGACGCCGCGCAAGCCATGATCGACCAGACAGCTATGCTGCTGCCGCACCTCAAAATCACCGAGTTGCTGATGGAGGTCGATGAATGGACGGGCTTCACCCGCCACTTCACACACCTGAAGACCAGCGACACGGCCAAGGACAAAACCTTGCTGTTGACGACGATCCTGGCCGACGCGATCAACCTGGGTCTGACCAAAATGGCCGAGTCCTGCCCTGGCACCACCTACGCCAAGCTGTCTTGGCTGCAAGCCTGGCACATCCGCGATGAAACCTATTCGACGGCGCTGGCCGAGCTGGTGAATGCGCAGTTTCGGCAACCCTTCGCCGGCAACTGGGGTGACGGCACCACGTCATCGTCGGACGGCCAGAACTTCAGAACCGGCAGCAAAGCAGAAAGCACTGGTCATATCAACCCGAAGTATGGAAGCAGTCCAGGACGGACTTTCTACACCCATATCTCCGACCAGTACGCGCCCTTCAGTGCCAAGGTGGTCAACGTGGGCATTCGTGATTCAACTTACGTGCTTGATGGCCTGCTGTACCACGAGTCGGACTTGCGCATCGAGGAACACTACACCGACACGGCAGGCTTCACCGATCACGTGTTTGGCTTGATGCATTTGCTGGGATTTCGCTTCGCGCCGCGTATCCGTGACTTGGGCGAAACCAAGCTATTCATCCCCAAGGGCGATGCCGCCTATGACGCGCTCAAGCCGATGATTAGCAGCGACAGGCTGAACATCAAGCAAATACGCGCCCATTGGGATGAAATTCTGCGGCTGGCCACCTCCATCAAGCAAGGCACGGTAACGGCTTCGCTGATGCTGCGCAAACTCGGCAGCTACCCGCGCCAGAACGGCTTGGCCGTGGCGTTGCGCGAGCTGGGGCGCATCGAGCGCACGCTGTTCATTTTGGATTGGCTGCAAAGCGTGGAGCTGCGCCGCCGCGTCCATGCGGGGCTGAATAAGGGCGAGGCGCGCAACGCGCTGGCCAGGGCGGTCTTCTTCTACCGATTGGGTGAAATCCGCGACCGCAGTTTTGAGCAGCAGCGCTACCGGGCCAGCGGCCTCAATCTGGTGACGGCGGCCATCGTGTTGTGGAACACGGTATATCTGGAGCGTGCCACCAGTGCTTTGCGTGGCAACGGCACGGCGCTGGACGACACATTGTTGCAATATCTGTCGCCGCTGGGGTGGGAGCACATCAACCTGACCGGCGATTACCTATGGCGCAGCAGCGCCAAGGTCGGTGCGGGGAAGTTTAGGCCATTGCGACCGCTGCCACCGGCTTAGCGTGCTTTATTTAATGAGATGGTCACTCCCTCCTTCCCGGTACTATGCTG
GGCAGCGGTCGCAATGGCCTAAACTTCCCCGCACCGACCTTGGCGCTGCTGCGCCATAGGTAATCGCCGGTCAGGTTGATGTGCTCCCACCCCAGCGGCGACAGATATTGCAACAATGTGTCGTCCAGCGCCGTGCCGTTGCCACGCAAAGCACTGGTGGCACGCTCCAGATATACCGTGTTCCACAACACGATGGCCGCCGTCACCAGATTGAGGCCGCTGGCCCGGTAGCGCTGCTGCTCAAAACTGCGGTCGCGGATTTCACCCAATCGGTAGAAGAAGACCGCCCTGGCCAGCGCGTTGCGCGCCTCGCCCTTATTCAGCCCCGCATGGACGCGGCGGCGCAGCTCCACGCTTTGCAGCCAATCCAAAATGAACAGCGTGCGCTCGATGCGCCCCAGCTCGCGCAACGCCACGGCCAAGCCGTTCTGGCGCGGGTAGCTGCCGAGTTTGCGCAGCATCAGCGAAGCCGTTACCGTGCCTTGCTTGATGGAGGTGGCCAGCCGCAGAATTTCATCCCAATGGGCGCGTATTTGCTTGATGTTCAGCCTGTCGCTGCTAATCATCGGCTTGAGCGCGTCATAGGCGGCATCGCCCTTGGGGATGAATAGCTTGGTTTCGCCCAAGTCACGGATACGCGGCGCGAAGCGAAATCCCAGCAAATGCATCAAGCCAAACACGTGATCGGTGAAGCCTGCCGTGTCGGTGTAGTGTTCCTCGATGCGCAAGTCCGACTCGTGGTACAGCAGGCCATCAAGCACGTAAGTTGAATCACGAATGCCCACGTTGACCACCTTGGCACTGAAGGGCGCGTACTGGTCGGAGATATGGGTGTAGAAAGTCCGTCCTGGACTGCTTCCATACTTCGGGTTGATATGACCAGTGCTTTCTGCTTTGCTGCCGGTTCTGAAGTTCTGGCCGTCCGACGATGACGTGGTGCCGTCACCCCAGTTGCCGGCGAAGGGTTGCCGAAACTGCGCATTCACCAGCTCGGCCAGCGCCGTCGAATAGGTTTCATCGCGGATGTGCCAGGCTTGCAGCCAAGACAGCTTGGCGTAGGTGGTGCCAGGGCAGGACTCGGCCATTTTGGTCAGACCCAGGTTGATCGCGTCGGCCAGGATCGTCGTCAACAGCAAGGTTTTGTCCTTGGCCGTGTCGCTGGTCTTCAGGTGTGTGAAGTGGCGGGTGAAGCCCGTCCATTCATCGACCTCCATCAGCAACTCGGTGATTTTGAGGTGCGGCAGCAGCATAGCTGTCTGGTCGATCATGGCTTGCGCGGCGTCTGGTACTGCCGCGTCCAGCGGCGTGATCTTCAGGCCTGACGCGGTGGTGATGATGGCATCCGGTAAGTCGTTGGCCGCAGCCATGCGGTTGACTGTGGCGAGTTGCGCCTCCAACAATTCCAACCGGTCATGCAGGTATTGGTCGCAGTCGGTGGCCACTGCCAGCGGCAATTCGCTGGCCAGCTTCAAAGTGGCGAACTTCTCGACCGGCACCAGGTATTCGTCGAAGTCCTTGAACTGGCGAGAACCCTGCACCCAGACATCACCGGAGCGCAGCGCGTTCTTCAGCTCCGACAGGGCGCATAACTCGTAGTAACGCCGGTCGATGCCGTCGTCGGTCAGAACCAGCTTTGCCCAGCGCGGCTTGATGAATGCGGTTGGCGCATCGGCGGGCACCTTGCGCGCGCTGTCGCTGTTCATGCCGCGCAGCATGTCGATGGCATCGAGCACACCCTTGGCGGCGGGCGCAGCCCGCAATTTGAGCACGCCCAGGAACTGCGGCGCGTAGCGGCGTAGCGTGGCATAGCTTTCACCGATGTGGTGCAGGAAATCAAAGTCGGCAGGCCGCGCCAATGTTTGCGCTTCGGTGACGCTGGCGGCGAAGGTGTCCCAGGGCATAACGGCCTCGATGGCGGCGAACGGATCGCTGCCGCTTTGCTTGGCCTCAATCAACGCTTGACCGATGCGCCCATACATCCGCACCTTGTCGTTGATCGCCTTGCCGGAAGCCTGGAACTGCTGCTGATGCTTGTTCTTGGCCGCGTTGAACAGCTTGCCGATGATGCGATCGTGAAGGTCGATGATTTCATCGGTGACGGTGGCCATGCCTTCGATGGCCAGCGCTACCAGCGTGGCATAGCGTCGTTGCACCTCGAACTTTGCCAGATCAGCAGGCGTCATCTGGCCACCTTCACGAGCGATTTTGAGCAGGCGGTTCTGGTGAACCTGCCGCTCGATGCCTGCGGGCAGATCAAGTGCTTGCCAGGATTTCAGGCGCTCAATATGTTCGAGCATGTGGCGAGAGTTCGGTTTGGCAGGCGACTGGCGCAGCCATGCCAGCCACGTCACTTTACTGCCGTCCTTGCGCTTGAGAAGTTCGTCCAGGCGCTGACGGTGGGGTGATAACAAAGAATCGGTCAGCGCCGCGTAAATGCGTCGGTTGGCACGGGTGATGGCCTCGGCGCTTGCGCGCTCGATGGCATTCATGGCGGGCAGGATAATGCTCTGCCGCCGCAGATTCTCGACAAGTGCGCTCGCCAGCACGATGCCTTTGTCGGTCTGCAAGGCCAGCTCGGTCAATGTATGCACGGCTTGCCGATAGTGGCTCATGGTGAAGGGCTTGAACCCAAAAACCGTTTGCAGCTCGACCAAGTGCTCCCGCCGTGTCTGTTCGCGCTGGCCGTACTCGCTCCAACTTTCCACTGGCATCTTGAGTTGCGCGGCCACCATGCGCAACAGGGGCGGAAACGGAGGCTCATCGACGCCCAAAAAGGTGCCAGGGAATCGCAAGTAGCAAAGCTGCACAGCGAAGCCCAATCGATTCGCGGCGCCGCGACGCTGACGGATCACCGACAGGTCGGTTTCGTTGAACGTGTAGTGCCGTATCAGTTCGTCTTTGGCATCTGGCAGTGCCAGCAGGCTTTCGCGCTCGGTGGCGGACAGGATTGAGCGGCGTGGCATGGTCAGTCTTCCCGCAGGTACTGGTACAAGGTTTCGCGGCTGATGCCGAAGTCACGGGCCACCAAGGTTTTTTGGTCGCCTGCCGCAACTCGCCGTTTCAACTCGGCAATTTGTTCGCTGTTCAGCGATTTCTTTCGTCCCCGGTAGGCACCGCGCTGCTTGGCCAGCACGATTCCCTCGCGCTGACGTTCGCGGATCAGGGCGCGCTCGAACTCAGCGAAGGCTCCCATGACCGACAGCATCAGATTGGCCATCGGTGAGTCCTCGCCGGTGAACTTCAGCCCTTCTTTGACGAACTCCATGCGCACGCCCCGTTGTGTCAGCCCTTGGACGATGCGGCGCAGGTCATCAAGGTTGCGTGCCAGCCTGTCCATGCTATGCACCACCACGGTGTCGCCCTCGCGGACGAAGGCCAGCAGCCTTTCCAGCTCGGGACGCTGGGTGTCCTTGCCAGAAGCCTTGTCGGTGAACACCCGCGCCACCTGAACACCCTCCAATTGCCGTTCCGGGTTCTGGTCGAAGCTGCTGACGCGGACATAGCCGATGCGTTGACCTTGCAAGATGCCTCCAAAGGCAAAAGTGTCAGGATGAAATCTATTACCTTTGACGGAATATGTCAATCAATAGGAAATTTAACTCTATTCTGACATCGTTTGCACATGGTGTCGTTTTCAGAAGACGGCTGCACTGAACGTCAGAAGCCGACTGCACTATAGCAGCGGAGGGGTTGGATCCATCAGGCAACGACGGGCTGCTGCCGGCCATCAGCGGACGCAGGGAGGACTTTCCGCAACCGGCCGTTCGATGCGGCACCGATGGCCTTCGCGCAGGGGTAGTGAATCCGCCAGGATTGACTTGCGCTGCCCTACCTCTCACTAGTGAGGGGCGGCAGCGCATCAAGCGGTGAGCGCACTCCGGCACCGCCAACTTTCAGCACATGCGTGTAAATCATCGTCGTAGAGACGTCGGAATGGCCGAGCAGATCCTGCACGGTTCGAATGTCGTAACCGCTGCGGAGCAAGGCCGTCGCGAACGAGTGGCGGAGGGTGTGCGGTGTGGCGGGCTTCGTGATGCCTGCTTGTTCTACGGCACGTTTGAAGGCGCGCTGAAAGGTCTGGTCATACATGTGATGGCGACGCACGACACCGCTCCGTGGATCGGTCGAATGCGTGTGCTGCGCAAAAACCCAGAACCACGGCCAGGAATGCCCGGCGCGCGGATACTTCCGCTCAAGGGCGTCGGGAAGCGCAACGCCGCTGCGGCCCTCGGCCTGGTCCTTCAGCCACCATGCCCGTGCACGCGACAGCTGCTCGCGCAGGCTGGGTGCCAAGCTCTCGGGTAACATCAAGGCCCGATCCTTGGAGCCCTTGCCCTCCCGCACGATGATCGTGCCGTGATCGAAATCCAGATCCTTGACCCGCAGTTGCAAACCCTCACTGATCCGCATGCCCGTTCCATACAGAAGCTGGGCGAACAAACGATGCTCGCCTTCCAGAAAACCGAGGATGCGAACCACTTCATCCGGGGTCAGCACCACCGGCAAGCGCCGCGACGGCCGAGGTCTTCCGATCTCCTGAAGCCAGGGCAGATCCGTGCACAGCACCTTGCCGTAGAAGAACAGCAAGGCCGCCAATGCCTGACGATGCGTGGAGACCGAAACCTTGCGCTCGTTCGCCAGCCAGGACAGAAATGCCTCGACTTCGCTGCTGCCCAAGGTTGCCGGGTGACGCACACCGTGGAAACGGATGAAGGCACGAACCCAGTGGACATAAGCCTGTTCGGTTCGTAAACTGTAATGCAAGTAGCGTATGCGCTCACGCAACTGGTCCAGAACCTTGACCGAACGCAGCGGTGGTAACGGCGCAGTGGCGGTTTTCATGGCTTGTTATGACTGTTTTTTTGTACAGTCTATGCCTCGGGCATCCAAGCAGCAAGCGCGTTACGCCGTGGGTCGATGTTTGATGTTATGGAGCAGCAACGATGTTACGCAGCAGGGCAGTCGCCCTAAAACAAAGTTAACCCAGGATGAGAACCTTGAAAGTATCATTGATGGCTGCGAAAGCGAAAAACGGCGTGATTGGTTGCGGTCCAGACATACCCTGGTCCGCGAAAGGGGAGCAGCTACTTTTTAAAGCATTGACCTACAATCAGTGGCTTCTGGTGGGTCGCAAGACGTTTGAATCTATGGGCGCACTCCCCAATAGGAAATACGCGGTCGTTACCCGCTCAGGTTGGACATCAAATGATGACAATGTAGTTGTATTTCAGTCAATCGAAGAGGCCATGGACAGGCTAGCTGAATTCACCGGTCACGTTATAGTGTCTGGTGGCGGAGAAATTTACCGAGAAACATTACCCATGGCCTCTACGCTCCACTTATCGACGATCGACATCGAGCCAGAGGGGGATGTTTTCTTCCCGAGTATTCCAAATACCTTCGAAGTTGTTTTTGAGCAACACTTTACTTCAAACATTAACTATTGCTATCAAATTTGGAAAAAGGGTTAACAAAGCTATGCAATCGACGGCAAAAAGCTTCGTTCGCTTCGCGCACTACGCCTTTTCCGCGATTGATAGCGACGTTATGTGAATATTGAAATGAGCATTCCAAAGAAAGGAAGTAGAAAAATTATCGTGGGCGAAAATGAGTTTTTGTGGCTCATTAGGTCAAAACTCACATATTCGCAGGACTGTTTAGGTACAGAAATGACTGCGGTCGTTGAACCGGATGCCGGTCCTCACTGATGAAGAAGTGAACACCGTACGGGAATCGTGCCGGCAGCTTGGAGCTATCGGCCGGAACCTCAACCAGGTGGCCAGGGCCTTGAACATCGAGTTCAGGGAAAGTGACAAGCTCAAGCAAGAGGCCATCGAAAAACTGGCCGAACGGATCGACCAGCATTTGGACCATGTGTCTGAGCTGTTCGATAAGACCTGGAGCCGGTGGCACGATTGTCATTTTCAGAAGACGACTGCACCAGTTGATTGGGCGTAATGGCTGTTGTGCAGCCAG
NODE 6 9698 703603 703603 0 0
TTACGTCGGTGCTAAATCACGCCAGCTCTGGTTGTTTTACGCGTATGACAGGATACGGAGGACGGTTGTGGCGCACGTATTCGGTGAACGCACGTTGGCCACGCTGGAGCGTCTTCCGGGCCTGCTGTCGGCCTTTGAGGTCGTGGTATGGATGACGGATGACTGGCCGCTTTATGAATCACGCCTGAAGGGAAAGCTGCACGTTATCAGCAAGCGTTACACTCAGCGCATTGAGCGGCATAACCTGAATCTGAGACAGCATCTGGCAAGGCTGGGCAGGAAGTCACTGTCGTTCTCAAAATCGGTGGAGCTGCATGACAAAGTCATCGGGCATTATCTGACCATAAAACACTATCAGTAAGTTGGAGTCATTACCCAGTAATGCGACAAATGCAATGAAAGAAGTAGCGAAAGTCCTTTTTTCAGCCCGAAGTGACCCGGAGCTCATGAAATTTATAATGGATTATATTAATAACCACAAACTGCATTGAAGGTAATTGCGGTGTATAAAACAAAGCCATTTTCGGCCAAAAAATGAGTCAGCTGAAGAAACGCTCGTTAATTCCGAATCCGTCCAGATTAATATGGCACACTGCTGGTGGAGGTTTTGGCAATCGGAAAAGTAACTTTTCACCCGTGTCTAATCATCATCGTTTTATCAATCCGCTCAGTTACGGTATTAAAATCTCACGAAAAATAGTCTTCTTATCGAAGTGTCATGCTGTCTTCGCCCGATATAGTGAAGGTATGTATTCAGCGGGGGCACTGACATGCGAAAGAGCTATACCTATGGGATTCCTTTCGGACTCCATCGCGAAACCGGACGGTTTCTGGACATCACGGAAGTCAGCAGAGGAAGCGCATGCAACTGCATCTGTCCTGGGTGTCGTACGGATTTGATAGCCAGACAGGGAGAGGTCAAACTTTGGCACTATAGCCACAGTACCGATCTCCTCGGTGATTGTGATGGCCTGATGGAGGCGATTCGGGGAAAAATTATTGAAATTATTCAGGAAAAACAACTTCTAGGATTCCCGCATCTTCTGGCCGGTTACGATGGAGGCACGGTCCCACTTGATGAAGTCAGCGGCAGCGGAAGCATGTTCGGCGCAACGGCAGATCTGTTTGTGAAGGTGAACGATCTCTGCGTAGCTGTGTTTCTGGACATTGACCGCAGTGTGGCCGGGAAACTGACGTTCGACCATCTCCATGCCTCGGAGATGGTAGCTGCATTGCGCATTGATCTGCCGGATATAGAATACGAAATCAGTCAGGTTCAGCTTGGTAGACGAGATGGTACCTACAGTGAATGTATCGAGAAAATCATCATTGATGCGACGGAGTCACGCGAATGGTTGTATCACCCCATGATGCAGGAACTGGGGACCGAGCCCCTGAAGGTATATGAGGGCCGCGAGCCAGCGGAAGCAGGACCACTTCTACAACGCCTTTCCGACTGCCCCCTGAAGCTGCCGGACAACTTACCCCAGAGCATGAATGTGCTGATAAGAATGCAGCAGGCCACCATTGTGTGTTTGTGTCGGCTCACCGTCAGAGCTTCAGATATCGCCCAGACCGACGAATTCCCGCTGTTTATGCGTTACTTCCGGCTGCATTGCCTCGACACCAGTGAGCATGTGAATTACGAGAAATTGCTTAACTGGCAGGACATGATTACAAAATCAAAGGAAGGGCAGTTACTAACGGTGGAGGAAAGGGATTATCTCCAGGAAATCGTCCGTATTGGTCTCTATAACCACCGGCTTAAAAGTGTCTGCCTGACGGCCTGCGAAGACAGTAGGGTGGGAGAATCTGAAGGACCAAACAATTACTCATTGCTCTGAAGAGGGATGGGAAATTATGGGGGGACATGGAAGCGTGAAGAGAATAAACCTGTTCGCCTTAAACAGAAACAGGCTGTTCATTTCTTACATGTGAACAGAGTACCTATCATGATCAGACCGGTAATATAAATTGGCACAGCCATCAAAACCAATCCCAGTGGTTCTTCTTTGGTAAAAGCATCCTGAATAAGTCCGTCTTCGCTTAAAGCTAATGGACGCATACATTAGCATTAAGGCGTAAGGTCTAATAACTGGATCAGGAGTTTCGGATTTTTGCGCGGTAGGTGTGTTTGACCCTTTCAATTGTCGCAAGAGTTGAATTCCAGTAGCGTTCAGCGTCAGAACGATAAAGAGCAGCGATAGCCTCTATGGTTTTGGGGGAACAGGTTGCACTGCGATGCACACGGCCTGCCTGGCCAAAGACATAGACAAGAATGGACTGGCTACCAGACCGGCCGAACAGGGAGTTGCAAAGCCGCTTCGCTGCGAGCGGTGTCAGATCGGGGGCGTCTTCCTGAGCGTTCTCGGGAACAACGAATTCCAGAATGAAGCGAAGCATCTCCGATGTCTTGAAACGCTTTACCGCCGCAGACAAACGGGCGGCACGCAGTGCAGTGTCCCAGTGGTCGCTGCTGAAATTGCGGAGCTCCGCGAGGTAATCCTCTTCCAGGCTTTCATCAGAATAATAAATGCTTTCGTAAAAGCGCTCTGCGGGTGATTGCGTCTTTTCCATTGGAGAAACCATTTTGCCTAATGTATGCATACGTTAGCATGTAGTGAAATTAAAACAAGGTAAAGACAAAGAACCGCATTCAGGCGTTTCCCGGAGTAAGCAGGTGGGCTGACAATTCGGCTGCGGTAATATCAAGAGCTCTGTTAATTGAGCGTTAAATGCCTCCCGCTCCAGTCCGGATTGGATGAGAAAGATCAGGGCCTTTTTCAGAACGGGCGGAATACTCGCAATGTCGAGGAGAATGTTGCCCTCAATAACATGATCGCAATTTTCAAAAAGGTGGGCGTAACTCATTACGTGTATTCCATTTATCATTTTCAAATCGTGATAAAAATTAGATTACCAGAACGTCAGAAGCAAAAAAAAAGCATTAAGCAGAAATGTATGGTATCCATCCTTCCTCCAGCTACCCTTGCGCCCTGATAATTTTATCCTGGGGGAGGGGGCATTGATCATTACATACCCGATCAGAAAAGCCGGGAACCAGAATGTCACCCGGATATCGAAGATGCAACGATTCAATATTAGTGTATTTAGCGTCTCCTGGCAGCAAAGTCGGTCGGCCGGAACTGGTAAACTGTATTCCACCTCGCCCGGGCTGGCAGGCGACTGACGTCTTGTCGGTTCATAGCCGGTGGTCGCGTCTGACAAAACAGGCCCCTACAGTGTAAGGATTGTGATGGACGATAAAGAGCAGTTTACGAGTCTCGTGGCAAAGCATGCCTCCAGATTCACCGAAGAGCAGCTGGCCGGGTATGATGCCTGTTCCCAGTATGGAGAATGCGTCTCGCCTTCATACGAAGTATTCCGGGGGTATCGTACCCGCCACACCCTGGATGAATTTCTGGAGCTGGCCATATCGCTGAATGCCATCCACCCGGATGAATATTTAACGGATATGCTGCTGAAGCCTCATGAGGTGATCGGTGCTCTGGCCGATGAAGGCGACCAGTTGAACAACGCCACCCCGGTTTATTTCTTCCCGGATACCGGCGTCTATGCAGCGGCCGTCAGTGAAACCCGTGTGCTCGATGCCTGGCTTTGTTGGCCATGCTACCCGGCGAACTGGTAATGCGTCCGTTGGAATTGCACCGGCAGGATACGAATTTAACCGACCCCGTGGCGGGAGGGTTATCACAATTGCATGTCCTCATCCCTAAAGTCCCCTGCCAGACCCATACGTGCTGTCAGGCTTCGCCTGATTTGAGATCAGTGCAAATACTTCAGCCGATAACTTTTTGTTTTCTTTTTATTTTCTCCCTGTTTCCTCAAAATTCGCGTGCGGCCTGGTCAGGGCACGATTGTCACATAGGGTGTATTGAAGCGGGCTGGATGGTCGGGTGGGCACGACCTGGGTTTGAGTCGGACACTATGTGGGATGAGGACATGCAAAATATTCGCTTTATCTGTGAAAACTGTTGTCTCCGGGCAGTCACCAGTTCAAGTTACACCATCCACGTTAGCTTTTAATAAGAGTGGTTACGATGTTCAGTACTGAGAAAAAATCAGAGCATTTAGGTCAGATCATAGTGATTGATCCGGCGCTTCTTGGGCAGGGTATAGAGGTTGGCCCGGTCGTAGTGTTTGATTTGGGGCACGCCAGCAAAGGGGTTGCGGACTTGATGCGCGATGCTGAAAAGCTTGATGGTTTATCCCCAACGACAATAGCAAACAGACTTTCACGATGACCGAACAAGGTCGATTCGGGCAAGGCGGCGGAGGGGCACATCTCCCAATGATAATGAGGTTATGCAACCTGTTAGTCACCGGCTTGCCTGATGCTATGATTGACATCTCTTTTGACCGGTCTGTATTTGAGCATTAATTCGTGAGGAATACGGTATGCGCAGTGAAATACCTTCTGGTAGATTTTTTTGTTTGGATGAGTTTCACAATTTCCATATGAGCGATGATGTCCTTCGTGAAAGACTCCGTTCAATAGACGGCATCCCCGCTGTGAGCTATCAGGTAAATGGCGAAAATGTTTTTGTGTTCGAGAAACTTGTCCAGCTGGTAAAACAGAATGGCCACAACCTGGAATCAGCCTTAGCTCTCGTTCCGAAGGCAACAATGACCGCCGCAGAGGCTATTGAAGCGTGGTCGGTATTCCCCGAGCCGTATTCTCGTGAGACCAATACAATCGACCATAGTCAGGCGATCTATCACCCCTATTTAAATGCGTATCTGCCCCGGAAATATCCCGACCGTGAATCCTGTAATGCGGATGCGGCCAGATTACTTCTCGGCAATCCTGTCGAGGGTGAGGGGGATTTTGTCTACAGGGGGCAGTCCATGGTCCTTCGCCAGCCCTTTACCCTGGACCGTCTTCCCCCACGACCTGAATGGGATGTGCCGGTGTCTGAAGATGCCAGTGCCTACACACATCTCTGGAACACGGATTTTGTCAGTGGCTTCGCACCGGTTACCGAATCACTGTTCAACGGGATAAAATCGGCGGAGTGGGAATGGAACCACGCTATCGCTGCGACATACGCATACATGGGAAATCCGGAGTGTATCTCTTCGTTGTGGTCACGGGCGGGTGAGTTCGGACTGGAGCAGCTGGAGCTCAAATCCTGGGACGTTGACGAGCAAGATCCGGAACACTACCAGCAATTCCAGGCTCTTTACCCGGAGCTGTCCATGTTGTCCCCGGCAATTATCCAGAAAGCCTATGACGAGTATTGTGAATCGATGTGGGAAAACCCTGAAAGGTGCGACGGGTTTCTGTATCACCTTATTGGGGTCGTCTCAGAATTCGGAAAATAAAGCACGCTAAGGCGTAGTCACCCCGTGACTCCCCCGCGCCGATGCAGCGAGCTTCGTTCCGTCTTGCAGTGACGCAATCAGCGGGCAGAAAACGTTCCCTTTCCGCGCATGGCAGGCGCACACCAGTTCAGACAGCACGGCCTCCATGCGTGCCAAGTCGGCCATCTTCTCGCGCACATCCTTGAGCTTGTGCTCGGCCAGGCCGCTGGCTTCCTCGCAATGGGTGCCATCCTCCAGCCGCAGTAGCTCGGCGATTTCGTCCAGGCTAAAGCCCAGCCGCTGGGCCGATTTCACGAACCGCACTCGTGTTACATCCGCCTCGCCATAGCGGCGAATGCTGCCATAGGGCTTGTCTGGCTCCGGCAGCAGGCCCTTGCGCTGGTAGAACCGGATGGTCTCCACATTGACCCCGGCCGCCTTGGCAAAAACGCCAATGGTCAGATTCTCAAAATTAATTTGCATATCGCTTGACTCCGTACATAACTACGGAAGTAAGCTTAAGCTATCCAAACCAAATTTGAAAGGACAAGCGTATGTCTGAACCACAAAAGTCTGAACCACAAAACGGGCGCGGCGCGCTCTTCGCCGGTGGGCTGGCCGCCATTCTTGCGTCGGCCTGCTGCCTGGGGCCGCTGGTTTTGATCGCCTTGGGGTTCAGCGGGGCATGGATCGGCAACCTGACGGTGCTGGAACCCTATCGCCCGATCTTCATCGGCGCAGCGCTGGTCGCGCTGTTTTTCGCCTGGCGGCGCATCTACCGCCCGGCGCAAGCCTGCAAACCGGGTGAGGTCTGCGCGATTCCCCAAGTGCGAGCTACTTACAAGCTCATTTTCTGGATCGTGGCCGCGCTGGTCCTGGTCTCGCTCGGATTTCCCTACGTCATGCCATTTTTCTATTAATCACAGGAGTTCATCATGAAAAAACTGTTTGCCGCCCTCGCCCTCGCTGCCGTTGTTGCCCCCGTGTGGGCCGCCACCCAGACCGTCACGCTGTCCGTGCCTGGCATGACCTGCGCCTCTTGCCCGATCACTGTCAAGCACGCGCTTTCCAAGGTTGAGGGCGTGAGCAAGACCGACGTAAGTTTCGACAAGCGCCAGGCCGTCGTCACCTTCGACGATGCCAAGACCAACGTCCAGAAGTTGACCAAGGCGACCGAGGACGCGGGCTATCCGTCCAGCCTCAAACGCTGATCCGTTAACCGAACTCGGGAGCGACACATGGGACTCATCACGCGCATCGCTGGCAAAACCGGCGCGCTCGGCAGCGTCGTTTCCGCGATGGGCTGCGCCGCCTGTTTTCCTGCCATCGCCAGCTTTGGCGCGGCCATCGGACTGGGCTTCTTGAGCCAGTACGAGGGGCTATTCATTGGCATCCTGCTGCCGATGTTCGCCGGCATCGCGTTACTCGCCAATGCTATCGCTTGGCTCAATCATCGACAGTGGCGACGCACGGCGCTCGGCACGATAGGCCCGATCTTGGTGCTGGCAGCGGTGTTTTTAATGCGGGCTTACGGCTGGCAGAGCGGTGGACTGCTCTATGTCGGCCTGGCCTTGATGGTTGGGGTGTCGGTCTGGGATTTCATCTCGCCAGCACATCGCCGCTGCGGGCCGGACAGCTGTGAATTGCCAGAACAACGTGGCTGACGGCAACAGCCGTAGCCACCACAGAAAAGGAAAAATACATGACCACCCTGAAAATCACCGGGATGACCTGCGACTCGTGCGCGGCTCACGTCAAGGAAGCCTTGGAGAAAGTGCCCGGCGTGCAATCGGCGCTGGTGTCCTATCCGAAGGGCACAGCGCAACTCGCCATTGAGGCGGGCACGTCATCGGATGCGCTGACTACCGCCGTGGCCGGACTGGGCTACGAGGCAACGCTTGCCGATGCGCCACCGACGGACAACCGCGCCGGCCTGCTCGACAAGATGCGCGGCTGGATAGGGGCCGCTGATAAGCCCAGTGGCAACGAACGCCCGTTGCAGGTCGTCGTCATTGGTAGCGGTGGAGCCGCGATGGCGGCAGCACTGAAGGCCGTCGAGCAAGGCGCGCAGGTCACGCTGATTGAGCGCGGCACCATCGGCGGCACCTGCGTCAACGTCGGTTGTGTGCCGTCCAAGATCATGATCCGCGCCGCCCACATCGCCCATCTGCGCCGGGAAAGCCCATTCGACGGCGGCATGCCACCCACACCGCCGACGATCTTGCGCGAGCGGCTGCTGGCCCAGCAGCAGGCCCGTGTCGAAGAACTCCGTCATGCCAAGTACGAAGGCATCCTGGACGGCAATTCAGCCATCACCGTTCTGCACGGTGAAGCGCGTTTCAAGGACGACCAGAGCCTTATCGTTAGTTTGAACGAGGGTGGCGAGCGCGTCGTGATGTTCGACCGCTGCCTGGTCGCCACGGGTGCCAGCCCGGCGGTCCCGCCGATTCCGGGCTTGAAAGAGTCACCCTACTGGACTTCCACCGAGGCCCTGGCGAGCGACACCATTCCCGAACGCCTTGCCGTAATCGGCTCGTCGGTGGTGGCGCTGGAGCTGGCGCAAGCCTTTGCCCGGCTGGGCAGCAAGGTCACGGCCCTGGCGCGCAATACCTTGTTCTTCCGTGAAGACCCGGCCATCGGCGAGGCGGTGACAGCCGCTTTCCGTGCCGAGGGCATCGAGGTGCTGGAGCACACGCAAGCCAGCCAGGTCGCCCATATGGACGGTGAATTCGTGCTGACCACCACGCACGGTGAATTGCGCGCCGACAAGCTGCTGGTCGCCACCGGCCGGACACCGAACACGCGCAGCCTGGCATTGGAAGCGGCGGGGGTAGCCGTCAATGCGCAGGGGGCCATCGTCATCGACAAGGGCATGCGCACCAGTAGCCCGAACATCTACGCGGCCGGCGACTGCACCGACCAGCCGCAGTTCGTCTATGTGGCGGCAGCGGCCGGCACTCGTGCGGCGATCAACATGACTGGCGGCGATGCGGCCCTGGACCTGACCGCAATGCCGGCCGTGGTGTTCACCGACCCGCAGGTCGCCACCGTGGGCTACAGCGAGGCGGAAGCACATCACGACGGGATCGAGACCGACAGTCGCCTGCTAACACTGGATAACGTGCCGCGTGCGCTTGCCAACTTCGACACACGCGGCTTCATCAAGCTGGTCATCGAGGAAGGTAGCGGACGGCTCATCGGCGTGCAAGCGGTGGCCCCGGAAGCGGGTGAACTGATCCAGACGGCGGTGCTCGCCATTCGCAACCGTATGACCGTGCAGGAACTGGCCGACCAATTGTTCCCCTACCTGACCATGGTCGAAGGGCTGAAGCTCGCGGCGCAGACCTTCAGCAAGGACGTGAAGCAGCTTTCGTGCTGCGCCGGATGAGGAAAAGGAGGTGTTCAATGAGCGCCTACACAGTGTCCCGGCTGGCCCTTGATGCCGGGGTGAGCGTGCATATCGTGCGCGACTACCTGCTGCGCGGATTGCTACGGCCGGTCGCGTACACCACGGGCGGCTACGGCTTGTTCGATGACACCGCGTTGCAACGGCTGCGCTTTGTACGGGCTGCCTTCGAAGCGGGTATCGGCCTGGACGCACTGGCGCGGCTGTGCCGGGCGCTGGATGCTGCGGACGGTGACGGTGCGTCTGCGCAGCTTGCCGTGTTGCGGCAACTCGTCGAGCGTCGGCGCGAGGCCCTGGCCAGCCTCGAAATGCAACTGGCCGCCATGCCAACCGAACCGGCACAGCACGCGGAGAGTCTGCCATGAACAGCCCAGAGCACTTGCCGTCTGAGACGCACAAACCGATCACCGGCTACTTGTGGGGCGCGCTGGCCGTGCTCACCTGTCCCTGCTATTTGCCGATTCTCGCCATTGTGCTAGCCGGCACGACGGCCGGCGCGTTCATCGGGGAGCACTGGGGTATTGCAGCCCTCACGCTGACCGGCTTGTTTGTCCTGTCTGTGACGCGGCTGCTGCGGGCCTTCAAGGGAAGATCATGACCGCTTCCCAGCCAGCCGAGAGTGGGCAGCTTTGAGCTTCGCTACCAATCTGGAGGAGTACCACCATGAACGCAAACGCCCCGAACACTGCCAGTTGCACCACCTGCTGCGTATGCTGCAAAGAAATTCCGCTCGATGCCGCCTTCACCCCGGAAGGCGCGGAATACGTCGAACATTTCTGCGGGCTGGATTGCTATGAACGCTTCCAGGCACGCGCCAAGGCCGCGACAGAATCTGACATTGCGCCTGTCCCTGGCGGTTCGCAGCCGTCAGATTGAGGCATACCCTAACTTGATGTCAGATGCCATGTGTCATTTTCAGAAGACGACTGCACCAGTTGATTGGGCGTAATGGCTGTTGTGCAGCCAG
CATGGCATCTGACATCAAGTTAGGGTATGCCTCAATCTGACGGCTGCGAACCGCCAGGGACAGGCGCAATGTCAGATTCTGTCGCGGCCTTGGCGCGTGCCTGGAAGCGTTCATAGCAATCCAGCCCGCAGAAATGTTCGACGTATTCCGCGCCTTCCGGGGTGAAGGCGGCATCGAGCGGAATTTCTTTGCAGCATACGCAGCAGGTGGTGCAACTGGCAGTGTTCGGGGCGTTTGCGTTCATGGTGGTACTCCTCCAGATTGGTAGCGAAGCTCAAAGCTGCCCACTCTCGGCTGGCTGGGAAGCGGTCATGATCTTCCCTTGAAGGCCCGCAGCAGCCGCGTCACAGACAGGACAAACAAGCCGGTCAGCGTGAGGGCTGCAATACCCCAGTGCTCCCCGATGAACGCGCCGGCCGTCGTGCCGGCTAGCACAATGGCGAGAATCGGCAAATAGCAGGGACAGGTGAGCACGGCCAGCGCGCCCCACAAGTAGCCGGTGATCGGTTTGTGCGTCTCAGACGGCAAGTGCTCTGGGCTGTTCATGGCAGACTCTCCGCGTGCTGTGCCGGTTCGGTTGGCATGGCGGCCAGTTGCATTTCGAGGCTGGCCAGGGCCTCGCGCCGACGCTCGACGAGTTGCCGCAACACGGCAAGCTGCGCAGACGCACCGTCACCGTCCGCAGCATCCAGCGCCCGGCACAGCCGCGCCAGTGCGTCCAGGCCGATACCCGCTTCGAAGGCAGCCCGTACAAAGCGCAGCCGTTGCAACGCGGTGTCATCGAACAAGCCGTAGCCGCCCGTGGTGTACGCGACCGGCCGTAGCAATCCGCGCAGCAGGTAGTCGCGCACGATATGCACGCTCACCCCGGCATCAAGGGCCAGCCGGGACACTGTGTAGGCGCTCATTGAACACCTCCTTTTCCTCATCCGGCGCAGCACGAAAGCTGCTTCACGTCCTTGCTGAAGGTCTGCGCCGCGAGCTTCAGCCCTTCGACCATGGTCAGGTAGGGGAACAATTGGTCGGCCAGTTCCTGCACGGTCATACGGTTGCGAATGGCGAGCACCGCCGTCTGGATCAGTTCACCCGCTTCCGGGGCCACCGCTTGCACGCCGATGAGCCGTCCGCTACCTTCCTCGATGACCAGCTTGATGAAGCCGCGTGTGTCGAAGTTGGCAAGCGCACGCGGCACGTTATCCAGTGTTAGCAGGCGACTGTCGGTCTCGATCCCGTCGTGATGTGCTTCCGCCTCGCTGTAGCCCACGGTGGCGACCTGCGGGTCGGTGAACACCACGGCCGGCATTGCGGTCAGGTCCAGGGCCGCATCGCCGCCAGTCATGTTGATCGCCGCACGAGTGCCGGCCGCTGCCGCCACATAGACGAACTGCGGCTGGTCGGTGCAGTCGCCGGCCGCGTAGATGTTCGGGCTACTGGTGCGCATGCCCTTGTCGATGACGATGGCCCCCTGCGCATTGACGGCTACCCCCGCCGCTTCCAATGCCAGGCTGCGCGTGTTCGGTGTCCGGCCGGTGGCGACCAGCAGCTTGTCGGCGCGCAATTCACCGTGCGTGGTGGTCAGCACGAATTCACCGTCCATATGGGCGACCTGGCTGGCTTGCGTGTGCTCCAGCACCTCGATGCCCTCGGCACGGAAAGCGGCTGTCACCGCCTCGCCGATGGCCGGGTCTTCACGGAAGAACAAGGTATTGCGCGCCAGGGCCGTGACCTTGCTGCCCAGCCGGGCAAAGGCTTGCGCCAGCTCCAGCGCCACCACCGACGAGCCGATTACGGCAAGGCGTTCGGGAATGGTGTCGCTCGCCAGGGCCTCGGTGGAAGTCCAGTAGGGTGACTCTTTCAAGCCCGGAATCGGCGGGACCGCCGGGCTGGCACCCGTGGCGACCAGGCAGCGGTCGAACATCACGACGCGCTCGCCACCCTCGTTCAAACTAACGATAAGGCTCTGGTCGTCCTTGAAACGCGCTTCACCGTGCAGAACGGTGATGGCTGAATTGCCGTCCAGGATGCCTTCGTACTTGGCATGACGGAGTTCTTCGACACGGGCCTGCTGCTGGGCCAGCAGCCGCTCGCGCAAGATCGTCGGCGGTGTGGGTGGCATGCCGCCGTCGAATGGGCTTTCCCGGCGCAGATGGGCGATGTGGGCGGCGCGGATCATGATCTTGGACGGCACACAACCGACGTTGACGCAGGTGCCGCCGATGGTGCCGCGCTCAATCAGCGTGACCTGCGCGCCTTGCTCGACGGCCTTCAGTGCTGCCGCCATCGCGGCTCCACCGCTACCAATGACGACGACCTGCAACGGGCGTTCGTTGCCACTGGGCTTATCAGCGGCCCCTATCCAGCCGCGCATCTTGTCGAGCAGGCCGGCGCGGTTGTCCGTCGGTGGCGCATCGGCAAGCGTTGCCTCGTAGCCCAGTCCGGCCACGGCGGTAGTCAGCGCATCCGATGACGTGCCCGCCTCAATGGCGAGTTGCGCTGTGCCCTTCGGATAGGACACCAGCGCCGATTGCACGCCGGGCACTTTCTCCAAGGCTTCCTTGACGTGAGCCGCGCACGAGTCGCAGGTCATCCCGGTGATTTTCAGGGTGGTCATGTATTTTTCCTTTTCTGTGGTGGCTACGGCTGTTGCCGTCAGCCACGTTGTTCTGGCAATTCACAGCTGTCCGGCCCGCAGCGGCGATGTGCTGGCGAGATGAAATCCCAGACCGACACCCCAACCATCAAGGCCAGGCCGACATAGAGCAGTCCACCGCTCTGCCAGCCGTAAGCCCGCATTAAAAACACCGCTGCCAGCACCAAGATCGGGCCTATCGTGCCGAGCGCCGTGCGTCGCCACTGTCGATGATTGAGCCAAGCGATAGCATTGGCGAGTAACGCGATGCCGGCGAACATCGGCAGCAGGATGCCAATGAATAGCCCCTCGTACTGGCTCAAGAAGCCCAGTCCGATGGCCGCGCCAAAGCTGGCGATGGCAGGAAAACAGGCGGCGCAGCCCATCGCGGAAACGACGCTGCCGAGCGCGCCGGTTTTGCCAGCGATGCGCGTGATGAGTCCCATGTGTCGCTCCCGAGTTCGGTTAACGGATCAGCGTTTGAGGCTGGACGGATAGCCCGCGTCCTCGGTCGCCTTGGTCAACTTCTGGACGTTGGTCTTGGCATCGTCGAAGGTGACGACGGCCTGGCGCTTGTCGAAACTTACGTCGGTCTTGCTCACGCCCTCAACCTTGGAAAGCGCGTGCTTGACAGTGATCGGGCAAGAGGCGCAGGTCATGCCAGGCACGGACAGCGTGACGGTCTGGGTGGCGGCCCACACGGGGGCAACAACGGCAGCGAGGGCGAGGGCGGCAAACAGTTTTTTCATGATGAACTCCTGTGATTAATAGAAAAATGGCATGACGTAGGGAAATCCGAGCGAGACCAGGACCAGCGCGGCCACGATCCAGAAAATGAGCTTGTAAGTAGCTCGCACTTGGGGAATCGCGCAGACCTCACCCGGTTTGCAGGCTTGCGCCGGGCGGTAGATGCGCCGCCAGGCGAAAAACAGCGCGACCAGCGCTGCGCCGATGAAGATCGGGCGATAGGGTTCCAGCACCGTCAGGTTGCCGATCCATGCCCCGCTGAACCCCAAGGCGATCAAAACCAGCGGCCCCAGGCAGCAGGCCGACGCAAGAATGGCGGCCAGCCCACCGGCGAAGAGCGCGCCGCGCCCGTTTTGTGGTTCAGACTTTTGTGGTTCAGACATACGCTTGTCCTTTCAAATTTGGTTTGGATAGCTTAAGCTTACTTCCGTAGTTATGTACGGAGTCAAGCGATATGCAAATTAATTTTGAGAATCTGACCATTGGCGTTTTTGCCAAGGCGGCCGGGGTCAATGTGGAGACCATCCGGTTCTACCAGCGCAAGGGCCTGCTGCCGGAGCCAGACAAGCCCTATGGCAGCATTCGCCGCTATGGCGAGGCGGATGTAACACGAGTGCGGTTCGTGAAATCGGCCCAGCGGCTGGGCTTTAGCCTGGACGAAATCGCCGAGCTACTGCGGCTGGAGGATGGCACCCATTGCGAGGAAGCCAGCGGCCTGGCCGAGCACAAGCTCAAGGATGTGCGCGAGAAGATGGCCGACTTGGCACGCATGGAGGCCGTGCTGTCTGAACTGGTGTGCGCCTGCCATGCGCGGAAAGGGAACGTTTTCTGCCCGCTGATTGCGTCACTGCAAGACGGAACGAAGCTCGCTGCATCGGCGCGGGGGAGTCACGGGGTGACTACGCCTTAGCGTGCTTTATTTTCCGAATTCTGAGACGACCCCAATAAGGTGATACAGAAACCCGTCGCACCTTTCAGGGTTTTCCCACATCGATTCACAATACTCGTCATAGGCTTTCTGGATAATTGCCGGGGACAACATGGACAGCTCCGGGTAAAGAGCCTGGAATTGCTGGTAGTGTTCCGGATCTTGCTCGTCAACGTCCCAGGATTTGAGCTCCAGCTGCTCCAGTCCGAACTCACCCGCCCGTGACCACAACGAAGAGATACACTCCGGATTTCCCATGTATGCGTATGTCGCAGCGATAGCGTGGTTCCATTCCCACTCCGCCGATTTTATCCCGTTGAACAGTGATTCGGTAACCGGTGCGAAGCCACTGACAAAATCCGTGTTCCAGAGATGTGTGTAGGCACTGGCATCTTCAGACACCGGCACATCCCATTCAGGTCGTGGGGGAAGACGGTCCAGGGTAAAGGGCTGGCGAAGGACCATGGACTGCCCCCTGTAGACAAAATCCCCCTCACCCTCGACAGGATTGCCGAGAAGTAATCTGGCCGCATCCGCATTACAGGATTCACGGTCGGGATATTTCCGGGGCAGATACGCATTTAAATAGGGGTGATAGATCGCCTGACTATGGTCGATTGTATTGGTCTCACGAGAATACGGCTCGGGGAATACCGACCACGCTTCAATAGCCTCTGCGGCGGTCATTGTTGCCTTCGGAACGAGAGCTAAGGCTGATTCCAGGTTGTGGCCATTCTGTTTTACCAGCTGGACAAGTTTCTCGAACACAAAAACATTTTCGCCATTTACCTGATAGCTCACAGCGGGGATGCCGTCTATTGAACGGAGTCTTTCACGAAGGACATCATCGCTCATATGGAAATTGTGAAACTCATCCAAACAAAAAAATCTACCAGAAGGTATTTCACTGCGCATACCGTATTCCTCACGAATTAATGCTCAAATACAGACCGGTCAAAAGAGATGTCAATCATAGCATCAGGCAAGCCGGTGACTAACAGGTTGCATAACCTCATTATCATTGGGAGATGTGCCCCTCCGCCGCCTTGCCCGAATCGACCTTGTTCGGTCATCGTGAAAGTCTGTTTGCTATTGTCGTTGGGGATAAACCATCAAGCTTTTCAGCATCGCGCATCAAGTCCGCAACCCCTTTGCTGGCGTGCCCCAAATCAAACACTACGACCGGGCCAACCTCTATACCCTGCCCAAGAAGCGCCGGATCAATCACTATGATCTGACCTAAATGCTCTGATTTTTTCTCAGTACTGAACATCGTAACCACTCTTATTAAAAGCTAACGTGGATGGTGTAACTTGAACTGGTGACTGCCCGGAGACAACAGTTTTCACAGATAAAGCGAATATTTTGCATGTCCTCATCCCACATAGTGTCCGACTCAAACCCAGGTCGTGCCCACCCGACCATCCAGCCCGCTTCAATACACCCTATGTGACAATCGTGCCCTGACCAGGCCGCACGCGAATTTTGAGGAAACAGGGAGAAAATAAAAAGAAAACAAAAAGTTATCGGCTGAAGTATTTGCACTGATCTCAAATCAGGCGAAGCCTGACAGCACGTATGGGTCTGGCAGGGGACTTTAGGGATGAGGACATGCAATTGTGATAACCCTCCCGCCACGGGGTCGGTTAAATTCGTATCCTGCCGGTGCAATTCCAACGGACGCATTACCAGTTCGCCGGGTAGCATGGCCAACAAAGCCAGGCATCGAGCACACGGGTTTCACTGACGGCCGCTGCATAGACGCCGGTATCCGGGAAGAAATAAACCGGGGTGGCGTTGTTCAACTGGTCGCCTTCATCGGCCAGAGCACCGATCACCTCATGAGGCTTCAGCAGCATATCCGTTAAATATTCATCCGGGTGGATGGCATTCAGCGATATGGCCAGCTCCAGAAATTCATCCAGGGTGTGGCGGGTACGATACCCCCGGAATACTTCGTATGAAGGCGAGACGCATTCTCCATACTGGGAACAGGCATCATACCCGGCCAGCTGCTCTTCGGTGAATCTGGAGGCATGCTTTGCCACGAGACTCGTAAACTGCTCTTTATCGTCCATCACAATCCTTACACTGTAGGGGCCTGTTTTGTCAGACGCGACCACCGGCTATGAACCGACAAGACGTCAGTCGCCTGCCAGCCCGGGCGAGGTGGAATACAGTTTACCAGTTCCGGCCGACCGACTTTGCTGCCAGGAGACGCTAAATACACTAATATTGAATCGTTGCATCTTCGATATCCGGGTGACATTCTGGTTCCCGGCTTTTCTGATCGGGTATGTAATGATCAATGCCCCCTCCCCCAGGATAAAATTATCAGGGCGCAAGGGTAGCTGGAGGAAGGATGGATACCATACATTTCTGCTTAATGCTTTTTTTTTGCTTCTGACGTTCTGGTAATCTAATTTTTATCACGATTTGAAAATGATAAATGGAATACACGTAATGAGTTACGCCCACCTTTTTGAAAATTGCGATCATGTTATTGAGGGCAACATTCTCCTCGACATTGCGAGTATTCCGCCCGTTCTGAAAAAGGCCCTGATCTTTCTCATCCAATCCGGACTGGAGCGGGAGGCATTTAACGCTCAATTAACAGAGCTCTTGATATTACCGCAGCCGAATTGTCAGCCCACCTGCTTACTCCGGGAAACGCCTGAATGCGGTTCTTTGTCTTTACCTTGTTTTAATTTCACTACATGCTAACGTATGCATACATTAGGCAAAATGGTTTCTCCAATGGAAAAGACGCAATCACCCGCAGAGCGCTTTTACGAAAGCATTTATTATTCTGATGAAAGCCTGGAAGAGGATTACCTCGCGGAGCTCCGCAATTTCAGCAGCGACCACTGGGACACTGCACTGCGTGCCGCCCGTTTGTCTGCGGCGGTAAAGCGTTTCAAGACATCGGAGATGCTTCGCTTCATTCTGGAATTCGTTGTTCCCGAGAACGCTCAGGAAGACGCCCCCGATCTGACACCGCTCGCAGCGAAGCGGCTTTGCAACTCCCTGTTCGGCCGGTCTGGTAGCCAGTCCATTCTTGTCTATGTCTTTGGCCAGGCAGGCCGTGTGCATCGCAGTGCAACCTGTTCCCCCAAAACCATAGAGGCTATCGCTGCTCTTTATCGTTCTGACGCTGAACGCTACTGGAATTCAACTCTTGCGACAATTGAAAGGGTCAAACACACCTACCGCGCAAAAATCCGAAACTCCTGATCCAGTTATTAGACCTTACGCCTTAATGCTAATGTATGCGTCCATTAGCTTTAAGCGAAGACGGACTTATTCAGGATGCTTTTACCAAAGAAGAACCACTGGGATTGGTTTTGATGGCTGTGCCAATTTATATTACCGGTCTGATCATGATAGGTACTCTGTTCACATGTAAGAAATGAACAGCCTGTTTCTGTTTAAGGCGAACAGGTTTATTCTCTTCACGCTTCCATGTCCCCCCATAATTTCCCATCCCTCTTCAGAGCAATGAGTAATTGTTTGGTCCTTCAGATTCTCCCACCCTACTGTCTTCGCAGGCCGTCAGGCAGACACTTTTAAGCCGGTGGTTATAGAGACCAATACGGACGATTTCCTGGAGATAATCCCTTTCCTCCACCGTTAGTAACTGCCCTTCCTTTGATTTTGTAATCATGTCCTGCCAGTTAAGCAATTTCTCGTAATTCACATGCTCACTGGTGTCGAGGCAATGCAGCCGGAAGTAACGCATAAACAGCGGGAATTCGTCGGTCTGGGCGATATCTGAAGCTCTGACGGTGAGCCGACACAAACACACAATGGTGGCCTGCTGCATTCTTATCAGCACATTCATGCTCTGGGGTAAGTTGTCCGGCAGCTTCAGGGGGCAGTCGGAAAGGCGTTGTAGAAGTGGTCCTGCTTCCGCTGGCTCGCGGCCCTCATATACCTTCAGGGGCTCGGTCCCCAGTTCCTGCATCATGGGGTGATACAACCATTCGCGTGACTCCGTCGCATCAATGATGATTTTCTCGATACATTCACTGTAGGTACCATCTCGTCTACCAAGCTGAACCTGACTGATTTCGTATTCTATATCCGGCAGATCAATGCGCAATGCAGCTACCATCTCCGAGGCATGGAGATGGTCGAACGTCAGTTTCCCGGCCACACTGCGGTCAATGTCCAGAAACACAGCTACGCAGAGATCGTTCACCTTCACAAACAGATCTGCCGTTGCGCCGAACATGCTTCCGCTGCCGCTGACTTCATCAAGTGGGACCGTGCCTCCATCGTAACCGGCCAGAAGATGCGGGAATCCTAGAAGTTGTTTTTCCTGAATAATTTCAATAATTTTTCCCCGAATCGCCTCCATCAGGCCATCACAATCACCGAGGAGATCGGTACTGTGGCTATAGTGCCAAAGTTTGACCTCTCCCTGTCTGGCTATCAAATCCGTACGACACCCAGGACAGATGCAGTTGCATGCGCTTCCTCTGCTGACTTCCGTGATGTCCAGAAACCGTCCGGTTTCGCGATGGAGTCCGAAAGGAATCCCATAGGTATAGCTCTTTCGCATGTCAGTGCCCCCGCTGAATACATACCTTCACTATATCGGGCGAAGACAGCATGACACTTCGATAAGAAGACTATTTTTCGTGAGATTTTAATACCGTAACTGAGCGGATTGATAAAACGATGATGATTAGACACGGGTGAAAAGTTACTTTTCCGATTGCCAAAACCTCCACCAGCAGTGTGCCATATTAATCTGGACGGATTCGGAATTAACGAGCGTTTCTTCAGCTGACTCATTTTTTGGCCGAAAATGGCTTTGTTTTATACACCGCAATTACCTTCAATGCAGTTTGTGGTTATTAATATAATCCATTATAAATTTCATGAGCTCCGGGTCACTTCGGGCTGAAAAAAGGACTTTCGCTACTTCTTTCATTGCATTTGTCGCATTACTGGGTAATGACTCCAACTTACTGATAGTGTTTTATGGTCAGATAATGCCCGATGACTTTGTCATGCAGCTCCACCGATTTTGAGAACGACAGTGACTTCCTGCCCAGCCTTGCCAGATGCTGTCTCAGATTCAGGTTATGCCGCTCAATGCGCTGAGTGTAACGCTTGCTGATAACGTGCAGCTTTCCCTTCAGGCGTGATTCATAAAGCGGCCAGTCATCCGTCATCCATACCACGACCTCAAAGGCCGACAGCAGGCCCGGAAGACGCTCCAGCGTGGCCAACGTGCGTTCACCGAATACGTGCGCCACAACCGTCCTCCGTATCCTGTCATACGCGTAAAACAACCAGAGCTGGCGTGATTTAGCACCGACGTAACCCCACTGTTCGTCCATTTCCGCGCAGACGATGACGTCACTGCCCGGCTGTATGCGCGAG
NODE 7 50227 3694305 3694305 0 0
TCCTTTAATCGCCAGGCTATGGGGAAGCTGGTCTCGTAGCGTGGCATTTAACCCCCTTAATCGCCAGACTATGGGGAAGCAGGTCGCGTAGTGTGGCATTTAACCCCCTTAATCGCCAGGCCATGGAGAAGCAGGTCGCGTAGCGTGGCATTTAACCTCCTTAATCGCCAGGCCATGGAGGAATGCTGGTCTCGTACCATGGCATTTAACCCCCTTAATCGCCAGGCTATGGGGTAATGCTGGTCGGGTACCGTGGGATTTACCCCCCTTATTGCCACATCTATGGAGTGATCCTGCTATGTCGGAAGATTGGTATTGTTGATACTTAAGAGGCTTTTGGAAGACTTCAATGAACTGCCAATTGAAATTCAATAATGCAGATATTCCAAAATCTAAGAAAAGAATACAGAACGTTAGCGTAATAATAGAATTAAGGTTACTATTAAACGCATAACGCTAAAGTATACGCATTATGCGTAAAGTTTACGTATATACGTTTAATTTCACTATTTAGGTAAAAGGGATCGGAAGAGAATGAATCTAATTGATAAGATCGCCCTTGTCGGTCAACGCATGAAGAGCGAGCAGATCTCTCTGAAAGAGTCATTATTGGTCTCTTCGAGGGTTTCGGTATCGGATGATAGTGTAGACGGTGTTGATCGCCTAATCTATAACCACTGCTTGAATAAAAAAAATCTGTCAGATTTTTTTGGTAAATCTCGCGTAACTTTTAACAAAATCTTAGCGGATCTTGAAGAAAAAGAACTGGTTGGTGCTCCTATCTACCAGAACAAAAACCATCTCTATACCCGCTGGGATGTCCAGAAAATAATGGATGCTCTGAACTATCCTCGATATAGCGACTACTACTGTAGCCGTACAATCGTAACGCAGAACCATAAGGGTGGTACGGGGAAGAGTACAACTTCAGGCGTTCTTGCAGTTGCGGCAGCACTTGATTTGCATCTAAACGCGCGGATACTGTTGATCGAATGGGACCCACAAGGGTCTATTGGAAGCGGGATGATCCAGAGCGTAGCGGAAGATGATGTTTTCCTGACTGCTATTGACGCCATCTTAGGGGTTTACGAAGAAGACTCAGATTACAGAAAATATCTTGATTTAGGGTACTCGGAAGAACAAATTATTGAAGGTATGCCTTTTTCAACACACCTTCCGAATCTTGATGTTATTACCGCATTCCCTACAGATGCACGTTTCAAAGATAAATACTGGCAGTGTTCCAGAGAAGAACGAACTGAGTTATTACTACGTTTTAAAGAGGTAATCCTGCCGGTCTTGAAGAGCAAGTACGACCTGATCATTATCGATACTCCACCAGAAGATTCGCCAATCACATGGGCAGCGGATGAAGCTGCTGATGGCATTTTGGTTGCCGTTTCACCTCGTGAGTATGATTATGCCTCAACAACTGATTTCATGTTGACGATCAGTGAGCGATTCAAACAATCGCCGAGCAAGGGCGAAAATCTAAGCTGGTTCAAAGTGTTGGCAGTGAATGTCGACGATAAGAGTCCCTATGAAAAGATTGTCCTGGATAAACTGGTAAGGACAGTGCAGGAACTCTTTATGTCTGCAAATATCAAAAACTCAGAAGCGTTTAAAGCCGCAGCTTCTAGGGGTAGAACCGTATTGGATATCAAAAAATCAGAAGAGCTCTGCTCTCCCAAACAGCTTGATGTTGCCGAAGAATCCGTGATGGCGGTCTACCAGCAATTTATTAATGAGATTAAGAGTTTTTCAGTGAAGCAAGGGGGTAATGTATGAGTGATGAGCAGCATATCGGGAACGACAAATCCCGTTATATTAATGCGCCTAAGCGTACTGAAGTAATCCATCGCTCCGGGCTTCAAGGCCTGAAAGGTCAGCCACGCCTGAAGAAACTTTTTACATTACACAATGGGCGGAAGCTTGAGGCGGAACACATCATTGTTCCGGCGGAAAAGGTGGAACTGGAAACCACAGTACACCCTCTGAACCCACGAAATCAGGAGGCTCTTTCTGTAAATGCAGTAAGAGATATTCTGAAGGACATTGAAGCAAGAGGTGTTGATACTGAGGGCGTTGCAGTTAAGCGGAACGGAGTGTATCTGCTAATAGAAGGTAGCCGCAGGCGTTTCTGTTGCATTCAATCAGCAAAAGAATTGCCATTATGGGTTTTGCCTGATGATGTTAACGCAGATGATATTAATTCCATCATATCAGCAACACAAACTTCTCGACGCTTTTCATATCGTGAAGTAGGTTTAAAGTATTTAAGGGAAATGGAAGAGCATGGATTTGTTACCAATGAAGAGCTTGCAAACTATCATGGTATCAGTCACGTGTCCGTCTCTAAGCGAGTTCAGGCTGCAAAGATTAACAGCACTCTTATTGCACTGTTTCCTGACTATGAAGCTATTCCGAATTCTTATTACAATCGCCTATTCCGACTTCAAAAATATATAGAGAAGAATTTATTTTCTCTTGAAGAAGTTGTTGAGAATACACGTGAGGAAATTCGAGATCTGGATATTTCTGATATTGCTGAAGCACAGAAAACCGTAATGGAGAAGATTACAACGGTAGTTGAAAAACTTGATATTAAACCACCTAGCAAAGGTTGGGATACACGTGAATTGGCAACTTTTACTAATAAAGATAAATATGCAAGAATTAGCAAAAGTTCCTCGGGGCGTAAAATCCGTTTTGAGTTTAATAGAATGAACCGAGAATTAATTGACGAAATTGAGAAGTTTATAAAATCAAAACTGAGCGAAATGAATAATTAAAATCAAAAAATATCCGCATCATTAGATGCGGATGAAATTATTCATGTACGCTTTTATTTAGTCTACGCATTACCAAGTCCTAAAAGAAATCAATAGCAAAAATATCTTAACTATCTGATAATGATGGGTTTTAACATATACGGTATTGTTAAGCAGGCCCCAAAGATTGGGGCCTAGAAGTGTTATTGAACAGGGTGATGGGCCGGTTCAGACAGAAAAGGTCTTAGATCTATATGAACCGCTGCTGCATTACTGTCATTGGTCACGTTTAACGGGGCCTTACCCGGTAAAGACATAGTGGCAACGTCTGGACCAGAAACAGTAAAATTATTTTCTGCATTTGGCATTACTGTGAAAATTTTAATAGCTACATTCTCATGACGATACATTGAAATTCCGAAAGTTGATCCAGCTTCAGTATTGCTGACATCAACTTCAACCGGTGTTTTCCCGATCACTTCATTAGTAAGTATATTTTTCACAATTGCACCTTCTGGGGCAGTGTAAATGCGATAAGGGTAAGCACTTGCAGTCTGGCAGAAAAAAATACACAAAACGGTCAATATATATTTCATGATTGCTCCTTTTGCAAAAATTCTAAATCAAATGATTGAGTGACTACAATTTGTTTGGAATCAAATGAACCTGGGAATTTATATTTAATACTGAACAGTAATGGCAATGTGAGTCCATCTCGTGAAGACTGTGAGATGTTCTTAAATGAGTTATTAATAAATGTTAATTGGTCATTGTTATCGTAACAAAGACCAAGTAAACCAACTGTGGGCACCGTAAAAATTGTAACTGAACTAGGTGATATCAACTGTTTTCCACGTGACGAATAGGTGCAACGACTCCCGCCGAGATTCAGATCAGACAACTCAATAAATTCTTTGGTCCCATTCTTGGCGAGTAACCAGACATCAGTGCCTGAACTCTCAATCAGAAAAGTAACTTTTCCGTCGGTGTAGGCTTCAGTTCTGTTGCTCATTATAGGGTCGAACCCTACCGAAGGGAGGACTGCAATTTTGCTTCCAACCGACTGACATCCAGTCACAAGTAAGGTAAGAATAAATGCTGAAACTTTAATCATTTTCAGTCCTCATAGTCGTTTTCTGTATGGTACTGATATCGAAGTTTTCTCCTGGGTAAATTTTCAACTCTTTGGTGAAATAATCTGAACCACCGAGGAGGTTGTTACGCTTTCCAACCCAAACGAACGACGAAAATTTAAAAGTCCTTACTTTTTCTGCCGCTCTGATCTTGTAGGTATGTGAAGGTAATAAAGATGCACTAGCGTCCTCCGGGATTGCGATAGCGGGTTGAAGTTTTTTGGGGGCATTGATACGTAATGCGATTTCTGGAGAGGGGACATAGTCGATTGACGATTGTTGTGAATCTGACGGTAGGGGCAGGGTGAATTTTTTACCCTGATCTGGGCCAAAAATGGCAATAACCTCTTTTTTCTGCTTTGTTACGGACACTAACGCCTGTAACGGGGTACTGGATAGATCATTGACGAATGAAATTGTCATGCTGGAACCAGGTTCTAACCAGAGAATTCGTTTCCCGGATGCATCTTCATCAAGGGAGATAAATTTTGATATAAACACGCCATTTTTTGCAATGATGGAAAATTCAATTTTGGGTATTACAAGATTTAAAGGAGTTGAAGCAGAGTCGTTTTCAATCTGAAGATAGTTACGCTTAGTCATGCTTGTTTTAATTACTGGTCTTTGTCGACCATCAACAAGCCACATTCCGTTGACGTAATTTGCAGCAATAGTAATAAATTCATAGTTAACCCCAGTTTTGGCATCAGATAGCTGGGACGACGGTATCGGGGTTTTAGTCGATGCATTTGTAATGTTGGATGGACCTAAAAATGCCAGCAACGGCAAAATTATCAGTTCTAATTTAAGCATTATAATGTGGCCTCTATATTATTATCATTTGAATCCAGGTTAAGTGGTGCAGTGTTTTGTGTGTAAATACCGTTTTTATTCAGGATCATTTGGTGGCAAATCAGGGTCGGTGTAGATGCCAGGATCAACTCGACCAGTGTTATTGCCGGAACTGTAGTAGGCGGAATACCTGGTGCCAGTAGTGCTGGGCTACTGATTTCTGACATGTACAGAGAACCTGTATTGATGTGGAGGCAGTTTCCTATGAGTACCGGTAAGTTAGTCAGCGGTAGCCCATGGGCCTTTCTGATGCTGTTAACTGGATTCCGACCCAATACTACGAGGTTTACATCGCTGACATTCACTGGCCTGACTGCGTGATCCATGCCGTATAGAAACTGACTCTGAAAAATATTCACATTTGCCTGATTAAAAGCGAGGAGGGCGTTATATGTATTGTTGAAGCCCTGCCGTATGTCTGTGTAATCGGATGGGCAAATACCTATAGAAATATTGCCTTTAAAAAGCACCTTCATCACAGTAGCCAGCTGGGTGGAGAGCAGTTTGCAGATTTCCTCTTCAAGATAGTTGCGGTTAATTTGTTTATGCCATCGCCCGCCTCTTGCACACCACCGTTCATTAAGAAATGTGCTTGGATAATAAGTCCTGCGGTCTTTATTTATGGGTAAGAGCTTTTTCAGCATCTCTTCTCCGGCCCCGGCAGCTGAGAACACACGAACAGAACGGCCGTCAAAAATCCCTGTGTTGATCGCTGTCATTAACTCCATAGGCTCAGGTCCATAATCGAAGAGATTTCCTGTGGAGAAAACGATCAACTCCTCATCAGGTTCTGATATCGAATGGATAAGGTTACATAGCGTCGAATAATGACCATGAGGGTCTGCCAGAAAGAAAACCCTTCCTGAAAAATTAGTCAGATCAATTGTCTGGACGTGCTCGGATGCCATAAATGCCTCTTTCTGAAATTGCATTAATACTACCGGATGAAAGTCATCAATTTTTTCGATAAGAGGGGTAATTTTTGTGAGTGTCCAAAATGGAGCTAGAAATCATTTTTCGGTTTCCGAGCCGTATCAACTGTAATGCACCTCAGTTGTTTTATTTTTGGTATAAAAACGCTGAGCAAAATATAGTTTTTGCGTGTGTTGCTCAGGTGTACATGAATCTAGGGTTGCATCTGGATTAAAACTGAAGGATTCTTTTTTAACAAGGACTTACGTTAGTGTTTTGTCCCGTTTAATGTTGACCTAAAGCAACCATTGGTGTATAAATTCCATAACAAAAGTGGTGGGCTAAATAAACCAATACGAGGGTTTCTGCATGACTGAATTAGCAAAAACAAAACTGGCTGTGGCTGAATCAAACTCTACTGAACTTGAGACACTCAAAGTTGTTATTGATGATGGTAGTAAAGCGGCAAAACTGGTTTGCACTAACAATCAAGGTGACCTTGTACCTTTATTGACTCAAAATAGTTTCGTTGCAGATTTCCGGGTAAGCCATGACGGACTTATTCCATTCAATTATCTAATTGATGGTCTTCAACGATTCTCGCACCACAGCGAATCAAGCAATGCTTTAGAAACTACCGACGTTGCGCATCAGTACGATGAAATCAGTCGTCTTAATGTTCACCATGCTCTACATTCCTCAGGTCTAATGCCACAGGATGTTCATCTCTACGTAACTTTGCCACTCAGTCAGTTTTATACCGCTCTGGGTGAAACCAATAATGAAAACATCCAACGAAAAAAAGACAACCTGATGAAGCCGGTGGAGCGTTATATTGATGGTAAACGTGTTTCATTTAATGTTGTTTCAGTTACCGTTTTCCCGGAATCCCTTCCAGCGGTAACGCGTGCTGATGAAATCGAATCAATTGAATCTTTTGAATCAAGCCTGGTTATCGATTTAGGTGGGACAACACTTGATGTTGCAAGCATTACAGGTCAGCTGGAACAGATCTCCAGTGTCAGGGGTTTTGACCGTATTGGTTGCTCAATCGTATATGATGAAATCCGTCGTTATTTGGATTCTGCAAAGCTGAATGCAAGTAACGCCTATATTCATCACCTAGTCGATAATCGTGAAAACAAAGCCTCGCTCAAGGTGTCCCCGGAAGATCTTGACGGCGTGTTCAATGCTGTTAATGGGGCTGTGGCGCAACTTCAAGAAAAAGTGATTAAAGCAGTCACTCAAGTGGAAGAACGGCCGCATAATGTTTTCCTTGTTGGTGGAGGTTCTTACCTGATTGAACCGGCAGTTCGTAAACATTTTGACAAATCGAAAATCATCATGGTTGATAATCCGCAATTCGCACTTTCACTGGCTATCGCAGATACTGTTTTTGCATGATGATGGTTTTGCATGATGATGGTTTTGCAAAGGGGAGAGTTTTATGACTAAAAAATCTGAGAAGGAAAACGATCGTATTCAGATTAGTGCGTTTTGGTTATCGGAACGACAATCTCCGTATGCATATAATTTTTTGAAAAAAAATTCCCTAACACATCGTGGCGAGCAGATTTCTCTAATAAGATCTGCAATCACTACGGGGTTAGTGCTAAATAATCTCTTCCCCGAGTTATCTAGTTTTATTAATGGACTGAATGAGAGATTAACAGCTGCTGATCTAAATCGATTTTTTAATGATGAATTTAATAAAGACAAATTAAACAATGAAAATTTGAAAGAACAAATAAGCTTTATGCTTGATTCGAAATTCAATGAATTATTTTCAATGATTAATGGCTGTGATTTTTCTAAGGCAACTTTTTCAACTACTAGTCAATCTGATGTCAGTGAAACATTAAAGGCAGAGAGGGTAAGGGATCAGCGGCTGGAATTAATACCTAAAGAACTGACTGTAAATCCCAAACCTGAGACTTTAGAGATTTTAACGCCGATTGAGAGCGCAAAAAAGAATGATTCAGGTTTAAATACTAGTCATGGTTCTGCTGCTGTTAGCGCCTCACAAAGCGAAAACACGGTGCTGAGTGAACATGCGCAAATCCAAGGTGTGACAAGGAAGCCGAAGAAAAAGGCCAATGCAAACCTCGCAAATCTTGCGAAGTAAGTATAGTAATATCAATTGATTAGATTGAGTTATCTATTAATAAAAAGTCAGCTTACCAGCTGGCTTTTTTTTGGTATATTATTAACAGGTGAGGGGGAATGGTAAACCGGTTTCATGTACTAAATGAATCCCTCGTTGTCACATCTCCAGTTAAGCCAGTTTGAAGAATTATAGAGCCAGTTCTAAGAAATCATTAAAATTCGCGTGGGTTGATTCAGGTCGAACCAGTTACGATTTTGGATAAATTAATTTTGGTTAGGTAAACCACTAAAAAAAGGTGGTTTAGGCCCCGTTTACTGTTCTTTGTTTGCACGATGTATGTATAGGTGTTAAAACGGGTACAGATTTTTCCTAAAGTATTGGCTGAGATAGGAAATATCTTAATAAAATTGGTACTTATTTATTATTTTATGTAAAAAATCTCTATGCTTTACTGGTTAAGTTAGATTTTTTTGTTACCCTAACCCATAAGATCTTAATGGTTACTACGCTGCAAGCGGGAAGATGGTAAGGAACTAGCGGGATCATGTGTAACTATCTGATTATTATAATAAAGGCTGACTGAATGTTATCACGCAACTCACTAATACACGGTTTACGTCGAGATCAGTTAATCGAAGTTCTGTCTATTTCTGAATTCCCAGTTGTCCTGGTCGAGAATCCCTTCATTCAGCCTAAATCAACAGGCAAAAAACCAGTCATTTTTAATATTGATGAATTTCATGTTTCCATTGCCCCAATTTCATCGCTTAAGTACGACTGGGAGTGGGCTCCAATTGATACAATACTCATCGAAGTGGTCATTCCGCCTGCTGAAGCAGACCTGGTAAGCGCCGAGAATGATTTCCTTCGCGATGCAGGTATTGGCCATATTCAATGCGAGCCTGGAGGCGTTTCGATACGCCGTACAGTGACATTTGTTGGGGGGATCACCGCCGACAATTTGCTGTATCAACTCAGGCTTATGTGCGTAAGTGCTTTACACTTGATTGGAGAGGAACTGGAGGATGAAAGTTAATTTTAAAAAGGTAATCCCCCTTTTAATGGTTGGTTTAACAGTGGCGGGGTCTTACTCGATCTTTAACGCAAAACCGTCGAAGCCTGACTTGTACGATTTTACTGGCAAAGTTCTTAAAACCACTTCTGTTTTCCAACCTTGTGATAAAGAATCCACACCTTCGTTGAACATCCAGATAGCAGATAACGGAAGCGTACATATCAATGGCGTTGCATCAAAAGTTACTTTTGTTGAGAGAGTTCCGGGTAATGAAATTGCAGTTAAGTGTACGGGTCTGCAAGTCAAAAATTCCCGCCTTGTGCATACGAGCTCTTACACCATGATAATTTCGGAAGGAAAAGGTGGTTTTGTTATTTCGGATTTGACGCACACGAAGGATAATGAAGTTATGTCCGGTACATGGTTCTTTAAGAAGAGAGTATGACAATGAGCGATCTGTCAGCAACTGGTGCGAAGCCTCAACGGGTCAGAGTATTCAGCCAATCTGTCGCGATGGCATTCGAAGTAAATCTCGACAAAAGTCGCTCTGCTGATAATTCGGCGTTTGTAACTGAGACTGAAAAGTATTACCTGTCTCTCCAGTTTGCTCCTCCGTCTGACAATAGGGAATATGGATGGAATTCAGAGGGCAGCATTCTCATGAAACTATCCCAAAACGAAGCCATGGCGCTGGCATCTGTTTTTCTGAGAATTAAGCCGACACTAAAATTTGAAAAGCGTAAGACCACGCATCGCACTCACCAAGCCTACAAAAATATCAATATCGGCCCCAACGACCGTGGGGGCCTTTTGGTAAGCGCAAGCATTGTACCGGTTAAAATGGGGACGTTTAAGCCTTTAAATTATAACCTTCCCGTAACACAAATGGATTGCGTTTCAACAGGCTTGTTCTTGTTGGGGTTCCTGACACTTAAAATGCCTTGGGTATCCTCAGAATCGATAATTACCGCCCTTCGCCTATCTGAGTCTAAGAGCGGTCAGTGAGCTAAAAAACCTCAATTTCCTGCAAAAATTTAATGTTTTTTTTCCTCTTTACGAACAAGATTTCAGAATTTTTTAACGTAGAGTGATTCTAATTCTGCGTAAAAAAACAGGTGTTCGTCATGAGAAAATCAGGTTTATGTTTAACCCTGTTGTTTTCTTTAATTGCTTCGATTAAATCGGTACAAGCTGAGGCAATTATGATTTCCGGAAAACTCCAGGCTGATATGCCTGCCGTCACGTTTAATCCCGGCCCGGGCGATTTTGTTGCATTCGTCAACAATAATACAATTACTGCTTCAGGTACTGGCAACGCATGCAATGTGACGGTTGATGATCGTGCGACATCAAGCGTAGATAACTTGGTCTGCTTTTTTGAATGGCTTCCAAATACCTCTGGCTTTACAGCAAACGGATTCAATTTAACAGGGATACCCAATGCGGCAGGAGAACTAAAACTGCCGTATAAAATTTCTTATTTTTCTGGATCAGAAAGGCAGAAAGTAGAAGTGGTTAATGGGGAGTATACAGTTAATGCTCTTGTACCGGTTAAACCGACGATAACGGGCCTGAAATCGTCTATGAATGGAGTGGTTCAGGATGGTTACACTCTTAAATCCTATCTTAAGGATGAAGCAATTAGGAATGTCACTGTCTCCGTAGAGCCTCGCAATTATGTGCAATATATCTCTATCGGGTCTGGATCAGCTTGCGAAGTCGCAATTGGTGGGAATGGCTGCACGATCGATGTTGGAAGCATCAAAGTAAGTGATTCGGATTTGCTGATGGGTTCACGGGAAATCACGGTCACTGCCAATTCGAAAAATAATTACTTTGCCCCTCCTGAAGCGCAGAAGCTAACGCTGACCTGGGATTACCGTCCTCCTGTTGTTGACCATACTCTCTGGAATTTCACGGATGAAGCTAAAACAATAAGTGTTGGTGGACAGGAGATCTATACAGGAGCTAGAACGGTGGCCGTAGCCGTCAAAGTGCCTCAGGAAGGAACTGAGGGTGAGTGGTGGTTACCAACCGCTATGACGCTAACGATGAATCCTGATGGGGTGTTTAAGCCGACAACAAAAGTTACTTTAGAAGATGGTACGGTTATCGACTTTAAGCAATCCTGGGCAACACCGCTACGTCGTACTCTTCAGCCCGTGAGCGGGCCACAGAAAGTCGGCGATGAATATCTGTATATCTTTGACTTAACAGACTTGACGAATGGTTCTTATGCCGCCTCGTTCACGGTAGAGAACAATAGCAAGAATACCTCTACGTACAATGAGCCTGAAAGCAAACTGATGCTTTCTGATAACCCAACACTGATGGTGCTTAAGGACGGTGCAGCTCTGGCCAAACGAGCTCCTGTGTATTTCTTAAATGAAATTATTGTTGCCGCATTCCAGGGCCAGGCCGGAGTCGCGGATATTAAAGCTGTTACGATAGATAACAAACTTGTTGAGCTCACCCCCACGAACCACAAAGGCATTTATTATCTGCCGGTTGGGGATGATCTAGAAGTGAATGCTGACCATGAAATCACGGTCATAGCTGAAAACCTGTACGGCAAGATTGTGACATTTAATACTACTTTCACGTATCAACCAACAGGATTCACGCTTAAAAACTTTGAGAAAGACATCACATTGTACTCACGAGTTCGGCAGTATACCGATCTCATGAGTCAGACGGCCGGTGATAAATGCACTCTCTTTACTACAGAAGAGAACGCACTGGCATACCTTGAATGGTATGGTGACAAATCTGATATCACCGCCTGTTACCCTCAGTGGAACAATGTGCCTGACGGGCTTGAATTTTACTTTAAAGGTCGGACGCCAGGCCTGACAGGGTTCTTCAATAAAACAGGCGATAACCTGCTCGACTATCAGGTCTATATGATAAACGGCAAGGGCTCTAAAGCTGTATCGTCCAGAAACCGCCATGTGCTGATTACGCAGTTACCTTATAACCCGGTCCTTACCTACAAGAAAAACAAGGTGTTGACGGGGATTAACGATAACACCGCACTGGCGTATACCACTGGCGGGGAAGCAGCTCGTCTATTGGCAAAAGTGGTTCCTGCTGATGTGACAGTCTATGTTTCACAAAACGGGGGGGAAAGCGTAAAAACGACGTTTAAGAACCGTTCATCAAATAACGATGCAACGACGTTTGTTCAACGTCTTAAAGTGGCATCAGCCCCGTTGTGGACGAAGAATGTCTTCGACATAGCTGTCGAGTACTCGAAGGAACCGACTATGCGAACCGTTGATACGCTCAATGTGTATACGGTACCCGACTTTAACATTAGAGCGGCAATGGAAATTGAGGACAAAAAGACTGCTACCACGATGGAATTGCCATTGAAGGTGTCTGTTGGCCGCTATAACAATTCAACCCGCAAAAGTTCATTTAGTCGGACAACAATGGGGGACTGGGATGTAACCATTTACGCTCAGAAAAGTGTTTATGGAAAAGATCCAGAAACAGGCCGATATAAAACGACGTATGAACGTACACCCCTAACCGAAGCACTGCCCGTGAATGATGCCGGGGTGGTTGAAACCAAGATCAAGATAGAAAATATGGACCTCGGGAACGTGCGACTTGTCGGGATTGCTAAAGTACGATCGCCTTTCGCAGATTTCGAACTGACCCGGGAAACCAGTGCAGTTAGCATCCGTGTTTATAAGGGCGAAGAGCTAGAAGGTAATCTCTCAAAGAGTCTGATTATCGGACGTATCCCGCTCAGTACGCTTGTTAACTTCAAATCGGCCAGTACAGCTAACTCCGATGCGCTGGCGCCTACCGAGTGGCAGGAGTCTTCTGATAATGGACAGACATGGACTATGCTTCAGGACATGACAGGGAAGCGAAGCATTTCGATCAGGAAAACTGAGGTTGGTAAATGGCTTTACAGGGCAAAAATGACCAACAAGTTTACGTCGAAAGAGTCTTATAGCGACGTTCTGACGGTTGTAACGTACAAACAGCCTAAGCTGAGCATCGATGTTGCTGAAATTCTCGAAGGCGATGATTTGCCTGTCACGCTGCTGGATAACGATGAACCAATTCCGCAGGGTACGGCCGAAGTGATGTGGTCGGAGGATAAAGTGAATTGGGTTCAGGGTGACACTACCTATAACGTATCGGCCGCTGATACGCTACCTCCGACCATTTACGCCCGAATGCGTTACCTGGATTCTGATGAGTTGGCTGAAGAGTCATCCTGGAAAGAGACGTCTGCCCGGTTAACCGTCGCTAAACCCAAGCGCCTATCTGTTTCAGTAAGTGGTATTTCAAGCGTCGAGGTGGGAAGTAAAGTTACTTTAGATGGTAAATACACTAACCCGAACAGCCGATTCAAGAACGGAAATGACGTCATTGAAGAATGGACTGCCCCTGACGGACAAAAAATCAGAGGTGCGAATCTGTCGATAACTTTGACTGAGCAGATGCTGGATAAGCAAGGATATGCGGCATTTGAATACAGTGCATGGCTTGCTGACAGTAAGGACAGTACTATTTCCACGCGGAAAGTATCTGTTAAATCTTGGGTGTATAAGTTTCCTGAGATGAAAGTCAGTACAAAGCTTAAATACACCATGGCCCCGTCGACCTTACATGTTGCGCTGAGCGGAATAAAAGACGGTGGCTATCCTGGGGTAACTTATTCTCGGGAATGGATCTACGATAAGGACAATATCTCAGTTTTAAAAGATGATGGTGATACGAAAGAATTTGCAATTGCGAAGCCGGGGAAATATACGTTGGTAATCGTTTTCCGTGATAACCGTAACAACGAACAGCGTATTGAAAATACCTTCGTAGTCGATGAGCAAACGCCCATGACTGTAGAAATGACACCGAAATTCTCTAATAAGTTCATGAGGGCGCCTCTTGATGTCACGCTAAGATCTAACATTAAACTGGCGCACTCTGCTGACAGTATTGATACTGTGACATACAAAGTAAACGGCGAGGTTGTTCCTGGTAGTAAAAACTATTGGGCTCAGTTAATTTCTGGTCTTACTGAGAAGAAATACGAAGTCACGCTGGATGTTGTCAGTAAAATGGGCCAAAGAGGTACCGCATCAGTTGATTTTGAGGTTGTTAAAAACGCGGCTCCGCAATGTGCATTAAGCTACACAGAGTCTAATATGAGCTGGAGTTTCACAAACAAATGTATTGACACTGATGGCAAGCTGGTTCGATATGAATGGTATATCAATGATGAGCTAAGGAATGTTTTCGGCAGCACTGCGACACTGTCCAAAAACCTTAATCGTGGGAAGCAAGATATACGAGTTGTCGCGTATGATGATAGTGGGGATTCAGCAACTCAGCGTACGACCGTTTATGGTCCGGATGAGGGCGCGTCAAAGTCCGTAGATTCAGTTGAAACCTCGCAGTAAGGCAAGCTAATGAAATAACAGCCGGGGCAGAAATGTCCCGGCTTTTTTGTTTTTCACTTTTTGATGGGGTAACGTCGGGAAAGTTACTTTACATGAGTAAGACAGCGGCCAGGACAATCACAAATCAAAGACGGAATGAAAGAAAAAAAGGCGGTAAATAATCAGAAATAGCTGGCTTTGCTGAAATAAGGAAGTACCAAAACATGGATAATAGGTTTTAAGGTAATGTAAAAGACAGTCCATTTTGCTTTCTGATTCTGAGAGAAGTAGGTTATGAGAGAATACATACCTAAGAAGCGTGGTTTACTGAGTTTTGATTGGTACGTGCCAATAAATCTCGGAATCCTGATACTGGTTATGTTGATTTTTTTTAATCGATTTACGTTTGGTCATGGACTATTAAATGGATGTTTACCTGCTGATTTTTACATGATCGATCTGAAGGATAAATCGGTAAGTTCAGGGAATATCATAGCTTTTCATATGCCAAAATCAGTCCGTTTTATACGTGAAAATGAGAAGGTTATTAAAATTGTGGCAGGAGTCGGCGGAGATCGCCTGAGGGTCACATTGGATGGTGTTTATAATGGGAACAAATTTTATAAAGCCAATGCCAGACGTATTTCTGTGAAATACGGCATACCTGCCGAGACCATTGAAAGAGAATTAACTATTCCGGAAGGGGAGGTCTTTTTAATTGGGCAAACGGACCACTCATGGGACTCACGTTTTTGGGGGCCGGTTAAGTTGACTTCAGTTATTGGGAAAACATATGCGATCTTTTGAATTAAAAACAACTATTAAGCCTCTGGCCTCCTGTCTGGCATTTTACGCCTTAATATCCACCGCTGTGGCTAGCCCCCAGTATCAACAGGTTGCTGATGACATTGCAAGGCAAGCTCAGGTTCTGGGCGCCCAAATACCGGTACCACACGCATCAGAAGGTCCGCTCCCGTCTGGTTCTCTGGATTCTCCTGATACCAAGAAATACATCCGCCAGGCCGAAGCTATGAAGAAAAACGGGGACCTCAGTCAGCAAACAAATCGCGGTTATGTCCCGGGTATGAATGCTGACAGTGTGCAGGCAGTTATAGACCATACGCAGGCTATCCGCGCTCAGAGTAATAACTCGGAAGCAGTTAACGACATCATTCGCAGACGTGATGAGATTCAGGGAAATTCACAGCTCAGCGAGTCTGCACTGAAATCCGTCGAAAATAAACCAGAAGTTATGCGCAGTCAGTCTTCGAATATCGAAAAGATGTTTGGTTCATCAGGAATCACCGCCGCTGACTTCGAGCGTAAAATAGACAGCAGTCGGGAAGAGGTGCTCTCGACAGAAAACGGTATCACTATCTTTGCGTCATTTAGCTTGCCTGATTACGTCCTGGAAGATCTACTCCGTACCGCGTCAGAACATAAGGCGAGAGTGGTTTTTAATGGTCTGAAGAAAGGCACTACACGCCTCCCTGAAACTCAGGCAGCTATCAACCAGCTGGTGGTGAAGGGGAAGTTTGACTCCCCACTAATTACGATTGACCCGGACGCATTTAACCAGTACCAGATCACGCAGGTCCCGACAATAATCTCCCGTGAGCAATCCCGGTTTGCAAAAATGGTCGGCTCTTTCAACGTTGATTTCTTCCAGCGCGAACTGGCCAGAAAACCCGACCAAGATCTTTTCCCGATTGCTGGTACGACCTATCCGGTTGAAGAGAAGAGCATTATTAAAGAGCTCGAAGAGCGAGCACAGAAATACGACTGGGACGGCGCCAAGAAGAGAGCAGTCGCTGATACCTGGAAAAACCAGTACATGGTTAATCTGCCTCCCGCTCAAGAGCACAAGGAATGGCTAATCGACCCGACAATCAGGGTTACTCAGGACGTTAAAGATAAGCAGGGTCGCGTCATTGCTTCTGCTGGCGAGCTCATTAACCCACTGGCCAGGTTCCCGCAGAACCTCACAATGATAATTTTTGACCCAATGAACCCAGGGCAACTTGAGTGGGCAGAGAAGCAATATCGCCAGCGTCTTGGCAGCGGTCAGGTGATGCCGATGTTCACGCGCATCAAACAGGAAAATGGATGGGATCATTTGAATGATCTGCGCGAAAAATTCAATGGGAAGGTGTTCAAAGTTAATGAGCAAATTATTGCTCGTTTCCAGATAAAAAACACGCCAGCGCTGATCTCCACTGAAAAAGAGAAATTCCGTATAACGCAATTCAGTGAAGCTGAAATACGTGGTATTGGAACAAAAATCGCGGCAGAGGAGAATTGATATGAAAATAGGATTTATTTTTGGGGCGCTGCTGGCCACTTGGCTGACGCTAACTTACCCGGACCAGATGAGAGAGTGTTTTAACAAAGTGGTTGCGTATATGGAAAGCGTGACAACATTCATTACTAAATAGTGAGCGTGCCGGTGAAGAAGCTAAAAAAGTTACTTTTGGAAATATTGATCGCTGTCATGCTGTCGCTCTCGCTGCCTGCAATGACAATGGCCGCAGATACCGGTGTCCCGGGAGCAATGTGCCAGTCAGCGGGAGTATGGCAGGGCCTAATCAAAAACATCTGCTGGAGTTGTATCTTCCCGATGCGGATCATGGGAATTGGAGCAGCCCCTGAAGGTGCCGCCCCCTCACGCCCTGGTTGCTATTGCACGGATCAAAATGGGATACCAGAAATCGGATGGCAGCTAAGTTTTTTCCAACCAGTAAAAATTGTTGAAGTGGTGAAAAGTCCGTGGTGCAGCCCATTTTTAGAGGGAACCATGCTGCAAAAATCACAGTTCGACATCGGCAAGAGCAATACTAACCAGCCTATGACCGCAACAGAAGCCGGATTCTACGACGTACATCTCTGGGAATTCCCAATCATGACGATGTTGAAATTGCTGGTTATTGGTGAATGTACAGCAGAACCTTATGTTGATGCCAGTCTGACGTATATCAGCGAAGTAGATCCGATGTGGGAAAGTGACCTATTGACGCTCGTGCTAAACCCCGAAGCTGTGGTATTTGCAAACCCTATCGCCTCAATGGTATGTGCAGCTGACTGCGTGGCCGTGACTGCCGGGAAGGATAATTTGGCTGCATATTTTTGTGCCGGGTGTGATGGGAACCTTTATCCGTTAACTGGACACATCTATGCGAATGATGATGCCGTCAGAACCAGCTCACTTATAACTCAGCGTCTACTGACGAAGTTACATAGGCAGGGAATGCTTATGAGAACAATGGGAGCTGACGCAATGTGTGAAAAAACGTGGGAATACTTCACTCCTCGATCTCAATACCGACTTTCAATGCTTTACCCAACGCCGGAGGCGAATGGTCCGGATTGCTGTCATCGCCTAGGCGATTCTGTCCATGACTGGTCAACGCTTAAAGGTGGACGGAAAAAAATCGGCATAGATAACTATGTTTACATGCTGTGGCGCTATAATGATTGCTGCGTCAGGTATATACCCAACTAATTGAAAAAATTGAGTATTATATATGAAACATAGAAAAATAATTTCTTCAGCAATTATTGCGTCTATGATAGCTAATACTATGAGTTGGGCATTTTACGTTTCGCTCATAAACATTGCGTTAACGCCTAAAATATTTGCGGCAGATGCGATTTTTGACCAGCTTGAAAACAATTTTAACCTTGCCAATCCCAACGCCAACCGGAACGCAACCACCAGTGCTCAGGATATTGTGGAAAAGTATAAAAATGCTGATTCCGGGGAAAATCTGAGCGGCAAAATTTCCGAGAAATATGTTGGTAAAGCAGAGTCAACAAACCTAAATGTTGGGAAGTACGGGACGCCGAACTCAAATGAAAGTGTTATGAGTAATGCGGTGTCCGACGGGAAATCGATCGGTAAGGCTGTACAATTACCTAGCATGTCGGGCGGTACAATTAACTCGAATTATACGAAAGAGGGGGCAAAGTTACTTTCTAGGGACAGCAGCGGTAATATTGGAATAAGTAACAACCCGAATACAACGGCAGGTACCAAAACCAGTACAGGGGAACTATTCAGCTCAGAGCAGAAGCACAGTGATGTTCAGTTCAATGCTGGTGGCCGGTATGGAGATGAAAATGGCTTCATCAATGACATCAAAAATCGAAAAAGTCAGCTGTTTGAAGCGCAAAGTTATGATGGAGTCGCCTACCGTACTCTGGTGAATGCAAATAAAGAAAACCCAGCATCTACTATTAAACCTAACGACCCTATGTTCAATGCGGGTCGTAACGAAATAGGAAATGCTGTAGCTGGTACAGGAAACTGGCTACAGAATTGTAATACGGAAACATCAAAACAAACAATTACTACGCACTATCCAGATTACAAAGAGTTTTACTGCAATTCACCCAAGAAAGATAATTTTAACAGTTGCACGATAACTCGTGATTTTTCCGTGCCGGTTTATATCTCAGGTGGTAATGGTGATATGTCCATGTGCGGAGATAATTGTGTGAGAGTCTGGTTTGGCAGAAGGGACGACAACTATTGGAACGATGGAGTCTATGACAACTCATTAACCTTAAAATTCCATCCAGATGCAAAGCTCGCAACTGCGAAAATAATTAACGCAGAGTGGGATGACCATATGAGGGTCACGCTTGATGGTACACAGATTTTTGCTCATATAGATGGAGCATATAGAAGTAGCAATTATCCATCTCCACAAGGTCAATGGGAGTTAAAGAAATCCTGGAAGCTCGATAAAGTCTACGATATTACTGAACAAGTAAAAACCTCTGTATATCAGGAGCAGGATCGTGAAGTGACTATGGCTTCGCGCGTATGGGTTGGCGGTGGTGGGGAAGGCTATTTTGAAGTTGAGATGACTTTTGAAAATATGAAGTTGGAGGATAAACATATACAGGAGCCCGCAGGATGTTTTGATGCAGTACAAACGCCGAATTCATTCTGTCGGTTTGACAGGTTTGTCAACATGGATGTTGGTACAAAGCGACTCCCGGAAAGTGTGCTTAAGATGGCCACACCGCTTTACAAAGGTGATACAGGATACTTAACCTGGAAAACAAACCTTGAAGGCTATTTCTGTGATCCCCTGGCGAAGGAAAAACTGTGCTCTTATGATGCGAAGGGAAACATCATGAAAGACCCCACAGGCAAAGACCTTTGCTACAACTACGACGATATAAAAAATATGCCTGACGCATGCAGCACATATAAAAATGATGCTGCGTGTGTGCTAGATAATCAGACATGTGCTGAAGGTTGGTTCGATGAAGGCACAAATACTTGCTACATGTATGAGCAGAAATATACATGTGACAGAGGGAAAGACGTAGTCAGAGAGGTAGAGTCACAGACTAACTCCTGTGTAGGTATGATCCCATGTTCTGGCGGAACATGTGAAACAGGCCCAAAAGAAGAAAACAAAGATTTTGGGAAAGTGGCCGCGTACTCCAATATGGTTCAGTACATGCAAGGTGAAGCAAAATGCGAAGATCCAAACGACCCTAACTCCTGCTCTGTCTTTGAAGGGAAAGCAGAGTGGTGCGGCAGGTCCGTTGGTTTTGTGAACGGACTGGCCAAAACAGATTGCTGCGAAAAGCCGCAGGGTGCTGCTGGGTCACTGGAGGCGATAATGCTGGCCGGGTCGATGATCCGAAACACGAACTGGACCCGAGTGAATGCTCAACTGGTAAACTGGACTGGAGGGGAGAGCGGAACCTGGGCATCAATGGCTAACTCAGTGGGTGAATGGACTGCATCGGCAGGTAAAACTGTCGGACAAATGTGGAACAATGTGACCAGTTCAATAACCAGCGTTTACGAAAACGTGGCCGGTAACCTTGGCCGAACAGTAGGATCATCCGCTGCTGGTGAAAGTGGTCAGCTTGCTAAGGAGACTATGAGTTCATTCGGGCTTGGTAAACTTAAGCAGATGGCCATGGAAAAAGCCTATGACCTGCTTCCCGATACAGTTCGAGACTTCGTATTTAAAAATGTAGCGACAACGGGTGGAGAAATAGTCTTTTCTGCTGCTGTTCAAAACTTTATGCTTGCATTAAATGTAATCGGCTGGATTTATACGGCATATCAAGTCACAAAAATGCTGCTTGAAATGCTGGTGGCCTGCGATCAAAAAGAAATGGAAGCATCTATTCACAAAAATCAGAAATCCTGTTTTACACTGGATACAAACCGTTGTGTTAAATATCTGAATCTGGGATTTACAAAGAAATGTGTTAAAAAAGCAACAGACATGTGCTGTTACAATTCAATGTTATCTCGCGTTATTATGCAGCAGGCCTACCCGCAGCTTGGAATAGACCCGGTTACTTCAAACTGCGTTGGCTTATCAATAGGGCAGATCCAAAAGTTAGATTTTGACAAGATTGATTTAACAGAATGGATTAACGATGCTGTTCAGGTCGGAGAAGTACCGGACCAGTACGCTACATTCTCAGAATCGTCAATAACAGCAAATTTGCCATTTAAAAACGAGAATTATCAACTTCCATCAGAAAGAACAAAAGATGCAATGGGAGGAGAGGAGAATATGATAAAAGCCAGACAGGAAAACGCTCAGGCCATTAAAGAGGAGAACGTAGACTGTAGCTATCTTCCACGCCCTGCGATTTGTGAAGTTGGGTCAACTTATGTAGATCCAATTACAGGTAAGGAAATACCAAAATATTAAAAAAAAGGGCTATTTGCAAACTAAGGTTGGAATTCCATCATTCTAGCCTTAGATCTTTGATCAAGTGAAGTTGCTCACTTGGTTGGATTTTACCGTTTCCTGACGGCTTTTCAGAAGCGAGGGCTGGTTGGAATGCCTTCCAGCTAGAAGTCTTGCAGATGCTCTCCGGGCATTAACTCATTGTCGAATCTGCACCAGTATCACTAGGTTGTTGAGCGGGCGATTAGCTTTTTCACTGAGCCGCTGTACACTCGACTGCTTCAAGAAGCACTACTTACCATTTGCCTGCCGTAAGGTCTGTTCTTAGCTGGATTTTTTTGGGAGGATACGCAGTCATGACAACTCAATCCAGCTCAATACAATACGCTTACGCGCTAGACGGCGAGGGCACCCTCACGCACATTGGCGCTGCCCTGCGCTCACATACTTACACCTGCCCAGGTTGTAAGAGCCCCCTGACCCCGGTAATGGGCGAGTTCAACGCTAAGCACTTTCGCCATTCGGAAGAATGCTGTGCCCTTGAAACCTATCTTCACAAGTGCGGCAAAGAAGCATTCTTCTATCGCTACCAACAAGCTCTCAGCCGTGAAATGCCTATTAGCCTTGAGCTGGAGCGCCGGGTTGCCTGTAATGGTTCTCATTTAGCCTTGGTTAGAGACGAAGCACGTCAGTGCGTAAAATCCGTGCCTGCACGCTACAACTTGACTCAATTTTTCGATCAGGCAGAGCTGGAAAAACACGATAAGGTCACAGGGCTGCGACCAGACGTGATGTTGTATGATACGACTGGCGAAAGGCGTTGCTACGTAGAGATTTGTGTCACACACCCCTGCTCTCAAGACAAGATCGAAGCCGGTATCCCGATTCTTGAGTTTAAGGTCCAATCTGCCTCTGATATTCAGATGTTGCTTACCGGGGCCTACTCGATCAAGGAGAAGATCCTGAGAGTATTCAACTGGCTTCCCCCGTTTCAATCTGTGGACACCTGTAGCGGCGTCTGCTCAGTAGGTAACGTGTATATGTCTGTCTGGAGTTTAAGTGGTTCCGGCCGACTCTACGAACAAACGATGCCGCTCGCTGAAGTGGATTTAACAATCAATTCTGACGTGAACACATGGCCTAGATCGTTAGGGGCCGCTGAGCTGGCTGATAACTTACGAGCTTTTATCCGTCACGCCGATCCTCATTCACTATTTCCCAACTGCATTATGTGCGAGCAAGCAGGCCGATGGGAGGATGGCTATCTGCAATGTCACAGTAAGGCAAAGATCGTTCCCTACACCGAGGCCCGTCAGTGCGCCAATTACAAGGTTAAGGCATGACCAAAAGACTGACTTGGGAGCAGAAAAGTATTGTCAACCATGACACCGGACATGCGTTGGTAAAAGCCGTACCTGGTAGCGGGAAAACAACCACACTTGTAAAGCGCGTTGAGCGGCTGGTCAAGACGGGAACTGATCCTCGCTCCATTCTGATCCTGATGTACAACAAGTCGGCGCAGGTGAGCTTCACGGAGAAGTTGAAGACGGCACTGATGTCGAGCGTGATTCCAGAAATCCGCACGTTCCACAGCTTGGCCTTAAAGATTGTTGGTTACGGAGAACGCCAACAGATAATCAAGAAGAAAGACCTCATTACTCCAAGCGACTACCGCTATGAGCAACTGGTAAAGCAAGCCTACCGCTATGGCTTTGACCATGAGGCGAATTATATTGACCCCAATGAAATTGAAAACTTCGAGCTGTTTATTGCTCGCTGCCGGGCGGCGGCCGTAACTCCTGTTGATGCTGCCAATGATCCAACGTTCAGCAACATCAAACGGGGGTTTATTCACGCCTATGGCCGCTATTGTGAGCTGCTGGAGGAAAACAGTCTGCGAACCTTTGATGACTGTTTGATTGAGGCTGTCGCACTGTTGCGTAATGACAGCAGCCTTGGTGCCCACTTCAAGCACATCATTGTTGATGAATATCAGGACGTTAACCTGATACAGCATGACATGACCCGCTTGCTATCTAAGTCGGATACGTCGGTTATGGCTGTTGGTGATGTTAACCAGTGTATTTATGAGTGGCGTGGTGCTCGACCAGACTTTATCGGCGGACTGTTTGAAAGGCACTACCCGAATACGAAGGTGTTTCAACTGTCATGCACGTTCAGATTTGGCCATGAGCTTTCCTTGATGGCTAACTCGGTAATTCGGCGCAACTCTACAAAGCTGACCAAGCTTTGTGTCAGTCATCCTAGCACCCCCAAAACAGAGGTCAGATTGCACTTTGATAACTGCCTATCCAAGGTGCTATCAAACCTCTCGGTGAGCAGTGGAACACAAGCCATATTGTCCCGCACTAAGGCGAACCTTGCTGAGGCGGAAATTGTTTTACGCCTGTGTGGGCTACCTTATCGCTACCTCAATGGTTCAAGCGCATTACACACCCGCACCGAAATCGGGATACTGGTAGTTGGCGTCTTGCTGTCTGTGTACGGCGATCTGCGGCTACTGGAAAACCATCCCAACAAACAAGCGATTGTTTACGGCTTTCTGAAGGAGGCTGGTTTTAGCTGGCAGAAAGGGCAATTCAAAGCGGCGCTCAGTGGATTGATGGCTCCGCACGCCGACCTATGGTCTGCTCTAGGTCAGTTATTCGAGGGCGCACAATACCAAAAAGATCGGCTGGGCAGGCTCGCCACTATCTGCCAGAAAGACGGAGAGGAAACGCCTGCTATCGATGTGTTACGACGCCTGAGTATGGAGGGTTTCATTGATAGTGTTGGCTCTGAGGGTGTAACTCGCACTGGATCGAACGACCAGCAACGAGGGGTCGTGAGGATCGGGGAGCTACTTGACTCCAGTAAGATCGATTCCCGCACGTTTTTAAACCTTATCTTGAATCCAGGCGAGGCTGCTACTGACTGCGATCCCTTCATCCTTTCCACACTGCATGGTTCCAAGGGGCTGGAGTGGGATAACGTAATACTGATCGGGCTGAATGAGCAGGAATTTCCTGGCGGCAAACCCGATGATGTTTACAGCGTTCGCACATCGATGAACACCCCTCCGGCCGAAGAGGAAATCGAGGAGGAACGTCGGCTGTTTTATGTCGGTATCACTCGCACAAAACAGCAGCTAAATCTGGTGGTCCCTCTTGATGAAGGGCTTGCGCGGTGGCTCAAAAACCGCTGGGATAGCACCCCGAAGAAGTCACCGATAGCTACTCGCTTCGTCTATGAGGCTGGCTGGACTGCTTGTGCTGTTACCAGTGATGCGATCTATAACAGCACGGTAGAGAAACAGAAGGCTGACTTCAGCAAGTTTCACCAATGGTATCTAAGAGATCTTCAGCGGCTAAAAGTCTAGGGCTACCGATACTTTTCGATTTCAGACAGGTGCTCGTTATCCAGATCAATTGTGGCTTTTCTTTCAGAAGCGAGCTTCTTCGCTCGCTTTGCATACTGAAGCCCCTTGGCTGGCTGCTCTCCGCGTAGGATCTGTTCAGCCTGCTTGCTCGTGCTGTGCCCCAGAAAGCGTTCGTACTGCTCGTCAGATACCTCAGTGCCGATCAGTCGTTCGATCCAGCCGCTTTTCGGCGGGTAACTTACGCCCAGCGCAAGCAACTGCCTTTTCTGTACCCACTATTTCCGGCGCGGCCGGCTTCAATCAAGGCTTTGGTTAGAACTACAGCCATTTGGGGACTCTCATACACAAACCTGAACCATGCGGGTCTGATTGGCGGTCAAGATAGCAGCGCATCGAAATCAACACTGAACTCTGCTTCTAAGAACTCAATCGTGGCTGGTTGGCTATCGAGCGATGCTTCCCGTGTAGACTCCAGTGCGCACTCCAATCGACGCAGCAGAGTAAACGGCAAAATGATCTTGCCGAAGTCGGTATGCTTGAAATCCCCCCCACAGGTCTTCCGCGTTCTTCCAAATGAAATCAGCTTGCGAAGCAGCCGAACCTACGAACTCTGCCATCTTGGCCTCCAACCAACTTTTGCACGAAACGGCACATCTTCCAAAAGAGGGTTGTCAACCAAGTTTTGCACAAAACGGACTTTGATCCATTTCTAACTAAAATCTACAATCCAACCTCAGATTGCAAATAGCCAAAAAAAGGGGCTGTAAAGCCCCTTTTGTTATTTTGATTTCAGAGTTTTTTCCGGGAATCCTTTCTGACCATACTCACCAGAGAAGAGGTAATAGTCTTTCCCATTAATTGAAGCAGCTGCGCCGCCTGGCATGGTGAACTTTGGACTATCAGAACGGAAAATAATACCTGAGAAATTATTGCTTGACTCATTGCCTTTAAATGGAATGAACACGTAACGAATAACTGAATACTCACCGGCAGGTAGATTAAGTTGGGGGATTTCAGTTCCAGTCGCAGGGCGAATAGCCTGGAAGCTGTACATGGAATTAGTTGGCATTACGTCAGGAGCTGGTTTTGAAGTGAGCTCGCATGTACTCCATTTATTGATGACCGCCCTATCAATCTTGCAGGACGCCAGAGCTGCACTTTGCTTCGATGGGTTGAATCCGAGCATTACCTGTGACTCTTTGGTGTGATTGTAAACATACGCAGCACCGGCACGAACTAGGCTTTCATCGTTATAAGGAAGTTTCTTCGGGTTCGGGACAAAGACAACATACTGGTTAACCTGAATGTATTCGGCGTCAGAGGAGCTGTATAGAGAGCCCAAACTCATAATGCTTAATCCGCTGAGACCGCCTGTCACATATCCCATAGAGCCGCTAATCAAGAGTTTGGAAAGGAAGTTATCTGCATCACCACCTGGCTGAACAGTTTCCTCATTAAAAGAAACGTCAAACCCGGCCAGAGAGTAAGCATTTTTGGCTACAGAATCTTTTGCGTTAGCATGCCAGTAGAGCCCATGAGTGTCGCTGTGCTGGGCGGAGTTAGGGGATTGACCTGCGTTCCCAGCACACCCTACCAGAGACGCACTTGCAACTAAAGCTGAAACCAAGGATACAAACCGTTTATTTTTCATTTATGACCCTTTTTGAATGAATTTTATGTCTAGAAGCATTATTTCATACTCGCCAGTTTCTCAAACAACCTAAATGAAGAAAAAATGGAAAAATATGAAGTGACCAAAAATGAGTCTTGTAAAGAAAAATCCGTCAAATTTAAATCGTATAATAAAGGGGACTAAATATTCAGAGGCTTTTATGGGTAAACCAACAGATGAGCAAAGGGTCATCATTGAAAATGCAAATGCTAATAATATGGTTATTGCAGCACCGGGATCTGGAAAGTCATTCACGATGATAGAGGCGGTGATCTCTATCCTCAGGCAGTTCCCTTATGCCAAAGTGGGGATGGTCACATTTACCCGTGCAGCAACAAATTCATTGGCTGAAAAACTGAAACGTCGATTAAGTAAGAAAGACCAGGATAGGGTGCTGGTCAATACATTCCACGGCTTTATCCGGATGCAACTGGATATGGTCAACTGGAAGGGCAAGATGTTGATTAGCTCGGCACAGCGTTCTGTAATTCACAGGGCATTGAAGGAGTCCGGCGCGCCTTTTCGATACCCGGATGCAGAATTTGCTATTGACGCGATTGGAAGGGAAATGGATACGGACATCATTTCAGTTCGCCATACGCGGCAACAAATCCACTTGTTCAACACCTATCAGGCAATATGTCAGAAAGACCACGTTGCAGATTTGAATGCACTCTCACGTTTTGTTGTGGGCCAGATGTACTCGGGGAAAATGCAGCCACTTAACTTGACACATTTAGTTGTAGATGAAGTTCAGGATACCGACTCGATTCAGTATGCCTGGATCTCACTACATACGAGGGCAGGTGTTAACACTAGCATCGTTGGGGATGATGATCAGGCAATTTATTCATTCAGGGCATCAGGTGGAGTCAAAATATTCCAGCAGTTTGAAAAACAATTCAGGCCCAACATATTTTATTTGAATACTTGTTTCAGATGTGAACCAGAGATTTTGAAGGTAGCAGGGGCATTGATTGAAAAAAATGTTTACAGATACGCTAAAGATCTCCGTTCAGCTAAGGGCGGTGGGGGAAAAGTTCATTTCCGCTCATATGTTGATATGGATGAGCAAATTCAAGGCATTCTCAATCTGATTAACCAAGACCCGATTGGGTGGGCAATCCTCAGCAGAGGTAATGCACATCTCGATCAGCTTGAAAGCCTGATAGAGCAGCCGGTACTTCGTTATGGTGGGAAGTCATTTTGGGATGAAAAGGAGACAAGCGATGTATTGCATTTGATGGCATTCTTCCGACATTCCAACGATGTCCGGTTAATGAAGAGGGTGCTGGCGCTTTTCGGTGAAAATGAAGAGGTCTTGGACCAGACAGCATTGAGCATGAAAGGAAGAAAAGTAACTTTTGGTGAACTGAACATCCCGAATGAAAGTTCCCTGGAAACAAGAACGCTTCATTCAAACTTCACCCGGTTTACACAGGAGACTCGGGAAAAGGTTGAAATAGAAAAAAGGTTCGCAAATCTGATTAAGTGGATGGAGTTGTCGTCGATAAAAATGAGGACGCAGAAAGGATCACCATCACTGAGCAGAATTGCGCTGGATACCTGTAAGCAATGGGCCGAAAAGACAGGCTGGCAAAATATGATAAATCGAGCTGCGGCGATGTGTCTGGGGCCAAAGAAGAAGGATGAGGAATATACACCGGATAAAGTAGTTTTATCGACGTTGCACGGTTCGAAGGGTCTTGAATGGAAAAATGTAATTATTATGAGTTGTAATGCAGATCAGATTCCAAGTAAGCGGTCAGTGGGGCAGGAGGCGATTGAAGAAGAAAGACGACTGCTTTTTGTTGGGTTTACACGAGCAGAGCAACAGCTGCATGTAATGTGGTACGGTGATCCGTCTTTCTTTTTAAGCGAATGTGCTGAAGATAAATTGAAAGAGGCTGCGAAAAGTAGAACAGAATCCCCTTTGACAGAATAATTTTGATTTCTTTATTTACAGGAATGAACCCGTGTAGTATAACGTATATGAGCTTGAATTTATTGCTCCCACATTTCAAGTAACTTTATAAAAGTTACTTTGCGCGTTAAGCGCATATTCAGCCGTGAAAAGCGGCCAGCTTTCTAAAGCTGCAAGGCACCACCGGCAAAATGTCACCTTTGTCGCTGGTGCCTTTCCCATGTCTGAAAAAGGACAATCGAATTTACCAAATCGTAACTAACTTAGCTCTTAATTGAGCTATTTTCGTTGCGTACTTCTAATGCCAGAAAGTATAAATCAGGCGGTTCATAGCTTACGGGAGATGAATGACAGGCTTTGCCTTTGTGTTGGGATATTTAATGATTCCTTCCTTCTTACTATATATAGGTGACCCCAAATGTCTAAAAGTAAAGCACGCAGTAAAGCTCTTCTCATCGCCTTCGCTGATCTGATCCCAGATATGGATAAGGTGGTTAACAAGAAGTTATTGGATTCTCTGAATGTTTATTCAGGGCATGATAATGACCTTATTGTTATTATGAATGAAGATGGTCCAACCATAATTGAACTGAATTCTTTGAAATCAGTTTCAATGCTGGCTCAAAAGCTTTCTGCTTTTTCTACTTATTATCATGTGGAAATGCAGCAAATTCTTGTCAATCCAATTGACTTTGAGAAAGCTTACACACTTCTCAAAGAAGCACCTGCAATTCCAATGTTTAAAACTTTAGCCGATCTGGATAAGTTCTTAAATGAAGAGTTTGAAAAGTACGGGTTGAACACATTTCTTGATGTGGATAACCTTGATTATTCACTCGCTAAATCCAGAGAGTTAAAAAATGATCAGTTGGTTGCCTGGGTTTCTGAAATTATTGAGAAGCGCGAGAAATTAGCATTGCGTAATCGATTTAATGAAGTGACCAAAGCACATTATGAAACTGTAGATGCAATGTATGCAGCCGTTCGCCCATTAATGAAAGAGTTAGGTTTTCCTGATGAACTCATGTTACACACCTTTAGTGAATTGAGCGTTTTCGATTCCAAAGGCTGGGATTATGCTATCAAGTCGAAAATTGAGTTTCTCACTAAACGCGAGGAGCAATGTTTAGATTATCAAATGAAAGCAGATAAACGGCAAGCGACAGTTGATGAACTCTTGGCACAAATCAATAACGCTAAAACGGTAAAAGCACCAAGATCTTTTGGTCAGCTGTTTGGCTTTTCTGTTATTGCCATGATGACATTTATGTTCATTGTAAACAAATTTATCTAATCCTGTTAAGGGGAAACCCTGACGGGGCTTCTCTTTGCTTAAATTGAGGAGAGAAGTAATGTCATATCTTGAATATGTTAATGAAGTAAAAGTGTCCGGGATAGTTATCAGTGCAATGGAGAAAGAAATGACTAGCGGAAACGTTGGGTTATTGATAAAGCTCAAAAACAGAATGAAAACTGAAATTAATGGTGAAATTACTGAGAGAGAATTTTCGATTCAAATCAAAGTATCACCAGAGATGTATTCAGGCTGTTTCACTGGTATAAATCAAGGTGATGAGTTAATGGTCTCCGGTTATCTTGTTGTGGATACCATCACATTGGAAGGGAGAGAGCATCCTCTTGACTACATGAGAGTAGTTGCAACAAGTAAGTTAGCTCACATACCTAAACCTCCTAAGGGTTTTGGGCAAAGTAGCTTTAGACAGATCTGACATTTAAACCACCCAAAAGGGGAGAAATCCCTTCATGGGAGTTCTCCCTTAGGAGATCCCATGAAACAAAAAATAAGGCCGACTGCATTTTGCAGTAAGCAAATGGATTTTTTCTCTATATTCGATTTTGAAGAAGAGGAAAAAGAAATAATAACTATAGTTGAGTCTCCACTTGACTATATAAATGATGCAATAGCCGCACAACAAAGTATTCAATCAGAAGATAAACATTCAGGCCCGGAACTGGAGCCTAGTGTGTCGGAAGATGTTGCTTTGCCTGGTAATTGTCCCAAACTACTCAAAAATCAAATTCTGCATGACATTAGTTTTGCTGCGGAAACTGATTATCTCTTCACTCTAGAAGAGTACAGTGCGGAGTTAGGTGGTCTGGTTTTTGACTGGGCCCCTGAAGATGTATATCAGTTATACGTCGTCGCAATGGAAGAGTCGTTGGAAAACGTAAGGCATCTCGTCATTACAAAATCACTCTATTCCACTGATGAATTCGGTAACATAACCGTGAATCCGCTTCTTGAAGCCGAAACACGGTGGTATATGTCGAAATCATTTGAGCTTACATGTGCCACTCATGGTATTGATGCTATTGAGTTCAGGTCAGAGCTTAAAAAAAGCTTATATGAATATACGCACAGTTACGGAGGTGAAAATGCTGAATTAGCTCGTTATCATCAAGATAAAGAGGTTATTCTGCATGATTGTAAGGAAGAGATGGGATGGGATATCTTTTTCGAACAGGACTATTTGTTGCAAGAAAACAAACTGGCAATGAAATGGACTGATCGGGATATAATGGATGTCTATTCTAAAGTATTTAAATCAACAATTAATTTGTTTGAAAAACTTGTCGTTAATAACAAGTTAACCTTAAGAGATACTTTTGGTTGGGTAATCGTAAACCCTACATTTGAACGCCAGTTTGAATGGATTGAGTCAGAAGTATTCGAAATCGTAGGAACTCATCTTGGTTACAACGTTGCCGCTATCAGAACACAGATGGCGACCGCGTGTAGGATGACTTTCCACTAACATGCCACTGGCAAACATCTGCCAGCGGGCGGTGTTTGCATTTTACCGGAGTTTTAAAAATGACTAACGCCGCAACTGTATTAAAATCCGACAATTCCGTACAGGAAGAAATCATTGGTAATCTGTTACCCGCAAATGTTATATCAAGTAAGATGTTTGCGAATAAAGAACAGTATTATCTTGTCAAAGCAAAAGATTTATTTGGCATTCCTGAGATGGATGAGGATATGATTGTTCCAGTGTTTAAAAAGTTTTCTCCATATCGTGCGAATCTGAATAAGGACTATATACCAAATTCTCGAATACTTGAGCAAGTAGTAAAATTGCTTGTAAGTAACGATATAGATTTGAGTGTATGCCTGAAAGGAGAATCTGGATCAGGTAAGACTGAAATGGCAATGTATATTAGCCATATGCTGAACTGGCCGCTAACCATAAAGCAAATCAACAGCAATATTCGCGCTGATGAGCTGGAAGGTGAGCGTAGTCTTATTAACGGTAACACCAGTTTTGTGCCTAGCGAGCTTGTAACGGCATTTCAGGAAGGCCACCTCATTCTTCTGGATGAAGTGGACAAGATTGACCCTGATACTGCCGCAAAGCTTCATATGCCTATAGAGCGAAAGCCCTGGTCACTAGCTGCCAACGGTGGCGAAGTGGTTAAGGCAAATAAGTTTACGCGGTTTATGGGTACTTCAAACACAAACATGAGTGGGGGATCTCGTAAGTTCGTTTCATCGCAGCGGCAGGATGCAGCGTTTATCAAGCGCTTCCTGATTGTGGAGATGGAAAGGCCTTCAGAGGTTGCATTAACCAACGTTTTGCTTAAACGCTACAATAACCTGCCTATGCTGGTAATTGAAAAATTCGTTTCGGTAGCCGTTGCAGTAAACAACACAGGAACTGACGACAGTGTAATGGATATACGCCAGCTTGTGGCATGGGTTGGAACGTCAATGACGTTAAAGACCATGTCCTTACTGGATACATTTAAAATTGCTTTTGCGTCGGCTCTGCCTGCACATGCCACTGGTATGGTGTTGGAAGCCATCGACTTAATTCTCGGTGACGACAAGAACCGTACAATGGAGTATTACACTGCAAAAAAGTAGTTATAGATGGGACGAGTTATCAGAAGGCTGAATGCCGTGTGACAGACTTTGCTCATCTTACGTTTTACGGTTTTCTGAGTGCAAACGGAACTGAAACTTTCGTGATTGCACAAGATGGAAATCAATATATAGGTCTGAAGCAGCATAATAATGACTATTCATTTATTTGTTATGAAGTCTGTAACAAAGATATGGAAGCCATGATTAAGGGCCTTGAATCAAAAGGATTCATGTATCAAGGGAGCATTCAATCGGCGGATGTCGAAAATGAATTTCCTGGAATTCTTTTAACAACACTTGAAAAGTAATATTATTAACCCTATCGGGAAATCTTTCCCGACGGGGAGGTTTTCCCATTTCTAAATCTGGAGAAAACCTATGACTTTCAATACTTCTAAACTTAATAAAGTTTCTGCAAAGGAAATCAGTGAAAACTTTATAAAAGCATATCCTGACTTGCAGGAAGGTGCTGTTATAACAAAAATTGAAATTAGTGGGTGTCAGGGCTCTCGGCGAACTGATAAAATCGAACTGTCCTATGGCGGTGATGATATAACAGACCAGAAGAGCGTGTCTAAAAGCGAAGTTCGCTGGATAGACATAAAGGCACTGAGTTTCAAAAGCACTATCACTAGTCGAATTTCAACCCTTTGTTCACGGTTGTGCATCCGCTATAGCAATATGTGGATACTGCCAGTTGAAAGGATGGAGGAGTTTCTCGAAGAGGCACAAGAAATCGAACGTGAATTTCAAGCCGGTATCCAGAACGTGGTTGATAACTATGACACTCATATTCAGGCTGAGAAAGATCGCAGTCCGTTGATGTCAGATTTAATTGACCAGTTGAAATTGACTAAAGATGATTTTGTTAAATCATTCCGGTTTAATCTGGCACATTTCATTCCGTTTTCACCGATTAGTGTGGAGGGGGATGAAACGCAGGACTTTTATCAAGAACAACTGATAACTGACTTGGCCGATGAAGCTATGAAGGTTTATACAAAAATCAGCAAAAATGATAATTTGCGTTCCAGCACGATTGACCGATTAAAGCAGATGCAGGATAAAATAATTAGCTTCATGTTCATTCATAAAGAGGCTGTTGTTCTTGCAGAAGCTATTAAGCATATCATGAATAATTTACCAAAAGGTGCCATTTCTTCTCCCCGTGATGTTGCGGTATTAAAGCAGTGGTTCTATTTCATGAGCGATGCGTCAATGCTGAAACGTATTATCTCCGGTGAACAAAAGGTAACCGACTGGCTGGATTCCATAACCCGGTCATTCAATATCGATTCACAGGTTACAGCGGCTAACTCTCTGAATACTGCTGAGGATGATGTTTTTTCTTCAGCAAATGTTTTCAGAGAAGACCCGGTTGAAGATCTTGAGAACAAGGCAGTGAATGCACCTGAGCCTGCTGTTGGCCCTGATGAAGATGTTTCTATTCAGGCCAGTGGTAGTAATAGAGCATTTGACTGCGAACTCGAATTGACCGGTTGGTAATTTAGTCTTGTAAAAATATCCCCAGATGGGTACTTCACCATCTGGGTGAGTACCCTTTATCAAATAAAGGTACTCAAATGAAATTTGATTTAAAATCTTCACCACGCCATATTCAACGCCTGACGAATATAGCCAGCGTGATAAGCGGTATAAATGGGATTTATGTAATTATTGACAATAAGGTGAGTACACCTTATTTCAACACCCAAAACAATGTCTGTGTTTTACCTAACGGTGATTATAGCGATGAGAGATTTGTCAAGCTAATTGAAGGATTCATATGTCATGAAGCAGGACACGGTCGTTATACAGAGCATGAAGTATACCGTGAAGCTTTTGTTGGAGAATTGATCAATGCAGATGGCTTCATCAGTATTGATGATGACTTGAAGGCTGATTTTCAAAACCTAAAACAAAAGCAAAAAGCATATGCTCGTGCTTGTCGACTAAAAGGACTTATTAATCTTTTTGATGATGTCCAGATGGAAGAGAAGACGGGTATTGATTATCAGGAGGCAAAAAAACGCCTCGCGGTGACTTATGCCTTGATGGTTGAAGCTGGGCGTATGACGGTTGATATTTCTTCAACCCCTCAAAACCCGGTTCAGTTTATTGAAATGTACCTGCTTAATACATTGCGGGTTAACGTTCTCCAACAAGAAGGGCATAAAGAAACGCTTGACCCATTTTTCGATTATGCAAAGAAAATCCTTGCACCTGTAACTTCAGAAGTCGATGAGATCATTCATCAAGCTCTAAGTTGCAAAAGTACGCAAAATTGCGATTCTCTGGCGCGTAAAACTCTGGCTCTTTTAGAGCGTTTAAGGGATGAAGCAAAAGAGAAACAGCAAGAAGAGGAGCAGTCGAAAGACCCGCATGACGATACAGATGAATCATCTGGCTCTGAGAATGAACCTGATACCGAACCCAATGGTGATAGCCAGGGTGAAGGGGATGGTGATAAAGAAGGTCAAGGCGATGATTCTGGTGATGGTAAGGCGCCTGCGGAAGGTAATGGGTTACCGGACCAATCCGGAGGGGATGAACAAAATGCTGAGAACTCTAACGGCGAACCTGATGGTGAGTCTGAAGGTGATGAATCGGCGACCCCCGGCTCGGATGATGCTGACTCGACACCTTCCCTAAACGACAGTTCAAATGGAAATTCTTCTGATGGGGAAAGTAACTTTTCTCCTGAACAGTGGGATATGCTTGCCAAATTGCTGGATGATTTTTTAAACAGTGATGAGGAAAGCGAGGATTTTCATGAGGTTCTTGCAAAAGAGATCTCCGTAATTGCTGCCAGTGTGTCGGATGAGGTTAAAGCTGAATTTGGTGCAAGTGAGTGGGATGTTCCAGATTTGAACATTGATCTGAATGTCTACAATGAAGCATTAAATATCAGCCAGACCCTTGGGGCAGATTTATCTGTTTTACAGCAGGTAAAAATGCGTGGTCAATTTAAAACCCGTGATAGAGGCTTGTCATTCGATATTAATCGACTGATCCAGTCTCCGATGGGTGTTAGGGATGTATTTCGGTCACAAAGCGAATCTAAAAACCGGGGCCACGTCGGCTTGGTCATTGTTCGTGATATTTCAGGTTCAATGAGTCTGGAACACCGTTATATCCATGCAATTAAGACTGACCTTGCATTAACTCTGGCAATTGAAGCTATTTCAAAAATGCATGTTGCTAATGTGATTTATCCGTTTGTAGACAAAGATTTTGAAGTTATCAAAACGTTTGATGAAAACGCGGAAGAGAAACTTTCAAAATTCTCACTTGGCTGCAAGGGCAATAATACCCCAACGGGTTCTGCATTAAATGCTGCTTTAGAGTTGTTACTTGAAAGCCAGTTTGACAGGAAAATTGTTTTCCTTATTACTGATGGTTATCCGACTGAGTCGGCTTACACCATTAATGATGTTTTTTCAGTTGCTGAAAGTAACGGCATTGAAATCGCTGGTGTTGGTATTAAAACTGATGTGTTGATGGGTTTTAATGAGGGCACCTTCGTAAATGTTGATGATATTTCTTTATTGCCGAATGAGGTCAGTAAATTAGTACATCAAATTCTATCTAATTAAACTCTACCCAATCGGGGCAAAACGACGCCCGGTTGGGTCGCTTTGCTCCCTGAAGGATTAAGGAGCAATATATGACTCAGATAAAGACTTACCGTGTCGAGTATGAAAAAGTCGGGACGATGCATCGTGTCCGTATTTTTGGTCGCATGGGTGAAATTGTCAAAAGTGAATTGCCAGAAGAAAGAATTCTCCGGGATGTATCTATACCAGAGGGTAATGGAGAAATGGCAACGTCAATGGTTGATGGTTTTATCCAGCGTCTTGAAAATATCGGCTTCAAGACTGAAGCGTAATTGTTGAGGGCTCTTGTGGGCCCTCATTCTTAGATTCTGCGTTGTGGGTTTCTCCCTGTTTTCTGCATCGCAGAGGGCATTGAGAAACCCACAATGCCAGATAAGAGAGAACAAATGACTTATGCATCCCAGGCTGTTAAGCGTACACCACATGAAGTCACTGACCACTTTATAAAAATGGTTCACGCTCGTATAGCGGAAGTATCAGGCTGGCGCTATGTATTCGATAGAATACCGGCATTTAAAGACGCTTGTGATAAAGCACCTGGCCAGGTTCCTTGCCCATTTAGTGGGGTCGGGAAATCAAAGTTCCGGTTCCGTAAAAAGGACCTCTTTACCGGTTGTGCCATTCACAATGATTTTCCAGTGAATGCATTTTGTGACGGTATTGATGTATTGGCAGAGTACTACAAGCTGAGCAAGACCCAGACTTGTAAGAAGATCCTGACTGATTTCTTTGGGATGGATTTGTACGCTCCATTAACTGATGCGGATCTCGAAAGTGAACGTCGTTATAAATCAACAGTTCGTGCAACCGAAACGCTTGACAGCGATGAAGTTGAAAAACGAGGGCGTAAACTTGAAGTGATATATCACTATACCGGTGAAATCAAACCTGAGAGCCCTGTGTGGGTGTATCTCCGAAATCGAGGTCTTAATCGAGTTCTGAGCAACCTTCCCAAGGATTTAGGTCTGAACAAACGACTTTACTACATGGATAAGTCACTGGAAAAACCCACGATTTACCCGGGAATGATCGCAATTTATCGCGATACCCGTGGGCGTCCTCTGACAATCCACAGAACGTTCGTCGAGTTAAATGGTGATAAGGCACATGTTGAGAATCCGAAACTGATGATGAAACCGCCTGCCGATATGACTGGCGGCTCAATTCAGCTGTACGATCCACACTTCAATCCAGGTACCCGTACCTGGACGTTAGGTGTGGCTGAAGGCATAGAAAACGCGCTGTCAGTTACTGAAGCGACTTCAACACCGTGCTGGGCCGCGAGCTCTGCCTGGTGCCTTGAAAACGTTGAAGTGCCGGATAGTCTCCTGCCTCCCCCTGGTGTGAAAGTAATACAGTTTTACATCTGGGCGGATAAGGATCTTGTGAATACAAAAGGCACTTCCCCGGGAATGGAGTCAGCTAAACGACTTCAGGAACGTATGAAAGAGTTTTTTGCAAAGCGATATCCCACTTCAGAGCTGACAATTAAAGTCTTTGAACCTGATTTCGATATTCCTGTAGGGAAGAAAGGAGTCGACTGGAACGATGTACTAAAATTAACAGGACCGGATGGATTCCCCGTAAAATGGGCTCCTGAATGTCTTGCTCAGCTTTAAATCCGATAACTCCCCCGCCTTTTCAGGCCGGGGGGGGTTATCTCTTTAGTGTTTATTTACGTTAAATCCTAAACAGATAATCCGATTTCCTTCGTGAAAATCACCTGTTATTCAGGTTTTTTTTACGGCTGAGATGCTTGCTCAGTTTAATAAATGTGCGATACATCTGGCTACGGTCGGTTGTATGACATGGTATATCCATAAAACTTAAAACCCCTGACGGGAGTATTACCGTTAGGGTGATGCTCATCGTTAAATATCGGAGAGCATTGTTATGAATATTGAAAATCAAGATTTATTTAATACGTTCGCTGCTGTGATTTCATCTCATATCGTTGAGCAACCATCTTCGTGTTATTACCTTCATGATAATGAAATTGACTTCACGATTTTAAAACACAGCATAATAGATAAAGACAAAAACCTGTTGTACGTTATTCGTCCTTCAGGAACCTGTTTGTTGCGTTGTGATAAATACTTCTTTCCGAATTACTATCTTACAAGTCGTGGAGATTATAAAGCATTTAAGTATGTGCATTTTAATCTTGCAACACGAGAAGCGGAAGAAATCACCTGGCAGCAAGCTTTTGAAATTTTGTCCAAGCCGGGAAGACCTCCATTAAGAGGTTCACTTGGTAAATTTGATTATTTAAAACTTGTTATTGATGATCTTCGTGCGCGAGGGTATGCCGATTTCCTTCCAGCATACAACCTTGATGGCCTTCGTCACTTTGCAGTAAAGGATGAGCGACCATCACTTGTCAGTTATATCGACAATGTCATGGCACTTTGCGCATAAAGATAACACATATTTTTACTACATCCCTGATGGCACCTCCCATCGGGGTGGCCCTCAGAGTTGAATCTGGAGGTCTTATGAAATTAGCTACAGATCTGGTCAATGCGGTTCTGATAAAGAATGGCATTGTACCAACTTCCATTAATGAGTTGCCTGTAACGTCGCTGGTAAAGCCATTGACACAAGTGCATCTCAGCCTGTATCTGAAAACAACGCATTTATCTCAGTTCGTCCCTGACTACGTTGAGTCTCTGAAAGATTGTCCGGTTTCGTATGATATCGGCCTTGAACTTCAGCAGTGTATCAACAGTGCTGAATTGCTCTGTGAAGACATGGAGTCACTTGAGTTTATCTCTGTATGGATAGAGCTCTATACGTGTAATTCAAAGCAACAGCGGTTTGAGAAAAGTAACTTTTCTTTTCGAACTGAAGATATCGAGCTGGCTAAGATGCTGTCTTGCTCGCATGAAATCTTAATAAGTCAGGCGGCTTGTTTCTGGCTTTTGTATTTTGAAGATTTCATGAAATATGTTCGTAATAGGCTCTGTGCATTACTCAGACAGGTTTTAATTTTGATTGCAGGACTGCGAAATGTATACCTGCAACGGAATGAAGATCAGTTGATTAAGAGAGTTAAGCACGGGAATGAAATGCTGGAGGTGACTCTTAAAGCTGTTGCACTATGTTCAATAGAAAGGTATCTGAAATCATATGCCTCTTTACGAACAGAAGCGGCGGCTTCTGGGTTTATCAAATGCATTCAGTCTTATATCAGTACTGGTTGGAGACATGGCTATATAGTCTGTCAATATTCAAAAAATGGACGGTCTCTTGGTAAGTCATTACCACTTTTTATAAAAGAGACATCTGAGCATAATATACAGAAACGTGTCAATCGCCTTATATCTTCCACGATTTCGGGGCGAAATAAAGATTTAGGTCTTTACGATTTCTGATTAACATTACCCATCCGGGGATTACATCCCTGATGGGTGTAATCCCATTTTTTATTTAAGTGAGGATTACATGAAAATTATTGAGAAAATCATTAATGCATTTCTGATATCGCGTAAACATTCAGTGAAGGTCAGTAATGTTATCTGCTTGAGTGGCACCGACGGTAAATTTACTGGAATATGCTGTGACGCCGATGTTTCATTTGATTTTCTTTATTCGTATGCCCCCGCATACAGTTCAACATTTTTAGATATCCCGTTTCCTGGGTTTGAAGACCAGGACATCGCGGATTGTGTTAAATGTCAGTTAGATGTAGTTAAAAATAAACGGAATCGGTCTTTTTTAATTGACCATATTAGATTTCCAGTTTCCTCAAGGGAAGGATTCACTCTGACACGCGGTGATAGTTACGACGTGACTGAATGTGAATATAATAAGGAACGATTGCTACATCTGACCCGACAAGGACGTTTTTGTGAAGACTATCTCACGTTCAAGGATGGCCTGAGTTCCTTCTTTTCATTTGTGAATTTCGAATTACATGAAATAGTGAAGGAAGGTATACGTTTGGCACTTGATGTTTTAAACAAGATTACATCTGATCAACCAGACCGTCTTATAAAAGACTTTAAGTATCATGATTGCTTCGGCAGTTATAATGTACAAATATTTTCTAAGGGTCTGCCAGTTGATATCCTTGAAACGATGATTGCACCTGATAGGTTGTTGTCTAACTTGTCAGGTAGTCGTCAGATTATGAAAAATGCAAGTCGCTATCTTAAAGGCTTTGCCCTCAGTAATCGTGTTTACATGAAATACGGATGGCGTTTAGCAGATGTTGACACATCTGACTATGCGAAAGTTATGTCAGATAGAGAAATGCATGCCAGAGATGATCTTAAGGCGTTTTGCAGTGTCTTTTTTAAAGAGTGTTTCGCATCCGGAAAATATGAATACGAAGCATACCTGAGTGAAAGACAACACGCGATTCGTAACGGGTATTAATACTTATTATCAACTTATCTAATCCCTGAGGGAATTCTTCCCTTGGGGAGGATTCCCTCTTAACCGAGGGCTACAAAATGAAAGCGATTTATAAAATAATTGAAGCGATGCTGGTGAAAATGGGCTTTGAAGGTGCCGTGATCCAAAGTGTCAATCTGGAAACGGGTGTGATTCAGAGTCTAGTTGTTAAGGCTGATATTCCTGTCCGGACTTTAATGCCGCATTTAAGGCGATATCTGCGCGATTGTGAGCCTTTATGGGGACATGACGTGGATTACCACCCTATAGCACAATATTGCTCAGGAGCTGCGTTGTTGAAGGCTGGGCCGGTCACTCTTGAAACCTTTCGGTTTGAGGTTTCAGTGTCAACTGCTCACCTGCGGCTTGTGGATGTTGAGCCGGACTGTCTAAATGAGGGTGTGAACCGTGAAAAACTGGAGTATGTATATTACCGCTCCAGCAATGCAGACAAGGATCTAATACTTGGTATGGTTGAAAAAGGACATAATTTTATCAACCATCTGCATGAACTTTTACGCTCGCGCTTATCAACGGCTTTGCCGCTGATTTTCGCAGTTACAGAAAAGATTGCGGAGAGTTCAGTTCCACAAGTAGTCACCAGCTTTTTCAGTGTTGACCATCAAATCAATGCCCAGATAGTAGTCGAACCTGTACCCGTTTCAGTCGCAGACCAGATAATTTCTGCTGACTGGAATGTGTGTAGTGTTTCAGGAGCGGATAAGTTCCTGAACCATGTTAATCGTTATCTGTCGGGTAGGGTGATGAAGCGGCGTATTTACGCTGTTATAGAAGCTTGCGACGGTGGATCTTTATCCCTCAATGCGAACTTAGGTTGCTTTACATCACCTCTTCTCGTAACTGAGTATAAAATGGTTCAGTCACACTCTTCATCGCTTTATCGAAAGGCTATAAATAACTCGCTTAAGCAAGTTAATTCGTATGCTCCAGAGCATTCAGATGACCTGCTTTCTATGTAATTAATTTTACCCATTGGGGAAGCGTATTCCCCGTGGGGGTTGCTTCCTTTCTTCATTAAAGAGGAAGTGAATATGTTTAATGAAAGTGATGATAAAAACTTTGTTAGTGCAATGCTTAAATGTCAACTTGGCCTGAATATAAGCCAAGAGGATATTACAATATATGACAAAGAAAATCATTTTGAACAACTTTCTTTTAAAGCAAATGTGGCGCTTGATGATTTGTTATTTTATCTGGATTTATATATATCAGAATTGATTAAGCATAATGCGCCGTATTCTGAAACTGAAGTCCTTCGGACTAAAATCAAATACTTTCTTAAAGTATATGAAAAGTCTGGTTTTCAGAACATAAGAATTCGCGGTTATCATAACGCGCACAGTACTATAGATATTGTCGATATCGCATCATTAATATTGGCGGGGTCTGTACCGGAGTCTGAACATGATTCAATAGATCCTGTTTTAAGAAAGGAAATCTATCAAAATCGCATGAGTGTTGAGGGTAAAGTTCTCATTGCCCGTTTTGCACTTAAGCAATTTTTCCATTCTGATTTTGGTGATTTCATCTTAGAGTTCGAGAAAAGTATCTCCAAGTGTTTGAATACTTCTCTCCAGATAATTAAATCTGTAAAGAACTCATTTAACCGTTTAGGTCAATATCAATATCAGCGTCGTGTAAAAGATGACCTGACTTTGCATCTTGATTTGAATACAGATGAATACCCGGCCTGTATGCCAGACCTTTACATCGGTTTCAAGGAGTCTGAAGGGACGACGGGAGTGTATCGCGATGATGAAAAAATCATTCGTCTTTATACTGGCGTTAGTTCCGGAAAGGATGTTCCTGTAATGATGACCGTTCGATTCACTGGCTGTGACGGGAGTGTTTTGTCTGAATCATCGCACGGTACTTTCTGTTCCGTGGGACCTACCGGCCGAGTGCAGGTTTGTGACAGAGTTGCGTTGGTCCAAGAAGCGGTCGAAGAGTTACGGGATGTTGTTTAACCCTTGTTTTTTACCTCTTCATTCCAAAAAGTAACTTTGTTCTACCAAATGACCGCGCTACCTATTCTGATCAACTTGCAGGAAAGAATGGCGCAGTAGTACATATTTTTAATCCACCCACTGGGGAAGTCGCTCCCCTGTGGGGCACTTCCTTTAATAATCCTGAGGAAGTGAAGATGACTAATTCTACTGATAACCAGAACTACGTTCGTGCAGTACTGGCAGGCATTGGTATTGATTTTGATGAAACAGAGATGTTTATCAGTGTCTCTCATTGCCAGAGCGACGAAGTTTCGTTTACATGCAGTATATCAGCCAGTGAGTTAAGAGAATCTGCGGGGCATTATGTGGATACTCTTAATGATACCCAACTGGCTGGCCTGGATGCGGATGCACTCAAGAAGCGACTGGTTTACTTCCTTGAGGTTTTCGACCTGGTTTCCGGTCAATATCTGGATATTTCCGGTAAACATTTCGCGACCAGCCGCTTTGAATACGACGATGTCTGTAGTGAGATCCTGAGTAACTCTGCGGACAGCGCCCAGCCAGGTGGCTATGATCGTGAAGAGTACAAAAGACTGATGGAAGTTGATGGTCAGGTTTTAATCGCCCGATTTGCACTGGAAAAATTCTGGGATACGCATTTTATTGGGCTTATCAACTATGTATCAGATGAAATAACATCCGGGCTTTATGAGGTTTATCGCACGTTCAGTGATATAAACATGGCCGGTTATACATTTAGTGAGTATTCATATACGCGTCGTATTACCGACGAACTTAGTTTGCATATTTCACTTAAAGAGGACGATTTCGAAGAGCAATTAACCGATTGTTATATGGATGAAACAACGCTGCCGTCTGGCAAGGTGGTTTTACGCCGTAATAATGAATCAATTATTGGGATTTATGAAGGATATGCTTCAAAATCTTACTTTCCTATGGTTGCTAATGTTAGAGTCCTTGATACAGATGGTGAAGTTGTTACTGAACTTTACCAAGGGGTGAATGTATCAGAATTAGCTGGTGGTCGGATTAAAATCCATGACCGTCAGGAATTAATTTCTGAGGTGTTCGCTAACTTACGTGAATTCATCCCAGCATCAGAGGATAAAATCTTTGATGCGGCATGAGTCCTGAAGGTTGAATTATATATTTTCAGGTTTTTATACTTCTAAGAAGGCACGGTTATCCGTGCCTTTTTTTTTGCTTTCGTCAAAACTTGCATTGTTTTTACAATTTTACAACGTTCTTACTGCCCTATATGTTTTACGGTACTGTACTCTTGGCACCGTTACATGTAAGCCTTCCATTACCTTCTTCAACCAAACCTAGCCTAATTTACATCCTTCCAGCTGTTTCCTTCTCTGCTTCTTTTACTCGAATGTTTTGCCCCTTGCTGACGTTTCCGGCAGCACACAGTCCGAATGCTGGAGCCTCCAAATTACTTTTTACTTCTTTTGTTTCGGTTTCGCGAAAATAGGTCTCTTATCTGAAAAATGGATCGTTAGAGATTTGTATACTGTTTAAAACAAAGGAGTCACTATGCCTGCCACTACAATCCTGAGCAATAACCCTGTGAATTCGGTCTTCTCTAATGACAATAGCCATTTCACATACCGGCATATTGATTTCAGTATTGAGCTACTGCTTTCTTCAGGAACTGACTCACAACTGGAATATCTGTTTCTCAAACCGGCGGCTGAAGTAAAGATCGATTTACAGCGCCGTTTAGCTAGTGGGGAACGTTACGTTACAACCGAGAGTTGTGACAATTTTAGCGAAGTTGATGGCTGCATGGGACACGATTGCTGAGGACTTTATAACGGCAGGCGTCCGATTTAATACAACACGAGACACTATCACCTAATGATGACTGAATCGTTCTTTGACTGGGTTGTGTATTGCATCACAGGCGTAATACTGGCATCTGCGTTCCTCGAAGGAAAAAGAACCCGTTTTCCGGCTGCATTTTTTTACGGAAGCATTGTGCTGCTGGTCGTTTTGATAGTGGCCGGTGCCCTCAACTGGTGGTTCTACCGTTCTAAATTCGGCTCAGTTGTCGTTATTTTTGCCGCGACAACGCTGTTAATGACCCGATTCAGATTGGTTATTTATGCGTTCAGGTTTCGGACGCTGGTGGCAGATCTCCAATCACATGTAGCCAAGGGATTCAGGATAATCCTTGTCTTACCCGAAAATGAAGACGAGAAGACCGTTTTGCTTAGCAAATTGTCGAAAGTGATACATTCTGGGACGTTGTTTTATACCCGAACAGCTCTGGGTCCATATTCTGGGGATCTCCTGCATGCTCTGGGACAAAAGCACCGAAATGGCGAGGGCTATCTGCTTCTTTGTGAGCAACAACTTCCGGCTCGAACCTGGCTAAGCACTGTAGAAAACGGTCAACCAGAGAAGTCTATTGCAGTTAATTTTCATTCGATCCCTGATATGGAGTGATACCCCTATGAGCAATACAGATTCACAGACCGTACCAGCTGATGCCCTGTGTGAAAACAGTTCTCAGGTGAAAATTCAGCTAAGTCGAAGCGCCTCACGAGCATTGACGACGGCGAAAGAAATTCTTGAAACCCGAGGGCTGGTATCCGTATCCACTGAAGACCTTGTTCAGGCCTGTCTCGAAGAAAATCAGCCACTCGACCTGGCAAGTATCTATCTTGAGCACCGGCTAAAACAGAAGGGAACCAGTATCTGTGAATTTTAGTGTTTTCCAACCTATTGGGGAAATTCCGGAATGTGTTTATATAGCTGTAAGTAAAGCACTCTACAGGTAAATAATGAAAAGCAAAATTCACTCTTCAGGAACGTCCGGCACGAAACGAGTACTTAAAACGGATATTGCGTTGCCTCTGCTTTGTTGGGTGTTCACCAGTCCATTCAGTAACTGGACTGATAAGTTTTTTACCGGCACAGAAGTGCCGGAGGGCTCGCTGCCGGGTCTAGAACAGGCGCCTGAGGCTATCTTCCGATTTGTGCTCAATGACGAAGGTTTTGATGTTGGTTTTGACGCGGTGGGAATGGATCTCTGTTGTTTCTCTATCCCGCTTTCGACGATGCCCACAAAGAATCTGGACGACGAAGAGACGTTGTCGAGGCTTACCGGCGACGTGATACACGGCGTCCTGCTTTCGCTTCCGGAGTACATTGAAATGCCAGACAGGCTGGTCTATCAGCTAACTGATGAGGTCATGGCGTTCAATTCACACTGTGGCAACGGAATTCTACATGGATGGACGACGGCTCAAGAGTTGTGGCGAAACGAGATCCTGCCACGCACCACTATTTTGATGCAGCAGACATCAGTCATTCACTGAGTTCCGGGGGCTCTGGATGAAAAAGCGACTTTACCTTCTTGAATGGAAACTTCGTGAGACAAGAGCCTGGTTAGGATGGATGGTGTTCTGGATTATCATCAGTTTTATGTTTTTATCAGCGATGTTCATGACAGGTCATTTGTTAAACAAAGTTGTCCTCCAGCCCGTTTGGCTGTGTATCTGGTCTTTACCCTGGCTGGGCTTCTTGTTGAAGGTACGCGTGACCGAAATGGATAAAGGGCTCGTGAATACACTTCAGCTCGGAGATCTGCCGGTTTTCCGCTGGAGTCGTTCTGTAGTTCCTGGCACCTGGTCTGTTGACAGAATTAATGGACGCTACCGGTTGAACCGGATTGGAACGGATGGTTTGACGGTACACTATCCGTGGCGCCTGTACTATCAGCCTTTGTTCCTGACACCGGATAAGCAGATTTCTGATATTAACGGACGTGAACATGAACGAAAATTCTGACGCAGTAGTGAGTGCCGCTACTTCCTGCCTGCTGTATGTGCGTGAAATCGAAAGGTCAGGCCCCGGTGAAATGCCGGTGTCATATTCAAATGAGCTTATCCAGAGATGGCTTAGTTCGGCTGAACGTCGTAATTTGCATTCCCGCCACAGCTTGCGTTCGATTCGTACAATTCTGAAGCACGCAAGGAAGAGCCGTCAGCCTGATTTTTAGAGCGTGATGCATTTGCTGGTGGAAGGGAAGGGTGTAATCCCGGATGTTTCAGTATCGGATTTGGGCAATGTGCAGAACATACGTAATGAACTGATTGGTCTGGGTTGGTGGGTGAAGTTTGGTGTAAAGCAGGACTGGCAGCGCATCAATCTGCAACGCCAGCCGGTCAGTTTTGGCCTTTTGAATGACCTTAATCGTTGTTTTCGGCATGACGGTCAGCAGGTTGAACCTCTGCCACTTTATACAACCGGCAATCCCGGGGAATTGCGGAAGGTGCTGTAAAAGTACAACTACCGGCTGCATATCGACTCTTCAGAAGTCGTTGAAGACGTAACGGTGTTGCGCTGCTTTATTGAAACCGGAGTGATGAATGGCCAGTGAAGATTTACTCTTTTACCGTGACCGGATTCTGGAGCGAATTGAAAAGCTCAGATCCTTTCTGAATGACCATCAGCCGGTGATGGCCGAGCTGATGACTGTGGGGACCGTCACACGACACGAAGAGCGGTTGAAAGAGGTGAACCCCATCGAGGTGAGTACTATTTCAGATGCCTCCGTGGATGAAATTATCCGTGTTATTCAGGATTTCTGTATCGATGACATTGATGTACTCAGCAGGAATTCGACGAAAGTGACAACCAAATACCCGGGTTTGATTATTGTTCCTGAGGGTGCCGAACAGCTGAGCGGAATTATTTGCGATATAAATGATGCCAAAAGTGACTTTGCCTCTGCAATGAAAAGGGTGAATTCGGAGAAACACATCCGGTTTAAGGAAGTTCACCGTAAGCTTCCCGGTCTGGTGACTGCGCATTCCACTCGCAAAATTCTGTTTGTGGAAGAACAGCTCAAAAAAGTTACTTTTGCCTGGCGGCTAAACCGAAACCAGGTAAAAACAAACGCAAGTGATCTCATCGCGATGCTGGATAAGCGTCGTTTAGTAGCGGTCAAATCGCCCGTGACAACTGACCTGACAGTGGTGGCGAACATCGATAGAGCGAAGGCATTACTGGAAAGAAAAGTACTGAGAGACGGCGAAGGTTATCGCCTTTGTCGAACCAATACCTTCCCGGTTCCGATAGCGCATTTGTTCACATACCGGCCTGAAGGCAAGGAGCGTGGAAGTAGCAAATATGCCGAGACTGATTACAAGGTGGTGAAAGCCTCATTACCCATTTTTGGCGTCGGACAAAAGCCAACAATTAAAAGACTTCAGGACTGGGTGCCAGCGCAGGATGAAGCACTGTCCAATGGTCGAAGGAGCAACCATAGCTACACGGAACTTGTACCCGGTGCAGATCTTGGCATTTTCATTATGAGAAAGGTCTGAGGAGAAAAGCATGCAATGGATTTCCACGACCAGCCAGAAACTTGATGAGAGACTTTATCGTGTCTGTGTCTGGGTGAAAAAATACCATGAGGATGCCATCAACCGTGTTGTGTTGACGGTTGATCTCAGTAAGGCCCGCCATGACCCGATAGAGGACCAGGTACGGGCCGAGTTACTGTGTGGGCATTATTTTCTGATGCGGAAAGAGAACAACGCAAAATCGGCGCCAGCGGATCAGAACTTTGAATTTTTGCCTGACGGCCGCAACCTGAGCTGGCAGACGTCGACACCGGGGCTTCAGCACCTTCTCCTGAACAGCAATGTACCTGAGTCCCTTAGGCCCCTGGCTGATTACATTCAGATGCGTCTGGCCAAGCTGACCATGGTCCCGATGTCGGGAACCATCATGAAAGCCGCACTGGAAGACAGCATCAGCTGGGTAAAAGTGGATCTGCGATACTACTGGCAGTATGAACTGGTTAATTCCCATCTGGGGCCTGTTCAGGTAACTCATAAGGCGCTTGTGCGATTCGGGAGGCTGGCAAAACACGATGAAAACGCTAGTGCAATTCGAATGCTTCGCCAGCGGTTGTCATCACCGTTTATTCAGGAATTTGAGATGCCTGGGGAGGAACTGAAGCGCAAGCAGAAGATCATGAATACCGTTGATGTGAAAATGCTTTTCCACACACATTATCCGGGCCAGAAATTACTGCTGGCCCGATATGCTAATGGTTGGGTGCTGGTGGATTGTTTCCTGTTCCACCATATCAAACCCAAAAAGAAGGCGAAAAACAAAACCAAAGCGGGTAAATCAGAAACTCAAAATATCAAATCGACGGGGAGTGAGGATCATGGAACTGGGCATTATGGTGTGCATCGTGTTGTTACTCTCACTGGCAGCGGTGTGGATCAGTAACAAGACGGTCGGATTGCTGGAAATCCATTACTTTAAGCGGCCGCTGAGCATGGAGTATGCAGCCTGGCTGCGAGTGATGTGTGCGGGTTTGCTATTTATTTTTATTCAGATGGTCCCGGCATTCACGTTTCTGTATACCCTGAAGCTGGTGGCACTGTTAAATCTGGGCGTGCAGACGATGAAGCTAAACGGGGTTTATAAATTTAAACGCACCGGGATGATGCCGCCGAAAGACGCCCCTCATGATCTTGGCCGCTTTAATCCATTTCGAAAGAAGTAATCCTCATTAGCGCCCGCAGGGGCGCTACTCATCCAGCGCCTCACGCATGAACTTCGTCATCGCTTTCTTACCTGCGTCAATGTTACGGATATAGCGGGAAACCATTTCTGGATTGCTCCAGTTACCCATCTCCATGATCTGCAAGTGCGTGTACCCGGCATTAGCAAGTTCGATGGCGCCGCCAACCCTAACGCTGTGACCAGTCCAGCATCGGGTGCCCGCTTCCTGCGGATGAAGTTCATCCCAAAACGCTTCAAAGGCCCGGAGCAATGTGTTTTTACTGAGCATACCCTCATCATCGACAATAATGGGCTTTCCATTTTTCCCGATCGGGGGACGGGTAGGTCGGTAAGGCATATTATGATTTTTCAGCAGCGTATTGATCTCATTCCCTTTGCTCCGGAGACCCCATCCAGGGGGCATATATCCGCTGTCCTGATAGTTAACTGCCTGGAAGAGATAATCCTTCGGATGGCTTTGCTGGTCCCTTTTGACCATATCCATCAGCCTGATTAGGGTGGCAGTGAGATGAGGGGTCAGATGATAGGTAAGCAGGGTACTGACAGTGGATTTTGTCCGGTACACCGTCAGGGTAAAACTGCCTGTCTGTTCATTCAGCACAAGGTCCTGCATCCGAATGCGCCGAAGTTCTGCTGAGCGCAACAGTGTTTCAAAACCTGTCCAGATAATGCAAAGGTCTCGGAGTTTGCGCACCGACTGTGTCGTACCGTGGGCTTTAATCAAAGCTTTCAGGTCGGAGACTAGGAATGGCGTTGCCTGACGAGTCACTTTTTGCTCTCGGGCTTCAGCTTGTTCGAGGCTTGCAAGAATACTCTTGACCTTGGATGTGATGATCCCAGGGCGATCGAGTGCTTTCCTATGGATACTGTTCAGCGCGTGCAGACAACCTTTAATGCTGCTGTGTGACAGCGAGCCCTGAAGATAGTCCAGATAGGCCAACAACGGGGGTTCTGTCACCGGGAGAGAACTGGCAGGCCAGGCTTCGTTTCCCTCCTTTCCTGCATTAGCTTGGTACCACTCGTTCCAGGAACGCAGCCATTGAAGGTAAGTTTTAGCCGTGTTGTATTTCATATGAGAAAAGTAAAAAATGAGCTCCTTAAGGTCATTATTGGGCACCTCAAACGTGACCAGTTCCTGATGGAGGTCTGAGTCTTCAAACTGTCTGGTTACTGGCTTGCTGTTCATGGTGGTCACCTGAATACACTGTTTTTATTTACAGCTATTTTAGCACTGAGGTATCCACTTATGAACAGGTTCACAGCAACTAAAAAAGAGAGAGCGACTACAACAACGATCCGGAGATAAACATCAAATATTTGTGAAAAAAATTAGATTCTAGGGACAAAACGACATAAGATTGGGAAACCGTACTTTCGCGGGAAATAAATTAAGGTTGACCATGTCCGAAACTAAGCAGGCGTATTTAATGAAATTTCGTAAGTGCTCTTCTTTCGACACACTGGAAAAAGTATTCGAACGACTCTGTGAAAAAAATGCAGGTATAGCATCACTGGAAATTTCCGGGGCATATGACCATCGAAAAGCTGAACTGACAATGAAGAAACTCTACGATAAAGTACCCGCAAGCGTATGGACACTGGTCCGTCAGTAATATGAAGATATTGGTAACCAATTTATCGCCGACTTTTCAGGAAAGGAGATTTATGAAAACGTCAGCAGTAAAATTAAAATTTTTTAATATTCTATTAATACCTCTAAATAAGCTTAATTAGTAAAGTCATCACGTCATTCAAAATCCTGTTTCCGCTCCATGGTGGTAACTCGTATGAGAATTAAACATCTAATATTTTTACCTGTTCCCTTCATTTCCTTTTATTTAAACGCGGCGAGCTTGGACGAAATGGTGATGCTGCCAACTTACTGATTTAGTGTATGATGGTGTTTTTGAGGTGCTCCAGTGGC
ATTTCGTCCAAGCTCGCCGCGTTTAAATAAAAGGAAATGAAGGGAACAGGTAAAAATATTAGATGTTTAATTCTCATACGAGTTACCACCATGGAGCGGAAACAGGATTTTGAATGACGTGATGACTTTACTAATTAAGCTTATTTAGAGGTATTAATAGAATATTAAAAAATTTTAATTTTACTGCTGACGTTTTCATAAATCTCCTTTCCTGAAAAGTCGGCGATAAATTGGTTACCAATATCTTCATATTACTGACGGACCAGTGTCCATACGCTTGCGGGTACTTTATCGTAGAGTTTCTTCATTGTCAGTTCAGCTTTTCGATGGTCATATGCCCCGGAAATTTCCAGTGATGCTATACCTGCATTTTTTTCACAGAGTCGTTCGAATACTTTTTCCAGTGTGTCGAAAGAAGAGCACTTACGAAATTTCATTAAATACGCCTGCTTAGTTTCGGACATGGTCAACCTTAATTTATTTCCCGCGAAAGTACGGTTTCCCAATCTTATGTCGTTTTGTCCCTAGAATCTAATTTTTTTCACAAATATTTGATGTTTATCTCCGGATCGTTGTTGTAGTCGCTCTCTCTTTTTTAGTTGCTGTGAACCTGTTCATAAGTGGATACCTCAGTGCTAAAATAGCTGTAAATAAAAACAGTGTATTCAGGTGACCACCATGAACAGCAAGCCAGTAACCAGACAGTTTGAAGACTCAGACCTCCATCAGGAACTGGTCACGTTTGAGGTGCCCAATAATGACCTTAAGGAGCTCATTTTTTACTTTTCTCATATGAAATACAACACGGCTAAAACTTACCTTCAATGGCTGCGTTCCTGGAACGAGTGGTACCAAGCTAATGCAGGAAAGGAGGGAAACGAAGCCTGGCCTGCCAGTTCTCTCCCGGTGACAGAACCCCCGTTGTTGGCCTATCTGGACTATCTTCAGGGCTCGCTGTCACACAGCAGCATTAAAGGTTGTCTGCACGCGCTGAACAGTATCCATAGGAAAGCACTCGATCGCCCTGGGATCATCACATCCAAGGTCAAGAGTATTCTTGCAAGCCTCGAACAAGCTGAAGCCCGAGAGCAAAAAGTGACTCGTCAGGCAACGCCATTCCTAGTCTCCGACCTGAAAGCTTTGATTAAAGCCCACGGTACGACACAGTCGGTGCGCAAACTCCGAGACCTTTGCATTATCTGGACAGGTTTTGAAACACTGTTGCGCTCAGCAGAACTTCGGCGCATTCGGATGCAGGACCTTGTGCTGAATGAACAGACAGGCAGTTTTACCCTGACGGTGTACCGGACAAAATCCACTGTCAGTACCCTGCTTACCTATCATCTGACCCCTCATCTCACTGCCACCCTAATCAGGCTGATGGATATGGTCAAAAGGGACCAGCAAAGCCATCCGAAGGATTATCTCTTCCAGGCAGTTAACTATCAGGACAGCGGATATATGCCCCCTGGATGGGGTCTCCGGAGCAAAGGGAATGAGATCAATACGCTGCTGAAAAATCATAATATGCCTTACCGACCTACCCGTCCCCCGATCGGGAAAAATGGAAAGCCCATTATTGTCGATGATGAGGGTATGCTCAGTAAAAACACATTGCTCCGGGCCTTTGAAGCGTTTTGGGATGAACTTCATCCGCAGGAAGCGGGCACCCGATGCTGGACTGGTCACAGCGTTAGGGTTGGCGGCGCCATCGAACTTGCTAATGCCGGGTACACGCACTTGCAGATCATGGAGATGGGTAACTGGAGCAATCCAGAAATGGTTTCCCGCTATATCCGTAACATTGACGCAGGTAAGAAAGCGATGACGAAGTTCATGCGTGAGGCGCTGGATGAGTAGCGCCCCTGCGGGCGCTAATGAGGATTACTTCTTTCGAAATGGATTAAAGCGGCCAAGATCATGAGGGGCGTCTTTCGGCGGCATCATCCCGGTGCGTTTAAATTTATAAACCCCGTTTAGCTTCATCGTCTGCACGCCCAGATTTAACAGTGCCACCAGCTTCAGGGTATACAGAAACGTGAATGCCGGGACCATCTGAATAAAAATAAATAGCAAACCCGCACACATCACTCGCAGCCAGGCTGCATACTCCATGCTCAGCGGCCGCTTAAAGTAATGGATTTCCAGCAATCCGACCGTCTTGTTACTGATCCACACCGCTGCCAGTGAGAGTAACAACACGATGCACACCATAATGCCCAGTTCCATGATCCTCACTCCCCGTCGATTTGATATTTTGAGTTTCTGATTTACCCGCTTTGGTTTTGTTTTTCGCCTTCTTTTTGGGTTTGATATGGTGGAACAGGAAACAATCCACCAGCACCCAACCATTAGCATATCGGGCCAGCAGTAATTTCTGGCCCGGATAATGTGTGTGGAAAAGCATTTTCACATCAACGGTATTCATGATCTTCTGCTTGCGCTTCAGTTCCTCCCCAGGCATCTCAAATTCCTGAATAAACGGTGATGACAACCGCTGGCGAAGCATTCGAATTGCACTAGCGTTTTCATCGTGTTTTGCCAGCCTCCCGAATCGCACAAGCGCCTTATGAGTTACCTGAACAGGCCCCAGATGGGAATTAACCAGTTCATACTGCCAGTAGTATCGCAGATCCACTTTTACCCAGCTGATGCTGTCTTCCAGTGCGGCTTTCATGATGGTTCCCGACATCGGGACCATGGTCAGCTTGGCCAGACGCATCTGAATGTAATCAGCCAGGGGCCTAAGGGACTCAGGTACATTGCTGTTCAGGAGAAGGTGCTGAAGCCCCGGTGTCGACGTCTGCCAGCTCAGGTTGCGGCCGTCAGGCAAAAATTCAAAGTTCTGATCCGCTGGCGCCGATTTTGCGTTGTTCTCTTTCCGCATCAGAAAATAATGCCCACACAGTAACTCGGCCCGTACCTGGTCCTCTATCGGGTCATGGCGGGCCTTACTGAGATCAACCGTCAACACAACACGGTTGATGGCATCCTCATGGTATTTTTTCACCCAGACACAGACACGATAAAGTCTCTCATCAAGTTTCTGGCTGGTCGTGGAAATCCATTGCATGCTTTTCTCCTCAGACCTTTCTCATAATGAAAATGCCAAGATCTGCACCGGGTACAAGTTCCGTGTAGCTATGGTTGCTCCTTCGACCATTGGACAGTGCTTCATCCTGCGCTGGCACCCAGTCCTGAAGTCTTTTAATTGTTGGCTTTTGTCCGACGCCAAAAATGGGTAATGAGGCTTTCACCACCTTGTAATCAGTCTCGGCATATTTGCTACTTCCACGCTCCTTGCCTTCAGGCCGGTATGTGAACAAATGCGCTATCGGAACCGGGAAGGTATTGGTTCGACAAAGGCGATAACCTTCGCCGTCTCTCAGTACTTTTCTTTCCAGTAATGCCTTCGCTCTATCGATGTTCGCCACCACTGTCAGGTCAGTTGTCACGGGCGATTTGACCGCTACTAAACGACGCTTATCCAGCATCGCGATGAGATCACTTGCGTTTGTTTTTACCTGGTTTCGGTTTAGCCGCCAGGCAAAAGTAACTTTTTTGAGCTGTTCTTCCACAAACAGAATTTTGCGAGTGGAATGCGCAGTCACCAGACCGGGAAGCTTACGGTGAACTTCCTTAAACCGGATGTGTTTCTCCGAATTCACCCTTTTCATTGCAGAGGCAAAGTCACTTTTGGCATCATTTATATCGCAAATAATTCCGCTCAGCTGTTCGGCACCCTCAGGAACAATAATCAAACCCGGGTATTTGGTTGTCACTTTCGTCGAATTCCTGCTGAGTACATCAATGTCATCGATACAGAAATCCTGAATAACACGGATAATTTCATCCACGGAGGCATCTGAAATAGTACTCACCTCGATGGGGTTCACCTCTTTCAACCGCTCTTCGTGTCGTGTGACGGTCCCCACAGTCATCAGCTCGGCCATCACCGGCTGATGGTCATTCAGAAAGGATCTGAGCTTTTCAATTCGCTCCAGAATCCGGTCACGGTAAAAGAGTAAATCTTCACTGGCCATTCATCACTCCGGTTTCAATAAAGCAGCGCAACACCGTTACGTCTTCAACGACTTCTGAAGAGTCGATATGCAGCCGGTAGTTGTACTTTTACAGCACCTTCCGCAATTCCCCGGGATTGCCGGTTGTATAAAGTGGCAGAGGTTCAACCTGCTGACCGTCATGCCGAAAACAACGATTAAGGTCATTCAAAAGGCCAAAACTGACCGGCTGGCGTTGCAGATTGATGCGCTGCCAGTCCTGCTTTACACCAAACTTCACCCACCAACCCAGACCAATCAGTTCATTACGTATGTTCTGCACATTGCCCAAATCCGATACTGAAACATCCGGGATTACACCCTTCCCTTCCACCAGCAAATGCATCACGCTCTAAAAATCAGGCTGACGGCTCTTCCTTGCGTGCTTCAGAATTGTACGAATCGAACGCAAGCTGTGGCGGGAATGCAAATTACGACGTTCAGCCGAACTAAGCCATCTCTGGATAAGCTCATTTGAATATGACACCGGCATTTCACCGGGGCCTGACCTTTCGATTTCACGCACATACAGCAGGCAGGAAGTAGCGGCACTCACTACTGCGTCAGAATTTTCGTTCATGTTCACGTCCGTTAATATCAGAAATCTGCTTATCCGGTGTCAGGAACAAAGGCTGATAGTACAGGCGCCACGGATAGTGTACCGTCAAACCATCCGTTCCAATCCGGTTCAACCGGTAGCGTCCATTAATTCTGTCAACAGACCAGGTGCCAGGAACTACAGAACGACTCCAGCGGAAAACCGGCAGATCTCCGAGCTGAAGTGTATTCACGAGCCCTTTATCCATTTCGGTCACGCGTACCTTCAACAAGAAGCCCAGCCAGGGTAAAGACCAGATACACAGCCAAACGGGCTGGAGGACAACTTTGTTTAACAAATGACCTGTCATGAACATCGCTGATAAAAACATAAAACTGATGATAATCCAGAACACCATCCATCCTAACCAGGCTCTTGTCTCACGAAGTTTCCATTCAAGAAGGTAAAGTCGCTTTTTCATCCAGAGCCCCCGGAACTCAGTGAATGACTGATGTCTGCTGCATCAAAATAGTGGTGCGTGGCAGGATCTCGTTTCGCCACAACTCTTGAGCCGTCGTCCATCCATGTAGAATTCCGTTGCCACAGTGTGAATTGAACGCCATGACCTCATCAGTTAGCTGATAGACCAGCCTGTCTGGCATTTCAATGTACTCCGGAAGCGAAAGCAGGACGCCGTGTATCACGTCGCCGGTAAGCCTCGACAACGTCTCTTCGTCGTCCAGATTCTTTGTGGGCATCGTCGAAAGCGGGATAGAGAAACAACAGAGATCCATTCCCACCGCGTCAAAACCAACATCAAAACCTTCGTCATTGAGCACAAATCGGAAGATAGCCTCAGGCGCCTGTTCTAGACCCGGCAGCGAGCCCTCCGGCACTTCTGTGCCGGTAAAAAACTTATCAGTCCAGTTACTGAATGGACTGGTGAACACCCAACAAAGCAGAGGCAACGCAATATCCGTTTTAAGTACTCGTTTCGTGCCGGACGTTCCTGAAGAGTGAATTTTGCTTTTCATTATTTACCTGTAGAGTGCTTTACTTACAGCTATATAAACACATTCCGGAATTTCCCCAATAGGTTGGAAAACACTAAAATTCACAGATACTGGTTCCCTTCTGTTTTAGCCGGTGCTCAAGATAGATACTTGCCAGGTCGAGTGGCTGATTTTCTTCGAGACAGGCCTGAACAAGGTCTTCAGTGGATACGGATACCAGCCCTCGGGTTTCAAGAATTTCTTTCGCCGTCGTCAATGCTCGTGAGGCGCTTCGACTTAGCTGAATTTTCACCTGAGAACTGTTTTCACACAGGGCATCAGCTGGTACGGTCTGTGAATCTGTATTGCTCATAGGGGTATCACTCCATATCAGGGATCGAATGAAAATTAACTGCAATAGACTTCTCTGGTTGACCGTTTTCTACAGTGCTTAGCCAGGTTCGAGCCGGAAGTTGTTGCTCACAAAGAAGCAGATAGCCCTCGCCATTTCGGTGCTTTTGTCCCAGAGCATGCAGGAGATCCCCAGAATATGGACCCAGAGCTGTTCGGGTATAAAACAACGTCCCAGAATGTATCACTTTCGACAATTTGCTAAGCAAAACGGTCTTCTCGTCTTCATTTTCGGGTAAGACAAGGATTATCCTGAATCCCTTGGCTACATGTGATTGGAGATCTGCCACCAGCGTCCGAAACCTGAACGCATAAATAACCAATCTGAATCGGGTCATTAACAGCGTTGTCGCGGCAAAAATAACGACAACTGAGCCGAATTTAGAACGGTAGAACCACCAGTTGAGGGCACCGGCCACTATCAAAACGACCAGCAGCACAATGCTTCCGTAAAAAAATGCAGCCGGAAAACGGGTTCTTTTTCCTTCGAGGAACGCAGATGCCAGTATTACGCCTGTGATGCAATACACAACCCAGTCAAAGAACGATTCAGTCATCATTAGGTGATAGTGTCTCGTGTTGTATTAAATCGGACGCCTGCCGTTATAAAGTCCTCAGCAATCGTGTCCCATGCAGCCATCAACTTCGCTAAAATTGTCACAACTCTCGGTTGTAACGTAACGTTCCCCACTAGCTAAACGGCGCTGTAAATCGATCTTTACTTCAGCCGCCGGTTTGAGAAACAGATATTCCAGTTGTGAGTCAGTTCCTGAAGAAAGCAGTAGCTCAATACTGAAATCAATATGCCGGTATGTGAAATGGCTATTGTCATTAGAGAAGACCGAATTCACAGGGTTATTGCTCAGGATTGTAGTGGCAGGCATAGTGACTCCTTTGTTTTAAACAGTATACAAATCTCTAACGATCCATTTTTCAGATAAGAGACCTATTTTCGCGAAACCGAAACAAAAGAAGTAAAAAGTAATTTGGAGGCTCCAGCATTCGGACTGTGTGCTGCCGGAAACGTCAGCAAGGGGCAAAACATTCGAGTAAAAGAAGCAGAGAAGGAAACAGCTGGAAGGATGTAAATTAGGCTAGGTTTGGTTGAAGAAGGTAATGGAAGGCTTACATGTAACGGTGCCAAGAGTACAGTACCGTAAAACATATAGGGCAGTAAGAACGTTGTAAAATTGTAAAAACAATGCAAGTTTTGACGAAAGCAAAAAAAAAGGCACGGATAACCGTGCCTTCTTAGAAGTATAAAAACCTGAAAATATATAATTCAACCTTCAGGACTCATGCCGCATCAAAGATTTTATCCTCTGATGCTGGGATGAATTCACGTAAGTTAGCGAACACCTCAGAAATTAATTCCTGACGGTCATGGATTTTAATCCGACCACCAGCTAATTCTGATACATTCACCCCTTGGTAAAGTTCAGTAACAACTTCACCATCTGTATCAAGGACTCTAACATTAGCAACCATAGGAAAGTAAGATTTTGAAGCATATCCTTCATAAATCCCAATAATTGATTCATTATTACGGCGTAAAACCACCTTGCCAGACGGCAGCGTTGTTTCATCCATATAACAATCGGTTAATTGCTCTTCGAAATCGTCCTCTTTAAGTGAAATATGCAAACTAAGTTCGTCGGTAATACGACGCGTATATGAATACTCACTAAATGTATAACCGGCCATGTTTATATCACTGAACGTGCGATAAACCTCATAAAGCCCGGATGTTATTTCATCTGATACATAGTTGATAAGCCCAATAAAATGCGTATCCCAGAATTTTTCCAGTGCAAATCGGGCGATTAAAACCTGACCATCAACTTCCATCAGTCTTTTGTACTCTTCACGATCATAGCCACCTGGCTGGGCGCTGTCCGCAGAGTTACTCAGGATCTCACTACAGACATCGTCGTATTCAAAGCGGCTGGTCGCGAAATGTTTACCGGAAATATCCAGATATTGACCGGAAACCAGGTCGAAAACCTCAAGGAAGTAAACCAGTCGCTTCTTGAGTGCATCCGCATCCAGGCCAGCCAGTTGGGTATCATTAAGAGTATCCACATAATGCCCCGCAGATTCTCTTAACTCACTGGCTGATATACTGCATGTAAACGAAACTTCGTCGCTCTGGCAATGAGAGACACTGATAAACATCTCTGTTTCATCAAAATCAATACCAATGCCTGCCAGTACTGCACGAACGTAGTTCTGGTTATCAGTAGAATTAGTCATCTTCACTTCCTCAGGATTATTAAAGGAAGTGCCCCACAGGGGAGCGACTTCCCCAGTGGGTGGATTAAAAATATGTACTACTGCGCCATTCTTTCCTGCAAGTTGATCAGAATAGGTAGCGCGGTCATTTGGTAGAACAAAGTTACTTTTTGGAATGAAGAGGTAAAAAACAAGGGTTAAACAACATCCCGTAACTCTTCGACCGCTTCTTGGACCAACGCAACTCTGTCACAAACCTGCACTCGGCCGGTAGGTCCCACGGAACAGAAAGTACCGTGCGATGATTCAGACAAAACACTCCCGTCACAGCCAGTGAATCGAACGGTCATCATTACAGGAACATCCTTTCCGGAACTAACGCCAGTATAAAGACGAATGATTTTTTCATCATCGCGATACACTCCCGTCGTCCCTTCAGACTCCTTGAAACCGATGTAAAGGTCTGGCATACAGGCCGGGTATTCATCTGTATTCAAATCAAGATGCAAAGTCAGGTCATCTTTTACACGACGCTGATATTGATATTGACCTAAACGGTTAAATGAGTTCTTTACAGATTTAATTATCTGGAGAGAAGTATTCAAACACTTGGAGATACTTTTCTCGAACTCTAAGATGAAATCACCAAAATCAGAATGGAAAAATTGCTTAAGTGCAAAACGGGCAATGAGAACTTTACCCTCAACACTCATGCGATTTTGATAGATTTCCTTTCTTAAAACAGGATCTATTGAATCATGTTCAGACTCCGGTACAGACCCCGCCAATATTAATGATGCGATATCGACAATATCTATAGTACTGTGCGCGTTATGATAACCGCGAATTCTTATGTTCTGAAAACCAGACTTTTCATATACTTTAAGAAAGTATTTGATTTTAGTCCGAAGGACTTCAGTTTCAGAATACGGCGCATTATGCTTAATCAATTCTGATATATATAAATCCAGATAAAATAACAAATCATCAAGCGCCACATTTGCTTTAAAAGAAAGTTGTTCAAAATGATTTTCTTTGTCATATATTGTAATATCCTCTTGGCTTATATTCAGGCCAAGTTGACATTTAAGCATTGCACTAACAAAGTTTTTATCATCACTTTCATTAAACATATTCACTTCCTCTTTAATGAAGAAAGGAAGCAACCCCCACGGGGAATACGCTTCCCCAATGGGTAAAATTAATTACATAGAAAGCAGGTCATCTGAATGCTCTGGAGCATACGAATTAACTTGCTTAAGCGAGTTATTTATAGCCTTTCGATAAAGCGATGAAGAGTGTGACTGAACCATTTTATACTCAGTTACGAGAAGAGGTGATGTAAAGCAACCTAAGTTCGCATTGAGGGATAAAGATCCACCGTCGCAAGCTTCTATAACAGCGTAAATACGCCGCTTCATCACCCTACCCGACAGATAACGATTAACATGGTTCAGGAACTTATCCGCTCCTGAAACACTACACACATTCCAGTCAGCAGAAATTATCTGGTCTGCGACTGAAACGGGTACAGGTTCGACTACTATCTGGGCATTGATTTGATGGTCAACACTGAAAAAGCTGGTGACTACTTGTGGAACTGAACTCTCCGCAATCTTTTCTGTAACTGCGAAAATCAGCGGCAAAGCCGTTGATAAGCGCGAGCGTAAAAGTTCATGCAGATGGTTGATAAAATTATGTCCTTTTTCAACCATACCAAGTATTAGATCCTTGTCTGCATTGCTGGAGCGGTAATATACATACTCCAGTTTTTCACGGTTCACACCCTCATTTAGACAGTCCGGCTCAACATCCACAAGCCGCAGGTGAGCAGTTGACACTGAAACCTCAAACCGAAAGGTTTCAAGAGTGACCGGCCCAGCCTTCAACAACGCAGCTCCTGAGCAATATTGTGCTATAGGGTGGTAATCCACGTCATGTCCCCATAAAGGCTCACAATCGCGCAGATATCGCCTTAAATGCGGCATTAAAGTCCGGACAGGAATATCAGCCTTAACAACTAGACTCTGAATCACACCCGTTTCCAGATTGACACTTTGGATCACGGCACCTTCAAAGCCCATTTTCACCAGCATCGCTTCAATTATTTTATAAATCGCTTTCATTTTGTAGCCCTCGGTTAAGAGGGAATCCTCCCCAAGGGAAGAATTCCCTCAGGGATTAGATAAGTTGATAATAAGTATTAATACCCGTTACGAATCGCGTGTTGTCTTTCACTCAGGTATGCTTCGTATTCATATTTTCCGGATGCGAAACACTCTTTAAAAAAGACACTGCAAAACGCCTTAAGATCATCTCTGGCATGCATTTCTCTATCTGACATAACTTTCGCATAGTCAGATGTGTCAACATCTGCTAAACGCCATCCGTATTTCATGTAAACACGATTACTGAGGGCAAAGCCTTTAAGATAGCGACTTGCATTTTTCATAATCTGACGACTACCTGACAAGTTAGACAACAACCTATCAGGTGCAATCATCGTTTCAAGGATATCAACTGGCAGACCCTTAGAAAATATTTGTACATTATAACTGCCGAAGCAATCATGATACTTAAAGTCTTTTATAAGACGGTCTGGTTGATCAGATGTAATCTTGTTTAAAACATCAAGTGCCAAACGTATACCTTCCTTCACTATTTCATGTAATTCGAAATTCACAAATGAAAAGAAGGAACTCAGGCCATCCTTGAACGTGAGATAGTCTTCACAAAAACGTCCTTGTCGGGTCAGATGTAGCAATCGTTCCTTATTATATTCACATTCAGTCACGTCGTAACTATCACCGCGTGTCAGAGTGAATCCTTCCCTTGAGGAAACTGGAAATCTAATATGGTCAATTAAAAAAGACCGATTCCGTTTATTTTTAACTACATCTAACTGACATTTAACACAATCCGCGATGTCCTGGTCTTCAAACCCAGGAAACGGGATATCTAAAAATGTTGAACTGTATGCGGGGGCATACGAATAAAGAAAATCAAATGAAACATCGGCGTCACAGCATATTCCAGTAAATTTACCGTCGGTGCCACTCAAGCAGATAACATTACTGACCTTCACTGAATGTTTACGCGATATCAGAAATGCATTAATGATTTTCTCAATAATTTTCATGTAATCCTCACTTAAATAAAAAATGGGATTACACCCATCAGGGATGTAATCCCCGGATGGGTAATGTTAATCAGAAATCGTAAAGACCTAAATCTTTATTTCGCCCCGAAATCGTGGAAGATATAAGGCGATTGACACGTTTCTGTATATTATGCTCAGATGTCTCTTTTATAAAAAGTGGTAATGACTTACCAAGAGACCGTCCATTTTTTGAATATTGACAGACTATATAGCCATGTCTCCAACCAGTACTGATATAAGACTGAATGCATTTGATAAACCCAGAAGCCGCCGCTTCTGTTCGTAAAGAGGCATATGATTTCAGATACCTTTCTATTGAACATAGTGCAACAGCTTTAAGAGTCACCTCCAGCATTTCATTCCCGTGCTTAACTCTCTTAATCAACTGATCTTCATTCCGTTGCAGGTATACATTTCGCAGTCCTGCAATCAAAATTAAAACCTGTCTGAGTAATGCACAGAGCCTATTACGAACATATTTCATGAAATCTTCAAAATACAAAAGCCAGAAACAAGCCGCCTGACTTATTAAGATTTCATGCGAGCAAGACAGCATCTTAGCCAGCTCGATATCTTCAGTTCGAAAAGAAAAGTTACTTTTCTCAAACCGCTGTTGCTTTGAATTACACGTATAGAGCTCTATCCATACAGAGATAAACTCAAGTGACTCCATGTCTTCACAGAGCAATTCAGCACTGTTGATACACTGCTGAAGTTCAAGGCCGATATCATACGAAACCGGACAATCTTTCAGAGACTCAACGTAGTCAGGGACGAACTGAGATAAATGCGTTGTTTTCAGATACAGGCTGAGATGCACTTGTGTCAATGGCTTTACCAGCGACGTTACAGGCAACTCATTAATGGAAGTTGGTACAATGCCATTCTTTATCAGAACCGCATTGACCAGATCTGTAGCTAATTTCATAAGACCTCCAGATTCAACTCTGAGGGCCACCCCGATGGGAGGTGCCATCAGGGATGTAGTAAAAATATGTGTTATCTTTATGCGCAAAGTGCCATGACATTGTCGATATAACTGACAAGTGATGGTCGCTCATCCTTTACTGCAAAGTGACGAAGGCCATCAAGGTTGTATGCTGGAAGGAAATCGGCATACCCTCGCGCACGAAGATCATCAATAACAAGTTTTAAATAATCAAATTTACCAAGTGAACCTCTTAATGGAGGTCTTCCCGGCTTGGACAAAATTTCAAAAGCTTGCTGCCAGGTGATTTCTTCCGCTTCTCGTGTTGCAAGATTAAAATGCACATACTTAAATGCTTTATAATCTCCACGACTTGTAAGATAGTAATTCGGAAAGAAGTATTTATCACAACGCAACAAACAGGTTCCTGAAGGACGAATAACGTACAACAGGTTTTTGTCTTTATCTATTATGCTGTGTTTTAAAATCGTGAAGTCAATTTCATTATCATGAAGGTAATAACACGAAGATGGTTGCTCAACGATATGAGATGAAATCACAGCAGCGAACGTATTAAATAAATCTTGATTTTCAATATTCATAACAATGCTCTCCGATATTTAACGATGAGCATCACCCTAACGGTAATACTCCCGTCAGGGGTTTTAAGTTTTATGGATATACCATGTCATACAACCGACCGTAGCCAGATGTATCGCACATTTATTAAACTGAGCAAGCATCTCAGCCGTAAAAAAAACCTGAATAACAGGTGATTTTCACGAAGGAAATCGGATTATCTGTTTAGGATTTAACGTAAATAAACACTAAAGAGATAACCCCCCCCGGCCTGAAAAGGCGGGGGAGTTATCGGATTTAAAGCTGAGCAAGACATTCAGGAGCCCATTTTACGGGGAATCCATCCGGTCCTGTTAATTTTAGTACATCGTTCCAGTCGACTCCTTTCTTCCCTACAGGAATATCGAAATCAGGTTCAAAGACTTTAATTGTCAGCTCTGAAGTGGGATATCGCTTTGCAAAAAACTCTTTCATACGTTCCTGAAGTCGTTTAGCTGACTCCATTCCCGGGGAAGTGCCTTTTGTATTCACAAGATCCTTATCCGCCCAGATGTAAAACTGTATTACTTTCACACCAGGGGGAGGCAGGAGACTATCCGGCACTTCAACGTTTTCAAGGCACCAGGCAGAGCTCGCGGCCCAGCACGGTGTTGAAGTCGCTTCAGTAACTGACAGCGCGTTTTCTATGCCTTCAGCCACACCTAACGTCCAGGTACGGGTACCTGGATTGAAGTGTGGATCGTACAGCTGAATTGAGCCGCCAGTCATATCGGCAGGCGGTTTCATCATCAGTTTCGGATTCTCAACATGTGCCTTATCACCATTTAACTCGACGAACGTTCTGTGGATTGTCAGAGGACGCCCACGGGTATCGCGATAAATTGCGATCATTCCCGGGTAAATCGTGGGTTTTTCCAGTGACTTATCCATGTAGTAAAGTCGTTTGTTCAGACCTAAATCCTTGGGAAGGTTGCTCAGAACTCGATTAAGACCTCGATTTCGGAGATACACCCACACAGGGCTCTCAGGTTTGATTTCACCGGTATAGTGATATATCACTTCAAGTTTACGCCCTCGTTTTTCAACTTCATCGCTGTCAAGCGTTTCGGTTGCACGAACTGTTGATTTATAACGACGTTCACTTTCGAGATCCGCATCAGTTAATGGAGCGTACAAATCCATCCCAAAGAAATCAGTCAGGATCTTCTTACAAGTCTGGGTCTTGCTCAGCTTGTAGTACTCTGCCAATACATCAATACCGTCACAAAATGCATTCACTGGAAAATCATTGTGAATGGCACAACCGGTAAAGAGGTCCTTTTTACGGAACCGGAACTTTGATTTCCCGACCCCACTAAATGGGCAAGGAACCTGGCCAGGTGCTTTATCACAAGCGTCTTTAAATGCCGGTATTCTATCGAATACATAGCGCCAGCCTGATACTTCCGCTATACGAGCGTGAACCATTTTTATAAAGTGGTCAGTGACTTCATGTGGTGTACGCTTAACAGCCTGGGATGCATAAGTCATTTGTTCTCTCTTATCTGGCATTGTGGGTTTCTCAATGCCCTCTGCGATGCAGAAAACAGGGAGAAACCCACAACGCAGAATCTAAGAATGAGGGCCCACAAGAGCCCTCAACAATTACGCTTCAGTCTTGAAGCCGATATTTTCAAGACGCTGGATAAAACCATCAACCATTGACGTTGCCATTTCTCCATTACCCTCTGGTATAGATACATCCCGGAGAATTCTTTCTTCTGGCAATTCACTTTTGACAATTTCACCCATGCGACCAAAAATACGGACACGATGCATCGTCCCGACTTTTTCATACTCGACACGGTAAGTCTTTATCTGAGTCATATATTGCTCCTTAATCCTTCAGGGAGCAAAGCGACCCAACCGGGCGTCGTTTTGCCCCGATTGGGTAGAGTTTAATTAGATAGAATTTGATGTACTAATTTACTGACCTCATTCGGCAATAAAGAAATATCATCAACATTTACGAAGGTGCCCTCATTAAAACCCATCAACACATCAGTTTTAATACCAACACCAGCGATTTCAATGCCGTTACTTTCAGCAACTGAAAAAACATCATTAATGGTGTAAGCCGACTCAGTCGGATAACCATCAGTAATAAGGAAAACAATTTTCCTGTCAAACTGGCTTTCAAGTAACAACTCTAAAGCAGCATTTAATGCAGAACCCGTTGGGGTATTATTGCCCTTGCAGCCAAGTGAGAATTTTGAAAGTTTCTCTTCCGCGTTTTCATCAAACGTTTTGATAACTTCAAAATCTTTGTCTACAAACGGATAAATCACATTAGCAACATGCATTTTTGAAATAGCTTCAATTGCCAGAGTTAATGCAAGGTCAGTCTTAATTGCATGGATATAACGGTGTTCCAGACTCATTGAACCTGAAATATCACGAACAATGACCAAGCCGACGTGGCCCCGGTTTTTAGATTCGCTTTGTGACCGAAATACATCCCTAACACCCATCGGAGACTGGATCAGTCGATTAATATCGAATGACAAGCCTCTATCACGGGTTTTAAATTGACCACGCATTTTTACCTGCTGTAAAACAGATAAATCTGCCCCAAGGGTCTGGCTGATATTTAATGCTTCATTGTAGACATTCAGATCAATGTTCAAATCTGGAACATCCCACTCACTTGCACCAAATTCAGCTTTAACCTCATCCGACACACTGGCAGCAATTACGGAGATCTCTTTTGCAAGAACCTCATGAAAATCCTCGCTTTCCTCATCACTGTTTAAAAAATCATCCAGCAATTTGGCAAGCATATCCCACTGTTCAGGAGAAAAGTTACTTTCCCCATCAGAAGAATTTCCATTTGAACTGTCGTTTAGGGAAGGTGTCGAGTCAGCATCATCCGAGCCGGGGGTCGCCGATTCATCACCTTCAGACTCACCATCAGGTTCGCCGTTAGAGTTCTCAGCATTTTGTTCATCCCCTCCGGATTGGTCCGGTAACCCATTACCTTCCGCAGGCGCCTTACCATCACCAGAATCATCGCCTTGACCTTCTTTATCACCATCCCCTTCACCCTGGCTATCACCATTGGGTTCGGTATCAGGTTCATTCTCAGAGCCAGATGATTCATCTGTATCGTCATGCGGGTCTTTCGACTGCTCCTCTTCTTGCTGTTTCTCTTTTGCTTCATCCCTTAAACGCTCTAAAAGAGCCAGAGTTTTACGCGCCAGAGAATCGCAATTTTGCGTACTTTTGCAACTTAGAGCTTGATGAATGATCTCATCGACTTCTGAAGTTACAGGTGCAAGGATTTTCTTTGCATAATCGAAAAATGGGTCAAGCGTTTCTTTATGCCCTTCTTGTTGGAGAACGTTAACCCGCAATGTATTAAGCAGGTACATTTCAATAAACTGAACCGGGTTTTGAGGGGTTGAAGAAATATCAACCGTCATACGCCCAGCTTCAACCATCAAGGCATAAGTCACCGCGAGGCGTTTTTTTGCCTCCTGATAATCAATACCCGTCTTCTCTTCCATCTGGACATCATCAAAAAGATTAATAAGTCCTTTTAGTCGACAAGCACGAGCATATGCTTTTTGCTTTTGTTTTAGGTTTTGAAAATCAGCCTTCAAGTCATCATCAATACTGATGAAGCCATCTGCATTGATCAATTCTCCAACAAAAGCTTCACGGTATACTTCATGCTCTGTATAACGACCGTGTCCTGCTTCATGACATATGAATCCTTCAATTAGCTTGACAAATCTCTCATCGCTATAATCACCGTTAGGTAAAACACAGACATTGTTTTGGGTGTTGAAATAAGGTGTACTCACCTTATTGTCAATAATTACATAAATCCCATTTATACCGCTTATCACGCTGGCTATATTCGTCAGGCGTTGAATATGGCGTGGTGAAGATTTTAAATCAAATTTCATTTGAGTACCTTTATTTGATAAAGGGTACTCACCCAGATGGTGAAGTACCCATCTGGGGATATTTTTACAAGACTAAATTACCAACCGGTCAATTCGAGTTCGCAGTCAAATGCTCTATTACTACCACTGGCCTGAATAGAAACATCTTCATCAGGGCCAACAGCAGGCTCAGGTGCATTCACTGCCTTGTTCTCAAGATCTTCAACCGGGTCTTCTCTGAAAACATTTGCTGAAGAAAAAACATCATCCTCAGCAGTATTCAGAGAGTTAGCCGCTGTAACCTGTGAATCGATATTGAATGACCGGGTTATGGAATCCAGCCAGTCGGTTACCTTTTGTTCACCGGAGATAATACGTTTCAGCATTGACGCATCGCTCATGAAATAGAACCACTGCTTTAATACCGCAACATCACGGGGAGAAGAAATGGCACCTTTTGGTAAATTATTCATGATATGCTTAATAGCTTCTGCAAGAACAACAGCCTCTTTATGAATGAACATGAAGCTAATTATTTTATCCTGCATCTGCTTTAATCGGTCAATCGTGCTGGAACGCAAATTATCATTTTTGCTGATTTTTGTATAAACCTTCATAGCTTCATCGGCCAAGTCAGTTATCAGTTGTTCTTGATAAAAGTCCTGCGTTTCATCCCCCTCCACACTAATCGGTGAAAACGGAATGAAATGTGCCAGATTAAACCGGAATGATTTAACAAAATCATCTTTAGTCAATTTCAACTGGTCAATTAAATCTGACATCAACGGACTGCGATCTTTCTCAGCCTGAATATGAGTGTCATAGTTATCAACCACGTTCTGGATACCGGCTTGAAATTCACGTTCGATTTCTTGTGCCTCTTCGAGAAACTCCTCCATCCTTTCAACTGGCAGTATCCACATATTGCTATAGCGGATGCACAACCGTGAACAAAGGGTTGAAATTCGACTAGTGATAGTGCTTTTGAAACTCAGTGCCTTTATGTCTATCCAGCGAACTTCGCTTTTAGACACGCTCTTCTGGTCTGTTATATCATCACCGCCATAGGACAGTTCGATTTTATCAGTTCGCCGAGAGCCCTGACACCCACTAATTTCAATTTTTGTTATAACAGCACCTTCCTGCAAGTCAGGATATGCTTTTATAAAGTTTTCACTGATTTCCTTTGCAGAAACTTTATTAAGTTTAGAAGTATTGAAAGTCATAGGTTTTCTCCAGATTTAGAAATGGGAAAACCTCCCCGTCGGGAAAGATTTCCCGATAGGGTTAATAATATTACTTTTCAAGTGTTGTTAAAAGAATTCCAGGAAATTCATTTTCGACATCCGCCGATTGAATGCTCCCTTGATACATGAATCCTTTTGATTCAAGGCCCTTAATCATGGCTTCCATATCTTTGTTACAGACTTCATAACAAATAAATGAATAGTCATTATTATGCTGCTTCAGACCTATATATTGATTTCCATCTTGTGCAATCACGAAAGTTTCAGTTCCGTTTGCACTCAGAAAACCGTAAAACGTAAGATGAGCAAAGTCTGTCACACGGCATTCAGCCTTCTGATAACTCGTCCCATCTATAACTACTTTTTTGCAGTGTAATACTCCATTGTACGGTTCTTGTCGTCACCGAGAATTAAGTCGATGGCTTCCAACACCATACCAGTGGCATGTGCAGGCAGAGCCGACGCAAAAGCAATTTTAAATGTATCCAGTAAGGACATGGTCTTTAACGTCATTGACGTTCCAACCCATGCCACAAGCTGGCGTATATCCATTACACTGTCGTCAGTTCCTGTGTTGTTTACTGCAACGGCTACCGAAACGAATTTTTCAATTACCAGCATAGGCAGGTTATTGTAGCGTTTAAGCAAAACGTTGGTTAATGCAACCTCTGAAGGCCTTTCCATCTCCACAATCAGGAAGCGCTTGATAAACGCTGCATCCTGCCGCTGCGATGAAACGAACTTACGAGATCCCCCACTCATGTTTGTGTTTGAAGTACCCATAAACCGCGTAAACTTATTTGCCTTAACCACTTCGCCACCGTTGGCAGCTAGTGACCAGGGCTTTCGCTCTATAGGCATATGAAGCTTTGCGGCAGTATCAGGGTCAATCTTGTCCACTTCATCCAGAAGAATGAGGTGGCCTTCCTGAAATGCCGTTACAAGCTCGCTAGGCACAAAACTGGTGTTACCGTTAATAAGACTACGCTCACCTTCCAGCTCATCAGCGCGAATATTGCTGTTGATTTGCTTTATGGTTAGCGGCCAGTTCAGCATATGGCTAATATACATTGCCATTTCAGTCTTACCTGATCCAGATTCTCCTTTCAGGCATACACTCAAATCTATATCGTTACTTACAAGCAATTTTACTACTTGCTCAAGTATTCGAGAATTTGGTATATAGTCCTTATTCAGATTCGCACGATATGGAGAAAACTTTTTAAACACTGGAACAATCATATCCTCATCCATCTCAGGAATGCCAAATAAATCTTTTGCTTTGACAAGATAATACTGTTCTTTATTCGCAAACATCTTACTTGATATAACATTTGCGGGTAACAGATTACCAATGATTTCTTCCTGTACGGAATTGTCGGATTTTAATACAGTTGCGGCGTTAGTCATTTTTAAAACTCCGGTAAAATGCAAACACCGCCCGCTGGCAGATGTTTGCCAGTGGCATGTTAGTGGAAAGTCATCCTACACGCGGTCGCCATCTGTGTTCTGATAGCGGCAACGTTGTAACCAAGATGAGTTCCTACGATTTCGAATACTTCTGACTCAATCCATTCAAACTGGCGTTCAAATGTAGGGTTTACGATTACCCAACCAAAAGTATCTCTTAAGGTTAACTTGTTATTAACGACAAGTTTTTCAAACAAATTAATTGTTGATTTAAATACTTTAGAATAGACATCCATTATATCCCGATCAGTCCATTTCATTGCCAGTTTGTTTTCTTGCAACAAATAGTCCTGTTCGAAAAAGATATCCCATCCCATCTCTTCCTTACAATCATGCAGAATAACCTCTTTATCTTGATGATAACGAGCTAATTCAGCATTTTCACCTCCGTAACTGTGCGTATATTCATATAAGCTTTTTTTAAGCTCTGACCTGAACTCAATAGCATCAATACCATGAGTGGCACATGTAAGCTCAAATGATTTCGACATATACCACCGTGTTTCGGCTTCAAGAAGCGGATTCACGGTTATGTTACCGAATTCATCAGTGGAATAGAGTGATTTTGTAATGACGAGATGCCTTACGTTTTCCAACGACTCTTCCATTGCGACGACGTATAACTGATATACATCTTCAGGGGCCCAGTCAAAAACCAGACCACCTAACTCCGCACTGTACTCTTCTAGAGTGAAGAGATAATCAGTTTCCGCAGCAAAACTAATGTCATGCAGAATTTGATTTTTGAGTAGTTTGGGACAATTACCAGGCAAAGCAACATCTTCCGACACACTAGGCTCCAGTTCCGGGCCTGAATGTTTATCTTCTGATTGAATACTTTGTTGTGCGGCTATTGCATCATTTATATAGTCAAGTGGAGACTCAACTATAGTTATTATTTCTTTTTCCTCTTCTTCAAAATCGAATATAGAGAAAAAATCCATTTGCTTACTGCAAAATGCAGTCGGCCTTATTTTTTGTTTCATGGGATCTCCTAAGGGAGAACTCCCATGAAGGGATTTCTCCCCTTTTGGGTGGTTTAAATGTCAGATCTGTCTAAAGCTACTTTGCCCAAAACCCTTAGGAGGTTTAGGTATGTGAGCTAACTTACTTGTTGCAACTACTCTCATGTAGTCAAGAGGATGCTCTCTCCCTTCCAATGTGATGGTATCCACAACAAGATAACCGGAGACCATTAACTCATCACCTTGATTTATACCAGTGAAACAGCCTGAATACATCTCTGGTGATACTTTGATTTGAATCGAAAATTCTCTCTCAGTAATTTCACCATTAATTTCAGTTTTCATTCTGTTTTTGAGCTTTATCAATAACCCAACGTTTCCGCTAGTCATTTCTTTCTCCATTGCACTGATAACTATCCCGGACACTTTTACTTCATTAACATATTCAAGATATGACATTACTTCTCTCCTCAATTTAAGCAAAGAGAAGCCCCGTCAGGGTTTCCCCTTAACAGGATTAGATAAATTTGTTTACAATGAACATAAATGTCATCATGGCAATAACAGAAAAGCCAAACAGCTGACCAAAAGATCTTGGTGCTTTTACCGTTTTAGCGTTATTGATTTGTGCCAAGAGTTCATCAACTGTCGCTTGCCGTTTATCTGCTTTCATTTGATAATCTAAACATTGCTCCTCGCGTTTAGTGAGAAACTCAATTTTCGACTTGATAGCATAATCCCAGCCTTTGGAATCGAAAACGCTCAATTCACTAAAGGTGTGTAACATGAGTTCATCAGGAAAACCTAACTCTTTCATTAATGGGCGAACGGCTGCATACATTGCATCTACAGTTTCATAATGTGCTTTGGTCACTTCATTAAATCGATTACGCAATGCTAATTTCTCGCGCTTCTCAATAATTTCAGAAACCCAGGCAACCAACTGATCATTTTTTAACTCTCTGGATTTAGCGAGTGAATAATCAAGGTTATCCACATCAAGAAATGTGTTCAACCCGTACTTTTCAAACTCTTCATTTAAGAACTTATCCAGATCGGCTAAAGTTTTAAACATTGGAATTGCAGGTGCTTCTTTGAGAAGTGTGTAAGCTTTCTCAAAGTCAATTGGATTGACAAGAATTTGCTGCATTTCCACATGATAATAAGTAGAAAAAGCAGAAAGCTTTTGAGCCAGCATTGAAACTGATTTCAAAGAATTCAGTTCAATTATGGTTGGACCATCTTCATTCATAATAACAATAAGGTCATTATCATGCCCTGAATAAACATTCAGAGAATCCAATAACTTCTTGTTAACCACCTTATCCATATCTGGGATCAGATCAGCGAAGGCGATGAGAAGAGCTTTACTGCGTGCTTTACTTTTAGACATTTGGGGTCACCTATATATAGTAAGAAGGAAGGAATCATTAAATATCCCAACACAAAGGCAAAGCCTGTCATTCATCTCCCGTAAGCTATGAACCGCCTGATTTATACTTTCTGGCATTAGAAGTACGCAACGAAAATAGCTCAATTAAGAGCTAAGTTAGTTACGATTTGGTAAATTCGATTGTCCTTTTTCAGACATGGGAAAGGCACCAGCGACAAAGGTGACATTTTGCCGGTGGTGCCTTGCAGCTTTAGAAAGCTGGCCGCTTTTCACGGCTGAATATGCGCTTAACGCGCAAAGTAACTTTTATAAAGTTACTTGAAATGTGGGAGCAATAAATTCAAGCTCATATACGTTATACTACACGGGTTCATTCCTGTAAATAAAGAAATCAAAATTATTCTGTCAAAGGGGATTCTGTTCTACTTTTCGCAGCCTCTTTCAATTTATCTTCAGCACATTCGCTTAAAAAGAAAGACGGATCACCGTACCACATTACATGCAGCTGTTGCTCTGCTCGTGTAAACCCAACAAAAAGCAGTCGTCTTTCTTCTTCAATCGCCTCCTGCCCCACTGACCGCTTACTTGGAATCTGATCTGCATTACAACTCATAATAATTACATTTTTCCATTCAAGACCCTTCGAACCGTGCAACGTCGATAAAACTACTTTATCCGGTGTATATTCCTCATCCTTCTTCTTTGGCCCCAGACACATCGCCGCAGCTCGATTTATCATATTTTGCCAGCCTGTCTTTTCGGCCCATTGCTTACAGGTATCCAGCGCAATTCTGCTCAGTGATGGTGATCCTTTCTGCGTCCTCATTTTTATCGACGACAACTCCATCCACTTAATCAGATTTGCGAACCTTTTTTCTATTTCAACCTTTTCCCGAGTCTCCTGTGTAAACCGGGTGAAGTTTGAATGAAGCGTTCTTGTTTCCAGGGAACTTTCATTCGGGATGTTCAGTTCACCAAAAGTTACTTTTCTTCCTTTCATGCTCAATGCTGTCTGGTCCAAGACCTCTTCATTTTCACCGAAAAGCGCCAGCACCCTCTTCATTAACCGGACATCGTTGGAATGTCGGAAGAATGCCATCAAATGCAATACATCGCTTGTCTCCTTTTCATCCCAAAATGACTTCCCACCATAACGAAGTACCGGCTGCTCTATCAGGCTTTCAAGCTGATCGAGATGTGCATTACCTCTGCTGAGGATTGCCCACCCAATCGGGTCTTGGTTAATCAGATTGAGAATGCCTTGAATTTGCTCATCCATATCAACATATGAGCGGAAATGAACTTTTCCCCCACCGCCCTTAGCTGAACGGAGATCTTTAGCGTATCTGTAAACATTTTTTTCAATCAATGCCCCTGCTACCTTCAAAATCTCTGGTTCACATCTGAAACAAGTATTCAAATAAAATATGTTGGGCCTGAATTGTTTTTCAAACTGCTGGAATATTTTGACTCCACCTGATGCCCTGAATGAATAAATTGCCTGATCATCATCCCCAACGATGCTAGTGTTAACACCTGCCCTCGTATGTAGTGAGATCCAGGCATACTGAATCGAGTCGGTATCCTGAACTTCATCTACAACTAAATGTGTCAAGTTAAGTGGCTGCATTTTCCCCGAGTACATCTGGCCCACAACAAAACGTGAGAGTGCATTCAAATCTGCAACGTGGTCTTTCTGACATATTGCCTGATAGGTGTTGAACAAGTGGATTTGTTGCCGCGTATGGCGAACTGAAATGATGTCCGTATCCATTTCCCTTCCAATCGCGTCAATAGCAAATTCTGCATCCGGGTATCGAAAAGGCGCGCCGGACTCCTTCAATGCCCTGTGAATTACAGAACGCTGTGCCGAGCTAATCAACATCTTGCCCTTCCAGTTGACCATATCCAGTTGCATCCGGATAAAGCCGTGGAATGTATTGACCAGCACCCTATCCTGGTCTTTCTTACTTAATCGACGTTTCAGTTTTTCAGCCAATGAATTTGTTGCTGCACGGGTAAATGTGACCATCCCCACTTTGGCATAAGGGAACTGCCTGAGGATAGAGATCACCGCCTCTATCATCGTGAATGACTTTCCAGATCCCGGTGCTGCAATAACCATATTATTAGCATTTGCATTTTCAATGATGACCCTTTGCTCATCTGTTGGTTTACCCATAAAAGCCTCTGAATATTTAGTCCCCTTTATTATACGATTTAAATTTGACGGATTTTTCTTTACAAGACTCATTTTTGGTCACTTCATATTTTTCCATTTTTTCTTCATTTAGGTTGTTTGAGAAACTGGCGAGTATGAAATAATGCTTCTAGACATAAAATTCATTCAAAAAGGGTCATAAATGAAAAATAAACGGTTTGTATCCTTGGTTTCAGCTTTAGTTGCAAGTGCGTCTCTGGTAGGGTGTGCTGGGAACGCAGGTCAATCCCCTAACTCCGCCCAGCACAGCGACACTCATGGGCTCTACTGGCATGCTAACGCAAAAGATTCTGTAGCCAAAAATGCTTACTCTCTGGCCGGGTTTGACGTTTCTTTTAATGAGGAAACTGTTCAGCCAGGTGGTGATGCAGATAACTTCCTTTCCAAACTCTTGATTAGCGGCTCTATGGGATATGTGACAGGCGGTCTCAGCGGATTAAGCATTATGAGTTTGGGCTCTCTATACAGCTCCTCTGACGCCGAATACATTCAGGTTAACCAGTATGTTGTCTTTGTCCCGAACCCGAAGAAACTTCCTTATAACGATGAAAGCCTAGTTCGTGCCGGTGCTGCGTATGTTTACAATCACACCAAAGAGTCACAGGTAATGCTCGGATTCAACCCATCGAAGCAAAGTGCAGCTCTGGCGTCCTGCAAGATTGATAGGGCGGTCATCAATAAATGGAGTACATGCGAGCTCACTTCAAAACCAGCTCCTGACGTAATGCCAACTAATTCCATGTACAGCTTCCAGGCTATTCGCCCTGCGACTGGAACTGAAATCCCCCAACTTAATCTACCTGCCGGTGAGTATTCAGTTATTCGTTACGTGTTCATTCCATTTAAAGGCAATGAGTCAAGCAATAATTTCTCAGGTATTATTTTCCGTTCTGATAGTCCAAAGTTCACCATGCCAGGCGGCGCAGCTGCTTCAATTAATGGGAAAGACTATTACCTCTTCTCTGGTGAGTATGGTCAGAAAGGATTCCCGGAAAAAACTCTGAAATCAAAATAACAAAAGGGGCTTTACAGCCCCTTTTTTTGGCTATTTGCAATCTGAGGTTGGATTGTAGATTTTAGTTAGAAATGGATCAAAGTCCGTTTTGTGCAAAACTTGGTTGACAACCCTCTTTTGGAAGATGTGCCGTTTCGTGCAAAAGTTGGTTGGAGGCCAAGATGGCAGAGTTCGTAGGTTCGGCTGCTTCGCAAGCTGATTTCATTTGGAAGAACGCGGAAGACCTGTGGGGGGGATTTCAAGCATACCGACTTCGGCAAGATCATTTTGCCGTTTACTCTGCTGCGTCGATTGGAGTGCGCACTGGAGTCTACACGGGAAGCATCGCTCGATAGCCAACCAGCCACGATTGAGTTCTTAGAAGCAGAGTTCAGTGTTGATTTCGATGCGCTGCTATCTTGACCGCCAATCAGACCCGCATGGTTCAGGTTTGTGTATGAGAGTCCCCAAATGGCTGTAGTTCTAACCAAAGCCTTGATTGAAGCCGGCCGCGCCGGAAATAGTGGGTACAGAAAAGGCAGTTGCTTGCGCTGGGCGTAAGTTACCCGCCGAAAAGCGGCTGGATCGAACGACTGATCGGCACTGAGGTATCTGACGAGCAGTACGAACGCTTTCTGGGGCACAGCACGAGCAAGCAGGCTGAACAGATCCTACGCGGAGAGCAGCCAGCCAAGGGGCTTCAGTATGCAAAGCGAGCGAAGAAGCTCGCTTCTGAAAGAAAAGCCACAATTGATCTGGATAACGAGCACCTGTCTGAAATCGAAAAGTATCGGTAGCCCTAGACTTTTAGCCGCTGAAGATCTCTTAGATACCATTGGTGAAACTTGCTGAAGTCAGCCTTCTGTTTCTCTACCGTGCTGTTATAGATCGCATCACTGGTAACAGCACAAGCAGTCCAGCCAGCCTCATAGACGAAGCGAGTAGCTATCGGTGACTTCTTCGGGGTGCTATCCCAGCGGTTTTTGAGCCACCGCGCAAGCCCTTCATCAAGAGGGACCACCAGATTTAGCTGCTGTTTTGTGCGAGTGATACCGACATAAAACAGCCGACGTTCCTCCTCGATTTCCTCTTCGGCCGGAGGGGTGTTCATCGATGTGCGAACGCTGTAAACATCATCGGGTTTGCCGCCAGGAAATTCCTGCTCATTCAGCCCGATCAGTATTACGTTATCCCACTCCAGCCCCTTGGAACCATGCAGTGTGGAAAGGATGAAGGGATCGCAGTCAGTAGCAGCCTCGCCTGGATTCAAGATAAGGTTTAAAAACGTGCGGGAATCGATCTTACTGGAGTCAAGTAGCTCCCCGATCCTCACGACCCCTCGTTGCTGGTCGTTCGATCCAGTGCGAGTTACACCCTCAGAGCCAACACTATCAATGAAACCCTCCATACTCAGGCGTCGTAACACATCGATAGCAGGCGTTTCCTCTCCGTCTTTCTGGCAGATAGTGGCGAGCCTGCCCAGCCGATCTTTTTGGTATTGTGCGCCCTCGAATAACTGACCTAGAGCAGACCATAGGTCGGCGTGCGGAGCCATCAATCCACTGAGCGCCGCTTTGAATTGCCCTTTCTGCCAGCTAAAACCAGCCTCCTTCAGAAAGCCGTAAACAATCGCTTGTTTGTTGGGATGGTTTTCCAGTAGCCGCAGATCGCCGTACACAGACAGCAAGACGCCAACTACCAGTATCCCGATTTCGGTGCGGGTGTGTAATGCGCTTGAACCATTGAGGTAGCGATAAGGTAGCCCACACAGGCGTAAAACAATTTCCGCCTCAGCAAGGTTCGCCTTAGTGCGGGACAATATGGCTTGTGTTCCACTGCTCACCGAGAGGTTTGATAGCACCTTGGATAGGCAGTTATCAAAGTGCAATCTGACCTCTGTTTTGGGGGTGCTAGGATGACTGACACAAAGCTTGGTCAGCTTTGTAGAGTTGCGCCGAATTACCGAGTTAGCCATCAAGGAAAGCTCATGGCCAAATCTGAACGTGCATGACAGTTGAAACACCTTCGTATTCGGGTAGTGCCTTTCAAACAGTCCGCCGATAAAGTCTGGTCGAGCACCACGCCACTCATAAATACACTGGTTAACATCACCAACAGCCATAACCGACGTATCCGACTTAGATAGCAAGCGGGTCATGTCATGCTGTATCAGGTTAACGTCCTGATATTCATCAACAATGATGTGCTTGAAGTGGGCACCAAGGCTGCTGTCATTACGCAACAGTGCGACAGCCTCAATCAAACAGTCATCAAAGGTTCGCAGACTGTTTTCCTCCAGCAGCTCACAATAGCGGCCATAGGCGTGAATAAACCCCCGTTTGATGTTGCTGAACGTTGGATCATTGGCAGCATCAACAGGAGTTACGGCCGCCGCCCGGCAGCGAGCAATAAACAGCTCGAAGTTTTCAATTTCATTGGGGTCAATATAATTCGCCTCATGGTCAAAGCCATAGCGGTAGGCTTGCTTTACCAGTTGCTCATAGCGGTAGTCGCTTGGAGTAATGAGGTCTTTCTTCTTGATTATCTGTTGGCGTTCTCCGTAACCAACAATCTTTAAGGCCAAGCTGTGGAACGTGCGGATTTCTGGAATCACGCTCGACATCAGTGCCGTCTTCAACTTCTCCGTGAAGCTCACCTGCGCCGACTTGTTGTACATCAGGATCAGAATGGAGCGAGGATCAGTTCCCGTCTTGACCAGCCGCTCAACGCGCTTTACAAGTGTGGTTGTTTTCCCGCTACCAGGTACGGCTTTTACCAACGCATGTCCGGTGTCATGGTTGACAATACTTTTCTGCTCCCAAGTCAGTCTTTTGGTCATGCCTTAACCTTGTAATTGGCGCACTGACGGGCCTCGGTGTAGGGAACGATCTTTGCCTTACTGTGACATTGCAGATAGCCATCCTCCCATCGGCCTGCTTGCTCGCACATAATGCAGTTGGGAAATAGTGAATGAGGATCGGCGTGACGGATAAAAGCTCGTAAGTTATCAGCCAGCTCAGCGGCCCCTAACGATCTAGGCCATGTGTTCACGTCAGAATTGATTGTTAAATCCACTTCAGCGAGCGGCATCGTTTGTTCGTAGAGTCGGCCGGAACCACTTAAACTCCAGACAGACATATACACGTTACCTACTGAGCAGACGCCGCTACAGGTGTCCACAGATTGAAACGGGGGAAGCCAGTTGAATACTCTCAGGATCTTCTCCTTGATCGAGTAGGCCCCGGTAAGCAACATCTGAATATCAGAGGCAGATTGGACCTTAAACTCAAGAATCGGGATACCGGCTTCGATCTTGTCTTGAGAGCAGGGGTGTGTGACACAAATCTCTACGTAGCAACGCCTTTCGCCAGTCGTATCATACAACATCACGTCTGGTCGCAGCCCTGTGACCTTATCGTGTTTTTCCAGCTCTGCCTGATCGAAAAATTGAGTCAAGTTGTAGCGTGCAGGCACGGATTTTACGCACTGACGTGCTTCGTCTCTAACCAAGGCTAAATGAGAACCATTACAGGCAACCCGGCGCTCCAGCTCAAGGCTAATAGGCATTTCACGGCTGAGAGCTTGTTGGTAGCGATAGAAGAATGCTTCTTTGCCGCACTTGTGAAGATAGGTTTCAAGGGCACAGCATTCTTCCGAATGGCGAAAGTGCTTAGCGTTGAACTCGCCCATTACCGGGGTCAGGGGGCTCTTACAACCTGGGCAGGTGTAAGTATGTGAGCGCAGGGCAGCGCCAATGTGCGTGAGGGTGCCCTCGCCGTCTAGCGCGTAAGCGTATTGTATTGAGCTGGATTGAGTTGTCATGACTGCGTATCCTCCCAAAAAAATCCAGCTAAGAACAGACCTTACGGCAGGCAAATGGTAAGTAGTGCTTCTTGAAGCAGTCGAGTGTACAGCGGCTCAGTGAAAAAGCTAATCGCCCGCTCAACAACCTAGTGATACTGGTGCAGATTCGACAATGAGTTAATGCCCGGAGAGCATCTGCAAGACTTCTAGCTGGAAGGCATTCCAACCAGCCCTCGCTTCTGAAAAGCCGTCAGGAAACGGTAAAATCCAACCAAGTGAGCAACTTCACTTGATCAAAGATCTAAGGCTAGAATGATGGAATTCCAACCTTAGTTTGCAAATAGCCCTTTTTTTTAATATTTTGGTATTTCCTTACCTGTAATTGGATCTACATAAGTTGACCCAACTTCACAAATCGCAGGGCGTGGAAGATAGCTACAGTCTACGTTCTCCTCTTTAATGGCCTGAGCGTTTTCCTGTCTGGCTTTTATCATATTCTCCTCTCCTCCCATTGCATCTTTTGTTCTTTCTGATGGAAGTTGATAATTCTCGTTTTTAAATGGCAAATTTGCTGTTATTGACGATTCTGAGAATGTAGCGTACTGGTCCGGTACTTCTCCGACCTGAACAGCATCGTTAATCCATTCTGTTAAATCAATCTTGTCAAAATCTAACTTTTGGATCTGCCCTATTGATAAGCCAACGCAGTTTGAAGTAACCGGGTCTATTCCAAGCTGCGGGTAGGCCTGCTGCATAATAACGCGAGATAACATTGAATTGTAACAGCACATGTCTGTTGCTTTTTTAACACATTTCTTTGTAAATCCCAGATTCAGATATTTAACACAACGGTTTGTATCCAGTGTAAAACAGGATTTCTGATTTTTGTGAATAGATGCTTCCATTTCTTTTTGATCGCAGGCCACCAGCATTTCAAGCAGCATTTTTGTGACTTGATATGCCGTATAAATCCAGCCGATTACATTTAATGCAAGCATAAAGTTTTGAACAGCAGCAGAAAAGACTATTTCTCCACCCGTTGTCGCTACATTTTTAAATACGAAGTCTCGAACTGTATCGGGAAGCAGGTCATAGGCTTTTTCCATGGCCATCTGCTTAAGTTTACCAAGCCCGAATGAACTCATAGTCTCCTTAGCAAGCTGACCACTTTCACCAGCAGCGGATGATCCTACTGTTCGGCCAAGGTTACCGGCCACGTTTTCGTAAACGCTGGTTATTGAACTGGTCACATTGTTCCACATTTGTCCGACAGTTTTACCTGCCGATGCAGTCCATTCACCCACTGAGTTAGCCATTGATGCCCAGGTTCCGCTCTCCCCTCCAGTCCAGTTTACCAGTTGAGCATTCACTCGGGTCCAGTTCGTGTTTCGGATCATCGACCCGGCCAGCATTATCGCCTCCAGTGACCCAGCAGCACCCTGCGGCTTTTCGCAGCAATCTGTTTTGGCCAGTCCGTTCACAAAACCAACGGACCTGCCGCACCACTCTGCTTTCCCTTCAAAGACAGAGCAGGAGTTAGGGTCGTTTGGATCTTCGCATTTTGCTTCACCTTGCATGTACTGAACCATATTGGAGTACGCGGCCACTTTCCCAAAATCTTTGTTTTCTTCTTTTGGGCCTGTTTCACATGTTCCGCCAGAACATGGGATCATACCTACACAGGAGTTAGTCTGTGACTCTACCTCTCTGACTACGTCTTTCCCTCTGTCACATGTATATTTCTGCTCATACATGTAGCAAGTATTTGTGCCTTCATCGAACCAACCTTCAGCACATGTCTGATTATCTAGCACACACGCAGCATCATTTTTATATGTGCTGCATGCGTCAGGCATATTTTTTATATCGTCGTAGTTGTAGCAAAGGTCTTTGCCTGTGGGGTCTTTCATGATGTTTCCCTTCGCATCATAAGAGCACAGTTTTTCCTTCGCCAGGGGATCACAGAAATAGCCTTCAAGGTTTGTTTTCCAGGTTAAGTATCCTGTATCACCTTTGTAAAGCGGTGTGGCCATCTTAAGCACACTTTCCGGGAGTCGCTTTGTACCAACATCCATGTTGACAAACCTGTCAAACCGACAGAATGAATTCGGCGTTTGTACTGCATCAAAACATCCTGCGGGCTCCTGTATATGTTTATCCTCCAACTTCATATTTTCAAAAGTCATCTCAACTTCAAAATAGCCTTCCCCACCACCGCCAACCCATACGCGCGAAGCCATAGTCACTTCACGATCCTGCTCCTGATATACAGAGGTTTTTACTTGTTCAGTAATATCGTAGACTTTATCGAGCTTCCAGGATTTCTTTAACTCCCATTGACCTTGTGGAGATGGATAATTGCTACTTCTATATGCTCCATCTATATGAGCAAAAATCTGTGTACCATCAAGCGTGACCCTCATATGGTCATCCCACTCTGCGTTAATTATTTTCGCAGTTGCGAGCTTTGCATCTGGATGGAATTTTAAGGTTAATGAGTTGTCATAGACTCCATCGTTCCAATAGTTGTCGTCCCTTCTGCCAAACCAGACTCTCACACAATTATCTCCGCACATGGACATATCACCATTACCACCTGAGATATAAACCGGCACGGAAAAATCACGAGTTATCGTGCAACTGTTAAAATTATCTTTCTTGGGTGAATTGCAGTAAAACTCTTTGTAATCTGGATAGTGCGTAGTAATTGTTTGTTTTGATGTTTCCGTATTACAATTCTGTAGCCAGTTTCCTGTACCAGCTACAGCATTTCCTATTTCGTTACGACCCGCATTGAACATAGGGTCGTTAGGTTTAATAGTAGATGCTGGGTTTTCTTTATTTGCATTCACCAGAGTACGGTAGGCGACTCCATCATAACTTTGCGCTTCAAACAGCTGACTTTTTCGATTTTTGATGTCATTGATGAAGCCATTTTCATCTCCATACCGGCCACCAGCATTGAACTGAACATCACTGTGCTTCTGCTCTGAGCTGAATAGTTCCCCTGTACTGGTTTTGGTACCTGCCGTTGTATTCGGGTTGTTACTTATTCCAATATTACCGCTGCTGTCCCTAGAAAGTAACTTTGCCCCCTCTTTCGTATAATTCGAGTTAATTGTACCGCCCGACATGCTAGGTAATTGTACAGCCTTACCGATCGATTTCCCGTCGGACACCGCATTACTCATAACACTTTCATTTGAGTTCGGCGTCCCGTACTTCCCAACATTTAGGTTTGTTGACTCTGCTTTACCAACATATTTCTCGGAAATTTTGCCGCTCAGATTTTCCCCGGAATCAGCATTTTTATACTTTTCCACAATATCCTGAGCACTGGTGGTTGCGTTCCGGTTGGCGTTGGGATTGGCAAGGTTAAAATTGTTTTCAAGCTGGTCAAAAATCGCATCTGCCGCAAATATTTTAGGCGTTAACGCAATGTTTATGAGCGAAACGTAAAATGCCCAACTCATAGTATTAGCTATCATAGACGCAATAATTGCTGAAGAAATTATTTTTCTATGTTTCATATATAATACTCAATTTTTTCAATTAGTTGGGTATATACCTGACGCAGCAATCATTATAGCGCCACAGCATGTAAACATAGTTATCTATGCCGATTTTTTTCCGTCCACCTTTAAGCGTTGACCAGTCATGGACAGAATCGCCTAGGCGATGACAGCAATCCGGACCATTCGCCTCCGGCGTTGGGTAAAGCATTGAAAGTCGGTATTGAGATCGAGGAGTGAAGTATTCCCACGTTTTTTCACACATTGCGTCAGCTCCCATTGTTCTCATAAGCATTCCCTGCCTATGTAACTTCGTCAGTAGACGCTGAGTTATAAGTGAGCTGGTTCTGACGGCATCATCATTCGCATAGATGTGTCCAGTTAACGGATAAAGGTTCCCATCACACCCGGCACAAAAATATGCAGCCAAATTATCCTTCCCGGCAGTCACGGCCACGCAGTCAGCTGCACATACCATTGAGGCGATAGGGTTTGCAAATACCACAGCTTCGGGGTTTAGCACGAGCGTCAATAGGTCACTTTCCCACATCGGATCTACTTCGCTGATATACGTCAGACTGGCATCAACATAAGGTTCTGCTGTACATTCACCAATAACCAGCAATTTCAACATCGTCATGATTGGGAATTCCCAGAGATGTACGTCGTAGAATCCGGCTTCTGTTGCGGTCATAGGCTGGTTAGTATTGCTCTTGCCGATGTCGAACTGTGATTTTTGCAGCATGGTTCCCTCTAAAAATGGGCTGCACCACGGACTTTTCACCACTTCAACAATTTTTACTGGTTGGAAAAAACTTAGCTGCCATCCGATTTCTGGTATCCCATTTTGATCCGTGCAATAGCAACCAGGGCGTGAGGGGGCGGCACCTTCAGGGGCTGCTCCAATTCCCATGATCCGCATCGGGAAGATACAACTCCAGCAGATGTTTTTGATTAGGCCCTGCCATACTCCCGCTGACTGGCACATTGCTCCCGGGACACCGGTATCTGCGGCCATTGTCATTGCAGGCAGCGAGAGCGACAGCATGACAGCGATCAATATTTCCAAAAGTAACTTTTTTAGCTTCTTCACCGGCACGCTCACTATTTAGTAATGAATGTTGTCACGCTTTCCATATACGCAACCACTTTGTTAAAACACTCTCTCATCTGGTCCGGGTAAGTTAGCGTCAGCCAAGTGGCCAGCAGCGCCCCAAAAATAAATCCTATTTTCATATCAATTCTCCTCTGCCGCGATTTTTGTTCCAATACCACGTATTTCAGCTTCACTGAATTGCGTTATACGGAATTTCTCTTTTTCAGTGGAGATCAGCGCTGGCGTGTTTTTTATCTGGAAACGAGCAATAATTTGCTCATTAACTTTGAACACCTTCCCATTGAATTTTTCGCGCAGATCATTCAAATGATCCCATCCATTTTCCTGTTTGATGCGCGTGAACATCGGCATCACCTGACCGCTGCCAAGACGCTGGCGATATTGCTTCTCTGCCCACTCAAGTTGCCCTGGGTTCATTGGGTCAAAAATTATCATTGTGAGGTTCTGCGGGAACCTGGCCAGTGGGTTAATGAGCTCGCCAGCAGAAGCAATGACGCGACCCTGCTTATCTTTAACGTCCTGAGTAACCCTGATTGTCGGGTCGATTAGCCATTCCTTGTGCTCTTGAGCGGGAGGCAGATTAACCATGTACTGGTTTTTCCAGGTATCAGCGACTGCTCTCTTCTTGGCGCCGTCCCAGTCGTATTTCTGTGCTCGCTCTTCGAGCTCTTTAATAATGCTCTTCTCTTCAACCGGATAGGTCGTACCAGCAATCGGGAAAAGATCTTGGTCGGGTTTTCTGGCCAGTTCGCGCTGGAAGAAATCAACGTTGAAAGAGCCGACCATTTTTGCAAACCGGGATTGCTCACGGGAGATTATTGTCGGGACCTGCGTGATCTGGTACTGGTTAAATGCGTCCGGGTCAATCGTAATTAGTGGGGAGTCAAACTTCCCCTTCACCACCAGCTGGTTGATAGCTGCCTGAGTTTCAGGGAGGCGTGTAGTGCCTTTCTTCAGACCATTAAAAACCACTCTCGCCTTATGTTCTGACGCGGTACGGAGTAGATCTTCCAGGACGTAATCAGGCAAGCTAAATGACGCAAAGATAGTGATACCGTTTTCTGTCGAGAGCACCTCTTCCCGACTGCTGTCTATTTTACGCTCGAAGTCAGCGGCGGTGATTCCTGATGAACCAAACATCTTTTCGATATTCGAAGACTGACTGCGCATAACTTCTGGTTTATTTTCGACGGATTTCAGTGCAGACTCGCTGAGCTGTGAATTTCCCTGAATCTCATCACGTCTGCGAATGATGTCGTTAACTGCTTCCGAGTTATTACTCTGAGCGCGGATAGCCTGCGTATGGTCTATAACTGCCTGCACACTGTCAGCATTCATACCCGGGACATAACCGCGATTTGTTTGCTGACTGAGGTCCCCGTTTTTCTTCATAGCTTCGGCCTGGCGGATGTATTTCTTGGTATCAGGAGAATCCAGAGAACCAGACGGGAGCGGACCTTCTGATGCGTGTGGTACCGGTATTTGGGCGCCCAGAACCTGAGCTTGCCTTGCAATGTCATCAGCAACCTGTTGATACTGGGGGCTAGCCACAGCGGTGGATATTAAGGCGTAAAATGCCAGACAGGAGGCCAGAGGCTTAATAGTTGTTTTTAATTCAAAAGATCGCATATGTTTTCCCAATAACTGAAGTCAACTTAACCGGCCCCCAAAAACGTGAGTCCCATGAGTGGTCCGTTTGCCCAATTAAAAAGACCTCCCCTTCCGGAATAGTTAATTCTCTTTCAATGGTCTCGGCAGGTATGCCGTATTTCACAGAAATACGTCTGGCATTGGCTTTATAAAATTTGTTCCCATTATAAACACCATCCAATGTGACCCTCAGGCGATCTCCGCCGACTCCTGCCACAATTTTAATAACCTTCTCATTTTCACGTATAAAACGGACTGATTTTGGCATATGAAAAGCTATGATATTCCCTGAACTTACCGATTTATCCTTCAGATCGATCATGTAAAAATCAGCAGGTAAACATCCATTTAATAGTCCATGACCAAACGTAAATCGATTAAAAAAAATCAACATAACCAGTATCAGGATTCCGAGATTTATTGGCACGTACCAATCAAAACTCAGTAAACCACGCTTCTTAGGTATGTATTCTCTCATAACCTACTTCTCTCAGAATCAGAAAGCAAAATGGACTGTCTTTTACATTACCTTAAAACCTATTATCCATGTTTTGGTACTTCCTTATTTCAGCAAAGCCAGCTATTTCTGATTATTTACCGCCTTTTTTTCTTTCATTCCGTCTTTGATTTGTGATTGTCCTGGCCGCTGTCTTACTCATGTAAAGTAACTTTCCCGACGTTACCCCATCAAAAAGTGAAAAACAAAAAAGCCGGGACATTTCTGCCCCGGCTGTTATTTCATTAGCTTGCCTTACTGCGAGGTTTCAACTGAATCTACGGACTTTGACGCGCCCTCATCCGGACCATAAACGGTCGTACGCTGAGTTGCTGAATCCCCACTATCATCATACGCGACAACTCGTATATCTTGCTTCCCACGATTAAGGTTTTTGGACAGTGTCGCAGTGCTGCCGAAAACATTCCTTAGCTCATCATTGATATACCATTCATATCGAACCAGCTTGCCATCAGTGTCAATACATTTGTTTGTGAAACTCCAGCTCATATTAGACTCTGTGTAGCTTAATGCACATTGCGGAGCCGCGTTTTTAACAACCTCAAAATCAACTGATGCGGTACCTCTTTGGCCCATTTTACTGACAACATCCAGCGTGACTTCGTATTTCTTCTCAGTAAGACCAGAAATTAACTGAGCCCAATAGTTTTTACTACCAGGAACAACCTCGCCGTTTACTTTGTATGTCACAGTATCAATACTGTCAGCAGAGTGCGCCAGTTTAATGTTAGATCTTAGCGTGACATCAAGAGGCGCCCTCATGAACTTATTAGAGAATTTCGGTGTCATTTCTACAGTCATGGGCGTTTGCTCATCGACTACGAAGGTATTTTCAATACGCTGTTCGTTGTTACGGTTATCACGGAAAACGATTACCAACGTATATTTCCCCGGCTTCGCAATTGCAAATTCTTTCGTATCACCATCATCTTTTAAAACTGAGATATTGTCCTTATCGTAGATCCATTCCCGAGAATAAGTTACCCCAGGATAGCCACCGTCTTTTATTCCGCTCAGCGCAACATGTAAGGTCGACGGGGCCATGGTGTATTTAAGCTTTGTACTGACTTTCATCTCAGGAAACTTATACACCCAAGATTTAACAGATACTTTCCGCGTGGAAATAGTACTGTCCTTACTGTCAGCAAGCCATGCACTGTATTCAAATGCCGCATATCCTTGCTTATCCAGCATCTGCTCAGTCAAAGTTATCGACAGATTCGCACCTCTGATTTTTTGTCCGTCAGGGGCAGTCCATTCTTCAATGACGTCATTTCCGTTCTTGAATCGGCTGTTCGGGTTAGTGTATTTACCATCTAAAGTAACTTTACTTCCCACCTCGACGCTTGAAATACCACTTACTGAAACAGATAGGCGCTTGGGTTTAGCGACGGTTAACCGGGCAGACGTCTCTTTCCAGGATGACTCTTCAGCCAACTCATCAGAATCCAGGTAACGCATTCGGGCGTAAATGGTCGGAGGTAGCGTATCAGCGGCCGATACGTTATAGGTAGTGTCACCCTGAACCCAATTCACTTTATCCTCCGACCACATCACTTCGGCCGTACCCTGCGGAATTGGTTCATCGTTATCCAGCAGCGTGACAGGCAAATCATCGCCTTCGAGAATTTCAGCAACATCGATGCTCAGCTTAGGCTGTTTGTACGTTACAACCGTCAGAACGTCGCTATAAGACTCTTTCGACGTAAACTTGTTGGTCATTTTTGCCCTGTAAAGCCATTTACCAACCTCAGTTTTCCTGATCGAAATGCTTCGCTTCCCTGTCATGTCCTGAAGCATAGTCCATGTCTGTCCATTATCAGAAGACTCCTGCCACTCGGTAGGCGCCAGCGCATCGGAGTTAGCTGTACTGGCCGATTTGAAGTTAACAAGCGTACTGAGCGGGATACGTCCGATAATCAGACTCTTTGAGAGATTACCTTCTAGCTCTTCGCCCTTATAAACACGGATGCTAACTGCACTGGTTTCCCGGGTCAGTTCGAAATCTGCGAAAGGCGATCGTACTTTAGCAATCCCGACAAGTCGCACGTTCCCGAGGTCCATATTTTCTATCTTGATCTTGGTTTCAACCACCCCGGCATCATTCACGGGCAGTGCTTCGGTTAGGGGTGTACGTTCATACGTCGTTTTATATCGGCCTGTTTCTGGATCTTTTCCATAAACACTTTTCTGAGCGTAAATGGTTACATCCCAGTCCCCCATTGTTGTCCGACTAAATGAACTTTTGCGGGTTGAATTGTTATAGCGGCCAACAGACACCTTCAATGGCAATTCCATCGTGGTAGCAGTCTTTTTGTCCTCAATTTCCATTGCCGCTCTAATGTTAAAGTCGGGTACCGTATACACATTGAGCGTATCAACGGTTCGCATAGTCGGTTCCTTCGAGTACTCGACAGCTATGTCGAAGACATTCTTCGTCCACAACGGGGCTGATGCCACTTTAAGACGTTGAACAAACGTCGTTGCATCGTTATTTGATGAACGGTTCTTAAACGTCGTTTTTACGCTTTCCCCCCCGTTTTGTGAAACATAGACTGTCACATCAGCAGGAACCACTTTTGCCAATAGACGAGCTGCTTCCCCGCCAGTGGTATACGCCAGTGCGGTGTTATCGTTAATCCCCGTCAACACCTTGTTTTTCTTGTAGGTAAGGACCGGGTTATAAGGTAACTGCGTAATCAGCACATGGCGGTTTCTGGACGATACAGCTTTAGAGCCCTTGCCGTTTATCATATAGACCTGATAGTCGAGCAGGTTATCGCCTGTTTTATTGAAGAACCCTGTCAGGCCTGGCGTCCGACCTTTAAAGTAAAATTCAAGCCCGTCAGGCACATTGTTCCACTGAGGGTAACAGGCGGTGATATCAGATTTGTCACCATACCATTCAAGGTATGCCAGTGCGTTCTCTTCTGTAGTAAAGAGAGTGCATTTATCACCGGCCGTCTGACTCATGAGATCGGTATACTGCCGAACTCGTGAGTACAATGTGATGTCTTTCTCAAAGTTTTTAAGCGTGAATCCTGTTGGTTGATACGTGAAAGTAGTATTAAATGTCACAATCTTGCCGTACAGGTTTTCAGCTATGACCGTGATTTCATGGTCAGCATTCACTTCTAGATCATCCCCAACCGGCAGATAATAAATGCCTTTGTGGTTCGTGGGGGTGAGCTCAACAAGTTTGTTATCTATCGTAACAGCTTTAATATCCGCGACTCCGGCCTGGCCCTGGAATGCGGCAACAATAATTTCATTTAAGAAATACACAGGAGCTCGTTTGGCCAGAGCTGCACCGTCCTTAAGCACCATCAGTGTTGGGTTATCAGAAAGCATCAGTTTGCTTTCAGGCTCATTGTACGTAGAGGTATTCTTGCTATTGTTCTCTACCGTGAACGAGGCGGCATAAGAACCATTCGTCAAGTCTGTTAAGTCAAAGATATACAGATATTCATCGCCGACTTTCTGTGGCCCGCTCACGGGCTGAAGAGTACGACGTAGCGGTGTTGCCCAGGATTGCTTAAAGTCGATAACCGTACCATCTTCTAAAGTAACTTTTGTTGTCGGCTTAAACACCCCATCAGGATTCATCGTTAGCGTCATAGCGGTTGGTAACCACCACTCACCCTCAGTTCCTTCCTGAGGCACTTTGACGGCTACGGCCACCGTTCTAGCTCCTGTATAGATCTCCTGTCCACCAACACTTATTGTTTTAGCTTCATCCGTGAAATTCCAGAGAGTATGGTCAACAACAGGAGGACGGTAATCCCAGGTCAGCGTTAGCTTCTGCGCTTCAGGAGGGGCAAAGTAATTATTTTTCGAATTGGCAGTGACCGTGATTTCCCGTGAACCCATCAGCAAATCCGAATCACTTACTTTGATGCTTCCAACATCGATCGTGCAGCCATTCCCACCAATTGCGACTTCGCAAGCTGATCCAGACCCGATAGAGATATATTGCACATAATTGCGAGGCTCTACGGAGACAGTGACATTCCTAATTGCTTCATCCTTAAGATAGGATTTAAGAGTGTAACCATCCTGAACCACTCCATTCATAGACGATTTCAGGCCCGTTATCGTCGGTTTAACCGGTACAAGAGCATTAACTGTATACTCCCCATTAACCACTTCTACTTTCTGCCTTTCTGATCCAGAAAAATAAGAAATTTTATACGGCAGTTTTAGTTCTCCTGCCGCATTGGGTATCCCTGTTAAATTGAATCCGTTTGCTGTAAAGCCAGAGGTATTTGGAAGCCATTCAAAAAAGCAGACCAAGTTATCTACGCTTGATGTCGCACGATCATCAACCGTCACATTGCATGCGTTGCCAGTACCTGAAGCAGTAATTGTATTATTGTTGACGAATGCAACAAAATCGCCCGGGCCGGGATTAAACGTGACGGCAGGCATATCAGCCTGGAGTTTTCCGGAAATCATAATTGCCTCAGCTTGTACCGATTTAATCGAAGCAATTAAAGAAAACAACAGGGTTAAACATAAACCTGATTTTCTCATGACGAACACCTGTTTTTTTACGCAGAATTAGAATCACTCTACGTTAAAAAATTCTGAAATCTTGTTCGTAAAGAGGAAAAAAAACATTAAATTTTTGCAGGAAATTGAGGTTTTTTAGCTCACTGACCGCTCTTAGACTCAGATAGGCGAAGGGCGGTAATTATCGATTCTGAGGATACCCAAGGCATTTTAAGTGTCAGGAACCCCAACAAGAACAAGCCTGTTGAAACGCAATCCATTTGTGTTACGGGAAGGTTATAATTTAAAGGCTTAAACGTCCCCATTTTAACCGGTACAATGCTTGCGCTTACCAAAAGGCCCCCACGGTCGTTGGGGCCGATATTGATATTTTTGTAGGCTTGGTGAGTGCGATGCGTGGTCTTACGCTTTTCAAATTTTAGTGTCGGCTTAATTCTCAGAAAAACAGATGCCAGCGCCATGGCTTCGTTTTGGGATAGTTTCATGAGAATGCTGCCCTCTGAATTCCATCCATATTCCCTATTGTCAGACGGAGGAGCAAACTGGAGAGACAGGTAATACTTTTCAGTCTCAGTTACAAACGCCGAATTATCAGCAGAGCGACTTTTGTCGAGATTTACTTCGAATGCCATCGCGACAGATTGGCTGAATACTCTGACCCGTTGAGGCTTCGCACCAGTTGCTGACAGATCGCTCATTGTCATACTCTCTTCTTAAAGAACCATGTACCGGACATAACTTCATTATCCTTCGTGTGCGTCAAATCCGAAATAACAAAACCACCTTTTCCTTCCGAAATTATCATGGTGTAAGAGCTCGTATGCACAAGGCGGGAATTTTTGACTTGCAGACCCGTACACTTAACTGCAATTTCATTACCCGGAACTCTCTCAACAAAAGTAACTTTTGATGCAACGCCATTGATATGTACGCTTCCGTTATCTGCTATCTGGATGTTCAACGAAGGTGTGGATTCTTTATCACAAGGTTGGAAAACAGAAGTGGTTTTAAGAACTTTGCCAGTAAAATCGTACAAGTCAGGCTTCGACGGTTTTGCGTTAAAGATCGAGTAAGACCCCGCCACTGTTAAACCAACCATTAAAAGGGGGATTACCTTTTTAAAATTAACTTTCATCCTCCAGTTCCTCTCCAATCAAGTGTAAAGCACTTACGCACATAAGCCTGAGTTGATACAGCAAATTGTCGGCGGTGATCCCCCCAACAAATGTCACTGTACGGCGTATCGAAACGCCTCCAGGCTCGCATTGAATATGGCCAATACCTGCATCGCGAAGGAAATCATTCTCGGCGCTTACCAGGTCTGCTTCAGCAGGCGGAATGACCACTTCGATGAGTATTGTATCAATTGGAGCCCACTCCCAGTCGTACTTAAGCGATGAAATTGGGGCAATGGAAACATGAAATTCATCAATATTAAAAATGACTGGTTTTTTGCCTGTTGATTTAGGCTGAATGAAGGGATTCTCGACCAGGACAACTGGGAATTCAGAAATAGACAGAACTTCGATTAACTGATCTCGACGTAAACCGTGTATTAGTGAGTTGCGTGATAACATTCAGTCAGCCTTTATTATAATAATCAGATAGTTACACATGATCCCGCTAGTTCCTTACCATCTTCCCGCTTGCAGCGTAGTAACCATTAAGATCTTATGGGTTAGGGTAACAAAAAAATCTAACTTAACCAGTAAAGCATAGAGATTTTTTACATAAAATAATAAATAAGTACCAATTTTATTAAGATATTTCCTATCTCAGCCAATACTTTAGGAAAAATCTGTACCCGTTTTAACACCTATACATACATCGTGCAAACAAAGAACAGTAAACGGGGCCTAAACCACCTTTTTTTAGTGGTTTACCTAACCAAAATTAATTTATCCAAAATCGTAACTGGTTCGACCTGAATCAACCCACGCGAATTTTAATGATTTCTTAGAACTGGCTCTATAATTCTTCAAACTGGCTTAACTGGAGATGTGACAACGAGGGATTCATTTAGTACATGAAACCGGTTTACCATTCCCCCTCACCTGTTAATAATATACCAAAAAAAAGCCAGCTGGTAAGCTGACTTTTTATTAATAGATAACTCAATCTAATCAATTGATATTACTATACTTACTTCGCAAGATTTGCGAGGTTTGCATTGGCCTTTTTCTTCGGCTTCCTTGTCACACCTTGGATTTGCGCATGTTCACTCAGCACCGTGTTTTCGCTTTGTGAGGCGCTAACAGCAGCAGAACCATGACTAGTATTTAAACCTGAATCATTCTTTTTTGCGCTCTCAATCGGCGTTAAAATCTCTAAAGTCTCAGGTTTGGGATTTACAGTCAGTTCTTTAGGTATTAATTCCAGCCGCTGATCCCTTACCCTCTCTGCCTTTAATGTTTCACTGACATCAGATTGACTAGTAGTTGAAAAAGTTGCCTTAGAAAAATCACAGCCATTAATCATTGAAAATAATTCATTGAATTTCGAATCAAGCATAAAGCTTATTTGTTCTTTCAAATTTTCATTGTTTAATTTGTCTTTATTAAATTCATCATTAAAAAATCGATTTAGATCAGCAGCTGTTAATCTCTCATTCAGTCCATTAATAAAACTAGATAACTCGGGGAAGAGATTATTTAGCACTAACCCCGTAGTGATTGCAGATCTTATTAGAGAAATCTGCTCGCCACGATGTGTTAGGGAATTTTTTTTCAAAAAATTATATGCATACGGAGATTGTCGTTCCGATAACCAAAACGCACTAATCTGAATACGATCGTTTTCCTTCTCAGATTTTTTAGTCATAAAACTCTCCCCTTTGCAAAACCATCATCATGCAAAACCATCATCATGCAAAAACAGTATCTGCGATAGCCAGTGAAAGTGCGAATTGCGGATTATCAACCATGATGATTTTCGATTTGTCAAAATGTTTACGAACTGCCGGTTCAATCAGGTAAGAACCTCCACCAACAAGGAAAACATTATGCGGCCGTTCTTCCACTTGAGTGACTGCTTTAATCACTTTTTCTTGAAGTTGCGCCACAGCCCCATTAACAGCATTGAACACGCCGTCAAGATCTTCCGGGGACACCTTGAGCGAGGCTTTGTTTTCACGATTATCGACTAGGTGATGAATATAGGCGTTACTTGCATTCAGCTTTGCAGAATCCAAATAACGACGGATTTCATCATATACGATTGAGCAACCAATACGGTCAAAACCCCTGACACTGGAGATCTGTTCCAGCTGACCTGTAATGCTTGCAACATCAAGTGTTGTCCCACCTAAATCGATAACCAGGCTTGATTCAAAAGATTCAATTGATTCGATTTCATCAGCACGCGTTACCGCTGGAAGGGATTCCGGGAAAACGGTAACTGAAACAACATTAAATGAAACACGTTTACCATCAATATAACGCTCCACCGGCTTCATCAGGTTGTCTTTTTTTCGTTGGATGTTTTCATTATTGGTTTCACCCAGAGCGGTATAAAACTGACTGAGTGGCAAAGTTACGTAGAGATGAACATCCTGTGGCATTAGACCTGAGGAATGTAGAGCATGGTGAACATTAAGACGACTGATTTCATCGTACTGATGCGCAACGTCGGTAGTTTCTAAAGCATTGCTTGATTCGCTGTGGTGCGAGAATCGTTGAAGACCATCAATTAGATAATTGAATGGAATAAGTCCGTCATGGCTTACCCGGAAATCTGCAACGAAACTATTTTGAGTCAATAAAGGTACAAGGTCACCTTGATTGTTAGTGCAAACCAGTTTTGCCGCTTTACTACCATCATCAATAACAACTTTGAGTGTCTCAAGTTCAGTAGAGTTTGATTCAGCCACAGCCAGTTTTGTTTTTGCTAATTCAGTCATGCAGAAACCCTCGTATTGGTTTATTTAGCCCACCACTTTTGTTATGGAATTTATACACCAATGGTTGCTTTAGGTCAACATTAAACGGGACAAAACACTAACGTAAGTCCTTGTTAAAAAAGAATCCTTCAGTTTTAATCCAGATGCAACCCTAGATTCATGTACACCTGAGCAACACACGCAAAAACTATATTTTGCTCAGCGTTTTTATACCAAAAATAAAACAACTGAGGTGCATTACAGTTGATACGGCTCGGAAACCGAAAAATGATTTCTAGCTCCATTTTGGACACTCACAAAAATTACCCCTCTTATCGAAAAAATTGATGACTTTCATCCGGTAGTATTAATGCAATTTCAGAAAGAGGCATTTATGGCATCCGAGCACGTCCAGACAATTGATCTGACTAATTTTTCAGGAAGGGTTTTCTTTCTGGCAGACCCTCATGGTCATTATTCGACGCTATGTAACCTTATCCATTCGATATCAGAACCTGATGAGGAGTTGATCGTTTTCTCCACAGGAAATCTCTTCGATTATGGACCTGAGCCTATGGAGTTAATGACAGCGATCAACACAGGGATTTTTGACGGCCGTTCTGTTCGTGTGTTCTCAGCTGCCGGGGCCGGAGAAGAGATGCTGAAAAAGCTCTTACCCATAAATAAAGACCGCAGGACTTATTATCCAAGCACATTTCTTAATGAACGGTGGTGTGCAAGAGGCGGGCGATGGCATAAACAAATTAACCGCAACTATCTTGAAGAGGAAATCTGCAAACTGCTCTCCACCCAGCTGGCTACTGTGATGAAGGTGCTTTTTAAAGGCAATATTTCTATAGGTATTTGCCCATCCGATTACACAGACATACGGCAGGGCTTCAACAATACATATAACGCCCTCCTCGCTTTTAATCAGGCAAATGTGAATATTTTTCAGAGTCAGTTTCTATACGGCATGGATCACGCAGTCAGGCCAGTGAATGTCAGCGATGTAAACCTCGTAGTATTGGGTCGGAATCCAGTTAACAGCATCAGAAAGGCCCATGGGCTACCGCTGACTAACTTACCGGTACTCATAGGAAACTGCCTCCACATCAATACAGGTTCTCTGTACATGTCAGAAATCAGTAGCCCAGCACTACTGGCACCAGGTATTCCGCCTACTACAGTTCCGGCAATAACACTGGTCGAGTTGATCCTGGCATCTACACCGACCCTGATTTGCCACCAAATGATCCTGAATAAAAACGGTATTTACACACAAAACACTGCACCACTTAACCTGGATTCAAATGATAATAATATAGAGGCCACATTATAATGCTTAAATTAGAACTGATAATTTTGCCGTTGCTGGCATTTTTAGGTCCATCCAACATTACAAATGCATCGACTAAAACCCCGATACCGTCGTCCCAGCTATCTGATGCCAAAACTGGGGTTAACTATGAATTTATTACTATTGCTGCAAATTACGTCAACGGAATGTGGCTTGTTGATGGTCGACAAAGACCAGTAATTAAAACAAGCATGACTAAGCGTAACTATCTTCAGATTGAAAACGACTCTGCTTCAACTCCTTTAAATCTTGTAATACCCAAAATTGAATTTTCCATCATTGCAAAAAATGGCGTGTTTATATCAAAATTTATCTCCCTTGATGAAGATGCATCCGGGAAACGAATTCTCTGGTTAGAACCTGGTTCCAGCATGACAATTTCATTCGTCAATGATCTATCCAGTACCCCGTTACAGGCGTTAGTGTCCGTAACAAAGCAGAAAAAAGAGGTTATTGCCATTTTTGGCCCAGATCAGGGTAAAAAATTCACCCTGCCCCTACCGTCAGATTCACAACAATCGTCAATCGACTATGTCCCCTCTCCAGAAATCGCATTACGTATCAATGCCCCCAAAAAACTTCAACCCGCTATCGCAATCCCGGAGGACGCTAGTGCATCTTTATTACCTTCACATACCTACAAGATCAGAGCGGCAGAAAAAGTAAGGACTTTTAAATTTTCGTCGTTCGTTTGGGTTGGAAAGCGTAACAACCTCCTCGGTGGTTCAGATTATTTCACCAAAGAGTTGAAAATTTACCCAGGAGAAAACTTCGATATCAGTACCATACAGAAAACGACTATGAGGACTGAAAATGATTAAAGTTTCAGCATTTATTCTTACCTTACTTGTGACTGGATGTCAGTCGGTTGGAAGCAAAATTGCAGTCCTCCCTTCGGTAGGGTTCGACCCTATAATGAGCAACAGAACTGAAGCCTACACCGACGGAAAAGTTACTTTTCTGATTGAGAGTTCAGGCACTGATGTCTGGTTACTCGCCAAGAATGGGACCAAAGAATTTATTGAGTTGTCTGATCTGAATCTCGGCGGGAGTCGTTGCACCTATTCGTCACGTGGAAAACAGTTGATATCACCTAGTTCAGTTACAATTTTTACGGTGCCCACAGTTGGTTTACTTGGTCTTTGTTACGATAACAATGACCAATTAACATTTATTAATAACTCATTTAAGAACATCTCACAGTCTTCACGAGATGGACTCACATTGCCATTACTGTTCAGTATTAAATATAAATTCCCAGGTTCATTTGATTCCAAACAAATTGTAGTCACTCAATCATTTGATTTAGAATTTTTGCAAAAGGAGCAATCATGAAATATATATTGACCGTTTTGTGTATTTTTTTCTGCCAGACTGCAAGTGCTTACCCTTATCGCATTTACACTGCCCCAGAAGGTGCAATTGTGAAAAATATACTTACTAATGAAGTGATCGGGAAAACACCGGTTGAAGTTGATGTCAGCAATACTGAAGCTGGATCAACTTTCGGAATTTCAATGTATCGTCATGAGAATGTAGCTATTAAAATTTTCACAGTAATGCCAAATGCAGAAAATAATTTTACTGTTTCTGGTCCAGACGTTGCCACTATGTCTTTACCGGGTAAGGCCCCGTTAAACGTGACCAATGACAGTAATGCAGCAGCGGTTCATATAGATCTAAGACCTTTTCTGTCTGAACCGGCCCATCACCCTGTTCAATAACACTTCTAGGCCCCAATCTTTGGGGCCTGCTTAACAATACCGTATATGTTAAAACCCATCATTATCAGATAGTTAAGATATTTTTGCTATTGATTTCTTTTAGGACTTGGTAATGCGTAGACTAAATAAAAGCGTACATGAATAATTTCATCCGCATCTAATGATGCGGATATTTTTTGATTTTAATTATTCATTTCGCTCAGTTTTGATTTTATAAACTTCTCAATTTCGTCAATTAATTCTCGGTTCATTCTATTAAACTCAAAACGGATTTTACGCCCCGAGGAACTTTTGCTAATTCTTGCATATTTATCTTTATTAGTAAAAGTTGCCAATTCACGTGTATCCCAACCTTTGCTAGGTGGTTTAATATCAAGTTTTTCAACTACCGTTGTAATCTTCTCCATTACGGTTTTCTGTGCTTCAGCAATATCAGAAATATCCAGATCTCGAATTTCCTCACGTGTATTCTCAACAACTTCTTCAAGAGAAAATAAATTCTTCTCTATATATTTTTGAAGTCGGAATAGGCGATTGTAATAAGAATTCGGAATAGCTTCATAGTCAGGAAACAGTGCAATAAGAGTGCTGTTAATCTTTGCAGCCTGAACTCGCTTAGAGACGGACACGTGACTGATACCATGATAGTTTGCAAGCTCTTCATTGGTAACAAATCCATGCTCTTCCATTTCCCTTAAATACTTTAAACCTACTTCACGATATGAAAAGCGTCGAGAAGTTTGTGTTGCTGATATGATGGAATTAATATCATCTGCGTTAACATCATCAGGCAAAACCCATAATGGCAATTCTTTTGCTGATTGAATGCAACAGAAACGCCTGCGGCTACCTTCTATTAGCAGATACACTCCGTTCCGCTTAACTGCAACGCCCTCAGTATCAACACCTCTTGCTTCAATGTCCTTCAGAATATCTCTTACTGCATTTACAGAAAGAGCCTCCTGATTTCGTGGGTTCAGAGGGTGTACTGTGGTTTCCAGTTCCACCTTTTCCGCCGGAACAATGATGTGTTCCGCCTCAAGCTTCCGCCCATTGTGTAATGTAAAAAGTTTCTTCAGGCGTGGCTGACCTTTCAGGCCTTGAAGCCCGGAGCGATGGATTACTTCAGTACGCTTAGGCGCATTAATATAACGGGATTTGTCGTTCCCGATATGCTGCTCATCACTCATACATTACCCCCTTGCTTCACTGAAAAACTCTTAATCTCATTAATAAATTGCTGGTAGACCGCCATCACGGATTCTTCGGCAACATCAAGCTGTTTGGGAGAGCAGAGCTCTTCTGATTTTTTGATATCCAATACGGTTCTACCCCTAGAAGCTGCGGCTTTAAACGCTTCTGAGTTTTTGATATTTGCAGACATAAAGAGTTCCTGCACTGTCCTTACCAGTTTATCCAGGACAATCTTTTCATAGGGACTCTTATCGTCGACATTCACTGCCAACACTTTGAACCAGCTTAGATTTTCGCCCTTGCTCGGCGATTGTTTGAATCGCTCACTGATCGTCAACATGAAATCAGTTGTTGAGGCATAATCATACTCACGAGGTGAAACGGCAACCAAAATGCCATCAGCAGCTTCATCCGCTGCCCATGTGATTGGCGAATCTTCTGGTGGAGTATCGATAATGATCAGGTCGTACTTGCTCTTCAAGACCGGCAGGATTACCTCTTTAAAACGTAGTAATAACTCAGTTCGTTCTTCTCTGGAACACTGCCAGTATTTATCTTTGAAACGTGCATCTGTAGGGAATGCGGTAATAACATCAAGATTCGGAAGGTGTGTTGAAAAAGGCATACCTTCAATAATTTGTTCTTCCGAGTACCCTAAATCAAGATATTTTCTGTAATCTGAGTCTTCTTCGTAAACCCCTAAGATGGCGTCAATAGCAGTCAGGAAAACATCATCTTCCGCTACGCTCTGGATCATCCCGCTTCCAATAGACCCTTGTGGGTCCCATTCGATCAACAGTATCCGCGCGTTTAGATGCAAATCAAGTGCTGCCGCAACTGCAAGAACGCCTGAAGTTGTACTCTTCCCCGTACCACCCTTATGGTTCTGCGTTACGATTGTACGGCTACAGTAGTAGTCGCTATATCGAGGATAGTTCAGAGCATCCATTATTTTCTGGACATCCCAGCGGGTATAGAGATGGTTTTTGTTCTGGTAGATAGGAGCACCAACCAGTTCTTTTTCTTCAAGATCCGCTAAGATTTTGTTAAAAGTTACGCGAGATTTACCAAAAAAATCTGACAGATTTTTTTTATTCAAGCAGTGGTTATAGATTAGGCGATCAACACCGTCTACACTATCATCCGATACCGAAACCCTCGAAGAGACCAATAATGACTCTTTCAGAGAGATCTGCTCGCTCTTCATGCGTTGACCGACAAGGGCGATCTTATCAATTAGATTCATTCTCTTCCGATCCCTTTTACCTAAATAGTGAAATTAAACGTATATACGTAAACTTTACGCATAATGCGTATACTTTAGCGTTATGCGTTTAATAGTAACCTTAATTCTATTATTACGCTAACGTTCTGTATTCTTTTCTTAGATTTTGGAATATCTGCATTATTGAATTTCAATTGGCAGTTCATTGAAGTCTTCCAAAAGCCTCTTAAGTATCAACAATACCAATCTTCCGACATAGCAGGATCACTCCATAGATGTGGCAATAAGGGGGGTAAATCCCACGGTACCCGACCAGCATTACCCCATAGCCTGGCGATTAAGGGGGTTAAATGCCATGGTACGAGACCAGCATTCCTCCATGGCCTGGCGATTAAGGAGGTTAAATGCCACGCTACGCGACCTGCTTCTCCATGGCCTGGCGATTAAGGGGGTTAAATGCCACACTACGCGACCTGCTTCCCCATAGTCTGGCGATTAAGGGGGTTAAATGCCACGCTACGAGACCAGCTTCCCCATAGCCTGGCGATTAAAGGATTAAATGCCACGCTACGCGACCAGCCTCCCCATGGCCTGGCGATTAAGGGGGTTAAATGC
NODE 8 15844 1169426 1169426 0 0
TATTGGCAGTACCGTCAGTTCGGATATCTCCCGCGACAACCCAGAAAAAACCGGCAGACTCATCGCTCACGCGTTACTGACGGGGGCCTCGATTGAGGATGCCTGTCGCTTTGCCTCAGAGGCTCAGCAGTTCGATACCGCTCTATCGGGACTGGCTTACCAGGTAGCCGTGGCCATGAAATTTGTTGCCGGTGATTCTGCGGCCGTAAGGAATGAAGGCCATCCGGTCATTACACTTTCCGACTCCTTCCGTCTTATGAGAAAAGCAAATATTAACACCCTGACGGCCACACAGAACAACCGGAAATGATGAGCACAAATCGATATGGATGCCGATATTAAGAACGATGATTATGTTGACTGTCTCATTGAGCAGGTAACCGTATAGCGGACTGGAACACGAATGCTGATGCTCTACACCAGGCCTGCGGCGCCTTCGTAGATGCACCGCATTCAAAACAAACGACAGGTGATAATTTATGAAGTTGACAAAAATGATGGCGACCTTGTTCCTGCTTATTCCCTTGACATCTTTTTCGCAGGAATTGGGCCAGCGAATATCACAGGATGACAGTGCAGAACTGGCGAATAAGGCAGGTACAGCTTTGACAGAGATGCTTTTGCTAAAAGTTCAGCAATTGCCACAGGTGAAAAAGAACAGTGGAATGGACCTTGCGGCTGCAAATGACGCTGTTGCTTCCTTACTCAGCAAAGAGTTTTTCATTTTTAAACCAGTTGATGAAATCAGCATAAAAACCTCTGCTCAAAAATTAAAAGAGCTGAATGATGATGCCGACGCACTTGCTAAGGGGTACACCATCATTCAACCAGATGATGTCGGAAGCTCCTACATTTCGTATAAGGTGACGTCCAGCTCTCGAACCTGCTTCATTCGCCTTTCAAAGGATCTGTCATCGTCATTAAATACCAGAATTGTAACTGTGAATAGCATGGAGTGTTCGAACCCATAAACCACGTTGACCGGCTAATTCACTTTACGGGGTAAATGAGTTGTGAAACCCATTTTATTTTCACCCTCAATTACAGAAATTCAAGCCGAATAGAGACTGTAATGATTATTATCCTTGGTGTTCTGCTTTTATTGTCTCTTTTCTTCAATATCTGGTTTTGGGATCACTATATGCGTGTCATTCCGTTATCAGCGGATAAAAGTAGCATGTTTGCTATCGCCTCCAGCTGTGAAAACCCTCGGTGGGTGCAAGAAGTTGAGAGCCGTGGGGGGATGACCCGTAAGGAATGGGCTGACTTTGTGGATCGAAATTTTAACCCTCCTAAATAGAGTAAATTCCGATTGGCATTGTTGCAGGAATTATGGTGCCGCAGCTTATTGGGTGTTTGTCAATTGCCGGGAAGTATTCGCTGGCATATCACTTAAACGGGAGTAGTAAGTGAGAGAACCTCGTCCACGCCATACATTACAGGTAGTCTGTGTCCCGTCTCTGAATATACAGGATCTGGGGCTAACCAGTTTTCATAGCTGGCTCTTATCAAAAGGCTATGACACGACCAATGCCAGGAACAACCGTACTTGCTGGGCAAGGGAAGGTGGCTGGCACCTGAAGCGATGCAGACATCTGGCAACGGGCGAAGATCATTTCTGGTTTATCGCATTCAACGGTACCGGCGGCGACATTTTTCCTGTGAAAACCCAGCAGGACTACCGTGCTGCCTACCGCAAGCTTGAAGCGTATGGATATGCACCGGCCGTTATTGAACAATTGAACACAGGCGTTGCCTATAATCTTGCTTATTCACGGACACCGTTAAAACGCCCTGAGAGCGCCACCAGCGAACTGAAGCGAAAACCTGACGTGAATATTCAGGGTGAGCCTTGCGAACGCTTTGTGACCGAACGGAGCAGCGCAGCGCAGAATAAATTCAAAACCCTGCTCATTGAGAACTTCGCCGGTCGGTGTGCAGTCACTGGATGGGTTAATGGTGGTGTGCTGGTGGCGGCTCATATCGAGCATGGGACGCGCTACAACCCTTCGAACGGCATCCTGTTGACGCCGACAATGCACGCGTTGTTTGACGCGGATCTGATGGGTATAGACCCTTCAACACTCACCGTTCATTTTAAACCGGGCATCGAGGCGGGAGAGCTGTTTGAAGGAAAAACGCTCAATCCGTTGGTGTATGATCTGGATACCGACCGGCTGGCTGCTCGCTGGGCTGACTTTATAGGTGCCGAGTGATTGATGGGAAATTCAGCCTATAACCGATGGCAGTGTTTTCGGGATGGACACCACTTACTGATGGGGGCTGGCTGCACGCCACCTTTATATTGAAATCCAACAGAGTTGATACAACAAATGCAAAATTGCCTTTCGGGATATTTAAAAGCGACCATTGTTATTTTATCTGCGGGCCTGACAGGTTGCGACCTGGCAAATGGGACTGCGGAAAGTGGAGTGTATCAGAAATACACGAATGGACCTTTCAAGGAACCGACTATCGTGATGAGTCCGGGCTGGCGGATGGATGACCACGGCAGGGAAGCACTAATATTCGGGAGCAGCCACTGCCCGGATGTAAACGGCAATAATACGTCTGAGGGCGGCTGCGTCCTCATTGAGGAGCACTCTGCGACTGTCGCGGTCACTGTTGTTGATGCGACAAATCAGTCCCGTCGCCAGGAAACCTGGACGATTGAACGTAAAAAGGATCGAGTTATAGTGAAGCGCCCGGATAACAGTTTTGTGATGCCCTGGGGAAAATAGCCAAGATACAAGATGACCACAAAAATGAATAAGCCGCAATGTTGTTTTGTGTGTTGAACGTCCTGATGGAGCCTTTGACATTTACACTGGCCGTTTTATACAGTTCCACCAAATTGACAACAGTAGAAGAAAAATTGTTGAAATAAGTGATCCTGACCTGGTGGGGATGACTTATTCAATCCCGATGGTTTTTAACGGAGGGAAGTTCAGTGGTCAAGGGGTTACCTGTCTCTCGCTCCCCGCAGTAACATTAATAAAAGTAACTTTTCCTTCCCGAACTTATCAGGAGGGGCAGGAACAAATCACAATGTCGAGCCCGGACCTGGCACTATTTTCTGAAGATGTCCGGAAAAACTGCGCCGGTACGTGTGTTCTTACCGGCGTTCGAGGCAGACAAAGAACTGAGGCTGCGCACATAAAACCCCGTCATGCTGGTGGTGAGCCGGATGTGACAAACGGGATTCTACTGCGAAGTGACATCAATACCCTCTTTGACAATTGGCACTTTTCGATCGACCCTGATTCAATGAAAGCCCGTTTCAGCCCGGATGTGCTCTCCGTCGATAAAGACTTACTACAACTGGAAGGCAAGCAAATTGATTTTTCCCGCCTGCAAATGCCTATCAATATTGAACACCTTCGACATCACTGGAACAAATTTTTTAACCGTCATGTCAATCCAGTCATAAAGAATGCGCTAAATAAAAAAATCAACAATTATGAAAAACGGCCAGTTAGCAGCAACATACATTATTAGGCTACGTTAGCCTAATGGCATTCTGAAAGTCTGCCCAATTAGACTGAAGTTCAATAAGAAGGAATGAAAATGAACTTGAAAAGTATTGTTCCGAAGGCTGCTGGCCTTGCTGCATGGATTGTAGGAATCATTTATAGTGGTTTTGCTCTTTCTGTTCTGTGGGGGGGGTTTTGTGCCTCTCGGTGTGGTGCCGATCACAACTCCATGGGCTATTGGAATTTACTGCTTGGCAGGCATAATAAGAGGCAATAGAGTAAAAATCCCGAAAGAACAAGATATGCCATGTACGCTTCAATTAACGATGATATATGTCGGCATCACCTTTTTCCTAATTGTCGGTTATATCTGCCATCAAATAACTTAGAACTGATTTAGAATTGAATTTGATAAAGCTTACTACAAAGTAGTTTTGTCAATGTTCAACCTGTTTATCAAACCTACGGTGACTTTTTATGACTGGGAATGGTATCAATACTGTACGCATAAACAACGAAGTGAAACACATCTCAGAGTTAGATCCGGAGATCTCTTTTTCTTGAATGGAATAAACTGAAAAGTGAAAATAACGAACTGTATCGCTGCATAAAGGAAGCAAATTCTGGTTGGCGTGGTTTTGTCCTTCGTTTAATAGGGGTTTATCTACCTGATGGCAAAACAATTGTCATTAAACCCTAGATTATTTGAATATTCCTAAACATAGGCTTAATAAGAAAAGCCACTGAAAAGTGGCTTTTGAACTGAGCTGTTCGCGATTTTAATTTCAACTTAGATGAGGAAATCATCCAGTGTTTTACCGGCTTCAAGTTGTTCGGCCAGTGCTTTAGGGGTACGCCCCTGGCCAGTCCAGGTTTTCGTTTCACCATTAACATCAGTGTATTTATATTTCGCAGGGCGCGGTTCGCGAACTTTTTTAGGTGCTCCGGACTTTGCAGAGAAAGAACTCAGTAACTCTTCAGGGTCAATTCCATCTTCAAGCATTAATTGACGCAGGGATTCAATCTTCTCCAGACGCGCTTTCAGCTCAGCTTCTTTTGAAGATTCTTCCTGACGTCGTTCTTCAACAACAACGCTTAATTTTTCCAGCAGTTCTTCAAGGATCTCTAACGGCAGTTCACGGCCCTGCGCACGAAGAGTACGAATGTTGTTTAATGATTTGAGTGCTTCGGACATATGACCTCACTAAGAGTAATAAATAAAATCAATAGAATACTTTGCGATATTACACTCTTTTATTATTTTGAGCCAGCTAGACGCGTAAGATTTTCTGGGCGCATGATATCAATCATTGGTACCTAAAGACATTAACCACCCCGCGTATGGAAACAAATGCATTATCACTTGCCAGTTCCTCTGTAGTGCCAACTCCGCAAGATTAGATAAAATCGCCGTCTGTCTCATGCGATTATTACTTTCGGTTACTGGAGAGACCTTTTAATATTGATTTTCTTCCTCTTGATTTCTTAGTTGTTTGTCCTTTTCGTTAATATGGAAAGGGTCGTATGTGTTGGTATTATATGCGTTCTTAACGTTTGCTGCCCACTGTTCAATGCGGAGCATCATTGCATATGTTGCTGCGGCATCAAGATCCAGTTGTTCAGAGTGTTCAGGGAGCAGAATTTTACAATATTCCAGTTCATGAGCCACAGCTCCGAGCCGTTCATAAAGTGAAGATAGTTGCGTTATGGAATCATCAGTGCGGTTCATGAATAGCGCCGACTTCCAATAATATATTGAGCAAGTTTGATGTTAAGACATACCATGTTGCTTGATAGTTGCCGCATCATACGGGATTCGCTACGAATTAAATAGGATTCAAGTAGTCCAGAATATTCCCCTGACGTTACAACCGTCAACTGGGCAATGTGATTATTTAATTTGCTTGCCCCTGCCAGGATATCATCCTCCGTCGCCTCGATATAAACGGGGGAGGCAGCGATAACATAATCATCGAAAGGTCTTGCTGCCATCAATGTCTCAATAGATTTCGCCGTCCTTTCTTTCCCGAATGTATTTGTTAATTCCCGCCACCATTGTCGGTGACTGAACGGTAAATCATGAAAGGTGGCTTCATAAGCGTCCACGAGGTCACGACTATTCAAAAAACCCAACCCGGCCGAGATCACCCACAACTCCAGGTTCTCAGTTGTCCGTAATATCTCTTTTGCCGTTGACCAGTGATTACCGGCATAGAGCGACAGGGCCGGTACCGGTGAAGCACTTTGCGACCGTTTAATCGTTGCTGCCCAGCTGGACATTGCCTCTTCTGGTGTCTGTCCAGACCGGATACTCAGTTCTGGCATGGAGCCGCACTGGCTGTGCTTACCTTTGGTACAGGACGTTATTAGGTGTGTAATTCGCGACGCCGCCATTTTGTAGCCCTCAGCCAAATGTGTGTAATCACTGTCTAACTATCGTAACAGCCCCTCATCCGCCATAACGACAAAGAGGAAGCCCTAAACGTAAACGACTACCCCATTATACATTTAGTCATGCCTTTACTAATAACTAGTTACCAAAATAAACACCCCAGATGTGACACCGTCACGTTTTTCGGCTTTATTTAGTTCATTTTGTGTACTATGGGATTTAATTCGGGGTAAATCCCATCGTACACATAGCCCCCCTCATAGTGTAATTGCGGATAAAAACCTTATTAATCAGTCATATAGCTCAATGGTTGTGCATTCAGGGAATGCGATCGCCACTTAACGGGTTGCGGGTTGTTGGTCACCCGACATCTGTGTGCTAATCTTTTTCATCTTTAGTCATTAGTAAAGGCGTTACTATAAATGACGCTACGAGAATTTTTTTAACTAGAGAGGTGGATAGGCCAGTGAAAATCTCTCAGCCAAAACAGTGGGAAAAGGATCGTGAAATGAGCATGAATTCGCAGCCGGAACTGAAGTTGAGTACCCGTACCGAACAACTCGCCAGTAGTCGTGATGCCGCTATGCAAAAATTTCTGGACGGCATGACGCTGATTGCCGAAGCCTCAGCAATTTGCGGGTTTTCACTGTTTAACAGCAAAATTATGGCCCCTAATGCTTTTGGCCTTCCTGCGTCCCTGGCCGCAAGCATCGAGGAAGGGCGACAGCAAATAGACCGTAAGACATGGAACAATCTTTTTGAAGAAACGGGTATTGACCGATTCTGGAATCACAACCAGCGGGCGGAGTTCCGTGAGTCTCTCCGGAACGCTCCGCCAATTGCGTCGTTAACCGTAATCCGCAGTACATTGCGCCAGGCAGTTGCCATGCGCAGCATTACGCTTGCTGAAGGGTTTGTTGATCTGCTATGCCAGCTTGATCGCCGGTATAAAACTAATGCCTAGCAATTTGTGATGCCAAAAAAACTGGTACTACGCGGCATTTTTCCCGACTCGAACATGATGAGATATAATGGCTTTTCTCAGGATAATCTCTTCTATTTAAACGACTTTGAGAATGTCGTTTGCATCTGCTCCAATGCAGCAACACCGCCTGTCGGCAGTGGAATGAACATGTACGATCGGCTTGCTGTCTTACGGAAAACCGATTTCACGGGTGACATTACCGACCCGAAGGGCTGGAAGTTCCGATTGTTCGGAAATGGTAACGTCCATATCTCAGTTGAGTGTGAAAGCCTGCATAACGCACTGAATGACCTGATTAGCATTTATTTTGCCAACCAGATCCCGGCCAAAGGATAAGAATGATGACTGACAATGTAAATTTGATGAACGGGGATGAACAAACTGCGTCCAGTTTAAGTGAAGAGACTTCAAAAACGCCCCCTCTAAGCCCCGAGTTACTGAAGAATTCCCCTTACTCGTCAATAGCTAAGGTTAAATATTTCACCGAGATTGAACAAATCTGCCTCGATAAGAGCATCAGCACCGAAAACCTCGACCAGTTTTTCAAAGCCCACTGGCTGCGGGATAAAATGGGGGGGTCTTTTGCCCGGGCTCAGGAGATGCTGGCGGCCTACAAGCAATACGTGGACGAGGTGCCCGAGGAAGCACGCGCGATTGAAATCCCTGACCAGATTAAAGATGCATTCAGTGATTTTACTGCGTTTATCACCTGGTACTTCCGCTTAAGCTATACGGCTATCCAGAGTGATAGCGTGAAAATTGCGAAGGCAGAAATTACTCAGTTACGGCAGCGGAATGCTGAAATTCTGGAAGAACTGTCACAGTCGAAAGAACAGGCTACAGTCCTGAATAACGAAAAAGTTAACCTGATTAACCTGCTGGAGCAGCAGCGTGAACTCTCCAGTAAATTAGAAGATTCACTTCAGGAAGCAGAAGAAACTCTGGCAGGAACTCAAAGTGAATTACAGCATGCCCAAAACGAGATCCAGCTTTTACAGCAGACAGTAGGGACACTGAACCAGCAACTGAGTGAGCGCAAACAGGAACTGGCCTCGCAGCAGGAGTATCAGAAGCAGCTGAATGATGAGAATAAAGCGCAGCAGGTAGAGCTGACAGCCCTCAAAAGCCAGAATGATCACTTACAACGGACCGTGTCTGATTTAAAAGTCAGTGTCAGTCAGCTTGAACAGGACCTTTCCTCAGTACAGACCCATTCCTCTGAATTGAGCTCATCTTTAGCCGAAAAGGACACGACCCTGACGCTCGTGCGGTCGGAGCTCTCAACAGCTAAAGGGGAGAATGACCAACTACGAGCTGAAGCACAACGCTTAGCTGATGAGAGCCTGGTTGCCAAAAAAGTGCAAACAGATCAGACAGAAGAGCTTCAACAGCTCAGGAATCAGATGATTTCCATGGAAGCGACACTCAATGCGGAAAAGACCATTGCCGAGTCTTTACGAGGAACAATCAAGCAGCTTACCGAAGCTATGACCGGCGCAGTTGCCATCAAACCTAAATCCTCTGGGGCATCAAAACCGCGAAACAAAAAGACGACATAACTGCTCCCGCCAGGAATTTGCAATAGACTTAAATTCCTGGCGTCCACAGGCTCTTTATCCCGTTCGCAGGAGTTTACGTCCTTCCGACAGCATTAGGCTGATTTTCCCCGAATCACTGATCTCAATAGCATCAACCAGGCTAGTGATCCCGCCAACAGCTTGCTGTTGTGAAATAGCTCCCAGTTTGTAGTCATCGAGTACTGCCGCCAAAAACGCCTTCAGTTTAACCTGCTCACTCATCGAAAGTATGTACGCCATTTTTAGCCCAATTTTAAGGTTGTGATTCGGGTTAATTTTATCGTCTAGCTTCCGGGAAATGAGGGAGTTCCTGGTATTCAGTCTTCTCCGTAGCATCCCAGTGCCACCATCCATAGGCCCCATATTCCTGGTTGTAATACGCCTTCTTAAGTTCCTTTCGCGCAAGATAGGCAGGTGTCGACATCCCGAAAACTTCCATCGGGAACGGCTTATCACTTCGTGTATCCAGTAAATAAAAATCTGGGAAAACATCGCTCGCACTGGCGTCATACCGCATAGGCTTAACATAGTGCCGGTGTTCGGCATCAAGTTTACGGGACACTATCGCTTCGTAGGAGGAGTCCAGAGGTATCCAGTTATCACTCACCAGCATAAGCACTATCTGATGAGCTCGTGCAGAGATACCTCTACTGGTCACCGATACGGGAGATGTAAGAGCAAAAACAACAACTTTGCCCCCATTTTTCCAGGCGGCATATTCCAGAGGGAATCGCCGCTTCACGCTATCCCAGTGCCCGTCTGAGTTAAAGAAGGTAAGGGGCATACCGCCGAAGTTACGCATAGGTAGAAACTTCAGCGGCTTCTCATGCTTTTCTGCGTCATAGCGCGGCAGTACTGATAGCAGCAGCAGTCGTTTGTCGCTCAGTTCCGCCGACGACAGCAGTTGAACCTGCTCACTGGCCACTTTGCTTTTAGAGTCCGCCACCCCGATAAAAAGATGGTCGCCAATACATGCTCTACCCGATCTAATCTGCTTTGCGGCTTCCAACATCCGGTATCGAACCAGCGAATCATTTCGCTTCCCGGCCATATTCGGATACCAGACATTAAGACCGGCTTCAGTCCACAACAAACTCAGAAGTCCGGAGAGGGTCATTGAAGCCTGGCCACCTTCAGGTCGCTGGATTTGGGGCAGGGAAGGAACCTCAGACTTTTCCGGCGGATCTTTCTCCGTCATGCCTATTCCAAGGCGGATTGACATGGTCCCCTCATTGTTGATGCGTACAACATTGCTGGCATAACCCTTTAACCCTGTATGCCTGGCATCAAGGTCGAAAAACACACACGATGGATCATGCTCAGTGCCTGTATTTGCAGCCTTAATCAGGATGAACGTATCACTGTTTGGTAGTGAGCGGACGTAGAGACGCTTTGCGCCTTTTCCCCGACATCCGCAGCTGATCACAGATTTCTGCCCGGACGTGTGGTGTGCTTTCTTCAGGGCCGACTGCCATCCCTTTACATACTCATCCTGTGTCTGAAATTCAGCCGAGTATCGTTTCGTGTTTGGTTCGTCATCGTAAGCAATAAAAACTGCAAACTTCTGGCCCATGGGACCTCCTGAAATTTAAAAATACTAATAGCCTAGCCATATCAATACTTCTTGCGCGTTGTACTCTTCCCTCTCACCCAACTCGGAAAAAAATACGTCTATGTCGCTGGCTACGACGCCATGTTTTGCAAGCTCTTGCAGAGCTCTCTGTTTTGAAATGGTGAGGTCTTCTGCTGAATCAAAATACGTCATCATTACCTCCTGATGAAGGAGTTGACTGAAGCAGGCCTTTCTCTCCCTGCCCAGGTTTTTTTCTGTGTAAAAGTTACAATATTAGTGAAATAAACCATTACGTTAACCTGCAAAATCACACAGAAGAATTACTATGATGCCGCTTCAAACTCTCCCTTGAGACGAGCCGCAACGGCGATCTCAATACGGCTTCGAAGCAAACTGGCCACGGCCGCAAATACGTCGACGATGACCGAATTGCCGAACTGGCGATAGGCCTGGGTATCAGAGACTGGAATGCGAAAAGTAACTTTTCCCGGTTGCTCGAATCCCATAAGGCGGGCACATTCTCGCGGGGTTAAACGGCGCGGGCGCCTTGCCATATTTACAGGATCATTAAAGTCCTTTTCGCCTATGCTGTGATCCCATCCACGGTCTAGCAAAATTTCAGAGCCATCACGATAGTACCGTGCGCTGAGTGTTCTGCAAACAACTGATTTATCAAGTGGATTTACCAGTCCGAAGCCAAATCCATTACCTTTTGCCTGGTGCTTTTTAGCGTAGTTATAAAGGTACTCCCAGAGCTTTGGAGAAAGGATGTAACGGCTATCGACCTCAGCGTCCAGCAGCTCCCCAAGGGTTGGCCGTCGTGAAGGATAAAGAGCCGATACACCACTTAACGAAAAGCCATCATGGAGCTTCAGATCGCGCCTGAATCCAACCAACACGATACGTTCCCGGTGCTGAGGCCTGAAGTTCTTACCGTCAATTATTTTGGGGTCCTTTGATCCGTGAGCATCGCAGTCGGCAACATCGTAGCCAAGTTCATCAAGCGCTTTCATGATGATGCGGAACGTATTTCCCTTATCGTGGCTCTTCAGATTTTTTACGTTCTCAAGAACGAAAATGGCAGGCTGTTTGGCTCGGATGATCCGGGCGACATCAAAAAAAAGGGTCCCCTGGGTGTCGCATTCAAAGCCGTGTTTTCGGCCCAAAGAGTTCTTTTTGCTGACACCGGCAATACTGAACGGTTGGCATGGGAAACCTGCGAGCAAAACATCATGGTCTGGGATGGATGCATCGATAGAAGCATAGGCCTGGTCATCCGAAACATCGGGAAGATTACTGAGTGTAATGTCCCGGATATCTGAGTTGAAATAGTGCTCAGTCTCGTCACAGTACCAGTTTGCACTGTATGTCCGGCGGGAGAACTGATTCCATTCGCTTGTAAACACGCATTTCCCGCCAATGGCGTCAAAACCACTCCGGAGGCCACCGATCCCAGCAAACAAGTCAATAAAACGGAAAAATTTCTGGTCATAGTCTGCTGGGCGTGAGGGGAGCAACGATCGAAGATAATGATATTCTTCCTGGGTTATTCGACATTCATTAACTGAACCTTTGATCTGGCGAATAAGTGATGCCCTCGACCAGTCGCTGCCGGTTGCAGCATTAAGTTGCGCAGCCAAATCTTTTACGTCATAGATACTTGCAACCTGCACCAGTAATTTATGGATAGAGGAAGGCGTCTCATCATTAAGCAATGCTGTTATTGCAGGCTCAGTTCTATCGTTGTACATCCTTACTCCATGAAATGTGATTAATTTAGGACCTCAGACTACCACGCGGTGAAAATTCAATTTTTTGTTAAAGGCCTTTATTTTCATCTCCTGAATTAAAATTTTTAATCCACTCAAATTGCCTCCGTTAACGGAAAATCGCCGAGTTTCTAATTGGTACAATAAGCGCGTCAAATCACACGACTTATTTGTTACTACGAACCATCTAATTCAGGGAGAACGTATGACTCTGTTGAAAAAGTTACTTTTGCCGACATTAATCGTCCTTTTCCCGGCGGCAACTCTGGCTGCCCAATCGTCATTTGAAGCGAAAGTGGTAAAAATTATCGACGGGGACACAATCACCGCGCTCGATGGTCAGAATACAAGCATCAAAATCCGCTTGTACGGTATTGATGCCCCCGAAAGTAAGCAGGCCTTTGGACAAAAGTCTAAACAAGCGTTGAGCGCCGCGATTGCTGCACAGAATATTACGGTAATAGACCACGGACCTGATATTTACGGCAGGATGCTGGGAACCATTTGGCTTGATGGTTATGACATAAACGCCTCAATGGTAGACAGCGGCTATGCATGGGTATACCGGTTTGACGGTAATGCCATCGTCCCAAACTATCTGAAATTCGAAGCTTCAGCTCAGAAAGCAGTTAAAGGCCTCTGGGTAGATCCTAATCCCGTTGCCCCCTGGGAGTGGCGCCAGCAAAACCAGAAACCTCAAAAGACGAAAAGCAGGGGGTGACCGCGATGACAAGACAGCATCCTTTATTGAAAATTGCGCTTAATAGCGATGGACATCTTTCGTGGCCAATTTTACCAGGAGAGACTCACCGCTGCCCAACGTGTCTGCGACACGTTACTACGGGCCCGGATGGGGATTTGGTGCATTCGATGGAGGAGGGCGGCAACGTCTGCATACCTTCAGCTTCTGTTGTTATTTCAAAGGCAATTATTGAAATGCTCAGCGCAGGCGAACGTCTCTATGTTAATCCAATCAAGAATGGGAATAAAACCCTAGCACCGTCATTTATCTTTCTGCATACAGACCAGCAACTCCGCCCATTTATCAATTCGGATTATCAGCCAGCCGGTGCCAGCTGGAGAAGTGATAAAGGTTTCAGGCTTGGCCTTTTCTTTATGAATGAGCGAGCCTCTAAAATTAATAAAGACCAGTTTGATTTTATTGCAGTAATAGACCCATTGACCTTTCAGTCAGAATTTGATGCGACATGGTCCCGTGGTGAATTTGATGACCCTCTAAAGGCATTACGGTATTCAATTGTTTCTGAAAACTTGTCTTCCGTCTGGGTGAAATGGCCCGTAAAAAACCTGCAACCGAGGAAAGAAACGGTGATGGCCGATTACTGGTATGACTATTATTCACCTCATTCCCCAGCTCAGCAGGCTGCTTGCACAGCAACGGTGACTGGAATAGATGGGAATGTATCCGGCGAAACTATTTACATGCTCCAGATCGCTTTAGAGCGGTCGACAGTTGAGTACCAGCTTGTAAAATCGCTAGGGGTCATATTGCTACTGGATAATACAGGAAATTTGGTATCGGAGGCGCAGCCGCACTTTGATATAATCATCAAGGCATGCATATCGGGCGTCAGAGACTTTGTTCTTCAGAATCCTCGGACGCTGGGTTTTGAAAACAAGGTTGCATAGTTATAAAAAATCTTGCCGTTCTCAAGGCATCATTAAAAATTAAAATGAGGTATACATGGTACAAGTACTCAACACCACTGGTTTGAATTATCAACTTGAAAAAACAATCACTGAAGCTGAGGAAAGGATAATTCTCATTAGCCCATACCTTAAGCTTAGTAATCGCATTAAAGAGCTGATCGAAGATAAAAATAGACTAAAAGTTGACATCAGAATAGTTTATGGGAAATCAGAACTAAACTCTAAAGAATATGAATGGTTAACAAACCTGCCTTTTGTACGCCTTAGTTTTTGTAAAAACCTCCATGCAAAATTATATGCCAATGAAAATCAATGTATTGTGTGCAGTCTAAACCTTTATGATTTTAGTCAGATTAATAACCATGAAATTGGAGTGTTAATTATTAAGGAGCAGGAGAAGGATGCATACACTTCATCGTTAAATGAAGCTCAGCGACTGATCAGAATCAGCACAGATAACATTCAGCCACTAACAACAGATAAAGAAACAACAGGTTCAAAAGAAAGTGAAAAAACTAATAAAGAGTCATCCGACTTCACTTCAGCCTTTCATGAAGAACCATTAACAAATCAAAATGGATTGATTACTGATTTAAATACAAATTCAAAACTCACTTCGACAAATCTAGCAAAAAATCATAAAACTGATTTGTTATCTCTATATAAAAAATTAATCGAAGCTGGATATCTCATGGACGTAGAAGGAAAATACATATTGACTGATGCTGGCATAGCGGCAGGGGCAGAAGCCAAGCCAAATCGATATAAAAAAGGAGAAAACTATTTTCTGTGGCCTGATAACCTAGCATTATGATTTTACATCACGTACTGTGTCCCTGCGTAGCCATGAGGGACATAGAAGGGTCAATGAAAAATAGCTTGTTTAGTACTGATTCGAATACTGGGGTCACCTTTACCATCTCGCCTCACGGCCAGGGATGTAAACTGTCTGTAGAGCCTGAATATCGTCGCAAAGGAACACAAAATTACGATGGCTGGTTCCCTCGATATTACACTAAGCCACAATACGCTAAAGCAGCATTGACACGGTTTCTTGGGGAACCTGTTAATTGGTTGGATTGTAATGACCATAATTAGGGCTTTCAGACAGTTAGCCAACAAAAAAATCTTTAACTCACCAACAATATTGAGAATTACCAAATGGAAAATCTGGATGTTGTATCAGCGGTAGATTTTTACTTAGAAAAAGCATTTTATTTATTTGGATTCATAATGTTAGGTATGGCATGGCTTACTTTTCGTGCTGGTTCAACTTATCAGCATTTTAAAAATGCTGATAAGTTAGTCAGTGAAGGTAGAGGCTCAGTTTCAAGCGGTAAAGAGCCTGAAATGATCCGGCGGCTTAAGTTCCAAACATTGATCTGGTACATTGCTAATTGTGTGGTGTTAGCATTATCCACTATTGCTTTTGGGTATTTATTTTATCTTCTACACAGTTAATCAAACAATGAGAGATTTTTATTTTCTATAATCAGGTACATATTTATTTTCTTGGAGATATTGATGAACGAAAACAATCCACTTCTGCAATCTGAACTGCTGTTTTGAATACGTTAGTGGAGGTAATGCCTATGGTATTAGATATCATGACTGTTTTGGCCTTTGCGTTTTTGGTTCTGTATAAAATAGCTTCACGAATCATTTCTATGTCTGGTGGTGCGATAAGGTTCTGATTTTCAGAACCTTTTTTTAAAGTTTACTAGAGTAGATTTCATTTTGAATAAACGTAAGATACTCCTCACTTTGACTGCCTTTCCTAAATTTTTTCTGTCCTTCAAAATCTATATCAGGTATGAAATGTATTAACTGGCTATCTTGGTAAAGTGAAAGAACGGAATTTTGATTGAGCACCTTAGAGTCCATTAATTGATAAACTGATTCAATACATGCACCTATAAGAACATCACACAATTGCACGCTTGGGCTTTCTTTCGAATCAATTTGATAGACTTTTTTAAGGTTTAGAGGGAATGAGATAGTTGCTATCTCGGAATGTTTAAACTCTCCTTCCTTATCACAATTGATCAAAAAGTTAAGGCGTTCATTGTAAGTTAGCAGATTTTTAGAACGATCATGCTCAATTGCATACTCTCCAGAGGACATCATTTCCGTGCGAGAAATTAATGCATTTAAAATAGTAAATGAGGCATCAGTGCTAATTCCATCAGTCATGATGGCATCAATGCAATCTGGGTGGTTAAATGCCAAAGGACCAAAAAACTCTTTTAACCTTTGCCAATCAAGCCTCCTTATTTTGCTTATTAGCAAACTCACTGAATCTAATGTTTTTTCTTTCATAGCATTTTGAAACTGAAGCAGAACACTGATGAATCCCCTAATGATTTTTATCAAAATCATTAAGTTAAGGTAGATACACATCTTG
TGTTCTGCTTCAGTTTCAAAATGCTATGAAAGAAAAAACATTAGATTCAGTGAGTTTGCTAATAAGCAAAATAAGGAGGCTTGATTGGCAAAGGTTAAAAGAGTTTTTTGGTCCTTTGGCATTTAACCACCCAGATTGCATTGATGCCATCATGACTGATGGAATTAGCACTGATGCCTCATTTACTATTTTAAATGCATTAATTTCTCGCACGGAAATGATGTCCTCTGGAGAGTATGCAATTGAGCATGATCGTTCTAAAAATCTGCTAACTTACAATGAACGCCTTAACTTTTTGATCAATTGTGATAAGGAAGGAGAGTTTAAACATTCCGAGATAGCAACTATCTCATTCCCTCTAAACCTTAAAAAAGTCTATCAAATTGATTCGAAAGAAAGCCCAAGCGTGCAATTGTGTGATGTTCTTATAGGTGCATGTATTGAATCAGTTTATCAATTAATGGACTCTAAGGTGCTCAATCAAAATTCCGTTCTTTCACTTTACCAAGATAGCCAGTTAATACATTTCATACCTGATATAGATTTTGAAGGACAGAAAAAATTTAGGAAAGGCAGTCAAAGTGAGGAGTATCTTACGTTTATTCAAAATGAAATCTACTCTAGTAAACTTTAAAAAAAGGTTCTGAAAATCAGAACCTTATCGCACCACCAGACATAGAAATGATTCGTGAAGCTATTTTATACAGAACCAAAAACGCAAAGGCCAAAACAGTCATGATATCTAATACCATAGGCATTACCTCCACTAACGTATTCAAAACAGCAGTTCAGATTGCAGAAGTGGATTGTTTTCGTTCATCAATATCTCCAAGAAAATAAATATGTACCTGATTATAGAAAATAAAAATCTCTCATTGTTTGATTAACTGTGTAGAAGATAAAATAAATACCCAAAAGCAATAGTGGATAATGCTAACACCACACAATTAGCAATGTACCAGATCAATGTTTGGAACTTAAGCCGCCGGATCATTTCAGGCTCTTTACCGCTTGAAACTGAGCCTCTACCTTCACTGACTAACTTATCAGCATTTTTAAAATGCTGATAAGTTGAACCAGCACGAAAAGTAAGCCATGCCATACCTAACATTATGAATCCAAATAAATAAAATGCTTTTTCTAAGTAAAAATCTACCGCTGATACAACATCCAGATTTTCCATTTGGTAATTCTCAATATTGTTGGTGAGTTAAAGATTTTTTTGTTGGCTAACTGTCTGAAAGCCCTAATTATGGTCATTACAATCCAACCAATTAACAGGTTCCCCAAGAAACCGTGTCAATGCTGCTTTAGCGTATTGTGGCTTAGTGTAATATCGAGGGAACCAGCCATCGTAATTTTGTGTTCCTTTGCGACGATATTCAGGCTCTACAGACAGTTTACATCCCTGGCCGTGAGGCGAGATGGTAAAGGTGACCCCAGTATTCGAATCAGTACTAAACAAGCTATTTTTCATTGACCCTTCTATGTCCCTCATGGCTACGCAGGGACACAGTACGTGATGTAAAATCATAATGCTAGGTTATCAGGCCACAGAAAATAGTTTTCTCCTTTTTTATATCGATTTGGCTTGGCTTCTGCCCCTGCCGCTATGCCAGCATCAGTCAATATGTATTTTCCTTCTACGTCCATGAGATATCCAGCTTCGATTAATTTTTTATATAGAGATAACAAATCAGTTTTATGATTTTTTGCTAGATTTGTCGAAGTGAGTTTTGAATTTGTATTTAAATCAGTAATCAATCCATTTTGATTTGTTAATGGTTCTTCATGAAAGGCTGAAGTGAAGTCGGATGACTCTTTATTAGTTTTTTCACTTTCTTTTGAACCTGTTGTTTCTTTATCTGTTGTTAGTGGCTGAATGTTATCTGTGCTGATTCTGATCAGTCGCTGAGCTTCATTTAACGATGAAGTGTATGCATCCTTCTCCTGCTCCTTAATAATTAACACTCCAATTTCATGGTTATTAATCTGACTAAAATCATAAAGGTTTAGACTGCACACAATACATTGATTTTCATTGGCATATAATTTTGCATGGAGGTTTTTACAAAAACTAAGGCGTACAAAAGGCAGGTTTGTTAACCATTCATATTCTTTAGAGTTTAGTTCTGATTTCCCATAAACTATTCTGATGTCAACTTTTAGTCTATTTTTATCTTCGATCAGCTCTTTAATGCGATTACTAAGCTTAAGGTATGGGCTAATGAGAATTATCCTTTCCTCAGCTTCAGTGATTGTTTTTTCAAGTTGATAATTCAAACCAGTGGTGTTGAGTACTTGTACCATGTATACCTCATTTTAATTTTTAATGATGCCTTGAGAACGGCAAGATTTTTTATAACTATGCAACCTTGTTTTCAAAACCCAGCGTCCGAGGATTCTGAAGAACAAAGTCTCTGACGCCCGATATGCATGCCTTGATGATTATATCAAAGTGCGGCTGCGCCTCCGATACCAAATTTCCTGTATTATCCAGTAGCAATATGACCCCTAGCGATTTTACAAGCTGGTACTCAACTGTCGACCGCTCTAAAGCGATCTGGAGCATGTAAATAGTTTCGCCGGATACATTCCCATCTATTCCAGTCACCGTTGCTGTGCAAGCAGCCTGCTGAGCTGGGGAATGAGGTGAATAATAGTCATACCAGTAATCGGCCATCACCGTTTCTTTCCTCGGTTGCAGGTTTTTTACGGGCCATTTCACCCAGACGGAAGACAAGTTTTCAGAAACAATTGAATACCGTAATGCCTTTAGAGGGTCATCAAATTCACCACGGGACCATGTCGCATCAAATTCTGACTGAAAGGTCAATGGGTCTATTACTGCAATAAAATCAAACTGGTCTTTATTAATTTTAGAGGCTCGCTCATTCATAAAGAAAAGGCCAAGCCTGAAACCTTTATCACTTCTCCAGCTGGCACCGGCTGGCTGATAATCCGAATTGATAAATGGGCGGAGTTGCTGGTCTGTATGCAGAAAGATAAATGACGGTGCTAGGGTTTTATTCCCATTCTTGATTGGATTAACATAGAGACGTTCGCCTGCGCTGAGCATTTCAATAATTGCCTTTGAAATAACAACAGAAGCTGAAGGTATGCAGACGTTGCCGCCCTCCTCCATCGAATGCACCAAATCCCCATCCGGGCCCGTAGTAACGTGTCGCAGACACGTTGGGCAGCGGTGAGTCTCTCCTGGTAAAATTGGCCACGAAAGATGTCCATCGCTATTAAGCGCAATTTTCAATAAAGGATGCTGTCTTGTCATCGCGGTCACCCCCTGCTTTTCGTCTTTTGAGGTTTCTGGTTTTGCTGGCGCCACTCCCAGGGGGCAACGGGATTAGGATCTACCCAGAGGCCTTTAACTGCTTTCTGAGCTGAAGCTTCGAATTTCAGATAGTTTGGGACGATGGCATTACCGTCAAACCGGTATACCCATGCATAGCCGCTGTCTACCATTGAGGCGTTTATGTCATAACCATCAAGCCAAATGGTTCCCAGCATCCTGCCGTAAATATCAGGTCCGTGGTCTATTACCGTAATATTCTGTGCAGCAATCGCGGCGCTCAACGCTTGTTTAGACTTTTGTCCAAAGGCCTGCTTACTTTCGGGGGCATCAATACCGTACAAGCGGATTTTGATGCTTGTATTCTGACCATCGAGCGCGGTGATTGTGTCCCCGTCGATAATTTTTACCACTTTCGCTTCAAATGACGATTGGGCAGCCAGAGTTGCCGCCGGGAAAAGGACGATTAATGTCGGCAAAAGTAACTTTTTCAACAGAGTCATACGTTCTCCCTGAATTAGATGGTTCGTAGTAACAAATAAGTCGTGTGATTTGACGCGCTTATTGTACCAATTAGAAACTCGGCGATTTTCCGTTAACGGAGGCAATTTGAGTGGATTAAAAATTTTAATTCAGGAGATGAAAATAAAGGCCTTTAACAAAAAATTGAATTTTCACCGCGTGGTAGTCTGAGGTCCTAAATTAATCACATTTCATGGAGTAAGGATGTACAACGATAGAACTGAGCCTGCAATAACAGCATTGCTTAATGATGAGACGCCTTCCTCTATCCATAAATTACTGGTGCAGGTTGCAAGTATCTATGACGTAAAAGATTTGGCTGCGCAACTTAATGCTGCAACCGGCAGCGACTGGTCGAGGGCATCACTTATTCGCCAGATCAAAGGTTCAGTTAATGAATGTCGAATAACCCAGGAAGAATATCATTATCTTCGATCGTTGCTCCCCTCACGCCCAGCAGACTATGACCAGAAATTTTTCCGTTTTATTGACTTGTTTGCTGGGATCGGTGGCCTCCGGAGTGGTTTTGACGCCATTGGCGGGAAATGCGTGTTTACAAGCGAATGGAATCAGTTCTCCCGCCGGACATACAGTGCAAACTGGTACTGTGACGAGACTGAGCACTATTTCAACTCAGATATCCGGGACATTACACTCAGTAATCTTCCCGATGTTTCGGATGACCAGGCCTATGCTTCTATCGATGCATCCATCCCAGACCATGATGTTTTGCTCGCAGGTTTCCCATGCCAACCGTTCAGTATTGCCGGTGTCAGCAAAAAGAACTCTTTGGGCCGAAAACACGGCTTTGAATGCGACACCCAGGGGACCCTTTTTTTTGATGTCGCCCGGATCATCCGAGCCAAACAGCCTGCCATTTTCGTTCTTGAGAACGTAAAAAATCTGAAGAGCCACGATAAGGGAAATACGTTCCGCATCATCATGAAAGCGCTTGATGAACTTGGCTACGATGTTGCCGACTGCGATGCTCACGGATCAAAGGACCCCAAAATAATTGACGGTAAGAACTTCAGGCCTCAGCACCGGGAACGTATCGTGTTGGTTGGATTCAGGCGCGATCTGAAGCTCCATGATGGCTTTTCGTTAAGTGGTGTATCGGCTCTTTATCCTTCACGACGGCCAACCCTTGGGGAGCTGCTGGACGCTGAGGTCGATAGCCGTTACATCCTTTCTCCAAAGCTCTGGGAGTACCTTTATAACTACGCTAAAAAGCACCAGGCAAAAGGTAATGGATTTGGCTTCGGACTGGTAAATCCACTTGATAAATCAGTTGTTTGCAGAACACTCAGCGCACGGTACTATCGTGATGGCTCTGAAATTTTGCTAGACCGTGGATGGGATCACAGCATAGGCGAAAAGGACTTTAATGATCCTGTAAATATGGCAAGGCGCCCGCGCCGTTTAACCCCGCGAGAATGTGCCCGCCTTATGGGATTCGAGCAACCGGGAAAAGTTACTTTTCGCATTCCAGTCTCTGATACCCAGGCCTATCGCCAGTTCGGCAATTCGGTCATCGTCGACGTATTTGCGGCCGTGGCCAGTTTGCTTCGAAGCCGTATTGAGATCGCCGTTGCGGCTCGTCTCAAGGGAGAGTTTGAAGCGGCATCATAGTAATTCTTCTGTGTGATTTTGCAGGTTAACGTAATGGTTTATTTCACTAATATTGTAACTTTTACACAGAAAAAAACCTGGGCAGGGAGAGAAAGGCCTGCTTCAGTCAACTCCTTCATCAGGAGGTAATGATGACGTATTTTGATTCAGCAGAAGACCTCACCATTTCAAAACAGAGAGCTCTGCAAGAGCTTGCAAAACATGGCGTCGTAGCCAGCGACATAGACGTATTTTTTTCCGAGTTGGGTGAGAGGGAAGAGTACAACGCGCAAGAAGTATTGATATGGCTAGGCTATTAGTATTTTTAAATTTCAGGAGGTCCCATGGGCCAGAAGTTTGCAGTTTTTATTGCTTACGATGACGAACCAAACACGAAACGATACTCGGCTGAATTTCAGACACAGGATGAGTATGTAAAGGGATGGCAGTCGGCCCTGAAGAAAGCACACCACACGTCCGGGCAGAAATCTGTGATCAGCTGCGGATGTCGGGGAAAAGGCGCAAAGCGTCTCTACGTCCGCTCACTACCAAACAGTGATACGTTCATCCTGATTAAGGCTGCAAATACAGGCACTGAGCATGATCCATCGTGTGTGTTTTTCGACCTTGATGCCAGGCATACAGGGTTAAAGGGTTATGCCAGCAATGTTGTACGCATCAACAATGAGGGGACCATGTCAATCCGCCTTGGAATAGGCATGACGGAGAAAGATCCGCCGGAAAAGTCTGAGGTTCCTTCCCTGCCCCAAATCCAGCGACCTGAAGGTGGCCAGGCTTCAATGACCCTCTCCGGACTTCTGAGTTTGTTGTGGACTGAAGCCGGTCTTAATGTCTGGTATCCGAATATGGCCGGGAAGCGAAATGATTCGCTGGTTCGATACCGGATGTTGGAAGCCGCAAAGCAGATTAGATCGGGTAGAGCATGTATTGGCGACCATCTTTTTATCGGGGTGGCGGACTCTAAAAGCAAAGTGGCCAGTGAGCAGGTTCAACTGCTGTCGTCGGCGGAACTGAGCGACAAACGACTGCTGCTGCTATCAGTACTGCCGCGCTATGACGCAGAAAAGCATGAGAAGCCGCTGAAGTTTCTACCTATGCGTAACTTCGGCGGTATGCCCCTTACCTTCTTTAACTCAGACGGGCACTGGGATAGCGTGAAGCGGCGATTCCCTCTGGAATATGCCGCCTGGAAAAATGGGGGCAAAGTTGTTGTTTTTGCTCTTACATCTCCCGTATCGGTGACCAGTAGAGGTATCTCTGCACGAGCTCATCAGATAGTGCTTATGCTGGTGAGTGATAACTGGATACCTCTGGACTCCTCCTACGAAGCGATAGTGTCCCGTAAACTTGATGCCGAACACCGGCACTATGTTAAGCCTATGCGGTATGACGCCAGTGCGAGCGATGTTTTCCCAGATTTTTATTTACTGGATACACGAAGTGATAAGCCGTTCCCGATGGAAGTTTTCGGGATGTCGACACCTGCCTATCTTGCGCGAAAGGAACTTAAGAAGGCGTATTACAACCAGGAATATGGGGCCTATGGATGGTGGCACTGGGATGCTACGGAGAAGACTGAATACCAGGAACTCCCTCATTTCCCGGAAGCTAGACGATAAAATTAACCCGAATCACAACCTTAAAATTGGGCTAAAAATGGCGTACATACTTTCGATGAGTGAGCAGGTTAAACTGAAGGCGTTTTTGGCGGCAGTACTCGATGACTACAAACTGGGAGCTATTTCACAACAGCAAGCTGTTGGCGGGATCACTAGCCTGGTTGATGCTATTGAGATCAGTGATTCGGGGAAAATCAGCCTAATGCTGTCGGAAGGACGTAAACTCCTGCGAACGGGATAAAGAGCCTGTGGACGCCAGGAATTTAAGTCTATTGCAAATTCCTGGCGGGAGCAGTTATGTCGTCTTTTTGTTTCGCGGTTTTGATGCCCCAGAGGATTTAGGTTTGATGGCAACTGCGCCGGTCATAGCTTCGGTAAGCTGCTTGATTGTTCCTCGTAAAGACTCGGCAATGGTCTTTTCCGCATTGAGTGTCGCTTCCATGGAAATCATCTGATTCCTGAGCTGTTGAAGCTCTTCTGTCTGATCTGTTTGCACTTTTTTGGCAACCAGGCTCTCATCAGCTAAGCGTTGTGCTTCAGCTCGTAGTTGGTCATTCTCCCCTTTAGCTGTTGAGAGCTCCGACCGCACGAGCGTCAGGGTCGTGTCCTTTTCGGCTAAAGATGAGCTCAATTCAGAGGAATGGGTCTGTACTGAGGAAAGGTCCTGTTCAAGCTGACTGACACTGACTTTTAAATCAGACACGGTCCGTTGTAAGTGATCATTCTGGCTTTTGAGGGCTGTCAGCTCTACCTGCTGCGCTTTATTCTCATCATTCAGCTGCTTCTGATACTCCTGCTGCGAGGCCAGTTCCTGTTTGCGCTCACTCAGTTGCTGGTTCAGTGTCCCTACTGTCTGCTGTAAAAGCTGGATCTCGTTTTGGGCATGCTGTAATTCACTTTGAGTTCCTGCCAGAGTTTCTTCTGCTTCCTGAAGTGAATCTTCTAATTTACTGGAGAGTTCACGCTGCTGCTCCAGCAGGTTAATCAGGTTAACTTTTTCGTTATTCAGGACTGTAGCCTGTTCTTTCGACTGTGACAGTTCTTCCAGAATTTCAGCATTCCGCTGCCGTAACTGAGTAATTTCTGCCTTCGCAATTTTCACGCTATCACTCTGGATAGCCGTATAGCTTAAGCGGAAGTACCAGGTGATAAACGCAGTAAAATCACTGAATGCATCTTTAATCTGGTCAGGGATTTCAATCGCGCGTGCTTCCTCGGGCACCTCGTCCACGTATTGCTTGTAGGCCGCCAGCATCTCCTGAGCCCGGGCAAAAGACCCCCCCATTTTATCCCGCAGCCAGTGGGCTTTGAAAAACTGGTCGAGGTTTTCGGTGCTGATGCTCTTATCGAGGCAGATTTGTTCAATCTCGGTGAAATATTTAACCTTAGCTATTGACGAGTAAGGGGAATTCTTCAGTAACTCGGGGCTTAGAGGGGGCGTTTTTGAAGTCTCTTCACTTAAACTGGACGCAGTTTGTTCATCCCCGTTCATCAAATTTACATTGTCAGTCATCATTCTTATCCTTTGGCCGGGATCTGGTTGGCAAAATAAATGCTAATCAGGTCATTCAGTGCGTTATGCAGGCTTTCACACTCAACTGAGATATGGACGTTACCATTTCCGAACAATCGGAACTTCCAGCCCTTCGGGTCGGTAATGTCACCCGTGAAATCGGTTTTCCGTAAGACAGCAAGCCGATCGTACATGTTCATTCCACTGCCGACAGGCGGTGTTGCTGCATTGGAGCAGATGCAAACGACATTCTCAAAGTCGTTTAAATAGAAGAGATTATCCTGAGAAAAGCCATTATATCTCATCATGTTCGAGTCGGGAAAAATGCCGCGTAGTACCAGTTTTTTTGGCATCACAAATTGCTAGGCATTAGTTTTATACCGGCGATCAAGCTGGCATAGCAGATCAACAAACCCTTCAGCAAGCGTAATGCTGCGCATGGCAACTGCCTGGCGCAATGTACTGCGGATTACGGTTAACGACGCAATTGGCGGAGCGTTCCGGAGAGACTCACGGAACTCCGCCCGCTGGTTGTGATTCCAGAATCGGTCAATACCCGTTTCTTCAAAAAGATTGTTCCATGTCTTACGGTCTATTTGCTGTCGCCCTTCCTCGATGCTTGCGGCCAGGGACGCAGGAAGGCCAAAAGCATTAGGGGCCATAATTTTGCTGTTAAACAGTGAAAACCCGCAAATTGCTGAGGCTTCGGCAATCAGCGTCATGCCGTCCAGAAATTTTTGCATAGCGGCATCACGACTACTGGCGAGTTGTTCGGTACGGGTACTCAACTTCAGTTCCGGCTGCGAATTCATGCTCATTTCACGATCCTTTTCCCACTGTTTTGGCTGAGAGATTTTCACTGGCCTATCCACCTCTCTAGTTAAAAAAATTCTCGTAGCGTCATTTATAGTAACGCCTTTACTAATGACTAAAGATGAAAAAGATTAGCACACAGATGTCGGGTGACCAACAACCCGCAACCCGTTAAGTGGCGATCGCATTCCCTGAATGCACAACCATTGAGCTATATGACTGATTAATAAGGTTTTTATCCGCAATTACACTATGAGGGGGGCTATGTGTACGATGGGATTTACCCCGAATTAAATCCCATAGTACACAAAATGAACTAAATAAAGCCGAAAAACGTGACGGTGTCACATCTGGGGTGTTTATTTTGGTAACTAGTTATTAGTAAAGGCATGACTAAATGTATAATGGGGTAGTCGTTTACGTTTAGGGCTTCCTCTTTGTCGTTATGGCGGATGAGGGGCTGTTACGATAGTTAGACAGTGATTACACACATTTGGCTGAGGGCTACAAAATGGCGGCGTCGCGAATTACACACCTAATAACGTCCTGTACCAAAGGTAAGCACAGCCAGTGCGGCTCCATGCCAGAACTGAGTATCCGGTCTGGACAGACACCAGAAGAGGCAATGTCCAGCTGGGCAGCAACGATTAAACGGTCGCAAAGTGCTTCACCGGTACCGGCCCTGTCGCTCTATGCCGGTAATCACTGGTCAACGGCAAAAGAGATATTACGGACAACTGAGAACCTGGAGTTGTGGGTGATCTCGGCCGGGTTGGGTTTTTTGAATAGTCGTGACCTCGTGGACGCTTATGAAGCCACCTTTCATGATTTACCGTTCAGTCACCGACAATGGTGGCGGGAATTAACAAATACATTCGGGAAAGAAAGGACGGCGAAATCTATTGAGACATTGATGGCAGCAAGACCTTTCGATGATTATGTTATCGCTGCCTCCCCCGTTTATATCGAGGCGACGGAGGATGATATCCTGGCAGGGGCAAGCAAATTAAATAATCACATTGCCCAGTTGACGGTTGTAACGTCAGGGGAATATTCTGGACTACTTGAATCCTATTTAATTCGTAGCGAATCCCGTATGATGCGGCAACTATCAAGCAACATGGTATGTCTTAACATCAAACTTGCTCAATATATTATTGGAAGTCGGCGCTATTCATGAACCGCACTGATGATTCCATAACGCAACTATCTTCACTTTATGAACGGCTCGGAGCTGTGGCTCATGAACTGGAATATTGTAAAATTCTGCTCCCTGAACACTCTGAACAACTGGATCTTGATGCCGCAGCAACATATGCAATGATGCTCCGCATTGAACAGTGGGCAGCAAACGTTAAGAACGCATATAATACCAACACATACGACCCTTTCCATATTAACGAAAAGGACAAACAACTAAGAAATCAAGAGGAAGAAAATCAATATTAAAAGGTCTCTCCAGTAACCGAAAGTAATAATCGCATGAGACAGACGGCGATTTTATCTAATCTTGCGGAGTTGGCACTACAGAGGAACTGGCAAGTGATAATGCATTTGTTTCCATACGCGGGGTGGTTAATGTCTTTAGGTACCAATGATTGATATCATGCGCCCAGAAAATCTTACGCGTCTAGCTGGCTCAAAATAATAAAAGAGTGTAATATCGCAAAGTATTCTATTGATTTTATTTATTACTCTTAGTGAGGTCATATGTCCGAAGCACTCAAATCATTAAACAACATTCGTACTCTTCGTGCGCAGGGCCGTGAACTGCCGTTAGAGATCCTTGAAGAACTGCTGGAAAAATTAAGCGTTGTTGTTGAAGAACGACGTCAGGAAGAATCTTCAAAAGAAGCTGAGCTGAAAGCGCGTCTGGAGAAGATTGAATCCCTGCGTCAATTAATGCTTGAAGATGGAATTGACCCTGAAGAGTTACTGAGTTCTTTCTCTGCAAAGTCCGGAGCACCTAAAAAAGTTCGCGAACCGCGCCCTGCGAAATATAAATACACTGATGTTAATGGTGAAACGAAAACCTGGACTGGCCAGGGGCGTACCCCTAAAGCACTGGCCGAACAACTTGAAGCCGGTAAAACACTGGATGATTTCCTCATCTAAGTTGAAATTAAAATCGCGAACAGCTCAGTTCAAAAGCCACTTTTCAGTGGCTTTTCTTATTAAGCCTATGTTTAGGAATATTCAAATAATCTAGGGTTTAATGACAATTGTTTTGCCATCAGGTAGATAAACCCCTATTAAACGAAGGACAAAACCACGCCAACCAGAATTTGCTTCCTTTATGCAGCGATACAGTTCGTTATTTTCACTTTTCAGTTTATTCCATTCAAGAAAAAGAGATCTCCGGATCTAACTCTGAGATGTGTTTCACTTCGTTGTTTATGCGTACAGTATTGATACCATTCCCAGTCATAAAAAGTCACCGTAGGTTTGATAAACAGGTTGAACATTGACAAAACTACTTTGTAGTAAGCTTTATCAAATTCAATTCTAAATCAGTTCTAAGTTATTTGATGGCAGATATAACCGACAATTAGGAAAAAGGTGATGCCGACATATATCATCGTTAATTGAAGCGTACATGGCATATCTTGTTCTTTCGGGATTTTTACTCTATTGCCTCTTATTATGCCTGCCAAGCAGTAAATTCCAATAGCCCATGGAGTTGTGATCGGCACCACACCGAGAGGCACAAAACCCCCCCCACAGAACAGAAAGAGCAAAACCACTATAAATGATTCCTACAATCCATGCAGCAAGGCCAGCAGCCTTCGGAACAATACTTTTCAAGTTCATTTTCATTCCTTCTTATTGAACTTCAGTCTAATTGGGCAGACTTTCAGAATGCCATTAGGCTAACGTAGCCTAATAATGTATGTTGCTGCTAACTGGCCGTTTTTCATAATTGTTGATTTTTTTATTTAGCGCATTCTTTATGACTGGATTGACATGACGGTTAAAAAATTTGTTCCAGTGATGTCGAAGGTGTTCAATATTGATAGGCATTTGCAGGCGGGAAAAATCAATTTGCTTGCCTTCCAGTTGTAGTAAGTCTTTATCGACGGAGAGCACATCCGGGCTGAAACGGGCTTTCATTGAATCAGGGTCGATCGAAAAGTGCCAATTGTCAAAGAGGGTATTGATGTCACTTCGCAGTAGAATCCCGTTTGTCACATCCGGCTCACCACCAGCATGACGGGGTTTTATGTGCGCAGCCTCAGTTCTTTGTCTGCCTCGAACGCCGGTAAGAACACACGTACCGGCGCAGTTTTTCCGGACATCTTCAGAAAATAGTGCCAGGTCCGGGCTCGACATTGTGATTTGTTCCTGCCCCTCCTGATAAGTTCGGGAAGGAAAAGTTACTTTTATTAATGTTACTGCGGGGAGCGAGAGACAGGTAACCCCTTGACCACTGAACTTCCCTCCGTTAAAAACCATCGGGATTGAATAAGTCATCCCCACCAGGTCAGGATCACTTATTTCAACAATTTTTCTTCTACTGTTGTCAATTTGGTGGAACTGTATAAAACGGCCAGTGTAAATGTCAAAGGCTCCATCAGGACGTTCAACACACAAAACAACATTGCGGCTTATTCATTTTTGTGGTCATCTTGTATCTTGGCTATTTTCCCCAGGGCATCACAAAACTGTTATCCGGGCGCTTCACTATAACTCGATCCTTTTTACGTTCAATCGTCCAGGTTTCCTGGCGACGGGACTGATTTGTCGCATCAACAACAGTGACCGCGACAGTCGCAGAGTGCTCCTCAATGAGGACGCAGCCGCCCTCAGACGTATTATTGCCGTTTACATCCGGGCAGTGGCTGCTCCCGAATATTAGTGCTTCCCTGCCGTGGTCATCCATCCGCCAGCCCGGACTCATCACGATAGTCGGTTCCTTGAAAGGTCCATTCGTGTATTTCTGATACACTCCACTTTCCGCAGTCCCATTTGCCAGGTCGCAACCTGTCAGGCCCGCAGATAAAATAACAATGGTCGCTTTTAAATATCCCGAAAGGCAATTTTGCATTTGTTGTATCAACTCTGTTGGATTTCAATATAAAGGTGGCGTGCAGCCAGCCCCCATCAGTAAGTGGTGTCCATCCCGAAAACACTGCCATCGGTTATAGGCTGAATTTCCCATCAATCACTCGGCACCTATAAAGTCAGCCCAGCGAGCAGCCAGCCGGTCGGTATCCAGATCATACACCAACGGATTGAGCGTTTTTCCTTCAAACAGCTCTCCCGCCTCGATGCCCGGTTTAAAATGAACGGTGAGTGTTGAAGGGTCTATACCCATCAGATCCGCGTCAAACAACGCGTGCATTGTCGGCGTCAACAGGATGCCGTTCGAAGGGTTGTAGCGCGTCCCATGCTCGATATGAGCCGCCACCAGCACACCACCATTAACCCATCCAGTGACTGCACACCGACCGGCGAAGTTCTCAATGAGCAGGGTTTTGAATTTATTCTGCGCTGCGCTGCTCCGTTCGGTCACAAAGCGTTCGCAAGGCTCACCCTGAATATTCACGTCAGGTTTTCGCTTCAGTTCGCTGGTGGCGCTCTCAGGGCGTTTTAACGGTGTCCGTGAATAAGCAAGATTATAGGCAACGCCTGTGTTCAATTGTTCAATAACGGCCGGTGCATATCCATACGCTTCAAGCTTGCGGTAGGCAGCACGGTAGTCCTGCTGGGTTTTCACAGGAAAAATGTCGCCGCCGGTACCGTTGAATGCGATAAACCAGAAATGATCTTCGCCCGTTGCCAGATGTCTGCATCGCTTCAGGTGCCAGCCACCTTCCCTTGCCCAGCAAGTACGGTTGTTCCTGGCATTGGTCGTGTCATAGCCTTTTGATAAGAGCCAGCTATGAAAACTGGTTAGCCCCAGATCCTGTATATTCAGAGACGGGACACAGACTACCTGTAATGTATGGCGTGGACGAGGTTCTCTCACTTACTACTCCCGTTTAAGTGATATGCCAGCGAATACTTCCCGGCAATTGACAAACACCCAATAAGCTGCGGCACCATAATTCCTGCAACAATGCCAATCGGAATTTACTCTATTTAGGAGGGTTAAAATTTCGATCCACAAAGTCAGCCCATTCCTTACGGGTCATCCCCCCACGGCTCTCAACTTCTTGCACCCACCGAGGGTTTTCACAGCTGGAGGCGATAGCAAACATGCTACTTTTATCCGCTGATAACGGAATGACACGCATATAGTGATCCCAAAACCAGATATTGAAGAAAAGAGACAATAAAAGCAGAACACCAAGGATAATAATCATTACAGTCTCTATTCGGCTTGAATTTCTGTAATTGAGGGTGAAAATAAAATGGGTTTCACAACTCATTTACCCCGTAAAGTGAATTAGCCGGTCAACGTGGTTTATGGGTTCGAACACTCCATGCTATTCACAGTTACAATTCTGGTATTTAATGACGATGACAGATCCTTTGAAAGGCGAATGAAGCAGGTTCGAGAGCTGGACGTCACCTTATACGAAATGTAGGAGCTTCCGACATCATCTGGTTGAATGATGGTGTACCCCTTAGCAAGTGCGTCGGCATCATCATTCAGCTCTTTTAATTTTTGAGCAGAGGTTTTTATGCTGATTTCATCAACTGGTTTAAAAATGAAAAACTCTTTGCTGAGTAAGGAAGCAACAGCGTCATTTGCAGCCGCAAGGTCCATTCCACTGTTCTTTTTCACCTGTGGCAATTGCTGAACTTTTAGCAAAAGCATCTCTGTCAAAGCTGTACCTGCCTTATTCGCCAGTTCTGCACTGTCATCCTGTGATATTCGCTGGCCCAATTCCTGCGAAAAAGATGTCAAGGGAATAAGCAGGAACAAGGTCGCCATCATTTTTGTCAACTTCATAAATTATCACCTGTCGTTTGTTTTGAATGCGGTGCATCTACGAAGGCGCCGCAGGCCTGGTGTAGAGCATCAGCATTCGTGTTCCAGTCCGCTATACGGTTACCTGCTCAATGAGACAGTCAACATAATCATCGTTCTTAATATCGGCATCCATATCGATTTGTGCTCATCATTTCCGGTTGTTCTGTGTGGCCGTCAGGGTGTTAATATTTGCTTTTCTCATAAGACGGAAGGAGTCGGAAAGTGTAATGACCGGATGGCCTTCATTCCTTACGGCCGCAGAATCACCGGCAACAAATTTCATGGCCACGGCTACCTGGTAAGCCAGTCCCGATAGAGCGGTATCGAACTGCTGAGCCTCTGAGGCAAAGCGACAGGCATCCTCAATCGAGGCCCCCGTCAGTAACGCGTGAGCGATGAGTCTGCCGGTTTTTTCTGGGTTGTCGCGGGAGATATCCGAACTGACGGTACTGCCAATAAGGGGTCGTCTCAGAAAACGGAATCTATGGTCACTCCCGTTTTTGCAACACCGATTTTGA
NODE 9 1269 189170 189170 0 0
TCATATGATCAAATGGTTTCGCCAAAAATCAATAATCAGACAACAAAATGTGCGAACTCGATATTTTACACGACTCTCTTTACCAATTCTGCCCCGAATTACACTTAAAACGACTCAACAGCTTAACGTTGGCTTGCCACGCCTTACTTGACTGTAAAACTCTCACTCTTACCGAACTTGGCCGTAACCTGCCAACCAAAGCGAGAACAAAACATAACATCAAACGAATCGACCGATTGTTAGGTAATCGTCACCTCCACAAAGAGCGACTCGCTGTATACCGTTGGCATGCTAGCTTTATCTGTTCGGGCAATACGATGCCCATTGTACTTGTTGACTGGTCTGATATCCGTGAGCAAAAACGGCTTATGGTATTGCGAGCTTCAGTCGCACTACACGGTCGTTCTGTTACTCTTTATGAGAAAGCGTTCCCGCTTTCAGAGCAATGTTCAAAGAAAGCTCATGACCAATTTCTAGCCGACCTTGCGAGCATTCTACCGAGTAACACCACACCGCTCATTGTCAGTGATGCTGGCTTTAAAGTGCCATGGTATAAATCCGTTGAGAAGCTGGGTTGGTACTGGTTAAGTCGAGTAAGAGGAAAAGTACAATATGCAGACCTAGGAGCGGAAAACTGGAAACCTATCAGCAACTTACATGATATGTCATCTAGTCACTCAAAGACTTTAGGCTATAAGAGGCTGACTAAAAGCAATCCAATCTCATGCCAAATTCTATTGTATAAATCTCGCTCTAAAGGCCGAAAAAATCAGCGCTCGACACGGACTCATTGTCACCACCCGTCACCTAAAATCTACTCAGCGTCGGCAAAGGAGCCATGGATTCTAGCAACTAACTTACCTGTTGAAATTCGAACACCCAAACAACTTGTTAATATCTATTCGAAGCGAATGCAGATTGAAGAAACCTTCCGAGACTTGAAAAGTCCTGCCTACGGACTAGGCCTACGCCATAGCCGAACGAGCAGCTCAGAGCGTTTTGATATCATGCTGCTAATCGCCCTGATGCTTCAACTAACATGTTGGCTTGCGGGCGTTCATGCTCAGAAACAAGGTTGGGACAAGCACTTCCAGGCTAACACAGTCAGAAATCGAAACGTACTCTCAACAGTTCGCTTAGGCATGGAAGTTTTGCGGCATTCTGGCTACACAATAACAAGGGAAGACTCACTCGTGGCTGCAACCCTGCTTACTCAAAATCTATTCACACATGGTTACGTTTTGGGGAAATTATGAGGGGATCTCTCAG
GCAGGGTTGCAGCCACGAGTGAGTCTTCCCTTGTTATTGTGTAGCCAGAATGCCGCAAAACTTCCATGCCTAAGCGAACTGTTGAGAGTACGTTTCGATTTCTGACTGTGTTAGCCTGGAAGTGCTTGTCCCAACCTTGTTTCTGAGCATGAACGCCCGCAAGCCAACATGTTAGTTGAAGCATCAGGGCGATTAGCAGCATGATATCAAAACGCTCTGAGCTGCTCGTTCGGCTATGGCGTAGGCCTAGTCCGTAGGCAGGACTTTTCAAGTCTCGGAAGGTTTCTTCAATCTGCATTCGCTTCGAATAGATATTAACAAGTTGTTTGGGTGTTCGAATTTCAACAGGTAAGTTAGTTGCTAGAATCCATGGCTCCTTTGCCGACGCTGAGTAGATTTTAGGTGACGGGTGGTGACAATGAGTCCGTGTCGAGCGCTGATTTTTTCGGCCTTTAGAGCGAGATTTATACAATAGAATTTGGCATGAGATTGGATTGCTTTTAGTCAGCCTCTTATAGCCTAAAGTCTTTGAGTGACTAGATGACATATCATGTAAGTTGCTGATAGGTTTCCAGTTTTCCGCTCCTAGGTCTGCATATTGTACTTTTCCTCTTACTCGACTTAACCAGTACCAACCCAGCTTCTCAACGGATTTATACCATGGCACTTTAAAGCCAGCATCACTGACAATGAGCGGTGTGGTGTTACTCGGTAGAATGCTCGCAAGGTCGGCTAGAAATTGGTCATGAGCTTTCTTTGAACATTGCTCTGAAAGCGGGAACGCTTTCTCATAAAGAGTAACAGAACGACCGTGTAGTGCGACTGAAGCTCGCAATACCATAAGCCGTTTTTGCTCACGGATATCAGACCAGTCAACAAGTACAATGGGCATCGTATTGCCCGAACAGATAAAGCTAGCATGCCAACGGTATACAGCGAGTCGCTCTTTGTGGAGGTGACGATTACCTAACAATCGGTCGATTCGTTTGATGTTATGTTTTGTTCTCGCTTTGGTTGGCAGGTTACGGCCAAGTTCGGTAAGAGTGAGAGTTTTACAGTCAAGTAAGGCGTGGCAAGCCAACGTTAAGCTGTTGAGTCGTTTTAAGTGTAATTCGGGGCAGAATTGGTAAAGAGAGTCGTGTAAAATATCGAGTTCGCACATTTTGTTGTCTGATTATTGATTTTTGGCGAAACCATTTGATCATATGACAAGATGTGTATCTACCTTAACTTAATGATTTTGATAAAAATCATTAGGGGATTCATCAG
NODE 10 9288 687372 687372 0 0
AGTTCAGTGTTTATGAAAGATACTGGGAAATAGTTCAGCCAAATAAATAACATAGATTTGCGTGAGATTTATAATACAAAACGCTCATTAGGTCTATGTCTTTAAAGGCGCGTGGCTTAATGGGCAATTAAATCCATACTCCTGCAATACATGCTTCAATCCTCAACTCGTTTGATAATGGCTGTATTTAATTTGCTGGATTCCACCATTTAAAATGGACAGGCTCTGTTTTAAATGAATCACCTGTTTCCGCATGCCAGGTTATTTGGGTGAACAGCCAATATGGTATGATGTTTATAACAAACAAATTCGGAAGGTATAGTTTATGGGGGACCTGGTCAGTAAAAATAATATCGATCGCCTTGAACGATTTCATTCTCTGCTGGCAGGGCAGTATTGGTCTGCGCTCGTCGATATTCCGGCTGAGGCGATTGTGGCCGGGGACACTCTCCTCATTAACTCGTTGCGGTACGTGGATAACAATCTGCATACCGTCATCCTTCGCGCTCACCCCCGGCATTACGGGGAATGGGTAAGCGTTGAAATCGTCGCTGAGAACGGTTCAAAATCAACGAAAGACAAGAGACTGAATGAGCATCGGTTTCTGACGGCCGATTTCCTCGCGTTGTTTGAATATCAGCCCGACCATGAAATTATCCGTCAGTCGGAGCTCAAAGGCATTCAGGATGAGGTCGCTGACCTGCAAATGCGTCTTACGGAAACTCTGCAAGATCCCTCTGCACTCCGGGAACTGGCTATTAAAAGGGTCGAAGACGAAGAGGCCAGTAAAAAGGGGGGGGCAACTGAGGACAGAATGCTTCCAGCCGTCAGGAATGCAGAAGATGTTGCAGTCACCATGGCGCTGGGTACAGTGCAGAATGCCCTTTCTCAGGGGATTTCAGAGGCTCAGGTTTCTCTGATGGCGAAAGTTGCGGAACGGGAAGGCAAGATTGCCGGTGCCGTAGCTAACATTATTACGTCGCGTACCGGCGCCATCACCCGGGCGCTGGAGAAAATGCATCCGTATTATGCGGAGCTGGCCGCTGCCAAGCTGGCCGGAACGCAGGAGGGCATTGAGCAAGCCAGCAAAATTCAGGCAGGTGTTCTCACGCTGGAATTATTCGTCGGCAAAAACGTGACGGTAGTTGATGTTGCGGAAGGCGAGCCAGCAGACAGCAGCATCCCGTTGACGCTGTGTCAGAAGAAACTCGTCGTGGATGAGGAGTTTTCTGCCTGGAGCGATATCGACGAACATTTTGATTTCAGGAGTCTTTCCGCATTCCTCAAGGCGCTAAAAGATAACCAGGGGCTGGTGGAGCAAATTTTCCCGACTGAGCGCTGCGTACTTGTCATGGTCACTACCCGCAGATTTATTGACTATGGTGATACCTGGGCGAATGCTGAAAACAACGAAAAGAACAGCATCGTGTTTCTGATGGTCCGCAACGGGCAAAATATCAAACAGATCTATTCCCCGGTGGAGAGCCATCTTGGGGCGTCCCGGTTATTTCCCTCTGAAGATGAGCAGCAGGGCCACTTCCGAGGGTTTGACGGTACCACCATCAAATTTGAAGATGTGGCTTATACCGATCGTCTCAAAGCCCATGACCTGATGGCTCTGCATTACCGACGTCTGCTTATCATGCTGTTTGGTCTTGACCAGCGACTGGCTCTCTTTGGTCAGTTCTATCCCCAGCATGAAAAGGCGAATTTCTTGAATCTGAGCTTCCAGGAACGGTACTTCCATTTTCTGCACGATGAAGACGGCACAGGGCTGCTGGCATCACCAGACTCGCAGACGCTCGATGAATTTATTAGTGAAAAAAACTCCTATATTCAACCGGGCTCGCGGCTGCTCTGCAACTGGCGTGAGCTTATGACCCCCAGAACAGCACCTGGTGCCGTTAAAGAGGACAGCGGCTATTCAGGGTACTCCTTCATCGCTGACCCTGAGGATAATGTCTCTGCTGCGGTTGTGTATCGTCAGGGAGATACTCTGGCCGTTGATGTGGCGGTGAAGCGATTCAGTACAGATAAGATGTTTAACTGTAAGGTAAACGTCTCTGCATATAGCCCGTGGCGGCGTGGAGAAGCTGAACTTGCTTATTTGTGCCTTGATGCAGTGGGCCCGGAGGAGCTGACCCGGTTTATCCAGCAACGCAAATTCCGGAGTAACCACCTTTTTTATATTCGCTTTTTTAAGGCCGCGATCAAATTCCTGGAACAGGAGCGAGAAAACGAACTGCCGCACCGGCAATATCTGCTGGCTGCAATGCAGGATTCGGGGATGCACCTGCCGGGGAATATCCAGGAACTGATTCACCAGTGTATTGCTTCATGGAAGACCGGCAACCGTGGGGTTTCCCTCGCTGTCGGGATGAGTACCGAAAAAGGGCGCCAGGCACTGCTGAATCAGCTCTACAGGCTCACTCAGGGTGCAAGCGAAATGGTATCGGTCATTCAGGAGCACGTCGCTGCGTCCGGCTCGCAACTTCTTCGGGCCGGGGTTAACTCGTCAGGGAATTACGTCGCATTTATCGCGCCTAAACCCTATGAGTGTGACAACAGACTGGAAGCCCATGCGTGGGTCCATCGTGTTGTCTATGCAACCGGGAAACGAAACATTCGGGAAACCGGCAGATCCTGGGTATCTATGCCGGAGCGTTCGGCATCCGAAATTACTCTTTGGGAAGATGAGGAGCAGTCACGAAAATGGTACTCCATGACGCCTGTATTCAGTTCGTGGACCGAAAAACAGAAGCTTTTTGAGATGTGCGAAAAAGGCGCAGGGTTACTGAAAGGGGCTATGGGGACGCCGGATGATGAGGAATATGGCGACCTGCTAGAGATGTGGGGGGACGCGTATATCGCGTGCAATGCCAGCGGTGAGCATGTAACAACCCCGGATATGTTCCTCCCGGTAGGCCTGATTAAGTCACGAAAATCATTAAAGCTGATTGCTTTAGGTACATGCTCGACGGAGCACTGGATGTATGCCCGGGCAGGGGATGATGACTCAAGGGAGCTGCTGCTGGAATTGTATACCAGTTGGTATGAGTACCCAGATAAAGCGCGGGCGCGGCTCCTGTCGATGGCAGAAAAAAACTCCGGCCTGAGGTTTGTGTTGCTCGAAGGTAAATCAAGGAAACTGGAGCGCTTTGCGGTCAAGCGGCCAGAAGAGATTGTCAACTGGCATGCCGGTAACTTAAAGGAAATCCCGACAATGCTGAATGATCAATGGGCATGTCACATGGCAATGGTCAGTCAGAATGATAAGGTCTACCTGACACCGGATTTGCTCGATGATGATGGTCTGCCTAATTTTAATGGAGTCACCAGGCAGGTGCCCGGAGAAGGTTATCAGCCAGTCAATGTCTATGAATTTGAAAGTGACTATTTTAACGCGGTATACGATGCAGACGGGAAGAAAGTGGCACTTTGTCACTGGTATGATGTGACGGATAATTCATATTCTGCTGAAGAACTCATAGGCAATATGCCGCATAACGCATTTAAATTTCTTCAGTATAGACTGGATAATATCGAGCAGGCTGAGGCATTTATCAAATACAGAAACCGGAATTATCAGCCCCGCGAAAATGCAGACTGGCCTGAGCCACCTGAAGGAGTTAAGCGTTACGTCATCAGAGCCCGAAGCTAGGTGAAAAATATTAAGGCAAAAGTTCAGTATGGAAATTGGTAAATCATACTGAACAATTAATATGACATTAGGCATGACTATAAGTAGGTGCCTTATTGGATGGTACATCGTATAAAAAGTAACTTTTCTAATCTCACCCAGCACTCCGGGAATGATGCTAACCTAAATCACGGGAGCAGTGCTGGATATTGGTCAATTTATAGTTCCTGTGGAATGTAAATGTAATTAAATGTTGCAATAAAGCGTGGTTGTGTTAAAAAGTAGGCTTCATTACCTAAGTTAAATTTTATAATGTATGCCAAAGAAGAATTTATACTCTGAAGAGATTGTGATTGCCAAAAAGCAACTCACTCAGCTTTCAACACTAAAAGATAAAGTCAGCCTGCTAACCCGTCAGTGGGAAGGTGATATTGGCGCCAATCTGCCTGGTTACACTGAGCTATTAGCTCATGTGGAAAGAATTGAAAGGCAGATTCATGAACAAATTGGCAGCTGGAAAAAAACTCCTGCAATGTAAGATTCGCCTATCCATTCTGAAGCGGTGGTTTTGTTTAAGGGTAAAAAAATTCATTCCTTAATAGTTCTGTGACGCCGCTTTTAAATCTTGGATGTTTGACTCTAAATGTCTATCATTTAATTAACAGTAATTATGATGTTGTCAGCCTTATTCCTGGCTGAATCTCAATATATTACCATACGACTTCATTTTGCTTATCTTCGGGTTCTCGAAGAATTCCGCCATGATTGTCCATAGCAGGAGGTTAGTATGGGTGTAGACATGAATTATGAGTTTCAGAAAAAAAGCCCTAAGGGATGGGACCGGGTTAACGATAATTTTTCAAACGACCGAAGCTATTTGCTTTATTCATGGTTGGGTCTGGATGCCCGTAACACCTGGGGTGTTGCAGCGATCACTCCTCTCAGGGGATTACCCGATGACATAGAACTTCAATGGGATGAGGATGGATGTGATGACTACTGGGGTGAGCATTCCCAAACGTGGTTACTATCCGACGAGATCCTTGCTTCAACCAGCCCGGTAGCCATTGAAGACGATGAACCGGGGTCGGTAGTTGCGGAGTTTTGTGCGGAGGTTCAGCGACTTCATGGGCTGCATGGGACGGTAAGAATTGTTCTAGGCTTCACTGGTTAAACAAGGCTGGACTATCTAATGCCTCCAGACAACGTAATCCTGACGTGTTCATCTACTGTAACCTGGTCGCCGGGGATATATCGCGGCCACCCTGACACGTCATTTGCATTTTTGATGATAAACGAAGGGTAGCCGAACTGCTCGGCCGCAATATCGATATAAAAAATCATTTCACCGGCACTTACCTCACACCAGTAATGGCCGTGCCCGCCAGACTCATTGAAAATACCACCATCATCTGTTCCGTTCCCGCCTCGCACAGCTGCGGACATACCTCTGCGGTGCGCAAATTCACAAACCAGCAGACTGGCGAACATGCATGTTCCTGTGGTGTCGCTTGTCCCATTGTCATTGAGGATATTTTTTAGTGATGAATAAGCATCAGTTGCGAGTGCCAGAACTGGAGTATCAACGGGAATAGAGGCCTGGTCAGTCATGAAAGAATGTCTCCGGTATGATGGAACGGCTAATTAAACAAGCAATGAGTTGATTCCGTTTTTGAGTACTTCACTTTCAGGCAACCAGTACCCGGAACCACACACCCATGATTCGCCCGGGAAAATGAAACCTTCGCGGACCAGGAATACTCTAAAATTTGGCGGCAGTACATTTTCTATTTTTAGCATGTATCCTTCCTGAATGGATAGATTTTTCAGCTCAGATAGAAGATTCGGTGAGACGATGAGCTGTTCGGTTTCAAGAAGTCCTTGTAGCTCATGTAACTCATCCAAGGCCTCCTGAAGGCGTTCGGGGATACAATTCAGGGAAGCCTCGAAATGTTGCTGCTCAGCAGCTTCTTCCATCCAGTCCCGAAACCAGCTGTATTCCTGAGCTGCCGCATCCCACTCTAGTGTCTCTTCTTCCGCTTCAGGATAGTTAATAGAGATCCATTCATGACGCCATTCTTCCTGTATATCAAACAGCAGTTCTTTAATGCTTCCCATAAACTATCCCCTTGTATATTTTGGAGTTCCCACCGGACTACATTATACGATGATTTGTGGCTGCAAATGTTGGTGACGGTTATCAGTATCGACCAAGCGCCATTAACTGGAAGCACACTTCCTCGGAAAGCTCTCCTTTTTTATTTGGGATATGTGAGGGAACAGCAGTTATCACATCAACTTCTACGCATAAATACCATGTGTCATCAGCATCACTCCACCAGGCGACAATACGATTATCCCAGGTGCGTAATTCGCGGTAGCAGCTGTATCCAGGTAAATTCTCGAACTCCATCTCTTGCATCCAGACTCTGCCATGGCCAAGGATCATGAGAGCCTCAAATAAAACATCCAATGAAATACTAATTTCCATAATCAACTTCCTTATTACTACATCCATATTATTTATAATCACTGTGCGGGGTAATCCATTGTGCCACACAGTGATTAGTCAGATAACAGCCACAACCACAATTGCCTAACGCAACTTTCCACTGTTTCCTAAGAACAAGTAATAACAAAATTTACAGAATCAAAAGATGATAATTTTTGCGATTTGTTCCGTCCGGCCGGTTTGATATACGTGGGAAGGCTGTTATTTAATTACATATATTATATCACATTTATATTTTCTGTCCCAAAATTCGCGAAAATAATTGTCACACTCCGTCTCCAGGATTTTTCGGATCTGGAAAAATATGAGGGCAAAAAAACACAATCTCACACGTTGTTTTAAAAGTATGCAAGAAATGAGAGGGATGTTAGAAATCGTTAACCTGTTGATTTCGTGAGAGGCAATGGAGAGATAGAGAGGGACTCATGAACTTAAGAGCAAACCCACCACATTTAACATAATCCATCTTATACGCACTAAGTGTAGAGGCTCAATGCTAATGTCTATTTGTGGCTCATTAGGAATGTCCAGGCTATAGTTTTCAAACCTGTATGCCTAGTCAACGACTCGCTTTTCCTGATGAGGAGTTTTCTATGGCTATACATGACGCCGGGATGTTCACCGTGAAAGAAATCAACCGCCTCAAAATTCTTCAGGATGTCGTTGAACGTAACCTGCGTCCTGGCCAGGCTGCCGAGATGCTCGGCATCACGCCACGTCATTGCAGCCGTCTGCTGAAGCGTTATCGCCAGTCCGGGCCGCTTGGTATGAACAACCAGAGTCGCGGTCGCACTGGCAACCGCCTGTTGCCCACATCACTGACTGACCAGGCACTGAGTATCATACGAGAACGCTACCGCGATTTTGGCCCCACGCTGGCCCGGGAAAAACTGGAGGAAGTTCACGGTCTGGTCCTGGGCAAGGAAACCATCAGACGCCTTATGATAAAAGCCGGACTCTGGATCCCCCGAAGACAACGCGCACCGAAAATTCATCAGCCCCGTTACCGGCGGCCCTGTACTGGCGAGCTTATACAGATTGACGGCTGTGACCATCACTGGTTTGAAAACCGGGGTCGGCCTTGTACGGCACTTGTATATGTCGACGATGCCACCAGTCGTCTGATGCACCTGCTGTTTGTTAAATCTGAGTCCACCTTTAGCTATTTTGAAGCGACCCGTGGCTATATCGAGAAATACGGTAAGCCCATGATCCTTTACAGCGATAAAGCCAGCGTATTCAGAGTCAATAATAAGCACGCTACCACTGGTCCCGGTGAAACCCAGTTTGCCCGAGCCATGCGCTGCCTCAACATTACCCCGCTATGTGCGGAGACCAGCCAGGCAAAGGGCCGTGTGGAACGCGCCCACCTGACACTTCAGGACCGGCTGGTTAAGGAGCTCAGGCTTAAAGGGATCAGTACGATAGAAGCCGCGAATGCATTTGCTGAGGAATACATGGCGGATTATAACCGGCGCTTCGCCAAAGCCCCCCTGCATGATTTTAACGCACATCGGCCGCTGGCATTAGACGATGACCTGGATGCGGAATTTACCTGGCGAGAGCCCCGTCGTGTATCAAAAAGTCTGACCGTACAATATGACAAAATGCTCTATCTGATTGAAGACAGCGAATACAGTAGAAGGGCTATCGGCAAGTATATTGATGTCTGGCACTATCCTGACGGACATAAGGAACTGCGGTTGAATGGCGTGCTACTGCCCTACTCCACCTACGACCGATTGTCTGAAGTCGATCCTGTCGCGATTGTTGATAACAAAAGACTGGGCCATGTATTGGATGTTGCCCGCCAGGTCCAGAAAAAAAGGGACAATAATCGCTCCCAGTCGCTACCTTCAGGAGATGAGCCTTCCCGCAGACGACATGCTCCAGGCATCAACAAATCCCAGCGCTCGCTGAACGAAGATGACCTGCTTGAAGCCATAATAAAGCTTCAAGGAAGCTCTGAGGCCATCTTTGGTAAAAGGTGAACTTGTCGGAAACCTCGCACTCACTGACCAGCAGCGCTGTGTTGCAGTTAATGCAATCAAAGCCTGAAAAAAATTCTGAGAAATGCAAATAACTTCAATGATATTATATACAAAGAGAAACGTCGGGTAGCCGGGGTAAAGTCCGGGTGTCACAGAACCCCGAACCGCTTCGCGGTGACTTCTTACCACAAACCAAGTCTATGTAAAATTTATTGCGTAGATATGAATCTAATCAGAGCCTTAAATTTAAAGATGGTAAATTATGTATATGACTGGTCAAGAAATAAACGATAAAAAGAAAGAGTATCTTGAATTACTAGATCGAGAAGAGAATGAACAGATTTATCAAACATACCTTGAAGAAAATACAATGTTCATACCAAGAGAATTCGAGCAAAACCATGGAATTCACTTCAGTACGGTATTTAGAAAGTTGCCTCTATCAAGCGATTATAAACCTGATTTCGTATATTTATCAAAAAGCTCGGATAACTGGAATGTAGTATTAGTTGAAATTGAAAAACCATCGTCGAAATATTTTAAAAACAACTCTACAACTTTTCATGCAGACTTCAATCTTGCTTTGCAGCAAATGAACACATGGAGGGCTTGGTTTGATGATGAATCAAACAGAAATCACTTTAAAAACAATATATTGCAGGGATTTATAGAACCGGCACATATGGGGAGAAATCCATTTAATTTCAAGTATGTCCTTGTTCATGGTCGTAGATCAGAATATGAAAATAATACACAGAAAACTGCACTAATCAGAGGGCAACAGCGAAGTGACTTCTCAATAATTTCATTTGATAGTTTGGCTGAAAATATAGAGAAAAAATATAAGTTATATGTTGGAGTGAAAAAAAATAGTCACTATGAATTAATATCAAAAGAATTTGTTGATGAAGGGATATTTTCATGGATGAACATAGATTTTTTAGCAATTACACAAAGTATATATGATGATGCAATCGCAAAATCAGATAGTTGGCATCACTATATAATTAAAGAAAATGGAACCGTCAAAACAATGGATTATGCTCTCCCTCGAATTAAAATAATTTGAGAGTAGTAAAAAAAATAGGTAATGACTCCAACTTATTGATAGTGTTTTATGTTCAGATAATGCCCGATGACTTTGT
ATTTTTTTTACTACTCTCAAATTATTTTAATTCGAGGGAGAGCATAATCCATTGTTTTGACGGTTCCATTTTCTTTAATTATATAGTGATGCCAACTATCTGATTTTGCGATTGCATCATCATATATACTTTGTGTAATTGCTAAAAAATCTATGTTCATCCATGAAAATATCCCTTCATCAACAAATTCTTTTGATATTAATTCATAGTGACTATTTTTTTTCACTCCAACATATAACTTATATTTTTTCTCTATATTTTCAGCCAAACTATCAAATGAAATTATTGAGAAGTCACTTCGCTGTTGCCCTCTGATTAGTGCAGTTTTCTGTGTATTATTTTCATATTCTGATCTACGACCATGAACAAGGACATACTTGAAATTAAATGGATTTCTCCCCATATGTGCCGGTTCTATAAATCCCTGCAATATATTGTTTTTAAAGTGATTTCTGTTTGATTCATCATCAAACCAAGCCCTCCATGTGTTCATTTGCTGCAAAGCAAGATTGAAGTCTGCATGAAAAGTTGTAGAGTTGTTTTTAAAATATTTCGACGATGGTTTTTCAATTTCAACTAATACTACATTCCAGTTATCCGAGCTTTTTGATAAATATACGAAATCAGGTTTATAATCGCTTGATAGAGGCAACTTTCTAAATACCGTACTGAAGTGAATTCCATGGTTTTGCTCGAATTCTCTTGGTATGAACATTGTATTTTCTTCAAGGTATGTTTGATAAATCTGTTCATTCTCTTCTCGATCTAGTAATTCAAGATACTCTTTCTTTTTATCGTTTATTTCTTGACCAGTCATATACATAATTTACCATCTTTAAATTTAAGGCTCTGATTAGATTCATATCTACGCAATAAATTTTACATAGACTTGGTTTGTGGTAAGAAGTCACCGCGAAGCGGTTCGGGGTTCTGTGACACCCGGACTTTACCCCGGCTACCCGACGTTTCTCTTTGTATATAATATCATTGAAGTTATTTGCATTTCTCAGAATTTTTTTCAGGCTTTGATTGCATTAACTGCAACACAGCGCTGCTGGTCAGTGAGTGCGAGGTTTCCGACAAGTTCACCTTTTACCAAAGATGGCCTCAGAGCTTCCTTGAAGCTTTATTATGGCTTCAAGCAGGTCATCTTCGTTCAGCGAGCGCTGGGATTTGTTGATGCCTGGAGCATGTCGTCTGCGGGAAGGCTCATCTCCTGAAGGTAGCGACTGGGAGCGATTATTGTCCCTTTTTTTCTGGACCTGGCGGGCAACATCCAATACATGGCCCAGTCTTTTGTTATCAACAATCGCGACAGGATCGACTTCAGACAATCGGTCGTAGGTGGAGTAGGGCAGTAGCACGCCATTCAACCGCAGTTCCTTATGTCCGTCAGGATAGTGCCAGACATCAATATACTTGCCGATAGCCCTTCTACTGTATTCGCTGTCTTCAATCAGATAGAGCATTTTGTCATATTGTACGGTCAGACTTTTTGATACACGACGGGGCTCTCGCCAGGTAAATTCCGCATCCAGGTCATCGTCTAATGCCAGCGGCCGATGTGCGTTAAAATCATGCAGGGGGGCTTTGGCGAAGCGCCGGTTATAATCCGCCATGTATTCCTCAGCAAATGCATTCGCGGCTTCTATCGTACTGATCCCTTTAAGCCTGAGCTCCTTAACCAGCCGGTCCTGAAGTGTCAGGTGGGCGCGTTCCACACGGCCCTTTGCCTGGCTGGTCTCCGCACATAGCGGGGTAATGTTGAGGCAGCGCATGGCTCGGGCAAACTGGGTTTCACCGGGACCAGTGGTAGCGTGCTTATTATTGACTCTGAATACGCTGGCTTTATCGCTGTAAAGGATCATGGGCTTACCGTATTTCTCGATATAGCCACGGGTCGCTTCAAAATAGCTAAAGGTGGACTCAGATTTAACAAACAGCAGGTGCATCAGACGACTGGTGGCATCGTCGACATATACAAGTGCCGTACAAGGCCGACCCCGGTTTTCAAACCAGTGATGGTCACAGCCGTCAATCTGTATAAGCTCGCCAGTACAGGGCCGCCGGTAACGGGGCTGATGAATTTTCGGTGCGCGTTGTCTTCGGGGGATCCAGAGTCCGGCTTTTATCATAAGGCGTCTGATGGTTTCCTTGCCCAGGACCAGACCGTGAACTTCCTCCAGTTTTTCCCGGGCCAGCGTGGGGCCAAAATCGCGGTAGCGTTCTCGTATGATACTCAGTGCCTGGTCAGTCAGTGATGTGGGCAACAGGCGGTTGCCAGTGCGACCGCGACTCTGGTTGTTCATACCAAGCGGCCCGGACTGGCGATAACGCTTCAGCAGACGGCTGCAATGACGTGGCGTGATGCCGAGCATCTCGGCAGCCTGGCCAGGACGCAGGTTACGTTCAACGACATCCTGAAGAATTTTGAGGCGGTTGATTTCTTTCACGGTGAACATCCCGGCGTCATGTATAGCCATAGAAAACTCCTCATCAGGAAAAGCGAGTCGTTGACTAGGCATACAGGTTTGAAAACTATAGCCTGGACATTCCTAATGAGCCACAAATAGACATTAGCATTGAGCCTCTACACTTAGTGCGTATAAGATGGATTATGTTAAATGTGGTGGGTTTGCTCTTAAGTTCATGAGTCCCTCTCTATCTCTCCATTGCCTCTCACGAAATCAACAGGTTAACGATTTCTAACATCCCTCTCATTTCTTGCATACTTTTAAAACAACGTGTGAGATTGTGTTTTTTTGCCCTCATATTTTTCCAGATCCGAAAAATCCTGGAGACGGAGTGTGACAATTATTTTCGCGAATTTTGGGACAGAAAATATAAATGTGATATAATATATGTAATTAAATAACAGCCTTCCCACGTATATCAAACCGGCCGGACGGAACAAATCGCAAAAATTATCATCTTTTGATTCTGTAAATTTTGTTATTACTTGTTCTTAGGAAACAGTGGAAAGTTGCGTTAGGCAATTGTGGTTGTGGCTGTTATCTGACTAATCACTGTGTGGCACAATGGATTACCCCGCACAGTGATTATAAATAATATGGATGTAGTAATAAGGAAGTTGATTATGGAAATTAGTATTTCATTGGATGTTTTATTTGAGGCTCTCATGATCCTTGGCCATGGCAGAGTCTGGATGCAAGAGATGGAGTTCGAGAATTTACCTGGATACAGCTGCTACCGCGAATTACGCACCTGGGATAATCGTATTGTCGCCTGGTGGAGTGATGCTGATGACACATGGTATTTATGCGTAGAAGTTGATGTGATAACTGCTGTTCCCTCACATATCCCAAATAAAAAAGGAGAGCTTTCCGAGGAAGTGTGCTTCCAGTTAATGGCGCTTGGTCGATACTGATAACCGTCACCAACATTTGCAGCCACAAATCATCGTATAATGTAGTCCGGTGGGAACTCCAAAATATACAAGGGGATAGTTTATGGGAAGCATTAAAGAACTGCTGTTTGATATACAGGAAGAATGGCGTCATGAATGGATCTCTATTAACTATCCTGAAGCGGAAGAAGAGACACTAGAGTGGGATGCGGCAGCTCAGGAATACAGCTGGTTTCGGGACTGGATGGAAGAAGCTGCTGAGCAGCAACATTTCGAGGCTTCCCTGAATTGTATCCCCGAACGCCTTCAGGAGGCCTTGGATGAGTTACATGAGCTACAAGGACTTCTTGAAACCGAACAGCTCATCGTCTCACCGAATCTTCTATCTGAGCTGAAAAATCTATCCATTCAGGAAGGATACATGCTAAAAATAGAAAATGTACTGCCGCCAAATTTTAGAGTATTCCTGGTCCGCGAAGGTTTCATTTTCCCGGGCGAATCATGGGTGTGTGGTTCCGGGTACTGGTTGCCTGAAAGTGAAGTACTCAAAAACGGAATCAACTCATTGCTTGTTTAATTAGCCGTTCCATCATACCGGAGACATTCTTTCATGACTGACCAGGCCTCTATTCCCGTTGATACTCCAGTTCTGGCACTCGCAACTGATGCTTATTCATCACTAAAAAATATCCTCAATGACAATGGGACAAGCGACACCACAGGAACATGCATGTTCGCCAGTCTGCTGGTTTGTGAATTTGCGCACCGCAGAGGTATGTCCGCAGCTGTGCGAGGCGGGAACGGAACAGATGATGGTGGTATTTTCAATGAGTCTGGCGGGCACGGCCATTACTGGTGTGAGGTAAGTGCCGGTGAAATGATTTTTTATATCGATATTGCGGCCGAGCAGTTCGGCTACCCTTCGTTTATCATCAAAAATGCAAATGACGTGTCAGGGTGGCCGCGATATATCCCCGGCGACCAGGTTACAGTAGATGAACACGTCAGGATTACGTTGTCTGGAGGCATTAGATAGTCCAGCCTTGTTTAACCAGTGAAGCCTAGAACAATTCTTACCGTCCCATGCAGCCCATGAAGTCGCTGAACCTCCGCACAAAACTCCGCAACTACCGACCCCGGTTCATCGTCTTCAATGGCTACCGGGCTGGTTGAAGCAAGGATCTCGTCGGATAGTAACCACGTTTGGGAATGCTCACCCCAGTAGTCATCACATCCATCCTCATCCCATTGAAGTTCTATGTCATCGGGTAATCCCCTGAGAGGAGTGATCGCTGCAACACCCCAGGTGTTACGGGCATCCAGACCCAACCATGAATAAAGCAAATAGCTTCGGTCGTTTGAAAAATTATCGTTAACCCGGTCCCATCCCTTAGGGCTTTTTTTCTGAAACTCATAATTCATGTCTACACCCATACTAACCTCCTGCTATGGACAATCATGGCGGAATTCTTCGAGAACCCGAAGATAAGCAAAATGAAGTCGTATGGTAATATATTGAGATTCAGCCAGGAATAAGGCTGACAACATCATAATTACTGTTAATTAAATGATAGACATTTAGAGTCAAACATCCAAGATTTAAAAGCGGCGTCACAGAACTATTAAGGAATGAATTTTTTTACCCTTAAACAAAACCACCGCTTCAGAATGGATAGGCGAATCTTACATTGCAGGAGTTTTTTTCCAGCTGCCAATTTGTTCATGAATCTGCCTTTCAATTCTTTCCACATGAGCTAATAGCTCAGTGTAACCAGGCAGATTGGCGCCAATATCACCTTCCCACTGACGGGTTAGCAGGCTGACTTTATCTTTTAGTGTTGAAAGCTGAGTGAGTTGCTTTTTGGCAATCACAATCTCTTCAGAGTATAAATTCTTCTTTGGCATACATTATAAAATTTAACTTAGGTAATGAAGCCTACTTTTTAACACAACCACGCTTTATTGCAACATTTAATTACATTTACATTCCACAGGAACTATAAATTGACCAATATCCAGCACTGCTCCCGTGATTTAGGTTAGCATCATTCCCGGAGTGCTGGGTGAGATTAGAAAAGTTACTTTTTATACGATGTACCATCCAATAAGGCACCTACTTATAGTCATGCCTAATGTCATATTAATTGTTCAGTATGATTTACCAATTTCCATACTGAACTTTTGCCTTAATATTTTTCACCTAGCTTCGGGCTCTGATGACGTAACGCTTAACTCCTTCAGGTGGCTCAGGCCAGTCTGCATTTTCGCGGGGCTGATAATTCCGGTTTCTGTATTTGATAAATGCCTCAGCCTGCTCGATATTATCCAGTCTATACTGAAGAAATTTAAATGCGTTATGCGGCATATTGCCTATGAGTTCTTCAGCAGAATATGAATTATCCGTCACATCATACCAGTGACAAAGTGCCACTTTCTTCCCGTCTGCATCGTATACCGCGTTAAAATAGTCACTTTCAAATTCATAGACATTGACTGGCTGATAACCTTCTCCGGGCACCTGCCTGGTGACTCCATTAAAATTAGGCAGACCATCATCATCGAGCAAATCCGGTGTCAGGTAGACCTTATCATTCTGACTGACCATTGCCATGTGACATGCCCATTGATCATTCAGCATTGTCGGGATTTCCTTTAAGTTACCGGCATGCCAGTTGACAATCTCTTCTGGCCGCTTGACCGCAAAGCGCTCCAGTTTCCTTGATTTACCTTCGAGCAACACAAACCTCAGGCCGGAGTTTTTTTCTGCCATCGACAGGAGCCGCGCCCGCGCTTTATCTGGGTACTCATACCAACTGGTATACAATTCCAGCAGCAGCTCCCTTGAGTCATCATCCCCTGCCCGGGCATACATCCAGTGCTCCGTCGAGCATGTACCTAAAGCAATCAGCTTTAATGATTTTCGTGACTTAATCAGGCCTACCGGGAGGAACATATCCGGGGTTGTTACATGCTCACCGCTGGCATTGCACGCGATATACGCGTCCCCCCACATCTCTAGCAGGTCGCCATATTCCTCATCATCCGGCGTCCCCATAGCCCCTTTCAGTAACCCTGCGCCTTTTTCGCACATCTCAAAAAGCTTCTGTTTTTCGGTCCACGAACTGAATACAGGCGTCATGGAGTACCATTTTCGTGACTGCTCCTCATCTTCCCAAAGAGTAATTTCGGATGCCGAACGCTCCGGCATAGATACCCAGGATCTGCCGGTTTCCCGAATGTTTCGTTTCCCGGTTGCATAGACAACACGATGGACCCACGCATGGGCTTCCAGTCTGTTGTCACACTCATAGGGTTTAGGCGCGATAAATGCGACGTAATTCCCTGACGAGTTAACCCCGGCCCGAAGAAGTTGCGAGCCGGACGCAGCGACGTGCTCCTGAATGACCGATACCATTTCGCTTGCACCCTGAGTGAGCCTGTAGAGCTGATTCAGCAGTGCCTGGCGCCCTTTTTCGGTACTCATCCCGACAGCGAGGGAAACCCCACGGTTGCCGGTCTTCCATGAAGCAATACACTGGTGAATCAGTTCCTGGATATTCCCCGGCAGGTGCATCCCCGAATCCTGCATTGCAGCCAGCAGATATTGCCGGTGCGGCAGTTCGTTTTCTCGCTCCTGTTCCAGGAATTTGATCGCGGCCTTAAAAAAGCGAATATAAAAAAGGTGGTTACTCCGGAATTTGCGTTGCTGGATAAACCGGGTCAGCTCCTCCGGGCCCACTGCATCAAGGCACAAATAAGCAAGTTCAGCTTCTCCACGCCGCCACGGGCTATATGCAGAGACGTTTACCTTACAGTTAAACATCTTATCTGTACTGAATCGCTTCACCGCCACATCAACGGCCAGAGTATCTCCCTGACGATACACAACCGCAGCAGAGACATTATCCTCAGGGTCAGCGATGAAGGAGTACCCTGAATAGCCGCTGTCCTCTTTAACGGCACCAGGTGCTGTTCTGGGGGTCATAAGCTCACGCCAGTTGCAGAGCAGCCGCGAGCCCGGTTGAATATAGGAGTTTTTTTCACTAATAAATTCATCGAGCGTCTGCGAGTCTGGTGATGCCAGCAGCCCTGTGCCGTCTTCATCGTGCAGAAAATGGAAGTACCGTTCCTGGAAGCTCAGATTCAAGAAATTCGCCTTTTCATGCTGGGGATAGAACTGACCAAAGAGAGCCAGTCGCTGGTCAAGACCAAACAGCATGATAAGCAGACGTCGGTAATGCAGAGCCATCAGGTCATGGGCTTTGAGACGATCGGTATAAGCCACATCTTCAAATTTGATGGTGGTACCGTCAAACCCTCGGAAGTGGCCCTGCTGCTCATCTTCAGAGGGAAATAACCGGGACGCCCCAAGATGGCTCTCCACCGGGGAATAGATCTGTTTGATATTTTGCCCGTTGCGGACCATCAGAAACACGATGCTGTTCTTTTCGTTGTTTTCAGCATTCGCCCAGGTATCACCATAGTCAATAAATCTGCGGGTAGTGACCATGACAAGTACGCAGCGCTCAGTCGGGAAAATTTGCTCCACCAGCCCCTGGTTATCTTTTAGCGCCTTGAGGAATGCGGAAAGACTCCTGAAATCAAAATGTTCGTCGATATCGCTCCAGGCAGAAAACTCCTCATCCACGACGAGTTTCTTCTGACACAGCGTCAACGGGATGCTGCTGTCTGCTGGCTCGCCTTCCGCAACATCAACTACCGTCACGTTTTTGCCGACGAATAATTCCAGCGTGAGAACACCTGCCTGAATTTTGCTGGCTTGCTCAATGCCCTCCTGCGTTCCGGCCAGCTTGGCAGCGGCCAGCTCCGCATAATACGGATGCATTTTCTCCAGCGCCCGGGTGATGGCGCCGGTACGCGACGTAATAATGTTAGCTACGGCACCGGCAATCTTGCCTTCCCGTTCCGCAACTTTCGCCATCAGAGAAACCTGAGCCTCTGAAATCCCCTGAGAAAGGGCATTCTGCACTGTACCCAGCGCCATGGTGACTGCAACATCTTCTGCATTCCTGACGGCTGGAAGCATTCTGTCCTCAGTTGCCCCCCCCTTTTTACTGGCCTCTTCGTCTTCGACCCTTTTAATAGCCAGTTCCCGGAGTGCAGAGGGATCTTGCAGAGTTTCCGTAAGACGCATTTGCAGGTCAGCGACCTCATCCTGAATGCCTTTGAGCTCCGACTGACGGATAATTTCATGGTCGGGCTGATATTCAAACAACGCGAGGAAATCGGCCGTCAGAAACCGATGCTCATTCAGTCTCTTGTCTTTCGTTGATTTTGAACCGTTCTCAGCGACGATTTCAACGCTTACCCATTCCCCGTAATGCCGGGGGTGAGCGCGAAGGATGACGGTATGCAGATTGTTATCCACGTACCGCAACGAGTTAATGAGGAGAGTGTCCCCGGCCACAATCGCCTCAGCCGGAATATCGACGAGCGCAGACCAATACTGCCCTGCCAGCAGAGAATGAAATCGTTCAAGGCGATCGATATTATTTTTACTGACCAGGTCCCCCATAAACTATACCTTCCGAATTTGTTTGTTATAAACATCATACCATATTGGCTGTTCACCCAAATAACCTGGCATGCGGAAACAGGTGATTCATTTAAAACAGAGCCTGTCCATTTTAAATGGTGGAATCCAGCAAATTAAATACAGCCATTATCAAACGAGTTGAGGATTGAAGCATGTATTGCAGGAGTATGGATTTAATTGCCCATTAAGCCACGCGCCTTTAAAGACATAGACCTAATGAGCGTTTTGTATTATAAATCTCACGCAAATCTATGTTATTTATTTGGCTGAACTATTTCCCAGTATCTTTCATAAACACTGAACTCTGAGAGATCCCCTCATAATTTCCCCAAAACGTAACCATGTGTGAATAGATTTTGAGTAA
NODE 11 1380 97401 97401 0 0
TCAATACGTTGTAGCTTTTTCCTGAGCTCACGGATTTCAATTTGTTCCGGGGTAATGGGGGAGGCTTTTGGTGTTTTTCCCTGCCGCTCATCACGTAATTAATAGGCTGTATGTCTAACTTCTGGCCACAGATATAATCGAGCCAGCAGTGCTCGCCGCAGCCGAGCGACAGGGCGAAGCCCCGAGTGAGCGAGGAAGCACCATGGAACAGTACTCATAAATTCTGCATACGCTCAATGCCTGCAAAATCACCTCCCCTAGGGGTTATCCACTTATCCACGGGGATATTTTTATAAGATCTTTTTAAATAGTTGTTAGATCTTTATTTTTAGAATGCCCACAGGCCTTTATCCATGCGGGTTCCAGAGAGGGATCTGTGACAAAACGCCCTTTCAGTGTGACAAATCACCCTCAAATAGCCGCCCTTTCTGTGACAAGTTGCCCTTAACCCTGTGACAAATTGCCCTCAGGAAGCGTTGCTTTTCACAAAGTTATCCATCCCTGTTGACTCTGTTTTATGAAGTGTGACAATCTTAAAGTCTGTCACACTTCACATGGACCTGTCATGGCGGAAATAGCGGTTATAAACCATAAAAAACGTAAAAATAGCCCGCGGATTGTCCAGTCAAATGAGCTGACTGAGGCGGCATATAGTCTCTCCAGGGATCAAAAGCGTCTGCTGTATCTGTTCGTTCACCAGATCAGAAAATCCGACGGCTCCCTGCAGGAACATGACGGCATCTGCGAAATTCACGTTGCTAAATACGCTGAAACATTCGGGTTGACCTCCGCTGAAGCCAGTAAGGATATACGACAGGCTTTAAAAGGTTTTGCGGGTAAGGAAGTGGTTTTCTATCGCCCTGAAGAGGATGCCGGCGATGAAAAAGGGTATGAATCCTTTCCCTGGTTTATTAAACGTGCGCACAGCCCATCAAGAGGGCTTTACAGCGTACATATCAACCCATATCTGATTCCCTTCTTCATCGGGTTACAGAACCGGTTTACGCAGTTCCGGCTCAGTGAAACAAAAGAGATTACCAATCCGTACGCCATGCGTTTATACGAATCTCTGTGCCAGTACCGTAAACCTGATGGCTCAGGTGTCGTGTCCCTGAAAATCGACTGGATCATGGAACGCTACCAGCTACCTCAAAGTTACCAGCGTATGCCGGACTTTCGCCGCCGTTTCCTGAAGGCAAGTGTTGACGAGATCAACAGCCGGACACCAATGCGCCTTTCTTACATCGAGAAAAAGAAAGGCCGCCAGACGACGCATATCGTATTTTCCTTCCGTGATATAACCTCCATGACGATTGAATAGTTGAGGGTTATCTGTCACAGATTTAAGGGTGGTTCGTCACATTTGATCTGGAAGGTTGA
TATTCAATCGTCATGGAGGTTATATCACGGAAGGAAAATACGATATGCGTCGTCTGGCGGCCTTTCTTTTTCTCGATGTAAGAAAGGCGCATTGGTGTCCGGCTGTTGATCTCGTCAACACTTGCCTTCAGGAAACGGCGGCGAAAGTCCGGCATACGCTGGTAACTTTGAGGTAGCTGGTAGCGTTCCATGATCCAGTCGATTTTCAGGGACACGACACCTGAGCCATCAGGTTTACGGTACTGGCACAGAGATTCGTATAAACGCATGGCGTACGGATTGGTAATCTCTTTTGTTTCACTGAGCCGGAACTGCGTAAACCGGTTCTGTAACCCGATGAAGAAGGGAATCAGATATGGGTTGATATGTACGCTGTAAAGCCCTCTTGATGGGCTGTGCGCACGTTTAATAAACCAGGGAAAGGATTCATACCCTTTTTCATCGCCGGCATCCTCTTCAGGGCGATAGAAAACCACTTCCTTACCCGCAAAACCTTTTAAAGCCTGTCGTATATCCTTACTGGCTTCAGCGGAGGTCAACCCGAATGTTTCAGCGTATTTAGCAACGTGAATTTCGCAGATGCCGTCATGTTCCTGCAGGGAGCCGTCGGATTTTCTGATCTGGTGAACGAACAGATACAGCAGACGCTTTTGATCCCTGGAGAGACTATATGCCGCCTCAGTCAGCTCATTTGACTGGACAATCCGCGGGCTATTTTTACGTTTTTTATGGTTTATAACCGCTATTTCCGCCATGACAGGTCCATGTGAAGTGTGACAGACTTTAAGATTGTCACACTTCATAAAACAGAGTCAACAGGGATGGATAACTTTGTGAAAAGCAACGCTTCCTGAGGGCAATTTGTCACAGGGTTAAGGGCAACTTGTCACAGAAAGGGCGGCTATTTGAGGGTGATTTGTCACACTGAAAGGGCGTTTTGTCACAGATCCCTCTCTGGAACCCGCATGGATAAAGGCCTGTGGGCATTCTAAAAATAAAGATCTAACAACTATTTAAAAAGATCTTATAAAAATATCCCCGTGGATAAGTGGATAACCCCTAGGGGAGGTGATTTTGCAGGCATTGAGCGTATGCAGAATTTATGAGTACTGTTCCATGGTGCTTCCTCGCTCACTCGGGGCTTCGCCCTGTCGCTCGGCTGCGGCGAGCACTGCTGGCTCGATTATATCTGTGGCCAGAAGTTAGACATACAGCCTATTAATTACGTGATGAGCGGCAGGGAAAAACACCAAAAGCCTCCCCCATTACCCCGGAACAAATTGAAATCCGTGAGCTCAGGAAAAAGCTACAACGTATTGAAGGTAATGACTCCAACTTATTGATAGTGTTTTATGTTCAGATAATGCCCGATGACTTTGT
NODE 12 52 3736 3736 0 0
AATCACCCTCAACCTTCCAGATCAAATGTGACGAACCACCCTTAAATCTGTG
ATTTAAGGGTGGTTCGTCACATTTGATCTGGAAGGTTGAGGGTGATTTGTCA
NODE 13 3 414 414 0 0
ACA
CAG
NODE 14 9 630 630 0 0
GATAACCCT
GATTTGTCA
NODE 15 760 220234 212478 0 0
CAAAAACTCTGCTTACCAGGCGCATTTCGCCCAGGGGATCACCATAATAAAATGCTGAGGCCTGGCCTTTGCGTAGTGCACGCATCACCTCAATACCTTTGATGGTGGCGTAAGCCGTCTTCATGGATTTAAATCCCAGCGTGGCGCCGATTATCCGTTTCAGTTTGCCATGATCGCATTCAATCACGTTGTTCCGGTACTTAATCTGTCGGTGTTCAACGTCAGACGGGCACCGGCCTTCGCGTTTGAGCAGAGCAAGCGCGCGACCATAGGCGGGCGCTTTATCCGTGTTGATGAATCGCGGGATCTGCCACTTCTTCACGTTGTTGAGGATTTTACCCAGAAACCGGTATGCAGCTTTGCTGTTACGACGGGAGGAGAGATAAAAATCGACAGTGCGGCCCCGGCTGTCAACGGCCCGGTACAGATACGCCCAGCGGCCATTGACCTTCACGTAGGTTTCATCCATGTGCCACGGGCAAAGATCGGAAGGGTTACGCCAGTACCAGCGCAGCCGTTTTTCCATTTCAGGCGCATAACGCTGAACCCAGCGGTAAATCGTGGAGTGATCGACATTCACTCCGCGTTCAGCCAGCATCTCCTGCAGCTCACGGTAACTGATGCCGTATTTGCAGTACCAGCGTACGGCCCACAGAATGATGTCACGCTGAAAATGCCGGCCTTTGAATGGGTTCATGTGCAGCTCCATCAGCAAAAGGGGATGATAAGTTTATCACCACCGACTATTTGCAACAGTGCC
CACATGAACCCATTCAAAGGCCGGCATTTTCAGCGTGACATCATTCTGTGGGCCGTACGCTGGTACTGCAAATACGGCATCAGTTACCGTGAGCTGCAGGAGATGCTGGCTGAACGCGGAGTGAATGTCGATCACTCCACGATTTACCGCTGGGTTCAGCGTTATGCGCCTGAAATGGAAAAACGGCTGCGCTGGTACTGGCGTAACCCTTCCGATCTTTGCCCGTGGCACATGGATGAAACCTACGTGAAGGTCAATGGCCGCTGGGCGTATCTGTACCGGGCCGTTGACAGCCGGGGCCGCACTGTCGATTTTTATCTCTCCTCCCGTCGTAACAGCAAAGCTGCATACCGGTTTCTGGGTAAAATCCTCAACAACGTGAAGAAGTGGCAGATCCCGCGATTCATCAACACGGATAAAGCGCCCGCCTATGGTCGCGCGCTTGCTCTGCTCAAACGCGAAGGCCGGTGCCCGTCTGACGTTGAACACCGACAGATTAAGTACCGGAACAACGTGATTGAATGCGATCATGGCAAACTGAAACGGATAATCGGCGCCACGCTGGGATTTAAATCCATGAAGACGGCTTACGCCACCATCAAAGGTATTGAGGTGATGCGTGCACTACGCAAAGGCCAGGCCTCAGCATTTTATTATGGTGATCCCCTGGGCGAAATGCGCCTGGTAAGCAGAGTTTTTGAAATGTAAGGCCTTTGAATAAGACAAAAGGCTGCCTCATCGCTAACTTTGCAACAGTGCC
NODE 16 5407 403478 403478 0 0
TCCATGCCCAGCCCGTGCGCGAGCTGGATCACCGCCCGCACGATAGTTTGGTCACGGGCATCATCCGGGAGCCTGGCGACAAAGGATTGGTCGATTTTCAATGTGGTGATGGGGCAGCATTTCAGATGTTGCAGGCAGGAATAGCCGGTGCCGAAGTCGTCGGCGGCGAAGCGCACGCCGATGGCGCGCAAGGCGTCGAAACTGGCGAACAGGGCTGGATTGCCGAATGCGACCGATTCGGTCAGTTCGATCTCCAGAAGCTCGGCGGGCAGGGCCATATCGGCCAGCACCCGCTTTACCTCGTCGTCGAACGTTGGCCCAACCTGGCTGGCGGACACATTGATGGCAAGACGGAACGGTTGCCATGCCGGTCCTTGCCACTTGTGCATCTGGCGACAGGCCTCGCCCAGCACCCACGCGCCTATTTCCGGCATCAGGCCGAACGACTCGGCCAGCGGCAGGAACTGGCCGGGCGGCAACAGGCCAAGCCTCGGATGCCGCCAGCGCATCAACGCTTCCGCGCCAGCGATCCGGTGATCGCGCAGATCGACCAGCGGCTGGTAATGCAGGTCAAGCTGTCCGCGCGCCGCCGCCTGCGCCAACTCGGCCGCCGTCCATCCGGCGGGCTGCGAACTCGTCATGATCCGCCCCGGAAGGCGCGCAGCAGCCGCGTTACGGCCAGAACGAACAAGCCGGTCAGCGCGAGCGCGGCAACACCCCAATGCTCGCCAAGGAAGGCACCGGCGGTCGTCCCGGCCAGCACGGCGGCGAGAATCGGCAGATGGCAGGGGCAGGTCAACACGGCCAGCGCACCCCACAGGTAGCCGGAAACGGGTTGGCGCGTCTCGGGCGGCAGTTTGTCAGGGGCGTTCACGGCAATGCCTCCTCGTGCGCCCGCTCGGCTGGCATGGAGGCCAGTTGCGCGTCCAGATGGGCCAACGCCGCGCGCCGCCGCTCGACCAACTGGCGCAGCACGGCAAGCTGCGCTGCGGCTTGTGCGCCGTCCGCTGCGTCGAGCGCACGGCACAGCCGCGCCAGGGCATCCAGGCCGATACCCGCCTCGAAGGCCGCGCGCACGAAGCACAGCCGTTGCAAGGCCGCATCGTCGAACACGCCGTAGCCGCCCGTGGTGCAGGCCACCGGCCGTAACAAGCCGCGCACCAGGTAGTCGCGCACGATATGTACGCTCACCCCAGCGTTATGGGCCAGTTGCGATACCGTGTAGGCGCTCATCGCACACCTCCTTGTCCTCACCCGGCGCAGCAGGAAAGCTGCTTCACATCCTTGTTGAAGGTCTGCGCCGCGAGCTTCAACCCTTCGACCATCGTCAGGTAGGGGAACAACTGGTCGGCCAGTTCCTGCACCGTCATCCGGTTGCGAATCGCCAGTGCGGCCGTCTGGATCAGTTCGCCCGCTTCCGGGGCCACTGCCTGCACGCCGATCAGTCGTCCGCTGCCTTCTTCAACCACCAGTTTGATGAAGCCGCGCGTGTCGAAGTTGGCGAGCGCGCGCGGCACGTTGTCCAGCGTTAGCGTGCGACTATCAGTTTTGATGCCGTCATGGTGCGCTTCCGCCTCGCTGTAGCCTACGGTCGCCACTTGCGGGTCGGTGAACACCACGGCCGGCATCGCGGTCAGGTTCAGGGCCGCGTCACCGCCGGTCATGTTGATCGCGGCGCGAGTGCCGGCCGCTGCCGCCACATAGACGAACTGCGGCTGGTCGGTGCAGTCGCCTGCGGCGTAGATGTGTTCCACGCTTGTACGCATGCCGGGGTCGATGACGATAGCGCCTTGCGGGGTGAGCGTGACGCCCGTCGCATCCAGTGCCAGCTTGCGTGTGTTGGGCGCGCGGCCGGTGGCGACCAGCAGCTTGTCGGCGCGCAGTTCGCCGTGCGCCGTGGTGAGCACGAATTCGCCGTCCCCTTCACCATTGATATACGCGACCTGGCTGGCCTGGGTGTGTTCCCTCACCTCGATGCCCTCCATGCGGAATGCGGCCGTGACGGCTTCGCCTATAGCTGGGTCTTCGCGGAAGAACAGCGTGCTGCGAGCCAGGATCGTCACCTTCGCTCCGAGTCGGGCGAACGCCTGCGCCAGCTCCAGCGCCACCACTGATGAGCCAATCACGGCCAGGCGCTTAGGAATCGTCTCGCTGACCAGCGCTTCAGTGGAAGTCCAGTACGGAGTGTCTTTCAGGCCGGGAATCGGCGGCACGGCCGGGCTCGCGCCGGTGGCGATCAGGCAGCGGTCGAATGCCACCACGCGCTCGCCGCCGTCGTTGAGTTGCACGATCAGGTTGCGATTGTCCTTAAAGCGGGCGGAGCCGTGCAGCACAGTGATCGCCGGATTGCCCTCCAAGATGCCTTCGTACTTGGCGTGGCGCAGTTCATCGACGCGGGCCTGCTGCTGGGCCAGCAGCGCCGTGCGCTGGATGGTCGGCGTGGTAGCGGCGATGCCGCCATCGAACGGGCTTTCCCGGCGCAGATGGGCGATATGGGCGGCGCGGATCATGATCTTGGACGGCACACAACCGACATTGACGCAGGTGCCGCCGATGGTGCCGCGCTCGATCAGCGTGACACGTGCGCCTTGCTCGACGGCCTTCAGCGCCGCTGCCATCGCGGCCCCGCCGCTGCCGATGACGGCGATATGCAATGCGCCGCTGCTACCCGTCTTGTCGTTTCTGCCCAGCAGATCGCGCATCTTGTCGAGCAATCCGCCCGGCGTCGAAACTGAGGGGGCATCGGCCAGCGTGGCCCGATAACCGAGTCCAGCTACAGCGGCCGTCAGCGCGTCGGGTGACGTGCCGACCTCAATGGCGAGCTTGGCGCTGCCCTTGGCGTAGGAGACATCCGCTGATTGCACGCCGGGCACTTTCTCCAGGGCGTCCTTGACATGCACTGCGCACGAGTCGCAAGTCATGCCGGTGATTTTGAGAGTGCTCATACCATCGTTCCTTATTCGTGTGGGCCGCCGTGTCGCACGGTCAGCCGTCTTTCACAAGCGCTTGGCGGGGAGTTCGCAGCCGTCCGGTCCGCAACGGCGATGCGCCGGCGACACGAAGTCCCAGATCGACACCCCAATCATCAAGGCCAGGCCGACGTACATCAGGTTCGCCGTCCACCAGTTGCCGAGCAGCCAGACCGTGGCCGCAAACACGATGGCCGGGCCGATCATGCCGAGCAGACTGCGCAGCCATTGCCGATGACTGAACCAACCCAGCGCGTTCGCCAGGAAGGCCAGCGCGGCAAACAGCGGCAGCAGGCGGCTGATGAACAGTCCCTCGTACTGGCTCAAGAAGCCCAGCCCGATGGCCGCGCCGAAGCTGGCGAGGGCTGGAAAGCAGGCGGCGCAGCCCATCGCGGAAACGACGCTGCCGAGCGCGCCGGTTTTATCGGCAATGCGTGTCATCAGTCCCATGAAGCGGCTCTCGCTGTTGTCGTTGGCTTGCTGGCTCACTGCTTGACGCTGGACGGATAGCCGGCGTCTGCGGTGGCCTTGGTCAGCTTCTGTACGCTGGCCTTGGTGTCGTCAAAAGTGACGACGGCCTCGCGCTTCTCGAAGCCCACATCGACCTTGCTCACGCCTTCGACCTTGGAGAGCGCTTTCTTGACTGTGATCGGGCAGGCGACGCAAGTCATGCCGGGAACCGCTAGCGTGACGGTCTGGGTAGCGGCCCACACCGGGGCAACAGCGGCGGCGAGGGCAAGGGAGGCAAACAGTTTCTTCATGATGAACTCCTGGTTAATAGAAAAATGGAACGACATAGGGAAATCCAAGCGCGACCAGGACCAGCACGGCCACGATCCAGAAAATCAGCTTGTAGGTGGCGCGCACCTGCGGAATCGCGCAGACCTCACCTGGCTTGCATGCCTGCACGGGCCGGTAAATCCGCTTCCAGGCGAAGAACAGCGCCACTAGCGCCGCGCCGATGAACAACGGTCGATAGGGTTCCAGCACCGTCAGGTTGCCGATCCAAGCACCGGAGAAGCCCAGGGCGACCAGTACTAGCGGCCCCAGGCAGCAGGTCGATGCAAGAATGGCGGCCAGCCCGCCGGCGAAGAGCGCACCGCGCCCGTTTTGTGGTTCAGACATACGTTGGCCCTTTTGAATTTGGATTGGATAGCGTAACCTTACTTCCGTACTCATGTACGGAGTCAAGCGATATGGAAAATAATTTGGAAAACCTGACCATTGGCGTTTTTGCCAAGGCGGCCGGGGTCAACGTGGAGACAATCCGCTTCTATCAGCGCAAGGGCCTGTTGCGGGAACCGGACAAGCCTTACGGCAGCATCCGCCGCTATGGGGAGGCGGACGTGGTTCGGGTGAAATTCGTGAAATCGGCACAGCGGCTGGGGTTCAGTCTGGACGAGATTGCCGAGCTGTTGCGGCTCGACGATGGCACCCACTGCGAGGAGGCCAGCAGCCTGGCCGAACACAAGCTCAAGGACGTGCGCGAGAAGATGGCCGACTTGGCGCGCATGGAAACCGTGCTGTCTGAACTCGTGTGCGCCTGCCATGCACGAAAGGGGAATGTTTCCTGCCCGTTGATCGCGTCACTACAGGGCGAAGCAGGCCTGGCAAGGTCAGCTATGCCTTAGCGTGCTTTATTTAATGAGATGGTCACTCCCTCCTTCCCAGTACTATGCTGAGGACAGGCTTTCATTCGGAGAACCATCATGGAAAACATTGCGCTTATTGGTATCGATCTGGGTAAGAACTCTTTCCATATTCATTGTCAGGATCATCGTGGGAAGGCCGTTTACCGTAAAAAATTCACCCGACCAAAGCTAATCGAATTTCTGGCGACATGCCCGGCAACAACCATCGCGATGGAAGCCTGTGGCGGTTCTCACTTTATGGCACGCAAGCTGGCAGAGTTAGGGCATTTTCCAAAGCTGATATCACCGCAATTTGTCCGCCCATTCGTTAAAAGCAACAAAAATGACTTCGTTGATGCTGAAGCTATCTGTGAAGCAGCATCACGTCCATCTATGCGTTTCGTGCAGCCCAGAACCGAATCTCAGCAGGCAATGCGAGCTCTGCATCGTGTCCGTGAATCCCTGGTTCAGGATAAGGTGAAAACAACTAATCAGATGCATGCTTTTCTGCTGGAATTTGGTATCAGCGTTCCGCGAGGTGCTGCCGTTATTAGTCGACTGAGTACCCTTCTTGAGGACAGTAGTTTGCCTCTTTATCTCAGCCAGTTACTGCTGAAATTACAACAGCATTATCACTATCTTGTTGAGCAGATTAAAGATCTGGAATCTCAGTTGAAACGAAAGTTGGACGAAGATGAGGTTGGACAGCGCTTGCTGAGTATTCCCTGCGTTGGAACGCTGACTGCCAGTACTATTTCAACTGAGATTGGCGACGGGAAGCAGTACGCCAGCAGCCGTGACTTTGCG
GGCAGTCAGCGTTCCAACGCAGGGAATACTCAGCAAGCGCTGTCCAACCTCATCTTCGTCCAACTTTCGTTTCAACTGAGATTCCAGATCTTTAATCTGCTCAACAAGATAGTGATAATGCTGTTGTAATTTCAGCAGTAACTGGCTGAGATAAAGAGGCAAACTACTGTCCTCAAGAAGGGTACTCAGTCGACTAATAACGGCAGCACCTCGCGGAACGCTGATACCAAATTCCAGCAGAAAAGCATGCATCTGATTAGTTGTTTTCACCTTATCCTGAACCAGGGATTCACGGACACGATGCAGAGCTCGCATTGCCTGCTGAGATTCGGTTCTGGGCTGCACGAAACGCATAGATGGACGTGATGCTGCTTCACAGATAGCTTCAGCATCAACGAAGTCATTTTTGTTGCTTTTAACGAATGGGCGGACAAATTGCGGTGATATCAGCTTTGGAAAATGCCCTAACTCTGCCAGCTTGCGTGCCATAAAGTGAGAACCGCCACAGGCTTCCATCGCGATGGTTGTTGCCGGGCATGTCGCCAGAAATTCGATTAGCTTTGGTCGGGTGAATTTTTTACGGTAAACGGCCTTCCCACGATGATCCTGACAATGAATATGGAAAGAGTTCTTACCCAGATCGATACCAATAAGCGCAATGTTTTCCATGATGGTTCTCCGAATGAAAGCCTGTCCTCAGCATAGTACTGGGAAGGAGGGAGTGACCATCTCATTAAATAAAGCACGCTAAGGCATAGCTGACCTTGCCAGGCCTGCTTCGCCCTGTAGTGACGCGATCAACGGGCAGGAAACATTCCCCTTTCGTGCATGGCAGGCGCACACGAGTTCAGACAGCACGGTTTCCATGCGCGCCAAGTCGGCCATCTTCTCGCGCACGTCCTTGAGCTTGTGTTCGGCCAGGCTGCTGGCCTCCTCGCAGTGGGTGCCATCGTCGAGCCGCAACAGCTCGGCAATCTCGTCCAGACTGAACCCCAGCCGCTGTGCCGATTTCACGAATTTCACCCGAACCACGTCCGCCTCCCCATAGCGGCGGATGCTGCCGTAAGGCTTGTCCGGTTCCCGCAACAGGCCCTTGCGCTGATAGAAGCGGATTGTCTCCACGTTGACCCCGGCCGCCTTGGCAAAAACGCCAATGGTCAGGTTTTCCAAATTATTTTCCATATCGCTTGACTCCGTACATGAGTACGGAAGTAAGGTTACGCTATCCAATCCAAATTCAAAAGGGCCAACGTATGTCTGAACCACAAAACGGGCGCGGTGCGCTCTTCGCCGGCGGGCTGGCCGCCATTCTTGCATCGACCTGCTGCCTGGGGCCGCTAGTACTGGTCGCCCTGGGCTTCTCCGGTGCTTGGATCGGCAACCTGACGGTGCTGGAACCCTATCGACCGTTGTTCATCGGCGCGGCGCTAGTGGCGCTGTTCTTCGCCTGGAAGCGGATTTACCGGCCCGTGCAGGCATGCAAGCCAGGTGAGGTCTGCGCGATTCCGCAGGTGCGCGCCACCTACAAGCTGATTTTCTGGATCGTGGCCGTGCTGGTCCTGGTCGCGCTTGGATTTCCCTATGTCGTTCCATTTTTCTATTAACCAGGAGTTCATCATGAAGAAACTGTTTGCCTCCCTTGCCCTCGCCGCCGCTGTTGCCCCGGTGTGGGCCGCTACCCAGACCGTCACGCTAGCGGTTCCCGGCATGACTTGCGTCGCCTGCCCGATCACAGTCAAGAAAGCGCTCTCCAAGGTCGAAGGCGTGAGCAAGGTCGATGTGGGCTTCGAGAAGCGCGAGGCCGTCGTCACTTTTGACGACACCAAGGCCAGCGTACAGAAGCTGACCAAGGCCACCGCAGACGCCGGCTATCCGTCCAGCGTCAAGCAGTGAGCCAGCAAGCCAACGACAACAGCGAGAGCCGCTTCATGGGACTGATGACACGCATTGCCGATAAAACCGGCGCGCTCGGCAGCGTCGTTTCCGCGATGGGCTGCGCCGCCTGCTTTCCAGCCCTCGCCAGCTTCGGCGCGGCCATCGGGCTGGGCTTCTTGAGCCAGTACGAGGGACTGTTCATCAGCCGCCTGCTGCCGCTGTTTGCCGCGCTGGCCTTCCTGGCGAACGCGCTGGGTTGGTTCAGTCATCGGCAATGGCTGCGCAGTCTGCTCGGCATGATCGGCCCGGCCATCGTGTTTGCGGCCACGGTCTGGCTGCTCGGCAACTGGTGGACGGCGAACCTGATGTACGTCGGCCTGGCCTTGATGATTGGGGTGTCGATCTGGGACTTCGTGTCGCCGGCGCATCGCCGTTGCGGACCGGACGGCTGCGAACTCCCCGCCAAGCGCTTGTGAAAGACGGCTGACCGTGCGACACGGCGGCCCACACGAATAAGGAACGATGGTATGAGCACTCTCAAAATCACCGGCATGACTTGCGACTCGTGCGCAGTGCATGTCAAGGACGCCCTGGAGAAAGTGCCCGGCGTGCAATCAGCGGATGTCTCCTACGCCAAGGGCAGCGCCAAGCTCGCCATTGAGGTCGGCACGTCACCCGACGCGCTGACGGCCGCTGTAGCTGGACTCGGTTATCGGGCCACGCTGGCCGATGCCCCCTCAGTTTCGACGCCGGGCGGATTGCTCGACAAGATGCGCGATCTGCTGGGCAGAAACGACAAGACGGGTAGCAGCGGCGCATTGCATATCGCCGTCATCGGCAGCGGCGGGGCCGCGATGGCAGCGGCGCTGAAGGCCGTCGAGCAAGGCGCACGTGTCACGCTGATCGAGCGCGGCACCATCGGCGGCACCTGCGTCAATGTCGGTTGTGTGCCGTCCAAGATCATGATCCGCGCCGCCCATATCGCCCATCTGCGCCGGGAAAGCCCGTTCGATGGCGGCATCGCCGCTACCACGCCGACCATCCAGCGCACGGCGCTGCTGGCCCAGCAGCAGGCCCGCGTCGATGAACTGCGCCACGCCAAGTACGAAGGCATCTTGGAGGGCAATCCGGCGATCACTGTGCTGCACGGCTCCGCCCGCTTTAAGGACAATCGCAACCTGATCGTGCAACTCAACGACGGCGGCGAGCGCGTGGTGGCATTCGACCGCTGCCTGATCGCCACCGGCGCGAGCCCGGCCGTGCCGCCGATTCCCGGCCTGAAAGACACTCCGTACTGGACTTCCACTGAAGCGCTGGTCAGCGAGACGATTCCTAAGCGCCTGGCCGTGATTGGCTCATCAGTGGTGGCGCTGGAGCTGGCGCAGGCGTTCGCCCGACTCGGAGCGAAGGTGACGATCCTGGCTCGCAGCACGCTGTTCTTCCGCGAAGACCCAGCTATAGGCGAAGCCGTCACGGCCGCATTCCGCATGGAGGGCATCGAGGTGAGGGAACACACCCAGGCCAGCCAGGTCGCGTATATCAATGGTGAAGGGGACGGCGAATTCGTGCTCACCACGGCGCACGGCGAACTGCGCGCCGACAAGCTGCTGGTCGCCACCGGCCGCGCGCCCAACACACGCAAGCTGGCACTGGATGCGACGGGCGTCACGCTCACCCCGCAAGGCGCTATCGTCATCGACCCCGGCATGCGTACAAGCGTGGAACACATCTACGCCGCAGGCGACTGCACCGACCAGCCGCAGTTCGTCTATGTGGCGGCAGCGGCCGGCACTCGCGCCGCGATCAACATGACCGGCGGTGACGCGGCCCTGAACCTGACCGCGATGCCGGCCGTGGTGTTCACCGACCCGCAAGTGGCGACCGTAGGCTACAGCGAGGCGGAAGCGCACCATGACGGCATCAAAACTGATAGTCGCACGCTAACGCTGGACAACGTGCCGCGCGCGCTCGCCAACTTCGACACGCGCGGCTTCATCAAACTGGTGGTTGAAGAAGGCAGCGGACGACTGATCGGCGTGCAGGCAGTGGCCCCGGAAGCGGGCGAACTGATCCAGACGGCCGCACTGGCGATTCGCAACCGGATGACGGTGCAGGAACTGGCCGACCAGTTGTTCCCCTACCTGACGATGGTCGAAGGGTTGAAGCTCGCGGCGCAGACCTTCAACAAGGATGTGAAGCAGCTTTCCTGCTGCGCCGGGTGAGGACAAGGAGGTGTGCGATGAGCGCCTACACGGTATCGCAACTGGCCCATAACGCTGGGGTGAGCGTACATATCGTGCGCGACTACCTGGTGCGCGGCTTGTTACGGCCGGTGGCCTGCACCACGGGCGGCTACGGCGTGTTCGACGATGCGGCCTTGCAACGGCTGTGCTTCGTGCGCGCGGCCTTCGAGGCGGGTATCGGCCTGGATGCCCTGGCGCGGCTGTGCCGTGCGCTCGACGCAGCGGACGGCGCACAAGCCGCAGCGCAGCTTGCCGTGCTGCGCCAGTTGGTCGAGCGGCGGCGCGCGGCGTTGGCCCATCTGGACGCGCAACTGGCCTCCATGCCAGCCGAGCGGGCGCACGAGGAGGCATTGCCGTGAACGCCCCTGACAAACTGCCGCCCGAGACGCGCCAACCCGTTTCCGGCTACCTGTGGGGTGCGCTGGCCGTGTTGACCTGCCCCTGCCATCTGCCGATTCTCGCCGCCGTGCTGGCCGGGACGACCGCCGGTGCCTTCCTTGGCGAGCATTGGGGTGTTGCCGCGCTCGCGCTGACCGGCTTGTTCGTTCTGGCCGTAACGCGGCTGCTGCGCGCCTTCCGGGGCGGATCATGACGAGTTCGCAGCCCGCCGGATGGACGGCGGCCGAGTTGGCGCAGGCGGCGGCGCGCGGACAGCTTGACCTGCATTACCAGCCGCTGGTCGATCTGCGCGATCACCGGATCGCTGGCGCGGAAGCGTTGATGCGCTGGCGGCATCCGAGGCTTGGCCTGTTGCCGCCCGGCCAGTTCCTGCCGCTGGCCGAGTCGTTCGGCCTGATGCCGGAAATAGGCGCGTGGGTGCTGGGCGAGGCCTGTCGCCAGATGCACAAGTGGCAAGGACCGGCATGGCAACCGTTCCGTCTTGCCATCAATGTGTCCGCCAGCCAGGTTGGGCCAACGTTCGACGACGAGGTAAAGCGGGTGCTGGCCGATATGGCCCTGCCCGCCGAGCTTCTGGAGATCGAACTGACCGAATCGGTCGCATTCGGCAATCCAGCCCTGTTCGCCAGTTTCGACGCCTTGCGCGCCATCGGCGTGCGCTTCGCCGCCGACGACTTCGGCACCGGCTATTCCTGCCTGCAACATCTGAAATGCTGCCCCATCACCACATTGAAAATCGACCAATCCTTTGTCGCCAGGCTCCCGGATGATGCCCGTGACCAAACTATCGTGCGGGCGGTGATCCAGCTCGCGCACGGGCTGGGCATGGATGTCATTTTCAGAAGACGACTGCACCAGTTGATTGGGCGTAATGGCTGTTGTGCAGCCAG
NODE 17 70 15448 10880 0 0
CCCGACGTATCCCCACTGTTCGTCCATTTCCGCGCAGACGATGACGTCACTGCCCGGCTGTATGCGCGAG
ATACGTCGGGGCTAAATCGCGCCAGCGCTGGCTGTTTTACGCGTATGACAGGCTCCGGAAGACGGTTGTT
NODE 18 5765 421450 421450 0 0
TGCTCAGCATGTTTGAGTGCTTTACTCGCCGCGGGTTGAGAAATATGTAAAACTTCAGCCGCACGCGTTAAGGAACCACAAGTCATTACAGCATAAAAGATATCGAGATGTCTTAATTTCATTCCATGTAGCCTACTGATTATTTATTTCTACGGACTATTCTAACGAATAAAGTATAAATAATCAGATATACTCGTCATAATTCAAATTTTGGTTTAGTTGTCACGAGAATTAATTCGTAAACGTGCAAGCTAAATAGATTGACTAGGGGAATATACGGGGTAAGAAAGCGGCTCGGCATACTGCCCTATAATAAATTGTTAGGAGAAGTACGCCGAGTAGTGTGTAGCTATTAGGTAAAGTATGTACCAATTTCAATAAATATTTTAATTAAGATACTGTTTGAAATATCAACAATAAAGGCACCGACCATAGGAACGACAAGGAAAGCTTTATGTGATGGTCCAAATGCTTTTGTGACTGTTTGCATATTCGCAATTGCTGTTGGTGTTGCTCCCATACCAAAGCCACAGTGACCCGCGCTGATCACGACAGCATCATAATCTTTGCCCATCATTTTGAAGGTGACAAAGCAGGCAAATAGCACCATGACAACAGTTTGTACAGCAATGATAATTAATACTGGCCCTGCCATGCTTGCCAATTGACCAAATTTTAATGACATTAACGCCATTGCCAAGAAAAGCGATAAAGCAACGCTACCTAATACATCGACGGTCGGCTCAAACACTTCGTGTTTAAATACATGAGTCAGTGTATTACGGATAATAATACCGACAAATAAACACCAGACAAAAGTAGGCAGTTGCAGAAAAGTATCTTTAAACAATGCACTGATATAGCCACCAACAACAATACAGATAATCAGCATTGAAATGGTTTCAATAACGTTATTTGCATTGATTTTTCTTTTGACGCTTGGTTGCTCAAAAGCTTCAACGATAGTGTCGCGCTCTTGCTCGGTTGTTTTAGGAATAGAGACCTTTTTCAAAAGATGACGGGCAACAGGGCCGCCAACTAAACCACCCAACACTAATCCAAGTGTTGCACAAGCCATCGCTAATTCAACGGCGCCTGTTACACCATATTTATCAGCGAGAATAGGGCCCCATGCTCCGGCATTACCATGACCACCTGTTAGAGTAATTGAACCTGCAATTAAGCCAATAAATGGACTTTCATTCATCATGACAGCCATACTCATGCCGACAGTATTTTGATGGCGATTAGGATCGTTACTGCAATAGTTAATAGAACTAACGGCTTTCCTCCTTTAATCAGTCGAGAAAAGTCAGAACTTAGCCCGATAGAGGAAAAGAATGTGAGCATTAATAAACTTTGCAATGAAGCATCAAAAGTAAACGAATAACCTGATGTTTTATCAATAATTAACAGAACAATTGCAACAATAAAGCCACCAACGACGGCTTCTGGTATGTGGTTTTTTTGTAGGAACGGGGTAAATTTTACGACAAACATTCCTATGAGTAGCGCGATACATGCGACTAATAATGTATAACTGGCATCTAGGATCATTTTTTTACCTCTATTAGTTTACCAGAATTTTCACTATAACAATTTAACAATAGTGAAAAATGAAGTTACTTTGGTTAACTAATTTTTAACAATGAGTTTTATTAGGGTATCCATAACTTTTAGTTAATAGGGTCATAATTTTAGTGTGATCTTAATCATGAAATATTAAAAAGATTAAAATAACAACAATGGTATTTAATGATGGGTAAACCTAAATACCATGCGGGATCCGCACTATTTTCGGTGATAGCAAAAAATAAAAAAGTATAAATAATAAACAAAATTATAAGAGAAGGAGAACATGATAAGCGCAGGCCGAGCAATTTAAAGAAGTGTGATATACAACATAAAACAGCAGCATGACCTTTCTATATTTCGTTGCTTATCGAAGTGTTAATTTTCGGGTGGATTACTCTGTTTGTTGATTAATAACGGAGAAAAATATGATTGCTGTAATATTTGAGGTGCAAATACAACCCGACCAACAAACTCGCTATTTGACTTTAGCTGAGGAGTTAAGACCACTATTAAGTCATGTAGCTGGTTTTATTTCAATTGAACGTTTTCAAAGTCTAGCTACAGAAGGAAAAATGTTATCGCTATCTTGGTGGGAAAACGAATACGCAGTTCTGCAATGGAAAAATCATGTTTTACATGCGAAAGCTCAACAAGAAGGGCGAGAGTCAATATTTGATTTTTACAAAATTAGTATTGCTCATATTACTCGCGAATATTCATTTAAAAAGGACAAGGATAATGTTTGATGTTCACGTTGTTTTAGATAATCAAATAGGACAATTAGCATTACTAGGAAAAACATTAGGTAATAAAGGTATTGGATTGGAAGGGGGAGGGATATTTACGGTTGGTGATGAATGCCATGCTCATTTTCTTGTTGAACAAGGAAAGGAAGCTAAAATAGCGCTAGAGCAAGCTGGACTGTTAGTACTTGCGATCCGGACACCATTAATTCGTAAGTTAAAACAGGAAAAACCGGGGGAACTTGGCGAAATAGCACGAGTATTGGCGGAGAATAACATTAATATTTTAGTGCAATACAGTGACCATGCTAACCAACTGATATTAATAACGGACAATGATAGTATGGCTGCATCTGTTACGCTCCCTTGGGCAATAAAGTGAACTTGCGATGGCTAATTTAATACGAAAAGAGGTTACCTTTGAGTCCTCAATAGCCGCGATAGGGGCGGCTATGTCTGACATTTCACGAGTTAAAATACTCAGTGCTTTGATGGATGGGCGAGCTTGGACGGCCACTGAGCTAAGTTCTGTGGCGAATATATCAGCTTCAACGGCGAGCAGTCATTTATCTAAATTATTAGATTGCCAGCTAATCACAGTAGTAGCTCAAGGCAAGCATCGTTATTTTCGGCTAGCAGGAAAAGATATTGCTGAATTGATGGAAAGTATGATGGGGATCTCCTTAAACCATGGCGTACATGCCAGAGTTTCCACGCCAGTGCATTTACGAAAAGCACGTACTTGCTATGATCATTTAGCTGGCGAAGTTGCCGTTAAGATCTATGATTCCCTTTGTCAACAGCAATGGATCACTGAAAATGGTTCAATGATCACATTAAGTGGTATTCAATATTTTCATGAAATGGGAATTGACGTTCCTTCCAAACATTCACGTAAAATCTGTTGTGCGTGTTTAGATTGGAGTGAACGCCGTTTCCATTTAGGTGGGTACGTTGGAGCCGCATTATTTTCGCTTTATGAATCTAAAGGGTGGTTAACTCGACATCTTGGTTACCGTGAAGTTACCATCACGGAAAAAGGTTATGCTGCTTTTAAGACCCACTTTCACATTTAAGTTGTTTTTCTAATCCGCATATGATCAATTCAAGGCCGAATAAGAAGGCTGGCTCTGCACCTTGGTGATCAAATAATTCGATAGCTTGTCGTAATAATGGCGGCATACTATCAGTAGTAGGTGTTTCCCTTTCTTCTTTAGCGACTTGATGCTCTTGATCTTCCAATACGCAACCTAAAGTAAAATGCCCCACAGCGCTGAGTGCATATAATGCATTCTCTAGTGAAAAACCTTGTTGGCATAAAAAGGCTAATTGATTTTCGAGAGTTTCATACTGTTTTTCTGTAGGCCGTGTACCTAAATGTACTTTTGCTCCATCGCGATGACTTAGTAAAGCACATCTAAAACTTTTAGCGTTATTACGTAAAAAATCTTGCCAGCTTTCCCCTTCTAAAGGGCAAAAGTGAGTATGGTGCCTATCTAACATCTCAATGGCTAAGGCGTCGAGCAAAGCCCGCTTATTTTTTACATGCCAATACAATGTAGGCTGCTCTACACCTAGCTTCTGGGCGAGTTTACGGGTTGTTAAACCTTCGATTCCGACCTCATTAAGCAGCTCTAATGCGCTGTTAATCACTTTACTTTTATCTAATCTAGACATCATTAATTCCTAATTTTTGTTGACACTCTATCATTGATAGAGTTATTTTACCACTCCCTATCAGTGATAGAGAAAAGTGAAATGAATAGTTCGACAAAGATCGCATTGGTAATTACGTTACTCGATGCCATGGGGATTGGCCTTATCATGCCAGTCTTGCCAACGTTATTACGTGAATTTATTGCTTCGGAAGATATCGCTAACCACTTTGGCGTATTGCTTGCACTTTATGCGTTAATGCAGGTTATCTTTGCTCCTTGGCTTGGAAAAATGTCTGACCGATTTGGTCGGCGCCCAGTGCTGTTGTTGTCATTAATAGGCGCATCGCTGGATTACTTATTGCTGGCTTTTTCAAGTGCGCTTTGGATGCTGTATTTAGGCCGTTTGCTTTCAGGGATCACAGGAGCTACTGGGGCTGTCGCGGCATCGGTCATTGCCGATACCACCTCAGCTTCTCAACGCGTGAAGTGGTTCGGTTGGTTAGGGGCAAGTTTTGGGCTTGGTTTAATAGCGGGGCCTATTATTGGTGGTTTTGCAGGAGAGATTTCACCGCATAGTCCCTTTTTTATCGCTGCGTTGCTAAATATTGTCGCTTTCCTTGTGGTTATGTTTTGGTTCCGTGAAACCAAAAATACACGTGATAATACAGATACCGAAGTAGGGGTTGAGACGCAATCGAATTCGGTATACATCACTTTATTTAAAACGATGCCCATTTTGTTGATTATTTATTTTTCAGCGCAATTGATAGGCCAAATTCCCGCAACGGTGTGGGTGCTATTTACCGAAAATCGTTTTGGATGGAATAGCATGATGGTTGGCTTTTCATTAGCGGGTCTTGGTCTTTTACACTCAGTATTCCAAGCCTTTGTGGCAGGAAGAATAGCCACTAAATGGGGCGAAAAAACGGCAGTACTGCTCGGATTTATTGCAGATAGTAGTGCATTTGCCTTTTTAGCGTTTATATCTGAAGGTTGGTTAGTTTTCCCTGTTTTAATTTTATTGGCTGGTGGTGGGATCGCTTTACCTGCATTACAGGGAGTGATGTCTATCCAAACAAAGAGTCATCAGCAAGGTGCTTTACAGGGATTATTGGTGAGCCTTACCAATGCAACCGGTGTTATTGGCCCATTACTGTTTGCTGTTATTTATAATCATTCACTACCAATTTGGGATGGCTGGATTTGGATTATTGGTTTAGCGTTTTACTGTATTATTATCCTGCTATCGATGACCTTCATGTTAACCCCTCAAGCTCAGGGGAGTAAACAGGAGACAAGTGCTTAGTTATTTCGTCACCAAATGATGTTATTCCGCGAAATATAATGACCCTCTTGATAACCCAAGAGGGCATTTTTTACGATAAAGAAGATTTAGCTTCAAATAAAACCTATCTATTTTATTTATCTTTCAAGCTCAATAAAAAGCCGCGGTAAATAGCAATAAATTGGCCTTTTTTATCGGCAAGCTCTTTTAGGTTTTTCGCATGTATTGCGATATGCATAAACCAGCCATTGAGTAAGTTTTTAAGCACATCATCATCATAAGCTTTAAGTTGGTTCTCTTGGATCAATTTGCTGACAATGGCGTTTACCTTACCAGTAATGTATTCAAGGCTAATTTTTTCAAGTTCATTCCAACCAATGATAGGCATCACTTCTTGGATAGGGATAAGGTTTTTATTATTATCAATAATATAATCAAGATAATGGGTGATGCTGCCAACTTACTGATTTAGTGTATGATGGTGTTTTTGAGGTGCTCCAGTGG
ATTATCTTGATTATATTATTGATAATAATAAAAACCTTATCCCTATCCAAGAAGTGATGCCTATCATTGGTTGGAATGAACTTGAAAAAATTAGCCTTGAATACATTACTGGTAAGGTAAACGCCATTGTCAGCAAATTGATCCAAGAGAACCAACTTAAAGCTTATGATGATGATGTGCTTAAAAACTTACTCAATGGCTGGTTTATGCATATCGCAATACATGCGAAAAACCTAAAAGAGCTTGCCGATAAAAAAGGCCAATTTATTGCTATTTACCGCGGCTTTTTATTGAGCTTGAAAGATAAATAAAATAGATAGGTTTTATTTGAAGCTAAATCTTCTTTATCGTAAAAAATGCCCTCTTGGGTTATCAAGAGGGTCATTATATTTCGCGGAATAACATCATTTGGTGACGAAATAACTAAGCACTTGTCTCCTGTTTACTCCCCTGAGCTTGAGGGGTTAACATGAAGGTCATCGATAGCAGGATAATAATACAGTAAAACGCTAAACCAATAATCCAAATCCAGCCATCCCAAATTGGTAGTGAATGATTATAAATAACAGCAAACAGTAATGGGCCAATAACACCGGTTGCATTGGTAAGGCTCACCAATAATCCCTGTAAAGCACCTTGCTGATGACTCTTTGTTTGGATAGACATCACTCCCTGTAATGCAGGTAAAGCGATCCCACCACCAGCCAATAAAATTAAAACAGGGAAAACTAACCAACCTTCAGATATAAACGCTAAAAAGGCAAATGCACTACTATCTGCAATAAATCCGAGCAGTACTGCCGTTTTTTCGCCCCATTTAGTGGCTATTCTTCCTGCCACAAAGGCTTGGAATACTGAGTGTAAAAGACCAAGACCCGCTAATGAAAAGCCAACCATCATGCTATTCCATCCAAAACGATTTTCGGTAAATAGCACCCACACCGTTGCGGGAATTTGGCCTATCAATTGCGCTGAAAAATAAATAATCAACAAAATGGGCATCGTTTTAAATAAAGTGATGTATACCGAATTCGATTGCGTCTCAACCCCTACTTCGGTATCTGTATTATCACGTGTATTTTTGGTTTCACGGAACCAAAACATAACCACAAGGAAAGCGACAATATTTAGCAACGCAGCGATAAAAAAGGGACTATGCGGTGAAATCTCTCCTGCAAAACCACCAATAATAGGCCCCGCTATTAAACCAAGCCCAAAACTTGCCCCTAACCAACCGAACCACTTCACGCGTTGAGAAGCTGAGGTGGTATCGGCAATGACCGATGCCGCGACAGCCCCAGTAGCTCCTGTGATCCCTGAAAGCAAACGGCCTAAATACAGCATCCAAAGCGCACTTGAAAAAGCCAGCAATAAGTAATCCAGCGATGCGCCTATTAATGACAACAACAGCACTGGGCGCCGACCAAATCGGTCAGACATTTTTCCAAGCCAAGGAGCAAAGATAACCTGCATTAACGCATAAAGTGCAAGCAATACGCCAAAGTGGTTAGCGATATCTTCCGAAGCAATAAATTCACGTAATAACGTTGGCAAGACTGGCATGATAAGGCCAATCCCCATGGCATCGAGTAACGTAATTACCAATGCGATCTTTGTCGAACTATTCATTTCACTTTTCTCTATCACTGATAGGGAGTGGTAAAATAACTCTATCAATGATAGAGTGTCAACAAAAATTAGGAATTAATGATGTCTAGATTAGATAAAAGTAAAGTGATTAACAGCGCATTAGAGCTGCTTAATGAGGTCGGAATCGAAGGTTTAACAACCCGTAAACTCGCCCAGAAGCTAGGTGTAGAGCAGCCTACATTGTATTGGCATGTAAAAAATAAGCGGGCTTTGCTCGACGCCTTAGCCATTGAGATGTTAGATAGGCACCATACTCACTTTTGCCCTTTAGAAGGGGAAAGCTGGCAAGATTTTTTACGTAATAACGCTAAAAGTTTTAGATGTGCTTTACTAAGTCATCGCGATGGAGCAAAAGTACATTTAGGTACACGGCCTACAGAAAAACAGTATGAAACTCTCGAAAATCAATTAGCCTTTTTATGCCAACAAGGTTTTTCACTAGAGAATGCATTATATGCACTCAGCGCTGTGGGGCATTTTACTTTAGGTTGCGTATTGGAAGATCAAGAGCATCAAGTCGCTAAAGAAGAAAGGGAAACACCTACTACTGATAGTATGCCGCCATTATTACGACAAGCTATCGAATTATTTGATCACCAAGGTGCAGAGCCAGCCTTCTTATTCGGCCTTGAATTGATCATATGCGGATTAGAAAAACAACTTAAATGTGAAAGTGGGTCTTAAAAGCAGCATAACCTTTTTCCGTGATGGTAACTTCACGGTAACCAAGATGTCGAGTTAACCACCCTTTAGATTCATAAAGCGAAAATAATGCGGCTCCAACGTACCCACCTAAATGGAAACGGCGTTCACTCCAATCTAAACACGCACAACAGATTTTACGTGAATGTTTGGAAGGAACGTCAATTCCCATTTCATGAAAATATTGAATACCACTTAATGTGATCATTGAACCATTTTCAGTGATCCATTGCTGTTGACAAAGGGAATCATAGATCTTAACGGCAACTTCGCCAGCTAAATGATCATAGCAAGTACGTGCTTTTCGTAAATGCACTGGCGTGGAAACTCTGGCATGTACGCCATGGTTTAAGGAGATCCCCATCATACTTTCCATCAATTCAGCAATATCTTTTCCTGCTAGCCGAAAATAACGATGCTTGCCTTGAGCTACTACTGTGATTAGCTGGCAATCTAATAATTTAGATAAATGACTGCTCGCCGTTGAAGCTGATATATTCGCCACAGAACTTAGCTCAGTGGCCGTCCAAGCTCGCCCATCCATCAAAGCACTGAGTATTTTAACTCGTGAAATGTCAGACATAGCCGCCCCTATCGCGGCTATTGAGGACTCAAAGGTAACCTCTTTTCGTATTAAATTAGCCATCGCAAGTTCACTTTATTGCCCAAGGGAGCGTAACAGATGCAGCCATACTATCATTGTCCGTTATTAATATCAGTTGGTTAGCATGGTCACTGTATTGCACTAAAATATTAATGTTATTCTCCGCCAATACTCGTGCTATTTCGCCAAGTTCCCCCGGTTTTTCCTGTTTTAACTTACGAATTAATGGTGTCCGGATCGCAAGTACTAACAGTCCAGCTTGCTCTAGCGCTATTTTAGCTTCCTTTCCTTGTTCAACAAGAAAATGAGCATGGCATTCATCACCAACCGTAAATATCCCTCCCCCTTCCAATCCAATACCTTTATTACCTAATGTTTTTCCTAGTAATGCTAATTGTCCTATTTGATTATCTAAAACAACGTGAACATCAAACATTATCCTTGTCCTTTTTAAATGAATATTCGCGAGTAATATGAGCAATACTAATTTTGTAAAAATCAAATATTGACTCTCGCCCTTCTTGTTGAGCTTTCGCATGTAAAACATGATTTTTCCATTGCAGAACTGCGTATTCGTTTTCCCACCAAGATAGCGATAACATTTTTCCTTCTGTAGCTAGACTTTGAAAACGTTCAATTGAAATAAAACCAGCTACATGACTTAATAGTGGTCTTAACTCCTCAGCTAAAGTCAAATAGCGAGTTTGTTGGTCGGGTTGTATTTGCACCTCAAATATTACAGCAATCATATTTTTCTCCGTTATTAATCAACAAACAGAGTAATCCACCCGAAAATTAACACTTCGATAAGCAACGAAATATAGAAAGGTCATGCTGCTGTTTTATGTTGTATATCACACTTCTTTAAATTGCTCGGCCTGCGCTTATCATGTTCTCCTTCTCTTATAATTTTGTTTATTATTTATACTTTTTTATTTTTTGCTATCACCGAAAATAGTGCGGATCCCGCATGGTATTTAGGTTTACCCATCATTAAATACCATTGTTGTTATTTTAATCTTTTTAATATTTCATGATTAAGATCACACTAAAATTATGACCCTATTAACTAAAAGTTATGGATACCCTAATAAAACTCATTGTTAAAAATTAGTTAACCAAAGTAACTTCATTTTTCACTATTGTTAAATTGTTATAGTGAAAATTCTGGTAAACTAATAGAGGTAAAAAAATGATCCTAGATGCCAGTTATACATTATTAGTCGCATGTATCGCGCTACTCATAGGAATGTTTGTCGTAAAATTTACCCCGTTCCTACAAAAAAACCACATACCAGAAGCCGTCGTTGGTGGCTTTATTGTTGCAATTGTTCTGTTAATTATTGATAAAACATCAGGTTATTCGTTTACTTTTGATGCTTCATTGCAAAGTTTATTAATGCTCACATTCTTTTCCTCTATCGGGCTAAGTTCTGACTTTTCTCGACTGATTAAAGGAGGAAAGCCGTTAGTTCTATTAACTATTGCAGTAACGATCCTAATCGCCATCAAAATACTGTCGGCATGAGTATGGCTGTCATGATGAATGAAAGTCCATTTATTGGCTTAATTGCAGGTTCAATTACTCTAACAGGTGGTCATGGTAATGCCGGAGCATGGGGCCCTATTCTCGCTGATAAATATGGTGTAACAGGCGCCGTTGAATTAGCGATGGCTTGTGCAACACTTGGATTAGTGTTGGGTGGTTTAGTTGGCGGCCCTGTTGCCCGTCATCTTTTGAAAAAGGTCTCTATTCCTAAAACAACCGAGCAAGAGCGCGACACTATCGTTGAAGCTTTTGAGCAACCAAGCGTCAAAAGAAAAATCAATGCAAATAACGTTATTGAAACCATTTCAATGCTGATTATCTGTATTGTTGTTGGTGGCTATATCAGTGCATTGTTTAAAGATACTTTTCTGCAACTGCCTACTTTTGTCTGGTGTTTATTTGTCGGTATTATTATCCGTAATACACTGACTCATGTATTTAAACACGAAGTGTTTGAGCCGACCGTCGATGTATTAGGTAGCGTTGCTTTATCGCTTTTCTTGGCAATGGCGTTAATGTCATTAAAATTTGGTCAATTGGCAAGCATGGCAGGGCCAGTATTAATTATCATTGCTGTACAAACTGTTGTCATGGTGCTATTTGCCTGCTTTGTCACCTTCAAAATGATGGGCAAAGATTATGATGCTGTCGTGATCAGCGCGGGTCACTGTGGCTTTGGTATGGGAGCAACACCAACAGCAATTGCGAATATGCAAACAGTCACAAAAGCATTTGGACCATCACATAAAGCTTTCCTTGTCGTTCCTATGGTCGGTGCCTTTATTGTTGATATTTCAAACAGTATCTTAATTAAAATATTTATTGAAATTGGTACATACTTTACCTAATAGCTACACACTACTCGGCGTACTTCTCCTAACAATTTATTATAGGGCAGTATGCCGAGCCGCTTTCTTACCCCGTATATTCCCCTAGTCAATCTATTTAGCTTGCACGTTTACGAATTAATTCTCGTGACAACTAAACCAAAATTTGAATTATGACGAGTATATCTGATTATTTATACTTTATTCGTTAGAATAGTCCGTAGAAATAAATAATCAGTAGGCTACATGGAATGAAATTAAGACATCTCGATATCTTTTATGCTGTAATGACTTGTGGTTCCTTAACGCGTGCGGCTGAAGTTTTACATATTTCTCAACCCGCGGCGAGTAAAGCACTCAAACATGCTGAGCACTGAGAGATCCCCTCATAATTTCCCCAAAACGTAACCATGTGTGAATAGATTTTGAGTAA
NODE 19 1026 75036 75036 0 0
TCGTGTCCCGTGGTATTTAACCCCCTTAATCGCCAGACCATGGGGGGAAGCTGGTCGGGTACTGTGGCATTTAACCCCTTAATCGGCAGACCATGGAGGGATTATTGCCGGGTACCAGGCCATTTAACCACTTACTCGTCTGTACACGATGGGATGCTGGTTGCGTAGCGCGGAATTGCTCCCCTATTCACCAGTTCTTTGCTAAAGGAAAGCCAGTCTAAAAGGTTTTCCGGCCAAAACTTTTTTTGTTTCACTACAGTTATTCGCCCTTCCGTTCAGCGTGATAAAATATACAAAAACGTAGAGGTAACCCATAAAAGTAAAAGAGCTTATAGACCAGCTTAAAAGGCTCGACCCGGATGCGTATGTAGTAGTTGCTGGATTTGAAAACCAGTGTACTGGACACGTGGCTGAAGCAGATACCATTAAAGAATGCATGACAATTCCTGTACGAGCGGACAGCATGTCAGGTGACCGTACGCTTGCAAAAGATGGATCACCTTCAGTCTAGTTGAGGGGGGGAGATGACTACCGCACGGAATACTTCGTTAGTGCAATAGACGACACGGATGAATTGGCCTAATTATACGAATTGCCAAAAAACTCTCTTATTGTCAATTGTGGGTATGGGCAATTCATATTGATTGCCAAATATTTTTTGGGTATTCGGGATGTCTTAACAACAGGATTTGCCGAATACCCTATTTTTTTGCCAAATATTTCGTCATTCTAAGTCGAGATCCAGGCCGAATATCTTTTAATCTAATCCACTCAATAGACAGATTCTGGTGGGATACTTATTGTGTACCGTCGTATTAAACCCACTTAACCGCTAGGGCGTCACGTTGTCCTGTCTGCAAGCCGAGGCAATTTCCCCTTTAGCCAATGACCACGGTGCCTGCTGGTCGGGTACCGTGGGATTTAACCCCCATAATCGCCAGACCATGGAGGCAAGCTGGTCGGGTACCGTGGCATTTAACCCCCTTAATCGCCAGGCCATGGGGAGGCTGGTCGCGTAGCGTGGCA
TACCCGACCAGCTTGCCTCCATGGTCTGGCGATTATGGGGGTTAAATCCCACGGTACCCGACCAGCAGGCACCGTGGTCATTGGCTAAAGGGGAAATTGCCTCGGCTTGCAGACAGGACAACGTGACGCCCTAGCGGTTAAGTGGGTTTAATACGACGGTACACAATAAGTATCCCACCAGAATCTGTCTATTGAGTGGATTAGATTAAAAGATATTCGGCCTGGATCTCGACTTAGAATGACGAAATATTTGGCAAAAAAATAGGGTATTCGGCAAATCCTGTTGTTAAGACATCCCGAATACCCAAAAAATATTTGGCAATCAATATGAATTGCCCATACCCACAATTGACAATAAGAGAGTTTTTTGGCAATTCGTATAATTAGGCCAATTCATCCGTGTCGTCTATTGCACTAACGAAGTATTCCGTGCGGTAGTCATCTCCCCCCCTCAACTAGACTGAAGGTGATCCATCTTTTGCAAGCGTACGGTCACCTGACATGCTGTCCGCTCGTACAGGAATTGTCATGCATTCTTTAATGGTATCTGCTTCAGCCACGTGTCCAGTACACTGGTTTTCAAATCCAGCAACTACTACATACGCATCCGGGTCGAGCCTTTTAAGCTGGTCTATAAGCTCTTTTACTTTTATGGGTTACCTCTACGTTTTTGTATATTTTATCACGCTGAACGGAAGGGCGAATAACTGTAGTGAAACAAAAAAAGTTTTGGCCGGAAAACCTTTTAGACTGGCTTTCCTTTAGCAAAGAACTGGTGAATAGGGGAGCAATTCCGCGCTACGCAACCAGCATCCCATCGTGTACAGACGAGTAAGTGGTTAAATGGCCTGGTACCCGGCAATAATCCCTCCATGGTCTGCCGATTAAGGGGTTAAATGCCACAGTACCCGACCAGCTTCCCCCCATGGTCTGGCGATTAAGGGGGTTAAATACCACGGGACACGACCAGCTTTCCTCCATGGTCTGGCGATTAAGGGGGTTAAATGCCACGGTACGCAACCAGCT
NODE 20 63 13687 13687 0 0
GAGCTGGCTGCACAACAGCCATTACGCCCAATCAACTGGTGCAGTCGTCTTCTGAAAATGACA
CTCCTGACAGTTCAATATCAGAAGTGATCTGCACCAATCTCGACTATGCTCAATACTCGTGTG
NODE 21 1552 113256 113256 0 0
GACGCACTTTGCGCCGAATAAATACCTGTGACGGAAGATCACTTCGCAGAATAAATAAATCCTGGTGTCCCTGTTGATACCGGGAAGCCCTGGGCCAACTTTTGGCGAAAATGAGACGTTGATCGGCACGTAAGAGGTTCCAACTTTCACCATAATGAAATAAGATCACTACCGGGCGTATTTTTTGAGTTATCGAGATTTTCAGGAGCTAAGGAAGCTAAAATGGAGAAAAAAATCACTGGATATACCACCGTTGATATATCCCAATGGCATCGTAAAGAACATTTTGAGGCATTTCAGTCAGTTGCTCAATGTACCTATAACCAGACCGTTCAGCTGGATATTACGGCCTTTTTAAAGACCGTAAAGAAAAATAAGCACAAGTTTTATCCGGCCTTTATTCACATTCTTGCCCGCCTGATGAATGCTCATCCGGAATTCCGTATGGCAATGAAAGACGGTGAGCTGGTGATATGGGATAGTGTTCACCCTTGTTACACCGTTTTCCATGAGCAAACTGAAACGTTTTCATCGCTCTGGAGTGAATACCACGACGATTTCCGGCAGTTTCTACACATATATTCGCAAGATGTGGCGTGTTACGGTGAAAACCTGGCCTATTTCCCTAAAGGGTTTATTGAGAATATGTTTTTCGTCTCAGCCAATCCCTGGGTGAGTTTCACCAGTTTTGATTTAAACGTGGCCAATATGGACAACTTCTTCGCCCCCGTTTTCACCATGGGCAAATATTATACGCAAGGCGACAAGGTGCTGATGCCGCTGGCGATTCAGGTTCATCATGCCGTTTGTGATGGCTTCCATGTCGGCAGAATGCTTAATGAATTACAACAGTACTGCGATGAGTGGCAGGGCGGGGCGTAATTTTTTTAAGGCAGTTATTGGTGCCCTTAAACGCCTGGTTGCTACGCCTGAATAAGTGATAATAAGCGGATGAATGGCAGAAATTCGAAAGCAAATTCGACCCGGTCGTCGGTTCAGGGCAGGGTCGTTAAATAGCCGCTTATGTCTATTGCTGGTTTACCGGTTTATTGACTACCGGAAGCAGTGTGACCGTGTGCTTCTCAAATGCCTGAGGCCAGTTTGCTCAGGCTCTCCCCGTGGAGGTAATAATTGACGATATGATCATTTATTCTGCCTCCCAGAGCCTGATAAAAACGGTTAGCGCCGGGGTTGGATTTTTCAGCGTTCCAGCTAAGGCTAAGGCATTCCTGTTCAAGCGCAAGCCGGGCTATAAAGCGCATTATCGCTTTACCCGTGCCCTTATTTCGATCGCACTGAGAAACATACAGCTCTTTAATATGCAGCTGACCGCTGTATCGGGGCGAGGGATAAAGAATATTGCAACATGCCAGGCCAGTAATGTTATTGCCGCAGCGCGCTCTGATCACCAGGGTACCGGAAAGCCGGTTGAATAACTTTTTACAGAGATAATCCTTCATCAACGCTTCCTGAATGATACCTTCGCCATAATAGGGGTCGTCTCAGAAAACGGAATCTATGGTCACTCCCGTTTTTGCAACACCGATTTTGA
ATTATGGCGAAGGTATCATTCAGGAAGCGTTGATGAAGGATTATCTCTGTAAAAAGTTATTCAACCGGCTTTCCGGTACCCTGGTGATCAGAGCGCGCTGCGGCAATAACATTACTGGCCTGGCATGTTGCAATATTCTTTATCCCTCGCCCCGATACAGCGGTCAGCTGCATATTAAAGAGCTGTATGTTTCTCAGTGCGATCGAAATAAGGGCACGGGTAAAGCGATAATGCGCTTTATAGCCCGGCTTGCGCTTGAACAGGAATGCCTTAGCCTTAGCTGGAACGCTGAAAAATCCAACCCCGGCGCTAACCGTTTTTATCAGGCTCTGGGAGGCAGAATAAATGATCATATCGTCAATTATTACCTCCACGGGGAGAGCCTGAGCAAACTGGCCTCAGGCATTTGAGAAGCACACGGTCACACTGCTTCCGGTAGTCAATAAACCGGTAAACCAGCAATAGACATAAGCGGCTATTTAACGACCCTGCCCTGAACCGACGACCGGGTCGAATTTGCTTTCGAATTTCTGCCATTCATCCGCTTATTATCACTTATTCAGGCGTAGCAACCAGGCGTTTAAGGGCACCAATAACTGCCTTAAAAAAATTACGCCCCGCCCTGCCACTCATCGCAGTACTGTTGTAATTCATTAAGCATTCTGCCGACATGGAAGCCATCACAAACGGCATGATGAACCTGAATCGCCAGCGGCATCAGCACCTTGTCGCCTTGCGTATAATATTTGCCCATGGTGAAAACGGGGGCGAAGAAGTTGTCCATATTGGCCACGTTTAAATCAAAACTGGTGAAACTCACCCAGGGATTGGCTGAGACGAAAAACATATTCTCAATAAACCCTTTAGGGAAATAGGCCAGGTTTTCACCGTAACACGCCACATCTTGCGAATATATGTGTAGAAACTGCCGGAAATCGTCGTGGTATTCACTCCAGAGCGATGAAAACGTTTCAGTTTGCTCATGGAAAACGGTGTAACAAGGGTGAACACTATCCCATATCACCAGCTCACCGTCTTTCATTGCCATACGGAATTCCGGATGAGCATTCATCAGGCGGGCAAGAATGTGAATAAAGGCCGGATAAAACTTGTGCTTATTTTTCTTTACGGTCTTTAAAAAGGCCGTAATATCCAGCTGAACGGTCTGGTTATAGGTACATTGAGCAACTGACTGAAATGCCTCAAAATGTTCTTTACGATGCCATTGGGATATATCAACGGTGGTATATCCAGTGATTTTTTTCTCCATTTTAGCTTCCTTAGCTCCTGAAAATCTCGATAACTCAAAAAATACGCCCGGTAGTGATCTTATTTCATTATGGTGAAAGTTGGAACCTCTTACGTGCCGATCAACGTCTCATTTTCGCCAAAAGTTGGCCCAGGGCTTCCCGGTATCAACAGGGACACCAGGATTTATTTATTCTGCGAAGTGATCTTCCGTCACAGGTATTTATTCGGCGCAAAGTGCGTCGGGTGATGCTGCCAACTTACTGATTTAGTGTATGATGGTGTTTTTGAGGTGCTCCAGTGG
NODE 22 9 1343 1343 0 0
CGACAAGTT
ACGACCCCT
NODE 23 306 45829 45829 0 0
GCTTTTCTGCTGGAATTTGGCATTAGCGTTCCCCGAGGAGCTGCCGTTATTAGCCGACTGAGTACCATTCTTGAGGATAATAGTTTGCCTCTTTACCTCAGCCAGTTATTGCTGAAATTACAACAGCATTATCACTATCTTGTTGAGCAGATTAAAGATTTGGAATCCCAGTTGAAACGAAAGTTGGACGAAGATGAGGTTGGACAGCGCTTGCTGAGCATTCCCTGCGTCGGAACACTGACAGCGAGTACTATTTCAACTGAGATTGGCGACGGGAAGCAGTACGCCAGCAGCCGTGACTTTGCG
CGCTGTCAGTGTTCCGACGCAGGGAATGCTCAGCAAGCGCTGTCCAACCTCATCTTCGTCCAACTTTCGTTTCAACTGGGATTCCAAATCTTTAATCTGCTCAACAAGATAGTGATAATGCTGTTGTAATTTCAGCAATAACTGGCTGAGGTAAAGAGGCAAACTATTATCCTCAAGAATGGTACTCAGTCGGCTAATAACGGCAGCTCCTCGGGGAACGCTAATGCCAAATTCCAGCAGAAAAGCATGCATTTGATTGGTTGTTTTTACCTTATCCTGAACCAGGGATTCACGGACACGATGCAG
NODE 24 14 2989 2989 0 0
GCGGCAACAGGGCT
GTTGAAATAGTACT
NODE 25 1300 95957 95957 0 0
ATCGGCGTAGTAGTGGATGTGGTCGATGACAAAGCCGGTGCGGGTCAGCGTGCGCCGGAGGATCGGCAGAAAATCGACCAGGAACGAAGTAGCGCGTGTGACGACGGCCGGTACGCCGACACGCGCCACGGCCTCGGCCCAGCGCGCGGCCGGCGGTTGGAGCAGGCCGTTGTGCACCGAACCGTGGTAGGTGCCGACCGCCAATGTGAGCCAGCGCTCTAGCTCGCGCAGCGTCAGGGCGGCCTTGTTTTCGGAATCGTAGTCGCCGCGCTGGTCAGGGTTGGAGAAGGTCGTTCCCGGCAGTTCGTCGTGAATCATCTGCATCGCCGTGCCGATGATCCGTTCCACGATGCCGCCATAGTGCGGCTGTCCCAGCGGGCGATAGTCCAGCCGGATGCCATGCTGCTCGCAACCCCGGCGCAGGGCCTCGCTCTTGAACTCGGCCGCGTTGTCTAGGTAGAGCAGCAAGGGCTTGCCGCTCATCTGCCAATCCATTTCCACGTTCAGTCCTTCCAGCCAAGGGCGCTTGTCGCAGGCGACATGCACGAGGCACAGGCCAACCGAAACGGCAGACGGCGCTTCCAGCGTGACGACCATGCCGAGCACGCAGCGGGTGAACACGTCGATGGCGAGGGTCAGGTACGGGCGGCCAATAGGTTGCCGGTCGCGGTCATCGACCACGATCAGGTCGATGACCGTATGGTCTATCTGCACCTGCTCCAGCGGCGCGGTCACGGCAGGAGGCTCGCCGCCCACACCTTGTAGGTCACGAGCGGCATCCTGGCCTTCCCGCCGGCGGATGACCTTGCGCGGGTCAAGGCTAGCGATCCGTAAGGCCACGGTATTGCGCGCCGGCACTCGCAGTTTTTGAGCCTTGCACACCTGAGTGACTTCGCGGTGAAAGGCCGCTAGGCTGCGCTTCTGCTTGGTCAGGAACCGCTTTTGCAGTAGCTCGTGGATGACGCGCTCGACCGGTTCCGGCAAGCGCCCCTTACCTTTACCTCCACCGGACTGGCCGGGCACCAGATCCGTCACGAGGCCGCTGCCTTGCCGGGCACGCCGGATCAGAACGTATACCTGGCGCCGAGACAAGCCCAGCGCCTGAGCCGCCATATCGGCCGCTTCGTGCCCGACCGTCTCCGACTGCGCCAACGGACTGATGATCTCCGCACGACGGCGCGCACGCTCCCAAGCCTCATCAGGCAGAGTGGCCACGCCTTGTTCTGGAATCCGTGGGGTGTCCGTCGCCATGCTCACCTCGCTTTGGTGCACACGAGTATTGAGCATAGTCGAGATTGGT
CACCCCACGGATTCCAGAACAAGGCGTGGCCACTCTGCCTGATGAGGCTTGGGAGCGTGCGCGCCGTCGTGCGGAGATCATCAGTCCGTTGGCGCAGTCGGAGACGGTCGGGCACGAAGCGGCCGATATGGCGGCTCAGGCGCTGGGCTTGTCTCGGCGCCAGGTATACGTTCTGATCCGGCGTGCCCGGCAAGGCAGCGGCCTCGTGACGGATCTGGTGCCCGGCCAGTCCGGTGGAGGTAAAGGTAAGGGGCGCTTGCCGGAACCGGTCGAGCGCGTCATCCACGAGCTACTGCAAAAGCGGTTCCTGACCAAGCAGAAGCGCAGCCTAGCGGCCTTTCACCGCGAAGTCACTCAGGTGTGCAAGGCTCAAAAACTGCGAGTGCCGGCGCGCAATACCGTGGCCTTACGGATCGCTAGCCTTGACCCGCGCAAGGTCATCCGCCGGCGGGAAGGCCAGGATGCCGCTCGTGACCTACAAGGTGTGGGCGGCGAGCCTCCTGCCGTGACCGCGCCGCTGGAGCAGGTGCAGATAGACCATACGGTCATCGACCTGATCGTGGTCGATGACCGCGACCGGCAACCTATTGGCCGCCCGTACCTGACCCTCGCCATCGACGTGTTCACCCGCTGCGTGCTCGGCATGGTCGTCACGCTGGAAGCGCCGTCTGCCGTTTCGGTTGGCCTGTGCCTCGTGCATGTCGCCTGCGACAAGCGCCCTTGGCTGGAAGGACTGAACGTGGAAATGGATTGGCAGATGAGCGGCAAGCCCTTGCTGCTCTACCTAGACAACGCGGCCGAGTTCAAGAGCGAGGCCCTGCGCCGGGGTTGCGAGCAGCATGGCATCCGGCTGGACTATCGCCCGCTGGGACAGCCGCACTATGGCGGCATCGTGGAACGGATCATCGGCACGGCGATGCAGATGATTCACGACGAACTGCCGGGAACGACCTTCTCCAACCCTGACCAGCGCGGCGACTACGATTCCGAAAACAAGGCCGCCCTGACGCTGCGCGAGCTAGAGCGCTGGCTCACATTGGCGGTCGGCACCTACCACGGTTCGGTGCACAACGGCCTGCTCCAACCGCCGGCCGCGCGCTGGGCCGAGGCCGTGGCGCGTGTCGGCGTACCGGCCGTCGTCACACGCGCTACTTCGTTCCTGGTCGATTTTCTGCCGATCCTCCGGCGCACGCTGACCCGCACCGGCTTTGTCATCGACCACATCCACTACTACGCCGATGGGCACTGTTGCAAATAGTCGGTGGTGATAAACTTATCATCCCCTTTTGCTGATGGAGCT
NODE 26 117 9291 9291 0 0
AGCCCGCATTGCCTGCTGAGATTCCGTTCTGGGCTGCACAAAACGCATAGACGGACGCGATGCAGCTTCACAAATAGCTTCGGCGTCGACAAAGTCGTTTTTATTGCTTTTAACGAA
CGTCCGTCTATGCGTTTTGTGCAGCCCAGAACGGAATCTCAGCAGGCAATGCGGGCTCTGCATCGTGTCCGTGAATCCCTGGTTCAGGATAAGGTAAAAACAACCAATCAAATGCAT
NODE 27 4443 316893 316893 0 0
TAAATCCATGCTGGCCCTGCAACTGGCCGCACAGATTGCAGGCGGGCCGGATCTGCTGGAGGTGGGCGAACTGCCCACCGGCCCGGTGATCTACCTGCCCGCCGAAGACCCGCCCACCGCCATTCATCACCGCCTGCACGCCCTTGGGGCGCACCTCAGCGCCGAGGAACGGCAAGCCGTGGCTGACGGCCTGCTGATCCAGCCGCTGATCGGCAGCCTGCCCAACATCATGGCCCCGGAGTGGTTCGACGGCCTCAAGCGCGCCGCCGAGGGCCGCCGCCTGATGGTGCTGGACACGCTGCGCCGGTTCCACATCGAGGAAGAAAACGCCAGCGGCCCCATGGCCCAGGTCATCGGTCGCATGGAGGCCATCGCCGCCGATACCGGGTGCTCTATCGTGTTCCTGCACCATGCCAGCAAGGGCGCGGCCATGATGGGCGCAGGCGACCAGCAGCAGGCCAGCCGGGGCAGCTCGGTACTGGTCGATAACATCCGCTGGCAGTCCTACCTGTCGAGCATGACCAGCGCCGAGGCCGAGGAATGGGGTGTGGACGACGACCAGCGCCGGTTCTTCGTCCGCTTCGGTGTGAGCAAGGCCAACTATGGCGCACCGTTCGCTGATCGGTGGTTCAGGCGGCATGACGGCGGGGTGCTCAAGCCCGCCGTGCTGGAGAGGCAGCGCAAGAGCAAGGGGGTGCCCCGTGGTGAAGCCTAAGAACAAGCACAGCCTCAGCCACGTCCGGCACGACCCGGCGCACTGTCTGGCCCCCGGCCTGTTCCGTGCCCTCAAGCGGGGCGAGCGCAAGCGCAGCAAGCTGGACGTGACGTATGACTACGGCGACGGCAAGCGGATCGAGTTCAGCGGCCCGGAGCCGCTGGGCGCTGATGATCTGCGCATCCTGCAAGGGCTGGTGGCCATGGCTGGGCCTAATGGCCTAGTGCTTGGCCCGGAACCCAAGACCGAAGGCGGACGGCAGCTCCGGCTGTTCCTGGAACCCAAGTGGGAGGCCGTCACCGCTGATGCCATGGTGGTCAAAGGTAGCTATCGGGCGCTGGCAAAGGAAATCGGGGCAGAGGTCGATAGTGGTGGGGCGCTCAAGCACATACAGGACTGCATCGAGCGCCTTTGGAAGGTATCCATCATCGCCCAGAATGGCCGCAAGCGGCAGGGGTTTCGGCTGCTGTCGGAGTACGCCAGCGACGAGGCGGACGGGCGCCTGTACGTGGCCCTGAACCCCTTGATCGCGCAGGCCGTCATGGGTGGCGGCCAGCATGTGCGCATCAGCATGGACGAGGTGCGGGCGCTGGACAGCGAAACCGCCCGCCTGCTGCACCAGCGGCTGTGTGGCTGGATCGACCCCGGCAAAACCGGCAAGGCTTCCATAGATACCTTGTGCGGCTATGTCTGGCCGTCAGAGGCCAGTGGTTCGACCATGCGCAAGCGCCGCCAGCGGGTGCGCGAGGCGTTGCCGGAGCTGGTCGCGCTGGGCTGGACGGTAACCGAGTTCGCGGCGGGCAAGTACGACATCACCCGGCCCAAGGCGGCAGGCTGACCCCCCCCACTCTATTGTAAACAAGACATTTTTATCTTTTATATTCAATGGCTTATTTTCCTGCTAATTGGTAATACCATGAAAAATACCATGCTCAGAAAAGGCTTAACAATATTTTGAAAAATTGCCTACTGAGCGCTGCCGCACAGCTCCATAGGCCGCTTTCCTGGCTTTGCTTCCAGATGTATGCTATTCTGCTCCTGCAGCTAATGGATCACCGCAAACAGGTTACTCGCCTGGGGATTCCCTTTCGACCCGAGCATCCGTATGAGACTCATGCTCGATTATTATTATTATAGAAGCCCCCATGAATAAATCGCTCATCATTTTCGGCATCGTCAACATAACCTCGGACAGTTTCTCCGATGGAGGCCGGTATCTGGCGCCAGACGCAGCCATTGCGCAGGCGCGTAAGCTGATGGCCGAGGGGGCAGATGTGATCGACCTCGGTCCGGCATCCAGCAACCCCGACGCCGCGCCTGTTTCGTCCGACACAGAAATCGAGCGTATCGCGCCGGTGCTGGACGCGCTCAAGGCAGATGGCATTCCCGTCTCGCTCGACAGTTATCAACCCGCGACGCAAGCCTATGCCTTGTCGCGTGGTGTGGCCTATCTCAATGATATTCGCGGTTTTCCAGACGCTGCGTTCTATCCGCAATTGGCGAAATCATCTGCCAAACTCGTCGTTATGCATTCGGTGCAAGACGGGCAGGCAGATCGGCGCGAGGCACCCGCTGGCGACATCATGGATCACATTGCGGCGTTCTTTGACGCGCGCATCGCGGCGCTGACGGGTGCCGGTATCAAACGCAACCGCCTTGTCCTTGATCCCGGCATGGGGTTTTTTCTGGGGGCTGCTCCCGAAACCTCGCTCTCGGTGCTGGCGCGGTTCGATGAATTGCGGCTGCGCTTCGATTTGCCGGTGCTTCTGTCTGTTTCGCGCAAATCCTTTCTGCGCGCGCTCACAGGCCGTGGTCCGGGGGATGTCGGGGCCGCGACACTCGCTGCAGAGCTTGCCGCCGCCGCAGGTGGAGCTGACTTCATCCGCACACACGAGCCGCGCCCCTTGCGCGACGGGCTGGCGGTATTGGCGGCGCTAAAAGAAACCGCAAGAATTCGTTAACTGCACATTCGGGATATTTCTCTATATTCGCGCTTCATCAGAAAACTGAAGGAACCTCCATTGAATCGAACTAATATTTTTTTTGGTGAATCGCATTCTGACTGGTTGCCTGTCAGAGGCGGAGAATCTGGTGATTTTGTTTTTCGACGTGGTGACGGGCATGCCTTCGCGAAAATCGCACCTGCTTCCCGCCGCGGTGAGCTCGCTGGAGAGCGTGACCGCCTCATTTGGCTCAAAGGTCGAGGTGTGGCTTGCCCCGAGGTCATCAACTGGCAGGAGGAACAGGAGGGTGCATGCTTGGTGATAACGGCAATTCCGGGAGTACCGGCGGCTGATCTGTCTGGAGCGGATTTGCTCAAAGCGTGGCCGTCAATGGGGCAGCAACTTGGCGCTGTTCACAGCCTATCGGTTGATCAATGTCCGTTTGAGCGCAGGCTGTCGCGAATGTTCGGACGCGCCGTTGATGTGGTGTCCCGCAATGCCGTCAATCCCGACTTCTTACCGGACGAGGACAAGAGTACGCCGCAGCTCGATCTTTTGGCTCGTGTCGAACGAGAGCTACCGGTGCGGCTCGACCAAGAGCGCACCGATATGGTTGTTTGCCATGGTGATCCCTGCATGCCGAACTTCATGGTGGACCCTAAAACTCTTCAATGCACGGGTCTGATCGACCTTGGGCGGCTCGGAACAGCAGATCGCTATGCCGATTTGGCACTCATGATTGCTAACGCCGAAGAGAACTGGGCAGCGCCAGATGAAGCAGAGCGCGCCTTCGCTGTCCTATTCAATGTATTGGGGATCGAAGCCCCCGACCGCGAACGCCTTGCCTTCTATCTGCGATTGGACCCTCTGACTTGGGGTTGATGTTCATGCCGCCTGTTTTTCCTGCTCATTGGCACGTTTCGCAACCTGTTCTCATTGCGGACACCTTTTCCAGCCTCGTTTGGAAAGTTTCATTGCCAGACGGGACTCCTGCAATCGTCAAGGGATTGAAACCTATAGAAGACATTGCTGATGAACTGCGCGGGGCCGACTATCTGGTATGGCGCAATGGGAGGGGAGCAGTCCGGTTGCTCGGTCGTGAGAACAATCTGATGTTGCTCGAATATGCCGGGGAGCGAATGCTCTCTCACATCGTTGCCGAGCACGGCGACTACCAGGCGACCGAAATTGCAGCGGAACTAATGGCGAAGCTGTATGCCGCATCTGAGGAACCCCTGCCTTCTGCCCTTCTCCCGATCCGGGATCGCTTTGCAGCTTTGTTTCAGCGGGCGCGCGATGATCAAAACGCAGGTTGTCAAACTGACTACGTCCACGCGGCGATTATAGCCGATCAAATGATGAGCAATGCCTCGGAACTGCGTGGGCTACATGGCGATCTGCATCATGAAAACATCATGTTCTCCAGTCGCGGCTGGCTGGTGATAGATCCCGTCGGTCTGGTCGGTGAAGTGGGCTTTGGCGCCGCCAATATGTTCTACGATCCGGCTGACAGAGACGACCTTTGTCTCGATCCTAGACGCATTGCACAGATGGCGGACGCATTCTCTCGTGCGCTGGACGTCGATCCGCGTCGCCTGCTCGACCAGGCGTACGCTTATGGGTGCCTTTCCGCAGCTTGGAACGCGGATGGAGAAGAGGAGCAACGCGATCTAGCTATCGCGGCCGCGATCAAGCAGGTGCGACAGACGTCATACTAGATATCAAGGGCACTGTTGCAAAGTTAGCGATGAGGCAGCCTTTTGTCTTATTCAAAGGCCTTACATT
TTGATATCTAGTATGACGTCTGTCGCACCTGCTTGATCGCGGCCGCGATAGCTAGATCGCGTTGCTCCTCTTCTCCATCCGCGTTCCAAGCTGCGGAAAGGCACCCATAAGCGTACGCCTGGTCGAGCAGGCGACGCGGATCGACGTCCAGCGCACGAGAGAATGCGTCCGCCATCTGTGCAATGCGTCTAGGATCGAGACAAAGGTCGTCTCTGTCAGCCGGATCGTAGAACATATTGGCGGCGCCAAAGCCCACTTCACCGACCAGACCGACGGGATCTATCACCAGCCAGCCGCGACTGGAGAACATGATGTTTTCATGATGCAGATCGCCATGTAGCCCACGCAGTTCCGAGGCATTGCTCATCATTTGATCGGCTATAATCGCCGCGTGGACGTAGTCAGTTTGACAACCTGCGTTTTGATCATCGCGCGCCCGCTGAAACAAAGCTGCAAAGCGATCCCGGATCGGGAGAAGGGCAGAAGGCAGGGGTTCCTCAGATGCGGCATACAGCTTCGCCATTAGTTCCGCTGCAATTTCGGTCGCCTGGTAGTCGCCGTGCTCGGCAACGATGTGAGAGAGCATTCGCTCCCCGGCATATTCGAGCAACATCAGATTGTTCTCACGACCGAGCAACCGGACTGCTCCCCTCCCATTGCGCCATACCAGATAGTCGGCCCCGCGCAGTTCATCAGCAATGTCTTCTATAGGTTTCAATCCCTTGACGATTGCAGGAGTCCCGTCTGGCAATGAAACTTTCCAAACGAGGCTGGAAAAGGTGTCCGCAATGAGAACAGGTTGCGAAACGTGCCAATGAGCAGGAAAAACAGGCGGCATGAACATCAACCCCAAGTCAGAGGGTCCAATCGCAGATAGAAGGCAAGGCGTTCGCGGTCGGGGGCTTCGATCCCCAATACATTGAATAGGACAGCGAAGGCGCGCTCTGCTTCATCTGGCGCTGCCCAGTTCTCTTCGGCGTTAGCAATCATGAGTGCCAAATCGGCATAGCGATCTGCTGTTCCGAGCCGCCCAAGGTCGATCAGACCCGTGCATTGAAGAGTTTTAGGGTCCACCATGAAGTTCGGCATGCAGGGATCACCATGGCAAACAACCATATCGGTGCGCTCTTGGTCGAGCCGCACCGGTAGCTCTCGTTCGACACGAGCCAAAAGATCGAGCTGCGGCGTACTCTTGTCCTCGTCCGGTAAGAAGTCGGGATTGACGGCATTGCGGGACACCACATCAACGGCGCGTCCGAACATTCGCGACAGCCTGCGCTCAAACGGACATTGATCAACCGATAGGCTGTGAACAGCGCCAAGTTGCTGCCCCATTGACGGCCACGCTTTGAGCAAATCCGCTCCAGACAGATCAGCCGCCGGTACTCCCGGAATTGCCGTTATCACCAAGCATGCACCCTCCTGTTCCTCCTGCCAGTTGATGACCTCGGGGCAAGCCACACCTCGACCTTTGAGCCAAATGAGGCGGTCACGCTCTCCAGCGAGCTCACCGCGGCGGGAAGCAGGTGCGATTTTCGCGAAGGCATGCCCGTCACCACGTCGAAAAACAAAATCACCAGATTCTCCGCCTCTGACAGGCAACCAGTCAGAATGCGATTCACCAAAAAAAATATTAGTTCGATTCAATGGAGGTTCCTTCAGTTTTCTGATGAAGCGCGAATATAGAGAAATATCCCGAATGTGCAGTTAACGAATTCTTGCGGTTTCTTTTAGCGCCGCCAATACCGCCAGCCCGTCGCGCAAGGGGCGCGGCTCGTGTGTGCGGATGAAGTCAGCTCCACCTGCGGCGGCGGCAAGCTCTGCAGCGAGTGTCGCGGCCCCGACATCCCCCGGACCACGGCCTGTGAGCGCGCGCAGAAAGGATTTGCGCGAAACAGACAGAAGCACCGGCAAATCGAAGCGCAGCCGCAATTCATCGAACCGCGCCAGCACCGAGAGCGAGGTTTCGGGAGCAGCCCCCAGAAAAAACCCCATGCCGGGATCAAGGACAAGGCGGTTGCGTTTGATACCGGCACCCGTCAGCGCCGCGATGCGCGCGTCAAAGAACGCCGCAATGTGATCCATGATGTCGCCAGCGGGTGCCTCGCGCCGATCTGCCTGCCCGTCTTGCACCGAATGCATAACGACGAGTTTGGCAGATGATTTCGCCAATTGCGGATAGAACGCAGCGTCTGGAAAACCGCGAATATCATTGAGATAGGCCACACCACGCGACAAGGCATAGGCTTGCGTCGCGGGTTGATAACTGTCGAGCGAGACGGGAATGCCATCTGCCTTGAGCGCGTCCAGCACCGGCGCGATACGCTCGATTTCTGTGTCGGACGAAACAGGCGCGGCGTCGGGGTTGCTGGATGCCGGACCGAGGTCGATCACATCTGCCCCCTCGGCCATCAGCTTACGCGCCTGCGCAATGGCTGCGTCTGGCGCCAGATACCGGCCTCCATCGGAGAAACTGTCCGAGGTTATGTTGACGATGCCGAAAATGATGAGCGATTTATTCATGGGGGCTTCTATAATAATAATAATCGAGCATGAGTCTCATACGGATGCTCGGGTCGAAAGGGAATCCCCAGGCGAGTAACCTGTTTGCGGTGATCCATTAGCTGCAGGAGCAGAATAGCATACATCTGGAAGCAAAGCCAGGAAAGCGGCCTATGGAGCTGTGCGGCAGCGCTCAGTAGGCAATTTTTCAAAATATTGTTAAGCCTTTTCTGAGCATGGTATTTTTCATGGTATTACCAATTAGCAGGAAAATAAGCCATTGAATATAAAAGATAAAAATGTCTTGTTTACAATAGAGTGGGGGGGGTCAGCCTGCCGCCTTGGGCCGGGTGATGTCGTACTTGCCCGCCGCGAACTCGGTTACCGTCCAGCCCAGCGCGACCAGCTCCGGCAACGCCTCGCGCACCCGCTGGCGGCGCTTGCGCATGGTCGAACCACTGGCCTCTGACGGCCAGACATAGCCGCACAAGGTATCTATGGAAGCCTTGCCGGTTTTGCCGGGGTCGATCCAGCCACACAGCCGCTGGTGCAGCAGGCGGGCGGTTTCGCTGTCCAGCGCCCGCACCTCGTCCATGCTGATGCGCACATGCTGGCCGCCACCCATGACGGCCTGCGCGATCAAGGGGTTCAGGGCCACGTACAGGCGCCCGTCCGCCTCGTCGCTGGCGTACTCCGACAGCAGCCGAAACCCCTGCCGCTTGCGGCCATTCTGGGCGATGATGGATACCTTCCAAAGGCGCTCGATGCAGTCCTGTATGTGCTTGAGCGCCCCACCACTATCGACCTCTGCCCCGATTTCCTTTGCCAGCGCCCGATAGCTACCTTTGACCACCATGGCATCAGCGGTGACGGCCTCCCACTTGGGTTCCAGGAACAGCCGGAGCTGCCGTCCGCCTTCGGTCTTGGGTTCCGGGCCAAGCACTAGGCCATTAGGCCCAGCCATGGCCACCAGCCCTTGCAGGATGCGCAGATCATCAGCGCCCAGCGGCTCCGGGCCGCTGAACTCGATCCGCTTGCCGTCGCCGTAGTCATACGTCACGTCCAGCTTGCTGCGCTTGCGCTCGCCCCGCTTGAGGGCACGGAACAGGCCGGGGGCCAGACAGTGCGCCGGGTCGTGCCGGACGTGGCTGAGGCTGTGCTTGTTCTTAGGCTTCACCACGGGGCACCCCCTTGCTCTTGCGCTGCCTCTCCAGCACGGCGGGCTTGAGCACCCCGCCGTCATGCCGCCTGAACCACCGATCAGCGAACGGTGCGCCATAGTTGGCCTTGCTCACACCGAAGCGGACGAAGAACCGGCGCTGGTCGTCGTCCACACCCCATTCCTCGGCCTCGGCGCTGGTCATGCTCGACAGGTAGGACTGCCAGCGGATGTTATCGACCAGTACCGAGCTGCCCCGGCTGGCCTGCTGCTGGTCGCCTGCGCCCATCATGGCCGCGCCCTTGCTGGCATGGTGCAGGAACACGATAGAGCACCCGGTATCGGCGGCGATGGCCTCCATGCGACCGATGACCTGGGCCATGGGGCCGCTGGCGTTTTCTTCCTCGATGTGGAACCGGCGCAGCGTGTCCAGCACCATCAGGCGGCGGCCCTCGGCGGCGCGCTTGAGGCCGTCGAACCACTCCGGGGCCATGATGTTGGGCAGGCTGCCGATCAGCGGCTGGATCAGCAGGCCGTCAGCCACGGCTTGCCGTTCCTCGGCGCTGAGGTGCGCCCCAAGGGCGTGCAGGCGGTGATGAATGGCGGTGGGCGGGTCTTCGGCGGGCAGGTAGATCACCGGGCCGGTGGGCAGTTCGCCCACCTCCAGCAGATCCGGCCCGCCTGCAATCTGTGCGGCCAGTTGCAGGGCCAGCATGGATTTACCGGCACTGTTGCAAAGTTAGCGATGAGGCAGCCTTTTGTCTTATTCAAAGGCCTTACAT
NODE 28 7 2806 2806 0 0
TCTGCGC
TTTTTAA
NODE 29 21 6456 6456 0 0
GGAAATGGACGAACAGTGGGG
GTTACCGACTGCGGCCTGAGT
NODE 30 334 51057 51057 0 0
CGGGCGGACAAATTGTGGTGATATCAGCTTTGGGGAATGCCCCAACTCTTCCAACTTGCGTGCCATAAAGTGAGAACCGCCACAGGCTTCCATTGCGATGGTTGTAGCGGGGCATGTCGCCAAAAATTCGATCAACTTTGGCCGGGTAAATTTTTTACGGTAAACAGCCTTCCCGCGACGATCCTGGCAATGAATATGGAAAGAGTTTTTACCCAGATCGATACCAATGAGCGCAATGTTTTCCATGATAGTTCTCCGAATGAAAGCCTGTCCTCAGCATAGTACCGGGAAGGAGGGAGTGACCATCTCATTAAATAAAGCACGCTAAGCCGGT
AGGACAGGCTTTCATTCGGAGAACTATCATGGAAAACATTGCGCTCATTGGTATCGATCTGGGTAAAAACTCTTTCCATATTCATTGCCAGGATCGTCGCGGGAAGGCTGTTTACCGTAAAAAATTTACCCGGCCAAAGTTGATCGAATTTTTGGCGACATGCCCCGCTACAACCATCGCAATGGAAGCCTGTGGCGGTTCTCACTTTATGGCACGCAAGTTGGAAGAGTTGGGGCATTCCCCAAAGCTGATATCACCACAATTTGTCCGCCCGTTCGTTAAAAGCAATAAAAACGACTTTGTCGACGCCGAAGCTATTTGTGAAGCTGCATCG
NODE 31 127 10075 10075 0 0
GTGACGTAAAATCGTGTTGAGGCCAACGCCCATAATGCGGGCAGTTGCCCGGCATCCAACGCCATTAATGGCCATATCAATGATTTTCTGGTGCGTACCGGGTTGAGAAGCGGTGTAAGTGAACTGC
TAATGGCGTTGGATGCCGGGCAACTGCCCGCATTATGGGCGTTGGCCTCAACACGATTTTACGTCACTTAAAAAACTCAGGCCGCAGTCGGTAACCTCGCGCATACAGCCGGGCAGTGACGTCATCG
NODE 32 354 52515 52515 0 0
TGTACCTCGGCAGTACAGCACGGGAGGTAGGACGACATTGCTGGGAATTAGTAAGCGAGGTAATAAAAAGATCCGAACTTTGTTGGTTCAATGTGCCAGGGTATTCATACAAAAACTGGAACACCAGTCTGGCAAATTGGCCGATTGGGTCAGGGATTTACTGTGCCGGAAAAGCAACTTTGTCGTCACTTGTGCTCTGGCAAACAAGCTGGCCAGAATAGCCTGGGCCCTAACGGCACGACAGCAAACTTATGTAGCATAACGGCAGAAATACACCGGTTTAAAGAATTACTGATCTGGTTTTGCGAATACTGATATTGATGATACTAACGGCCCACCGGCCTGTTGAGGAAC
CAGTAATTCTTTAAACCGGTGTATTTCTGCCGTTATGCTACATAAGTTTGCTGTCGTGCCGTTAGGGCCCAGGCTATTCTGGCCAGCTTGTTTGCCAGAGCACAAGTGACGACAAAGTTGCTTTTCCGGCACAGTAAATCCCTGACCCAATCGGCCAATTTGCCAGACTGGTGTTCCAGTTTTTGTATGAATACCCTGGCACATTGAACCAACAAAGTTCGGATCTTTTTATTACCTCGCTTACTAATTCCCAGCAATGTCGTCCTACCTCCCGTGCTGTACTGCCGAGGTACAAGCCCTGTTGCCGCCGCAAAGTCACGGCTGCTGGCGTACTGCTTCCCGTCGCCAATCTCA
NODE 33 252 18197 18197 0 0
CGCGAGCACCTGAGCGAGCTGCAAACCGTGTTCGGTTTCCGGCCCTTCACCATGAGCCATTACCGGCAGGCCGTCCAGATGCTGACCGAGCTGGCGATGCAAACCGACAAAGGCATCGTGCTGGCCAGCGCCTTGATCGGGCACCTGCGGCGGCAGTCGGTCATTCTGCCCGCCCTCAACGCCGTCGAGCGGGGGCACTGTTGCAAAGTTAGCGATGAGGCAGCCTTTTGTCTTATTCAAAGGCCTTACATT
CCGCTCGACGGCGTTGAGGGCGGGCAGAATGACCGACTGCCGCCGCAGGTGCCCGATCAAGGCGCTGGCCAGCACGATGCCTTTGTCGGTTTGCATCGCCAGCTCGGTCAGCATCTGGACGGCCTGCCGGTAATGGCTCATGGTGAAGGGCCGGAAACCGAACACGGTTTGCAGCTCGCTCAGGTGCTCGCGCCGGCACTGTTGCAAAGTTAGCGATGAGGCAGCCTTTTGTCTTATTCAAAGGCCTTACAT
NODE 34 177 40491 36335 0 0
CTGTAAAACGGAAAGGCTCATTGAAGCCGTATATTTTCTGGAGGTTCATCAGGCGCGGAACTCATCAAGGCGCGGGAATAAAATCCCATTCAGACGCCGGATAGATTCAAGCAAGCCAACTTGTCGTCAAAATCGGTGTTGCAAAAACGGGAGTGACCATAGATTCCGTTTTCTGAG
GGCTTGCTTGAATCTATCCGGCGTCTGAATGGGATTTTATTCCCGCGCCTTGATGAGTTCCGCGCCTGATGAACCTCCAGAAAATATACGGCTTCAATGAGCCTTTCCGTTTTACAGGTTCCTCAACAGGCCGGTGGGCCGTTAGTATCATCAATATCAGTATTCGCAAAACCAGAT
NODE 35 940 69876 69876 0 0
GGCTCTGTTGCAAAGATTGGCGGCAGTCAGAGGTAGGCTGTCGCTCTGCGCCGATCAGGCGGCTGCTGCGAAATGGTGGTTGAGCATGCCCATGGCCTCCGTCAGCGCCGAGGGCCCAATGCCAAAAGCTCTCTCCACAAGGCGCACCTCGCCCCTGATGCCGGGCTGCAGGCACCAGGGGCGAGCCTGTCCTTTGCGCAGGGCTCGCATGACTTCGAATCCCTTGATCGTGGCATAGGCCGTGGGGATCGATTTGAAACCGCGCACCGGCTTGATCAGTATCTTGAGCTTTCCGTGATCGGCCTCGATCACGTTATTGAGATACTTCACCTGCCGGTGGGCCGTCTCCCGGTCCAGCTTTCCTTCGCGCTTCAATTCGGTGATCGCTGCACCATAGCTCGGCGCTTTGTCGGTATTGAGCGTGGCAGGCTTTTCCCAGTGCTTCAGGCCTCGCAGGGCCTTGCCCAGGAACCGCTTCGCTGCCTTGGCGCTGCGGGTCGGCGACAGGTAGAAATCGATCGTGTCGCCCCGCTTGTCGACTGCCCGGTACAGGTAGGTCCACTTGCCCCGCACCTTGACGTAGGTTTCATCCAGGCGCCAGCTCGGATCAAAGCCACGCCGCCAGAACCAGCGCAGCCGCTTCTCCATCTCCGGGGCGTAGCACTGGACCCAGCGATAGATCGTCGTATGGTCGACCGAAATGCCGCGTTCCGCCAGCATTTCCTCAAGGTCGCGATAGCTGATCGGATAGCGACAATACCAGCGCACCGCCCACAGGATCACATCACCCTGGAAATGGCGCCACTTGAAATCCGTCATCGTTCCGTCCGTCCAATCTCCGCCAAGCATGCTCAAGCTTCACGATTTTTGCAACAGAGCCCACACGAGTATTGAGCATAGTCGAGATTGGTGCAGATCACTTCTGATATTGAACTGTCAG
GGCTCTGTTGCAAAAATCGTGAAGCTTGAGCATGCTTGGCGGAGATTGGACGGACGGAACGATGACGGATTTCAAGTGGCGCCATTTCCAGGGTGATGTGATCCTGTGGGCGGTGCGCTGGTATTGTCGCTATCCGATCAGCTATCGCGACCTTGAGGAAATGCTGGCGGAACGCGGCATTTCGGTCGACCATACGACGATCTATCGCTGGGTCCAGTGCTACGCCCCGGAGATGGAGAAGCGGCTGCGCTGGTTCTGGCGGCGTGGCTTTGATCCGAGCTGGCGCCTGGATGAAACCTACGTCAAGGTGCGGGGCAAGTGGACCTACCTGTACCGGGCAGTCGACAAGCGGGGCGACACGATCGATTTCTACCTGTCGCCGACCCGCAGCGCCAAGGCAGCGAAGCGGTTCCTGGGCAAGGCCCTGCGAGGCCTGAAGCACTGGGAAAAGCCTGCCACGCTCAATACCGACAAAGCGCCGAGCTATGGTGCAGCGATCACCGAATTGAAGCGCGAAGGAAAGCTGGACCGGGAGACGGCCCACCGGCAGGTGAAGTATCTCAATAACGTGATCGAGGCCGATCACGGAAAGCTCAAGATACTGATCAAGCCGGTGCGCGGTTTCAAATCGATCCCCACGGCCTATGCCACGATCAAGGGATTCGAAGTCATGCGAGCCCTGCGCAAAGGACAGGCTCGCCCCTGGTGCCTGCAGCCCGGCATCAGGGGCGAGGTGCGCCTTGTGGAGAGAGCTTTTGGCATTGGGCCCTCGGCGCTGACGGAGGCCATGGGCATGCTCAACCACCATTTCGCAGCAGCCGCCTGATCGGCGCAGAGCGACAGCCTACCTCTGACTGCCGCCAATCTTTGCAACAGAGCCTCCGTCGCCATGCTCACCTCGCTTTGGTGCACACGAGTATTGAGCATAGTCGAGATTGGT
NODE 36 127 34874 29975 0 0
ATGGCGGAAAATCGTGTTGAGGCCAACGCCCATAATGCGGGCGGTTGCCCGGCATCCAACGCCATTCATGGCCATATCAATGATTTTCTGGTGCGTACCGGGTTGAGAAGCGGTGTAAGTGAACTGC
GAATGGCGTTGGATGCCGGGCAACCGCCCGCATTATGGGCGTTGGCCTCAACACGATTTTCCGCCATTTAAAAAACTCAGGCCGCAGTCGGTAACCTCGCGCATACAGCCGGGCAGTGACGTCATCG
NODE 37 52 3605 3605 0 0
TGTCCGTGAATCCCTGGTTCAGGATAAGGTAAAAACAACCAATCAAATGCAT
CTTCACAAATAGCTTCGGCGTCGACAAAGTCGTTTTTATTGCTTTTAACGAA
NODE 38 205 14188 14188 0 0
CCATTACCCGGGAAGAGGGGGAAAATCTAGTGTGACAAACTACCCTCAGGATAGGATGACAAATTGCCCTCAATTCTGGCTCCACTACCGGTTACAGCCAAAAAACCATGAGTAAGCGCAGGATGCCAGGGAGGGAACAGCAAAACTGTGACAAATCACCCTCAACCTTCCAGATCAAATGTGACGAACCACCCTTAAATCTGTG
TTTTGCTGTTCCCTCCCTGGCATCCTGCGCTTACTCATGGTTTTTTGGCTGTAACCGGTAGTGGAGCCAGAATTGAGGGCAATTTGTCATCCTATCCTGAGGGTAGTTTGTCACACTAGATTTTCCCCCTCTTCCCGGGTAATGGTGCCAACTTACTGATTTAGTGTATGATGGTGTTTTTGAGGTGCTCCAGTGGCTTCTGTTT
NODE 39 58 5180 5180 0 0
TAAATCGCGCCAGCGCTGGCTGTTTTACGCGTATGACAGGCTCCGGAAGACGGTTGTT
GCAGACGATGACGTCACTGCCCGGCTGTATGCGCGAGGTTACCGACTGCGGCCTGAGT
NODE 40 306 90197 85404 0 0
GCGCACGTATTCGGTGAACGCACTATGGCGACGCTGGGGCGTCTTATGAGCCTGCTGTCACCCTTTGACGTGGTGATATGGATGACGGATGGCTGGCCGCTGTATGAATCCCGCCTGAAGGGAAAGCTGCACGTAATCAGCAAGCGATATACGCAGCGAATTGAGCGGCATAACCTGAATCTGAGGCAGCACCTGGCACGGCTGGGACGGAAGTCGCTGTCGTTCTCAAAATCGGTGGAGCTGCATGACAAAGTCATCGGGCATTATCTGAACATAAAACACTATCAATAAGTTGGAGTCATTACC
ATGCAGCTCCACCGATTTTGAGAACGACAGCGACTTCCGTCCCAGCCGTGCCAGGTGCTGCCTCAGATTCAGGTTATGCCGCTCAATTCGCTGCGTATATCGCTTGCTGATTACGTGCAGCTTTCCCTTCAGGCGGGATTCATACAGCGGCCAGCCATCCGTCATCCATATCACCACGTCAAAGGGTGACAGCAGGCTCATAAGACGCCCCAGCGTCGCCATAGTGCGTTCACCGAATACGTGCGCAACAACCGTCTTCCGGAGCCTGTCATACGCGTAAAACAGCCAGCGCTGGCGCGATTTAGC
NODE 41 214 15240 15240 0 0
CCCACGGTACCCGGCCAGCTTCCCGCCATGCTCTGGCGATTAAGGGGGTTAAATGCCAGGATACGCGACCAGCATTCCCCATGGTCTGGCGAATAAGGGAGTTAAATACCACGGTACCTGACCAGAATGACCCCATGTCCTGGCGATTAAAGGGTTAAATGCCACGCTACGCGACCAGCCTCCCCATGGCCTGGCGATTAAGGGGGTTAAATGC
CCCTTTAATCGCCAGGACATGGGGTCATTCTGGTCAGGTACCGTGGTATTTAACTCCCTTATTCGCCAGACCATGGGGAATGCTGGTCGCGTATCCTGGCATTTAACCCCCTTAATCGCCAGAGCATGGCGGGAAGCTGGCCGGGTACCGTGGGATTTAACCCCCTTAATCGCCAGACCATGGAGGAAAGCTGGGCGTGTCCCATGGAATTTAA
NODE 42 125 9064 9064 0 0
GTGCCCCCTAATAGTGTTCTTCCATTTCGGTAAAAATCCCTACCATGGATTCCCACTCGTCCGGGGGGTAATGACTCCAACTTATTGATAGTGTTTTATGTTCAGATAATGCCCGATGACTTTGT
CCCGGACGAGTGGGAATCCATGGTAGGGATTTTTACCGAAATGGAAGAACACTATTAGGGGGCACCTCAGAAAACGGAATCTATGGTCACTCCCGTTTTTGCAACACCGATTTTGACGACAAGTT
NODE 43 29 4823 4823 0 0
GCAGATCACTTCTGATATTGAACTGTCAG
CACCAAAGCGAGGTGAGCATGGCGACGGA
NODE 44 70 10135 10135 0 0
ATTAAGGGGGTTAAATTCCATGGGACACGCCCAGCTTTCCTCCATGGTCTGGCGATTAAGGGGGTTAAAT
CCCCCTTAATCGCCAGACCATGGAGGAAAGCTGGTCGTGTCCCGTGGCATTTAACCCCCTTAATCGCCAG
NODE 45 1 141 141 0 0
G
C
NODE 46 5 816 816 0 0
CACGG
TTTAA
NODE 47 31 2320 2320 0 0
GACACGACCAGCTTTCCTCCATGGTCTGGCG
GCCATGGGGAGGCTGGTCGCGTAGCGTGGCA
NODE 48 1 167 167 0 0
C
C
NODE 49 51 3430 3430 0 0
TATCTGTCACAGATTTAAGGGTGGTTCGTCACATTTGATCTGGAAGGTTGA
CTTCCAGATCAAATGTGACGAACCACCCTTAAATCTGTGACAGATAACCCT
NODE 50 4 600 600 0 0
GGGT
CAAC
NODE 51 354 25881 25881 0 0
GAATGATTGTTTAAACTGGTGTATTTCTGCCTTTATGCTTCGTAAGTTTGCTGTCGCGCCGTCAGTGCCCAGGCTATTCTGGCCAGCTTGTTTGCCAGAGCACAGGTGACGACAAAGTTGCTTTTCCGACACAACAACTCCCTGACCCAGTCGGCCAACTTGCCAGACTGGTGTTCCAGTTTTTGTATGAATACCCTGGCACACTGAACCAACAAAGTTCGGATCTTTTTGTTGCCCCGCTTGCTAATCCCTAACAATGTCGTCCGACCTCCCGTGCTGTACTGTCGGGGTACCAGCCCTGTTGCCGCCGCAAAGTCACGGCTGCTGGCGTACTGCTTCCCGTCGCCAATCTCA
GGTACCCCGACAGTACAGCACGGGAGGTCGGACGACATTGTTAGGGATTAGCAAGCGGGGCAACAAAAAGATCCGAACTTTGTTGGTTCAGTGTGCCAGGGTATTCATACAAAAACTGGAACACCAGTCTGGCAAGTTGGCCGACTGGGTCAGGGAGTTGTTGTGTCGGAAAAGCAACTTTGTCGTCACCTGTGCTCTGGCAAACAAGCTGGCCAGAATAGCCTGGGCACTGACGGCGCGACAGCAAACTTACGAAGCATAAAGGCAGAAATACACCAGTTTAAACAATCATTCATCTGGTTTTGCGAATACTGATATTGATGATACTAACGGCCCACCGGCCTGTTGAGGAAC
NODE 52 71 5984 5984 0 0
TCCTCCATGGTCTGGCGATTAAGGGGGTTAAATGCCACGGGACACGACCAGCTTTCCTCCATGGTCTGGCG
ACCATGGAGGAAAGCTGGTTGCGTACCGTGGCATTTAACCCCCTTAATCGCCAGACCATGGAGGAAAGCTG
NODE 53 169 62531 54018 0 0
AGTTGCCATGTTTTACGGCAGTGAGAGCAGAGATAGCGCTGATGTCCGGCGGTGCTTTTGCCGTTACGCACCACCCCGTCAGTAGCTGAACAGGAGGGACAGCTGATAGAAACAGAAGCCACTGGAGCACCTCAAAAACACCATCATACACTAAATCAGTAAGTTGGCA
CTATCAGCTGTCCCTCCTGTTCAGCTACTGACGGGGTGGTGCGTAACGGCAAAAGCACCGCCGGACATCAGCGCTATCTCTGCTCTCACTGCCGTAAAACATGGCAACTGCAGTTCACTTACACCGCTTCTCAACCCGGTACGCACCAGAAAATCATTGATATGGCCAT
NODE 54 8 2392 2392 0 0
GCATCACC
TTCTGTTT
NODE 55 1 163 163 0 0
C
C
NODE 56 1 148 148 0 0
T
C
NODE 57 4 584 584 0 0
ATAT
GCTG
NODE 58 2 302 302 0 0
GG
TT
NODE 59 20 1406 1406 0 0
GCCACGGTACGCAACCAGCT
GCGTGTCCCATGGAATTTAA
NODE 60 1 154 154 0 0
T
G
NODE 61 1 155 155 0 0
T
C
ARC 1 -60 78
ARC -1 -54 73
ARC 2 45 66
ARC -2 -30 71
ARC 3 48 86
ARC -3 9 78
ARC 4 -57 69
ARC -4 -57 74
ARC 5 -30 70
ARC -5 -20 73
ARC 6 -20 73
ARC -6 -29 63
ARC 7 -54 57
ARC -7 46 90
ARC 8 9 58
ARC -8 22 65
ARC 9 10 64
ARC 9 18 84
ARC 10 -61 79
ARC 11 50 78
ARC -11 -61 72
ARC 12 13 67
ARC -12 -13 68
ARC 13 14 67
ARC -13 -38 69
ARC 14 -50 68
ARC 15 -45 138
ARC 15 57 143
ARC -15 -56 147
ARC -15 58 146
ARC 16 24 72
ARC -16 -20 70
ARC 17 -29 223
ARC -17 40 203
ARC 18 -55 82
ARC 19 -46 69
ARC -19 60 70
ARC -20 -43 160
ARC -20 -35 71
ARC 21 22 86
ARC -21 -55 77
ARC 22 -34 137
ARC 23 24 141
ARC -23 -37 62
ARC -23 26 76
ARC 24 -51 73
ARC 24 32 136
ARC 25 43 85
ARC -25 45 66
ARC 26 30 79
ARC 27 56 70
ARC -27 -58 86
ARC 28 29 304
ARC 28 39 96
ARC -28 31 89
ARC -28 36 292
ARC -30 37 70
ARC 31 53 74
ARC 32 34 134
ARC 33 56 68
ARC -33 -58 63
ARC 34 42 80
ARC -34 51 78
ARC -35 43 77
ARC 36 53 292
ARC -38 -53 76
ARC 39 40 57
ARC 40 -48 163
ARC 40 61 151
ARC 41 46 73
ARC -41 -44 76
ARC 42 48 79
ARC 44 59 62
ARC -44 -52 76
ARC -44 -47 69
ARC 46 47 87
ARC 49 50 66
ARC -49 -50 76
ARC -52 -60 74
ARC 53 54 292
ARC 54 55 161
ARC 59 60 75
Bandage-0.9.0/command_line/ 0000775 0000000 0000000 00000000000 14165724233 0015475 5 ustar 00root root 0000000 0000000 Bandage-0.9.0/command_line/commoncommandlinefunctions.cpp 0000664 0000000 0000000 00000161403 14165724233 0023636 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "commoncommandlinefunctions.h"
#include "../graph/assemblygraph.h"
#include
#include "../blast/blastsearch.h"
#include
#include
#include "../program/memory.h"
#include
QStringList getArgumentList(int argc, char *argv[])
{
QStringList arguments;
for (int i = 1; i < argc; ++i)
{
QString argument = argv[i];
arguments.push_back(argument);
}
return arguments;
}
void getSettingsUsage(QStringList * text)
{
QString dashes = "";
for (int i = 0; i < g_memory->terminalWidth - 10; ++i)
dashes += '-';
*text << "Settings: The following options configure the Bandage settings that are available in the Bandage GUI.";
*text << "";
*text << "Colours can be specified using hex values, with or without an alpha channel, (e.g. #FFB6C1 or #7FD2B48C) or using standard colour names (e.g. red, yellowgreen or skyblue). Note that hex colours will either need to be enclosed in quotes (e.g. \"#FFB6C1\") or have the hash symbol escaped (e.g. \\#FFB6C1).";
*text << "";
*text << "Graph scope";
*text << dashes;
*text << "These settings control the graph scope. If the aroundnodes scope is used, then the --nodes option must also be used. If the aroundblast scope is used, a BLAST query must be given with the --query option.";
getGraphScopeOptions(text);
*text << "--double Draw graph in double mode (default: off)";
*text << "";
*text << "Graph size";
*text << dashes;
*text << "--nodelen Node length per megabase " + getRangeAndDefault(g_settings->manualNodeLengthPerMegabase, "auto");
*text << "--minnodlen Minimum node length " + getRangeAndDefault(g_settings->minimumNodeLength);
*text << "--edgelen Edge length " + getRangeAndDefault(g_settings->edgeLength);
*text << "--edgewidth Edge width " + getRangeAndDefault(g_settings->edgeWidth);
*text << "--doubsep Double mode separation " + getRangeAndDefault(g_settings->doubleModeNodeSeparation);
*text << "";
*text << "Graph layout";
*text << dashes;
*text << "--nodseglen Node segment length " + getRangeAndDefault(g_settings->nodeSegmentLength);
*text << "--iter Graph layout iterations " + getRangeAndDefault(g_settings->graphLayoutQuality);
*text << "--linear Linear graph layout (default: off)" ;
*text << "";
*text << "Graph appearance";
*text << dashes;
*text << "--edgecol Colour for edges " + getDefaultColour(g_settings->edgeColour);
*text << "--outcol Colour for node outlines " + getDefaultColour(g_settings->outlineColour);
*text << "--outline Node outline thickness " + getRangeAndDefault(g_settings->outlineThickness);
*text << "--selcol Colour for selections " + getDefaultColour(g_settings->selectionColour);
*text << "--noaa Disable antialiasing (default: antialiasing on)";
*text << "--singlearr Show node arrowheads in single mode (default: nodes are only displayed with arrowheads in double mode)";
*text << "";
*text << "Text appearance";
*text << dashes;
*text << "--textcol Colour for label text " + getDefaultColour(g_settings->textColour);
*text << "--toutcol Colour for text outline " + getDefaultColour(g_settings->textOutlineColour);
*text << "--toutline Surround text with an outline with this thickness " + getRangeAndDefault(g_settings->textOutlineThickness);
*text << "--centre Node labels appear at the centre of the node (default: off, node labels appear over visible parts of nodes)";
*text << "";
*text << "Node width";
*text << dashes;
*text << "Node widths are determined using the following formula:";
*text << "a*b*((c/d)^e-1)+1";
*text << " a = average node width";
*text << " b = depth effect on width";
*text << " c = node depth";
*text << " d = mean depth";
*text << " e = power of depth effect on width";
*text << "--nodewidth Average node width " + getRangeAndDefault(g_settings->averageNodeWidth);
*text << "--depwidth Depth effect on width " + getRangeAndDefault(g_settings->depthEffectOnWidth);
*text << "--deppower Power of depth effect on width " + getRangeAndDefault(g_settings->depthPower);
*text << "";
*text << "Node labels";
*text << dashes;
*text << "--names Label nodes with name (default: off)";
*text << "--lengths Label nodes with length (default: off)";
*text << "--depth Label nodes with depth (default: off)";
*text << "--blasthits Label BLAST hits (default: off)";
*text << "--fontsize Font size for node labels " + getRangeAndDefault(1, 100, g_settings->labelFont.pointSize());
*text << "";
*text << "Node colours";
*text << dashes;
*text << "--colour Node colouring scheme, from one of the following options: random, uniform, depth, blastsolid, blastrainbow, custom (default: random if --query option not used, blastsolid if --query option used)";
*text << "";
*text << "Random colour scheme";
*text << dashes;
*text << "These settings only apply when the random colour scheme is used.";
*text << "--ransatpos Positive node saturation " + getRangeAndDefault(g_settings->randomColourPositiveSaturation);
*text << "--ransatneg Negative node saturation " + getRangeAndDefault(g_settings->randomColourNegativeSaturation);
*text << "--ranligpos Positive node lightness " + getRangeAndDefault(g_settings->randomColourPositiveLightness);
*text << "--ranligneg Negative node lightness " + getRangeAndDefault(g_settings->randomColourNegativeLightness);
*text << "--ranopapos Positive node opacity " + getRangeAndDefault(g_settings->randomColourPositiveOpacity);
*text << "--ranopaneg Negative node opacity " + getRangeAndDefault(g_settings->randomColourNegativeOpacity);
*text << "";
*text << "Uniform colour scheme";
*text << dashes;
*text << "These settings only apply when the uniform colour scheme is used.";
*text << "--unicolpos Positive node colour " + getDefaultColour(g_settings->uniformPositiveNodeColour);
*text << "--unicolneg Negative node colour " + getDefaultColour(g_settings->uniformNegativeNodeColour);
*text << "--unicolspe Special node colour " + getDefaultColour(g_settings->uniformNodeSpecialColour);
*text << "";
*text << "Depth colour scheme";
*text << dashes;
*text << "These settings only apply when the depth colour scheme is used.";
*text << "--depcollow Colour for nodes with depth below the low depth value " + getDefaultColour(g_settings->lowDepthColour);
*text << "--depcolhi Colour for nodes with depth above the high depth value " + getDefaultColour(g_settings->highDepthColour);
*text << "--depvallow Low depth value " + getRangeAndDefault(g_settings->lowDepthValue, "auto");
*text << "--depvalhi High depth value " + getRangeAndDefault(g_settings->highDepthValue, "auto");
*text << "";
*text << "BLAST search";
*text << dashes;
*text << "--query A FASTA file of either nucleotide or protein sequences to be used as BLAST queries (default: none)";
*text << "--blastp Parameters to be used by blastn and tblastn when conducting a BLAST search in Bandage (default: none). Format BLAST parameters exactly as they would be used for blastn/tblastn on the command line, and enclose them in quotes.";
*text << "--alfilter Alignment length filter for BLAST hits. Hits with shorter alignments will be excluded " + getRangeAndDefault(g_settings->blastAlignmentLengthFilter);
*text << "--qcfilter Query coverage filter for BLAST hits. Hits with less coverage will be excluded " + getRangeAndDefault(g_settings->blastQueryCoverageFilter);
*text << "--ifilter Identity filter for BLAST hits. Hits with less identity will be excluded " + getRangeAndDefault(g_settings->blastIdentityFilter);
*text << "--evfilter E-value filter for BLAST hits. Hits with larger e-values will be excluded " + getRangeAndDefault(g_settings->blastEValueFilter);
*text << "--bsfilter Bit score filter for BLAST hits. Hits with lower bit scores will be excluded " + getRangeAndDefault(g_settings->blastBitScoreFilter);
*text << "";
*text << "BLAST query paths";
*text << dashes;
*text << "These settings control how Bandage searches for query paths after conducting a BLAST search.";
*text << "--pathnodes The number of allowed nodes in a BLAST query path " + getRangeAndDefault(g_settings->maxQueryPathNodes);
*text << "--minpatcov Minimum fraction of a BLAST query which must be covered by a query path " + getRangeAndDefault(g_settings->minQueryCoveredByPath);
*text << "--minhitcov Minimum fraction of a BLAST query which must be covered by BLAST hits in a query path " + getRangeAndDefault(g_settings->minQueryCoveredByHits);
*text << "--minmeanid Minimum mean identity of BLAST hits in a query path " + getRangeAndDefault(g_settings->minMeanHitIdentity);
*text << "--maxevprod Maximum e-value product for all BLAST hits in a query path " + getRangeAndDefault(g_settings->maxEValueProduct);
*text << "--minpatlen Minimum allowed relative path length as compared to the query " + getRangeAndDefault(g_settings->minLengthPercentage);
*text << "--maxpatlen Maximum allowed relative path length as compared to the query " + getRangeAndDefault(g_settings->maxLengthPercentage);
*text << "--minlendis Minimum allowed length discrepancy (in bases) between a BLAST query and its path in the graph " + getRangeAndDefault(g_settings->minLengthBaseDiscrepancy);
*text << "--maxlendis Maximum allowed length discrepancy (in bases) between a BLAST query and its path in the graph " + getRangeAndDefault(g_settings->maxLengthBaseDiscrepancy);
*text << "";
}
void outputText(QString text, QTextStream * out)
{
QStringList list;
list << text;
outputText(list, out);
}
void outputText(QStringList text, QTextStream * out)
{
QStringList wrapped;
bool seenHeaderOrList = false;
for (int i = 0; i < text.size(); ++i)
{
QString line = text[i];
if (isSectionHeader(line) || isListItem(line))
seenHeaderOrList = true;
if (isError(line))
wrapped << wrapText(line, g_memory->terminalWidth, 0, 0);
else if (!seenHeaderOrList)
wrapped << wrapText(line, g_memory->terminalWidth, 0, 0);
else if (isSectionHeader(line) && line.contains("--"))
wrapped << wrapText(line, g_memory->terminalWidth, 0, 30);
else if (isSectionHeader(line))
wrapped << wrapText(line, g_memory->terminalWidth, 0, 10);
else if (isListItem(line))
wrapped << wrapText(line, g_memory->terminalWidth, 2, 4);
else if (isCommand(line))
wrapped << wrapText(line, g_memory->terminalWidth, 10, 23);
else if (isOption(line))
wrapped << wrapText(line, g_memory->terminalWidth, 10, 30);
else
wrapped << wrapText(line, g_memory->terminalWidth, 10, 10);
}
*out << Qt::endl;
for (int i = 0; i < wrapped.size(); ++i)
{
*out << wrapped[i];
*out << Qt::endl;
}
}
//This is in a separate function because the command line tool Bandage reduce
//also displays these.
void getGraphScopeOptions(QStringList * text)
{
*text << "--scope Graph scope, from one of the following options: entire, aroundnodes, aroundblast, depthrange (default: entire)";
*text << "--nodes A comma-separated list of starting nodes for the aroundnodes scope (default: none)";
*text << "--partial Use partial node name matching (default: exact node name matching)";
*text << "--distance The number of node steps away to draw for the aroundnodes and aroundblast scopes " + getRangeAndDefault(g_settings->nodeDistance);
*text << "--mindepth The minimum allowed depth for the depthrange scope " + getRangeAndDefault(g_settings->minDepthRange);
*text << "--maxdepth The maximum allowed depth for the depthrange scope " + getRangeAndDefault(g_settings->maxDepthRange);
}
//This function checks the values of the Bandage settings.
//If everything is fine, it removes the good arguments/values and returns
//a null string. If there's a problem, it returns an error message.
QString checkForInvalidOrExcessSettings(QStringList * arguments)
{
QStringList argumentsCopy = *arguments;
QStringList validScopeOptions;
validScopeOptions << "entire" << "aroundnodes" << "aroundblast" << "depthrange";
QString error;
error = checkOptionForString("--scope", arguments, validScopeOptions); if (error.length() > 0) return error;
error = checkOptionForString("--nodes", arguments, QStringList(), "a list of node names"); if (error.length() > 0) return error;
checkOptionWithoutValue("--partial", arguments);
error = checkOptionForInt("--distance", arguments, g_settings->nodeDistance, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--mindepth", arguments, g_settings->minDepthRange, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--maxdepth", arguments, g_settings->maxDepthRange, false); if (error.length() > 0) return error;
if (isOptionPresent("--query", arguments) && g_memory->commandLineCommand == NO_COMMAND) return "A graph must be given (e.g. via Bandage load) to use the --query option";
error = checkOptionForFile("--query", arguments); if (error.length() > 0) return error;
error = checkOptionForString("--blastp", arguments, QStringList(), "blastn/tblastn parameters"); if (error.length() > 0) return error;
checkOptionWithoutValue("--double", arguments);
error = checkOptionForFloat("--nodelen", arguments, g_settings->manualNodeLengthPerMegabase, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--minnodlen", arguments, g_settings->minimumNodeLength, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--edgelen", arguments, g_settings->edgeLength, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--doubsep", arguments, g_settings->doubleModeNodeSeparation, false); if (error.length() > 0) return error;
error = checkOptionForInt("--iter", arguments, g_settings->graphLayoutQuality, false); if (error.length() > 0) return error;
checkOptionWithoutValue("--linear", arguments);
error = checkOptionForFloat("--nodseglen", arguments, g_settings->nodeSegmentLength, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--nodewidth", arguments, g_settings->averageNodeWidth, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--depwidth", arguments, g_settings->depthEffectOnWidth, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--deppower", arguments, g_settings->depthPower, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--edgewidth", arguments, g_settings->edgeWidth, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--outline", arguments, g_settings->outlineThickness, false); if (error.length() > 0) return error;
checkOptionWithoutValue("--names", arguments);
checkOptionWithoutValue("--lengths", arguments);
checkOptionWithoutValue("--depth", arguments);
checkOptionWithoutValue("--blasthits", arguments);
error = checkOptionForInt("--fontsize", arguments, IntSetting(0, 1, 100), false); if (error.length() > 0) return error;
error = checkOptionForFloat("--toutline", arguments, g_settings->textOutlineThickness, false); if (error.length() > 0) return error;
checkOptionWithoutValue("--centre", arguments);
error = checkOptionForColour("--edgecol", arguments); if (error.length() > 0) return error;
error = checkOptionForColour("--outcol", arguments); if (error.length() > 0) return error;
error = checkOptionForColour("--selcol", arguments); if (error.length() > 0) return error;
error = checkOptionForColour("--textcol", arguments); if (error.length() > 0) return error;
error = checkOptionForColour("--toutcol", arguments); if (error.length() > 0) return error;
checkOptionWithoutValue("--noaa", arguments);
checkOptionWithoutValue("--singlearr", arguments);
QStringList validColourOptions;
validColourOptions << "random" << "uniform" << "depth" << "blastsolid" << "blastrainbow" << "custom";
error = checkOptionForString("--colour", arguments, validColourOptions); if (error.length() > 0) return error;
error = checkOptionForInt("--ransatpos", arguments, g_settings->randomColourPositiveSaturation, false); if (error.length() > 0) return error;
error = checkOptionForInt("--ransatneg", arguments, g_settings->randomColourNegativeSaturation, false); if (error.length() > 0) return error;
error = checkOptionForInt("--ranligpos", arguments, g_settings->randomColourPositiveLightness, false); if (error.length() > 0) return error;
error = checkOptionForInt("--ranligneg", arguments, g_settings->randomColourNegativeLightness, false); if (error.length() > 0) return error;
error = checkOptionForInt("--ranopapos", arguments, g_settings->randomColourPositiveOpacity, false); if (error.length() > 0) return error;
error = checkOptionForInt("--ranopaneg", arguments, g_settings->randomColourNegativeOpacity, false); if (error.length() > 0) return error;
error = checkOptionForColour("--unicolpos", arguments); if (error.length() > 0) return error;
error = checkOptionForColour("--unicolneg", arguments); if (error.length() > 0) return error;
error = checkOptionForColour("--unicolspe", arguments); if (error.length() > 0) return error;
error = checkOptionForColour("--depcollow", arguments); if (error.length() > 0) return error;
error = checkOptionForColour("--depcolhi", arguments); if (error.length() > 0) return error;
error = checkTwoOptionsForFloats("--depvallow", "--depvalhi", arguments, g_settings->lowDepthValue, g_settings->highDepthValue, true); if (error.length() > 0) return error;
error = checkOptionForInt("--pathnodes", arguments, g_settings->maxQueryPathNodes, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--minpatcov", arguments, g_settings->minQueryCoveredByPath, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--minhitcov", arguments, g_settings->minQueryCoveredByHits, true); if (error.length() > 0) return error;
error = checkOptionForFloat("--minmeanid", arguments, g_settings->minMeanHitIdentity, true); if (error.length() > 0) return error;
error = checkOptionForSciNot("--maxevprod", arguments, g_settings->maxEValueProduct, true); if (error.length() > 0) return error;
error = checkOptionForFloat("--minpatlen", arguments, g_settings->minLengthPercentage, true); if (error.length() > 0) return error;
error = checkOptionForFloat("--maxpatlen", arguments, g_settings->maxLengthPercentage, true); if (error.length() > 0) return error;
error = checkOptionForInt("--minlendis", arguments, g_settings->minLengthBaseDiscrepancy, true); if (error.length() > 0) return error;
error = checkOptionForInt("--maxlendis", arguments, g_settings->maxLengthBaseDiscrepancy, true); if (error.length() > 0) return error;
error = checkOptionForInt("--alfilter", arguments, g_settings->blastAlignmentLengthFilter, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--qcfilter", arguments, g_settings->blastQueryCoverageFilter, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--ifilter", arguments, g_settings->blastIdentityFilter, false); if (error.length() > 0) return error;
error = checkOptionForSciNot("--evfilter", arguments, g_settings->blastEValueFilter, false); if (error.length() > 0) return error;
error = checkOptionForFloat("--bsfilter", arguments, g_settings->blastBitScoreFilter, false); if (error.length() > 0) return error;
//Make sure that the min depth is less than or equal to the max read
//depth.
double minDepth = g_settings->minDepthRange;
double maxDepth = g_settings->maxDepthRange;
if (isOptionPresent("--mindepth", &argumentsCopy))
minDepth = getFloatOption("--mindepth", &argumentsCopy);
if (isOptionPresent("--maxdepth", &argumentsCopy))
maxDepth = getFloatOption("--maxdepth", &argumentsCopy);
if (minDepth > maxDepth)
return "the maximum depth must be greater than or equal to the minimum depth.";
//Make sure that the min path length is less than or equal to the max path
//length.
bool minLengthPercentageOn = g_settings->minLengthPercentage.on;
bool maxLengthPercentageOn = g_settings->maxLengthPercentage.on;
double minLengthPercentage = g_settings->minLengthPercentage;
double maxLengthPercentage = g_settings->maxLengthPercentage;
if (isOptionPresent("--minpatlen", &argumentsCopy))
{
QString optionString = getStringOption("--minpatlen", &argumentsCopy);
if (optionString.toLower() == "off")
minLengthPercentageOn = false;
else
{
minLengthPercentageOn = true;
minLengthPercentage = getFloatOption("--minpatlen", &argumentsCopy);
}
}
if (isOptionPresent("--maxpatlen", &argumentsCopy))
{
QString optionString = getStringOption("--maxpatlen", &argumentsCopy);
if (optionString.toLower() == "off")
maxLengthPercentageOn = false;
else
{
maxLengthPercentageOn = true;
maxLengthPercentage = getFloatOption("--maxpatlen", &argumentsCopy);
}
}
if (minLengthPercentageOn && maxLengthPercentageOn &&
minLengthPercentage > maxLengthPercentage)
return "the maximum BLAST query path length discrepancy must be greater than or equal to the minimum length discrepancy.";
//Make sure that the min length discrepancy is less than or equal to the max
//length discrepancy.
bool minLengthBaseDiscrepancyOn = g_settings->minLengthBaseDiscrepancy.on;
bool maxLengthBaseDiscrepancyOn = g_settings->maxLengthBaseDiscrepancy.on;
int minLengthBaseDiscrepancy = g_settings->minLengthBaseDiscrepancy;
int maxLengthBaseDiscrepancy = g_settings->maxLengthBaseDiscrepancy;
if (isOptionPresent("--minlendis", &argumentsCopy))
{
QString optionString = getStringOption("--minlendis", &argumentsCopy);
if (optionString.toLower() == "off")
minLengthBaseDiscrepancyOn = false;
else
{
minLengthBaseDiscrepancyOn = true;
minLengthBaseDiscrepancy = getIntOption("--minlendis", &argumentsCopy);
}
}
if (isOptionPresent("--maxlendis", &argumentsCopy))
{
QString optionString = getStringOption("--maxlendis", &argumentsCopy);
if (optionString.toLower() == "off")
g_settings->maxLengthBaseDiscrepancy.on = false;
else
{
maxLengthBaseDiscrepancyOn = true;
maxLengthBaseDiscrepancy = getIntOption("--maxlendis", &argumentsCopy);
}
}
if (minLengthBaseDiscrepancyOn && maxLengthBaseDiscrepancyOn &&
minLengthBaseDiscrepancy > maxLengthBaseDiscrepancy)
return "the maximum BLAST query path length discrepancy must be greater than or equal to the minimum length discrepancy.";
bool blastScope = isOptionAndValuePresent("--scope", "aroundblast", &argumentsCopy);
bool queryFile = isOptionPresent("--query", &argumentsCopy);
if (blastScope && !queryFile)
return "A BLAST query must be given with the --query option when the\naroundblast scope is used.";
bool nodesScope = isOptionAndValuePresent("--scope", "aroundnodes", &argumentsCopy);
bool nodesList = isOptionPresent("--nodes", &argumentsCopy);
if (nodesScope && !nodesList)
return "A list of starting nodes must be given with the --nodes option\nwhen the aroundnodes scope is used.";
bool depthScope = isOptionAndValuePresent("--scope", "depthrange", &argumentsCopy);
bool minDepthPresent = isOptionPresent("--mindepth", &argumentsCopy);
bool maxDepthPresent = isOptionPresent("--maxdepth", &argumentsCopy);
if (depthScope && !(minDepthPresent && maxDepthPresent))
return "A depth range must be given with the --mindepth and\n--maxdepth options when the aroundnodes scope is used.";
return checkForExcessArguments(*arguments);
}
void parseSettings(QStringList arguments)
{
if (isOptionPresent("--scope", &arguments))
g_settings->graphScope = getGraphScopeOption("--scope", &arguments);
if (isOptionPresent("--distance", &arguments))
g_settings->nodeDistance = getIntOption("--distance", &arguments);
if (isOptionPresent("--mindepth", &arguments))
g_settings->minDepthRange = getFloatOption("--mindepth", &arguments);
if (isOptionPresent("--maxdepth", &arguments))
g_settings->maxDepthRange = getFloatOption("--maxdepth", &arguments);
if (isOptionPresent("--nodes", &arguments))
g_settings->startingNodes = getStringOption("--nodes", &arguments);
g_settings->startingNodesExactMatch = !isOptionPresent("--partial", &arguments);
if (isOptionPresent("--query", &arguments))
g_settings->blastQueryFilename = getStringOption("--query", &arguments);
if (isOptionPresent("--blastp", &arguments))
g_settings->blastSearchParameters = getStringOption("--blastp", &arguments);
g_settings->doubleMode = isOptionPresent("--double", &arguments);
if (isOptionPresent("--nodelen", &arguments))
{
g_settings->manualNodeLengthPerMegabase = getIntOption("--nodelen", &arguments);
g_settings->nodeLengthMode = MANUAL_NODE_LENGTH;
}
if (isOptionPresent("--edgelen", &arguments))
g_settings->edgeLength = getFloatOption("--edgelen", &arguments);
if (isOptionPresent("--iter", &arguments))
{
int quality = getIntOption("--iter", &arguments);
if (quality < 0)
quality = 0;
if (quality > 4)
quality = 4;
g_settings->graphLayoutQuality = quality;
}
g_settings->linearLayout = isOptionPresent("--linear", &arguments);
if (isOptionPresent("--nodseglen", &arguments))
g_settings->nodeSegmentLength = getFloatOption("--nodseglen", &arguments);
if (isOptionPresent("--nodewidth", &arguments))
g_settings->averageNodeWidth = getFloatOption("--nodewidth", &arguments);
if (isOptionPresent("--depwidth", &arguments))
g_settings->depthEffectOnWidth = getFloatOption("--depwidth", &arguments);
if (isOptionPresent("--deppower", &arguments))
g_settings->depthPower = getFloatOption("--deppower", &arguments);
if (isOptionPresent("--edgewidth", &arguments))
g_settings->edgeWidth = getFloatOption("--edgewidth", &arguments);
if (isOptionPresent("--outline", &arguments))
g_settings->outlineThickness = getFloatOption("--outline", &arguments);
g_settings->antialiasing = !isOptionPresent("--noaa", &arguments);
g_settings->arrowheadsInSingleMode = isOptionPresent("--singlearr", &arguments);
if (isOptionPresent("--edgecol", &arguments))
g_settings->edgeColour = getColourOption("--edgecol", &arguments);
if (isOptionPresent("--outcol", &arguments))
g_settings->outlineColour = getColourOption("--outcol", &arguments);
if (isOptionPresent("--selcol", &arguments))
g_settings->selectionColour = getColourOption("--selcol", &arguments);
if (isOptionPresent("--textcol", &arguments))
g_settings->textColour = getColourOption("--textcol", &arguments);
if (isOptionPresent("--toutcol", &arguments))
g_settings->textOutlineColour = getColourOption("--toutcol", &arguments);
g_settings->positionTextNodeCentre = isOptionPresent("--centre", &arguments);
g_settings->displayNodeNames = isOptionPresent("--names", &arguments);
g_settings->displayNodeLengths = isOptionPresent("--lengths", &arguments);
g_settings->displayNodeDepth = isOptionPresent("--depth", &arguments);
g_settings->displayBlastHits = isOptionPresent("--blasthits", &arguments);
if (isOptionPresent("--fontsize", &arguments))
{
int fontsize = getIntOption("--fontsize", &arguments);
QFont font = g_settings->labelFont;
font.setPointSize(fontsize);
g_settings->labelFont = font;
}
if (isOptionPresent("--toutline", &arguments))
{
double textOutlineThickness = getFloatOption("--toutline", &arguments);
if (textOutlineThickness == 0.0)
g_settings->textOutline = false;
else
{
g_settings->textOutline = true;
g_settings->textOutlineThickness = textOutlineThickness;
}
}
g_settings->nodeColourScheme = getColourSchemeOption("--colour", &arguments);
if (isOptionPresent("--ransatpos", &arguments))
g_settings->randomColourPositiveSaturation = getIntOption("--ransatpos", &arguments);
if (isOptionPresent("--ransatneg", &arguments))
g_settings->randomColourNegativeSaturation = getIntOption("--ransatneg", &arguments);
if (isOptionPresent("--ranligpos", &arguments))
g_settings->randomColourPositiveLightness = getIntOption("--ranligpos", &arguments);
if (isOptionPresent("--ranligneg", &arguments))
g_settings->randomColourNegativeLightness = getIntOption("--ranligneg", &arguments);
if (isOptionPresent("--ranopapos", &arguments))
g_settings->randomColourPositiveOpacity = getIntOption("--ranopapos", &arguments);
if (isOptionPresent("--ranopaneg", &arguments))
g_settings->randomColourNegativeOpacity = getIntOption("--ranopaneg", &arguments);
if (isOptionPresent("--unicolpos", &arguments))
g_settings->uniformPositiveNodeColour = getColourOption("--unicolpos", &arguments);
if (isOptionPresent("--unicolneg", &arguments))
g_settings->uniformNegativeNodeColour = getColourOption("--unicolneg", &arguments);
if (isOptionPresent("--unicolspe", &arguments))
g_settings->uniformNodeSpecialColour = getColourOption("--unicolspe", &arguments);
if (isOptionPresent("--depcollow", &arguments))
g_settings->lowDepthColour = getColourOption("--depcollow", &arguments);
if (isOptionPresent("--depcolhi", &arguments))
g_settings->highDepthColour = getColourOption("--depcolhi", &arguments);
if (isOptionPresent("--depvallow", &arguments))
{
g_settings->lowDepthValue = getFloatOption("--depvallow", &arguments);
g_settings->autoDepthValue = false;
}
if (isOptionPresent("--depvalhi", &arguments))
{
g_settings->highDepthValue = getFloatOption("--depvalhi", &arguments);
g_settings->autoDepthValue = false;
}
if (isOptionPresent("--pathnodes", &arguments))
g_settings->maxQueryPathNodes = getIntOption("--pathnodes", &arguments);
if (isOptionPresent("--minpatcov", &arguments))
g_settings->minQueryCoveredByPath = getFloatOption("--minpatcov", &arguments);
if (isOptionPresent("--minhitcov", &arguments))
{
QString optionString = getStringOption("--minhitcov", &arguments);
if (optionString.toLower() == "off")
g_settings->minQueryCoveredByHits.on = false;
else
{
g_settings->minQueryCoveredByHits.on = true;
g_settings->minQueryCoveredByHits = getFloatOption("--minhitcov", &arguments);
}
}
if (isOptionPresent("--minmeanid", &arguments))
{
QString optionString = getStringOption("--minmeanid", &arguments);
if (optionString.toLower() == "off")
g_settings->minMeanHitIdentity.on = false;
else
{
g_settings->minMeanHitIdentity.on = true;
g_settings->minMeanHitIdentity = getFloatOption("--minmeanid", &arguments);
}
}
if (isOptionPresent("--maxevprod", &arguments))
{
QString optionString = getStringOption("--maxevprod", &arguments);
if (optionString.toLower() == "off")
g_settings->maxEValueProduct.on = false;
else
{
g_settings->maxEValueProduct.on = true;
g_settings->maxEValueProduct = getSciNotOption("--maxevprod", &arguments);
}
}
if (isOptionPresent("--minpatlen", &arguments))
{
QString optionString = getStringOption("--minpatlen", &arguments);
if (optionString.toLower() == "off")
g_settings->minLengthPercentage.on = false;
else
{
g_settings->minLengthPercentage.on = true;
g_settings->minLengthPercentage = getFloatOption("--minpatlen", &arguments);
}
}
if (isOptionPresent("--maxpatlen", &arguments))
{
QString optionString = getStringOption("--maxpatlen", &arguments);
if (optionString.toLower() == "off")
g_settings->maxLengthPercentage.on = false;
else
{
g_settings->maxLengthPercentage.on = true;
g_settings->maxLengthPercentage = getFloatOption("--maxpatlen", &arguments);
}
}
if (isOptionPresent("--minlendis", &arguments))
{
QString optionString = getStringOption("--minlendis", &arguments);
if (optionString.toLower() == "off")
g_settings->minLengthBaseDiscrepancy.on = false;
else
{
g_settings->minLengthBaseDiscrepancy.on = true;
g_settings->minLengthBaseDiscrepancy = getIntOption("--minlendis", &arguments);
}
}
if (isOptionPresent("--maxlendis", &arguments))
{
QString optionString = getStringOption("--maxlendis", &arguments);
if (optionString.toLower() == "off")
g_settings->maxLengthBaseDiscrepancy.on = false;
else
{
g_settings->maxLengthBaseDiscrepancy.on = true;
g_settings->maxLengthBaseDiscrepancy = getIntOption("--maxlendis", &arguments);
}
}
if (isOptionPresent("--alfilter", &arguments))
{
g_settings->blastAlignmentLengthFilter.on = true;
g_settings->blastAlignmentLengthFilter = getIntOption("--alfilter", &arguments);
}
if (isOptionPresent("--qcfilter", &arguments))
{
g_settings->blastQueryCoverageFilter.on = true;
g_settings->blastQueryCoverageFilter = getFloatOption("--qcfilter", &arguments);
}
if (isOptionPresent("--ifilter", &arguments))
{
g_settings->blastIdentityFilter.on = true;
g_settings->blastIdentityFilter = getFloatOption("--ifilter", &arguments);
}
if (isOptionPresent("--evfilter", &arguments))
{
g_settings->blastEValueFilter.on = true;
g_settings->blastEValueFilter = getSciNotOption("--evfilter", &arguments);
}
if (isOptionPresent("--bsfilter", &arguments))
{
g_settings->blastBitScoreFilter.on = true;
g_settings->blastBitScoreFilter = getFloatOption("--bsfilter", &arguments);
}
}
bool checkForHelp(QStringList arguments)
{
int h1 = arguments.indexOf("-h");
int h2 = arguments.indexOf("-help");
int h3 = arguments.indexOf("--help");
return (h1 != -1 || h2 != -1 || h3 != -1);
}
bool checkForHelpAll(QStringList arguments)
{
return (arguments.indexOf("--helpall") != -1);
}
bool checkForVersion(QStringList arguments)
{
int v1 = arguments.indexOf("-v");
int v2 = arguments.indexOf("-version");
int v3 = arguments.indexOf("--version");
return (v1 != -1 || v2 != -1 || v3 != -1);
}
//This function checks the value for an integer-accepting command line option.
//If offOkay is true, then it will also accept "off" as a valid argument.
//Returns empty string if everything is okay and an error message if there's a
//problem. If everything is okay, it also removes the option and its value from
//arguments.
QString checkOptionForInt(QString option, QStringList * arguments, IntSetting setting, bool offOkay)
{
int optionIndex = arguments->indexOf(option);
//If the option isn't found, that's fine.
if (optionIndex == -1)
return "";
int integerIndex = optionIndex + 1;
//If nothing follows the option, that's a problem.
if (integerIndex >= arguments->size())
return option + " must be followed by an integer";
//If the thing following the option isn't an integer, that's a problem.
bool optionIsInt;
int optionInt = arguments->at(integerIndex).toInt(&optionIsInt);
bool optionIsOff = arguments->at(integerIndex).toLower() == "off";
if (offOkay && !(optionIsInt || optionIsOff))
return option + " must be followed by an integer or \"off\"";
if (!offOkay && !optionIsInt)
return option + " must be followed by an integer";
//Check the range of the option.
if (optionIsInt)
{
if (optionInt < setting.min || optionInt > setting.max)
return "Value of " + option + " must be between "
+ QString::number(setting.min) + " and " + QString::number(setting.max) +
" (inclusive)";
}
//If the code got here, the option and its integer are okay.
//Remove them from the arguments.
arguments->removeAt(integerIndex);
arguments->removeAt(optionIndex);
return "";
}
//This function checks the value for a float-accepting command line option.
//If offOkay is true, then it will also accept "off" as a valid argument.
//Returns empty string if everything is okay and an error message if there's a
//problem. If everything is okay, it also removes the option and its value from
//arguments.
QString checkOptionForFloat(QString option, QStringList * arguments, FloatSetting setting, bool offOkay)
{
int optionIndex = arguments->indexOf(option);
//If the option isn't found, that's fine.
if (optionIndex == -1)
return "";
int floatIndex = optionIndex + 1;
//If nothing follows the option, that's a problem.
if (floatIndex >= arguments->size())
return option + " must be followed by a number";
//If the thing following the option isn't a number, that's a problem.
bool optionIsFloat;
double optionFloat = arguments->at(floatIndex).toDouble(&optionIsFloat);
bool optionIsOff = arguments->at(floatIndex).toLower() == "off";
if (offOkay && !(optionIsFloat || optionIsOff))
return option + " must be followed by a number or \"off\"";
if (!offOkay && !optionIsFloat)
return option + " must be followed by a number";
//Check the range of the option.
if (optionIsFloat)
{
if (optionFloat < setting.min || optionFloat > setting.max)
return "Value of " + option + " must be between "
+ QString::number(setting.min) + " and " + QString::number(setting.max) +
" (inclusive)";
}
//If the code got here, the option and its number are okay.
//Remove them from the arguments.
arguments->removeAt(floatIndex);
arguments->removeAt(optionIndex);
return "";
}
//This function checks the value for a scientific notation-accepting command
//line option. If offOkay is true, then it will also accept "off" as a valid
//argument.
//Returns empty string if everything is okay and an error message if there's a
//problem. If everything is okay, it also removes the option and its value from
//arguments.
QString checkOptionForSciNot(QString option, QStringList * arguments,
SciNotSetting setting, bool offOkay)
{
int optionIndex = arguments->indexOf(option);
//If the option isn't found, that's fine.
if (optionIndex == -1)
return "";
int sciNotIndex = optionIndex + 1;
//If nothing follows the option, that's a problem.
if (sciNotIndex >= arguments->size())
return option + " must be followed by a number in scientific notation";
//If the thing following the option isn't a number in scientific notation or
//"off", that's a problem.
bool optionIsSciNot = SciNot::isValidSciNotString(arguments->at(sciNotIndex));
bool optionIsOff = arguments->at(sciNotIndex).toLower() == "off";
if (offOkay && !(optionIsSciNot || optionIsOff))
return option + " must be followed by a number in scientific notation or \"off\"";
if (!offOkay && !optionIsSciNot)
return option + " must be followed by a number in scientific notation";
SciNot optionSciNot = SciNot(arguments->at(sciNotIndex));
//Check the range of the option.
if (optionIsSciNot)
{
if (optionSciNot < setting.min || optionSciNot > setting.max)
return "Value of " + option + " must be between "
+ setting.min.asString(true) + " and " + setting.max.asString(true) +
" (inclusive)";
}
//If the code got here, the option and its number are okay.
//Remove them from the arguments.
arguments->removeAt(sciNotIndex);
arguments->removeAt(optionIndex);
return "";
}
//Returns empty string if everything is okay and an error
//message if there's a problem. If everything is okay, it
//also removes the option and its value from arguments.
QString checkOptionForString(QString option, QStringList * arguments, QStringList validOptionsList, QString validDescription)
{
int optionIndex = arguments->indexOf(option);
//If the option isn't found, that's fine.
if (optionIndex == -1)
return "";
int stringIndex = optionIndex + 1;
QString validOptions;
for (int i = 0; i < validOptionsList.size(); ++i)
{
validOptions += validOptionsList.at(i);
if (i == validOptionsList.size() - 2)
validOptions += " or ";
else if (i < validOptionsList.size() - 2)
validOptions += ", ";
}
if (validOptions == "")
validOptions = validDescription;
//If nothing follows the option, that's a problem.
if (stringIndex >= arguments->size())
return option + " must be followed by " + validOptions;
//If the thing following the option isn't a valid choice, that's a problem.
if (validOptionsList.size() > 0)
{
QString value = arguments->at(stringIndex);
if (!validOptionsList.contains(value, Qt::CaseInsensitive))
return option + " must be followed by " + validOptions;
}
//If the code got here, the option and its string are okay.
//Remove them from the arguments.
arguments->removeAt(stringIndex);
arguments->removeAt(optionIndex);
return "";
}
QString checkOptionForColour(QString option, QStringList * arguments)
{
int optionIndex = arguments->indexOf(option);
//If the option isn't found, that's fine.
if (optionIndex == -1)
return "";
int colIndex = optionIndex + 1;
//If nothing follows the option, that's a problem.
if (colIndex >= arguments->size())
return option + " must be followed by a 6-digit hex colour (e.g. #FFB6C1), an 8-digit hex colour (e.g. #7FD2B48C) or a standard colour name (e.g. skyblue)";
//If the thing following the option isn't a colour, that's a problem.
QColor colour(arguments->at(colIndex));
if (!colour.isValid())
return option + " must be followed by a 6-digit hex colour (e.g. #FFB6C1), an 8-digit hex colour (e.g. #7FD2B48C) or a standard colour name (e.g. skyblue)";
//If the code got here, the option and its colour are okay.
//Remove them from the arguments.
arguments->removeAt(colIndex);
arguments->removeAt(optionIndex);
return "";
}
QString checkOptionForFile(QString option, QStringList * arguments)
{
int optionIndex = arguments->indexOf(option);
//If the option isn't found, that's fine.
if (optionIndex == -1)
return "";
int fileIndex = optionIndex + 1;
//If nothing follows the option, that's a problem.
if (fileIndex >= arguments->size())
return option + " must be followed by a filename";
//If the thing that follows the option isn't a file that's a problem
if (!checkIfFileExists(arguments->at(fileIndex)))
return option + " must be followed by a valid filename";
//If the code got here, the option and its file are okay.
//Remove them from the arguments.
arguments->removeAt(fileIndex);
arguments->removeAt(optionIndex);
return "";
}
bool checkIfFileExists(QString filename)
{
QFileInfo checkFile(filename);
return (checkFile.exists() && checkFile.isFile());
}
//This function simply removes an option from arguments if it is found.
void checkOptionWithoutValue(QString option, QStringList * arguments)
{
int optionIndex = arguments->indexOf(option);
//If the option isn't found, that's fine.
if (optionIndex == -1)
return ;
//If the code got here, the option is okay.
//Remove it from the arguments.
arguments->removeAt(optionIndex);
}
//This function checks to make sure either both or neither of the options
//are used. It can also optionally check to make sure the second is larger
//than the first.
QString checkTwoOptionsForFloats(QString option1, QString option2, QStringList * arguments,
FloatSetting setting1, FloatSetting setting2,
bool secondMustBeEqualOrLarger)
{
//First check each option independently
QStringList argumentsCopy = *arguments;
QString option1Error = checkOptionForFloat(option1, &argumentsCopy, setting1, false);
if (option1Error != "")
return option1Error;
QString option2Error = checkOptionForFloat(option2, &argumentsCopy, setting2, false);
if (option2Error != "")
return option2Error;
//Now make sure either both or neither are present.
if (isOptionPresent(option1, arguments) != isOptionPresent(option2, arguments))
return option1 + " and " + option2 + " must be used together";
if (secondMustBeEqualOrLarger)
{
if (getFloatOption(option2, arguments) < getFloatOption(option1, arguments))
return option2 + " must be greater than or equal to " + option1;
}
//Now remove the options from the arguments before finishing.
checkOptionForFloat(option1, arguments, setting1, false);
checkOptionForFloat(option2, arguments, setting2, false);
return "";
}
bool isOptionPresent(QString option, QStringList * arguments)
{
return (arguments->indexOf(option) > -1);
}
bool isOptionAndValuePresent(QString option, QString value, QStringList * arguments)
{
int optionIndex = arguments->indexOf(option);
if (optionIndex == -1)
return false;
int valueIndex = optionIndex + 1;
if (valueIndex >= arguments->size())
return false;
QString optionValue = arguments->at(valueIndex);
return (optionValue == value);
}
int getIntOption(QString option, QStringList * arguments)
{
int optionIndex = arguments->indexOf(option);
if (optionIndex == -1)
return 0;
int integerIndex = optionIndex + 1;
if (integerIndex >= arguments->size())
return 0;
return arguments->at(integerIndex).toInt();
}
double getFloatOption(QString option, QStringList * arguments)
{
int optionIndex = arguments->indexOf(option);
if (optionIndex == -1)
return 0;
int floatIndex = optionIndex + 1;
if (floatIndex >= arguments->size())
return 0;
return arguments->at(floatIndex).toDouble();
}
SciNot getSciNotOption(QString option, QStringList * arguments)
{
int optionIndex = arguments->indexOf(option);
if (optionIndex == -1)
return 0;
int sciNotIndex = optionIndex + 1;
if (sciNotIndex >= arguments->size())
return SciNot();
return SciNot(arguments->at(sciNotIndex));
}
NodeColourScheme getColourSchemeOption(QString option, QStringList * arguments)
{
NodeColourScheme defaultScheme = RANDOM_COLOURS;
if (isOptionPresent("--query", arguments))
defaultScheme = BLAST_HITS_SOLID_COLOUR;
int optionIndex = arguments->indexOf(option);
if (optionIndex == -1)
return defaultScheme;
int colourIndex = optionIndex + 1;
if (colourIndex >= arguments->size())
return defaultScheme;
QString colourString = arguments->at(colourIndex).toLower();
if (colourString == "random")
return RANDOM_COLOURS;
else if (colourString == "uniform")
return UNIFORM_COLOURS;
else if (colourString == "depth")
return DEPTH_COLOUR;
else if (colourString == "blastsolid")
return BLAST_HITS_SOLID_COLOUR;
else if (colourString == "blastrainbow")
return BLAST_HITS_RAINBOW_COLOUR;
else if (colourString == "custom")
return CUSTOM_COLOURS;
//Random colours is the default
return defaultScheme;
}
GraphScope getGraphScopeOption(QString option, QStringList * arguments)
{
int optionIndex = arguments->indexOf(option);
if (optionIndex == -1)
return WHOLE_GRAPH;
int scopeIndex = optionIndex + 1;
if (scopeIndex >= arguments->size())
return WHOLE_GRAPH;
QString scopeString = arguments->at(scopeIndex).toLower();
if (scopeString == "entire")
return WHOLE_GRAPH;
else if (scopeString == "aroundnodes")
return AROUND_NODE;
else if (scopeString == "aroundblast")
return AROUND_BLAST_HITS;
else if (scopeString == "depthrange")
return DEPTH_RANGE;
//Entire graph scope is the default.
return WHOLE_GRAPH;
}
QColor getColourOption(QString option, QStringList * arguments)
{
int optionIndex = arguments->indexOf(option);
if (optionIndex == -1)
return QColor();
int colIndex = optionIndex + 1;
if (colIndex >= arguments->size())
return QColor();
return QColor(arguments->at(colIndex));
}
QString getStringOption(QString option, QStringList * arguments)
{
int optionIndex = arguments->indexOf(option);
if (optionIndex == -1)
return "";
int stringIndex = optionIndex + 1;
if (stringIndex >= arguments->size())
return "";
return arguments->at(stringIndex);
}
//This function generates an error if excess arguments are left after
//parsing.
QString checkForExcessArguments(QStringList arguments)
{
if (arguments.size() == 0)
return "";
QString invalidOptionText = "Invalid option";
if (arguments.size() > 1)
invalidOptionText += "s";
invalidOptionText += ": ";
for (int i = 0; i < arguments.size(); ++i)
{
invalidOptionText += arguments.at(i);
if (i < arguments.size() - 1)
invalidOptionText += ", ";
}
return invalidOptionText;
}
void getCommonHelp(QStringList * text)
{
*text << "--help View this help message";
*text << "--helpall View all command line settings";
*text << "--version View Bandage version number";
*text << "";
}
bool createBlastTempDirectory()
{
//Running from the command line, it makes more sense to put the temp
//directory in the current directory.
g_blastSearch->m_tempDirectory = "bandage_temp-" + QString::number(QApplication::applicationPid()) + "/";
if (!QDir().mkdir(g_blastSearch->m_tempDirectory))
return false;
g_blastSearch->m_blastQueries.createTempQueryFiles();
return true;
}
void deleteBlastTempDirectory()
{
if (g_blastSearch->m_tempDirectory != "" &&
QDir(g_blastSearch->m_tempDirectory).exists() &&
QDir(g_blastSearch->m_tempDirectory).dirName().contains("bandage_temp"))
QDir(g_blastSearch->m_tempDirectory).removeRecursively();
}
QString getElapsedTime(QDateTime start, QDateTime end)
{
int msecElapsed = start.msecsTo(end);
int secElapsed = msecElapsed / 1000;
msecElapsed = msecElapsed % 1000;
int minElapsed = secElapsed / 60;
secElapsed = secElapsed % 60;
int hoursElapsed = minElapsed / 60;
minElapsed = minElapsed % 60;
QString msecString = QString("%1").arg(msecElapsed, 2, 10, QChar('0'));
QString secString = QString("%1").arg(secElapsed, 2, 10, QChar('0'));
QString minString = QString("%1").arg(minElapsed, 2, 10, QChar('0'));
QString hourString = QString("%1").arg(hoursElapsed, 2, 10, QChar('0'));
return hourString + ":" + minString + ":" + secString + "." + msecString;
}
QStringList wrapText(QString text, int width, int firstLineIndent, int laterLineIndent)
{
QStringList returnList;
QString firstLineSpaces = "";
for (int i = 0; i < firstLineIndent; ++i)
firstLineSpaces += ' ';
QString laterLineSpaces = "";
for (int i = 0; i < laterLineIndent; ++i)
laterLineSpaces += ' ';
text = firstLineSpaces + text;
//If the terminal width is at the minimum, don't bother wrapping.
if (g_memory->terminalWidth <= 50)
{
returnList << text;
return returnList;
}
while (text.length() > width)
{
QString leftString = text.left(width);
int spaceIndex = leftString.lastIndexOf(' ');
if (spaceIndex < width / 2)
spaceIndex = width;
leftString = text.left(spaceIndex);
returnList << rstrip(leftString);
text = laterLineSpaces + text.mid(spaceIndex).trimmed();
}
returnList << text;
return returnList;
}
//http://stackoverflow.com/questions/8215303/how-do-i-remove-trailing-whitespace-from-a-qstring
QString rstrip(const QString& str)
{
int n = str.size() - 1;
for (; n >= 0; --n)
{
if (!str.at(n).isSpace())
return str.left(n + 1);
}
return "";
}
QString getRangeAndDefault(IntSetting setting) {return (setting.on) ? getRangeAndDefault(setting.min, setting.max, setting.val) : getRangeAndDefault(setting.min, setting.max, "off");}
QString getRangeAndDefault(IntSetting setting, QString defaultVal) {return getRangeAndDefault(setting.min, setting.max, defaultVal);}
QString getRangeAndDefault(FloatSetting setting) {return (setting.on) ? getRangeAndDefault(setting.min, setting.max, setting.val) : getRangeAndDefault(setting.min, setting.max, "off");}
QString getRangeAndDefault(FloatSetting setting, QString defaultVal) {return getRangeAndDefault(setting.min, setting.max, defaultVal);}
QString getRangeAndDefault(SciNotSetting setting) {return (setting.on) ? getRangeAndDefault(setting.min.asString(true), setting.max.asString(true), setting.val.asString(true)) : getRangeAndDefault(setting.min.asString(true), setting.max.asString(true), "off");}
QString getRangeAndDefault(int min, int max, int defaultVal) { return getRangeAndDefault(double(min), double(max), QString::number(defaultVal));}
QString getRangeAndDefault(int min, int max, QString defaultVal) {return getRangeAndDefault(double(min), double(max), defaultVal);}
QString getRangeAndDefault(double min, double max, double defaultVal) {return getRangeAndDefault(min, max, QString::number(defaultVal));}
QString getRangeAndDefault(double min, double max, QString defaultVal) {return getRangeAndDefault(QString::number(min), QString::number(max), defaultVal);}
QString getRangeAndDefault(QString min, QString max, QString defaultVal)
{
return "(" + min + " to " + max + ", default: " + defaultVal + ")";
}
QString getDefaultColour(QColor colour)
{
return "(default: " + getColourName(colour.name()) + ")";
}
QString getBandageTitleAsciiArt()
{
return " ____ _ \n | _ \\ | | \n | |_) | __ _ _ __ __| | __ _ __ _ ___ \n | _ < / _` | '_ \\ / _` |/ _` |/ _` |/ _ \\\n | |_) | (_| | | | | (_| | (_| | (_| | __/\n |____/ \\__,_|_| |_|\\__,_|\\__,_|\\__, |\\___|\n __/ | \n |___/ ";
}
bool isOption(QString text)
{
bool option = (text.length() > 2 && text[0] == '-' && text[1] == '-' && text[2] != '-');
QRegularExpression rx("^[\\w ]+:");
return option || text.contains(rx);
}
bool isSectionHeader(QString text)
{
//Make an exception:
if (text.startsWith("Node widths are determined"))
return false;
QRegularExpression rx("^[\\w ]+:");
return text.contains(rx);
}
bool isListItem(QString text)
{
return (text.length() > 1 && text[0] == '*' && text[1] == ' ');
}
bool isCommand(QString text)
{
return text.startsWith("load ") ||
text.startsWith("info ") ||
text.startsWith("image ") ||
text.startsWith("querypaths ") ||
text.startsWith("reduce ");
}
bool isError(QString text)
{
return text.startsWith("Bandage error");
}
void getOnlineHelpMessage(QStringList * text)
{
*text << "Online Bandage help: https://github.com/rrwick/Bandage/wiki";
*text << "";
}
Bandage-0.9.0/command_line/commoncommandlinefunctions.h 0000664 0000000 0000000 00000010715 14165724233 0023302 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef COMMANDCOMMANDLINEFUNCTIONS_H
#define COMMANDCOMMANDLINEFUNCTIONS_H
#include "../program/globals.h"
#include
#include
#include
#include
#include "../program/scinot.h"
#include
#include
#include "../program/settings.h"
QStringList getArgumentList(int argc, char *argv[]);
bool checkForHelp(QStringList arguments);
bool checkForHelpAll(QStringList arguments);
bool checkForVersion(QStringList arguments);
QString checkOptionForInt(QString option, QStringList * arguments, IntSetting setting, bool offOkay);
QString checkOptionForFloat(QString option, QStringList * arguments, FloatSetting setting, bool offOkay);
QString checkOptionForSciNot(QString option, QStringList * arguments, SciNotSetting setting, bool offOkay);
QString checkOptionForString(QString option, QStringList * arguments,
QStringList validOptionsList,
QString validDescription = "");
QString checkOptionForColour(QString option, QStringList * arguments);
QString checkOptionForFile(QString option, QStringList * arguments);
bool checkIfFileExists(QString filename);
void checkOptionWithoutValue(QString option, QStringList * arguments);
QString checkTwoOptionsForFloats(QString option1, QString option2,
QStringList * arguments,
FloatSetting setting1,
FloatSetting setting2,
bool secondMustBeEqualOrLarger = false);
bool isOptionPresent(QString option, QStringList * arguments);
bool isOptionAndValuePresent(QString option, QString value,
QStringList * arguments);
int getIntOption(QString option, QStringList * arguments);
double getFloatOption(QString option, QStringList * arguments);
SciNot getSciNotOption(QString option, QStringList * arguments);
QColor getColourOption(QString option, QStringList * arguments);
NodeColourScheme getColourSchemeOption(QString option, QStringList * arguments);
GraphScope getGraphScopeOption(QString option, QStringList * arguments);
QString getStringOption(QString option, QStringList * arguments);
QString checkForInvalidOrExcessSettings(QStringList * arguments);
QString checkForExcessArguments(QStringList arguments);
void parseSettings(QStringList arguments);
void getCommonHelp(QStringList * text);
void getSettingsUsage(QStringList *text);
bool createBlastTempDirectory();
void deleteBlastTempDirectory();
QString getElapsedTime(QDateTime start, QDateTime end);
void getGraphScopeOptions(QStringList * text);
QStringList wrapText(QString text, int width, int firstLineIndent, int laterLineIndent);
QString rstrip(const QString& str);
QString getRangeAndDefault(IntSetting setting);
QString getRangeAndDefault(IntSetting setting, QString defaultVal);
QString getRangeAndDefault(FloatSetting setting);
QString getRangeAndDefault(FloatSetting setting, QString defaultVal);
QString getRangeAndDefault(SciNotSetting setting);
QString getRangeAndDefault(int min, int max, int defaultVal);
QString getRangeAndDefault(int min, int max, int defaultVal);
QString getRangeAndDefault(int min, int max, QString defaultVal);
QString getRangeAndDefault(double min, double max, double defaultVal);
QString getRangeAndDefault(double min, double max, QString defaultVal);
QString getRangeAndDefault(QString min, QString max, QString defaultVal);
QString getDefaultColour(QColor colour);
QString getBandageTitleAsciiArt();
bool isOption(QString text);
bool isSectionHeader(QString text);
bool isListItem(QString text);
bool isCommand(QString text);
bool isError(QString text);
void outputText(QString text, QTextStream * out);
void outputText(QStringList text, QTextStream * out);
void getOnlineHelpMessage(QStringList * text);
#endif // COMMANDCOMMANDLINEFUNCTIONS_H
Bandage-0.9.0/command_line/image.cpp 0000664 0000000 0000000 00000021332 14165724233 0017264 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "image.h"
#include "commoncommandlinefunctions.h"
#include "../program/globals.h"
#include "../ui/mygraphicsscene.h"
#include "../ui/mygraphicsview.h"
#include "../graph/assemblygraph.h"
#include
#include "../program/settings.h"
#include
#include
#include
#include "../blast/blastsearch.h"
int bandageImage(QStringList arguments)
{
QTextStream out(stdout);
QTextStream err(stderr);
if (checkForHelp(arguments))
{
printImageUsage(&out, false);
return 0;
}
if (checkForHelpAll(arguments))
{
printImageUsage(&out, true);
return 0;
}
if (arguments.size() < 2)
{
printImageUsage(&err, false);
return 1;
}
QString graphFilename = arguments.at(0);
arguments.pop_front();
if (!checkIfFileExists(graphFilename))
{
outputText("Bandage error: " + graphFilename + " does not exist", &err);
return 1;
}
QString imageSaveFilename = arguments.at(0);
arguments.pop_front();
QString imageFileExtension = imageSaveFilename.right(4);
bool pixelImage;
if (imageFileExtension == ".png" || imageFileExtension == ".jpg")
pixelImage = true;
else if (imageFileExtension == ".svg")
pixelImage = false;
else
{
outputText("Bandage error: the output filename must end in .png, .jpg or .svg", &err);
return 1;
}
QString error = checkForInvalidImageOptions(arguments);
if (error.length() > 0)
{
outputText("Bandage error: " + error, &err);
return 1;
}
bool loadSuccess = g_assemblyGraph->loadGraphFromFile(graphFilename);
if (!loadSuccess)
{
outputText("Bandage error: could not load " + graphFilename, &err);
return 1;
}
int width = 0;
int height = 0;
//Since frame rate performance doesn't matter for a fixed image, set the
//default node outline to a nonzero value.
g_settings->outlineThickness = 0.3;
parseImageOptions(arguments, &width, &height);
//For Bandage image, it is necessary to position node labels at the
//centre of the node, not the visible centre(s). This is because there
//is no viewport.
g_settings->positionTextNodeCentre = true;
//The zoom level needs to be set so rainbow-style BLAST hits are rendered
//properly.
g_absoluteZoom = 10.0;
bool blastUsed = isOptionPresent("--query", &arguments);
if (blastUsed)
{
if (!createBlastTempDirectory())
{
err << "Error creating temporary directory for BLAST files" << Qt::endl;
return 1;
}
QString blastError = g_blastSearch->doAutoBlastSearch();
if (blastError != "")
{
err << blastError << Qt::endl;
return 1;
}
}
QString errorTitle;
QString errorMessage;
std::vector startingNodes = g_assemblyGraph->getStartingNodes(&errorTitle, &errorMessage,
g_settings->doubleMode,
g_settings->startingNodes,
"all");
QString errormsg;
QStringList columns;
bool coloursLoaded = false;
QString csvPath = parseColorsOption(arguments);
if (csvPath != "")
{
if(!g_assemblyGraph->loadCSV(csvPath, &columns, &errormsg, &coloursLoaded))
{
err << errormsg << Qt::endl;
return 1;
}
if(coloursLoaded == false)
{
err << csvPath << " didn't contain color" << Qt::endl;
return 1;
}
g_settings->nodeColourScheme = CUSTOM_COLOURS;
}
if (errorMessage != "")
{
err << errorMessage << Qt::endl;
return 1;
}
g_assemblyGraph->buildOgdfGraphFromNodesAndEdges(startingNodes, g_settings->nodeDistance);
g_assemblyGraph->layoutGraph();
MyGraphicsScene scene;
g_assemblyGraph->addGraphicsItemsToScene(&scene);
scene.setSceneRectangle();
double sceneRectAspectRatio = scene.sceneRect().width() / scene.sceneRect().height();
//Determine image size
//If neither height nor width set, use a default of height = 1000.
if (height == 0 && width == 0)
height = 1000;
//If only height or width is set, scale the other to fit.
if (height > 0 && width == 0)
width = height * sceneRectAspectRatio;
else if (height == 0 && width > 0)
height = width / sceneRectAspectRatio;
bool success = true;
QPainter painter;
if (pixelImage)
{
QImage image(width, height, QImage::Format_ARGB32);
image.fill(Qt::white);
painter.begin(&image);
painter.setRenderHint(QPainter::Antialiasing);
painter.setRenderHint(QPainter::TextAntialiasing);
scene.render(&painter);
success = image.save(imageSaveFilename);
painter.end();
}
else //SVG
{
QSvgGenerator generator;
generator.setFileName(imageSaveFilename);
generator.setSize(QSize(width, height));
generator.setViewBox(QRect(0, 0, width, height));
painter.begin(&generator);
painter.fillRect(0, 0, width, height, Qt::white);
painter.setRenderHint(QPainter::Antialiasing);
painter.setRenderHint(QPainter::TextAntialiasing);
scene.render(&painter);
painter.end();
}
int returnCode;
if (!success)
{
out << "There was an error writing the image to file." << Qt::endl;
returnCode = 1;
}
else
returnCode = 0;
if (blastUsed)
deleteBlastTempDirectory();
return returnCode;
}
void printImageUsage(QTextStream * out, bool all)
{
QStringList text;
text << "Bandage image will generate an image file of the graph visualisation without opening the GUI.";
text << "";
text << "Usage: Bandage image [options]";
text << "";
text << "Positional parameters:";
text << " A graph file of any type supported by Bandage";
text << " The image file to be created (must end in '.jpg', '.png' or '.svg')";
text << "";
text << "Options: --height Image height (default: 1000)";
text << "--width Image width (default: not set)";
text << "--color csv file with 2 column first the node name second the node color";
text << "";
text << "If only height or width is set, the other will be determined automatically. If both are set, the image will be exactly that size.";
text << "";
getCommonHelp(&text);
if (all)
getSettingsUsage(&text);
getOnlineHelpMessage(&text);
outputText(text, out);
}
QString checkForInvalidImageOptions(QStringList arguments)
{
QString error = checkOptionForInt("--height", &arguments, IntSetting(0, 1, 32767), false);
if (error.length() > 0) return error;
error = checkOptionForInt("--width", &arguments, IntSetting(0, 1, 32767), false);
if (error.length() > 0) return error;
error = checkOptionForString("--colors", &arguments, QStringList(), "a path of csv file");
if (error.length() > 0) return error;
return checkForInvalidOrExcessSettings(&arguments);
}
//This function parses the command line options. It assumes that the options
//have already been checked for correctness.
void parseImageOptions(QStringList arguments, int * width, int * height)
{
if (isOptionPresent("--height", &arguments))
*height = getIntOption("--height", &arguments);
if (isOptionPresent("--width", &arguments))
*width = getIntOption("--width", &arguments);
parseSettings(arguments);
}
//This function parses the command line options. It assumes that the options
//have already been checked for correctness.
QString parseColorsOption(QStringList arguments)
{
QString path = "";
if (isOptionPresent("--colors", &arguments))
path = getStringOption("--colors", &arguments);
parseSettings(arguments);
return path;
}
Bandage-0.9.0/command_line/image.h 0000664 0000000 0000000 00000002124 14165724233 0016727 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef IMAGE_H
#define IMAGE_H
#include
#include "../ui/mainwindow.h"
#include
#include
int bandageImage(QStringList arguments);
void printImageUsage(QTextStream * out, bool all);
QString checkForInvalidImageOptions(QStringList arguments);
void parseImageOptions(QStringList arguments, int * width, int * height);
QString parseColorsOption(QStringList arguments);
#endif // IMAGE_H
Bandage-0.9.0/command_line/info.cpp 0000664 0000000 0000000 00000021205 14165724233 0017134 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "info.h"
#include "commoncommandlinefunctions.h"
#include "../graph/assemblygraph.h"
#include
int bandageInfo(QStringList arguments)
{
QTextStream out(stdout);
QTextStream err(stderr);
if (checkForHelp(arguments))
{
printInfoUsage(&out, false);
return 0;
}
if (checkForHelpAll(arguments))
{
printInfoUsage(&out, true);
return 0;
}
if (arguments.size() < 1)
{
printInfoUsage(&err, false);
return 1;
}
QString graphFilename = arguments.at(0);
arguments.pop_front();
if (!checkIfFileExists(graphFilename))
{
outputText("Bandage error: " + graphFilename + " does not exist.", &err);
return 1;
}
QString error = checkForInvalidInfoOptions(arguments);
if (error.length() > 0)
{
outputText("Bandage error: " + error, &err);
return 1;
}
bool tsv;
parseInfoOptions(arguments, &tsv);
bool loadSuccess = g_assemblyGraph->loadGraphFromFile(graphFilename);
if (!loadSuccess)
{
err << "Bandage error: could not load " << graphFilename << Qt::endl;
return 1;
}
int nodeCount = g_assemblyGraph->m_nodeCount;
int edgeCount = g_assemblyGraph->m_edgeCount;
QPair overlapRange = g_assemblyGraph->getOverlapRange();
int smallestOverlap = overlapRange.first;
int largestOverlap = overlapRange.second;
int totalLength = g_assemblyGraph->m_totalLength;
int totalLengthNoOverlaps = g_assemblyGraph->getTotalLengthMinusEdgeOverlaps();
int deadEnds = g_assemblyGraph->getDeadEndCount();
double percentageDeadEnds = 100.0 * double(deadEnds) / (2 * nodeCount);
int n50 = 0;
int shortestNode = 0;
int firstQuartile = 0;
int median = 0;
int thirdQuartile = 0;
int longestNode = 0;
g_assemblyGraph->getNodeStats(&n50, &shortestNode, &firstQuartile, &median, &thirdQuartile, &longestNode);
int componentCount = 0;
int largestComponentLength = 0;
g_assemblyGraph->getGraphComponentCountAndLargestComponentSize(&componentCount, &largestComponentLength);
long long totalLengthOrphanedNodes = g_assemblyGraph->getTotalLengthOrphanedNodes();
double medianDepthByBase = g_assemblyGraph->getMedianDepthByBase();
long long estimatedSequenceLength = g_assemblyGraph->getEstimatedSequenceLength(medianDepthByBase);
if (tsv)
{
out << graphFilename << "\t";
out << nodeCount << "\t";
out << edgeCount << "\t";
out << smallestOverlap << "\t";
out << largestOverlap << "\t";
out << totalLength << "\t";
out << totalLengthNoOverlaps << "\t";
out << deadEnds << "\t";
out << percentageDeadEnds << "%\t";
out << componentCount << "\t";
out << largestComponentLength << "\t";
out << totalLengthOrphanedNodes << "\t";
out << n50 << "\t";
out << shortestNode << "\t";
out << firstQuartile << "\t";
out << median << "\t";
out << thirdQuartile << "\t";
out << longestNode << "\t";
out << medianDepthByBase << "\t";
out << estimatedSequenceLength << "\n";
}
else
{
out << "Node count: " << nodeCount << "\n";
out << "Edge count: " << edgeCount << "\n";
out << "Smallest edge overlap (bp): " << smallestOverlap << "\n";
out << "Largest edge overlap (bp): " << largestOverlap << "\n";
out << "Total length (bp): " << totalLength << "\n";
out << "Total length no overlaps (bp): " << totalLengthNoOverlaps << "\n";
out << "Dead ends: " << deadEnds << "\n";
out << "Percentage dead ends: " << percentageDeadEnds << "%\n";
out << "Connected components: " << componentCount << "\n";
out << "Largest component (bp): " << largestComponentLength << "\n";
out << "Total length orphaned nodes (bp): " << totalLengthOrphanedNodes << "\n";
out << "N50 (bp): " << n50 << "\n";
out << "Shortest node (bp): " << shortestNode << "\n";
out << "Lower quartile node (bp): " << firstQuartile << "\n";
out << "Median node (bp): " << median << "\n";
out << "Upper quartile node (bp): " << thirdQuartile << "\n";
out << "Longest node (bp): " << longestNode << "\n";
out << "Median depth: " << medianDepthByBase << "\n";
out << "Estimated sequence length (bp): " << estimatedSequenceLength << "\n";
}
return 0;
}
void printInfoUsage(QTextStream * out, bool all)
{
QStringList text;
text << "Bandage info takes a graph file as input and outputs (to stdout) the following statistics about the graph:";
text << "* Node count: The number of nodes in the graph. Only positive nodes are counted (i.e. each complementary pair counts as one).";
text << "* Edge count: The number of edges in the graph. Only one edge in each complementary pair is counted.";
text << "* Smallest edge overlap: The smallest overlap size (in bp) for the edges in the graph.";
text << "* Largest edge overlap: The smallest overlap size (in bp) for the edges in the graph. For most graphs this will be the same as the smallest edge overlap (i.e. all edges have the same overlap).";
text << "* Total length: The total number of base pairs in the graph.";
text << "* Total length no overlaps: The total number of base pairs in the graph, subtracting bases that are duplicated in edge overlaps.";
text << "* Dead ends: The number of instances where an end of a node does not connect to any other nodes.";
text << "* Percentage dead ends: The proportion of possible dead ends. The maximum number of dead ends is twice the number of nodes (occurs when there are no edges), so this value is the number of dead ends divided by twice the node count.";
text << "* Connected components: The number of regions of the graph which are disconnected from each other.";
text << "* Largest component: The total number of base pairs in the largest connected component.";
text << "* Total length orphaned nodes: The total number of base pairs in orphan nodes (nodes with no edges).";
text << "* N50: Nodes that are this length or greater will collectively add up to at least half of the total length.";
text << "* Shortest node: The length of the shortest node in the graph.";
text << "* Lower quartile node: The median node length for the shorter half of the nodes.";
text << "* Median node: The median node length for the graph.";
text << "* Upper quartile node: The median node length for the longer half of the nodes.";
text << "* Longest node: The length of the longest node in the graph.";
text << "* Median depth: The median depth of the graph, by base.";
text << "* Estimated sequence length: An estimate of the total number of bases in the original sequence, calculated by multiplying each node's length (minus overlaps) by its depth relative to the median.";
text << "";
text << "Usage: Bandage info [options]";
text << "";
text << "Positional parameters:";
text << " A graph file of any type supported by Bandage";
text << "";
text << "Options: --tsv Output the information in a single tab-delimited line starting with the graph file";
text << "";
getCommonHelp(&text);
if (all)
getSettingsUsage(&text);
getOnlineHelpMessage(&text);
outputText(text, out);
}
QString checkForInvalidInfoOptions(QStringList arguments)
{
checkOptionWithoutValue("--tsv", &arguments);
QString error = checkForInvalidOrExcessSettings(&arguments);
if (error.length() > 0) return error;
return checkForInvalidOrExcessSettings(&arguments);
}
void parseInfoOptions(QStringList arguments, bool * tsv)
{
int tsvIndex = arguments.indexOf("--tsv");
*tsv = (tsvIndex > -1);
}
Bandage-0.9.0/command_line/info.h 0000664 0000000 0000000 00000001727 14165724233 0016610 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef INFO_H
#define INFO_H
#include
#include
int bandageInfo(QStringList arguments);
void printInfoUsage(QTextStream * out, bool all);
QString checkForInvalidInfoOptions(QStringList arguments);
void parseInfoOptions(QStringList arguments, bool * tsv);
#endif // INFO_H
Bandage-0.9.0/command_line/load.cpp 0000664 0000000 0000000 00000005347 14165724233 0017131 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "load.h"
#include "commoncommandlinefunctions.h"
#include
int bandageLoad(QStringList arguments)
{
QTextStream out(stdout);
QTextStream err(stderr);
if (checkForHelp(arguments))
{
printLoadUsage(&out, false);
return 0;
}
if (checkForHelpAll(arguments))
{
printLoadUsage(&out, true);
return 0;
}
if (arguments.size() == 0)
{
printLoadUsage(&err, false);
return 1;
}
QString filename = arguments.at(0);
arguments.pop_front();
if (!checkIfFileExists(filename))
{
outputText("Bandage error: " + filename + " does not exist", &err);
return 1;
}
QString error = checkForInvalidLoadOptions(arguments);
if (error.length() > 0)
{
outputText("Bandage error: " + error, &err);
return 1;
}
bool drawGraph;
parseLoadOptions(arguments, &drawGraph);
MainWindow w(filename, drawGraph);
w.show();
return QApplication::exec();
}
void printLoadUsage(QTextStream * out, bool all)
{
QStringList text;
text << "Bandage load will open the Bandage GUI and immediately load the specified graph file.";
text << "";
text << "Usage: Bandage load [options]";
text << "";
text << "Positional parameters:";
text << " A graph file of any type supported by Bandage";
text << "";
text << "Options: --draw Draw graph after loading";
text << "";
getCommonHelp(&text);
if (all)
getSettingsUsage(&text);
getOnlineHelpMessage(&text);
outputText(text, out);
}
QString checkForInvalidLoadOptions(QStringList arguments)
{
checkOptionWithoutValue("--draw", &arguments);
QString error = checkForInvalidOrExcessSettings(&arguments);
if (error.length() > 0) return error;
return checkForInvalidOrExcessSettings(&arguments);
}
void parseLoadOptions(QStringList arguments, bool * drawGraph)
{
int drawIndex = arguments.indexOf("--draw");
*drawGraph = (drawIndex > -1);
parseSettings(arguments);
}
Bandage-0.9.0/command_line/load.h 0000664 0000000 0000000 00000001771 14165724233 0016573 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef LOAD_H
#define LOAD_H
#include
#include "../ui/mainwindow.h"
#include
int bandageLoad(QStringList arguments);
void printLoadUsage(QTextStream * out, bool all);
QString checkForInvalidLoadOptions(QStringList arguments);
void parseLoadOptions(QStringList arguments, bool *drawGraph);
#endif // LOAD_H
Bandage-0.9.0/command_line/querypaths.cpp 0000664 0000000 0000000 00000026117 14165724233 0020415 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "querypaths.h"
#include "commoncommandlinefunctions.h"
#include "../program/settings.h"
#include "../graph/assemblygraph.h"
#include "../blast/blastsearch.h"
#include
int bandageQueryPaths(QStringList arguments)
{
QTextStream out(stdout);
QTextStream err(stderr);
if (checkForHelp(arguments))
{
printQueryPathsUsage(&out, false);
return 0;
}
if (checkForHelpAll(arguments))
{
printQueryPathsUsage(&out, true);
return 0;
}
if (arguments.size() < 3)
{
printQueryPathsUsage(&err, false);
return 1;
}
QString graphFilename = arguments.at(0);
arguments.pop_front();
if (!checkIfFileExists(graphFilename))
{
outputText("Bandage error: " + graphFilename, &err);
return 1;
}
QString queriesFilename = arguments.at(0);
arguments.pop_front();
if (!checkIfFileExists(queriesFilename))
{
outputText("Bandage error: " + queriesFilename, &err);
return 1;
}
g_settings->blastQueryFilename = queriesFilename;
//Ensure that the --query option isn't used, as that would overwrite the
//queries file that is a positional argument.
if (isOptionPresent("--query", &arguments))
{
err << "Bandage error: the --query option cannot be used with Bandage querypaths." << Qt::endl;
return 1;
}
QString outputPrefix = arguments.at(0);
QString tableFilename = outputPrefix + ".tsv";
QString pathFastaFilename = outputPrefix + "_paths.fasta";
QString hitsFastaFilename = outputPrefix + "_hits.fasta";
arguments.pop_front();
QString error = checkForInvalidQueryPathsOptions(arguments);
if (error.length() > 0)
{
outputText("Bandage error: " + error, &err);
return 1;
}
bool pathFasta = false;
bool hitsFasta = false;
parseQueryPathsOptions(arguments, &pathFasta, &hitsFasta);
//Check to make sure the output files don't already exist.
QFile tableFile(tableFilename);
QFile pathsFile(pathFastaFilename);
QFile hitsFile(hitsFastaFilename);
if (tableFile.exists())
{
outputText("Bandage error: " + tableFilename + " already exists.", &err);
return 1;
}
if (pathFasta && pathsFile.exists())
{
outputText("Bandage error: " + pathFastaFilename + " already exists.", &err);
return 1;
}
if (hitsFasta && hitsFile.exists())
{
outputText("Bandage error: " + hitsFastaFilename + " already exists.", &err);
return 1;
}
QDateTime startTime = QDateTime::currentDateTime();
out << Qt::endl << "(" << QDateTime::currentDateTime().toString("dd MMM yyyy hh:mm:ss") << ") Loading graph... " << Qt::flush;
bool loadSuccess = g_assemblyGraph->loadGraphFromFile(graphFilename);
if (!loadSuccess)
return 1;
out << "done" << Qt::endl;
if (!createBlastTempDirectory())
{
err << "Error creating temporary directory for BLAST files" << Qt::endl;
return 1;
}
out << "(" << QDateTime::currentDateTime().toString("dd MMM yyyy hh:mm:ss") << ") Running BLAST search... " << Qt::flush;
QString blastError = g_blastSearch->doAutoBlastSearch();
if (blastError != "")
{
err << Qt::endl << blastError << Qt::endl;
return 1;
}
out << "done" << Qt::endl;
out << "(" << QDateTime::currentDateTime().toString("dd MMM yyyy hh:mm:ss") << ") Saving results... " << Qt::flush;
//Create the table file.
tableFile.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream tableOut(&tableFile);
//Write the TSV header line.
tableOut << "Query\t"
"Path\t"
"Length\t"
"Query covered by path\t"
"Query covered by hits\t"
"Mean hit identity\t"
"Total hit mismatches\t"
"Total hit gap opens\t"
"Relative length\t"
"Length discrepancy\t"
"E-value product\t";
//If the user asked for a separate path sequence file, then the last column
//will be a reference to that sequence ID. If not, the sequence will go in
//the table.
if (pathFasta)
tableOut << "Sequence ID\n";
else
tableOut << "Sequence\n";
//If a path sequence FASTA file is used, these will store the sequences
//that will go there.
QList pathSequenceIDs;
QList pathSequences;
//If a hits sequence FASTA file is used, these will store the sequences
//that will go there.
QList hitSequenceIDs;
QList hitSequences;
for (size_t i = 0; i < g_blastSearch->m_blastQueries.m_queries.size(); ++i)
{
BlastQuery * query = g_blastSearch->m_blastQueries.m_queries[i];
QList queryPaths = query->getPaths();
for (int j = 0; j < queryPaths.size(); ++j)
{
BlastQueryPath queryPath = queryPaths[j];
Path path = queryPath.getPath();
tableOut << query->getName() << "\t";
tableOut << path.getString(true) << "\t";
tableOut << QString::number(path.getLength()) << "\t";
tableOut << QString::number(100.0 * queryPath.getPathQueryCoverage()) << "%\t";
tableOut << QString::number(100.0 * queryPath.getHitsQueryCoverage()) << "%\t";
tableOut << QString::number(queryPath.getMeanHitPercIdentity()) << "%\t";
tableOut << QString::number(queryPath.getTotalHitMismatches()) << "\t";
tableOut << QString::number(queryPath.getTotalHitGapOpens()) << "\t";
tableOut << QString::number(100.0 * queryPath.getRelativePathLength()) << "%\t";
tableOut << queryPath.getAbsolutePathLengthDifferenceString(false) << "\t";
tableOut << queryPath.getEvalueProduct().asString(false) << "\t";
//If we are using a separate file for the path sequences, save the
//sequence along with its ID to save later, and store the ID here.
//Otherwise, just include the sequence in this table.
QByteArray sequence = path.getPathSequence();
QString pathSequenceID = query->getName() + "_" + QString::number(j+1);
if (pathFasta)
{
pathSequenceIDs.push_back(pathSequenceID);
pathSequences.push_back(sequence);
tableOut << pathSequenceID << "\n";
}
else
tableOut << sequence << "\n";
//If we are also saving the hit sequences, save the hit sequence
//along with its ID to save later.
if (hitsFasta)
{
QList hits = queryPath.getHits();
for (int k = 0; k < hits.size(); ++k)
{
BlastHit * hit = hits[k];
QString hitSequenceID = pathSequenceID + "_" + QString::number(k+1);
QByteArray hitSequence = hit->getNodeSequence();
hitSequenceIDs.push_back(hitSequenceID);
hitSequences.push_back(hitSequence);
}
}
}
}
//Write the path sequence FASTA file, if appropriate.
if (pathFasta)
{
pathsFile.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream pathsOut(&pathsFile);
for (int i = 0; i < pathSequenceIDs.size(); ++i)
{
pathsOut << ">" + pathSequenceIDs[i] + "\n";
pathsOut << AssemblyGraph::addNewlinesToSequence(pathSequences[i]);
}
}
//Write the hits sequence FASTA file, if appropriate.
if (hitsFasta)
{
hitsFile.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream hitsOut(&hitsFile);
for (int i = 0; i < hitSequenceIDs.size(); ++i)
{
hitsOut << ">" << hitSequenceIDs[i] << "\n";
hitsOut << AssemblyGraph::addNewlinesToSequence(hitSequences[i]);
}
}
out << "done" << Qt::endl;
out << Qt::endl << "Results: " + tableFilename << Qt::endl;
if (pathFasta)
out << " " + pathFastaFilename << Qt::endl;
if (hitsFasta)
out << " " + hitsFastaFilename << Qt::endl;
out << Qt::endl << "Summary: Total BLAST queries: " << g_blastSearch->m_blastQueries.getQueryCount() << Qt::endl;
out << " Queries with found paths: " << g_blastSearch->m_blastQueries.getQueryCountWithAtLeastOnePath() << Qt::endl;
out << " Total query paths: " << g_blastSearch->m_blastQueries.getQueryPathCount() << Qt::endl;
out << Qt::endl << "Elapsed time: " << getElapsedTime(startTime, QDateTime::currentDateTime()) << Qt::endl;
deleteBlastTempDirectory();
return 0;
}
void printQueryPathsUsage(QTextStream * out, bool all)
{
QStringList text;
text << "Bandage querypaths searches for queries in the graph using BLAST and outputs the results to a tab-delimited file.";
text << "";
text << "Usage: Bandage querypaths [options]";
text << "";
text << "Positional parameters:";
text << " A graph file of any type supported by Bandage";
text << " A FASTA file of one or more BLAST queries";
text << " The output file prefix (used to create the '.tsv' output file, and possibly FASTA files as well, depending on options)";
text << "";
text << "Options: --pathfasta Put all query path sequences in a multi-FASTA file, not in the TSV file";
text << "--hitsfasta Produce a multi-FASTA file of all BLAST hits in the query paths";
text << "";
getCommonHelp(&text);
if (all)
getSettingsUsage(&text);
getOnlineHelpMessage(&text);
outputText(text, out);
}
QString checkForInvalidQueryPathsOptions(QStringList arguments)
{
checkOptionWithoutValue("--pathfasta", &arguments);
checkOptionWithoutValue("--hitsfasta", &arguments);
QString error = checkForInvalidOrExcessSettings(&arguments);
if (error.length() > 0) return error;
return checkForInvalidOrExcessSettings(&arguments);
}
void parseQueryPathsOptions(QStringList arguments, bool * pathFasta,
bool * hitsFasta)
{
int pathFastaIndex = arguments.indexOf("--pathfasta");
*pathFasta = (pathFastaIndex > -1);
int hitsFastaIndex = arguments.indexOf("--hitsfasta");
*hitsFasta = (hitsFastaIndex > -1);
parseSettings(arguments);
}
Bandage-0.9.0/command_line/querypaths.h 0000664 0000000 0000000 00000002152 14165724233 0020053 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef QUERYPATHS_H
#define QUERYPATHS_H
#include
#include "../ui/mainwindow.h"
#include
#include
int bandageQueryPaths(QStringList arguments);
void printQueryPathsUsage(QTextStream * out, bool all);
QString checkForInvalidQueryPathsOptions(QStringList arguments);
void parseQueryPathsOptions(QStringList arguments, bool *pathFasta,
bool * hitsFasta);
#endif // QUERYPATHS_H
Bandage-0.9.0/command_line/reduce.cpp 0000664 0000000 0000000 00000011432 14165724233 0017451 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "reduce.h"
#include "commoncommandlinefunctions.h"
#include "../program/globals.h"
#include "../ui/mygraphicsscene.h"
#include "../ui/mygraphicsview.h"
#include "../graph/assemblygraph.h"
#include
#include "../program/settings.h"
#include
#include
#include
#include "../blast/blastsearch.h"
int bandageReduce(QStringList arguments)
{
QTextStream out(stdout);
QTextStream err(stderr);
if (checkForHelp(arguments))
{
printReduceUsage(&out, false);
return 0;
}
if (checkForHelpAll(arguments))
{
printReduceUsage(&out, true);
return 0;
}
if (arguments.size() < 2)
{
printReduceUsage(&err, false);
return 1;
}
QString inputFilename = arguments.at(0);
arguments.pop_front();
if (!checkIfFileExists(inputFilename))
{
outputText("Bandage error: " + inputFilename + " does not exist", &err);
return 1;
}
QString outputFilename = arguments.at(0);
arguments.pop_front();
if (!outputFilename.endsWith(".gfa"))
outputFilename += ".gfa";
QString error = checkForInvalidReduceOptions(arguments);
if (error.length() > 0)
{
outputText("Bandage error: " + error, &err);
return 1;
}
bool loadSuccess = g_assemblyGraph->loadGraphFromFile(inputFilename);
if (!loadSuccess)
{
outputText("Bandage error: could not load " + inputFilename, &err);
return 1;
}
parseSettings(arguments);
bool blastUsed = isOptionPresent("--query", &arguments);
if (blastUsed)
{
if (!createBlastTempDirectory())
{
err << "Error creating temporary directory for BLAST files" << Qt::endl;
return 1;
}
QString blastError = g_blastSearch->doAutoBlastSearch();
if (blastError != "")
{
err << blastError << Qt::endl;
return 1;
}
}
QString errorTitle;
QString errorMessage;
std::vector startingNodes = g_assemblyGraph->getStartingNodes(&errorTitle, &errorMessage,
g_settings->doubleMode,
g_settings->startingNodes,
"all");
if (errorMessage != "")
{
err << errorMessage << Qt::endl;
return 1;
}
g_assemblyGraph->buildOgdfGraphFromNodesAndEdges(startingNodes, g_settings->nodeDistance);
bool success = g_assemblyGraph->saveVisibleGraphToGfa(outputFilename);
if (!success)
{
err << "Bandage was unable to save the graph file." << Qt::endl;
return 1;
}
deleteBlastTempDirectory();
return 0;
}
void printReduceUsage(QTextStream * out, bool all)
{
QStringList text;
text << "Bandage reduce takes an input graph and saves a reduced subgraph using the graph scope settings. The saved graph will be in GFA format.";
text << "";
text << "If a graph scope is not specified, then the 'entire' scope will be used, in which case this will simply convert the input graph to GFA format.";
text << "";
text << "Usage: Bandage reduce [options]";
text << "";
text << "Positional parameters:";
text << " A graph file of any type supported by Bandage";
text << " The filename for the GFA graph to be made (if it does not end in '.gfa', that extension will be added)";
text << "";
int nextLineIndex = text.size();
getCommonHelp(&text);
text[nextLineIndex] = "Options: " + text[nextLineIndex];
if (all)
getSettingsUsage(&text);
else
{
nextLineIndex = text.size();
getGraphScopeOptions(&text);
text[nextLineIndex] = "Settings: " + text[nextLineIndex];
}
text << "";
getOnlineHelpMessage(&text);
outputText(text, out);
}
QString checkForInvalidReduceOptions(QStringList arguments)
{
return checkForInvalidOrExcessSettings(&arguments);
}
Bandage-0.9.0/command_line/reduce.h 0000664 0000000 0000000 00000002052 14165724233 0017114 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#ifndef REDUCE_H
#define REDUCE_H
#include
#include "../ui/mainwindow.h"
#include
#include
int bandageReduce(QStringList arguments);
void printReduceUsage(QTextStream * out, bool all);
QString checkForInvalidReduceOptions(QStringList arguments);
void parseReduceOptions(QStringList arguments, int * width, int * height);
#endif // REDUCE_H
Bandage-0.9.0/graph/ 0000775 0000000 0000000 00000000000 14165724233 0014151 5 ustar 00root root 0000000 0000000 Bandage-0.9.0/graph/assemblygraph.cpp 0000664 0000000 0000000 00000401433 14165724233 0017523 0 ustar 00root root 0000000 0000000 //Copyright 2017 Ryan Wick
//This file is part of Bandage
//Bandage is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//Bandage is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//You should have received a copy of the GNU General Public License
//along with Bandage. If not, see .
#include "assemblygraph.h"
#include
#include "../program/globals.h"
#include "../program/settings.h"
#include
#include
#include "../graph/debruijnnode.h"
#include "../graph/debruijnedge.h"
#include "../graph/graphicsitemnode.h"
#include
#include
#include
#include "../graph/graphicsitemedge.h"
#include "../blast/blastsearch.h"
#include "../ogdf/energybased/FMMMLayout.h"
#include "../program/graphlayoutworker.h"
#include "../program/memory.h"
#include "path.h"
#include "../ui/myprogressdialog.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include "ogdfnode.h"
#include "../command_line/commoncommandlinefunctions.h"
AssemblyGraph::AssemblyGraph() :
m_kmer(0), m_contiguitySearchDone(false),
m_sequencesLoadedFromFasta(NOT_READY)
{
m_ogdfGraph = new ogdf::Graph();
m_edgeArray = new ogdf::EdgeArray(*m_ogdfGraph);
m_graphAttributes = new ogdf::GraphAttributes(*m_ogdfGraph, ogdf::GraphAttributes::nodeGraphics |
ogdf::GraphAttributes::edgeGraphics);
clearGraphInfo();
}
AssemblyGraph::~AssemblyGraph()
{
delete m_graphAttributes;
delete m_edgeArray;
delete m_ogdfGraph;
}
void AssemblyGraph::cleanUp()
{
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext())
{
i.next();
delete i.value();
}
m_deBruijnGraphNodes.clear();
QMapIterator, DeBruijnEdge*> j(m_deBruijnGraphEdges);
while (j.hasNext())
{
j.next();
delete j.value();
}
m_deBruijnGraphEdges.clear();
m_contiguitySearchDone = false;
clearGraphInfo();
}
//This function makes a double edge: in one direction for the given nodes
//and the opposite direction for their reverse complements. It adds the
//new edges to the vector here and to the nodes themselves.
void AssemblyGraph::createDeBruijnEdge(QString node1Name, QString node2Name,
int overlap, EdgeOverlapType overlapType)
{
QString node1Opposite = getOppositeNodeName(node1Name);
QString node2Opposite = getOppositeNodeName(node2Name);
//Quit if any of the nodes don't exist.
if (!m_deBruijnGraphNodes.contains(node1Name) ||
!m_deBruijnGraphNodes.contains(node2Name) ||
!m_deBruijnGraphNodes.contains(node1Opposite) ||
!m_deBruijnGraphNodes.contains(node2Opposite))
return;
DeBruijnNode * node1 = m_deBruijnGraphNodes[node1Name];
DeBruijnNode * node2 = m_deBruijnGraphNodes[node2Name];
DeBruijnNode * negNode1 = m_deBruijnGraphNodes[node1Opposite];
DeBruijnNode * negNode2 = m_deBruijnGraphNodes[node2Opposite];
//Quit if the edge already exists
const std::vector * edges = node1->getEdgesPointer();
for (size_t i = 0; i < edges->size(); ++i)
{
if ((*edges)[i]->getStartingNode() == node1 &&
(*edges)[i]->getEndingNode() == node2)
return;
}
//Usually, an edge has a different pair, but it is possible
//for an edge to be its own pair.
bool isOwnPair = (node1 == negNode2 && node2 == negNode1);
DeBruijnEdge * forwardEdge = new DeBruijnEdge(node1, node2);
DeBruijnEdge * backwardEdge;
if (isOwnPair)
backwardEdge = forwardEdge;
else
backwardEdge = new DeBruijnEdge(negNode2, negNode1);
forwardEdge->setReverseComplement(backwardEdge);
backwardEdge->setReverseComplement(forwardEdge);
forwardEdge->setOverlap(overlap);
backwardEdge->setOverlap(overlap);
forwardEdge->setOverlapType(overlapType);
backwardEdge->setOverlapType(overlapType);
m_deBruijnGraphEdges.insert(QPair(forwardEdge->getStartingNode(), forwardEdge->getEndingNode()), forwardEdge);
if (!isOwnPair)
m_deBruijnGraphEdges.insert(QPair(backwardEdge->getStartingNode(), backwardEdge->getEndingNode()), backwardEdge);
node1->addEdge(forwardEdge);
node2->addEdge(forwardEdge);
negNode1->addEdge(backwardEdge);
negNode2->addEdge(backwardEdge);
}
void AssemblyGraph::clearOgdfGraphAndResetNodes()
{
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext())
{
i.next();
i.value()->resetNode();
}
m_ogdfGraph->clear();
m_edgeArray->init(*m_ogdfGraph);
}
//http://www.code10.info/index.php?option=com_content&view=article&id=62:articledna-reverse-complement&catid=49:cat_coding_algorithms_bioinformatics&Itemid=74
QByteArray AssemblyGraph::getReverseComplement(QByteArray forwardSequence)
{
QByteArray reverseComplement;
for (int i = forwardSequence.length() - 1; i >= 0; --i)
{
char letter = forwardSequence.at(i);
switch (letter)
{
case 'A': reverseComplement.append('T'); break;
case 'T': reverseComplement.append('A'); break;
case 'G': reverseComplement.append('C'); break;
case 'C': reverseComplement.append('G'); break;
case 'a': reverseComplement.append('t'); break;
case 't': reverseComplement.append('a'); break;
case 'g': reverseComplement.append('c'); break;
case 'c': reverseComplement.append('g'); break;
case 'R': reverseComplement.append('Y'); break;
case 'Y': reverseComplement.append('R'); break;
case 'S': reverseComplement.append('S'); break;
case 'W': reverseComplement.append('W'); break;
case 'K': reverseComplement.append('M'); break;
case 'M': reverseComplement.append('K'); break;
case 'r': reverseComplement.append('y'); break;
case 'y': reverseComplement.append('r'); break;
case 's': reverseComplement.append('s'); break;
case 'w': reverseComplement.append('w'); break;
case 'k': reverseComplement.append('m'); break;
case 'm': reverseComplement.append('k'); break;
case 'B': reverseComplement.append('V'); break;
case 'D': reverseComplement.append('H'); break;
case 'H': reverseComplement.append('D'); break;
case 'V': reverseComplement.append('B'); break;
case 'b': reverseComplement.append('v'); break;
case 'd': reverseComplement.append('h'); break;
case 'h': reverseComplement.append('d'); break;
case 'v': reverseComplement.append('b'); break;
case 'N': reverseComplement.append('N'); break;
case 'n': reverseComplement.append('n'); break;
case '.': reverseComplement.append('.'); break;
case '-': reverseComplement.append('-'); break;
case '?': reverseComplement.append('?'); break;
case '*': reverseComplement.append('*'); break;
}
}
return reverseComplement;
}
void AssemblyGraph::resetEdges()
{
QMapIterator, DeBruijnEdge*> i(m_deBruijnGraphEdges);
while (i.hasNext())
{
i.next();
i.value()->reset();
}
}
double AssemblyGraph::getMeanDepth(bool drawnNodesOnly)
{
long double depthSum = 0.0;
long long totalLength = 0;
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext())
{
i.next();
DeBruijnNode * node = i.value();
if (drawnNodesOnly && node->isNotDrawn())
continue;
totalLength += node->getLength();
depthSum += node->getLength() * node->getDepth();
}
if (totalLength == 0)
return 0.0;
else
return depthSum / totalLength;
}
double AssemblyGraph::getMeanDepth(std::vector nodes)
{
if (nodes.size() == 0)
return 0.0;
if (nodes.size() == 1)
return nodes[0]->getDepth();
int nodeCount = 0;
long double depthSum = 0.0;
long long totalLength = 0;
for (size_t i = 0; i < nodes.size(); ++i)
{
DeBruijnNode * node = nodes[i];
++nodeCount;
totalLength += node->getLength();
depthSum += node->getLength() * node->getDepth();
}
//If the total length is zero, that means all nodes have a length of zero.
//In this case, just return the average node depth.
if (totalLength == 0)
{
long double depthSum = 0.0;
for (size_t i = 0; i < nodes.size(); ++i)
depthSum += nodes[i]->getDepth();
return depthSum / nodes.size();
}
return depthSum / totalLength;
}
double AssemblyGraph::getMeanDepth(QList nodes)
{
int nodeCount = 0;
long double depthSum = 0.0;
long long totalLength = 0;
for (int i = 0; i < nodes.size(); ++i)
{
DeBruijnNode * node = nodes[i];
++nodeCount;
totalLength += node->getLength();
depthSum += node->getLength() * node->getDepth();
}
if (totalLength == 0)
return 0.0;
else
return depthSum / totalLength;
}
void AssemblyGraph::resetNodeContiguityStatus()
{
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext())
{
i.next();
i.value()->resetContiguityStatus();
}
m_contiguitySearchDone = false;
resetAllNodeColours();
}
void AssemblyGraph::resetAllNodeColours()
{
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext())
{
i.next();
if (i.value()->getGraphicsItemNode() != 0)
i.value()->getGraphicsItemNode()->setNodeColour();
}
}
void AssemblyGraph::clearAllBlastHitPointers()
{
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext())
{
i.next();
i.value()->clearBlastHits();
}
}
void AssemblyGraph::determineGraphInfo()
{
m_shortestContig = std::numeric_limits::max();
m_longestContig = 0;
int nodeCount = 0;
long long totalLength = 0;
std::vector nodeDepths;
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext())
{
i.next();
long long nodeLength = i.value()->getLength();
if (nodeLength < m_shortestContig)
m_shortestContig = nodeLength;
if (nodeLength > m_longestContig)
m_longestContig = nodeLength;
//Only add up the length for positive nodes
if (i.value()->isPositiveNode())
{
totalLength += nodeLength;
++nodeCount;
}
nodeDepths.push_back(i.value()->getDepth());
}
//Count up the edges that will be shown in single mode (i.e. positive
//edges).
int edgeCount = 0;
QMapIterator, DeBruijnEdge*> j(m_deBruijnGraphEdges);
while (j.hasNext())
{
j.next();
DeBruijnEdge * edge = j.value();
if (edge->isPositiveEdge())
++edgeCount;
}
m_nodeCount = nodeCount;
m_edgeCount = edgeCount;
m_totalLength = totalLength;
m_meanDepth = getMeanDepth();
std::sort(nodeDepths.begin(), nodeDepths.end());
double firstQuartileIndex = (nodeDepths.size() - 1) / 4.0;
double medianIndex = (nodeDepths.size() - 1) / 2.0;
double thirdQuartileIndex = (nodeDepths.size() - 1) * 3.0 / 4.0;
m_firstQuartileDepth = getValueUsingFractionalIndex(&nodeDepths, firstQuartileIndex);
m_medianDepth = getValueUsingFractionalIndex(&nodeDepths, medianIndex);
m_thirdQuartileDepth = getValueUsingFractionalIndex(&nodeDepths, thirdQuartileIndex);
//Set the auto node length setting. This is determined by aiming for a
//target average node length. But if the graph is small, the value will be
//increased (to avoid having an overly small and simple graph layout).
double targetDrawnGraphLength = std::max(m_nodeCount * g_settings->meanNodeLength,
g_settings->minTotalGraphLength);
double megabases = totalLength / 1000000.0;
if (megabases > 0.0)
g_settings->autoNodeLengthPerMegabase = targetDrawnGraphLength / megabases;
else
g_settings->autoNodeLengthPerMegabase = 10000.0;
}
template double AssemblyGraph::getValueUsingFractionalIndex(std::vector * v, double index) const
{
if (v->size() == 0)
return 0.0;
if (v->size() == 1)
return double((*v)[0]);
int wholePart = floor(index);
if (wholePart < 0)
return double((*v)[0]);
if (wholePart >= int(v->size()) - 1)
return double((*v)[v->size() - 1]);
double fractionalPart = index - wholePart;
double piece1 = double((*v)[wholePart]);
double piece2 = double((*v)[wholePart+1]);
return piece1 * (1.0 - fractionalPart) + piece2 * fractionalPart;
}
void AssemblyGraph::clearGraphInfo()
{
m_totalLength = 0;
m_shortestContig = 0;
m_longestContig = 0;
m_meanDepth = 0.0;
m_firstQuartileDepth = 0.0;
m_medianDepth = 0.0;
m_thirdQuartileDepth = 0.0;
}
void AssemblyGraph::buildDeBruijnGraphFromLastGraph(QString fullFileName)
{
m_graphFileType = LAST_GRAPH;
m_filename = fullFileName;
m_depthTag = "KC";
bool firstLine = true;
QFile inputFile(fullFileName);
if (inputFile.open(QIODevice::ReadOnly))
{
QTextStream in(&inputFile);
while (!in.atEnd())
{
QApplication::processEvents();
QString line = in.readLine();
if (firstLine)
{
QStringList firstLineParts = line.split(QRegularExpression("\\s+"));
if (firstLineParts.size() > 2)
m_kmer = firstLineParts[2].toInt();
firstLine = false;
}
if (line.startsWith("NODE"))
{
QStringList nodeDetails = line.split(QRegularExpression("\\s+"));
if (nodeDetails.size() < 4)
throw "load error";
QString nodeName = nodeDetails.at(1);
QString posNodeName = nodeName + "+";
QString negNodeName = nodeName + "-";
int nodeLength = nodeDetails.at(2).toInt();
double nodeDepth;
if (nodeLength > 0)
nodeDepth = double(nodeDetails.at(3).toInt()) / nodeLength; //IS THIS COLUMN ($COV_SHORT1) THE BEST ONE TO USE?
else
nodeDepth = double(nodeDetails.at(3).toInt());
QByteArray sequence = in.readLine().toLocal8Bit();
QByteArray revCompSequence = in.readLine().toLocal8Bit();
DeBruijnNode * node = new DeBruijnNode(posNodeName, nodeDepth, sequence);
DeBruijnNode * reverseComplementNode = new DeBruijnNode(negNodeName, nodeDepth, revCompSequence);
node->setReverseComplement(reverseComplementNode);
reverseComplementNode->setReverseComplement(node);
m_deBruijnGraphNodes.insert(posNodeName, node);
m_deBruijnGraphNodes.insert(negNodeName, reverseComplementNode);
}
//ARC lines contain edges.
else if (line.startsWith("ARC"))
{
QStringList arcDetails = line.split(QRegularExpression("\\s+"));
if (arcDetails.size() < 3)
throw "load error";
QString node1Name = convertNormalNumberStringToBandageNodeName(arcDetails.at(1));
QString node2Name = convertNormalNumberStringToBandageNodeName(arcDetails.at(2));
createDeBruijnEdge(node1Name, node2Name);
}
//NR lines occur after ARC lines, so we can quit looking when we see one.
else if (line.startsWith("NR"))
break;
}
inputFile.close();
setAllEdgesExactOverlap(0);
}
if (m_deBruijnGraphNodes.size() == 0)
throw "load error";
}
//This function takes a normal number string like "5" or "-6" and changes
//it to "5+" or "6-" - the format of Bandage node names.
QString AssemblyGraph::convertNormalNumberStringToBandageNodeName(QString number)
{
if (number.at(0) == '-')
{
number.remove(0, 1);
return number + "-";
}
else
return number + "+";
}
//This function loads a graph from a GFA file. It reports whether or not it
//encountered an unsupported CIGAR string, whether the GFA has custom labels
//and whether it has custom colours.
void AssemblyGraph::buildDeBruijnGraphFromGfa(QString fullFileName, bool *unsupportedCigar,
bool *customLabels, bool *customColours, QString *bandageOptionsError)
{
m_graphFileType = GFA;
m_filename = fullFileName;
*unsupportedCigar = false;
*customLabels = false;
*customColours = false;
*bandageOptionsError = "";
QFile inputFile(fullFileName);
if (inputFile.open(QIODevice::ReadOnly)) {
std::vector edgeStartingNodeNames;
std::vector edgeEndingNodeNames;
std::vector edgeOverlaps;
QMap colours;
QMap labels;
QTextStream in(&inputFile);
while (!in.atEnd()) {
QApplication::processEvents();
QString line = in.readLine();
QStringList lineParts = line.split(QRegularExpression("\t"));
if (lineParts.size() < 1)
continue;
//Lines beginning with "H" are header lines.
if (lineParts.at(0) == "H") {
// Check for a tag containing Bandage options.
for (int i = 1; i < lineParts.size(); ++i) {
QString part = lineParts.at(i);
if (part.size() < 6)
continue;
if (part.left(5) != "bn:Z:")
continue;
QString bandageOptionsString = part.right(part.length() - 5);
QStringList bandageOptions = bandageOptionsString.split(' ', Qt::SkipEmptyParts);
QStringList bandageOptionsCopy = bandageOptions;
*bandageOptionsError = checkForInvalidOrExcessSettings(&bandageOptionsCopy);
if (bandageOptionsError->length() == 0)
parseSettings(bandageOptions);
}
}
//Lines beginning with "S" are sequence (node) lines.
if (lineParts.at(0) == "S") {
if (lineParts.size() < 3)
throw "load error";
QString nodeName = lineParts.at(1);
if (nodeName.isEmpty())
nodeName = getUniqueNodeName("node");
if (m_deBruijnGraphNodes.contains(nodeName + "+"))
throw "load error";
QByteArray sequence = lineParts.at(2).toLocal8Bit();
//Get the tags.
bool kcFound = false, rcFound = false, fcFound = false, dpFound = false;
double kc = 0.0, rc = 0.0, fc = 0.0, dp = 0.0;
int ln = 0;
QString lb, l2;
QColor cl, c2;
for (int i = 3; i < lineParts.size(); ++i) {
QString part = lineParts.at(i);
if (part.size() < 6)
continue;
if (part.at(2) != ':')
continue;
QString tag = part.left(2).toUpper();
QString valString = part.right(part.length() - 5);
if (tag == "KC") {
kcFound = true;
kc = valString.toDouble();
}
if (tag == "RC") {
rcFound = true;
rc = valString.toDouble();
}
if (tag == "FC") {
fcFound = true;
fc = valString.toDouble();
}
if (tag == "DP") {
dpFound = true;
dp = valString.toDouble();
}
if (tag == "LN")
ln = valString.toInt();
if (tag == "LB")
lb = valString;
if (tag == "CL")
cl = QColor(valString);
if (tag == "L2")
l2 = valString;
if (tag == "C2")
c2 = QColor(valString);
}
//GFA can use * to indicate that the sequence is not in the
//file. In this case, try to use the LN tag for length. If
//that's not available, use a length of 0.
//If there is a sequence, then the LN tag will be ignored.
int length;
if (sequence == "*" || sequence == "") {
length = ln;
sequence = "";
}
else
length = sequence.length();
//If there is an attribute holding the depth, we'll use that.
//If there isn't, then we'll use 1.0.
//We try to load 'DP' (depth), 'KC' (k-mer count), 'RC'
//(read count) or 'FC'(fragment count) in that order of
//preference.
//If we use KC, RC or FC for the depth, then that is really a
//count, so we need to divide by the sequence length to get the
//depth.
//We also remember which tag was used so if the graph is saved
//we can use the same tag in the output.
double nodeDepth = 1.0;
if (dpFound) {
m_depthTag = "DP";
nodeDepth = dp;
}
else if (kcFound) {
m_depthTag = "KC";
if (length > 0)
nodeDepth = kc / length;
}
else if (rcFound) {
m_depthTag = "RC";
if (length > 0)
nodeDepth = rc / length;
}
else if (fcFound) {
m_depthTag = "FC";
if (length > 0)
nodeDepth = fc / length;
}
//We check to see if the node ended in a "+" or "-".
//If so, we assume that is giving the orientation and leave it.
//And if it doesn't end in a "+" or "-", we assume "+" and add
//that to the node name.
QString lastChar = nodeName.right(1);
if (lastChar != "+" && lastChar != "-")
nodeName += "+";
// Canu nodes start with "tig" which we can remove for simplicity.
nodeName = simplifyCanuNodeName(nodeName);
//Save custom colours and labels to be applied later, after
//reverse complement nodes are built.
if (cl.isValid()) {
*customColours = true;
colours.insert(nodeName, cl);
}
if (c2.isValid()) {
*customColours = true;
colours.insert(getOppositeNodeName(nodeName), c2);
}
if (!lb.isEmpty()) {
*customLabels = true;
labels.insert(nodeName, lb);
}
if (!l2.isEmpty()) {
*customLabels = true;
labels.insert(getOppositeNodeName(nodeName), l2);
}
DeBruijnNode * node = new DeBruijnNode(nodeName, nodeDepth, sequence, length);
m_deBruijnGraphNodes.insert(nodeName, node);
}
//Lines beginning with "L" are link (edge) lines
else if (lineParts.at(0) == "L") {
//Edges aren't made now, in case their sequence hasn't yet been specified.
//Instead, we save the starting and ending nodes and make the edges after
//we're done looking at the file.
if (lineParts.size() < 6)
throw "load error";
//Parts 1 and 3 hold the node names and parts 2 and 4 hold the corresponding +/-.
QString startingNode = lineParts.at(1) + lineParts.at(2);
QString endingNode = lineParts.at(3) + lineParts.at(4);
startingNode = simplifyCanuNodeName(startingNode);
endingNode = simplifyCanuNodeName(endingNode);
edgeStartingNodeNames.push_back(startingNode);
edgeEndingNodeNames.push_back(endingNode);
//Part 5 holds the node overlap cigar string. A "*" means unspecified, so
//we 0 for that.
QString cigar = lineParts.at(5);
if (cigar == "*")
edgeOverlaps.push_back(0);
if (cigarContainsOnlyM(cigar))
edgeOverlaps.push_back(getLengthFromSimpleCigar(cigar));
else {
edgeOverlaps.push_back(getLengthFromCigar(cigar));
*unsupportedCigar = true;
}
}
}
//Pair up reverse complements, creating them if necessary.
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext()) {
i.next();
DeBruijnNode * node = i.value();
makeReverseComplementNodeIfNecessary(node);
}
pointEachNodeToItsReverseComplement();
//Add any custom colours or labels that were loaded.
QMapIterator j(colours);
while (j.hasNext()) {
j.next();
QString nodeName = j.key();
if (m_deBruijnGraphNodes.contains(nodeName))
m_deBruijnGraphNodes[nodeName]->setCustomColour(j.value());
}
QMapIterator k(labels);
while (k.hasNext()) {
k.next();
QString nodeName = k.key();
if (m_deBruijnGraphNodes.contains(nodeName))
m_deBruijnGraphNodes[nodeName]->setCustomLabel(k.value());
}
//Create all of the edges.
for (size_t i = 0; i < edgeStartingNodeNames.size(); ++i) {
QString node1Name = edgeStartingNodeNames[i];
QString node2Name = edgeEndingNodeNames[i];
int overlap = edgeOverlaps[i];
createDeBruijnEdge(node1Name, node2Name, overlap, EXACT_OVERLAP);
}
}
if (m_deBruijnGraphNodes.size() == 0)
throw "load error";
// For Canu graphs, if there is a file called *.layout.readToTig, then we
// can use that to get better read depth values.
QFileInfo gfaFileInfo(m_filename);
QString baseName = gfaFileInfo.completeBaseName();
QString readToTigFilename = gfaFileInfo.dir().filePath(baseName + ".layout.readToTig");
QFileInfo readToTigFileInfo(readToTigFilename);
if (readToTigFileInfo.exists()) {
QFile readToTigFile(readToTigFilename);
if (readToTigFile.open(QIODevice::ReadOnly)) {
// Keep track of how many bases are put into each node.
QMap baseCounts;
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext()) {
i.next();
DeBruijnNode * node = i.value();
if (node->isPositiveNode())
baseCounts[node->getNameWithoutSign()] = 0;
}
QTextStream in(&readToTigFile);
while (!in.atEnd()) {
QApplication::processEvents();
QString line = in.readLine();
QStringList lineParts = line.split(QRegularExpression("\t"));
if (lineParts.length() >= 5) {
bool conversionOkay;
long long readStart = lineParts[3].toLongLong(&conversionOkay);
if (!conversionOkay)
continue;
long long readEnd = lineParts[4].toLongLong(&conversionOkay);
if (!conversionOkay)
continue;
long long readLength = (readEnd < readStart) ? (readStart - readEnd) : (readEnd - readStart);
QString nodeName = lineParts[1];
if (baseCounts.contains(nodeName))
baseCounts[nodeName] += readLength;
}
}
// A node's depth is its total bases divided by its length.
QMapIterator j(m_deBruijnGraphNodes);
while (j.hasNext()) {
j.next();
DeBruijnNode * node = j.value();
if (node->isPositiveNode()) {
QString nodeName = node->getNameWithoutSign();
double depth;
if (node->getLength() > 0)
depth = double(baseCounts[nodeName]) / double(node->getLength());
else
depth = 1.0;
node->setDepth(depth);
node->getReverseComplement()->setDepth(depth);
}
}
}
}
m_sequencesLoadedFromFasta = NOT_TRIED;
}
bool AssemblyGraph::cigarContainsOnlyM(QString cigar)
{
QRegularExpression rx("\\d+M");
return rx.match(cigar).hasMatch();
}
//This function assumes that the cigar string is simple: just digits followed
//by "M".
int AssemblyGraph::getLengthFromSimpleCigar(QString cigar)
{
cigar.chop(1);
return cigar.toInt();
}
//This function returns the length defined by a cigar string, relative to the
//second sequence in the edge (the CIGAR reference).
//Bandage does not fully support non-M CIGAR strings, so this is fairly crude
//at the moment.
int AssemblyGraph::getLengthFromCigar(QString cigar)
{
int length = 0;
length = getCigarCount("M", cigar);
length += getCigarCount("=", cigar);
length += getCigarCount("X", cigar);
length += getCigarCount("I", cigar);
length -= getCigarCount("D", cigar);
length -= getCigarCount("N", cigar);
length += getCigarCount("S", cigar);
length += getCigarCount("H", cigar);
length += getCigarCount("P", cigar);
return length;
}
//This function totals up the numbers for any given CIGAR code.
int AssemblyGraph::getCigarCount(QString cigarCode, QString cigar)
{
QRegularExpression re("(\\d+)" + cigarCode);
QStringList list;
auto it = re.globalMatch(cigar);
int sum = 0;
while (it.hasNext()) {
auto match = it.next();
sum += match.captured(1).toInt();
}
return sum;
}
void AssemblyGraph::buildDeBruijnGraphFromFastg(QString fullFileName)
{
m_graphFileType = FASTG;
m_filename = fullFileName;
m_depthTag = "KC";
QFile inputFile(fullFileName);
if (inputFile.open(QIODevice::ReadOnly))
{
std::vector edgeStartingNodeNames;
std::vector edgeEndingNodeNames;
DeBruijnNode * node = 0;
QTextStream in(&inputFile);
while (!in.atEnd())
{
QApplication::processEvents();
QString nodeName;
double nodeDepth;
QString line = in.readLine();
//If the line starts with a '>', then we are beginning a new node.
if (line.startsWith(">"))
{
line.remove(0, 1); //Remove '>' from start
line.chop(1); //Remove ';' from end
QStringList nodeDetails = line.split(":");
QString thisNode = nodeDetails.at(0);
//A single quote as the last character indicates a negative node.
bool negativeNode = thisNode.at(thisNode.size() - 1) == '\'';
QStringList thisNodeDetails = thisNode.split("_");
if (thisNodeDetails.size() < 6)
throw "load error";
nodeName = thisNodeDetails.at(1);
if (negativeNode)
nodeName += "-";
else
nodeName += "+";
if (m_deBruijnGraphNodes.contains(nodeName))
throw "load error";
QString nodeDepthString = thisNodeDetails.at(5);
if (negativeNode)
{
//It may be necessary to remove a single quote from the end of the depth
if (nodeDepthString.at(nodeDepthString.size() - 1) == '\'')
nodeDepthString.chop(1);
}
nodeDepth = nodeDepthString.toDouble();
//Make the node
node = new DeBruijnNode(nodeName, nodeDepth, ""); //Sequence string is currently empty - will be added to on subsequent lines of the fastg file
m_deBruijnGraphNodes.insert(nodeName, node);
//The second part of nodeDetails is a comma-delimited list of edge nodes.
//Edges aren't made right now (because the other node might not yet exist),
//so they are saved into vectors and made after all the nodes have been made.
if (nodeDetails.size() == 1 || nodeDetails.at(1).isEmpty())
continue;
QStringList edgeNodes = nodeDetails.at(1).split(",");
for (int i = 0; i < edgeNodes.size(); ++i)
{
QString edgeNode = edgeNodes.at(i);
QChar lastChar = edgeNode.at(edgeNode.size() - 1);
bool negativeNode = false;
if (lastChar == '\'')
{
negativeNode = true;
edgeNode.chop(1);
}
QStringList edgeNodeDetails = edgeNode.split("_");
if (edgeNodeDetails.size() < 2)
throw "load error";
QString edgeNodeName = edgeNodeDetails.at(1);
if (negativeNode)
edgeNodeName += "-";
else
edgeNodeName += "+";
edgeStartingNodeNames.push_back(nodeName);
edgeEndingNodeNames.push_back(edgeNodeName);
}
}
//If the line does not start with a '>', then this line is part of the
//sequence for the last node.
else
{
QByteArray sequenceLine = line.simplified().toLocal8Bit();
if (node != 0)
node->appendToSequence(sequenceLine);
}
}
inputFile.close();
//If all went well, each node will have a reverse complement and the code
//will never get here. However, I have noticed that some SPAdes fastg files
//have, for some reason, negative nodes with no positive counterpart. For
//that reason, we will now make any reverse complement nodes for nodes that
//lack them.
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext())
{
i.next();
DeBruijnNode * node = i.value();
makeReverseComplementNodeIfNecessary(node);
}
pointEachNodeToItsReverseComplement();
//Create all of the edges.
for (size_t i = 0; i < edgeStartingNodeNames.size(); ++i)
{
QString node1Name = edgeStartingNodeNames[i];
QString node2Name = edgeEndingNodeNames[i];
createDeBruijnEdge(node1Name, node2Name);
}
}
autoDetermineAllEdgesExactOverlap();
if (m_deBruijnGraphNodes.size() == 0)
throw "load error";
}
void AssemblyGraph::makeReverseComplementNodeIfNecessary(DeBruijnNode * node)
{
QString reverseComplementName = getOppositeNodeName(node->getName());
DeBruijnNode * reverseComplementNode = m_deBruijnGraphNodes[reverseComplementName];
if (reverseComplementNode == 0)
{
QByteArray nodeSequence;
if (node->sequenceIsMissing())
nodeSequence = "*";
else
nodeSequence = node->getSequence();
DeBruijnNode * newNode = new DeBruijnNode(reverseComplementName, node->getDepth(),
getReverseComplement(nodeSequence),
node->getLength());
m_deBruijnGraphNodes.insert(reverseComplementName, newNode);
}
}
void AssemblyGraph::pointEachNodeToItsReverseComplement()
{
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext())
{
i.next();
DeBruijnNode * positiveNode = i.value();
if (positiveNode->isPositiveNode())
{
DeBruijnNode * negativeNode = m_deBruijnGraphNodes[getOppositeNodeName(positiveNode->getName())];
if (negativeNode != 0)
{
positiveNode->setReverseComplement(negativeNode);
negativeNode->setReverseComplement(positiveNode);
}
}
}
}
void AssemblyGraph::buildDeBruijnGraphFromTrinityFasta(QString fullFileName)
{
m_graphFileType = TRINITY;
m_filename = fullFileName;
m_depthTag = "";
std::vector names;
std::vector sequences;
readFastaFile(fullFileName, &names, &sequences);
std::vector edgeStartingNodeNames;
std::vector edgeEndingNodeNames;
for (size_t i = 0; i < names.size(); ++i)
{
QApplication::processEvents();
QString name = names[i];
QByteArray sequence = sequences[i];
//The header can come in a few different formats:
// TR1|c0_g1_i1 len=280 path=[274:0-228 275:229-279] [-1, 274, 275, -2]
// TRINITY_DN31_c1_g1_i1 len=301 path=[279:0-300] [-1, 279, -2]
// GG1|c0_g1_i1 len=302 path=[1:0-301]
// comp0_c0_seq1 len=286 path=[6:0-285]
// c0_g1_i1 len=363 path=[119:0-185 43:186-244 43:245-303 43:304-362]
//The node names will begin with a string that contains everything
//up to the component number (e.g. "c0"), in the same format as it is
//in the Trinity.fasta file. If the node name begins with "TRINITY_DN"
//or "TRINITY_GG", "TR" or "GG", then that will be trimmed off.
if (name.length() < 4)
throw "load error";
int componentStartIndex = name.indexOf(QRegularExpression("c\\d+_"));
int componentEndIndex = name.indexOf("_", componentStartIndex);
if (componentStartIndex < 0 || componentEndIndex < 0)
throw "load error";
QString component = name.left(componentEndIndex);
if (component.startsWith("TRINITY_DN") || component.startsWith("TRINITY_GG"))
component = component.remove(0, 10);
else if (component.startsWith("TR") || component.startsWith("GG"))
component = component.remove(0, 2);
if (component.length() < 2)
throw "load error";
int pathStartIndex = name.indexOf("path=[") + 6;
int pathEndIndex = name.indexOf("]", pathStartIndex);
if (pathStartIndex < 0 || pathEndIndex < 0)
throw "load error";
int pathLength = pathEndIndex - pathStartIndex;
QString path = name.mid(pathStartIndex, pathLength);
if (path.size() == 0)
throw "load error";
QStringList pathParts = path.split(" ");
//Each path part is a node
QString previousNodeName;
for (int i = 0; i < pathParts.length(); ++i)
{
QString pathPart = pathParts.at(i);
QStringList nodeParts = pathPart.split(":");
if (nodeParts.size() < 2)
throw "load error";
//Most node numbers will be formatted simply as the number, but some
//(I don't know why) have '@' and the start and '@!' at the end. In
//these cases, we must strip those extra characters off.
QString nodeNumberString = nodeParts.at(0);
if (nodeNumberString.at(0) == '@')
nodeNumberString = nodeNumberString.mid(1, nodeNumberString.length() - 3);
QString nodeName = component + "_" + nodeNumberString + "+";
//If the node doesn't yet exist, make it now.
if (!m_deBruijnGraphNodes.contains(nodeName))
{
QString nodeRange = nodeParts.at(1);
QStringList nodeRangeParts = nodeRange.split("-");
if (nodeRangeParts.size() < 2)
throw "load error";
int nodeRangeStart = nodeRangeParts.at(0).toInt();
int nodeRangeEnd = nodeRangeParts.at(1).toInt();
int nodeLength = nodeRangeEnd - nodeRangeStart + 1;
QByteArray nodeSequence = sequence.mid(nodeRangeStart, nodeLength);
DeBruijnNode * node = new DeBruijnNode(nodeName, 1.0, nodeSequence);
m_deBruijnGraphNodes.insert(nodeName, node);
}
//Remember to make an edge for the previous node to this one.
if (i > 0)
{
edgeStartingNodeNames.push_back(previousNodeName);
edgeEndingNodeNames.push_back(nodeName);
}
previousNodeName = nodeName;
}
}
//Even though the Trinity.fasta file only contains positive nodes, Bandage
//expects negative reverse complements nodes, so make them now.
QMapIterator i(m_deBruijnGraphNodes);
while (i.hasNext())
{
i.next();
DeBruijnNode * node = i.value();
makeReverseComplementNodeIfNecessary(node);
}
pointEachNodeToItsReverseComplement();
//Create all of the edges. The createDeBruijnEdge function checks for
//duplicates, so it's okay if we try to add the same edge multiple times.
for (size_t i = 0; i < edgeStartingNodeNames.size(); ++i)
{
QString node1Name = edgeStartingNodeNames[i];
QString node2Name = edgeEndingNodeNames[i];
createDeBruijnEdge(node1Name, node2Name);
}
setAllEdgesExactOverlap(0);
if (m_deBruijnGraphNodes.size() == 0)
throw "load error";
}
//This function builds a graph from an ASQG file. Bandage expects edges to
//conform to its expectation: overlaps are only at the ends of sequences and
//always have the same length in each of the two sequences. It will not load
//edges which fail to meet this expectation. The function's return value is
//the number of edges which could not be loaded.
int AssemblyGraph::buildDeBruijnGraphFromAsqg(QString fullFileName)
{
m_graphFileType = ASQG;
m_filename = fullFileName;
m_depthTag = "";
int badEdgeCount = 0;
QFile inputFile(fullFileName);
if (inputFile.open(QIODevice::ReadOnly))
{
std::vector edgeStartingNodeNames;
std::vector edgeEndingNodeNames;
std::vector